.booking{background:#ffffff8c;border:1px solid #0000002e;border-radius:14px;padding:1.4rem}.booking h3{margin:0 0 .6rem}.booking-lead{opacity:.85;margin:0 0 1.1rem;font-size:.9rem}.booking-head{text-transform:capitalize;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.booking-nav{color:inherit;cursor:pointer;background:0 0;border:1px solid #00000040;border-radius:8px;min-width:2.2rem;min-height:2.2rem}.booking-nav:disabled{opacity:.35;cursor:not-allowed}.booking-grid{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.booking-dayname{text-align:center;letter-spacing:.08em;text-transform:uppercase;opacity:.6;padding-bottom:.2rem;font-size:.72rem}.booking-cell{aspect-ratio:1;min-height:2.2rem;color:inherit;font:inherit;cursor:pointer;background:#ffffffb3;border:1px solid #00000024;border-radius:8px;font-size:.85rem}.booking-cell:hover:not(:disabled){border-color:currentColor}.booking-cell:disabled{opacity:.28;cursor:not-allowed}.booking-cell-empty{background:0 0;border:none}.booking-cell-active{color:#fff;background:#111;border-color:#111}.booking-slots{margin-top:1.1rem}.booking-slots-title{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:0 0 .5rem;font-size:.82rem}.booking-slot-row{flex-wrap:wrap;gap:.45rem;display:flex}.booking-slot{color:inherit;font:inherit;cursor:pointer;background:#ffffffbf;border:1px solid #0003;border-radius:999px;padding:.45rem .95rem;font-size:.85rem}.booking-slot-active{color:#fff;background:#111;border-color:#111}.booking-confirm{border-top:1px solid #0000001f;margin-top:1.2rem;padding-top:1rem}.booking-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.booking-actions .gate-cta{text-align:center;text-decoration:none}.booking-secondary{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #00000040;border-radius:10px;padding:.7rem 1rem;font-size:.85rem}.booking-done{opacity:.9;border-left:3px solid;margin:.9rem 0 0;padding-left:.7rem;font-size:.85rem}@media (width<=520px){.booking{padding:1rem}.booking-actions .gate-cta,.booking-secondary{width:100%}}.booking-reminders{gap:.7rem;margin:1rem 0 1.1rem;display:grid}.booking-field{gap:.3rem;font-size:.82rem;display:grid}.booking-field input{font:inherit;color:inherit;background:#ffffffe6;border:1px solid #00000040;border-radius:6px;padding:.6rem .7rem}.booking-hint{opacity:.8;margin:0;font-size:.78rem}.booking-error{color:#b3261e;border-left:3px solid #b3261e;margin:.9rem 0 0;padding-left:.7rem;font-size:.85rem}.booking-mailto{text-align:center;text-decoration:none}.booking-manage{border-top:1px solid #0000001f;gap:.8rem;margin-top:1.1rem;padding-top:1rem;display:grid}.booking-danger{color:#b3261e;border-color:#b3261e99}.booking-status{letter-spacing:.02em;border:1px solid;border-radius:999px;margin:0 0 .9rem;padding:.35rem .7rem;font-size:.78rem;display:inline-block}.booking-status--none{color:#0009}.booking-status--pending{color:#8a6100}.booking-status--confirmed{color:#1d6b3f}.booking-status--cancelled{color:#b3261e}.booking-availability-note{opacity:.72;margin:.6rem 0 0;font-size:.78rem}.booking-slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.booking-reschedule{background:#1c1a170a;border:1px solid #1c1a1740;border-left:4px solid;border-radius:8px;justify-items:start;gap:.6rem;margin:0 0 1rem;padding:.85rem 1rem;font-size:.95rem;line-height:1.55;display:grid}.booking-reschedule p{margin:0}
