@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@400;500&display=swap');
:root{--cold:#1a5fa8;--cold-light:#ddeeff;--cold-mid:#3a7fc8;--warm:#e55b1a;--warm-light:#fff0e8;--warm-mid:#f07840;--neutral:#1a1a1a;--neutral-mid:#555;--neutral-light:#f5f4f1;--border:#e2e0da;--white:#ffffff;--radius:10px;--font-display:'Barlow Condensed',sans-serif;--font-body:'Barlow',sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--neutral);background:var(--white);font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}

/* ───── NAV ───── */
.nav{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--border);padding-inline:max(2rem,calc(50vw - 460px));height:100px;display:flex;align-items:center;gap:1.5rem}
.nav-logo{display:flex;align-items:center;padding:10px;flex-shrink:0}
.nav-logo img{height:80px;width:auto}
.nav-links{display:flex;gap:1.5rem;font-size:.875rem;font-weight:500;list-style:none;margin-left:auto}
.nav-links a{color:var(--neutral-mid)}.nav-links a:hover{color:var(--neutral);text-decoration:none}.nav-links a.active{color:var(--cold)}

/* ───── WEER-BADGE in nav ───── */
.nav-weather{display:inline-flex;align-items:center;gap:.55rem;background:var(--neutral-light);border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem .45rem .75rem;font-size:.85rem;font-weight:500;color:var(--neutral);cursor:pointer;transition:border-color .15s,background .15s,transform .1s;font-family:var(--font-body);line-height:1;flex-shrink:0;white-space:nowrap;max-width:240px}
.nav-weather:hover{border-color:var(--cold);background:var(--cold-light);text-decoration:none;transform:translateY(-1px)}
.nav-weather .nw-pin{font-size:.95rem;line-height:1;flex-shrink:0}
.nav-weather .nw-place{color:var(--neutral-mid);overflow:hidden;text-overflow:ellipsis;max-width:100px}
.nav-weather .nw-temp{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--neutral)}
.nav-weather .nw-arrow{color:var(--cold);font-weight:600;margin-left:.1rem}
.nav-weather[data-state="empty"] .nw-temp,.nav-weather[data-state="empty"] .nw-arrow{display:none}
.nav-weather[data-state="loading"] .nw-temp{opacity:.4}
.nav-weather[data-state="loading"] .nw-arrow{display:none}
.nav-weather[data-state="error"] .nw-temp{display:none}
.nav-weather[data-state="error"]{border-color:#e08080;color:#a04040}

/* ───── Nav CTA "Direct advies" ───── */
.nav-cta{display:inline-flex;align-items:center;gap:.4rem;background:#e55b1a;color:#fff;font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;padding:.6rem 1.1rem;border-radius:var(--radius);transition:background .15s,transform .1s;flex-shrink:0;white-space:nowrap;border:none;cursor:pointer;line-height:1}
.nav-cta:hover{background:#f07840;color:#fff;text-decoration:none;transform:translateY(-1px)}
.nav-cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ───── Locatie-dialoog (eerste keer / handmatig) ───── */
.nw-dialog{position:fixed;top:110px;right:1.5rem;z-index:200;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px rgba(0,0,0,.12);padding:1.25rem;width:300px;max-width:calc(100vw - 2rem)}
.nw-dialog[hidden]{display:none}
.nw-dialog h4{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:.4rem}
.nw-dialog p{font-size:.85rem;color:var(--neutral-mid);margin-bottom:.85rem;line-height:1.5}
.nw-dialog form{display:flex;gap:.5rem;margin-bottom:.6rem}
.nw-dialog input{flex:1;min-width:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;font-family:var(--font-body);font-size:.9rem}
.nw-dialog input:focus{outline:none;border-color:var(--cold)}
.nw-dialog button{padding:.55rem .9rem;background:var(--cold);color:#fff;border:none;border-radius:6px;font-family:var(--font-display);font-weight:600;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.nw-dialog button:hover{background:var(--cold-mid)}
.nw-dialog .nw-geo{background:none;color:var(--cold);border:1px solid var(--cold);width:100%;padding:.5rem;display:flex;align-items:center;justify-content:center;gap:.4rem}
.nw-dialog .nw-geo:hover{background:var(--cold-light)}
.nw-dialog .nw-close{position:absolute;top:.55rem;right:.65rem;background:none;color:var(--neutral-mid);border:none;font-size:1.3rem;padding:0;width:24px;height:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;text-transform:none;letter-spacing:0}
.nw-dialog .nw-close:hover{background:none;color:var(--neutral)}
.nw-dialog .nw-error{font-size:.78rem;color:#a04040;margin-top:.4rem;min-height:1em}

/* ───── Breadcrumb ───── */
.breadcrumb{padding:.75rem max(2rem,calc(50vw - 460px));font-size:.8rem;color:var(--neutral-mid);border-bottom:1px solid var(--border);display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:var(--neutral-mid)}.breadcrumb a:hover{color:var(--cold);text-decoration:underline}
.breadcrumb-sep{color:var(--border)}

/* ───── Footer (brand-statement) ───── */
footer{background:#0f1620;color:rgba(255,255,255,.85);padding:4.5rem 2rem 2rem;position:relative;overflow:hidden}
.footer-inner{max-width:920px;margin:0 auto;position:relative}
.footer-statement{display:flex;align-items:center;gap:1.75rem;margin-bottom:3rem;flex-wrap:wrap}
.footer-tagline{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.05;letter-spacing:.005em;text-transform:uppercase;color:#fff;margin:0;max-width:560px;flex:1;min-width:240px}
.footer-tagline .accent{color:#e55b1a}
.footer-cta{display:inline-flex;align-items:center;gap:.55rem;background:#e55b1a;color:#fff;font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;padding:.85rem 1.75rem;border-radius:var(--radius);transition:background .15s,transform .1s;margin-left:auto;border:none;cursor:pointer;flex-shrink:0;line-height:1}
.footer-cta:hover{background:#f07840;color:#fff;text-decoration:none;transform:translateY(-1px)}
.footer-cta svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:540px;margin-bottom:3rem}
.footer-nav h4{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#9ec5ec;margin-bottom:1rem}
.footer-nav ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;padding:0}
.footer-nav li{margin:0}
.footer-nav a{font-size:.92rem;color:rgba(255,255,255,.85);transition:color .15s}
.footer-nav a:hover{color:#fff;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.55)}
.footer-bottom a{color:rgba(255,255,255,.55)}
.footer-bottom a:hover{color:rgba(255,255,255,.85);text-decoration:none}
.footer-bottom-links{display:flex;gap:1.25rem;flex-wrap:wrap}

/* ───── Burger ───── */
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;align-items:center;justify-content:center;flex-shrink:0}
.nav-burger span{display:block;width:22px;height:2px;background:var(--neutral);border-radius:2px;transition:transform .2s,opacity .2s}
.nav.open .nav-links{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--border);padding:.5rem 1.5rem 1rem;gap:0;z-index:99;box-shadow:0 4px 16px rgba(0,0,0,.1);margin-left:0}
.nav.open .nav-links li{border-bottom:1px solid var(--border)}
.nav.open .nav-links li:last-child{border-bottom:none}
.nav.open .nav-links a{display:block;padding:.85rem 0;font-size:1rem;color:var(--neutral)}
.nav.open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .nav-burger span:nth-child(2){opacity:0}
.nav.open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ───── Tool-modal (iframe popup) ───── */
.tool-modal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;pointer-events:none;transition:opacity .18s}
.tool-modal.open{opacity:1;pointer-events:auto}
.tool-modal-inner{background:#fff;width:100%;max-width:760px;height:100%;max-height:92vh;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.35);transform:translateY(8px);transition:transform .22s}
.tool-modal.open .tool-modal-inner{transform:translateY(0)}
.tool-modal-header{flex-shrink:0;padding:.85rem 1rem .85rem 1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.tool-modal-title{font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.02em}
.tool-modal-actions{display:flex;align-items:center;gap:.4rem}
.tool-modal-open-link{font-size:.78rem;color:var(--neutral-mid);padding:.35rem .6rem;border-radius:6px}
.tool-modal-open-link:hover{color:var(--cold);background:var(--neutral-light);text-decoration:none}
.tool-modal-close{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--neutral-mid);padding:0;width:34px;height:34px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-family:inherit}
.tool-modal-close:hover{background:var(--neutral-light);color:var(--neutral)}
.tool-modal iframe{flex:1;width:100%;border:0;display:block;background:var(--neutral-light)}
body.tool-modal-open{overflow:hidden}
@media(max-width:600px){.tool-modal{padding:0}.tool-modal-inner{max-height:100%;border-radius:0}.tool-modal-open-link{display:none}}

/* ───── Embed-modus (in iframe) ───── */
html.embed body{background:#fff}
html.embed .nav,html.embed .nw-dialog,html.embed footer,html.embed .hero,html.embed .breadcrumb,html.embed .trust,html.embed .how,html.embed .temps,html.embed .faq-section{display:none!important}
html.embed .tool-section{background:#fff;border:0;padding:0}
html.embed .tool-inner{padding:1rem 1.1rem;border:0;border-radius:0;max-width:none}
@media(max-width:600px){html.embed .tool-inner{padding:.85rem .9rem}}

/* ───── Responsive ───── */
@media(max-width:860px){
  .nav-cta{display:none}
}
@media(max-width:720px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .nav-links{margin-left:0}
  .nav-weather{margin-left:auto}
  .nav-weather .nw-place{max-width:70px}
}
@media(max-width:600px){
  .nav{padding:0 1rem;gap:.6rem}
  .breadcrumb{padding:.6rem 1.25rem}
  footer{padding:3rem 1.25rem 1.5rem}
  .footer-statement{gap:1.25rem;margin-bottom:2rem}
  .footer-cta{margin-left:0;width:100%;justify-content:center}
  .footer-cols{gap:1.75rem;margin-bottom:2rem}
  .nw-dialog{right:1rem;left:1rem;width:auto;top:105px}
}
@media(max-width:480px){
  .nav-weather{padding:.4rem .7rem .4rem .6rem;font-size:.78rem}
  .nav-weather .nw-place{display:none}
  .nav-weather .nw-arrow{display:none}
  .nav-weather[data-state="empty"]::after{content:'Locatie';color:var(--neutral-mid);font-size:.8rem}
}
@media(max-width:380px){
  .footer-cols{grid-template-columns:1fr}
}
