/* koltuk-secim-v2: tüm kurallar .seat-v2 altında kapsanır (site CSS'i ile çakışmasın). */
.seat-v2 .viewport{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab}
.seat-v2 .viewport.is-dragging{cursor:grabbing}
.seat-v2 .map-content{position:absolute;transform-origin:0 0;user-select:none}
.seat-v2 .seat{position:absolute;display:grid;place-items:center;border:1px solid #b7bcc4;border-radius:var(--seat-radius,5px);background:#fff;color:#333740;font-size:12px;font-weight:500;padding:0;box-shadow:none;overflow:hidden}
@media (hover:hover){.seat-v2 .seat:hover:enabled{border-color:#aaa02e;background:var(--accent-soft)}}
.seat-v2 .seat.is-sold,.seat-v2 .seat.is-reserved,.seat-v2 .seat.is-closed,.seat-v2 .seat.is-protocol{background:var(--sold);border-color:#d4d7dc;color:#8d929b}
.seat-v2 .seat.is-basket{background:#ef7790;border-color:#dd637c;color:white}
.seat-v2 .seat.is-accessible{background:#536adc;border-color:#536adc;color:white}
.seat-v2 .seat.is-pair{border-color:#3c89e8;color:#3478cf}
.seat-v2 .seat.pair-left{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}
.seat-v2 .seat.pair-right{border-top-left-radius:0;border-bottom-left-radius:0}
.seat-v2 .seat.is-campaign.is-available{border-top:var(--campaign-stripe,4px) solid #a060b5}
.seat-v2 .seat.is-selected{background:var(--accent);border-color:#cfbf10;color:#25230d}
.seat-v2 .seat.is-pair.is-selected{background:#3c89e8;color:white;border-color:#3c89e8}
.seat-v2 .seat-number{white-space:nowrap;max-width:100%;line-height:1;position:relative;z-index:1;pointer-events:none}
.seat-v2 .seat-trash{display:none;width:var(--seat-glyph,16px);height:var(--seat-glyph,16px);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1;pointer-events:none}
@media (hover:hover){.seat-v2 .seat.is-selected:hover:enabled .seat-number{display:none}
.seat-v2 .seat.is-selected:hover:enabled .seat-trash{display:block}}
.seat-v2 .seat-spinner{display:none;border:2px solid #25230d28;border-top-color:currentColor;border-radius:50%;width:var(--seat-glyph,16px);height:var(--seat-glyph,16px);animation:seat-spin .7s linear infinite}
.seat-v2 .seat.is-pending .seat-spinner{display:block}
.seat-v2 .seat.is-pending .seat-number,.seat-v2 .seat.is-pending .seat-trash{display:none!important}
.seat-v2 .seat:disabled{opacity:1}
.seat-v2 .seat.is-pending:disabled{opacity:1}
.seat-v2 .row-label{position:absolute;width:28px;display:grid;place-items:center;font-size:11px;color:#818691}
.seat-v2 .map-footer{padding:14px 24px 18px;z-index:1;background:var(--bg)}
.seat-v2 .legend{list-style:none;display:flex;justify-content:flex-start;gap:14px;padding:2px 0 4px;margin:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.seat-v2 .legend::-webkit-scrollbar{display:none}
.seat-v2 .legend li{flex-shrink:0;white-space:nowrap}
.seat-v2 .legend li:first-child{margin-left:auto}
.seat-v2 .legend li:last-child{margin-right:auto}
.seat-v2 .legend li{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.seat-v2 .legend i{width:10px;height:10px;border-radius:50%;background:white;border:1px solid #b7bcc4}
.seat-v2 .legend .selected{background:var(--accent);border-color:#cdbd12}
.seat-v2 .legend .sold{background:var(--sold);border-color:#d4d7dc}
.seat-v2 .legend .basket{background:#ef7790;border-color:#ef7790}
.seat-v2 .legend .pair{background:#3c89e8;border-color:#3c89e8}
.seat-v2 .legend .accessible{background:#536adc;border-color:#536adc}
.seat-v2 .legend .campaign{background:#a060b5;border-color:#a060b5}
.seat-v2 .map-hint{text-align:center;font-size:10px;color:#989da5;margin-top:10px}
.seat-v2 #stage-direction{margin-bottom:12px}
@keyframes seat-spin{to{transform:rotate(360deg)}}
@media(max-width:1024px){.seat-v2 .map-footer{padding:12px 14px}
.seat-v2 .map-hint{display:none}
.seat-v2 .legend{gap:9px}
.seat-v2 .legend li{font-size:9px}}
@media(prefers-reduced-motion:reduce){}
.seat-v2 .seat.has-category-color.is-available:not(.is-selected){background:var(--seat-category-color);color:#292d35}
@media (hover:hover){.seat-v2 .seat.has-category-color.is-available:not(.is-selected):hover{border-left-color:#767b85;border-right-color:#767b85;border-bottom-color:#767b85}}
.seat-v2 .salon-svg{display:block;width:100%;height:100%;}
