/* ==========================================================================
   PIDDDS Nederland — theme stylesheet
   Ported 1:1 from the approved design (PIDDDS Nederland.dc.html): colors,
   type, spacing and animation values are taken directly from that file.
   ========================================================================== */

:root{
  --bg:#F4F8FC; --surface:#FFFFFF; --band:#EAF2FA;
  --ink:#11253F; --ink-soft:#58697C;
  --accent:#1E73BE; --accent-deep:#11406E; --accent-bright:#34A0DB;
  --tint:#DCEAF6; --line:#D9E4EF;
  --display:'Bricolage Grotesque', sans-serif;
  --body:'Hanken Grotesk', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
button{font-family:inherit}
input,textarea,select{font-family:inherit}
img{max-width:100%}
a{text-decoration:none}
::selection{background:var(--accent-bright);color:#fff}

.p-root{min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--body)}
.p-container{max-width:1100px;margin:0 auto;padding:0 clamp(18px,5vw,56px)}
.p-container-wide{max-width:1200px;margin:0 auto;padding:0 clamp(18px,5vw,56px)}
.p-section{padding:clamp(56px,8vw,104px) 0}
.p-section--tight{padding:clamp(20px,3vw,40px) 0}
.p-band{background:var(--band)}

@keyframes fadeUp{from{transform:translateY(20px)}to{transform:none}}
@keyframes fadeIn{from{transform:translateY(8px)}to{transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes glowPulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.78;transform:scale(1.1)}}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes ping{0%{transform:scale(.8);opacity:.6}70%,100%{transform:scale(2.6);opacity:0}}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,-22px)}}

.p-reveal{animation:rise .8s ease both;animation-timeline:view();animation-range:entry 0% entry 55%}
@media (prefers-reduced-motion:reduce){
  .p-reveal, [class*="p-anim"]{animation:none !important}
}

/* ---------- buttons ---------- */
.p-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;font-weight:700;font-size:16px;cursor:pointer;padding:16px 30px;transition:transform .15s}
.p-btn:hover{transform:translateY(-2px)}
.p-btn-primary{background:var(--accent);color:#fff;box-shadow:0 14px 28px -12px rgba(30,115,190,.7)}
.p-btn-outline{background:transparent;color:var(--accent-deep);border:1.5px solid var(--line);padding:14.5px 28px}
.p-btn-outline:hover{border-color:var(--accent);transform:none}
.p-btn-bright{background:var(--accent-bright);color:#08243f}
.p-btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.34);padding:14.5px 28px}
.p-btn-outline-light:hover{border-color:#fff;transform:none}
.p-btn-tint{background:var(--tint);color:var(--accent-deep);font-size:14px;padding:11px 20px}
.p-btn-tint:hover{background:var(--accent);color:#fff;transform:none}
.p-btn-small{font-size:14px;padding:10px 18px;background:transparent;color:var(--accent);border:1.5px solid var(--line)}
.p-btn-small:hover{border-color:var(--accent);transform:none}

/* ---------- header ---------- */
.p-header{position:sticky;top:0;z-index:60;background:var(--bg);border-bottom:1px solid var(--line)}
.p-header-inner{max-width:1200px;margin:0 auto;padding:0 clamp(18px,5vw,56px);min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.p-brand{display:flex;align-items:center;gap:12px;cursor:pointer;flex-shrink:0}
.p-brand-mark{height:48px;width:auto;display:block}
.p-brand-text{display:flex;flex-direction:column;line-height:1}
.p-brand-name{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.01em;color:var(--accent-deep)}
.p-brand-sub{font-family:var(--body);font-weight:600;font-size:10px;letter-spacing:.2em;color:var(--ink-soft);margin-top:4px}

.p-nav{display:flex;align-items:center;gap:16px}
.p-nav-desktop{flex-shrink:1;min-width:0}
.p-nav-link{padding:8px 0;cursor:pointer;white-space:nowrap;font-family:var(--body);font-weight:600;font-size:15px;color:var(--ink);border-bottom:2px solid transparent;flex-shrink:0}
.p-nav-link.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.p-nav-cta{padding:12px 20px;font-size:15px;flex-shrink:0;white-space:nowrap}
.p-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.p-menu-toggle span{width:24px;height:2px;background:var(--ink);display:block;border-radius:2px}
.p-nav-mobile{display:none;border-top:1px solid var(--line);background:var(--bg);padding:16px clamp(18px,5vw,56px) 24px}
.p-nav-mobile.is-open{display:block}
.p-nav-mobile-list{flex-direction:column;align-items:flex-start;gap:4px}
.p-nav-cta-mobile{margin-top:16px;width:100%;padding:14px;font-size:15px}
.p-lang-switch{position:relative;margin-left:4px;flex-shrink:0}
.p-lang-switch-current{display:flex;align-items:center;gap:6px;font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--ink-soft);padding:6px 8px;border-radius:6px;background:none;border:none;cursor:pointer}
.p-lang-switch-current:hover,.p-lang-switch.is-open .p-lang-switch-current{color:var(--accent-deep);background:var(--bg-soft,rgba(0,0,0,.04))}
.p-lang-flag{font-size:15px;line-height:1}
.p-lang-switch-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .15s ease}
.p-lang-switch.is-open .p-lang-switch-caret{transform:rotate(-135deg);margin-top:1px}
.p-lang-switch-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:110px;background:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:4px;display:none;z-index:40}
.p-lang-switch.is-open .p-lang-switch-menu{display:block}
.p-lang-switch-item{display:flex;align-items:center;gap:8px;font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--ink-soft);padding:8px 10px;border-radius:6px;white-space:nowrap}
.p-lang-switch-item:hover{color:var(--accent-deep);background:var(--bg-soft,rgba(0,0,0,.04))}
.p-nav-mobile .p-lang-switch{margin:16px 0 0;margin-left:0}
.p-nav-mobile .p-lang-switch-menu{position:static;box-shadow:none;padding:0;margin-top:6px}

