#app{max-width:1260px}
#app[data-public]{max-width:1060px}
#header{border-bottom:1px solid var(--line);padding-bottom:12px}
.brand{min-height:44px;text-decoration:none}
.sf-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.sf-links a,.sf-link{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .7rem}
.sf-intro{margin:clamp(20px,3vw,38px) 0 24px;max-width:650px}
.sf-intro p:last-child{margin:0;color:var(--muted);line-height:1.5}
.sf-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.68fr);gap:16px;align-items:start}
.sf-summary{background:#f1e8da;border-color:#e7d8c4}
.sf-summary p:last-child,.sf-empty{margin:0;color:var(--muted);line-height:1.5}
.sf-list{list-style:none;margin:0;padding:0}
.sf-list>li{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:10px 16px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.sf-list>li:first-child{border-top:0}
.sf-list>li:last-child{padding-bottom:0}
.sf-list strong{overflow-wrap:anywhere}
.sf-subtext{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}
.sf-form{display:grid;gap:14px}
.sf-form label{min-width:0}
.sf-field{display:grid;gap:5px;min-width:0}
.sf-form button{justify-self:start}
.sf-form input:not([type=checkbox]),.sf-form select,.sf-form textarea{width:100%}
.sf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sf-check{display:flex;align-items:center;gap:8px}
.sf-check input{margin:0;min-height:auto;width:18px;height:18px;accent-color:var(--navy)}
.sf-check:has(input){min-height:44px}
.sf-date{margin-bottom:18px}
.sf-date input{width:max-content}
.sf-tools{display:flex;justify-content:end;margin:-8px 0 12px}
.sf-hours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sf-form textarea{border:1px solid #cbd3e0;border-radius:9px;padding:.7rem;font:inherit;color:var(--ink)}
.sf-form fieldset{border:1px solid var(--line);border-radius:12px;padding:8px 12px;min-width:0}
.sf-form legend{padding:0 6px;color:var(--muted)}
.sf-form select:focus-visible,.sf-form textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sf-disclosure{margin-top:16px}
.sf-disclosure summary{color:var(--navy);cursor:pointer;min-height:44px;padding:.7rem 0}
.sf-private{overflow-wrap:anywhere;font-size:.9rem}
.sf-private a{display:inline-block;min-height:44px;padding:.55rem 0}
.sf-help{margin:0 0 14px;color:var(--muted);line-height:1.5}
[data-slot-message]:empty{display:none}
.sf-booking-details{color:var(--muted);line-height:1.5}
.sf-status-error{color:#7b1424;background:#fff2f2;border-color:#ecc6cc}
.sf-queue-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sf-time{font-variant-numeric:tabular-nums}
.sf-public-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:18px 0 24px;padding:clamp(20px,5vw,50px);border:1px solid #e5dbcb;border-radius:24px;background:#f2eadc}
.sf-public-hero .sf-intro{margin:0}
.sf-public-hero h1{font-size:clamp(2.55rem,6vw,4.6rem);overflow-wrap:anywhere}
.sf-hero-note{max-width:27ch;margin:0;color:var(--muted);line-height:1.45}
.sf-public-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.sf-booking-column{position:sticky;top:16px}
.sf-category{padding:14px 0;border-top:1px solid var(--line)}
.sf-category:last-child{padding-bottom:0}
.sf-category h3{margin:0;color:var(--muted);font-size:.9rem;font-weight:600}
.sf-category .sf-list li{display:grid;grid-template-columns:minmax(0,1fr) auto}
.sf-service-info .sf-subtext:last-child{font-weight:600}
[data-sf-service][aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:white}
.sf-selected{padding:12px 14px;background:var(--soft);border-radius:10px;line-height:1.45}
.sf-reservation h2:focus{outline:2px solid var(--accent);outline-offset:4px}
.sf-policy{margin:0 0 14px;color:var(--muted);font-size:.88rem;line-height:1.45}
@media(max-width:720px){
 .sf-columns{grid-template-columns:minmax(0,1fr);gap:0}
 .sf-public-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .sf-booking-column{position:static}
 .sf-public-hero{align-items:start;flex-direction:column;gap:12px}
 .sf-intro{margin-top:18px}
 #navigation button{padding-inline:10px}
 .sf-links .sf-workspace-link{display:none}
}
@media(max-width:400px){.sf-fields{grid-template-columns:minmax(0,1fr)}}
