/* Public identity: the original Victoria blues, with readable type and spacing. */
:root { --vc-ink:#00122d; --vc-blue:#00a8f0; --vc-muted:#526176; --vc-line:#dce4ee; --vc-paper:#f6f8fd; --vc-radius:16px;
  --vc-shell-pad:32px; --vc-header-h:76px; --vc-footer-gap:56px;
  /* Bebas Neue manda en los titulares grandes; Work Sans hace el resto.
     Bebas es de caja alta y un solo peso: siempre 400 y con aire entre letras. */
  --vc-font:'Work Sans','Inter',system-ui,-apple-system,sans-serif;
  --vc-display:'Bebas Neue','Oswald',Impact,sans-serif;
  /* Verde de oferta: día del espectador, súper jueves y promociones. */
  --vc-green:#0b7a44; --vc-green-ink:#0a5c34; --vc-green-soft:#e7f7ee; --vc-green-line:#9dd9ba; }
html { scroll-padding-top:calc(var(--vc-header-h) + 20px); }
body { color:var(--vc-ink); font-family:var(--vc-font); font-size:15px; line-height:1.6; font-optical-sizing:auto; }
h1, h2, .vc-display { font-family:var(--vc-display); font-weight:400; line-height:1.05; letter-spacing:.5px; }
/* Los nombres de película nunca van en caja alta forzada: son nombres propios. */
.pd-film-heading h1, .vc-empty h2, .vc-empty h3 { font-family:var(--vc-font); }
button, input, select, textarea { font:inherit; }
img { max-width:100%; }
a { color:inherit; }
:focus-visible { outline:3px solid #337ccb; outline-offset:4px; }
[hidden] { display:none !important; }
.site-shell { width:min(100%,1480px); margin-inline:auto; padding-inline:var(--vc-shell-pad); }
.site-header { position:sticky; top:0; z-index:50; background:var(--vc-blue); border-bottom:1px solid rgba(0,18,45,.12); }
.site-header__inner { display:flex; align-items:center; gap:20px; min-height:var(--vc-header-h); }
.site-logo { flex-shrink:0; }
.site-logo img { width:176px; height:42px; object-fit:contain; }
.site-header__cinema { display:flex; flex-direction:column; justify-content:center; gap:1px; min-width:0; padding:0 12px; border-left:1px solid rgba(255,255,255,.4); color:#fff; text-decoration:none; }
.site-header__cinema span { font-size:10px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; white-space:nowrap; opacity:.8; }
.site-header__cinema strong { font-size:15px; font-weight:700; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.site-navigation { margin-left:auto; display:flex; align-items:center; gap:8px; }
/* Pastillas blancas sobre el azul: el 92% de opacidad deja pasar un punto de
   color, el guino al "glass" que no cuesta rendimiento ni contraste. */
.site-navigation a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:9px 17px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(255,255,255,.92); color:var(--vc-ink); font-size:13px; font-weight:600; white-space:nowrap; text-decoration:none; box-shadow:0 1px 2px rgba(0,18,45,.12); transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.site-navigation a:hover { background:#fff; border-color:#fff; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,18,45,.2); }
.site-navigation a[aria-current] { background:var(--vc-ink); border-color:var(--vc-ink); color:#fff; box-shadow:0 2px 8px rgba(0,18,45,.3); }
.site-navigation a[aria-current]:hover { background:#11385e; border-color:#11385e; }
.site-navigation a:focus-visible { outline-color:var(--vc-ink); }
.site-menu-toggle { display:none; }
.skip-link { position:fixed; top:8px; left:12px; z-index:100; padding:10px 18px; background:var(--vc-ink); color:white; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.vc-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 18px; border:1px solid var(--vc-ink); border-radius:9px; background:var(--vc-ink); color:white; font-size:13px; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s; }
.vc-button:hover { background:#11385e; border-color:#11385e; }
.vc-button--secondary { background:white; color:var(--vc-ink); border-color:var(--vc-line); }
.vc-button--secondary:hover { background:#eaf4ff; border-color:#337ccb; }
.vc-button ion-icon { font-size:18px; flex-shrink:0; }
.vc-button span { display:inline; }
.home-poster .vc-poster-fallback,.cinema-film__poster .vc-poster-fallback,.pd-poster .vc-poster-fallback { display:flex; align-items:center; justify-content:center; aspect-ratio:2/3; width:100%; height:100%; padding:12px; color:#526176; font-size:12px; text-align:center; }
.vc-eyebrow { color:#2868ac; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.vc-muted { color:var(--vc-muted); }
.vc-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.vc-section-heading h2 { font-size:clamp(30px,3.2vw,44px); line-height:1.05; letter-spacing:.6px; }
.vc-empty { padding:36px 24px; background:var(--vc-paper); border:1px dashed #bccbde; border-radius:var(--vc-radius); text-align:center; }
.vc-empty h2,.vc-empty h3 { margin-bottom:8px; font-size:19px; font-weight:600; line-height:1.35; letter-spacing:-.2px; }
.vc-empty .vc-button { margin-top:14px; }
.site-footer { margin-top:var(--vc-footer-gap); }
.site-footer .footer-top { padding-block:32px; background:var(--fondo-footer); }
.site-footer .container { width:min(100%,1480px); max-width:1480px; padding-inline:32px; }
.site-footer .footer-brand-wrapper { margin-bottom:20px; }
.site-footer .footer-list, .site-footer .quicklink-list { flex-wrap:wrap; gap:12px 22px; }
.site-footer .footer-link { font:600 13px var(--vc-font); letter-spacing:.3px; }
.site-footer .quicklink-link { font:400 12px var(--vc-font); color:#d6e0ec; }
.site-footer .divider { margin-block:20px; }
.site-footer .quicklink-wrapper { gap:18px; flex-wrap:wrap; }
.site-footer .quicklink-wrapper p { font-size:12px; }
.site-footer .footer-bottom { padding-block:16px; background:#171e24; }
.site-footer .copyright { font-size:12px; }
.site-footer .copyright a { display:inline; }
@media (max-width:1150px) { .site-header__inner { gap:14px; } .site-header__cinema strong { font-size:14px; }
  .site-navigation { gap:6px; } .site-navigation a { padding:9px 13px; font-size:12px; } }
@media (max-width:850px) {
  :root { --vc-shell-pad:20px; --vc-header-h:68px; }
  .site-header__inner { justify-content:space-between; gap:10px; }
  .site-logo img { width:132px; height:32px; }
  .site-header__cinema { flex:1; min-width:0; padding:0 0 0 12px; }
  .site-header__cinema span { display:none; }
  .site-header__cinema strong { font-size:16px; }
  .site-menu-toggle { display:flex; flex-shrink:0; align-items:center; gap:8px; min-height:44px; padding:8px 15px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(255,255,255,.92); color:var(--vc-ink); font-size:13px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; box-shadow:0 1px 2px rgba(0,18,45,.12); transition:background .16s ease,color .16s ease,border-color .16s ease; }
  /* Abierto se invierte, igual que la ciudad activa: un solo lenguaje. */
  .site-menu-toggle[aria-expanded="true"] { background:var(--vc-ink); border-color:var(--vc-ink); color:#fff; }
  .site-menu-toggle:focus-visible { outline-color:var(--vc-ink); }
  .site-menu-toggle ion-icon { font-size:24px; }
  .site-navigation { display:none; position:absolute; top:100%; left:0; right:0; margin:0; padding:12px 20px 20px; background:var(--vc-blue); box-shadow:0 12px 18px #00122d1a; }
  .site-navigation.is-open { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .site-navigation a { min-height:48px; padding:10px 14px; font-size:13px; white-space:normal; }
  .site-footer .container { padding-inline:20px; }
}
@media (max-width:480px) { :root { --vc-shell-pad:16px; }
  .site-menu-toggle { gap:6px; padding:8px 10px; font-size:12px; }
  .site-menu-toggle ion-icon { font-size:20px; }
  .site-header__cinema { padding:0 0 0 10px; }
  .site-header__cinema strong { font-size:15px; }
  .site-logo img { width:118px; height:29px; } .vc-section-heading { margin-bottom:16px; } :root { --vc-footer-gap:36px; } .site-footer .quicklink-wrapper { flex-direction:row; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
