:root{
  --bg:#16001f;
  --panel:rgba(255,255,255,.095);
  --panel2:rgba(255,255,255,.065);
  --line:rgba(255,255,255,.18);
  --text:#fff;
  --muted:#f1d7ff;
  --pink:#ff2fa8;
  --purple:#7c3cff;
  --gold:#ffd15c;
  --green:#00d084;
  --blue:#3b82f6;
}

*{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 20% 5%,rgba(255,47,168,.38),transparent 28%),
    radial-gradient(circle at 82% 12%,rgba(255,209,92,.26),transparent 25%),
    radial-gradient(circle at 50% 40%,rgba(124,60,255,.45),transparent 36%),
    linear-gradient(180deg,#4b0058 0%,#23002f 45%,#090012 100%);
  -webkit-font-smoothing:antialiased;
}

a{color:inherit}

.site-header{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px clamp(18px,4vw,44px);
  background:rgba(15,0,25,.72);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.04em;
}

.brand-mark{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,var(--pink),var(--purple));
  box-shadow:0 0 28px rgba(255,47,168,.55);
  font-size:24px;
}

.site-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.site-nav a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  text-decoration:none;
  font-weight:850;
}

.hero{
  position:relative;
  overflow:hidden;
  min-height:560px;
  display:grid;
  place-items:center;
  padding:80px 20px 60px;
  text-align:center;
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-conic-gradient(from 0deg,rgba(255,255,255,.08) 0deg 4deg,transparent 4deg 12deg);
  opacity:.22;
  transform:scale(1.4);
}

.hero-glow{
  position:absolute;
  width:min(680px,80vw);
  height:min(680px,80vw);
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,209,92,.22),rgba(255,47,168,.12),transparent 70%);
  filter:blur(2px);
}

.hero-content{
  position:relative;
  max-width:940px;
}

.eyebrow{
  margin:0 0 12px;
  color:var(--gold);
  font-size:14px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.2em;
}

h1{
  margin:0;
  font-size:clamp(44px,8vw,104px);
  line-height:.92;
  font-weight:1000;
  letter-spacing:-.075em;
  text-transform:uppercase;
  text-shadow:0 0 28px rgba(255,255,255,.45),0 0 50px rgba(255,47,168,.5);
}

.subtitle{
  max-width:740px;
  margin:22px auto 0;
  color:#fff;
  font-size:clamp(18px,2.4vw,26px);
  line-height:1.32;
  font-weight:700;
}

.hero-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.btn{
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:16px;
  border:1px solid var(--line);
  color:#fff;
  text-decoration:none;
  font-weight:950;
  letter-spacing:-.015em;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}

.btn-primary,
.btn-facebook{
  background:linear-gradient(135deg,var(--pink),var(--purple));
}

.btn-secondary{
  background:rgba(255,255,255,.11);
}

.btn-green{
  background:linear-gradient(135deg,#00d084,#00a36d);
}

.btn-gold{
  background:linear-gradient(135deg,#ffd15c,#ff9f1c);
  color:#18051f;
}

.hero-note{
  color:var(--muted);
  margin-top:18px;
  font-weight:650;
}

.cards{
  width:min(1180px,100%);
  margin:-60px auto 0;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  padding:0 20px;
}

.card{
  min-height:230px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:26px;
  background:linear-gradient(180deg,var(--panel),var(--panel2));
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
}

.card-icon{
  font-size:36px;
  margin-bottom:12px;
}

.card h2,
.event-strip h2,
.wifi-strip h2{
  margin:0;
  font-size:26px;
  font-weight:950;
  letter-spacing:-.04em;
}

.card p,
.event-strip p,
.wifi-strip p{
  color:var(--muted);
  font-size:16px;
  line-height:1.45;
}

.card a{
  display:inline-flex;
  margin-top:8px;
  color:var(--gold);
  font-weight:950;
  text-decoration:none;
}

.event-strip,
.wifi-strip{
  width:min(1180px,calc(100% - 40px));
  margin:22px auto 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(0,0,0,.24);
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}

.wifi-strip{
  margin-bottom:40px;
  justify-content:flex-start;
}

.wifi-icon{
  width:64px;
  height:64px;
  flex:0 0 64px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:rgba(255,255,255,.10);
  font-size:32px;
}

.coming-soon{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.10);
  color:var(--gold);
  font-weight:950;
  white-space:nowrap;
}

.site-footer{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:26px clamp(18px,4vw,44px);
  color:var(--muted);
  border-top:1px solid var(--line);
  background:rgba(0,0,0,.30);
}

.site-footer p{
  margin:0;
}

.site-footer a{
  text-decoration:none;
  color:#fff;
  font-weight:750;
}

@media(max-width:860px){
  .site-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .cards{
    grid-template-columns:1fr;
    margin-top:-30px;
  }

  .event-strip,
  .wifi-strip{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:520px){
  .hero{
    min-height:500px;
    padding-top:60px;
  }

  .btn{
    width:100%;
  }

  .site-nav{
    width:100%;
  }

  .site-nav a{
    flex:1;
  }
}


/* v129 Option 1 homepage replacement */
body.homepage-option-one{
  margin:0;
  background:#130019;
  color:#fff;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.home-option-one{
  min-height:100vh;
  background:#130019;
  color:#fff;
  overflow:hidden;
}

.option-one-hero{
  position:relative;
  min-height:700px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:58px 22px 36px;
  background:
    radial-gradient(circle at 50% 23%, rgba(255,77,232,.48), transparent 19rem),
    radial-gradient(circle at 50% 35%, rgba(136,35,255,.32), transparent 34rem),
    repeating-conic-gradient(from 0deg at 50% 45%, rgba(255,255,255,.065) 0deg 5deg, transparent 5deg 10deg),
    linear-gradient(180deg, #290036 0%, #3c0050 46%, #17001e 100%);
}

.option-one-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 32%, rgba(255,255,255,.20), transparent 7rem),
    linear-gradient(90deg, rgba(0,0,0,.42), transparent 22%, transparent 78%, rgba(0,0,0,.42));
  pointer-events:none;
}

.option-one-disco-ball{
  position:absolute;
  right:5%;
  top:7%;
  width:128px;
  height:128px;
  border-radius:50%;
  background:
    linear-gradient(135deg, rgba(255,255,255,.35), transparent 35%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.22) 0 2px, transparent 2px 14px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 2px, transparent 2px 14px),
    radial-gradient(circle at 35% 28%, #d946ef, #7c3aed 42%, #1e063b 70%);
  box-shadow:0 0 58px rgba(217,70,239,.55);
  opacity:.72;
}

.option-one-crowd{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:170px;
  background:
    radial-gradient(ellipse at 10% 100%, rgba(0,0,0,.92) 0 42%, transparent 43%),
    radial-gradient(ellipse at 22% 100%, rgba(0,0,0,.92) 0 37%, transparent 38%),
    radial-gradient(ellipse at 41% 100%, rgba(0,0,0,.92) 0 45%, transparent 46%),
    radial-gradient(ellipse at 60% 100%, rgba(0,0,0,.92) 0 38%, transparent 39%),
    radial-gradient(ellipse at 79% 100%, rgba(0,0,0,.92) 0 44%, transparent 45%),
    radial-gradient(ellipse at 92% 100%, rgba(0,0,0,.92) 0 36%, transparent 37%);
  opacity:.8;
}

.option-one-inner{
  position:relative;
  z-index:2;
  width:min(940px, 100%);
  margin:0 auto;
}

.option-one-logo{
  width:clamp(150px, 18vw, 245px);
  height:auto;
  display:block;
  margin:0 auto 22px;
  border-radius:50%;
  filter:drop-shadow(0 0 34px rgba(255,214,10,.35)) drop-shadow(0 18px 38px rgba(0,0,0,.38));
}

.option-one-eyebrow{
  margin:0 0 16px;
  color:#fde047;
  font-size:clamp(15px, 2vw, 21px);
  font-weight:950;
  letter-spacing:.08em;
}

.option-one-hero h1{
  margin:0;
  text-transform:uppercase;
  font-size:clamp(50px, 8vw, 106px);
  line-height:.92;
  font-weight:1000;
  letter-spacing:-.055em;
  text-shadow:0 0 28px rgba(255,255,255,.26), 0 10px 30px rgba(0,0,0,.30);
}

.option-one-subtitle{
  width:min(760px, 100%);
  margin:24px auto 0;
  font-size:clamp(20px, 2.5vw, 30px);
  line-height:1.25;
  font-weight:850;
  text-shadow:0 5px 20px rgba(0,0,0,.38);
}

.option-one-action-strip{
  width:min(880px, 100%);
  margin:38px auto 0;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  border:1px solid rgba(236,72,153,.58);
  border-radius:22px;
  background:rgba(32,0,52,.58);
  box-shadow:0 22px 58px rgba(0,0,0,.32);
  backdrop-filter:blur(10px);
  overflow:hidden;
}

.option-one-action-card{
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px 22px;
  color:#fff;
  text-decoration:none;
  text-align:left;
  border-right:1px solid rgba(236,72,153,.25);
}

.option-one-action-card:last-child{
  border-right:0;
}

.option-one-icon{
  width:56px;
  height:56px;
  min-width:56px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  background:linear-gradient(135deg, rgba(236,72,153,.55), rgba(124,58,237,.45));
}

.option-one-action-card strong{
  display:block;
  font-size:18px;
  font-weight:950;
  margin-bottom:5px;
}

.option-one-action-card em{
  display:block;
  color:#f3e8ff;
  font-style:normal;
  line-height:1.25;
}

.home-info-section{
  position:relative;
  z-index:3;
  margin-top:-42px;
  padding:0 22px 70px;
}

.home-info-grid{
  width:min(1040px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}

.home-info-card{
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(111,38,141,.72), rgba(42,8,63,.72));
  padding:26px;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}

.home-info-card span{
  display:block;
  font-size:34px;
  margin-bottom:16px;
}

.home-info-card h2{
  margin:0 0 12px;
  font-size:26px;
  line-height:1.05;
}

.home-info-card p{
  margin:0;
  color:#f3e8ff;
  line-height:1.45;
}

@media(max-width:850px){
  .option-one-hero{
    min-height:auto;
    padding-top:36px;
  }

  .option-one-disco-ball{
    width:84px;
    height:84px;
    opacity:.45;
  }

  .option-one-action-strip,
  .home-info-grid{
    grid-template-columns:1fr;
  }

  .option-one-action-card{
    border-right:0;
    border-bottom:1px solid rgba(236,72,153,.25);
  }

  .option-one-action-card:last-child{
    border-bottom:0;
  }

  .home-info-section{
    margin-top:24px;
  }
}


/* v130 Option 1 homepage refinement */
.option-one-hero{
  min-height:760px !important;
  padding:46px 22px 88px !important;
  background:
    radial-gradient(circle at 50% 17%, rgba(255,93,226,.62), transparent 17rem),
    radial-gradient(circle at 50% 35%, rgba(124,58,237,.34), transparent 34rem),
    repeating-conic-gradient(from 0deg at 50% 42%, rgba(255,255,255,.082) 0deg 4deg, transparent 4deg 9deg),
    linear-gradient(180deg, #120022 0%, #3f0054 43%, #16001f 100%) !important;
}

.option-one-hero::before{
  background:
    radial-gradient(circle at 50% 27%, rgba(255,255,255,.28), transparent 7rem),
    radial-gradient(circle at 50% 25%, rgba(255,202,40,.16), transparent 13rem),
    linear-gradient(90deg, rgba(0,0,0,.38), transparent 22%, transparent 78%, rgba(0,0,0,.38)) !important;
}

.option-one-logo{
  width:clamp(138px, 15vw, 215px) !important;
  margin-bottom:22px !important;
  border-radius:50% !important;
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
  filter:
    drop-shadow(0 0 16px rgba(255,213,74,.65))
    drop-shadow(0 0 36px rgba(236,72,153,.34))
    drop-shadow(0 18px 32px rgba(0,0,0,.38)) !important;
}

/* Hide the white edge created by the source image by visually blending it into the purple glow */
.option-one-logo{
  mix-blend-mode:normal;
}

.option-one-inner{
  max-width:980px !important;
}

.option-one-eyebrow{
  margin-top:0 !important;
  margin-bottom:16px !important;
}

.option-one-hero h1{
  font-size:clamp(46px, 7.2vw, 96px) !important;
  line-height:.93 !important;
  text-shadow:
    0 0 24px rgba(255,255,255,.28),
    0 0 44px rgba(217,70,239,.22),
    0 12px 30px rgba(0,0,0,.42) !important;
}

.option-one-subtitle{
  margin-top:22px !important;
  max-width:720px !important;
}

.option-one-action-strip{
  position:relative !important;
  z-index:5 !important;
  margin-top:34px !important;
  margin-bottom:0 !important;
  transform:none !important;
}

.option-one-disco-ball{
  right:6% !important;
  top:7% !important;
  width:142px !important;
  height:142px !important;
  opacity:.86 !important;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.8), transparent 13%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.20) 0 2px, transparent 2px 13px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 2px, transparent 2px 13px),
    radial-gradient(circle at 35% 28%, #f472b6, #7c3aed 40%, #1e063b 72%) !important;
  box-shadow:
    0 0 34px rgba(168,85,247,.62),
    0 0 72px rgba(217,70,239,.42) !important;
}

.option-one-crowd{
  height:190px !important;
  opacity:.92 !important;
  background:
    radial-gradient(ellipse at 7% 100%, rgba(0,0,0,.96) 0 40%, transparent 41%),
    radial-gradient(ellipse at 17% 100%, rgba(0,0,0,.96) 0 48%, transparent 49%),
    radial-gradient(ellipse at 28% 100%, rgba(0,0,0,.96) 0 36%, transparent 37%),
    radial-gradient(ellipse at 41% 100%, rgba(0,0,0,.96) 0 45%, transparent 46%),
    radial-gradient(ellipse at 57% 100%, rgba(0,0,0,.96) 0 38%, transparent 39%),
    radial-gradient(ellipse at 72% 100%, rgba(0,0,0,.96) 0 46%, transparent 47%),
    radial-gradient(ellipse at 86% 100%, rgba(0,0,0,.96) 0 36%, transparent 37%),
    radial-gradient(ellipse at 96% 100%, rgba(0,0,0,.96) 0 44%, transparent 45%) !important;
}

.option-one-floor-glow{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:220px;
  z-index:1;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(236,72,153,.18), transparent 55%),
    linear-gradient(180deg, transparent, rgba(0,0,0,.48));
  pointer-events:none;
}

.home-info-section{
  margin-top:0 !important;
  padding:34px 22px 76px !important;
  background:#14001e !important;
}

.home-info-grid{
  margin-top:0 !important;
}

.home-info-card{
  transform:none !important;
}

/* Remove remaining legacy buttons/old header if cache leaves them around */
.site-header,
.hero-actions,
.hero-note{
  display:none !important;
}

@media(max-width:850px){
  .option-one-hero{
    min-height:auto !important;
    padding:30px 16px 46px !important;
  }

  .option-one-logo{
    width:142px !important;
  }

  .option-one-disco-ball{
    width:82px !important;
    height:82px !important;
    opacity:.58 !important;
  }

  .option-one-action-strip{
    margin-top:26px !important;
  }

  .home-info-section{
    padding-top:22px !important;
  }
}


/* v131 homepage heading refinement */
.option-one-eyebrow{
  margin-top:0 !important;
  margin-bottom:20px !important;
  font-size:clamp(1.15rem, 1.75vw, 1.65rem) !important;
  font-weight:950 !important;
  letter-spacing:.28rem !important;
  text-transform:uppercase !important;
  color:#ffd54a !important;
  text-shadow:
    0 0 8px rgba(255,213,74,.74),
    0 0 20px rgba(255,105,180,.42),
    0 2px 10px rgba(0,0,0,.48) !important;
  position:relative !important;
  display:inline-block !important;
  overflow:hidden !important;
}

.option-one-eyebrow::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.52) 50%,
    transparent 100%
  );
  transform:translateX(-130%);
  animation:eyebrowShimmer 4.8s linear infinite;
  mix-blend-mode:screen;
  pointer-events:none;
}

@keyframes eyebrowShimmer{
  to{
    transform:translateX(130%);
  }
}

.option-one-hero h1{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:.02em !important;
  margin:0 !important;
  font-weight:950 !important;
  line-height:.88 !important;
  text-transform:uppercase !important;
  color:#fffdf7 !important;
  letter-spacing:normal !important;
  text-shadow:
    0 0 14px rgba(255,255,255,.48),
    0 0 34px rgba(236,72,153,.28),
    0 12px 30px rgba(0,0,0,.48) !important;
}

.option-one-hero h1 span{
  display:block !important;
}

.option-one-hero h1 span:nth-child(1),
.option-one-hero h1 span:nth-child(3){
  font-size:clamp(3.2rem, 8vw, 7.2rem) !important;
  letter-spacing:-0.055em !important;
}

.option-one-hero h1 span:nth-child(2){
  font-size:clamp(1.7rem, 3vw, 3.1rem) !important;
  letter-spacing:.32em !important;
  color:#ffd54a !important;
  margin:.10em 0 .08em !important;
  padding-left:.32em !important;
  text-shadow:
    0 0 10px rgba(255,213,74,.82),
    0 0 24px rgba(255,105,180,.38),
    0 8px 18px rgba(0,0,0,.42) !important;
}

.option-one-hero h1 .events-line{
  font-size:clamp(1.2rem, 2.35vw, 2rem) !important;
  letter-spacing:.42em !important;
  padding-left:.42em !important;
  color:rgba(255,255,255,.88) !important;
  margin-top:.38em !important;
  text-shadow:
    0 0 8px rgba(255,255,255,.42),
    0 0 18px rgba(236,72,153,.24) !important;
}

.option-one-subtitle{
  margin-top:24px !important;
}

@media(max-width:700px){
  .option-one-eyebrow{
    font-size:1rem !important;
    letter-spacing:.15rem !important;
  }

  .option-one-hero h1 span:nth-child(1),
  .option-one-hero h1 span:nth-child(3){
    font-size:clamp(2.75rem, 14vw, 4.2rem) !important;
  }

  .option-one-hero h1 span:nth-child(2){
    font-size:clamp(1.35rem, 7vw, 2rem) !important;
  }

  .option-one-hero h1 .events-line{
    font-size:clamp(1rem, 4.8vw, 1.35rem) !important;
    letter-spacing:.32em !important;
    padding-left:.32em !important;
  }
}


/* v132 forced homepage heading update */
.option-one-eyebrow{
  font-size:clamp(1.15rem, 1.75vw, 1.65rem) !important;
  letter-spacing:.28rem !important;
  color:#ffd54a !important;
  text-shadow:
    0 0 8px rgba(255,213,74,.74),
    0 0 20px rgba(255,105,180,.42),
    0 2px 10px rgba(0,0,0,.48) !important;
  position:relative !important;
  display:inline-block !important;
  overflow:hidden !important;
}

.option-one-eyebrow::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.52) 50%, transparent 100%);
  transform:translateX(-130%);
  animation:eyebrowShimmer 4.8s linear infinite;
  mix-blend-mode:screen;
  pointer-events:none;
}

@keyframes eyebrowShimmer{
  to{ transform:translateX(130%); }
}

.option-one-hero h1{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:.02em !important;
  line-height:.88 !important;
  letter-spacing:normal !important;
}

.option-one-hero h1 span{
  display:block !important;
}

