/* Production calendar restored from original calendar rules, using salon colors. */
.booking-form{border:2px solid var(--ink);border-radius:8px;background:#fff9e6;min-width:0}
.booking-form .form-group input,.booking-form .form-group select{width:100%;min-width:0;background:#fffcf2;border:1px solid var(--line);padding:12px;font-size:16px;border-radius:5px}
.booking-form .form-group label{display:block;margin-bottom:6px}
.booking-datetime{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.calendar-container{min-width:0;background:var(--paper);border-radius:8px;padding:12px;border:1px solid var(--line)}
.calendar-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:16px}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-size:12px;margin-bottom:6px}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendar-days .cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:5px;cursor:pointer;transition:background .15s;font-weight:600;min-width:0}
.calendar-days .cal-day.available{background:#dfead9;color:#254e38}
.calendar-days .cal-day.available:hover{background:#c4dbbc}
.calendar-days .cal-day.unavailable{background:#eedcd1;color:#7c4844;cursor:not-allowed;opacity:.7}
.calendar-days .cal-day.other-month{cursor:default;opacity:.25}
.calendar-days .cal-day.today{outline:2px solid var(--rust);outline-offset:-2px}
.calendar-days .cal-day.selected{background:var(--leaf);color:#fff;box-shadow:0 0 0 2px var(--ink)}
.time-picker{min-width:0}
.time-slots{display:flex;flex-direction:column;gap:8px}
.time-slots .ts-btn{min-height:44px;padding:8px 10px;border:1px solid var(--leaf);border-radius:5px;background:#e8efdf;font-size:14px;cursor:pointer;color:#254e38}
.time-slots .ts-btn:hover{background:#c4dbbc}
.time-slots .ts-btn.selected{background:var(--leaf);color:#fff;border-color:var(--ink)}
.time-slots .ts-btn.unavailable{opacity:.5;cursor:not-allowed;background:#eedcd1;border-color:var(--line)}
.time-hint{font-size:14px;color:var(--muted);margin-top:8px}
.booking-form .btn-primary{width:100%;white-space:normal}
#booking-success{scroll-margin-top:28px}
#booking-success h3{color:var(--leaf)}
@media(max-width:650px){.booking-datetime{grid-template-columns:minmax(0,1fr);padding:10px}.calendar-container{width:100%;max-width:340px;margin-inline:auto}.time-slots{flex-direction:row;flex-wrap:wrap}.time-slots .ts-btn{flex:1 1 105px}.booking-form{padding:20px 12px}.calendar-days .cal-day{min-height:28px}}
