.seat-dialog{width:min(980px,calc(100% - 28px))}.seat-dialog .checkout-shell{padding:30px}.checkout-step-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.checkout-step-heading h2{white-space:pre-line;font-size:44px;line-height:1;margin:0 0 12px}.checkout-step-heading>span{font-size:11px;color:var(--muted);margin-right:20px}.seat-dialog .notice{font-size:10px;margin:7px 0 20px}.seat-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}.sector-tabs{display:flex;padding:4px;background:#ede5db;border-radius:6px;gap:4px}.sector-tabs button{padding:9px 15px;border-radius:4px;background:transparent;color:#8e7778;font-size:11px}.sector-tabs button[aria-pressed=true]{background:var(--wine);color:#fff8ec}.seat-refresh{background:transparent;color:var(--wine);padding:10px}.seat-legend{gap:17px;flex-wrap:wrap;font-size:9px;color:#8d7c7f;margin:16px 0 12px}.seat-legend,.seat-legend>span{display:flex;align-items:center}.seat-legend>span{gap:6px}.seat-legend i{display:inline-block;width:10px;height:10px;border:1px solid #c9b7a1;border-radius:50%;background:#f4e8d6}.seat-legend i.chosen{background:var(--wine);border-color:var(--wine)}.seat-legend i.taken{background:#cfc8c5;border-color:#cfc8c5}.seat-legend b{margin-left:auto;font-size:10px;color:var(--wine);font-weight:600}.hall-scroll{--hall-height:clamp(200px,32vh,340px);height:var(--hall-height);overflow:auto;border:1px solid #e5d8c7;border-radius:7px;background:#fffdf7;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9b7a1 #f4ece0}.hall-canvas{min-width:100%}.hall-canvas svg{display:block;width:100%;height:100%}.stage-curve{fill:none;stroke:#bca884;stroke-width:3}.stage-label{fill:#947757;font-family:var(--serif);font-size:35px;text-anchor:middle}.sector-name{fill:#90725b;font-size:19px;text-anchor:middle;font-family:var(--sans)}.map-seat{cursor:pointer}.map-seat circle{fill:#efe2cd;stroke:#b9a487;stroke-width:1.2;transition:fill .12s}.map-seat text{fill:#775c49;font-family:var(--sans);font-size:11px;text-anchor:middle;pointer-events:none;font-weight:600}.map-seat:hover circle{fill:#e0c395;stroke:var(--wine)}.map-seat.current-row:not(.chosen):not(.taken) circle{stroke:var(--wine);stroke-width:1.7}.map-seat.chosen circle{fill:var(--wine);stroke:var(--wine)}.map-seat.chosen text{fill:white}.map-seat.taken{cursor:not-allowed}.map-seat.taken circle{fill:#d8d2ce;stroke:#d8d2ce}.map-seat.taken text{fill:#a39b96}.map-row-number text{fill:#a49487;font-size:9px;text-anchor:middle}.map-bottom{justify-content:space-between;font-size:9px;color:#9b8984;margin:9px 0 17px;gap:20px}.map-bottom,.map-zoom{display:flex;align-items:center}.map-zoom{gap:10px;white-space:nowrap}.map-zoom button{background:#ede5db;border-radius:4px;padding:7px;color:var(--wine)}.row-controls{display:grid;grid-template-columns:1fr 160px;gap:16px;border-top:1px solid var(--line);padding-top:18px}.row-controls label{font-size:10px;font-weight:600;color:#806b6a}.row-controls select{display:block;width:100%;font-size:11px;margin-top:7px;padding:11px;background:#fffdf7}.row-selection{padding:17px 0 8px}.row-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:12px}.row-title>span{font-size:9px;color:#9b8984}.row-seats{display:flex;flex-wrap:wrap;gap:7px}.row-seats button{border:1px solid #cfbba2;border-radius:6px;background:#f6ead9;color:#6d4a43;min-width:38px;height:40px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:11px}.row-seats button.selected{background:var(--wine);border-color:var(--wine);color:white}.row-seats button small{font-size:9px}.row-seats button:disabled{background:#ded8d2;border-color:#ded8d2;color:#aaa09a;opacity:.75}.seat-notice{font-size:10px;color:var(--wine);margin-top:10px}.selected-seats{border-top:1px solid var(--line);margin-top:12px;padding-top:15px;display:flex;justify-content:space-between;gap:20px;align-items:start}.selected-seats>span{font-size:10px;font-weight:600;min-width:170px}.selected-seats small{font-size:8px;font-weight:400;display:block;color:#9b8984;margin-top:5px}.selected-seats>div{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.selected-seats button{display:flex;align-items:center;gap:9px;background:#eee2d2;border:1px solid #e6d3b8;border-radius:4px;font-size:9px;padding:7px 8px;color:var(--wine)}.seat-checkout-footer{position:sticky;bottom:0;background:var(--cream);padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:20px}.seat-checkout-footer>div>span{display:block;font-size:10px;color:var(--muted)}.seat-checkout-footer strong{font-size:27px;font-weight:650;letter-spacing:-.7px;display:block;margin-top:4px}.seat-checkout-footer>.button{min-width:195px}.back-to-seats{display:flex;align-items:center;gap:8px;font-size:10px;background:none;color:var(--wine);padding:8px 0}.checkout-seat-summary{display:grid;gap:7px;padding:15px;background:#f0e6d8;border-radius:5px;font-size:10px;color:var(--wine);margin:10px 0 20px}@media(max-width:700px){.seat-dialog{width:calc(100% - 16px);max-height:96dvh}.seat-dialog .checkout-shell{padding:27px 17px 20px}.checkout-step-heading h2{font-size:37px}.checkout-step-heading>span{margin-right:12px}.sector-tabs{gap:2px;padding:3px}.sector-tabs button{padding:8px 9px;font-size:9px}.seat-refresh{padding:7px}.seat-legend{gap:12px;font-size:8px;margin-top:14px}.seat-legend b{font-size:9px;margin-left:0;flex-basis:100%}.hall-scroll{--hall-height:230px}.map-bottom{font-size:8px;gap:12px;line-height:1.5}.map-zoom{gap:6px}.row-controls{grid-template-columns:1fr 100px;gap:10px;padding-top:14px}.row-controls select{font-size:10px;padding:10px}.row-seats{gap:6px}.row-seats button{min-width:40px;height:43px}.selected-seats{flex-direction:column;gap:12px}.selected-seats>div{justify-content:flex-start}.seat-checkout-footer{bottom:0;padding-top:15px;gap:15px}.seat-checkout-footer>.button{min-width:150px;font-size:11px;padding:15px}.seat-checkout-footer strong{font-size:25px}.seat-dialog .notice{font-size:9px;margin-bottom:16px}.seat-dialog .notice>b{font-size:9px}}