/* FORCE BLACK BACKGROUND EVERYWHERE */
* {
  background-color: transparent !important;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Inter', sans-serif;
  background: #000 !important;
  color: #fff;
  overflow-x: hidden;
}

html {
  background: #000 !important;
}

/* Reset & Variables */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --neon-primary: #ff3bd4;
  --neon-glow: rgba(255,59,212,.22);
  --neon-glow2: rgba(255,59,212,.14);
  --bg-dark: #0a0a14;
  --bg-dark-2: #050508;
  --text-light: #fff;
  --text-gray: rgba(255,255,255,.7);
}

html{scroll-behavior:smooth}
body{
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  background: var(--bg-dark);
  color: var(--text-light);
  line-height:1.6;
  overflow-x:hidden;
}

/* Navigation */
#navbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background: rgba(10,10,20,.9);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(255,59,212,.2);
  transition: background .3s ease;
}

#navbar.scrolled{
  background: rgba(10,10,20,.98);
  border-bottom:1px solid rgba(255,59,212,.3);
}

.nav-container{
  max-width:1400px;
  margin:0 auto;
  padding:1rem 2rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.logo{
  font-size:1.5rem;
  font-weight:700;
  letter-spacing:0.1em;
  color:var(--neon-primary);
  text-shadow: 0 0 12px var(--neon-glow);
}

.nav-menu{
  display:flex;
  gap:2rem;
  list-style:none;
}

.nav-menu a{
  color:var(--text-light);
  text-decoration:none;
  font-size:.95rem;
  transition: color .2s ease;
  position:relative;
}

.nav-menu a:hover{
  color:var(--neon-primary);
}

.nav-menu a::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  width:0;
  height:2px;
  background:var(--neon-primary);
  transition: width .3s ease;
}

.nav-menu a:hover::after{
  width:100%;
}

.menu-toggle{
  display:none;
  background:none;
  border:none;
  color:var(--text-light);
  font-size:1.5rem;
  cursor:pointer;
}

/* Hero Section */
#hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000 !important;
  background-image: radial-gradient(ellipse at center, rgba(20,10,30,1) 0%, rgba(5,5,8,1) 100%) !important;
  padding: 6rem 2rem 4rem;
  isolation: isolate;
}

#hero::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000;
  z-index: 0;
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 1200px;
  width: 100%;
}

.brand{
  font-size:clamp(3.5rem, 14vw, 9rem);
  font-weight:700;
  letter-spacing:0.1em;
  color:#ff3bd4;
  text-shadow: 
    0 0 20px rgba(255,59,212,.7),
    0 0 40px rgba(255,59,212,.5),
    0 0 80px rgba(255,59,212,.3);
  margin-bottom:0.5rem;
  animation: titlePulse 6s ease-in-out infinite;
  position: relative;
  z-index: 20;
}

@keyframes titlePulse{
  0%, 100% { 
    text-shadow: 
      0 0 20px rgba(255,59,212,.7),
      0 0 40px rgba(255,59,212,.5),
      0 0 80px rgba(255,59,212,.3);
  }
  50% { 
    text-shadow: 
      0 0 30px rgba(255,59,212,.9),
      0 0 60px rgba(255,59,212,.6),
      0 0 100px rgba(255,59,212,.4);
  }
}

.tagline{
  font-size:clamp(1.1rem, 3.5vw, 1.8rem);
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:rgba(255,255,255,.9);
  margin-bottom:2rem;
  text-shadow: 
    0 0 10px rgba(255,59,212,.3),
    0 2px 10px rgba(0,0,0,.6);
  position: relative;
  z-index: 20;
}

/* Video Stack Dancer - Desktop Default */
.video-stack {
  position: absolute;
  width: min(1150px, 130vw);
  aspect-ratio: 9/16;
  max-height: 80vh;
  overflow: visible;
  border-radius: 0;
  margin: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  box-shadow: none;
  background: transparent;
}

.layer {
  position: absolute;
  will-change: transform;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: transparent;
}

