.hero{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center;margin-bottom:2rem}
@media(min-width:800px){.hero{grid-template-columns:3fr 2fr}}
.hero img{border-radius:16px;width:100%;max-height:220px;object-fit:cover;height:auto}
.hero p{color:var(--muted);margin:.25rem 0 0}
.booking{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:900px){.booking{grid-template-columns:2fr 1fr}.summary{position:sticky;top:1rem;align-self:start}}
.step{margin-bottom:1.5rem}
.step-title{font-size:1.2rem;font-weight:700;margin:0 0 .75rem;display:flex;align-items:center;gap:.6rem}
.step-num{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;align-items:center;justify-content:center;font-size:.9rem}
fieldset{border:0;padding:0;margin:0}
legend{padding:0}
.services{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.75rem}
.service{border:2px solid var(--line);border-radius:12px;padding:.9rem;background:#fff;display:flex;flex-direction:column;gap:.4rem}
.service.selected{border-color:var(--accent);background:var(--soft)}
.service h3{font-size:1rem;margin:0}
.service p{margin:0;font-size:.9rem;color:var(--muted)}
.service .meta{font-size:.85rem}
label.service{cursor:pointer;font-weight:400}
label.service input{margin:0 .4rem 0 0;width:18px;height:18px;accent-color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font:inherit;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:999px;padding:.45rem .95rem;cursor:pointer}
.chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}
.chip[disabled]{text-decoration:line-through;color:#6b7680;background:#eef1f4;border-color:#d5dbe0;cursor:not-allowed}
.radio-chip{position:relative}
.radio-chip input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.radio-chip span{display:inline-block;border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:.45rem .95rem;font-weight:500}
.radio-chip input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.radio-chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.radio-chip input:disabled+span{text-decoration:line-through;color:#5f6b75;background:#eef1f4;border-color:#d5dbe0}
.radio-chip input:disabled{cursor:not-allowed}
.sub{font-weight:600;margin:1rem 0 .5rem}
.summary dl{margin:0 0 1rem;display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem}
.summary dt{color:var(--muted)}
.summary dd{margin:0;font-weight:600}
.grid2{display:grid;grid-template-columns:1fr;gap:0 1rem}
@media(min-width:640px){.grid2{grid-template-columns:1fr 1fr}}
