/* Nuclear Saturdays v9: six approved image sections, real data overlaid. */
:root{color-scheme:dark;--pink:#ff25cf;--cyan:#4fe8ff;--black:#07040c;--f:Barlow Condensed,Impact,'Arial Narrow',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:var(--f)}a{color:inherit}button{font:inherit}.skip{position:absolute;left:12px;top:-100px;z-index:30;background:#000;color:#fff;padding:12px}.skip:focus{top:12px}
.site{width:min(100%,2048px);margin:0 auto;overflow:hidden;box-shadow:0 0 70px #120624;background:#05030c}.site-header{position:relative;background:#03020a}.approved-nav{display:block;width:100%;height:auto}.header-hotspots{position:absolute;inset:0}.header-hotspots a{position:absolute;top:5%;height:90%;border-radius:8px;outline-offset:-5px}.header-hotspots a:focus-visible,.clock-hotspots a:focus-visible,.footer-hotspots a:focus-visible{outline:3px solid white;background:#5cf9ff25}
.nav-home{left:24.2%;width:12%}.nav-shows{left:36%;width:8%}.nav-social{left:43.2%;width:13%}.nav-about{left:56.5%;width:9%}.nav-booking{left:64.7%;width:13%}.nav-book-band{left:82%;width:17%}.mobile-nav{display:none}
.hero{position:relative;min-height:clamp(410px,38vw,780px);display:flex;align-items:center;justify-content:center;isolation:isolate;border-bottom:3px solid #fb35d9;background:#11072a}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-2}.hero-filter{position:absolute;inset:0;background:linear-gradient(90deg,rgba(76,0,132,.32),rgba(9,0,59,.45),rgba(35,0,91,.36)),linear-gradient(0deg,rgba(0,0,0,.64),rgba(30,5,85,.1) 45%,rgba(4,2,25,.35));z-index:-1;pointer-events:none}.hero-content{text-align:center;width:100%;padding:12px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:clamp(5px,.65vw,18px)}.hero-kicker{font-size:clamp(13px,1.25vw,24px);font-weight:900;letter-spacing:.22em;margin:0 0 12px;text-shadow:0 0 12px #87efff;background:#173aa57d;padding:4px 12px}.hero-kicker span{color:#4dfffd}.hero-ntv{width:min(25%,410px);min-width:160px;max-height:45vh;object-fit:contain;filter:drop-shadow(0 8px 12px #0008)}h1{font-size:clamp(22px,2.2vw,46px);line-height:1.13;letter-spacing:.14em;margin:0;text-shadow:0 3px 9px #000;font-weight:600}h1 strong{display:block;font-size:1.35em;font-weight:900;letter-spacing:.1em}.hero-description{margin:0;font-size:clamp(13px,1.18vw,23px);font-weight:700;letter-spacing:.14em;text-shadow:0 3px 6px #000}.hero-buttons{display:flex;gap:20px;justify-content:center;margin-top:10px;flex-wrap:wrap}.neon-cta{display:inline-block;padding:14px 25px;text-decoration:none;font-size:clamp(17px,1.65vw,31px);font-weight:900;letter-spacing:.03em;text-shadow:0 1px 3px #000}.neon-cta.pink{border:2px solid #ffb5fb;color:#111;background:#ff2cc4;box-shadow:0 0 7px #fff,0 0 16px #fa28ce,0 0 35px #e310ce}.neon-cta.cyan{border:2px solid #88f4ff;box-shadow:0 0 7px #fff,0 0 16px #3bdefb,0 0 30px #00dfff;background:#000b26d9}
.artframe{position:relative;width:100%;container-type:inline-size}.artframe>img{display:block;width:100%;height:auto}.destination{background:#070309;position:relative;border-bottom:3px solid #f725c3}.dashboard-values{position:absolute;inset:0;pointer-events:none}.led{position:absolute;display:flex;align-items:center;justify-content:center;color:#ff601a;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip;font-family:'Share Tech Mono',monospace;font-weight:700;font-size:1.65cqw;text-shadow:0 0 .5cqw currentColor;line-height:1}.led-row-1{color:#28ffe6}.led-row-2{color:#fff02e}.led-col-5,.led-col-6{color:#efefed;font-size:1.3cqw;text-shadow:0 0 .2cqw currentColor}.led-col-6{font-size:1.05cqw}.address-heading{position:absolute;left:84.1%;top:34.25%;width:11.5%;height:2.28%;display:flex;align-items:center;justify-content:center;background:linear-gradient(#ec1a21,#a90c16);font:bold 1.18cqw var(--f);color:white;letter-spacing:.05em;text-shadow:0 1px 3px #300}.mobile-shows{display:none}
.tv-section{background:#120406;border-bottom:3px solid #ff35c1}.tv-art .live-screen{position:absolute;left:17.1%;top:17.9%;width:36.3%;height:62%;overflow:hidden;border-radius:8%/9%;background:#090310;isolation:isolate}.tv-art .live-screen video,.tv-art .live-screen .standby-photo{width:100%;height:100%;display:block;object-fit:contain;background:#05040d}.standby-label{position:absolute;bottom:10%;left:4%;right:4%;background:#0c0c15bd;text-align:center;font-size:clamp(12px,1.5cqw,28px);font-weight:900;letter-spacing:.15em}.tv-controls{position:absolute;left:19%;width:32%;bottom:1.2%;display:flex;justify-content:center;gap:8px}.tv-controls button{border:1px solid #88fbff;background:#09131b;color:#8cf7ff;font-weight:900;letter-spacing:.06em;font-size:clamp(12px,1.1cqw,23px);padding:3px 10px;cursor:pointer;box-shadow:0 0 8px #00eaff55}.tv-controls button:hover{background:#08323e}
.clock-section{border-bottom:3px solid #f42ec9}.clock-hotspots{position:absolute;left:10.2%;top:6%;width:76%;height:30%;display:flex;gap:1.5%}.clock-hotspots a{width:19%;height:100%;border-radius:12%}.site-footer{background:#030208;border-top:2px solid #fa18af}.footer-hotspots{position:absolute;inset:0}.footer-hotspots a{position:absolute;height:22%;border-radius:5px}.foot-home{left:29%;top:13%;width:5%}.foot-shows{left:36%;top:13%;width:5%}.foot-social{left:44%;top:13%;width:10%}.foot-about{left:57%;top:13%;width:7%}.foot-booking{left:67%;top:13%;width:8%}.foot-instagram{left:36.5%;top:32%;width:5%;height:25%!important}.foot-facebook{left:43%;top:32%;width:5%;height:25%!important}.foot-email{left:61%;top:32%;width:5%;height:25%!important}.footer-mobile-links{display:none}.footer-booking-email{padding:8px 16px 15px;text-align:center;font-size:clamp(15px,1.45vw,25px);font-weight:700;letter-spacing:.075em;background:#030208}.footer-booking-email .foot-label{color:#ff46d0;margin-right:15px}.footer-booking-email a{text-decoration:none;color:#6ff2ff;text-shadow:0 0 13px #22e6ff99;overflow-wrap:anywhere}.footer-booking-email a:hover{text-decoration:underline}
.modal{display:none;position:fixed;z-index:80;inset:0;padding:18px;background:#05020be8;align-items:center;justify-content:center}.modal:target{display:flex}.modal-inner{width:min(100%,590px);border:2px solid #ff39d5;box-shadow:0 0 36px #fb28c966;background:#140921;padding:36px;position:relative;font-size:25px}.modal-inner h2{font-size:55px;letter-spacing:.07em;margin:0 0 12px}.modal-inner p{line-height:1.35}.modal .tiny{font-size:18px;letter-spacing:.3em;color:#6bf4ff}.modal .close{position:absolute;right:15px;top:6px;font-size:40px;text-decoration:none}.modal .neon-cta{font-size:clamp(16px,2.3vw,23px);overflow-wrap:anywhere;display:inline-block}
@media(max-width:800px){.site-header>.approved-nav{height:60px;object-fit:cover;object-position:left center}.header-hotspots{display:none}.mobile-nav{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;padding:8px 6px;background:#080312;border-bottom:2px solid #e926c1}.mobile-nav a{font-weight:800;font-size:16px;text-decoration:none;padding:6px 8px;border:1px solid #fa44d5;box-shadow:0 0 10px #d824d588}.hero{min-height:430px}.hero-ntv{width:200px}.hero-content{padding:20px 10px;gap:10px}.hero-kicker{font-size:12px;letter-spacing:.12em}.hero-buttons{gap:10px}.neon-cta{padding:10px 13px;font-size:16px}.hero-description{font-size:14px;letter-spacing:.08em}.dashboard-frame{min-width:720px;left:auto;transform:none}.destination{overflow-x:auto;overflow-y:hidden}.mobile-shows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:10px 4px;background:#10111c;position:relative}.mobile-shows>div{display:flex;flex-direction:column;border:1px solid #4af2f9;min-width:0;padding:8px 3px;font-size:13px;gap:5px}.mobile-shows strong{color:#f940d2;font-size:16px}.mobile-shows span{overflow-wrap:anywhere}.tv-art .live-screen{left:17.1%;top:17.9%;width:36.3%;height:62%}.tv-controls{bottom:0}.clock-hotspots{top:6%;height:30%}.footer-booking-email{font-size:16px}.footer-booking-email .foot-label{display:block;margin:0 0 3px}.footer-mobile-links{display:flex;justify-content:center;gap:20px;padding:10px}.footer-mobile-links a{font-size:18px}.footer-hotspots{display:none}}
@media(max-width:480px){.hero{min-height:470px}.hero-photo{object-position:50% center}.hero-filter{background:linear-gradient(#150929bb,#16003480,#0a031ecc)}.hero-content h1{font-size:22px}.hero-content h1 strong{font-size:29px}.hero-ntv{width:165px;min-width:150px}.hero-kicker{margin:0}.mobile-nav a{font-size:14px}.tv-controls button{padding:1px 3px;font-size:9px}.footer-booking-email{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* -------------------------------------------------------
   V9.6 • PHONE / TABLET SHOW CONSOLE ONLY
   Three brushed-metal time-circuit rows; desktop unchanged.
   On smaller screens, JS renders real show dates here.
   ------------------------------------------------------- */
.ns-mobile-timeboard { display: none; }
@media (max-width: 800px) {
  .destination.ns-board-ready {
    overflow: hidden;
    background: #070509;
  }
  .destination.ns-board-ready > .dashboard-frame,
  .destination.ns-board-ready > .mobile-shows { display: none !important; }
  .destination.ns-board-ready > .ns-mobile-timeboard {
    display: block;
    width: 100%;
    padding: 8px 7px 9px;
    border-block: 3px solid #ff229d;
    background:
      linear-gradient(130deg,rgba(0,0,0,.28),transparent 35%,rgba(0,0,0,.33)),
      repeating-linear-gradient(2deg,#555052 0px,#302d31 2px,#7c767a 3px,#27252c 6px,#555055 8px);
    box-shadow: inset 0 0 14px #000,0 0 15px #f0299b44;
    font-family: 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;
  }
  .ns-mobile-timeboard .ns-board-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 53px;
    margin: 0 2px 8px;
    border: 3px ridge #8a8288;
    border-radius: 4px;
    background: radial-gradient(ellipse at 50% 140%,#28090b,#050508 68%);
    box-shadow: inset 0 0 12px #000,0 2px 4px #000a;
    color: #ff6727;
    font: 700 clamp(19px,4.9vw,36px)/1.05 'Share Tech Mono',monospace;
    letter-spacing: .025em;
    text-align: center;
    text-shadow: 0 0 2px #ffb28a,0 0 8px #ff400a,0 0 17px #e22e04;
    white-space: nowrap;
  }
  .ns-mobile-timeboard .ns-time-row {
    --led: #ff6632;
    display: grid;
    grid-template-columns: clamp(49px,14vw,80px) minmax(0,1fr);
    gap: clamp(4px,1vw,9px);
    align-items: stretch;
    position: relative;
    padding: clamp(5px,1.2vw,10px);
    margin: 0 0 7px;
    border: 2px ridge #b0a3a7;
    border-radius: 4px;
    background: linear-gradient(135deg,#827d80 0%,#a5a0a1 6%,#504b50 20%,#777177 50%,#262327 100%);
    box-shadow: inset 0 0 1px 2px #222,0 2px 5px #000d;
  }
  .ns-mobile-timeboard .ns-time-row:nth-child(3) { --led: #17fa8e; }
  .ns-mobile-timeboard .ns-time-row:nth-child(4) { --led: #ffe520; }
  .ns-mobile-timeboard .ns-time-row::after {
    content:'';pointer-events:none;
    position:absolute;inset:2px;
    border:1px solid #ffffff1a;
    border-radius:2px;
  }
  .ns-mobile-timeboard .ns-show-number {
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
    text-align:center;
  }
  .ns-mobile-timeboard .ns-show-label,
  .ns-mobile-timeboard .ns-cell-label,
  .ns-mobile-timeboard .ns-location-label,
  .ns-mobile-timeboard .ns-venue-label {
    display:block;
    background:linear-gradient(#f1383d,#af0611 50%,#750507);
    border:1px solid #6e1719;
    color:#fff;
    text-align:center;
    font-weight:900;
    letter-spacing:.02em;
    text-shadow:0 1px 2px #300;
    line-height:1.15;
  }
  .ns-mobile-timeboard .ns-show-label,
  .ns-mobile-timeboard .ns-cell-label {
    min-height:15px;
    font-size:clamp(10px,2.4vw,17px);
  }
  .ns-mobile-timeboard .ns-show-number strong {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1;
    min-height:48px;
    background:#030507;
    color:var(--led);
    border:2px solid #353134;
    box-shadow:inset 0 0 10px #000,0 0 2px #999;
    font:700 clamp(28px,9vw,56px)/1 'Share Tech Mono',monospace;
    text-shadow:0 0 4px currentColor,0 0 12px var(--led);
  }
  .ns-mobile-timeboard .ns-row-content {min-width:0;display:grid;gap:4px;}
  .ns-mobile-timeboard .ns-date-fields {
    display:grid;
    grid-template-columns: 1.05fr .82fr 1.14fr .82fr .82fr;
    gap:clamp(2px,.6vw,6px);
    min-width:0;
  }
  .ns-mobile-timeboard .ns-date-cell { min-width:0;display:flex;flex-direction:column;gap:3px; }
  .ns-mobile-timeboard .ns-cell-value {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    flex:1;
    padding:5px 1px 4px;
    border:2px solid #27232c;
    background:linear-gradient(160deg,#111217,#020203 70%);
    color:var(--led);
    font:700 clamp(14px,4.4vw,27px)/1 'Share Tech Mono',monospace;
    text-shadow:0 0 3px currentColor,0 0 9px var(--led);
    white-space:nowrap;
    overflow:hidden;
  }
  .ns-mobile-timeboard .ns-location-fields {
    display:grid;
    grid-template-columns:1.1fr .82fr 1.65fr;
    min-width:0;
    gap:4px;
  }
  .ns-mobile-timeboard .ns-location-cell,
  .ns-mobile-timeboard .ns-venue-field {
    display:flex;
    min-width:0;
    background:#020305;
    border:1px solid #343238;
  }
  .ns-mobile-timeboard .ns-location-label,
  .ns-mobile-timeboard .ns-venue-label {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    padding:2px 4px;
    min-height:20px;
    font-size:clamp(9px,2vw,13px);
  }
  .ns-mobile-timeboard .ns-location-value,
  .ns-mobile-timeboard .ns-venue-value {
    flex:1;
    display:flex;
    align-items:center;
    min-width:0;
    padding:2px 4px;
    font:700 clamp(11px,2.5vw,17px)/1.1 'Barlow Condensed',Impact,sans-serif;
    letter-spacing:.01em;
    color:var(--led);
    text-shadow:0 0 4px var(--led);
    overflow-wrap:anywhere;
  }
  .ns-mobile-timeboard .ns-venue-field { min-height:22px; }
  .ns-mobile-timeboard .ns-venue-value { color:#effcff;text-shadow:0 0 3px #e7ffff55; }
}
@media(max-width:360px) {
  .ns-mobile-timeboard .ns-time-row {grid-template-columns:46px minmax(0,1fr);gap:3px;padding:4px;}
  .ns-mobile-timeboard .ns-date-fields {gap:2px;}
  .ns-mobile-timeboard .ns-cell-value{font-size:14px;}
  .ns-mobile-timeboard .ns-location-label{padding-inline:2px;font-size:9px;}
  .ns-mobile-timeboard .ns-location-value {font-size:10px;padding-inline:2px;}
}
/* Clearer location fields at phone widths: no split city/state lettering. */
@media (max-width: 800px) {
 .ns-mobile-timeboard .ns-location-fields { grid-template-columns: 1.17fr .72fr 1.43fr; }
 .ns-mobile-timeboard .ns-location-cell { flex-direction:column; }
 .ns-mobile-timeboard .ns-location-label { min-height:17px;padding:1px 3px;justify-content:center; font-size:clamp(10px,2.3vw,14px); }
 .ns-mobile-timeboard .ns-location-value {justify-content:center;text-align:center;min-height:23px;padding:3px 2px;font-size:clamp(11px,2.8vw,16px);letter-spacing:0;line-height:1.05;}
}
@media (max-width: 360px) {
 .ns-mobile-timeboard .ns-location-value {font-size:11px;}
 .ns-mobile-timeboard .ns-location-label {font-size:10px;}
}

/* V9.7 — MOBILE-ONLY DASHBOARD CROP, WITH NO DUPLICATE SHOW BOXES.
   Desktop, hero, TV, clock, footer, and admin stay unchanged.
   Preserve the original Delorean artwork and existing live LED positions.
*/
@media (max-width:800px) {
  .destination,
  .destination.ns-board-ready {
    overflow: hidden !important;
  }
  /* Never display either of the extra three-card summaries. */
  .destination > .mobile-shows,
  .destination.ns-board-ready > .mobile-shows,
  .destination > .ns-mobile-timeboard,
  .destination.ns-board-ready > .ns-mobile-timeboard {
    display: none !important;
  }
  .destination > .dashboard-frame,
  .destination.ns-board-ready > .dashboard-frame {
    display: block !important;
    min-width: 720px;
    width: max(720px,100%) !important;
    position: relative;
    left: 0;
    transform: none;
  }
}
/* Nudge image left on phone widths, moving dates closer to center of view. */
@media (max-width:600px) {
  .destination > .dashboard-frame,
  .destination.ns-board-ready > .dashboard-frame {
    transform: translateX(calc(-1 * clamp(44px,17vw,70px))) !important;
  }
}

/* V9.8 — Mobile DeLorean display remains scrollable all the way to venue/address.
   Reverses the V9.7 overflow clip but retains its starting alignment and hides
   duplicate summary boxes. Desktop is untouched. */
@media (max-width: 800px) {
  .destination,
  .destination.ns-board-ready {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #fa35bd #0b0515;
  }
  .destination::-webkit-scrollbar {height: 5px;}
  .destination::-webkit-scrollbar-thumb {background:#fa35bd;border-radius:8px;}
  .destination > .mobile-shows,
  .destination > .ns-mobile-timeboard,
  .destination.ns-board-ready > .mobile-shows,
  .destination.ns-board-ready > .ns-mobile-timeboard {
    display: none !important;
  }
}

/* At phone widths, keep the V9.7 opening crop but make the full console
   reachable at the right edge — no black overscroll beyond the dashboard. */
@media (max-width:600px) {
  .destination > .dashboard-frame,
  .destination.ns-board-ready > .dashboard-frame {
    transform:none !important;
    margin-left:calc(-1 * clamp(44px,17vw,70px)) !important;
  }
}

/* V10.1: Fit real video to the vintage CRT opening on phones only.
   Fill instead of letterboxing 16:9 clips inside the 4:3 CRT aperture.
   Keeps the overlay inside the existing wooden TV frame. */
@media (max-width: 800px) {
  .tv-art .live-screen {
    overflow: hidden;
    isolation: isolate;
    border-radius: 8% / 9%;
  }
  .tv-art .live-screen video#live-tv {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    max-width: none;
    max-height: none;
  }
}

/* V10.2: mobile CRT overlay correction. The video and its background MUST
   remain within the glass opening in the source TV art. No layout reflow. */
@media (max-width:800px) {
  .tv-art { position:relative; }
  .tv-art .live-screen {
    position:absolute !important;
    left:17.1% !important;
    top:17.9% !important;
    width:36.3% !important;
    height:58.5% !important;
    overflow:hidden !important;
    clip-path:inset(0 round 10% 12%);
    border-radius:11% / 14% !important;
    background:#07040b !important;
    z-index:2;
  }
  .tv-art .live-screen video#live-tv {
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
    background:transparent !important;
    transform:none !important;
  }
}

/* V10.3: Fix mobile video drift caused by relative-positioned VCR buttons
   increasing the .tv-art height. cqw follows actual artwork WIDTH, whose
   fixed native aspect ratio is 1876 × 813. No desktop changes. */
@media (max-width: 800px) {
 .tv-art .live-screen {
   top: 7.76cqw !important; /* 17.9% of original image HEIGHT */
   height: 25.36cqw !important; /* 58.5% of original image HEIGHT */
   left: 17.1% !important;
   width: 36.3% !important;
 }
}
