
:root{
  --bg:#0b0e1a;
  --red:#991b1b;
  --gold:#f5cc66;
  --cream:#f8efe0;
  --text:#131313;
}
*{box-sizing:border-box}
body{margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#222;background:var(--cream)}
h1,h2,h3{font-family:'Playfair Display',serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
.container{width:min(1100px,92%);margin:auto}
.hero{position:relative;background:radial-gradient(ellipse at center, rgba(0,0,0,.35), rgba(0,0,0,.7)),url('assets/img/photo_2.jpg') center/cover no-repeat;color:white;min-height:70vh;display:flex;flex-direction:column;justify-content:flex-start}
.overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.65))}
.nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{width:42px;height:42px;object-fit:cover;border-radius:8px;margin-right:10px}
.brand{display:flex;align-items:center;font-weight:800;letter-spacing:.5px}
.menu{list-style:none;display:flex;gap:18px;margin:0;padding:0}
.menu a{color:#fff;text-decoration:none;font-weight:600}
.hero-content{position:relative;z-index:2;margin-top:8vh;text-align:left}
.hero-content h1{font-size:clamp(32px,5vw,56px);margin:0 0 10px}
.badge{display:inline-block;background:var(--gold);color:#512; padding:8px 14px;border-radius:999px;font-weight:800;margin:.5rem 0}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:12px 18px;border-radius:12px;font-weight:700}
.btn-outline{display:inline-block;border:2px solid var(--red);color:var(--red);padding:10px 16px;border-radius:12px;font-weight:700;text-decoration:none}
.link{font-weight:700}
.grid{display:grid;gap:26px}
.grid.two{grid-template-columns:1.2fr .8fr}
@media(max-width:900px){.grid.two{grid-template-columns:1fr} .menu{display:none}}
.poster{align-self:center}
.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}
.gallery{padding:40px 0}
.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.card img{border-radius:12px}
.card-embed{background:#fff;border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.hint{opacity:.8}
.contact{padding:40px 0}
.contact form label{display:block;font-weight:600;margin:8px 0}
.contact input,.contact textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #ddd;margin-top:6px;font-size:16px}
.contact .info p{margin:.4rem 0}
.footer{background:#160a0a;color:#ddd;padding:20px 0;margin-top:40px}
.wa-float{position:fixed;right:18px;bottom:18px;background:#25D366;color:#fff;border-radius:50%;padding:16px;box-shadow:0 6px 18px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:50}


/* --- Tickets CTA styles --- */
.cta-bar{
  position:sticky; top:0; z-index:60;
  display:flex; align-items:center; justify-content:center; gap:16px;
  background:linear-gradient(90deg, var(--red), #b91c1c);
  color:#fff; padding:10px 12px; text-align:center; box-shadow:0 4px 14px rgba(0,0,0,.25)
}
.cta-bar .btn-tickets{background:#111;color:#fff}
.tickets-float{
  position:fixed; right:18px; bottom:88px; z-index:49;
  background:var(--gold); color:#320; text-decoration:none;
  font-size:22px; padding:14px 16px; border-radius:50%;
  box-shadow:0 6px 18px rgba(0,0,0,.25)
}
.tickets-float:hover{transform:translateY(-1px)}
