.exact-map-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px
}
.seatmap-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px
}
.seatmap-subtitle{font-size:13px;color:var(--muted);margin-top:3px}
.exact-map-host{
  position:relative;overflow:auto;min-height:560px;border-radius:14px;background:#fbfbf9;
  display:flex;align-items:center;justify-content:center
}
.exact-map-svg{
  display:block;width:100%;height:auto;max-height:820px;
  transform-origin:center center;transition:transform .16s ease
}
.exact-seat-layer{pointer-events:auto}
.map-seat{
  vector-effect:non-scaling-stroke;transition:fill .12s ease,stroke .12s ease,opacity .12s ease
}
.map-seat.available{
  fill:var(--seat-color);stroke:#fff;stroke-width:1.6;cursor:pointer;opacity:.98
}
.map-seat.available:hover{
  stroke:#171717;stroke-width:2.6;filter:brightness(1.05)
}
.map-seat.available.selected{
  fill:#111;stroke:#fff;stroke-width:3
}
.map-seat.unavailable{
  fill:#d9d9d5;stroke:#c9c9c4;stroke-width:.8;cursor:not-allowed;opacity:.62;pointer-events:none
}
.price-legend{
  display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;
  padding:10px 0 14px;font-size:12px;color:#484a50
}
.price-legend-item{display:flex;align-items:center;gap:6px;white-space:nowrap}
.price-legend-item i{
  width:12px;height:12px;border-radius:50%;display:inline-block;flex:0 0 12px
}
.price-legend-item .unavailable-dot{background:#d9d9d5;border:1px solid #c9c9c4}
.map-controls{display:flex;gap:6px}
.map-controls button{
  border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 11px;cursor:pointer
}
.map-loading{padding:40px;text-align:center;color:var(--muted)}
.selected-title-row{display:flex;gap:12px;align-items:center}
.clear-selection{
  border:0;background:transparent;color:var(--accent);padding:0;cursor:pointer;font-size:12px
}
.selected-list{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.selected-seat-chip{
  display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);
  border-radius:10px;background:#fafaf8;font-size:12px
}
.selected-seat-chip i{width:10px;height:10px;border-radius:50%;flex:0 0 10px}
.purchase-panel{
  position:sticky;bottom:10px;box-shadow:0 14px 40px rgba(0,0,0,.08)
}
@media(max-width:650px){
  .exact-map-host{min-height:420px}
  .exact-map-card{padding:10px}
  .seatmap-toolbar{align-items:flex-start}
  .price-legend{gap:8px 12px}
}

/* 2026-09-01 clickable price legend */
.checkout-event-meta{display:flex;gap:8px 18px;align-items:center;flex-wrap:wrap;margin:-6px 0 20px;color:var(--muted);font-size:14px}.checkout-event-meta span+span:before{content:"·";margin-right:18px;color:#b3b3ad}
.price-legend-filter{appearance:none;border:1px solid transparent;background:transparent;padding:6px 8px;border-radius:9px;font:inherit;color:inherit;cursor:pointer}.price-legend-filter:hover{background:#f3f3ef}.price-legend-filter.active{border-color:#171717;background:#fff;box-shadow:0 0 0 2px rgba(23,23,23,.08)}
.exact-map-svg.has-price-filter .map-seat.available.price-dim{opacity:.11;filter:grayscale(.7)}
.exact-map-svg.has-price-filter .map-seat.available.price-highlight{opacity:1;stroke:#111;stroke-width:3.2;filter:drop-shadow(0 0 10px rgba(0,0,0,.35)) brightness(1.12)}
.exact-map-svg.has-price-filter .map-seat.available.selected{opacity:1;filter:none;stroke:#fff}
@media(max-width:650px){.checkout-event-meta{gap:5px 10px}.checkout-event-meta span+span:before{margin-right:10px}}

/* 2026-09-01 compact seat hover tooltip */
.seat-tooltip{position:fixed;z-index:1000;pointer-events:none;min-width:155px;max-width:220px;padding:9px 11px;border-radius:11px;background:rgba(23,23,23,.94);color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.22);font-size:12px;line-height:1.35;backdrop-filter:blur(8px)}.seat-tooltip b,.seat-tooltip span,.seat-tooltip strong{display:block}.seat-tooltip b{font-size:12px;margin-bottom:2px}.seat-tooltip span{color:#d8d8d8}.seat-tooltip strong{margin-top:4px;font-size:13px}
