.seat-selection{position:relative;width:100%}.seat-map-container{position:relative;width:100%;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.seat-map-container:active{cursor:grabbing}.seat-map-svg{display:block;width:100%;height:auto;min-height:300px;max-height:70vh}.seat{cursor:pointer}.seat circle{transition:fill .1s ease,stroke .1s ease;stroke-width:1.5}.seat--available:hover circle{filter:brightness(1.15)}.seat--selected:hover circle{filter:brightness(1.15)}.seat--unavailable{cursor:not-allowed}.seat--restricted{cursor:default;pointer-events:none}.seat--own-booking:hover circle{filter:brightness(1.1)}.seat-number{font-family:var(--font-body);font-size:10px;text-anchor:middle;dominant-baseline:central;pointer-events:none}.section-label{font-family:var(--font-heading);font-size:14px;fill:var(--color-text);text-anchor:middle;dominant-baseline:auto;pointer-events:none;font-weight:700}.row-label{font-family:var(--font-body);font-size:10px;fill:var(--color-text-secondary);pointer-events:none;dominant-baseline:central}.row-label--horizontal{text-anchor:end}.row-label--vertical{text-anchor:middle}.seat-map-controls{position:absolute;bottom:var(--space-sm);right:var(--space-sm);display:flex;flex-direction:column;gap:2px;z-index:10}.seat-map-controls button{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text);font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;box-shadow:var(--shadow-sm)}.seat-map-controls button:hover{background:var(--color-bg)}.seat-map-controls button:active{background:var(--color-border)}.seat-tooltip{position:absolute;pointer-events:none;z-index:20;background:var(--color-text);color:var(--color-bg-card);font-family:var(--font-body);font-size:13px;padding:6px 10px;border-radius:var(--radius-sm);white-space:nowrap;transform:translate(-50%,-100%);margin-top:-10px;box-shadow:var(--shadow-md)}.seat-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--color-text)}.seat-legend{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) 0 var(--space-sm)}.seat-legend-section{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}.seat-legend-item{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-size:13px;color:var(--color-text-secondary)}.seat-legend-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1.5px solid transparent}.seat-legend-dot--selected{background:#3b82f6;border-color:#1d4ed8}.seat-legend-dot--unavailable{background:#d1d5db;border-color:#9ca3af}.seat-legend-dot--own-booking{background:#fbbf24;border-color:#d97706}.seat-legend-dot--restricted{background:#fff;border-color:#e5e7eb}.seat-selection-info{text-align:center;font-family:var(--font-body);font-size:14px;color:var(--color-warning);padding:var(--space-xs) 0}
