.cal-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;gap:6px;margin-bottom:22px}.cal-toolbar strong{text-transform:capitalize;font-size:17px}.cal-toolbar button{width:44px;height:44px;border-radius:50%;border:1px solid #cad4cd;background:#fffefa;color:#193e4c;font-size:26px;cursor:pointer}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.cal-week{text-align:center;font-size:11px;margin-bottom:10px;color:#53676c}.cal-day{position:relative;min-width:0;height:44px;border:1px solid transparent;border-radius:6px;background:#f8f7f1;color:#193e4c;font:13px 'Segoe UI',sans-serif;cursor:pointer;padding:0}.cal-day:hover:not(:disabled){border-color:#193e4c}.cal-day:disabled{opacity:.55;cursor:default}.cal-day.occupied{background:#f3dfd6;text-decoration:line-through}.cal-day.occupied:after{content:'×';position:absolute;bottom:0;right:3px;font-size:10px}.cal-day.unavailable{background:#e3e5e1}.cal-day.unavailable:after{content:'/';position:absolute;bottom:0;right:3px;font-size:10px}.cal-day.between{background:#dbe8e3}.cal-day.selected{background:#193e4c;color:#fffefa}.cal-legend{font-size:11px;color:#53676c;margin-top:18px!important}.calendar button:focus-visible{outline:3px solid #257092;outline-offset:2px}
.booking-layout{display:grid;gap:30px;margin-top:35px}.calendar-box{padding:20px 10px;background:#fffefa;border-radius:14px;min-width:0}.calendar-box h3{margin:0 8px 15px}.booking-layout .calendar-box>p{margin:16px 8px;font-size:12px}.booking-form{min-width:0}.booking-form h3{margin-bottom:20px}.booking-fields{display:grid;gap:16px}.booking-form label{display:grid;gap:7px;font-size:13px}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #a5b3ac;border-radius:8px;background:#fffefa;color:#193e4c;font:16px 'Segoe UI',sans-serif}.booking-form textarea{resize:vertical;min-height:110px}.booking-form .check{display:flex;align-items:flex-start;gap:12px;font-size:12px;margin-top:22px}.booking-form .check input{width:20px;height:20px;flex:none;accent-color:#193e4c}.booking-form .check a{text-decoration:underline}.booking-form .button{width:100%;margin-top:18px;border:0;cursor:pointer}.booking-form .button:disabled{opacity:.55;cursor:default}.booking-form .trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-form .form-note{font-size:12px;margin-top:15px}#booking-status{font-size:13px;margin-top:15px}#clear-stay{border:0;background:none;font:13px 'Segoe UI',sans-serif;color:#193e4c;min-height:44px;padding:8px;text-decoration:underline;cursor:pointer}.booking-form :focus-visible{outline:3px solid #257092;outline-offset:3px}
@media(min-width:430px){.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-fields .wide{grid-column:1/-1}}
@media(min-width:768px){.booking-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}.calendar-box{padding:26px 16px;align-self:start}.booking-fields .identity{grid-column:1/-1}}
@media(min-width:1100px){.booking-layout{gap:65px}.calendar-box{padding:30px}.booking-fields .identity{grid-column:auto}}