.option-one-hero h1 span:nth-child(1),
.option-one-hero h1 span:nth-child(3){
  font-size:clamp(3.2rem, 8vw, 7.2rem) !important;
  letter-spacing:-0.055em !important;
}

.option-one-hero h1 span:nth-child(2){
  font-size:clamp(1.7rem, 3vw, 3.1rem) !important;
  letter-spacing:.32em !important;
  color:#ffd54a !important;
  margin:.10em 0 .08em !important;
  padding-left:.32em !important;
  text-shadow:
    0 0 10px rgba(255,213,74,.82),
    0 0 24px rgba(255,105,180,.38),
    0 8px 18px rgba(0,0,0,.42) !important;
}

.option-one-hero h1 .events-line{
  font-size:clamp(1.2rem, 2.35vw, 2rem) !important;
  letter-spacing:.42em !important;
  padding-left:.42em !important;
  color:rgba(255,255,255,.88) !important;
  margin-top:.38em !important;
}


/* v134 HTML/CSS neon hero refinement */
.option-one-hero{
  min-height:760px !important;
  padding:42px 22px 72px !important;
  background:
    radial-gradient(circle at 50% 17%, rgba(255,72,219,.48), transparent 17rem),
    radial-gradient(circle at 50% 38%, rgba(124,58,237,.30), transparent 36rem),
    repeating-conic-gradient(from 0deg at 50% 43%, rgba(255,255,255,.072) 0deg 4deg, transparent 4deg 9deg),
    linear-gradient(180deg, #080014 0%, #2e0645 45%, #0b0014 100%) !important;
}

.option-one-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 50% 25%, rgba(255,255,255,.18), transparent 7rem),
    radial-gradient(circle at 50% 24%, rgba(255,0,204,.24), transparent 14rem),
    linear-gradient(90deg, rgba(0,0,0,.50), transparent 23%, transparent 77%, rgba(0,0,0,.50)) !important;
  pointer-events:none !important;
}

.option-one-logo-shell{
  width:clamp(160px, 18vw, 245px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  margin:0 auto 22px;
  position:relative;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), rgba(255,0,204,.08) 62%, transparent 66%);
  filter:
    drop-shadow(0 0 18px rgba(255,0,210,.75))
    drop-shadow(0 0 44px rgba(168,85,247,.55));
}

.option-one-logo-shell::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  background:
    conic-gradient(from 0deg, #ff4fd8, #ffd54a, #ff4fd8, #7c3aed, #ff4fd8);
  box-shadow:
    0 0 18px rgba(255,79,216,.95),
    0 0 44px rgba(255,79,216,.50),
    inset 0 0 16px rgba(255,255,255,.35);
  z-index:0;
}

.option-one-logo-shell::after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:50%;
  border:2px solid rgba(255,105,220,.95);
  box-shadow:
    0 0 10px rgba(255,105,220,.95),
    0 0 30px rgba(255,105,220,.62);
  z-index:3;
  pointer-events:none;
}

.option-one-logo{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:50% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  /* Crop the source's white outer rim visually inside the neon shell */
  transform:scale(1.14) !important;
}

.option-one-eyebrow{
  background:none !important;
  box-shadow:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 0 18px !important;
  font-size:clamp(1.2rem, 2vw, 1.85rem) !important;
  font-weight:950 !important;
  letter-spacing:.36rem !important;
  color:#ffd86a !important;
  text-shadow:
    0 1px 0 #7a3b00,
    0 0 7px rgba(255,216,106,.85),
    0 0 22px rgba(255,70,210,.30) !important;
  position:relative !important;
  display:inline-block !important;
  overflow:visible !important;
}

.option-one-eyebrow::after{
  display:none !important;
}

.option-one-hero h1{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:.02em !important;
  margin:0 !important;
  line-height:.88 !important;
  letter-spacing:normal !important;
  text-transform:uppercase !important;
  color:#fffdf8 !important;
  text-shadow:
    0 2px 0 rgba(255,226,190,.22),
    0 0 12px rgba(255,255,255,.32),
    0 0 30px rgba(255,79,216,.24),
    0 12px 34px rgba(0,0,0,.56) !important;
}

.option-one-hero h1 span{
  display:block !important;
}

.option-one-hero h1 .headline-main{
  font-size:clamp(3.2rem, 8vw, 7.2rem) !important;
  letter-spacing:-0.055em !important;
  filter:
    drop-shadow(0 0 7px rgba(255,255,255,.28))
    drop-shadow(0 0 22px rgba(255,79,216,.20));
}

.option-one-hero h1 .headline-the{
  display:grid !important;
  grid-template-columns:minmax(70px, 170px) auto minmax(70px, 170px);
  align-items:center;
  gap:22px;
  margin:.08em 0 .06em !important;
}

.option-one-hero h1 .headline-the b{
  display:block;
  font-size:clamp(1.85rem, 3.1vw, 3.25rem) !important;
  letter-spacing:.34em !important;
  padding-left:.34em !important;
  color:#ffd54a !important;
  text-shadow:
    0 0 8px rgba(255,213,74,.92),
    0 0 22px rgba(255,105,180,.40),
    0 8px 18px rgba(0,0,0,.45) !important;
}

.option-one-hero h1 .headline-the i{
  display:block;
  height:4px;
  border-radius:999px;
  background:#ff4fd8;
  box-shadow:
    0 0 8px rgba(255,79,216,.95),
    0 0 22px rgba(255,79,216,.70);
}

.option-one-hero h1 .events-line{
  font-size:clamp(1.2rem, 2.4vw, 2.05rem) !important;
  letter-spacing:.44em !important;
  padding-left:.44em !important;
  color:#ffe1a6 !important;
  margin-top:.36em !important;
  text-shadow:
    0 0 7px rgba(255,213,74,.62),
    0 0 18px rgba(255,79,216,.25) !important;
}

.option-one-subtitle{
  margin-top:24px !important;
  text-shadow:
    0 0 8px rgba(255,255,255,.22),
    0 8px 22px rgba(0,0,0,.48) !important;
}

.option-one-action-card{
  border-color:rgba(255,79,216,.42) !important;
}

.option-one-icon{
  border-radius:50% !important;
  background:rgba(255,79,216,.14) !important;
  border:1px solid rgba(255,79,216,.74) !important;
  box-shadow:
    0 0 10px rgba(255,79,216,.62),
    inset 0 0 14px rgba(255,79,216,.24) !important;
}

@media(max-width:850px){
  .option-one-logo-shell{
    width:142px;
  }

  .option-one-eyebrow{
    font-size:1rem !important;
    letter-spacing:.16rem !important;
  }

  .option-one-hero h1 .headline-main{
    font-size:clamp(2.7rem, 14vw, 4.2rem) !important;
  }

  .option-one-hero h1 .headline-the{
    grid-template-columns:45px auto 45px;
    gap:12px;
  }

  .option-one-hero h1 .headline-the b{
    font-size:clamp(1.35rem, 7vw, 2rem) !important;
  }

  .option-one-hero h1 .events-line{
    font-size:clamp(1rem, 4.8vw, 1.35rem) !important;
    letter-spacing:.32em !important;
    padding-left:.32em !important;
  }
}


/* v135 homepage fade and glitter refinement */

/* Let the hero bleed/fade into the lower section rather than ending abruptly */
.option-one-hero{
  padding-bottom:150px !important;
  overflow:hidden !important;
}

.option-one-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:230px;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(11,0,20,0) 0%,
      rgba(11,0,20,.22) 28%,
      rgba(11,0,20,.72) 64%,
      #08000f 100%
    );
}

.option-one-floor-glow{
  height:270px !important;
  bottom:0 !important;
  z-index:2 !important;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,79,216,.20), transparent 55%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.56) 62%, #08000f 100%) !important;
}

.option-one-action-strip{
  z-index:7 !important;
}

.home-info-section{
  margin-top:0 !important;
  padding-top:58px !important;
  background:
    radial-gradient(ellipse at 50% -12%, rgba(255,79,216,.16), transparent 42%),
    linear-gradient(180deg, #08000f 0%, #13001e 42%, #09000e 100%) !important;
}

.home-info-grid{
  position:relative;
  z-index:4;
}

/* More glittery CSS disco ball */
.option-one-disco-ball{
  width:150px !important;
  height:150px !important;
  opacity:.96 !important;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.98), transparent 9%),
    radial-gradient(circle at 70% 68%, rgba(255,0,220,.88), transparent 10%),
    linear-gradient(135deg, rgba(255,255,255,.22), transparent 32%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.30) 0 2px, transparent 2px 12px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.24) 0 2px, transparent 2px 12px),
    radial-gradient(circle at 35% 28%, #ff7adf 0%, #a855f7 34%, #4c1d95 58%, #120028 78%) !important;
  box-shadow:
    0 0 16px rgba(255,255,255,.42),
    0 0 42px rgba(255,79,216,.74),
    0 0 86px rgba(168,85,247,.48) !important;
}

.option-one-disco-ball::before{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:50%;
  background:
    radial-gradient(circle at 27% 22%, rgba(255,255,255,.9), transparent 4%),
    radial-gradient(circle at 62% 18%, rgba(255,255,255,.75), transparent 3%),
    radial-gradient(circle at 78% 62%, rgba(255,79,216,.82), transparent 4%),
    radial-gradient(circle at 42% 78%, rgba(255,255,255,.65), transparent 3%);
  filter:blur(.2px);
  pointer-events:none;
}

.option-one-disco-ball::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:220%;
  height:2px;
  transform:translate(-50%,-50%) rotate(-28deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.85), rgba(255,79,216,.7), transparent);
  filter:blur(.4px);
  opacity:.78;
}

.option-one-disco-sparkles{
  position:absolute;
  right:5.2%;
  top:5.7%;
  width:180px;
  height:180px;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.88) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 78%, rgba(255,79,216,.92) 0 2px, transparent 3px),
    radial-gradient(circle at 35% 82%, rgba(255,213,74,.9) 0 2px, transparent 3px);
  filter:drop-shadow(0 0 8px rgba(255,255,255,.9)) drop-shadow(0 0 15px rgba(255,79,216,.75));
}

/* Make lower cards feel part of same scene */
.home-info-card{
  background:
    linear-gradient(180deg, rgba(111,38,141,.76), rgba(37,7,57,.82)) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

/* Prevent content being hidden behind the browser bottom on shorter screens */
@media(max-height:820px) and (min-width:900px){
  .option-one-hero{
    min-height:720px !important;
    padding-top:30px !important;
  }

  .option-one-logo-shell{
    width:190px !important;
  }
}

@media(max-width:850px){
  .option-one-hero{
    padding-bottom:54px !important;
  }

  .option-one-hero::after{
    height:130px;
  }

  .home-info-section{
    padding-top:26px !important;
  }

  .option-one-disco-sparkles{
    width:110px;
    height:110px;
    right:4%;
    top:5%;
  }
}


/* v136 mobile-first neon homepage */
.home-option-one{
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255, 0, 204, .18), transparent 36rem),
    linear-gradient(180deg, #03000a 0%, #10001d 45%, #050009 100%) !important;
}

.public-dj-login{
  position:fixed;
  top:18px;
  left:18px;
  z-index:50;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:10px 16px;
  border:1px solid rgba(255,79,216,.8);
  border-radius:16px;
  color:#fff;
  background:rgba(12,0,26,.54);
  backdrop-filter:blur(10px);
  text-decoration:none;
  font-weight:850;
  box-shadow:
    0 0 12px rgba(255,79,216,.42),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.public-dj-login .login-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  color:#ff7adf;
  text-shadow:0 0 8px rgba(255,79,216,.75);
}

.option-one-hero{
  min-height:100svh !important;
  padding:34px 18px 84px !important;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,72,219,.42), transparent 14rem),
    radial-gradient(circle at 50% 43%, rgba(124,58,237,.26), transparent 34rem),
    repeating-conic-gradient(from 0deg at 50% 38%, rgba(255,255,255,.06) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #05000d 0%, #26043a 45%, #06000b 100%) !important;
}

.option-one-inner{
  width:min(980px, 100%) !important;
}

.option-one-logo-shell{
  width:clamp(158px, 18vw, 250px) !important;
  margin-bottom:22px !important;
  background:radial-gradient(circle, rgba(255,79,216,.22), rgba(255,79,216,.05) 58%, transparent 66%) !important;
  filter:
    drop-shadow(0 0 16px rgba(255,0,210,.90))
    drop-shadow(0 0 48px rgba(168,85,247,.62)) !important;
}

.option-one-logo-shell::before{
  inset:-6px !important;
  background:#ff4fd8 !important;
  box-shadow:
    0 0 8px rgba(255,255,255,.65),
    0 0 22px rgba(255,79,216,.95),
    0 0 55px rgba(255,79,216,.62) !important;
}

.option-one-logo-shell::after{
  inset:-1px !important;
  border:2px solid rgba(255,202,243,.88) !important;
  box-shadow:
    0 0 8px rgba(255,255,255,.48),
    0 0 25px rgba(255,79,216,.88) !important;
}

.option-one-logo{
  transform:scale(1.025) !important;
  object-fit:cover !important;
  background:#12001f !important;
}

.option-one-eyebrow{
  font-size:clamp(1.1rem, 2vw, 1.75rem) !important;
  letter-spacing:.34rem !important;
  margin-bottom:16px !important;
  background:none !important;
  box-shadow:none !important;
  text-shadow:
    0 1px 0 rgba(70,22,0,.75),
    0 0 7px rgba(255,216,106,.8),
    0 0 18px rgba(255,79,216,.32) !important;
}

.option-one-eyebrow::after{
  display:none !important;
}

.option-one-hero h1{
  text-shadow:
    0 0 8px rgba(255,255,255,.35),
    0 0 18px rgba(255,79,216,.28),
    0 0 42px rgba(255,79,216,.14),
    0 12px 34px rgba(0,0,0,.62) !important;
}

.option-one-hero h1 .headline-main{
  color:#fff9f4 !important;
  filter:
    drop-shadow(0 0 5px rgba(255,255,255,.26))
    drop-shadow(0 0 16px rgba(255,79,216,.26)) !important;
}

.option-one-hero h1 .headline-the i{
  height:3px !important;
  background:#ff4fd8 !important;
  box-shadow:
    0 0 8px rgba(255,79,216,1),
    0 0 24px rgba(255,79,216,.78) !important;
}

.option-one-subtitle{
  width:min(760px, 100%) !important;
  font-size:clamp(1.15rem, 2vw, 1.75rem) !important;
  line-height:1.22 !important;
}

.option-one-action-strip{
  margin-top:30px !important;
  border:1px solid rgba(255,79,216,.8) !important;
  border-radius:18px !important;
  background:rgba(8,0,18,.62) !important;
  box-shadow:
    0 0 18px rgba(255,79,216,.20),
    0 22px 60px rgba(0,0,0,.34) !important;
}

.option-one-action-card{
  min-height:96px !important;
  padding:20px 22px !important;
}

.option-one-icon{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  font-size:32px !important;
}

.option-one-disco-ball{
  right:5.5% !important;
  top:7.5% !important;
  width:150px !important;
  height:150px !important;
  border-radius:50% !important;
  opacity:.98 !important;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.98), transparent 8%),
    radial-gradient(circle at 58% 36%, rgba(255,255,255,.55), transparent 6%),
    radial-gradient(circle at 76% 64%, rgba(255,0,220,.82), transparent 9%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.36) 0 2px, transparent 2px 11px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.30) 0 2px, transparent 2px 11px),
    radial-gradient(circle at 35% 28%, #ff9bea 0%, #c026d3 32%, #6d28d9 58%, #120028 80%) !important;
  box-shadow:
    0 0 14px rgba(255,255,255,.58),
    0 0 40px rgba(255,79,216,.85),
    0 0 80px rgba(168,85,247,.54) !important;
}

.option-one-disco-ball::after{
  height:3px !important;
  width:250% !important;
  opacity:.86 !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.95), rgba(255,79,216,.82), transparent) !important;
}

.option-one-disco-sparkles{
  opacity:1 !important;
}

.home-info-section{
  padding-top:58px !important;
}

.home-info-card{
  min-height:230px;
  border-color:rgba(255,79,216,.45) !important;
  background:
    linear-gradient(180deg, rgba(95,21,124,.82), rgba(28,4,46,.88)) !important;
}

/* Mobile-first refinements for event guests */
@media(max-width:760px){
  .public-dj-login{
    top:10px;
    left:10px;
    min-height:42px;
    padding:8px 12px;
    font-size:14px;
    border-radius:14px;
  }

  .option-one-hero{
    min-height:auto !important;
    padding:72px 14px 40px !important;
  }

  .option-one-logo-shell{
    width:138px !important;
    margin-bottom:18px !important;
  }

  .option-one-disco-ball{
    width:76px !important;
    height:76px !important;
    right:12px !important;
    top:62px !important;
    opacity:.74 !important;
  }

  .option-one-disco-sparkles{
    right:4px !important;
    top:52px !important;
    transform:scale(.62);
  }

  .option-one-eyebrow{
    font-size:.95rem !important;
    letter-spacing:.14rem !important;
    line-height:1.5 !important;
    margin-bottom:12px !important;
  }

  .option-one-hero h1 .headline-main{
    font-size:clamp(2.6rem, 14vw, 4.2rem) !important;
    letter-spacing:-.052em !important;
  }

  .option-one-hero h1 .headline-the{
    grid-template-columns:44px auto 44px !important;
    gap:10px !important;
    margin:.10em 0 .06em !important;
  }

  .option-one-hero h1 .headline-the b{
    font-size:clamp(1.25rem, 7vw, 1.9rem) !important;
    letter-spacing:.24em !important;
    padding-left:.24em !important;
  }

  .option-one-hero h1 .events-line{
    font-size:clamp(.95rem, 4.8vw, 1.25rem) !important;
    letter-spacing:.30em !important;
    padding-left:.30em !important;
  }

  .option-one-subtitle{
    margin-top:18px !important;
    font-size:1.08rem !important;
    max-width:330px !important;
  }

  .option-one-action-strip{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:min(100%, 380px) !important;
    margin-top:24px !important;
    border-radius:18px !important;
  }

  .option-one-action-card{
    min-height:74px !important;
    padding:14px 16px !important;
    gap:14px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,79,216,.32) !important;
  }

  .option-one-action-card:last-child{
    border-bottom:0 !important;
  }

  .option-one-icon{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    font-size:26px !important;
  }

  .option-one-action-card strong{
    font-size:1rem !important;
  }

  .option-one-action-card em{
    font-size:.92rem !important;
  }

  .home-info-section{
    padding:28px 14px 48px !important;
  }

  .home-info-grid{
    grid-template-columns:1fr !important;
    width:min(100%, 380px) !important;
  }

  .home-info-card{
    min-height:auto !important;
    padding:22px !important;
  }
}


/* v137 proper glitter ball asset */
.glitter-ball-img{
  position:absolute;
  right:4.6%;
  top:5.5%;
  width:170px;
  height:170px;
  z-index:3;
  pointer-events:none;
  object-fit:contain;
  filter:
    drop-shadow(0 0 12px rgba(255,255,255,.45))
    drop-shadow(0 0 32px rgba(255,79,216,.80))
    drop-shadow(0 0 70px rgba(168,85,247,.45));
}

.option-one-disco-ball{
  display:none !important;
}