@media (max-width:1180px){
  .p-nav-desktop{display:none}
  .p-menu-toggle{display:flex}
}

/* ---------- hero ---------- */
.p-hero{position:relative;overflow:hidden;padding:clamp(48px,7vw,96px) 0 clamp(40px,6vw,80px)}
.p-hero-glow-1{position:absolute;top:-160px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(52,160,219,.22),transparent 68%);pointer-events:none;animation:drift 13s ease-in-out infinite}
.p-hero-glow-2{position:absolute;bottom:-90px;left:-70px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(30,115,190,.12),transparent 70%);pointer-events:none;animation:drift 17s ease-in-out infinite reverse}
.p-hero-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(32px,5vw,72px);align-items:center}
.p-hero-badge{display:inline-flex;align-items:center;gap:9px;background:var(--tint);color:var(--accent-deep);border-radius:999px;padding:8px 16px;font-weight:700;font-size:13px;letter-spacing:.04em;animation:fadeUp .6s ease both}
.p-hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-bright);display:inline-block}
.p-h1{font-family:var(--display);font-weight:800;font-size:clamp(38px,5.6vw,66px);line-height:1.02;letter-spacing:-.02em;margin:22px 0 0;color:var(--ink);animation:fadeUp .7s ease .06s both}
.p-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--ink-soft);max-width:30em;margin:22px 0 0;animation:fadeUp .7s ease .14s both}
.p-hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;animation:fadeUp .7s ease .22s both}
.p-hero-media{position:relative;animation:fadeUp .8s ease .2s both}
.p-hero-stat{position:absolute;left:-18px;bottom:34px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;box-shadow:0 18px 40px -18px rgba(17,37,63,.35);animation:floaty 6s ease-in-out infinite}
.p-hero-stat-num{font-family:var(--display);font-weight:800;font-size:26px;color:var(--accent);line-height:1}
.p-hero-stat-label{font-size:12px;color:var(--ink-soft);font-weight:600;margin-top:2px}
.p-hero-strip{max-width:1200px;margin:clamp(36px,5vw,64px) auto 0;padding:0 clamp(18px,5vw,56px)}
.p-hero-strip-inner{display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center;border-top:1px solid var(--line);padding-top:24px;color:var(--ink-soft);font-weight:600;font-size:14px}
.p-hero-strip-inner p{margin:0}
.p-hero-strip-inner span.sep{opacity:.4}

/* ---------- eyebrow / headings ---------- */
.p-eyebrow-block{max-width:640px;margin-bottom:clamp(28px,4vw,44px)}
.p-eyebrow{font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.p-h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.4vw,44px);line-height:1.08;letter-spacing:-.02em;margin:14px 0 0;color:var(--ink)}
.p-h2--sm{font-size:clamp(24px,2.8vw,34px)}
.p-h1--page{font-family:var(--display);font-weight:800;font-size:clamp(34px,5vw,60px);line-height:1.05;letter-spacing:-.02em;margin:16px 0 0;color:var(--ink)}
.p-lead--page{font-size:clamp(17px,1.5vw,20px);line-height:1.7;color:var(--ink-soft);margin:22px 0 0}
.p-page-intro{max-width:880px;margin:0 auto;padding:0 clamp(18px,5vw,56px);text-align:center}

/* ---------- cards & grids ---------- */
.p-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px;transition:transform .2s,box-shadow .2s}
.p-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(17,37,63,.4)}
.p-dims-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.p-dim-n{font-family:var(--display);font-weight:800;font-size:clamp(40px,5vw,58px);line-height:1;color:var(--tint)}
.p-dim-card h3{font-family:var(--display);font-weight:700;font-size:25px;margin:14px 0 2px;color:var(--ink)}
.p-dim-nl{font-weight:700;font-size:14px;color:var(--accent);margin-bottom:12px}
.p-dim-nl p{margin:0}
.p-dim-card p{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0}

