/* ============================================================
   ÓPTICA FIJA — Eventos  ·  CSS autocontenido (scope .of-eventos)
   Diseño propio (cartelera): hero con cartel, tarjetas póster-forward, ficha a 2 columnas.
   Conserva tokens, tipografía (Outfit) y color (#E02B20). Se encola solo en /eventos/ y fichas.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

.of-eventos{
  --of-red:#E02B20; --of-red-dark:#B81F17; --of-black:#000; --of-ink:#1A1A1A;
  --of-muted:#6B6B6B; --of-white:#FFF; --of-surface:#F7F6F5; --of-border:#E6E4E1;
  --of-radius:8px; --of-radius-lg:12px; --of-maxw:1200px;
  --of-font:'Outfit',Helvetica,Arial,sans-serif;
  font-family:var(--of-font); color:var(--of-ink);
}
.of-eventos *{ box-sizing:border-box; }
.of-eventos .of-wrap{ max-width:var(--of-maxw); margin:0 auto; padding-left:20px; padding-right:20px; }
.of-eventos h1,.of-eventos h2,.of-eventos h3{ text-transform:none; margin:0; }
.of-eventos p{ margin:0; }
.of-eventos a{ text-decoration:none; }
.of-eventos strong{ color:var(--of-red); font-weight:700; }

/* Romper el contenedor del tema (full-bleed) + ocultar su título */
body.of-eventos-page .page-header,
body.of-eventos-page .entry-title,
body.of-eventos-page .elementor-page-title{ display:none !important; }
body.of-eventos-page #content.site-main,
body.of-eventos-page main.site-main,
body.of-eventos-page .page-content{ max-width:100% !important; width:100% !important; margin:0 !important; padding:0 !important; }
body.of-eventos-page{ overflow-x:hidden; }
.of-eventos{ width:100%; }
.of-eventos > section{ width:100%; }

/* ---------- Botón sólido + fantasma ---------- */
.of-eventos .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:16px 30px; border-radius:var(--of-radius); background:var(--of-red) !important; color:#fff !important; border:2px solid var(--of-red) !important; text-decoration:none; cursor:pointer; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.of-eventos .of-btn:hover,.of-eventos .of-btn:focus-visible{ background:#fff !important; color:var(--of-red) !important; border-color:var(--of-red) !important; }
.of-eventos .of-btn svg{ width:18px; height:18px; flex-shrink:0; }

