@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;800&family=Cormorant+Garamond:wght@400;600;700&family=Dancing+Script:wght@400;600;700&family=Lora:wght@400;600;700&family=Montserrat:wght@400;500;600;700;800&family=Playfair+Display:wght@400;600;700;800;900&family=Poppins:wght@400;500;600;700;800&display=swap');
:root{--magenta:#E91E8C;--gold:#FFB300;--saffron:#FF6F00;--teal:#00897B;--deep:#1A0A2E;--cream:#FFF8F0;--pink-light:#FCE4EC}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Poppins',sans-serif;background:var(--cream);color:var(--deep);overflow-x:hidden}.masala-nav{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(26,10,46,.97);backdrop-filter:blur(10px);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:70px;border-bottom:2px solid var(--gold)}.nav-logo{font-family:'Dancing Script',cursive;font-size:1.8rem;color:var(--gold);text-decoration:none}.nav-logo span{color:var(--magenta)}.nav-links{display:flex;gap:1.35rem;list-style:none;align-items:center}.nav-links a{color:#fff;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:6px 0;position:relative;transition:color .3s}.nav-links a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:width .3s}.nav-links a:hover{color:var(--gold)}.nav-links a:hover:after{width:100%}.nav-cta,.nav-links li:last-child a{background:var(--magenta);color:#fff!important;padding:8px 20px!important;border-radius:25px}.nav-cta:after,.nav-links li:last-child a:after{display:none}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}.hamburger span{width:25px;height:2px;background:var(--gold)}#inicio{min-height:100vh;background:linear-gradient(135deg,#1A0A2E 0%,#3D0C52 40%,#7B1FA2 70%,#E91E8C 100%);display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;padding:70px 2rem 80px}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-video-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,10,46,.78),rgba(123,31,162,.55),rgba(233,30,140,.45));z-index:1}.hero-mandala{z-index:1;position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,179,0,.15);top:50%;left:50%;transform:translate(-50%,-50%);animation:rotar 30s linear infinite}.hero-mandala:before{content:'';position:absolute;inset:30px;border-radius:50%;border:1px solid rgba(255,179,0,.12)}.hero-mandala:after{content:'';position:absolute;inset:60px;border-radius:50%;border:1px solid rgba(233,30,140,.2)}@keyframes rotar{to{transform:translate(-50%,-50%) rotate(360deg)}}.hero-dots{z-index:1;position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,179,0,.3) 1px,transparent 1px);background-size:40px 40px;opacity:.4}.hero-content{position:relative;z-index:5;max-width:900px;padding:2rem;display:block!important;visibility:visible!important;opacity:1!important}.hero-badge{display:inline-block;background:rgba(255,179,0,.2);border:1px solid var(--gold);color:var(--gold);font-size:.75rem;letter-spacing:3px;text-transform:uppercase;padding:8px 24px;border-radius:30px;margin-bottom:1.5rem;animation:fadeDown .8s ease .08s both}.hero-title{font-family:'Playfair Display',serif;font-size:clamp(3rem,7vw,5.5rem);color:#fff;line-height:1.08;margin-bottom:1rem;animation:fadeUp .9s ease .22s both}.hero-title em{font-style:italic;color:var(--gold);display:block;animation:bollywoodIn .95s cubic-bezier(.2,.8,.2,1) .46s both;text-shadow:0 8px 28px rgba(255,179,0,.22)}.hero-sub{font-size:clamp(1rem,2vw,1.3rem);color:rgba(255,255,255,.84);margin-bottom:2.5rem;font-weight:300;line-height:1.55;animation:fadeUp .9s ease .62s both}.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .9s ease .78s both}.btn-primary,.btn-outline,.btn-evento,.btn-form,.red-btn{display:inline-block;text-decoration:none;font-weight:700;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease,opacity .3s ease}.btn-primary{background:linear-gradient(135deg,var(--magenta),var(--saffron));color:#fff;padding:14px 36px;border-radius:40px;box-shadow:0 8px 30px rgba(233,30,140,.5)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(233,30,140,.7)}.btn-outline{border:2px solid var(--gold);color:var(--gold);padding:14px 36px;border-radius:40px}.btn-outline:hover{transform:translateY(-3px);background:var(--gold);color:var(--deep);box-shadow:0 10px 35px rgba(255,179,0,.32)}.hero-scroll{position:absolute;bottom:2rem;left:50%;z-index:8;transform:translateX(-50%);text-decoration:none;pointer-events:auto}.hero-scroll-inner{display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;line-height:1;animation:scrollAppear .8s ease 1.15s both,scrollBounce 2s ease-in-out 1.95s infinite}.hero-scroll-inner:after{content:'';display:block;width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.72),transparent)}section{padding:90px 2rem}.container{max-width:1200px;margin:0 auto}.section-tag{display:inline-block;color:var(--magenta);font-size:.75rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-bottom:.8rem}.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);color:var(--deep);line-height:1.2;margin-bottom:1rem}.section-title span{color:var(--magenta)}.section-desc{font-size:1rem;color:#555;max-width:650px;line-height:1.8}.section-desc p{margin-bottom:1rem}#sobre{background:#fff;position:relative;overflow:hidden}#sobre:before{content:'🌸';position:absolute;font-size:20rem;right:-4rem;top:-4rem;opacity:.04}.sobre-grid,.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.sobre-img-frame{width:100%;aspect-ratio:4/5;background:linear-gradient(135deg,var(--magenta),#7B1FA2 50%,var(--deep));border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.sobre-img-frame:before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 20px)}.sobre-icon{font-size:8rem;animation:float 3s ease-in-out infinite}@keyframes float{50%{transform:translateY(-15px)}}.sobre-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--gold);color:var(--deep);width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;text-align:center;box-shadow:0 10px 30px rgba(255,179,0,.4)}.sobre-badge strong{font-size:2rem}.stats-row{display:flex;gap:2rem;margin-top:2.5rem}.stat{text-align:center;padding:1.2rem;background:var(--pink-light);border-radius:16px;flex:1}.stat-num{font-family:'Playfair Display',serif;font-size:2rem;color:var(--magenta);font-weight:900;display:block}.stat-label{font-size:.75rem;color:#777;text-transform:uppercase;letter-spacing:1px}#servicios{background:linear-gradient(180deg,var(--cream),#F8E8FF)}.servicios-header,.horarios-header,#videos{text-align:center}.servicios-header .section-desc,.horarios-header .section-desc,#videos .section-desc{margin:0 auto 3rem}.servicios-grid,.eventos-grid,.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.servicio-card{background:#fff;border-radius:24px;padding:2.5rem 2rem;text-align:center;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:.3s}.servicio-card:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--magenta),var(--saffron))}.servicio-card:hover,.evento-card:hover,.dia-card:hover,.video-placeholder:hover{transform:translateY(-8px)}.servicio-emoji{font-size:3.5rem;margin-bottom:1rem;display:block}.servicio-card h3,.evento-body h3{font-family:'Playfair Display',serif;color:var(--deep);margin-bottom:.8rem}.servicio-card p,.evento-body p{font-size:.88rem;color:#666;line-height:1.7;margin-bottom:1.5rem}.servicio-precio{display:inline-block;background:var(--pink-light);color:var(--magenta);font-weight:700;font-size:.9rem;padding:6px 18px;border-radius:20px}#horarios{background:var(--deep);color:#fff}.horarios-header .section-title,#videos .section-title{color:#fff}.horarios-header .section-title span,#videos .section-title span{color:var(--gold)}.horarios-header .section-desc,#videos .section-desc{color:rgba(255,255,255,.7)}.horarios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.dia-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,179,0,.2);border-radius:20px;padding:2rem 1.5rem;text-align:center;transition:.3s}.dia-card:hover{background:rgba(255,179,0,.1);border-color:var(--gold)}.dia-card.destacado{background:linear-gradient(135deg,rgba(233,30,140,.3),rgba(123,31,162,.3));border-color:var(--magenta)}.dia-nombre{font-size:.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-weight:700}.clase-item{background:rgba(255,255,255,.07);border-radius:10px;padding:10px;margin-bottom:8px}.clase-hora{font-size:.82rem;color:var(--gold);font-weight:700}.clase-nombre{font-size:.8rem;color:rgba(255,255,255,.8)}.clase-niveles{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:4px}.clase-nivel{display:inline-block;font-size:.65rem;padding:2px 8px;border-radius:10px;margin-top:4px;font-weight:600;background:rgba(0,137,123,.4);color:#80CBC4}.nivel-medio{background:rgba(255,111,0,.4);color:#FFCC02}.nivel-avanzado{background:rgba(233,30,140,.4);color:#FF80AB}.nivel-abierto{background:rgba(0,137,123,.4);color:#80CBC4}.horarios-nota{text-align:center;margin-top:3rem;color:rgba(255,255,255,.5);font-size:.85rem}#eventos{background:#fff}.evento-card{border-radius:24px;overflow:hidden;box-shadow:0 4px 25px rgba(0,0,0,.08);transition:.3s}.evento-banner{height:180px;display:flex;align-items:center;justify-content:center;font-size:5rem;position:relative;background:linear-gradient(135deg,#E91E8C,#7B1FA2)}.evento-fecha-badge{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.95);color:var(--magenta);font-weight:700;font-size:.75rem;padding:6px 14px;border-radius:20px;text-transform:uppercase;letter-spacing:1px}.evento-body{padding:1.5rem}.evento-info{display:flex;gap:1rem;font-size:.8rem;color:#888;margin-bottom:1.2rem}.btn-evento{background:linear-gradient(135deg,var(--magenta),var(--saffron));color:#fff;padding:10px 24px;border-radius:25px;font-size:.85rem}#videos{background:linear-gradient(135deg,#1A0A2E,#3D0C52)}.video-placeholder{aspect-ratio:16/9;background:rgba(255,255,255,.05);border:2px dashed rgba(255,179,0,.3);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:rgba(255,255,255,.6);text-decoration:none;transition:.3s}.play-btn{width:60px;height:60px;background:linear-gradient(135deg,var(--magenta),var(--saffron));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.video-placeholder:hover .play-btn{transform:scale(1.1)}.video-label{font-size:.9rem;font-weight:600}#contacto{background:linear-gradient(180deg,var(--cream),#F8E8FF)}.contacto-item{display:flex;gap:1.2rem;align-items:flex-start;margin-bottom:2rem}.contacto-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.ci-magenta{background:linear-gradient(135deg,var(--magenta),#FF4081)}.ci-gold{background:linear-gradient(135deg,var(--gold),var(--saffron))}.ci-teal{background:linear-gradient(135deg,var(--teal),#26A69A)}.contacto-item-text h4{font-weight:700;font-size:.9rem;color:var(--deep);margin-bottom:4px}.contacto-item-text p{font-size:.9rem;color:#666;line-height:1.6}.redes-sociales{margin-top:2rem}.redes-btns{display:flex;gap:.8rem;flex-wrap:wrap}.red-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:25px;font-size:.85rem}.red-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.red-ig{background:linear-gradient(135deg,#833AB4,#E1306C,#F77737);color:#fff}.red-fb{background:#1877F2;color:#fff}.red-yt{background:#FF0000;color:#fff}.contacto-form{background:#fff;border-radius:28px;padding:3rem;box-shadow:0 10px 50px rgba(0,0,0,.08)}.form-title{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--deep);margin-bottom:.5rem}.form-sub{font-size:.88rem;color:#888;margin-bottom:2rem}.form-group{margin-bottom:1.2rem}.form-group label{display:block;font-size:.8rem;font-weight:700;color:var(--deep);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #eee;border-radius:12px;font-family:'Poppins',sans-serif;font-size:.9rem;background:#fafafa;outline:none;resize:none}.form-group input:focus,.form-group textarea:focus{border-color:var(--magenta);background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-form{width:100%;padding:14px;background:linear-gradient(135deg,var(--magenta),var(--saffron));color:#fff;border:0;border-radius:14px;font-family:'Poppins',sans-serif;font-size:1rem;cursor:pointer}footer{background:var(--deep);color:rgba(255,255,255,.7);padding:3rem 2rem 1.5rem;text-align:center}.footer-logo{font-family:'Dancing Script',cursive;font-size:2rem;color:var(--gold);margin-bottom:1rem}.footer-logo span{color:var(--magenta)}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;list-style:none;margin-bottom:2rem}.footer-links a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.82rem}.footer-links a:hover{color:var(--gold)}.footer-divider{border:0;border-top:1px solid rgba(255,255,255,.1);margin:1.5rem 0}.footer-copy{font-size:.8rem;color:rgba(255,255,255,.35)}.footer-copy span{color:var(--magenta)}.whatsapp-float{position:fixed;bottom:2rem;right:2rem;z-index:999;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:0 6px 25px rgba(37,211,102,.5);text-decoration:none;transition:.3s;animation:pulseWa 2s ease infinite}.whatsapp-float:hover{transform:scale(1.1)}.simple-page{padding:140px 2rem 80px;min-height:70vh;background:var(--cream)}@keyframes fadeDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bollywoodIn{from{opacity:0;transform:translateY(34px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scrollAppear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}@keyframes pulseWa{0%,100%{box-shadow:0 6px 25px rgba(37,211,102,.5)}50%{box-shadow:0 6px 42px rgba(37,211,102,.85)}}@media(max-width:768px){html,body{width:100%;max-width:100%;overflow-x:hidden}.masala-nav{height:64px;padding:0 1.1rem}.nav-logo{font-size:1.45rem;white-space:nowrap}.hamburger{display:flex}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;width:100%;background:rgba(26,10,46,.98);padding:1.2rem;gap:.9rem;z-index:1100;flex-direction:column}.nav-links.open{display:flex}.nav-links li{width:100%;text-align:center}.nav-links a{display:block;width:100%;padding:.75rem}#inicio{min-height:100svh;width:100%;padding:84px 1rem 78px}.hero-content{max-width:100%;padding:1rem}.hero-badge{font-size:.62rem;letter-spacing:2px;padding:7px 14px;margin-bottom:1rem}.hero-title{font-size:clamp(2.55rem,12vw,4rem);line-height:1.04}.hero-sub{font-size:1rem;line-height:1.55}.hero-btns{flex-direction:column;align-items:center;gap:.8rem}.btn-primary,.btn-outline{width:min(260px,92vw);text-align:center;padding:13px 22px}.hero-mandala{width:430px;height:430px}.hero-video{object-fit:cover}section{padding:70px 1.2rem}.container{width:100%;max-width:100%}.servicios-grid,.eventos-grid,.video-grid,.horarios-grid{grid-template-columns:1fr}.sobre-grid,.contacto-grid{grid-template-columns:1fr;gap:2.5rem}.stats-row{flex-direction:column}.contacto-form{padding:2rem 1.2rem}.form-row{grid-template-columns:1fr}.whatsapp-float{width:54px;height:54px;right:1rem;bottom:1rem}}

/* === V9 panel de diseño del Hero === */
#inicio{min-height:var(--hero-height,100vh)!important;}
#inicio .hero-video-overlay{background:rgba(26,10,46,var(--hero-overlay-opacity,.55))!important;}
#inicio .hero-content{max-width:var(--hero-content-width,820px)!important;}
#inicio .hero-badge{margin-bottom:var(--hero-gap,18px)!important;}
#inicio .hero-title{font-size:var(--hero-title-size,86px)!important;margin-bottom:var(--hero-gap,18px)!important;}
#inicio .hero-title-line{display:block;}
#inicio .hero-title em{font-size:var(--hero-gold-size,92px)!important;}
#inicio .hero-sub{font-size:var(--hero-sub-size,21px)!important;margin-bottom:calc(var(--hero-gap,18px) * 2)!important;line-height:1.55!important;}
#inicio .hero-btns{gap:var(--hero-gap,18px)!important;}
#inicio .hero-scroll{animation:scrollBounceFull 2s ease-in-out infinite!important;}
#inicio .hero-scroll-inner{animation:scrollAppear .8s ease 1.15s both!important;}
@keyframes scrollBounceFull{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}
@media(max-width:768px){
  #inicio .hero-title{font-size:clamp(2.3rem,11vw,var(--hero-title-size,86px))!important;}
  #inicio .hero-title em{font-size:clamp(2.4rem,12vw,var(--hero-gold-size,92px))!important;}
  #inicio .hero-sub{font-size:clamp(.95rem,4vw,var(--hero-sub-size,21px))!important;}
}

/* V10: controles del panel Inicio aplicados de forma fuerte */
#inicio .hero-title{
  font-size:var(--hero-title-size,86px) !important;
  line-height:1.05 !important;
}
#inicio .hero-title-line{display:block !important;}
#inicio .hero-title em{
  display:block !important;
  font-size:var(--hero-gold-size,92px) !important;
  line-height:1.05 !important;
}
#inicio .hero-sub{
  font-size:var(--hero-sub-size,21px) !important;
  line-height:1.55 !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:300 !important;
  max-width:var(--hero-content-width,820px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#inicio .hero-content{max-width:var(--hero-content-width,820px) !important;}
@media(max-width:768px){
  #inicio .hero-title{font-size:clamp(2.2rem,11vw,var(--hero-title-size,86px)) !important;}
  #inicio .hero-title em{font-size:clamp(2.4rem,12vw,var(--hero-gold-size,92px)) !important;}
  #inicio .hero-sub{font-size:clamp(.95rem,4vw,var(--hero-sub-size,21px)) !important;}
}

/* === V12: panel avanzado Inicio === */
#inicio{
  min-height:var(--hero-height,100vh)!important;
  background-size:cover!important;
  background-position:center!important;
  align-items:var(--hero-vertical,center)!important;
  justify-content:center!important;
}
#inicio .hero-content{
  max-width:var(--hero-content-width,820px)!important;
  text-align:var(--hero-align,center)!important;
  transform:translate(var(--hero-offset-x,0px),var(--hero-offset-y,0px))!important;
}
#inicio .hero-video-overlay{background:rgba(26,10,46,var(--hero-overlay-opacity,.55))!important;}
#inicio .hero-badge{
  font-family:var(--hero-badge-font,'Poppins'),sans-serif!important;
  font-size:var(--hero-badge-size,12px)!important;
  margin-bottom:var(--hero-gap,18px)!important;
}
#inicio .hero-title{
  font-family:var(--hero-title-font,'Playfair Display'),serif!important;
  font-size:var(--hero-title-size,86px)!important;
  margin-bottom:var(--hero-gap,18px)!important;
}
#inicio .hero-title-line{display:block!important;}
#inicio .hero-title em{
  font-family:var(--hero-gold-font,'Playfair Display'),serif!important;
  font-size:var(--hero-gold-size,92px)!important;
}
#inicio .hero-sub{
  font-family:var(--hero-sub-font,'Poppins'),sans-serif!important;
  font-size:var(--hero-sub-size,21px)!important;
  margin-bottom:calc(var(--hero-gap,18px) * 2)!important;
}
#inicio .hero-btns{
  gap:var(--hero-gap,18px)!important;
  justify-content:var(--hero-align,center)!important;
}
#inicio .btn-primary,#inicio .btn-outline{
  font-family:var(--hero-button-font,'Poppins'),sans-serif!important;
  font-size:var(--hero-button-size,15px)!important;
}
#inicio .hero-scroll{animation:scrollBounceFull 2s ease-in-out infinite!important;}
@keyframes scrollBounceFull{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}
@media(max-width:768px){
  #inicio .hero-content{transform:translate(calc(var(--hero-offset-x,0px) * .35),calc(var(--hero-offset-y,0px) * .35))!important;}
  #inicio .hero-title{font-size:clamp(2.2rem,11vw,var(--hero-title-size,86px))!important;}
  #inicio .hero-title em{font-size:clamp(2.4rem,12vw,var(--hero-gold-size,92px))!important;}
  #inicio .hero-sub{font-size:clamp(.95rem,4vw,var(--hero-sub-size,21px))!important;}
}


/* === V13: panel más bonito + posición individual por botón === */
#inicio .hero-btns a.hero-btn-pos{
  --btn-x:0px;
  --btn-y:0px;
  --btn-hover-y:0px;
  transform:translate(var(--btn-x), calc(var(--btn-y) + var(--btn-hover-y))) !important;
}
#inicio .hero-btns a.hero-btn-pos:hover{
  --btn-hover-y:-3px;
}
@media(max-width:768px){
  #inicio .hero-btns a.hero-btn-pos{
    transform:translate(calc(var(--btn-x) * .35), calc(var(--btn-y) * .35 + var(--btn-hover-y))) !important;
  }
}

/* === V15: elementos libres del constructor visual en Inicio === */
#inicio .hero-free-layer{position:absolute;inset:0;z-index:7;pointer-events:none;}
#inicio .hero-free-element{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;animation:fadeUp .85s ease both;text-shadow:0 4px 18px rgba(0,0,0,.28);line-height:1.2;}
#inicio .hero-free-heading{font-weight:800;}
#inicio .hero-free-text{font-weight:400;white-space:pre-line;}
#inicio .hero-free-image{height:auto;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.28);object-fit:cover;text-shadow:none;}
#inicio .hero-free-link{display:inline-block;text-decoration:none;color:#fff;border-bottom:1px solid rgba(255,255,255,.7);padding:6px 4px;font-weight:700;}
@media(max-width:768px){#inicio .hero-free-element{font-size:clamp(14px,4vw,32px)!important;max-width:88vw!important;}#inicio .hero-free-image{max-width:78vw!important;}}

/* V21: bloques extra en flujo normal */
#inicio{display:flex;flex-direction:column;align-items:center;justify-content:center;}
#inicio .hero-flow-blocks{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;padding:0 1rem 70px;margin-top:28px;pointer-events:auto;}
#inicio .hero-flow-element{animation:fadeUp .85s ease both;text-shadow:0 4px 18px rgba(0,0,0,.28);line-height:1.25;}
#inicio .hero-flow-heading{font-weight:800;}
#inicio .hero-flow-text{white-space:pre-line;}
#inicio .hero-flow-image{height:auto;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.28);object-fit:cover;text-shadow:none;}
#inicio .hero-flow-blocks .btn-primary,#inicio .hero-flow-blocks .btn-outline{display:inline-block;text-decoration:none;}
@media(max-width:768px){#inicio .hero-flow-element{font-size:clamp(14px,4vw,32px)!important;max-width:88vw!important;}#inicio .hero-flow-image{max-width:78vw!important;}}


/* === V23D: preview/drag estable + hero no se agranda al mover el título === */
#inicio{
  height:var(--hero-height,100vh)!important;
  min-height:var(--hero-height,100vh)!important;
  max-height:none;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#inicio .hero-content{
  margin-left:0!important;
  margin-top:0!important;
  text-align:center!important;
}
#inicio .hero-btns{justify-content:center!important;}
#inicio .hero-sub{margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
#inicio .hero-flow-blocks{
  flex:0 0 auto!important;
}
body.masala-builder-preview #inicio{
  height:100vh!important;
  min-height:100vh!important;
  overflow:hidden!important;
}
@media(max-width:768px){
  #inicio{height:100svh!important;min-height:100svh!important;}
}

