/* Barber Alend, Almere
   Afgelezen van zijn eigen foto's: witte wanden, grafietgrijze panelen, chroom,
   en op de handdoek één rode Wahl-tondeuse. Dus wit en grafiet, en rood alleen
   waar je kunt klikken. Bodoni voor de koppen omdat een scheermes ook dun en
   scherp is; Space Grotesk voor de rest. Ronding nul. */

:root{
  --wit:#f7f7f6;
  --wit-diep:#ececeb;
  --grafiet:#1c1d1f;
  --staal:#5f6266;
  --lijn:#d4d5d4;
  --rood:#b2231f;
  --chroom:#9ea3a8;
}

.overslaan{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:.7rem 1rem;z-index:99}
.overslaan:focus{left:0}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--wit);color:var(--grafiet);
  font-family:"Space Grotesk",system-ui,-apple-system,sans-serif;
  font-size:clamp(1rem,.96rem + .2vw,1.06rem);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:2px solid var(--rood);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;
    scroll-behavior:auto!important}
}

h1,h2,h3{font-family:"Bodoni Moda",Didot,Georgia,serif;font-weight:400;margin:0;
  letter-spacing:-.015em}
h1{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:1.0}
h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.08}
h3{font-size:1.25rem}
p{margin:0}
.klein{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--staal);
  font-weight:700;font-family:"Space Grotesk",sans-serif}
.grijs{color:var(--staal);font-size:.9rem;margin-top:.8rem}

/* ---------------------------------------------------------- voorstelbalk */
.voorstel{background:var(--grafiet);color:#d7d8d8;font-size:.78rem;padding:.6rem 1.2rem;
  text-align:center;position:relative;z-index:60}
