
/* EXP 19.2 — Sweetville Sphere */
.exp192-sphere-link{margin-top:.5rem}
.exp192-sphere-panel{position:relative;overflow:hidden}
.exp192-sphere-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 15%,rgba(255,71,179,.18),transparent 30%),radial-gradient(circle at 78% 20%,rgba(130,77,255,.18),transparent 32%)}
.exp192-sphere-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 28px 70px rgba(0,0,0,.3)}
.exp192-sphere-image{position:relative;min-height:680px;overflow:hidden;background:#120013}
.exp192-sphere-image img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .6s ease,filter .4s ease}
.exp192-now-performing{position:absolute;left:20px;top:20px;padding:.6rem .8rem;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(39,0,40,.72);backdrop-filter:blur(12px);font-size:.62rem;font-weight:900;letter-spacing:.13em}
.exp192-sphere-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,3rem)}
.exp192-sphere-copy>small{font-size:.62rem;font-weight:900;letter-spacing:.14em;color:#ff94cf}
.exp192-sphere-copy h3{margin:.5rem 0 .8rem;font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3.8rem)}
.exp192-sphere-copy p{line-height:1.7;opacity:.8}
.exp192-sphere-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}
.exp192-concert-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}
.exp192-concert-status span{padding:.8rem;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);font-size:.58rem;letter-spacing:.08em}
.exp192-concert-status strong{display:block;margin-top:.3rem;font-size:.9rem;letter-spacing:0}
.exp192-sphere-beams{position:absolute;inset:-20%;pointer-events:none;opacity:0;background:conic-gradient(from 180deg at 50% 10%,transparent 0 8%,rgba(255,92,197,.22) 9% 12%,transparent 13% 22%,rgba(132,92,255,.22) 23% 26%,transparent 27% 100%);transform-origin:50% 10%}
.exp192-crowd-glow{position:absolute;inset:auto 0 0;height:34%;pointer-events:none;opacity:.25;background:radial-gradient(ellipse at center bottom,rgba(255,80,181,.8),transparent 70%)}
.exp192-sphere-panel.lights-on .exp192-sphere-beams{opacity:1;animation:exp192Beams 8s linear infinite}
.exp192-sphere-panel.crowd-on .exp192-crowd-glow{opacity:.75;animation:exp192Crowd 1.6s ease-in-out infinite}
.exp192-sphere-panel.finale-on .exp192-sphere-image img{transform:scale(1.025);filter:brightness(1.12) saturate(1.1)}
@keyframes exp192Beams{to{transform:rotate(360deg)}}
@keyframes exp192Crowd{50%{opacity:.35}}
@media(max-width:1000px){.exp192-sphere-stage{grid-template-columns:1fr}.exp192-sphere-image{min-height:560px}}
@media(max-width:650px){.exp192-sphere-image{min-height:440px}.exp192-concert-status{grid-template-columns:1fr}.exp192-sphere-copy{padding:1.25rem}}
@media(prefers-reduced-motion:reduce){.exp192-sphere-beams,.exp192-crowd-glow{animation:none!important}}


/* =========================================================
   EXP 19.3 — SPHERE CAROUSEL + WORKING CONTROLS
   ========================================================= */

.exp193-sphere-slides{
  position:absolute;
  inset:0;
}
.exp193-sphere-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  opacity:0;
  transform:scale(1.015);
  transition:opacity .55s ease,transform .7s ease,filter .35s ease;
  background:#100010;
}
.exp193-sphere-slide.active{
  opacity:1;
  transform:scale(1);
}
.exp193-sphere-arrow{
  position:absolute;
  top:50%;
  z-index:8;
  width:48px;
  height:48px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  color:#fff;
  background:rgba(24,0,31,.72);
  backdrop-filter:blur(12px);
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 0 24px rgba(255,77,184,.25);
}
.exp193-sphere-arrow.prev{left:14px}
.exp193-sphere-arrow.next{right:14px}
.exp193-sphere-dots{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:18px;
  display:flex;
  gap:.55rem;
  transform:translateX(-50%);
}
.exp193-sphere-dots button{
  width:11px;
  height:11px;
  padding:0;
  border:1px solid rgba(255,255,255,.65);
  border-radius:50%;
  background:rgba(255,255,255,.18);
  cursor:pointer;
}
.exp193-sphere-dots button.active{
  background:#ff72bd;
  box-shadow:0 0 14px rgba(255,89,188,.8);
}
.exp193-control-label{
  margin-top:1rem;
  padding:.65rem .8rem;
  border:1px solid rgba(255,153,207,.24);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.11em;
  color:#ffacd5;
}
.exp193-confetti{
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
  overflow:hidden;
}
.exp193-confetti i{
  position:absolute;
  top:-10%;
  width:8px;
  height:14px;
  border-radius:2px;
  background:linear-gradient(#fff,#ff5eb3);
  animation:exp193ConfettiFall 2.6s linear forwards;
}
@keyframes exp193ConfettiFall{
  to{transform:translate3d(var(--drift),115vh,0) rotate(720deg);opacity:.15}
}
.exp192-sphere-panel.lights-on .exp193-sphere-slide.active{
  filter:brightness(1.12) saturate(1.15);
}
.exp192-sphere-panel.crowd-on .exp193-sphere-slide.active{
  filter:brightness(1.08) saturate(1.1);
}
.exp192-sphere-panel.finale-on .exp193-sphere-slide.active{
  filter:brightness(1.2) saturate(1.2);
}
@media(max-width:650px){
  .exp193-sphere-arrow{
    width:42px;
    height:42px;
  }
}


/* =========================================================
   EXP 19.4 — SPHERE ENCORE
   ========================================================= */

.exp194-live-badge{
  position:absolute;
  top:20px;
  right:20px;
  z-index:10;
  padding:.55rem .72rem;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  background:rgba(146,0,48,.82);
  color:#fff;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
  box-shadow:0 0 20px rgba(255,62,132,.42);
  animation:exp194LivePulse 1.8s ease-in-out infinite;
}

@keyframes exp194LivePulse{
  50%{opacity:.65;box-shadow:0 0 30px rgba(255,62,132,.62)}
}

.exp192-concert-status{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.exp192-sphere-panel.sphere-active .exp1618-radio-buttons,
.exp192-sphere-panel.sphere-active .exp192-sphere-actions{
  filter:drop-shadow(0 0 16px rgba(255,78,185,.35));
}

.exp192-sphere-panel.finale-running .exp193-sphere-slide.active{
  animation:exp194FinalePulse .8s ease-in-out infinite alternate;
}

@keyframes exp194FinalePulse{
  from{filter:brightness(1.1) saturate(1.1)}
  to{filter:brightness(1.28) saturate(1.25)}
}

@media(prefers-reduced-motion:reduce){
  .exp194-live-badge,
  .exp192-sphere-panel.finale-running .exp193-sphere-slide.active{
    animation:none!important;
  }
}
