
/* OptionRock Live — interactive regional discovery, with no default map download. */
.or-live-scene-map { background: radial-gradient(ellipse at 10% 10%,rgba(206,42,61,.07),transparent 52%),#0a0b0f; }
.or-scene-map__intro { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.028); padding:1.05rem 1.2rem; margin-bottom:1.35rem; }
.or-scene-map__counts { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:.7rem; }
.or-scene-map__counts span { border:1px solid rgba(232,49,63,.5); color:#f6d4d7; background:rgba(232,49,63,.09); font-size:.75rem; font-weight:850; letter-spacing:.035em; padding:.43rem .66rem; }
.or-scene-map__intro p { max-width:70rem; margin:0; color:#b7b7c0; font-size:.86rem; line-height:1.75; }
.or-scene-map__controls { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; margin:1rem 0 .7rem; }
.or-scene-map__filters { display:flex; gap:.45rem; flex-wrap:wrap; }
.or-scene-map__filters button { cursor:pointer; min-height:42px; padding:.58rem .9rem; border:1px solid rgba(255,255,255,.23); background:rgba(255,255,255,.035); color:#f3f1f3; font:inherit; font-size:.79rem; font-weight:800; }
.or-scene-map__filters button[aria-pressed="true"] { background:#e32635; color:#fff; border-color:#e32635; }
.or-scene-map__filters button:focus-visible, #or-live-map-load:focus-visible { outline:2px solid #ffa8ad; outline-offset:3px; }
#or-live-map-load { min-height:44px; cursor:pointer; }
#or-live-map-load[disabled] { cursor:default; opacity:.78; }
.or-scene-map__privacy { max-width:65rem; margin:.65rem 0; color:#a5a5ae; font-size:.77rem; line-height:1.6; }
.or-scene-map__status { color:#d9bfc4; font-size:.79rem; margin:.5rem 0; min-height:1.3rem; }
.or-scene-map__canvas { display:block; height:min(62vh,460px); min-height:320px; width:100%; margin:1.15rem 0; border:2px solid rgba(255,255,255,.16); background:#17191c; z-index:0; }
.or-scene-map__canvas[hidden], .or-scene-map__entry[hidden], .or-scene-map__empty[hidden] { display:none!important; }
.or-scene-map__list-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.6rem 1rem; margin:1.4rem 0 .65rem; }
.or-scene-map__list-heading h3 { font-family:var(--font-display),Impact,sans-serif; margin:0; font-size:clamp(1.4rem,2.2vw,1.9rem); text-transform:uppercase; }
.or-scene-map__list-heading p { color:#989ba6; font-size:.78rem; margin:0; }
.or-scene-map__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:0; padding:0; list-style:none; }
.or-scene-map__entry { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; padding:1rem; background:linear-gradient(140deg,#1b181e,#101116); border:1px solid rgba(255,255,255,.13); min-width:0; }
.or-scene-map__entry-copy { display:grid; gap:.25rem; min-width:0; }
.or-scene-map__entry-copy strong { color:#fff; overflow-wrap:anywhere; font-size:1rem; line-height:1.32; }
.or-scene-map__entry-copy small { color:#bdbbc3; font-size:.77rem; line-height:1.5; }
.or-scene-map__entry-type { display:inline-block; justify-self:start; text-transform:uppercase; letter-spacing:.07em; font-size:.67rem; font-weight:850; padding:.25rem .45rem; border:1px solid rgba(255,255,255,.23); }
.or-scene-map__entry-type--band { color:#9ee3fc; border-color:rgba(115,197,224,.55); }
.or-scene-map__entry-type--concert { color:#ff9fa8; border-color:rgba(230,62,80,.65); }
.or-scene-map__entry > a { margin-top:auto; color:#fff; font-size:.75rem; font-weight:850; text-decoration:underline; text-decoration-color:#d43a49; text-underline-offset:4px; }
.or-scene-map__entry > a:hover { color:#ff8898; }
.or-scene-map__empty { border:1px dashed rgba(255,255,255,.15); color:#b4b4bf; padding:.9rem 1rem; }
.or-scene-map__popup { max-width:280px; color:#141318; line-height:1.4; }
.or-scene-map__popup > strong { display:block; margin-bottom:.4rem; font-size:1rem; }
.or-scene-map__popup-item { margin:.45rem 0; padding:.45rem 0; border-top:1px solid #ded7dc; display:grid; gap:.15rem; }
.or-scene-map__popup-item small { color:#555; }
.or-scene-map__popup-item div { font-weight:800; overflow-wrap:anywhere; }
.or-scene-map__popup-item a { color:#a40e20!important; text-underline-offset:3px; }
.or-scene-map__popup p { font-size:.7rem; line-height:1.45; color:#666; }
.or-live-scene-map .leaflet-container { font-family:inherit; }
.or-live-scene-map .leaflet-container a.leaflet-popup-close-button:focus-visible { outline:2px solid #e32635; }
@media (max-width:720px) {
  .or-scene-map__list { grid-template-columns:1fr; }
  .or-scene-map__controls { align-items:stretch; }
  .or-scene-map__filters { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .or-scene-map__filters button { padding:.6rem .3rem; }
  #or-live-map-load { width:100%; }
  .or-scene-map__canvas { height:350px; min-height:300px; }
  .or-scene-map__entry { padding:.95rem; }
}
