.booking-calendar{padding:clamp(24px,3vw,45px);color:#234861}
.calendar-status{display:table;margin-bottom:24px;padding:10px 15px;border-radius:11px;background:#fff3d9;color:#745616;font-size:14px;font-weight:700}
.calendar-top{display:flex;align-items:end;justify-content:space-between;gap:20px}
.calendar-top h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,3vw,47px);line-height:1.08;letter-spacing:-.045em;margin:5px 0 0}
.calendar-arrows{display:flex;gap:9px}
.calendar-arrows button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a5c7d8;border-radius:12px;background:#ffffffc9;color:#225978;cursor:pointer}
.calendar-arrows button:first-child .icon{transform:rotate(180deg)}
.calendar-arrows button:disabled{opacity:.3;cursor:default}
.calendar-arrows .icon{height:22px;width:22px}
.calendar-month{font-family:'Space Grotesk',sans-serif;font-size:24px;margin:34px 0 18px}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.calendar-weekdays span{text-align:center;color:#57788d;font-weight:700;font-size:15px}
.calendar-days{margin-top:11px}
.calendar-days button,.calendar-blank{display:grid;place-items:center;min-height:54px;border:1px solid #a8c9d983;border-radius:13px;background:#ffffffa1;color:#205472;font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:600}
.calendar-days button{cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.calendar-days button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px #315c7b2e}
.calendar-days button:disabled{background:#e3eaf0a3;color:#9bafba;cursor:default}
.calendar-days button.selected,.calendar-times button.selected{background:linear-gradient(135deg,#267b87,#22546f);color:#fff;border-color:#23677c}
.calendar-blank{visibility:hidden}
.calendar-time-head{display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid #94b6c788;margin-top:32px;padding-top:28px}
.calendar-time-head h3{font-family:'Space Grotesk',sans-serif;font-size:27px;margin:5px 0 0}
.calendar-selected-date{font-size:15px;font-weight:700;color:#627a8a;text-align:right}
.calendar-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.calendar-times button{padding:15px 10px;border:1px solid #9bc0d2;border-radius:13px;background:#ffffffc9;color:#215470;font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;cursor:pointer}
.calendar-times button:disabled{opacity:.4;cursor:default;text-decoration:line-through}
.calendar-no-day{grid-column:1/-1;padding:19px;border:1px dashed #9ebdce;border-radius:13px;color:#5d7a8b}
.calendar-selection{font-size:16px;font-weight:700;color:#26546e;min-height:47px}
.calendar-reserve{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:60px;border:0;border-radius:14px;background:#8fa7ae;color:white;font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;cursor:not-allowed}
.calendar-reserve .icon{width:21px;height:21px}
.calendar-honesty{font-size:13px;line-height:1.5;color:#5d7889;margin:16px 0 0}
[data-theme=dark] .booking-calendar{color:#f0f8ff}
[data-theme=dark] .calendar-days button,[data-theme=dark] .calendar-times button,[data-theme=dark] .calendar-arrows button{background:#315169;color:#f4f9ff;border-color:#719ab3}
[data-theme=dark] .calendar-days button:disabled,[data-theme=dark] .calendar-times button:disabled{opacity:.38}
[data-theme=dark] .calendar-days button.selected,[data-theme=dark] .calendar-times button.selected{background:#308b8c}
[data-theme=dark] .calendar-selection,[data-theme=dark] .calendar-no-day,[data-theme=dark] .calendar-honesty,[data-theme=dark] .calendar-selected-date{color:#d1e3ee}
@media(max-width:600px){.booking-calendar{padding:22px}.calendar-status{font-size:12px}.calendar-top h2{font-size:32px}.calendar-days,.calendar-weekdays{gap:4px}.calendar-days button,.calendar-blank{min-height:43px;font-size:16px;border-radius:9px}.calendar-times{grid-template-columns:1fr 1fr;gap:8px}.calendar-times button{font-size:14px;padding:12px 5px}.calendar-time-head{display:block}.calendar-selected-date{display:block;text-align:left;margin-top:8px}.calendar-month{font-size:21px}}