/* FILTRI E BLEND MODE SOLO SU DESKTOP (min-width 769px) */
@media (min-width: 769px) {
  .layer {
    mix-blend-mode: screen;
  }
  
  .layer-green {
    filter: invert(100%) sepia(0%) saturate(0%) brightness(200%) contrast(100%);
    z-index: 2;
    opacity: 0.85;
  }

  .layer-red {
    filter: invert(34%) sepia(62%) saturate(4337%) hue-rotate(351deg) brightness(114%) contrast(92%);
    z-index: 3;
    opacity: 0.7;
  }

  .layer-blue {
    filter: invert(80%) sepia(50%) saturate(2000%) hue-rotate(10deg) brightness(120%) contrast(90%);
    z-index: 4;
    opacity: 0.65;
  }
}

/* VIDEO A COLORI NORMALI SU MOBILE */
@media (max-width: 768px) {
  .layer {
    mix-blend-mode: normal;
    filter: none;
    /* Force Safari iOS rendering fix */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
  }
  
  .layer-green {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    border-radius: 0.000001%;
    filter: brightness(1.085) contrast(1.1) saturate(1.3) !important;
  }
  
  .layer-red {
    opacity: 0.5;
    z-index: 3;
  }
  
  .layer-blue {
    opacity: 0.5;
    z-index: 4;
  }
}


.subtitle{
  font-size:1.15rem;
  color:rgba(255,255,255,.75);
  margin-top:2rem;
  margin-bottom:2rem;
  text-shadow: 0 2px 10px rgba(0,0,0,.7);
  position: relative;
  z-index: 20;
}

.cta-button{
  display:inline-block;
  padding:1.1rem 3rem;
  background:transparent;
  border:2px solid var(--neon-primary);
  color:var(--neon-primary);
  text-decoration:none;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  transition: all .4s ease;
  box-shadow: 
    0 0 20px rgba(255,59,212,.3),
    inset 0 0 20px rgba(255,59,212,.1);
  border-radius:50px;
  position:relative;
  overflow:hidden;
  z-index: 20;
}

.cta-button::before{
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, transparent, rgba(255,59,212,.2), transparent);
  transform:translateX(-100%);
  transition: transform .6s ease;
}

.cta-button:hover::before{
  transform:translateX(100%);
}

.cta-button:hover{
  background:var(--neon-primary);
  color:#000;
  box-shadow: 
    0 0 40px rgba(255,59,212,.6),
    0 0 20px rgba(255,59,212,.4),
    inset 0 0 20px rgba(255,255,255,.2);
  transform:translateY(-3px);
}

/* Sections */
section{
  padding:5rem 2rem;
  background: var(--bg-dark);
  position:relative;
}

section:nth-child(even){
  background: var(--bg-dark-2);
}

.section-container{
  max-width:1200px;
  margin:0 auto;
}

h2{
  font-size:clamp(2rem, 5vw, 3rem);
  text-align:center;
  margin-bottom:1rem;
  color:var(--neon-primary);
  text-shadow: 0 0 20px rgba(255,59,212,.4);
  letter-spacing:0.05em;
}

.section-subtitle{
  text-align:center;
  color:var(--text-gray);
  margin-bottom:3rem;
  font-size:1.1rem;
}

/* About Section */
.about-content{
  max-width:900px;
  margin:0 auto;
}

.about-text p{
  font-size:1.1rem;
  margin-bottom:1.5rem;
  color:var(--text-gray);
  line-height:1.8;
}

.features{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:2rem;
  margin-top:3rem;
}

.feature{
  text-align:center;
  padding:2rem;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,59,212,.15);
  border-radius:16px;
  transition: all .3s ease;
}

.feature:hover{
  border-color:var(--neon-primary);
  transform:translateY(-5px);
  box-shadow: 0 10px 35px rgba(255,59,212,.25);
  background:rgba(255,59,212,.05);
}

.feature .icon{
  font-size:3rem;
  display:block;
  margin-bottom:1rem;
}

.feature h3{
  color:var(--neon-primary);
  margin-bottom:.5rem;
  font-size:1.2rem;
}

.feature p{
  color:var(--text-gray);
  font-size:.95rem;
}

/* Events Info */
.events-info{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:2rem;
  margin-top:2rem;
  margin-bottom:4rem;
}