.option-one-disco-sparkles{
  right:3.8% !important;
  top:4.8% !important;
  width:205px !important;
  height:205px !important;
  z-index:4 !important;
  opacity:.85 !important;
  background:
    radial-gradient(circle at 15% 28%, rgba(255,255,255,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 76% 16%, rgba(255,255,255,.88) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 66%, rgba(255,79,216,.92) 0 2px, transparent 3px),
    radial-gradient(circle at 32% 82%, rgba(255,213,74,.9) 0 2px, transparent 3px),
    linear-gradient(118deg, transparent 0%, transparent 43%, rgba(255,255,255,.42) 48%, rgba(255,79,216,.46) 50%, transparent 57%, transparent 100%) !important;
}

@media(max-width:760px){
  .glitter-ball-img{
    width:86px;
    height:86px;
    right:8px;
    top:58px;
    opacity:.82;
  }

  .option-one-disco-sparkles{
    width:108px !important;
    height:108px !important;
    right:-4px !important;
    top:48px !important;
  }
}


/* v138 animated disco light blocks */
.disco-light-strip{
  position:relative;
  height:200px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,79,216,.18), transparent 48%),
    linear-gradient(180deg, #08000f 0%, #12001e 52%, #07000c 100%);
  border-top:1px solid rgba(255,79,216,.20);
  border-bottom:1px solid rgba(255,79,216,.18);
}

.disco-light-strip::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 42px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.06), transparent 42%);
  mix-blend-mode:screen;
  pointer-events:none;
}

.disco-light-strip::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.65), transparent 16%, transparent 84%, rgba(0,0,0,.65)),
    linear-gradient(180deg, rgba(0,0,0,.28), transparent 35%, rgba(0,0,0,.34));
  pointer-events:none;
}

.disco-light-track{
  position:absolute;
  top:28px;
  left:-50%;
  width:200%;
  height:68px;
  display:grid;
  grid-template-columns:repeat(24, 1fr);
  gap:14px;
  animation:discoBlocksMove 9s linear infinite;
  transform:skewX(-10deg);
}

.disco-light-track-two{
  top:108px;
  left:-80%;
  height:46px;
  gap:12px;
  opacity:.72;
  animation-duration:13s;
  animation-direction:reverse;
  transform:skewX(12deg);
  animation-name:discoBlocksMoveTwo;
}

.disco-light-track span{
  display:block;
  border-radius:14px;
  background:linear-gradient(135deg, #ff2bd6, #7c3aed);
  box-shadow:
    0 0 14px rgba(255,43,214,.55),
    0 0 28px rgba(124,58,237,.28),
    inset 0 1px 0 rgba(255,255,255,.24);
  opacity:.82;
  animation:discoBlockPulse 2.6s ease-in-out infinite;
}

.disco-light-track span:nth-child(3n+1){
  background:linear-gradient(135deg, #ffd54a, #ff2bd6);
  box-shadow:
    0 0 14px rgba(255,213,74,.48),
    0 0 32px rgba(255,43,214,.32);
}

.disco-light-track span:nth-child(3n+2){
  background:linear-gradient(135deg, #22d3ee, #a855f7);
  box-shadow:
    0 0 14px rgba(34,211,238,.44),
    0 0 32px rgba(168,85,247,.30);
}

.disco-light-track span:nth-child(4n){ transform:translateY(18px); }
.disco-light-track span:nth-child(5n){ transform:translateY(-14px); }
.disco-light-track span:nth-child(2n){ animation-delay:.45s; }
.disco-light-track span:nth-child(3n){ animation-delay:.9s; }

@keyframes discoBlocksMove{
  0%{ transform:translateX(0) skewX(-10deg); }
  100%{ transform:translateX(50%) skewX(-10deg); }
}

@keyframes discoBlocksMoveTwo{
  0%{ transform:translateX(0) skewX(12deg); }
  100%{ transform:translateX(50%) skewX(12deg); }
}

@keyframes discoBlockPulse{
  0%,100%{
    opacity:.48;
    filter:saturate(1) brightness(.88);
  }
  45%{
    opacity:1;
    filter:saturate(1.35) brightness(1.25);
  }
}

.home-info-section{
  padding-top:48px !important;
}

@media(max-width:760px){
  .disco-light-strip{
    height:150px;
  }

  .disco-light-track{
    top:22px;
    height:52px;
    gap:9px;
    grid-template-columns:repeat(18, 1fr);
    width:260%;
    left:-90%;
  }

  .disco-light-track-two{
    top:88px;
    height:36px;
  }
}

@media(prefers-reduced-motion:reduce){
  .disco-light-track,
  .disco-light-track span{
    animation:none !important;
  }
}


/* v139 clean glitter ball - no clipped streaks */
.glitter-ball-img{
  width:172px !important;
  height:172px !important;
  right:4.4% !important;
  top:5.4% !important;
  object-fit:contain !important;
  filter:
    drop-shadow(0 0 10px rgba(255,255,255,.34))
    drop-shadow(0 0 28px rgba(255,79,216,.78))
    drop-shadow(0 0 62px rgba(168,85,247,.44)) !important;
}

.option-one-disco-sparkles{
  display:none !important;
}

@media(max-width:760px){
  .glitter-ball-img{
    width:82px !important;
    height:82px !important;
    right:10px !important;
    top:58px !important;
    opacity:.82 !important;
  }
}


/* v140 remove disco blocks and smooth page blend */
.disco-light-strip{
  display:none !important;
}

/* Extend hero background down so the action strip doesn't sit in a hard black band */
.option-one-hero{
  padding-bottom:120px !important;
  background:
    radial-gradient(circle at 50% 14%, rgba(255,72,219,.42), transparent 14rem),
    radial-gradient(circle at 50% 42%, rgba(124,58,237,.26), transparent 34rem),
    radial-gradient(ellipse at 50% 94%, rgba(255,79,216,.14), transparent 42%),
    repeating-conic-gradient(from 0deg at 50% 38%, rgba(255,255,255,.06) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #05000d 0%, #26043a 48%, #150020 78%, #0b0012 100%) !important;
}

/* Replace hard end with a deeper but smoother fade */
.option-one-hero::after{
  height:300px !important;
  background:
    linear-gradient(
      180deg,
      rgba(11,0,20,0) 0%,
      rgba(18,0,32,.18) 25%,
      rgba(16,0,28,.46) 56%,
      rgba(12,0,22,.86) 84%,
      #0a0011 100%
    ) !important;
}

.option-one-floor-glow{
  height:320px !important;
  background:
    radial-gradient(ellipse at 50% 4%, rgba(255,79,216,.18), transparent 48%),
    linear-gradient(180deg, transparent 0%, rgba(14,0,25,.52) 62%, #0a0011 100%) !important;
}

/* Let the action strip belong to the same transition layer */
.option-one-action-strip{
  position:relative !important;
  z-index:8 !important;
  background:
    linear-gradient(180deg, rgba(28,0,42,.72), rgba(10,0,18,.66)) !important;
  border-color:rgba(255,79,216,.62) !important;
  box-shadow:
    0 0 18px rgba(255,79,216,.18),
    0 24px 55px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* Smooth transition into the lower cards */
.home-info-section{
  margin-top:0 !important;
  padding-top:54px !important;
  background:
    radial-gradient(ellipse at 50% -8%, rgba(255,79,216,.18), transparent 34%),
    radial-gradient(ellipse at 20% 20%, rgba(124,58,237,.12), transparent 38%),
    radial-gradient(ellipse at 80% 20%, rgba(255,79,216,.08), transparent 36%),
    linear-gradient(180deg, #0a0011 0%, #14001f 38%, #12001d 72%, #07000d 100%) !important;
  border-top:1px solid rgba(255,79,216,.10);
}

.home-info-section::before{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  top:-80px;
  height:80px;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(10,0,17,0), #0a0011);
}

.home-info-section{
  position:relative;
}

.home-info-grid{
  position:relative;
  z-index:2;
}

.home-info-card{
  background:
    linear-gradient(180deg, rgba(92,18,122,.78), rgba(31,5,50,.86)) !important;
  border-color:rgba(255,79,216,.38) !important;
  box-shadow:
    0 20px 50px rgba(0,0,0,.32),
    0 0 24px rgba(255,79,216,.08),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Remove old v138 animation rules visually even if CSS remains earlier */
.disco-light-track,
.disco-light-track-two{
  display:none !important;
}

@media(max-width:760px){
  .option-one-hero{
    padding-bottom:48px !important;
  }

  .option-one-hero::after{
    height:150px !important;
  }

  .home-info-section{
    padding-top:30px !important;
  }

  .home-info-section::before{
    top:-42px;
    height:42px;
  }
}


/* v141 remove glitter ball and unify background */
.glitter-ball-img,
.option-one-disco-ball,
.option-one-disco-sparkles{
  display:none !important;
}

/* The whole public homepage now has one continuous purple/black scene */
.home-option-one{
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,79,216,.22), transparent 34rem),
    radial-gradient(ellipse at 50% 56%, rgba(124,58,237,.16), transparent 44rem),
    linear-gradient(180deg, #05000d 0%, #230336 42%, #150020 68%, #09000f 100%) !important;
}

/* Keep the starburst in the hero but stop it ending in a hard black band */
.option-one-hero{
  min-height:auto !important;
  padding-bottom:76px !important;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,72,219,.40), transparent 14rem),
    radial-gradient(circle at 50% 46%, rgba(124,58,237,.24), transparent 35rem),
    radial-gradient(ellipse at 50% 100%, rgba(255,79,216,.16), transparent 44%),
    repeating-conic-gradient(from 0deg at 50% 38%, rgba(255,255,255,.06) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #05000d 0%, #26043a 50%, #170021 82%, rgba(15,0,24,0) 100%) !important;
}

/* remove old dark floor overlay effect that created the big black gap */
.option-one-hero::after,
.option-one-floor-glow{
  display:none !important;
}

/* The action strip should sit within the starburst area without a black floor behind it */
.option-one-action-strip{
  margin-bottom:0 !important;
  background:
    linear-gradient(180deg, rgba(33,0,48,.74), rgba(16,0,26,.64)) !important;
  border-color:rgba(255,79,216,.62) !important;
  box-shadow:
    0 0 18px rgba(255,79,216,.18),
    0 18px 45px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* Lower section starts as a continuation of the same scene, not a new block */
.home-info-section{
  margin-top:0 !important;
  padding-top:34px !important;
  background:
    radial-gradient(ellipse at 50% -18%, rgba(255,79,216,.20), transparent 38%),
    radial-gradient(ellipse at 50% 12%, rgba(124,58,237,.14), transparent 48%),
    linear-gradient(180deg, rgba(15,0,24,0) 0%, #160020 36%, #11001b 72%, #07000d 100%) !important;
  border-top:0 !important;
}

.home-info-section::before{
  display:none !important;
}

.home-info-grid{
  margin-top:0 !important;
}

/* Slightly more integrated card glow */
.home-info-card{
  background:
    linear-gradient(180deg, rgba(93,20,124,.76), rgba(30,4,49,.84)) !important;
  border-color:rgba(255,79,216,.34) !important;
  box-shadow:
    0 20px 46px rgba(0,0,0,.24),
    0 0 32px rgba(255,79,216,.08),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Tighter desktop vertical rhythm after removing glitter ball */
.option-one-logo-shell{
  margin-bottom:18px !important;
}

.option-one-eyebrow{
  margin-bottom:14px !important;
}

.option-one-subtitle{
  margin-top:18px !important;
}

.option-one-action-strip{
  margin-top:26px !important;
}

@media(max-width:760px){
  .option-one-hero{
    padding-bottom:34px !important;
  }

  .home-info-section{
    padding-top:22px !important;
  }

  .option-one-action-strip{
    margin-top:22px !important;
  }
}


/* v142 remove remaining dark band between hero and lower cards */
.option-one-hero{
  padding-bottom:38px !important;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,72,219,.40), transparent 14rem),
    radial-gradient(circle at 50% 44%, rgba(124,58,237,.24), transparent 35rem),
    radial-gradient(ellipse at 50% 100%, rgba(255,79,216,.20), transparent 46%),
    repeating-conic-gradient(from 0deg at 50% 38%, rgba(255,255,255,.06) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #05000d 0%, #26043a 52%, #1a0128 82%, #160020 100%) !important;
}

.option-one-hero::after,
.option-one-floor-glow{
  display:none !important;
  content:none !important;
}

.home-info-section{
  margin-top:-1px !important;
  padding-top:44px !important;
  background:
    radial-gradient(ellipse at 50% -36px, rgba(255,79,216,.22), transparent 34%),
    radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.18), transparent 42%),
    repeating-conic-gradient(from 0deg at 50% -150px, rgba(255,255,255,.035) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #160020 0%, #150020 36%, #11001b 72%, #07000d 100%) !important;
}

.home-info-section::before{
  display:none !important;
  content:none !important;
}

/* The action strip should not create/appear to sit on a black shelf */
.option-one-action-strip{
  margin-bottom:0 !important;
  background:rgba(19,0,32,.72) !important;
  box-shadow:
    0 0 22px rgba(255,79,216,.20),
    0 16px 34px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* If older CSS left a dark overlay/floor, neutralise it */
.option-one-crowd{
  display:none !important;
}

@media(max-width:760px){
  .option-one-hero{
    padding-bottom:28px !important;
  }

  .home-info-section{
    padding-top:28px !important;
  }
}


/* v143 dynamic homepage state and fixed starburst test */
body.homepage-option-one{
  background:#05000d !important;
}

body.homepage-option-one::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,72,219,.34), transparent 15rem),
    radial-gradient(circle at 50% 44%, rgba(124,58,237,.22), transparent 38rem),
    repeating-conic-gradient(from 0deg at 50% 38%, rgba(255,255,255,.052) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #05000d 0%, #26043a 52%, #160020 100%);
}

body.homepage-option-one::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.48), transparent 22%, transparent 78%, rgba(0,0,0,.48)),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.42));
}

.home-option-one{
  background:transparent !important;
}

.option-one-hero{
  background:transparent !important;
}

.home-info-section{
  background:transparent !important;
}

.option-one-action-strip.dynamic-action-strip{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.option-one-action-card.primary-action{
  background:linear-gradient(180deg, rgba(255,79,216,.16), rgba(20,0,35,.58));
}

.option-one-action-card[href="/events.php"] .option-one-icon,
.option-one-action-card[href="/gallery.php"] .option-one-icon{
  font-size:28px;
}

.home-info-card{
  backdrop-filter:blur(8px);
}

@media(max-width:760px){
  body.homepage-option-one::before{
    position:fixed;
    background:
      radial-gradient(circle at 50% 9%, rgba(255,72,219,.32), transparent 10rem),
      radial-gradient(circle at 50% 34%, rgba(124,58,237,.22), transparent 24rem),
      repeating-conic-gradient(from 0deg at 50% 30%, rgba(255,255,255,.044) 0deg 4deg, transparent 4deg 10deg),
      linear-gradient(180deg, #05000d 0%, #230336 52%, #100018 100%);
  }

  body.homepage-option-one::after{
    background:rgba(0,0,0,.24);
  }

  .option-one-action-strip.dynamic-action-strip{
    grid-template-columns:1fr;
  }
}

/* Reduced motion / low-power friendly */
@media(prefers-reduced-motion:reduce){
  body.homepage-option-one::before{
    position:absolute;
  }
}


/* v144 public events list */
.public-list-page .home-option-one{
  min-height:100vh;
}

.public-list-hero{
  position:relative;
  text-align:center;
  padding:90px 18px 34px;
}

.public-back-link{
  position:absolute;
  left:22px;
  top:24px;
  color:#ffd54a;
  text-decoration:none;
  font-weight:900;
  text-shadow:0 0 10px rgba(255,213,74,.55);
}

.public-list-logo{
  width:150px !important;
  margin-bottom:20px !important;
}

.public-list-hero h1{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0;
  text-transform:uppercase;
  line-height:.9;
  color:#fff;
  text-shadow:
    0 0 10px rgba(255,255,255,.35),
    0 0 24px rgba(255,79,216,.24),
    0 10px 28px rgba(0,0,0,.45);
}

.public-list-hero h1 .headline-main{
  font-size:clamp(3rem, 7vw, 6.8rem);
  letter-spacing:-.05em;
}

.public-list-hero h1 .headline-the{
  display:grid;
  grid-template-columns:minmax(60px,140px) auto minmax(60px,140px);
  align-items:center;
  gap:18px;
  margin:.16em 0 0;
}

.public-list-hero h1 .headline-the b{
  font-size:clamp(1.5rem, 3vw, 2.8rem);
  letter-spacing:.22em;
  padding-left:.22em;
  color:#ffd54a;
}

.public-list-hero h1 .headline-the i{
  display:block;
  height:3px;
  background:#ff4fd8;
  box-shadow:0 0 12px rgba(255,79,216,.9);
}

.public-events-section{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
  padding:20px 0 72px;
}

.public-events-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.public-event-card,
.public-empty-card{
  border:1px solid rgba(255,79,216,.38);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(33,0,48,.76), rgba(12,0,22,.82));
  box-shadow:
    0 20px 50px rgba(0,0,0,.26),
    0 0 26px rgba(255,79,216,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
  backdrop-filter:blur(8px);
}

.public-empty-card{
  text-align:center;
  padding:34px;
  max-width:680px;
  margin:0 auto;
}

.public-empty-card h2{
  margin:0 0 10px;
  font-size:clamp(1.6rem, 3vw, 2.4rem);
}

.public-empty-card p{
  color:#f3e8ff;
  margin:0 0 20px;
}

.public-event-card{
  display:grid;
  grid-template-columns:190px minmax(0, 1fr);
}

.public-event-image{
  min-height:190px;
  background:rgba(255,79,216,.10);
}

.public-event-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.public-event-placeholder{
  display:grid;
  place-items:center;
  font-size:4rem;
  color:#ffd54a;
  text-shadow:0 0 18px rgba(255,213,74,.55);
}

.public-event-body{
  padding:22px;
}

.public-event-date{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  color:#ffd54a;
  font-weight:950;
  margin-bottom:12px;
}

.public-event-date span{
  color:#f3e8ff;
}

.public-event-body h2{
  margin:0 0 8px;
  font-size:clamp(1.35rem, 2vw, 2rem);
  line-height:1.05;
}

.public-event-body p{
  margin:0 0 18px;
  color:#f3e8ff;
}

.public-event-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.public-neon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border:1px solid rgba(255,79,216,.7);
  border-radius:14px;
  color:#fff;
  background:rgba(255,79,216,.14);
  text-decoration:none;
  font-weight:900;
  box-shadow:0 0 12px rgba(255,79,216,.22);
}

.public-neon-btn.subtle{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.18);
}

.public-alert{
  border:1px solid rgba(248,113,113,.45);
  background:rgba(127,29,29,.25);
  color:#fecaca;
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:18px;
}

@media(max-width:820px){
  .public-events-grid{
    grid-template-columns:1fr;
  }

  .public-event-card{
    grid-template-columns:1fr;
  }

  .public-event-image{
    min-height:220px;
  }
}

@media(max-width:560px){
  .public-list-hero{
    padding-top:82px;
  }

  .public-back-link{
    left:14px;
    top:16px;
  }

  .public-events-section{
    width:min(100% - 24px, 1120px);
    padding-top:10px;
  }

  .public-list-logo{
    width:128px !important;
  }

  .public-list-hero h1 .headline-main{
    font-size:clamp(2.7rem, 14vw, 4rem);
  }

  .public-list-hero h1 .headline-the{
    grid-template-columns:42px auto 42px;
    gap:10px;
  }

  .public-event-body{
    padding:18px;
  }
}


/* v145 current event time detection */
.homepage-state-note{
  margin:16px auto 0;
  max-width:640px;
  color:#f3e8ff;
  font-size:clamp(.95rem, 1.3vw, 1.08rem);
  font-weight:750;
  text-align:center;
  opacity:.88;
  text-shadow:0 4px 16px rgba(0,0,0,.42);
}


/* v146 hide public event codes */
.event-code,
.code-badge,
.public-event-code,
.event-code-pill,
[data-event-code-display]{
  display:none !important;
}


/* v147 portal subdomain + public navigation */
.public-dj-login{
  text-transform:none;
}

.public-home-link{
  border-color:rgba(255,213,74,.72) !important;
  box-shadow:
    0 0 12px rgba(255,213,74,.28),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.public-home-link .login-icon{
  color:#ffd54a !important;
  text-shadow:0 0 8px rgba(255,213,74,.75) !important;
}

@media(max-width:760px){
  .public-dj-login span:last-child{
    max-width:80px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
}


/* v148 public events and event detail fixes */
.public-events-section{
  width:min(1280px, calc(100% - 36px)) !important;
}

.public-events-grid{
  grid-template-columns:1fr !important;
  gap:24px !important;
}

.public-event-card{
  width:min(920px, 100%);
  margin:0 auto;
  grid-template-columns:280px minmax(0, 1fr) !important;
}

.public-event-image{
  min-height:230px !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,79,216,.18), transparent 44%),
    linear-gradient(180deg, rgba(33,0,48,.86), rgba(12,0,22,.92)) !important;
}

.public-event-image.public-event-placeholder{
  display:grid;
  place-items:center;
}

.public-event-image.public-event-placeholder span{
  display:block;
  font-size:4rem;
  color:#ffd54a;
  text-shadow:0 0 18px rgba(255,213,74,.55);
}

.public-event-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.public-event-actions{
  margin-top:6px;
}

.public-event-detail-page .home-option-one{
  min-height:100vh;
}

.public-event-detail-hero{
  text-align:center;
  padding:88px 18px 28px;
}

.event-detail-title{
  margin:0;
  font-size:clamp(3rem, 7vw, 6rem);
  line-height:.92;
  text-transform:uppercase;
  color:#fff;
  text-shadow:
    0 0 10px rgba(255,255,255,.34),
    0 0 28px rgba(255,79,216,.34),
    0 10px 30px rgba(0,0,0,.45);
}

.public-event-detail-section{
  width:min(1120px, calc(100% - 36px));
  margin:0 auto;
  padding:20px 0 74px;
}

.public-event-detail-card{
  display:grid;
  grid-template-columns:minmax(260px, 390px) minmax(0, 1fr);
  border:1px solid rgba(255,79,216,.38);
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(33,0,48,.76), rgba(12,0,22,.84));
  box-shadow:
    0 20px 50px rgba(0,0,0,.26),
    0 0 26px rgba(255,79,216,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}

.public-event-detail-image{
  min-height:360px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,79,216,.18), transparent 44%),
    linear-gradient(180deg, rgba(33,0,48,.86), rgba(12,0,22,.92));
}

