/* ==========================================================================
   Chrome V3 — header + rodapé do novo visual, ESCOPADO pra rodar junto do
   app.css nas páginas internas. Só estiliza .v3-topline / .v3-header /
   .v3-footer e filhos. NUNCA declara regra global (body, h1-h4, a).
   Self-contained: não depende de tokens.css / base.css.
   ========================================================================== */

@font-face { font-family:'Bricolage Grotesque'; font-style:normal; font-weight:400 700; font-display:swap; src:url('../home2/assets/fonts/bricolage-grotesque-latin.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('../home2/assets/fonts/manrope-latin.woff2') format('woff2'); }

:root{
  --v3c-pink:#e80b62; --v3c-ink:#172222; --v3c-line:#e2e6e2;
  --v3c-dark:#102525; --v3c-muted:#707775;
}

/* --- Base compartilhada do chrome ------------------------------------------ */
.v3-topline, .v3-header, .v3-footer, .nav-backdrop{ box-sizing:border-box; font-family:'Manrope','Inter',system-ui,sans-serif; }
.v3-topline *, .v3-header *, .v3-footer *{ box-sizing:border-box; }
.v3-header a, .v3-footer a, .v3-topline a{ text-decoration:none; }
.v3-wrap{ width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
.v3-pink{ color:#ff558b; }
.v3-kicker{ display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:800; letter-spacing:.14em; line-height:1.5; }
.v3-live-dot{ display:none !important; }
.v3-header .icone, .v3-footer .icone, .v3-topline .icone{ display:inline-block; vertical-align:middle; flex:none; }

/* --- Topline --------------------------------------------------------------- */
.v3-topline{ background:var(--v3c-dark); color:#e0ebe6; font-size:11px; letter-spacing:.025em; }
.v3-topline>.v3-wrap{ height:31px; display:flex; align-items:center; justify-content:space-between; }
.v3-topline span, .v3-topline a{ display:inline-flex; align-items:center; gap:9px; color:#e0ebe6; }
.v3-topline a:hover{ color:#fff; }

/* --- Header ---------------------------------------------------------------- */
.v3-header{ display:flex; align-items:center; gap:20px; height:85px; background:#fff; border:0; padding-inline:max(40px,calc((100vw - 1240px)/2)); position:relative; z-index:50; }
.v3-header .logo-button{ width:164px; flex-shrink:0; display:inline-flex; align-items:center; }
.v3-header .logo-button img{ height:57px; width:auto; }
.v3-header .main-nav{ display:flex; align-items:center; margin-left:50px; gap:30px; }
.v3-header .main-nav a{ font-size:13px; font-weight:700; color:var(--v3c-ink); display:flex; align-items:center; gap:7px; }
.v3-header .main-nav a:hover, .v3-header .main-nav a.active{ color:var(--v3c-pink); }
.v3-header .nav-fechar{ display:none; border:0; background:transparent; color:var(--v3c-ink); cursor:pointer; }
.v3-header .header-actions{ display:flex; align-items:center; gap:20px; margin-left:auto; }
.v3-tickets-link, .v3-login-link{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:800; white-space:nowrap; color:var(--v3c-ink); border:0; background:transparent; cursor:pointer; }
.v3-tickets-link{ padding-right:20px; border-right:1px solid var(--v3c-line); }
.v3-tickets-link .icone{ color:var(--v3c-pink); }
.v3-login-link{ background:#f8eff2; color:#b71950; padding:11px 17px; border-radius:7px; }
.v3-login-link:hover{ background:#f2e2e8; }
.v3-header .mobile-menu{ display:none; align-items:center; justify-content:center; background:#f4f5f1; border:0; border-radius:7px; width:40px; height:40px; color:var(--v3c-ink); cursor:pointer; }
.v3-cart-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:0; border-radius:10px; background:#f4f5f1; color:#28322e; font-size:16px; cursor:pointer; transition:background .15s,color .15s; }
.v3-cart-btn:hover{ background:#eceee8; color:var(--v3c-pink); }
.v3-cart-count{ position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 5px; display:flex; align-items:center; justify-content:center; background:var(--v3c-pink); color:#fff; border-radius:9px; font-size:10px; font-weight:800; line-height:1; }
.v3-cart-count.vazio{ display:none; }
.nav-backdrop{ position:fixed; inset:0; background:rgba(8,14,20,.5); z-index:40; }
.nav-backdrop[hidden]{ display:none; }

/* --- Footer ---------------------------------------------------------------- */
.v3-footer{ background:#102325; color:#c0ccc7; padding:50px 0 21px; }
.v3-footer a{ color:#c0ccc7; }
.v3-footer a:hover{ color:#ffb1cd; }
.v3-footer-top{ display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr 1.35fr; gap:35px; padding-bottom:39px; }
.v3-footer-brand img{ width:151px; height:auto; }
.v3-footer-brand p{ font-size:13px; line-height:1.8; margin-top:16px; color:#c0ccc7; }
.v3-social{ display:flex; gap:17px; font-size:12px; margin-top:19px; }
.v3-social a{ display:inline-flex; align-items:center; gap:7px; color:#cfd8d3; }
.v3-social i{ font-size:15px; }
.v3-footer-column{ display:flex; flex-direction:column; gap:13px; padding-top:7px; }
.v3-footer-column>strong{ color:#fff; font-size:13px; margin-bottom:8px; }
.v3-footer-column>a{ font-size:13px; }
.v3-footer-follow{ border-left:1px solid #ffffff20; padding:5px 0 0 30px; }
.v3-footer-follow>.v3-kicker{ font-size:10px; letter-spacing:.1em; color:#99b7aa; }
.v3-footer-follow>strong{ display:block; font:500 27px/1.15 'Bricolage Grotesque','Manrope',sans-serif; color:#fff; letter-spacing:-.02em; margin:13px 0 16px; }
.v3-footer-follow>a{ display:flex; align-items:center; gap:8px; font-size:13px; color:#ffc6da; }
.v3-footer-bottom{ padding-top:21px; border-top:1px solid #ffffff16; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:10px; color:#a8b6b0; }
.v3-footer-bottom>div{ display:flex; align-items:center; gap:23px; }
.v3-footer-bottom a{ color:#a8b6b0; }

/* --- Responsivo (menu mobile) ---------------------------------------------- */
@media(max-width:980px){
  .v3-wrap{ width:calc(100% - 56px); }
  .v3-header{ padding-inline:28px; }
  .v3-header .main-nav{ margin-left:20px; gap:18px; }
  .v3-header .header-actions{ gap:12px; }
  .v3-footer-top{ grid-template-columns:1.3fr 1fr 1fr; }
  .v3-footer-follow{ grid-column:1/-1; border-left:0; border-top:1px solid #ffffff20; padding:20px 0 0; }
}
@media(max-width:820px){
  .v3-wrap{ width:calc(100% - 40px); }
  .v3-topline>.v3-wrap{ justify-content:center; }
  .v3-topline a{ display:none; }
  .v3-header{ height:73px; padding-inline:20px; }
  .v3-header .logo-button{ width:135px; }
  .v3-header .logo-button img{ height:48px; }
  .v3-tickets-link{ border-right:0; padding-right:0; }
  .v3-tickets-link span{ display:none; }
  .v3-header .mobile-menu{ display:flex; }
  .v3-header .main-nav{ position:fixed; top:0; right:0; bottom:0; width:min(320px,87vw); background:#fff; color:var(--v3c-ink); display:none; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:10px; margin:0; padding:80px 25px 25px; z-index:60; box-shadow:-10px 0 35px #0002; }
  .v3-header .main-nav.open{ display:flex; }
  .v3-header .main-nav a{ display:flex; padding:15px; border-bottom:1px solid #eef0eb; font-size:15px; }
  .v3-header .nav-fechar{ display:flex; position:absolute; top:24px; right:24px; }
  .v3-footer-top{ grid-template-columns:1fr 1fr; }
  .v3-footer-brand{ grid-column:1/-1; }
}
@media(max-width:520px){
  .v3-footer-bottom{ flex-wrap:wrap; gap:14px; }
  .v3-footer-bottom>div>span:last-child{ display:none; }
}
