/* ===== CSS VARIABLES ===== */
:root {
  --clr-dark: #1a1a2e;
  --clr-darker: #0f0f1a;
  --clr-navy: #16213e;
  --clr-navy-deep: #1a3a5c;
  --clr-green-olive: #7a9a2e;
  --clr-green-hover: #8fb535;
  --clr-gold: #c5a55a;
  --clr-gold-light: #d4b96a;
  --clr-white: #ffffff;
  --clr-light: #f0f2f5;
  --clr-light-blue: #e8ecf4;
  --clr-gray: #6b7280;
  --clr-gray-light: #9ca3af;
  --clr-text: #2d2d2d;
  --clr-text-light: #d1d5db;
  --ff-heading: 'Playfair Display', Georgia, serif;
  --ff-body: 'Inter', -apple-system, sans-serif;
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.12);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.16);
  --shadow-glow: 0 0 30px rgba(197,165,90,0.15);
  --radius: 12px;
  --radius-lg: 20px;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--ff-body);color:var(--clr-text);line-height:1.7;overflow-x:hidden;background:var(--clr-white)}
a{text-decoration:none;color:inherit;transition:var(--transition)}
ul{list-style:none}
img{max-width:100%;display:block}
button,input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none}
button{cursor:pointer}

/* ===== UTILITIES ===== */
.section-header{text-align:center;margin-bottom:3.5rem}
.section-header__line{width:60px;height:3px;background:var(--clr-gold);margin:0 auto 1.5rem;border-radius:2px}
.section-header__title{font-family:var(--ff-heading);font-size:clamp(1.8rem,4vw,2.8rem);color:var(--clr-dark);font-weight:600;margin-bottom:.75rem}
.section-header__subtitle{font-size:1.25rem;color:var(--clr-gray);font-style:normal;font-weight:400}
.section-header--light .section-header__title{color:var(--clr-white)}
.section-header--light .section-header__subtitle{color:var(--clr-text-light)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.8rem;border-radius:50px;font-weight:500;font-size:.95rem;transition:var(--transition);border:2px solid transparent;cursor:pointer}
.btn--primary{background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-light));color:var(--clr-dark);box-shadow:0 4px 15px rgba(197,165,90,0.3)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(197,165,90,0.4)}
.btn--outline{border-color:rgba(255,255,255,0.4);color:var(--clr-white);backdrop-filter:blur(5px);background:rgba(255,255,255,0.05)}
.btn--outline:hover{background:rgba(255,255,255,0.15);border-color:var(--clr-gold);color:var(--clr-gold)}
.btn--submit{width:100%;justify-content:center;background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-light));color:var(--clr-dark);padding:1rem;font-weight:600;border-radius:50px;box-shadow:0 4px 15px rgba(197,165,90,0.3)}
.btn--submit:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(197,165,90,0.45)}
.btn--submit-full{max-width:100%}
.btn--theater{padding:.75rem 1.5rem;border-radius:50px;font-weight:500;font-size:.9rem;gap:.5rem}
.btn--green{background:var(--clr-green-olive);color:#fff}
.btn--green:hover{background:var(--clr-green-hover);transform:translateY(-2px)}
.btn--navy{background:var(--clr-navy-deep);color:#fff}
.btn--navy:hover{background:#224d75;transform:translateY(-2px)}

/* ===== HEADER ===== */
.header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1rem 0;transition:var(--transition)}
.header.scrolled{background:rgba(15,15,26,0.95);backdrop-filter:blur(20px);padding:.6rem 0;box-shadow:0 2px 20px rgba(0,0,0,0.3)}
.header__container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}
.header__logo-text{font-family:var(--ff-heading);font-size:1.6rem;font-weight:700;color:var(--clr-white);letter-spacing:1px}
.header__nav-list{display:flex;gap:2.5rem}
.header__nav-link{color:rgba(255,255,255,0.75);font-size:.9rem;font-weight:400;letter-spacing:.5px;text-transform:uppercase;position:relative;padding:.25rem 0}
.header__nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--clr-gold);transition:var(--transition)}
.header__nav-link:hover,.header__nav-link.active{color:var(--clr-white)}
.header__nav-link:hover::after,.header__nav-link.active::after{width:100%}
.header__toggle{display:none;background:none;color:var(--clr-white);font-size:1.4rem;padding:.5rem}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:url('images/hero-dancer.png') center/cover no-repeat;overflow:hidden}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,15,26,0.88) 0%,rgba(26,26,46,0.75) 40%,rgba(22,33,62,0.7) 100%)}
.hero__particles{position:absolute;inset:0;pointer-events:none}
.hero__container{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:7rem 2rem 4rem;width:100%}
.hero__content{display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:center}
.hero__badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(197,165,90,0.15);border:1px solid rgba(197,165,90,0.3);color:var(--clr-gold);padding:.4rem 1rem;border-radius:50px;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase;margin-bottom:1.5rem}
.hero__title{font-family:var(--ff-heading);font-size:clamp(1.8rem,4vw,2.8rem);color:var(--clr-white);font-weight:700;line-height:1.15;margin-bottom:1.5rem}
.hero__title-accent{background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero__divider{width:60px;height:3px;background:var(--clr-gold);border-radius:2px;margin-bottom:1.5rem}
.hero__description{color:rgba(255,255,255,0.8);font-size:1rem;line-height:1.8;margin-bottom:1rem}
.hero__description strong{color:var(--clr-white);font-weight:600}
.hero__actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}