/* ---------- Botón teléfono + popup ---------- */
.of-eventos .of-tel-wrap{ position:relative; display:inline-block; }
.of-eventos .of-tel{ display:inline-flex; align-items:center; gap:10px; background:#fff; color:var(--of-red); padding:16px 28px; border-radius:var(--of-radius); font-weight:700; font-size:1.0625rem; line-height:1; text-decoration:none; border:2px solid var(--of-red); cursor:pointer; font-family:var(--of-font); transition:background .2s ease,color .2s ease,border-color .2s ease; }
.of-eventos .of-tel:hover,.of-eventos .of-tel[aria-expanded="true"]{ background:var(--of-red); color:#fff; }
.of-eventos .of-tel svg{ width:18px; height:18px; flex-shrink:0; }
.of-eventos .of-tel-pop{ position:absolute; left:50%; bottom:calc(100% + 12px); transform:translate(-50%,8px) scale(.96); transform-origin:bottom center; background:#16181D; color:#fff; border-radius:var(--of-radius-lg); padding:14px 14px 12px; min-width:248px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, transform .25s cubic-bezier(.2,.7,.2,1), visibility 0s linear .25s; box-shadow:0 22px 44px rgba(0,0,0,.28); z-index:30; }
.of-eventos .of-tel-pop::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:7px solid transparent; border-top-color:#16181D; }
.of-eventos .of-tel-pop.is-open{ opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0) scale(1); transition:opacity .22s ease, transform .25s cubic-bezier(.2,.7,.2,1), visibility 0s linear; }
.of-eventos .of-tel-pop-num{ display:flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:1.0625rem; padding-bottom:12px; }
.of-eventos .of-tel-pop-num svg{ width:16px; height:16px; }
.of-eventos .of-tel-pop-actions{ display:flex; gap:8px; }
.of-eventos .of-tel-pop-btn{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:7px; font-size:.875rem; font-weight:700; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.28); border-radius:var(--of-radius); padding:10px; cursor:pointer; text-decoration:none; transition:background .2s ease,border-color .2s ease,color .2s ease; font-family:var(--of-font); }
.of-eventos .of-tel-pop-btn svg{ width:14px; height:14px; flex-shrink:0; }
.of-eventos .of-tel-pop-btn-copy:hover{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.55); }
.of-eventos .of-tel-pop-btn-copy.is-copied{ background:#1F9D57; border-color:#1F9D57; }
.of-eventos .of-tel-pop-btn-call{ background:var(--of-red); border-color:var(--of-red); }
.of-eventos .of-tel-pop-btn-call:hover{ background:var(--of-red-dark); border-color:var(--of-red-dark); }

/* ---------- Censura + reveal + Lenis ---------- */
.of-accent,.of-eventos .of-accent{ color:var(--of-red); }
.of-eventos .of-censored .of-cz{ position:relative; display:inline-block; overflow:hidden; padding-bottom:.16em; margin-bottom:-.16em; }
.of-eventos .of-censored .of-cz::after{ content:""; position:absolute; inset:0; background:currentColor; z-index:2; pointer-events:none; transform:translateY(0); }
.of-eventos .of-censored.is-on .of-cz::after{ transform:translateY(101%); transition:transform .55s cubic-bezier(.7,0,.2,1) var(--d); }
@media (prefers-reduced-motion: reduce){ .of-eventos .of-censored .of-cz::after{ display:none !important; } }
.of-js .of-eventos .js-reveal > *{ opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.of-js .of-eventos .js-reveal.is-in > *{ opacity:1; transform:none; }
.of-js .of-eventos .js-reveal.is-in > *:nth-child(1){ transition-delay:.04s; }
.of-js .of-eventos .js-reveal.is-in > *:nth-child(2){ transition-delay:.09s; }
.of-js .of-eventos .js-reveal.is-in > *:nth-child(3){ transition-delay:.14s; }
.of-js .of-eventos .js-reveal.is-in > *:nth-child(4){ transition-delay:.19s; }
.of-js .of-eventos .js-reveal.is-in > *:nth-child(5){ transition-delay:.24s; }
.of-js .of-eventos .js-reveal.is-in > *:nth-child(6){ transition-delay:.29s; }
@media (prefers-reduced-motion: reduce){ .of-js .of-eventos .js-reveal > *{ opacity:1 !important; transform:none !important; transition:none !important; } }
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:hidden; }
.lenis.lenis-smooth iframe{ pointer-events:none; }

/* ---------- Chip de estado (reutilizado en card y ficha) ---------- */
.of-ev-status{ position:absolute; top:14px; left:14px; z-index:2; display:inline-flex; align-items:center; gap:6px; font-size:.74rem; font-weight:700; letter-spacing:.02em; padding:5px 12px; border-radius:999px; color:#fff; }
.of-ev-status::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; opacity:.9; }
.of-ev-status--proximo{ background:var(--of-red); }
.of-ev-status--finalizado{ background:rgba(22,24,29,.82); }

/* ============================================================
   DESTACADO (hero oscuro, estilo knowledge-hub)
   ============================================================ */
.of-ev-rh{ color:var(--of-red); }
.of-ev-feat{ background:#0E0F12; color:#fff; padding:clamp(112px,12vw,140px) 0 clamp(44px,6vw,76px); }
.of-ev-feat .of-wrap{ max-width:1200px; }
.of-ev-eyebrow{ display:inline-flex; align-items:center; gap:10px; color:#fff; font-weight:600; font-size:1rem; opacity:.92; }
.of-ev-eyebrow svg{ width:21px; height:21px; }
.of-ev-feat-h1{ font-size:clamp(2.2rem,5.4vw,4rem); font-weight:800; line-height:1.04; color:#fff; margin-top:18px; max-width:15ch; }
.of-ev-feature{ display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(28px,4vw,60px); align-items:center; margin-top:clamp(40px,6vw,76px); }
.of-ev-feature__media{ position:relative; border-radius:16px; overflow:hidden; aspect-ratio:16/10; background:#1a1c20; }
.of-ev-feature__media img{ width:100%; height:100%; object-fit:cover; }
.of-ev-feature__cat{ display:block; color:rgba(255,255,255,.55); font-size:.95rem; font-weight:600; }
.of-ev-feature__title{ display:block; font-size:clamp(1.5rem,2.7vw,2.2rem); font-weight:800; line-height:1.14; color:#fff; margin-top:12px; transition:color .22s ease; }
.of-ev-feature:hover .of-ev-feature__title{ color:var(--of-red); }
.of-ev-feature__sub{ display:block; color:rgba(255,255,255,.64); font-size:1.1rem; line-height:1.6; margin-top:16px; }
.of-ev-feature__foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.62); font-size:.95rem; font-weight:600; }
.of-ev-feature__foot svg{ width:26px; height:26px; color:#fff; flex-shrink:0; transition:transform .22s ease, color .22s ease; }
.of-ev-feature:hover .of-ev-feature__foot svg{ transform:translateX(6px); color:var(--of-red); }
@media (max-width:820px){ .of-ev-feature{ grid-template-columns:1fr; gap:24px; } .of-ev-feat-h1{ max-width:none; } }

/* ============================================================
   LISTA (filtros píldora + grid limpio)
   ============================================================ */
.of-ev-list{ background:var(--of-surface); padding:clamp(40px,6vw,72px) 0 clamp(56px,8vw,100px); }
.of-ev-list .of-wrap{ max-width:1390px; }
.of-ev-filters{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px; width:fit-content; max-width:100%; margin:0 auto clamp(36px,5vw,54px); background:#fff; border:1px solid var(--of-border); border-radius:999px; padding:6px; }
.of-ev-pill{ -webkit-appearance:none; appearance:none; border:0; background:transparent !important; box-shadow:none !important; font-family:var(--of-font); font-weight:600; font-size:.98rem; color:var(--of-muted); padding:9px 19px; border-radius:999px; cursor:pointer; transition:background .18s ease,color .18s ease; }
.of-ev-pill:hover:not(.is-active){ background:rgba(20,20,20,.06) !important; color:var(--of-ink); }
.of-ev-pill:focus,.of-ev-pill:focus-visible{ outline:none; }
.of-ev-pill.is-active{ background:var(--of-red) !important; color:#fff !important; }
/* ---------- Grid + Tarjeta IGUAL que el blog (tarjeta contenida: borde, imagen 16/10, cuerpo con padding, chip, hover borde rojo) ---------- */
.of-ev-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:980px){ .of-ev-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .of-ev-grid{ grid-template-columns:1fr; gap:18px; } }
.of-ev-noresults{ text-align:center; color:var(--of-muted); font-size:1.0625rem; padding:40px 0; }

.of-ev-card{ display:flex; flex-direction:column; border-radius:18px; overflow:hidden; background:#fff; border:1px solid var(--of-border); transition:border-color .25s ease; }
.of-ev-card[hidden]{ display:none !important; }
.of-ev-card:hover{ border-color:var(--of-red); }
.of-ev-card__media{ position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--of-surface); }
.of-ev-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.of-ev-card__body{ display:flex; flex-direction:column; gap:11px; padding:22px 22px 24px; flex:1; }
.of-ev-card__date{ display:inline-block; align-self:flex-start; margin:0; padding:4px 12px; border-radius:999px; background:rgba(224,43,32,.10); color:var(--of-red); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.of-ev-card__title{ font-size:18.5px; font-weight:700; line-height:1.3; color:var(--of-ink); letter-spacing:-.008em; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.of-ev-card__sub{ color:var(--of-muted); font-size:14px; line-height:1.6; margin:0; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.of-ev-card__more{ display:inline-flex; align-items:center; gap:7px; margin-top:2px; font-size:13.5px; font-weight:700; color:var(--of-red); }
.of-ev-card__more svg{ width:15px; height:15px; transition:transform .25s ease; }
.of-ev-card:hover .of-ev-card__more svg{ transform:translateX(4px); }

.of-ev-empty{ text-align:center; background:#fff; border:1px solid var(--of-border); border-radius:18px; padding:clamp(32px,5vw,56px); }
.of-ev-empty h2{ font-size:clamp(1.4rem,3vw,1.9rem); font-weight:800; color:var(--of-black); margin:0; }
.of-ev-empty p{ max-width:54ch; margin:14px auto 0; color:var(--of-muted); font-size:1.0625rem; line-height:1.6; }

/* ============================================================
   FICHA DE EVENTO (.of-evento) — rediseño: hero + tarjeta de detalles
   ============================================================ */
.of-evento .of-wrap{ max-width:1140px; }
.of-evento-hero{ position:relative; padding:clamp(30px,4vw,52px) 0 clamp(40px,5vw,66px); background:#fff; overflow:hidden; }
.of-evento-glow{ position:absolute; top:-180px; right:-140px; width:540px; height:540px; border-radius:50%; background:radial-gradient(circle, rgba(224,43,32,.12), rgba(224,43,32,0) 70%); pointer-events:none; z-index:0; }
.of-evento-hero .of-wrap{ position:relative; z-index:1; }
.of-evento-crumb{ display:inline-flex; align-items:center; gap:7px; color:var(--of-red); font-weight:700; font-size:.95rem; margin-bottom:28px; }
.of-evento-crumb svg{ width:18px; height:18px; transform:rotate(180deg); transition:transform .2s ease; }
.of-evento-crumb:hover svg{ transform:rotate(180deg) translateX(4px); }
.of-evento-grid{ display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:clamp(30px,5vw,58px); align-items:start; }
@media (max-width:860px){ .of-evento-grid{ grid-template-columns:1fr; gap:30px; } }
.of-evento-poster{ position:relative; border-radius:22px; overflow:hidden; background:#0E0F12; box-shadow:0 34px 64px -30px rgba(0,0,0,.45); }
.of-evento-poster img{ display:block; width:100%; height:auto; }
.of-evento-poster .of-ev-status{ top:16px; left:16px; }
.of-evento-info{ padding-top:4px; }
.of-evento-est{ display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:700; letter-spacing:.02em; padding:7px 15px; border-radius:999px; margin-bottom:18px; }
.of-evento-est-dot{ width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0; }
.of-evento-est--proximo{ background:var(--of-red); color:#fff; }
.of-evento-est--finalizado{ background:#fff; color:var(--of-muted); border:1px solid var(--of-border); }
.of-evento-hero h1{ font-size:clamp(1.9rem,3.8vw,2.85rem); font-weight:800; line-height:1.1; color:var(--of-black); letter-spacing:-.01em; }
.of-evento-sub{ margin-top:14px; font-size:1.2rem; line-height:1.5; color:var(--of-muted); font-weight:500; }
/* tarjeta de detalles */
.of-evento-card{ margin-top:26px; background:#fff; border:1px solid var(--of-border); border-radius:18px; padding:22px 26px 26px; box-shadow:0 20px 44px -34px rgba(0,0,0,.32); }
.of-evento-card-h{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--of-muted); margin-bottom:6px; }
.of-evento-meta{ list-style:none; margin:0; padding:0; }
.of-evento-meta li{ display:flex; align-items:center; gap:15px; padding:15px 0; }
.of-evento-meta li + li{ border-top:1px solid var(--of-border); }
.of-evento-meta-ic{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:13px; background:rgba(224,43,32,.10); color:var(--of-red); flex-shrink:0; }
.of-evento-meta-ic svg{ width:21px; height:21px; }
.of-evento-meta-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.of-evento-meta-tx b{ font-size:.74rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--of-muted); }
.of-evento-meta-tx span{ font-size:1.05rem; font-weight:600; color:var(--of-ink); line-height:1.35; }
.of-evento-cta{ margin-top:20px; padding-top:22px; border-top:1px solid var(--of-border); display:flex; flex-direction:column; align-items:stretch; gap:14px; }
.of-evento-cta .of-btn{ width:100%; justify-content:center; }
.of-evento-fin{ display:inline-flex; align-items:center; justify-content:center; gap:9px; background:var(--of-surface); border:1px solid var(--of-border); color:var(--of-muted); font-weight:600; padding:14px 20px; border-radius:var(--of-radius); }
.of-evento-fin svg{ width:18px; height:18px; flex-shrink:0; }
.of-evento-link{ display:inline-flex; align-items:center; justify-content:center; gap:7px; color:var(--of-red); font-weight:700; }
.of-evento-link svg{ width:18px; height:18px; transition:transform .2s ease; }
.of-evento-link:hover svg{ transform:translateX(4px); }

.of-evento-body{ padding:clamp(40px,6vw,72px) 0 clamp(48px,7vw,88px); background:#fff; }
.of-evento-h2{ position:relative; font-size:clamp(1.35rem,2.6vw,1.85rem); font-weight:800; color:var(--of-black); letter-spacing:-.01em; padding-bottom:15px; margin-bottom:22px; }
.of-evento-h2::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; border-radius:3px; background:var(--of-red); }
.of-evento-about{ max-width:800px; }
.of-evento-desc{ font-size:1.1rem; line-height:1.8; color:var(--of-ink); }
.of-evento-desc p{ margin:0 0 16px; } .of-evento-desc p:last-child{ margin-bottom:0; }
.of-evento-desc strong{ color:var(--of-ink); }
.of-evento-desc a{ color:var(--of-red); font-weight:600; }
.of-evento-gallery{ margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:700px){ .of-evento-gallery{ grid-template-columns:repeat(2,1fr); } }
.of-evento-gitem{ border:1px solid var(--of-border); border-radius:14px; overflow:hidden; }
.of-evento-gitem img{ display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.of-evento-gitem:hover img{ transform:scale(1.06); }
.of-evento-back{ margin-top:clamp(38px,5vw,56px); padding-top:28px; border-top:1px solid var(--of-border); }
.of-evento-back a{ display:inline-flex; align-items:center; gap:8px; color:var(--of-red); font-weight:700; font-size:1.0625rem; }
.of-evento-back svg{ width:18px; height:18px; transform:rotate(180deg); transition:transform .2s ease; }
.of-evento-back a:hover svg{ transform:rotate(180deg) translateX(4px); }

/* ===== media: póster + lupa + carpeta de galería ===== */
.of-evento-media{ display:flex; flex-direction:column; gap:16px; }
.of-evento-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-evento-zoom:hover{ background:var(--of-red); transform:scale(1.06); }
.of-evento-zoom svg{ width:21px; height:21px; }
.of-evento-folder{ display:flex; align-items:center; gap:18px; width:100%; padding:14px 18px; background:#fff; border:1px solid var(--of-border); border-radius:16px; cursor:pointer; text-align:left; font-family:var(--of-font); transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.of-evento-folder:hover{ border-color:var(--of-red); box-shadow:0 18px 36px -28px rgba(0,0,0,.4); transform:translateY(-2px); }
.of-evento-folder-stack{ position:relative; width:80px; height:58px; flex-shrink:0; }
.of-evento-folder-th{ position:absolute; top:3px; width:52px; height:52px; border-radius:9px; background-size:cover; background-position:center; border:2px solid #fff; box-shadow:0 5px 12px rgba(0,0,0,.2); }
.of-evento-folder-th:nth-child(1){ left:0; transform:rotate(-8deg); }
.of-evento-folder-th:nth-child(2){ left:14px; top:1px; transform:rotate(3deg); z-index:1; }
.of-evento-folder-th:nth-child(3){ left:28px; top:0; transform:rotate(-1deg); z-index:2; }
.of-evento-folder-tx{ flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
.of-evento-folder-tx b{ font-size:1.02rem; font-weight:700; color:var(--of-ink); }
.of-evento-folder-tx span{ font-size:.9rem; color:var(--of-muted); }
.of-evento-folder > svg{ width:20px; height:20px; color:var(--of-red); flex-shrink:0; transition:transform .2s ease; }
.of-evento-folder:hover > svg{ transform:translateX(4px); }

/* ===== lightbox ===== */
.of-evento-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-evento-lb.is-open{ opacity:1; visibility:visible; transition:opacity .28s ease; }
.of-evento-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-evento-lb-img{ position:relative; z-index:2; max-width:min(1100px,92vw); max-height:72vh; 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-evento-lb.is-open .of-evento-lb-img{ transform:scale(1); }
.of-evento-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-evento-lb-x:hover{ background:var(--of-red); }
.of-evento-lb-x svg{ width:22px; height:22px; }
.of-evento-lb-prev,.of-evento-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-evento-lb-prev{ left:clamp(8px,3vw,32px); } .of-evento-lb-next{ right:clamp(8px,3vw,32px); }
.of-evento-lb-prev:hover,.of-evento-lb-next:hover{ background:var(--of-red); }
.of-evento-lb-prev svg,.of-evento-lb-next svg{ width:26px; height:26px; }
.of-evento-lb-thumbs{ position:relative; z-index:3; display:flex; gap:10px; margin-top:20px; max-width:92vw; overflow-x:auto; padding:6px 2px; }
.of-evento-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-evento-lb-thumb:hover{ opacity:.85; }
.of-evento-lb-thumb.is-active{ opacity:1; border-color:var(--of-red); }
.of-evento-lb--single .of-evento-lb-prev,.of-evento-lb--single .of-evento-lb-next,.of-evento-lb--single .of-evento-lb-thumbs{ display:none; }

/* ============================================================
   CTA rojo (igual sistema que la home)
   ============================================================ */
.of-ev-cta{ padding:clamp(54px,8vw,104px) 0; background:var(--of-red); color:#fff; text-align:center; }
.of-ev-cta .of-wrap{ max-width:760px; }
.of-ev-cta h2{ font-size:clamp(1.8rem,3.8vw,2.5rem); font-weight:800; color:#fff; margin:0 auto; }
.of-ev-cta p{ max-width:58ch; margin:22px auto 0; color:rgba(255,255,255,.92); font-size:1.0625rem; line-height:1.6; }
.of-ev-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:30px; }
.of-ev-cta .of-btn{ background:#fff !important; color:var(--of-red) !important; border-color:#fff !important; }
.of-ev-cta .of-btn:hover,.of-ev-cta .of-btn:focus-visible{ background:transparent !important; color:#fff !important; border-color:#fff !important; }
.of-ev-cta .of-tel{ background:rgba(255,255,255,.10); color:#fff; border:1.5px solid rgba(255,255,255,.5); }
.of-ev-cta .of-tel:hover,.of-ev-cta .of-tel[aria-expanded="true"]{ background:#fff; color:var(--of-red); border-color:#fff; }
@media (max-width:600px){ .of-ev-actions{ flex-direction:column; align-items:stretch; } .of-ev-actions .of-btn,.of-ev-actions .of-tel{ justify-content:center; } .of-ev-actions .of-tel-wrap{ display:block; } .of-ev-actions .of-tel{ width:100%; } }

/* Overrides de centrado (gana al .page-content p del tema) */
.of-eventos .of-ev-lead{ margin:20px auto 0 !important; }
.of-eventos .of-ev-cta p{ margin:22px auto 0 !important; text-align:center !important; }
.of-eventos .of-ev-cta h2{ margin:0 auto !important; }