/* V24 Sobre Nosotros editable */
.sobre-v24{background:#fff;position:relative;overflow:hidden}.sobre-v24 .section-tag{color:var(--about-tag-color)}.sobre-v24 .section-title{font-size:var(--about-title-size);color:var(--about-title-color)}.sobre-v24 .section-title span{color:var(--about-accent)}.sobre-grid-v24{gap:var(--about-gap)}.sobre-layout-image-right .sobre-visual{order:2}.sobre-layout-image-right .sobre-content-v24{order:1}.sobre-gallery-wrap{position:relative}.sobre-gallery{height:var(--about-image-height);border-radius:var(--about-card-radius);position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(26,10,46,.15);background:linear-gradient(135deg,var(--magenta),#7B1FA2 50%,var(--deep))}.sobre-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 3.5s ease}.sobre-slide.active{opacity:1;transform:scale(1)}.sobre-slide-empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--magenta),#7B1FA2 50%,var(--deep))}.sobre-gallery-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,10,46,var(--about-overlay)),rgba(233,30,140,calc(var(--about-overlay) * .55)));z-index:2}.sobre-gallery:after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 20px);z-index:3;pointer-events:none}.sobre-gallery-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;display:flex;gap:8px}.sobre-gallery-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer;padding:0}.sobre-gallery-dots button.active{background:var(--about-accent);transform:scale(1.2)}.sobre-badge-v24{z-index:5;background:var(--about-accent)}.sobre-text{font-size:var(--about-text-size);max-width:760px}.stats-row-v24 .stat-num{color:var(--magenta)}@media(max-width:768px){.sobre-layout-image-right .sobre-visual,.sobre-layout-image-right .sobre-content-v24{order:initial}.sobre-gallery{height:min(var(--about-image-height),520px)}.sobre-v24 .section-title{font-size:clamp(2rem,9vw,var(--about-title-size))}}

/* V25 Sobre Nosotros PRO: carrusel multimedia y panel limpio */
.sobre-v25{background:linear-gradient(180deg,#fff 0%,#fff8f0 100%)}
.sobre-v25 .sobre-gallery{isolation:isolate;background:#1a0a2e;border:1px solid rgba(255,179,0,.22)}
.sobre-v25 .sobre-media-slide{background:none;overflow:hidden}
.sobre-v25 .sobre-media-slide img,.sobre-v25 .sobre-media-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sobre-v25 .sobre-media-slide video{background:#000}
.sobre-v25 .sobre-media-caption{position:absolute;left:22px;top:22px;z-index:4;background:rgba(26,10,46,.72);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,179,0,.35);border-radius:999px;padding:8px 16px;font-size:.74rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.sobre-v25 .sobre-badge,.sobre-v25 .sobre-badge-v24{display:none!important}
.sobre-v25 .sobre-tv-card{display:inline-flex;align-items:center;gap:16px;margin:18px 0 12px;padding:16px 22px;border-radius:22px;background:linear-gradient(135deg,var(--magenta),var(--saffron));color:#fff;box-shadow:0 12px 34px rgba(233,30,140,.22)}
.sobre-v25 .sobre-tv-number{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:900;line-height:1}
.sobre-v25 .sobre-tv-label{text-transform:uppercase;letter-spacing:1.2px;font-weight:800;font-size:.78rem;max-width:130px;line-height:1.25}
.sobre-v25 .sobre-info-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.sobre-v25 .sobre-info-panel{background:#fff;border:1px solid rgba(26,10,46,.08);border-radius:20px;padding:18px;box-shadow:0 8px 28px rgba(26,10,46,.06)}
.sobre-v25 .sobre-info-panel h3{font-family:'Playfair Display',serif;color:var(--deep);font-size:1.08rem;margin:0 0 10px}
.sobre-v25 .sobre-info-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sobre-v25 .sobre-info-panel li{position:relative;padding-left:20px;color:#555;font-size:.92rem;line-height:1.45}
.sobre-v25 .sobre-info-panel li:before{content:'✦';position:absolute;left:0;top:0;color:var(--about-accent);font-size:.8rem}
@media(max-width:768px){.sobre-v25 .sobre-info-panels{grid-template-columns:1fr}.sobre-v25 .sobre-tv-card{width:100%;justify-content:center}.sobre-v25 .sobre-media-caption{left:14px;top:14px;font-size:.65rem}}

/* V26: carrusel vacío por defecto + responsive móvil completo */
.sobre-v25 .sobre-gallery-empty{
  background:transparent!important;
  box-shadow:none!important;
  border:2px dashed rgba(26,10,46,.08)!important;
  min-height:320px;
}
.sobre-v25 .sobre-gallery-empty .sobre-slide-empty,
.sobre-v25 .sobre-gallery-empty .sobre-gallery-overlay{display:none!important;}
.sobre-v25 .sobre-gallery-empty:after{display:none!important;}
@media(max-width:900px){
  .sobre-grid-v24{grid-template-columns:1fr!important;gap:34px!important;}
  .sobre-layout-image-right .sobre-visual{order:1!important;}
  .sobre-layout-image-right .sobre-content-v24{order:2!important;}
  .sobre-v24,.sobre-v25{padding:64px 18px!important;}
  .sobre-v24 .section-tag{font-size:.78rem!important;letter-spacing:2px!important;}
  .sobre-v24 .section-title{font-size:clamp(2rem,8vw,3rem)!important;line-height:1.08!important;margin-bottom:16px!important;}
  .sobre-text{font-size:clamp(15px,4vw,17px)!important;line-height:1.72!important;max-width:100%!important;}
  .sobre-v25 .sobre-gallery{height:clamp(300px,72vw,480px)!important;border-radius:22px!important;width:100%!important;}
  .sobre-v25 .sobre-gallery-empty{height:0!important;min-height:0!important;border:0!important;margin:0!important;overflow:hidden!important;}
  .sobre-v25 .sobre-tv-card{width:100%!important;max-width:360px!important;margin:18px auto!important;padding:14px 18px!important;border-radius:18px!important;}
  .sobre-v25 .sobre-tv-number{font-size:2rem!important;}
  .sobre-v25 .sobre-tv-label{font-size:.72rem!important;max-width:120px!important;}
  .sobre-v25 .sobre-info-panels{grid-template-columns:1fr!important;gap:12px!important;}
  .sobre-v25 .sobre-info-panel{padding:16px!important;border-radius:16px!important;}
  .sobre-v25 .sobre-info-panel li{font-size:.9rem!important;}
}
@media(max-width:768px){
  body{font-size:16px!important;overflow-x:hidden!important;}
  .masala-nav{height:62px!important;padding:0 16px!important;}
  .nav-logo{font-size:1.35rem!important;}
  .nav-links{top:62px!important;max-height:calc(100vh - 62px);overflow:auto;}
  #inicio{min-height:100svh!important;padding:82px 16px 76px!important;background-position:center!important;}
  .hero-content{width:100%!important;max-width:100%!important;transform:translate(0,0)!important;padding:0 4px!important;}
  .hero-title{font-size:clamp(2.4rem,12vw,3.7rem)!important;line-height:1.02!important;}
  .hero-title em{display:block!important;font-size:clamp(2.7rem,14vw,4.2rem)!important;}
  .hero-sub{font-size:clamp(.95rem,4vw,1.08rem)!important;line-height:1.55!important;max-width:92vw!important;margin-left:auto!important;margin-right:auto!important;}
  .hero-btns{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;gap:12px!important;}
  .hero-btns a{width:min(290px,90vw)!important;max-width:90vw!important;text-align:center!important;padding:13px 18px!important;font-size:.92rem!important;transform:none!important;}
  section{padding:64px 18px!important;}
  .section-title{font-size:clamp(2rem,9vw,3rem)!important;line-height:1.08!important;}
  .section-desc{font-size:1rem!important;line-height:1.65!important;}
  .servicios-grid,.eventos-grid,.horarios-grid,.video-grid,.contacto-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .servicio-card,.evento-card,.dia-card,.video-card,.contacto-form{border-radius:20px!important;padding:22px 18px!important;}
  .contacto-item{align-items:flex-start!important;gap:12px!important;}
  .redes-btns{flex-direction:column!important;align-items:stretch!important;}
  .red-btn{width:100%!important;text-align:center!important;}
  .footer-links{flex-direction:column!important;gap:12px!important;}
  .whatsapp-float{width:52px!important;height:52px!important;right:14px!important;bottom:14px!important;}
}
@media(max-width:420px){
  .hero-badge{font-size:.56rem!important;letter-spacing:1.6px!important;padding:7px 12px!important;}
  .hero-title{font-size:2.25rem!important;}
  .hero-title em{font-size:2.75rem!important;}
  .sobre-v25 .sobre-tv-card{flex-direction:column!important;text-align:center!important;gap:6px!important;}
  .sobre-v25 .sobre-tv-label{max-width:none!important;}
}

/* V27 Apariciones en TV: reemplaza Nuestras Clases */
.tv-appearances{background:linear-gradient(180deg,#fff,#fff8f0);position:relative;overflow:hidden}
.tv-appearances:before{content:'TV';position:absolute;right:-20px;top:20px;font-family:'Playfair Display',serif;font-size:180px;font-weight:900;color:rgba(233,30,140,.035);line-height:1;pointer-events:none}
.tv-appearances .section-tag{color:var(--tv-tag-color)}
.tv-appearances .section-title{font-size:var(--tv-title-size);color:var(--tv-title-color);max-width:920px;margin-left:auto;margin-right:auto;text-align:center;font-family:var(--tv-title-font)}
.tv-header{text-align:center;max-width:900px;margin:0 auto 42px;position:relative;z-index:2}
.tv-intro{font-size:var(--tv-text-size);max-width:780px;margin:0 auto;color:#555;text-align:center;font-family:var(--tv-text-font)}
.tv-carousel{position:relative;max-width:1050px;margin:0 auto;padding:0 58px 48px;z-index:2}
.tv-track{position:relative;min-height:560px}
.tv-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateY(18px) scale(.98);transition:opacity .45s ease,transform .45s ease}
.tv-slide.active{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.tv-video-frame{aspect-ratio:16/9;background:#12051f;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(26,10,46,.18);border:1px solid rgba(26,10,46,.08)}
.tv-video-frame iframe{width:100%;height:100%;border:0;display:block}
.tv-slide-copy{max-width:820px;margin:22px auto 0;background:#fff;border:1px solid rgba(26,10,46,.08);border-radius:22px;padding:20px 24px;box-shadow:0 12px 40px rgba(26,10,46,.08);text-align:center}
.tv-slide-copy h3{font-family:var(--tv-card-title-font);font-size:1.55rem;line-height:1.2;color:var(--deep);margin:0 0 8px}
.tv-slide-copy p{color:#60606b;line-height:1.7;margin:0;font-size:.98rem;font-family:var(--tv-card-text-font)}
.tv-arrow{position:absolute;top:245px;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--magenta),var(--saffron));color:#fff;font-size:34px;line-height:1;cursor:pointer;z-index:5;box-shadow:0 10px 32px rgba(233,30,140,.28);display:flex;align-items:center;justify-content:center;padding-bottom:4px}
.tv-prev{left:0}.tv-next{right:0}
.tv-dots{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;gap:9px;z-index:6}
.tv-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(26,10,46,.2);padding:0;cursor:pointer}
.tv-dots button.active{background:var(--tv-accent);transform:scale(1.25)}
.tv-empty{max-width:780px;margin:0 auto;background:#fff;border:1px dashed rgba(26,10,46,.18);border-radius:24px;padding:34px;text-align:center;color:#777;box-shadow:0 14px 40px rgba(26,10,46,.06)}
@media(max-width:768px){.tv-appearances{padding:64px 1rem}.tv-appearances:before{font-size:100px;right:-10px;top:30px}.tv-appearances .section-title{font-size:clamp(2rem,9vw,var(--tv-title-size));text-align:left}.tv-header{text-align:left;margin-bottom:28px}.tv-intro{text-align:left;font-size:1rem}.tv-carousel{padding:0 0 42px}.tv-track{min-height:390px}.tv-video-frame{border-radius:20px}.tv-slide-copy{margin-top:14px;border-radius:18px;padding:16px;text-align:left}.tv-slide-copy h3{font-size:1.25rem}.tv-slide-copy p{font-size:.9rem}.tv-arrow{top:auto;bottom:-2px;width:38px;height:38px;font-size:28px}.tv-prev{left:calc(50% - 96px)}.tv-next{right:calc(50% - 96px)}.tv-dots{bottom:10px}.tv-empty{padding:22px 18px;border-radius:20px}}
@media(max-width:420px){.tv-track{min-height:360px}.tv-slide-copy h3{font-size:1.15rem}.tv-slide-copy p{font-size:.86rem}}
.tv-link-card{min-height:420px;background:linear-gradient(135deg,#1A0A2E,#4b0b35);border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;text-decoration:none;padding:34px;box-shadow:0 24px 70px rgba(26,10,46,.18);border:1px solid rgba(255,255,255,.12)}
.tv-link-card:hover{transform:translateY(-2px);color:#fff}
.tv-play-icon{width:74px;height:74px;border-radius:999px;background:linear-gradient(135deg,var(--magenta),var(--saffron));display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:18px;box-shadow:0 14px 35px rgba(233,30,140,.28)}
.tv-link-card strong{font-family:var(--tv-card-title-font);font-size:1.7rem;line-height:1.2;margin-bottom:10px}.tv-link-card small{color:rgba(255,255,255,.78);font-size:.95rem;max-width:440px;line-height:1.6}
@media(max-width:768px){.tv-link-card{min-height:260px;border-radius:20px;padding:24px 18px}.tv-play-icon{width:58px;height:58px;font-size:22px}.tv-link-card strong{font-size:1.25rem}.tv-link-card small{font-size:.84rem}}

/* V28 Apariciones en TV: dos carruseles izquierda/derecha */
.tv-appearances-duo .tv-header{margin-bottom:34px}
.tv-duo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start;position:relative;z-index:2;max-width:1240px;margin:0 auto}
.tv-duo-panel{min-width:0;background:rgba(255,255,255,.72);border:1px solid rgba(26,10,46,.08);border-radius:30px;padding:22px;box-shadow:0 18px 60px rgba(26,10,46,.08);backdrop-filter:blur(8px)}
.tv-panel-title{font-family:var(--tv-panel-title-font);font-size:1.7rem;color:var(--deep);margin:0 0 18px;text-align:center}
.tv-duo-grid .tv-carousel{max-width:none;padding:0 42px 48px}
.tv-duo-grid .tv-track{min-height:430px}
.tv-duo-grid .tv-arrow{top:190px;width:40px;height:40px;font-size:30px}
.tv-duo-grid .tv-slide-copy{margin-top:16px;padding:16px 18px;border-radius:18px}
.tv-duo-grid .tv-slide-copy h3{font-size:1.25rem}
.tv-duo-grid .tv-slide-copy p{font-size:.92rem}
.tv-image-frame{aspect-ratio:4/3;background:#12051f;border-radius:24px;overflow:hidden;box-shadow:0 20px 55px rgba(26,10,46,.14);border:1px solid rgba(26,10,46,.08)}
.tv-image-frame img{width:100%;height:100%;object-fit:cover;display:block}
.tv-duo-grid .tv-video-frame{border-radius:24px}
.tv-duo-grid .tv-link-card{min-height:310px;border-radius:24px}
.tv-empty-small{padding:26px 18px;font-size:.94rem;min-height:160px;display:flex;align-items:center;justify-content:center}
@media(max-width:980px){
  .tv-duo-grid{grid-template-columns:1fr;gap:24px;max-width:720px}
  .tv-duo-panel{border-radius:24px;padding:18px}
  .tv-duo-grid .tv-track{min-height:380px}
  .tv-duo-grid .tv-arrow{top:auto;bottom:-2px}
}
@media(max-width:768px){
  .tv-duo-grid{gap:22px}
  .tv-panel-title{text-align:left;font-size:1.45rem;margin-bottom:14px}
  .tv-duo-grid .tv-carousel{padding:0 0 42px}
  .tv-duo-grid .tv-track{min-height:330px}
  .tv-image-frame{border-radius:18px}
  .tv-duo-grid .tv-video-frame{border-radius:18px}
  .tv-duo-grid .tv-arrow{width:36px;height:36px;font-size:26px}
  .tv-duo-grid .tv-prev{left:calc(50% - 92px)}
  .tv-duo-grid .tv-next{right:calc(50% - 92px)}
  .tv-duo-grid .tv-slide-copy{text-align:left;padding:14px;margin-top:12px}
}
@media(max-width:420px){
  .tv-duo-panel{padding:14px;border-radius:20px}
  .tv-duo-grid .tv-track{min-height:300px}
  .tv-image-frame{aspect-ratio:1/1}
}

/* V29 Apariciones en TV: fuentes editables y botón YouTube */
.tv-youtube-cta{position:relative;z-index:3;text-align:center;margin:38px auto 0;display:flex;flex-direction:column;align-items:center;gap:10px}
.tv-youtube-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:999px;background:linear-gradient(135deg,#ff0033,#ff5a1f);color:#fff;text-decoration:none;font-weight:800;font-family:var(--tv-text-font);box-shadow:0 18px 45px rgba(255,0,51,.22);transition:transform .2s ease,box-shadow .2s ease}
.tv-youtube-button:hover{color:#fff;transform:translateY(-2px);box-shadow:0 22px 55px rgba(255,0,51,.28)}
.tv-youtube-channel{font-family:var(--tv-card-text-font);font-weight:700;color:var(--deep);letter-spacing:.02em}
.tv-duo-panel,.tv-slide-copy,.tv-link-card{font-family:var(--tv-text-font)}
@media(max-width:768px){.tv-youtube-cta{margin-top:28px}.tv-youtube-button{width:100%;max-width:360px;padding:15px 18px;font-size:.95rem}.tv-youtube-channel{font-size:.95rem}}


/* V29B - Fuentes separadas para cada parte de Apariciones en TV */
.tv-images-heading{font-family:var(--tv-images-heading-font)!important;}
.tv-videos-heading{font-family:var(--tv-videos-heading-font)!important;}
.tv-image-copy p{font-family:var(--item-image-caption-font,var(--tv-image-caption-font))!important;}
.tv-video-copy h3{font-family:var(--item-video-title-font,var(--tv-video-title-font))!important;}
.tv-video-copy p{font-family:var(--item-video-desc-font,var(--tv-video-desc-font))!important;}
.tv-youtube-button,.tv-youtube-channel{font-family:var(--tv-youtube-font)!important;}

/* V29C: fuentes consistentes por defecto para tarjetas de imágenes y vídeos */
.tv-slide-copy, .tv-slide-copy p, .tv-slide-copy h3{line-height:1.45;}
.tv-image-copy p{font-family:var(--item-image-caption-font,var(--tv-image-caption-font, var(--tv-card-text-font, 'Poppins', sans-serif)))!important;}
.tv-video-copy h3{font-family:var(--item-video-title-font,var(--tv-video-title-font, var(--tv-image-caption-font, 'Poppins', sans-serif)))!important;}
.tv-video-copy p{font-family:var(--item-video-desc-font,var(--tv-video-desc-font, var(--tv-card-text-font, 'Poppins', sans-serif)))!important;}

/* V29E - Apariciones TV: textos con presencia y tamaños editables */
.tv-panel-title{font-size:var(--tv-panel-heading-size,28px)!important;}
.tv-image-copy p{
  font-family:var(--item-image-caption-font,var(--tv-image-caption-font,'Poppins',sans-serif))!important;
  font-size:var(--item-image-caption-size,var(--tv-image-caption-size,18px))!important;
  font-weight:600!important;
  color:var(--deep,#1A0A2E)!important;
  line-height:1.35!important;
}
.tv-video-copy h3{
  font-family:var(--item-video-title-font,var(--tv-video-title-font,'Poppins',sans-serif))!important;
  font-size:var(--item-video-title-size,var(--tv-video-title-size,18px))!important;
  font-weight:600!important;
  color:var(--deep,#1A0A2E)!important;
  line-height:1.25!important;
}
.tv-video-copy p{
  font-family:var(--item-video-desc-font,var(--tv-video-desc-font,'Poppins',sans-serif))!important;
  font-size:var(--item-video-desc-size,var(--tv-video-desc-size,15px))!important;
  font-weight:500!important;
  color:#555466!important;
  line-height:1.45!important;
}
.tv-duo-grid .tv-slide-copy{min-height:64px;display:flex;align-items:center;justify-content:center;flex-direction:column;}
@media(max-width:768px){
  .tv-panel-title{font-size:clamp(22px,7vw,var(--tv-panel-heading-size,28px))!important;}
  .tv-image-copy p{font-size:clamp(15px,4.5vw,var(--tv-image-caption-size,18px))!important;}
  .tv-video-copy h3{font-size:clamp(15px,4.5vw,var(--tv-video-title-size,18px))!important;}
  .tv-video-copy p{font-size:clamp(13px,4vw,var(--tv-video-desc-size,15px))!important;}
}


/* V29F - FIX: la fuente de vídeos ahora manda de verdad.
   Si cada vídeo está en "Usar fuente general", toma la fuente general de vídeos.
   Además iguala presencia entre texto de imágenes y de vídeos. */
.tv-appearances .tv-image-copy p,
.tv-appearances .tv-video-copy h3{
  font-family:var(--item-card-font,var(--item-video-title-font,var(--item-image-caption-font,var(--tv-video-title-font,var(--tv-image-caption-font,'Poppins',sans-serif)))))!important;
  font-weight:700!important;
  color:var(--deep,#1A0A2E)!important;
  letter-spacing:0!important;
}
.tv-appearances .tv-image-copy p{
  font-size:var(--item-image-caption-size,var(--tv-image-caption-size,18px))!important;
}
.tv-appearances .tv-video-copy h3{
  font-size:var(--item-video-title-size,var(--tv-video-title-size,18px))!important;
}
.tv-appearances .tv-video-copy p{
  font-family:var(--item-video-desc-font,var(--tv-video-desc-font,var(--tv-video-title-font,'Poppins',sans-serif)))!important;
  font-size:var(--item-video-desc-size,var(--tv-video-desc-size,15px))!important;
}
.tv-appearances .tv-slide-copy{
  min-height:70px!important;
  padding:16px 22px!important;
}

/* V29G - Optimización móvil Apariciones en TV */
@media (max-width: 768px){
  .tv-appearances.tv-appearances-duo{
    padding:52px 0 58px!important;
    overflow:hidden!important;
  }
  .tv-appearances .container{
    width:100%!important;
    max-width:100%!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .tv-duo-grid{
    display:block!important;
    max-width:100%!important;
  }
  .tv-duo-panel{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 34px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .tv-panel-title{
    text-align:left!important;
    margin:0 0 18px!important;
    font-size:clamp(34px,10vw,44px)!important;
    line-height:1.05!important;
  }
  .tv-duo-grid .tv-carousel{
    width:100%!important;
    padding:0 0 58px!important;
    overflow:visible!important;
  }
  .tv-duo-grid .tv-track{
    min-height:0!important;
    height:auto!important;
  }
  .tv-duo-grid .tv-slide{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .tv-duo-grid .tv-slide.active{
    display:block!important;
  }
  .tv-image-frame,
  .tv-duo-grid .tv-video-frame{
    width:100%!important;
    border-radius:18px!important;
  }
  .tv-image-frame{
    aspect-ratio:4/3!important;
    max-height:390px!important;
  }
  .tv-image-frame img{
    object-fit:cover!important;
  }
  .tv-duo-grid .tv-slide-copy{
    width:100%!important;
    max-width:100%!important;
    margin:16px auto 0!important;
    padding:16px 18px!important;
    border-radius:18px!important;
    min-height:auto!important;
    text-align:center!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 10px 32px rgba(26,10,46,.10)!important;
  }
  .tv-appearances .tv-image-copy p,
  .tv-appearances .tv-video-copy h3{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    font-size:clamp(18px,5.2vw,var(--item-image-caption-size,var(--tv-image-caption-size,20px)))!important;
    line-height:1.25!important;
    color:var(--deep,#1A0A2E)!important;
    text-shadow:none!important;
  }
  .tv-appearances .tv-video-copy h3{
    font-size:clamp(20px,5.5vw,var(--item-video-title-size,var(--tv-video-title-size,22px)))!important;
  }
  .tv-appearances .tv-video-copy p{
    margin-top:8px!important;
    text-align:center!important;
    font-size:clamp(14px,4vw,var(--item-video-desc-size,var(--tv-video-desc-size,15px)))!important;
  }
  .tv-duo-grid .tv-arrow{
    top:auto!important;
    bottom:4px!important;
    width:42px!important;
    height:42px!important;
    font-size:30px!important;
    background:linear-gradient(135deg,#8b0018,#ff4b2b)!important;
    box-shadow:0 12px 26px rgba(120,0,30,.28)!important;
  }
  .tv-duo-grid .tv-prev{left:calc(50% - 86px)!important;right:auto!important;}
  .tv-duo-grid .tv-next{right:calc(50% - 86px)!important;left:auto!important;}
  .tv-dots{bottom:18px!important;}
}
@media (max-width: 420px){
  .tv-appearances .container{padding-left:16px!important;padding-right:16px!important;}
  .tv-image-frame{max-height:360px!important;}
  .tv-panel-title{font-size:clamp(32px,11vw,42px)!important;}
}


/* V29K - botones modernos laterales semitransparentes para carruseles TV */
.tv-duo-grid .tv-carousel{
  padding-left:56px !important;
  padding-right:56px !important;
}
.tv-duo-grid .tv-arrow{
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  width:38px !important;
  height:128px !important;
  border-radius:999px !important;
  background:rgba(26,10,46,.22) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:0 18px 45px rgba(26,10,46,.18) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  font-size:34px !important;
  line-height:1 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:.9 !important;
}
.tv-duo-grid .tv-arrow:hover{
  background:linear-gradient(180deg,rgba(233,30,140,.72),rgba(255,95,31,.72)) !important;
  transform:translateY(-50%) scale(1.03) !important;
  opacity:1 !important;
}
.tv-duo-grid .tv-prev{left:10px !important;right:auto !important;}
.tv-duo-grid .tv-next{right:10px !important;left:auto !important;}
.tv-duo-grid .tv-arrow:focus{outline:2px solid rgba(255,179,0,.75);outline-offset:3px;}

@media(max-width:768px){
  .tv-duo-grid .tv-carousel{
    padding-left:44px !important;
    padding-right:44px !important;
    padding-bottom:18px !important;
  }
  .tv-duo-grid .tv-arrow{
    top:42% !important;
    bottom:auto !important;
    width:34px !important;
    height:112px !important;
    font-size:30px !important;
    background:rgba(26,10,46,.30) !important;
  }
  .tv-duo-grid .tv-prev{left:4px !important;right:auto !important;}
  .tv-duo-grid .tv-next{right:4px !important;left:auto !important;}
  .tv-dots{bottom:-6px !important;}
}
@media(max-width:420px){
  .tv-duo-grid .tv-carousel{
    padding-left:36px !important;
    padding-right:36px !important;
  }
  .tv-duo-grid .tv-arrow{
    width:30px !important;
    height:98px !important;
    font-size:26px !important;
  }
}


/* V30 - Horarios editable */
.masala-schedule-page {
  background: linear-gradient(180deg, #fff7fb 0%, #fff 45%, #f9ecff 100%);
  padding: 90px 0;
}
.schedule-hero { padding: 20px 0 40px; }
.schedule-header { max-width: 920px; margin: 0 auto 42px; }
.schedule-intro {
  max-width: 860px;
  margin: 18px auto 0;
  line-height: 1.8;
  color: #4f4656;
  font-size: 1.03rem;
}
.schedule-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  align-items: stretch;
}
.schedule-day-card {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(73, 15, 87, .10);
  border-radius: 28px;
  padding: 26px;
  box-shadow: 0 22px 60px rgba(95, 27, 92, .10);
  backdrop-filter: blur(10px);
}
.schedule-day-card h2,
.schedule-day-card h3 {
  font-family: 'Playfair Display', serif;
  color: var(--deep);
  font-size: clamp(1.65rem, 3vw, 2.2rem);
  margin: 0 0 18px;
  text-align: center;
}
.schedule-class-list { display: grid; gap: 14px; }
.schedule-class-card {
  background: linear-gradient(180deg, #ffffff, #fff8fd);
  border: 1px solid rgba(233,30,139,.12);
  border-radius: 20px;
  padding: 18px;
  position: relative;
  overflow: hidden;
}
.schedule-class-card:before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--magenta), var(--saffron));
}
.schedule-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: .86rem;
  color: var(--magenta);
  margin-bottom: 8px;
}
.schedule-class-card h3,
.schedule-class-card h4 {
  font-family: 'Playfair Display', serif;
  color: var(--deep);
  font-size: 1.25rem;
  line-height: 1.25;
  margin: 0 0 10px;
}
.schedule-level {
  display: inline-flex;
  border-radius: 999px;
  padding: 7px 12px;
  font-family: 'Poppins', sans-serif;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .03em;
  color: #fff;
  background: linear-gradient(135deg, #ed2a8f, #ff7a1a);
  margin-bottom: 10px;
}
.schedule-level.level-principiante { background: linear-gradient(135deg,#2bb673,#7ed957); }
.schedule-level.level-intermedio { background: linear-gradient(135deg,#ffb300,#ff6f00); }
.schedule-level.level-avanzado { background: linear-gradient(135deg,#8d1fb4,#ed2a8f); }
.schedule-level.level-todos { background: linear-gradient(135deg,#211033,#ed2a8f); }
.schedule-class-card p {
  margin: 8px 0 0;
  color: #62586a;
  line-height: 1.65;
  font-size: .93rem;
}
.schedule-note,
.schedule-empty,
.schedule-no-class {
  text-align: center;
  color: #6d6273;
  margin-top: 28px;
  font-family: 'Poppins', sans-serif;
}
.schedule-empty {
  background: rgba(255,255,255,.85);
  border: 1px dashed rgba(233,30,139,.25);
  border-radius: 24px;
  padding: 28px;
  max-width: 760px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .masala-schedule-page { padding: 62px 0; }
  .schedule-header { margin-bottom: 28px; padding: 0 8px; }
  .schedule-intro { font-size: .96rem; line-height: 1.7; }
  .schedule-grid { grid-template-columns: 1fr; gap: 18px; }
  .schedule-day-card { border-radius: 22px; padding: 20px 16px; }
  .schedule-class-card { border-radius: 18px; padding: 16px 16px 16px 18px; }
  .schedule-day-card h2,
  .schedule-day-card h3 { font-size: 1.75rem; }
}


/* V31 - Horarios estilo referencia oscuro */
.schedule-dark-reference,
#horarios.schedule-dark-reference {
  background:
    radial-gradient(circle at 30% 20%, rgba(233, 30, 139, .13), transparent 28%),
    radial-gradient(circle at 76% 28%, rgba(255, 179, 0, .10), transparent 26%),
    #190527 !important;
  color: #fff;
  padding: 86px 0 92px;
}

.schedule-dark-reference .horarios-header,
.schedule-dark-reference .schedule-header {
  max-width: 980px;
  margin: 0 auto 34px;
  text-align: center !important;
}

.schedule-dark-reference .section-tag {
  color: #ffb300 !important;
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  letter-spacing: .33em;
  text-transform: uppercase;
  font-size: .78rem;
}

.schedule-dark-reference .section-title {
  color: #fff !important;
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.7rem, 5vw, 4.4rem);
  line-height: 1.05;
  margin: 16px 0 14px;
  text-shadow: 0 12px 35px rgba(0,0,0,.25);
}

.schedule-dark-reference .section-title span,
.schedule-dark-reference .section-title em {
  color: #ffb300 !important;
  font-style: normal;
}

.schedule-dark-reference .schedule-intro {
  color: rgba(255,255,255,.76);
  max-width: 820px;
  margin: 16px auto 0;
  line-height: 1.75;
}

.schedule-dark-reference .schedule-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(210px, 1fr));
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
  align-items: stretch;
}

.schedule-dark-reference .schedule-day-card {
  background: rgba(41, 20, 60, .86);
  border: 1px solid rgba(255, 179, 0, .35);
  box-shadow: none;
  border-radius: 20px;
  padding: 30px 22px;
  min-height: 290px;
  backdrop-filter: none;
}

.schedule-dark-reference .schedule-day-card:nth-child(even) {
  background: rgba(104, 14, 92, .82);
  border-color: rgba(233, 30, 139, .82);
}

.schedule-dark-reference .schedule-day-card h2,
.schedule-dark-reference .schedule-day-card h3 {
  color: #ffb300 !important;
  font-family: 'Poppins', sans-serif;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-weight: 900;
  margin: 0 0 20px;
  text-align: center;
}

.schedule-dark-reference .schedule-class-list {
  display: grid;
  gap: 12px;
}

.schedule-dark-reference .schedule-class-card {
  background: rgba(255,255,255,.10);
  border: 0;
  border-radius: 9px;
  padding: 14px 12px;
  text-align: center;
  min-height: 66px;
  box-shadow: none;
}

.schedule-dark-reference .schedule-class-card:before {
  display: none;
}

.schedule-dark-reference .schedule-time {
  color: #ffdd00;
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: .9rem;
  justify-content: center;
  margin: 0 0 7px;
  display: flex;
}

.schedule-dark-reference .schedule-class-card h3,
.schedule-dark-reference .schedule-class-card h4 {
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: .94rem;
  font-weight: 800;
  margin: 0 0 8px;
}

.schedule-dark-reference .schedule-level {
  padding: 5px 11px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: 0;
  margin: 2px 2px 0;
  display: inline-flex;
  line-height: 1;
}

.schedule-dark-reference .schedule-level.level-principiante {
  background: #138d9a;
}

.schedule-dark-reference .schedule-level.level-intermedio {
  background: #c35c15;
}

.schedule-dark-reference .schedule-level.level-avanzado {
  background: #cf2d88;
}

.schedule-dark-reference .schedule-level.level-todos {
  background: #138d9a;
}

.schedule-dark-reference .schedule-class-card p {
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  margin-top: 8px;
  line-height: 1.45;
}

.schedule-dark-reference .schedule-note,
.schedule-dark-reference .horarios-nota {
  color: rgba(255,255,255,.72);
  text-align: center;
  margin: 42px auto 0;
  font-family: 'Poppins', sans-serif;
  font-size: .95rem;
}

.schedule-dark-reference .schedule-empty,
.schedule-dark-reference .schedule-no-class {
  color: rgba(255,255,255,.72);
}

@media (max-width: 1024px) {
  .schedule-dark-reference .schedule-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    max-width: 760px;
  }
}

@media (max-width: 640px) {
  .schedule-dark-reference,
  #horarios.schedule-dark-reference {
    padding: 62px 0 70px;
  }

  .schedule-dark-reference .section-title {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
  }

  .schedule-dark-reference .schedule-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 92%;
  }

  .schedule-dark-reference .schedule-day-card {
    min-height: auto;
    padding: 24px 18px;
  }

  .schedule-dark-reference .schedule-intro {
    font-size: .92rem;
    padding: 0 14px;
  }
}


/* V33 - Horarios con hasta 2 niveles por clase */
.schedule-levels {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  margin-top: 3px;
}
.schedule-dark-reference .schedule-level.level-iniciacion,
.schedule-level.level-iniciacion { background: #138d9a; }
.schedule-dark-reference .schedule-level.level-abierto,
.schedule-level.level-abierto { background: #138d9a; }
.schedule-dark-reference .schedule-level.level-medio,
.schedule-level.level-medio { background: #c35c15; }
.schedule-dark-reference .schedule-level.level-avanzado,
.schedule-level.level-avanzado { background: #cf2d88; }


/* V34 - Horarios especiales separados */
.schedule-special-section {
  max-width: 880px;
  margin: 54px auto 0;
  padding-top: 34px;
  border-top: 1px solid rgba(255,255,255,.18);
  text-align: center;
}
.schedule-special-section h2 {
  font-family: 'Playfair Display', serif;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.2rem);
  margin: 0 0 12px;
}
.schedule-special-intro {
  color: rgba(255,255,255,.72);
  max-width: 720px;
  margin: 0 auto 22px;
  line-height: 1.7;
}
.schedule-special-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  justify-content: center;
}
.schedule-special-card {
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.07));
  border: 1px solid rgba(255,179,0,.38);
  border-radius: 20px;
  padding: 22px 18px;
  color: #fff;
}
.schedule-special-day {
  color: #ffb300;
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .78rem;
  margin-bottom: 8px;
}
.schedule-special-card h3 {
  color: #fff !important;
  font-family: 'Playfair Display', serif;
  font-size: 1.55rem;
  line-height: 1.2;
  margin: 8px 0 10px;
}
.schedule-special-card p {
  color: rgba(255,255,255,.72);
  font-size: .9rem;
  line-height: 1.55;
  margin: 10px 0 0;
}
@media (max-width: 640px) {
  .schedule-special-section {
    margin-top: 34px;
    padding-top: 26px;
  }
}


/* V36 - Tipografías y tamaños editables en Horarios */
.schedule-dark-reference .section-tag {
  font-family: var(--schedule-tag-font, 'Poppins'), sans-serif !important;
  font-size: var(--schedule-tag-size, 12px) !important;
}
.schedule-dark-reference .section-title {
  font-family: var(--schedule-title-font, 'Playfair Display'), serif !important;
  font-size: var(--schedule-title-size, clamp(2.7rem, 5vw, 4.4rem)) !important;
}
.schedule-dark-reference .schedule-intro {
  font-family: var(--schedule-intro-font, 'Poppins'), sans-serif !important;
  font-size: var(--schedule-intro-size, 16px) !important;
}
.schedule-dark-reference .schedule-day-card h2,
.schedule-dark-reference .schedule-day-card h3 {
  font-family: var(--schedule-day-font, 'Poppins'), sans-serif !important;
  font-size: var(--schedule-day-size, 14px) !important;
}
.schedule-dark-reference .schedule-time {
  font-family: var(--schedule-time-font, 'Poppins'), sans-serif !important;
  font-size: var(--schedule-time-size, 14px) !important;
}
.schedule-dark-reference .schedule-class-card h3,
.schedule-dark-reference .schedule-class-card h4,
.schedule-dark-reference .schedule-special-card h3 {
  font-family: var(--schedule-class-font, 'Poppins'), sans-serif !important;
  font-size: var(--schedule-class-size, 15px) !important;
}
.schedule-dark-reference .schedule-level {
  font-family: var(--schedule-level-font, 'Poppins'), sans-serif !important;
  font-size: var(--schedule-level-size, 11px) !important;
}
.schedule-dark-reference .schedule-class-card p,
.schedule-dark-reference .schedule-special-card p,
.schedule-dark-reference .schedule-special-intro,
.schedule-dark-reference .schedule-note,
.schedule-dark-reference .horarios-nota {
  font-family: var(--schedule-desc-font, 'Poppins'), sans-serif !important;
  font-size: var(--schedule-desc-size, 13px) !important;
}
.schedule-dark-reference .schedule-special-section h2 {
  font-family: var(--schedule-special-title-font, 'Playfair Display'), serif !important;
  font-size: var(--schedule-special-title-size, 38px) !important;
}
@media (max-width: 640px) {
  .schedule-dark-reference .section-title {
    font-size: min(var(--schedule-title-size, 48px), 44px) !important;
  }
}


/* V38 - Próximos Eventos PRO */
.masala-events-pro {
  background: linear-gradient(180deg, #fff 0%, #fff7fb 55%, #f8e8ff 100%);
  padding: 90px 0;
}
.events-pro-header {
  text-align: center;
  max-width: 930px;
  margin: 0 auto 42px;
}
.masala-events-pro .section-tag {
  color: var(--magenta);
}
.masala-events-pro .section-title {
  font-family: var(--events-title-font, 'Playfair Display'), serif !important;
  font-size: var(--events-title-size, 48px) !important;
  color: var(--deep);
}
.masala-events-pro .section-desc,
.masala-events-pro p,
.masala-events-pro .event-pro-meta,
.masala-events-pro .event-pro-more {
  font-family: var(--events-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--events-text-size, 15px) !important;
}
.events-pro-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 28px;
}
.event-pro-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(30, 8, 46, .10);
  border: 1px solid rgba(33,16,51,.06);
}
.event-pro-image,
.event-pro-noimage {
  min-height: 165px;
  background-size: cover;
  background-position: center;
  background-color: transparent;
  background-image: linear-gradient(135deg, var(--magenta), #8b18b8);
  position: relative;
}
.event-pro-noimage {
  min-height: 72px;
  background: transparent;
}
.event-pro-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  background: #fff;
  color: var(--magenta);
  border-radius: 999px;
  padding: 8px 16px;
  font-weight: 900;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.event-pro-body {
  padding: 24px;
}
.event-pro-body h3 {
  font-family: var(--events-card-title-font, 'Playfair Display'), serif !important;
  font-size: var(--events-card-title-size, 22px) !important;
  color: var(--deep);
  margin: 0 0 12px;
}
.event-pro-body p {
  color: #5c5264;
  line-height: 1.7;
}
.event-pro-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  color: #796f80;
  margin: 18px 0;
}
.event-pro-toggle,
.event-pro-link {
  display: inline-flex;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  background: linear-gradient(135deg, var(--magenta), #ff6b18);
  color: #fff;
  border-radius: 999px;
  padding: 13px 22px;
  font-weight: 800;
  box-shadow: 0 10px 25px rgba(233,30,139,.22);
}
.event-pro-more {
  display: none;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(33,16,51,.08);
  color: #5c5264;
  line-height: 1.65;
}
.event-pro-card.is-open .event-pro-more {
  display: block;
  animation: masalaEventOpen .22s ease both;
}
.event-pro-price {
  display: inline-flex;
  background: #fff1f8;
  color: var(--magenta);
  border-radius: 12px;
  padding: 8px 12px;
  font-weight: 900;
  margin-bottom: 12px;
}
.event-pro-dates,
.event-pro-long {
  margin: 12px 0;
}
.event-pro-link {
  margin-top: 10px;
}
.events-empty {
  background: #fff;
  border: 1px dashed rgba(233,30,139,.25);
  border-radius: 24px;
  padding: 30px;
  text-align: center;
  color: #716779;
}
@keyframes masalaEventOpen {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 720px) {
  .masala-events-pro { padding: 62px 0; }
  .masala-events-pro .section-title { font-size: min(var(--events-title-size, 42px), 42px) !important; }
  .events-pro-grid { grid-template-columns: 1fr; gap: 22px; }
  .event-pro-body { padding: 20px; }
}


/* V39 - Eventos: alineación editable, imagen visible y expansión tipo cartelera */
.masala-events-pro .events-tag {
  display: block;
  font-family: var(--events-tag-font, 'Poppins'), sans-serif !important;
  font-size: var(--events-tag-size, 12px) !important;
  text-align: var(--events-tag-align, center) !important;
  width: 100%;
}
.masala-events-pro .events-title {
  font-family: var(--events-title-font, 'Playfair Display'), serif !important;
  font-size: var(--events-title-size, 48px) !important;
  text-align: var(--events-title-align, center) !important;
  width: 100%;
}
.masala-events-pro .events-intro {
  font-family: var(--events-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--events-text-size, 15px) !important;
  text-align: var(--events-text-align, center) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 760px !important;
}
.event-pro-body h3 {
  font-family: var(--events-card-title-font, 'Playfair Display'), serif !important;
  font-size: var(--events-card-title-size, 22px) !important;
}
.event-pro-short,
.event-pro-meta {
  font-family: var(--events-card-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--events-card-text-size, 15px) !important;
}
.event-pro-more {
  font-family: var(--events-more-font, 'Poppins'), sans-serif !important;
  font-size: var(--events-more-size, 15px) !important;
}
.event-pro-card.has-image .event-pro-image {
  min-height: unset !important;
  height: auto !important;
  background: #fff !important;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}
.event-pro-card.has-image .event-pro-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
  background: #fff;
}
.event-pro-card.no-image .event-pro-noimage {
  min-height: 0 !important;
  height: 0;
  background: transparent !important;
  position: relative;
}
.event-pro-card.no-image .event-pro-badge {
  position: absolute;
  top: 20px;
  right: 20px;
}
.event-pro-card.is-open {
  grid-column: 1 / -1;
}
.event-pro-card.is-open .event-pro-more {
  display: grid;
  grid-template-columns: minmax(220px, 380px) 1fr;
  gap: 28px;
  align-items: start;
}
.event-pro-poster-full {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(30,8,46,.10);
  border: 1px solid rgba(33,16,51,.06);
}
.event-pro-poster-full img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.event-pro-more-content {
  min-width: 0;
}
@media (max-width: 760px) {
  .event-pro-card.is-open .event-pro-more {
    display: block;
  }
  .event-pro-poster-full {
    margin-bottom: 18px;
  }
  .event-pro-card.has-image .event-pro-image img {
    max-height: 420px;
  }
}


/* V40 - Fix imagen Eventos */
.event-pro-image img[src=""],
.event-pro-poster-full img[src=""] {
  display: none !important;
}
.event-pro-card.has-image .event-pro-image {
  background: #faf7fb !important;
}
.event-pro-card.has-image .event-pro-image img {
  max-width: 100%;
  margin: 0 auto;
}


/* V41 - Imagen eventos robusta */
.event-pro-card.has-image .event-pro-image {
  min-height: 180px;
}
.event-pro-card.has-image .event-pro-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
}


/* V42 - Eventos modo cartelera real */
.events-cinema-mode .events-pro-grid {
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)) !important;
  align-items: start;
}
.events-cinema-mode .event-pro-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  transition: transform .25s ease, box-shadow .25s ease;
}
.events-cinema-mode .event-pro-card.is-hidden {
  display: none !important;
}
.events-cinema-mode .event-pro-card.is-expanded {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(260px, 420px) 1fr;
  gap: 30px;
  padding: 28px;
}
.events-cinema-mode .event-pro-thumb {
  position: relative;
  background: #fff;
  min-height: 160px;
  max-height: 260px;
  overflow: hidden;
  border-radius: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.events-cinema-mode .event-pro-card.no-image .event-pro-thumb {
  min-height: 88px;
  background: transparent;
}
.events-cinema-mode .event-pro-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.events-cinema-mode .event-pro-card.is-expanded .event-pro-thumb {
  display: none;
}
.events-cinema-mode .event-pro-card.is-expanded .event-pro-body {
  padding: 0;
}
.events-cinema-mode .event-pro-card.is-expanded .event-pro-more {
  display: grid !important;
  grid-template-columns: minmax(240px, 420px) 1fr;
  gap: 26px;
  align-items: start;
  border-top: 1px solid rgba(33,16,51,.08);
  margin-top: 22px;
  padding-top: 22px;
}
.events-cinema-mode .event-pro-card:not(.is-expanded) .event-pro-more {
  display: none !important;
}
.events-cinema-mode .event-pro-close {
  display: none;
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 6;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 0;
  background: rgba(33,16,51,.88);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.events-cinema-mode .event-pro-card.is-expanded .event-pro-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.events-cinema-mode .event-pro-poster-full {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(30,8,46,.10);
  border: 1px solid rgba(33,16,51,.06);
}
.events-cinema-mode .event-pro-poster-full img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.events-cinema-mode .event-pro-badge {
  z-index: 2;
}
.events-cinema-mode .event-pro-card.no-image .event-pro-badge {
  position: static;
  margin: 18px 18px 0 auto;
}
@media (max-width: 760px) {
  .events-cinema-mode .event-pro-card.is-expanded {
    display: block;
    padding: 22px;
  }
  .events-cinema-mode .event-pro-card.is-expanded .event-pro-more {
    display: block !important;
  }
  .events-cinema-mode .event-pro-poster-full {
    margin-bottom: 18px;
  }
  .events-cinema-mode .event-pro-thumb {
    max-height: 280px;
  }
}


/* V43 - Eventos tarjetas pequeñas + expandido correcto */
.events-cinema-mode .events-pro-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 330px)) !important;
  justify-content: center !important;
  gap: 28px !important;
  align-items: start !important;
}

.events-cinema-mode .event-pro-card {
  width: 100% !important;
  max-width: 330px !important;
  min-height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  grid-column: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.events-cinema-mode .event-pro-card.is-open:not(.is-expanded) {
  grid-column: auto !important;
}

.events-cinema-mode .event-pro-card.is-hidden {
  display: none !important;
}

.events-cinema-mode .event-pro-thumb {
  width: 100% !important;
  height: 190px !important;
  min-height: 190px !important;
  max-height: 190px !important;
  background: linear-gradient(135deg, var(--magenta), #8b18b8) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.events-cinema-mode .event-pro-card.no-image .event-pro-thumb {
  background: transparent !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
}

.events-cinema-mode .event-pro-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.events-cinema-mode .event-pro-body {
  padding: 24px !important;
}

.events-cinema-mode .event-pro-more {
  display: none !important;
}

.events-cinema-mode .event-pro-close {
  display: none !important;
}

.events-cinema-mode .event-pro-card.is-expanded {
  max-width: none !important;
  width: 100% !important;
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 420px) 1fr !important;
  gap: 30px !important;
  padding: 28px !important;
  overflow: visible !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-thumb {
  display: none !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-body {
  padding: 0 !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-more {
  display: grid !important;
  grid-template-columns: minmax(260px, 420px) 1fr !important;
  gap: 26px !important;
  align-items: start !important;
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(33,16,51,.08) !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.events-cinema-mode .event-pro-poster-full img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 760px) {
  .events-cinema-mode .events-pro-grid {
    grid-template-columns: minmax(280px, 330px) !important;
  }
  .events-cinema-mode .event-pro-card.is-expanded {
    display: block !important;
    padding: 22px !important;
  }
  .events-cinema-mode .event-pro-card.is-expanded .event-pro-more {
    display: block !important;
  }
  .events-cinema-mode .event-pro-poster-full {
    margin-bottom: 18px !important;
  }
}


/* V44 - Eventos: expansión vertical 9:16 + botón oculto + imagen fiable */
.events-cinema-mode .event-pro-card.is-expanded {
  max-width: 760px !important;
  width: min(92vw, 760px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-column: 1 / -1 !important;
  display: block !important;
  padding: 28px !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-toggle {
  display: none !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-more {
  display: block !important;
  margin-top: 24px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(33,16,51,.08) !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-poster-full {
  width: min(100%, 520px) !important;
  margin: 0 auto 24px !important;
  border-radius: 22px !important;
  background: #fff !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-poster-full img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 78vh !important;
  object-fit: contain !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-more-content {
  max-width: 640px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.events-cinema-mode .event-pro-card.has-image:not(.is-expanded) .event-pro-thumb img {
  display: block !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-body {
  padding: 0 !important;
}

@media (max-width: 760px) {
  .events-cinema-mode .event-pro-card.is-expanded {
    width: 94vw !important;
    padding: 22px !important;
  }
  .events-cinema-mode .event-pro-card.is-expanded .event-pro-poster-full img {
    max-height: 70vh !important;
  }
}


/* V45 - Evitar que la descripción larga se salga del cuadro */
.event-pro-more,
.event-pro-more-content,
.event-pro-long,
.event-pro-dates,
.event-pro-price,
.event-pro-body,
.event-pro-short {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

.event-pro-long,
.event-pro-dates {
  line-height: 1.75 !important;
}

.events-cinema-mode .event-pro-card.is-expanded {
  overflow: hidden !important;
}

.events-cinema-mode .event-pro-card.is-expanded .event-pro-more-content {
  min-width: 0 !important;
}


/* V46 - Teléfono de contacto en Eventos */
.event-pro-phone {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 16px;
  padding: 15px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(233,30,139,.12), rgba(255,107,24,.12));
  border: 1px solid rgba(233,30,139,.18);
  text-decoration: none;
  color: var(--deep);
  box-shadow: 0 12px 30px rgba(233,30,139,.10);
  max-width: 100%;
  overflow-wrap: anywhere;
}
.event-pro-phone-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--magenta), #ff6b18);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(233,30,139,.22);
}
.event-pro-phone strong {
  display: block;
  font-weight: 900;
  color: var(--deep);
  line-height: 1.25;
}
.event-pro-phone em {
  display: block;
  margin-top: 3px;
  font-style: normal;
  color: var(--magenta);
  font-weight: 900;
  font-size: 1.08em;
}
@media (max-width: 560px) {
  .event-pro-phone {
    width: 100%;
  }
}


/* V47 - Eventos centrado y sin desplazamiento lateral en móvil */
@media (max-width: 760px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .masala-events-pro,
  .events-cinema-mode {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .events-cinema-mode .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  .events-cinema-mode .events-pro-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .events-cinema-mode .event-pro-card {
    width: 100% !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .events-cinema-mode .event-pro-card.is-expanded {
    width: 100% !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 22px !important;
    box-sizing: border-box !important;
    display: block !important;
  }

  .events-cinema-mode .event-pro-card.is-expanded .event-pro-more {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  .events-cinema-mode .event-pro-poster-full,
  .events-cinema-mode .event-pro-more-content,
  .event-pro-phone {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .events-cinema-mode .event-pro-body,
  .events-cinema-mode .event-pro-more-content {
    text-align: left !important;
  }

  .event-pro-phone {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* V48 - Centrado real del evento expandido en móvil */
@media (max-width: 760px) {
  #eventos.events-cinema-mode,
  #eventos.events-cinema-mode * {
    box-sizing: border-box !important;
  }

  #eventos.events-cinema-mode .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #eventos.events-cinema-mode .events-pro-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  #eventos.events-cinema-mode .event-pro-card,
  #eventos.events-cinema-mode .event-pro-card.is-expanded {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: calc(100vw - 28px) !important;
    max-width: 360px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #eventos.events-cinema-mode .event-pro-card:not(.is-expanded) {
    padding: 0 !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-more {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-poster-full {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-poster-full img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    object-fit: contain !important;
  }

  #eventos.events-cinema-mode .event-pro-phone {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #eventos.events-cinema-mode .event-pro-close {
    right: 14px !important;
    top: 14px !important;
  }
}


/* V49 - Eventos móvil: expansión centrada + fade suave */
.events-cinema-mode .event-pro-card {
  transition: opacity .28s ease, transform .28s ease, box-shadow .28s ease !important;
}

.events-cinema-mode .event-pro-card.is-hidden {
  opacity: 0 !important;
  transform: translateY(8px) scale(.98) !important;
}

.events-cinema-mode .event-pro-card.is-expanded {
  animation: masalaEventExpandFade .32s ease both !important;
}

@keyframes masalaEventExpandFade {
  from {
    opacity: .35;
    transform: translateY(16px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 760px) {
  #eventos.events-cinema-mode {
    overflow-x: hidden !important;
    contain: layout paint !important;
  }

  #eventos.events-cinema-mode .container {
    overflow-x: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #eventos.events-cinema-mode .events-pro-header {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #eventos.events-cinema-mode .events-pro-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #eventos.events-cinema-mode .event-pro-card {
    display: block !important;
    width: min(330px, calc(100vw - 34px)) !important;
    max-width: min(330px, calc(100vw - 34px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded {
    display: block !important;
    width: min(360px, calc(100vw - 28px)) !important;
    max-width: min(360px, calc(100vw - 28px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    padding: 20px !important;
    text-align: left !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-body,
  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-more,
  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-more-content,
  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-poster-full,
  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-phone {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-poster-full img {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 auto !important;
  }

  #eventos.events-cinema-mode .event-pro-card.is-expanded .event-pro-close {
    right: 12px !important;
    top: 12px !important;
  }
}


/* V50 - Instalaciones editable */
.masala-instalaciones {
  background: linear-gradient(180deg, #fff 0%, #fff7fb 55%, #f9ecff 100%);
  padding: 92px 0;
  overflow-x: hidden;
}
.inst-header {
  max-width: 980px;
  margin: 0 auto 42px;
}
.inst-tag {
  display: block;
  font-family: var(--inst-tag-font, 'Poppins'), sans-serif !important;
  font-size: var(--inst-tag-size, 12px) !important;
  text-align: var(--inst-tag-align, center) !important;
  color: var(--magenta);
  width: 100%;
}
.inst-title {
  font-family: var(--inst-title-font, 'Playfair Display'), serif !important;
  font-size: var(--inst-title-size, 48px) !important;
  text-align: var(--inst-title-align, center) !important;
  color: var(--deep);
  width: 100%;
  overflow-wrap: anywhere;
}
.inst-intro {
  font-family: var(--inst-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--inst-text-size, 16px) !important;
  text-align: var(--inst-text-align, center) !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.8;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.inst-carousel {
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
  border-radius: 34px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 25px 70px rgba(30,8,46,.12);
  border: 1px solid rgba(33,16,51,.06);
  padding: 26px;
  overflow: hidden;
}
.inst-track {
  position: relative;
  height: var(--inst-height, 520px);
  border-radius: 26px;
  overflow: hidden;
  background: #1b1224;
}
.inst-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.015);
  transition: opacity .45s ease, transform .45s ease, visibility .45s ease;
  margin: 0;
}
.inst-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.inst-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.inst-slide figcaption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  padding: 14px 18px;
  border-radius: 18px;
  background: rgba(25,5,39,.70);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  backdrop-filter: blur(8px);
  overflow-wrap: anywhere;
}
.inst-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 58px;
  height: 126px;
  border: 0;
  border-radius: 999px;
  background: rgba(25,5,39,.42);
  color: #fff;
  font-size: 3rem;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: .25s ease;
}
.inst-arrow:hover {
  background: linear-gradient(135deg, var(--magenta), #ff6b18);
}
.inst-prev { left: 14px; }
.inst-next { right: 14px; }
.inst-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}
.inst-dots button {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  border: 0;
  background: rgba(33,16,51,.18);
  cursor: pointer;
}
.inst-dots button.is-active {
  width: 28px;
  background: linear-gradient(135deg, var(--magenta), #ff6b18);
}
.inst-empty {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border: 1px dashed rgba(233,30,139,.25);
  border-radius: 24px;
  padding: 30px;
  text-align: center;
  color: #716779;
}
@media (max-width: 760px) {
  .masala-instalaciones {
    padding: 64px 0;
  }
  .masala-instalaciones .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .inst-title {
    font-size: min(var(--inst-title-size, 42px), 42px) !important;
  }
  .inst-carousel {
    padding: 14px;
    border-radius: 24px;
    max-width: 100%;
  }
  .inst-track {
    height: var(--inst-mobile-height, 360px);
    border-radius: 20px;
  }
  .inst-arrow {
    width: 42px;
    height: 96px;
    font-size: 2.3rem;
  }
  .inst-prev { left: 8px; }
  .inst-next { right: 8px; }
  .inst-slide figcaption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    font-size: .9rem;
  }
}


/* V52 - Visor fullscreen móvil para Instalaciones */
.inst-lightbox-trigger {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: zoom-in;
}
.inst-lightbox-trigger img {
  pointer-events: none;
}

.inst-mobile-lightbox {
  display: none;
}

@media (max-width: 760px) {
  .inst-mobile-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(10, 4, 18, .94);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
    opacity: 0;
    transition: opacity .24s ease;
  }

  .inst-mobile-lightbox.is-open {
    display: flex;
    opacity: 1;
    animation: instLightboxFade .24s ease both;
  }

  .inst-mobile-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 86vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 16px;
    box-shadow: 0 22px 70px rgba(0,0,0,.45);
    animation: instLightboxZoom .25s ease both;
  }

  .inst-lightbox-close {
    position: fixed;
    top: 18px;
    right: 18px;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: 32px;
    line-height: 1;
    z-index: 1000000;
    cursor: pointer;
    backdrop-filter: blur(8px);
  }

  body.inst-lightbox-lock {
    overflow: hidden !important;
    touch-action: none;
  }
}

@keyframes instLightboxFade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes instLightboxZoom {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}


/* V53 - Apariciones en TV vertical y carruseles grandes */
.tv-appearances-duo .tv-duo-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 58px !important;
  max-width: 1120px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.tv-appearances-duo .tv-duo-panel {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  border-radius: 34px !important;
  padding: 30px !important;
}

.tv-appearances-duo .tv-panel-title {
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  margin-bottom: 24px !important;
}

.tv-appearances-duo .tv-carousel {
  max-width: 100% !important;
  padding: 0 64px 52px !important;
}

.tv-appearances-duo .tv-track {
  min-height: 680px !important;
}

.tv-appearances-duo .tv-image-frame {
  height: 560px !important;
  aspect-ratio: auto !important;
  border-radius: 30px !important;
}

.tv-appearances-duo .tv-image-frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.tv-appearances-duo .tv-video-frame {
  aspect-ratio: 16/9 !important;
  border-radius: 30px !important;
}

.tv-appearances-duo .tv-link-card {
  min-height: 520px !important;
  border-radius: 30px !important;
}

.tv-appearances-duo .tv-arrow {
  top: 280px !important;
  width: 58px !important;
  height: 126px !important;
  border-radius: 999px !important;
  background: rgba(25,5,39,.42) !important;
  backdrop-filter: blur(8px) !important;
}

.tv-appearances-duo .tv-arrow:hover {
  background: linear-gradient(135deg, var(--magenta), var(--saffron)) !important;
}

.tv-lightbox-trigger {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: zoom-in;
}

.tv-lightbox-trigger img {
  pointer-events: none;
}

.tv-mobile-lightbox {
  display: none;
}

@media (max-width: 768px) {
  .tv-appearances-duo .tv-duo-grid {
    gap: 34px !important;
    max-width: 100% !important;
  }

  .tv-appearances-duo .tv-duo-panel {
    padding: 16px !important;
    border-radius: 24px !important;
  }

  .tv-appearances-duo .tv-panel-title {
    font-size: 2rem !important;
    text-align: center !important;
  }

  .tv-appearances-duo .tv-carousel {
    padding: 0 0 44px !important;
  }

  .tv-appearances-duo .tv-track {
    min-height: 500px !important;
  }

  .tv-appearances-duo .tv-image-frame {
    height: 380px !important;
    border-radius: 20px !important;
  }

  .tv-appearances-duo .tv-video-frame {
    border-radius: 20px !important;
  }

  .tv-appearances-duo .tv-arrow {
    top: 190px !important;
    width: 42px !important;
    height: 96px !important;
    font-size: 2.4rem !important;
  }

  .tv-mobile-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(10,4,18,.94);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
  }

  .tv-mobile-lightbox.is-open {
    display: flex;
    animation: tvLightboxFade .24s ease both;
  }

  .tv-mobile-lightbox img {
    max-width: 100%;
    max-height: 86vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 16px;
    box-shadow: 0 22px 70px rgba(0,0,0,.45);
    animation: tvLightboxZoom .25s ease both;
  }

  .tv-lightbox-close {
    position: fixed;
    top: 18px;
    right: 18px;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: 32px;
    line-height: 1;
    z-index: 1000000;
    cursor: pointer;
    backdrop-filter: blur(8px);
  }

  body.tv-lightbox-lock {
    overflow: hidden !important;
    touch-action: none;
  }
}

@keyframes tvLightboxFade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes tvLightboxZoom {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}


/* V54 - Lightbox también en escritorio para Instalaciones y Apariciones */
.inst-mobile-lightbox,
.tv-mobile-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(10, 4, 18, .94);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}

.inst-mobile-lightbox.is-open,
.tv-mobile-lightbox.is-open {
  display: flex !important;
  animation: instLightboxFade .24s ease both;
}

.inst-mobile-lightbox img,
.tv-mobile-lightbox img {
  display: block;
  max-width: 96vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 22px 70px rgba(0,0,0,.45);
  animation: instLightboxZoom .25s ease both;
}

.inst-lightbox-close,
.tv-lightbox-close {
  position: fixed;
  top: 22px;
  right: 22px;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 34px;
  line-height: 1;
  z-index: 1000000;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

body.inst-lightbox-lock,
body.tv-lightbox-lock {
  overflow: hidden !important;
}

.inst-lightbox-trigger,
.tv-lightbox-trigger {
  cursor: zoom-in !important;
}

@media (min-width: 761px) {
  .inst-lightbox-close:hover,
  .tv-lightbox-close:hover {
    background: rgba(255,255,255,.24);
  }
}


/* V55 - Despedida de soltera editable */
.masala-despedida {
  background: linear-gradient(180deg, #fff7fb 0%, #fff 46%, #f9ecff 100%);
  padding: 92px 0;
  overflow-x: hidden;
}
.desp-header {
  max-width: 980px;
  margin: 0 auto 42px;
}
.desp-tag {
  display: block;
  font-family: var(--desp-tag-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-tag-size, 12px) !important;
  text-align: var(--desp-tag-align, center) !important;
  color: var(--magenta);
  width: 100%;
}
.desp-title {
  font-family: var(--desp-title-font, 'Playfair Display'), serif !important;
  font-size: var(--desp-title-size, 48px) !important;
  text-align: var(--desp-title-align, center) !important;
  color: var(--deep);
  width: 100%;
  overflow-wrap: anywhere;
}
.desp-intro {
  font-family: var(--desp-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-text-size, 16px) !important;
  text-align: var(--desp-text-align, center) !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.8;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.desp-carousel {
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
  border-radius: 34px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 25px 70px rgba(30,8,46,.12);
  border: 1px solid rgba(33,16,51,.06);
  padding: 26px;
  overflow: hidden;
}
.desp-track {
  position: relative;
  height: var(--desp-height, 540px);
  border-radius: 26px;
  overflow: hidden;
  background: #1b1224;
}
.desp-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.015);
  transition: opacity .45s ease, transform .45s ease, visibility .45s ease;
  margin: 0;
}
.desp-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.desp-lightbox-trigger {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: zoom-in;
}
.desp-lightbox-trigger img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  pointer-events: none;
}
.desp-slide figcaption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  padding: 14px 18px;
  border-radius: 18px;
  background: rgba(25,5,39,.70);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  backdrop-filter: blur(8px);
  overflow-wrap: anywhere;
}
.desp-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 58px;
  height: 126px;
  border: 0;
  border-radius: 999px;
  background: rgba(25,5,39,.42);
  color: #fff;
  font-size: 3rem;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: .25s ease;
}
.desp-arrow:hover {
  background: linear-gradient(135deg, var(--magenta), #ff6b18);
}
.desp-prev { left: 14px; }
.desp-next { right: 14px; }
.desp-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}
.desp-dots button {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  border: 0;
  background: rgba(33,16,51,.18);
  cursor: pointer;
}
.desp-dots button.is-active {
  width: 28px;
  background: linear-gradient(135deg, var(--magenta), #ff6b18);
}
.desp-empty {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border: 1px dashed rgba(233,30,139,.25);
  border-radius: 24px;
  padding: 30px;
  text-align: center;
  color: #716779;
}
.desp-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(10,4,18,.94);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.desp-lightbox.is-open {
  display: flex;
  animation: instLightboxFade .24s ease both;
}
.desp-lightbox img {
  display: block;
  max-width: 96vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 22px 70px rgba(0,0,0,.45);
  animation: instLightboxZoom .25s ease both;
}
.desp-lightbox-close {
  position: fixed;
  top: 22px;
  right: 22px;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 34px;
  line-height: 1;
  z-index: 1000000;
  cursor: pointer;
  backdrop-filter: blur(8px);
}
body.desp-lightbox-lock {
  overflow: hidden !important;
}
@media (max-width: 760px) {
  .masala-despedida {
    padding: 64px 0;
  }
  .masala-despedida .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .desp-title {
    font-size: min(var(--desp-title-size, 42px), 42px) !important;
  }
  .desp-carousel {
    padding: 14px;
    border-radius: 24px;
    max-width: 100%;
  }
  .desp-track {
    height: var(--desp-mobile-height, 360px);
    border-radius: 20px;
  }
  .desp-arrow {
    width: 42px;
    height: 96px;
    font-size: 2.3rem;
  }
  .desp-prev { left: 8px; }
  .desp-next { right: 8px; }
  .desp-slide figcaption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    font-size: .9rem;
  }
}


/* V56 - Fix texto y estilos Despedida */
.masala-despedida .desp-header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding-top: 10px !important;
  margin-bottom: 42px !important;
  position: relative !important;
  z-index: 2 !important;
}
.masala-despedida .desp-tag,
.masala-despedida .desp-title,
.masala-despedida .desp-intro {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.masala-despedida .desp-title {
  margin-top: 10px !important;
  margin-bottom: 16px !important;
}
.masala-despedida .desp-intro {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}


/* V57 - Despedida limpia: textos visibles y sin imágenes antiguas */
.masala-despedida {
  padding-top: 92px !important;
}
.masala-despedida .desp-header-v57,
.masala-despedida .desp-header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  margin: 0 auto 42px !important;
  padding: 0 16px !important;
  position: relative !important;
  z-index: 5 !important;
  transform: none !important;
}
.masala-despedida .desp-tag,
.masala-despedida .desp-title,
.masala-despedida .desp-intro {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.masala-despedida .desp-tag {
  margin-bottom: 12px !important;
}
.masala-despedida .desp-title {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  line-height: 1.08 !important;
}
.masala-despedida .desp-intro {
  line-height: 1.8 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}
.masala-despedida .desp-empty {
  display: block !important;
}


/* V58 - Despedida claves limpias finales */
.masala-despedida .desp-header,
.masala-despedida .desp-header-v57 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}
.masala-despedida .desp-tag,
.masala-despedida .desp-title,
.masala-despedida .desp-intro {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}


/* V59 - Fix tipografías y tamaños Despedida */
#despedida.masala-despedida .desp-tag {
  font-family: var(--desp-tag-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-tag-size, 12px) !important;
  text-align: var(--desp-tag-align, center) !important;
}

#despedida.masala-despedida .desp-title {
  font-family: var(--desp-title-font, 'Playfair Display'), serif !important;
  font-size: var(--desp-title-size, 48px) !important;
  text-align: var(--desp-title-align, center) !important;
}

#despedida.masala-despedida .desp-intro,
#despedida.masala-despedida .desp-intro p {
  font-family: var(--desp-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-text-size, 16px) !important;
  text-align: var(--desp-text-align, center) !important;
}

#despedida.masala-despedida .desp-track {
  height: var(--desp-height, 540px) !important;
}

@media (max-width: 760px) {
  #despedida.masala-despedida .desp-title {
    font-size: min(var(--desp-title-size, 42px), 42px) !important;
  }

  #despedida.masala-despedida .desp-track {
    height: var(--desp-mobile-height, 360px) !important;
  }

  #despedida.masala-despedida .desp-intro,
  #despedida.masala-despedida .desp-intro p {
    font-size: min(var(--desp-text-size, 16px), 20px) !important;
  }
}


/* V60 - Despedida panel y estilos final */
#despedida.masala-despedida {
  --_force-refresh: 60;
}
#despedida.masala-despedida .desp-tag {
  font-family: var(--desp-tag-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-tag-size, 12px) !important;
  text-align: var(--desp-tag-align, center) !important;
}
#despedida.masala-despedida .desp-title {
  font-family: var(--desp-title-font, 'Playfair Display'), serif !important;
  font-size: var(--desp-title-size, 48px) !important;
  text-align: var(--desp-title-align, center) !important;
}
#despedida.masala-despedida .desp-intro {
  font-family: var(--desp-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-text-size, 16px) !important;
  text-align: var(--desp-text-align, center) !important;
}


/* V62 - Despedida editor tipo Word */
#despedida.masala-despedida .desp-tag {
  color: var(--desp-tag-color, #e91e8b) !important;
  font-weight: var(--desp-tag-weight, 700) !important;
}
#despedida.masala-despedida .desp-title {
  color: var(--desp-title-color, #160022) !important;
  font-weight: var(--desp-title-weight, 800) !important;
}
#despedida.masala-despedida .desp-intro,
#despedida.masala-despedida .desp-intro p,
#despedida.masala-despedida .desp-intro li {
  color: var(--desp-text-color, #3b3045);
  font-weight: var(--desp-text-weight, 400);
}
#despedida.masala-despedida .desp-intro ul,
#despedida.masala-despedida .desp-intro ol {
  display: inline-block;
  text-align: left;
  margin: 12px auto;
  padding-left: 1.4em;
}


/* V66 - Fix bullet points Despedida */
#despedida.masala-despedida .desp-intro ul,
#despedida.masala-despedida .desp-intro ol {
  display: block !important;
  width: fit-content;
  max-width: 100%;
  margin: 16px auto !important;
  padding-left: 28px !important;
  text-align: left !important;
  list-style-position: outside !important;
}

#despedida.masala-despedida .desp-intro ul {
  list-style-type: disc !important;
}

#despedida.masala-despedida .desp-intro ol {
  list-style-type: decimal !important;
}

#despedida.masala-despedida .desp-intro li {
  display: list-item !important;
  margin: 7px 0 !important;
  padding-left: 4px !important;
  line-height: 1.65 !important;
  text-align: left !important;
}

#despedida.masala-despedida .desp-intro li::marker {
  color: var(--desp-text-color, #3b3045);
}

#despedida.masala-despedida .desp-intro p {
  margin: 0 0 12px !important;
}

#despedida.masala-despedida .desp-intro strong,
#despedida.masala-despedida .desp-intro b {
  font-weight: 800 !important;
}

#despedida.masala-despedida .desp-intro u {
  text-underline-offset: 3px;
}


/* V67 - Fuentes, tamaños y colores por partes en Despedida */
#despedida.masala-despedida .desp-slide figcaption {
  font-family: var(--desp-caption-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-caption-size, 16px) !important;
  color: var(--desp-caption-color, #ffffff) !important;
  font-weight: var(--desp-caption-weight, 700) !important;
}
/* Base de la descripción; los estilos inline del editor pueden cambiar frases concretas */
#despedida.masala-despedida .desp-intro {
  font-family: var(--desp-text-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-text-size, 16px) !important;
  color: var(--desp-text-color, #3b3045) !important;
  font-weight: var(--desp-text-weight, 400) !important;
}


/* V68 - Permitir fuente/tamaño/color del editor Word en Despedida */
/* Quita bloqueo visual sobre estilos que TinyMCE mete en style="" */
#despedida.masala-despedida .desp-intro {
  font-family: var(--desp-text-font, 'Poppins'), sans-serif;
  font-size: var(--desp-text-size, 16px);
  color: var(--desp-text-color, #3b3045);
  font-weight: var(--desp-text-weight, 400);
}

/* No usar !important aquí: las frases con style="" del editor deben ganar */
#despedida.masala-despedida .desp-intro p,
#despedida.masala-despedida .desp-intro span,
#despedida.masala-despedida .desp-intro li,
#despedida.masala-despedida .desp-intro h3,
#despedida.masala-despedida .desp-intro h4 {
  max-width: 100%;
  overflow-wrap: anywhere;
}

#despedida.masala-despedida .desp-intro ul,
#despedida.masala-despedida .desp-intro ol {
  list-style-position: outside !important;
}


/* V69 - Fix fuente inline del editor Word en Despedida */
/* Si TinyMCE guarda una fuente en style="", debe ganar sobre el estilo base del tema. */
#despedida.masala-despedida .desp-intro [style*="font-family"] {
  font-family: var(--_dummy, inherit) !important;
}

/* Reescritura JS añadirá --_dummy con la misma font-family inline para que CSS !important no la tape. */


/* V70 - Fix real fuente del editor Word en Despedida */
/* La fuente base NO debe bloquear las fuentes aplicadas en spans/font del editor. */
#despedida.masala-despedida .desp-intro {
  font-family: var(--desp-text-font, 'Poppins'), sans-serif;
}

/* Si existe style de fuente/tamaño/color desde el editor, debe ganar. */
#despedida.masala-despedida .desp-intro [style*="font-family"],
#despedida.masala-despedida .desp-intro [face] {
  font-family: inherit;
}

/* El JS V70 leerá el style/face y lo reaplicará con priority important. */


/* V72 - Boxes con estrellas Despedida */
#despedida.masala-despedida .desp-info-boxes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  max-width: 900px;
  margin: 34px auto 42px;
}

#despedida.masala-despedida .desp-info-box {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(30,8,46,.08);
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(30,8,46,.08);
  padding: 24px 26px;
  text-align: var(--desp-box-align, left);
  font-family: var(--desp-box-font, 'Poppins'), sans-serif;
}

#despedida.masala-despedida .desp-info-box h3 {
  font-family: var(--desp-box-font, 'Poppins'), sans-serif !important;
  font-size: var(--desp-box-title-size, 20px) !important;
  color: var(--desp-box-title-color, #160022) !important;
  margin: 0 0 14px;
  line-height: 1.25;
}

#despedida.masala-despedida .desp-box-text,
#despedida.masala-despedida .desp-box-text p,
#despedida.masala-despedida .desp-box-text li {
  font-family: var(--desp-box-font, 'Poppins'), sans-serif;
  font-size: var(--desp-box-text-size, 15px);
  color: var(--desp-box-text-color, #3b3045);
  line-height: 1.65;
}

#despedida.masala-despedida .desp-box-text ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 10px 0 0 !important;
  display: block !important;
}

#despedida.masala-despedida .desp-box-text li {
  position: relative;
  display: block !important;
  padding-left: 22px !important;
  margin: 8px 0 !important;
  text-align: left !important;
}

#despedida.masala-despedida .desp-box-text li::before {
  content: '✦';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--desp-box-star-color, #ffb400);
  font-weight: 800;
}

@media (max-width: 760px) {
  #despedida.masala-despedida .desp-info-boxes {
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 26px auto 34px;
  }
  #despedida.masala-despedida .desp-info-box {
    padding: 20px;
    border-radius: 20px;
  }
}


