.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%}}
.ssf-reservations__message--success{background:#e7f1e2;color:#294d20}.ssf-reservations__reference-label{margin-bottom:.25rem;color:#666;font-weight:700}.ssf-reservations__reference{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(.82rem,2.2vw,1.15rem);overflow-wrap:anywhere;background:#f1f1ed;border:1px solid #d7d7d0;border-radius:8px;padding:.85rem;margin:.25rem auto .65rem;max-width:44rem}.ssf-reservations__copy{font:inherit;border:1px solid #4f6f45;background:#fff;color:#36512f;border-radius:7px;padding:.55rem .8rem;cursor:pointer}.ssf-reservations__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;text-align:left;max-width:48rem;margin:1.5rem auto}.ssf-reservations__details>div{background:#f7f7f3;border-radius:8px;padding:.8rem}.ssf-reservations__details dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#666;font-weight:700}.ssf-reservations__details dd{margin:.25rem 0 0}.ssf-reservations__details-wide{grid-column:1/-1}.ssf-reservations__actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.ssf-reservations__button--secondary{background:#fff;color:#36512f;border:1px solid #4f6f45}.ssf-reservations__lookup{border-left:5px solid #4f6f45}@media(max-width:700px){.ssf-reservations__details{grid-template-columns:1fr}.ssf-reservations__details-wide{grid-column:auto}}
.ssf-reservations__manage-panel{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #d7d7d0;text-align:left}.ssf-reservations__manage-panel h3{text-align:center}.ssf-reservations__manage-date{margin-top:1rem}.ssf-reservations__manage-form{margin-top:1rem}.ssf-reservations__button--danger{background:#8a2f29}.ssf-reservations__button--danger:hover{background:#6f211c}.ssf-reservations__actions form{margin:0}
.ssf-reservations__lookup-divider{border:0;border-top:1px solid #d7d7d0;margin:1.5rem 0}.ssf-reservations__contact-lookup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.ssf-reservations__lookup-results{margin-top:1.25rem;padding:1rem;background:#f3f7f1;border-radius:8px}.ssf-reservations__lookup-results h3{margin-top:0}.ssf-reservations__lookup-results li{margin:.5rem 0}@media(max-width:700px){.ssf-reservations__contact-lookup{grid-template-columns:1fr}}