/* Hero Form */
.hero__form-card{background:rgba(255,255,255,0.06);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg)}
.hero__form-header{text-align:center;margin-bottom:1.5rem}
.hero__form-title{font-family:var(--ff-heading);font-size:1.5rem;color:var(--clr-gold);font-weight:600}
.hero__form-divider{width:40px;height:2px;background:var(--clr-gold);margin:.75rem auto;border-radius:2px}
.hero__form-subtitle{color:rgba(255,255,255,0.6);font-size:.85rem}
.hero__form .form-group{position:relative;margin-bottom:1rem}
.hero__form input,.hero__form select,.hero__form textarea{width:100%;padding:.85rem 1rem .85rem 2.5rem;background:rgba(255,255,255,0.9);border-radius:50px;color:var(--clr-text);font-size:.9rem;border:2px solid transparent;transition:var(--transition)}
.hero__form textarea{border-radius:var(--radius);resize:none}
.hero__form input:focus,.hero__form select:focus,.hero__form textarea:focus{border-color:var(--clr-gold);background:var(--clr-white);box-shadow:0 0 0 3px rgba(197,165,90,0.15)}
.hero__form select{appearance:none;-webkit-appearance:none;cursor:pointer}
.hero__form .form-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--clr-gray-light);font-size:.85rem;pointer-events:none;transition:var(--transition)}
.hero__form .form-icon--textarea{top:1.1rem;transform:none}
.hero__form input:focus~.form-icon,.hero__form select:focus~.form-icon,.hero__form textarea:focus~.form-icon{color:var(--clr-gold)}

/* Scroll Indicator */
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;text-align:center}
.hero__scroll-link{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,0.5);font-size:.75rem;letter-spacing:1px;text-transform:uppercase;transition:var(--transition)}
.hero__scroll-link:hover{color:var(--clr-gold)}
.hero__scroll-icon{width:30px;height:45px;border:2px solid rgba(255,255,255,0.3);border-radius:20px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;animation:scrollBounce 2s infinite}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* ===== ABOUT ===== */
.about{padding:6rem 0;background:var(--clr-light)}
.about__container{max-width:1200px;margin:0 auto;padding:0 2rem}
.about__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.about__card{background:var(--clr-white);padding:2.5rem 2rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid rgba(0,0,0,0.04)}
.about__card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md),var(--shadow-glow)}
.about__card-icon{width:70px;height:70px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-light));color:var(--clr-dark);font-size:1.6rem;box-shadow:0 4px 15px rgba(197,165,90,0.3)}
.about__card-title{font-family:var(--ff-heading);font-size:1.25rem;color:var(--clr-dark);margin-bottom:.75rem;font-weight:600}
.about__card-text{color:var(--clr-gray);font-size:.92rem;line-height:1.7}

/* ===== THEATERS ===== */
.theaters{padding:6rem 0;background:var(--clr-white)}
.theaters__container{max-width:1200px;margin:0 auto;padding:0 2rem}
.theaters__grid{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center}
.theaters__divider{display:flex;flex-direction:column;align-items:center;gap:1rem}
.theaters__pin{width:50px;height:50px;border-radius:50%;background:var(--clr-light);display:flex;align-items:center;justify-content:center;color:var(--clr-gray);font-size:1.2rem;box-shadow:var(--shadow-sm)}
.theater-card{background:var(--clr-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,0.06);transition:var(--transition);text-align:center}
.theater-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.theater-card__image-wrapper{padding:2.5rem 2rem 1rem;background:var(--clr-light)}
.theater-card__logo{max-width:220px;margin:0 auto;transition:var(--transition)}
.theater-card:hover .theater-card__logo{transform:scale(1.05)}
.theater-card__content{padding:2rem}
.theater-card__name{font-family:var(--ff-heading);font-size:1.3rem;color:var(--clr-dark);margin-bottom:.5rem;font-weight:600}
.theater-card__location{display:flex;align-items:center;justify-content:center;gap:.4rem;color:var(--clr-gray);font-size:.85rem;margin-bottom:1rem}
.theater-card__location i{color:var(--clr-gold)}
a.theater-card__location:hover{color:var(--clr-gold)}
.theater-card__description{color:var(--clr-gray);font-size:.9rem;line-height:1.7;margin-bottom:1.25rem}
.theater-card__features{display:flex;justify-content:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}
.theater-card__feature{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;background:var(--clr-light);border-radius:50px;font-size:.78rem;color:var(--clr-gray)}
.theater-card__feature i{color:var(--clr-gold);font-size:.7rem}