/* V73 - Centrar box único en Despedida */
#despedida.masala-despedida .desp-info-boxes.has-one-box {
  grid-template-columns: minmax(280px, 520px) !important;
  justify-content: center !important;
}

#despedida.masala-despedida .desp-info-boxes.has-two-boxes {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 760px) {
  #despedida.masala-despedida .desp-info-boxes.has-one-box,
  #despedida.masala-despedida .desp-info-boxes.has-two-boxes {
    grid-template-columns: 1fr !important;
  }
}


/* V74 - Optimización móvil general desde Inicio hasta Despedida */
@media (max-width: 760px) {
  html, body {
    overflow-x: hidden !important;
  }

  body {
    max-width: 100vw !important;
  }

  .container,
  .site-container,
  .wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  section {
    overflow-x: hidden !important;
  }

  /* Header móvil más limpio */
  .site-header,
  header.site-header {
    min-height: 76px !important;
  }

  .site-logo img,
  .custom-logo {
    max-width: 210px !important;
    height: auto !important;
  }

  /* Títulos generales centrados y proporcionados */
  .section-tag,
  .eyebrow,
  .kicker,
  .hero-kicker,
  .about-kicker,
  .tv-kicker,
  .events-kicker,
  .desp-tag {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    letter-spacing: .32em !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .section-title,
  .about-title,
  .tv-title,
  .events-title,
  .desp-title,
  h1, h2 {
    text-align: center !important;
    max-width: 100% !important;
    line-height: 1.08 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .section-desc,
  .about-text,
  .tv-intro,
  .events-intro,
  .desp-intro {
    text-align: center !important;
    max-width: 100% !important;
    line-height: 1.7 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Inicio */
  .hero,
  .masala-hero,
  .hero-section {
    min-height: 86vh !important;
    padding: 120px 18px 64px !important;
  }

  .hero h1,
  .masala-hero h1,
  .hero-title {
    font-size: clamp(42px, 12vw, 66px) !important;
    line-height: .98 !important;
    text-align: center !important;
  }

  .hero p,
  .hero-subtitle,
  .masala-hero p {
    font-size: 18px !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  .hero-buttons,
  .hero-cta,
  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-buttons a,
  .hero-cta a,
  .hero-actions a,
  .btn,
  .button {
    width: 100% !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  /* Sobre nosotros */
  #sobre-nosotros,
  .about-section,
  .masala-about {
    padding: 64px 0 !important;
  }

  #sobre-nosotros .about-grid,
  .about-grid,
  .about-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .about-media,
  .about-carousel,
  .about-image-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .about-media img,
  .about-carousel img,
  .about-image-wrap img {
    max-height: 430px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
  }

  .about-title {
    font-size: clamp(34px, 9vw, 48px) !important;
  }

  .about-card,
  .about-info-card,
  .about-list-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Apariciones en TV */
  #apariciones-tv,
  .tv-appearances,
  .tv-appearances-duo {
    padding: 64px 0 !important;
  }

  .tv-appearances-duo .tv-title,
  .tv-title {
    font-size: clamp(34px, 9vw, 48px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }

  .tv-appearances-duo .tv-duo-grid {
    gap: 30px !important;
    width: 100% !important;
  }

  .tv-appearances-duo .tv-duo-panel {
    padding: 16px !important;
    border-radius: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .tv-appearances-duo .tv-panel-title {
    font-size: clamp(30px, 8vw, 42px) !important;
    text-align: center !important;
    margin-bottom: 18px !important;
  }

  .tv-appearances-duo .tv-carousel,
  .tv-carousel {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .tv-appearances-duo .tv-track {
    min-height: 420px !important;
  }

  .tv-appearances-duo .tv-image-frame {
    height: 330px !important;
    border-radius: 20px !important;
  }

  .tv-appearances-duo .tv-video-frame {
    border-radius: 20px !important;
  }

  .tv-appearances-duo .tv-arrow,
  .tv-arrow {
    width: 38px !important;
    height: 88px !important;
    border-radius: 999px !important;
    top: 170px !important;
  }

  /* Horarios */
  #horarios,
  .schedule-section,
  .masala-schedule {
    padding: 64px 0 !important;
  }

  .schedule-grid,
  .horarios-grid,
  .classes-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .schedule-card,
  .day-card,
  .horario-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 22px !important;
  }

  /* Eventos */
  #eventos,
  .events-section,
  .masala-events {
    padding: 64px 0 !important;
  }

  .events-title,
  #eventos .section-title {
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.03 !important;
    text-align: center !important;
  }

  .events-intro,
  #eventos .section-desc {
    font-size: 16px !important;
    max-width: 92% !important;
    text-align: center !important;
  }

  .events-grid,
  .eventos-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .event-card,
  .evento-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Instalaciones */
  #instalaciones,
  .masala-instalaciones,
  .instalaciones-section {
    padding: 64px 0 !important;
  }

  #instalaciones .section-title,
  .inst-title {
    font-size: clamp(38px, 10vw, 54px) !important;
    text-align: center !important;
  }

  .inst-carousel,
  .instalaciones-carousel {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 24px !important;
  }

  .inst-track,
  .instalaciones-track {
    height: min(var(--inst-mobile-height, 360px), 390px) !important;
  }

  /* Despedida */
  #despedida,
  .masala-despedida {
    padding: 64px 0 !important;
  }

  #despedida .desp-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 30px !important;
  }

  #despedida .desp-title {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }

  #despedida .desp-intro {
    font-size: 16px !important;
    line-height: 1.7 !important;
    max-width: 94% !important;
    text-align: center !important;
  }

  #despedida .desp-info-boxes {
    max-width: 100% !important;
    margin-top: 26px !important;
  }

  #despedida .desp-info-box {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #despedida .desp-carousel {
    padding: 14px !important;
    border-radius: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #despedida .desp-track {
    height: min(var(--desp-mobile-height, 360px), 390px) !important;
  }

  /* Chat y botón scroll no tapen contenido */
  .chat-widget,
  .whatsapp,
  .floating-chat {
    transform: scale(.9) !important;
    transform-origin: bottom right !important;
  }

  .back-to-top,
  .scroll-top {
    bottom: 80px !important;
  }
}

@media (max-width: 420px) {
  .container,
  .site-container,
  .wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .section-title,
  .about-title,
  .tv-title,
  .events-title,
  .desp-title {
    letter-spacing: normal !important;
  }

  .section-desc,
  .about-text,
  .tv-intro,
  .events-intro,
  .desp-intro {
    font-size: 15.5px !important;
  }

  .hero h1,
  .hero-title {
    font-size: clamp(38px, 13vw, 58px) !important;
  }
}


/* V80 - Vídeo Inicio prioridad total */
#inicio {
  position: relative !important;
  overflow: hidden !important;
}

