.slot-picker{border:1px solid var(--line,#E7E2D8);border-radius:14px;background:#fff;padding:14px;margin-top:4px}
.sp-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.sp-days::-webkit-scrollbar{height:6px}
.sp-days::-webkit-scrollbar-thumb{background:#E7E2D8;border-radius:3px}
.sp-day{flex:0 0 auto;width:74px;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid var(--line,#E7E2D8);border-radius:12px;background:#FAF6EF;cursor:pointer;font:inherit;color:var(--navy,#152941);transition:border-color .15s,transform .15s}
.sp-day:hover:not(:disabled){border-color:var(--gold,#B08A44);transform:translateY(-1px)}
.sp-day.on{background:var(--navy,#152941);color:#fff;border-color:var(--navy,#152941)}
.sp-day.off{opacity:.45;cursor:not-allowed;background:#f3f0ea}
.sp-wd{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.sp-dn{font-family:var(--serif,"Cormorant Garamond",serif);font-size:26px;line-height:1;font-weight:600}
.sp-free{font-size:11px;opacity:.8}
.sp-day.on .sp-free{color:#D8C08D}
.sp-more{border-style:dashed;background:#fff}
.sp-hint{font-size:13.5px;color:var(--muted,#6B7686);margin:8px 0 10px}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.sp-time{font:inherit;font-size:14px;padding:10px 6px;border:1px solid var(--line,#E7E2D8);border-radius:10px;background:#fff;color:var(--navy,#152941);cursor:pointer;transition:border-color .15s,background .15s}
.sp-time:hover:not(:disabled){border-color:var(--gold,#B08A44)}
.sp-time.on{background:var(--gold,#B08A44);border-color:var(--gold,#B08A44);color:#fff;font-weight:600}
.sp-time.off{color:#B5B9C2;background:#F4F1EA;text-decoration:line-through;cursor:not-allowed}
.sp-picked[hidden]{display:none}
.sp-picked{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#E8F6EC;border:1px solid #C5E6CF;color:#1B2534;font-size:14px}
.sp-picked b{display:block;color:#152941}
.sp-picked span{font-size:12.5px;color:#4b5563}
.sp-check{width:28px;height:28px;border-radius:50%;background:#1c7c46;color:#fff;display:grid;place-items:center;font-weight:700;flex:0 0 auto}
.sp-flex{display:inline-block;margin-top:10px;background:none;border:none;padding:0;font:inherit;font-size:13px;color:var(--muted,#6B7686);text-decoration:underline;cursor:pointer}
.sp-flex:hover{color:var(--navy,#152941)}
.form-grid .sp-req{display:none}
.form-grid.flex .sp-req{display:block}
.form-grid.flex #slotField .slot-picker,.form-grid.flex #slotField>label{display:none}
.form-grid.flex #slotField{padding:0}
@media (max-width:640px){.sp-day{width:66px}.sp-grid{grid-template-columns:repeat(3,1fr)}}
