/* =========
   Core / Reset
   ========= */
:root {
  --bg: #f8fafc;
  --panel: #ffffff;
  --text: #1f2937;
  --muted: #6b7280;
  --brand: #facc15;
  --brand-700: #eab308;
  --border: #e5e7eb;
  --shadow: 0 10px 25px rgba(0,0,0,.06);
  --radius: 16px;
  --radius-lg: 20px;
  --container: 1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;line-height:1.5;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}

/* Layout */
.container{max-width:var(--container);margin:0 auto;padding-left:calc(clamp(20px,6.5vw,40px) + env(safe-area-inset-left));padding-right:calc(clamp(20px,6.5vw,40px) + env(safe-area-inset-right))}
.site{min-height:100vh}

/* Topbar */
.topbar{background:#000;color:#fff;font-size:13px}
.topbar__inner{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:8px}
@media(min-width:640px){.topbar__inner{flex-direction:row;align-items:center;justify-content:space-between;}}
.topbar__notice{font-size:12px}
.topbar__contact{display:flex;gap:12px;flex-wrap:wrap}
.topbar__contact a:hover{text-decoration:underline}

/* Header */
.header{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 1px 0 var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px;flex-wrap:wrap;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.brand__logo{width:36px;height:36px;border-radius:10px;background:var(--brand)}
.brand__logo-img {
  height: 40px;   /* adjust as needed */
  width: auto;
  display: block;
}
.menu{display:none;flex-direction:column;list-style:none;gap:16px;width:100%}
@media(min-width:768px){.menu{display:flex;flex-direction:row;width:auto;gap:24px;align-items:center}}
.menu__link{font-weight:600;background:none;border:none;cursor:pointer;text-align:left}
.header__cta{display:none}
@media(min-width:768px){.header__cta{display:inline-block}}
.hamburger{display:inline-flex;width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;justify-content:center;align-items:center}
.hamburger span{width:18px;height:2px;background:#111;display:block;box-shadow:0 6px 0 #111,0 -6px 0 #111}

/* Mobiel: menu openen/sluiten via class van JS */
.menu.menu--open { display: flex; }

/* Desktop: hamburger verbergen */
@media (min-width: 768px){
  .hamburger { display: none; }
}

/* Optioneel: kleine polish */
.menu__link { padding: 6px 0; }
.menu a.menu__link:focus-visible,
.menu button.menu__link:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

/* Mega menu */
.menu__item{position:relative}
.has-mega>.mega{position:static;opacity:1;pointer-events:auto;transform:none;margin-top:0;box-shadow:none;border:none;padding:0;width:100%}
@media(min-width:768px){.has-mega>.mega{position:absolute;left:0;top:100%;margin-top:12px;width:min(620px,94vw);background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px;opacity:0;pointer-events:none;transform:translateY(6px);transition:.2s}}
.mega--zakelijk{right:0;left:auto}
.mega__grid{display:grid;gap:12px}
.mega__grid--2{grid-template-columns:1fr}
.mega__grid--3{grid-template-columns:1fr}
@media(min-width:768px){.mega__grid--2{grid-template-columns:repeat(2,1fr)}.mega__grid--3{grid-template-columns:repeat(3,1fr)}}
.mega__card{border:1px solid var(--border);border-radius:14px;padding:12px;display:block;background:#fff}
.mega__card:hover{background:#fafafa}
.mega__title{font-weight:700}
.mega__subtitle{font-size:12px;color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:14px;font-weight:700;border:1px solid transparent;transition:.15s;cursor:pointer}
.btn--primary{background:var(--brand);color:#111}
.btn--primary:hover{background:#fde047}
.btn--dark{background:#111;color:#fff}
.btn--dark:hover{background:#222}
.btn--ghost{background:#fff;border-color:var(--border)}
.btn--ghost:hover{box-shadow:var(--shadow)}
.btn--block{width:100%}

/* Hero */
.hero{background:linear-gradient(140deg,#fef9c3, #fff);padding:40px 0}
.hero__inner{display:grid;gap:24px}
@media(min-width:900px){.hero__inner{grid-template-columns:1.05fr .95fr;align-items:center}}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;padding:6px 10px;border-radius:999px;font-size:12px}
.hero__title{margin:12px 0 8px;font-size:28px;line-height:1.2;font-weight:900}
@media(min-width:768px){.hero__title{font-size:38px}}
@media(min-width:1024px){.hero__title{font-size:48px}}
.highlight{box-shadow:inset 0 -10px 0 var(--brand)}
.hero__lead{color:var(--muted);font-size:16px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.audience{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
@media(min-width:480px){.audience{grid-template-columns:1fr 1fr}}
.audience__card{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff}
.audience__card:hover{box-shadow:var(--shadow)}
.audience__eyebrow{font-size:12px;color:var(--muted)}
.audience__title{font-size:18px;font-weight:800}
.hero__media{position:relative}
.media{width:100%;aspect-ratio:4/3;background:#e5e7eb;border-radius:24px;box-shadow:inset 0 0 0 1px #e5e7eb}
.media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px;
  display: block;
}
/* .rating{position:absolute;right:-10px;bottom:-10px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:8px 12px;box-shadow:var(--shadow);font-size:12px}
.rating__label{font-weight:800}
.rating__value{font-size:18px;margin:2px 0}
.rating__small{font-size:11px;color:var(--muted)} */

/* USPs */
.usps{display:grid;gap:16px;padding:28px 0}
@media(min-width:900px){.usps{grid-template-columns:repeat(4,1fr)}}
.usp{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 1px 0 var(--border)}
.usp__title{font-weight:800}
.usp__text{font-size:14px;color:var(--muted)}

/* Sections */
.section{background:#fff}
.section--alt{background:#f9fafb}
.section__inner{padding:40px 0}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.section__title{font-size:24px;font-weight:900}
.section__more{font-size:14px;font-weight:700}
.section__hint{color:var(--muted)}
.section__note{margin-top:6px;font-size:14px;color:var(--muted)}

/* Cards */
.cards{display:grid;gap:16px;margin-top:16px}
.cards--3{grid-template-columns:1fr}
@media(min-width:600px){.cards--3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.cards--3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;display:block}
.card:hover{box-shadow:var(--shadow)}
.card__title{font-weight:800}
.card__text{font-size:14px;color:var(--muted)}

/* Logos */
.logos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
@media(min-width:600px){.logos{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.logos{grid-template-columns:repeat(6,1fr)}}
.logos__item{height:64px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-weight:700}
.logos__item img {
  max-height: 48px;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* Cases */
.case{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}
.case__media {
  aspect-ratio:16/9;
  background:#e5e7eb;
  overflow: hidden;
}
.case__media img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 16px 16px 0 0; /* zelfde radius als de card */
  object-fit: cover;            /* vult netjes de container */
}
.case__body{padding:18px}
.case__title{font-weight:800}
.case__text{font-size:14px;color:var(--muted)}

/* CTA */
.cta{background:#000;color:#fff}
.cta__inner{display:grid;gap:28px;padding:40px 0}
@media(min-width:900px){.cta__inner{grid-template-columns:1fr 1fr;align-items:center}}
.cta__title{font-size:24px;font-weight:900;margin:0 0 6px}
@media(min-width:768px){.cta__title{font-size:32px}}
.cta__lead{color:#cbd5e1}
.cta__bullets{margin:12px 0 0 18px}
.cta__bullets li{margin:6px 0}
.field--checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 14px;
}

.field--checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.field input[type="file"] {
  padding: 8px;
  background:#fff;
}


.field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.label{
  font-weight: 600;
  display: block;
}
.input--file{
  position: absolute;
  left: -9999px;
}

.upload-btn {
  display: inline-block;
  margin-top: 8px;      /* ruimte na "Bijlagen" tekst */
  padding: 10px 18px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}

.upload-btn:hover {
  background: var(--brand-light, #fef9c3);
  box-shadow: var(--shadow);
}
.form__legal {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: var(--muted);
}
/* Popup / modal */
.modal[hidden] { display: none; }
.modal {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  display: grid; place-items: center;
  z-index: 100;
}
.modal__box {
  background: #fff; color: #111;
  border-radius: 16px; border: 1px solid var(--border);
  max-width: 520px; width: calc(100% - 40px);
  padding: 20px;
  box-shadow: var(--shadow);
  text-align: center;
}
.modal__title { font-weight: 900; font-size: 20px; margin-bottom: 6px; }
.modal__text { color: var(--muted); margin-bottom: 14px; }


/* CTA variant: tekst links, knop rechts (alleen waar cta__copy--inline staat) */
.cta .cta__copy--inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap; /* op mobiel valt de knop eronder */
}

.cta .cta__copy--inline .cta__textblock {
  max-width: 640px;
}

/* Mobiel: netjes stapelen */
@media (max-width: 767px) {
  .cta .cta__copy--inline {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* Form */
.form{background:#fff;color:#111;border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.grid{display:grid;gap:12px}
.grid--2{grid-template-columns:1fr}
@media(min-width:700px){.grid--2{grid-template-columns:1fr 1fr}}
.field{display:block}
.label{font-size:13px;font-weight:700}
.input{margin-top:6px;width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font:inherit}
.input:focus{outline:none;box-shadow:0 0 0 4px rgba(250,204,21,.25);border-color:var(--brand)}
.input--textarea{min-height:120px}
.form__legal{font-size:12px;color:var(--muted)}

/* Footer */
.footer{background:#fff}
.footer__grid{display:grid;gap:24px;padding:40px 0}
@media(min-width:900px){.footer__grid{grid-template-columns:repeat(4,1fr)}}
.footer__brand{font-size:20px;font-weight:900}
.footer__title{font-weight:800}
.footer__list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;font-size:14px}
.footer__bar{border-top:1px solid var(--border)}
.footer__barInner{display:flex;align-items:center;justify-content:space-between;padding:16px;flex-wrap:wrap;gap:12px}
.footer__links{display:flex;gap:12px}
.muted{color:var(--muted)}
/* =============================
   Extra mobile gutters for all sections
   ============================= */
@media (max-width: 767px) {
  /* Ensure every main block has roomy side padding */
  .usps,
  .section__inner,
  .cta__inner,
  .footer__grid {
    padding-left: clamp(20px, 6.5vw, 40px);
    padding-right: clamp(20px, 6.5vw, 40px);
  }
  /* Cards & logos spacing on small screens */
  .cards { gap: 16px; }
  .logos { gap: 12px; }
}

.section ul {
  margin-left: 1.5rem; /* schuif de hele lijst naar rechts */
  padding-left: 1rem;  /* extra ruimte voor de bullets */
}