.event-description{
  background:rgba(255,255,255,.03);
  padding:2rem;
  border:1px solid rgba(255,59,212,.2);
  border-radius:16px;
  transition: all .3s ease;
}

.event-description:hover{
  border-color:var(--neon-primary);
  transform:translateY(-5px);
  box-shadow: 0 10px 30px rgba(255,59,212,.3);
  background:rgba(255,59,212,.05);
}

.event-description h3{
  color:var(--neon-primary);
  margin-bottom:1rem;
  font-size:1.3rem;
}

.event-description p{
  color:var(--text-gray);
  line-height:1.8;
  margin-bottom:1rem;
}

.social-cta{
  display:flex;
  gap:1rem;
  margin-top:1.5rem;
}

.social-btn{
  flex:1;
  padding:.8rem 1rem;
  background:rgba(255,59,212,.12);
  border:1px solid var(--neon-primary);
  color:var(--text-light);
  text-decoration:none;
  border-radius:10px;
  text-align:center;
  transition: all .3s ease;
  font-size:.9rem;
}

.social-btn:hover{
  background:var(--neon-primary);
  color:#000;
  transform:translateY(-2px);
  box-shadow: 0 8px 20px rgba(255,59,212,.4);
}

/* Weekly Schedule */
.weekly-schedule{
  background:rgba(255,255,255,.03);
  padding:3rem 2rem;
  border-radius:20px;
  border:1px solid rgba(255,59,212,.2);
}

.schedule-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:1.5rem;
}

.schedule-day{
  background:rgba(255,255,255,.04);
  padding:1.5rem 1rem;
  border-radius:14px;
  text-align:center;
  border:1px solid rgba(255,255,255,.08);
  transition: all .3s ease;
}

.schedule-day.highlight{
  border-color:var(--neon-primary);
  background:rgba(255,59,212,.1);
  box-shadow: 0 0 20px rgba(255,59,212,.2);
}

.schedule-day.closed{
  border-color:rgba(255,59,212,.4);
  background:rgba(255,59,212,.08);
  opacity:0.7;
}

.schedule-day:hover{
  transform:translateY(-5px);
  border-color:var(--neon-primary);
  box-shadow: 0 8px 25px rgba(255,59,212,.3);
}

.day-name{
  font-size:1.2rem;
  font-weight:700;
  color:var(--neon-primary);
  margin-bottom:.5rem;
  letter-spacing:0.1em;
}

.day-hours{
  font-size:.9rem;
  color:var(--text-gray);
}

/* Info Section */
.info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:2rem;
  margin-top:2rem;
}

.info-card{
  background:rgba(255,255,255,.03);
  padding:2rem;
  border:1px solid rgba(255,59,212,.15);
  border-radius:16px;
  transition: all .3s ease;
}

.info-card:hover{
  border-color:var(--neon-primary);
  box-shadow: 0 8px 25px rgba(255,59,212,.25);
  background:rgba(255,59,212,.05);
}

.info-card h3{
  color:var(--neon-primary);
  margin-bottom:1rem;
  font-size:1.1rem;
}

.info-card p{
  color:var(--text-gray);
  font-size:.95rem;
  line-height:1.6;
  margin-bottom:.5rem;
}

.info-card strong{
  color:var(--text-light);
}

/* Gallery - CAROSELLO 3D */
#gallery{
  padding:8rem 2rem;
  min-height:auto;
}

.carousel-3d-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 600px;
  perspective: 2000px;
  margin: 4rem auto;
}

.carousel-3d-container {
  width: 200px;
  height: 300px;
  position: relative;
  transform-style: preserve-3d;
    animation: carousel-rotate 50s linear infinite;
}

.carousel-3d-container .img_wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

.carousel-3d-container .img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 
    0 0 20px rgba(255,255,255,.3),
    0 0 40px rgba(255,59,212,.2);
  filter: brightness(110%);
  display: block;
}

