/* Stijlen voor de publieke website (homepage en landingspagina's).
   Stond eerst in home.html; hier gedeeld zodat beide er hetzelfde
   uitzien en er maar één plek is om iets te wijzigen. */
  /* ---- publieke website: aanvullende stijlen bovenop style.css ---- */
  html{overflow-x:hidden;}
  body{background:var(--panel);overflow-x:hidden;}
  .pub-header{border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:20;}
  .pub-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px;max-width:1120px;margin:0 auto;padding:0 24px;}
  .pub-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;color:var(--ink);}
  .pub-brand:hover{text-decoration:none;}
  .pub-brand .brand-mark{width:26px;height:26px;color:var(--primary);display:flex;}
  .pub-brand .brand-mark svg{width:100%;height:100%;}
  .pub-nav{display:flex;align-items:center;gap:28px;}
  .pub-nav a.pub-navlink{color:var(--ink-soft);font-weight:600;font-size:14.5px;}
  .pub-nav a.pub-navlink:hover{color:var(--ink);text-decoration:none;}

  .pub-header-actions{display:flex;align-items:center;gap:10px;}
  .pub-login-mobile{display:none;}

  /* "Klant worden!" moet er in het menu uitspringen naast de gewone links */
  .pub-cta{background:var(--accent);color:#fff;font-weight:700;}
  .pub-cta:hover{background:#0C8D56;color:#fff;text-decoration:none;}

  .pub-nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;margin:-8px;flex-direction:column;justify-content:center;gap:5px;}
  .pub-nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;}

  @media (max-width:760px){
    .pub-nav-toggle{display:flex;}
    .pub-login-mobile{display:inline-flex;}
    .pub-nav{
      display:none;position:fixed;top:72px;left:0;right:0;z-index:19;
      flex-direction:column;align-items:stretch;gap:0;
      background:var(--panel);border-bottom:1px solid var(--line);
      padding:6px 24px 18px;box-shadow:0 12px 24px -16px rgba(11,18,32,.25);
    }
    .pub-nav.is-open{display:flex;}
    .pub-nav a.pub-navlink{padding:13px 0;border-bottom:1px solid var(--line);}
    .pub-nav .btn-primary{margin-top:14px;justify-content:center;}
    .pub-nav .btn-ghost{margin-top:8px;justify-content:center;}
  }
  @media (max-width:380px){
    .pub-login-mobile{padding:6px 10px;font-size:12.5px;}
  }

  /* De hero is een foto over de volle breedte met de tekst eroverheen. De foto
     staat op onze eigen server; er gaat dus geen verbinding naar een fotodienst
     en die ziet het IP-adres van onze bezoekers niet. De donkere laag eroverheen
     is er niet voor de sier: zonder die laag is witte tekst op een lichte foto
     niet te lezen. Ontbreekt de foto (nog niet opgehaald), dan blijft de
     achtergrondkleur staan en is alles gewoon leesbaar. */
  .hero{position:relative;isolation:isolate;background:#0F1B33;padding:96px 0 84px;border-bottom:1px solid var(--line);overflow:hidden;}
  .hero-achtergrond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
  .hero::after{content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(100deg,rgba(9,16,32,.90) 0%,rgba(9,16,32,.74) 45%,rgba(9,16,32,.30) 100%);}
  @media (max-width:860px){.hero::after{background:linear-gradient(180deg,rgba(9,16,32,.84) 0%,rgba(9,16,32,.70) 100%);}}
  .hero-inner{max-width:1120px;margin:0 auto;padding:0 24px;}
  .hero-tekst{max-width:640px;}
  .hero h1{color:#fff;}
  .hero-punten li::before{background:#fff;}
  .btn-wit{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.55);border-radius:10px;padding:12px 20px;font-weight:700;font-size:15px;backdrop-filter:blur(2px);}
  .btn-wit:hover{background:rgba(255,255,255,.22);color:#fff;}
  @media (max-width:600px){.hero{padding:64px 0 56px;}}

  /* De rekenhulp stond in de hero en staat nu in een eigen band eronder, zodat
     de foto bovenaan de ruimte krijgt en de rekenhulp niet in de verdrukking komt. */
  .rekenband{background:linear-gradient(180deg,#F4F6FA 0%,#FFFFFF 100%);padding:56px 0 60px;border-bottom:1px solid var(--line);}
  .rekenband-inner{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;}
  .rekenband-tekst{padding-top:4px;}
  @media (max-width:860px){.rekenband-inner{grid-template-columns:1fr;gap:28px;}}
  .rekenband h2{font-size:28px;letter-spacing:-0.02em;margin:0 0 12px;}
  @media (max-width:600px){.rekenband h2{font-size:23px;}}
  .rekenband-tekst p{font-size:16.5px;color:var(--ink-soft);margin:0 0 18px;}
  .rekenband-punten{list-style:none;margin:0;padding:0;font-size:14.5px;color:var(--ink-soft);}
  .rekenband-punten li{display:flex;gap:9px;align-items:flex-start;margin-bottom:9px;}
  .rekenband-punten li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;margin-top:8px;}
  .hero h1{font-size:40px;line-height:1.15;letter-spacing:-0.02em;margin:0 0 18px;max-width:14ch;}
  @media (min-width:861px){.hero h1{max-width:none;}}
  @media (max-width:600px){.hero h1{font-size:30px;}}
  .hero h1 .nowrap{white-space:nowrap;}
  .hero .lead{font-size:17px;color:rgba(255,255,255,.9);max-width:560px;margin:0 0 28px;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
  .hero-figure{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 20px 45px -25px rgba(11,18,32,.25);}
  .hero-figure .hf-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}
  .hero-figure .hf-row:last-child{border-bottom:none;}
  .hero-figure .hf-label{color:var(--ink-soft);font-size:13.5px;}
  .hero-figure .hf-value{font-weight:800;font-size:17px;}
  .hero-figure .hf-value.accent{color:var(--accent);}
  .hero-figure .hf-badge{display:inline-block;margin-top:16px;background:var(--accent-soft);color:#0B6B45;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:20px;}

  .hero-visual{position:relative;}

  .hero-punten{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:rgba(255,255,255,.88);}
  .hero-punten li{display:flex;align-items:center;gap:7px;}
  .hero-punten li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}

  .reken-kaart{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 24px 50px -28px rgba(11,18,32,.35);}
  .reken-kop{font-size:17px;margin:0 0 18px;letter-spacing:-0.01em;}
  .reken-label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:6px;}
  .reken-invoer{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--bg);}
  .reken-euro{color:var(--ink-soft);font-weight:700;}
  .reken-invoer input{border:none;background:none;font-size:22px;font-weight:800;width:100%;padding:0;letter-spacing:-0.01em;color:var(--ink);}
  .reken-invoer input:focus{outline:none;}
  .reken-invoer:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(41,84,229,.12);}
  .reken-schuif{width:100%;margin:14px 0 4px;accent-color:var(--primary);}
  .reken-tabel{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px;}
  .reken-tabel td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top;}
  .reken-tabel td.rechts{text-align:right;white-space:nowrap;font-weight:600;}
  .reken-tabel td.min{color:var(--ink-soft);}
  .reken-tabel td.min::before{content:"\2212\00a0";}
  .reken-tabel .muted{color:var(--ink-soft);font-weight:400;}
  .reken-tabel tr.reken-uit td{border-top:2px solid var(--ink);border-bottom:none;padding-top:13px;}
  .reken-tabel td.groot{font-size:22px;font-weight:800;color:var(--accent);letter-spacing:-0.01em;}
  .reken-tabel tr.reken-totaal td{border-bottom:none;padding-top:2px;color:var(--ink-soft);}
  .reken-vink{display:flex;gap:9px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--ink-soft);line-height:1.45;cursor:pointer;}
  .reken-vink input{margin-top:2px;flex:none;}
  .reken-hint{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:14px 0 16px;}
  .reken-knop{width:100%;justify-content:center;}
  .reken-bezig{opacity:.45;transition:opacity .15s;}

  .sticky-cta{display:none;}
  @media (max-width:760px){
    .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--panel);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px -14px rgba(11,18,32,.3);}
    .sticky-cta a{display:flex;justify-content:center;width:100%;}
    body{padding-bottom:72px;}
  }

  .over-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start;}
  @media (max-width:820px){.over-grid{grid-template-columns:1fr;}}
  .over-feiten{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);}
  .over-feiten li{display:flex;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line);font-size:14.5px;}
  .over-feiten li:last-child{border-bottom:none;}
  .over-feiten .of-label{color:var(--ink-soft);min-width:132px;flex:none;}

  .let-op{background:#FFF8E6;border:1px solid #F0DCA8;border-radius:var(--radius);padding:22px 24px;margin-top:8px;}
  .let-op h3{margin:0 0 8px;font-size:16px;}
  .let-op p{margin:0 0 10px;font-size:14.5px;}
  .let-op p:last-child{margin-bottom:0;}

  .section{max-width:1120px;margin:0 auto;padding:64px 24px;}
  .section-intro{max-width:640px;margin:0 0 40px;}
  .section-intro h2{font-size:28px;letter-spacing:-0.01em;}
  .section-alt{background:var(--bg);}

  .section-photo{width:100%;height:260px;object-fit:cover;border-radius:var(--radius);margin:0 0 32px;box-shadow:0 20px 45px -25px rgba(11,18,32,.2);display:block;}
  @media (max-width:600px){.section-photo{height:170px;}}

  .rendement-pill{display:inline-block;margin-top:14px;background:var(--accent-soft);color:#0B6B45;font-weight:700;font-size:14.5px;padding:9px 16px;border-radius:20px;}
  .rendement-pill strong{font-size:17px;}

  .tarief-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start;}
  @media (max-width:820px){.tarief-grid{grid-template-columns:1fr;}}
  .tarief-kaart{background:var(--accent-soft);border:1px solid #BFE8D5;border-radius:16px;padding:26px;}
  .tarief-label{display:block;font-size:13.5px;color:#0B6B45;font-weight:700;}
  .tarief-groot{display:block;font-size:54px;font-weight:800;line-height:1.05;letter-spacing:-0.03em;color:#0B6B45;margin:4px 0 2px;}
  .tarief-onder{display:block;font-size:14.5px;color:#0B6B45;}
  .tarief-kaart p{margin:16px 0 0;font-size:14px;color:var(--ink-soft);}
  .tarief-tabel{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:15px;}
  .tarief-tabel td{padding:12px 14px;border-bottom:1px solid var(--line);}
  .tarief-tabel tr:last-child td{border-bottom:none;}
  .tarief-tabel td.rechts{text-align:right;white-space:nowrap;}
  .tarief-tabel td.sterk{font-weight:800;color:var(--accent);}
  .tarief-tabel tr.totaal td{background:var(--bg);font-weight:800;}
  .tarief-tabel .muted{color:var(--ink-soft);font-weight:400;}
  .usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media (max-width:900px){.usp-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.usp-grid{grid-template-columns:1fr;}}
  .usp-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
  .usp-icon{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:#0B6B45;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;margin-bottom:14px;}
  .usp-card h3{margin-bottom:8px;}
  .usp-card p{margin:0;font-size:14px;}

  .uitleg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px;}
  @media (max-width:900px){.uitleg-grid{grid-template-columns:1fr;}}
  .uitleg-blok{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
  .uitleg-blok h3{margin-bottom:8px;font-size:15.5px;}
  .uitleg-blok p{margin:0;font-size:14px;}

  .faq-list{display:flex;flex-direction:column;gap:12px;max-width:820px;}
  .faq-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:2px 22px;}
  .faq-item summary{cursor:pointer;list-style:none;padding:17px 0;font-weight:700;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:14px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+";font-size:20px;font-weight:400;color:var(--ink-soft);flex:none;line-height:1;}
  .faq-item[open] summary::after{content:"–";}
  .faq-item p{margin:0 0 18px;font-size:14px;}

  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step;}
  .steps-5{grid-template-columns:repeat(5,1fr);}
  @media (max-width:1040px){.steps-5{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.steps{grid-template-columns:1fr;}}
  .step{position:relative;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);}
  .step-num{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .step h3{margin-bottom:6px;font-size:15.5px;}
  .step p{margin:0;font-size:13.5px;}

  .cta-band{background:linear-gradient(135deg,#0B1220 0%,#1D3EBF 100%);border-radius:20px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
  .cta-band h2{color:#fff;margin-bottom:6px;}
  .cta-band p{color:#B9C0D4;margin:0;}
  .cta-band .btn-primary{background:#fff;color:var(--ink);}
  .cta-band .btn-primary:hover{background:#E7EDFF;}

  @media (max-width:600px){
    .hero{padding:44px 0 36px;}
    .hero-photo{height:200px;}
    .cta-band{padding:32px 24px;text-align:center;justify-content:center;}
  }

  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  @media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}
  .contact-list{list-style:none;margin:0;padding:0;}
  .contact-list li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;}
  .contact-list li:last-child{border-bottom:none;}
  .contact-list .cl-label{color:var(--ink-soft);min-width:110px;font-size:13.5px;}
  .contact-list .cl-value{font-weight:600;}
  .contact-account-row{align-items:center;}
  .contact-account-actions{display:flex;gap:10px;flex-wrap:wrap;}
  @media (max-width:420px){
    .contact-account-row{flex-direction:column;align-items:flex-start;gap:10px;}
    .contact-account-actions{width:100%;}
    .contact-account-actions .btn-primary, .contact-account-actions .btn-ghost{flex:1;justify-content:center;}
  }

  .pub-footer{border-top:1px solid var(--line);background:var(--bg);padding:32px 0;}
  .pub-footer-inner{max-width:1120px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);}
  .pub-footer a{color:var(--ink-soft);}
  .pub-footer-links{display:flex;gap:16px;flex-wrap:wrap;}
  .pub-footer a.btn-primary{color:#fff;font-size:13.5px;padding:9px 20px;}
  .pub-footer a.btn-primary:hover{color:#fff;text-decoration:none;}
  @media (max-width:600px){
    .pub-footer-inner{flex-direction:column;align-items:stretch;text-align:center;}
    .pub-footer a.btn-primary{width:100%;padding:12px 20px;}
  }
