/* ============================================================
   ÓPTICA FIJA — Concursos · CSS autocontenido (scope .of-concursos / .of-conc)
   Diseño PROPIO y DISTINTO al de Eventos: listado en filas-agenda con bloque de
   fecha límite, ámbitos en color, secciones abiertos/anteriores; ficha con tira
   de datos horizontal. Tipografía/color heredados (Inter + #E02B20).
   ============================================================ */
.of-concursos{
  --of-red:#E02B20; --of-red-dark:#B81F17; --of-black:#0E0F12; --of-ink:#1A1A1A;
  --of-muted:#6B6B6B; --of-white:#FFF; --of-surface:#F7F6F5; --of-border:#E6E4E1;
  --of-radius:10px; --of-radius-lg:16px; --of-maxw:1200px;
  --of-font:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--of-font); color:var(--of-ink);
}
.of-concursos *{ box-sizing:border-box; }
.of-concursos .of-wrap{ max-width:var(--of-maxw); margin:0 auto; padding-left:20px; padding-right:20px; }
.of-concursos h1,.of-concursos h2,.of-concursos h3{ text-transform:none; margin:0; }
.of-concursos p{ margin:0; }
.of-concursos a{ text-decoration:none; color:inherit; }
.of-concursos strong{ color:var(--of-red); font-weight:700; }
.of-concursos .of-rh{ color:var(--of-red); }

/* el tema oculta su header/título y deja la página a sangre */
body.of-concursos-page .page-header,
body.of-concursos-page .entry-title,
body.of-concursos-page .elementor-page-title{ display:none !important; }
body.of-concursos-page #content.site-main,
body.of-concursos-page main.site-main,
body.of-concursos-page .page-content{ max-width:100% !important; width:100% !important; margin:0 !important; padding:0 !important; }
body.of-concursos-page{ overflow-x:hidden; }
.of-concursos{ width:100%; }
.of-concursos > section{ width:100%; }

