.booking-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}
.booking-month button{width:42px;min-height:44px;font-size:24px;border:1px solid #c9b7bf;border-radius:10px;background:white;color:#821530;cursor:pointer}
.booking-month strong{text-transform:capitalize}
.booking-calendar-legend{font-size:12px;line-height:1.5}
.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.booking-days>span{text-align:center;font-size:12px;padding:6px 0}
.booking-days button{position:relative;min-width:0;min-height:42px;padding:3px 0;border:1px solid #c9b7bf;border-radius:7px;background:#fff;color:#821530;font-size:13px;cursor:pointer}
.booking-days button.booking-day-full{background:#e3e1e2;color:#555;border-style:dashed}
.booking-days button[aria-pressed=true]{outline:2px solid #821530;outline-offset:-2px;font-weight:800}
.booking-days button:disabled,.booking-month button:disabled{opacity:.35;cursor:default}
.booking-days button:not(:disabled):is(:hover,:focus-visible)::after{content:attr(data-tooltip);position:absolute;z-index:3;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);width:130px;padding:8px;border-radius:8px;background:#262025;color:white;font-size:12px;line-height:1.35;pointer-events:none}
.booking-days button:nth-child(7n+1)::after,.booking-days button:nth-child(7n+2)::after{left:0!important;transform:none!important}
.booking-days button:nth-child(7n)::after,.booking-days button:nth-child(7n+6)::after{left:auto!important;right:0;transform:none!important}
.booking-slots button:disabled{background:#e3e1e2;color:#666;border-color:#ccc;cursor:not-allowed;opacity:1;font-size:12px}
.demo-booking label.booking-resident-label{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;cursor:pointer}
.demo-booking input.booking-resident{display:inline-block;flex:0 0 16px;width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:#821530;cursor:pointer}
.demo-booking input.booking-resident:focus-visible{outline:3px solid #821530;outline-offset:3px}
