.booking-language{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding:16px 20px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--accent))}.booking-language__label{color:hsl(var(--primary));font-size:.8rem;font-weight:700;letter-spacing:.02em}.booking-language__options{display:flex;gap:6px}.booking-language__button{min-height:44px;min-width:48px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card));color:hsl(var(--primary));font-size:.84rem;font-weight:700;cursor:pointer;transition:background-color .15s,border-color .15s}.booking-language__button:hover{border-color:hsl(var(--primary))}.booking-language__button[aria-pressed=true]{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.booking-language__button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.reservation-card{overflow:hidden;width:100%;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--card));box-shadow:0 14px 35px #4d0f1512}.reservation-priority{padding:20px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--accent))}.reservation-kicker{display:flex;align-items:center;gap:7px;margin:0 0 13px;color:hsl(var(--primary));font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.reservation-venue{display:flex;align-items:center;gap:9px;min-height:48px;margin-bottom:16px;padding:0 14px;border:1px solid hsl(var(--input));border-radius:10px;background:hsl(var(--card));color:hsl(var(--primary));font-size:.88rem;font-weight:650}.reservation-booking-grid{display:grid;grid-template-columns:1.18fr 1fr .78fr;gap:10px}.reservation-field{min-width:0}.reservation-hall-field{grid-column:1 / -1}.reservation-label{display:block;margin:0 0 7px;color:hsl(var(--primary));font-size:.74rem;font-weight:700;letter-spacing:.04em}.reservation-control{min-height:52px!important;border-radius:10px!important;background:hsl(var(--card))!important;font-size:.94rem!important}.reservation-control:focus-visible,.reservation-notes:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.reservation-time{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:9px;font-weight:500}.reservation-time>svg:first-child{flex:none;color:hsl(var(--primary))}.reservation-time-panel{width:320px;max-width:calc(100vw - 16px);padding:12px;border-radius:12px;border-color:hsl(var(--border));box-shadow:0 14px 35px #4d0f1529}.reservation-calendar-panel{width:auto;padding:0}.reservation-hall-panel{width:var(--radix-popover-trigger-width)}.reservation-time-panel__title{margin:0 0 10px;color:hsl(var(--primary));font-size:.8rem;font-weight:700}.reservation-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:min(320px,calc(var(--radix-popover-content-available-height) - 58px));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.reservation-hall-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-hall-grid .reservation-time-slot{padding:4px 8px}.reservation-time-slot{min-height:44px;min-width:0;padding:0 4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--card));color:hsl(var(--foreground));font-size:.84rem;font-weight:600;cursor:pointer}.reservation-time-slot:hover{border-color:hsl(var(--primary));background:hsl(var(--accent))}.reservation-time-slot:disabled,.reservation-time-slot:disabled:hover{cursor:not-allowed;opacity:.42;border-color:hsl(var(--border));background:transparent}.reservation-time-slot[aria-pressed=true],.reservation-time-slot[aria-pressed=true]:hover{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.reservation-time-slot:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:-3px}.reservation-details{padding:22px 20px 20px}.reservation-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.reservation-contact-grid>:first-child{grid-column:1 / -1}.reservation-phone{display:flex;gap:8px}.reservation-phone__code{width:96px!important;flex:0 0 96px;padding-inline:10px;background:hsl(var(--card))!important;color:hsl(var(--primary));font-size:.86rem!important;font-weight:700}.reservation-phone__countries{width:290px;max-width:calc(100vw - 24px);max-height:min(300px,var(--radix-select-content-available-height));overflow:hidden;background:#fff}.reservation-phone__countries [data-radix-select-viewport]{height:280px;min-height:0;max-height:calc(var(--radix-select-content-available-height) - 16px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.reservation-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reservation-optional{margin-top:18px;border-top:1px solid hsl(var(--border))}.reservation-optional summary{display:flex;align-items:center;min-height:53px;cursor:pointer;color:hsl(var(--primary));font-size:.85rem;font-weight:700;list-style:none}.reservation-optional summary::-webkit-details-marker{display:none}.reservation-optional summary svg{display:none}.reservation-optional summary:after{content:"+";margin-left:auto;font-size:1.25rem;font-weight:400}.reservation-optional[open] summary:after{content:"–"}.reservation-optional__fields{display:grid;gap:16px;padding-bottom:3px}.reservation-notes{min-height:90px;resize:vertical;border-radius:10px}.reservation-consent{display:flex;align-items:flex-start;gap:10px;margin:19px 0 18px;color:hsl(var(--muted-foreground));font-size:.78rem;line-height:1.4}.reservation-consent button{margin-top:1px}.reservation-consent label{cursor:pointer;color:inherit;font-weight:400;line-height:inherit}.reservation-submit{width:100%;min-height:54px;border-radius:10px!important;font-size:.95rem!important;font-weight:700!important;letter-spacing:.02em}.reservation-hint{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.4;text-align:center}.reservation-error{margin-bottom:15px;padding:11px 12px;border-radius:9px;background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));font-size:.84rem}.reservation-success{padding:46px 28px;text-align:center}.reservation-success__mark{display:grid;width:52px;height:52px;place-items:center;margin:0 auto 18px;border-radius:50%;background:hsl(var(--accent));color:hsl(var(--primary))}.reservation-success h2{margin:0;color:hsl(var(--primary));font-size:2rem}.reservation-success p{max-width:25rem;margin:12px auto 23px;color:hsl(var(--muted-foreground));line-height:1.55}@media(max-width:510px){.reservation-priority,.reservation-details{padding:15px}.reservation-kicker{margin-bottom:9px}.reservation-venue{min-height:44px;margin-bottom:11px}.reservation-booking-grid{grid-template-columns:1fr 1fr;gap:8px}.reservation-booking-grid>:first-child{grid-column:1 / -1}.reservation-contact-grid{grid-template-columns:1fr;gap:10px}.reservation-contact-grid>:first-child{grid-column:auto}.reservation-label{margin-bottom:4px}.reservation-optional{margin-top:12px}.reservation-optional summary{min-height:45px}.reservation-consent{margin:13px 0}.reservation-hint{margin-top:8px}}@media(prefers-reduced-motion:no-preference){.reservation-card{animation:reservation-rise .42s 40ms ease-out both}}@keyframes reservation-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
