/* ---- Salon-spezifisch ---- */
.shero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:50px 0 60px}
.shero h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(38px,5vw,62px);color:var(--brown);letter-spacing:-.02em;margin:18px 0;line-height:1.03}
.shero h1 em{font-style:italic;color:var(--pink)}
.shero p.lead{font-size:18px;color:var(--muted);max-width:46ch;margin-bottom:28px}
.shero-art{position:relative}
.shero-art img{border-radius:28px;height:480px;width:100%;object-fit:cover;box-shadow:var(--shadow)}
.shero-art .hours{position:absolute;left:-22px;bottom:34px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;box-shadow:var(--shadow)}
.shero-art .hours b{font-family:'Fraunces',serif;color:var(--brown);font-size:15px;display:block;margin-bottom:6px}
.shero-art .hours span{font-size:13px;color:var(--muted);display:block;line-height:1.7}

/* services */
.services{padding:50px 0}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}
.svc{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;align-items:flex-start;transition:border-color .2s,transform .2s}
.svc:hover{border-color:var(--pink);transform:translateY(-4px)}
.svc .ic{flex-shrink:0;width:54px;height:54px;border-radius:14px;background:var(--soft-pink);display:grid;place-items:center;font-size:25px}
.svc h3{font-family:'Fraunces',serif;font-size:20px;color:var(--brown);display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.svc h3 .pr{color:var(--pink);font-weight:700;white-space:nowrap}
.svc p{font-size:14px;color:var(--muted);margin-top:5px}
.pricenote{text-align:center;font-size:13.5px;color:var(--muted);margin-top:20px}

/* steps */
.flow{padding:30px 0 50px}
.flowgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.fstep{text-align:center;padding:10px}
.fstep .n{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--pink);color:#fff;font-family:'Fraunces',serif;font-size:22px;display:grid;place-items:center}
.fstep h3{font-family:'Fraunces',serif;font-size:18px;color:var(--brown);margin-bottom:6px}
.fstep p{font-size:13.5px;color:var(--muted)}

/* booking */
.booking{padding:30px 0 70px}
.bookcard{display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.bookform{padding:42px}
.bookform h2{font-family:'Fraunces',serif;font-weight:600;font-size:30px;color:var(--brown);margin-bottom:6px}
.bookform p.sub{color:var(--muted);font-size:15px;margin-bottom:24px}
.field{margin-bottom:18px}
.field label{display:block;font-weight:700;font-size:14px;color:var(--brown);margin-bottom:7px}
.field input,.field select{width:100%;height:50px;border:1.5px solid var(--line);border-radius:12px;padding:0 16px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff}
.field input:focus,.field select:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(212,14,20,.12)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.storno{display:flex;gap:10px;background:var(--soft-pink);border-radius:12px;padding:14px 16px;font-size:13px;color:var(--brown);margin:6px 0 20px}
.bookside{position:relative;min-height:100%}
.bookside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bookside .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,35,32,.15),rgba(44,35,32,.75))}
.bookside .bc{position:absolute;left:0;right:0;bottom:0;padding:32px;color:#fff}
.bookside .bc h3{font-family:'Fraunces',serif;font-size:24px;margin-bottom:10px}
.bookside .bc li{list-style:none;display:flex;gap:9px;align-items:center;margin-bottom:8px;font-size:14.5px;color:rgba(255,255,255,.92)}

/* gallery strip */
.gstrip{padding:20px 0 60px}
.gstrip .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.gstrip img{height:220px;width:100%;object-fit:cover;border-radius:16px}

@media(max-width:920px){.shero{grid-template-columns:1fr;gap:30px}.shero-art img{height:360px}.svc-grid,.flowgrid{grid-template-columns:1fr 1fr}.bookcard{grid-template-columns:1fr}.bookside{min-height:240px}.gstrip .grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.svc-grid,.flowgrid,.frow,.gstrip .grid{grid-template-columns:1fr}.bookform{padding:28px}}
