/* Maloha Windsurfen — huisstijl 2026 */

@font-face { font-family:'Montserrat'; src:url('fonts/Montserrat-Black.ttf') format('truetype'); font-weight:900; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('fonts/Montserrat-ExtraBold.ttf') format('truetype'); font-weight:800; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('fonts/Montserrat-SemiBold.ttf') format('truetype'); font-weight:600; font-display:swap; }
@font-face { font-family:'Open Sans'; src:url('fonts/OpenSans-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Open Sans'; src:url('fonts/OpenSans-Bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
@font-face { font-family:'Marker'; src:url('fonts/PermanentMarker.ttf') format('truetype'); font-display:swap; }

:root {
  --geel:#FDD200;
  --oranje:#EE7B2B;
  --rood:#D2492C;
  --inkt:#2B241C;
  --creme:#FDF6E6;
  --papier:#FFFFFF;
  --lijn:#E4D5B4;
  --tekst:#3A3227;
  --grijs:#8A7A5E;
  --wrap:1140px;
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--creme); color:var(--tekst);
  font-family:'Open Sans',system-ui,sans-serif; font-size:17px; line-height:1.65;
}
img { max-width:100%; height:auto; display:block; }
figure { margin:0; }
a { color:var(--rood); }

.wrap { width:min(100% - 2.5rem, var(--wrap)); margin-inline:auto; }

h1,h2,h3 { font-family:'Montserrat',system-ui,sans-serif; color:var(--inkt); line-height:1.1; margin:0 0 .6em; }
h1 { font-weight:900; font-size:clamp(2rem,6vw,3.4rem); text-transform:uppercase; transform:skew(-6deg); }
h2 { font-weight:900; font-size:clamp(1.4rem,3.6vw,2.1rem); text-transform:uppercase; transform:skew(-5deg); }
h3 { font-weight:800; font-size:1.05rem; text-transform:uppercase; letter-spacing:.02em; }
h2 .accent, h3 .accent { color:var(--rood); }
p { margin:0 0 1.1em; }
.lead { font-size:1.12rem; max-width:62ch; }
.marker { font-family:'Marker',cursive; color:var(--rood); }

/* ---------- knoppen ---------- */
.btn {
  display:inline-block; font-family:'Montserrat',sans-serif; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em; font-size:.9rem;
  padding:.95em 1.9em; text-decoration:none; border:0; cursor:pointer;
  background:var(--geel); color:var(--inkt);
  box-shadow:5px 5px 0 var(--rood); transform:skew(-5deg);
  transition:transform .12s ease, box-shadow .12s ease;
}
.btn > span { display:inline-block; transform:skew(5deg); }
.btn:hover, .btn:focus-visible { transform:skew(-5deg) translate(2px,2px); box-shadow:3px 3px 0 var(--rood); }
.btn-licht { background:transparent; color:var(--creme); box-shadow:inset 0 0 0 2px var(--creme); }
.btn-licht:hover { background:var(--creme); color:var(--inkt); box-shadow:inset 0 0 0 2px var(--creme); }
:focus-visible { outline:3px solid var(--oranje); outline-offset:3px; }

/* ---------- navigatie ---------- */
.nav { background:var(--inkt); position:sticky; top:0; z-index:50; }
.nav-in { display:flex; align-items:center; gap:1rem; padding:.6rem 0; }
.merk { display:flex; align-items:center; gap:.7rem; text-decoration:none; margin-right:auto; }
.merk img { width:46px; height:46px; }
.merk b {
  font-family:'Montserrat',sans-serif; font-weight:900; color:var(--creme);
  text-transform:uppercase; font-size:.95rem; letter-spacing:.06em; line-height:1;
}
.merk span { display:block; font-family:'Marker',cursive; color:var(--geel); font-size:.78rem; letter-spacing:0; }
.nav a.link {
  color:#EFE2C4; text-decoration:none; font-family:'Montserrat',sans-serif; font-weight:600;
  font-size:.82rem; text-transform:uppercase; letter-spacing:.09em;
  display:flex; align-items:center; padding:.55rem 0 .35rem;
  border-bottom:3px solid transparent;
}
.nav a.link:hover { color:var(--geel); }
.nav a.link[aria-current="page"] { color:var(--geel); border-bottom-color:var(--geel); }
.nav-links { display:flex; gap:1.6rem; align-items:stretch; }
.nav .btn { padding:.7em 1.3em; font-size:.78rem; box-shadow:4px 4px 0 var(--rood); }
.nav-toggle { display:none; background:none; border:0; color:var(--creme); font-size:1.6rem; padding:.2rem .4rem; cursor:pointer; }

@media (max-width:880px) {
  .nav-toggle { display:block; }
  .nav-links {
    display:none; position:absolute; left:0; right:0; top:100%;
    background:var(--inkt); flex-direction:column; align-items:flex-start;
    gap:0; padding:.5rem 1.25rem 1.4rem; border-top:1px solid #4A4034;
  }
  .nav-links.open { display:flex; }
  .nav-links a.link { width:100%; padding:.85rem 0; border-bottom:1px solid #40382C; }
  .nav-links .btn { margin-top:.9rem; }
  .nav { position:relative; }
}

/* ---------- hero ---------- */
.hero { position:relative; background:var(--inkt); overflow:hidden; }
.hero img.foto { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero .warm {
  position:absolute; inset:0;
  background:linear-gradient(115deg, rgba(43,36,28,.9) 0%, rgba(74,52,30,.62) 45%, rgba(238,123,43,.24) 74%, rgba(253,210,0,.14) 100%);
}
.hero-in { position:relative; padding:clamp(3.5rem,10vw,7rem) 0 clamp(3rem,8vw,5.5rem); }
.hero .eyebrow {
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:.76rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--geel); margin-bottom:1rem;
}
.hero h1 { color:#fff; text-shadow:5px 5px 0 var(--rood), 10px 10px 0 var(--geel); margin-bottom:.5em; }
.hero.klein h1 { text-shadow:4px 4px 0 var(--rood), 8px 8px 0 var(--geel); }
.hero .onder { color:#FFF3D6; font-size:1.15rem; max-width:52ch; margin-bottom:1.9rem; }
.hero .knoppen { display:flex; flex-wrap:wrap; gap:1rem 1.4rem; }

/* ---------- secties ---------- */
section { padding:clamp(3rem,7vw,4.6rem) 0; }
.sectie-inkt { background:var(--inkt); color:#EFE2C4; }
.sectie-inkt h2 { color:#FFF3D6; }
.sectie-inkt .accent { color:var(--geel); }

.balk {
  display:inline-block; background:var(--geel); color:var(--inkt);
  font-family:'Montserrat',sans-serif; font-weight:800; text-transform:uppercase;
  letter-spacing:.05em; font-size:.85rem; padding:.5em 1.4em;
  transform:rotate(-2deg); box-shadow:4px 4px 0 var(--rood); margin-bottom:1.6rem;
}

/* ---------- kaarten ---------- */
.grid { display:grid; gap:1.6rem; }
.g3 { grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); }
.g2 { grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr)); }

.kaart {
  background:var(--papier); border:1px solid var(--lijn); padding:1.6rem;
  box-shadow:7px 7px 0 rgba(253,210,0,.55); display:flex; flex-direction:column;
}
.kaart:nth-child(2) { box-shadow:7px 7px 0 rgba(238,123,43,.5); }
.kaart:nth-child(3) { box-shadow:7px 7px 0 rgba(210,73,44,.45); }
.kaart:nth-child(4) { box-shadow:7px 7px 0 rgba(253,210,0,.5); }
.kaart p { font-size:.95rem; }
.kaart .meer {
  margin-top:auto; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.78rem;
  text-transform:uppercase; letter-spacing:.08em; text-decoration:none; color:var(--rood);
  border-bottom:2px solid var(--geel); align-self:flex-start; padding-bottom:2px;
}
.kaart .meer:hover { border-bottom-color:var(--rood); }

/* ---------- fotostrip ---------- */
.strip { display:grid; align-items:start; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1.1rem; }
.shot { background:var(--papier); padding:8px 8px 6px; box-shadow:0 2px 10px rgba(43,36,28,.14); }
.shot:nth-child(odd) { transform:rotate(-1.1deg); }
.shot:nth-child(even) { transform:rotate(.9deg); }
.shot img { width:100%; aspect-ratio:1; height:auto; object-fit:cover; }
.shot figcaption { font-family:'Marker',cursive; font-size:.82rem; color:var(--grijs); padding-top:.45rem; }

/* ---------- cijfers ---------- */
.cijfers { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.8rem; text-align:center; }
.cijfer b { display:block; font-family:'Montserrat',sans-serif; font-weight:900; font-size:2.5rem; color:var(--geel); line-height:1; }
.cijfer span { font-size:.95rem; }

/* ---------- tijdlijn ---------- */
.tijdlijn { list-style:none; margin:0; padding:0; border-left:3px solid var(--geel); }
.tijdlijn li { position:relative; padding:0 0 1.5rem 1.7rem; }
.tijdlijn li::before {
  content:""; position:absolute; left:-9px; top:.45rem; width:15px; height:15px;
  background:var(--rood); border:3px solid var(--creme);
}
.tijdlijn strong { display:block; font-family:'Montserrat',sans-serif; font-weight:800; text-transform:uppercase; font-size:.88rem; letter-spacing:.03em; color:var(--inkt); }
.tijdlijn p { margin:.2rem 0 0; font-size:.95rem; }

/* ---------- prijzen ---------- */
.prijzen { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.5rem; }
.prijs { background:var(--creme); padding:1.4rem 1.5rem 1.6rem; border-top:6px solid var(--geel); position:relative; }
.prijs:nth-child(2) { border-top-color:var(--oranje); }
.prijs.deal { background:var(--geel); border-top-color:var(--rood); }
.prijs .lbl { font-family:'Montserrat',sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; color:var(--inkt); }
.prijs .bedrag { font-family:'Montserrat',sans-serif; font-weight:900; font-size:2.1rem; color:var(--inkt); line-height:1.25; }
.prijs .oud { font-size:1rem; color:#A8481F; text-decoration:line-through; font-weight:700; }
.prijs p { font-size:.9rem; margin:.4rem 0 0; color:var(--tekst); }
.korting {
  position:absolute; top:-16px; right:-14px; width:74px; height:74px; background:var(--rood);
  color:#FFF3D6; display:grid; place-content:center; text-align:center; font-family:'Marker',cursive;
  font-size:.82rem; line-height:1.15; transform:rotate(9deg);
  clip-path:polygon(50% 0,60% 12%,76% 6%,74% 24%,92% 22%,82% 40%,96% 54%,78% 56%,80% 74%,62% 68%,52% 86%,42% 68%,24% 74%,26% 56%,8% 54%,20% 38%,6% 24%,24% 22%,22% 6%,40% 12%);
}

/* ---------- sets ---------- */
.set { background:var(--papier); border:1px solid var(--lijn); box-shadow:7px 7px 0 rgba(238,123,43,.4); display:flex; flex-direction:column; }
.set img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; }
.set .body { padding:1.3rem 1.4rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.set .bedrag { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.7rem; color:var(--rood); line-height:1.2; }
.set p { font-size:.93rem; }
.set .voor { font-size:.85rem; color:var(--grijs); margin-top:auto; }

/* ---------- lijstjes ---------- */
.streep { list-style:none; margin:0; padding:0; }
.streep li { position:relative; padding-left:1.2rem; margin-bottom:.55rem; font-size:.97rem; }
.streep li::before { content:"—"; position:absolute; left:0; color:var(--oranje); font-weight:700; }

/* ---------- faq ---------- */
.faq details { border-bottom:1px solid var(--lijn); padding:.95rem 0; }
.faq summary {
  cursor:pointer; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.98rem;
  color:var(--inkt); list-style:none; display:flex; justify-content:space-between; gap:1rem;
}
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--rood); font-size:1.4rem; line-height:1; }
.faq details[open] summary::after { content:"–"; }
.faq p { margin:.7rem 0 0; font-size:.96rem; }

/* ---------- formulier ---------- */
.form { display:grid; gap:1.1rem; max-width:560px; }
.form label { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--inkt); display:block; margin-bottom:.35rem; }
.form input, .form select, .form textarea {
  width:100%; padding:.8rem .9rem; border:2px solid var(--lijn); background:var(--papier);
  font-family:'Open Sans',sans-serif; font-size:1rem; color:var(--tekst); border-radius:0;
}
.form input:focus, .form select:focus, .form textarea:focus { border-color:var(--oranje); outline:none; }
.form textarea { min-height:120px; resize:vertical; }

/* ---------- cta-blok ---------- */
.cta { background:var(--inkt); color:#FFF3D6; text-align:center; }
.cta h2 { color:#FFF3D6; }
.cta p { max-width:52ch; margin-inline:auto; }

/* ---------- footer ---------- */
.footer { background:var(--inkt); color:#C9B48A; padding:3rem 0 2rem; position:relative; overflow:hidden; }
.footer h4 { font-family:'Montserrat',sans-serif; font-weight:800; text-transform:uppercase; font-size:.8rem; letter-spacing:.12em; color:var(--geel); margin:0 0 .8rem; }
.footer a { color:#E4D5B4; text-decoration:none; display:block; padding:.22rem 0; font-size:.95rem; }
.footer a:hover { color:var(--geel); }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:2rem; position:relative; z-index:2; }
.footer .aloha { font-family:'Marker',cursive; color:var(--geel); font-size:1.5rem; }
.footer .strepen { position:absolute; right:-30px; top:0; bottom:0; width:230px; opacity:.9; z-index:1; }
.footer .klein { border-top:1px solid #40382C; margin-top:2.2rem; padding-top:1.2rem; font-size:.82rem; position:relative; z-index:2; }

@media (max-width:640px) {
  body { font-size:16px; }
  .hero h1 { text-shadow:3px 3px 0 var(--rood), 6px 6px 0 var(--geel); }
  .footer .strepen { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}


/* ================= v2: labels, dropdown, deuren, blog ================= */

/* modern-modus: koeler, strakker, binnen dezelfde huisstijl */
body.modern { background:#FFFFFF; }
body.modern .kaart, body.modern .set { box-shadow:0 1px 3px rgba(43,36,28,.10), 0 8px 24px rgba(43,36,28,.06); border:1px solid #E8E4DC; }
body.modern .prijs { background:#F6F5F2; }
body.modern .hero .warm { background:linear-gradient(115deg, rgba(30,32,38,.9) 0%, rgba(38,46,58,.66) 48%, rgba(60,80,100,.32) 100%); }
body.modern .marker { display:none; }
body.modern .balk { transform:none; box-shadow:none; letter-spacing:.1em; }
body.modern section { padding:clamp(2.6rem,6vw,4rem) 0; }

/* oldschool-modus: warmer, losser */
body.oldschool .kaart, body.oldschool .set { box-shadow:7px 7px 0 rgba(238,123,43,.42); }

/* dropdown in de nav */
.heeft-sub { position:relative; display:flex; align-items:center; }
.heeft-sub > .sub {
  display:none; position:absolute; top:100%; left:-1.3rem; min-width:250px;
  background:#3A3227; padding:.4rem 0; box-shadow:0 12px 28px rgba(0,0,0,.3); z-index:60;
}
.heeft-sub:hover > .sub, .heeft-sub:focus-within > .sub { display:block; }
.sub a { display:block !important; padding:.62rem 1.3rem; border:0 !important; font-size:.8rem; letter-spacing:.07em; }
.sub a:hover { background:#4A4034; color:var(--geel); }
.sub a small { display:block; letter-spacing:0; font-family:'Open Sans',sans-serif; font-weight:400; font-size:.72rem; letter-spacing:0; text-transform:none; color:#B5A88C; margin-top:.12rem; }
@media (max-width:880px) {
  .heeft-sub > .sub { display:block; position:static; background:transparent; box-shadow:none; padding:0 0 .3rem 0; }
  .sub a { padding:.6rem 0 .6rem 1rem; border-bottom:1px solid #3A342A !important; }
}

/* de twee deuren op de homepage */
.deuren { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:2rem; }
.deur { position:relative; display:block; text-decoration:none; color:inherit; background:var(--papier); border:1px solid var(--lijn); box-shadow:9px 9px 0 rgba(253,210,0,.6); transition:transform .14s ease, box-shadow .14s ease; }
.deur:nth-child(2) { box-shadow:9px 9px 0 rgba(43,36,28,.16); }
.deur:hover { transform:translate(3px,3px); box-shadow:5px 5px 0 rgba(253,210,0,.6); }
.deur:nth-child(2):hover { box-shadow:5px 5px 0 rgba(43,36,28,.16); }
.deur img { width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; }
.deur .body { padding:1.5rem 1.6rem 1.8rem; }
.deur h3 { font-size:1.5rem; font-weight:900; margin-bottom:.25rem; transform:skew(-5deg); }
.deur .vanaf { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--rood); margin-bottom:.7rem; }
.deur p { font-size:.96rem; margin-bottom:1rem; }
.deur .pijl { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--rood); border-bottom:2px solid var(--geel); padding-bottom:2px; }
.deur.koel .vanaf, .deur.koel .pijl { color:#2B241C; }
.deur.koel .pijl { border-bottom-color:#2B241C; }

/* pasvorm-tabel */
.pas { width:100%; border-collapse:collapse; font-size:.95rem; }
.pas th, .pas td { text-align:left; padding:.7rem .8rem; border-bottom:1px solid var(--lijn); }
.pas th { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--inkt); background:rgba(253,210,0,.18); }

/* verhalen */
.verhalen { display:grid; gap:1.4rem; }
.verhaal { background:var(--papier); border:1px solid var(--lijn); padding:1.3rem 1.5rem; display:block; text-decoration:none; color:inherit; box-shadow:5px 5px 0 rgba(253,210,0,.45); }
.verhaal:hover { box-shadow:3px 3px 0 rgba(253,210,0,.45); transform:translate(2px,2px); }
.verhaal h3 { margin-bottom:.35rem; font-size:1.02rem; }
.verhaal p { font-size:.94rem; margin:0; }
.verhaal .datum { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grijs); display:block; margin-bottom:.5rem; }
.binnenkort { opacity:.62; box-shadow:none; border-style:dashed; }

/* kleine hulpklassen */
.center { text-align:center; }
.mt { margin-top:1.6rem; }
.klein-grijs { font-size:.88rem; color:var(--grijs); }


/* ================= v3 ================= */
.faq-compact details { border-bottom:1px solid var(--lijn); padding:.85rem 0; }
.faq-compact summary { cursor:pointer; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.94rem; color:var(--inkt); list-style:none; display:flex; justify-content:space-between; gap:1rem; }
.faq-compact summary::-webkit-details-marker { display:none; }
.faq-compact summary::after { content:"+"; color:var(--rood); font-size:1.3rem; line-height:1; }
.faq-compact details[open] summary::after { content:"\2013"; }
.faq-compact p { margin:.6rem 0 0; font-size:.93rem; }

.merken { display:flex; flex-wrap:wrap; gap:.55rem; margin:0 0 1.4rem; padding:0; list-style:none; }
.merken li { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; background:rgba(253,210,0,.32); border:1px solid var(--lijn); padding:.4rem .85rem; color:var(--inkt); }
body.modern .merken li { background:#F1EFEA; }

.kader { border-left:5px solid var(--geel); padding:.2rem 0 .2rem 1.2rem; margin:1.6rem 0; }
.kader p:last-child { margin-bottom:0; }

/* reviews */
.reviews { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:1.6rem; }
.review { background:var(--papier); border:1px solid var(--lijn); padding:1.5rem 1.6rem 1.6rem; box-shadow:5px 5px 0 rgba(253,210,0,.5); display:flex; flex-direction:column; }
.review:nth-child(2n) { box-shadow:5px 5px 0 rgba(238,123,43,.45); }
.review:nth-child(3n) { box-shadow:5px 5px 0 rgba(210,73,44,.4); }
.review p { font-size:.95rem; }
.review .wie { margin-top:auto; padding-top:.9rem; border-top:1px solid var(--lijn); }
.review .wie b { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.85rem; color:var(--inkt); display:block; text-transform:uppercase; letter-spacing:.03em; }
.review .wie span { font-family:'Marker',cursive; font-size:.85rem; color:var(--grijs); }
.review .quote { font-family:'Marker',cursive; color:var(--geel); font-size:2rem; line-height:.6; display:block; margin-bottom:.4rem; }

/* video */
.video { position:relative; aspect-ratio:16/9; background:var(--inkt); margin:1.6rem 0; border:1px solid var(--lijn); }
.video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* getallen naast elkaar */
.vergelijk { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:1.4rem; margin:1.6rem 0; }
.vergelijk div { background:rgba(253,210,0,.2); border-left:4px solid var(--geel); padding:1rem 1.2rem; }
.vergelijk b { display:block; font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.5rem; color:var(--inkt); line-height:1.1; }
.vergelijk span { font-size:.9rem; }
body.modern .vergelijk div { background:#F3F1EC; }


/* ---------- cookiemelding ---------- */
#cookiemelding { position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:999;
  max-width:36rem; margin-inline:auto; display:flex; flex-wrap:wrap;
  gap:.8rem 1.4rem; align-items:center; justify-content:space-between;
  background:var(--inkt); color:#fff; padding:1.1rem 1.3rem;
  border:1px solid rgba(255,255,255,.18); box-shadow:6px 6px 0 rgba(253,210,0,.55);
  font-size:.9rem; line-height:1.5; }
#cookiemelding[hidden] { display:none; }
#cookiemelding p { margin:0; flex:1 1 17rem; font-size:.9rem; }
#cookiemelding a { color:var(--geel); }
.cookieknoppen { display:flex; gap:.5rem; }
#cookiemelding button { font-family:'Montserrat',sans-serif; font-weight:600;
  font-size:.82rem; letter-spacing:.02em; cursor:pointer; padding:.55rem 1.1rem;
  border:1px solid #fff; background:none; color:#fff; }
#cookie-ja { background:var(--geel); border-color:var(--geel); color:var(--inkt); }
#cookiemelding button:focus-visible { outline:2px solid var(--geel); outline-offset:3px; }
@media (max-width:520px){ #cookiemelding { flex-direction:column; align-items:flex-start; } }

.btn-tekst { font:inherit; color:var(--rood); background:none; border:0; border-bottom:1px solid currentColor; padding:0; cursor:pointer; }

.shot.staand img { aspect-ratio:3/4; }


/* ---------- portret ---------- */
.portret { margin:1.4rem 0 1.6rem; max-width:260px; }
.portret img { width:100%; height:auto; display:block; background:var(--papier); padding:8px; box-shadow:0 2px 10px rgba(43,36,28,.14); }
.portret figcaption { font-family:'Marker',cursive; font-size:.85rem; color:var(--grijs); padding-top:.5rem; }
@media (max-width:520px) { .portret { max-width:200px; } }