.voorstel b{color:#fff}
.voorstel a{color:#f07b76;text-decoration:none;white-space:nowrap}
.voorstel a:hover{text-decoration:underline}

/* ------------------------------------------------------------------- kop */
.bovenaan{position:sticky;top:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;gap:1rem;padding:.9rem clamp(1.1rem,4vw,3rem);
  background:rgba(247,247,246,.93);backdrop-filter:blur(8px);
  border-bottom:1px solid transparent;transition:border-color .2s}
.bovenaan.vast{border-bottom-color:var(--lijn)}
.merk{font-family:"Bodoni Moda",serif;font-size:1.15rem;line-height:1.02;text-decoration:none;
  text-transform:uppercase;letter-spacing:.06em}
.merk em{font-style:normal;color:var(--rood)}
.bovenaan ul{list-style:none;display:flex;align-items:center;gap:1.6rem;margin:0;padding:0}
.bovenaan a{text-decoration:none;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.bovenaan a[aria-current]{color:var(--rood)}
.nav-boek{background:var(--grafiet);color:var(--wit)!important;padding:.65rem 1.1rem;
  font-weight:700}
.nav-boek:hover{background:var(--rood)}
.menuknop{display:none;background:none;border:1px solid var(--lijn);padding:.5rem .9rem;
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}

/* ------------------------------------------------------------------ knop */
.knop{display:inline-block;text-decoration:none;background:var(--grafiet);color:var(--wit);
  padding:.95rem 1.7rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;border:1px solid var(--grafiet);transition:background .18s,color .18s}
.knop:hover{background:var(--rood);border-color:var(--rood)}
.knop-groot{padding:1.15rem 2.2rem}
.knop-rand{background:transparent;color:var(--grafiet)}
.knop-rand:hover{background:var(--grafiet);color:var(--wit)}
.knop-rand-licht{background:transparent;color:var(--wit);border-color:#4a4c50}
.knop-rand-licht:hover{background:var(--wit);color:var(--grafiet);border-color:var(--wit)}

/* ------------------------------------------------------------------ hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  align-items:stretch;min-height:calc(90vh - 90px)}
.hero-in{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(2.5rem,6vw,5rem) clamp(1.1rem,4vw,3rem)}
.hero h1{margin-top:1.1rem}
.inleiding{margin-top:1.4rem;color:#3c3e41;max-width:42ch}
.inleiding b{font-weight:700}
.hero-knoppen{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:2rem}
.nu{display:inline-flex;align-items:center;gap:.5rem;font-size:.84rem;color:#3c3e41}
.stip{width:7px;height:7px;background:var(--staal);display:inline-block;flex:none}
.hero-beeld img{width:100%;height:100%;min-height:340px;object-fit:cover}

/* ----------------------------------------------------------- de prijsladder */
.ladder-blok{background:var(--grafiet);color:#e2e3e3;
  padding:clamp(4.5rem,10vw,8rem) clamp(1.1rem,4vw,3rem)}
.ladder-blok-los{background:var(--wit);color:var(--grafiet)}
.ladder-kop{max-width:44rem;margin-bottom:3rem}
.ladder-kop h2{color:#fff}
.ladder-kop p{margin-top:.9rem;color:#a2a5a8}
.ladder{max-width:70rem}
.trede{display:grid;grid-template-columns:minmax(9.5rem,auto) 1fr auto auto;align-items:baseline;
  gap:1.6rem;padding:1.5rem 0;border-top:1px solid #34363a;text-decoration:none;
  transition:background .18s,padding .18s}
.trede:last-child{border-bottom:1px solid #34363a}
.ladder-blok-los .trede{border-color:var(--lijn)}
.trede:hover{background:rgba(178,35,31,.1);padding-inline:1rem}
.trede-prijs{font-family:"Bodoni Moda",serif;font-size:clamp(1.8rem,3.2vw,2.6rem);padding-right:1rem;
  line-height:1;color:#fff}
.ladder-blok-los .trede-prijs{color:var(--grafiet)}
.trede-naam{font-size:1.05rem}
.trede-duur{color:var(--chroom);font-size:.86rem;white-space:nowrap}
.trede-knop{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rood);
  font-weight:700;opacity:0;transition:opacity .18s;white-space:nowrap}
.trede:hover .trede-knop,.trede:focus-visible .trede-knop{opacity:1}

/* -------------------------------------------------------------- de barbier */
.man{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2rem,6vw,5rem);align-items:center;
  padding:clamp(4.5rem,10vw,8rem) clamp(1.1rem,4vw,3rem)}
.man-beeld img{width:100%;aspect-ratio:4/3;object-fit:cover}
.man-tekst h2{margin-top:.9rem}
.man-tekst p{margin-top:1.2rem;color:#3c3e41}
.man-tekst .knop{margin-top:1.9rem}
.man-om .man-beeld{order:2}

/* ------------------------------------------------------------ gereedschap */
.gereedschap{background:var(--wit-diep);padding:clamp(4.5rem,10vw,8rem) clamp(1.1rem,4vw,3rem)}
.ger-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  margin-top:2.6rem;background:var(--lijn)}
.ger-raster img{width:100%;aspect-ratio:3/2;object-fit:cover}
.ger-uit{margin-top:1.1rem;font-size:.82rem;color:var(--staal)}

/* -------------------------------------------------------------- het cijfer */
.cijfer-band{padding:clamp(4.5rem,10vw,8rem) clamp(1.1rem,4vw,3rem)}
.cijfer-in{max-width:60rem;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,5vw,4rem);
  align-items:center}
.mega{font-family:"Bodoni Moda",serif;font-size:clamp(5rem,16vw,12rem);line-height:.82;
  color:var(--rood)}
.mega-uit{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.6;color:#3c3e41;max-width:34ch}
.mega-uit b{color:var(--grafiet)}

/* ------------------------------------------------------------------- kop */
.kop{padding:clamp(3rem,7vw,5.5rem) clamp(1.1rem,4vw,3rem) clamp(2rem,4vw,3rem);max-width:54rem}
.kop h1{margin-top:.9rem}
.kop-smal{max-width:44rem}
.breed img{width:100%;height:clamp(230px,40vh,420px);object-fit:cover}

/* --------------------------------------------------------------- stappen */
.stappen{padding:clamp(2rem,5vw,3.5rem) clamp(1.1rem,4vw,3rem) clamp(4.5rem,10vw,7rem)}
.stappen ol{list-style:none;margin:0;padding:0;max-width:56rem;display:grid;gap:0}
.stappen li{display:grid;grid-template-columns:5rem 1fr;gap:1.5rem;padding:2rem 0;
  border-top:1px solid var(--lijn)}
.stappen li:last-child{border-bottom:1px solid var(--lijn)}
.nr{font-family:"Bodoni Moda",serif;font-size:2.6rem;line-height:1;color:var(--chroom)}
.stappen h3{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:1.08rem;
  letter-spacing:.01em}
.stappen p{margin-top:.5rem;color:#3c3e41}

/* ----------------------------------------------------------------- lijst */
.lijst{padding:0 clamp(1.1rem,4vw,3rem) clamp(4rem,8vw,6rem);max-width:64rem}
.groep{margin-top:2.6rem}
.groep h3{font-size:1.3rem;padding-bottom:.8rem;border-bottom:1px solid var(--grafiet)}
.regel{display:grid;grid-template-columns:1fr auto auto auto;align-items:baseline;gap:1.2rem;
  padding:1.05rem 0;border-bottom:1px solid var(--lijn);text-decoration:none;transition:background .18s}
.regel:hover{background:var(--wit-diep)}
.uitleg{display:block;color:var(--staal);font-size:.86rem;margin-top:.2rem;max-width:52ch}
.duur{color:var(--staal);font-size:.84rem;white-space:nowrap}
.bedrag{font-family:"Bodoni Moda",serif;font-size:1.4rem}
.pijl{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rood);opacity:0;
  transition:opacity .18s}
.regel:hover .pijl{opacity:1}

/* ------------------------------------------------------------------ slot */
.slot{background:var(--grafiet);color:#d7d8d8;padding:clamp(4.5rem,10vw,8rem) clamp(1.1rem,4vw,3rem)}
.slot-in{max-width:42rem}
.slot h2{color:#fff}
.slot p{margin-top:1rem;color:#a2a5a8}
.slot .knop{margin-top:1.9rem;background:var(--rood);border-color:var(--rood)}
.slot .knop:hover{background:#fff;color:var(--grafiet);border-color:#fff}
.slot-knoppen{display:flex;gap:.7rem;flex-wrap:wrap}

/* ------------------------------------------------------------- praktisch */
.praktisch{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:clamp(2rem,6vw,4.5rem);padding:clamp(4.5rem,10vw,7rem) clamp(1.1rem,4vw,3rem)}
.uren{margin:1.4rem 0 0;display:grid}
.uren div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;
  border-bottom:1px solid var(--lijn)}
.uren dd{margin:0;font-variant-numeric:tabular-nums}
.uren .dicht dd{color:var(--staal)}
.nu-groot{margin-top:1.5rem;font-family:"Bodoni Moda",serif;font-size:1.5rem}
.adres{margin-top:1.4rem;line-height:1.75}
.tel{font-family:"Bodoni Moda",serif;font-size:1.7rem;text-decoration:none;display:inline-block;
  margin-top:.5rem}
.tel:hover{color:var(--rood)}

/* ---------------------------------------------------------- afspraakhulp */
.hulp-blok{padding:0 clamp(1.1rem,4vw,3rem) clamp(3rem,6vw,4.5rem)}
.hulp{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.3rem;
  max-width:56rem;background:#fff;border:1px solid var(--lijn);padding:clamp(1.6rem,4vw,2.6rem)}
.veld{display:flex;flex-direction:column;gap:.45rem}
.veld-breed{grid-column:1/-1}
.hulp label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--staal);
  font-weight:700}
.hulp select,.hulp input,.hulp textarea{font:inherit;font-size:.96rem;padding:.82rem .9rem;
  border:1px solid var(--lijn);background:var(--wit);color:var(--grafiet);border-radius:0}
.hulp textarea{line-height:1.65;resize:vertical;min-height:11rem}
.hulp select:focus,.hulp input:focus,.hulp textarea:focus{outline:2px solid var(--rood);
  outline-offset:-1px}
.hulp-knoppen{grid-column:1/-1;display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.knop-wa{background:#1f8f4d;border-color:#1f8f4d}
.knop-wa:hover{background:#177038;border-color:#177038}
.knop-kopie{cursor:pointer}
.gedaan{opacity:0;transition:opacity .2s;font-size:.82rem;color:#1f8f4d}
.gedaan.aan{opacity:1}
.direct{padding:0 clamp(1.1rem,4vw,3rem) clamp(4rem,8vw,6rem)}
.direct-in{max-width:56rem;border-top:1px solid var(--lijn);padding-top:clamp(2.5rem,5vw,3.5rem)}
.direct p{margin-top:.9rem;color:#3c3e41}
.direct .knop{margin-top:1.5rem}

/* ------------------------------------------------------------------ voet */
.voet{background:var(--grafiet);color:#96999c;padding:clamp(3rem,6vw,4.5rem) clamp(1.1rem,4vw,3rem);
  font-size:.88rem}
.voet-in{max-width:70rem;margin:0 auto;display:grid;gap:.85rem}
.voet-naam{font-family:"Bodoni Moda",serif;font-size:1.8rem;color:#fff;text-transform:uppercase;
  letter-spacing:.05em}
.voet a{color:#dcdddd}
.voet-klein{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid #34363a;font-size:.79rem;
  max-width:62ch;line-height:1.7}
.onderbalk{display:none}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-beeld{order:-1}
  .hero-beeld img{height:auto;aspect-ratio:3/2;min-height:0}
  .man,.man-om .man-beeld,.praktisch,.cijfer-in{grid-template-columns:1fr;order:0}
  .cijfer-in{gap:1rem}
  .trede{grid-template-columns:1fr auto;gap:.3rem 1rem;padding:1.2rem 0}
  .trede-prijs{grid-row:1;grid-column:2;text-align:right}
  .trede-naam{grid-row:1;grid-column:1}
  .trede-duur{grid-column:1}
  .trede-knop{display:none}
  .stappen li{grid-template-columns:3rem 1fr;gap:1rem}
  .menuknop{display:block}
  .bovenaan{flex-wrap:wrap}
  .bovenaan ul{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:.8rem}
  body.js .bovenaan ul.open{display:flex}
  body:not(.js) .bovenaan ul{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem}
  .bovenaan ul.open a{display:block;padding:.75rem 0;border-bottom:1px solid var(--lijn)}
  .nav-boek{text-align:center;margin-top:.5rem}
  .regel{grid-template-columns:1fr auto;gap:.3rem 1rem}
  .duur{grid-column:1}
  .pijl{display:none}
  .onderbalk{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;
    border-top:1px solid var(--lijn)}
  .onderbalk a{flex:1;text-align:center;padding:.95rem .4rem;text-decoration:none;font-size:.76rem;
    letter-spacing:.12em;text-transform:uppercase;font-weight:700}
  .onderbalk .hoofdknop{background:var(--rood);color:#fff}
  body{padding-bottom:3.4rem}
}

/* de knop boven aan de onderpagina - uit de meting: de weg naar de agenda
   moet in beeld staan zodra iemand binnenkomt, niet pas na drie schermen. */
.kop-knoppen{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2rem}

/* ------------------------------------------------------- aanvraag in stappen
   Zonder JavaScript staat alles gewoon onder elkaar; met JS wordt het een
   flow van drie stappen. Klikken in plaats van typen: sneller op de telefoon
   en het bericht is preciezer. Rood blijft voor wat klikbaar is. */
.stap-balk{display:none;grid-column:1/-1;align-items:center;gap:1rem;margin-bottom:.4rem}
body.js .stap-balk{display:flex}
.stap-tel{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--staal);
  font-weight:700;white-space:nowrap}
.stap-lijn{flex:1;height:2px;background:var(--lijn);position:relative}
.stap-lijn span{position:absolute;inset:0 auto 0 0;background:var(--rood);width:33%;
  transition:width .35s cubic-bezier(.16,1,.3,1)}

body.js .stap{display:none;grid-column:1/-1}
body.js .stap.aan{display:block}
.stap-titel{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.1;margin-bottom:1.4rem}

.keuzes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.keuze{display:flex;flex-direction:column;gap:.25rem;text-align:left;font:inherit;cursor:pointer;
  background:var(--wit);border:1px solid var(--lijn);padding:1rem 1.15rem;color:var(--grafiet);
  transition:border-color .18s,background .18s}
.keuze:hover{border-color:var(--rood)}
.keuze[aria-pressed="true"]{background:var(--grafiet);border-color:var(--grafiet);color:var(--wit)}
.keuze-naam{font-weight:500}
.keuze-bij{font-size:.8rem;color:var(--staal)}
.keuze[aria-pressed="true"] .keuze-bij{color:var(--chroom)}

.stap-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  margin-top:1.6rem;flex-wrap:wrap}
.terug{background:none;border:0;font:inherit;font-size:.84rem;color:var(--staal);cursor:pointer;
  padding:.4rem 0}
.terug:hover{color:var(--grafiet)}
.samenvat{grid-column:1/-1;border-left:2px solid var(--rood);padding:.85rem 1.1rem;
  background:var(--wit-diep);font-size:.92rem;margin-bottom:1.3rem}
.samenvat b{font-weight:700}
body:not(.js) .samenvat,body:not(.js) .stap-nav{display:none}

/* ------------------------------------------------------------------ verloop
   Wat er gebeurt nadat je op verzenden drukt. Zonder dit blok weet niemand
   of hij nu een afspraak heeft of alleen een appje heeft gestuurd. */
.verloop{padding:0 clamp(1.1rem,4vw,3rem) clamp(3.5rem,7vw,5rem)}
.verloop-in{max-width:56rem;border-top:1px solid var(--lijn);padding-top:clamp(2.5rem,5vw,3.5rem)}
.verloop-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:clamp(1.4rem,3vw,2.4rem);margin-top:2rem}
.verloop-stap{border-top:2px solid var(--grafiet);padding-top:1rem}
.verloop-nr{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rood);
  font-weight:700;display:block;margin-bottom:.5rem}
.verloop-stap h3{font-family:"Space Grotesk",sans-serif;font-size:1.02rem;font-weight:700;
  margin-bottom:.35rem}
.verloop-stap p{font-size:.9rem;color:#3c3e41}
body.js .veld-select{display:none}

/* de prijsregel vertelt nu ook waarvoor je komt, niet alleen wat het kost */
.trede-naam{display:block}
.trede-waarvoor{display:block;font-size:.84rem;color:var(--chroom);margin-top:.25rem}
.ladder-blok-los .trede-waarvoor{color:var(--staal)}
