/* Seat map layout */
.wowe-seatmap .sm-stage svg { max-width: 100%; height: auto; display: block; }

/* generic text style for anything in the map */
.wowe-seatmap svg text {
  fill: #464646;
  font-size: 14px;
  user-select: none;
  pointer-events: none;
}

/* only zone labels if you used the class */
.wowe-seatmap g[id^="zone-"] > text.zone-label {
  font-weight: 600;
}

/* Defaults for shapes (works even if SVG attributes were stripped) */
.wowe-seatmap g[id^="zone-"] > rect { fill: #f3f3f3; stroke: #ccc; }
.wowe-seatmap g[id^="zone-"] > rect text { fill: #464646; }

/* Seats */
.wowe-seatmap [data-seat-id] { cursor: pointer; transition: filter .15s, outline .15s; }
.wowe-seatmap .available { opacity: 1; }
.wowe-seatmap .held      { opacity: .6; cursor: not-allowed; }
.wowe-seatmap .held-mine { opacity: .9; cursor:pointer; }
.wowe-seatmap .sold      { opacity: .3; cursor: not-allowed; }
.wowe-seatmap .selected  { outline: 2px solid currentColor; filter: brightness(0.9); }

/* Visuals */
.wowe-seatmap [data-seat-id]            { fill:#eaf2ff; stroke:#2b6cb0; stroke-width:1.5; outline: none; }
.wowe-seatmap .selected                 { fill:#2b6cb0; stroke-width:2.5; }
.wowe-seatmap .held:not(.selected)      { fill:#ffe8a3; stroke:#c9a227; }
.wowe-seatmap .sold                     { fill:#d1d5db; stroke:#9ca3af; }

/* Toolbar */
.wowe-seatmap .sm-toolbar { text-align:center; text-transform:uppercase; font-weight:600; color:#5C563C; gap:.75rem; align-items:center; }


/* ---------- Seat map toolbar timer (in-map chip) ---------- */
.wowe-seatmap .sm-timer{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.95rem;
  line-height:1.2;
  opacity:.92;
  color:#1f2937;                /* slate-800 */
  background:rgba(229,231,235,.65); /* gray-200 w/ alpha */
  border:1px solid rgba(17,24,39,.08); /* slate-900 @ 8% */
  padding:.35rem .55rem;
  border-radius:.5rem;
  user-select:none;
}
.wowe-seatmap .sm-timer .time{ font-variant-numeric: tabular-nums; letter-spacing:.02em; }
.wowe-seatmap .sm-timer.expiring{
  color:#b91c1c;                /* red-700 */
  background:rgba(254,226,226,.85); /* red-100 */
  border-color:rgba(185,28,28,.25);
}

/* ---------- Global timer (inserted before #event-form) ---------- */
#wowe-hold-timer{
  display:none;                 /* shown by JS */
  margin:0 0 12px 0;
  padding:8px 12px;
  background:rgba(0,0,0,.80);
  color:#fff;
  border-radius:8px;
  font-size:14px;
  line-height:1.2;
  box-shadow:0 4px 10px rgba(0,0,0,.18);
}
#wowe-hold-timer .time{ font-variant-numeric: tabular-nums; letter-spacing:.02em; }
#wowe-hold-timer.expiring{ background:rgba(185,28,28,.95); }

.sm-warn {
  color: rgba(185,28,28,.95);
}

/* ---------- Optional polish ---------- */
@media (max-width: 480px){
  .wowe-seatmap .sm-timer{ font-size:.9rem; padding:.3rem .5rem; }
  #wowe-hold-timer{ font-size:13px; padding:7px 10px; }
}
@media (prefers-reduced-motion: reduce){
  .wowe-seatmap .sm-timer, #wowe-hold-timer{ transition:none !important; }
}

.sm-empty {font-size: 22px; text-align: center; font-weight: 600;}