/*
Theme Name: Eventwall v2
Theme URI: https://www.eventwall.nl/
Author: Eventwall.nl
Description: Thema voor Eventwall.nl — verhuur van bedrukte peeswanden, beurswanden en eventwanden. Donker beurshal-ontwerp met verlichte wand, offerte- en contactformulier en drie SEO-landingspagina's.
Version: 3.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eventwall
Tags: business, one-column, custom-logo, custom-menu
*/

:root{
  --hall:#0E0F0D;
  --hall-2:#171814;
  --hall-3:#22241E;
  --gold:#FFC107;
  --gold-dim:#B98A0C;
  --paper:#ECE8DE;
  --paper-2:#F6F3EC;
  --steel:#454F55;
  --muted:#8E887A;
  --ink:#1C1D1B;
  --ink-soft:#5C564A;
  --sand:#CFC7B6;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--hall);
  color:var(--paper);
  font-family:'Inter',system-ui,sans-serif;
  font-size:16.5px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

h1,h2,h3,.display{
  font-family:'Archivo',system-ui,sans-serif;
  font-weight:800;
  line-height:0.98;
  letter-spacing:-0.02em;
}
h1{ font-size:clamp(38px,6.6vw,80px); }
h2{ font-size:clamp(28px,4.2vw,46px); }
h3{ font-size:20px; font-weight:700; letter-spacing:-0.01em; }

.wrap{ max-width:1280px; margin:0 auto; padding:0 26px; }
section[id]{ scroll-margin-top:84px; }

/* ---------------- header ---------------- */
header{
  position:sticky; top:0; z-index:60;
  background:rgba(14,15,13,0.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(236,232,222,0.10);
}
.nav{ display:flex; align-items:center; justify-content:space-between; gap:20px;
  max-width:1280px; margin:0 auto; padding:15px 26px; }
.brand{ display:flex; align-items:center; gap:11px; }
.brand img{ height:clamp(26px,2.8vw,34px); width:auto; }
.brand-word{ font-family:'Archivo'; font-weight:700; font-size:20px; letter-spacing:-0.01em; color:var(--paper); }
.brand-word span{ color:var(--gold); }
.navlinks{ display:none; gap:30px; font-size:15px; font-weight:500; }
.navlinks a{ color:#CFCABE; padding:4px 0; border-bottom:1.5px solid transparent; }
.navlinks a:hover{ color:var(--paper); border-bottom-color:var(--gold); }
/* knoppen in het menu houden hun eigen kleur */
.navlinks a.btn-gold,
.navlinks a.btn-gold:hover{ color:var(--ink); border-bottom-color:transparent; }
@media(min-width:900px){ .navlinks{ display:flex; align-items:center; } }
.burger{ background:none; border:none; color:var(--paper); cursor:pointer;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  font-size:24px; margin-right:-8px; }
@media(min-width:900px){ .burger{ display:none; } }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Inter'; font-weight:600; font-size:15.5px; line-height:1.2;
  padding:0 30px; min-height:52px; border-radius:4px;
  border:1.5px solid transparent; cursor:pointer; text-align:center;
  letter-spacing:0.005em; white-space:nowrap;
  transition:background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn-gold{ background:var(--gold); color:var(--ink); box-shadow:0 1px 2px rgba(0,0,0,0.22); }
.btn-gold:hover{ background:#FFD24A; box-shadow:0 2px 10px rgba(255,193,7,0.28); }
.btn-line{ border-color:rgba(236,232,222,0.32); color:var(--paper); }
.btn-line:hover{ border-color:var(--gold); color:var(--gold); background:rgba(255,193,7,0.06); }
.btn-dark{ background:var(--ink); color:var(--paper); box-shadow:0 1px 2px rgba(0,0,0,0.18); }
.btn-dark:hover{ background:var(--hall-3); }
/* compacte variant voor in het menu */
.navlinks .btn{ min-height:44px; padding:0 22px; font-size:14.5px; }

@media(max-width:899px){
  .navlinks{
    position:absolute; top:100%; left:0; right:0;
    background:var(--hall-2); flex-direction:column; gap:0; padding:6px 0 14px;
    border-bottom:1px solid rgba(236,232,222,0.12);
    max-height:calc(100vh - 70px); overflow-y:auto;
  }
  .navlinks.open{ display:flex; }
  .navlinks a{ padding:14px 26px; border-bottom:none; }
  .navlinks .btn{ margin:10px 26px 4px; text-align:center; }
}

/* ---------------- hero: de hal ---------------- */
.hero{
  position:relative; padding:0 0 clamp(34px,5vw,64px); overflow:hidden;
  background:
    radial-gradient(120% 78% at 50% 0%, rgba(236,232,222,0.045) 0%, rgba(0,0,0,0) 62%),
    linear-gradient(180deg, #131410 0%, var(--hall) 88%);
}
.hero-inner{ max-width:1280px; margin:0 auto; padding:0 26px; }

.scene{ position:relative; padding-top:clamp(22px,3.4vw,38px); }

/* pendelspots, gemonteerd op de bovenrand van het frame */
.stage{ position:relative; margin-top:44px; }
.spots{ position:absolute; top:0; left:0; right:0; height:0; z-index:4; pointer-events:none; }
.spot{ position:absolute; width:64px; transform:translate(-50%,-26px); }
.spot:nth-child(1){ left:20%; }
.spot:nth-child(2){ left:50%; }
.spot:nth-child(3){ left:80%; }
.spot svg{ width:100%; height:auto; overflow:visible; }
.spot .lens{ fill:#4A4A3C; transition:fill .45s ease, filter .45s ease; }
.lit .spot .lens{ fill:var(--gold); filter:drop-shadow(0 0 6px rgba(255,193,7,0.95)); }

.wall{
  position:relative; z-index:2;
  background:linear-gradient(180deg,#191B15 0%, #111309 100%);
  border:1px solid rgba(236,232,222,0.09);
  padding:clamp(34px,4.6vw,58px) clamp(24px,4.5vw,60px) clamp(30px,4vw,50px);
  transition:background .5s ease, border-color .5s ease;
}
.lit .wall{
  background:
    radial-gradient(52% 96% at 20% -8%, rgba(255,193,7,0.30) 0%, rgba(255,193,7,0.07) 42%, rgba(0,0,0,0) 74%),
    radial-gradient(52% 96% at 50% -8%, rgba(255,193,7,0.30) 0%, rgba(255,193,7,0.07) 42%, rgba(0,0,0,0) 74%),
    radial-gradient(52% 96% at 80% -8%, rgba(255,193,7,0.30) 0%, rgba(255,193,7,0.07) 42%, rgba(0,0,0,0) 74%),
    linear-gradient(180deg,#2A2C21 0%, #131509 60%, #101208 100%);
  border-color:rgba(255,193,7,0.20);
  box-shadow:0 0 60px -18px rgba(255,193,7,0.28);
}
/* bedrukking op het doek: het beeldmerk zelf */
.wall > .wall-mark{
  position:absolute; right:clamp(34px,5vw,74px); top:50%; transform:translateY(-50%);
  width:clamp(200px,25vw,340px); height:auto;
  opacity:0.12; transition:opacity .5s ease;
  pointer-events:none; z-index:0;
}
.lit .wall > .wall-mark{ opacity:0.72; }

@media(max-width:900px){ .wall > .wall-mark{ display:none; } }



/* modulevoegen op de wand */
.wall::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    repeating-linear-gradient(90deg, rgba(236,232,222,0.030) 0 1px, rgba(0,0,0,0) 1px 3px),
    repeating-linear-gradient(0deg,  rgba(0,0,0,0.055) 0 1px, rgba(0,0,0,0) 1px 3px);
  opacity:0.55; transition:opacity .5s ease;
}
.lit .wall::before{ opacity:1; }

.wall::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(to right,
    transparent 0, transparent calc(20% - 1px),
    rgba(236,232,222,0.05) calc(20% - 1px), rgba(236,232,222,0.05) 20%);
}
.wall > *{ position:relative; z-index:1; }

.eyebrow{ font-size:14px; color:var(--gold); font-weight:600; margin-bottom:16px; }
.hero h1{ max-width:20ch; margin-bottom:20px; }
.hero .lead{ font-size:clamp(16px,1.6vw,19px); color:#C6C1B4; max-width:64ch; margin-bottom:28px; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; }

/* vloer + reflectie */
.floor{ height:clamp(26px,4vw,52px); position:relative;
  background:
    radial-gradient(52% 100% at 20% 0%, rgba(255,193,7,0.09), rgba(0,0,0,0) 74%),
    radial-gradient(52% 100% at 50% 0%, rgba(255,193,7,0.09), rgba(0,0,0,0) 74%),
    radial-gradient(52% 100% at 80% 0%, rgba(255,193,7,0.09), rgba(0,0,0,0) 74%);
  opacity:0; transition:opacity .5s ease; }
.lit .floor{ opacity:1; }
.floorline{ height:1px; background:linear-gradient(90deg,
  rgba(236,232,222,0) 0%, rgba(236,232,222,0.28) 20%, rgba(236,232,222,0.28) 80%, rgba(236,232,222,0) 100%); }

/* lichtschakelaar */
.lightswitch{
  display:inline-flex; align-items:center; gap:11px; margin-top:22px;
  background:none; border:1px solid rgba(236,232,222,0.22); color:#C6C1B4;
  font-family:'Inter'; font-size:14px; font-weight:500; padding:10px 16px; cursor:pointer;
  transition:border-color .2s ease, color .2s ease;
}
.lightswitch:hover{ border-color:var(--gold); color:var(--paper); }
.bulb{ width:9px; height:9px; border-radius:50%; background:#4A4A3C; transition:all .35s ease; }
.lit .bulb{ background:var(--gold); box-shadow:0 0 9px 2px rgba(255,193,7,0.8); }

@media(prefers-reduced-motion:reduce){
  .floor,.wall,.spot .lens,.bulb{ transition:none; }
}

/* ---------------- proefstrook ---------------- */
.proof{ border-top:1px solid rgba(236,232,222,0.10); border-bottom:1px solid rgba(236,232,222,0.10); }
.proof-grid{ display:grid; grid-template-columns:1fr 1fr; }
@media(min-width:760px){ .proof-grid{ grid-template-columns:repeat(4,1fr); } }
.proof-item{ padding:26px 24px; border-right:1px solid rgba(236,232,222,0.10); }
.proof-item:first-child{ padding-left:0; }
.proof-item:nth-child(2n){ border-right:none; }
@media(min-width:760px){
  .proof-item{ border-right:1px solid rgba(236,232,222,0.10); }
  .proof-item:nth-child(2n){ border-right:1px solid rgba(236,232,222,0.10); }
  .proof-item:last-child{ border-right:none; }
}
.proof-item:nth-child(-n+2){ border-bottom:1px solid rgba(236,232,222,0.10); }
@media(min-width:760px){ .proof-item:nth-child(-n+2){ border-bottom:none; } }
.proof-num{ font-family:'Archivo'; font-weight:800; font-size:clamp(26px,3.4vw,38px);
  color:var(--gold); line-height:1; margin-bottom:7px; letter-spacing:-0.02em; }
.proof-lab{ font-size:14px; color:#A19A8B; }

/* ---------------- secties ---------------- */
.band{ padding:clamp(56px,8vw,104px) 0; }
.band-light{ background:var(--paper); color:var(--ink); }
.band-mid{ background:var(--hall-2); }
.head{ max-width:62ch; margin-bottom:clamp(30px,4vw,50px); }
.head p{ color:#A9A395; font-size:17px; margin-top:14px; }
.band-light .head p{ color:var(--ink-soft); }

/* ---------------- vergelijking ---------------- */
.versus{ display:grid; gap:20px; grid-template-columns:1fr; }
@media(min-width:820px){ .versus{ grid-template-columns:1fr 1fr; gap:26px; } }
.vs-card{ padding:30px 28px; border:1px solid rgba(236,232,222,0.12); background:var(--hall); }
.vs-card.win{ border-color:rgba(255,193,7,0.35); background:linear-gradient(180deg, rgba(255,193,7,0.05), rgba(255,193,7,0) 60%), var(--hall); }
.vs-card h3{ margin-bottom:18px; }
.vs-card ul{ list-style:none; }
.vs-card li{ padding:10px 0 10px 22px; position:relative; font-size:15.5px; color:#B8B2A4;
  border-top:1px solid rgba(236,232,222,0.08); }
.vs-card li:first-of-type{ border-top:none; }
.vs-card li::before{ content:""; position:absolute; left:0; top:19px;
  width:9px; height:1.5px; background:var(--muted); }
.vs-card.win li::before{ background:var(--gold); }
.vs-card.win li{ color:#D6D1C4; }

/* ---------------- producten ---------------- */
.walls{ display:grid; gap:18px; grid-template-columns:1fr; }
@media(min-width:640px){ .walls{ grid-template-columns:1fr 1fr; } }
@media(min-width:1000px){ .walls{ grid-template-columns:repeat(3,1fr); } }
.wcard{
  position:relative; display:flex; flex-direction:column; cursor:pointer;
  background:#FFFFFF; border:1px solid rgba(28,29,27,0.16);
  padding:22px 22px 20px;
  box-shadow:0 1px 2px rgba(28,29,27,0.06);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.wcard:hover{
  border-color:rgba(28,29,27,0.4);
  box-shadow:0 6px 18px rgba(28,29,27,0.12);
  transform:translateY(-2px);
}
.wradio{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.wcard:focus-within{ outline:2px solid var(--gold); outline-offset:3px; }

/* gekozen wand */
.wcard.is-selected{
  border-color:var(--ink);
  box-shadow:0 0 0 2px var(--ink), 0 8px 22px rgba(28,29,27,0.14);
}
.wcard.is-selected::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--gold);
}
.wcard.is-selected .wpick{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.wcard.is-selected .wpick::after{ content:" \2713"; }

.wpick{
  font-size:13.5px; font-weight:600; padding:7px 13px; border-radius:3px;
  border:1.5px solid rgba(28,29,27,0.3); color:var(--ink); white-space:nowrap;
  transition:background .16s ease, color .16s ease, border-color .16s ease;
}
.wcard:hover .wpick{ border-color:var(--ink); }
.wview{ margin-bottom:16px; }
.wview svg{ width:100%; height:auto; display:block; }
.wname{ font-family:'Archivo'; font-weight:700; font-size:19px; letter-spacing:-0.01em; }
.wsize{ font-size:13.5px; color:var(--ink-soft); margin-top:3px; }
.wuse{ font-size:14.5px; color:var(--ink-soft); margin:12px 0 16px; flex:1; }
.wfoot{ display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  border-top:1px solid rgba(28,29,27,0.14); padding-top:14px; }
.wprice{ font-family:'Archivo'; font-weight:700; font-size:19px; letter-spacing:-0.01em; }
.wprice em{ font-family:'Inter'; font-style:normal; font-weight:500; font-size:12.5px;
  color:var(--ink-soft); letter-spacing:0; margin-right:3px; }
.wprice small{ font-family:'Inter'; font-weight:400; font-size:12px; color:var(--ink-soft);
  display:block; letter-spacing:0; margin-top:3px; }

.reken{ margin-top:34px; border:1px solid rgba(28,29,27,0.16); background:var(--paper-2); padding:clamp(22px,3vw,32px); }
.reken-head{ margin-bottom:22px; }
.reken-head h3{ font-size:22px; margin-bottom:8px; }
.reken-head p{ color:var(--ink-soft); font-size:15.5px; max-width:56ch; }
.reken-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media(min-width:680px){ .reken-grid{ grid-template-columns:1fr 1fr; gap:24px; } }
.reken-col{ border-top:2px solid rgba(28,29,27,0.2); padding-top:16px; }
.reken-col.accent{ border-top-color:var(--gold); }
.reken-lab{ font-size:14px; font-weight:600; margin-bottom:12px; }
.reken-col ul{ list-style:none; }
.reken-col li{ display:flex; justify-content:space-between; gap:14px; padding:8px 0;
  font-size:15px; color:var(--ink-soft); border-bottom:1px solid rgba(28,29,27,0.09); }
.reken-tot{ display:flex; justify-content:space-between; gap:14px; padding-top:12px;
  font-family:'Archivo'; font-weight:700; font-size:19px; }
.reken-los{ font-style:normal; color:var(--ink-soft); font-size:14px; }
.reken-cta{ margin-top:22px; }
.reken-cta .btn{ width:100%; }
@media(min-width:560px){ .reken-cta .btn{ width:auto; min-width:280px; } }
.reken-note{ margin-top:20px; padding-top:16px; border-top:1px solid rgba(28,29,27,0.14);
  font-size:13.5px; color:var(--ink-soft); }


/* Eventwall Solo: losse strook onder het raster */
.wsolo{
  position:relative; display:grid; gap:20px 26px; align-items:center;
  grid-template-columns:1fr;
  margin-top:18px; padding:22px 24px; cursor:pointer;
  background:#FFFFFF; border:1px solid rgba(28,29,27,0.16);
  box-shadow:0 1px 2px rgba(28,29,27,0.06);
  transition:border-color .16s ease, box-shadow .16s ease;
}
@media(min-width:760px){ .wsolo{ grid-template-columns:170px 1fr auto; padding:28px 30px; } }
.wsolo:hover{ border-color:rgba(28,29,27,0.4); box-shadow:0 6px 18px rgba(28,29,27,0.12); }
.wsolo:focus-within{ outline:2px solid var(--gold); outline-offset:3px; }
.wsolo.is-selected{ border-color:var(--ink); box-shadow:0 0 0 2px var(--ink), 0 8px 22px rgba(28,29,27,0.14); }
.wsolo.is-selected::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--gold); }
.wsolo.is-selected .wpick{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.wsolo.is-selected .wpick::after{ content:" \2713"; }

.wsolo-view svg{ width:100%; max-width:118px; height:auto; display:block; margin:0 auto; }
.wsolo-label{
  font-size:12.5px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:6px;
}
.wsolo-body .wuse{ margin:10px 0 0; max-width:56ch; }
.wsolo-foot{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  border-top:1px solid rgba(28,29,27,0.14); padding-top:16px;
}
@media(min-width:760px){
  .wsolo-foot{ flex-direction:column; align-items:flex-end; gap:12px; border-top:none; padding-top:0; }
}

.custom-note{
  margin-top:22px; padding:20px 22px; background:var(--paper-2);
  border-left:3px solid var(--gold); font-size:15.5px; color:var(--ink-soft);
}
.custom-note a{ color:var(--ink); font-weight:600; border-bottom:1.5px solid var(--gold); }

/* ---------------- uitlichten ---------------- */
.light-split{ display:grid; gap:34px; grid-template-columns:1fr; align-items:center; }
@media(min-width:900px){ .light-split{ grid-template-columns:1fr 1fr; gap:56px; } }
.light-demo{ background:var(--hall); border:1px solid rgba(236,232,222,0.12); padding:26px; }
.light-demo svg{ width:100%; height:auto; }
.addon-list{ list-style:none; margin-top:26px; }
.addon-list li{ padding:16px 0; border-top:1px solid rgba(236,232,222,0.12); }
.addon-list li:last-child{ border-bottom:1px solid rgba(236,232,222,0.12); }
.addon-list strong{ display:block; font-family:'Archivo'; font-weight:700; font-size:17px; margin-bottom:5px; }
.addon-list span{ color:#A9A395; font-size:15px; }

/* ---------------- werkwijze ---------------- */
.steps{ display:grid; gap:0; grid-template-columns:1fr; }
@media(min-width:800px){ .steps{ grid-template-columns:repeat(4,1fr); } }
.step{ padding:26px 24px 26px 0; border-top:2px solid rgba(28,29,27,0.16); margin-right:22px; }
.step:last-child{ margin-right:0; }
.step.on{ border-top-color:var(--gold); }
.stepno{ font-family:'Archivo'; font-weight:800; font-size:14px; color:var(--gold); margin-bottom:12px; }
.step h3{ margin-bottom:8px; font-size:18px; }
.step p{ font-size:14.5px; color:var(--ink-soft); }

/* ---------------- doelgroepen ---------------- */
.who{ display:grid; gap:20px; grid-template-columns:1fr; }
@media(min-width:820px){ .who{ grid-template-columns:repeat(3,1fr); } }
.who-item{ padding:26px 24px; background:var(--hall); border:1px solid rgba(236,232,222,0.12); }
.who-item h3{ margin-bottom:10px; font-size:18px; }
.who-item p{ color:#A9A395; font-size:15px; }

/* ---------------- faq ---------------- */
.faq{ max-width:820px; }
.faq details{ border-top:1px solid rgba(28,29,27,0.16); }
.faq details:last-of-type{ border-bottom:1px solid rgba(28,29,27,0.16); }
.faq summary{ cursor:pointer; list-style:none; padding:20px 0;
  font-weight:600; font-size:17px; display:flex; justify-content:space-between; gap:18px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-family:'Archivo'; font-size:22px; color:var(--gold); line-height:1; }
.faq details[open] summary::after{ content:"–"; }
.faq p{ padding-bottom:20px; color:var(--ink-soft); font-size:15.5px; max-width:70ch; }

/* ---------------- formulieren ---------------- */
.forms{ display:grid; gap:38px; grid-template-columns:1fr; }
@media(min-width:1000px){ .forms{ grid-template-columns:1.25fr 1fr; gap:52px; } }
.fbox{ background:var(--paper-2); color:var(--ink); border:1px solid rgba(28,29,27,0.14); padding:clamp(24px,3.4vw,36px); }
.fbox h2{ font-size:clamp(24px,3vw,32px); margin-bottom:10px; }
.fbox > p{ color:var(--ink-soft); font-size:15.5px; margin-bottom:24px; max-width:52ch; }
.frow{ display:grid; gap:15px; grid-template-columns:1fr; margin-bottom:15px; }
@media(min-width:560px){ .frow.two{ grid-template-columns:1fr 1fr; } }
.frow[hidden]{ display:none; }
label{ display:block; font-size:13.5px; font-weight:600; margin-bottom:6px; }
input,select,textarea{
  width:100%; padding:12px 13px; font-family:'Inter'; font-size:16px;
  border:1.5px solid var(--sand); background:#fff; color:var(--ink);
}
input:focus,select:focus,textarea:focus{ outline:none; border-color:var(--ink); }
textarea{ min-height:104px; resize:vertical; }
.hint{ font-size:12.5px; color:var(--ink-soft); margin-top:6px; }
.checks{ display:grid; gap:10px; grid-template-columns:1fr; }
@media(min-width:560px){ .checks{ grid-template-columns:1fr 1fr; } }
.check{ display:flex; align-items:center; gap:9px; font-size:15px; font-weight:400; margin:0; cursor:pointer; }
.check input{ width:20px; height:20px; margin:0; accent-color:var(--gold); }
.fsubmit{ width:100%; margin-top:10px; min-height:54px; font-size:16px; }
.fmsg{ display:none; margin-top:14px; padding:13px 15px; background:#E8F3E8;
  border-left:3px solid #2E7D32; color:#1B4620; font-size:14.5px; }
.fmsg.show{ display:block; }
.contact-direct{ margin-top:22px; padding-top:20px; border-top:1px solid rgba(28,29,27,0.14); font-size:15px; color:var(--ink-soft); }
.contact-direct a{ color:var(--ink); font-weight:600; border-bottom:1.5px solid var(--gold); }
.sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }

/* ---------------- footer ---------------- */
footer{ padding:40px 0; border-top:1px solid rgba(236,232,222,0.12); }
.frow-foot{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px;
  align-items:center; font-size:14px; color:#948D7F; }
.foot-brand{ display:flex; align-items:center; gap:10px; }
.foot-brand img{ height:22px; }
.foot-links{ display:flex; flex-wrap:wrap; gap:20px; }
.foot-links a:hover{ color:var(--gold); }

@media(max-width:600px){
  .hero-ctas .btn{ width:100%; text-align:center; }
  .step{ margin-right:0; }
}

/* ================= WORDPRESS ================= */
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
.notice-success{
  background:#E8F3E8; border-left:3px solid #2E7D32; color:#1B4620;
  padding:14px 16px; margin-bottom:18px; font-size:15px;
}
.notice-error{
  background:#FBE9E7; border-left:3px solid #C62828; color:#5D1A15;
  padding:14px 16px; margin-bottom:18px; font-size:15px;
}
.admin-bar header{ top:32px; }
@media screen and (max-width:782px){ .admin-bar header{ top:46px; } }

/* prose voor losse pagina's en landingspagina's */
.prose{ max-width:70ch; }
.prose h2{ margin:44px 0 14px; }
.prose h3{ margin:28px 0 8px; font-size:18px; }
.prose p{ margin-bottom:16px; font-size:16px; }
.prose ul{ list-style:none; margin:0 0 20px; }
.prose li{ padding:8px 0 8px 20px; position:relative; font-size:16px; }
.prose li::before{ content:""; position:absolute; left:0; top:17px; width:10px; height:1.5px; background:var(--gold); }
.band-light .prose p, .band-light .prose li{ color:var(--ink-soft); }
.band-light .prose strong{ color:var(--ink); }

.breadcrumb{ font-size:13.5px; color:#8E887A; padding:18px 0 0; }
.breadcrumb a:hover{ color:var(--gold); }
.breadcrumb span{ opacity:0.5; margin:0 7px; }

.page-hero{ padding:34px 0 clamp(44px,6vw,74px); }
.page-hero h1{ max-width:18ch; margin-bottom:18px; }
.page-hero .lead{ font-size:clamp(16px,1.7vw,19px); color:#C6C1B4; max-width:60ch; margin-bottom:26px; }

.spec{ width:100%; border-collapse:collapse; margin:22px 0 10px; font-size:15px; }
.spec th, .spec td{ text-align:left; padding:12px 14px; border-bottom:1px solid rgba(28,29,27,0.16); }
.spec th{ font-family:'Archivo'; font-weight:700; font-size:14px; color:var(--ink); }
.spec tr:last-child td{ border-bottom:none; }
.spec td:first-child{ font-weight:600; }
@media(max-width:700px){
  .spec{ display:block; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; }
}

.related{ display:grid; gap:18px; grid-template-columns:1fr; }
@media(min-width:820px){ .related{ grid-template-columns:repeat(3,1fr); } }
.related a{ display:block; padding:24px 24px; background:var(--hall); border:1px solid rgba(236,232,222,0.12);
  transition:border-color .18s ease; }
.related a:hover{ border-color:var(--gold); }
.related .rlabel{ font-size:13px; color:var(--gold); font-weight:600; margin-bottom:8px; }
.related .rtitle{ font-family:'Archivo'; font-weight:700; font-size:18px; margin-bottom:6px; }
.related .rdesc{ font-size:14.5px; color:#A9A395; }

.cta-band{ background:var(--hall-2); padding:clamp(46px,6vw,72px) 0; }
.cta-band h2{ margin-bottom:12px; }
.cta-band p{ color:#A9A395; max-width:56ch; margin-bottom:24px; }