.public-event-detail-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.public-event-detail-image.public-event-placeholder{
  display:grid;
  place-items:center;
}

.public-event-detail-image.public-event-placeholder span{
  font-size:5rem;
  color:#ffd54a;
  text-shadow:0 0 18px rgba(255,213,74,.55);
}

.public-event-detail-body{
  padding:30px;
}

.public-event-detail-body h2{
  margin:0 0 12px;
  font-size:clamp(2rem, 4vw, 3.2rem);
  line-height:1;
}

.public-event-detail-body p{
  color:#f3e8ff;
  font-size:1.05rem;
  line-height:1.45;
}

.public-qr-only-note{
  margin-top:22px;
  padding:16px 18px;
  border:1px solid rgba(255,213,74,.34);
  border-radius:16px;
  background:rgba(255,213,74,.08);
  color:#fff;
}

.public-qr-only-note strong{
  display:block;
  color:#ffd54a;
  margin-bottom:4px;
}

.public-qr-only-note span{
  color:#f3e8ff;
}

body.public-event-detail-page > a.public-dj-login,
body.public-event-detail-page > .public-dj-login{
  display:none !important;
}

/* Clean up any accidental unstyled duplicate top links */
body > a[href="/"]:not(.public-dj-login){
  display:none !important;
}

@media(max-width:820px){
  .public-event-card,
  .public-event-detail-card{
    grid-template-columns:1fr !important;
  }

  .public-event-image,
  .public-event-detail-image{
    min-height:240px !important;
  }

  .public-event-detail-body{
    padding:22px;
  }
}

@media(max-width:560px){
  .public-events-section,
  .public-event-detail-section{
    width:min(100% - 24px, 1120px) !important;
  }

  .public-event-detail-hero{
    padding-top:82px;
  }

  .event-detail-title{
    font-size:clamp(2.5rem, 14vw, 4rem);
  }
}


/* v149 SEO event URLs, descriptions and non-cropped flyers */
.public-event-image img,
.public-event-detail-image img{
  object-fit:contain !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,79,216,.14), transparent 44%),
    linear-gradient(180deg, rgba(33,0,48,.90), rgba(12,0,22,.96)) !important;
}

.public-event-detail-image{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}

.public-event-detail-image img{
  max-width:100%;
  max-height:100%;
  border-radius:16px;
}

.public-event-image{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}

.public-event-image img{
  max-width:100%;
  max-height:100%;
  border-radius:14px;
}

.public-event-description{
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid rgba(255,79,216,.26);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  color:#f8efff;
  font-size:1.05rem;
  line-height:1.5;
}

.public-map-section{
  margin-top:26px;
  border:1px solid rgba(255,79,216,.34);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(33,0,48,.68), rgba(12,0,22,.82));
  overflow:hidden;
  box-shadow:
    0 20px 50px rgba(0,0,0,.24),
    0 0 26px rgba(255,79,216,.08);
}

.public-map-section h2{
  margin:0;
  padding:20px 22px;
  border-bottom:1px solid rgba(255,79,216,.20);
  font-size:clamp(1.5rem, 3vw, 2.2rem);
}

.public-map-frame{
  height:360px;
  background:#160020;
}

.public-map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:saturate(.95) contrast(.95);
}

@media(max-width:820px){
  .public-event-detail-image{
    min-height:260px !important;
  }

  .public-event-image{
    min-height:230px !important;
  }

  .public-map-frame{
    height:300px;
  }
}

@media(max-width:560px){
  .public-event-detail-image{
    min-height:220px !important;
    padding:10px;
  }

  .public-event-image{
    min-height:200px !important;
  }

  .public-map-frame{
    height:260px;
  }

  .public-event-description{
    font-size:1rem;
    padding:14px;
  }
}


/* v150 public navigation + event status */
.public-site-header{
  position:sticky;
  top:0;
  z-index:60;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:min(1180px, calc(100% - 28px));
  margin:0 auto;
  padding:12px 0;
  backdrop-filter:blur(10px);
}

.public-site-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  line-height:1;
  text-shadow:0 0 10px rgba(255,79,216,.34);
}

.public-site-brand img{
  width:48px;
  height:48px;
  border-radius:50%;
  display:block;
  box-shadow:0 0 14px rgba(255,79,216,.45);
}

.public-site-brand span{
  font-size:13px;
  letter-spacing:.02em;
}

.public-site-brand strong{
  color:#ffd54a;
}

.public-site-nav{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px;
  border:1px solid rgba(255,79,216,.26);
  border-radius:18px;
  background:rgba(12,0,26,.46);
  box-shadow:0 0 18px rgba(255,79,216,.10);
}

.public-site-nav a{
  color:#f8efff;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:13px;
}

.public-site-nav a.is-active,
.public-site-nav a:hover{
  color:#fff;
  background:rgba(255,79,216,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.public-dj-login{
  display:none !important;
}

.public-list-hero,
.public-event-detail-hero{
  padding-top:48px !important;
}

.public-status-pill{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  margin:0 0 12px;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.public-status-pill.cancelled{
  color:#fecaca;
  border:1px solid rgba(248,113,113,.50);
  background:rgba(127,29,29,.32);
}

.public-event-card.is-cancelled,
.public-event-detail-card.is-cancelled{
  border-color:rgba(248,113,113,.44) !important;
}

.public-event-card.is-cancelled .public-event-image,
.public-event-detail-card.is-cancelled .public-event-detail-image{
  opacity:.72;
  filter:grayscale(.18);
}

.public-cancelled-banner{
  margin:0 0 20px;
  padding:18px 20px;
  border:1px solid rgba(248,113,113,.50);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(127,29,29,.34), rgba(69,10,10,.30));
  color:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}

.public-cancelled-banner strong{
  display:block;
  color:#fecaca;
  font-size:clamp(1.4rem, 3vw, 2rem);
  margin-bottom:6px;
  text-transform:uppercase;
}

.public-cancelled-banner span{
  color:#fee2e2;
}

.public-event-image img,
.public-event-detail-image img{
  object-fit:contain !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,79,216,.14), transparent 44%),
    linear-gradient(180deg, rgba(33,0,48,.90), rgba(12,0,22,.96)) !important;
}

.public-event-detail-image{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}

.public-event-detail-image img{
  max-width:100%;
  max-height:100%;
  border-radius:16px;
}

.public-event-image{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}

.public-event-image img{
  max-width:100%;
  max-height:100%;
  border-radius:14px;
}

.public-event-description{
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid rgba(255,79,216,.26);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  color:#f8efff;
  font-size:1.05rem;
  line-height:1.5;
}

.public-map-section{
  margin-top:26px;
  border:1px solid rgba(255,79,216,.34);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(33,0,48,.68), rgba(12,0,22,.82));
  overflow:hidden;
  box-shadow:
    0 20px 50px rgba(0,0,0,.24),
    0 0 26px rgba(255,79,216,.08);
}

.public-map-section h2{
  margin:0;
  padding:20px 22px;
  border-bottom:1px solid rgba(255,79,216,.20);
  font-size:clamp(1.5rem, 3vw, 2.2rem);
}

.public-map-frame{
  height:360px;
  background:#160020;
}

.public-map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:saturate(.95) contrast(.95);
}

@media(max-width:720px){
  .public-site-header{
    align-items:flex-start;
    padding-top:10px;
  }

  .public-site-brand span{
    display:none;
  }

  .public-site-brand img{
    width:42px;
    height:42px;
  }

  .public-site-nav{
    gap:4px;
    overflow-x:auto;
    max-width:calc(100vw - 86px);
    scrollbar-width:none;
  }

  .public-site-nav::-webkit-scrollbar{
    display:none;
  }

  .public-site-nav a{
    font-size:13px;
    padding:8px 10px;
    white-space:nowrap;
  }

  .public-list-hero,
  .public-event-detail-hero{
    padding-top:38px !important;
  }

  .public-map-frame{
    height:270px;
  }

  .public-event-description{
    font-size:1rem;
    padding:14px;
  }
}


/* v151 public footer */
.public-site-footer{
  position:relative;
  margin-top:48px;
  border-top:1px solid rgba(255,79,216,.24);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,79,216,.14), transparent 44%),
    linear-gradient(180deg, rgba(12,0,22,.78), rgba(4,0,9,.96));
  color:#f8efff;
}

.public-footer-inner{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:30px 0;
  display:grid;
  grid-template-columns:1.3fr 1fr auto;
  gap:26px;
  align-items:center;
}

.public-footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.public-footer-brand img{
  width:64px;
  height:64px;
  border-radius:50%;
  box-shadow:0 0 18px rgba(255,79,216,.46);
  flex:0 0 auto;
}

.public-footer-brand strong{
  display:block;
  color:#fff;
  font-size:1.05rem;
  line-height:1.1;
  margin-bottom:5px;
  text-shadow:0 0 10px rgba(255,79,216,.25);
}

.public-footer-brand span{
  display:block;
  color:#d8c8e8;
  font-size:.92rem;
  line-height:1.35;
}

.public-footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  justify-content:center;
}

.public-footer-links a{
  color:#f8efff;
  text-decoration:none;
  font-weight:850;
  font-size:.92rem;
  opacity:.88;
}

.public-footer-links a:hover{
  color:#ffd54a;
  opacity:1;
}

