.premium-date-control { min-width:0;position:relative;margin-bottom:16px; }
.premium-date-control .premium-date-display { min-height:50px;padding:12px 42px 12px 14px!important;border:1px solid #dce1d2!important;border-radius:10px!important;background-color:#fcfaf6!important;color:#294747!important;font-size:14px!important;cursor:pointer;box-shadow:0 2px 5px #29474705; }
.premium-date-control::after { content:'▦';position:absolute;right:15px;top:10px;font-size:21px;color:#61765a;pointer-events:none; }
.premium-date-control--time::after { content:'◷'; }
.premium-date-zone { display:block;margin-top:6px;font-size:10px;letter-spacing:.03em;color:#75816e; }
.premium-date-control .premium-date-display:focus { border-color:#3b6060!important;box-shadow:0 0 0 3px #3b606018!important;outline:0; }
.premium-calendar.flatpickr-calendar { width:320px;background:#fcfaf6;border:1px solid #dde3d7;border-radius:16px;box-shadow:0 18px 60px #193b3530;padding:16px 6px 10px;font-family:Arial,Helvetica,sans-serif;z-index:100000; }
.premium-calendar::before,.premium-calendar::after { display:none; }
.premium-calendar-heading { font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#61765a;margin:0 14px 14px; }
.premium-calendar .flatpickr-months { position:relative;height:42px;margin-bottom:10px; }
.premium-calendar .flatpickr-months .flatpickr-month { height:38px;color:#294747; }
.premium-calendar .flatpickr-months .flatpickr-prev-month,.premium-calendar .flatpickr-months .flatpickr-next-month { top:0;border-radius:8px;height:34px;padding:10px; }
.premium-calendar .flatpickr-months .flatpickr-prev-month:hover,.premium-calendar .flatpickr-months .flatpickr-next-month:hover { background:#e9ecdf; }
.premium-calendar .flatpickr-current-month { padding-top:4px;font-size:15px;font-weight:600; }
.premium-calendar .flatpickr-current-month .flatpickr-monthDropdown-months { font-weight:600; }
.premium-calendar span.flatpickr-weekday { color:#8a9385;font-size:10px;text-transform:uppercase;font-weight:600; }
.premium-calendar .flatpickr-day { border-radius:10px;max-width:39px;height:38px;line-height:38px;color:#294747;font-size:13px; }
.premium-calendar .flatpickr-day.today { border-color:#adbda3; }
.premium-calendar .flatpickr-day.selected,.premium-calendar .flatpickr-day.selected:hover { background:#294f44;border-color:#294f44;color:#fff; }
.premium-calendar .flatpickr-day:hover,.premium-calendar .flatpickr-day:focus { background:#e9ecdf;border-color:#e9ecdf; }
.premium-calendar .flatpickr-day.prevMonthDay,.premium-calendar .flatpickr-day.nextMonthDay { color:#b1b6aa; }
.premium-calendar .flatpickr-time { margin:14px 10px 4px;border:1px solid #dce1d2!important;border-radius:10px;max-height:none;height:48px;line-height:48px;background:#f0f2e9; }
.premium-calendar .flatpickr-time input { height:46px;font-size:20px;color:#294747;font-weight:500; }
.premium-calendar .flatpickr-time .flatpickr-time-separator { height:46px;line-height:46px;color:#61765a; }
.premium-calendar.noCalendar { padding-top:16px; }
.premium-date-shortcuts { display:flex;flex-wrap:wrap;gap:6px;padding:12px 10px; }
.premium-date-shortcuts button,.premium-calendar-footer button,.premium-duration button { padding:8px 10px;min-height:36px;border:1px solid #dce1d2;border-radius:8px;background:transparent;color:#365647;font-size:11px;cursor:pointer; }
.premium-date-shortcuts button:hover,.premium-duration button:hover { background:#e9ecdf; }
.premium-calendar-footer { display:flex;justify-content:flex-end;gap:8px;padding:10px 10px 0;border-top:1px solid #e5e9df; }
.premium-calendar-footer .premium-calendar-done { background:#294f44;border-color:#294f44;color:white;min-width:90px; }
.premium-calendar-footer button:disabled { opacity:.4;cursor:default; }
.premium-duration { display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-4px 0 24px; }
.premium-duration > span { font-size:11px;color:#75816e;margin-right:4px; }
.availability-row .premium-date-control { margin:0; }
.availability-row .premium-date-control .premium-date-display { padding-left:10px!important;padding-right:28px!important;min-height:44px; }
.availability-row .premium-date-control::after { right:8px;font-size:18px; }
.premium-calendar button:focus-visible { outline:2px solid #9e5036;outline-offset:2px; }
.premium-date-backdrop { position:fixed;inset:0;background:#183d3566;z-index:99990; }
.premium-date-backdrop[hidden] { display:none; }
.premium-date-open { overflow:hidden; }
.premium-calendar.flatpickr-calendar { max-height:calc(100dvh - 110px);overflow-y:auto;overflow-x:hidden; }
@media(max-width:575px){.premium-calendar.flatpickr-calendar.open{position:fixed!important;inset:auto auto max(12px,env(safe-area-inset-bottom)) 50%!important;transform:translateX(-50%);max-height:calc(100dvh - 100px);overflow-y:auto;}}
@media(max-width:575px){.premium-calendar.flatpickr-calendar{width:308px;max-width:calc(100vw - 16px);padding-inline:0;}.premium-calendar .flatpickr-innerContainer,.premium-calendar .flatpickr-rContainer,.premium-calendar .flatpickr-days,.premium-calendar .dayContainer{width:100%;min-width:0;max-width:100%;}.premium-calendar .flatpickr-day{max-width:14.2857%;flex-basis:14.2857%;}.premium-date-control .premium-date-display{font-size:14px!important;}}
