/* ============================================================
   VERDA — Naturfriseur & Lifestyle-Spa
   Black-&-white editorial salon, single sage-green mark accent
   ============================================================ */
:root{
  --ink:#242424;
  --ink-soft:#3a3a3a;
  --muted:#8a8a8a;
  --line:#e6e6e6;
  --bg:#ffffff;
  --bg-soft:#f6f5f3;
  --sage:#7c8f5e;
  --black:#111111;
  --maxw:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Poppins",system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* every photograph reads as elegant B&W */
.hero .slide,.loc-photo,.video-frame,.special,.svc-photo,.appoint-photo,.foot-stones,.about-botanic,.svc-img{
  filter:grayscale(1);
}
.about-botanic,.svc-img{transition:filter .5s var(--ease)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.86rem;font-weight:500;letter-spacing:.02em;
  padding:.85em 1.9em;border-radius:40px;border:1px solid transparent;
  cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s;
}
.btn-dark{background:var(--black);color:#fff}
.btn-dark:hover{transform:translateY(-2px);background:#000}
.btn-line{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.82rem;font-weight:500;letter-spacing:.06em;color:var(--ink);
}
.btn-line .ph{color:var(--sage)}
.btn-line:hover{color:var(--sage)}

/* ============ HEADER ============ */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.bar{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:20px;min-height:82px;
}
.nav-left{display:flex;gap:26px;align-items:center}
.nav-link{
  font-size:.74rem;font-weight:500;letter-spacing:.12em;color:var(--ink-soft);
  padding:6px 0;position:relative;transition:color .2s;
}
.nav-link:hover{color:var(--black)}
.nav-link.is-active{color:var(--black)}
.nav-link.is-active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--sage);
}
.brand{display:flex;align-items:center;gap:12px;justify-self:center}
.brand-mark svg{display:block}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{
  font-size:2rem;font-weight:600;letter-spacing:.02em;color:#5f6f45;
  font-family:"Poppins";
}
.brand-sub{font-size:.58rem;letter-spacing:.24em;color:var(--muted);text-transform:uppercase;margin-top:2px}
.nav-right{display:flex;align-items:center;gap:22px;justify-self:end}
.hours{display:flex;align-items:center;gap:10px}
.hours-txt{font-size:.72rem;color:var(--ink-soft);line-height:1.5}
.hours-txt b{font-weight:600;color:var(--black)}
.cta-stack{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.cta-stack .btn-dark{padding:.6em 1.4em;font-size:.72rem;letter-spacing:.08em;justify-content:center}
.cta-stack .btn-line{justify-content:center;font-size:.72rem}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:var(--ink);transition:.3s}

/* ============ HERO ============ */
.hero{position:relative;height:min(78vh,640px);overflow:hidden;background:#ddd}
.hero-track{position:absolute;inset:0}
.slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;
  background:linear-gradient(90deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.72) 63%),var(--img) 50% 26%/cover no-repeat;
  transition:opacity 1s var(--ease);
  display:flex;align-items:center;
}
.hero .slide{filter:grayscale(1) contrast(1.05)}
.slide.is-active{opacity:1;visibility:visible}
.slide-copy{margin-left:auto;width:min(48%,560px);padding:0 7vw 0 0;text-align:right}
.eyebrow{
  font-size:clamp(.9rem,1.6vw,1.35rem);letter-spacing:.03em;color:#4a4a4a;font-weight:300;
  text-transform:uppercase;margin-bottom:.4em;
}
.slide h1{
  font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:300;line-height:1.06;color:#222;
  letter-spacing:-.01em;
}
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  background:none;border:0;color:#8a8a8a;font-size:2.6rem;line-height:1;cursor:pointer;
  padding:10px 16px;transition:color .2s,transform .2s;font-weight:300;
}
.hero-arrow:hover{color:#222}
.hero-arrow.prev{left:8px}.hero-arrow.next{right:8px}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:4}
.hero-dots button{width:9px;height:9px;border-radius:50%;border:1px solid #9a9a9a;background:transparent;cursor:pointer;padding:0}
.hero-dots button.on{background:var(--sage);border-color:var(--sage)}

/* ============ STANDORT ============ */
.location{
  display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center;
  padding:96px 28px;
}
.loc-city{font-size:2rem;font-weight:600;letter-spacing:.01em;color:var(--black)}
.loc-addr{font-size:1.05rem;letter-spacing:.06em;color:#4a4a4a;margin-top:14px;font-weight:300}
.loc-phone{font-size:1.6rem;font-weight:600;color:var(--black);margin:16px 0 18px;letter-spacing:.04em}
.loc-text{color:#6f6f6f;font-size:.95rem;max-width:44ch;font-weight:300}
.btn-pin{margin-top:26px}
.loc-media{position:relative}
.loc-photo{
  position:relative;border-radius:2px;aspect-ratio:16/10;
  background:var(--img) center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;
}
.loc-overlay{
  background:rgba(255,255,255,.72);backdrop-filter:blur(1px);
  padding:26px 30px;max-width:62%;text-align:center;color:#333;
}
.loc-overlay h3{font-size:1.15rem;font-weight:600;letter-spacing:.08em;color:#222;margin-bottom:10px}
.loc-overlay p{font-size:.82rem;line-height:1.6;color:#4a4a4a;font-weight:300}
.loc-more{display:flex;gap:14px 36px;flex-wrap:wrap;align-items:center;margin-top:24px;font-size:.82rem;letter-spacing:.06em}
.loc-more-label{color:#555;font-weight:500}
.loc-branch{display:inline-flex;align-items:center;gap:8px;color:#555;text-transform:uppercase;font-weight:300}
.loc-branch i{color:var(--sage);font-style:normal}

/* ============ ÜBER UNS ============ */
.about{background:var(--bg-soft);position:relative;overflow:hidden}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:90px 28px;position:relative}
.video-frame{
  position:relative;aspect-ratio:4/3;background:var(--img) center/cover no-repeat;border-radius:2px;
}
.play{
  position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;
  background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.85);color:#fff;
  font-size:1.3rem;cursor:pointer;display:grid;place-items:center;transition:transform .25s,background .25s;
}
.play span{margin-left:4px}
.play:hover{transform:scale(1.08);background:rgba(255,255,255,.4)}
.about-title{font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:300;line-height:1.1;color:#2a2a2a;margin-bottom:20px}
.about-title b{font-weight:500;color:#222}
.about-title .thin{color:#b6b6b6;font-weight:300}
.about-copy p{color:#6c6c6c;font-size:.96rem;margin-bottom:16px;max-width:46ch;font-weight:300}
.about-copy .btn{margin-top:10px}
.about-botanic{
  position:absolute;right:-40px;bottom:-30px;width:230px;height:auto;
  filter:grayscale(1) contrast(1.02);opacity:.9;pointer-events:none;
}
.about-inner:hover .about-botanic{filter:grayscale(0)}

/* ============ ANGEBOT ============ */
.special{
  position:relative;background:var(--img) center/cover no-repeat;
  min-height:440px;display:flex;align-items:center;
}
.special::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,240,240,.15) 0%,rgba(245,245,245,.65) 55%,rgba(248,248,248,.9) 100%)}
.special-inner{position:relative;z-index:2;width:100%}
.special-copy{margin-left:auto;width:min(52%,620px);text-align:right}
.special-eyebrow{font-size:clamp(1rem,1.8vw,1.5rem);font-weight:300;color:#4a4a4a}
.special-title{font-size:clamp(2rem,4.4vw,3.3rem);font-weight:300;color:#1f1f1f;line-height:1.08;margin:.1em 0 .5em}
.special-text{color:#5f5f5f;font-size:.92rem;font-weight:300;border-right:2px solid #cfcfcf;padding-right:22px;margin-left:auto;max-width:52ch}

/* ============ LEISTUNGEN ============ */
.services{padding:96px 0 90px}
.sec-head{text-align:center;margin-bottom:64px}
.sec-head h2{font-size:1.9rem;font-weight:500;letter-spacing:.14em;color:#2b2b2b}
.sec-rule{display:inline-block;margin-top:16px;width:120px;height:2px;background:var(--line);position:relative}
.sec-rule i{position:absolute;left:50%;transform:translateX(-50%);top:0;width:40px;height:2px;background:#2b2b2b}
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:70px}
.svc-row:last-child{margin-bottom:0}
.svc-photo{
  position:relative;aspect-ratio:4/3;background:var(--img) center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;
}
.svc-photo::after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.6)}
.svc-photo-cap{position:relative;z-index:2;text-align:center;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35);padding:0 24px}
.svc-photo-cap h3{font-size:1.9rem;font-weight:300;margin-bottom:8px}
.svc-photo-cap p{font-size:.82rem;font-weight:300;max-width:30ch;margin:0 auto}
.svc-h{font-size:1.5rem;font-weight:600;letter-spacing:.02em;color:#222}
.svc-lead{color:#7a7a7a;font-size:.92rem;font-weight:300;margin:.4em 0 1.4em}
.price{list-style:none;margin-bottom:26px}
.price li{display:flex;align-items:baseline;gap:12px;padding:9px 0}
.p-name{font-size:.95rem;color:#3a3a3a;font-weight:300;white-space:nowrap}
.p-dot{flex:1;border-bottom:1px dashed #cdcdcd;transform:translateY(-4px)}
.p-val{font-size:.95rem;font-weight:600;color:#1f1f1f;white-space:nowrap}
.svc-img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:2px}
.svc-row.reverse .svc-img:hover{filter:grayscale(0)}

/* ============ TERMIN ============ */
.appoint{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.appoint-photo{background:var(--img) center/cover no-repeat}
.appoint-form-wrap{background:var(--bg-soft);display:flex;align-items:center;padding:60px 6% ;position:relative}
.appoint-form-wrap::before{
  content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;
  background:radial-gradient(circle at 70% 30%,#7c8f5e 0,transparent 60%);
}
.appoint-form{width:100%;max-width:460px;position:relative;z-index:2}
.appoint-kicker{font-size:1.3rem;font-weight:300;color:#3a3a3a}
.appoint-h{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:300;line-height:1.12;color:#2b2b2b;margin-bottom:.5em}
.appoint-h .thin{color:#b0b0b0}
.appoint-h i{font-weight:500;font-style:italic;color:#222}
.appoint-sub{font-size:1.8rem;font-weight:700;letter-spacing:.02em;color:#1a1a1a;margin-bottom:22px}
#bookForm input,#bookForm select{
  width:100%;padding:.85em 1em;margin-bottom:12px;border:1px solid #dcdcdc;border-radius:6px;
  font-family:inherit;font-size:.9rem;color:#333;background:#fff;font-weight:300;
}
#bookForm input:focus,#bookForm select:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(124,143,94,.15)}
#bookForm input[aria-invalid="true"],#bookForm select[aria-invalid="true"]{border-color:#c9553d;box-shadow:0 0 0 3px rgba(201,85,61,.12)}
.sel-wrap{position:relative}
.sel-wrap::after{content:"⌄";position:absolute;right:16px;top:8px;color:#999;pointer-events:none;font-size:1.1rem}
#bookForm select{appearance:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.send-choice{display:flex;gap:20px;margin:6px 0 18px;font-size:.82rem;color:#555;font-weight:300}
.send-choice label{display:flex;align-items:center;gap:7px;cursor:pointer}
.send-choice input{accent-color:var(--sage)}
.btn-submit{width:auto;padding:.85em 2.6em;font-size:.82rem;letter-spacing:.08em}
.form-note{margin-top:12px;font-size:.82rem;color:var(--sage);min-height:1.2em;font-weight:400}
.form-note.err{color:#c9553d}

/* ============ STIMMEN ============ */
.testi{
  position:relative;padding:90px 20px 96px;text-align:center;color:#333;
  background:#f2f2f0;overflow:hidden;
}
.testi::before{
  content:"";position:absolute;inset:0;opacity:.06;
  background:url('/assets/img/hero-2.jpg') center/cover;filter:grayscale(1);
}
.testi-inner{position:relative;z-index:2;max-width:760px;margin:0 auto}
.quote-mark{font-size:4rem;font-weight:700;color:#1f1f1f;line-height:.6;display:inline-block}
#tQuote{font-size:1.06rem;font-weight:300;color:#555;font-style:normal;line-height:1.85;margin:18px auto 26px;max-width:64ch}
.testi-name{font-size:1rem;font-weight:600;letter-spacing:.1em;color:#222;font-style:italic}
.testi-name::before{content:"";display:inline-block;width:34px;height:1px;background:#9a9a9a;vertical-align:middle;margin-right:14px;transform:translateY(-2px)}
.testi-nav{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:34px}
.t-arrow{background:none;border:0;font-size:2rem;color:#9a9a9a;cursor:pointer;font-weight:300;transition:color .2s}
.t-arrow:hover{color:#222}
.testi-avatars{display:flex;align-items:center;gap:16px}
.t-av{
  width:56px;height:56px;border-radius:50%;background-size:cover;background-position:center;
  filter:grayscale(1);opacity:.5;cursor:pointer;transition:.3s;border:2px solid transparent;
}
.t-av.on{width:88px;height:88px;opacity:1;filter:grayscale(0);border-color:#fff;box-shadow:0 6px 22px rgba(0,0,0,.18)}

/* ============ FOOTER ============ */
.site-footer{position:relative;background:#fff;padding:52px 20px 40px;text-align:center;overflow:hidden;border-top:1px solid var(--line)}
.foot-mark{display:inline-block;margin-bottom:22px}
.foot-nav{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;font-size:.9rem;color:#444;font-weight:300}
.foot-nav a:hover{color:var(--sage)}
.foot-nav i{color:#cfcfcf}
.foot-social{display:flex;gap:12px;justify-content:center;margin:26px 0 18px}
.soc{width:38px;height:38px;border-radius:50%;background:#2b2b2b;color:#fff;display:grid;place-items:center;font-size:.9rem;transition:background .25s,transform .25s}
.soc:hover{background:var(--sage);transform:translateY(-2px)}
.foot-copy{font-size:.78rem;color:#9a9a9a;font-style:italic;font-weight:300}
.foot-copy a{color:#7a7a7a}.foot-copy a:hover{color:var(--sage)}
.foot-stones{
  position:absolute;right:0;bottom:0;width:340px;height:210px;
  background:var(--img) right bottom/contain no-repeat;opacity:.5;pointer-events:none;
}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .hours{display:none}
  .nav-left{gap:18px}
  .nav-link{font-size:.68rem;letter-spacing:.08em}
}
@media (max-width:920px){
  .bar{grid-template-columns:auto 1fr auto;min-height:70px}
  .burger{display:flex;order:-1}
  .nav-left{
    position:fixed;top:70px;left:0;right:0;background:#fff;flex-direction:column;
    padding:20px 28px;gap:6px;border-bottom:1px solid var(--line);align-items:flex-start;
    transform:translateY(-140%);transition:transform .35s var(--ease);z-index:40;
  }
  .nav-left.open{transform:translateY(0)}
  .nav-link{padding:10px 0;font-size:.8rem;letter-spacing:.12em}
  .brand{justify-self:start}
  .brand-name{font-size:1.6rem}
  .nav-right .cta-stack{display:none}
  .slide-copy{width:70%;padding-right:5vw}
  .location{grid-template-columns:1fr;gap:36px;padding:70px 28px}
  .about-inner{grid-template-columns:1fr;gap:40px;padding:64px 28px}
  .about-botanic{display:none}
  .svc-row,.svc-row.reverse{grid-template-columns:1fr;gap:28px}
  .svc-row.reverse .svc-list{order:2}
  .appoint{grid-template-columns:1fr}
  .appoint-photo{min-height:320px}
  .loc-overlay{max-width:80%}
}
@media (max-width:560px){
  .container{padding:0 18px}
  .slide{background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.82) 78%),var(--img) 50% 22%/cover no-repeat}
  .slide-copy{width:100%;padding:0 24px 40px;text-align:center;align-self:flex-end;margin:0}
  .hero{height:70vh}
  .special-copy,.special-text{text-align:center;width:100%;border-right:0;padding-right:0}
  .special::after{background:linear-gradient(180deg,rgba(245,245,245,.35),rgba(248,248,248,.85))}
  .two{grid-template-columns:1fr}
  .foot-stones{width:200px;height:130px;opacity:.35}
  .loc-overlay{max-width:92%;padding:18px}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .slide{transition:opacity .01ms}
  .btn,.soc,.play,.t-av{transition:none}
}