.public-footer-socials{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.public-footer-social{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,79,216,.42);
  background:rgba(255,79,216,.12);
  color:#fff;
  text-decoration:none;
  font-size:1.25rem;
  font-weight:950;
  box-shadow:
    0 0 14px rgba(255,79,216,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.public-footer-social:hover{
  border-color:rgba(255,213,74,.62);
  color:#ffd54a;
}

.public-footer-social.whatsapp{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.42);
}

.public-footer-bottom{
  border-top:1px solid rgba(255,255,255,.07);
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:14px 0 18px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:#bcaed0;
  font-size:.86rem;
}

@media(max-width:760px){
  .public-site-footer{
    margin-top:34px;
  }

  .public-footer-inner{
    grid-template-columns:1fr;
    text-align:center;
    padding:26px 0;
  }

  .public-footer-brand{
    justify-content:center;
    flex-direction:column;
  }

  .public-footer-links{
    justify-content:center;
  }

  .public-footer-socials{
    justify-content:center;
  }

  .public-footer-bottom{
    flex-direction:column;
    text-align:center;
    align-items:center;
  }
}


/* v152 public nav/footer link refinements */
.public-site-nav{
  align-items:center;
}

.public-site-nav .public-nav-social{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.2rem;
  font-weight:950;
  color:#fff;
  background:rgba(255,79,216,.14);
  border:1px solid rgba(255,79,216,.44);
  box-shadow:
    0 0 12px rgba(255,79,216,.26),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.public-site-nav .public-nav-social:hover{
  color:#ffd54a;
  border-color:rgba(255,213,74,.62);
  box-shadow:
    0 0 16px rgba(255,213,74,.26),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.public-footer-bottom a{
  color:#ffd54a;
  text-decoration:none;
  font-weight:900;
}

.public-footer-bottom a:hover{
  color:#fff;
  text-shadow:0 0 10px rgba(255,213,74,.45);
}

@media(max-width:720px){
  .public-site-nav .public-nav-social{
    width:36px;
    min-width:36px;
    height:36px;
  }
}


/* v153 venue facebook button */
.venue-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.venue-facebook-icon{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-left:10px;
  border-radius:50%;
  background:linear-gradient(180deg,#1877f2,#1259b8);
  color:#fff;
  font-size:.95rem;
  font-weight:900;
  box-shadow:
    0 0 12px rgba(24,119,242,.45),
    inset 0 1px 0 rgba(255,255,255,.25);
}

a:hover .venue-facebook-icon{
  transform:translateY(-1px);
  box-shadow:
    0 0 16px rgba(24,119,242,.6),
    inset 0 1px 0 rgba(255,255,255,.35);
}

@media(max-width:760px){
  .venue-facebook-icon{
    width:22px;
    height:22px;
    margin-left:8px;
    font-size:.85rem;
  }
}


/* v165 public events list button tidy */
.public-list-page .public-event-actions-compact{
  margin-top:12px;
}

.public-list-page .public-event-actions-compact .public-neon-btn{
  min-width:150px;
}

@media(max-width:560px){
  .public-list-page .public-event-actions-compact .public-neon-btn{
    width:100%;
  }
}


/* v14 public gallery + uploads */
.public-gallery-page .home-option-one { overflow: visible; }
.public-gallery-shell { width:min(1320px, calc(100% - 48px)); margin:0 auto 64px; display:grid; gap:28px; }
.public-gallery-hero { text-align:center; padding:22px 24px 0; }
.public-gallery-title { margin:0; font-size:clamp(2.5rem, 7vw, 4.8rem); line-height:0.95; }
.public-filter-card, .public-photo-grid-card, .upload-card { background:rgba(33,0,55,.74); border:1px solid rgba(255,61,236,.45); border-radius:28px; padding:28px; box-shadow:0 16px 50px rgba(0,0,0,.28); }
.public-filter-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:16px; align-items:end; }
.public-filter-grid label span { display:block; margin-bottom:8px; color:#ffd84f; font-weight:700; }
.public-filter-grid select, .public-filter-grid input, .public-upload-form input[type="text"], .public-upload-form input[type="file"] { width:100%; border-radius:16px; border:1px solid rgba(255,125,243,.4); background:rgba(255,255,255,.08); color:#fff; padding:14px 16px; font:inherit; }
.public-filter-actions, .public-upload-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.public-neon-btn, .public-secondary-btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 18px; border-radius:16px; text-decoration:none; border:1px solid rgba(255,125,243,.5); font-weight:800; }
.public-neon-btn { background:linear-gradient(180deg, #b829ff, #7b23ff); color:#fff; }
.public-secondary-btn { background:rgba(255,255,255,.06); color:#fff; }
.public-grid-heading-row { display:flex; justify-content:space-between; gap:16px; align-items:flex-end; margin-bottom:22px; }
.public-grid-heading-row h2, .public-filter-card h2 { margin:.1rem 0 .3rem; font-size:clamp(2rem,5vw,3.6rem); }
.public-photo-count { display:inline-flex; align-items:center; padding:10px 16px; border-radius:999px; border:1px solid rgba(125,177,255,.6); color:#eef4ff; font-weight:800; }
.public-photo-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:18px; }
.public-photo-tile { background:rgba(255,255,255,.04); border:1px solid rgba(255,125,243,.28); border-radius:24px; overflow:hidden; }
.public-photo-thumb { display:block; width:100%; padding:0; border:0; background:none; cursor:pointer; }
.public-photo-thumb img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.public-photo-meta { padding:14px 16px 18px; }
.public-photo-meta h3 { margin:0 0 6px; font-size:1.55rem; }
.public-photo-meta p { margin:0 0 8px; color:#ddd3eb; }
.public-photo-meta strong { color:#ffe257; font-size:1rem; }
.public-empty-card { max-width:780px; margin:0 auto; text-align:center; background:rgba(255,255,255,.04); border:1px solid rgba(255,125,243,.28); border-radius:24px; padding:36px 24px; }
.public-form-success, .public-form-error { border-radius:16px; padding:14px 16px; margin-bottom:16px; }
.public-form-success { background:rgba(18,100,46,.38); border:1px solid rgba(55,198,110,.45); }
.public-form-error { background:rgba(120,32,32,.35); border:1px solid rgba(231,96,96,.45); }
.upload-help-copy { color:#d8cdea; margin:12px 0 0; }
.upload-grid { margin-bottom:16px; }
.public-lightbox { position:fixed; inset:0; background:rgba(10,0,20,.9); display:grid; place-items:center; z-index:1100; padding:24px; }
.public-lightbox figure { margin:0; max-width:min(92vw, 1100px); }
.public-lightbox img { max-width:100%; max-height:78vh; border-radius:24px; display:block; margin:0 auto 14px; }
.public-lightbox figcaption { text-align:center; color:#fff; display:grid; gap:6px; }
.public-lightbox figcaption strong { font-size:1.6rem; }
.public-lightbox-close, .public-lightbox-nav { position:absolute; border:0; border-radius:999px; width:52px; height:52px; cursor:pointer; font-size:2rem; background:rgba(255,255,255,.12); color:#fff; }
.public-lightbox-close { top:20px; right:20px; }
.public-lightbox-nav.prev { left:18px; top:50%; transform:translateY(-50%); }
.public-lightbox-nav.next { right:18px; top:50%; transform:translateY(-50%); }
body.lightbox-open { overflow:hidden; }
@media (max-width: 720px) {
  .public-gallery-shell { width:min(100% - 20px, 100%); }
  .public-filter-card, .public-photo-grid-card, .upload-card { padding:20px; border-radius:22px; }
  .public-grid-heading-row { flex-direction:column; align-items:flex-start; }
}

/* v302 gallery branded-artwork fit: show full framed image without cropping */
.public-gallery-page .public-photo-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}

.public-gallery-page .public-photo-tile{
  min-width:0 !important;
  overflow:hidden !important;
}

.public-gallery-page .public-photo-thumb{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  padding:10px !important;
  background:linear-gradient(180deg, rgba(12,0,22,.85), rgba(36,0,52,.92)) !important;
  border-bottom:1px solid rgba(255,61,236,.35) !important;
}

.public-gallery-page .public-photo-thumb img{
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:transparent !important;
  border-radius:14px !important;
}

.public-gallery-page .public-lightbox[hidden]{
  display:none !important;
}

.public-gallery-page .public-lightbox img{
  object-fit:contain !important;
  width:auto !important;
  height:auto !important;
  max-width:min(92vw, 1180px) !important;
  max-height:78vh !important;
}

@media (max-width: 1120px){
  .public-gallery-page .public-photo-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px){
  .public-gallery-page .public-photo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px){
  .public-gallery-page .public-photo-grid{
    grid-template-columns:1fr !important;
  }
  .public-gallery-page .public-photo-thumb{
    aspect-ratio:4 / 5 !important;
  }
}


/* v291 isolated restore: event detail share button */
body.public-event-detail-page .public-event-title-row{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-bottom:18px !important;
}
body.public-event-detail-page .public-event-title-main{
  min-width:0 !important;
  flex:1 1 auto !important;
}
body.public-event-detail-page .public-event-share-button{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,125,243,.72) !important;
  background:linear-gradient(135deg, rgba(135,34,160,.68), rgba(28,8,39,.92)) !important;
  box-shadow:0 0 18px rgba(255,54,228,.32), inset 0 0 14px rgba(255,255,255,.08) !important;
  color:#fff !important;
  cursor:pointer !important;
  padding:0 !important;
  margin:4px 0 0 12px !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
body.public-event-detail-page .public-event-share-button:hover,
body.public-event-detail-page .public-event-share-button:focus-visible{
  transform:translateY(-1px) !important;
  box-shadow:0 0 26px rgba(255,54,228,.55), inset 0 0 16px rgba(255,255,255,.1) !important;
  outline:none !important;
}
body.public-event-detail-page .public-event-share-button .public-action-icon{
  width:24px !important;
  height:24px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.public-event-detail-page .public-event-share-button .public-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
@media (max-width:700px){
  body.public-event-detail-page .public-event-title-row{
    align-items:flex-start !important;
  }
  body.public-event-detail-page .public-event-share-button{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
  }
}

/* v292 scoped request access-code form polish */
.public-access-card .public-access-form{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:22px auto 14px;
}
.public-access-card .public-access-form label{
  color:#fff;
  font-weight:800;
  line-height:1.1;
  margin:0 0 13px;
}
.public-access-card .public-access-form input[name="event_access_code"],
.public-access-card .public-access-form input#event_access_code{
  appearance:none;
  -webkit-appearance:none;
  width:min(100%, 260px);
  min-height:54px;
  border-radius:16px;
  border:1px solid rgba(255,125,243,.62);
  background:linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.05));
  color:#fff;
  padding:0 18px;
  font:inherit;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 0 18px rgba(220,50,255,.16);
  outline:none;
}
.public-access-card .public-access-form input[name="event_access_code"]::placeholder,
.public-access-card .public-access-form input#event_access_code::placeholder{
  color:rgba(255,255,255,.55);
  text-transform:none;
  letter-spacing:0;
  font-weight:750;
}
.public-access-card .public-access-form input[name="event_access_code"]:focus,
.public-access-card .public-access-form input#event_access_code:focus{
  border-color:#ffd54a;
  box-shadow:0 0 0 3px rgba(255,213,74,.15), 0 0 24px rgba(255,213,74,.22), inset 0 1px 0 rgba(255,255,255,.18);
}
@media(max-width:640px){
  .public-access-card .public-access-form{
    align-items:stretch;
  }
  .public-access-card .public-access-form label,
  .public-access-card .public-access-form input[name="event_access_code"],
  .public-access-card .public-access-form input#event_access_code,
  .public-access-card .public-access-form .public-neon-btn{
    width:100%;
    margin-bottom:0;
  }
}

/* v303 regression guard: homepage public cards, live ticker and access-code form */
body.homepage-option-one .home-info-grid,
body.homepage-option-one .home-info-grid-secondary{
  width:min(1080px, calc(100% - 48px));
  margin:38px auto 34px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

body.homepage-option-one .home-info-card,
body.homepage-option-one .home-info-card:link,
body.homepage-option-one .home-info-card:visited{
  display:block;
  min-height:178px;
  padding:30px 28px;
  border-radius:22px;
  border:1px solid rgba(255,61,236,.42);
  background:linear-gradient(145deg, rgba(117,20,135,.78), rgba(42,0,61,.88));
  box-shadow:0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none !important;
}

body.homepage-option-one .home-info-card *,
body.homepage-option-one .home-info-card h2,
body.homepage-option-one .home-info-card p,
body.homepage-option-one .home-info-card span{
  text-decoration:none !important;
}

body.homepage-option-one .home-info-card span{
  display:block;
  margin:0 0 18px;
  font-size:2rem;
  line-height:1;
}

body.homepage-option-one .home-info-card h2{
  margin:0 0 10px;
  font-size:clamp(1.55rem, 2vw, 2rem);
  line-height:1.08;
  color:#fff;
}

body.homepage-option-one .home-info-card p{
  margin:0;
  color:rgba(255,255,255,.9);
  line-height:1.55;
}

body.homepage-option-one .home-info-card:hover,
body.homepage-option-one .home-info-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(255,213,74,.65);
  box-shadow:0 22px 54px rgba(0,0,0,.32), 0 0 26px rgba(255,61,236,.20), inset 0 1px 0 rgba(255,255,255,.12);
  outline:none;
}

body.homepage-option-one .home-coming-up{
  width:min(1180px, calc(100% - 48px));
  margin:28px auto 42px;
  padding:22px 0 24px;
  overflow:hidden;
  border-top:1px solid rgba(255,61,236,.35);
  border-bottom:1px solid rgba(255,61,236,.22);
}

body.homepage-option-one .home-coming-up-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 16px;
}

body.homepage-option-one .home-coming-up-head span{
  color:#ffd84f;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:.78rem;
}

body.homepage-option-one .home-coming-up-head h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.7rem, 3vw, 2.4rem);
  line-height:1;
}

body.homepage-option-one .home-coming-up-track{
  display:flex;
  gap:18px;
  width:max-content;
  animation:dttdComingTicker 34s linear infinite;
  will-change:transform;
}

body.homepage-option-one .home-coming-up:hover .home-coming-up-track{
  animation-play-state:paused;
}

body.homepage-option-one .home-coming-up-card,
body.homepage-option-one .home-coming-up-card:link,
body.homepage-option-one .home-coming-up-card:visited{
  flex:0 0 330px;
  display:grid;
  gap:7px;
  padding:18px 20px;
  border-radius:18px;
  border:1px solid rgba(255,125,243,.35);
  background:linear-gradient(135deg, rgba(83,13,99,.82), rgba(23,0,38,.88));
  color:#fff;
  text-decoration:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.homepage-option-one .home-coming-up-card strong{
  color:#ffd84f;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  text-decoration:none !important;
}

body.homepage-option-one .home-coming-up-card span{
  color:#fff;
  font-weight:900;
  font-size:1.08rem;
  text-decoration:none !important;
}

body.homepage-option-one .home-coming-up-card em{
  color:rgba(255,255,255,.88);
  font-style:normal;
  line-height:1.35;
  text-decoration:none !important;
}

body.homepage-option-one .home-coming-up-card.is-live{
  border-color:rgba(65,255,178,.55);
  box-shadow:0 0 18px rgba(65,255,178,.12), inset 0 1px 0 rgba(255,255,255,.1);
}

@keyframes dttdComingTicker{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.public-access-card .public-access-form input#event_access_code,
.public-access-card .public-access-form input[name="event_access_code"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:block !important;
  width:min(100%, 260px) !important;
  min-height:54px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,125,243,.72) !important;
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.055)) !important;
  color:#fff !important;
  padding:0 18px !important;
  font:inherit !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 0 20px rgba(220,50,255,.18) !important;
  outline:none !important;
}

.public-access-card .public-access-form input#event_access_code::placeholder,
.public-access-card .public-access-form input[name="event_access_code"]::placeholder{
  color:rgba(255,255,255,.58) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:750 !important;
}

.public-access-card .public-access-form input#event_access_code:focus,
.public-access-card .public-access-form input[name="event_access_code"]:focus{
  border-color:#ffd84f !important;
  box-shadow:0 0 0 3px rgba(255,216,79,.16), 0 0 26px rgba(255,216,79,.24), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

@media (max-width: 900px){
  body.homepage-option-one .home-info-grid,
  body.homepage-option-one .home-info-grid-secondary{
    grid-template-columns:1fr;
    width:min(720px, calc(100% - 32px));
  }
  body.homepage-option-one .home-coming-up{
    width:min(100% - 32px, 100%);
  }
}

@media (prefers-reduced-motion: reduce){
  body.homepage-option-one .home-coming-up-track{
    animation:none;
    flex-wrap:wrap;
    width:100%;
  }
}

/* Scoped upload-page native select polish: keep this isolated to the public photo upload form. */
.public-upload-form .upload-grid label select[name="event_id"],
.upload-card .public-upload-form select[name="event_id"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:block !important;
  width:100% !important;
  min-height:56px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,125,243,.72) !important;
  background-color:#2a0635 !important;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.045)),
    linear-gradient(45deg, transparent 50%, #ffe761 50%),
    linear-gradient(135deg, #ffe761 50%, transparent 50%) !important;
  background-position:
    0 0,
    calc(100% - 26px) 50%,
    calc(100% - 16px) 50% !important;
  background-size:
    100% 100%,
    10px 10px,
    10px 10px !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
  padding:0 48px 0 18px !important;
  font:inherit !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  line-height:1.2 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 0 20px rgba(220,50,255,.2) !important;
  outline:none !important;
}

.public-upload-form .upload-grid label select[name="event_id"]:hover,
.upload-card .public-upload-form select[name="event_id"]:hover{
  border-color:rgba(255,216,79,.9) !important;
  box-shadow:0 0 0 3px rgba(255,216,79,.10), 0 0 22px rgba(220,50,255,.2), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.public-upload-form .upload-grid label select[name="event_id"]:focus,
.upload-card .public-upload-form select[name="event_id"]:focus{
  border-color:#ffd84f !important;
  box-shadow:0 0 0 3px rgba(255,216,79,.18), 0 0 28px rgba(255,216,79,.24), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.public-upload-form .upload-grid label select[name="event_id"] option,
.upload-card .public-upload-form select[name="event_id"] option{
  background:#22002f !important;
  color:#fff !important;
  font-weight:800 !important;
}

.public-upload-form .upload-grid label select[name="event_id"] option:checked,
.upload-card .public-upload-form select[name="event_id"] option:checked{
  background:#7b1cff !important;
  color:#fff !important;
}


/* Private live event homepage access card */
.private-event-access-card{
  width:min(880px,calc(100% - 32px));
  margin:22px auto 0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  padding:18px 22px;
  border:1px solid rgba(255,58,220,.72);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 50%,rgba(255,58,220,.22),transparent 28%),
    radial-gradient(circle at 88% 50%,rgba(255,216,77,.16),transparent 26%),
    linear-gradient(135deg,rgba(76,12,91,.94),rgba(40,5,62,.92));
  box-shadow:0 0 34px rgba(255,58,220,.24), inset 0 0 28px rgba(255,255,255,.035);
  color:#fff;
  text-align:left;
}
.private-event-access-card strong{
  display:block;
  font-size:18px;
  line-height:1.25;
}
.private-event-access-card p{
  margin:5px 0 0;
  color:rgba(255,255,255,.86);
  font-weight:700;
}
.private-event-access-decor{
  display:flex;
  align-items:center;
  gap:6px;
  color:#ffd84d;
  font-size:24px;
  text-shadow:0 0 14px rgba(255,216,77,.8);
  white-space:nowrap;
}
.private-event-access-card.is-wedding{
  background:
    radial-gradient(circle at 12% 50%,rgba(255,216,77,.18),transparent 28%),
    radial-gradient(circle at 88% 50%,rgba(255,58,220,.18),transparent 26%),
    linear-gradient(135deg,rgba(72,13,82,.96),rgba(38,5,55,.92));
}
.private-event-access-card.is-wedding .private-event-access-decor{
  color:#fff2b8;
}
.private-event-access-card.is-party .private-event-access-decor{
  color:#ffd84d;
}
.private-event-access-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#ffd84d,#ff69d2);
  color:#25002d;
  text-decoration:none;
  font-weight:950;
  box-shadow:0 0 20px rgba(255,105,210,.42);
  white-space:nowrap;
}
.private-event-access-button:hover{
  transform:translateY(-1px);
}
@media(max-width:760px){
  .private-event-access-card{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
  }
}


/* Request page emergency layout repair */
.public-request-page .public-request-shell,
.request-page .public-request-shell,
.request-song-page .public-request-shell{
  width:min(960px,calc(100% - 32px));
  margin:0 auto;
  padding:42px 0 80px;
}
.public-request-card,
.request-form-card{
  width:min(900px,100%);
  margin:24px auto;
  padding:28px;
  border:1px solid rgba(255,58,220,.45);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(61,9,82,.9),rgba(26,4,48,.88));
  box-shadow:0 0 34px rgba(255,58,220,.16);
}
.public-request-form,
.request-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.public-request-form label,
.request-form label{
  display:grid;
  gap:7px;
  color:#fff;
  font-weight:850;
}
.public-request-form input,
.public-request-form textarea,
.request-form input,
.request-form textarea{
  width:100%;
  min-height:46px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  background:rgba(255,255,255,.95);
  color:#25112d;
  padding:11px 13px;
  font:inherit;
}
.public-request-form textarea,
.request-form textarea{
  min-height:92px;
}
.public-request-form .full,
.request-form .full{
  grid-column:1/-1;
}
.public-request-form button,
.request-form button,
.public-neon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border:0;
  border-radius:18px;
  padding:0 24px;
  background:linear-gradient(135deg,#b315ff,#ff4fd8);
  color:#fff;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 0 24px rgba(179,21,255,.35);
}
@media(max-width:760px){
  .public-request-form,
  .request-form{
    grid-template-columns:1fr;
  }
}


/* Clean public song request form layout */
.public-request-card{
  max-width:960px;
  margin:24px auto;
}
.public-request-card .public-feature-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.public-request-form-clean{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:16px 18px;
  align-items:start;
}
.public-request-form-clean .request-field{
  display:grid;
  gap:7px;
}
.public-request-form-clean label{
  color:#fff;
  font-weight:900;
}
.public-request-form-clean input,
.public-request-form-clean textarea{
  width:100%;
  box-sizing:border-box;
  border-radius:14px;
  border:1px solid rgba(180,210,255,.28);
  background:#101d30;
  color:#fff;
  padding:12px 14px;
  min-height:48px;
  font:inherit;
  box-shadow:none;
}
.public-request-form-clean input::placeholder,
.public-request-form-clean textarea::placeholder{
  color:rgba(255,255,255,.45);
}
.public-request-form-clean textarea{
  min-height:86px;
  resize:vertical;
}
.public-request-form-clean .request-name-field,
.public-request-form-clean .request-dedication-field,
.public-request-form-clean .request-song-artist-row,
.public-request-form-clean .public-spotify-search-box,
.public-request-form-clean .request-submit-row{
  grid-column:1/-1;
}
.public-request-form-clean .request-song-artist-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.public-request-form-clean .public-spotify-search-box{
  margin-top:0;
}
.public-request-form-clean .spotify-results{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:8px;
}
.public-request-form-clean .spotify-result,
.public-request-form-clean .spotify-search-item,
.public-request-form-clean .spotify-match{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:12px;
  align-items:center;
  width:100%;
  padding:8px 10px;
  border:1px solid rgba(82,154,255,.28);
  border-radius:14px;
  background:#0d1a2c;
  color:#fff;
  text-align:left;
  box-shadow:none;
}
.public-request-form-clean .spotify-result img,
.public-request-form-clean .spotify-search-item img,
.public-request-form-clean .spotify-match img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:10px;
}
.public-request-form-clean .spotify-selected{
  margin-top:8px;
}
.public-request-form-clean .request-submit-row{
  display:flex;
  justify-content:flex-end;
}
.public-request-form-clean .public-submit-btn{
  width:auto !important;
  min-width:170px;
  min-height:46px;
  padding:0 22px;
  border-radius:14px;
  font-size:16px;
}
@media(max-width:760px){
  .public-request-form-clean,
  .public-request-form-clean .request-song-artist-row{
    grid-template-columns:1fr;
  }
  .public-request-form-clean .request-submit-row{
    justify-content:stretch;
  }
  .public-request-form-clean .public-submit-btn{
    width:100% !important;
  }
}


/* Spotify request result tidy */
.public-request-form-clean .spotify-results{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:10px;
}
.public-request-form-clean .spotify-result{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:12px;
  align-items:center;
  width:100%;
  padding:9px 11px;
  border:1px solid rgba(82,154,255,.28);
  border-radius:14px;
  background:#0d1a2c;
  color:#fff;
  text-align:left;
  box-shadow:none;
  cursor:pointer;
}
.public-request-form-clean .spotify-result img,
.public-request-form-clean .spotify-selected img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:10px;
}
.public-request-form-clean .spotify-result-text{
  display:grid;
  gap:3px;
  min-width:0;
}
.public-request-form-clean .spotify-result-text strong{
  display:block;
  font-size:16px;
  line-height:1.18;
  white-space:normal;
}
.public-request-form-clean .spotify-result-text small{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.25;
  white-space:normal;
}
.public-request-form-clean .spotify-selected{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:12px;
  align-items:center;
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(34,197,94,.45);
  border-radius:14px;
  background:rgba(10,60,42,.72);
  color:#fff;
}
.public-request-form-clean .spotify-selected[hidden]{
  display:none !important;
}
.public-request-form-clean .spotify-selected-text{
  display:grid;
  gap:3px;
  min-width:0;
}
.public-request-form-clean .spotify-selected-text small{
  color:#80ffb3;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.public-request-form-clean .spotify-selected-text strong{
  font-size:16px;
  line-height:1.2;
}
.public-request-form-clean .spotify-selected-text em{
  color:rgba(255,255,255,.78);
  font-style:normal;
  font-size:13px;
}


/* Final Spotify request search tidy */
.public-request-form-clean label{
  font-family:inherit;
  font-size:15px;
  letter-spacing:0;
}
.public-request-form-clean .spotify-results[hidden],
.public-request-form-clean .spotify-selected[hidden]{
  display:none !important;
}
.public-request-form-clean .spotify-results{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:10px;
}
.public-request-form-clean .spotify-result{
  font-family:inherit;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:14px;
  align-items:center;
  width:100%;
  min-height:72px;
  padding:8px 12px;
  border:1px solid rgba(82,154,255,.28);
  border-radius:14px;
  background:#0d1a2c;
  color:#fff;
  text-align:left;
  box-shadow:none;
  cursor:pointer;
}
.public-request-form-clean .spotify-result:hover{
  border-color:rgba(106,183,255,.58);
  background:#10233b;
}
.public-request-form-clean .spotify-result img,
.public-request-form-clean .spotify-selected img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:10px;
}
.public-request-form-clean .spotify-result span,
.public-request-form-clean .spotify-result-text{
  display:flex !important;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.public-request-form-clean .spotify-result strong,
.public-request-form-clean .spotify-result-text strong{
  display:block;
  font-family:inherit;
  font-size:16px;
  line-height:1.22;
  font-weight:900;
  white-space:normal;
  word-break:normal;
}
.public-request-form-clean .spotify-result small,
.public-request-form-clean .spotify-result-text small{
  display:block;
  font-family:inherit;
  color:rgba(255,255,255,.76);
  font-size:13px;
  line-height:1.28;
  font-weight:700;
  white-space:normal;
}
.public-request-form-clean .spotify-selected{
  font-family:inherit;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(34,197,94,.45);
  border-radius:14px;
  background:rgba(10,60,42,.72);
  color:#fff;
}
.public-request-form-clean .spotify-selected-label{
  display:block;
  color:#80ffb3;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:3px;
}
.public-request-form-clean .spotify-selected strong{
  display:block;
  font-size:16px;
  line-height:1.22;
}
.public-request-form-clean .spotify-selected small,
.public-request-form-clean .spotify-selected em{
  display:block;
  color:rgba(255,255,255,.76);
  font-size:13px;
  line-height:1.28;
  font-style:normal;
  font-weight:700;
}


/* Scoped public event detail page repair
   Keep this under event-detail-safe so request page work cannot affect it. */
.event-detail-safe .public-event-detail-wrap,
.event-detail-safe .public-event-page,
.event-detail-safe .event-detail-wrap{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:34px 0 80px;
}
.event-detail-safe .public-event-hero,
.event-detail-safe .public-feature-card,
.event-detail-safe .public-empty-card,
.event-detail-safe .public-access-card{
  border:1px solid rgba(255,58,220,.38);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(61,9,82,.78),rgba(28,3,52,.74));
  box-shadow:0 0 30px rgba(255,58,220,.13);
  padding:26px;
  color:#fff;
}
.event-detail-safe .public-event-actions,
.event-detail-safe .public-centred-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin:18px 0 22px;
}
.event-detail-safe .public-neon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:16px;
  border:1px solid rgba(255,58,220,.38);
  background:linear-gradient(135deg,rgba(179,21,255,.85),rgba(255,79,216,.78));
  color:#fff;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 0 18px rgba(179,21,255,.25);
}
.event-detail-safe .public-neon-btn.subtle{
  background:rgba(255,255,255,.06);
}
.event-detail-safe .public-event-actions a,
.event-detail-safe .public-centred-actions a{
  text-decoration:none;
}
.event-detail-safe .public-event-grid,
.event-detail-safe .public-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:22px;
  align-items:start;
}
.event-detail-safe .event-action-grid,
.event-detail-safe .public-action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:20px 0;
}
.event-detail-safe .event-action-card,
.event-detail-safe .public-action-card{
  display:block;
  padding:18px;
  border:1px solid rgba(255,58,220,.28);
  border-radius:20px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
}
.event-detail-safe .public-request-list,
.event-detail-safe .public-photo-list,
.event-detail-safe .public-played-list{
  display:grid;
  gap:12px;
  margin:14px 0 24px;
  padding:0;
  list-style:none;
}
.event-detail-safe .public-request-item,
.event-detail-safe .public-played-item,
.event-detail-safe .public-photo-card{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:14px;
  align-items:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(10,20,36,.72);
  padding:12px;
}
.event-detail-safe .public-request-item img,
.event-detail-safe .public-played-item img,
.event-detail-safe .public-photo-card img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:12px;
}
.event-detail-safe h1,
.event-detail-safe h2,
.event-detail-safe h3{
  color:#fff;
  margin-top:0;
}
.event-detail-safe p{
  color:rgba(255,255,255,.9);
}
.event-detail-safe ul{
  padding-left:0;
}
.event-detail-safe li{
  color:#fff;
}
@media(max-width:860px){
  .event-detail-safe .public-event-grid,
  .event-detail-safe .public-detail-grid,
  .event-detail-safe .event-action-grid,
  .event-detail-safe .public-action-grid{
    grid-template-columns:1fr;
  }
}


