.seat-zoom{min-width:0;border:1px solid #ddd4d9;border-radius:16px;background:#fff;overflow:hidden;margin:1rem 0;color:#30232b}
.seat-zoom-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px;border-bottom:1px solid #e7dfe3;background:#faf8f9}
.seat-zoom .seat-zoom-button{border:1px solid #d5c6ce;background:#fff;color:#64253f;border-radius:8px;min-width:40px;min-height:40px;width:auto;margin:0;padding:7px 11px;font:600 .88rem/1.2 system-ui,sans-serif;cursor:pointer}
.seat-zoom .seat-zoom-button:hover,.seat-zoom .seat-zoom-button[aria-pressed=true]{background:#efe3e9;border-color:#8c3559}.seat-zoom .seat-zoom-button:disabled{opacity:.45;cursor:default}
.seat-zoom-value{font:600 .85rem system-ui,sans-serif;min-width:52px;text-align:center}.seat-zoom-hint{display:block;padding:8px 12px;font-size:.78rem;color:#66565f;line-height:1.4}
.seat-zoom .seat-zoom-viewport{display:block;position:relative;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;height:clamp(260px,55vh,510px);max-height:none;min-width:0;width:100%;border:0;border-radius:0;margin:0;background:#f8f8fb}
.seat-zoom .seat-zoom-stage{position:relative;min-width:0;min-height:0;max-width:none;max-height:none;margin:0 auto}
.seat-zoom .seat-zoom-map{display:block;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;flex:none;aspect-ratio:auto}
.seat-zoom-pan,.seat-zoom-pan *{cursor:grab!important;user-select:none}.seat-zoom-pan:active,.seat-zoom-pan:active *{cursor:grabbing!important}
.seat-zoom-button:focus-visible,.seat-zoom-viewport:focus-visible{outline:3px solid #244c7f;outline-offset:-3px}
.seat-zoom.seat-zoom-expanded{position:fixed;inset:12px;z-index:10000;margin:0;box-shadow:0 0 0 100vmax #20151acc;display:flex;flex-direction:column}.seat-zoom-expanded .seat-zoom-viewport{flex:1;min-height:0;height:auto}.seat-zoom-expanded .seat-zoom-tools,.seat-zoom-expanded .seat-zoom-hint{flex:none}
.seat-zoom .seat-map-seat{min-width:0;min-height:0}.seat-zoom .seat-map-label{font-size:14px}
@media(max-width:600px){.seat-zoom .seat-zoom-button{min-height:44px}.seat-zoom.seat-zoom-expanded{inset:5px}.seat-zoom-hint{font-size:.72rem}}
@media print{.seat-zoom-tools,.seat-zoom-hint{display:none!important}.seat-zoom,.seat-zoom.seat-zoom-expanded{position:static;box-shadow:none;overflow:visible;border:0}.seat-zoom .seat-zoom-viewport{height:auto!important;overflow:visible}.seat-zoom .seat-zoom-stage{width:100%!important;height:auto!important}.seat-zoom svg.seat-zoom-map{width:100%!important;height:auto!important}}

/* The stage, not the unscaled map box, defines the scrollable area. */
.seat-zoom .seat-zoom-stage{overflow:hidden;flex:none}
.seat-zoom .seat-zoom-touch{touch-action:none}
.seat-zoom .seat-zoom-button{min-width:44px;min-height:44px}
.seat-zoom .seat-zoom-tools{position:relative;z-index:2}
.seat-zoom[data-fit=content] .seat-zoom-map{transform-origin:0 0}
@media print{.seat-zoom[data-fit=content] .seat-zoom-map{transform:none!important}.seat-zoom[data-fit=content] .seat-zoom-stage{margin-top:0!important;overflow:visible}}