#inicio .hero-video-v80,
#inicio video.hero-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 0 !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#inicio .hero-video-overlay {
  z-index: 1 !important;
}

#inicio .hero-content,
#inicio .hero-mandala,
#inicio .hero-dots {
  position: relative;
  z-index: 2;
}


/* V81 - Contacto bonito */
.masala-contact {
  position: relative;
  padding: 110px 0 95px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,42,163,.12), transparent 28%),
    radial-gradient(circle at 80% 30%, rgba(255,180,0,.11), transparent 30%),
    linear-gradient(180deg, #fff7fb 0%, #ffffff 52%, #fff4fb 100%);
  overflow: hidden;
}

.masala-contact::before {
  content: '';
  position: absolute;
  inset: 28px;
  border: 1px solid rgba(255,42,163,.08);
  border-radius: 42px;
  pointer-events: none;
}

.masala-contact .contact-wrap {
  position: relative;
  z-index: 1;
}

.contact-head {
  max-width: 860px;
  margin: 0 auto 46px;
  text-align: var(--contact-align, center);
}

.contact-tag {
  font-family: var(--contact-tag-font, 'Poppins'), sans-serif;
  font-size: var(--contact-tag-size, 12px);
  color: var(--contact-tag-color, #ff2aa3);
  text-transform: uppercase;
  letter-spacing: .42em;
  font-weight: 800;
  margin-bottom: 14px;
}

.contact-title {
  font-family: var(--contact-title-font, 'Playfair Display'), serif;
  font-size: var(--contact-title-size, 56px);
  color: var(--contact-title-color, #160022);
  line-height: 1.05;
  margin: 0 0 18px;
}

.contact-intro,
.contact-intro p {
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
  font-size: var(--contact-text-size, 16px);
  color: var(--contact-text-color, #3b3045);
  line-height: 1.75;
}

.contact-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1120px;
  margin: 0 auto;
}

.contact-card {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(30,8,46,.08);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(30,8,46,.09);
  padding: 30px 28px;
  text-align: center;
  min-height: 255px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  transition: transform .25s ease, box-shadow .25s ease;
}

.contact-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 32px 75px rgba(30,8,46,.14);
}

.contact-card-featured {
  background: linear-gradient(145deg, rgba(255,42,163,.11), rgba(255,180,0,.10)), rgba(255,255,255,.96);
  border-color: rgba(255,42,163,.22);
}

.contact-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--contact-accent, #ff2aa3), #ff6a1a);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 25px;
  box-shadow: 0 16px 35px rgba(255,42,163,.25);
  margin-bottom: 18px;
}