/* Event portal full layout restore - scoped */
.event-detail-safe .public-event-detail-section{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 80px;
}
.event-detail-safe .public-feature-card,
.event-detail-safe .public-empty-card{
  border:1px solid rgba(255,58,220,.38);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(61,9,82,.78),rgba(28,3,52,.76));
  box-shadow:0 0 30px rgba(255,58,220,.13);
  padding:24px;
  color:#fff;
}
.event-detail-safe .public-event-hub-card{margin-bottom:22px}
.event-detail-safe .public-feature-card-header{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.event-detail-safe .public-feature-kicker{
  display:block;
  color:rgba(255,255,255,.78);
  font-weight:800;
  margin-bottom:6px;
}
.event-detail-safe .public-connected-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(34,197,94,.14);
  border:1px solid rgba(34,197,94,.42);
  color:#8dffb4;
  font-weight:900;
  white-space:nowrap;
}
.event-detail-safe .public-event-action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.event-detail-safe .public-event-action-tile{
  position:relative;
  display:grid;
  grid-template-columns:54px 1fr;
  grid-template-areas:"icon title" "icon text" "icon meta";
  gap:3px 14px;
  align-items:center;
  min-height:92px;
  padding:16px;
  border:1px solid rgba(255,58,220,.36);
  border-radius:22px;
  background:rgba(255,255,255,.06);
  color:#fff;
  text-decoration:none;
  overflow:hidden;
}
.event-detail-safe .public-event-action-tile > span:first-child{
  grid-area:icon;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,58,220,.55);
  box-shadow:0 0 20px rgba(255,58,220,.38);
  background:rgba(255,58,220,.12);
  font-size:24px;
}
.event-detail-safe .public-event-action-tile strong{grid-area:title;font-size:18px;line-height:1.18}
.event-detail-safe .public-event-action-tile em{grid-area:text;color:rgba(255,255,255,.82);font-style:normal;font-weight:700;line-height:1.25}
.event-detail-safe .public-event-action-tile small{grid-area:meta;color:#fff4a8;font-weight:850}
.event-detail-safe .request-window-card.is-open{
  border-color:rgba(34,197,94,.65);
  box-shadow:0 0 22px rgba(34,197,94,.20);
}
.event-detail-safe .request-window-card.is-open > span:first-child{
  border-color:rgba(34,197,94,.75);
  box-shadow:0 0 0 0 rgba(34,197,94,.45), 0 0 22px rgba(34,197,94,.35);
  animation:eventPulseGreen 1.8s ease-in-out infinite;
}
@keyframes eventPulseGreen{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.45),0 0 18px rgba(34,197,94,.28)}
  70%{box-shadow:0 0 0 13px rgba(34,197,94,0),0 0 26px rgba(34,197,94,.44)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0),0 0 18px rgba(34,197,94,.28)}
}
.event-detail-safe .public-event-live-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  align-items:start;
  margin:22px 0;
}
.event-detail-safe .public-live-card{min-height:260px}
.event-detail-safe .public-request-board-list,
.event-detail-safe .public-played-list{
  display:grid;
  gap:12px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.event-detail-safe .public-request-board-list li,
.event-detail-safe .public-played-list li{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(10,20,36,.70);
}
.event-detail-safe .public-request-board-list img,
.event-detail-safe .public-played-list img{width:68px;height:68px;object-fit:cover;border-radius:12px}
.event-detail-safe .public-event-photo-carousel-card{margin-top:22px}
.event-detail-safe .public-gallery-card-actions{display:flex;gap:10px;flex-wrap:wrap}
.event-detail-safe .public-photo-carousel{position:relative;margin-top:16px}
.event-detail-safe .public-photo-carousel-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px,1fr);
  gap:14px;
  overflow:hidden;
}
.event-detail-safe .public-photo-carousel-slide{
  min-height:170px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(10,20,36,.62);
  color:#fff;
  text-decoration:none;
}
.event-detail-safe .public-carousel-btn{
  position:absolute;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(20,6,36,.88);
  color:#fff;
  font-size:28px;
  line-height:1;
}
.event-detail-safe .public-carousel-prev{left:8px}
.event-detail-safe .public-carousel-next{right:8px}
.event-detail-safe .public-neon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:16px;
  border:1px solid rgba(255,58,220,.38);
  background:linear-gradient(135deg,rgba(179,21,255,.85),rgba(255,79,216,.78));
  color:#fff;
  text-decoration:none;
  font-weight:950;
}
.event-detail-safe .public-neon-btn.subtle{background:rgba(255,255,255,.06)}
@media(max-width:860px){
  .event-detail-safe .public-event-action-grid,
  .event-detail-safe .public-event-live-grid{grid-template-columns:1fr}
  .event-detail-safe .public-feature-card-header{display:grid}
}


/* Event page targeted fixes: compact request rows, real photo grid/lightbox, no venue map */
body.public-event-detail-page .public-map-section{display:none !important}

body.public-event-detail-page .public-request-board-list > li,
body.public-event-detail-page .public-played-list > li{
  min-height:0 !important;
  padding:9px 10px !important;
}

body.public-event-detail-page .public-request-card-shell{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:center !important;
}

body.public-event-detail-page .public-request-artwork,
body.public-event-detail-page .public-played-artwork{
  width:54px !important;
  height:54px !important;
  border-radius:10px !important;
  overflow:hidden !important;
}

body.public-event-detail-page .public-request-artwork img,
body.public-event-detail-page .public-played-artwork img{
  width:54px !important;
  height:54px !important;
  object-fit:cover !important;
}

body.public-event-detail-page .public-request-card-main,
body.public-event-detail-page .public-played-track-main{
  min-width:0 !important;
}

body.public-event-detail-page .public-request-row-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}

body.public-event-detail-page .public-request-row-head strong,
body.public-event-detail-page .public-played-track-main strong{
  display:block !important;
  font-size:15px !important;
  line-height:1.18 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.public-event-detail-page .public-request-artist,
body.public-event-detail-page .public-played-track-main span{
  display:block !important;
  font-size:13px !important;
  line-height:1.2 !important;
  color:rgba(255,255,255,.76) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.public-event-detail-page .public-request-member-list{
  margin-top:4px !important;
  display:block !important;
}

body.public-event-detail-page .public-request-member{
  margin:0 !important;
}

body.public-event-detail-page .public-request-member small{
  display:block !important;
  font-size:12px !important;
  color:rgba(255,255,255,.72) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.public-event-detail-page .public-request-dedication{
  margin:2px 0 0 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:rgba(255,255,255,.82) !important;
}

body.public-event-detail-page .public-request-status{
  flex:0 0 auto !important;
  font-size:11px !important;
  padding:4px 7px !important;
  border-radius:999px !important;
}

body.public-event-detail-page .public-played-track-row{
  grid-template-columns:54px minmax(0,1fr) auto !important;
}

body.public-event-detail-page .public-played-track-actions{
  display:flex !important;
  gap:6px !important;
}

body.public-event-detail-page .public-track-icon-action{
  width:34px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border-radius:50% !important;
}

body.public-event-detail-page .public-event-photo-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr)) !important;
  gap:14px !important;
  margin-top:16px !important;
}

body.public-event-detail-page .public-event-photo-tile{
  display:grid !important;
  gap:8px !important;
  color:#fff !important;
}

body.public-event-detail-page .public-event-photo-thumb{
  display:block !important;
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(10,20,36,.72) !important;
  padding:0 !important;
  cursor:pointer !important;
}

body.public-event-detail-page .public-event-photo-thumb img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

body.public-event-detail-page .public-event-photo-tile span{
  font-size:12px !important;
  color:rgba(255,255,255,.78) !important;
}

body.public-event-detail-page .public-event-photos-empty{
  margin-top:16px !important;
  padding:18px !important;
  border:1px dashed rgba(255,255,255,.18) !important;
  border-radius:20px !important;
  background:rgba(10,20,36,.44) !important;
}