/* ---------- body map ---------- */
.p-bodymap-grid{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);align-items:center;justify-content:center}
.p-bodymap-figure-col{flex:0 1 260px;display:flex;flex-direction:column;align-items:center;gap:10px}
.p-bodymap-figure-caption{margin:0;font-family:var(--display);font-weight:700;color:var(--ink-soft);font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.p-bodymap-figure-wrap{position:relative;display:inline-block}
.p-bodymap-figure{height:clamp(340px,50vw,470px);width:auto;display:block}
.p-bodymap-figure--baby{height:clamp(190px,27vw,260px)}
.p-zone-btn{position:absolute;transform:translate(-50%,-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer}
.p-zone-ring{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--accent-bright);opacity:.55;animation:ping 2.4s ease-out infinite;pointer-events:none}
.p-zone-btn.is-active .p-zone-ring{opacity:0}
.p-zone-dot{position:relative;width:15px;height:15px;border-radius:50%;background:var(--accent-bright);border:3px solid #fff;box-shadow:0 3px 10px rgba(17,37,63,.4);transition:all .2s}
.p-zone-btn.is-active .p-zone-dot{width:24px;height:24px;background:var(--accent)}
.p-bodymap-panel-col{flex:1 1 320px;max-width:460px}
.p-zone-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3vw,34px);box-shadow:0 24px 50px -32px rgba(17,37,63,.4)}
.p-zone-badge{display:inline-flex;align-items:center;gap:8px;background:var(--tint);color:var(--accent-deep);border-radius:999px;padding:6px 14px;font-weight:700;font-size:12px;letter-spacing:.04em;margin-bottom:14px}
.p-zone-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.p-zone-panel p{font-size:17px;line-height:1.65;color:var(--ink);margin:0 0 22px}
.p-zone-panel-empty{border:1.5px dashed var(--accent);border-radius:22px;padding:clamp(24px,3vw,34px);text-align:center;color:var(--ink-soft);background:rgba(255,255,255,.45)}
.p-zone-panel-empty .emoji{font-size:30px;margin-bottom:10px}
.p-zone-panel-empty .ttl{font-weight:700;font-size:18px;color:var(--ink);font-family:var(--display)}
.p-zone-panel-empty .ttl p{margin:0}

/* ---------- video & gallery ---------- */
.p-video-wrap{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:16/9;background:var(--accent-deep);box-shadow:0 36px 70px -34px rgba(17,37,63,.5)}
.p-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.p-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.p-gallery-item{border-radius:18px;overflow:hidden;aspect-ratio:3/4}
.p-gallery-item .piddds-imgslot img{transition:transform .5s}
.p-gallery-item:hover .piddds-imgslot img{transform:scale(1.06)}

/* ---------- onze praktijken (home grid + detailpagina) ---------- */
.p-praktijken-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.p-praktijk-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:box-shadow .25s,transform .25s}
.p-praktijk-card:hover{box-shadow:0 24px 48px -24px rgba(17,37,63,.35);transform:translateY(-2px)}
.p-praktijk-card-media{aspect-ratio:4/3;overflow:hidden;background:var(--tint)}
.p-praktijk-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.p-praktijk-card:hover .p-praktijk-card-media img{transform:scale(1.06)}
.p-praktijk-card h3{font-family:var(--display);font-weight:800;font-size:20px;margin:18px 20px 2px;color:var(--ink)}
.p-praktijk-card-plaats{font-weight:600;font-size:14px;color:var(--accent);margin:0 20px 18px}