.contact-card h3,
.contact-social h3 {
  font-family: var(--contact-title-font, 'Playfair Display'), serif;
  color: var(--contact-title-color, #160022);
  font-size: 25px;
  line-height: 1.15;
  margin: 0 0 12px;
}

.contact-text,
.contact-big {
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
  color: var(--contact-text-color, #3b3045);
  font-size: var(--contact-text-size, 16px);
  line-height: 1.65;
  margin-bottom: 20px;
  overflow-wrap: anywhere;
}

.contact-big {
  font-weight: 800;
  color: var(--contact-accent, #ff2aa3);
  font-size: calc(var(--contact-text-size, 16px) + 4px);
}

.contact-btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  background: rgba(255,42,163,.08);
  color: var(--contact-accent, #ff2aa3);
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid rgba(255,42,163,.18);
}

.contact-btn-main {
  background: linear-gradient(135deg, var(--contact-accent, #ff2aa3), #ff6a1a);
  color: #fff;
  border: 0;
  box-shadow: 0 18px 40px rgba(255,42,163,.25);
}

.contact-social {
  max-width: 760px;
  margin: 44px auto 0;
  padding: 26px;
  border-radius: 28px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(30,8,46,.08);
  box-shadow: 0 18px 50px rgba(30,8,46,.08);
  text-align: center;
}

.contact-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

.contact-social-links a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-radius: 999px;
  background: #fff;
  color: var(--contact-title-color, #160022);
  text-decoration: none;
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
  font-weight: 800;
  border: 1px solid rgba(30,8,46,.08);
}

.contact-social-links a::before {
  content: '✦';
  color: var(--contact-gold, #ffb400);
  margin-right: 8px;
}

@media (max-width: 900px) {
  .contact-cards {
    grid-template-columns: 1fr;
    max-width: 560px;
  }
}

@media (max-width: 760px) {
  .masala-contact {
    padding: 72px 0 72px;
  }
  .masala-contact::before {
    inset: 14px;
    border-radius: 28px;
  }
  .contact-title {
    font-size: clamp(38px, 11vw, 54px);
  }
  .contact-head {
    margin-bottom: 32px;
  }
  .contact-card {
    padding: 25px 20px;
    border-radius: 24px;
    min-height: auto;
  }
}


/* V82 - Contacto maps y redes como botones */
.contact-map-card {
  padding-bottom: 24px;
}

.contact-map-preview {
  width: 100%;
  height: 170px;
  border-radius: 20px;
  overflow: hidden;
  margin: 14px 0 20px;
  border: 1px solid rgba(30,8,46,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), 0 14px 35px rgba(30,8,46,.08);
  background: linear-gradient(135deg, rgba(255,42,163,.10), rgba(255,180,0,.08));
}

.contact-map-preview iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: saturate(1.05) contrast(.98);
}

.contact-social-links a {
  gap: 8px;
  transition: transform .2s ease, box-shadow .2s ease;
}

.contact-social-links a:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(30,8,46,.10);
}

.contact-social-links a::before {
  display: none !important;
}

.contact-social-links a span {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  font-size: 14px;
}

.contact-social-links .social-instagram span {
  background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
}

.contact-social-links .social-facebook span {
  background: #1877f2;
  font-family: Arial, sans-serif;
}

.contact-social-links .social-youtube span {
  background: #ff0000;
}

@media (max-width: 760px) {
  .contact-map-preview {
    height: 210px;
  }
}


/* V83 - Contacto Diseño 2 */
.masala-contact.contact-design-2 {
  padding: 96px 0 92px;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,42,163,.18), transparent 28%),
    radial-gradient(circle at 88% 38%, rgba(255,106,26,.18), transparent 30%),
    linear-gradient(135deg, #090015 0%, #18002b 45%, #05000f 100%) !important;
  color: #fff;
  min-height: 760px;
}

.contact-design-2::before {
  display: none;
}

.contact-design-2 .contact-dancer-bg {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 34%;
  background-image: linear-gradient(90deg, rgba(9,0,21,0), rgba(9,0,21,.18)), var(--contact-dancer);
  background-size: cover;
  background-position: center right;
  opacity: .72;
  pointer-events: none;
  z-index: 0;
}

.contact-design-2 .contact-mandala {
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  opacity: .16;
  border: 1px solid rgba(255,42,163,.35);
  pointer-events: none;
}

.contact-design-2 .contact-mandala-a {
  left: -120px;
  top: -120px;
  box-shadow: 0 0 0 18px rgba(255,42,163,.035), 0 0 0 42px rgba(255,180,0,.025);
}

.contact-design-2 .contact-mandala-b {
  right: -170px;
  bottom: -170px;
  box-shadow: 0 0 0 22px rgba(255,42,163,.04), 0 0 0 52px rgba(255,180,0,.025);
}

.contact-design-2 .contact-head {
  max-width: 970px;
  margin-bottom: 44px;
  text-align: center;
}

.contact-design-2 .contact-tag {
  color: var(--contact-gold, #ffb400);
  font-family: var(--contact-tag-font, 'Poppins'), sans-serif;
  letter-spacing: .48em;
}

.contact-design-2 .contact-title {
  color: #f8d06a;
  font-size: clamp(54px, 7vw, 88px);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 14px;
  text-shadow: 0 12px 40px rgba(255,180,0,.12);
}

.contact-design-2 .contact-title::after {
  content: '';
  display: block;
  width: min(520px, 90%);
  height: 1px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, transparent, var(--contact-gold, #ffb400), transparent);
}

.contact-design-2 .contact-intro,
.contact-design-2 .contact-intro p {
  color: #fff;
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
  font-size: clamp(20px, 2.4vw, 34px);
  font-weight: 800;
  line-height: 1.3;
}

.contact-design-2 .contact-intro strong,
.contact-design-2 .contact-intro span {
  color: var(--contact-accent, #ff2aa3);
}

.contact-main-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(300px, 1.05fr) 1px minmax(300px, .95fr);
  gap: 36px;
  align-items: stretch;
  max-width: 1200px;
  margin: 0 auto;
}

.contact-left,
.contact-right {
  min-width: 0;
}

.contact-map-large {
  height: 290px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 26px 75px rgba(0,0,0,.32);
  background: rgba(255,255,255,.08);
}

.contact-map-large iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: saturate(.85) contrast(1.02) brightness(.98);
}

.contact-location-panel {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px;
  border-radius: 22px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,42,163,.35);
  backdrop-filter: blur(10px);
}

.contact-location-icon,
.contact-action-icon {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--contact-accent, #ff2aa3), #ff4f62);
  color: #fff;
  font-size: 26px;
  box-shadow: 0 18px 44px rgba(255,42,163,.22);
}

.contact-location-panel h3 {
  color: #fff;
  font-size: 24px;
  margin: 0 0 8px;
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
}

.contact-location-text {
  color: rgba(255,255,255,.9);
  font-size: 19px;
  line-height: 1.45;
  font-weight: 700;
}

.contact-inline-link {
  display: inline-block;
  margin-top: 14px;
  color: #ff4aa8;
  font-weight: 900;
  text-decoration: none;
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
}

.contact-separator {
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--contact-accent, #ff2aa3), transparent);
  box-shadow: 0 0 20px rgba(255,42,163,.55);
}

.contact-right {
  display: grid;
  gap: 20px;
  align-content: center;
}

.contact-action-card {
  display: grid;
  grid-template-columns: 78px 1fr 28px;
  gap: 18px;
  align-items: center;
  min-height: 116px;
  padding: 20px 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,42,163,.28);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(10px);
  box-shadow: 0 22px 60px rgba(0,0,0,.20);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.contact-action-card:hover {
  transform: translateX(5px);
  background: rgba(255,255,255,.085);
  border-color: rgba(255,42,163,.55);
}

.contact-action-copy strong {
  display: block;
  font-family: var(--contact-text-font, 'Poppins'), sans-serif;
  font-size: clamp(19px, 2vw, 28px);
  line-height: 1.2;
  color: #fff;
  overflow-wrap: anywhere;
}

.contact-action-copy em {
  display: block;
  margin-top: 7px;
  font-style: normal;
  color: #ff43a6;
  font-weight: 800;
  font-size: 18px;
}

.contact-arrow {
  color: #ff43a6;
  font-size: 42px;
  line-height: 1;
}

.contact-social-design-2 {
  position: relative;
  z-index: 2;
  margin-top: 42px;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.contact-social-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
  max-width: 650px;
  margin: 0 auto 24px;
}

.contact-social-title span {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--contact-gold, #ffb400));
}

.contact-social-title span:last-child {
  background: linear-gradient(90deg, var(--contact-gold, #ffb400), transparent);
}

.contact-social-title h3 {
  margin: 0;
  color: var(--contact-gold, #ffb400);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-family: var(--contact-title-font, 'Playfair Display'), serif;
}

.contact-social-design-2 .contact-social-links {
  gap: 46px;
}

.contact-social-design-2 .contact-social-links a {
  display: grid;
  gap: 10px;
  justify-items: center;
  background: transparent;
  border: 0;
  color: #fff;
  box-shadow: none;
  padding: 0;
  min-height: auto;
}

.contact-social-design-2 .contact-social-links a span {
  width: 72px;
  height: 72px;
  font-size: 32px;
  box-shadow: 0 18px 42px rgba(0,0,0,.25);
}

.contact-social-design-2 .contact-social-links a small {
  font-size: 14px;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 900;
}

@media (max-width: 980px) {
  .contact-design-2 .contact-dancer-bg {
    display: none;
  }

  .contact-main-layout {
    grid-template-columns: 1fr;
    gap: 22px;
    max-width: 650px;
  }

  .contact-separator {
    display: none;
  }
}

@media (max-width: 760px) {
  .masala-contact.contact-design-2 {
    padding: 74px 0;
    min-height: auto;
  }

  .contact-design-2 .contact-title {
    font-size: clamp(42px, 13vw, 60px);
  }

  .contact-design-2 .contact-intro,
  .contact-design-2 .contact-intro p {
    font-size: 22px;
  }

  .contact-map-large {
    height: 240px;
  }

  .contact-location-panel {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }

  .contact-action-card {
    grid-template-columns: 60px 1fr 24px;
    padding: 18px;
  }

  .contact-action-icon {
    width: 54px;
    height: 54px;
  }

  .contact-social-design-2 .contact-social-links {
    gap: 24px;
  }

  .contact-social-design-2 .contact-social-links a span {
    width: 62px;
    height: 62px;
  }
}


/* V84 - Contáctanos sin formulario + WhatsApp flotante */
.contact-form,
.contacto-form,
.masala-contact-old,
section:has(.contact-form),
section:has(form .contact-form) {
  display: none !important;
}

.masala-float-whatsapp-v84 {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  z-index: 9999;
  text-decoration: none;
  font-size: 28px;
  color: #fff;
  background: linear-gradient(135deg, #25D366, #10b957);
  box-shadow: 0 18px 45px rgba(37,211,102,.42);
  transition: transform .2s ease, box-shadow .2s ease;
}

.masala-float-whatsapp-v84:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 24px 60px rgba(37,211,102,.52);
}

@media (max-width: 760px) {
  .masala-float-whatsapp-v84 {
    width: 58px;
    height: 58px;
    right: 18px;
    bottom: 18px;
    font-size: 25px;
  }
}


/* V85 - Limpieza botón WhatsApp duplicado y optimización móvil final */
.masala-float-whatsapp-v84 {
  display: none !important;
}

/* Solo un WhatsApp flotante visible */
.whatsapp-float {
  z-index: 9999 !important;
  width: 60px !important;
  height: 60px !important;
  right: 24px !important;
  bottom: 24px !important;
  box-shadow: 0 18px 45px rgba(37,211,102,.42) !important;
}

/* Separar "Descubre más" de los botones del Inicio */
.hero-scroll {
  bottom: clamp(42px, 7vh, 88px) !important;
}

.hero-content {
  padding-bottom: clamp(80px, 12vh, 140px) !important;
}

.hero-btns {
  margin-bottom: clamp(34px, 6vh, 80px) !important;
}

/* Optimización móvil global final */
@media (max-width: 760px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  section,
  .container,
  .site-main,
  main {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Inicio móvil */
  #inicio {
    min-height: 100svh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 96px !important;
    padding-bottom: 120px !important;
  }

  #inicio .hero-content {
    width: 100% !important;
    max-width: 94vw !important;
    padding-bottom: 105px !important;
    transform: translate(var(--hero-offset-x, 0px), var(--hero-offset-y, 0px));
  }

  #inicio .hero-title {
    font-size: clamp(40px, 12vw, 62px) !important;
    line-height: 1.02 !important;
    text-align: center !important;
  }

  #inicio .hero-title em {
    font-size: clamp(44px, 14vw, 68px) !important;
  }

  #inicio .hero-sub {
    font-size: clamp(16px, 4.4vw, 20px) !important;
    line-height: 1.55 !important;
    max-width: 92vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #inicio .hero-btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    max-width: 330px !important;
    margin: 26px auto 76px !important;
  }

  #inicio .hero-btns a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #inicio .hero-scroll {
    bottom: 32px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  #inicio .hero-scroll-inner {
    gap: 6px !important;
    font-size: 10px !important;
    letter-spacing: 2px !important;
  }

  #inicio .hero-scroll-inner:after {
    height: 28px !important;
  }

  /* Cards y secciones en móvil */
  .about-grid,
  .tv-duo-grid,
  .events-grid,
  .schedule-grid,
  .contact-main-layout,
  .contact-cards,
  .desp-info-boxes {
    grid-template-columns: 1fr !important;
  }

  .section-title,
  .about-title,
  .tv-title,
  .events-title,
  .desp-title,
  .contact-title {
    text-align: center !important;
    line-height: 1.08 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .section-desc,
  .about-text,
  .tv-intro,
  .events-intro,
  .desp-intro,
  .contact-intro {
    text-align: center !important;
    overflow-wrap: anywhere !important;
    line-height: 1.7 !important;
  }

  .whatsapp-float {
    width: 58px !important;
    height: 58px !important;
    right: 18px !important;
    bottom: 18px !important;
  }

  .back-to-top,
  .scroll-top {
    bottom: 88px !important;
  }
}

@media (max-width: 420px) {
  .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  #inicio .hero-btns {
    max-width: 300px !important;
    margin-bottom: 82px !important;
  }

  #inicio .hero-scroll {
    bottom: 26px !important;
  }
}