/* ===== CONTACT ===== */
.contact{padding:6rem 0;background:linear-gradient(135deg,var(--clr-dark) 0%,var(--clr-navy) 100%)}
.contact__container{max-width:1100px;margin:0 auto;padding:0 2rem}
.contact__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start}
.contact__info-card{background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem}
.contact__info-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.contact__info-item:last-child{border-bottom:none}
.contact__info-icon{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-light));display:flex;align-items:center;justify-content:center;color:var(--clr-dark);font-size:1rem;flex-shrink:0}
.contact__info-details h4{color:var(--clr-white);font-size:.85rem;font-weight:600;margin-bottom:.2rem}
.contact__info-details a{color:var(--clr-text-light);font-size:.9rem;transition:var(--transition)}
.contact__info-details a:hover{color:var(--clr-gold)}
.contact__email-links{display:flex;gap:.75rem;margin-top:.4rem}
.contact__email-links a{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--clr-gold);padding:.25rem .6rem;border:1px solid rgba(197,165,90,0.3);border-radius:50px;transition:var(--transition)}
.contact__email-links a:hover{background:rgba(197,165,90,0.15);border-color:var(--clr-gold)}
.contact__social{display:flex;gap:1rem}
.contact__social-link{width:45px;height:45px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:var(--clr-text-light);font-size:1.1rem;transition:var(--transition)}
.contact__social-link:hover{background:var(--clr-gold);color:var(--clr-dark);border-color:var(--clr-gold);transform:translateY(-3px)}
.contact__form{background:rgba(255,255,255,0.06);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact__form .form-group{margin-bottom:1rem}
.contact__form label{display:block;color:var(--clr-text-light);font-size:.8rem;font-weight:500;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}
.contact__form input,.contact__form select,.contact__form textarea{width:100%;padding:.85rem 1rem;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius);color:var(--clr-white);font-size:.9rem;transition:var(--transition)}
.contact__form input::placeholder,.contact__form textarea::placeholder{color:rgba(255,255,255,0.35)}
.contact__form input:focus,.contact__form select:focus,.contact__form textarea:focus{border-color:var(--clr-gold);background:rgba(255,255,255,0.12);box-shadow:0 0 0 3px rgba(197,165,90,0.1)}
.contact__form select{appearance:none;-webkit-appearance:none;cursor:pointer;color:rgba(255,255,255,0.6)}
.contact__form select option{background:var(--clr-dark);color:var(--clr-white)}
.contact__form textarea{resize:none;border-radius:var(--radius)}

/* ===== FOOTER ===== */
.footer{background:var(--clr-darker);padding:1.5rem 0;text-align:center}
.footer__container{max-width:1200px;margin:0 auto;padding:0 2rem}
.footer__copyright{color:var(--clr-gray);font-size:.85rem;margin-bottom:.25rem}
.footer__dev{color:var(--clr-gray-light);font-size:.78rem}
.footer__link{color:var(--clr-gold);font-weight:500;transition:var(--transition)}
.footer__link:hover{color:var(--clr-gold-light)}

/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 4px 20px rgba(37,211,102,0.4);z-index:999;transition:var(--transition);animation:pulse 2s infinite}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(37,211,102,0.5)}
@keyframes pulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.4)}50%{box-shadow:0 4px 30px rgba(37,211,102,0.6)}}

/* ===== BACK TO TOP ===== */
.back-to-top{position:fixed;bottom:2rem;right:6rem;width:45px;height:45px;border-radius:50%;background:var(--clr-dark);color:var(--clr-white);display:flex;align-items:center;justify-content:center;font-size:.9rem;z-index:999;opacity:0;visibility:hidden;transition:var(--transition);border:1px solid rgba(255,255,255,0.1)}
.back-to-top.visible{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--clr-gold);color:var(--clr-dark);transform:translateY(-3px)}

/* ===== ANIMATIONS ===== */
[data-animate]{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease}
[data-animate="fade-left"]{transform:translateX(30px)}
[data-animate].animated{opacity:1;transform:translate(0)}

/* ===== RESPONSIVE ===== */
@media(max-width:992px){
  .hero__content{grid-template-columns:1fr;gap:2.5rem}
  .hero__form-wrapper{max-width:480px}
  .hero__scroll{display:none}
  .about__grid{grid-template-columns:1fr}
  .theaters__grid{grid-template-columns:1fr;gap:1.5rem}
  .theaters__divider{flex-direction:row}
  .contact__grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .header__nav{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:rgba(15,15,26,0.98);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:1001}
  .header__nav.open{right:0}
  .header__nav-list{flex-direction:column;gap:2rem;text-align:center}
  .header__nav-link{font-size:1.1rem}
  .header__toggle{display:block;z-index:1002}
  .hero__actions{flex-direction:column}
  .hero__title{font-size:1.5rem}
  .form-row{grid-template-columns:1fr}
  .back-to-top{right:2rem;bottom:6rem}
}
