/* Reservation UI follows the site's Olympic palette. */
.ticket-layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px}.reservation{min-width:0;padding:32px}.reservation-heading{margin-bottom:24px}.reservation-eyebrow,.table-eyebrow{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#637b8d}.reservation-heading h3{font-size:30px;letter-spacing:-.04em;margin:7px 0}.reservation-heading>p{font-size:14px}.sales-notice{border:1px solid #d1e3ef;background:#eff6fb;padding:16px 18px;border-radius:16px;margin-bottom:26px}.sales-notice strong{font-size:13px}.sales-notice p{font-size:12px;line-height:1.7;margin-top:4px}
.ticket-kind{margin:0}.ticket-kind legend,.reservation-step h4{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0 0 16px}.ticket-kind legend>span,.reservation-step h4>span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf3f8;color:#416078;font-size:11px;letter-spacing:0}.ticket-kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ticket-option{position:relative;align-items:start;flex-wrap:wrap;gap:10px;padding:18px;border:1px solid #d4dee6;border-radius:18px;background:#fff;transition:border-color .2s,background .2s}.ticket-option:has(input:checked){border:2px solid #096bab;padding:17px;background:#f0f7fc}.ticket-option:focus-within{outline:3px solid #70b2d6;outline-offset:3px}.ticket-option>span{min-width:100px}.ticket-option strong{font-size:13px}.ticket-option small{font-size:12px;margin-top:3px}.ticket-option>b{display:block;flex-basis:100%;padding-left:28px;font-size:25px}.ticket-option>b small{font-size:11px;font-weight:400;color:#617587}.ticket-option input{margin:2px 0 0}
.reservation-step{margin-top:26px}.quantity-row{border:0;padding:0;gap:20px}.quantity-row strong{font-size:13px}.quantity-row p{font-size:12px;line-height:1.6;margin:5px 0 0;max-width:32ch}.stepper{gap:12px;flex-shrink:0}.stepper button{width:44px;height:44px;font-size:23px;color:#193e57}.stepper output{width:24px;font-size:18px}#table-selection-box{margin-top:24px;border-top:1px solid #e0e7ed;padding-top:24px}.table-choice-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.table-choice-heading h4{font-size:15px}.table-choice-heading>span{font-size:11px;color:#3e637d;text-align:right}.table-picker-trigger{position:relative;display:block;overflow:hidden;width:100%;border:1px solid #c9dbe7;border-radius:20px;background:#f6f9fc;padding:0;cursor:pointer;text-align:left}.table-picker-trigger>img{width:100%;height:240px;object-fit:contain;padding:12px;opacity:.88;transition:transform .3s}.table-picker-trigger:hover>img{transform:scale(1.025)}.table-picker-caption{position:relative;display:block;padding:17px 20px;background:white;border-top:1px solid #e0e8ef}.table-picker-caption strong{font-size:14px;color:#17435e;display:block}.table-picker-caption small{display:block;font-size:11px;color:#617587;margin-top:4px}.table-picker-caption>b{position:absolute;right:20px;top:18px;font-size:24px;color:#096bab}.table-select-alternative{font-size:12px;margin-top:12px}.table-select-alternative summary{cursor:pointer;color:#3d5e76;padding:8px 0}#table-availability{text-align:left;font-size:12px;line-height:1.7}.contact-step .form-fields{gap:12px}.form-fields label{font-size:12px}.form-fields input{font-size:13px}.pdf-option small{display:block;font-size:11px;color:#607286;margin-top:4px}.reservation-checkout{margin-top:24px;padding:20px;background:#f2f7fb;border:1px solid #dce7ef;border-radius:20px}.reservation-checkout .total-row{border:0;padding:0 0 18px}.total-row>span{font-size:12px}.total-row small{display:block;font-size:11px;margin-top:4px;color:#617587;max-width:28ch}.total-row output{font-size:29px;white-space:nowrap}.reservation-checkout .form-note{font-size:11px;line-height:1.6}.ticket-scope-note{font-size:11px;line-height:1.6;margin-top:18px;text-align:center}.combined-plan-link{display:block;border:1px solid #dce7ef;border-radius:18px;overflow:hidden;background:#f6f9fc;text-decoration:none;margin:0 0 16px}.combined-plan-link img{width:100%;height:210px;object-fit:contain;padding:12px}.combined-plan-link span{display:block;padding:12px 15px;background:white;font-size:12px;font-weight:650}.map-links{gap:8px}.map-link{padding:12px}.map-link>span:not(.map-open){font-size:13px}.map-link small{font-size:10px}
#table-picker{width:min(1180px,calc(100% - 24px));height:min(860px,96dvh);max-height:96dvh;padding:0;overflow:hidden;border:1px solid #d8e3ec;border-radius:26px;background:#fff;color:#173b53}#table-picker[open]{display:flex;flex-direction:column}#table-picker::backdrop{background:#102331a8;backdrop-filter:blur(7px)}.table-picker-header{display:flex;justify-content:space-between;gap:20px;padding:24px 26px 0;align-items:start;flex-shrink:0}.table-picker-header h2{font-size:28px;margin:5px 0 0;letter-spacing:-.04em}#table-picker-close{width:44px;height:44px;flex-shrink:0;border:1px solid #dbe4ec;background:#f6f9fb;border-radius:50%;font-size:27px;color:#20465e}#table-picker-help{margin:10px 26px 18px;font-size:12px;line-height:1.6}.table-picker-navigation{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:0 26px;flex-shrink:0}.table-floors{display:flex;gap:7px}.table-floors button{min-height:48px;border:1px solid #d4e0e9;border-radius:12px;background:white;padding:9px 15px;color:#34576e;font-size:13px;font-weight:650}.table-floors small{display:block;font-size:10px;font-weight:400;margin-top:2px}.table-floors [aria-pressed=true]{background:#edf5fb;border-color:#096bab;color:#075987}.table-view-switch{display:flex;padding:4px;border:1px solid #dbe5ed;background:#f4f7fa;border-radius:12px}.table-view-switch button{border:0;padding:10px 16px;border-radius:8px;background:transparent;color:#547084;font-size:12px;min-height:40px}.table-view-switch [aria-pressed=true]{background:white;color:#173e59;box-shadow:0 2px 6px #173e5910}.table-snapshot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 26px;font-size:11px;flex-shrink:0}.table-snapshot p{font-size:11px;line-height:1.5;margin:0}.table-snapshot button{min-height:36px;flex-shrink:0;border:0;background:transparent;color:#315e7b;font-size:11px;padding:6px}
.table-picker-content{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:minmax(0,1fr);flex:1;min-height:0;border-block:1px solid #e0e8ef}.table-map-panel{display:flex;flex-direction:column;min-height:0;min-width:0;background:#f2f6fa}.table-map-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 16px;flex-shrink:0}.table-map-tools>span{font-size:10px;color:#5c788d}.table-map-tools>div{display:flex;align-items:center;gap:6px}.table-map-tools button{height:34px;min-width:34px;border:1px solid #d7e3ec;background:white;color:#284f6a;border-radius:9px;padding:5px;font-size:16px}.table-map-tools output{font-size:10px;min-width:36px;text-align:center;font-variant-numeric:tabular-nums}#table-zoom-fit{font-size:10px;padding:7px 10px;white-space:nowrap}#table-map-scroll{overflow:auto;flex:1;min-height:0;touch-action:none;overscroll-behavior:contain;margin:0 12px;background:#fbfdff;border:1px solid #e1eaf1;border-radius:14px;scrollbar-width:thin;scrollbar-color:#afc2d1 transparent}#table-map-canvas{position:relative;width:1000px;margin:0 auto;--marker-size:38px;--marker-font:16px}#table-map-image{display:block;width:100%;height:auto;pointer-events:none;user-select:none}#table-map-buttons{position:absolute;inset:0}#table-map-buttons button{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:var(--marker-size);height:var(--marker-size);padding:0;border:1px solid #096bab;border-radius:3px;background:#096bab;color:white;font-size:var(--marker-font);font-weight:650;line-height:1;user-select:none}#table-map-buttons [data-floor=balcony]{background:#00834b;border-color:#00834b}#table-map-buttons button[aria-pressed=true]{background:#f9cd36;color:#243947;border:2px solid #8a6514;outline:1px solid white;z-index:2}#table-map-buttons [data-state=full],#table-map-buttons [data-state=few]{background:#fff;color:#63798a;border-color:#a9bbc8}#table-map-buttons [data-state=full]::after,#table-map-buttons [data-state=few]::after{content:"";position:absolute;inset:1px;background:linear-gradient(45deg,transparent 48%,#93a8b978 49%,#93a8b978 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,#93a8b978 49%,#93a8b978 51%,transparent 52%);pointer-events:none}#table-map-buttons [data-free]::before{content:attr(data-free);position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:max(6px,calc(var(--marker-font)*.6));line-height:1.2;background:white;color:#385b71;white-space:nowrap;padding:0 2px;border-radius:2px}#table-map-buttons button:disabled{cursor:not-allowed}#table-map-buttons button:disabled[data-state=free]{opacity:.28}
.table-legend{display:flex;gap:9px 15px;flex-wrap:wrap;padding:12px 16px;font-size:10px;color:#3f6077;flex-shrink:0}.table-legend>span{display:flex;align-items:center;gap:6px}.table-legend i{display:inline-grid;place-items:center;width:12px;height:12px;flex-shrink:0;border-radius:2px;font-style:normal}.legend-floor{background:#096bab}.legend-balcony{background:#00834b}.legend-selected{background:#f9cd36;border:1px solid #8a6514}.legend-full{background:white;border:1px solid #93a8b9;color:#63798a;font-size:12px}.table-selection-panel{min-height:0;overflow:auto;padding:24px 20px;border-left:1px solid #dfe8ef;background:white}.table-selection-panel h3{font-size:20px;line-height:1.4;margin:10px 0}.table-selection-panel>p:not(.table-eyebrow){font-size:12px;line-height:1.7}#table-selected-capacity{color:#3c617a}.picker-quantity{border-top:1px solid #e0e8ef;padding-top:22px;margin-top:22px}.picker-quantity>span{display:block;font-size:12px;margin-bottom:12px}.picker-quantity .stepper{justify-content:space-between}.picker-quantity-note{font-size:10px!important;margin-top:12px}.picker-cost{display:flex;justify-content:space-between;align-items:center;padding:20px 0;margin-top:12px;border-top:1px solid #e0e8ef}.picker-cost>span{font-size:12px}.picker-cost strong{font-size:22px;white-space:nowrap}.picker-hold-note{font-size:10px!important;padding-top:16px;border-top:1px solid #e0e8ef}#table-list-panel{overflow:auto;min-width:0;min-height:0;padding:16px;background:#f4f7fa}.table-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.table-buttons button{min-height:66px;border:1px solid #c6dce9;border-left:4px solid #096bab;border-radius:12px;background:white;color:#214960;font-size:12px;font-weight:650}.table-buttons [data-floor=balcony]{border-left-color:#00834b}.table-buttons small{display:block;font-size:10px;font-weight:400;margin-top:5px}.table-buttons [aria-pressed=true]{background:#fff4cd;border-color:#c9a235;color:#3b3217}.table-buttons [data-state=full],.table-buttons [data-state=few]{border-style:dashed;color:#667f91;background:#f9fbfd}.table-picker-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 26px;flex-shrink:0;background:white}.table-picker-footer p{font-size:11px;line-height:1.5;margin:0}.table-picker-footer .button{font-size:13px;min-height:48px;white-space:nowrap}.table-picker-footer .button:disabled{opacity:.45;cursor:default}#table-picker button:focus-visible,#table-map-scroll:focus-visible,.table-picker-trigger:focus-visible{outline:3px solid #096bab;outline-offset:3px}
@media(max-width:1000px){.ticket-layout{grid-template-columns:1fr}.venue{display:block}.map-links{grid-template-columns:1fr 1fr}.combined-plan-link img{height:250px}.reservation{padding:28px}.table-map-tools>span{display:none}}
@media(max-width:650px){.reservation{padding:20px}.reservation-heading h3{font-size:26px}.ticket-kind-grid{gap:9px}.ticket-option{padding:13px;gap:8px}.ticket-option:has(input:checked){padding:12px}.ticket-option>span{min-width:75px}.ticket-option strong{font-size:12px}.ticket-option small{font-size:11px}.ticket-option>b{font-size:23px;padding-left:0}.quantity-row{gap:12px}.quantity-row p{font-size:11px}.stepper{gap:8px}.stepper button{width:42px;height:42px}.contact-step .form-fields{grid-template-columns:1fr}.table-picker-trigger>img{height:190px}.reservation-checkout{padding:16px}.total-row output{font-size:26px}.table-choice-heading{align-items:start}.table-choice-heading>span{max-width:45%}.combined-plan-link img{height:230px}#table-picker{width:100%;height:100dvh;max-height:100dvh;max-width:none;margin:0;border:0;border-radius:0}.table-picker-header{padding:16px 16px 0}.table-picker-header h2{font-size:23px}#table-picker-help{font-size:11px;margin:8px 16px 12px}.table-picker-navigation{margin:0 16px;gap:10px;flex-wrap:wrap}.table-floors{flex:1;gap:5px}.table-floors button{padding:7px 9px;font-size:12px;flex:1;min-height:43px}.table-floors small{font-size:9px}.table-view-switch{padding:3px}.table-view-switch button{font-size:10px;min-height:35px;padding:8px 10px}.table-snapshot{margin:8px 16px;gap:6px}.table-snapshot p{font-size:10px}.table-snapshot button{min-height:32px;font-size:10px}.table-picker-content{display:flex;flex-direction:column;min-height:0}.table-map-panel,#table-list-panel{flex:1;min-height:0}.table-map-tools{justify-content:center;padding:7px 10px}.table-map-tools button{height:32px;min-width:32px}.table-legend{font-size:9px;padding:8px 12px;gap:5px 10px}.table-selection-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;flex-shrink:0;padding:12px 16px;border-left:0;border-top:1px solid #e0e8ef}.table-selection-panel>.table-eyebrow,.picker-quantity-note,.picker-hold-note,.picker-cost{display:none}.table-selection-panel h3{font-size:15px;margin:0 0 4px;grid-column:1}.table-selection-panel #table-selected-capacity{font-size:10px;grid-column:1}.picker-quantity{grid-column:2;grid-row:1/3;margin:0;padding:0;border:0;display:flex;align-items:center}.picker-quantity>span{display:none}.picker-quantity .stepper button{width:36px;height:36px}.picker-quantity .stepper output{width:18px;font-size:16px}.table-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.table-buttons button{min-height:60px;font-size:11px}.table-picker-footer{padding:12px 16px;gap:12px}.table-picker-footer p{font-size:10px}.table-picker-footer .button{font-size:12px;padding:12px 15px;min-height:46px}}
@media(prefers-reduced-motion:reduce){.ticket-option,.table-picker-trigger>img{transition:none}.table-picker-trigger:hover>img{transform:none}}

/* A CSS cross stays inside the key square, independent of font baseline. */
.legend-full{position:relative;font-size:0;overflow:hidden}
.legend-full::before,.legend-full::after{content:"";position:absolute;left:1px;right:1px;top:50%;height:1px;background:#6d8495;transform:rotate(45deg)}
.legend-full::after{transform:rotate(-45deg)}
@media(min-width:651px){
 #table-picker{width:calc(100% - 24px);max-width:none;height:calc(100dvh - 24px);max-height:none}
 .table-picker-header{padding:16px 22px 0}.table-picker-header h2{font-size:25px}
 #table-picker-help{margin:6px 22px 10px}.table-picker-navigation{margin:0 22px}
 .table-floors button{min-height:42px;padding:6px 13px}.table-snapshot{margin:5px 22px}
 .table-picker-content{grid-template-columns:minmax(0,1fr) 230px}
 .table-selection-panel{padding:18px}.table-picker-footer{padding:12px 22px}
 #plan-dialog{width:calc(100% - 24px);max-width:none;height:calc(100dvh - 24px);max-height:none;padding:16px 22px}
 #plan-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
 #plan-dialog .plan-toolbar,#plan-help,#plan-dialog .plan-zoom{flex-shrink:0}
 #plan-viewport{height:auto;flex:1;min-height:0}
}