/* V86 - Síguenos perfecto en móvil + responsive final */
@media (max-width: 760px) {
  /* CONTACTO / CONTÁCTANOS: redes siempre visibles */
  #contactanos .contact-social,
  #contacto .contact-social,
  .contact-social-design-2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 34px auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #contactanos .contact-social-title,
  #contacto .contact-social-title,
  .contact-social-title {
    grid-template-columns: 1fr auto 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
  }

  #contactanos .contact-social-title h3,
  #contacto .contact-social-title h3,
  .contact-social-title h3 {
    font-size: 20px !important;
    white-space: nowrap !important;
    letter-spacing: .12em !important;
  }

  #contactanos .contact-social-links,
  #contacto .contact-social-links,
  .contact-social-design-2 .contact-social-links,
  .contact-social-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-items: center !important;
    align-items: start !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  #contactanos .contact-social-links a,
  #contacto .contact-social-links a,
  .contact-social-design-2 .contact-social-links a,
  .contact-social-links a {
    display: grid !important;
    grid-template-rows: auto auto !important;
    gap: 7px !important;
    justify-items: center !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 105px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #contactanos .contact-social-links a span,
  #contacto .contact-social-links a span,
  .contact-social-design-2 .contact-social-links a span,
  .contact-social-links a span {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 25px !important;
    line-height: 1 !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.24) !important;
  }

  #contactanos .contact-social-links a small,
  #contacto .contact-social-links a small,
  .contact-social-design-2 .contact-social-links a small,
  .contact-social-links a small {
    display: block !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  /* Layout contacto móvil más compacto y sin cortes */
  .contact-main-layout {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .contact-right {
    width: 100% !important;
    gap: 14px !important;
  }

  .contact-action-card {
    width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: 54px minmax(0, 1fr) 20px !important;
    gap: 12px !important;
    min-height: 94px !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .contact-action-copy strong {
    font-size: 17px !important;
    overflow-wrap: anywhere !important;
  }

  .contact-action-copy em {
    font-size: 14px !important;
  }

  .contact-arrow {
    font-size: 30px !important;
  }

  .contact-map-large {
    height: 230px !important;
    border-radius: 20px !important;
  }

  .contact-location-panel {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .contact-location-text {
    font-size: 16px !important;
  }

  /* Evitar que cualquier sección cree scroll horizontal */
  #inicio, #sobre, #apariciones-tv, #horarios, #eventos, #instalaciones, #despedida, #contactanos, #contacto {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  img, video, iframe {
    max-width: 100% !important;
  }

  /* Carruseles y tarjetas siempre dentro del viewport */
  .tv-duo-panel,
  .inst-carousel,
  .desp-carousel,
  .event-card,
  .desp-info-box,
  .contact-location-panel,
  .contact-action-card {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 420px) {
  #contactanos .contact-social-links,
  #contacto .contact-social-links,
  .contact-social-design-2 .contact-social-links,
  .contact-social-links {
    gap: 6px !important;
  }

  #contactanos .contact-social-links a span,
  #contacto .contact-social-links a span,
  .contact-social-design-2 .contact-social-links a span,
  .contact-social-links a span {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    font-size: 22px !important;
  }

  #contactanos .contact-social-links a small,
  #contacto .contact-social-links a small,
  .contact-social-design-2 .contact-social-links a small,
  .contact-social-links a small {
    font-size: 10px !important;
  }

  .contact-action-card {
    grid-template-columns: 50px minmax(0, 1fr) 18px !important;
    padding: 14px !important;
  }
}


/* V87 - Logos reales en Síguenos y fix Instagram móvil */
.contact-social-links {
  overflow: visible !important;
}

.contact-social-links a img {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  display: block !important;
  object-fit: contain !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
}

.contact-social-links a span {
  display: none !important;
}

@media (max-width: 760px) {
  #contactanos .contact-social-links,
  #contacto .contact-social-links,
  .contact-social-design-2 .contact-social-links,
  .contact-social-links {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    width: 100% !important;
    max-width: 330px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 12px !important;
    justify-content: center !important;
    justify-items: center !important;
    overflow: visible !important;
  }

  #contactanos .contact-social-links a,
  #contacto .contact-social-links a,
  .contact-social-design-2 .contact-social-links a,
  .contact-social-links a {
    display: grid !important;
    grid-template-rows: 58px auto !important;
    justify-items: center !important;
    align-items: center !important;
    width: 96px !important;
    max-width: 96px !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  #contactanos .contact-social-links a img,
  #contacto .contact-social-links a img,
  .contact-social-design-2 .contact-social-links a img,
  .contact-social-links a img {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #contactanos .contact-social-links a small,
  #contacto .contact-social-links a small,
  .contact-social-design-2 .contact-social-links a small,
  .contact-social-links a small {
    display: block !important;
    color: #fff !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
  }
}

@media (max-width: 360px) {
  #contactanos .contact-social-links,
  #contacto .contact-social-links,
  .contact-social-design-2 .contact-social-links,
  .contact-social-links {
    max-width: 300px !important;
    gap: 6px !important;
  }

  #contactanos .contact-social-links a,
  #contacto .contact-social-links a,
  .contact-social-design-2 .contact-social-links a,
  .contact-social-links a {
    width: 88px !important;
    max-width: 88px !important;
  }

  #contactanos .contact-social-links a img,
  #contacto .contact-social-links a img,
  .contact-social-design-2 .contact-social-links a img,
  .contact-social-links a img {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }
}


/* V88 - Instagram visible sí o sí en móvil */
.contact-social-v88,
.contact-social-links-v88,
.social-visible-v88 {
  opacity: 1 !important;
  visibility: visible !important;
  display: grid !important;
  transform: none !important;
  clip-path: none !important;
  overflow: visible !important;
}

.contact-social-links-v88 {
  grid-template-columns: repeat(3, minmax(80px, 1fr)) !important;
  justify-content: center !important;
  justify-items: center !important;
  align-items: start !important;
  width: min(100%, 430px) !important;
  margin: 0 auto !important;
  gap: 18px !important;
}

.contact-social-links-v88 .social-visible-v88 {
  width: 100% !important;
  max-width: 120px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  place-items: center !important;
  grid-template-rows: auto auto !important;
  background: transparent !important;
  border: 0 !important;
}

.contact-social-links-v88 .social-visible-v88 img {
  display: block !important;
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  min-height: 68px !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
  border-radius: 999px !important;
}

.contact-social-links-v88 .social-visible-v88 small {
  display: block !important;
  margin-top: 9px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
}

@media (max-width: 760px) {
  .contact-social-v88 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 34px auto 0 !important;
  }

  .contact-social-links-v88 {
    grid-template-columns: repeat(3, 1fr) !important;
    width: 100% !important;
    max-width: 330px !important;
    gap: 8px !important;
  }

  .contact-social-links-v88 .social-visible-v88 {
    width: 96px !important;
    max-width: 96px !important;
  }

  .contact-social-links-v88 .social-visible-v88 img {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
  }

  .contact-social-links-v88 .social-visible-v88 small {
    font-size: 10px !important;
  }
}

@media (max-width: 340px) {
  .contact-social-links-v88 {
    max-width: 290px !important;
    gap: 4px !important;
  }

  .contact-social-links-v88 .social-visible-v88 {
    width: 88px !important;
    max-width: 88px !important;
  }

  .contact-social-links-v88 .social-visible-v88 img {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
  }
}


/* V89 - Redes sociales como botones propios, sin clases bloqueables */
.masala-redes-v89 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 42px auto 0 !important;
  position: relative !important;
  z-index: 5 !important;
}

.masala-redes-row-v89 {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 44px !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

.masala-red-btn-v89 {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 10px !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 6 !important;
}

.masala-red-btn-v89 img {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.32) !important;
}

.masala-red-btn-v89 small {
  display: block !important;
  color: #fff !important;
  font-family: var(--contact-text-font, 'Poppins'), sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  text-align: center !important;
  white-space: normal !important;
}

@media (max-width: 760px) {
  .masala-redes-v89 {
    max-width: 100% !important;
    margin-top: 34px !important;
    padding: 0 2px !important;
  }

  .masala-redes-row-v89 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    max-width: 330px !important;
  }

  .masala-red-btn-v89 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .masala-red-btn-v89 img {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
  }

  .masala-red-btn-v89 small {
    font-size: 10.5px !important;
  }
}

@media (max-width: 340px) {
  .masala-redes-row-v89 {
    max-width: 292px !important;
    gap: 4px !important;
  }

  .masala-red-btn-v89 img {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }

  .masala-red-btn-v89 small {
    font-size: 10px !important;
  }
}


/* V90 - Animaciones redes */
.masala-red-btn-v89 {
  transition: transform .25s ease, filter .25s ease !important;
}
.masala-red-btn-v89 img {
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
.masala-red-btn-v89 small {
  transition: color .25s ease, letter-spacing .25s ease !important;
}
.masala-red-btn-v89:hover {
  transform: translateY(-7px) scale(1.05) !important;
}
.masala-red-btn-v89:hover img {
  transform: scale(1.08) rotate(-2deg) !important;
  box-shadow: 0 0 26px rgba(255,42,163,.45), 0 18px 46px rgba(0,0,0,.35) !important;
  filter: saturate(1.15) brightness(1.08) !important;
}
.masala-red-btn-v89:hover small {
  color: #ff8fd2 !important;
  letter-spacing: .08em !important;
}
.masala-red-btn-v89 {
  animation: socialFadeV90 .5s ease both;
}
.masala-red-btn-v89:nth-child(1){ animation-delay:.08s; }
.masala-red-btn-v89:nth-child(2){ animation-delay:.18s; }
.masala-red-btn-v89:nth-child(3){ animation-delay:.28s; }
@keyframes socialFadeV90 {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}

/* V90 - Eventos WhatsApp verde */
.event-pro-whatsapp {
  background: rgba(37, 211, 102, .12) !important;
  border: 1px solid rgba(37, 211, 102, .35) !important;
  box-shadow: 0 18px 45px rgba(37, 211, 102, .15) !important;
}
.event-pro-whatsapp:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 24px 60px rgba(37, 211, 102, .25) !important;
}
.event-pro-whatsapp-icon {
  background: #25D366 !important;
  color: #fff !important;
}
.event-pro-whatsapp-icon::before {
  content: '☎';
  font-size: 22px;
}
.event-pro-whatsapp-icon {
  font-size: 0 !important;
}

/* V90 - Apariciones TV vídeos en grid, no carrusel */
.tv-videos-grid-panel .tv-video-grid-v90 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
}
.tv-video-card-v90 {
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  border: 1px dashed rgba(255,42,163,.45);
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 20px 55px rgba(30,8,46,.12);
  min-height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.tv-video-thumb-v90 {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(24,0,43,.55);
  display: grid;
  place-items: center;
}
.tv-video-thumb-v90 iframe,
.tv-video-thumb-v90 video {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  object-fit: cover;
}
.tv-link-card-v90 {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #fff;
  text-decoration: none;
}
.tv-video-card-copy-v90 {
  text-align: center;
  padding-top: 14px;
}
.tv-video-card-copy-v90 h3 {
  font-family: var(--item-video-title-font, var(--tv-video-title-font, 'Poppins'));
  font-size: var(--item-video-title-size, var(--tv-video-title-size, 18px));
  color: var(--tv-title-color, #160022);
  margin: 0 0 6px;
}
.tv-video-card-copy-v90 p {
  font-family: var(--item-video-desc-font, var(--tv-video-desc-font, 'Poppins'));
  font-size: var(--item-video-desc-size, var(--tv-video-desc-size, 15px));
  margin: 0;
}

@media (max-width: 980px) {
  .tv-videos-grid-panel .tv-video-grid-v90 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .tv-videos-grid-panel .tv-video-grid-v90 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .tv-video-card-v90 {
    min-height: 170px;
    padding: 14px;
  }
}


/* V91 - Final panel cleanup, móvil y editores rich */
.tv-video-rich-desc-v91,
.tv-video-rich-desc-v91 p,
.event-pro-short,
.event-pro-short p {
  font-family: var(--tv-video-desc-font, var(--events-card-text-font, 'Poppins')), sans-serif;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.tv-video-rich-desc-v91 ul,
.event-pro-short ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.tv-video-rich-desc-v91 li,
.event-pro-short li {
  margin: 4px 0;
}

/* Botón flotante: el panel manda. Si no se imprime, no aparece. */
.whatsapp-float {
  display: grid;
}

/* TV grid limpio: no parecer carrusel */
.tv-videos-grid-panel .tv-arrow,
.tv-videos-grid-panel .tv-dots {
  display: none !important;
}

.tv-videos-grid-panel {
  overflow: visible !important;
}

/* Ajustes móviles finales */
@media (max-width: 760px) {
  body {
    overflow-x: hidden !important;
  }

  #inicio, #sobre, #servicios, #horarios, #eventos, #instalaciones, #despedida, #contactanos {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

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

  .tv-videos-grid-panel .tv-video-grid-v90 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .tv-video-card-v90 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .event-pro-card.is-expanded,
  .event-pro-card.expanded,
  .event-pro-card {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .event-pro-whatsapp {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .masala-redes-row-v89 {
    max-width: 330px !important;
  }

  .contact-main-layout,
  .events-pro-grid,
  .desp-info-boxes,
  .schedule-grid {
    grid-template-columns: 1fr !important;
  }

  img, video, iframe {
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  .tv-video-card-v90 {
    padding: 12px !important;
  }

  .tv-video-card-copy-v90 h3 {
    font-size: 16px !important;
  }

  .tv-video-rich-desc-v91,
  .tv-video-rich-desc-v91 p {
    font-size: 13px !important;
  }
}


/* V92 - listas con estrellas Masala en textos Word */
.sobre-rich-list ul,
.sobre-text ul,
.tv-video-rich-desc-v91 ul,
.event-pro-short ul,
.event-pro-dates ul,
.event-pro-long ul,
.desp-intro ul,
.desp-info-box ul,
.contact-intro ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 12px 0 !important;
}

.sobre-rich-list li,
.sobre-text li,
.tv-video-rich-desc-v91 li,
.event-pro-short li,
.event-pro-dates li,
.event-pro-long li,
.desp-intro li,
.desp-info-box li,
.contact-intro li {
  position: relative;
  padding-left: 24px;
  margin: 8px 0;
  line-height: 1.6;
}

.sobre-rich-list li::before,
.sobre-text li::before,
.tv-video-rich-desc-v91 li::before,
.event-pro-short li::before,
.event-pro-dates li::before,
.event-pro-long li::before,
.desp-intro li::before,
.desp-info-box li::before,
.contact-intro li::before {
  content: '✦';
  position: absolute;
  left: 0;
  top: .05em;
  color: var(--gold, #ffb400);
  font-size: .95em;
}


/* V93 - bullet points Word robustos en toda la web */
.sobre-rich-list ul,
.sobre-rich-list ol,
.sobre-text ul,
.sobre-text ol,
.tv-video-rich-desc-v91 ul,
.tv-video-rich-desc-v91 ol,
.event-pro-short ul,
.event-pro-short ol,
.event-pro-dates ul,
.event-pro-dates ol,
.event-pro-long ul,
.event-pro-long ol,
.desp-intro ul,
.desp-intro ol,
.desp-info-box ul,
.desp-info-box ol,
.contact-intro ul,
.contact-intro ol,
.section-desc ul,
.section-desc ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 12px 0 !important;
}

.sobre-rich-list li,
.sobre-text li,
.tv-video-rich-desc-v91 li,
.event-pro-short li,
.event-pro-dates li,
.event-pro-long li,
.desp-intro li,
.desp-info-box li,
.contact-intro li,
.section-desc li {
  position: relative !important;
  padding-left: 24px !important;
  margin: 8px 0 !important;
  line-height: 1.6 !important;
  display: list-item !important;
  list-style: none !important;
}

.sobre-rich-list li::before,
.sobre-text li::before,
.tv-video-rich-desc-v91 li::before,
.event-pro-short li::before,
.event-pro-dates li::before,
.event-pro-long li::before,
.desp-intro li::before,
.desp-info-box li::before,
.contact-intro li::before,
.section-desc li::before {
  content: '✦' !important;
  position: absolute !important;
  left: 0 !important;
  top: .02em !important;
  color: var(--gold, #ffb400) !important;
  font-size: .95em !important;
}


/* V94 - vídeos TV robustos */
.tv-file-video-v94 {
  width: 100%;
  height: 100%;
  min-height: 190px;
  display: grid;
  place-items: center;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: radial-gradient(circle at 50% 35%, rgba(255,42,163,.35), rgba(24,0,43,.92));
  border-radius: 16px;
  padding: 24px;
}
.tv-file-video-v94 span {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#ff2aa3,#ff6a1a);
  font-size: 26px;
  box-shadow: 0 18px 40px rgba(255,42,163,.30);
}
.tv-file-video-v94 strong {
  display: block;
  margin-top: 10px;
  font-size: 18px;
}
.tv-file-video-v94 small {
  display: block;
  opacity: .8;
}


/* V97 - Player HTML5 urgente en Apariciones TV */
.tv-html5-player-v97 {
  width: 100% !important;
  height: 100% !important;
  min-height: 210px;
  display: block !important;
  object-fit: cover !important;
  background: #140020 !important;
  border-radius: 16px !important;
}

.tv-video-thumb-v90 {
  min-height: 210px;
  background: #140020;
}

.tv-video-card-v90 {
  border-style: solid !important;
}

/* V98 - Apariciones TV reconstruido: videos arriba, imágenes abajo */
.tv-stacked-v98 .tv-stack-v98{display:grid;gap:34px}
.tv-video-grid-v98{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tv-video-card-v98{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid rgba(255,42,163,.22);border-radius:24px;padding:18px;box-shadow:0 22px 65px rgba(22,0,34,.10)}
.tv-video-player-v98{width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#12001d;display:grid;place-items:center}
.tv-video-player-v98 iframe,.tv-html5-player-v98{width:100%!important;height:100%!important;display:block!important;border:0!important;object-fit:contain!important;background:#12001d!important}
.tv-images-bottom-v98{margin-top:6px}
.tv-gallery-images-v98{min-height:420px;border-radius:26px;overflow:hidden}
.tv-gallery-images-v98 .tv-slide img{width:100%;height:100%;object-fit:cover}
@media(max-width:980px){.tv-video-grid-v98{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tv-video-grid-v98{grid-template-columns:1fr;gap:18px}.tv-video-card-v98{padding:14px;border-radius:20px}.tv-gallery-images-v98{min-height:300px}}

/* V99 - Restaurar diseño TV y arreglar click/play del reproductor */
.tv-restored-v99 .tv-duo-grid.tv-stack-order-v99 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 36px !important;
}

.tv-restored-v99 .tv-videos-top-v99,
.tv-restored-v99 .tv-images-bottom-v99 {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tv-video-grid-v99 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
}

.tv-video-card-v99 {
  position: relative !important;
  overflow: visible !important;
}

.tv-video-thumb-v99 {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 220px !important;
  overflow: visible !important;
  background: #12051f !important;
  pointer-events: auto !important;
}

.tv-player-shell-v99 {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 220px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #12051f !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

.tv-html5-player-v99 {
  position: relative !important;
  z-index: 6 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 220px !important;
  display: block !important;
  object-fit: contain !important;
  background: #12051f !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.tv-play-overlay-v99 {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 8 !important;
  width: 74px !important;
  height: 74px !important;
  border-radius: 999px !important;
  border: 0 !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
  font-size: 28px !important;
  box-shadow: 0 18px 45px rgba(255,42,163,.35) !important;
  pointer-events: auto !important;
}

.tv-player-shell-v99.is-playing .tv-play-overlay-v99 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.tv-open-video-v99 {
  display: inline-block !important;
  margin-top: 10px !important;
  color: var(--tv-accent, #e91e8c) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

.tv-restored-v99 .tv-youtube-cta {
  display: grid !important;
  justify-items: center !important;
  gap: 8px !important;
  margin-top: 36px !important;
}

.tv-restored-v99 .tv-youtube-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 15px 24px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #e91e8c, #ff6a1a) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  box-shadow: 0 16px 38px rgba(233,30,140,.25) !important;
}

@media (max-width: 980px) {
  .tv-video-grid-v99 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .tv-video-grid-v99 {
    grid-template-columns: 1fr !important;
  }

  .tv-video-thumb-v99,
  .tv-player-shell-v99,
  .tv-html5-player-v99 {
    min-height: 210px !important;
  }
}


/* V100 - Player WordPress/MediaElement por ID de adjunto */
.tv-player-shell-v100 {
  position: relative !important;
  width: 100% !important;
  min-height: 230px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #12051f !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}

.tv-player-shell-v100 .wp-video,
.tv-player-shell-v100 .mejs-container,
.tv-player-shell-v100 video {
  width: 100% !important;
  max-width: 100% !important;
  height: 230px !important;
  min-height: 230px !important;
  display: block !important;
  background: #12051f !important;
  pointer-events: auto !important;
  z-index: 30 !important;
}

.tv-player-shell-v100 .mejs-controls,
.tv-player-shell-v100 .mejs-overlay,
.tv-player-shell-v100 .mejs-overlay-button,
.tv-player-shell-v100 .mejs-mediaelement {
  pointer-events: auto !important;
  z-index: 40 !important;
}

.tv-video-thumb-v99 {
  overflow: visible !important;
}

@media(max-width:640px){
  .tv-player-shell-v100,
  .tv-player-shell-v100 .wp-video,
  .tv-player-shell-v100 .mejs-container,
  .tv-player-shell-v100 video {
    height: 215px !important;
    min-height: 215px !important;
  }
}


/* V101 - Multiples players inline TV */
.tv-multi-player-v101 {
  width: 100% !important;
  background: #12051f !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 50 !important;
  pointer-events: auto !important;
}

.tv-player-tabs-v101 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 4px !important;
  padding: 8px !important;
  background: rgba(0,0,0,.35) !important;
}

.tv-player-tabs-v101 button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 8px 6px !important;
  cursor: pointer !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

.tv-player-tabs-v101 button.active {
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
}

.tv-player-pane-v101 {
  display: none !important;
  width: 100% !important;
  min-height: 250px !important;
  background: #12051f !important;
  pointer-events: auto !important;
}

.tv-player-pane-v101.active {
  display: block !important;
}

.tv-html5-player-v101,
.tv-iframe-player-v101,
.tv-object-player-v101,
.tv-player-pane-v101 .wp-video,
.tv-player-pane-v101 .mejs-container,
.tv-player-pane-v101 video {
  width: 100% !important;
  height: 250px !important;
  min-height: 250px !important;
  display: block !important;
  background: #12051f !important;
  border: 0 !important;
  object-fit: contain !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 60 !important;
}

.tv-src-note-v101 {
  padding: 8px 12px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 11px !important;
  text-align: center !important;
  background: rgba(0,0,0,.25) !important;
}

.tv-open-video-v99 {
  display: none !important;
}

@media(max-width:640px){
  .tv-player-pane-v101,
  .tv-html5-player-v101,
  .tv-iframe-player-v101,
  .tv-object-player-v101,
  .tv-player-pane-v101 .wp-video,
  .tv-player-pane-v101 .mejs-container,
  .tv-player-pane-v101 video {
    height: 220px !important;
    min-height: 220px !important;
  }
  .tv-player-tabs-v101 button {
    font-size: 10px !important;
    padding: 7px 3px !important;
  }
}


/* V102 - Player final limpio y bonito para Apariciones TV */
.tv-multi-player-v101,
.tv-player-tabs-v101,
.tv-src-note-v101 {
  display: none !important;
}

.tv-video-card-v99,
.tv-video-card-v90 {
  border-radius: 28px !important;
  padding: 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,246,253,.92)) !important;
  border: 1px solid rgba(255,42,163,.28) !important;
  box-shadow: 0 24px 70px rgba(26, 10, 46, .10) !important;
  overflow: visible !important;
}

.tv-video-thumb-v99,
.tv-video-thumb-v90 {
  background: transparent !important;
  border-radius: 22px !important;
  min-height: auto !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

.tv-clean-player-v102 {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 230px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,42,163,.18), transparent 32%),
    linear-gradient(135deg, #12001d, #2a063f) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 18px 50px rgba(18,0,29,.18) !important;
}

.tv-clean-player-v102::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: 2 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 22%, rgba(0,0,0,.12)) !important;
}

.tv-html5-clean-v102 {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 230px !important;
  display: block !important;
  object-fit: cover !important;
  background: #12001d !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  border: 0 !important;
}

.tv-video-card-copy-v90 {
  padding-top: 16px !important;
  text-align: center !important;
}

.tv-video-card-copy-v90 h3 {
  color: #160022 !important;
  font-weight: 900 !important;
  margin-bottom: 8px !important;
}

.tv-video-rich-desc-v91,
.tv-video-rich-desc-v91 p {
  color: #5d5268 !important;
  line-height: 1.65 !important;
}

/* Que el grid quede limpio y elegante */
.tv-video-grid-v99,
.tv-video-grid-v90 {
  gap: 28px !important;
}

@media (max-width: 760px) {
  .tv-video-card-v99,
  .tv-video-card-v90 {
    padding: 14px !important;
    border-radius: 24px !important;
  }

  .tv-clean-player-v102,
  .tv-html5-clean-v102 {
    min-height: 210px !important;
  }
}

@media (max-width: 420px) {
  .tv-clean-player-v102,
  .tv-html5-clean-v102 {
    min-height: 190px !important;
  }
}


/* V103 - Lightbox Apariciones TV + botón play personalizado */
.tv-lightbox-v103 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: grid !important;
  place-items: center !important;
  padding: 22px !important;
  background: rgba(12, 0, 24, .88) !important;
  backdrop-filter: blur(10px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .25s ease, visibility .25s ease !important;
}

.tv-lightbox-v103.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.tv-lightbox-v103 img {
  max-width: min(96vw, 1180px) !important;
  max-height: 88vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.45) !important;
}

.tv-lightbox-v103 .tv-lightbox-close {
  position: fixed !important;
  top: 18px !important;
  right: 20px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
  font-size: 34px !important;
  line-height: 1 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  box-shadow: 0 18px 45px rgba(255,42,163,.25) !important;
}

body.tv-lightbox-lock {
  overflow: hidden !important;
}

.tv-clean-player-v103 {
  position: relative !important;
}

.tv-clean-player-v103 video::-internal-media-controls-download-button {
  display: none !important;
}

.tv-custom-play-v103 {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 82px !important;
  height: 82px !important;
  border: 0 !important;
  border-radius: 999px !important;
  z-index: 6 !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
  box-shadow: 0 18px 48px rgba(255,42,163,.38), 0 0 0 12px rgba(255,255,255,.10) !important;
  transition: transform .22s ease, opacity .22s ease, box-shadow .22s ease !important;
}

.tv-custom-play-v103 span {
  display: block !important;
  transform: translateX(3px) !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

.tv-custom-play-v103:hover {
  transform: translate(-50%, -50%) scale(1.08) !important;
  box-shadow: 0 24px 62px rgba(255,42,163,.46), 0 0 0 14px rgba(255,255,255,.12) !important;
}

.tv-clean-player-v103.is-playing .tv-custom-play-v103 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 640px) {
  .tv-custom-play-v103 {
    width: 68px !important;
    height: 68px !important;
  }

  .tv-custom-play-v103 span {
    font-size: 28px !important;
  }

  .tv-lightbox-v103 .tv-lightbox-close {
    width: 44px !important;
    height: 44px !important;
    font-size: 30px !important;
  }
}


/* V104 - Cada vídeo único + botón cerrar TV naranja */
body .tv-lightbox-v103 .tv-lightbox-close,
body .tv-mobile-lightbox .tv-lightbox-close,
body button.tv-lightbox-close {
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: 0 18px 45px rgba(255,42,163,.32) !important;
}

body .tv-lightbox-v103 .tv-lightbox-close:hover,
body .tv-mobile-lightbox .tv-lightbox-close:hover,
body button.tv-lightbox-close:hover {
  transform: scale(1.06) !important;
}


/* V105 - Fix final lightbox cerrar naranja */
.tv-lightbox-v103 button,
.tv-lightbox-v103 .tv-lightbox-close,
.tv-mobile-lightbox button,
.tv-mobile-lightbox .tv-lightbox-close {
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
}


/* V106 - Forzar visibilidad vídeo TV directo */
.tv-clean-player-v102,
.tv-clean-player-v103,
.tv-html5-clean-v102 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.tv-html5-clean-v102 {
  width: 100% !important;
  min-height: 220px !important;
  background: #12001d !important;
}

/* V108 - TV por URL directa, play bonito sin emoji y lightbox compartido */
.tv-custom-play-v108 {
  width: 92px !important;
  height: 92px !important;
  background: radial-gradient(circle at 35% 28%, rgba(255,255,255,.35), rgba(255,255,255,.08) 32%, rgba(255,42,163,.95) 58%, rgba(255,106,26,.96) 100%) !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  box-shadow: 0 24px 70px rgba(255,42,163,.42), 0 0 0 13px rgba(255,255,255,.13), inset 0 1px 0 rgba(255,255,255,.35) !important;
  overflow: visible !important;
}
.tv-custom-play-v108::before {
  content: '' !important;
  position: absolute !important;
  inset: -13px !important;
  border-radius: inherit !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  animation: masalaPlayPulseV108 1.9s ease-in-out infinite !important;
}
.tv-custom-play-v108::after {
  content: '' !important;
  position: absolute !important;
  inset: 8px !important;
  border-radius: inherit !important;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0)) !important;
  pointer-events: none !important;
}
.tv-play-triangle-v108 {
  width: 0 !important;
  height: 0 !important;
  border-top: 18px solid transparent !important;
  border-bottom: 18px solid transparent !important;
  border-left: 28px solid #fff !important;
  transform: translateX(4px) !important;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.24)) !important;
  z-index: 2 !important;
}
.tv-custom-play-v108:hover {
  transform: translate(-50%, -50%) scale(1.1) !important;
  box-shadow: 0 30px 78px rgba(255,42,163,.52), 0 0 0 16px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.42) !important;
}
@keyframes masalaPlayPulseV108 {
  0%,100% { transform: scale(.94); opacity: .72; }
  50% { transform: scale(1.08); opacity: .24; }
}

body .inst-mobile-lightbox .inst-lightbox-close,
body .desp-lightbox .desp-lightbox-close,
body button.inst-lightbox-close,
body button.desp-lightbox-close {
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: 0 18px 45px rgba(255,42,163,.32) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body .inst-mobile-lightbox .inst-lightbox-close:hover,
body .desp-lightbox .desp-lightbox-close:hover,
body button.inst-lightbox-close:hover,
body button.desp-lightbox-close:hover {
  transform: scale(1.06) !important;
}

.masala-lightbox-nav {
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,.13) !important;
  color: #fff !important;
  font-size: 44px !important;
  line-height: 1 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  z-index: 1000000 !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.22) !important;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
  padding: 0 0 6px 0 !important;
}
.masala-lightbox-nav:hover {
  background: linear-gradient(135deg, rgba(255,42,163,.72), rgba(255,106,26,.72)) !important;
  transform: translateY(-50%) scale(1.06) !important;
}
.masala-lightbox-prev { left: 26px !important; }
.masala-lightbox-next { right: 26px !important; }
.tv-mobile-lightbox:not(.is-open) .masala-lightbox-nav,
.tv-lightbox-v103:not(.is-open) .masala-lightbox-nav,
.inst-mobile-lightbox:not(.is-open) .masala-lightbox-nav,
.desp-lightbox:not(.is-open) .masala-lightbox-nav { display: none !important; }
@media (max-width: 640px) {
  .tv-custom-play-v108 { width: 74px !important; height: 74px !important; }
  .tv-play-triangle-v108 { border-top-width: 14px !important; border-bottom-width: 14px !important; border-left-width: 22px !important; }
  .masala-lightbox-nav { width: 44px !important; height: 44px !important; font-size: 34px !important; }
  .masala-lightbox-prev { left: 12px !important; }
  .masala-lightbox-next { right: 12px !important; }
}

/* V109 - Lightbox premium unificado: botones estilo Despedida, sin borde amarillo */
body .tv-arrow,
body .tv-duo-grid .tv-arrow,
body .tv-appearances-duo .tv-arrow,
body .inst-arrow,
body .desp-arrow {
  width: 58px !important;
  height: 126px !important;
  border: 0 !important;
  outline: none !important;
  border-radius: 999px !important;
  background: rgba(25,5,39,.42) !important;
  color: #fff !important;
  font-size: 3rem !important;
  line-height: 1 !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.20) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
  padding: 0 0 6px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}
body .tv-arrow:hover,
body .tv-duo-grid .tv-arrow:hover,
body .tv-appearances-duo .tv-arrow:hover,
body .inst-arrow:hover,
body .desp-arrow:hover {
  background: rgba(25,5,39,.58) !important;
  transform: translateY(-50%) scale(1.045) !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.28) !important;
}
body .tv-arrow:focus,
body .tv-duo-grid .tv-arrow:focus,
body .tv-appearances-duo .tv-arrow:focus,
body .inst-arrow:focus,
body .desp-arrow:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.18), 0 18px 42px rgba(0,0,0,.22) !important;
}
body .tv-prev, body .inst-prev, body .desp-prev { left: 14px !important; }
body .tv-next, body .inst-next, body .desp-next { right: 14px !important; }

