.request-date-control{position:relative;display:flex;align-items:center;min-width:0;padding:4px 10px}
:is(.cinema-request,.v3-form) .date-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 0;background:transparent;color:var(--white);font-size:12px;line-height:1.4;text-align:left;text-transform:none}
:is(.cinema-request,.v3-form) .date-trigger:hover{background:transparent;color:#e5c69e}
.date-trigger svg{width:17px;height:17px;flex-shrink:0;stroke:var(--gold);stroke-width:1.5;fill:none}
.date-trigger[aria-invalid="true"]{outline:1px solid #e6a99a;outline-offset:3px}
.request-calendar{position:absolute;bottom:calc(100% + 14px);left:0;width:300px;max-width:calc(100vw - 38px);z-index:26;padding:18px;background:#24282af5;border:1px solid #ba986e80;border-radius:3px;box-shadow:0 16px 48px #0006}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.calendar-month{margin:0!important;text-transform:capitalize;font-size:15px;color:var(--white)}
:is(.cinema-request,.v3-form) .request-calendar button{background:transparent;color:var(--white);padding:0;min-height:34px;text-transform:none;border-radius:2px}
:is(.cinema-request,.v3-form) .calendar-heading button{width:34px;font-size:24px;color:#d6b48b}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendar-weekdays{margin-bottom:8px;color:var(--muted);font-size:10px;text-align:center}
:is(.cinema-request,.v3-form) .calendar-days button{font-size:12px;border:1px solid transparent;min-height:34px}
:is(.cinema-request,.v3-form) .request-calendar button:hover:not(:disabled){background:#ffffff0d}
:is(.cinema-request,.v3-form) .calendar-days button[aria-current="date"]{border-color:#ba986e70;color:#e5c69e}
:is(.cinema-request,.v3-form) .calendar-days button[aria-pressed="true"]{background:var(--gold);color:#17191a;border-color:var(--gold)}
:is(.cinema-request,.v3-form) .calendar-days button:disabled{opacity:.25}
.calendar-footer{display:flex;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
:is(.cinema-request,.v3-form) .calendar-footer button{font-size:11px;color:#d6b48b;padding:0 6px}
.calendar-status{margin:6px 0 0!important;font-size:11px;color:var(--muted)}
.request-time-control{position:relative;display:flex;align-items:center;min-width:0;padding:4px 10px;border-top:1px solid var(--gold)}
:is(.cinema-request,.v3-form) .time-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 0;background:transparent;color:var(--white);font-size:12px;line-height:1.4;text-align:left;text-transform:none}
:is(.cinema-request,.v3-form) .time-trigger:hover{background:transparent;color:#e5c69e}
.time-trigger svg{width:17px;height:17px;flex-shrink:0;stroke:var(--gold);stroke-width:1.5;fill:none}
.time-trigger[aria-invalid="true"]{outline:1px solid #e6a99a;outline-offset:3px}
.request-time-picker{position:absolute;bottom:calc(100% + 14px);left:0;width:280px;max-width:calc(100vw - 38px);z-index:26;padding:20px;background:#24282af5;border:1px solid #ba986e80;border-radius:3px;box-shadow:0 16px 48px #0006}
.time-heading{margin:0 0 16px!important;font-size:14px;color:var(--white)}
.time-columns{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:8px}
.time-column{display:flex;flex-direction:column;align-items:center;gap:6px}
.time-column>span{color:var(--muted);font-size:11px}
.time-colon{font:26px var(--serif);color:var(--gold);text-align:center;padding-top:22px}
:is(.cinema-request,.v3-form) .time-column button{width:100%;min-height:34px;background:transparent;color:var(--gold);padding:0;font-size:20px}
:is(.cinema-request,.v3-form) .time-column button:hover{background:#ffffff0d}
:is(.cinema-request,.v3-form) .time-column input{width:100%;height:54px;text-align:center;font-size:26px;line-height:1;border:1px solid #ba986e70;background:#ba986e0d;border-radius:2px;appearance:textfield;-moz-appearance:textfield}
.time-column input::-webkit-inner-spin-button,.time-column input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.time-status{margin:8px 0 0!important;color:#e6a99a;font-size:11px}
.time-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
:is(.cinema-request,.v3-form) .time-clear{background:transparent;color:#d6b48b;padding:8px 0;min-height:40px;text-transform:none}
:is(.cinema-request,.v3-form) .time-confirm{padding:10px 14px;min-height:40px;text-transform:none;border-radius:2px}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.v3-form .request-date-control,.v3-form .request-time-control{padding:0;border:0}.v3-form .date-trigger,.v3-form .time-trigger{min-height:52px;padding:12px 14px;border:1px solid #ba986e45;background:#ffffff04;font-size:14px;border-radius:3px}.v3-form .request-calendar,.v3-form .request-time-picker,.v3-select-options{bottom:calc(100% + 10px);max-width:calc(100vw - 64px)}
.request-calendar:not([hidden]),.request-time-picker:not([hidden]),.v3-select-options:not([hidden]){animation:request-picker-enter .45s cubic-bezier(.22,1,.36,1) both}@keyframes request-picker-enter{from{opacity:0;clip-path:inset(100% -60px -60px -60px);transform:translateY(18px)}to{opacity:1;clip-path:inset(-60px -60px -60px -60px);transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.request-calendar,.request-time-picker,.v3-select-options{animation:none!important}}