.public-lightbox[hidden]{display:none !important}
.public-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:grid !important;
  place-items:center !important;
  padding:24px !important;
  background:rgba(5,0,12,.88) !important;
  backdrop-filter:blur(8px) !important;
}
.public-lightbox figure{
  width:min(980px,100%) !important;
  max-height:92vh !important;
  display:grid !important;
  gap:14px !important;
  margin:0 !important;
}
.public-lightbox img{
  max-width:100% !important;
  max-height:70vh !important;
  object-fit:contain !important;
  margin:auto !important;
  border-radius:18px !important;
  box-shadow:0 0 40px rgba(255,58,220,.22) !important;
}
.public-lightbox figcaption{
  display:grid !important;
  gap:8px !important;
  color:#fff !important;
  text-align:center !important;
}
.public-lightbox-actions{
  display:flex !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.public-lightbox-actions button,
.public-lightbox-actions a,
.public-lightbox-close,
.public-lightbox-nav{
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:10px 14px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
.public-lightbox-actions a{
  text-decoration:none !important;
}
.public-lightbox-close{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:44px !important;
  height:44px !important;
  padding:0 !important;
  font-size:28px !important;
}
.public-lightbox-nav{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:46px !important;
  height:46px !important;
  padding:0 !important;
  font-size:34px !important;
}
.public-lightbox-nav.prev{left:18px !important}
.public-lightbox-nav.next{right:18px !important}
.public-lightbox-open{overflow:hidden !important}


/* Event photo lightbox: align with public gallery lightbox */
body.public-event-detail-page .public-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:grid !important;
  place-items:center !important;
  padding:24px !important;
  background:rgba(8,0,18,.90) !important;
  backdrop-filter:blur(7px) !important;
}
body.public-event-detail-page .public-lightbox[hidden]{
  display:none !important;
}
body.public-event-detail-page .public-lightbox figure{
  width:min(980px,calc(100vw - 120px)) !important;
  max-height:92vh !important;
  display:grid !important;
  gap:18px !important;
  margin:0 !important;
  justify-items:center !important;
}
body.public-event-detail-page .public-lightbox img{
  display:block !important;
  max-width:100% !important;
  max-height:72vh !important;
  object-fit:contain !important;
  border-radius:22px !important;
  box-shadow:0 0 42px rgba(255,58,220,.22), 0 22px 70px rgba(0,0,0,.46) !important;
}
body.public-event-detail-page .public-lightbox figcaption{
  display:grid !important;
  justify-items:center !important;
  gap:8px !important;
  color:#fff !important;
  text-align:center !important;
}
body.public-event-detail-page .public-lightbox figcaption strong{
  font-size:25px !important;
  line-height:1.15 !important;
}
body.public-event-detail-page .public-lightbox figcaption span{
  color:rgba(255,255,255,.86) !important;
  font-weight:700 !important;
}
body.public-event-detail-page .public-lightbox-actions{
  display:flex !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin-top:6px !important;
}
body.public-event-detail-page .public-lightbox-actions button,
body.public-event-detail-page .public-lightbox-actions a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,58,220,.45) !important;
  background:rgba(76,12,91,.84) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:950 !important;
  cursor:pointer !important;
}
body.public-event-detail-page .public-lightbox-close{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  z-index:10000 !important;
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
body.public-event-detail-page .public-lightbox-nav{
  position:fixed !important;
  top:50% !important;
  z-index:10000 !important;
  transform:translateY(-50%) !important;
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  font-size:38px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
body.public-event-detail-page .public-lightbox-nav.prev{left:18px !important}
body.public-event-detail-page .public-lightbox-nav.next{right:18px !important}
@media(max-width:760px){
  body.public-event-detail-page .public-lightbox{
    padding:16px !important;
  }
  body.public-event-detail-page .public-lightbox figure{
    width:calc(100vw - 34px) !important;
  }
  body.public-event-detail-page .public-lightbox-nav{
    width:44px !important;
    height:44px !important;
  }
}

/* Public event request card layout lock: keep details visible and status pill top-right */
body.public-event-detail-page .public-request-board-list,
body.public-event-detail-page .public-request-board-list ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.public-event-detail-page .public-request-board-list > li{
  display:block !important;
  position:relative !important;
  min-height:0 !important;
  padding:12px 14px !important;
  overflow:visible !important;
}
body.public-event-detail-page .public-request-card-shell{
  position:relative !important;
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
}
body.public-event-detail-page .public-request-artwork,
body.public-event-detail-page .public-request-artwork img{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  border-radius:12px !important;
  object-fit:cover !important;
}
body.public-event-detail-page .public-request-card-main{
  display:block !important;
  min-width:0 !important;
  width:100% !important;
  padding-right:118px !important;
  color:#fff !important;
}
body.public-event-detail-page .public-request-row-head{
  display:block !important;
  min-width:0 !important;
}
body.public-event-detail-page .public-request-row-head strong{
  display:block !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.16 !important;
  font-weight:950 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
body.public-event-detail-page .public-request-artist{
  display:block !important;
  margin-top:3px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:13px !important;
  line-height:1.2 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
body.public-event-detail-page .public-request-member-list{
  display:block !important;
  margin-top:7px !important;
}
body.public-event-detail-page .public-request-member small{
  display:block !important;
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
body.public-event-detail-page .public-request-dedication{
  display:block !important;
  margin:2px 0 0 !important;
  color:rgba(255,255,255,.86) !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
body.public-event-detail-page .public-request-status{
  position:absolute !important;
  top:2px !important;
  right:0 !important;
  z-index:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  max-width:112px !important;
  height:auto !important;
  min-height:24px !important;
  padding:4px 9px !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  background:rgba(12,16,34,.78) !important;
  box-shadow:none !important;
}
body.public-event-detail-page .public-request-status.status-played,
body.public-event-detail-page .public-request-status.played{
  color:#36f58d !important;
  border:1px solid #36f58d !important;
}
body.public-event-detail-page .public-request-status.status-queue,
body.public-event-detail-page .public-request-status.status-in-dj-queue,
body.public-event-detail-page .public-request-status.in-dj-queue{
  color:#fde047 !important;
  border:1px solid #fde047 !important;
}
body.public-event-detail-page .public-request-status.status-currently-playing,
body.public-event-detail-page .public-request-status.currently-playing{
  color:#22c55e !important;
  border:1px solid #22c55e !important;
}
body.public-event-detail-page .public-request-status.status-unable,
body.public-event-detail-page .public-request-status.status-rejected,
body.public-event-detail-page .public-request-status.unable,
body.public-event-detail-page .public-request-status.rejected{
  color:#fb7185 !important;
  border:1px solid #fb7185 !important;
}
body.public-event-detail-page .public-request-status.status-pending,
body.public-event-detail-page .public-request-status.pending,
body.public-event-detail-page .public-request-status.status-waiting-review{
  color:#facc15 !important;
  border:1px solid #facc15 !important;
}
body.public-event-detail-page .public-request-status.status-duplicate,
body.public-event-detail-page .public-request-status.duplicate,
body.public-event-detail-page .public-request-status.status-already-requested{
  color:#60a5fa !important;
  border:1px solid #60a5fa !important;
}
@media(max-width:640px){
  body.public-event-detail-page .public-request-card-shell{
    grid-template-columns:54px minmax(0,1fr) !important;
    gap:10px !important;
  }
  body.public-event-detail-page .public-request-artwork,
  body.public-event-detail-page .public-request-artwork img{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
  }
  body.public-event-detail-page .public-request-card-main{
    padding-right:0 !important;
    padding-top:28px !important;
  }
  body.public-event-detail-page .public-request-status{
    top:0 !important;
    right:0 !important;
  }
}

/* Spotify search badge position lock: public request results */
.public-request-form-clean .spotify-result{
  position:relative;
  padding-right:150px;
}
.public-request-form-clean .spotify-result .spotify-result-text{
  padding-right:0;
}
.public-request-form-clean .spotify-result .spotify-result-badges{
  position:absolute;
  top:10px;
  right:12px;
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px;
  max-width:138px;
  margin:0 !important;
  z-index:2;
}
.public-request-form-clean .spotify-result .spotify-result-badge{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:3px 8px;
  font-size:10px;
  font-style:normal;
  font-weight:1000;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:.035em;
  white-space:nowrap;
  border:1px solid rgba(148,163,184,.45);
  color:#dbeafe;
  background:rgba(148,163,184,.12);
}
.public-request-form-clean .spotify-result .spotify-result-badge.decade-60s,
.public-request-form-clean .spotify-result .spotify-result-badge.decade-60,
.public-request-form-clean .spotify-result .spotify-result-badge.decade[data-label="60s"]{
  border-color:rgba(251,146,60,.75);
  background:rgba(251,146,60,.18);
  color:#fed7aa;
}
.public-request-form-clean .spotify-result .spotify-result-badge.decade-70s,
.public-request-form-clean .spotify-result .spotify-result-badge.decade-70{
  border-color:rgba(245,158,11,.78);
  background:rgba(245,158,11,.18);
  color:#fde68a;
}
.public-request-form-clean .spotify-result .spotify-result-badge.decade-80s,
.public-request-form-clean .spotify-result .spotify-result-badge.decade-80{
  border-color:rgba(236,72,153,.78);
  background:rgba(236,72,153,.18);
  color:#fbcfe8;
}
.public-request-form-clean .spotify-result .spotify-result-badge.decade-90s,
.public-request-form-clean .spotify-result .spotify-result-badge.decade-90{
  border-color:rgba(34,211,238,.78);
  background:rgba(34,211,238,.14);
  color:#a5f3fc;
}
.public-request-form-clean .spotify-result .spotify-result-badge.decade-00s,
.public-request-form-clean .spotify-result .spotify-result-badge.decade-00,
.public-request-form-clean .spotify-result .spotify-result-badge.decade{
  border-color:rgba(163,230,53,.78);
  background:rgba(163,230,53,.14);
  color:#d9f99d;
}
.public-request-form-clean .spotify-result .spotify-result-badge.original{
  border-color:rgba(34,197,94,.78);
  background:rgba(34,197,94,.15);
  color:#86efac;
}
.public-request-form-clean .spotify-result .spotify-result-badge.original-era{
  border-color:rgba(59,130,246,.72);
  background:rgba(59,130,246,.14);
  color:#bfdbfe;
}
.public-request-form-clean .spotify-result .spotify-result-badge.remaster,
.public-request-form-clean .spotify-result .spotify-result-badge.compilation{
  border-color:rgba(96,165,250,.72);
  background:rgba(96,165,250,.13);
  color:#bfdbfe;
}
.public-request-form-clean .spotify-result .spotify-result-badge.live,
.public-request-form-clean .spotify-result .spotify-result-badge.karaoke,
.public-request-form-clean .spotify-result .spotify-result-badge.cover{
  border-color:rgba(248,113,113,.72);
  background:rgba(248,113,113,.13);
  color:#fecaca;
}
.public-request-form-clean .spotify-result .spotify-result-badge.remix,
.public-request-form-clean .spotify-result .spotify-result-badge.acoustic,
.public-request-form-clean .spotify-result .spotify-result-badge.instrumental{
  border-color:rgba(168,85,247,.72);
  background:rgba(168,85,247,.14);
  color:#e9d5ff;
}
@media(max-width:640px){
  .public-request-form-clean .spotify-result{
    grid-template-columns:48px minmax(0,1fr);
    padding-right:12px;
    align-items:flex-start;
  }
  .public-request-form-clean .spotify-result img,
  .public-request-form-clean .spotify-selected img{
    width:48px;
    height:48px;
  }
  .public-request-form-clean .spotify-result .spotify-result-badges{
    position:static;
    justify-content:flex-start;
    max-width:100%;
    margin-top:4px !important;
  }
}

/* Regression guard: public event photo card spacing and played-track icon actions */
body.public-event-detail-page .public-event-photo-carousel-card{
  margin-bottom:28px !important;
}
body.public-event-detail-page .public-event-photo-carousel-card + .public-event-detail-card{
  margin-top:0 !important;
}
body.public-event-detail-page .public-played-track-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  min-width:82px !important;
}
body.public-event-detail-page .public-track-icon-action{
  position:relative !important;
  display:inline-grid !important;
  place-items:center !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
}
body.public-event-detail-page .public-track-icon-action.spotify{
  background:rgba(30,215,96,.14) !important;
  border-color:rgba(30,215,96,.48) !important;
}
body.public-event-detail-page .public-track-icon-action.share{
  background:rgba(255,255,255,.10) !important;
}
body.public-event-detail-page .public-track-icon-action .public-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
body.public-event-detail-page .public-track-icon-action .public-action-icon{
  display:block !important;
  width:19px !important;
  height:19px !important;
  flex:0 0 19px !important;
}
body.public-event-detail-page .public-track-icon-action.share .public-action-icon{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.public-event-detail-page .public-track-icon-action.spotify .public-action-icon circle{
  fill:#1ed760 !important;
  stroke:none !important;
}
body.public-event-detail-page .public-track-icon-action.spotify .public-action-icon path{
  fill:none !important;
  stroke:#08130b !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
}

/* Recently played polish: show played time and enlarge Spotify mark */
body.public-event-detail-page .public-played-time{
  display:block !important;
  margin-top:3px !important;
  font-size:11px !important;
  line-height:1.15 !important;
  color:rgba(255,255,255,.58) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.public-event-detail-page .public-track-icon-action.spotify .public-action-icon{
  width:23px !important;
  height:23px !important;
  flex-basis:23px !important;
}
body.public-event-detail-page .public-track-icon-action.spotify .public-action-icon path{
  stroke-width:2.15 !important;
}


/* v-global-select-dark-hard-fix
   Force native dropdowns to remain readable on dark DTTD themes.
   This is intentionally broad because select styling is used across public and admin suites. */
html,
body {
  color-scheme: dark;
}

select,
select option,
select optgroup {
  background-color: #230033 !important;
  color: #ffffff !important;
}

select {
  color-scheme: dark !important;
  border-color: rgba(255, 79, 216, 0.50) !important;
}

select:focus,
select:active {
  background-color: #230033 !important;
  color: #ffffff !important;
  border-color: rgba(255, 213, 74, 0.85) !important;
  outline: none !important;
}

select option:checked,
select option:hover,
select option:focus {
  background-color: #7c2bd6 !important;
  color: #ffffff !important;
}

/* Public gallery/filter-specific reinforcement */
.public-filter-grid select,
.public-filter-grid select option,
.public-gallery-page select,
.public-gallery-page select option,
.public-page select,
.public-page select option,
.gallery-filters select,
.gallery-filters select option,
.photo-filters select,
.photo-filters select option,
.find-photos select,
.find-photos select option {
  background-color: #230033 !important;
  color: #ffffff !important;
  color-scheme: dark !important;
}

/* Admin form/filter-specific reinforcement */
.admin-form select,
.admin-form select option,
.admin-card select,
.admin-card select option,
.touch-panel select,
.touch-panel select option,
.touch-wrap select,
.touch-wrap select option,
.settings-card select,
.settings-card select option {
  background-color: #1e293b !important;
  color: #ffffff !important;
  color-scheme: dark !important;
}


/* v-partners-page-layout-repair
   Re-align Partners page with Events/Gallery public page structure:
   centred hero, darker starburst scene, contained cards, contained logos. */

body.public-partners-page,
.public-partners-page .home-option-one {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255, 79, 216, .16), transparent 34rem),
    repeating-conic-gradient(from 0deg at 50% 24%, rgba(255,255,255,.050) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #05000d 0%, #160020 45%, #09000f 100%) !important;
  overflow-x: hidden !important;
}

.public-partners-page .public-partners-hero,
.public-partners-page .public-list-hero,
.public-partners-page .partners-hero {
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 44px 0 28px !important;
  text-align: center !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.public-partners-page .public-partners-hero .option-one-logo-shell,
.public-partners-page .public-list-hero .option-one-logo-shell,
.public-partners-page .partners-hero .option-one-logo-shell {
  margin-left: auto !important;
  margin-right: auto !important;
}

.public-partners-page .public-partners-hero .option-one-eyebrow,
.public-partners-page .public-list-hero .option-one-eyebrow,
.public-partners-page .partners-hero .option-one-eyebrow {
  display: block !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.public-partners-page h1,
.public-partners-page .public-partners-title,
.public-partners-page .public-list-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 980px !important;
}

.public-partners-page .public-partners-intro,
.public-partners-page .public-list-intro,
.public-partners-page .hero-copy,
.public-partners-page .public-partners-hero p {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.public-partners-page .public-partners-grid,
.public-partner-grid,
.partners-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: 1180px !important;
  margin: 0 auto 64px !important;
  box-sizing: border-box !important;
}

.public-partners-page .public-partner-card,
.public-partner-card,
.partner-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 79, 216, 0.34) !important;
  background: linear-gradient(180deg, rgba(48, 4, 65, 0.88), rgba(31, 0, 45, 0.94)) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.24), 0 0 28px rgba(255,79,216,.08) !important;
}

.public-partners-page .public-partner-logo,
.public-partner-logo,
.partner-logo {
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  width: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, 0.04);
}

.public-partners-page .public-partner-logo img,
.public-partner-logo img,
.partner-logo img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 120px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.public-partners-page .public-partner-body,
.public-partner-body,
.partner-card-body {
  padding: 22px !important;
}

.public-partners-page .public-partner-logo--dark,
.public-partner-logo--dark {
  background: rgba(255, 255, 255, 0.04) !important;
}

.public-partners-page .public-partner-logo--light,
.public-partner-logo--light {
  background:
    linear-gradient(
      135deg,
      rgba(115, 90, 180, 0.92),
      rgba(70, 105, 170, 0.88)
    ) !important;
}

.public-partners-page .public-partner-logo--neon_pink,
.public-partner-logo--neon_pink {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 40, 190, .78), rgba(95, 20, 115, .78) 42%, rgba(23, 8, 45, .96) 100%) !important;
}

.public-partners-page .public-partner-logo--starburst,
.public-partner-logo--starburst {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 75, 230, .72), rgba(105, 40, 150, .70) 28%, rgba(28, 10, 55, .96) 72%),
    conic-gradient(from 0deg at 50% 50%, rgba(255,255,255,.12), transparent 12%, rgba(255,255,255,.10) 18%, transparent 30%, rgba(255,255,255,.09) 36%, transparent 46%) !important;
}

.public-partners-page .public-partner-logo--radial_neon,
.public-partner-logo--radial_neon {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 35, 175, .72), rgba(100, 20, 125, .72) 38%, rgba(20, 8, 44, .98) 100%) !important;
}

@media (max-width: 1120px) {
  .public-partners-page .public-partners-grid,
  .public-partner-grid,
  .partners-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .public-partners-page .public-partners-hero,
  .public-partners-page .public-list-hero,
  .public-partners-page .partners-hero {
    width: min(100% - 20px, 100%) !important;
    padding-top: 34px !important;
  }

  .public-partners-page .public-partners-grid,
  .public-partner-grid,
  .partners-grid {
    width: min(100% - 20px, 100%) !important;
  }
}

/* v-stable-public-site-standardisation
   Built from dttdweb.zip baseline.
   Standardises the main public pages without changing their content:
   - consistent clean-width public containers
   - consistent logo/hero heading scale across Events, Gallery, Partners
   - Gallery and Partners aligned to public header width
   - public select boxes stay dark/readable
   - partner logo cards stay contained and background options preserved */

/* Shared public page canvas */
body.public-list-page,
body.public-gallery-page,
body.public-partners-page {
  overflow-x: hidden !important;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,79,216,.15), transparent 34rem),
    radial-gradient(ellipse at 50% 46%, rgba(124,58,237,.12), transparent 42rem),
    repeating-conic-gradient(from 0deg at 50% 24%, rgba(255,255,255,.052) 0deg 4deg, transparent 4deg 10deg),
    linear-gradient(180deg, #05000d 0%, #160020 45%, #09000f 100%) !important;
}

body.public-list-page .home-option-one,
body.public-gallery-page .home-option-one,
body.public-partners-page .home-option-one {
  overflow-x: hidden !important;
  background: transparent !important;
}

/* Shared public header-width container */
.public-site-header,
.public-list-page .public-list-hero,
.public-gallery-page .public-gallery-shell,
.public-partners-page .public-partners-hero,
.public-partners-page .public-partners-section {
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Shared centred hero treatment for secondary public pages */
.public-list-page .public-list-hero,
.public-gallery-page .public-gallery-filter-head,
.public-partners-page .public-partners-hero {
  text-align: center !important;
}

.public-list-page .public-list-hero,
.public-partners-page .public-partners-hero {
  padding: 46px 0 30px !important;
}

.public-gallery-page .public-gallery-shell {
  margin-bottom: 64px !important;
}

.public-gallery-page .public-filter-card,
.public-gallery-page .public-photo-grid-card,
.public-partners-page .public-partners-section {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Standard public page logo sizing */
.public-list-page .option-one-logo-shell,
.public-gallery-page .option-one-logo-shell,
.public-partners-page .option-one-logo-shell {
  width: clamp(150px, 14vw, 225px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 22px !important;
}

/* Standard eyebrow/title/subtitle behaviour */
.public-list-page .option-one-eyebrow,
.public-gallery-page .option-one-eyebrow,
.public-partners-page .option-one-eyebrow {
  display: block !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.public-list-page h1,
.public-gallery-page .public-gallery-title,
.public-partners-page .public-partners-hero h1 {
  display: block !important;
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-size: clamp(3.2rem, 7vw, 6.8rem) !important;
  line-height: .9 !important;
  letter-spacing: -.045em !important;
  text-transform: uppercase !important;
  overflow: visible !important;
}

.public-list-page .option-one-subtitle,
.public-gallery-page .public-gallery-subtitle,
.public-partners-page .option-one-subtitle,
.public-partners-page .public-partners-hero p {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Gallery: header-width layout with preserved desktop 4-photo grid */
.public-gallery-page .public-photo-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

/* Partners: contained 2-column card grid */
.public-partners-page .public-partners-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 0 64px !important;
  box-sizing: border-box !important;
}

.public-partners-page .public-partner-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 79, 216, 0.34) !important;
  background: linear-gradient(180deg, rgba(48, 4, 65, 0.88), rgba(31, 0, 45, 0.94)) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.24), 0 0 28px rgba(255,79,216,.08) !important;
}

.public-partners-page .public-partner-logo {
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  width: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.public-partners-page .public-partner-logo img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 120px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.public-partners-page .public-partner-body {
  padding: 22px !important;
}

/* Partner logo background options */
.public-partners-page .public-partner-logo--dark {
  background: rgba(255, 255, 255, 0.04) !important;
}

.public-partners-page .public-partner-logo--light {
  background:
    linear-gradient(
      135deg,
      rgba(115, 90, 180, 0.92),
      rgba(70, 105, 170, 0.88)
    ) !important;
}

.public-partners-page .public-partner-logo--neon_pink {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 40, 190, .78), rgba(95, 20, 115, .78) 42%, rgba(23, 8, 45, .96) 100%) !important;
}

.public-partners-page .public-partner-logo--starburst {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 75, 230, .72), rgba(105, 40, 150, .70) 28%, rgba(28, 10, 55, .96) 72%),
    conic-gradient(from 0deg at 50% 50%, rgba(255,255,255,.12), transparent 12%, rgba(255,255,255,.10) 18%, transparent 30%, rgba(255,255,255,.09) 36%, transparent 46%) !important;
}

.public-partners-page .public-partner-logo--radial_neon {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 35, 175, .72), rgba(100, 20, 125, .72) 38%, rgba(20, 8, 44, .98) 100%) !important;
}

/* Public select boxes: preserve dark readable dropdowns */
.public-gallery-page select,
.public-gallery-page select option,
.public-filter-grid select,
.public-filter-grid select option,
.public-page select,
.public-page select option,
.gallery-filters select,
.gallery-filters select option,
.photo-filters select,
.photo-filters select option,
.find-photos select,
.find-photos select option,
select.public-select,
select.public-select option {
  background-color: #230033 !important;
  color: #ffffff !important;
  color-scheme: dark !important;
}

.public-gallery-page select,
.public-filter-grid select,
.public-page select,
.gallery-filters select,
.photo-filters select,
.find-photos select,
select.public-select {
  border-color: rgba(255, 79, 216, 0.50) !important;
}

.public-gallery-page select:focus,
.public-filter-grid select:focus,
.public-page select:focus,
.gallery-filters select:focus,
.photo-filters select:focus,
.find-photos select:focus,
select.public-select:focus {
  background-color: #230033 !important;
  color: #ffffff !important;
  border-color: rgba(255, 213, 74, 0.85) !important;
  outline: none !important;
}

.public-gallery-page select option:checked,
.public-gallery-page select option:hover,
.public-filter-grid select option:checked,
.public-filter-grid select option:hover,
.public-page select option:checked,
.public-page select option:hover,
.gallery-filters select option:checked,
.gallery-filters select option:hover,
.photo-filters select option:checked,
.photo-filters select option:hover,
.find-photos select option:checked,
.find-photos select option:hover,
select.public-select option:checked,
select.public-select option:hover {
  background-color: #7c2bd6 !important;
  color: #ffffff !important;
}

@media (max-width: 1120px) {
  .public-gallery-page .public-photo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .public-partners-page .public-partners-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 820px) {
  .public-site-header,
  .public-list-page .public-list-hero,
  .public-gallery-page .public-gallery-shell,
  .public-partners-page .public-partners-hero,
  .public-partners-page .public-partners-section {
    width: min(100% - 20px, 100%) !important;
  }

  .public-gallery-page .public-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .public-gallery-page .public-photo-grid {
    grid-template-columns: 1fr !important;
  }

  .public-list-page h1,
  .public-gallery-page .public-gallery-title,
  .public-partners-page .public-partners-hero h1 {
    font-size: clamp(2.8rem, 16vw, 4.6rem) !important;
  }
}

/* v-public-fixed-header-final
   Public fixed header behaviour restored per page type.
   Pages inspected:
   - index.php: homepage-option-one
   - events.php: homepage-option-one public-list-page
   - event.php: homepage-option-one public-event-detail-page public-event-portal-page event-detail-safe
   - gallery.php: homepage-option-one public-gallery-page
   - upload.php: homepage-option-one public-gallery-page public-upload-page
   - partners.php: public-partners-page
   - privacy.php/terms.php after legal patch: public-legal-page
   The header is fixed/glass and page content scrolls underneath it. */

