/* Venue markers on the original Midnight globe; no external map service. */
.platform-page .event-locations { min-height: 0; padding: 58px 0 32px; overflow: hidden; background: #0b1228; border-top: 1px solid #233453; }
.event-locations .container { max-width: 1440px; width: calc(100% - 48px); }
.venue-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; position:relative; z-index:2; }
.venue-eyebrow { display:block; color:#aabaff; font-size:11px; font-weight:650; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; }
.platform-page .event-locations .section-title { text-align:left; margin:0; font-size:clamp(32px,3.6vw,54px); letter-spacing:-.05em; line-height:1.08; }
.platform-page .event-locations .section-description { margin:0; text-align:left; font-size:14px; line-height:1.7; color:#bdc9e3; }
.globe-interaction-hint { display:none; }
.venue-globe-ready .globe-interaction-hint { display:inline; }
.venue-globe-ready .globe-fallback-hint { display:none; }
.venue-globe-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr); align-items:center; gap:24px; }
.platform-page .event-locations .globe-scene { position:relative; width:100%; max-width:none; min-width:0; height:auto; aspect-ratio:1; margin:0; transform:none; transition:none; isolation:isolate; }
.event-locations #network-globe, .event-locations .globe-poster { object-fit:contain; }
.event-locations .globe-scene::before { inset:0; background:radial-gradient(ellipse,#3347e829,transparent 67%); }
.globe-pin { position:absolute; z-index:5; display:flex; align-items:center; gap:7px; width:min(130px,calc(50% - 12px)); min-height:44px; padding:9px; transform:translate(-50%,-50%); border:1px solid #91afff; border-radius:13px; color:#fff; background:#12244bee; box-shadow:0 5px 22px #02081577; text-align:left; cursor:pointer; }
.globe-pin[hidden] { display:none; }
.globe-pin:hover, .globe-pin[aria-pressed=true] { background:#314bea; border-color:#d5e2ff; }
.globe-pin.is-approximate { border-style:dashed; }
.globe-pin-dot { display:inline-flex; flex-shrink:0; }
.globe-pin-dot .icon { width:18px; height:18px; }
.globe-pin-label { font-size:10px; line-height:1.3; font-weight:650; overflow-wrap:anywhere; }
.globe-pin-label small { display:block; font-size:8px; line-height:1.4; font-weight:400; color:#d2ddf9; margin-top:3px; }
.venue-globe-caption { position:absolute; bottom:5%; left:0; right:0; display:flex; justify-content:center; flex-wrap:wrap; gap:12px 22px; color:#bfcdec; font-size:10px; }
.venue-globe-caption > span { display:flex; align-items:center; gap:7px; }
.location-key { width:7px; height:7px; border-radius:50%; background:#97b3ff; box-shadow:0 0 12px #6e95ff; }
.location-key.is-approximate { background:transparent; border:1px dashed #b9ceff; box-shadow:none; }
.venue-globe-sidebar { min-width:0; position:relative; z-index:2; padding:26px 0; }
.venue-picker:has(button:not([hidden])) { margin-bottom:20px; }
.venue-picker-label { display:none; color:#aebde0; text-transform:uppercase; letter-spacing:.13em; font-size:10px; margin-bottom:11px; }
.venue-globe-ready .venue-picker-label { display:block; }
.venue-choices { display:flex; flex-wrap:wrap; gap:8px; }
.venue-choices button { color:#c6d4f4; background:#12203a; border:1px solid #344869; padding:9px 11px; border-radius:10px; font-size:11px; line-height:1.4; min-height:40px; text-align:left; overflow-wrap:anywhere; max-width:100%; cursor:pointer; }
.venue-choices button[aria-pressed=true] { border-color:#849dff; background:#243c75; color:#fff; }
.venue-panel { min-width:0; padding:24px; border:1px solid #425982; border-radius:22px; background:linear-gradient(150deg,#1b2d52,#101d35); overflow-wrap:anywhere; }
.venue-panel + .venue-panel { margin-top:16px; }
.venue-globe-ready .venue-panel { margin-top:0; }
.venue-panel[hidden] { display:none; }
.venue-panel-meta { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#b8cbed; font-size:10px; line-height:1.5; margin-bottom:17px; }
.venue-panel-meta > span:first-child { display:flex; align-items:center; gap:7px; }
.venue-panel-meta .icon { width:15px; height:15px; flex-shrink:0; }
.venue-panel h3 { font-size:28px; line-height:1.15; letter-spacing:-.035em; color:#fff; margin:0 0 13px; }
.venue-location-note { color:#becbea; font-size:12px; line-height:1.7; margin:0 0 20px; }
.venue-event { display:flex; gap:12px; align-items:center; border-top:1px solid #3a4d70; padding-top:18px; color:#eef3ff; }
.venue-event > img { width:62px; height:88px; object-fit:contain; flex:0 0 62px; border-radius:5px; }
.venue-event > span { min-width:0; flex:1; }
.venue-event-label { display:block; color:#b6c8f7; font-size:10px; margin-bottom:6px; }
.venue-event strong { display:block; font-size:14px; line-height:1.45; font-weight:550; }
.venue-event time, .venue-more time { display:block; font-size:10px; color:#b5c3e0; line-height:1.6; margin-top:6px; }
.venue-event > .icon { width:15px; height:15px; flex-shrink:0; color:#b6c6ff; }
.venue-event:hover strong { text-decoration:underline; }
.venue-map-link { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:12px; min-height:44px; padding:11px 13px; margin-top:20px; background:#344bf0; border:1px solid #687aff; border-radius:11px; color:#fff; }
.venue-map-link .icon { width:16px; height:16px; }
.venue-map-link:hover { background:#435bff; }
.venue-more { border-top:1px solid #3a4d70; margin-top:18px; }
.venue-more summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; min-height:44px; padding:12px 0 0; font-size:12px; color:#cbdbff; list-style:none; }
.venue-more summary::-webkit-details-marker { display:none; }
.venue-more summary > span { font-size:20px; }
.venue-more[open] summary > span { transform:rotate(45deg); }
.venue-more ul { margin:8px 0 0; padding:0; list-style:none; }
.venue-more li + li { border-top:1px solid #314566; }
.venue-more a { display:block; padding:12px 0; color:#edf3ff; }
.venue-more strong { font-size:12px; font-weight:500; line-height:1.5; }
.venue-more a:hover strong { text-decoration:underline; }
.venue-scope { color:#acbbda; font-size:10px; line-height:1.7; margin:16px 4px 0; overflow-wrap:anywhere; }
.venue-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #263858; padding-top:20px; }
.venue-footer p { color:#afbfdd; font-size:11px; line-height:1.6; margin:0; max-width:600px; }
.platform-page .venue-footer .motion-toggle { position:static; margin-left:auto; min-height:40px; font-size:11px; }
.venue-empty { padding:25px; border:1px solid #344869; border-radius:22px; background:#111d36; }
.venue-empty h3 { font-size:25px; margin:0 0 12px; color:#fff; line-height:1.2; }
.venue-empty p { color:#bccbe7; font-size:14px; margin:0 0 18px; line-height:1.6; }
.venue-empty a { display:inline-flex; align-items:center; gap:10px; min-height:40px; color:#ccdaff; font-size:13px; }
.event-locations a:focus-visible, .event-locations summary:focus-visible, .event-locations button:focus-visible { outline:3px solid #c3d3ff; outline-offset:4px; }
@media(max-width:960px) {
  html:not(.js) .event-locations { scroll-margin-top:100px; }
  .venue-globe-layout { grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr); gap:10px; }
  .venue-panel { padding:20px; }
  .venue-panel h3 { font-size:25px; }
  .venue-heading { display:block; }
  .platform-page .event-locations .section-description { margin-top:17px; }
}
@media(max-width:720px) {
  .platform-page .event-locations { padding:38px 0 24px; }
  .event-locations .container { width:calc(100% - 36px); }
  .venue-globe-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .platform-page .event-locations .globe-scene { width:calc(100% + 24px); margin-left:-12px; }
  .venue-globe-sidebar { padding:8px 0 24px; }
  .venue-globe-caption { bottom:0; font-size:9px; gap:10px; }
  .venue-panel h3 { font-size:26px; }
}