.p-praktijk-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,48px);align-items:start;margin-bottom:clamp(28px,4vw,48px)}
.p-praktijk-detail-media{border-radius:22px;overflow:hidden;aspect-ratio:4/3}
.p-praktijk-detail-media img{width:100%;height:100%;object-fit:cover;display:block}
.p-praktijk-detail-contact{margin:20px 0}
.p-praktijk-detail-contact p{margin:4px 0;font-size:15px;color:var(--ink-soft)}
.p-praktijk-detail-map{border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.p-praktijk-detail-map iframe{width:100%;height:360px;border:0;display:block}

.p-praktijk-behandelaars{margin:24px 0}
.p-praktijk-behandelaars-label{font-family:var(--body);font-weight:700;font-size:13px;letter-spacing:.03em;color:var(--ink-soft);margin:0 0 12px}
.p-praktijk-behandelaars-list{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0;padding:0}
.p-praktijk-behandelaar{display:flex;align-items:center;gap:10px}
.p-praktijk-behandelaar-avatar{display:block;width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 8px 20px -10px rgba(17,37,63,.4)}
.p-praktijk-behandelaar-name{font-family:var(--body);font-weight:600;font-size:14px;color:var(--ink)}

/* ---------- image slots (customizer-backed) ---------- */
.piddds-imgslot{position:relative;display:block;overflow:hidden}
.piddds-imgslot img{width:100%;height:100%;display:block}
.piddds-imgslot--empty{display:flex;align-items:center;justify-content:center;text-align:center;background:var(--tint);border:1.5px dashed var(--accent);color:var(--accent-deep);font-weight:600;font-size:14px;padding:18px}
.piddds-imgslot--circle{border-radius:50%}

/* ---------- traject / steps ---------- */
.p-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.p-step{padding-top:8px}
.p-step-n{width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:20px;margin-bottom:16px}
.p-step h3{font-family:var(--display);font-weight:700;font-size:19px;margin:0 0 6px;color:var(--ink)}
.p-step p{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0}

/* ---------- CTA band ---------- */
.p-cta-wrap{padding:clamp(20px,4vw,56px) clamp(18px,5vw,56px) clamp(48px,7vw,88px)}
.p-cta{max-width:1100px;margin:0 auto;background:var(--accent-deep);border-radius:28px;padding:clamp(36px,6vw,72px);position:relative;overflow:hidden;text-align:center;color:#fff}
.p-cta-glow-1{position:absolute;top:-80px;right:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(59,167,223,.4),transparent 70%);pointer-events:none}
.p-cta-glow-2{position:absolute;bottom:-100px;left:-50px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(30,115,190,.35),transparent 72%);pointer-events:none}
.p-cta p{font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:#BFD4E6;margin:16px auto 0;max-width:34em;position:relative}
.p-cta-buttons{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;position:relative}

/* ---------- footer ---------- */
.p-footer{background:var(--accent-deep);color:#CFE0EF;padding:clamp(48px,7vw,84px) 0 32px}
.p-footer-inner{max-width:1180px;margin:0 auto;padding:0 clamp(18px,5vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.p-footer-brand{max-width:300px}
.p-footer-logo{height:132px;width:auto;display:block;margin-bottom:10px}
.p-footer-brand p{font-size:14px;line-height:1.6;color:#9FBAD2;margin:0}
.p-footer-heading{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.p-footer-links{display:flex;flex-direction:column;gap:10px}
.p-footer-links a{color:#CFE0EF;font-size:15px}
.p-footer-links a:hover{color:#fff}
.p-footer-contact{display:flex;flex-direction:column;gap:10px;font-size:15px;color:#CFE0EF}
.p-footer-contact a{color:#CFE0EF}
.p-footer-contact a:hover{color:#fff}
.p-footer-kvk{color:#9FBAD2;font-size:13px}
.p-footer-bottom{max-width:1180px;margin:36px auto 0;padding:22px clamp(18px,5vw,56px) 0;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;align-items:center}
.p-footer-bottom span:first-child{font-size:13px;color:#9FBAD2}
.p-footer-bottom span:last-child{font-size:12px;color:#7E9BB6;max-width:46em}
.p-footer-bottom a{font-size:13px;color:#9FBAD2;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(159,186,210,.5);transition:color .15s}
.p-footer-bottom a:hover{color:#fff;text-decoration-color:currentColor}

/* ---------- Over PIDDDS ---------- */
.p-conditions-grid,.p-werking-grid,.p-bullet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.p-conditions-grid li,.p-werking-grid li,.p-bullet-grid li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:12px;font-weight:600;font-size:15px;color:var(--ink)}
.p-conditions-grid li::before,.p-werking-grid li::before,.p-bullet-grid li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-bright);flex:none}
.p-pijlers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:clamp(26px,3vw,40px)}
.p-pijler-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}
.p-pijler-card h3{font-family:var(--display);font-weight:700;font-size:19px;margin:0 0 10px;color:var(--ink)}
.p-pijler-card p{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0}
.p-goal-band{max-width:1100px;margin:0 auto;background:var(--tint);border-radius:28px;padding:clamp(32px,5vw,64px)}
.p-goal-band h2{max-width:46em}
.p-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,4vw,56px);align-items:center}
.p-award-chip{display:inline-flex;align-items:center;gap:10px;margin-top:22px;background:var(--tint);color:var(--accent-deep);border-radius:14px;padding:14px 18px;font-weight:600;font-size:15px}
.p-award-chip p{margin:0}
.p-cta-inline{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3.5vw,40px);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.p-cta-inline h2{font-family:var(--display);font-weight:800;font-size:clamp(22px,2.4vw,30px);line-height:1.15;margin:0;color:var(--ink)}
.p-cta-inline p{font-size:16px;line-height:1.7;color:var(--ink-soft);margin:12px 0 0}
.p-italic-note{color:var(--ink-soft);font-size:13px;margin:22px 0 0;font-style:italic}

/* ---------- Privacybeleid ---------- */
.p-privacy-toc{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:0 0 clamp(36px,4vw,52px);padding:18px 22px;background:var(--tint);border-radius:16px}
.p-privacy-toc li{margin:0}
.p-privacy-toc a{font-size:13px;font-weight:600;color:var(--accent-deep);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;display:inline-block;transition:background .15s,transform .15s}
.p-privacy-toc a:hover{background:#fff;transform:translateY(-1px)}
.p-privacy-section{padding:clamp(22px,3vw,32px) 0;border-top:1px solid var(--line)}
.p-privacy-section:first-of-type{border-top:none;padding-top:0}
.p-privacy-section h2{scroll-margin-top:100px}
.p-privacy-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,32px)}
/* Reusable "soft body text" utility classes — used instead of one-off inline
   styles so these paragraphs render identically whether they come from the
   template fallback or from a real WordPress paragraph block (the block
   editor's className support round-trips cleanly; ad hoc inline style
   attributes on a saved block don't, and can trip the editor's content
   validation). */
.p-body-text{font-size:16px;line-height:1.7;color:var(--ink-soft);margin:16px 0 0}
.p-body-text.is-large{font-size:17px;line-height:1.65}
.p-body-text.is-fluid{font-size:clamp(16px,1.4vw,18px)}
.p-body-text.mt-0{margin-top:0}
.p-body-text.mt-sm{margin-top:14px}
.p-body-text.mt-lg{margin-top:18px}
.p-body-text.mt-xl{margin-top:24px}
.p-body-text.mb-lg{margin-bottom:26px}
.p-body-text.max-36{max-width:36em;margin-left:auto;margin-right:auto}
.p-body-text.max-40{max-width:40em}
.p-body-text.max-44{max-width:44em}
.p-body-text.max-52{max-width:52em}
.p-founder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(28px,4vw,56px);align-items:center}

/* ---------- Hoe werkt ---------- */
.p-werking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:clamp(22px,3vw,32px) 0 0;list-style:none;padding:0}
.p-werking-grid li{line-height:1.5}

/* ---------- Trainingen ---------- */
.p-train-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.p-train-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.p-train-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(17,37,63,.4)}
.p-train-meta{font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.p-train-meta p{margin:0}
.p-train-card h3{font-family:var(--display);font-weight:700;font-size:22px;margin:10px 0 0;color:var(--ink)}
.p-train-card p{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:12px 0 18px;flex:1}
.p-train-card--retreat{background:var(--accent-deep);color:#EAF3FB;position:relative;overflow:hidden}
.p-train-card--retreat::before{content:"";position:absolute;top:-60px;right:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(59,167,223,.4),transparent 70%)}
.p-train-card--retreat .p-train-meta{color:var(--accent-bright)}
.p-train-card--retreat p{color:#BFD4E6}
.p-train-card--retreat h3,.p-train-card--retreat .p-train-meta,.p-train-card--retreat p,.p-train-card--retreat .p-btn{position:relative}
.p-train-pro-list{display:flex;flex-direction:column;gap:12px}
.p-train-pro-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;transition:border-color .15s}
.p-train-pro-item:hover{border-color:var(--accent)}
.p-train-pro-lvl{flex:none;width:84px;font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--accent);text-transform:uppercase}
.p-train-pro-lvl p{margin:0}
.p-train-pro-body{flex:1;min-width:200px}
.p-train-pro-body h3{font-family:var(--display);font-weight:700;font-size:19px;margin:0 0 4px;color:var(--ink)}
.p-train-pro-body p{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0}
.p-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:20px}
.p-partner-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px}
.p-partner-card h3{font-family:var(--display);font-weight:700;font-size:19px;margin:0 0 12px;color:var(--ink)}
.p-partner-card ul{margin:0;padding-left:18px;color:var(--ink-soft);font-size:15px;line-height:1.75}
.p-model-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,32px);margin-bottom:18px}
.p-model-card h3{font-family:var(--display);font-weight:700;font-size:19px;margin:0 0 6px;color:var(--ink)}
.p-model-card p{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:0}
.p-model-card--dark{background:var(--accent-deep);color:#EAF3FB}
.p-model-card--dark h3{color:#fff}
.p-model-card--dark p{color:#BFD4E6}
.p-model-card--dark ul{margin:0;padding-left:18px;color:#BFD4E6;font-size:15px;line-height:1.75}

/* ---------- Aanmelden ---------- */
.p-form-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,32px);display:flex;flex-direction:column;gap:12px}
.p-form-card input:not([type="checkbox"]):not([type="radio"]),.p-form-card textarea,.p-form-card select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;font-size:15px;background:var(--bg);color:var(--ink)}
/* .p-form-grid was previously unstyled — its fields (e.g. the "Mijn gegevens" profile form) only got the few px of whitespace between inline-block inputs, not a real gap, which read as cramped/onoverzichtelijk. Explicit flex + gap gives predictable breathing room regardless of markup whitespace. */
.p-form-grid{display:flex;flex-direction:column;gap:18px}

/* Collapsible blocks (native <details>/<summary> — no JS needed): the block title IS the toggle. */
.p-collapsible>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}
.p-collapsible>summary::-webkit-details-marker{display:none}
.p-collapsible>summary::before{content:"\25B8";display:inline-block;font-size:.7em;color:var(--ink-soft);transition:transform .15s ease}
.p-collapsible[open]>summary::before{transform:rotate(90deg)}
.p-collapsible-body{margin-top:18px}
.p-form-error{color:#c0392b;font-size:14px;font-weight:600}
.p-form-success{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(32px,5vw,56px);text-align:center;box-shadow:0 30px 60px -34px rgba(17,37,63,.4)}
.p-form-success-icon{width:64px;height:64px;border-radius:50%;background:var(--tint);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:30px}
.p-form-success h2{font-family:var(--display);font-weight:800;font-size:26px;margin:0 0 8px;color:var(--ink)}
.p-form-success p{font-size:16px;line-height:1.6;color:var(--ink-soft);margin:0 0 4px}
.p-checkbox-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft);cursor:pointer}
.p-training-list{display:flex;flex-direction:column;gap:10px}
.p-training-item{display:block;position:relative;border:1px solid var(--line);border-radius:14px;padding:14px 18px 14px 42px;cursor:pointer;transition:border-color .15s,background .15s}
.p-training-item:hover{border-color:var(--accent)}
.p-training-item input{position:absolute;left:16px;top:18px;width:auto;margin:0}
.p-training-item .ttl{font-weight:700;color:var(--ink);display:block}
.p-training-item .meta{font-size:13px;color:var(--ink-soft);margin-top:2px}
.p-training-item .prijs{float:right;font-weight:700;color:var(--accent-deep)}
.p-training-item.is-full{opacity:.55;cursor:not-allowed;background:var(--bg)}

