/* Spuiterij Glanspunt (schilder d) · N3 zijbalk · H6 droogrek · R3 keukenwand
   Unbounded (OFL) voor de koppen: breed, glad en afgerond, als een gelakt front; de lichte snit (300) staat voor de nevel.
   Manrope (OFL) voor tekst en kleurcodes. */
@font-face { font-family: "GP Unbounded"; font-weight: 200 900; font-display: swap; src: url("../../fonts/Unbounded-Variable.woff2") format("woff2"); }
@font-face { font-family: "GP Manrope"; font-weight: 200 800; font-display: swap; src: url("../../fonts/Manrope-Variable.woff2") format("woff2"); }

body.s-schilder-d {
  --bg: #e8e6e1; --papier: #f8f7f3; --ink: #191b1e; --grijs: #54575b; --blauw: #1e2b3a; --blauw-d: #141d28;
  --messing: #b08a4e; --messing-t: #7a5a26; --naad: 6px; --zij: 276px; --rand: clamp(16px, 4vw, 56px);
  --a: #1e2b3a; --a2: #b08a4e; --bg2: #dcd8cf;
  margin: 0; background: var(--bg); color: var(--ink);
  font: 400 16.5px/1.6 "GP Manrope", system-ui, sans-serif; -webkit-font-smoothing: antialiased;
}
body.s-schilder-d a { color: inherit; }
body.s-schilder-d h1, body.s-schilder-d h2, body.s-schilder-d h3 { font-family: "GP Unbounded", system-ui, sans-serif; font-weight: 500; letter-spacing: -.03em; margin: 0; line-height: 1.06; }
body.s-schilder-d em { font-style: normal; }
body.s-schilder-d h1, body.s-schilder-d h2 { text-wrap: balance; }
body.s-schilder-d h1 em, body.s-schilder-d h2 em { color: var(--blauw); font-weight: 250; }
body.s-schilder-d p { margin: 0 0 1em; }
body.s-schilder-d main { display: block; }
body.s-schilder-d .gp-img { width: 100%; height: 100%; object-fit: cover; min-height: 0; border-radius: 0; }
body.s-schilder-d .ph.gp-img { --a: #2b3a4d; --a2: #b08a4e; --bg2: #cfd3d6; }

/* ── knoppen en links ─────────────────────────────────────────────── */
body.s-schilder-d .gp-knop { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 26px; border: 0; border-radius: 2px;
  background: var(--blauw); color: #f4f1ea; font: 700 14px/1 "GP Manrope", sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer;
  position: relative; overflow: hidden; }
body.s-schilder-d .gp-knop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.22) 44%, rgba(255,255,255,.3) 47%, transparent 52%);
  transform: translateX(-60%); transition: transform .6s ease; }