/* ---- botones ---- */
.of-concursos .of-btn{ display:inline-flex; align-items:center; gap:.5em; font-family:var(--of-font); font-weight:700; font-size:1.0625rem; line-height:1; padding:15px 28px; border-radius:var(--of-radius); background:var(--of-red); color:#fff; border:2px solid var(--of-red); cursor:pointer; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.of-concursos .of-btn:hover,.of-concursos .of-btn:focus-visible{ background:#fff; color:var(--of-red); }
.of-concursos .of-btn svg{ width:18px; height:18px; flex-shrink:0; }
.of-concursos .of-btn--ghost{ background:#fff; color:var(--of-red); }
.of-concursos .of-btn--ghost:hover{ background:var(--of-red); color:#fff; }

/* ---- botón teléfono con popup ---- */
.of-concursos .of-tel-wrap{ position:relative; display:inline-block; }
.of-concursos .of-tel{ display:inline-flex; align-items:center; gap:10px; background:#fff; color:var(--of-red); padding:15px 26px; border-radius:var(--of-radius); font-weight:700; font-size:1.0625rem; line-height:1; border:2px solid #fff; cursor:pointer; font-family:var(--of-font); transition:background .2s ease,color .2s ease,border-color .2s ease; }
.of-concursos .of-tel:hover{ background:#16181D; color:#fff; border-color:#16181D; }
.of-concursos .of-tel svg{ width:18px; height:18px; flex-shrink:0; }

/* ---- reveal ---- */
.of-js .of-concursos .js-reveal > *{ opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.of-js .of-concursos .js-reveal.is-in > *{ opacity:1; transform:none; }
.of-js .of-concursos .js-reveal.is-in > *:nth-child(2){ transition-delay:.06s; }
.of-js .of-concursos .js-reveal.is-in > *:nth-child(3){ transition-delay:.12s; }
.of-js .of-concursos .js-reveal.is-in > *:nth-child(4){ transition-delay:.18s; }
@media (prefers-reduced-motion: reduce){ .of-js .of-concursos .js-reveal > *{ opacity:1 !important; transform:none !important; transition:none !important; } }

/* ====================== HERO (listado) ====================== */
.of-cc-hero{ position:relative; background:var(--of-surface); padding:clamp(52px,7vw,80px) 0 clamp(40px,5vw,60px); overflow:hidden; text-align:center; }
.of-cc-hero-glow{ display:none; }
.of-cc-hero .of-wrap{ position:relative; z-index:1; max-width:880px; }
.of-cc-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--of-red); margin-bottom:16px; }
.of-cc-eyebrow svg{ width:18px; height:18px; }
.of-cc-hero h1{ font-size:clamp(2.1rem,4.8vw,3.4rem); font-weight:800; line-height:1.08; color:var(--of-black); letter-spacing:-.015em; }
.of-cc-lead{ margin:34px auto 0; max-width:64ch; font-size:1.15rem; line-height:1.62; color:var(--of-muted); text-align:center; }
.of-cc-hero-stats{ display:inline-flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:26px; }
.of-cc-hero-stats span{ background:#fff; border:1px solid var(--of-border); border-radius:999px; padding:9px 18px; font-size:.95rem; color:var(--of-ink); }
.of-cc-hero-stats b{ color:var(--of-red); font-weight:800; }

/* ====================== SECCIONES ====================== */
.of-cc-sec{ padding:clamp(40px,5vw,64px) 0; background:#fff; }
.of-cc-sec--past{ background:var(--of-surface); }
.of-cc-sec-head{ display:flex; align-items:center; gap:12px; margin-bottom:28px; }
.of-cc-sec-head h2{ font-size:clamp(1.4rem,2.8vw,1.95rem); font-weight:800; color:var(--of-black); letter-spacing:-.01em; }
.of-cc-sec-note{ margin-left:auto; font-size:.95rem; color:var(--of-muted); }
.of-cc-dot{ width:11px; height:11px; border-radius:50%; background:var(--of-red); flex-shrink:0; position:relative; }
.of-cc-dot--live::after{ content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid var(--of-red); opacity:.5; animation:ccpulse 1.8s ease-out infinite; }
@keyframes ccpulse{ 0%{ transform:scale(.6); opacity:.6 } 100%{ transform:scale(1.5); opacity:0 } }
@media (prefers-reduced-motion: reduce){ .of-cc-dot--live::after{ animation:none; } }
.of-cc-list{ display:flex; flex-direction:column; gap:16px; }

/* ---- fila-agenda de concurso ---- */
.of-cc-row{ display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:clamp(18px,2.5vw,30px); background:#fff; border:1px solid var(--of-border); border-radius:18px; padding:16px; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.of-cc-sec--past .of-cc-row{ background:#fff; }
.of-cc-row:hover{ border-color:var(--of-red); box-shadow:0 24px 48px -34px rgba(0,0,0,.4); transform:translateY(-2px); }
.of-cc-row-poster{ width:150px; height:112px; border-radius:12px; overflow:hidden; background:var(--of-surface); display:flex; align-items:center; justify-content:center; }
.of-cc-row-poster img{ width:100%; height:100%; object-fit:cover; display:block; }
.of-cc-row-ph{ color:var(--of-border); } .of-cc-row-ph svg{ width:46px; height:46px; }
.of-cc-row-main{ min-width:0; }
.of-cc-row-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.of-cc-amb{ display:inline-flex; align-items:center; font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:4px 11px; border-radius:999px; }
.of-cc-amb--internacional{ background:rgba(224,43,32,.10); color:var(--of-red); }
.of-cc-amb--nacional{ background:#16181D; color:#fff; }
.of-cc-amb--local{ background:var(--of-surface); color:var(--of-ink); border:1px solid var(--of-border); }
.of-cc-row-org{ font-size:.9rem; color:var(--of-muted); }
.of-cc-row-title{ display:block; margin-top:9px; font-size:1.2rem; font-weight:800; line-height:1.2; color:var(--of-ink); letter-spacing:-.01em; }
.of-cc-row:hover .of-cc-row-title{ color:var(--of-red); }
.of-cc-row-sub{ display:block; margin-top:6px; font-size:.97rem; color:var(--of-muted); line-height:1.45; }
.of-cc-row-prize{ display:inline-flex; align-items:center; gap:7px; margin-top:11px; font-size:.9rem; font-weight:600; color:var(--of-ink); }
.of-cc-row-prize svg{ width:17px; height:17px; color:var(--of-red); flex-shrink:0; }
.of-cc-row-side{ display:flex; flex-direction:column; align-items:center; gap:7px; min-width:96px; }
.of-cc-deadline{ display:flex; flex-direction:column; align-items:center; justify-content:center; width:72px; height:74px; border-radius:14px; line-height:1; }
.of-cc-deadline--abierto{ background:var(--of-red); color:#fff; }
.of-cc-deadline--cerrado{ background:var(--of-surface); color:var(--of-muted); border:1px solid var(--of-border); }
.of-cc-deadline-d{ font-size:1.7rem; font-weight:800; }
.of-cc-deadline-m{ font-size:.72rem; font-weight:700; letter-spacing:.08em; margin-top:3px; }
.of-cc-deadline-lbl{ font-size:.72rem; color:var(--of-muted); text-align:center; }
.of-cc-row-cta{ display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:.9rem; font-weight:700; color:var(--of-red); white-space:nowrap; }
.of-cc-row-cta svg{ width:16px; height:16px; transition:transform .2s ease; }
.of-cc-row:hover .of-cc-row-cta svg{ transform:translateX(4px); }
.of-cc-list--past .of-cc-row{ opacity:.92; }

.of-cc-empty{ text-align:center; padding:30px 0 10px; }
.of-cc-empty h2{ font-size:clamp(1.4rem,3vw,1.9rem); font-weight:800; color:var(--of-black); }
.of-cc-empty p{ margin-top:12px; color:var(--of-muted); font-size:1.05rem; }

@media (max-width:720px){
  .of-cc-row{ grid-template-columns:96px 1fr; grid-template-areas:"poster main" "side side"; gap:14px 16px; }
  .of-cc-row-poster{ width:96px; height:96px; grid-area:poster; }
  .of-cc-row-main{ grid-area:main; }
  .of-cc-row-side{ grid-area:side; flex-direction:row; justify-content:flex-start; gap:14px; padding-top:12px; border-top:1px solid var(--of-border); width:100%; }
  .of-cc-deadline{ width:58px; height:58px; }
  .of-cc-deadline-d{ font-size:1.3rem; }
  .of-cc-deadline-lbl{ align-self:center; }
  .of-cc-row-cta{ margin-left:auto; }
}

/* ====================== FICHA ====================== */
.of-cc-fic-hero{ position:relative; background:#fff; padding:clamp(48px,6vw,76px) 0 clamp(34px,4vw,52px); overflow:hidden; }
.of-cc-fic-hero .of-wrap{ position:relative; z-index:1; max-width:1140px; }
.of-cc-crumb{ display:inline-flex; align-items:center; gap:7px; color:var(--of-red); font-weight:700; font-size:.95rem; margin-bottom:26px; }
.of-cc-crumb svg{ width:18px; height:18px; transform:rotate(180deg); transition:transform .2s ease; }
.of-cc-crumb:hover svg{ transform:rotate(180deg) translateX(4px); }
.of-cc-fic-grid{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(28px,5vw,56px); align-items:start; }
@media (max-width:820px){ .of-cc-fic-grid{ grid-template-columns:1fr; gap:28px; } }
.of-cc-fic-poster{ position:relative; border-radius:20px; overflow:hidden; background:var(--of-surface); box-shadow:0 34px 64px -30px rgba(0,0,0,.42); }
.of-cc-fic-poster img{ display:block; width:100%; height:auto; }
.of-cc-fic-ph{ display:flex; align-items:center; justify-content:center; aspect-ratio:3/4; color:var(--of-border); } .of-cc-fic-ph svg{ width:96px; height:96px; }
.of-cc-est{ position:absolute; top:16px; left:16px; display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; padding:7px 14px; border-radius:999px; }
.of-cc-est-dot{ width:7px; height:7px; border-radius:50%; background:currentColor; }
.of-cc-est--abierto{ background:var(--of-red); color:#fff; }
.of-cc-est--cerrado{ background:rgba(16,18,21,.82); color:#fff; }
.of-cc-zoom{ position:absolute; right:14px; bottom:14px; z-index:3; width:44px; height:44px; border-radius:12px; border:0; background:rgba(16,18,21,.6); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease, transform .2s ease; }
.of-cc-zoom:hover{ background:var(--of-red); transform:scale(1.06); }
.of-cc-zoom svg{ width:21px; height:21px; }
.of-cc-fic-info .of-cc-amb{ margin-bottom:14px; }
.of-cc-fic-hero h1{ font-size:clamp(1.85rem,3.8vw,2.7rem); font-weight:800; line-height:1.12; color:var(--of-black); letter-spacing:-.01em; }
.of-cc-fic-tema{ margin-top:14px; font-size:1.2rem; line-height:1.5; color:var(--of-ink); font-weight:500; }
.of-cc-fic-org{ margin-top:10px; font-size:1.0625rem; color:var(--of-muted); }
.of-cc-fic-org strong{ color:var(--of-ink); }
.of-cc-fic-info .of-cc-cta-actions{ margin-top:24px; display:flex; flex-wrap:wrap; gap:14px; }
.of-cc-closed{ display:inline-flex; align-items:center; gap:9px; background:var(--of-surface); border:1px solid var(--of-border); color:var(--of-muted); font-weight:600; padding:14px 22px; border-radius:var(--of-radius); }
.of-cc-closed svg{ width:18px; height:18px; }
/* tira de datos horizontal */
.of-cc-facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; margin-top:clamp(30px,4vw,46px); background:var(--of-border); border:1px solid var(--of-border); border-radius:18px; overflow:hidden; }
.of-cc-fact{ display:flex; align-items:center; gap:13px; background:#fff; padding:20px 22px; }
.of-cc-fact-ic{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; background:rgba(224,43,32,.10); color:var(--of-red); flex-shrink:0; }
.of-cc-fact-ic svg{ width:20px; height:20px; }
.of-cc-fact-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.of-cc-fact-tx b{ font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--of-muted); }
.of-cc-fact-tx span{ font-size:1.02rem; font-weight:600; color:var(--of-ink); line-height:1.3; }

.of-cc-fic-body{ padding:clamp(40px,6vw,72px) 0 clamp(44px,6vw,76px); background:#fff; }
.of-cc-fic-body .of-wrap{ max-width:1140px; }
.of-cc-h2{ position:relative; font-size:clamp(1.35rem,2.6vw,1.85rem); font-weight:800; color:var(--of-black); padding-bottom:15px; margin-bottom:22px; letter-spacing:-.01em; }
.of-cc-h2::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; border-radius:3px; background:var(--of-red); }
.of-cc-about{ max-width:none; }
.of-cc-desc{ font-size:1.1rem; line-height:1.8; color:var(--of-ink); }
.of-cc-desc p{ margin:0 0 16px; } .of-cc-desc p:last-child{ margin-bottom:0; }
.of-cc-desc strong{ color:var(--of-ink); }
.of-cc-about-cta{ margin-top:30px; }

/* ====================== CTA banda roja (estándar) ====================== */
.of-cc-cta{ background:var(--of-red); color:#fff; padding:clamp(48px,7vw,80px) 0; text-align:center; }
.of-cc-cta h2{ font-size:clamp(1.6rem,3.4vw,2.3rem); font-weight:800; color:#fff; letter-spacing:-.01em; }
.of-cc-cta p{ max-width:62ch; margin:18px auto 0; color:rgba(255,255,255,.92); font-size:1.0625rem; line-height:1.6; }
.of-cc-cta-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:28px; }
.of-cc-cta .of-btn{ background:#fff; color:var(--of-red); border-color:#fff; }
.of-cc-cta .of-btn:hover{ background:#16181D; color:#fff; border-color:#16181D; }
@media (max-width:600px){ .of-cc-cta-actions,.of-cc-fic-info .of-cc-cta-actions{ flex-direction:column; align-items:stretch; } .of-cc-cta-actions .of-btn,.of-cc-cta-actions .of-tel,.of-cc-fic-info .of-btn{ width:100%; justify-content:center; } .of-cc-cta-actions .of-tel-wrap{ width:100%; } }

/* ====================== LIGHTBOX ====================== */
.of-cc-lb{ position:fixed; inset:0; z-index:99990; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(16px,4vw,52px); opacity:0; visibility:hidden; transition:opacity .28s ease, visibility 0s linear .28s; }
.of-cc-lb.is-open{ opacity:1; visibility:visible; transition:opacity .28s ease; }
.of-cc-lb-bg{ position:absolute; inset:0; background:rgba(10,11,13,.92); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); cursor:zoom-out; }
.of-cc-lb-img{ position:relative; z-index:2; max-width:min(1000px,92vw); max-height:74vh; width:auto; height:auto; object-fit:contain; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.55); transform:scale(.96); transition:transform .3s cubic-bezier(.2,.7,.2,1); }
.of-cc-lb.is-open .of-cc-lb-img{ transform:scale(1); }
.of-cc-lb-x{ position:absolute; top:18px; right:18px; z-index:4; width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.13); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .2s ease; }
.of-cc-lb-x:hover{ background:var(--of-red); } .of-cc-lb-x svg{ width:22px; height:22px; }
.of-cc-lb-prev,.of-cc-lb-next{ position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:50px; height:50px; border-radius:50%; border:0; background:rgba(255,255,255,.13); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .2s ease; }
.of-cc-lb-prev{ left:clamp(8px,3vw,32px); } .of-cc-lb-next{ right:clamp(8px,3vw,32px); }
.of-cc-lb-prev:hover,.of-cc-lb-next:hover{ background:var(--of-red); } .of-cc-lb-prev svg,.of-cc-lb-next svg{ width:26px; height:26px; }
.of-cc-lb-thumbs{ position:relative; z-index:3; display:flex; gap:10px; margin-top:20px; max-width:92vw; overflow-x:auto; padding:6px 2px; }
.of-cc-lb-thumb{ width:74px; height:54px; border-radius:8px; border:2px solid transparent; background-size:cover; background-position:center; cursor:pointer; flex-shrink:0; opacity:.5; transition:opacity .2s ease, border-color .2s ease; }
.of-cc-lb-thumb:hover{ opacity:.85; } .of-cc-lb-thumb.is-active{ opacity:1; border-color:var(--of-red); }
.of-cc-lb--single .of-cc-lb-prev,.of-cc-lb--single .of-cc-lb-next,.of-cc-lb--single .of-cc-lb-thumbs{ display:none; }
