/* ══════════════════════════════════════════════════════════════════════
   TODAH — MARKETING-OPMAAK
   Nav, footer, hero en de secties van de publieke pagina's.

   Alleen voor de marketingkant. De applicatiepagina's (portal, dashboard,
   login, account, foto, kaartpagina) laden dit bestand NIET — die hebben
   een eigen structuur en een eigen breedte, en hun knoppen en kolommen
   rekenen op Inter over de volle breedte.

   Laadt zelf niets. De volgorde basis.css → site.css staat vast in
   partials/head.php; los geladen mist dit bestand z'n tokens.
   ══════════════════════════════════════════════════════════════════════ */

html{scroll-behavior:smooth}

.hero-h1,.section-title,.prijs-teams h3{font-family:var(--merk)}

/* NAV */
nav{background:var(--navy);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.nav-brand img{height:28px;width:auto}
.nav-brand{text-decoration:none}
.nav-link{color:rgba(255,255,255,.85);font-size:14px;font-weight:600;text-decoration:none;padding:8px 4px;white-space:nowrap}
.nav-link:hover{color:#fff}
@media(max-width:560px){.nav-link{display:none}}

/* HERO */
.hero{background:var(--navy);padding:48px 24px 56px;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.hero-inner{max-width:1100px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero-eyebrow{display:inline-block;background:var(--gold);color:#fff;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:4px 10px;border-radius:4px;margin-bottom:16px}
.hero-h1{font-size:clamp(28px,4vw,46px);font-weight:900;color:#fff;line-height:1.15;letter-spacing:-.5px;margin-bottom:16px}
.hero-lead{font-size:16px;color:rgba(255,255,255,.75);line-height:1.6;margin-bottom:28px;max-width:480px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}

/* PHONE MOCKUP */
.phone-wrap{display:flex;justify-content:center;align-items:center;padding:8px 0}
.phone-mockup{width:220px;border-radius:36px;border:6px solid rgba(255,255,255,.15);overflow:hidden;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.phone-screen{background:#fff}
.phone-topbar{background:var(--navy);padding:10px 14px 6px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:rgba(255,255,255,.7)}
.phone-label{background:rgba(255,255,255,.15);font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;padding:2px 7px;border-radius:3px}
.phone-header-img{width:100%;height:90px;object-fit:cover;display:block}
.phone-body{padding:32px 12px 14px;text-align:center}
.phone-avatar-wrap{margin-top:-44px;margin-bottom:8px}
.phone-avatar{width:56px;height:56px;border-radius:50%;border:2px solid #fff;margin:0 auto;overflow:hidden;background:var(--navy)}
.phone-avatar img{width:100%;height:100%;object-fit:cover;object-position:top}
.phone-name{font-size:14px;font-weight:800;color:var(--navy)}
.phone-sub{font-size:10px;color:var(--muted);margin-bottom:10px}
.phone-amts{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px}
.phone-amt{background:#fff;border:1.5px solid var(--border);border-radius:20px;padding:6px 2px;font-size:11px;font-weight:800;color:var(--navy)}
.phone-amt.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.phone-pay{background:#000;color:#fff;border-radius:16px;padding:6px;font-size:9px;font-weight:600;text-align:center;margin-bottom:4px}
.phone-powered{font-size:8px;color:var(--muted)}

/* SEGMENTEN — Voor jezelf / Voor je team */
.seg-section{padding:56px 24px;background:var(--bg);scroll-margin-top:64px}
.seg-inner{max-width:1100px;margin:0 auto}
.seg-section .section-title{max-width:640px}
.seg-section .section-sub{max-width:600px}
.seg-list{list-style:none;margin:6px 0 30px;padding:0;display:flex;flex-direction:column;gap:13px;max-width:620px}
.seg-list li{position:relative;padding-left:32px;font-size:15px;line-height:1.5;color:var(--text)}
.seg-list li::before{content:'✓';position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;background:var(--gold);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.seg-dark{background:var(--navy)}
.seg-dark .section-title{color:#fff}
.seg-dark .section-sub{color:rgba(255,255,255,.72)}
.seg-dark .seg-list li{color:rgba(255,255,255,.85)}

/* CAROUSEL */
.prijs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:6px 0 18px}
.prijs-status{grid-column:1/-1;font-size:14px;color:var(--muted)}
.prijs-kaart{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--border);
             border-radius:14px;padding:16px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.prijs-foto{width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--bg);
            border:1px solid var(--border);margin-bottom:6px}
.prijs-kaart:hover{border-color:var(--gold);transform:translateY(-2px)}
.prijs-naam{font-size:15px;font-weight:700;color:var(--navy);line-height:1.3}
.prijs-oms{font-size:13px;color:var(--muted);line-height:1.45;flex:1}
.prijs-bedrag{font-size:19px;font-weight:800;color:var(--navy);margin-top:6px}
.prijs-verzend{font-size:13px;color:var(--muted);margin:0 0 22px}
.prijs-teams{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;max-width:720px}
.prijs-teams h3{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:8px}
.prijs-teams p{font-size:14px;line-height:1.6;color:var(--text)}
.prijs-teams-noot{margin-top:8px;color:var(--muted);font-size:13.5px}

.carousel-section{background:#fff;padding:48px 24px;border-bottom:1px solid var(--border)}
.carousel-inner{max-width:1100px;margin:0 auto}
.section-eyebrow{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.section-title{font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--navy);letter-spacing:-.3px;margin-bottom:6px}
.section-sub{font-size:15px;color:var(--muted);margin-bottom:32px}
.demo-link{display:block;margin-top:26px;font-size:14px;font-weight:600;color:var(--navy);text-decoration:underline}
/* Twee tekstlinks onder elkaar: alleen de eerste heeft de ruime marge naar de knop nodig. */
.demo-link + .demo-link{margin-top:8px}
.seg-dark .demo-link{color:rgba(255,255,255,.8)}
.carousel-track-wrap{overflow:hidden;position:relative}
.carousel-track{display:flex;gap:16px;transition:transform .4s ease}
.carousel-item{flex:0 0 calc(33.333% - 11px);min-width:0;background:#fff;border:1px solid #e7e5e4;border-radius:16px;overflow:hidden;padding-bottom:14px}
.carousel-img{width:100%;aspect-ratio:4/3;height:auto;object-fit:contain;border-radius:0;display:block;background:#fff}
.carousel-caption{font-size:15px;font-weight:700;color:var(--navy);margin-top:12px;text-align:center;padding:0 8px}
.carousel-nav{display:flex;gap:8px;margin-top:20px;justify-content:center}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;padding:0}
.carousel-dot.active{background:var(--navy)}
@media(max-width:700px){.carousel-item{flex:0 0 calc(82% - 8px)}}

/* USE CASES */
.uc-section{padding:56px 24px;background:var(--bg)}
.uc-inner{max-width:1100px;margin:0 auto}
.uc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.uc-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}
.uc-img{width:100%;height:180px;object-fit:cover;display:block}
.uc-body{padding:20px}
.uc-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:6px}
.uc-text{font-size:14px;color:var(--muted);line-height:1.55}

/* BENEFITS */
.ben-section{padding:56px 24px;background:#fff;border-top:1px solid var(--border)}
.ben-inner{max-width:1100px;margin:0 auto}
.ben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.ben-card{padding:24px;background:var(--bg);border-radius:14px}
.ben-icon{font-size:28px;margin-bottom:12px}
.ben-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:8px}
.ben-text{font-size:14px;color:var(--muted);line-height:1.55}

/* FOOTER */
footer{text-align:center;padding:28px 24px;font-size:13px;color:var(--muted);border-top:1px solid var(--border)}

/* MOBILE */
@media(max-width:768px){
  .hero-inner{grid-template-columns:1fr;gap:32px}
  .phone-wrap{order:-1}
  .phone-mockup{width:180px}
  .uc-grid,.ben-grid{grid-template-columns:1fr;gap:14px}
  .hero-h1{font-size:30px}
  .hero-btns{width:100%}
  .btn-choice{flex:1 1 100%}
}