body.s-schilder-d .gp-knop:hover::after { transform: translateX(60%); }
body.s-schilder-d .gp-knop-messing { background: linear-gradient(180deg, #c9a466, #a8803f); color: #1b1408; }
body.s-schilder-d .gp-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
  border-bottom: 1px solid currentColor; padding: 4px 0; }
body.s-schilder-d .gp-pijl { width: 22px; height: 11px; flex: none; transition: transform .2s; }
body.s-schilder-d a:hover .gp-pijl { transform: translateX(4px); }
body.s-schilder-d .gp-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
body.s-schilder-d .gp-klein { font-size: 13.5px; color: var(--grijs); }
body.s-schilder-d .gp-nr { font: 700 11.5px/1.3 "GP Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px; opacity: .8; }
body.s-schilder-d .gp-code { font: 600 12.5px/1.3 "GP Manrope", sans-serif; letter-spacing: .08em; font-variant-numeric: tabular-nums; margin: 0 0 8px; }
body.s-schilder-d .gp-plaats { font: 600 12.5px/1.3 "GP Manrope", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--grijs); margin: 0 0 22px; }
body.s-schilder-d .gp-lead { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.6; }

/* ── zijbalk (N3) ─────────────────────────────────────────────────── */
body.s-schilder-d .gp-zij { position: fixed; z-index: 70; left: 0; top: 0; bottom: 0; width: var(--zij); background: var(--blauw); color: #e9e6df; overflow: hidden; }
body.s-schilder-d .gp-zij::before { content: ""; position: absolute; top: 0; bottom: 0; right: 38px; width: 46px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.05) 25%, rgba(255,255,255,.13) 48%, rgba(255,255,255,.2) 50%, rgba(255,255,255,.13) 52%, rgba(255,255,255,.05) 75%, transparent); }
body.s-schilder-d .gp-zij::after { content: ""; position: absolute; top: 0; bottom: 0; right: 98px; width: 2px; background: rgba(255,255,255,.12); pointer-events: none; }
body.s-schilder-d .gp-zij-in { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; padding: 30px 30px 28px; overflow-y: auto; }
body.s-schilder-d .gp-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #f6f3ec; }
body.s-schilder-d .gp-mark { width: 38px; height: 38px; color: var(--messing); flex: none; }
body.s-schilder-d .gp-woord { font: 600 22px/1 "GP Unbounded", sans-serif; letter-spacing: -.01em; display: flex; flex-direction: column; }
body.s-schilder-d .gp-woord small { font: 600 10.5px/1 "GP Manrope", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #b9c0c8; margin-top: 7px; }
body.s-schilder-d .gp-schakel { position: absolute; opacity: 0; pointer-events: none; }
body.s-schilder-d .gp-menuknop { display: none; }
body.s-schilder-d .gp-paneel { display: flex; flex-direction: column; flex: 1; }
body.s-schilder-d .gp-nav ul { list-style: none; margin: 56px 0 0; padding: 0; }
body.s-schilder-d .gp-nav a { position: relative; display: block; padding: 10px 0 10px 22px; font: 400 20px/1.15 "GP Unbounded", sans-serif; text-decoration: none; color: #e9e6df; transition: color .2s; }
body.s-schilder-d .gp-nav a::before { content: ""; position: absolute; left: 0; top: 50%; width: 5px; height: 0; transform: translateY(-50%); border-radius: 2px;
  background: linear-gradient(90deg, #8a6a35, #e0c184 50%, #a07c42); transition: height .2s; }
body.s-schilder-d .gp-nav a:hover::before { height: 16px; }
body.s-schilder-d .gp-nav a[aria-current]::before { height: 30px; }
body.s-schilder-d .gp-nav a[aria-current] { color: #fff; font-weight: 600; }
body.s-schilder-d .gp-ods { align-self: flex-start; margin: 22px 0 0 22px; padding: 7px 14px; border: 1px solid rgba(233,230,223,.45); border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; color: #e9e6df; }
body.s-schilder-d .gp-ods:hover, body.s-schilder-d .gp-ods[aria-current] { background: #e9e6df; color: var(--blauw); }
body.s-schilder-d .gp-zij-info { margin-top: auto; padding-top: 30px; font-size: 13.5px; line-height: 1.5; color: #c9ced4; }
body.s-schilder-d .gp-zij-info a { display: block; text-decoration: none; color: #e9e6df; }
body.s-schilder-d .gp-zij-info .gp-zij-tel { font: 500 19px/1.2 "GP Unbounded", sans-serif; color: #fff; margin-bottom: 2px; }
body.s-schilder-d .gp-zij-info p { margin: 12px 0; }
body.s-schilder-d .gp-zij-tijden { list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.14); }
body.s-schilder-d .gp-zij-tijden li { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; }
body.s-schilder-d .gp-zij .gp-knop { margin-top: 20px; width: 100%; padding: 0 14px; font-size: 12.5px; }

body.s-schilder-d .demo-bar, body.s-schilder-d main, body.s-schilder-d .gp-voet { margin-left: var(--zij); }

/* ── gelakt front: kleur, glans, greep ────────────────────────────── */
body.s-schilder-d .gp-front { position: relative; overflow: hidden; background-color: var(--kl); border-radius: 3px; display: block; text-decoration: none;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.07), inset 0 -40px 60px -40px rgba(0,0,0,.18); isolation: isolate; }
body.s-schilder-d .gp-front::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
body.s-schilder-d .gp-front.gp-donker { color: #f3f1ec; }
body.s-schilder-d .gp-front.gp-licht { color: var(--ink); }
body.s-schilder-d .gl-mat::before { background: linear-gradient(112deg, transparent 18%, rgba(255,255,255,.06) 42%, rgba(255,255,255,.08) 50%, transparent 78%); }
body.s-schilder-d .gl-zm::before { background: linear-gradient(112deg, transparent 30%, rgba(255,255,255,.1) 41%, rgba(255,255,255,.17) 47%, rgba(255,255,255,.1) 53%, transparent 64%); }
body.s-schilder-d .gl-zg::before { background:
  linear-gradient(112deg, transparent 37%, rgba(255,255,255,.24) 41%, rgba(255,255,255,.3) 45%, transparent 49%, transparent 57%, rgba(255,255,255,.16) 58.5%, transparent 61%),
  linear-gradient(180deg, rgba(255,255,255,.07), transparent 40%); }
body.s-schilder-d .gl-hg::before { background:
  linear-gradient(112deg, transparent 39.6%, rgba(255,255,255,.62) 40%, rgba(255,255,255,.7) 44%, transparent 44.4%, transparent 54.6%, rgba(255,255,255,.5) 55%, rgba(255,255,255,.55) 56.2%, transparent 56.6%),
  linear-gradient(180deg, rgba(255,255,255,.14), transparent 30%, transparent 70%, rgba(0,0,0,.12)); }
body.s-schilder-d .gp-licht.gl-hg::before { background:
  linear-gradient(112deg, transparent 38.6%, rgba(0,0,0,.07) 39.4%, rgba(255,255,255,.95) 40%, #fff 44%, rgba(0,0,0,.06) 44.6%, transparent 45.4%, transparent 54.4%, rgba(0,0,0,.05) 54.8%, #fff 55.2%, transparent 56.8%),
  linear-gradient(180deg, transparent 60%, rgba(0,0,0,.06)); }
body.s-schilder-d .gp-licht.gl-zg::before { background: linear-gradient(112deg, transparent 36%, rgba(0,0,0,.04) 40%, rgba(255,255,255,.8) 43%, rgba(0,0,0,.03) 47%, transparent 50%); }
body.s-schilder-d .gp-greep { position: absolute; z-index: 2; border-radius: 2px; background: linear-gradient(90deg, #7d5f2c, #e2c387 42%, #f3dfae 50%, #a07c42 70%, #8a6a35);
  box-shadow: 0 2px 3px rgba(0,0,0,.28), 0 0 0 .5px rgba(0,0,0,.2); }
body.s-schilder-d .gp-greep-v { width: 6px; height: min(120px, 32%); right: 20px; top: 50%; transform: translateY(-50%); }
body.s-schilder-d .gp-greep-h { height: 6px; width: min(120px, 30%); top: 16px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(180deg, #7d5f2c, #e2c387 42%, #f3dfae 50%, #a07c42 70%, #8a6a35); }

body.s-schilder-d .gp-tegel.gp-front, body.s-schilder-d .gp-hang-paneel.gp-front { background-color: var(--kl); }

/* ── opening (H6): het droogrek ───────────────────────────────────── */
body.s-schilder-d .gp-open { background: linear-gradient(180deg, #f3f2ee 0%, #ebe9e4 70%, var(--bg) 100%); padding: clamp(40px, 6vw, 84px) 0 34px; overflow: hidden; }
body.s-schilder-d .gp-open-kop { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px 56px; align-items: end; padding: 0 var(--rand); max-width: 1360px; }
body.s-schilder-d .gp-open-kop .gp-plaats { grid-column: 1 / -1; margin: 0; }
body.s-schilder-d .gp-open h1 { font-size: clamp(40px, 5.6vw, 88px); font-weight: 600; line-height: 1; letter-spacing: -.04em; }
body.s-schilder-d .gp-open-zij { padding-bottom: 10px; }
body.s-schilder-d .gp-open-zij .gp-lead { color: #2d3034; max-width: 46ch; margin-bottom: 26px; }
body.s-schilder-d .gp-rek { margin-top: clamp(40px, 5vw, 64px); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #b9b4a9 transparent; outline: none; }
body.s-schilder-d .gp-rek:focus-visible { box-shadow: inset 0 0 0 2px var(--blauw); }
body.s-schilder-d .gp-rek-rij { list-style: none; margin: 0; padding: 0 var(--rand) 18px; display: flex; align-items: flex-start; gap: 26px; width: max-content; position: relative; }
body.s-schilder-d .gp-rek-rij::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 9px; border-radius: 5px;
  background: linear-gradient(180deg, #d8dadc, #9aa0a6 45%, #f1f2f3 55%, #7e848a); box-shadow: 0 3px 5px rgba(0,0,0,.18); }
body.s-schilder-d .gp-hang { position: relative; padding-top: 44px; scroll-snap-align: start; scroll-margin-left: var(--rand); flex: none; }
body.s-schilder-d .gp-haak { position: absolute; top: 3px; left: 50%; width: 14px; height: 42px; margin-left: -7px; border: 2px solid #8b9197; border-top: 0; border-radius: 0 0 8px 8px; }
body.s-schilder-d .gp-haak::before { content: ""; position: absolute; left: -2px; top: -8px; width: 10px; height: 12px; border: 2px solid #8b9197; border-bottom: 0; border-radius: 6px 6px 0 0; }
body.s-schilder-d .gp-hang-paneel { display: block; background-color: #ccc; border-radius: 3px; overflow: hidden; box-shadow: 0 18px 30px -18px rgba(20,25,30,.45), 0 2px 4px rgba(0,0,0,.08); }
body.s-schilder-d .gp-hang .ph { min-height: 0; height: 100%; }
body.s-schilder-d .gp-hang .ph-cap { font-size: 11px; }
body.s-schilder-d .gp-h-breed .gp-hang-paneel { width: 540px; height: 400px; }
body.s-schilder-d .gp-h-hoog .gp-hang-paneel { width: 180px; height: 440px; }
body.s-schilder-d .gp-h-mid .gp-hang-paneel { width: 330px; height: 360px; }
body.s-schilder-d .gp-h-lade .gp-hang-paneel { width: 260px; height: 150px; }
body.s-schilder-d .gp-h-mid-s .gp-hang-paneel { width: 220px; height: 300px; }
body.s-schilder-d .gp-h-hoog-f .gp-hang-paneel { width: 300px; height: 420px; }
body.s-schilder-d .gp-label { margin: 12px 0 0; font-size: 12px; line-height: 1.35; color: var(--grijs); letter-spacing: .02em; max-width: 260px; }
body.s-schilder-d .gp-label b { display: block; color: var(--ink); font-weight: 700; letter-spacing: .08em; font-size: 12.5px; }
body.s-schilder-d .gp-rek-voet { display: flex; justify-content: space-between; gap: 20px; padding: 6px var(--rand) 0; max-width: 1360px; font-size: 13.5px; color: var(--grijs); }
body.s-schilder-d .gp-rek-voet p { margin: 0; }
body.s-schilder-d .gp-rek-hint { display: inline-flex; gap: 10px; align-items: center; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; color: var(--ink); }

/* ── secties en de keukenwand (R3) ───────────────────────────────── */
body.s-schilder-d .gp-sectie { padding: clamp(56px, 7vw, 104px) var(--rand) 0; max-width: 1360px; }
body.s-schilder-d .gp-sectie-slot { padding-bottom: clamp(56px, 7vw, 104px); }
body.s-schilder-d .gp-sectie-kop { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px 56px; align-items: end; margin-bottom: 34px; }
body.s-schilder-d .gp-sectie-kop h2 { font-size: clamp(28px, 3.2vw, 46px); }
body.s-schilder-d .gp-sectie-kop p { margin: 0; color: #3b3e42; max-width: 48ch; }
body.s-schilder-d .gp-sectie-kop-rij { grid-template-columns: 1fr auto; }
body.s-schilder-d .gp-wand { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--naad); list-style: none; margin: 0; padding: var(--naad); background: #cfcbc2; border-radius: 4px; }
body.s-schilder-d .gp-tegel { position: relative; overflow: hidden; background: var(--papier); border-radius: 3px; padding: clamp(22px, 2.4vw, 34px); text-decoration: none; color: var(--ink); }
body.s-schilder-d .gp-tegel h3 { font-size: clamp(19px, 1.6vw, 24px); margin-bottom: 10px; }
body.s-schilder-d .gp-tegel h2 { font-size: clamp(26px, 2.5vw, 38px); margin-bottom: 18px; }
body.s-schilder-d .gp-t-foto { position: absolute; inset: 0; }
body.s-schilder-d .gp-t-foto .ph { height: 100%; }
body.s-schilder-d .gp-meer { display: inline-flex; gap: 10px; align-items: center; margin-top: 6px; font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
body.s-schilder-d .gp-groot { white-space: nowrap; font: 600 clamp(32px, 3vw, 52px)/1 "GP Unbounded", sans-serif; margin: 0 0 12px; letter-spacing: -.02em; }
body.s-schilder-d .gp-groot-s { font: 500 clamp(20px, 1.8vw, 26px)/1.15 "GP Unbounded", sans-serif; margin: 0 0 14px; }

/* diensten op de homepage */
body.s-schilder-d .gp-wand-diensten { grid-template-rows: repeat(4, minmax(130px, auto)) auto; }
body.s-schilder-d .gp-t-keuken { grid-column: 1 / 4; grid-row: 1 / 5; min-height: 620px; padding: 0; display: flex; align-items: flex-end; }
body.s-schilder-d .gp-t-keuken .gp-t-tekst { position: relative; z-index: 1; margin: 18px; background: var(--papier); padding: 26px 28px; max-width: 420px; border-radius: 2px; }
body.s-schilder-d .gp-t-keuken .gp-greep { right: 18px; }
body.s-schilder-d .gp-t-meubel { grid-column: 4 / 7; grid-row: 1 / 3; padding: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 300px; }
body.s-schilder-d .gp-t-meubel .gp-t-foto { position: relative; }
body.s-schilder-d .gp-t-meubel .gp-t-tekst { padding: 28px; }
body.s-schilder-d .gp-t-deur { grid-column: 4 / 6; grid-row: 3 / 5; padding: 30px 54px 30px 30px; min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; }
body.s-schilder-d .gp-t-prijs { grid-column: 6 / 7; grid-row: 3 / 5; display: flex; flex-direction: column; font-size: 14px; }
body.s-schilder-d .gp-t-prijs .gp-link { margin-top: auto; align-self: flex-start; font-size: 12px; }
body.s-schilder-d .gp-t-lade { grid-column: 1 / 7; padding: 44px 34px 30px; }
body.s-schilder-d .gp-lade-in { display: grid; grid-template-columns: 1.2fr 1.5fr auto; gap: 18px 40px; align-items: end; }
body.s-schilder-d .gp-lade-in p { margin: 0; }
body.s-schilder-d .gp-lade-in h3 { margin: 0; }
body.s-schilder-d a.gp-tegel { transition: transform .25s ease, box-shadow .25s ease; }
body.s-schilder-d a.gp-tegel:hover { box-shadow: 0 14px 30px -18px rgba(0,0,0,.5); }

/* glansladder */
body.s-schilder-d .gp-wand-glans { background: #c3bfb5; }
body.s-schilder-d .gp-glans-tekst { grid-column: 1 / 3; display: flex; flex-direction: column; }
body.s-schilder-d .gp-glans-tekst .gp-klein { margin-top: auto; margin-bottom: 0; }
body.s-schilder-d .gp-glans-platen { grid-column: 3 / 7; background: #2a2d31; color: #ecebe6; padding: clamp(24px, 3vw, 40px);
  background-image: radial-gradient(120% 60% at 50% -10%, rgba(255,255,255,.12), transparent 60%); }
body.s-schilder-d .gp-ladder { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
body.s-schilder-d .gp-plaat-front { aspect-ratio: 3 / 4.4; width: 100%; margin-bottom: 16px; box-shadow: 0 14px 24px -14px rgba(0,0,0,.7); }
body.s-schilder-d .gp-plaat-naam { font: 500 16px/1.15 "GP Unbounded", sans-serif; margin: 0 0 4px; }
body.s-schilder-d .gp-gu { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 10px; color: #d2b57f; font-weight: 700; }
body.s-schilder-d .gp-plaat-tekst { font-size: 14px; line-height: 1.5; color: #c9c8c2; margin: 0; }

/* materialen */
body.s-schilder-d .gp-wand-mat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.s-schilder-d .gp-mat { background: var(--papier); border-radius: 3px; padding: 28px 30px 26px; }
body.s-schilder-d .gp-mat h3 { font-size: 20px; margin: 0 0 8px; }
body.s-schilder-d .gp-mat p { margin: 0; color: #3b3e42; font-size: 15px; }
body.s-schilder-d .gp-mat .gp-mat-oordeel { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; font-weight: 700; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
body.s-schilder-d .gp-mat-oordeel i { width: 16px; height: 16px; border-radius: 50%; background: #4b5139; box-shadow: inset -3px -3px 5px rgba(0,0,0,.3), inset 2px 2px 3px rgba(255,255,255,.35); }
body.s-schilder-d .gp-mat-na-voorwerk .gp-mat-oordeel i { background: var(--messing); }
body.s-schilder-d .gp-mat-nee { background: #ecebe6; }
body.s-schilder-d .gp-mat-nee .gp-mat-oordeel i { background: #9a3b2a; }

/* een week zonder deurtjes */
body.s-schilder-d .gp-week-tekst { grid-column: 1 / 4; display: flex; flex-direction: column; padding-bottom: 0; }
body.s-schilder-d .gp-week-foto { position: relative; flex: 1; min-height: 300px; margin: 14px calc(-1 * clamp(22px, 2.4vw, 34px)) 0; }
body.s-schilder-d .gp-ladekast { grid-column: 4 / 7; list-style: none; margin: 0; padding: 0; display: grid; gap: var(--naad); }
body.s-schilder-d .gp-ladefront { display: grid; grid-template-columns: 58px 1fr; align-items: baseline; gap: 2px 14px; padding: 32px 26px 18px; min-height: 96px; }
body.s-schilder-d .gp-ladefront .gp-greep-h { width: 76px; top: 12px; }
body.s-schilder-d .gp-dag { grid-row: 1 / 3; font: 300 24px/1 "GP Unbounded", sans-serif; color: var(--blauw); }
body.s-schilder-d .gp-dag-wat { font-weight: 700; }
body.s-schilder-d .gp-dag-hoe { font-size: 14px; color: var(--grijs); }

/* projecten op de homepage */
body.s-schilder-d .gp-wand-pt { grid-template-rows: 300px 300px; }
body.s-schilder-d .gp-pt { padding: 0; display: flex; align-items: flex-end; }
body.s-schilder-d .gp-pt-1 { grid-column: 1 / 4; grid-row: 1 / 3; }
body.s-schilder-d .gp-pt-2 { grid-column: 4 / 7; grid-row: 1; }
body.s-schilder-d .gp-pt-3 { grid-column: 4 / 7; grid-row: 2; }
body.s-schilder-d .gp-pt-tekst { position: relative; z-index: 1; margin: 14px; padding: 16px 20px 16px 54px; background: var(--papier); border-radius: 2px; }
body.s-schilder-d .gp-pt-tekst h3 { font-size: 17px; margin: 0; }
body.s-schilder-d .gp-pt-tekst .gp-code { margin: 0 0 4px; color: var(--grijs); }
body.s-schilder-d .gp-chip { display: inline-block; width: 26px; height: 26px; border-radius: 50%; background: var(--kl); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12), inset -4px -5px 8px rgba(0,0,0,.18), inset 3px 3px 5px rgba(255,255,255,.35); }
body.s-schilder-d .gp-pt-tekst .gp-chip { position: absolute; left: 16px; top: 18px; }

/* drie foto's, één prijs */
body.s-schilder-d .gp-drie { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 40px 56px; align-items: center; position: relative; overflow: hidden; isolation: isolate;
  background: var(--blauw); color: #eceae4; border-radius: 4px; padding: clamp(32px, 5vw, 72px); }
body.s-schilder-d .gp-drie::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(112deg, transparent 52%, rgba(255,255,255,.1) 56%, rgba(255,255,255,.16) 59%, transparent 60%, transparent 66%, rgba(255,255,255,.08) 67%, transparent 68.5%); }
body.s-schilder-d .gp-drie h2 { font-size: clamp(30px, 3.4vw, 50px); margin-bottom: 20px; }
body.s-schilder-d .gp-drie h2 em { color: #d8bb85; }
body.s-schilder-d .gp-drie p { color: #cdd2d8; max-width: 44ch; }
body.s-schilder-d .gp-drie .gp-knop { background: linear-gradient(180deg, #c9a466, #a8803f); color: #1b1408; }
body.s-schilder-d .gp-drie-kaders { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.s-schilder-d .gp-drie-kaders li { display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; color: #cdd2d8; counter-increment: drie; }
body.s-schilder-d .gp-drie-kaders b { color: #fff; font-size: 15px; }
body.s-schilder-d .gp-kader { position: relative; aspect-ratio: 3 / 4; border-radius: 3px; margin-bottom: 12px; border: 1.5px solid rgba(255,255,255,.4); background: rgba(255,255,255,.04); }
body.s-schilder-d .gp-kader::after { content: counter(drie); position: absolute; left: 12px; top: 10px; font: 300 24px/1 "GP Unbounded", sans-serif; color: #d8bb85; }
body.s-schilder-d .gp-kader-1::before { content: ""; position: absolute; left: 14%; right: 14%; bottom: 18%; height: 34%; border: 1.5px solid rgba(255,255,255,.55); border-radius: 2px;
  background: linear-gradient(90deg, transparent 32%, rgba(255,255,255,.55) 32% 33%, transparent 33% 65%, rgba(255,255,255,.55) 65% 66%, transparent 66%); }
body.s-schilder-d .gp-kader-2::before { content: ""; position: absolute; left: 22%; right: 22%; top: 20%; bottom: 14%; border: 1.5px solid rgba(255,255,255,.55); border-radius: 2px;
  background: linear-gradient(112deg, transparent 40%, rgba(255,255,255,.25) 46%, transparent 52%); }
body.s-schilder-d .gp-kader-3::before { content: "60 × 80"; position: absolute; left: 18%; right: 18%; top: 44%; padding-top: 8px; border-top: 1.5px solid rgba(255,255,255,.55);
  text-align: center; font: 600 12px/1 "GP Manrope", sans-serif; letter-spacing: .1em; color: #fff; }
body.s-schilder-d .gp-drie-kaders { counter-reset: drie; }

/* ── subpagina's: kopwand ─────────────────────────────────────────── */
body.s-schilder-d .gp-kopwand { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--naad); padding: var(--naad); margin: clamp(24px, 3vw, 40px) var(--rand) 0; background: #cfcbc2; border-radius: 4px; max-width: calc(1360px - 2 * var(--rand)); }
body.s-schilder-d .gp-kop-titel { grid-column: 1 / 4; grid-row: 1 / 3; padding: clamp(30px, 4vw, 60px); display: flex; flex-direction: column; justify-content: flex-end; min-height: 460px; }
body.s-schilder-d .gp-kop-titel h1 { font-size: clamp(34px, 4vw, 62px); line-height: 1.02; letter-spacing: -.04em; margin-bottom: 24px; }
body.s-schilder-d .gp-kop-titel .gp-lead { margin: 0; color: #2d3034; max-width: 48ch; }
body.s-schilder-d .gp-kop-foto { grid-column: 4 / 7; grid-row: 1 / 3; padding: 0; min-height: 460px; }
body.s-schilder-d .gp-kopwand-diensten .gp-kop-foto { grid-row: 1; min-height: 300px; }
body.s-schilder-d .gp-kop-sprongen { grid-column: 4 / 7; grid-row: 2; padding: 22px 26px; }
body.s-schilder-d .gp-kop-sprongen ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 20px; }
body.s-schilder-d .gp-kop-sprongen a { display: flex; gap: 10px; align-items: baseline; padding: 6px 0; text-decoration: none; font-size: 15px; font-weight: 600; border-bottom: 1px dashed #b9b4a9; }
body.s-schilder-d .gp-kop-sprongen a:hover { color: var(--blauw); border-bottom-style: solid; }
body.s-schilder-d .gp-omlaag { color: var(--messing-t); font-weight: 700; }
body.s-schilder-d .gp-kop-contact { grid-column: 4 / 7; grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 14px;
  background: var(--blauw); color: #eceae4; position: relative; isolation: isolate; }
body.s-schilder-d .gp-kop-contact::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(112deg, transparent 30%, rgba(255,255,255,.1) 40%, rgba(255,255,255,.16) 43%, transparent 50%); }
body.s-schilder-d .gp-groot-tel { font: 500 clamp(28px, 3vw, 44px)/1 "GP Unbounded", sans-serif; text-decoration: none; color: #fff; letter-spacing: -.01em; }
body.s-schilder-d .gp-kop-contact .gp-link { color: #e9e6df; font-size: 13px; }

/* diensten-pagina */
body.s-schilder-d .gp-diensten { display: grid; gap: clamp(40px, 5vw, 72px); }
body.s-schilder-d .gp-dienst { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--naad); padding: var(--naad); background: #cfcbc2; border-radius: 4px; scroll-margin-top: 60px; }
body.s-schilder-d .gp-d-tekst { grid-column: 1 / 4; grid-row: 1 / 3; }
body.s-schilder-d .gp-d-tekst .gp-nr { font: 300 34px/1 "GP Unbounded", sans-serif; letter-spacing: 0; text-transform: none; color: var(--messing-t); opacity: 1; margin-bottom: 18px; }
body.s-schilder-d .gp-d-kort { font: 400 17px/1.45 "GP Unbounded", sans-serif; color: var(--blauw); }
body.s-schilder-d .gp-d-beeld { grid-column: 4 / 7; grid-row: 1; min-height: 320px; padding: 0; }
body.s-schilder-d .gp-d-front { display: flex; align-items: flex-end; padding: 26px; }
body.s-schilder-d .gp-d-punten { grid-column: 4 / 7; grid-row: 2; padding: 40px 30px 24px; }
body.s-schilder-d .gp-punten { list-style: none; margin: 0 0 18px; padding: 0; }
body.s-schilder-d .gp-punten li { padding: 8px 0 8px 26px; border-bottom: 1px solid currentColor; border-color: rgba(127,127,127,.35); position: relative; font-weight: 600; }
body.s-schilder-d .gp-punten li::before { content: ""; position: absolute; left: 0; top: 50%; width: 12px; height: 2px; background: currentColor; opacity: .7; }
body.s-schilder-d .gp-d-punten .gp-code { margin: 0; opacity: .8; }
body.s-schilder-d .gp-dienst:nth-child(even) .gp-d-tekst { grid-column: 4 / 7; }
body.s-schilder-d .gp-dienst:nth-child(even) .gp-d-beeld, body.s-schilder-d .gp-dienst:nth-child(even) .gp-d-punten { grid-column: 1 / 4; }

body.s-schilder-d #prijzen { scroll-margin-top: 40px; }
body.s-schilder-d .gp-prijslijst { grid-column: 1 / 4; grid-row: 1 / 3; }
body.s-schilder-d .gp-prijslijst ul { list-style: none; margin: 8px 0 18px; padding: 0; }
body.s-schilder-d .gp-prijslijst li { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px solid #dedad2; font-size: 15px; }
body.s-schilder-d .gp-prijslijst li span:last-child { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.s-schilder-d .gp-reken { grid-column: 4 / 7; }
body.s-schilder-d .gp-reken table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 6px 0 16px; font-variant-numeric: tabular-nums; }
body.s-schilder-d .gp-reken th { text-align: left; font-weight: 500; padding: 8px 0; border-bottom: 1px solid #dedad2; }
body.s-schilder-d .gp-reken td { padding: 8px 0 8px 12px; border-bottom: 1px solid #dedad2; text-align: right; white-space: nowrap; color: var(--grijs); }
body.s-schilder-d .gp-reken td:last-child { color: var(--ink); font-weight: 700; }
body.s-schilder-d .gp-reken tfoot th, body.s-schilder-d .gp-reken tfoot td { border-bottom: 0; border-top: 2px solid var(--ink); font-weight: 700; padding-top: 12px; font-size: 16px; color: var(--ink); }
body.s-schilder-d .gp-glans-mini { grid-column: 4 / 7; background: #2a2d31; color: #ecebe6; }
body.s-schilder-d .gp-glans-mini .gp-ladder { gap: 10px; margin-bottom: 14px; }
body.s-schilder-d .gp-glans-mini .gp-plaat-front { aspect-ratio: 3 / 3.6; margin-bottom: 10px; }
body.s-schilder-d .gp-glans-mini .gp-plaat-naam { font-size: 11px; }
body.s-schilder-d .gp-glans-mini .gp-gu { font-size: 10.5px; margin: 0; }
body.s-schilder-d .gp-glans-mini .gp-klein { color: #c9c8c2; margin: 0; }

body.s-schilder-d .gp-wand-zorg { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.s-schilder-d .gp-zorg { min-height: 280px; }
body.s-schilder-d .gp-zorg:nth-child(odd) { background: #efece5; }
body.s-schilder-d .gp-zorg-nr { display: block; width: 44px; height: 44px; margin-bottom: 34px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff 0 12%, #3a4a60 34%, var(--blauw) 70%);
  color: transparent; font-size: 0; box-shadow: 0 6px 10px -6px rgba(0,0,0,.5); }
body.s-schilder-d .gp-zorg h3 { font-size: 18px; }
body.s-schilder-d .gp-zorg p { margin: 0; font-size: 15px; color: #3b3e42; }

/* projecten-pagina */
body.s-schilder-d .gp-projecten { display: grid; gap: clamp(40px, 5vw, 72px); }
body.s-schilder-d .gp-project { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: auto 220px; gap: var(--naad); padding: var(--naad); background: #cfcbc2; border-radius: 4px; scroll-margin-top: 40px; }
body.s-schilder-d .gp-project-foto { grid-column: 1 / 5; grid-row: 1 / 3; min-height: 560px; padding: 0; }
body.s-schilder-d .gp-project-tekst { grid-column: 5 / 7; }
body.s-schilder-d .gp-project-tekst h2 { font-size: clamp(22px, 2vw, 30px); }
body.s-schilder-d .gp-project-tekst .gp-code { display: flex; align-items: center; gap: 10px; color: var(--grijs); }
body.s-schilder-d .gp-project-tekst .gp-chip { width: 20px; height: 20px; }
body.s-schilder-d .gp-project-staal { grid-column: 5 / 7; display: flex; flex-direction: column; justify-content: flex-end; }
body.s-schilder-d .gp-project-staal .gp-gu { color: inherit; opacity: .8; }
body.s-schilder-d .gp-project:nth-child(even) .gp-project-foto { grid-column: 3 / 7; }
body.s-schilder-d .gp-project:nth-child(even) .gp-project-tekst, body.s-schilder-d .gp-project:nth-child(even) .gp-project-staal { grid-column: 1 / 3; }
body.s-schilder-d .gp-feiten { margin: 22px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
body.s-schilder-d .gp-feiten div { border-top: 1px solid #dedad2; padding-top: 8px; }
body.s-schilder-d .gp-feiten dt { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--grijs); font-weight: 700; }
body.s-schilder-d .gp-feiten dd { margin: 2px 0 0; font-weight: 600; }
body.s-schilder-d .gp-wand-kp { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.s-schilder-d .gp-kp { min-height: 320px; display: flex; flex-direction: column; justify-content: flex-end; padding: 44px 30px 26px; }
body.s-schilder-d .gp-kp h3 { font-size: 20px; }
body.s-schilder-d .gp-kp p { margin: 0 0 8px; font-size: 15px; }
body.s-schilder-d .gp-kp .gp-meta { margin: 6px 0 0; font-size: 12.5px; letter-spacing: .06em; font-weight: 700; opacity: .85; }
body.s-schilder-d .gp-kp.gp-licht p { color: #2d3034; }
body.s-schilder-d .gp-kp .gp-greep-v { top: 34%; }

/* over ons */
body.s-schilder-d .gp-kop-portret { min-height: 520px; }
body.s-schilder-d .gp-verhaal { grid-column: 1 / 5; grid-row: 1 / 3; }
body.s-schilder-d .gp-verhaal p { max-width: 62ch; }
body.s-schilder-d .gp-citaat { font: 300 clamp(18px, 1.6vw, 22px)/1.4 "GP Unbounded", sans-serif; color: var(--blauw); margin: 30px 0 0; padding-top: 24px; border-top: 1px solid #dedad2; }
body.s-schilder-d .gp-citaat span { display: block; margin-top: 10px; font: 700 12px/1 "GP Manrope", sans-serif; font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--grijs); }
body.s-schilder-d .gp-cijfers { grid-column: 5 / 7; list-style: none; margin: 0; display: grid; gap: 18px; }
body.s-schilder-d .gp-cijfers li { display: flex; flex-direction: column; border-bottom: 1px solid #dedad2; padding-bottom: 14px; }
body.s-schilder-d .gp-cijfers li:last-child { border: 0; padding: 0; }
body.s-schilder-d .gp-cijfers b { font: 600 30px/1.05 "GP Unbounded", sans-serif; }
body.s-schilder-d .gp-cijfers span { font-size: 14px; color: var(--grijs); }
body.s-schilder-d .gp-showroom { grid-column: 5 / 7; padding: 30px 54px 30px 30px; min-height: 280px; display: flex; flex-direction: column; justify-content: flex-end; }
body.s-schilder-d .gp-showroom p:last-child { margin: 0; font-size: 15px; color: #d5d9de; }
body.s-schilder-d .gp-wand-cabine { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.s-schilder-d .gp-wand-cabine h3 { font-size: 19px; }
body.s-schilder-d .gp-wand-cabine p { margin: 0; font-size: 15px; color: #3b3e42; }
body.s-schilder-d #werkwijze, body.s-schilder-d #cabine, body.s-schilder-d #vragen { scroll-margin-top: 40px; }
body.s-schilder-d .gp-wand-stappen { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.s-schilder-d .gp-stap { min-height: 260px; display: flex; flex-direction: column; }
body.s-schilder-d .gp-stap-nr { font: 200 56px/1 "GP Unbounded", sans-serif; color: var(--messing-t); padding-bottom: 40px; }
body.s-schilder-d .gp-stap h3 { font-size: clamp(15px, 1.25vw, 18px); overflow-wrap: anywhere; }
body.s-schilder-d .gp-stap p { margin: 0; font-size: 14.5px; color: #3b3e42; }
body.s-schilder-d .gp-stap:nth-child(3) { background: #ece8df; }

/* contact */
body.s-schilder-d .gp-form { grid-column: 1 / 5; grid-row: 1 / 3; }
body.s-schilder-d .gp-form fieldset { border: 0; margin: 0 0 22px; padding: 0; min-width: 0; }
body.s-schilder-d .gp-form legend { font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; padding: 0; }
body.s-schilder-d .gp-keuzes { display: flex; flex-wrap: wrap; gap: 8px; }
body.s-schilder-d .gp-keuzes label { position: relative; }
body.s-schilder-d .gp-keuzes input, body.s-schilder-d .gp-glanskeus input { position: absolute; opacity: 0; }
body.s-schilder-d .gp-keuzes span { display: block; padding: 11px 18px; border: 1.5px solid #c9c4ba; border-radius: 2px; font-weight: 600; font-size: 15px; cursor: pointer; }
body.s-schilder-d .gp-keuzes input:checked + span { background: var(--blauw); border-color: var(--blauw); color: #fff; }
body.s-schilder-d .gp-keuzes input:focus-visible + span, body.s-schilder-d .gp-glanskeus input:focus-visible ~ span:last-child { outline: 2px solid var(--messing); outline-offset: 2px; }
body.s-schilder-d .gp-velden { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; margin-bottom: 22px; }
body.s-schilder-d .gp-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
body.s-schilder-d .gp-form .gp-breed { grid-column: 1 / -1; margin-bottom: 18px; }
body.s-schilder-d .gp-form input:not([type=radio]):not([type=file]), body.s-schilder-d .gp-form select, body.s-schilder-d .gp-form textarea {
  font: 400 16px/1.4 "GP Manrope", sans-serif; color: var(--ink); background: #fff; border: 1.5px solid #c9c4ba; border-radius: 2px; padding: 12px 14px; width: 100%; min-width: 0; }
body.s-schilder-d .gp-form input:focus, body.s-schilder-d .gp-form select:focus, body.s-schilder-d .gp-form textarea:focus { outline: none; border-color: var(--blauw); box-shadow: 0 0 0 3px rgba(30,43,58,.15); }
body.s-schilder-d .gp-form input[type=file] { font: 400 14px "GP Manrope", sans-serif; padding: 14px; border: 1.5px dashed #b9b4a9; border-radius: 2px; background: #fbfaf7; max-width: 100%; }
body.s-schilder-d .gp-glanskeuzes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.s-schilder-d .gp-glanskeus { position: relative; cursor: pointer; font-weight: 600; font-size: 13.5px; }
body.s-schilder-d .gp-mini { display: block; aspect-ratio: 4 / 3; border-radius: 3px; outline: 2px solid transparent; outline-offset: 3px; }
body.s-schilder-d .gp-glanskeus input:checked + .gp-mini { outline-color: var(--messing); }
body.s-schilder-d .gp-form-voet { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
body.s-schilder-d .gp-form-voet .gp-klein { margin: 0; }
body.s-schilder-d .gp-adres { grid-column: 5 / 7; }
body.s-schilder-d .gp-tijden { list-style: none; margin: 14px 0; padding: 0; }
body.s-schilder-d .gp-tijden li span:last-child { white-space: nowrap; }
body.s-schilder-d .gp-tijden li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid #dedad2; font-size: 14.5px; }
body.s-schilder-d .gp-brengen { grid-column: 5 / 7; padding: 30px 54px 30px 30px; display: flex; flex-direction: column; justify-content: flex-end; min-height: 300px; }
body.s-schilder-d .gp-brengen p:last-child { margin: 0; font-size: 15px; }
body.s-schilder-d .gp-vragen-kop { grid-column: 1 / 3; }
body.s-schilder-d .gp-vragen-kop p { color: #3b3e42; }
body.s-schilder-d .gp-vragen { grid-column: 3 / 7; padding-top: 14px; padding-bottom: 14px; }
body.s-schilder-d .gp-vraag { border-bottom: 1px solid #dedad2; }
body.s-schilder-d .gp-vraag:last-child { border: 0; }
body.s-schilder-d .gp-vraag summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 18px 0; font: 500 16px/1.35 "GP Unbounded", sans-serif; }
body.s-schilder-d .gp-vraag summary::-webkit-details-marker { display: none; }
body.s-schilder-d .gp-vraag summary::after { content: ""; flex: none; width: 22px; height: 6px; border-radius: 2px; background: linear-gradient(180deg, #7d5f2c, #e2c387 45%, #a07c42); transition: transform .2s; }
body.s-schilder-d .gp-vraag[open] summary::after { transform: rotate(90deg); }
body.s-schilder-d .gp-vraag p { margin: 0 0 20px; max-width: 64ch; color: #3b3e42; }

/* ── voet ─────────────────────────────────────────────────────────── */
body.s-schilder-d .gp-voet { background: var(--blauw-d); color: #c9ced4; font-size: 14.5px; position: relative; isolation: isolate; overflow: hidden; }
body.s-schilder-d .gp-voet::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, #7d5f2c, #e2c387 30%, #f3dfae 50%, #a07c42 70%, #7d5f2c); }
body.s-schilder-d .gp-voet-in { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding: clamp(48px, 6vw, 80px) var(--rand) 48px; max-width: 1360px; }
body.s-schilder-d .gp-voet h2 { font: 700 11.5px/1 "GP Manrope", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #d8bb85; margin: 6px 0 18px; }
body.s-schilder-d .gp-voet a { color: #eceae4; text-decoration: none; }
body.s-schilder-d .gp-voet a:hover { text-decoration: underline; }
body.s-schilder-d .gp-voet-woord { display: flex; align-items: center; gap: 12px; font: 600 32px/1 "GP Unbounded", sans-serif; color: #fff; margin-bottom: 18px; }
body.s-schilder-d .gp-voet-woord .gp-mark { width: 40px; height: 40px; }
body.s-schilder-d .gp-voet-merk > p { max-width: 38ch; }
body.s-schilder-d .gp-voet-links, body.s-schilder-d .gp-voet-tijden { list-style: none; margin: 0; padding: 0; }
body.s-schilder-d .gp-voet-links li { padding: 4px 0; }
body.s-schilder-d .gp-voet-tijden li { display: flex; flex-direction: column; padding: 0 0 10px; }
body.s-schilder-d .gp-voet-tijden li span:last-child { color: #fff; font-weight: 600; }
body.s-schilder-d .gp-voet .gp-klein { color: #a9b1ba; }
body.s-schilder-d .gp-voet-stalen { margin-top: 26px; }
body.s-schilder-d .gp-voet-stalen p { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #a9b1ba; margin-bottom: 10px; }
body.s-schilder-d .gp-voet-stalen ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
body.s-schilder-d .gp-voet-stalen li { width: 72px; height: 92px; border-radius: 2px; background: var(--kl); position: relative; display: flex; align-items: flex-end; padding: 6px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); font-size: 9.5px; line-height: 1.15; font-weight: 700; letter-spacing: .04em; }
body.s-schilder-d .gp-voet-stalen li.gp-licht { color: #191b1e; }
body.s-schilder-d .gp-voet-stalen li.gp-donker { color: #f3f1ec; }
body.s-schilder-d .gp-voet-onder { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; margin: 0; padding: 20px var(--rand) 26px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; color: #a9b1ba; max-width: 1360px; }
body.s-schilder-d .gp-voet-onder a { color: #d8bb85; font-weight: 700; }

/* ── "Over deze website" in deze huisstijl ────────────────────────── */
body.s-schilder-d .ods-wrap { background: var(--bg); }

/* ── smaller ──────────────────────────────────────────────────────── */
@media (max-width: 1240px) {
  body.s-schilder-d { --zij: 236px; }
  body.s-schilder-d .gp-zij-in { padding: 26px 22px 22px; }
  body.s-schilder-d .gp-nav a { font-size: 18px; }
  body.s-schilder-d .gp-woord { font-size: 20px; }
  body.s-schilder-d .gp-ods { margin-left: 22px; }
  body.s-schilder-d .gp-t-meubel { grid-template-columns: 1fr; }
  body.s-schilder-d .gp-t-meubel .gp-t-foto { min-height: 200px; }
  body.s-schilder-d .gp-wand-stappen { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.s-schilder-d .gp-wand-cabine, body.s-schilder-d .gp-wand-zorg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-schilder-d .gp-voet-in { grid-template-columns: 1fr 1fr; }
  body.s-schilder-d .gp-drie { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
  body.s-schilder-d { --zij: 0px; }
  body.s-schilder-d .gp-zij { position: relative; width: auto; bottom: auto; overflow: visible; }
  body.s-schilder-d .gp-zij::before { right: 90px; width: 30px; }
  body.s-schilder-d .gp-zij::after { right: 130px; }
  body.s-schilder-d .gp-zij-in { height: auto; display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 14px 16px; overflow: visible; }
  body.s-schilder-d .gp-mark { width: 32px; height: 32px; }
  body.s-schilder-d .gp-woord { font-size: 19px; }
  body.s-schilder-d .gp-woord small { font-size: 9.5px; margin-top: 5px; }
  body.s-schilder-d .gp-menuknop { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid rgba(233,230,223,.45); border-radius: 2px; cursor: pointer;
    font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
  body.s-schilder-d .gp-streepjes { position: relative; width: 18px; height: 2px; background: currentColor; }
  body.s-schilder-d .gp-streepjes::before, body.s-schilder-d .gp-streepjes::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor; transition: transform .2s; }
  body.s-schilder-d .gp-streepjes::before { top: -6px; }
  body.s-schilder-d .gp-streepjes::after { top: 6px; }
  body.s-schilder-d .gp-schakel:checked + .gp-menuknop .gp-streepjes { background: transparent; }
  body.s-schilder-d .gp-schakel:checked + .gp-menuknop .gp-streepjes::before { transform: translateY(6px) rotate(45deg); }
  body.s-schilder-d .gp-schakel:checked + .gp-menuknop .gp-streepjes::after { transform: translateY(-6px) rotate(-45deg); }
  body.s-schilder-d .gp-schakel:focus-visible + .gp-menuknop { outline: 2px solid var(--messing); outline-offset: 2px; }
  body.s-schilder-d .gp-paneel { display: none; grid-column: 1 / -1; padding: 8px 0 10px; }
  body.s-schilder-d .gp-schakel:checked ~ .gp-paneel { display: flex; }
  body.s-schilder-d .gp-nav ul { margin-top: 18px; }
  body.s-schilder-d .gp-nav a { font-size: 24px; padding: 10px 0 10px 20px; }
  body.s-schilder-d .gp-ods { margin-left: 20px; }
  body.s-schilder-d .gp-zij-info { padding-top: 24px; }

  body.s-schilder-d .gp-open-kop, body.s-schilder-d .gp-sectie-kop { grid-template-columns: 1fr; }
  body.s-schilder-d .gp-sectie-kop-rij { grid-template-columns: 1fr; }
  body.s-schilder-d .gp-wand, body.s-schilder-d .gp-kopwand, body.s-schilder-d .gp-dienst, body.s-schilder-d .gp-project { grid-template-columns: 1fr; grid-template-rows: none; }
  body.s-schilder-d .gp-wand > *, body.s-schilder-d .gp-kopwand > *, body.s-schilder-d .gp-dienst > *, body.s-schilder-d .gp-project > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
  body.s-schilder-d .gp-t-keuken { min-height: 520px; }
  body.s-schilder-d .gp-lade-in { grid-template-columns: 1fr; }
  body.s-schilder-d .gp-wand-pt > * { min-height: 300px; }
  body.s-schilder-d .gp-pt-1 { min-height: 420px !important; }
  body.s-schilder-d .gp-kop-titel { min-height: 0; }
  body.s-schilder-d .gp-kop-foto { min-height: 300px; }
  body.s-schilder-d .gp-kop-portret { min-height: 420px; }
  body.s-schilder-d .gp-project-foto { min-height: 340px; }
  body.s-schilder-d .gp-project-staal { min-height: 180px; }
  body.s-schilder-d .gp-d-beeld { min-height: 260px; }
  body.s-schilder-d .gp-kopwand { margin-left: 16px; margin-right: 16px; }
  body.s-schilder-d .gp-voet-in { grid-template-columns: 1fr 1fr; }
  body.s-schilder-d .gp-voet-merk { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  body.s-schilder-d { font-size: 16px; }
  body.s-schilder-d .gp-open h1 { font-size: clamp(34px, 10vw, 46px); }
  body.s-schilder-d .gp-h-breed .gp-hang-paneel { width: 300px; height: 300px; }
  body.s-schilder-d .gp-h-hoog .gp-hang-paneel { width: 130px; height: 320px; }
  body.s-schilder-d .gp-h-mid .gp-hang-paneel { width: 240px; height: 280px; }
  body.s-schilder-d .gp-h-lade .gp-hang-paneel { width: 190px; height: 120px; }
  body.s-schilder-d .gp-h-mid-s .gp-hang-paneel { width: 170px; height: 240px; }
  body.s-schilder-d .gp-h-hoog-f .gp-hang-paneel { width: 220px; height: 320px; }
  body.s-schilder-d .gp-rek-rij { gap: 18px; }
  body.s-schilder-d .gp-label { max-width: 190px; font-size: 11.5px; }
  body.s-schilder-d .gp-rek-voet { flex-direction: column; gap: 6px; }
  body.s-schilder-d .gp-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
  body.s-schilder-d .gp-glans-mini .gp-ladder { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  body.s-schilder-d .gp-glans-mini .gp-plaat-naam { font-size: 13px; }
  body.s-schilder-d .gp-glans-mini .gp-gu { display: none; }
  body.s-schilder-d .gp-drie-kaders { grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
  body.s-schilder-d .gp-drie-kaders li { font-size: 12px; }
  body.s-schilder-d .gp-drie-kaders b { font-size: 13px; }
  body.s-schilder-d .gp-kader::after { font-size: 22px; left: 8px; top: 6px; }
  body.s-schilder-d .gp-kader-3::before { font-size: 10px; }
  body.s-schilder-d .gp-velden { grid-template-columns: 1fr; }
  body.s-schilder-d .gp-glanskeuzes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-schilder-d .gp-kop-sprongen ul { grid-template-columns: 1fr; }
  body.s-schilder-d .gp-wand-stappen, body.s-schilder-d .gp-wand-cabine, body.s-schilder-d .gp-wand-zorg { grid-template-columns: 1fr; }
  body.s-schilder-d .gp-zorg { min-height: 0; }
  body.s-schilder-d .gp-stap { min-height: 0; }
  body.s-schilder-d .gp-stap-nr { padding-bottom: 14px; font-size: 48px; }
  body.s-schilder-d .gp-feiten { grid-template-columns: 1fr 1fr; }
  body.s-schilder-d .gp-voet-in { grid-template-columns: 1fr; gap: 30px; }
  body.s-schilder-d .gp-t-keuken .gp-t-tekst { margin: 10px; padding: 22px; }
  body.s-schilder-d .gp-ladefront { grid-template-columns: 46px 1fr; padding: 30px 18px 16px; }
  body.s-schilder-d .gp-dag { font-size: 20px; }
  body.s-schilder-d .gp-reken td:nth-child(2) { display: none; }
}