/* ---------- Team ---------- */
.p-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.p-team-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px;text-align:center;display:flex;flex-direction:column;align-items:center}
.p-team-avatar{width:148px;height:148px;border-radius:50%;overflow:hidden;box-shadow:0 18px 40px -18px rgba(17,37,63,.4)}
.p-team-card h3{font-family:var(--display);font-weight:800;font-size:25px;margin:20px 0 4px;color:var(--ink)}
.p-team-role{font-weight:700;font-size:14px;color:var(--accent);margin-bottom:14px}
.p-team-card p{font-size:15px;line-height:1.65;color:var(--ink-soft);margin:0;max-width:34em}

/* ---------- Boeken ---------- */
.p-booking-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.p-calendar-card{flex:1 1 380px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,32px)}
.p-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.p-cal-nav-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:20px;cursor:pointer}
.p-cal-nav-btn:hover{border-color:var(--accent)}
.p-cal-nav-btn:disabled{color:#cfd7df;cursor:not-allowed}
.p-cal-title{font-family:var(--display);font-weight:700;font-size:19px;color:var(--ink);text-transform:capitalize}
.p-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.p-weekday-row span{text-align:center;font-weight:700;font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px;display:block}
.p-weeks{display:flex;flex-direction:column;gap:7px}
.p-week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.p-day-btn{appearance:none;font-family:var(--body);font-weight:600;font-size:15px;border-radius:12px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;width:100%;transition:all .15s;border:1px solid transparent;background:transparent;color:#cfd7df;cursor:default}
.p-day-btn.is-empty{visibility:hidden}
.p-day-btn.is-open{cursor:pointer;background:var(--surface);color:var(--ink);border-color:var(--line)}
.p-day-btn.is-open:hover{border-color:var(--accent)}
.p-day-btn.is-selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 18px -8px rgba(30,115,190,.5)}
.p-day-btn.is-full{cursor:not-allowed;color:#aab4be;text-decoration:line-through}
.p-day-btn.is-past{color:#cfd7df}
.p-cal-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft)}
.p-cal-legend span{display:flex;align-items:center;gap:7px}
.p-legend-swatch{width:12px;height:12px;border-radius:4px;border:1px solid var(--line);background:var(--surface);display:inline-block}
.p-legend-swatch.chosen{border:none;background:var(--accent)}

.p-behandelaar-col{flex:1 1 380px;display:flex;flex-direction:column;gap:18px}
.p-behandelaar-picker{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3.5vw,36px)}
.p-behandelaar-step{display:inline-flex;align-items:center;gap:8px;background:var(--tint);color:var(--accent-deep);border-radius:999px;padding:6px 14px;font-weight:700;font-size:12px;letter-spacing:.04em;margin-bottom:14px}
.p-behandelaar-picker h3{font-family:var(--display);font-weight:700;font-size:22px;margin:0 0 4px;color:var(--ink)}
.p-behandelaar-picker>p{font-size:15px;color:var(--ink-soft);margin:0 0 20px}
.p-behandelaar-search{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:0 14px;margin-bottom:8px}
.p-behandelaar-search input{flex:1;padding:13px 0;border:none;background:transparent;font-size:15px;color:var(--ink);outline:none;font-family:var(--body)}
.p-behandelaar-search button{background:none;border:none;color:var(--ink-soft);font-size:15px;cursor:pointer;padding:6px}
.p-behandelaar-search button:hover{color:var(--accent)}
.p-behandelaar-count{font-size:13px;color:var(--ink-soft);margin:0 0 16px}
.p-behandelaar-list{display:flex;flex-direction:column;gap:10px;max-height:min(56vh,520px);overflow:auto}
.p-behandelaar-item{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:12px 14px;border-radius:16px;cursor:pointer;transition:all .15s;background:var(--surface);border:2px solid var(--line);font-family:var(--body)}
.p-behandelaar-item.is-selected{background:var(--tint);border-color:var(--accent)}
.p-behandelaar-avatar{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:15px;color:#fff;background:var(--accent-bright) center/cover no-repeat}
.p-behandelaar-item.is-selected .p-behandelaar-avatar{background-color:var(--accent)}
.p-behandelaar-name{font-weight:700;font-size:15px;color:var(--ink)}
.p-behandelaar-meta{font-size:13px;color:var(--ink-soft);margin-top:2px}
.p-behandelaar-next{font-size:12.5px;color:var(--accent);font-weight:600;margin-top:3px}
.p-behandelaar-empty{text-align:center;padding:26px 12px;color:var(--ink-soft)}
.p-behandelaar-empty .ttl{font-weight:600;font-size:15px;color:var(--ink)}
.p-behandelaar-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.p-behandelaar-header-info{display:flex;align-items:center;gap:12px}
.p-behandelaar-switch{background:none;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:700;font-size:13px;color:var(--accent);cursor:pointer;white-space:nowrap}
.p-behandelaar-switch:hover{border-color:var(--accent);background:var(--tint)}

.p-booking-side{flex:1 1 300px;display:flex;flex-direction:column;gap:18px}
.p-slots-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,30px)}
.p-slots-date{font-weight:700;font-size:13px;color:var(--accent);text-transform:capitalize}
.p-slots-sub{font-size:13px;color:var(--ink-soft);margin:2px 0 16px}
.p-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:9px}
.p-slot-btn{cursor:pointer;padding:12px 6px;border-radius:12px;text-align:center;font-family:var(--body);font-weight:600;font-size:15px;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.p-slot-btn:hover{border-color:var(--accent)}
.p-slot-btn.is-selected{background:var(--accent);color:#fff;border-color:var(--accent)}
.p-slot-btn.is-in-block{border-color:var(--accent);border-style:dashed;color:var(--accent)}
.p-slots-empty{text-align:center;padding:24px 8px;color:var(--ink-soft)}
.p-slots-empty .emoji{font-size:30px;margin-bottom:8px}
.p-slots-empty .ttl{font-weight:600;font-size:15px;color:var(--ink)}
.p-details-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,30px)}
.p-details-card h3{font-family:var(--display);font-weight:700;font-size:18px;margin:0 0 16px;color:var(--ink)}
.p-details-fields{display:flex;flex-direction:column;gap:12px}
.p-details-fields input:not([type="checkbox"]):not([type="radio"]),.p-details-fields textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;font-size:15px;background:var(--bg);color:var(--ink)}
.p-details-fields .p-checkbox-row input[type="checkbox"]{width:16px;height:16px;flex:none;accent-color:var(--accent)}
.p-info-card{background:var(--band);border-radius:20px;padding:22px}
.p-info-card h4{font-family:var(--display);font-weight:700;font-size:15px;margin:0 0 10px;color:var(--ink)}
.p-info-card ul{margin:0;padding-left:18px;color:var(--ink-soft);font-size:14px;line-height:1.7}
.p-confirm-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(32px,5vw,56px);text-align:center;max-width:560px;margin:0 auto;box-shadow:0 30px 60px -34px rgba(17,37,63,.4)}
.p-confirm-summary{background:var(--band);border-radius:16px;padding:20px;text-align:left;display:flex;flex-direction:column;gap:10px}
.p-confirm-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.p-confirm-row span:first-child{color:var(--ink-soft);flex-shrink:0}
.p-confirm-row strong{color:var(--ink);text-align:right}
.p-confirm-row--stack{flex-direction:column;align-items:flex-start;gap:2px}
.p-confirm-row--stack strong{text-align:left}
.p-status-pill{display:inline-flex;align-items:center;gap:6px;background:var(--tint);color:var(--accent-deep);font-weight:700;font-size:13px;line-height:1;padding:6px 12px;border-radius:999px}
.p-confirm-card .p-btn{font-size:16px;padding:16px 30px}
.p-portal-list{display:flex;flex-direction:column;gap:10px}
.p-portal-row{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.p-portal-row strong{display:block;color:var(--ink);font-size:15px}
.p-portal-row-meta{display:block;color:var(--ink-soft);font-size:13px;margin-top:2px}
.p-portal-status{font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--tint);color:var(--accent-deep);white-space:nowrap}
.p-portal-status--betaald,.p-portal-status--uitgevoerd,.p-portal-status--bevestigd,.p-portal-status--afgerond{background:#DCF3E4;color:#1E7A45}
.p-portal-status--geannuleerd{background:var(--band);color:var(--ink-soft)}
.p-portal-status--no_show{background:#FBE1E1;color:#A02020}
.p-portal-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.p-per-page label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-soft,var(--ink))}
.p-portal-search{display:flex;gap:8px;margin-bottom:14px}
.p-address-lookup{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.p-address-lookup .piddds-lookup-postcode{max-width:110px}
.p-address-lookup .piddds-lookup-huisnummer{max-width:90px}
.p-address-lookup .piddds-lookup-toevoeging{max-width:90px}
.p-address-lookup .piddds-lookup-msg{font-size:12px;color:#B3541E}
.p-portal-search input[type="search"]{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;font-size:14px;background:var(--bg);color:var(--ink)}

/* Klein, ingeklapt toggeltje voor wijzigen/annuleren bij een afspraak in Mijn
   account — dezelfde chevron-conventie als .p-collapsible, maar dan als
   subtiele tekstlink in plaats van een grote koptekst, zodat de rij compact
   blijft totdat iemand er bewust voor kiest. */
.p-portal-appointment-toggle>summary{list-style:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:4px}
.p-portal-appointment-toggle>summary:hover{text-decoration:underline}
.p-portal-appointment-toggle>summary::-webkit-details-marker{display:none}
.p-portal-appointment-toggle>summary::before{content:"\25B8";font-size:.75em;color:var(--ink-soft);transition:transform .15s ease}
.p-portal-appointment-toggle[open]>summary::before{transform:rotate(90deg)}
.p-portal-appointment-actions{display:flex;gap:8px;margin-top:8px}
.p-portal-reschedule-form{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.p-portal-reschedule-form label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:3px}
.p-portal-reschedule-form input,.p-portal-reschedule-form select{font-size:13px;padding:6px 8px}
.p-btn-xs{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:12px;font-weight:600;padding:6px 14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.p-btn-xs:hover{background:var(--tint);color:var(--accent-deep);border-color:var(--accent)}
.p-btn-xs--primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.p-btn-xs--primary:hover{background:var(--accent-deep);color:#fff}
.p-btn-xs:disabled{opacity:.5;cursor:not-allowed}

/* ---------- webshop ---------- */
.p-nav-cart{position:relative;display:inline-flex;align-items:center;font-size:20px;line-height:1;padding:6px}
.p-cart-count{position:absolute;top:-2px;right:-2px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:1;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px}
.p-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.p-shop-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.p-shop-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(17,37,63,.3)}
.p-shop-card-img{position:relative;height:150px;background:var(--band) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:40px}
.p-shop-badge{position:absolute;top:10px;left:10px;background:var(--accent-deep);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}
.p-shop-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.p-shop-card-body h3{font-family:var(--display);font-weight:700;font-size:16px;margin:0;color:var(--ink)}
.p-shop-card-body p{font-size:13px;line-height:1.5;color:var(--ink-soft);margin:0;flex:1}
.p-shop-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.p-shop-price{font-family:var(--display);font-weight:800;font-size:17px;color:var(--accent-deep)}
.p-shop-oos{font-size:12px;color:var(--ink-soft);font-style:italic}
.p-cart-items{display:flex;flex-direction:column;gap:10px}
.p-cart-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between}
.p-cart-item-naam{flex:1;font-weight:600;color:var(--ink);font-size:14px}
.p-cart-item-aantal{font-weight:400;color:var(--ink-soft)}
.p-cart-item-qty input{width:60px;text-align:center;padding:6px}
.p-cart-item-subtotal{font-weight:700;color:var(--accent-deep);min-width:70px;text-align:right}
.p-cart-item-remove{background:none;border:none;color:var(--ink-soft);cursor:pointer;font-size:16px;padding:4px}
.p-cart-item-remove:hover{color:#B3541E}
.p-cart-total{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--band);border-radius:14px;font-size:16px;margin-top:14px}
.p-cart-total strong{font-family:var(--display);font-weight:800;color:var(--accent-deep);font-size:19px}

@media (max-width:640px){
  .p-cta-inline{flex-direction:column;align-items:flex-start}
  .p-train-pro-item{flex-direction:column;align-items:flex-start}
}