/* Keep the public nav fixed at the top across all public pages that include it. */
.public-site-header {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 5000 !important;

  width: min(1180px, calc(100% - 28px)) !important;
  max-width: 1180px !important;
  box-sizing: border-box !important;

  background: rgba(12, 0, 26, 0.56) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;

  border: 1px solid rgba(255, 79, 216, 0.24) !important;
  border-radius: 24px !important;
  box-shadow:
    0 10px 32px rgba(0,0,0,.34),
    0 0 22px rgba(255,79,216,.12) !important;

  overflow: visible !important;
}

/* The fixed header is removed from normal flow, so give each public page top room. */
body.homepage-option-one,
body.public-list-page,
body.public-event-detail-page,
body.public-event-portal-page,
body.public-gallery-page,
body.public-upload-page,
body.public-partners-page,
body.public-legal-page {
  padding-top: 108px !important;
}

/* Keep wrappers from clipping the fixed header or breaking scroll. */
body.homepage-option-one .home-option-one,
body.public-list-page .home-option-one,
body.public-event-detail-page .home-option-one,
body.public-gallery-page .home-option-one,
body.public-upload-page .home-option-one,
body.public-legal-page .home-option-one,
body.public-partners-page .home-option-one {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* Partners does not always use the homepage wrapper, so pad its main section directly too. */
body.public-partners-page .public-partners-hero {
  margin-top: 0 !important;
}

/* Legal pages use their own contained layout; keep their header treatment identical. */
body.public-legal-page .public-site-header {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 5000 !important;
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: 1180px !important;
}

/* Mobile tightening */
@media (max-width: 820px) {
  .public-site-header,
  body.public-legal-page .public-site-header {
    width: calc(100% - 16px) !important;
    top: 8px !important;
    border-radius: 18px !important;
  }

  body.homepage-option-one,
  body.public-list-page,
  body.public-event-detail-page,
  body.public-event-portal-page,
  body.public-gallery-page,
  body.public-upload-page,
  body.public-partners-page,
  body.public-legal-page {
    padding-top: 94px !important;
  }
}


/* Homepage live now-playing scroller */
.home-now-playing{
  width:min(980px,calc(100% - 32px));
  margin:22px auto 26px;
  border:1px solid rgba(255,58,220,.62);
  border-radius:24px;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,216,77,.16), transparent 28%),
    radial-gradient(circle at 90% 30%, rgba(255,58,220,.18), transparent 32%),
    linear-gradient(135deg, rgba(29,0,48,.88), rgba(76,12,91,.72));
  box-shadow:0 18px 46px rgba(0,0,0,.28), 0 0 28px rgba(255,58,220,.18), inset 0 1px 0 rgba(255,255,255,.1);
  overflow:hidden;
  color:#fff;
  text-align:left;
}
.home-now-playing[hidden]{
  display:none !important;
}
.home-now-playing-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px 10px;
}
.home-now-playing-head span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,216,77,.14);
  border:1px solid rgba(255,216,77,.34);
  color:#ffe989;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
}
.home-now-playing-head strong{
  font-size:20px;
  font-weight:1000;
  line-height:1;
}
.home-now-playing-head em{
  margin-left:auto;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-style:normal;
  font-weight:850;
  white-space:nowrap;
}
.home-now-playing-window{
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  padding:6px 16px 18px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
  mask-image:linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
}
.home-now-playing-rail{
  display:flex;
  gap:14px;
  width:max-content;
  min-width:100%;
  animation:homeNowPlayingScroll 38s linear infinite;
  will-change:transform;
}
.home-now-playing:hover .home-now-playing-rail,
.home-now-playing-window:focus-within .home-now-playing-rail{
  animation-play-state:paused;
}
.home-now-playing-card{
  width:250px;
  min-width:250px;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.22);
}
.home-now-playing-card.is-current{
  border-color:rgba(255,216,77,.72);
  background:
    radial-gradient(circle at 18% 20%, rgba(255,216,77,.22), transparent 38%),
    linear-gradient(135deg, rgba(255,58,220,.20), rgba(255,255,255,.06));
  box-shadow:0 0 22px rgba(255,216,77,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
.home-now-playing-art{
  width:64px;
  height:64px;
  border-radius:15px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(255,216,77,.24), rgba(255,58,220,.22));
  color:#ffd84d;
  font-size:30px;
  box-shadow:0 0 20px rgba(255,58,220,.2);
}
.home-now-playing-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-now-playing-copy{
  min-width:0;
  display:block;
}
.home-now-playing-status{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,58,220,.18);
  color:#ffd84d;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-now-playing-card.is-current .home-now-playing-status{
  background:linear-gradient(135deg, #ffd84d, #ff69d2);
  color:#25002d;
}
.home-now-playing-copy strong,
.home-now-playing-copy em{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-now-playing-copy strong{
  margin-top:7px;
  font-size:17px;
  line-height:1.15;
  font-weight:1000;
}
.home-now-playing-copy em{
  margin-top:4px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-style:normal;
  font-weight:750;
}
.home-now-playing-empty{
  margin:0;
  padding:0 18px 18px;
  color:rgba(255,255,255,.74);
  text-align:center;
  font-weight:750;
}
@keyframes homeNowPlayingScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media(max-width:760px){
  .home-now-playing{
    margin-top:18px;
    margin-bottom:18px;
  }
  .home-now-playing-head{
    flex-wrap:wrap;
  }
  .home-now-playing-head em{
    width:100%;
    margin-left:0;
  }
  .home-now-playing-card{
    width:224px;
    min-width:224px;
    grid-template-columns:56px 1fr;
  }
  .home-now-playing-art{
    width:56px;
    height:56px;
  }
}
@media(prefers-reduced-motion:reduce){
  .home-now-playing-rail{
    animation:none;
  }
}

/* Align live soundtrack scrollers with surrounding public page content */
body.homepage-option-one .home-now-playing{
  box-sizing:border-box;
  width:min(1080px, calc(100vw - 48px));
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin-left:0;
  margin-right:0;
}

.event-detail-safe .public-event-now-playing{
  box-sizing:border-box;
  width:100%;
  margin:22px 0 26px;
}

@media(max-width:760px){
  body.homepage-option-one .home-now-playing{
    width:calc(100vw - 32px);
    left:50%;
    transform:translateX(-50%);
  }

  .event-detail-safe .public-event-now-playing{
    width:100%;
  }
}

/* Homepage live soundtrack vertical rhythm
   Keep this scoped away from event portal pages, where the scroller is already aligned. */
body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page){
  --dttd-home-block-gap:24px;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .option-one-hero{
  padding-bottom:var(--dttd-home-block-gap) !important;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-now-playing{
  margin-top:var(--dttd-home-block-gap) !important;
  margin-bottom:0 !important;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-section{
  padding-top:0 !important;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-grid,
body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-grid-secondary{
  margin-top:0 !important;
  margin-bottom:var(--dttd-home-block-gap) !important;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-coming-up{
  margin-top:0 !important;
}

@media(max-width:760px){
  body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page){
    --dttd-home-block-gap:18px;
  }
}

/* Homepage lower-section vertical rhythm refinement
   Keep this scoped to the public homepage only; event portal spacing is not changed. */
body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-section{
  padding-bottom:var(--dttd-home-block-gap) !important;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-coming-up{
  margin-top:0 !important;
  margin-bottom:calc(var(--dttd-home-block-gap) * 1.5) !important;
}

@media(max-width:760px){
  body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-section{
    padding-bottom:var(--dttd-home-block-gap) !important;
  }
}

/* Homepage lower-section spacing hard override
   Keep this scoped to the public homepage only; event portal spacing is not changed. */
body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-section{
  padding:0 22px 0 !important;
  margin-top:0 !important;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-section .home-info-grid,
body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-section .home-info-grid-secondary{
  margin:0 auto var(--dttd-home-block-gap) !important;
}

body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-coming-up{
  margin-top:0 !important;
  padding-top:var(--dttd-home-block-gap) !important;
}

@media(max-width:760px){
  body.homepage-option-one:not(.public-event-detail-page):not(.public-event-portal-page) .home-info-section{
    padding:0 16px 0 !important;
  }
}

/* v322 homepage connected-event callout */
body.homepage-option-one .connected-event-prompt{
  width:min(100%, 980px);
  margin:0 auto clamp(18px, 2.8vw, 30px);
  padding:clamp(14px, 2vw, 18px);
  border:1px solid rgba(26, 255, 153, .72);
  border-radius:26px;
  background:
    radial-gradient(circle at 8% 18%, rgba(26, 255, 153, .20), transparent 32%),
    linear-gradient(135deg, rgba(5, 34, 31, .70), rgba(68, 8, 72, .72));
  box-shadow:
    0 0 0 1px rgba(255, 230, 92, .16) inset,
    0 0 24px rgba(26, 255, 153, .22),
    0 18px 40px rgba(0, 0, 0, .28);
}

body.homepage-option-one .connected-event-prompt__message{
  display:grid;
  gap:6px;
  margin:0 0 14px;
  color:#fff;
  text-align:left;
}

body.homepage-option-one .connected-event-prompt__badge{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:8px;
  padding:5px 12px;
  border-radius:999px;
  border:1px solid rgba(26, 255, 153, .68);
  background:rgba(3, 31, 30, .74);
  color:#9fffc8;
  font-size:12px;
  font-weight:950;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 0 12px rgba(26, 255, 153, .45);
}

body.homepage-option-one .connected-event-prompt__badge::before{
  content:'✓';
  display:inline-grid;
  place-items:center;
  width:17px;
  height:17px;
  border-radius:999px;
  background:linear-gradient(135deg, #1aff99, #ffe45c);
  color:#120018;
  font-size:12px;
  font-weight:1000;
  box-shadow:0 0 16px rgba(26, 255, 153, .52);
}

body.homepage-option-one .connected-event-prompt__message strong{
  color:#ffe45c;
  font-size:clamp(17px, 2.2vw, 23px);
  font-weight:1000;
  line-height:1.16;
  text-shadow:0 0 16px rgba(255, 228, 92, .38);
}

body.homepage-option-one .connected-event-prompt__message p{
  margin:0;
  color:rgba(255, 255, 255, .92);
  font-size:clamp(14px, 1.5vw, 16px);
  font-weight:800;
  line-height:1.45;
}

body.homepage-option-one .connected-event-prompt .option-one-action-strip{
  width:100%;
  max-width:none;
  margin:0;
  border-color:rgba(26, 255, 153, .52);
  background:linear-gradient(135deg, rgba(21, 10, 40, .88), rgba(62, 16, 70, .72));
  box-shadow:0 0 18px rgba(26, 255, 153, .14) inset;
}

body.homepage-option-one .connected-event-prompt .option-one-action-card.primary-action,
body.homepage-option-one .connected-event-prompt .option-one-action-card:hover,
body.homepage-option-one .connected-event-prompt .option-one-action-card:focus-visible{
  border-color:rgba(26, 255, 153, .88);
  box-shadow:0 0 0 1px rgba(26, 255, 153, .20) inset, 0 0 22px rgba(26, 255, 153, .18);
}

@media (max-width: 760px){
  body.homepage-option-one .connected-event-prompt{
    width:calc(100% - 24px);
    padding:12px;
    border-radius:22px;
  }

  body.homepage-option-one .connected-event-prompt__message{
    text-align:left;
  }
}

/* v323 homepage connected event action emphasis + mobile selfie action */
body.homepage-option-one .option-one-action-card.mobile-selfie-action{
  display:none;
}

body.homepage-option-one .connected-event-prompt{
  position:relative;
  isolation:isolate;
  border-color:rgba(26, 255, 153, .86);
  box-shadow:
    0 0 0 1px rgba(255, 230, 92, .24) inset,
    0 0 28px rgba(26, 255, 153, .30),
    0 20px 46px rgba(0, 0, 0, .34);
}

body.homepage-option-one .connected-event-prompt::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(26,255,153,.46), rgba(255,230,92,.30), rgba(255,79,216,.18));
  filter:blur(14px);
  opacity:.52;
}

body.homepage-option-one .connected-event-prompt .option-one-action-strip{
  border-color:rgba(26, 255, 153, .76);
  box-shadow:
    0 0 0 1px rgba(255, 230, 92, .14) inset,
    0 0 24px rgba(26, 255, 153, .20);
}

body.homepage-option-one .connected-event-prompt .option-one-action-card{
  background:linear-gradient(180deg, rgba(20, 80, 58, .34), rgba(34, 5, 48, .72));
}

body.homepage-option-one .connected-event-prompt .option-one-action-card .option-one-icon{
  border-color:rgba(26, 255, 153, .62);
  box-shadow:0 0 22px rgba(26, 255, 153, .32), inset 0 0 12px rgba(255, 230, 92, .12);
}

@media (max-width: 760px){
  body.homepage-option-one .option-one-action-card.mobile-selfie-action{
    display:flex;
  }

  body.homepage-option-one .connected-event-prompt .option-one-action-strip{
    gap:10px;
  }
}

/* v324 compact public gallery photo cards */
.public-gallery-page .public-photo-grid-card{
  padding:22px !important;
}

.public-gallery-page .public-grid-heading-row{
  margin-bottom:16px !important;
}

.public-gallery-page .public-grid-heading-row h2{
  font-size:clamp(1.9rem, 4vw, 3rem) !important;
  line-height:.98 !important;
}

.public-gallery-page .public-photo-count{
  padding:8px 14px !important;
  font-size:.95rem !important;
}

.public-gallery-page .public-photo-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
}

.public-gallery-page .public-photo-tile{
  border-radius:20px !important;
}

.public-gallery-page .public-photo-thumb{
  aspect-ratio:4 / 3 !important;
  padding:8px !important;
}

.public-gallery-page .public-photo-thumb img{
  border-radius:11px !important;
}

.public-gallery-page .public-photo-meta{
  padding:11px 14px 13px !important;
}

.public-gallery-page .public-photo-meta h3{
  margin:0 0 4px !important;
  font-size:1.18rem !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
}

.public-gallery-page .public-photo-meta p{
  margin:0 0 6px !important;
  font-size:.95rem !important;
  line-height:1.32 !important;
}

.public-gallery-page .public-photo-meta strong{
  font-size:.92rem !important;
  line-height:1.25 !important;
}

@media (min-width:1180px){
  .public-gallery-page .public-photo-grid{
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width:1120px){
  .public-gallery-page .public-photo-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:820px){
  .public-gallery-page .public-photo-grid-card{
    padding:18px !important;
  }

  .public-gallery-page .public-photo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }
}

@media (max-width:520px){
  .public-gallery-page .public-photo-grid{
    grid-template-columns:1fr !important;
  }

  .public-gallery-page .public-photo-thumb{
    aspect-ratio:4 / 3 !important;
  }
}


/* Homepage coming-up cards: separate date/time from venue */
body.homepage-option-one .home-coming-up-card .home-coming-up-datetime{
  display:block;
  color:#f3e8ff;
  font-style:normal;
  line-height:1.28;
  font-weight:900;
  text-decoration:none !important;
}

body.homepage-option-one .home-coming-up-card .home-coming-up-venue{
  display:block;
  color:rgba(255,255,255,.84);
  font-size:.92rem;
  line-height:1.3;
  font-weight:750;
  text-decoration:none !important;
}

body.homepage-option-one .home-coming-up-card em.home-coming-up-datetime + .home-coming-up-venue{
  margin-top:1px;
}

/* v353 search-first public song request flow */
.public-request-search-first{
  display:block !important;
}
.public-request-search-first .request-song-stage,
.public-request-search-first .request-completion-stage{
  display:grid;
  gap:16px;
}
.public-request-search-first .request-song-stage[hidden],
.public-request-search-first .request-completion-stage[hidden],
.public-request-search-first .request-manual-fields[hidden]{
  display:none !important;
}
.public-request-search-first .request-stage-heading{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:2px;
}
.public-request-search-first .request-stage-number{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:linear-gradient(135deg,#b514ff,#ff3cc7);
  color:#fff;
  font-weight:900;
  box-shadow:0 0 18px rgba(242,53,218,.38);
}
.public-request-search-first .request-stage-heading h3{
  margin:0 0 3px;
  color:#fff;
  font-size:20px;
  line-height:1.15;
}
.public-request-search-first .request-stage-heading p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.35;
}
.public-request-search-first .request-search-control{
  position:relative;
}
.public-request-search-first .request-search-control input{
  padding-left:46px;
  min-height:56px;
  font-size:16px;
  border-color:rgba(247,68,221,.48);
  box-shadow:0 0 0 1px rgba(158,47,255,.12), inset 0 0 24px rgba(96,33,138,.08);
}
.public-request-search-first .request-search-control input:focus{
  outline:none;
  border-color:#f445dc;
  box-shadow:0 0 0 3px rgba(244,69,220,.14), 0 0 24px rgba(181,20,255,.18);
}
.public-request-search-first .request-search-icon{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  z-index:1;
  color:#ff6eea;
  font-size:24px;
  line-height:1;
  pointer-events:none;
}
.public-request-search-first .spotify-search-status{
  display:block;
  min-height:18px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:700;
}
.public-request-search-first .request-manual-toggle,
.public-request-search-first .request-change-song{
  appearance:none;
  border:0;
  background:transparent;
  color:#ff83ec;
  font:inherit;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.public-request-search-first .request-manual-toggle{
  justify-self:center;
  padding:8px 4px 2px;
}
.public-request-search-first .request-completion-stage{
  padding-top:2px;
}
.public-request-search-first .request-manual-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.public-request-search-first .request-dedication-field label span{
  color:rgba(255,255,255,.58);
  font-size:12px;
  font-weight:700;
}
.public-request-search-first .request-dedication-field textarea{
  min-height:70px;
}
.public-request-search-first .spotify-selected{
  position:relative;
  margin:0;
  padding:10px 12px;
  border-color:rgba(255,74,221,.5);
  background:linear-gradient(135deg,rgba(77,17,102,.88),rgba(27,25,57,.9));
}
.public-request-search-first .spotify-selected-text small{
  color:#ff85ec;
}
.public-request-search-first .request-submit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:2px;
}
.public-request-search-first .request-change-song{
  flex:0 0 auto;
  padding:10px 4px;
}
.public-request-search-first .public-submit-btn{
  flex:1 1 auto;
  max-width:300px;
}
.public-request-search-first.spotify-request-enhanced .request-completion-stage{
  display:none;
}
.public-request-search-first.spotify-request-enhanced .request-completion-stage:not([hidden]){
  display:grid;
}
.public-request-search-first.spotify-request-enhanced .request-manual-fields[hidden]{
  display:none !important;
}
@media(max-width:760px){
  .public-request-card.compact-request-card{
    margin-top:10px;
  }
  .public-request-card .public-feature-card-header{
    margin-bottom:16px;
  }
  .public-request-search-first .request-manual-fields{
    grid-template-columns:1fr;
  }
  .public-request-search-first .spotify-result{
    min-height:66px;
    grid-template-columns:52px minmax(0,1fr);
    gap:11px;
    padding:7px 9px;
  }
  .public-request-search-first .spotify-result img,
  .public-request-search-first .spotify-selected img{
    width:52px;
    height:52px;
  }
  .public-request-search-first .request-submit-row{
    align-items:stretch;
    flex-direction:column-reverse;
  }
  .public-request-search-first .public-submit-btn{
    width:100% !important;
    max-width:none;
    min-height:50px;
  }
  .public-request-search-first .request-change-song{
    align-self:center;
  }
}