.carousel-3d-container .img_wrap:nth-child(1) {
  transform: rotateY(0deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(2) {
  transform: rotateY(36deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(3) {
  transform: rotateY(72deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(4) {
  transform: rotateY(108deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(5) {
  transform: rotateY(144deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(6) {
  transform: rotateY(180deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(7) {
  transform: rotateY(216deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(8) {
  transform: rotateY(252deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(9) {
  transform: rotateY(288deg) translateZ(450px);
}
.carousel-3d-container .img_wrap:nth-child(10) {
  transform: rotateY(324deg) translateZ(450px);
}

@keyframes carousel-rotate {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(-360deg);
  }
}

.gallery-note{
  text-align:center;
  margin-top:3rem;
  color:var(--text-gray);
  font-size:1rem;
}

.gallery-note strong{
  color:var(--neon-primary);
}

/* Contact Section */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  margin-top:2rem;
}

.contact-info h3{
  color:var(--neon-primary);
  margin-bottom:.8rem;
  font-size:1.2rem;
}

.contact-info p{
  color:var(--text-gray);
  line-height:1.8;
  margin-bottom:.5rem;
}

.contact-info a{
  color:var(--text-light);
  text-decoration:none;
  transition: color .2s ease;
}

.contact-info a:hover{
  color:var(--neon-primary);
}

.hours-table{
  background:rgba(255,255,255,.04);
  padding:1.5rem;
  border-radius:12px;
  border:1px solid rgba(255,59,212,.15);
  margin-top:1rem;
}

.hours-table p{
  padding:.4rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.hours-table p:last-child{
  border-bottom:none;
}

.hours-table strong{
  color:var(--neon-primary);
  min-width:120px;
}

.social-links{
  margin-top:2rem;
}

.social-link{
  display:inline-block;
  margin-right:1rem;
  margin-bottom:.5rem;
  padding:.6rem 1.2rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,59,212,.25);
  border-radius:10px;
  color:var(--text-light);
  text-decoration:none;
  font-size:.9rem;
  transition: all .3s ease;
}

.social-link:hover{
  background:rgba(255,59,212,.15);
  border-color:var(--neon-primary);
  transform:translateY(-2px);
  box-shadow: 0 6px 18px rgba(255,59,212,.3);
}

.map-container{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,59,212,.15);
  border-radius:16px;
  overflow:hidden;
  min-height:400px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:2rem;
  text-align:center;
}

.map-placeholder p{
  color:var(--text-gray);
  margin-bottom:.5rem;
}

.map-placeholder strong{
  color:var(--text-light);
  font-size:1.2rem;
}

.map-link{
  display:inline-block;
  margin-top:1.5rem;
  padding:.9rem 1.8rem;
  background:var(--neon-primary);
  color:#000;
  text-decoration:none;
  border-radius:10px;
  font-weight:600;
  transition: all .3s ease;
}

.map-link:hover{
  transform:translateY(-3px);
  box-shadow: 0 10px 30px rgba(255,59,212,.5);
}

/* Footer */
footer{
  background:var(--bg-dark-2);
  padding:3rem 2rem;
  border-top:1px solid rgba(255,59,212,.2);
}

.footer-content{
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}

.footer-logo{
  font-size:2rem;
  font-weight:700;
  letter-spacing:0.1em;
  color:var(--neon-primary);
  text-shadow: 0 0 20px rgba(255,59,212,.4);
  margin-bottom:1rem;
}

.footer-content p{
  color:var(--text-gray);
  font-size:.9rem;
  margin-bottom:.5rem;
}

.footer-links a{
  color:var(--text-gray);
  text-decoration:none;
  transition: color .2s ease;
}

.footer-links a:hover{
  color:var(--neon-primary);
}

/* ========== RESPONSIVE ========== */
@media(max-width:1024px){
  .contact-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:768px){
  .nav-menu{
    position:fixed;
    top:70px;
    left:-100%;
    width:100%;
    flex-direction:column;
    background:rgba(10,10,20,.98);
    padding:2rem;
    gap:1.5rem;
    transition: left .3s ease;
    border-bottom:1px solid rgba(255,59,212,.3);
  }
  
  .nav-menu.active{
    left:0;
  }
  
  .menu-toggle{
    display:block;
  }
  
  section{
    padding:3rem 1.5rem;
  }
  
  .events-info,
  .info-grid{
    grid-template-columns:1fr;
  }

  .schedule-grid{
    grid-template-columns:repeat(2, 1fr);
  }
  
  /* Video sotto titolo su mobile */
  .video-stack{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: min(380px, 85vw) !important;
    max-height: 50vh !important;
    margin: 1.5rem auto !important;
  }
  
  /* Nascondi video red/blue su mobile */
  .layer-red,
  .layer-blue {
    display: none;
  }
  
  /* Hero come flex */
  .hero-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  
  /* Rimuovi overlay */
  #hero::after {
    display: none !important;
  }
  
  #hero {
    background: #000 !important;
    background-image: none !important;
  }

  .carousel-3d-wrapper {
    min-height: 450px;
    perspective: 1500px;
  }
  
  .carousel-3d-container {
    width: 160px;
    height: 240px;
  }
  
  .carousel-3d-container .img_wrap:nth-child(1) {
    transform: rotateY(0deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(2) {
    transform: rotateY(36deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(3) {
    transform: rotateY(72deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(4) {
    transform: rotateY(108deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(5) {
    transform: rotateY(144deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(6) {
    transform: rotateY(180deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(7) {
    transform: rotateY(216deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(8) {
    transform: rotateY(252deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(9) {
    transform: rotateY(288deg) translateZ(350px);
  }
  .carousel-3d-container .img_wrap:nth-child(10) {
    transform: rotateY(324deg) translateZ(350px);
  }
}

@media(max-width:480px){
  .brand{
    font-size:2.8rem;
  }
  
  .nav-container{
    padding:1rem 1rem;
  }

  .social-cta{
    flex-direction:column;
  }
  
  .video-stack{
    width: min(340px, 90vw) !important;
    max-height: 45vh !important;
  }
  
  .carousel-3d-wrapper {
    min-height: 400px;
    perspective: 1200px;
  }
  
  .carousel-3d-container {
    width: 140px;
    height: 210px;
  }
  
  .carousel-3d-container .img_wrap:nth-child(1) {
    transform: rotateY(0deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(2) {
    transform: rotateY(36deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(3) {
    transform: rotateY(72deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(4) {
    transform: rotateY(108deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(5) {
    transform: rotateY(144deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(6) {
    transform: rotateY(180deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(7) {
    transform: rotateY(216deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(8) {
    transform: rotateY(252deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(9) {
    transform: rotateY(288deg) translateZ(300px);
  }
  .carousel-3d-container .img_wrap:nth-child(10) {
    transform: rotateY(324deg) translateZ(300px);
  }
}
/* Lightbox Modal */
#gallery-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.95);
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(10px);
}

.modal-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-content img {
  max-width: 100%;
  max-height: 85vh;
  border-radius: 12px;
  box-shadow: 0 0 40px rgba(255, 59, 212, 0.4);
  border: 1px solid rgba(255, 59, 212, 0.3);
  object-fit: contain;
}

.close-modal {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 50px;
  font-weight: 200;
  cursor: pointer;
  z-index: 1010;
  transition: all 0.3s;
  line-height: 1;
}

.close-modal:hover {
  color: var(--neon-primary);
  transform: scale(1.1);
}

.prev-modal, .next-modal {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 59, 212, 0.5);
  color: white;
  width: 60px;
  height: 60px;
  font-size: 1.5rem;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.3s;
  z-index: 1010;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prev-modal:hover, .next-modal:hover {
  background: var(--neon-primary);
  color: black;
  border-color: var(--neon-primary);
  box-shadow: 0 0 20px var(--neon-primary);
}

.prev-modal { left: -80px; }
.next-modal { right: -80px; }

@media (max-width: 1100px) {
  .prev-modal { left: -40px; }
  .next-modal { right: -40px; }
}

@media (max-width: 768px) {
  .modal-content img {
    max-height: 70vh;
  }
  .prev-modal, .next-modal {
    width: 45px;
    height: 45px;
    font-size: 1.2rem;
  }
  .prev-modal { left: -10px; }
  .next-modal { right: -10px; }
  .close-modal { right: 20px; top: 10px; }
}

/* Responsive Map */
.map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 12px;
}