body .masala-lightbox-nav {
  width: 54px !important;
  height: 54px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  outline: none !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-size: 44px !important;
  line-height: 1 !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 0 0 7px 0 !important;
}
body .masala-lightbox-nav:hover {
  background: rgba(255,255,255,.20) !important;
  transform: translateY(-50%) scale(1.06) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.32) !important;
}
body .masala-lightbox-nav:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.20), 0 18px 50px rgba(0,0,0,.24) !important;
}
body .masala-lightbox-prev { left: 26px !important; }
body .masala-lightbox-next { right: 26px !important; }

body .tv-mobile-lightbox .tv-lightbox-close,
body .tv-lightbox-v103 .tv-lightbox-close,
body button.tv-lightbox-close,
body .inst-mobile-lightbox .inst-lightbox-close,
body .desp-lightbox .desp-lightbox-close,
body button.inst-lightbox-close,
body button.desp-lightbox-close {
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
  box-shadow: 0 20px 52px rgba(255,42,163,.34) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
body .tv-mobile-lightbox .tv-lightbox-close:hover,
body .tv-lightbox-v103 .tv-lightbox-close:hover,
body button.tv-lightbox-close:hover,
body .inst-mobile-lightbox .inst-lightbox-close:hover,
body .desp-lightbox .desp-lightbox-close:hover,
body button.inst-lightbox-close:hover,
body button.desp-lightbox-close:hover {
  transform: scale(1.07) rotate(3deg) !important;
  filter: brightness(1.06) !important;
}

@media (max-width: 760px) {
  body .tv-arrow,
  body .tv-duo-grid .tv-arrow,
  body .tv-appearances-duo .tv-arrow,
  body .inst-arrow,
  body .desp-arrow {
    width: 46px !important;
    height: 96px !important;
    font-size: 2.35rem !important;
  }
  body .masala-lightbox-nav {
    width: 46px !important;
    height: 46px !important;
    font-size: 36px !important;
  }
  body .masala-lightbox-prev { left: 12px !important; }
  body .masala-lightbox-next { right: 12px !important; }
}


/* V111 - Optimización final móvil TV: solo play premium, sin play/controles nativos raros */
.tv-clean-player-v103,
.tv-clean-player-v102 {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #12001d !important;
}
.tv-html5-clean-v102 {
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}
.tv-html5-clean-v102::-webkit-media-controls,
.tv-html5-clean-v102::-webkit-media-controls-panel,
.tv-html5-clean-v102::-webkit-media-controls-play-button,
.tv-html5-clean-v102::-webkit-media-controls-start-playback-button,
.tv-html5-clean-v102::-webkit-media-controls-overlay-play-button,
.tv-html5-clean-v102::-webkit-media-controls-timeline,
.tv-html5-clean-v102::-webkit-media-controls-current-time-display,
.tv-html5-clean-v102::-webkit-media-controls-time-remaining-display,
.tv-html5-clean-v102::-webkit-media-controls-volume-slider,
.tv-html5-clean-v102::-webkit-media-controls-mute-button,
.tv-html5-clean-v102::-webkit-media-controls-fullscreen-button {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  -webkit-appearance: none !important;
}
.tv-custom-play-v108 {
  pointer-events: auto !important;
  -webkit-tap-highlight-color: transparent !important;
}
.tv-clean-player-v103:not(.is-playing) .tv-custom-play-v108 {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.tv-clean-player-v103.is-playing .tv-custom-play-v108 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 760px) {
  .tv-video-grid-v99 {
    gap: 22px !important;
  }
  .tv-video-card-v99,
  .tv-video-card-v90 {
    padding: 12px !important;
    border-radius: 22px !important;
  }
  .tv-clean-player-v103,
  .tv-clean-player-v102 {
    border-radius: 18px !important;
  }
  .tv-html5-clean-v102 {
    min-height: 178px !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
  }
  .tv-custom-play-v108 {
    width: 64px !important;
    height: 64px !important;
    box-shadow: 0 16px 42px rgba(255,42,163,.36), 0 0 0 9px rgba(255,255,255,.12), inset 0 1px 0 rgba(255,255,255,.35) !important;
  }
  .tv-custom-play-v108::before {
    inset: -9px !important;
  }
  .tv-play-triangle-v108 {
    border-top-width: 12px !important;
    border-bottom-width: 12px !important;
    border-left-width: 19px !important;
    transform: translateX(3px) !important;
  }
}
@media (max-width: 390px) {
  .tv-html5-clean-v102 { min-height: 164px !important; }
  .tv-custom-play-v108 { width: 58px !important; height: 58px !important; }
}

/* V112 - Ajuste final: elimina la franja negra inferior en vídeos TV móvil */
.tv-appearances .tv-video-thumb-v99,
.tv-appearances .tv-video-thumb-v90 {
  overflow: hidden !important;
  background: transparent !important;
}
.tv-appearances .tv-clean-player-v103,
.tv-appearances .tv-clean-player-v102 {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #12001d !important;
}
.tv-appearances .tv-html5-clean-v102 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  display: block !important;
  object-fit: cover !important;
  background: #12001d !important;
}
@media (max-width: 760px) {
  .tv-appearances .tv-video-thumb-v99,
  .tv-appearances .tv-video-thumb-v90 {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 18px !important;
  }
  .tv-appearances .tv-video-card-v99,
  .tv-appearances .tv-video-card-v90 {
    padding-bottom: 12px !important;
  }
  .tv-appearances .tv-clean-player-v103,
  .tv-appearances .tv-clean-player-v102 {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* V113 - Final premium TV cards: sin huecos laterales, play más elegante y móvil limpio */
.tv-appearances .tv-video-grid-v99 {
  align-items: start !important;
}

.tv-appearances .tv-video-card-v99,
.tv-appearances .tv-video-card-v90 {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.tv-appearances .tv-video-thumb-v99,
.tv-appearances .tv-video-thumb-v90 {
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255, 42, 163, .28) !important;
  background: transparent !important;
  box-shadow: 0 16px 42px rgba(58, 9, 75, .10) !important;
  overflow: hidden !important;
}

.tv-appearances .tv-clean-player-v103,
.tv-appearances .tv-clean-player-v102,
.tv-appearances .tv-html5-clean-v102,
.tv-appearances .tv-video-thumb-v99 iframe,
.tv-appearances .tv-video-thumb-v90 iframe {
  border-radius: 21px !important;
}

.tv-appearances .tv-clean-player-v103,
.tv-appearances .tv-clean-player-v102 {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  min-height: 0 !important;
  background: #12001d !important;
}

.tv-appearances .tv-html5-clean-v102 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.tv-appearances .tv-custom-play-v108 {
  width: 64px !important;
  height: 64px !important;
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.34), rgba(255,255,255,.10) 34%, rgba(255,42,163,.82) 62%, rgba(255,106,26,.80) 100%) !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  box-shadow: 0 14px 38px rgba(255,42,163,.34), 0 0 0 8px rgba(255,255,255,.11), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.tv-appearances .tv-custom-play-v108::before {
  inset: -8px !important;
  border-color: rgba(255,255,255,.18) !important;
}

.tv-appearances .tv-custom-play-v108::after {
  inset: 7px !important;
}

.tv-appearances .tv-play-triangle-v108 {
  border-top-width: 12px !important;
  border-bottom-width: 12px !important;
  border-left-width: 20px !important;
  transform: translateX(3px) !important;
}

.tv-appearances .tv-video-card-copy-v90:empty {
  display: none !important;
}

@media (min-width: 761px) {
  .tv-appearances .tv-video-grid-v99 {
    gap: 32px !important;
  }
}

@media (max-width: 760px) {
  .tv-appearances .tv-video-grid-v99 {
    gap: 18px !important;
  }
  .tv-appearances .tv-video-card-v99,
  .tv-appearances .tv-video-card-v90 {
    width: 100% !important;
    max-width: 100% !important;
  }
  .tv-appearances .tv-video-thumb-v99,
  .tv-appearances .tv-video-thumb-v90 {
    border-radius: 19px !important;
    border-color: rgba(255, 42, 163, .22) !important;
    box-shadow: 0 12px 32px rgba(58, 9, 75, .12) !important;
  }
  .tv-appearances .tv-clean-player-v103,
  .tv-appearances .tv-clean-player-v102,
  .tv-appearances .tv-html5-clean-v102,
  .tv-appearances .tv-video-thumb-v99 iframe,
  .tv-appearances .tv-video-thumb-v90 iframe {
    border-radius: 18px !important;
  }
  .tv-appearances .tv-custom-play-v108 {
    width: 54px !important;
    height: 54px !important;
    box-shadow: 0 11px 30px rgba(255,42,163,.30), 0 0 0 6px rgba(255,255,255,.10), inset 0 1px 0 rgba(255,255,255,.36) !important;
  }
  .tv-appearances .tv-custom-play-v108::before {
    inset: -6px !important;
  }
  .tv-appearances .tv-play-triangle-v108 {
    border-top-width: 10px !important;
    border-bottom-width: 10px !important;
    border-left-width: 17px !important;
    transform: translateX(2px) !important;
  }
}

@media (max-width: 390px) {
  .tv-appearances .tv-custom-play-v108 {
    width: 50px !important;
    height: 50px !important;
  }
}

/* V114 - Final: controles reales en vídeos TV, lightbox Sobre Nosotros, YouTube entre vídeos y carrusel */
.tv-youtube-cta-between-v114 {
  margin: 34px auto 36px !important;
  padding: 0 !important;
  width: 100% !important;
}
.tv-youtube-cta-between-v114 .tv-youtube-button {
  box-shadow: 0 18px 45px rgba(255,42,163,.22) !important;
}
.tv-clean-player-v103.is-playing .tv-html5-clean-v102,
.tv-clean-player-v102.is-playing .tv-html5-clean-v102 {
  cursor: default !important;
}
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-panel,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-play-button,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-timeline,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-current-time-display,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-time-remaining-display,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-volume-slider,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-mute-button,
.tv-clean-player-v103.is-playing .tv-html5-clean-v102::-webkit-media-controls-fullscreen-button {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.sobre-lightbox-trigger {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  cursor: zoom-in !important;
  overflow: hidden !important;
  border-radius: inherit !important;
}
.sobre-lightbox-trigger img,
.sobre-lightbox-trigger video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.sobre-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 78px 74px !important;
  background: rgba(12, 0, 22, .88) !important;
  backdrop-filter: blur(16px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .25s ease !important;
}
.sobre-lightbox.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.sobre-lightbox img,
.sobre-lightbox video {
  max-width: min(1100px, 92vw) !important;
  max-height: 82vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 24px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.42) !important;
  background: #11001d !important;
}
.sobre-lightbox video {
  width: min(1100px, 92vw) !important;
}
body .sobre-lightbox .sobre-lightbox-close,
body button.sobre-lightbox-close {
  position: fixed !important;
  top: 22px !important;
  right: 22px !important;
  z-index: 1000000 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  background: linear-gradient(135deg, #ff2aa3, #ff6a1a) !important;
  color: #fff !important;
  font-size: 34px !important;
  line-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 20px 52px rgba(255,42,163,.34) !important;
  transition: transform .2s ease, filter .2s ease !important;
}
body .sobre-lightbox .sobre-lightbox-close:hover {
  transform: scale(1.07) rotate(3deg) !important;
  filter: brightness(1.06) !important;
}
body.sobre-lightbox-lock { overflow: hidden !important; }
@media (max-width: 760px) {
  .tv-youtube-cta-between-v114 { margin: 26px auto 28px !important; }
  .sobre-lightbox { padding: 70px 14px !important; }
  .sobre-lightbox img,
  .sobre-lightbox video {
    max-width: 94vw !important;
    max-height: 78vh !important;
    border-radius: 18px !important;
  }
  body .sobre-lightbox .sobre-lightbox-close,
  body button.sobre-lightbox-close {
    width: 46px !important;
    height: 46px !important;
    top: 16px !important;
    right: 16px !important;
    font-size: 30px !important;
  }
}

/* V115 - Controles propios premium: sin tres puntos/descarga, con barra, audio y pantalla completa */
.tv-player-v115 .tv-html5-clean-v102::-webkit-media-controls,
.tv-player-v115 .tv-html5-clean-v102::-webkit-media-controls-panel,
.tv-player-v115 .tv-html5-clean-v102::-webkit-media-controls-enclosure,
.tv-player-v115 .tv-html5-clean-v102::-internal-media-controls-download-button {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
.tv-player-v115 video {
  background-color: #12001d !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}
.tv-custom-controls-v115 {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 10px !important;
  z-index: 6 !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  pointer-events: none !important;
  transition: opacity .22s ease, transform .22s ease !important;
}
.tv-player-v115.is-playing .tv-custom-controls-v115,
.tv-player-v115:hover .tv-custom-controls-v115,
.tv-player-v115.controls-open-v115 .tv-custom-controls-v115 {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.tv-seek-v115 {
  width: 100% !important;
  height: 4px !important;
  margin: 0 0 8px !important;
  display: block !important;
  accent-color: #ff2aa3 !important;
  cursor: pointer !important;
}
.tv-controls-row-v115 {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}
.tv-mini-control-v115 {
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(18, 0, 29, .58) !important;
  color: #fff !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.22) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: transform .18s ease, background .18s ease !important;
}
.tv-mini-control-v115:hover { transform: scale(1.07) !important; background: rgba(255,42,163,.64) !important; }
.tv-player-v115.is-playing .tv-custom-play-v108 { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
.tv-player-v115:not(.is-playing) .tv-custom-play-v108 { opacity: 1 !important; visibility: visible !important; }
.tv-player-v115:fullscreen { background:#000 !important; border-radius:0 !important; }
.tv-player-v115:fullscreen .tv-html5-clean-v102 { object-fit: contain !important; border-radius:0 !important; }
@media (max-width: 760px) {
  .tv-custom-controls-v115 { left: 9px !important; right: 9px !important; bottom: 8px !important; }
  .tv-mini-control-v115 { width: 31px !important; height: 31px !important; font-size: 14px !important; }
  .tv-controls-row-v115 { gap: 7px !important; }
  .tv-seek-v115 { height: 3px !important; margin-bottom: 7px !important; }
}

/* V115 - Sobre Nosotros: el carrusel siempre se puede abrir en lightbox */
.sobre-media-slide { position: relative !important; }
.sobre-lightbox-trigger { z-index: 7 !important; pointer-events: auto !important; }
.sobre-gallery-overlay,
.sobre-media-caption,
.sobre-gallery-dots { pointer-events: none !important; }
.sobre-gallery-dots button { pointer-events: auto !important; }
.sobre-lightbox .masala-lightbox-nav {
  z-index: 1000000 !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(42, 32, 52, .52) !important;
  color: #fff !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* V116 - Final: vídeo TV limpio. Solo play central al inicio; controles aparecen después de pulsar play. */
.tv-player-v115 .tv-custom-play-v108 {
  z-index: 20 !important;
  pointer-events: auto !important;
}
.tv-player-v115:not(.has-started-v116):not(.is-playing):not(.controls-open-v115) .tv-custom-controls-v115 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
}
.tv-player-v115:hover .tv-custom-controls-v115 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.tv-player-v115.has-started-v116 .tv-custom-controls-v115,
.tv-player-v115.is-playing .tv-custom-controls-v115,
.tv-player-v115.controls-open-v115 .tv-custom-controls-v115,
.tv-player-v115.has-started-v116:hover .tv-custom-controls-v115 {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
.tv-controls-row-v116 {
  justify-content: flex-end !important;
}
.tv-toggle-v115 { display:none !important; }
.tv-player-v115 .tv-html5-clean-v102 { cursor: pointer !important; }

/* V116 - Sobre Nosotros recuperado: imágenes visibles, flechas laterales y click central a lightbox */
.sobre-v25 .sobre-gallery,
.sobre-media-gallery {
  background: #1a0a2e !important;
}
.sobre-media-slide {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
}
.sobre-lightbox-trigger {
  z-index: 4 !important;
  display: block !important;
}
.sobre-lightbox-trigger img,
.sobre-lightbox-trigger video {
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1 !important;
}
.sobre-gallery-overlay {
  z-index: 2 !important;
  pointer-events: none !important;
}
.sobre-gallery:after {
  z-index: 3 !important;
  pointer-events: none !important;
}
.sobre-media-caption,
.sobre-gallery-dots,
.sobre-gallery-nav {
  z-index: 8 !important;
}
.sobre-gallery-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(42,32,52,.52) !important;
  color: #fff !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 36px !important;
  line-height: 1 !important;
  padding: 0 !important;
  transition: transform .18s ease, background .18s ease !important;
}
.sobre-gallery-prev { left: 16px !important; }
.sobre-gallery-next { right: 16px !important; }
.sobre-gallery-nav:hover {
  transform: translateY(-50%) scale(1.07) !important;
  background: rgba(42,32,52,.68) !important;
}
.sobre-lightbox .masala-lightbox-nav,
.sobre-lightbox-prev,
.sobre-lightbox-next {
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.sobre-lightbox-prev { left: 22px !important; }
.sobre-lightbox-next { right: 22px !important; }
@media (max-width: 760px) {
  .sobre-gallery-nav {
    width: 44px !important;
    height: 44px !important;
    font-size: 30px !important;
  }
  .sobre-gallery-prev { left: 10px !important; }
  .sobre-gallery-next { right: 10px !important; }
  .sobre-lightbox-prev { left: 10px !important; }
  .sobre-lightbox-next { right: 10px !important; }
}

/* V117 - Corrección final TV + Sobre Nosotros */
/* Sobre Nosotros: sin flechas encima del carrusel; solo click para expandir. */
.sobre-v24 .sobre-gallery-nav,
.sobre-v25 .sobre-gallery-nav,
.sobre-media-gallery .sobre-gallery-nav {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.sobre-lightbox .sobre-lightbox-prev,
.sobre-lightbox .sobre-lightbox-next,
.sobre-lightbox .masala-lightbox-nav {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.sobre-lightbox-trigger{cursor: zoom-in !important; width:100% !important; height:100% !important; border:0 !important; padding:0 !important; background:transparent !important;}

/* Vídeos TV: nunca controles nativos, nunca tres puntos/descarga. */
.tv-player-v115 video,
.tv-clean-player-v103 video,
.tv-html5-clean-v102 {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  background: #12001d !important;
  border-radius: inherit !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}
.tv-player-v115 video::-webkit-media-controls,
.tv-player-v115 video::-webkit-media-controls-panel,
.tv-player-v115 video::-webkit-media-controls-enclosure,
.tv-player-v115 video::-webkit-media-controls-play-button,
.tv-player-v115 video::-webkit-media-controls-timeline,
.tv-player-v115 video::-webkit-media-controls-current-time-display,
.tv-player-v115 video::-webkit-media-controls-time-remaining-display,
.tv-player-v115 video::-webkit-media-controls-mute-button,
.tv-player-v115 video::-webkit-media-controls-volume-slider,
.tv-player-v115 video::-webkit-media-controls-fullscreen-button,
.tv-player-v115 video::-webkit-media-controls-overflow-button,
.tv-clean-player-v103 video::-webkit-media-controls,
.tv-clean-player-v103 video::-webkit-media-controls-panel,
.tv-clean-player-v103 video::-webkit-media-controls-enclosure,
.tv-clean-player-v103 video::-webkit-media-controls-overflow-button {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
.tv-player-v115 .tv-custom-play-v108 {
  z-index: 30 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.tv-player-v115.is-playing .tv-custom-play-v108,
.tv-player-v115.has-started-v117.is-playing .tv-custom-play-v108 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.tv-player-v115:not(.is-playing) .tv-custom-play-v108 {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
/* Controles propios: ocultos al cargar; aparecen solo tras usar el play central. */
.tv-player-v115 .tv-custom-controls-v115 {
  left: 12px !important;
  right: 12px !important;
  bottom: 8px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  z-index: 22 !important;
}
.tv-player-v115:hover .tv-custom-controls-v115 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.tv-player-v115.has-started-v117 .tv-custom-controls-v115,
.tv-player-v115.has-started-v116 .tv-custom-controls-v115,
.tv-player-v115.controls-open-v115 .tv-custom-controls-v115,
.tv-player-v115.is-playing .tv-custom-controls-v115 {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
.tv-seek-v115 {
  height: 3px !important;
  margin: 0 0 6px !important;
  accent-color: #ff2aa3 !important;
}
.tv-controls-row-v115,
.tv-controls-row-v116 {
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 7px !important;
}
.tv-mini-control-v115 {
  width: 32px !important;
  height: 32px !important;
  font-size: 14px !important;
  background: rgba(18,0,29,.62) !important;
}
@media(max-width:760px){
  .tv-player-v115 .tv-custom-controls-v115{left:9px!important;right:9px!important;bottom:7px!important;}
  .tv-mini-control-v115{width:30px!important;height:30px!important;font-size:13px!important;}
  .tv-seek-v115{height:3px!important;margin-bottom:5px!important;}
}


/* V118 - Corrección final real: lightbox Sobre Nosotros + vídeo TV */
/* Sobre Nosotros: flechas del lightbox exactamente estilo premium global, no cortadas ni deformadas. */
.sobre-lightbox .masala-lightbox-nav,
.sobre-lightbox .sobre-lightbox-prev,
.sobre-lightbox .sobre-lightbox-next{
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(42,32,52,.52) !important;
  color: transparent !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.sobre-lightbox .sobre-lightbox-prev{left:22px!important;right:auto!important;}
.sobre-lightbox .sobre-lightbox-next{right:22px!important;left:auto!important;}
.sobre-lightbox .masala-lightbox-nav::before{
  content: '' !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  border-top: 3px solid #fff !important;
  border-left: 3px solid #fff !important;
  transform: rotate(-45deg) !important;
  margin-left: 5px !important;
}
.sobre-lightbox .sobre-lightbox-next::before{
  transform: rotate(135deg) !important;
  margin-left: 0 !important;
  margin-right: 5px !important;
}
.sobre-lightbox .masala-lightbox-nav:hover{transform:translateY(-50%) scale(1.06)!important;background:rgba(42,32,52,.68)!important;}
@media(max-width:760px){
  .sobre-lightbox .masala-lightbox-nav{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;}
  .sobre-lightbox .sobre-lightbox-prev{left:10px!important;}
  .sobre-lightbox .sobre-lightbox-next{right:10px!important;}
  .sobre-lightbox .masala-lightbox-nav::before{width:10px!important;height:10px!important;border-top-width:3px!important;border-left-width:3px!important;}
}

/* Vídeo TV: preview visible, sin controles nativos, controles propios solo después del play central. */
.tv-player-v115,
.tv-clean-player-v103{
  position: relative !important;
  background: linear-gradient(135deg,#1a0828,#2a0633) !important;
  overflow: hidden !important;
}
.tv-player-v115 video,
.tv-clean-player-v103 video,
.tv-html5-clean-v102{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  background:linear-gradient(135deg,#1a0828,#2a0633)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.tv-player-v115 video::-webkit-media-controls,
.tv-player-v115 video::-webkit-media-controls-panel,
.tv-player-v115 video::-webkit-media-controls-enclosure,
.tv-player-v115 video::-webkit-media-controls-play-button,
.tv-player-v115 video::-webkit-media-controls-timeline,
.tv-player-v115 video::-webkit-media-controls-current-time-display,
.tv-player-v115 video::-webkit-media-controls-time-remaining-display,
.tv-player-v115 video::-webkit-media-controls-mute-button,
.tv-player-v115 video::-webkit-media-controls-volume-slider,
.tv-player-v115 video::-webkit-media-controls-fullscreen-button,
.tv-player-v115 video::-webkit-media-controls-overflow-button,
.tv-html5-clean-v102::-webkit-media-controls,
.tv-html5-clean-v102::-webkit-media-controls-panel,
.tv-html5-clean-v102::-webkit-media-controls-enclosure,
.tv-html5-clean-v102::-webkit-media-controls-overflow-button{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.tv-player-v115 .tv-custom-play-v108{
  z-index:40!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.tv-player-v115.is-playing .tv-custom-play-v108{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
.tv-player-v115:not(.is-playing) .tv-custom-play-v108{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.tv-player-v115 .tv-custom-controls-v115{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:10px!important;
  top:auto!important;
  z-index:35!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(10px)!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
.tv-player-v115:hover .tv-custom-controls-v115{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
.tv-player-v115.has-started-v118 .tv-custom-controls-v115,
.tv-player-v115.controls-open-v118 .tv-custom-controls-v115,
.tv-player-v115.is-playing .tv-custom-controls-v115{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.tv-player-v115 .tv-seek-v115{
  width:100%!important;
  height:3px!important;
  margin:0 0 8px!important;
  display:block!important;
  accent-color:#ff2aa3!important;
}
.tv-player-v115 .tv-controls-row-v115,
.tv-player-v115 .tv-controls-row-v116{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
}
.tv-player-v115 .tv-mini-control-v115{
  width:32px!important;
  height:32px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.24)!important;
  background:rgba(18,0,29,.68)!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  line-height:1!important;
  padding:0!important;
  box-shadow:0 10px 22px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
@media(max-width:760px){
  .tv-player-v115 .tv-custom-controls-v115{left:9px!important;right:9px!important;bottom:8px!important;}
  .tv-player-v115 .tv-seek-v115{height:3px!important;margin-bottom:6px!important;}
  .tv-player-v115 .tv-mini-control-v115{width:30px!important;height:30px!important;font-size:13px!important;}
}

/* V119 - Final real: Sobre Nosotros usa exactamente las flechas premium globales; audio TV funcional */
body .sobre-lightbox .masala-lightbox-nav,
body .sobre-lightbox .sobre-lightbox-prev,
body .sobre-lightbox .sobre-lightbox-next{
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,.13) !important;
  color: #fff !important;
  font-size: 44px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 0 6px 0 !important;
  overflow: visible !important;
  z-index: 1000000 !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.22) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body .sobre-lightbox .masala-lightbox-nav::before,
body .sobre-lightbox .sobre-lightbox-prev::before,
body .sobre-lightbox .sobre-lightbox-next::before{
  content: none !important;
  display: none !important;
}
body .sobre-lightbox .sobre-lightbox-prev{left:26px!important;right:auto!important;}
body .sobre-lightbox .sobre-lightbox-next{right:26px!important;left:auto!important;}
body .sobre-lightbox .masala-lightbox-nav:hover{
  background: linear-gradient(135deg, rgba(255,42,163,.72), rgba(255,106,26,.72)) !important;
  transform: translateY(-50%) scale(1.06) !important;
}
@media(max-width:640px){
  body .sobre-lightbox .masala-lightbox-nav{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:34px!important;}
  body .sobre-lightbox .sobre-lightbox-prev{left:12px!important;}
  body .sobre-lightbox .sobre-lightbox-next{right:12px!important;}
}

/* V120 - Audio con volumen + optimización móvil final */
.tv-player-v115 .tv-volume-v120{
  width:74px!important;height:4px!important;margin:0 2px!important;padding:0!important;accent-color:#ff2aa3!important;cursor:pointer!important;opacity:.95!important;
}
.tv-player-v115 .tv-controls-row-v115,.tv-player-v115 .tv-controls-row-v116{gap:7px!important;}
@media(max-width:760px){
  html,body{max-width:100%!important;overflow-x:hidden!important;}
  .container{width:min(100% - 28px, 1180px)!important;margin-left:auto!important;margin-right:auto!important;}
  section{overflow-x:hidden!important;}
  .hero-content{max-width:100%!important;padding-left:14px!important;padding-right:14px!important;}
  .hero-title{font-size:clamp(34px,10vw,56px)!important;line-height:1.04!important;}
  .hero-gold{font-size:clamp(38px,11vw,62px)!important;line-height:1!important;}
  .hero-subtitle{font-size:clamp(15px,4vw,19px)!important;line-height:1.5!important;}
  .hero-actions{display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;}
  .hero-actions .btn{width:min(100%,280px)!important;text-align:center!important;}
  .sobre-grid,.sobre-grid-v24,.tv-duo-grid,.schedule-grid,.schedule-special-grid,.events-grid,.inst-grid,.contact-grid{grid-template-columns:1fr!important;}
  .section-title{font-size:clamp(32px,9vw,48px)!important;line-height:1.08!important;}
  .section-desc{font-size:clamp(15px,4vw,18px)!important;line-height:1.65!important;}
  .tv-appearances .container,.sobre-v24 .container{width:min(100% - 22px,1180px)!important;}
  .tv-duo-panel{padding:20px 14px!important;border-radius:24px!important;}
  .tv-video-grid-v99{grid-template-columns:1fr!important;gap:18px!important;}
  .tv-video-card-v90,.tv-video-card-v99{width:100%!important;max-width:420px!important;margin-left:auto!important;margin-right:auto!important;}
  .tv-video-thumb-v90,.tv-video-thumb-v99,.tv-clean-player-v102,.tv-clean-player-v103,.tv-player-v115{border-radius:18px!important;}
  .tv-custom-play-v108{transform:translate(-50%,-50%) scale(.86)!important;}
  .tv-player-v115 .tv-custom-controls-v115{left:8px!important;right:8px!important;bottom:7px!important;}
  .tv-player-v115 .tv-seek-v115{height:3px!important;margin-bottom:7px!important;}
  .tv-player-v115 .tv-mini-control-v115{width:30px!important;height:30px!important;font-size:13px!important;}
  .tv-player-v115 .tv-volume-v120{width:58px!important;height:4px!important;}
  .tv-controls-row-v115,.tv-controls-row-v116{justify-content:flex-end!important;gap:6px!important;}
  .tv-youtube-cta{margin:22px auto!important;text-align:center!important;}
  .tv-youtube-button{width:min(100%,310px)!important;justify-content:center!important;}
  .sobre-gallery,.sobre-media-gallery{height:auto!important;min-height:0!important;aspect-ratio:4/5!important;border-radius:24px!important;}
  .sobre-slide img,.sobre-slide video,.sobre-lightbox-trigger{width:100%!important;height:100%!important;object-fit:cover!important;}
  .sobre-info-panels{grid-template-columns:1fr!important;gap:14px!important;}
  .schedule-day-card,.schedule-special-card,.event-card,.contact-card{border-radius:22px!important;}
  .desp-lightbox img,.inst-mobile-lightbox img,.tv-mobile-lightbox img,.sobre-lightbox img{max-width:92vw!important;max-height:78vh!important;object-fit:contain!important;}
  .masala-lightbox-nav{width:46px!important;height:46px!important;}
  .masala-lightbox-prev{left:10px!important;}.masala-lightbox-next{right:10px!important;}
  .tv-lightbox-close,.sobre-lightbox-close,.desp-lightbox-close,.inst-lightbox-close{top:14px!important;right:14px!important;}
}
@media(max-width:420px){
  .container{width:min(100% - 20px,1180px)!important;}
  .tv-duo-panel{padding:18px 10px!important;}
  .tv-player-v115 .tv-volume-v120{width:46px!important;}
  .tv-player-v115 .tv-mini-control-v115{width:28px!important;height:28px!important;}
}
