.ssf-reservations{max-width:1100px;margin:0 auto;padding:2rem 1rem 4rem}.ssf-reservations__hero{margin-bottom:1.5rem}.ssf-reservations__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.ssf-reservations__hero h1{margin:.2rem 0}.ssf-reservations__card{background:#fff;border:1px solid #d7d7d0;border-radius:12px;padding:1.25rem;margin:1rem 0;box-shadow:0 2px 10px rgba(0,0,0,.04)}.ssf-reservations__chooser{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.ssf-reservations__activity{display:block;border:2px solid #d7d7d0;border-radius:10px;padding:1rem;cursor:pointer}.ssf-reservations__activity.is-selected{border-color:#4f6f45;background:#f3f7f1}.ssf-reservations__activity input{margin-right:.65rem}.ssf-reservations__activity small{display:block;margin-left:1.6rem;color:#666}.ssf-reservations__date-form{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.ssf-reservations label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.ssf-reservations input,.ssf-reservations textarea{font:inherit;padding:.65rem;border:1px solid #aaa;border-radius:6px}.ssf-reservations__slots{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.ssf-reservations__slot,.ssf-reservations__button{font:inherit;border:0;border-radius:7px;padding:.7rem 1rem;cursor:pointer}.ssf-reservations__slot{background:#eef1eb;border:1px solid #bac5b4}.ssf-reservations__slot:hover,.ssf-reservations__slot.is-selected{background:#4f6f45;color:#fff}.ssf-reservations__button{background:#4f6f45;color:#fff;text-decoration:none;display:inline-block}.ssf-reservations__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.ssf-reservations__form>label{margin:1rem 0}.ssf-reservations__selected-time{padding:.8rem;border-radius:7px;background:#f1f1ed;margin-bottom:1rem}.ssf-reservations__selected-time.has-selection{background:#e7f1e2}.ssf-reservations__selected-time.is-error,.ssf-reservations__message--error{background:#fbe9e7;color:#8a1f17}.ssf-reservations__message{padding:1rem;border-radius:8px;margin:1rem 0}.ssf-reservations__message ul{margin:0}.ssf-reservations__empty,.ssf-reservations__fineprint{color:#666}.ssf-reservations__confirmation{text-align:center;padding:2rem}@media(max-width:700px){.ssf-reservations__grid{grid-template-columns:1fr}.ssf-reservations__slot{flex:1 1 42%}}
