/* ============================================================
   ILM — Estilos globales del sitio
   Versión: 1.0.0
============================================================ */

/* ============================================================
   RESET Y BASE
============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; scroll-padding-top: 130px; }

body.ilm-body {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: 20px;
    line-height: 1.6;
    color: var(--ilm-text-main);
    background: var(--ilm-bg-main);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    padding-top: 110px;
}

::selection { background: var(--ilm-color-yellow); color: var(--ilm-text-main); }

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

h1, h2, h3, h4,
.ilm-h1, .ilm-h2, .ilm-h3, .ilm-h4 {
    font-family: 'Manrope', system-ui, sans-serif;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: var(--ilm-text-main);
}

.ilm-h1 { font-size: clamp(3.6rem, 8vw, 7.2rem); font-weight: 800; line-height: 1.1; }
.ilm-h2 { font-size: clamp(3rem, 6vw, 5.4rem); line-height: 1.15; }
.ilm-h3 { font-size: clamp(1.8rem, 2.8vw, 2.4rem); font-weight: 600; }
.ilm-h4 { font-size: 1.75rem; font-weight: 700; }

p { color: var(--ilm-text-secondary); }

/* Gradient de texto — fix definitivo de corte de descenders/ascenders en italics */
.ilm-grad-text,
h1 em, h2 em, h3 em, h4 em {
    background: var(--ilm-grad-warm);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-style: italic;
    font-weight: inherit;
    line-height: 1.25;
    padding: 0.12em 0.05em 0.2em 0.02em;
    margin-right: 0.05em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* ============================================================
   LAYOUT
============================================================ */

.ilm-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 64px);
    position: relative;
}
.ilm-container--narrow { max-width: 880px; }

.ilm-section {
    padding: clamp(60px, 8vw, 110px) 0;
    position: relative;
    overflow: hidden;
}
.ilm-section--main { background: var(--ilm-bg-main); }
.ilm-section--contrast {
    background: var(--ilm-bg-contrast);
    border-top: 1px solid #EAE5DA;
    border-bottom: 1px solid #EAE5DA;
}

.ilm-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    margin-bottom: 28px;
    color: var(--ilm-color-orange);
}
.ilm-eyebrow::before {
    content: '';
    width: 48px; height: 2px;
    background: var(--ilm-grad-yellow-orange);
}

/* ============================================================
   BOTONES
============================================================ */

.ilm-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    border: none;
    letter-spacing: 0.01em;
    white-space: nowrap;
    cursor: pointer;
    line-height: 1;
}
.ilm-btn--lg { padding: 22px 42px; font-size: 1.15rem; }
.ilm-btn--sm { padding: 11px 22px; font-size: 0.95rem; }

.ilm-btn--primary {
    background: var(--ilm-grad-warm);
    color: #FFFFFF;
    box-shadow: 0 8px 24px -8px rgba(240, 132, 35, 0.5);
}
.ilm-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px -8px rgba(240, 132, 35, 0.7);
    color: #FFFFFF;
}

.ilm-btn--outline {
    background: transparent;
    color: var(--ilm-text-main);
    border: 2px solid var(--ilm-text-main);
    padding: 14px 30px;
}
.ilm-btn--outline.ilm-btn--lg { padding: 20px 40px; }
.ilm-btn--outline:hover {
    background: var(--ilm-text-main);
    color: #FFFFFF;
}

.ilm-btn .ilm-arrow { transition: transform 0.25s ease; }
.ilm-btn:hover .ilm-arrow { transform: translateX(4px); }

.ilm-btn-text {
    color: var(--ilm-color-orange);
    font-weight: 700;
    font-size: 1.05rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border: 2px solid var(--ilm-color-orange);
    border-radius: 999px;
    transition: all 0.25s ease;
    line-height: 1;
}
.ilm-btn-text:hover {
    background: var(--ilm-color-orange);
    color: #FFFFFF;
}

/* ============================================================
   ANIMACIONES
============================================================ */

.ilm-fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.9s ease, transform 0.9s ease;
}
.ilm-fade-in.is-visible { opacity: 1; transform: translateY(0); }

/* ============================================================
   HEADER
============================================================ */

.ilm-header {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 100;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    background: rgba(255, 255, 255, 0.85);
    border-bottom: 1px solid transparent;
    transition: all 0.3s ease;
}
.ilm-header.is-scrolled {
    background: rgba(255, 255, 255, 0.95);
    border-bottom-color: rgba(10, 9, 8, 0.08);
}
.ilm-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px clamp(20px, 5vw, 64px);
    max-width: 1280px;
    margin: 0 auto;
}
.ilm-header__logo img { height: 62px; width: auto; }

.ilm-header__nav ul {
    display: flex;
    gap: 44px;
    list-style: none;
    align-items: center;
}
.ilm-header__nav a {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--ilm-text-secondary);
    transition: color 0.2s ease;
}
.ilm-header__nav a:hover { color: var(--ilm-color-orange); }

.ilm-header .ilm-btn {
    font-size: 1.15rem;
    padding: 15px 30px;
}

.ilm-header__burger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
}
.ilm-header__burger span {
    width: 24px; height: 2px;
    background: var(--ilm-text-main);
    transition: all 0.3s ease;
}

.ilm-header__mobile {
    display: none;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    background: #FFFFFF;
    border-top: 1px solid rgba(10, 9, 8, 0.08);
}
body.ilm-menu-open .ilm-header__mobile { display: flex; }
.ilm-header__mobile a {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ilm-text-main);
}

@media (max-width: 980px) { .ilm-hide-mobile { display: none !important; } }
@media (min-width: 981px) { .ilm-hide-desktop { display: none !important; } }

/* ============================================================
   HERO (Sección 1)
============================================================ */

.ilm-hero {
    min-height: 100vh;
    padding-top: 60px;
    padding-bottom: 80px;
    display: flex;
    align-items: center;
    background: var(--ilm-bg-main);
    position: relative;
    overflow: hidden;
}
/* Glow inferior */
.ilm-hero::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: 50%;
    width: 80%;
    height: 60%;
    background: radial-gradient(ellipse at bottom, rgba(245, 215, 46, 0.18), transparent 70%);
    transform: translateX(-50%);
    pointer-events: none;
}
/* ISO logo decorativo de fondo del hero — sobresale a ambos lados de la imagen */
.ilm-hero__iso {
    position: absolute;
    top: 50%;
    right: -15%;
    width: clamp(1300px, 100vw, 1800px);
    height: clamp(1300px, 100vw, 1800px);
    background-image: var(--ilm-hero-iso-bg, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 120'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0%25' y1='0%25' x2='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23F5D72E' stop-opacity='0.32'/%3E%3Cstop offset='100%25' stop-color='%23F08423' stop-opacity='0.32'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0%25' y1='0%25' x2='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23F08423' stop-opacity='0.32'/%3E%3Cstop offset='100%25' stop-color='%23DC2929' stop-opacity='0.32'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='80' cy='60' r='48' fill='none' stroke='url(%23a)' stroke-width='5'/%3E%3Ccircle cx='160' cy='60' r='48' fill='none' stroke='url(%23b)' stroke-width='5'/%3E%3C/svg%3E"));
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 1;
    will-change: transform;
    transform: translateY(-50%);
    /* Default transition para que el mouse parallax sea suave */
    transition: transform 0.1s linear;
}

/* Cuando viene de archivo ACF subido por el usuario, aplicamos opacidad sutil */
.ilm-hero--has-custom-iso .ilm-hero__iso {
    opacity: 0.34;
}

@media (prefers-reduced-motion: reduce) {
    .ilm-hero__iso { transition: none; }
}

@media (max-width: 980px) {
    .ilm-hero__iso {
        width: 700px;
        height: 700px;
        opacity: 0.7;
        right: -20%;
        top: 30%;
    }
    .ilm-hero--has-custom-iso .ilm-hero__iso { opacity: 0.45; }
}

/* Glow inferior y grid del hero */
.ilm-hero__grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 80px;
    align-items: center;
    width: 100%;
    position: relative;
    z-index: 3;
}
@media (max-width: 980px) { .ilm-hero__grid { grid-template-columns: 1fr; gap: 50px; } }

.ilm-hero__text h1 { margin: 0 0 32px; }
.ilm-hero__lead {
    font-size: clamp(1.35rem, 1.85vw, 1.7rem);
    color: var(--ilm-text-secondary);
    margin: 0 0 44px;
    max-width: 600px;
    line-height: 1.55;
}
.ilm-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.ilm-hero__image {
    position: relative;
    z-index: 3;
    aspect-ratio: 4/5;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 30px 80px -20px rgba(10, 9, 8, 0.25);
}
.ilm-hero__image img {
    width: 100%; height: 100%; object-fit: cover;
    filter: contrast(1.05) saturate(0.95);
}
.ilm-hero__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(10, 9, 8, 0.55));
    pointer-events: none;
}
.ilm-hero__meta {
    position: absolute;
    bottom: 24px;
    left: 24px;
    right: 24px;
    color: #FFFFFF;
    font-family: 'Manrope', sans-serif;
    font-size: 1.3rem;
    font-weight: 500;
    font-style: italic;
    line-height: 1.4;
    z-index: 2;
}
.ilm-hero__meta::before {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--ilm-grad-yellow-orange);
    margin-bottom: 12px;
}

/* ============================================================
   ¿ES PARA VOS? (Sección 2)
============================================================ */

.ilm-foryou__grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 80px;
    align-items: start;
}
@media (max-width: 880px) { .ilm-foryou__grid { grid-template-columns: 1fr; gap: 40px; } }

.ilm-foryou__list { list-style: none; counter-reset: item; }
.ilm-foryou__item {
    padding: 32px 0;
    border-bottom: 1px solid rgba(10, 9, 8, 0.1);
    display: flex;
    align-items: flex-start;
    gap: 28px;
    counter-increment: item;
}
.ilm-foryou__item:first-child { padding-top: 0; }
.ilm-foryou__item:last-child { border-bottom: none; }
.ilm-foryou__item::before {
    content: counter(item, decimal-leading-zero);
    font-family: 'Manrope', sans-serif;
    font-size: 0.95rem;
    color: var(--ilm-color-orange);
    font-weight: 700;
    flex-shrink: 0;
    padding-top: 6px;
    min-width: 32px;
}
.ilm-foryou__item > div, .ilm-foryou__item p {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    color: var(--ilm-text-main);
    line-height: 1.35;
    font-weight: 500;
}
.ilm-foryou__item strong { color: var(--ilm-color-orange); font-weight: 700; }
.ilm-foryou__note {
    margin-top: 40px;
    font-family: 'Manrope', sans-serif;
    font-style: italic;
    color: var(--ilm-text-secondary);
    font-size: 1.25rem;
    font-weight: 500;
}

/* ============================================================
   QUIÉNES SOMOS (Sección 3)
============================================================ */

.ilm-about__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center;
}
@media (max-width: 880px) { .ilm-about__grid { grid-template-columns: 1fr; gap: 40px; } }

.ilm-about__text h2 { margin-bottom: 32px; }
.ilm-about__text p {
    font-size: 1.3rem;
    margin-bottom: 22px;
    line-height: 1.6;
    color: var(--ilm-text-secondary);
}
.ilm-about__quote {
    font-family: 'Manrope', sans-serif !important;
    font-style: italic;
    font-size: 1.55rem !important;
    color: var(--ilm-text-main) !important;
    margin-top: 32px;
    padding-left: 24px;
    border-left: 3px solid var(--ilm-color-orange);
    font-weight: 500;
    line-height: 1.45;
}

.ilm-about__image-stack {
    position: relative;
    aspect-ratio: 4/5;
}
.ilm-about__img-1, .ilm-about__img-2 {
    position: absolute;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 25px 60px -15px rgba(10, 9, 8, 0.25);
}
.ilm-about__img-1 { width: 72%; aspect-ratio: 3/4; top: 0; right: 0; }
.ilm-about__img-2 { width: 58%; aspect-ratio: 4/3; bottom: 0; left: 0; z-index: 2; }
.ilm-about__img-1 img, .ilm-about__img-2 img {
    width: 100%; height: 100%; object-fit: cover;
    filter: contrast(1.05) saturate(0.92);
}

.ilm-about__years {
    position: absolute;
    bottom: 32%;
    right: -32px;
    background: var(--ilm-grad-warm);
    color: var(--ilm-text-main);
    padding: 28px 32px;
    border-radius: 6px;
    z-index: 3;
    font-family: 'Manrope', sans-serif;
    text-align: center;
    box-shadow: 0 20px 50px -10px rgba(220, 41, 41, 0.4);
}
.ilm-about__years .num {
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 0.9;
    display: block;
    color: var(--ilm-text-main);
}
.ilm-about__years .label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    margin-top: 8px;
}

/* ============================================================
   QUÉ HACEMOS (Sección 4)
============================================================ */

.ilm-what__title { max-width: 800px; margin-bottom: 72px; }
.ilm-what__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
@media (max-width: 720px) { .ilm-what__grid { grid-template-columns: 1fr; } }
.ilm-what__card {
    background: var(--ilm-bg-main);
    padding: 44px 36px;
    border-radius: 6px;
    border: 1px solid #EAE5DA;
    position: relative;
    transition: all 0.3s ease;
    overflow: hidden;
}
.ilm-what__card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 4px;
    background: var(--ilm-grad-warm);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}
.ilm-what__card:hover::before { transform: scaleX(1); }
.ilm-what__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 50px -15px rgba(240, 132, 35, 0.2);
    border-color: rgba(240, 132, 35, 0.3);
}
.ilm-what__num {
    font-family: 'Manrope', sans-serif;
    font-size: 1.15rem;
    color: var(--ilm-color-orange);
    margin-bottom: 18px;
    letter-spacing: 0.08em;
    font-weight: 700;
}
.ilm-what__card h3 { font-size: 2.3rem; margin-bottom: 18px; font-weight: 700; }
.ilm-what__card p { color: var(--ilm-text-secondary); line-height: 1.65; font-size: 1.2rem; }

/* ============================================================
   ETAPAS (Sección 5)
============================================================ */

.ilm-family__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 64px;
}
@media (max-width: 880px) { .ilm-family__header { grid-template-columns: 1fr; gap: 30px; } }
.ilm-family__header p { font-size: 1.3rem; line-height: 1.55; }

.ilm-family__stages {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}

/* Distribución según cantidad de etapas
   1-4 etapas: una fila
   5-6 etapas: 3 por fila (5 = 3+2, 6 = 3+3)
   7-8 etapas: 4 por fila (7 = 4+3, 8 = 4+4)
   9+ etapas: 4 por fila */
.ilm-family__stages .ilm-stage { flex: 0 1 calc((100% - 54px) / 4); min-width: 200px; }
.ilm-family__stages--count-1 .ilm-stage { flex: 0 1 320px; }
.ilm-family__stages--count-2 .ilm-stage { flex: 0 1 calc((100% - 18px) / 2); max-width: 360px; }
.ilm-family__stages--count-3 .ilm-stage { flex: 0 1 calc((100% - 36px) / 3); }
.ilm-family__stages--count-4 .ilm-stage { flex: 0 1 calc((100% - 54px) / 4); }
.ilm-family__stages--count-5 .ilm-stage,
.ilm-family__stages--count-6 .ilm-stage { flex: 0 1 calc((100% - 36px) / 3); }
.ilm-family__stages--count-7 .ilm-stage,
.ilm-family__stages--count-8 .ilm-stage { flex: 0 1 calc((100% - 54px) / 4); }

@media (max-width: 1080px) {
    .ilm-family__stages .ilm-stage,
    .ilm-family__stages--count-4 .ilm-stage,
    .ilm-family__stages--count-7 .ilm-stage,
    .ilm-family__stages--count-8 .ilm-stage { flex: 0 1 calc((100% - 36px) / 3); }
}
@media (max-width: 720px) {
    .ilm-family__stages .ilm-stage,
    .ilm-family__stages--count-3 .ilm-stage,
    .ilm-family__stages--count-4 .ilm-stage,
    .ilm-family__stages--count-5 .ilm-stage,
    .ilm-family__stages--count-6 .ilm-stage,
    .ilm-family__stages--count-7 .ilm-stage,
    .ilm-family__stages--count-8 .ilm-stage { flex: 0 1 calc((100% - 18px) / 2); }
}
@media (max-width: 480px) {
    .ilm-family__stages .ilm-stage,
    .ilm-family__stages--count-2 .ilm-stage,
    .ilm-family__stages--count-3 .ilm-stage,
    .ilm-family__stages--count-4 .ilm-stage,
    .ilm-family__stages--count-5 .ilm-stage,
    .ilm-family__stages--count-6 .ilm-stage,
    .ilm-family__stages--count-7 .ilm-stage,
    .ilm-family__stages--count-8 .ilm-stage { flex: 1 1 100%; max-width: 360px; }
}

.ilm-stage {
    background: var(--ilm-bg-contrast);
    border-radius: 6px;
    padding: 24px 22px 28px;
    transition: all 0.3s ease;
    border: 1px solid #EAE5DA;
}
.ilm-stage:hover {
    transform: translateY(-6px);
    border-color: var(--ilm-color-orange);
    box-shadow: 0 25px 50px -15px rgba(240, 132, 35, 0.25);
}
.ilm-stage__img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 4px;
    margin-bottom: 20px;
    overflow: hidden;
    background: #EAE5DA;
}
.ilm-stage__img img {
    width: 100%; height: 100%; object-fit: cover;
    filter: contrast(1.03) saturate(0.95);
    transition: transform 0.6s ease;
}
.ilm-stage:hover .ilm-stage__img img { transform: scale(1.06); }
.ilm-stage__title { font-size: 1.7rem; margin-bottom: 6px; font-weight: 700; }
.ilm-stage__age {
    display: inline-block;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 14px;
    padding: 6px 14px;
    background: var(--ilm-grad-warm);
    border-radius: 999px;
}
.ilm-stage p { font-size: 1.15rem; line-height: 1.5; color: var(--ilm-text-secondary); }

/* ============================================================
   PRIMERA VISITA (Sección 6)
============================================================ */

.ilm-visit__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 60px;
    margin-bottom: 64px;
}
@media (max-width: 720px) { .ilm-visit__list { grid-template-columns: 1fr; gap: 30px; } }

.ilm-visit__item {
    padding: 28px;
    background: var(--ilm-bg-main);
    border-radius: 6px;
    border: 1px solid #EAE5DA;
    border-top: 4px solid var(--ilm-color-orange);
    transition: all 0.3s ease;
}
.ilm-visit__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px -15px rgba(240, 132, 35, 0.15);
}
.ilm-visit__item h4 { font-size: 1.7rem; margin-bottom: 12px; font-weight: 700; }
.ilm-visit__item p { line-height: 1.55; font-size: 1.2rem; }
.ilm-visit__cta { padding-top: 48px; border-top: 1px solid #EAE5DA; text-align: center; }

/* ============================================================
   PASTORES (Sección 7)
============================================================ */

.ilm-pastors__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
@media (max-width: 880px) { .ilm-pastors__grid { grid-template-columns: 1fr; } }
.ilm-pastors__text h2 { margin-bottom: 24px; }
.ilm-pastors__text > p { font-size: 1.3rem; margin-bottom: 32px; line-height: 1.55; }

.ilm-pastors__list { list-style: none; border-top: 1px solid rgba(10, 9, 8, 0.12); }
.ilm-pastors__list li {
    padding: 20px 0;
    border-bottom: 1px solid rgba(10, 9, 8, 0.12);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.ilm-pastors__list strong {
    font-family: 'Manrope', sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
}
.ilm-pastors__list span {
    font-size: 0.95rem;
    color: var(--ilm-color-orange);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.ilm-pastors__video {
    position: relative;
    aspect-ratio: 9/11;
    background: var(--ilm-text-main);
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 30px 70px -20px rgba(10, 9, 8, 0.3);
}
.ilm-pastors__video img {
    width: 100%; height: 100%; object-fit: cover;
    filter: brightness(0.7);
    transition: filter 0.3s ease;
}
.ilm-pastors__video:hover img { filter: brightness(0.85); }

.ilm-play-button {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 90px; height: 90px;
    background: var(--ilm-grad-warm);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 15px 40px rgba(240, 132, 35, 0.5);
}
.ilm-pastors__video:hover .ilm-play-button { transform: translate(-50%, -50%) scale(1.1); }
.ilm-play-button svg { width: 28px; height: 28px; fill: #FFFFFF; margin-left: 4px; }

.ilm-video-meta {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 32px;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,0.85));
    color: #FFFFFF;
    font-family: 'Manrope', sans-serif;
    font-style: italic;
    font-size: 1.3rem;
    font-weight: 500;
}

/* ============================================================
   AGENDA (Sección 8)
============================================================ */

.ilm-agenda__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 56px;
    flex-wrap: wrap;
    gap: 24px;
}
.ilm-events__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 980px) { .ilm-events__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ilm-events__grid { grid-template-columns: 1fr; } }

.ilm-event-card {
    background: var(--ilm-bg-main);
    border-radius: 6px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    border: 1px solid #EAE5DA;
}
.ilm-event-card:hover {
    transform: translateY(-6px);
    border-color: var(--ilm-color-orange);
    box-shadow: 0 25px 50px -15px rgba(240, 132, 35, 0.25);
}
.ilm-event-card__img { aspect-ratio: 4/3; overflow: hidden; background: #EAE5DA; display: block; }
.ilm-event-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.ilm-event-card:hover .ilm-event-card__img img { transform: scale(1.06); }

.ilm-event-card__body {
    padding: 26px 26px 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.ilm-event-date {
    font-family: 'Manrope', sans-serif;
    font-size: 1.02rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ilm-color-orange);
    font-weight: 700;
    margin-bottom: 14px;
}
.ilm-event-card h3 { font-size: 1.85rem; margin-bottom: 12px; font-weight: 700; }
.ilm-event-card h3 a:hover { color: var(--ilm-color-orange); }
.ilm-event-card p {
    font-size: 1.15rem;
    margin-bottom: 24px;
    flex: 1;
    line-height: 1.5;
}
.ilm-event-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* ============================================================
   MENSAJES (Sección 9)
============================================================ */

#mensajes > .ilm-container > .ilm-fade-in > p,
.ilm-messages__intro {
    font-size: 1.3rem;
    color: var(--ilm-text-secondary);
    margin-bottom: 56px;
    max-width: 680px;
    line-height: 1.55;
}

.ilm-latest-message {
    display: block;
    aspect-ratio: 16/9;
    background: var(--ilm-text-main);
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    margin-bottom: 56px;
    box-shadow: 0 30px 70px -20px rgba(10, 9, 8, 0.3);
}
.ilm-latest-message img {
    width: 100%; height: 100%; object-fit: cover;
    opacity: 0.75;
    transition: opacity 0.3s ease;
}
.ilm-latest-message:hover img { opacity: 0.9; }
.ilm-latest-message .ilm-play-button { width: 110px; height: 110px; }

.ilm-message-info {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 36px 40px;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,0.85));
    color: #FFFFFF;
}
.ilm-message-info .ilm-label {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--ilm-color-yellow);
    margin-bottom: 10px;
    font-weight: 700;
}
.ilm-message-info h3 {
    color: #FFFFFF;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 700;
}

.ilm-messages__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
@media (max-width: 980px) { .ilm-messages__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .ilm-messages__grid { grid-template-columns: 1fr; } }

.ilm-message-thumb {
    display: block;
    aspect-ratio: 16/9;
    background: var(--ilm-text-main);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}
.ilm-message-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.ilm-message-thumb:hover img { transform: scale(1.08); }
.ilm-message-thumb__info {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85));
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #FFFFFF;
}
.ilm-message-thumb__series {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ilm-color-yellow);
    margin-bottom: 4px;
    font-weight: 700;
}
.ilm-message-thumb__title {
    font-family: 'Manrope', sans-serif;
    font-size: 1.25rem;
    line-height: 1.3;
    font-weight: 600;
}

.ilm-messages__cta { text-align: center; margin-top: 48px; }

/* ============================================================
   BLOG (Sección 10)
============================================================ */

.ilm-blog__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 56px;
}
.ilm-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
}
@media (max-width: 880px) { .ilm-blog__grid { grid-template-columns: 1fr; gap: 28px; } }

.ilm-post-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: transform 0.3s ease;
}
.ilm-post-card:hover { transform: translateY(-4px); }
.ilm-post-card__img {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #EAE5DA;
    border-radius: 6px;
}
.ilm-post-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.ilm-post-card:hover .ilm-post-card__img img { transform: scale(1.06); }
.ilm-post-category {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ilm-color-orange);
    font-weight: 700;
}
.ilm-post-card h3 {
    font-family: 'Manrope', sans-serif;
    font-size: 1.8rem;
    line-height: 1.25;
    font-weight: 700;
}
.ilm-post-card p {
    font-size: 1.2rem;
    line-height: 1.55;
}
.ilm-post-meta {
    font-size: 1rem;
    color: #8F897F;
    font-weight: 600;
}

/* ============================================================
   POR QUÉ CONFIAR (Sección 11)
============================================================ */

.ilm-trust__title { max-width: 1000px; margin-bottom: 32px; font-size: clamp(1.8rem, 3.8vw, 3rem); }
.ilm-trust__subtitle { font-size: 1.4rem; margin-bottom: 56px; line-height: 1.5; }
.ilm-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px;
}
@media (max-width: 880px) { .ilm-trust__grid { grid-template-columns: 1fr; gap: 32px; } }
@media (min-width: 881px) and (max-width: 1080px) { .ilm-trust__grid { grid-template-columns: repeat(2, 1fr); } }

.ilm-trust__item {
    position: relative;
    padding: 40px 32px;
    background: var(--ilm-bg-contrast);
    border-radius: 6px;
    border: 1px solid #EAE5DA;
    transition: all 0.3s ease;
}
.ilm-trust__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 50px -15px rgba(240, 132, 35, 0.2);
    border-color: rgba(240, 132, 35, 0.3);
}
.ilm-trust__item::before {
    content: '';
    position: absolute;
    top: 0; left: 32px;
    width: 60px;
    height: 4px;
    background: var(--ilm-grad-warm);
    border-radius: 0 0 4px 4px;
}
.ilm-trust__item h3 {
    font-size: 1.75rem;
    margin: 14px 0 18px;
    font-weight: 700;
}
.ilm-trust__item p { line-height: 1.6; font-size: 1.18rem; }

.ilm-trust__footer {
    margin-top: 56px;
    font-family: 'Manrope', sans-serif;
    font-style: italic;
    font-size: 1.45rem;
    color: var(--ilm-text-main);
    text-align: center;
    font-weight: 500;
}

/* ============================================================
   DÓNDE ESTAMOS (Sección 12)
============================================================ */

.ilm-where__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}
@media (max-width: 880px) { .ilm-where__grid { grid-template-columns: 1fr; gap: 40px; } }

.ilm-where__grid h2 { margin-bottom: 40px; }

.ilm-locations {
    display: flex;
    flex-direction: column;
    margin: 24px 0 32px;
}
.ilm-location {
    text-align: left;
    padding: 24px 0;
    border: none;
    background: transparent;
    border-top: 1px solid rgba(10, 9, 8, 0.12);
    cursor: pointer;
    transition: opacity 0.25s ease, padding-left 0.25s ease;
    width: 100%;
    font-family: inherit;
    position: relative;
    opacity: 0.55;
}
.ilm-location:last-of-type { border-bottom: 1px solid rgba(10, 9, 8, 0.12); }
.ilm-location:hover { opacity: 0.85; }
.ilm-location.is-active {
    opacity: 1;
    padding-left: 20px;
}
.ilm-location.is-active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 60%;
    background: var(--ilm-grad-warm);
    transform: translateY(-50%);
    border-radius: 4px;
}
.ilm-where__ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.ilm-location__label {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ilm-color-orange);
    font-weight: 700;
    margin-bottom: 12px;
    display: block;
}
.ilm-location h3 { font-size: 2.1rem; margin-bottom: 8px; font-weight: 700; }
.ilm-location__address { color: var(--ilm-text-secondary); margin-bottom: 4px; font-size: 1.2rem; }
.ilm-location__time { color: #8F897F; font-size: 1.12rem; font-weight: 600; }

.ilm-where__map {
    aspect-ratio: 4/5;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #EAE5DA;
    background: var(--ilm-bg-main);
}
.ilm-where__map iframe { width: 100%; height: 100%; border: none; }
.ilm-where__placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: #8F897F;
    background: repeating-linear-gradient(45deg, var(--ilm-bg-main) 0, var(--ilm-bg-main) 2px, #EAE5DA 2px, #EAE5DA 4px);
}

/* ============================================================
   CTA FINAL (Sección 13)
============================================================ */

.ilm-final-cta {
    text-align: center;
    padding: clamp(80px, 13vw, 160px) 0;
    position: relative;
    overflow: hidden;
}
.ilm-final-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse at top left, rgba(245, 215, 46, 0.18), transparent 50%),
      radial-gradient(ellipse at bottom right, rgba(220, 41, 41, 0.1), transparent 50%);
    pointer-events: none;
}
.ilm-final-cta > .ilm-container { position: relative; z-index: 2; }
.ilm-final__logo {
    width: clamp(120px, 14vw, 180px);
    height: clamp(120px, 14vw, 180px);
    margin: 0 auto 32px;
    display: block;
}
.ilm-final__logo--img {
    object-fit: contain;
    height: auto;
    max-height: clamp(120px, 14vw, 180px);
}
.ilm-final-cta h2 {
    font-size: clamp(2.5rem, 6vw, 5rem);
    margin-bottom: 28px;
    font-weight: 800;
}
.ilm-final__desc {
    font-size: 1.5rem;
    margin-bottom: 48px;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.55;
}
.ilm-final__signature {
    margin-top: 40px;
    font-family: 'Manrope', sans-serif;
    font-style: italic;
    color: var(--ilm-color-orange);
    font-size: 1.45rem;
    font-weight: 500;
}

/* ============================================================
   FOOTER
============================================================ */

.ilm-footer {
    background: var(--ilm-text-main);
    color: rgba(255, 255, 255, 0.6);
    padding: 80px 0 40px;
}
.ilm-footer a { color: inherit; transition: color 0.2s ease; }
.ilm-footer a:hover { color: var(--ilm-color-yellow); }

.ilm-footer__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 56px;
    margin-bottom: 56px;
}
@media (max-width: 880px) { .ilm-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; } }
@media (max-width: 520px) { .ilm-footer__grid { grid-template-columns: 1fr; } }

.ilm-footer__logo img { height: 50px; width: auto; margin-bottom: 24px; }

.ilm-footer__brand p {
    font-family: 'Manrope', sans-serif;
    font-style: italic;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.55;
    max-width: 360px;
    font-weight: 500;
    font-size: 1.15rem;
}

.ilm-footer__col h4 {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--ilm-color-yellow);
    font-weight: 700;
    margin-bottom: 20px;
}
.ilm-footer__col ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ilm-footer__col li { font-size: 1.1rem; }

.ilm-footer__bottom {
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.35);
}
.ilm-footer__social { display: flex; gap: 14px; }
.ilm-footer__social a {
    width: 40px; height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.55);
    transition: all 0.25s ease;
}
.ilm-footer__social a:hover {
    border-color: var(--ilm-color-yellow);
    color: var(--ilm-color-yellow);
    transform: translateY(-2px);
}
.ilm-footer__social svg { width: 16px; height: 16px; }

/* ============================================================
   WHATSAPP FLOTANTE
============================================================ */

.ilm-wa-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 62px;
    height: 62px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99;
    box-shadow: 0 10px 30px rgba(37, 211, 102, 0.4);
    transition: transform 0.3s ease;
}
.ilm-wa-float:hover { transform: scale(1.08); }
.ilm-wa-float svg { width: 32px; height: 32px; fill: #FFFFFF; }

/* ============================================================
   ARCHIVES Y SINGLES
============================================================ */

.ilm-archive { padding: 60px 0 100px; }
.ilm-archive__header { margin-bottom: 48px; max-width: 800px; }
.ilm-archive__filters {
    display: flex;
    gap: 8px;
    margin-bottom: 56px;
    flex-wrap: wrap;
}
.ilm-filter {
    padding: 10px 20px;
    border-radius: 999px;
    background: var(--ilm-bg-contrast);
    border: 1px solid #EAE5DA;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--ilm-text-secondary);
    transition: all 0.25s ease;
}
.ilm-filter:hover, .ilm-filter.is-active {
    background: var(--ilm-text-main);
    color: #FFFFFF;
    border-color: var(--ilm-text-main);
}

.ilm-pagination {
    margin-top: 56px;
    text-align: center;
}
.ilm-pagination .page-numbers {
    display: inline-block;
    padding: 10px 16px;
    margin: 0 4px;
    border-radius: 6px;
    background: var(--ilm-bg-contrast);
    color: var(--ilm-text-main);
    font-weight: 600;
    transition: all 0.2s ease;
}
.ilm-pagination .page-numbers.current,
.ilm-pagination .page-numbers:hover {
    background: var(--ilm-text-main);
    color: #FFFFFF;
}

.ilm-back-link {
    display: inline-block;
    margin-bottom: 24px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ilm-color-orange);
}
.ilm-back-link--light { color: rgba(255,255,255,0.8); }

.ilm-empty {
    text-align: center;
    padding: 48px;
    background: var(--ilm-bg-contrast);
    border-radius: 6px;
    color: var(--ilm-text-secondary);
}

/* SINGLE */
.ilm-single { padding: 40px 0 80px; }
.ilm-single__header { margin-bottom: 48px; }
.ilm-single__series, .ilm-single__category {
    display: inline-block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--ilm-color-orange);
    font-weight: 700;
    margin-bottom: 18px;
}
.ilm-single__title { margin-bottom: 24px; }
.ilm-single__meta {
    display: flex;
    gap: 24px;
    color: var(--ilm-text-secondary);
    font-size: 0.92rem;
    flex-wrap: wrap;
}
.ilm-single__excerpt {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--ilm-text-main);
    margin: 32px 0;
    font-weight: 500;
}
.ilm-single__video, .ilm-single__hero-img {
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 20px 50px -20px rgba(10,9,8,0.3);
}
.ilm-video-wrap { position: relative; padding-bottom: 56.25%; height: 0; }
.ilm-video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

.ilm-single__content {
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--ilm-text-main);
}
.ilm-single__content p, .ilm-single__content ul, .ilm-single__content ol, .ilm-single__content blockquote {
    margin-bottom: 24px;
}
.ilm-single__content h2 { font-size: 2rem; margin: 48px 0 20px; }
.ilm-single__content h3 { font-size: 1.5rem; margin: 32px 0 16px; }
.ilm-single__content blockquote {
    border-left: 4px solid var(--ilm-color-orange);
    padding-left: 24px;
    font-style: italic;
    font-family: 'Manrope', sans-serif;
    color: var(--ilm-text-main);
}
.ilm-single__content a { color: var(--ilm-color-orange); text-decoration: underline; }
.ilm-single__content img { border-radius: 6px; margin: 24px 0; }

.ilm-single__cta {
    margin-top: 64px;
    padding: 48px;
    background: var(--ilm-bg-contrast);
    border-radius: 6px;
    text-align: center;
}

.ilm-related { margin-top: 80px; }
.ilm-related h2 { margin-bottom: 32px; }
.ilm-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 720px) { .ilm-related__grid { grid-template-columns: 1fr; } }
.ilm-related__card {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ilm-related__img {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 6px;
}
.ilm-related__img img { width: 100%; height: 100%; object-fit: cover; }
.ilm-related__card h4 { font-size: 1.1rem; line-height: 1.3; }

/* ============================================================
   SINGLE PRODUCT (EVENTO)
============================================================ */

.ilm-event-hero {
    position: relative;
    min-height: 60vh;
    display: flex;
    align-items: flex-end;
    padding: 60px 0;
    overflow: hidden;
    background: var(--ilm-text-main);
}
.ilm-event-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.ilm-event-hero__bg img {
    width: 100%; height: 100%; object-fit: cover;
    opacity: 0.5;
}
.ilm-event-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.85));
}
.ilm-event-hero__content {
    position: relative;
    z-index: 2;
    color: #FFFFFF;
    max-width: 800px;
}
.ilm-event-hero__title {
    color: #FFFFFF;
    margin: 16px 0;
}
.ilm-event-hero__meta {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
    font-size: 1.05rem;
    color: rgba(255,255,255,0.9);
    font-weight: 500;
}

.ilm-event-cta-primary {
    background: var(--ilm-bg-contrast);
    padding: 24px 0;
    border-bottom: 1px solid #EAE5DA;
}
.ilm-event-cta-primary__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
.ilm-event-price {
    font-family: 'Manrope', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ilm-text-main);
}

.ilm-event-section { padding: 48px 0; border-bottom: 1px solid #EAE5DA; }
.ilm-event-section:last-child { border-bottom: none; }
.ilm-event-section h2 { margin-bottom: 24px; font-size: 1.8rem; }
.ilm-event-description { font-size: 1.05rem; line-height: 1.75; color: var(--ilm-text-secondary); }

.ilm-event-list { list-style: none; }
.ilm-event-list li {
    padding: 12px 0 12px 36px;
    position: relative;
    font-size: 1.05rem;
    line-height: 1.6;
    border-bottom: 1px solid rgba(10,9,8,0.08);
}
.ilm-event-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--ilm-color-orange);
    font-weight: 700;
}
.ilm-event-list--check li::before { content: '✓'; }

.ilm-event-program__row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(10,9,8,0.08);
}
.ilm-event-program__time { font-weight: 700; color: var(--ilm-color-orange); }

.ilm-event-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
@media (max-width: 720px) { .ilm-event-gallery { grid-template-columns: repeat(2, 1fr); } }
.ilm-event-gallery__item {
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 4px;
}
.ilm-event-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.ilm-event-gallery__item:hover img { transform: scale(1.05); }

.ilm-testimonials {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
@media (max-width: 720px) { .ilm-testimonials { grid-template-columns: 1fr; } }
.ilm-testimonial {
    background: var(--ilm-bg-contrast);
    padding: 28px;
    border-radius: 6px;
    border-left: 4px solid var(--ilm-color-orange);
}
.ilm-testimonial p {
    font-family: 'Manrope', sans-serif;
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 12px;
    color: var(--ilm-text-main);
}
.ilm-testimonial cite {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ilm-color-orange);
    font-style: normal;
}

.ilm-faqs { display: flex; flex-direction: column; gap: 12px; }
.ilm-faq {
    background: var(--ilm-bg-contrast);
    border-radius: 6px;
    border: 1px solid #EAE5DA;
}
.ilm-faq summary {
    cursor: pointer;
    padding: 20px 24px;
    font-weight: 700;
    font-family: 'Manrope', sans-serif;
    font-size: 1.05rem;
    list-style: none;
    position: relative;
    padding-right: 48px;
}
.ilm-faq summary::after {
    content: '+';
    position: absolute;
    right: 24px;
    top: 18px;
    font-size: 1.5rem;
    color: var(--ilm-color-orange);
    transition: transform 0.2s ease;
}
.ilm-faq[open] summary::after { content: '–'; }
.ilm-faq > div {
    padding: 0 24px 20px;
    color: var(--ilm-text-secondary);
    line-height: 1.7;
}

.ilm-event-cta-final {
    text-align: center;
    background: var(--ilm-bg-contrast);
    padding: 64px 32px;
    border-radius: 6px;
    border: none;
}
.ilm-event-cta-final h2 { margin-bottom: 16px; }
.ilm-event-cta-final p { margin-bottom: 32px; font-size: 1.1rem; }

/* ============================================================
   MESSAGE CARDS (ARCHIVE)
============================================================ */

.ilm-message-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: transform 0.3s ease;
}
.ilm-message-card:hover { transform: translateY(-4px); }
.ilm-message-card__img {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 6px;
    background: var(--ilm-text-main);
    position: relative;
}
.ilm-message-card__img img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
.ilm-message-card__img .ilm-play-button { width: 60px; height: 60px; }
.ilm-message-card__img .ilm-play-button svg { width: 18px; height: 18px; }
.ilm-message-card__series {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--ilm-color-orange);
    font-weight: 700;
}
.ilm-message-card__meta {
    font-size: 0.85rem;
    color: #8F897F;
}
.ilm-message-card h3 {
    font-family: 'Manrope', sans-serif;
    font-size: 1.2rem;
    line-height: 1.3;
}

/* ============================================================
   TIENDA / SHOP (productos NO-eventos)
============================================================ */

.ilm-archive__intro {
    font-size: 1.15rem;
    color: var(--ilm-text-secondary);
    line-height: 1.6;
    max-width: 720px;
    margin-top: 16px;
}

.ilm-shop__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-bottom: 56px;
}
@media (max-width: 1080px) { .ilm-shop__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .ilm-shop__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .ilm-shop__grid { grid-template-columns: 1fr; } }

.ilm-shop-card {
    display: flex;
    flex-direction: column;
    background: var(--ilm-bg-main);
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #EAE5DA;
    transition: all 0.3s ease;
}
.ilm-shop-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -15px rgba(10, 9, 8, 0.15);
    border-color: rgba(240, 132, 35, 0.3);
}

.ilm-shop-card__img {
    aspect-ratio: 1/1;
    background: var(--ilm-bg-contrast);
    overflow: hidden;
    position: relative;
    display: block;
}
.ilm-shop-card__img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.5s ease;
}
.ilm-shop-card:hover .ilm-shop-card__img img { transform: scale(1.05); }

.ilm-shop-card__badge {
    position: absolute;
    top: 16px; right: 16px;
    background: var(--ilm-grad-warm);
    color: #FFFFFF;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ilm-shop-card__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}
.ilm-shop-card__body h3 { font-size: 1.25rem; line-height: 1.3; }
.ilm-shop-card__body h3 a { color: inherit; }
.ilm-shop-card__body h3 a:hover { color: var(--ilm-color-orange); }
.ilm-shop-card__price {
    font-family: 'Manrope', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--ilm-text-main);
}
.ilm-shop-card__price del { color: #8F897F; font-weight: 500; margin-right: 6px; font-size: 0.95rem; }
.ilm-shop-card__price ins { text-decoration: none; }
.ilm-shop-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

/* ============================================================
   REFINAMIENTOS GENERALES — Tipografías unificadas
   en singles y archives, alineadas con la home.
   (Agregado en iteración Junio 2026)
============================================================ */

/* --- Back link (← Todos los X) --- */
.ilm-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ilm-color-orange);
    text-decoration: none;
    padding: 10px 22px;
    border: 1.5px solid currentColor;
    border-radius: 999px;
    margin-bottom: 32px;
    transition: all 0.2s ease;
}
.ilm-back-link:hover {
    background: var(--ilm-color-orange);
    color: #FFFFFF;
}
.ilm-back-link--light {
    color: #FFFFFF;
    border-color: rgba(255,255,255,0.5);
}
.ilm-back-link--light:hover {
    background: #FFFFFF;
    color: var(--ilm-text-main);
}

/* --- Categoría pill (single de blog) --- */
.ilm-single__category {
    display: inline-block;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: #FFFFFF;
    background: var(--ilm-grad-warm);
    padding: 8px 18px;
    border-radius: 999px;
    text-decoration: none;
    margin: 14px 0 18px;
}
.ilm-single__category:hover { opacity: 0.9; }

/* --- Serie pill (single de mensaje) --- */
.ilm-single__series {
    display: inline-block;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--ilm-color-orange);
    margin: 14px 0 18px;
    text-decoration: none;
}
.ilm-single__series:hover { color: var(--ilm-color-red); }

/* --- Meta de single con iconos (mensaje) --- */
.ilm-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    align-items: center;
    margin: 28px 0 0;
}
.ilm-single__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 1.1rem;
    color: var(--ilm-text-secondary);
    font-weight: 500;
}
.ilm-meta-icon {
    width: 20px;
    height: 20px;
    color: var(--ilm-color-orange);
    flex-shrink: 0;
}

/* --- Contenido de single (blog, mensaje) --- */
.ilm-single__content {
    font-size: 1.2rem;
    line-height: 1.65;
    color: var(--ilm-text-main);
}
.ilm-single__content p { margin: 0 0 1.4em; font-size: inherit; line-height: inherit; }
.ilm-single__content h2 {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(1.8rem, 2.8vw, 2.4rem);
    line-height: 1.25;
    margin: 1.8em 0 0.6em;
    font-weight: 800;
}
.ilm-single__content h3 {
    font-family: 'Manrope', sans-serif;
    font-size: 1.5rem;
    line-height: 1.3;
    margin: 1.4em 0 0.5em;
    font-weight: 700;
}
.ilm-single__content ul,
.ilm-single__content ol { font-size: inherit; line-height: inherit; padding-left: 1.4em; margin: 0 0 1.4em; }
.ilm-single__content li { margin-bottom: 0.4em; }
.ilm-single__content blockquote {
    border-left: 4px solid var(--ilm-color-orange);
    padding: 6px 0 6px 22px;
    margin: 1.6em 0;
    font-style: italic;
    color: var(--ilm-text-secondary);
}

/* --- Imagen destacada del single (blog) --- */
.ilm-single__hero-img--blog {
    aspect-ratio: 16/9;
    max-height: 560px;
    overflow: hidden;
    border-radius: 6px;
    margin: 36px 0 36px;
}
.ilm-single__hero-img--blog img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============================================================
   ARCHIVE DE MENSAJES — Grid 3 columnas + tipografías más grandes
============================================================ */

.ilm-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    margin-bottom: 56px;
}
@media (max-width: 1024px) { .ilm-archive__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .ilm-archive__grid { grid-template-columns: 1fr; } }

.ilm-message-card h3 {
    font-family: 'Manrope', sans-serif;
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: 700;
    margin-top: 18px;
}
.ilm-message-card h3 a { color: inherit; text-decoration: none; }
.ilm-message-card h3 a:hover { color: var(--ilm-color-orange); }
.ilm-message-card__series {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--ilm-color-orange);
    font-weight: 700;
    margin-bottom: 4px;
}
.ilm-message-card__meta {
    font-size: 1rem;
    color: var(--ilm-text-secondary);
    margin-top: 6px;
}
.ilm-message-card__img {
    aspect-ratio: 16/9;
    border-radius: 4px;
}

/* ============================================================
   SINGLE PRODUCTO EVENTO — Tipografías más grandes
============================================================ */

.ilm-event-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    justify-content: center;
    margin-top: 18px;
}
.ilm-event-hero__meta-item,
.ilm-event-hero__meta span {
    font-size: 1.15rem !important;
    font-weight: 500;
}

.ilm-event-price {
    font-family: 'Manrope', sans-serif;
    font-size: 2rem !important;
    font-weight: 800;
    color: var(--ilm-text-main);
    line-height: 1;
}

.ilm-event-cta-primary__buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
}
@media (max-width: 640px) {
    .ilm-event-cta-primary__buttons { width: 100%; }
    .ilm-event-cta-primary__buttons > a { flex: 1 1 100%; justify-content: center; }
}

.ilm-event-cta-final__buttons {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 8px;
}

.ilm-event-section h2,
.ilm-event-section .ilm-h2 {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(1.8rem, 2.8vw, 2.4rem) !important;
    line-height: 1.25;
    font-weight: 800;
    margin-bottom: 24px;
}

.ilm-event-list { list-style: none; padding: 0; margin: 0; }
.ilm-event-list li {
    font-size: 1.15rem !important;
    line-height: 1.55;
    padding: 14px 0;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.ilm-event-program__row,
.ilm-event-program > div {
    display: flex;
    gap: 32px;
    align-items: baseline;
    padding: 18px 0;
    border-bottom: 1px solid rgba(10,9,8,0.08);
}
.ilm-event-program__time {
    font-family: 'Manrope', sans-serif;
    font-size: 1.4rem !important;
    font-weight: 700;
    color: var(--ilm-color-orange);
    min-width: 80px;
    flex-shrink: 0;
}
.ilm-event-program__activity {
    font-size: 1.15rem !important;
    line-height: 1.5;
}

.ilm-faq summary {
    font-size: 1.2rem !important;
    font-weight: 600;
    padding: 18px 0;
    cursor: pointer;
}
.ilm-faq[open] summary { color: var(--ilm-color-orange); }
.ilm-faq > div {
    font-size: 1.1rem;
    line-height: 1.6;
    padding: 6px 0 18px;
    color: var(--ilm-text-secondary);
}

.ilm-testimonial p {
    font-size: 1.15rem !important;
    line-height: 1.55;
    font-style: italic;
}
.ilm-testimonial cite,
.ilm-testimonial__author {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--ilm-color-orange);
    margin-top: 14px;
    display: block;
    font-style: normal;
}

/* "Sobre el evento" descripción */
.ilm-event-section p,
.ilm-event-description p {
    font-size: 1.15rem;
    line-height: 1.65;
}

/* ============================================================
   SINGLE PRODUCTO TIENDA (no-evento) — Custom layout
============================================================ */

.ilm-shop-single {
    padding: 40px 0 80px;
}
.ilm-shop-single__breadcrumbs {
    margin-bottom: 32px;
    font-size: 0.95rem;
    color: var(--ilm-text-secondary);
}
.ilm-shop-single__breadcrumbs a {
    color: inherit;
    text-decoration: none;
}
.ilm-shop-single__breadcrumbs a:hover { color: var(--ilm-color-orange); }
.ilm-breadcrumb-sep { margin: 0 6px; opacity: 0.4; }

.ilm-shop-single__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    margin-bottom: 80px;
}
@media (max-width: 900px) { .ilm-shop-single__grid { grid-template-columns: 1fr; gap: 40px; } }

.ilm-shop-single__main-img {
    aspect-ratio: 1/1;
    background: var(--ilm-bg-contrast);
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}
.ilm-shop-single__main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ilm-shop-single__badge {
    position: absolute;
    top: 20px; left: 20px;
    background: var(--ilm-grad-warm);
    color: #FFFFFF;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.ilm-shop-single__thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 12px;
}
.ilm-shop-single__thumb {
    aspect-ratio: 1/1;
    background: var(--ilm-bg-contrast);
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
}
.ilm-shop-single__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ilm-shop-single__title {
    font-size: clamp(2.4rem, 4.5vw, 3.6rem) !important;
    line-height: 1.1;
    margin-bottom: 18px;
}
.ilm-shop-single__price {
    font-family: 'Manrope', sans-serif;
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--ilm-text-main);
    margin-bottom: 22px;
}
.ilm-shop-single__price del { color: #8F897F; font-weight: 500; margin-right: 10px; font-size: 1.5rem; }
.ilm-shop-single__price ins { text-decoration: none; }
.ilm-shop-single__short-desc {
    font-size: 1.2rem;
    line-height: 1.6;
    color: var(--ilm-text-secondary);
    margin-bottom: 28px;
}

/* Form de add-to-cart Woo: estilizar selector cantidad + botón */
.ilm-shop-single__form .quantity {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid #EAE5DA;
    border-radius: 999px;
    overflow: hidden;
    margin-right: 14px;
    vertical-align: middle;
}
.ilm-shop-single__form .quantity input.qty {
    width: 56px;
    border: none;
    background: transparent;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 12px 4px;
    -moz-appearance: textfield;
}
.ilm-shop-single__form .quantity input.qty::-webkit-outer-spin-button,
.ilm-shop-single__form .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.ilm-shop-single__form button.single_add_to_cart_button,
.ilm-shop-single__form .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 16px 32px !important;
    background: var(--ilm-grad-warm) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 8px 24px -8px rgba(240, 132, 35, 0.5);
    vertical-align: middle;
}
.ilm-shop-single__form button.single_add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px -8px rgba(240, 132, 35, 0.7);
}

.ilm-shop-single__meta {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #EAE5DA;
}
.ilm-shop-single__meta-item {
    font-size: 1rem;
    color: var(--ilm-text-secondary);
}
.ilm-shop-single__meta-label { font-weight: 700; color: var(--ilm-text-main); margin-right: 8px; }
.ilm-shop-single__meta a { color: var(--ilm-color-orange); text-decoration: none; }
.ilm-shop-single__meta a:hover { text-decoration: underline; }

.ilm-shop-single__description {
    margin-bottom: 80px;
    padding-top: 40px;
    border-top: 1px solid #EAE5DA;
}
.ilm-shop-single__description-title { margin-bottom: 24px; }
.ilm-shop-single__description-content {
    font-size: 1.2rem;
    line-height: 1.65;
    color: var(--ilm-text-main);
    max-width: 800px;
}
.ilm-shop-single__description-content p { margin: 0 0 1.4em; }

.ilm-shop-single__related {
    padding-top: 40px;
    border-top: 1px solid #EAE5DA;
}
.ilm-shop-single__related h2 { margin-bottom: 36px; }

/* ============================================================
   WOOCOMMERCE: CARRITO, CHECKOUT, GRACIAS
   Personalización CSS sobre clases nativas
============================================================ */

.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-order-received {
    padding: 60px 0 80px;
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-order-received .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Tipografías base de páginas Woo */
.woocommerce-cart h1,
.woocommerce-cart h2,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-order-received h1,
.woocommerce-order-received h2 {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em;
}
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-order-received h1 {
    font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
    margin-bottom: 36px;
}
.woocommerce-cart h2,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-order-received h2 {
    font-size: clamp(1.6rem, 2.4vw, 2rem) !important;
    margin: 32px 0 18px !important;
}

.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-order-received,
.woocommerce-cart p,
.woocommerce-checkout p,
.woocommerce-order-received p,
.woocommerce-cart td,
.woocommerce-cart th,
.woocommerce-cart label,
.woocommerce-checkout label {
    font-size: 1.1rem;
    line-height: 1.55;
}

/* Tabla del carrito */
.woocommerce table.shop_table {
    border: none;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 28px;
}
.woocommerce table.shop_table th {
    background: var(--ilm-bg-soft);
    color: var(--ilm-text-main);
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 18px 14px;
    border-bottom: 1.5px solid #EAE5DA;
}
.woocommerce table.shop_table td {
    padding: 22px 14px;
    border-bottom: 1px solid #EAE5DA;
    vertical-align: middle;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none; }
.woocommerce table.shop_table img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
}
.woocommerce table.shop_table .product-name a {
    color: var(--ilm-text-main);
    font-weight: 700;
    text-decoration: none;
    font-size: 1.1rem;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--ilm-color-orange); }

/* Botones Woo unificados al estilo del sitio */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
#place_order {
    background: var(--ilm-grad-warm) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 14px 30px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: 0 8px 24px -8px rgba(240, 132, 35, 0.5);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
#place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px -8px rgba(240, 132, 35, 0.7);
}
.woocommerce a.button.wc-backward,
.woocommerce a.button.alt-button,
.woocommerce-cart .return-to-shop a {
    background: transparent !important;
    color: var(--ilm-color-orange) !important;
    border: 1.5px solid var(--ilm-color-orange) !important;
    box-shadow: none !important;
}
.woocommerce-cart .actions .button {
    background: var(--ilm-bg-soft) !important;
    color: var(--ilm-text-main) !important;
    box-shadow: none !important;
}

/* Inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
    border: 1.5px solid #EAE5DA !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 1.05rem !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    height: auto !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--ilm-color-orange) !important;
    outline: none;
}

/* Totales del carrito */
.cart_totals h2,
.woocommerce-checkout-review-order h3 { color: var(--ilm-text-main); }
.cart_totals table tr.order-total td,
.woocommerce-checkout-review-order .order-total td {
    font-size: 1.4rem !important;
    font-weight: 800;
    color: var(--ilm-text-main);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 6px !important;
    padding: 18px 22px !important;
    font-size: 1.05rem !important;
    border-top: none !important;
    border-left: 4px solid var(--ilm-color-orange) !important;
    background: var(--ilm-bg-soft) !important;
    color: var(--ilm-text-main) !important;
    margin-bottom: 28px !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--ilm-color-orange) !important; }
.woocommerce-error { border-left-color: #DC2929 !important; }
.woocommerce-error::before { color: #DC2929 !important; }

/* Página de "gracias" */
.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-size: 1.3rem !important;
    color: var(--ilm-text-main);
    margin-bottom: 32px;
    font-weight: 600;
}
.woocommerce-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 18px;
    list-style: none;
    padding: 28px;
    background: var(--ilm-bg-soft);
    border-radius: 6px;
    margin: 24px 0 40px;
}
.woocommerce-order-received .woocommerce-order-overview li {
    border-right: none !important;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ilm-text-secondary);
}
.woocommerce-order-received .woocommerce-order-overview li strong {
    display: block;
    margin-top: 6px;
    font-size: 1.2rem;
    color: var(--ilm-text-main);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
}

/* ============================================================
   BOTÓN ALT — Quiero consultar (variante outline secundaria)
============================================================ */
.ilm-btn-text--alt {
    color: var(--ilm-text-main) !important;
    opacity: 0.7;
}
.ilm-btn-text--alt:hover { opacity: 1; color: var(--ilm-color-orange) !important; }

/* ============================================================
   PATCH FINAL — Junio 2026
   Estos selectores tienen máxima especificidad y deben ir
   al final del archivo. Resuelven:
   - Tipografías que quedaron chicas en singles/eventos/blog/mensaje
   - Flecha de .ilm-event-list que cae encima del texto
   - Checkout que se ve nativo
============================================================ */

/* ---- ARREGLO FLECHA DE .ilm-event-list (revertir display:flex) ---- */
.ilm-event-section .ilm-event-list { list-style: none; padding: 0; margin: 0; }
.ilm-event-section .ilm-event-list li {
    display: block !important;       /* revierte el flex que rompía el layout */
    position: relative !important;
    padding: 16px 0 16px 40px !important;
    font-size: 1.2rem !important;
    line-height: 1.6 !important;
    border-bottom: 1px solid rgba(10,9,8,0.08);
    gap: 0 !important;
}
.ilm-event-section .ilm-event-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    top: 16px;                        /* alinea con padding-top del li */
    color: var(--ilm-color-orange);
    font-weight: 800;
    font-size: 1.2rem;
}
.ilm-event-section .ilm-event-list--check li::before { content: '✓'; }

/* ---- SINGLE EVENTO: tipografías subidas con max specificity ---- */
body.single-product .ilm-event-hero__meta,
.ilm-event-hero .ilm-event-hero__meta {
    gap: 32px;
    margin-top: 22px;
}
body.single-product .ilm-event-hero__meta span,
body.single-product .ilm-event-hero__meta-item,
.ilm-event-hero .ilm-event-hero__meta span {
    font-size: 1.25rem !important;
    font-weight: 500;
    color: #FFFFFF;
}

body.single-product .ilm-event-price,
.ilm-event-cta-primary .ilm-event-price {
    font-size: 2.2rem !important;
    font-weight: 800;
}

body.single-product .ilm-event-section h2,
body.single-product .ilm-event-section .ilm-h2,
.ilm-event-section h2 {
    font-size: clamp(2rem, 3.2vw, 2.6rem) !important;
    line-height: 1.2 !important;
    font-weight: 800;
    margin-bottom: 28px !important;
}

body.single-product .ilm-event-section p,
body.single-product .ilm-event-description,
body.single-product .ilm-event-description p,
.ilm-event-section .ilm-event-description {
    font-size: 1.25rem !important;
    line-height: 1.65 !important;
    color: var(--ilm-text-main);
}

/* Programa: hora + actividad */
body.single-product .ilm-event-program__row,
body.single-product .ilm-event-program > div {
    padding: 22px 0 !important;
}
body.single-product .ilm-event-program__time {
    font-size: 1.5rem !important;
    font-weight: 800;
    color: var(--ilm-color-orange);
}
body.single-product .ilm-event-program__activity {
    font-size: 1.2rem !important;
    line-height: 1.5;
}

/* FAQ */
body.single-product .ilm-faq summary {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    padding: 22px 0 !important;
}
body.single-product .ilm-faq > div,
body.single-product .ilm-faq[open] > div {
    font-size: 1.2rem !important;
    line-height: 1.65 !important;
    padding: 4px 0 22px !important;
}

/* Testimonios */
body.single-product .ilm-testimonial,
body.single-product .ilm-testimonial--card {
    padding: 26px 28px !important;
}
body.single-product .ilm-testimonial p {
    font-size: 1.25rem !important;
    line-height: 1.55 !important;
    font-style: italic;
}
body.single-product .ilm-testimonial cite,
body.single-product .ilm-testimonial__author {
    font-size: 0.95rem !important;
    margin-top: 16px !important;
}

/* "¿Te sumás?" CTA final */
body.single-product .ilm-event-cta-final p {
    font-size: 1.3rem !important;
    line-height: 1.55 !important;
    margin-bottom: 28px;
}

/* ---- SINGLE MENSAJE Y SINGLE BLOG: contenido del artículo ---- */
.ilm-single .ilm-single__content,
.ilm-single--mensaje .ilm-single__content,
.ilm-single--blog .ilm-single__content {
    font-size: 1.35rem !important;
    line-height: 1.7 !important;
    color: var(--ilm-text-main);
}
.ilm-single .ilm-single__content p,
.ilm-single .ilm-single__content li {
    font-size: 1.35rem !important;
    line-height: 1.7 !important;
    margin: 0 0 1.4em;
}
.ilm-single .ilm-single__content h2 {
    font-size: clamp(2rem, 3vw, 2.6rem) !important;
    margin: 2em 0 0.7em !important;
    font-weight: 800;
}
.ilm-single .ilm-single__content h3 {
    font-size: clamp(1.6rem, 2.2vw, 1.9rem) !important;
    margin: 1.6em 0 0.6em !important;
    font-weight: 700;
}
.ilm-single .ilm-single__content blockquote {
    font-size: 1.35rem !important;
    border-left: 4px solid var(--ilm-color-orange);
    padding: 8px 0 8px 24px;
    margin: 1.8em 0;
    font-style: italic;
    color: var(--ilm-text-secondary);
}

/* Meta del single de mensaje */
.ilm-single--mensaje .ilm-single__meta-item,
.ilm-single .ilm-single__meta-item {
    font-size: 1.2rem !important;
}
.ilm-single .ilm-meta-icon {
    width: 22px;
    height: 22px;
}

/* ---- ARCHIVE DEL BLOG: estilos correctos ---- */
.ilm-archive--blog .ilm-archive__header { margin-bottom: 48px; }
.ilm-archive--blog .ilm-archive__intro {
    font-size: 1.2rem;
    line-height: 1.6;
    color: var(--ilm-text-secondary);
    max-width: 700px;
    margin-top: 18px;
}
.ilm-archive--blog .ilm-blog__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px;
    margin-bottom: 64px;
}
@media (max-width: 1024px) { .ilm-archive--blog .ilm-blog__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px)  { .ilm-archive--blog .ilm-blog__grid { grid-template-columns: 1fr !important; } }

.ilm-archive--blog .ilm-post-card { gap: 14px; }
.ilm-archive--blog .ilm-post-card__img {
    aspect-ratio: 16/10 !important;
    max-height: 320px !important;
    border-radius: 6px;
    overflow: hidden;
    background: #EAE5DA;
}
.ilm-archive--blog .ilm-post-card__img img {
    width: 100%; height: 100%; object-fit: cover;
}
.ilm-archive--blog .ilm-post-card h3 {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    font-weight: 700;
    margin-top: 4px;
}
.ilm-archive--blog .ilm-post-card p {
    font-size: 1.1rem !important;
    line-height: 1.55;
    color: var(--ilm-text-secondary);
}
.ilm-archive--blog .ilm-post-category {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--ilm-color-orange);
    font-weight: 800;
}

/* Filtros de categoría */
.ilm-archive__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}
.ilm-filter {
    padding: 10px 22px;
    border: 1.5px solid #EAE5DA;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ilm-text-secondary);
    text-decoration: none;
    transition: all 0.2s ease;
}
.ilm-filter:hover { border-color: var(--ilm-color-orange); color: var(--ilm-color-orange); }
.ilm-filter.is-active {
    background: var(--ilm-text-main);
    color: #FFFFFF;
    border-color: var(--ilm-text-main);
}

/* ---- WOOCOMMERCE CHECKOUT: específico ---- */
body.woocommerce-checkout,
body.woocommerce-page.woocommerce-checkout,
.woocommerce-page.woocommerce-checkout {
    background: #FFFFFF;
}
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout main,
body.woocommerce-checkout .entry-content {
    padding: 60px 24px 100px !important;
    max-width: 1240px;
    margin: 0 auto;
}

/* Layout 2 columnas del checkout */
body.woocommerce-checkout .woocommerce-checkout {
    display: grid;
    grid-template-columns: 1fr 460px;
    gap: 56px;
    align-items: start;
}
@media (max-width: 980px) {
    body.woocommerce-checkout .woocommerce-checkout {
        grid-template-columns: 1fr;
    }
}

body.woocommerce-checkout #customer_details {
    width: 100% !important;
    float: none !important;
}
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
    background: var(--ilm-bg-soft);
    padding: 28px;
    border-radius: 6px;
}

body.woocommerce-checkout h3 {
    font-family: 'Manrope', sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 800 !important;
    margin: 0 0 24px !important;
    line-height: 1.2 !important;
}

body.woocommerce-checkout label,
body.woocommerce-checkout .form-row label {
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    display: block !important;
    color: var(--ilm-text-main) !important;
}

body.woocommerce-checkout .form-row {
    margin-bottom: 18px !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1.5px solid #EAE5DA !important;
    border-radius: 6px !important;
    font-size: 1.05rem !important;
    background: #FFFFFF !important;
    height: auto !important;
    line-height: 1.4 !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.4 !important;
    padding: 0 !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 14px !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
    background: transparent !important;
    border-bottom: 1px solid rgba(10,9,8,0.08) !important;
    padding: 14px 0 !important;
    font-size: 1.05rem !important;
}
body.woocommerce-checkout .order-total td,
body.woocommerce-checkout .order-total th {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    padding-top: 22px !important;
}

body.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 0 !important;
    margin-top: 24px;
}
body.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    margin-bottom: 24px;
}
body.woocommerce-checkout #payment ul.payment_methods li {
    padding: 14px 16px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #EAE5DA !important;
    border-radius: 6px !important;
    margin-bottom: 10px !important;
    font-size: 1.05rem;
}
body.woocommerce-checkout #payment div.payment_box {
    background: var(--ilm-bg-soft) !important;
    padding: 16px 18px !important;
    margin-top: 10px !important;
    font-size: 0.98rem;
    line-height: 1.5;
    border-radius: 4px;
}
body.woocommerce-checkout #payment div.payment_box::before { display: none !important; }

body.woocommerce-checkout #place_order {
    width: 100% !important;
    padding: 18px 32px !important;
    font-size: 1.15rem !important;
    margin-top: 18px;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: 0.95rem !important;
    color: var(--ilm-text-secondary);
    margin: 20px 0;
}

/* Login form arriba del checkout */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--ilm-bg-soft) !important;
    border-left: 4px solid var(--ilm-color-orange) !important;
    padding: 16px 20px !important;
    border-radius: 6px;
    font-size: 1rem !important;
    margin-bottom: 24px !important;
}

/* ============================================================
   CHECKOUT Y CART — Templates overrideados de WooCommerce
   (controlamos el HTML, así que el CSS es predecible)
   Path templates: ilm-theme/woocommerce/checkout/form-checkout.php
                   ilm-theme/woocommerce/cart/cart.php
============================================================ */

/* ---- CHECKOUT ---- */

.ilm-checkout {
    padding: 60px 0 100px;
    background: #FFFFFF;
}
.ilm-checkout .ilm-container {
    max-width: 1240px;
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
}
.ilm-checkout__header {
    margin-bottom: 48px;
}
.ilm-checkout__title {
    margin-bottom: 12px !important;
}
.ilm-checkout__subtitle {
    font-size: 1.2rem;
    color: var(--ilm-text-secondary);
    line-height: 1.5;
    margin: 0;
}

/* Layout 2 columnas */
.ilm-checkout__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 440px;
    gap: 56px;
    align-items: start;
}
@media (max-width: 980px) {
    .ilm-checkout__layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

.ilm-checkout__col--main { min-width: 0; }
.ilm-checkout__col--aside { min-width: 0; }

/* Resetear col2-set / col-1 / col-2 que Woo mete por dentro */
.ilm-checkout__form .col2-set,
.ilm-checkout__customer .col2-set {
    display: block !important;
    width: 100% !important;
}
.ilm-checkout__form .col-1,
.ilm-checkout__form .col-2,
.ilm-checkout__customer .col-1,
.ilm-checkout__customer .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

/* Secciones (billing / shipping) */
.ilm-checkout__section {
    margin-bottom: 36px;
}
.ilm-checkout__form h3 {
    font-family: 'Manrope', sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin: 0 0 24px !important;
    color: var(--ilm-text-main) !important;
    border: none !important;
    padding: 0 !important;
}

/* Form rows */
.ilm-checkout__form .form-row {
    margin-bottom: 18px !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
}
.ilm-checkout__form .form-row-first,
.ilm-checkout__form .form-row-last {
    width: calc(50% - 8px) !important;
    display: inline-block !important;
    vertical-align: top;
}
.ilm-checkout__form .form-row-first { margin-right: 12px !important; }
@media (max-width: 640px) {
    .ilm-checkout__form .form-row-first,
    .ilm-checkout__form .form-row-last {
        width: 100% !important;
        margin-right: 0 !important;
        display: block !important;
    }
}

.ilm-checkout__form .form-row label,
.ilm-checkout__form label {
    display: block !important;
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    color: var(--ilm-text-main) !important;
    margin-bottom: 8px !important;
}
.ilm-checkout__form .form-row label .required,
.ilm-checkout__form label .required { color: var(--ilm-color-red); }

.ilm-checkout__form input[type="text"],
.ilm-checkout__form input[type="email"],
.ilm-checkout__form input[type="tel"],
.ilm-checkout__form input[type="number"],
.ilm-checkout__form input[type="password"],
.ilm-checkout__form textarea,
.ilm-checkout__form select,
.ilm-checkout__form .input-text {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1.5px solid #EAE5DA !important;
    border-radius: 6px !important;
    font-size: 1.05rem !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    background: #FFFFFF !important;
    color: var(--ilm-text-main) !important;
    box-sizing: border-box !important;
    height: auto !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
.ilm-checkout__form input[type="text"]:focus,
.ilm-checkout__form input[type="email"]:focus,
.ilm-checkout__form input[type="tel"]:focus,
.ilm-checkout__form textarea:focus,
.ilm-checkout__form select:focus,
.ilm-checkout__form .input-text:focus {
    border-color: var(--ilm-color-orange) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(240, 132, 35, 0.12) !important;
}

/* select2 (selector país/provincia) */
.ilm-checkout__form .select2-container--default .select2-selection--single {
    height: 50px !important;
    padding: 0 !important;
    border: 1.5px solid #EAE5DA !important;
    border-radius: 6px !important;
    background: #FFFFFF !important;
}
.ilm-checkout__form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 48px !important;
    padding: 0 16px !important;
    font-size: 1.05rem !important;
    color: var(--ilm-text-main) !important;
}
.ilm-checkout__form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
    right: 14px !important;
}

/* Sidebar resumen */
.ilm-checkout__summary {
    background: var(--ilm-bg-soft);
    padding: 28px 26px;
    border-radius: 10px;
    position: sticky;
    top: 120px;
}
.ilm-checkout__summary-title {
    font-family: 'Manrope', sans-serif;
    font-size: 1.5rem !important;
    font-weight: 800;
    margin: 0 0 20px !important;
    color: var(--ilm-text-main);
}

/* Tabla del resumen (productos) */
.ilm-checkout__review table.shop_table {
    width: 100%;
    background: transparent !important;
    border: none !important;
    border-collapse: collapse;
    margin: 0 0 20px !important;
}
.ilm-checkout__review table.shop_table thead th {
    display: none;
}
.ilm-checkout__review table.shop_table tbody tr {
    border-bottom: 1px solid rgba(10,9,8,0.08);
}
.ilm-checkout__review table.shop_table td,
.ilm-checkout__review table.shop_table th {
    background: transparent !important;
    padding: 14px 0 !important;
    border: none !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    color: var(--ilm-text-main);
}
.ilm-checkout__review table.shop_table .product-name {
    font-weight: 600;
    text-align: left;
}
.ilm-checkout__review table.shop_table .product-total {
    text-align: right;
    font-weight: 700;
    white-space: nowrap;
}
.ilm-checkout__review table.shop_table tfoot th,
.ilm-checkout__review table.shop_table tfoot td {
    padding: 14px 0 !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
}
.ilm-checkout__review table.shop_table .order-total th,
.ilm-checkout__review table.shop_table .order-total td {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    padding-top: 18px !important;
    color: var(--ilm-text-main);
}

/* Métodos de pago */
.ilm-checkout__review #payment,
.ilm-checkout__review .woocommerce-checkout-payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 8px !important;
}
.ilm-checkout__review #payment ul.payment_methods {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    list-style: none;
}
.ilm-checkout__review #payment ul.payment_methods li {
    background: #FFFFFF !important;
    border: 1.5px solid #EAE5DA !important;
    border-radius: 6px !important;
    padding: 14px 16px !important;
    margin: 0 0 10px !important;
    list-style: none !important;
    font-size: 1rem !important;
}
.ilm-checkout__review #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--ilm-color-orange) !important;
    background: #FFFCF7 !important;
}
.ilm-checkout__review #payment ul.payment_methods li input[type="radio"] {
    margin-right: 8px;
    vertical-align: middle;
}
.ilm-checkout__review #payment ul.payment_methods li label {
    display: inline !important;
    font-weight: 600 !important;
    margin: 0 !important;
    cursor: pointer;
}
.ilm-checkout__review #payment ul.payment_methods li .payment_box {
    background: var(--ilm-bg-soft) !important;
    padding: 14px 16px !important;
    margin-top: 12px !important;
    border-radius: 6px !important;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--ilm-text-secondary);
}
.ilm-checkout__review #payment .payment_box::before { display: none !important; }

/* Aviso si no hay métodos de pago */
.ilm-checkout__review .woocommerce-notice--info,
.ilm-checkout__review .woocommerce-notice {
    background: var(--ilm-bg-soft) !important;
    border-left: 4px solid var(--ilm-color-orange) !important;
    padding: 14px 18px !important;
    border-radius: 6px !important;
    font-size: 0.98rem !important;
    line-height: 1.5 !important;
    color: var(--ilm-text-main) !important;
    margin: 8px 0 16px !important;
    word-wrap: normal !important;
    white-space: normal !important;
}

/* Términos y condiciones */
.ilm-checkout__review .woocommerce-terms-and-conditions-wrapper {
    font-size: 0.95rem !important;
    color: var(--ilm-text-secondary);
    margin: 16px 0;
}
.ilm-checkout__review .woocommerce-terms-and-conditions-wrapper label { display: inline !important; font-weight: 500 !important; }
.ilm-checkout__review input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px;
    accent-color: var(--ilm-color-orange);
    vertical-align: middle;
}

/* Botón "Realizar el pedido" */
.ilm-checkout__review #place_order,
.ilm-checkout__review button[name="woocommerce_checkout_place_order"] {
    width: 100% !important;
    display: block !important;
    padding: 18px 28px !important;
    background: var(--ilm-grad-warm) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
    box-shadow: 0 8px 24px -8px rgba(240, 132, 35, 0.5);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-top: 18px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    min-height: 56px;
}
.ilm-checkout__review #place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px -8px rgba(240, 132, 35, 0.7);
}

/* Login form + cupón arriba del checkout */
.ilm-checkout .woocommerce-form-login-toggle .woocommerce-info,
.ilm-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--ilm-bg-soft) !important;
    border: none !important;
    border-left: 4px solid var(--ilm-color-orange) !important;
    border-radius: 6px;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
    font-size: 1rem !important;
    color: var(--ilm-text-main) !important;
}
.ilm-checkout .woocommerce-form-login-toggle .woocommerce-info a,
.ilm-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: var(--ilm-color-orange) !important;
    text-decoration: underline;
    font-weight: 600;
}
.ilm-checkout .woocommerce-form-coupon {
    background: var(--ilm-bg-soft);
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 28px;
}
.ilm-checkout .woocommerce-form-coupon p { margin: 0 0 12px; }
.ilm-checkout .woocommerce-form-coupon .form-row-first { width: calc(70% - 8px) !important; }
.ilm-checkout .woocommerce-form-coupon .form-row-last { width: calc(30% - 4px) !important; }

/* Errores */
.ilm-checkout .woocommerce-error,
.ilm-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error {
    background: #FFF5F5 !important;
    border-left: 4px solid var(--ilm-color-red) !important;
    color: var(--ilm-text-main) !important;
    padding: 16px 20px !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    margin-bottom: 24px !important;
    list-style: none !important;
}
.ilm-checkout .woocommerce-error li::before { display: none; }

/* ============================================================
   CART (Carrito)
============================================================ */

.ilm-cart {
    padding: 60px 0 100px;
    background: #FFFFFF;
}
.ilm-cart .ilm-container {
    max-width: 1240px;
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
}
.ilm-cart__header { margin-bottom: 48px; }
.ilm-cart__title { margin-bottom: 12px !important; }
.ilm-cart__subtitle {
    font-size: 1.2rem;
    color: var(--ilm-text-secondary);
    line-height: 1.5;
    margin: 0;
}

.ilm-cart__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 56px;
    align-items: start;
}
@media (max-width: 980px) {
    .ilm-cart__layout { grid-template-columns: 1fr; gap: 32px; }
}

.ilm-cart__col--main { min-width: 0; }

/* Tabla de productos */
.ilm-cart__table {
    width: 100% !important;
    background: #FFFFFF !important;
    border: 1px solid #EAE5DA !important;
    border-radius: 10px !important;
    border-collapse: separate !important;
    overflow: hidden;
    margin: 0 0 28px !important;
}
.ilm-cart__table thead tr { background: var(--ilm-bg-soft); }
.ilm-cart__table thead th {
    padding: 16px 14px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ilm-text-main) !important;
    text-align: left;
    border: none !important;
    border-bottom: 1.5px solid #EAE5DA !important;
}
.ilm-cart__table tbody tr {
    border-bottom: 1px solid #EAE5DA;
}
.ilm-cart__table tbody tr:last-child { border-bottom: none; }
.ilm-cart__table tbody td {
    padding: 22px 14px !important;
    vertical-align: middle !important;
    background: transparent !important;
    border: none !important;
    font-size: 1.05rem !important;
    color: var(--ilm-text-main);
}
.ilm-cart__table tbody td.product-thumbnail { width: 100px; padding-left: 18px !important; }
.ilm-cart__table tbody td.product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}
.ilm-cart__table tbody td.product-name a {
    color: var(--ilm-text-main) !important;
    font-weight: 700;
    text-decoration: none;
    font-size: 1.1rem;
}
.ilm-cart__table tbody td.product-name a:hover { color: var(--ilm-color-orange) !important; }
.ilm-cart__remove {
    display: inline-block;
    margin-top: 8px;
    color: var(--ilm-color-red) !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    font-weight: 600;
    background: none !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    border: none !important;
}
.ilm-cart__remove:hover { color: var(--ilm-text-main) !important; }
.ilm-cart__table tbody td.product-price,
.ilm-cart__table tbody td.product-subtotal {
    font-weight: 600;
}
.ilm-cart__table tbody td.product-subtotal { font-weight: 700; font-size: 1.1rem; }

/* Selector de cantidad */
.ilm-cart__table .quantity {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid #EAE5DA;
    border-radius: 999px;
    overflow: hidden;
    background: #FFFFFF;
}
.ilm-cart__table .quantity input.qty {
    width: 64px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    font-weight: 600;
    padding: 10px 6px !important;
    height: auto !important;
    -moz-appearance: textfield;
}
.ilm-cart__table .quantity input.qty::-webkit-outer-spin-button,
.ilm-cart__table .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Fila de actions (cupón + actualizar) */
.ilm-cart__table .actions {
    background: var(--ilm-bg-soft) !important;
    padding: 22px !important;
    border-top: 1.5px solid #EAE5DA;
}
.ilm-cart__coupon {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.ilm-cart__coupon input[type="text"] {
    border: 1.5px solid #EAE5DA !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    font-size: 1rem !important;
    min-width: 240px;
    background: #FFFFFF !important;
    height: auto !important;
}
.ilm-cart__coupon button {
    background: transparent !important;
    color: var(--ilm-color-orange) !important;
    border: 1.5px solid var(--ilm-color-orange) !important;
    border-radius: 999px !important;
    padding: 11px 22px !important;
    font-weight: 700 !important;
    font-size: 0.98rem !important;
    box-shadow: none !important;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.ilm-cart__coupon button:hover {
    background: var(--ilm-color-orange) !important;
    color: #FFFFFF !important;
}
.ilm-cart__update {
    float: right;
    background: var(--ilm-text-main) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.98rem !important;
    box-shadow: none !important;
    cursor: pointer;
}
.ilm-cart__update:hover { background: #2A2520 !important; }
@media (max-width: 640px) {
    .ilm-cart__update { float: none; display: block; margin-top: 12px; width: 100%; }
    .ilm-cart__coupon { width: 100%; }
    .ilm-cart__coupon input { width: 100%; min-width: 0; }
}

/* Sidebar totales */
.ilm-cart__collaterals {
    background: var(--ilm-bg-soft);
    padding: 28px 26px;
    border-radius: 10px;
    position: sticky;
    top: 120px;
}
.ilm-cart__collaterals .cart_totals h2 {
    font-family: 'Manrope', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    margin: 0 0 20px !important;
    color: var(--ilm-text-main) !important;
}
.ilm-cart__collaterals .cart_totals table {
    width: 100%;
    margin: 0 0 18px;
    border: none;
    border-collapse: collapse;
}
.ilm-cart__collaterals .cart_totals table th,
.ilm-cart__collaterals .cart_totals table td {
    padding: 12px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(10,9,8,0.08) !important;
    background: transparent !important;
    font-size: 1.05rem !important;
    color: var(--ilm-text-main);
}
.ilm-cart__collaterals .cart_totals table th { text-align: left; font-weight: 600; }
.ilm-cart__collaterals .cart_totals table td { text-align: right; font-weight: 700; }
.ilm-cart__collaterals .cart_totals .order-total th,
.ilm-cart__collaterals .cart_totals .order-total td {
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    padding-top: 18px !important;
    border-bottom: none !important;
}

/* Botón "Finalizar compra" */
.ilm-cart__collaterals .wc-proceed-to-checkout { padding: 0; margin-top: 18px; }
.ilm-cart__collaterals .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    padding: 18px 28px !important;
    background: var(--ilm-grad-warm) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 8px 24px -8px rgba(240, 132, 35, 0.5);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    line-height: 1.2 !important;
    box-sizing: border-box;
}
.ilm-cart__collaterals .wc-proceed-to-checkout a.checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px -8px rgba(240, 132, 35, 0.7);
}

/* Carrito vacío */
.ilm-cart .cart-empty.woocommerce-info {
    background: var(--ilm-bg-soft) !important;
    border-left: 4px solid var(--ilm-color-orange) !important;
    padding: 24px !important;
    border-radius: 8px !important;
    font-size: 1.15rem !important;
    margin-bottom: 24px !important;
}
.ilm-cart .return-to-shop { margin-top: 24px; }
.ilm-cart .return-to-shop .button {
    display: inline-block;
    padding: 14px 30px !important;
    background: var(--ilm-grad-warm) !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    text-decoration: none !important;
    box-shadow: 0 8px 24px -8px rgba(240, 132, 35, 0.5);
}

/* ============================================================
   PATCH CHECKOUT — el form limitaba el grid interno
   Fuerza el form a width 100% y el layout grid a ocupar
   todo el ancho del .ilm-container (max 1240px)
============================================================ */

.ilm-checkout .ilm-container {
    max-width: 1240px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

/* El form contenedor del checkout debe ocupar 100% del .ilm-container */
.ilm-checkout .ilm-checkout__form,
.ilm-checkout form.woocommerce-checkout,
.ilm-checkout form.checkout,
form.checkout.ilm-checkout__form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* El grid de 2 columnas, ahora sí, ocupa todo el form */
.ilm-checkout .ilm-checkout__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 440px !important;
    gap: 56px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width: 980px) {
    .ilm-checkout .ilm-checkout__layout {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
}

.ilm-checkout .ilm-checkout__col--main,
.ilm-checkout .ilm-checkout__col--aside {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Sidebar mantiene 440px en desktop, 100% en mobile */
@media (min-width: 981px) {
    .ilm-checkout .ilm-checkout__col--aside {
        width: 440px !important;
        max-width: 440px !important;
    }
}

/* ============================================================
   PATCH CHECKOUT — espaciado y tipografías
   - Reducir el espacio entre header del sitio y el primer elemento
   - Subir tamaño de labels, inputs, h3 de secciones y tabla del resumen
============================================================ */

/* Quitar espacio superior antes del banner del cupón */
body.woocommerce-checkout main,
body.woocommerce-checkout #main,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .site-main {
    padding-top: 24px !important;
    margin-top: 0 !important;
}

body.woocommerce-checkout .woocommerce {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.woocommerce-checkout .woocommerce-notices-wrapper:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 0 24px !important;
}

/* Reducir el padding superior del wrapper del checkout */
.ilm-checkout {
    padding-top: 28px !important;
    padding-bottom: 80px !important;
}

.ilm-checkout__header {
    margin-bottom: 36px !important;
}

/* H3 de las secciones del form (Detalles de facturación / Información adicional) */
.ilm-checkout__form h3,
.ilm-checkout__form .woocommerce-billing-fields h3,
.ilm-checkout__form .woocommerce-shipping-fields h3,
.ilm-checkout__form .woocommerce-additional-fields h3 {
    font-family: 'Manrope', sans-serif !important;
    font-size: 1.85rem !important;
    font-weight: 800 !important;
    margin: 0 0 28px !important;
    line-height: 1.2 !important;
}

/* Labels más grandes */
.ilm-checkout__form label,
.ilm-checkout__form .form-row label {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

/* Inputs / selects / textareas más grandes */
.ilm-checkout__form input[type="text"],
.ilm-checkout__form input[type="email"],
.ilm-checkout__form input[type="tel"],
.ilm-checkout__form input[type="number"],
.ilm-checkout__form input[type="password"],
.ilm-checkout__form textarea,
.ilm-checkout__form select,
.ilm-checkout__form .input-text {
    font-size: 1.15rem !important;
    padding: 16px 18px !important;
}

.ilm-checkout__form .select2-container--default .select2-selection--single {
    height: 56px !important;
}
.ilm-checkout__form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 54px !important;
    padding: 0 18px !important;
    font-size: 1.15rem !important;
}
.ilm-checkout__form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 54px !important;
}

/* Título del sidebar "Tu pedido" */
.ilm-checkout__summary-title {
    font-size: 1.7rem !important;
}

/* Tabla del resumen del pedido */
.ilm-checkout__review table.shop_table td,
.ilm-checkout__review table.shop_table th {
    font-size: 1.1rem !important;
    padding: 16px 0 !important;
}

.ilm-checkout__review table.shop_table tfoot th,
.ilm-checkout__review table.shop_table tfoot td {
    font-size: 1.15rem !important;
}

.ilm-checkout__review table.shop_table .order-total th,
.ilm-checkout__review table.shop_table .order-total td {
    font-size: 1.5rem !important;
    padding-top: 20px !important;
}

/* Mensaje "Lo siento, no hay métodos de pago disponibles" */
.ilm-checkout__review .woocommerce-notice,
.ilm-checkout__review .woocommerce-notice--info {
    font-size: 1.05rem !important;
    line-height: 1.55 !important;
    padding: 18px 22px !important;
}

/* Texto "Tus datos personales se utilizarán..." */
.ilm-checkout__review .woocommerce-privacy-policy-text,
.ilm-checkout__review .woocommerce-privacy-policy-text p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

/* Información adicional (Notas del pedido) */
.ilm-checkout__form .woocommerce-additional-fields textarea {
    font-size: 1.1rem !important;
    line-height: 1.5 !important;
    min-height: 110px;
}

/* ============================================================
   BLOQUES OPCIONALES DEL EVENTO
   Branding, destacado, oradores, para vos si, marca, cierre.
============================================================ */

/* ---- HERO con imagen de fondo custom + logo PNG ---- */
.ilm-event-hero {
    position: relative;
    overflow: hidden;
}
.ilm-event-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}
.ilm-event-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,9,8,0.25) 0%, rgba(10,9,8,0.55) 100%);
    z-index: 1;
}
.ilm-event-hero .ilm-container {
    position: relative;
    z-index: 2;
}
.ilm-event-hero__logo {
    max-width: 540px;
    margin: 24px auto 28px;
    display: flex;
    justify-content: center;
}
.ilm-event-hero__logo img {
    max-width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 6px 24px rgba(0,0,0,0.35));
}
@media (max-width: 640px) {
    .ilm-event-hero__logo { max-width: 320px; }
}

/* ---- BLOQUE DESTACADO ---- */
.ilm-event-destacado {
    padding: 80px 0;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--ilm-bg-soft) 100%);
}
.ilm-event-destacado__grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 56px;
    align-items: center;
}
@media (max-width: 900px) {
    .ilm-event-destacado__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}
.ilm-event-destacado__media {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4/3;
}
.ilm-event-destacado__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ilm-event-destacado__titulo {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    line-height: 1.1;
    font-weight: 800;
    margin: 0 0 18px;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}
.ilm-event-destacado__bajada {
    font-size: clamp(1.2rem, 1.6vw, 1.5rem);
    line-height: 1.45;
    color: var(--ilm-text-secondary);
    margin: 0 0 28px;
}
.ilm-event-destacado__inversion {
    font-size: 1.15rem;
    line-height: 1.7;
    margin: 0 0 32px;
    padding: 22px 24px;
    background: var(--ilm-bg-soft);
    border-left: 4px solid var(--ilm-color-orange);
    border-radius: 6px;
}
.ilm-event-destacado__inversion p { margin: 0 0 8px; }
.ilm-event-destacado__inversion p:last-child { margin: 0; }
.ilm-event-destacado__cta {
    margin-top: 8px;
}

/* ---- QUÉ VAS A VIVIR con imagen ---- */
.ilm-event-qvv {
    padding: 70px 0;
}
.ilm-event-qvv.has-image {
    background: var(--ilm-bg-soft);
}
.ilm-event-qvv__grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 56px;
    align-items: center;
}
@media (max-width: 900px) {
    .ilm-event-qvv__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}
.ilm-event-qvv__media {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4/3;
}
.ilm-event-qvv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ilm-event-qvv__copy h2 {
    margin-top: 0 !important;
}
.ilm-event-qvv__copy .ilm-event-list li {
    padding-left: 40px !important;
    font-size: 1.2rem !important;
}

/* ---- ORADORES ---- */
.ilm-event-oradores {
    padding: 80px 0;
    background: linear-gradient(180deg, var(--ilm-bg-soft) 0%, #FFFFFF 100%);
}
.ilm-event-oradores__title {
    text-align: center;
    margin-bottom: 48px !important;
}
.ilm-event-oradores__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 36px;
    max-width: 1100px;
    margin: 0 auto;
}
.ilm-orador-card {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #EAE5DA;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ilm-orador-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -15px rgba(10,9,8,0.15);
}
.ilm-orador-card__foto {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: var(--ilm-bg-soft);
}
.ilm-orador-card__foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ilm-orador-card__body {
    padding: 22px 24px 26px;
    text-align: center;
}
.ilm-orador-card__nombre {
    font-family: 'Manrope', sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 8px;
    color: var(--ilm-text-main);
}
.ilm-orador-card__rol {
    font-size: 1rem;
    color: var(--ilm-text-secondary);
    line-height: 1.45;
    margin: 0;
}

/* ---- PARA VOS SI ---- */
.ilm-event-paraquien {
    padding: 80px 0;
    background: linear-gradient(135deg, #2A1F1A 0%, #1A1310 100%);
    color: #FFFFFF;
}
.ilm-event-paraquien__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: center;
}
.ilm-event-paraquien__grid.has-image {
    grid-template-columns: 1.1fr 1fr;
}
@media (max-width: 900px) {
    .ilm-event-paraquien__grid.has-image {
        grid-template-columns: 1fr;
    }
}
.ilm-event-paraquien__titulo {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(2rem, 3.4vw, 2.8rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 32px;
    color: #FFFFFF;
}
.ilm-event-paraquien__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ilm-event-paraquien__list li {
    position: relative;
    padding: 16px 0 16px 44px;
    font-size: 1.2rem;
    line-height: 1.55;
    color: rgba(255,255,255,0.92);
    border-bottom: 1px solid rgba(255,255,255,0.12);
}
.ilm-event-paraquien__list li:last-child {
    border-bottom: none;
}
.ilm-event-paraquien__list li::before {
    content: '→';
    position: absolute;
    left: 0;
    top: 16px;
    color: var(--ilm-color-yellow);
    font-weight: 800;
    font-size: 1.3rem;
}
.ilm-event-paraquien__media {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4/5;
}
.ilm-event-paraquien__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ---- MARCA DEL EVENTO ---- */
.ilm-event-marca {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
    background: var(--ilm-grad-warm);
    color: #FFFFFF;
}
.ilm-event-marca__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.25;
    z-index: 0;
}
.ilm-event-marca__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(245,215,46,0.85) 0%, rgba(240,132,35,0.85) 50%, rgba(220,41,41,0.85) 100%);
    z-index: 1;
}
.ilm-event-marca .ilm-container {
    position: relative;
    z-index: 2;
}
.ilm-event-marca__content {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}
.ilm-event-marca__titulo {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(2.6rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0 0 32px;
    color: #FFFFFF;
}
.ilm-event-marca__cita {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    font-style: italic;
    font-weight: 500;
    line-height: 1.55;
    margin: 0 0 12px;
    padding: 0;
    border: none;
    color: #FFFFFF;
}
.ilm-event-marca__cita cite {
    display: block;
    margin-top: 14px;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(255,255,255,0.85);
}
.ilm-event-marca__valores {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
    margin-top: 56px;
    text-align: left;
}
@media (max-width: 640px) {
    .ilm-event-marca__valores {
        text-align: center;
    }
}
.ilm-event-marca__valor {
    padding: 0;
}
.ilm-event-marca__valor-titulo {
    font-family: 'Manrope', sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0 0 10px;
    color: #FFFFFF;
}
.ilm-event-marca__valor-desc {
    font-size: 1.05rem;
    line-height: 1.5;
    margin: 0;
    color: rgba(255,255,255,0.88);
}

/* ---- CIERRE DESTACADO ---- */
.ilm-event-cierre {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: var(--ilm-grad-warm);
    color: #FFFFFF;
    margin-top: 40px;
}
.ilm-event-cierre__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}
.ilm-event-cierre__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(245,215,46,0.78) 0%, rgba(240,132,35,0.85) 50%, rgba(220,41,41,0.78) 100%);
    z-index: 1;
}
.ilm-event-cierre .ilm-container {
    position: relative;
    z-index: 2;
}
.ilm-event-cierre__content {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}
.ilm-event-cierre__titulo {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(2.8rem, 6vw, 5rem);
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin: 0 0 40px;
    color: #FFFFFF;
}
.ilm-event-cierre__cta {
    display: flex;
    justify-content: center;
}
.ilm-event-cierre__cta .ilm-btn--primary {
    background: #FFFFFF !important;
    color: var(--ilm-text-main) !important;
    box-shadow: 0 14px 32px -10px rgba(0,0,0,0.35);
}
.ilm-event-cierre__cta .ilm-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.45);
}

/* ============================================================
   AJUSTES POST-FEEDBACK (single de evento)
   - Todos los bloques alineados al container ancho
   - "¿Te sumás?" full-width
   - Animaciones escalonadas del hero
   - Botón "volver arriba"
============================================================ */

/* ---- BLOQUE BASE: sobre el evento, programa, qué incluye, galería, testimonios, FAQs ---- */
.ilm-event-block {
    padding: 70px 0;
}
.ilm-event-block + .ilm-event-block {
    padding-top: 0; /* evitar doble espaciado cuando se apilan */
}
.ilm-event-block__inner {
    max-width: 880px;
    margin: 0 auto;
}
/* Quitar márgenes negativos / paddings raros heredados */
.ilm-event-block .ilm-h2 {
    margin-top: 0;
    margin-bottom: 28px;
}

/* Sobre el evento: ancho más cómodo para lectura */
.ilm-event-block--sobre .ilm-event-block__inner {
    max-width: 800px;
}
.ilm-event-block--sobre .ilm-event-description {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--ilm-text-secondary);
}

/* Programa: ancho medio */
.ilm-event-block--programa .ilm-event-block__inner {
    max-width: 900px;
}

/* Qué incluye: ancho medio */
.ilm-event-block--incluye .ilm-event-block__inner {
    max-width: 850px;
}

/* Galería: ancho amplio para que las imágenes tengan aire */
.ilm-event-block--galeria .ilm-event-block__inner {
    max-width: 1100px;
}

/* Testimonios: ancho medio */
.ilm-event-block--testimonios .ilm-event-block__inner {
    max-width: 1000px;
}

/* FAQs: ancho cómodo de lectura */
.ilm-event-block--faqs .ilm-event-block__inner {
    max-width: 820px;
}

/* Aseguramos que el primer bloque arranque sin tanto padding-top
   pegado al CTA primary o al destacado */
.ilm-event-block:first-of-type {
    padding-top: 60px;
}

/* ---- ARREGLO ROBUSTO: items vacíos no deben renderizar flecha ----
   Aunque ya se filtran en PHP, dejamos defensa CSS por si quedan
   <li> vacíos huérfanos (ej. cliente edita HTML directo). */
.ilm-event-list li:empty,
.ilm-event-paraquien__list li:empty {
    display: none !important;
}

/* ---- ¿TE SUMÁS? FULL-WIDTH (variante nueva) ---- */
.ilm-event-cta-final-fw {
    padding: 90px 0;
    background: linear-gradient(180deg, var(--ilm-bg-soft) 0%, #F5EFE0 100%);
    margin-top: 0;
}
.ilm-event-cta-final-fw__inner {
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}
.ilm-event-cta-final-fw__title {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 14px;
    color: var(--ilm-text-main);
}
.ilm-event-cta-final-fw__lead {
    font-size: 1.25rem;
    line-height: 1.5;
    color: var(--ilm-text-secondary);
    margin: 0 0 36px;
}
.ilm-event-cta-final-fw__buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ---- ANIMACIÓN ESCALONADA DEL HERO ----
   Cuando los elementos tienen animation-delay inline, asegurar que
   el fade-in respete ese delay y NO arranque visible. */
.ilm-event-hero .ilm-fade-in[style*="animation-delay"] {
    opacity: 0;
    animation: ilmFadeInUp 0.7s ease-out forwards;
}

@keyframes ilmFadeInUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- BOTÓN "VOLVER ARRIBA" FLOTANTE ---- */
.ilm-back-to-top {
    position: fixed;
    bottom: 92px;            /* arriba del botón flotante de WhatsApp */
    right: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: var(--ilm-color-orange, #F08423);
    color: #FFFFFF;
    font-size: 1.5rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 24px -8px rgba(0,0,0,0.35);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, background 0.2s ease;
    z-index: 998;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
}
.ilm-back-to-top:hover {
    background: var(--ilm-color-red, #DC2929);
    transform: translateY(0) scale(1.05);
}
.ilm-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
@media (max-width: 640px) {
    .ilm-back-to-top {
        bottom: 80px;
        right: 16px;
        width: 44px;
        height: 44px;
        font-size: 1.3rem;
    }
}

/* ---- Hero meta: separador entre items consistente ---- */
.ilm-event-hero__meta span:not(:last-child)::after {
    content: '·';
    margin: 0 12px;
    opacity: 0.5;
    color: rgba(255,255,255,0.7);
}
@media (max-width: 640px) {
    .ilm-event-hero__meta {
        flex-direction: column;
        gap: 6px;
    }
    .ilm-event-hero__meta span:not(:last-child)::after {
        display: none;
    }
}

/* ============================================================
   PATCH FINAL (post feedback v2)
   1. Bloques alineados a la izquierda (no centrados)
   2. Flechas en items del repeater funcionando en TODOS los contextos
   3. Bloque destacado sin imagen → ancho completo
============================================================ */

/* ---- 1. Alineación a la izquierda del .ilm-event-block ---- */
.ilm-event-block__inner {
    max-width: 880px;
    margin: 0;          /* override del margin: 0 auto */
    margin-right: auto; /* permite que el bloque ocupe hasta max-width pero pegado a la izquierda */
}
.ilm-event-block .ilm-h2 {
    text-align: left;
}

/* ---- 2. Flechas en items del repeater (aplica al block + qvv + section) ----
   El selector original solo cubría .ilm-event-section. Ampliamos. */
.ilm-event-block .ilm-event-list,
.ilm-event-qvv__copy .ilm-event-list,
.ilm-event-qvv .ilm-event-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ilm-event-block .ilm-event-list li,
.ilm-event-qvv__copy .ilm-event-list li,
.ilm-event-qvv .ilm-event-list li {
    display: block !important;
    position: relative !important;
    padding: 16px 0 16px 40px !important;
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
    border-bottom: 1px solid rgba(10,9,8,0.08);
    gap: 0 !important;
}
.ilm-event-block .ilm-event-list li:last-child,
.ilm-event-qvv__copy .ilm-event-list li:last-child,
.ilm-event-qvv .ilm-event-list li:last-child {
    border-bottom: none;
}
.ilm-event-block .ilm-event-list li::before,
.ilm-event-qvv__copy .ilm-event-list li::before,
.ilm-event-qvv .ilm-event-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    top: 16px;
    color: var(--ilm-color-orange);
    font-weight: 800;
    font-size: 1.2rem;
}
.ilm-event-block .ilm-event-list--check li::before,
.ilm-event-qvv__copy .ilm-event-list--check li::before,
.ilm-event-qvv .ilm-event-list--check li::before {
    content: '✓';
}

/* ---- 3. Bloque destacado SIN imagen → ancho completo ----
   Cuando no hay imagen cargada, el grid 2-cols deja el copy mitad ancho.
   Forzamos 1 columna full para que arranque a la izquierda. */
.ilm-event-destacado__grid:not(:has(.ilm-event-destacado__media)) {
    grid-template-columns: 1fr;
}
/* Fallback para browsers sin :has() — usamos clase de ayuda en PHP no es necesario
   porque :has() es soportado en Chrome 105+, Safari 15.4+, Firefox 121+. */

/* Si por algún motivo el grid tiene una sola columna real, limitar el ancho
   del copy para que no se estire infinitamente */
.ilm-event-destacado__grid:not(:has(.ilm-event-destacado__media)) .ilm-event-destacado__copy {
    max-width: 880px;
}

/* ---- Refuerzo: títulos h2 dentro de los bloques NO deben heredar text-align center ---- */
.ilm-event-block h2,
.ilm-event-block .ilm-h2,
.ilm-event-block .ilm-event-block__inner > h2,
.ilm-event-qvv h2:not(.ilm-event-oradores__title) {
    text-align: left;
}

/* ---- Defensa contra centrado heredado en testimonios y faqs ---- */
.ilm-event-block--testimonios .ilm-testimonials,
.ilm-event-block--faqs .ilm-faqs,
.ilm-event-block--galeria .ilm-event-gallery {
    text-align: left;
}

/* ============================================================
   ╔══════════════════════════════════════════════════════════╗
   ║ PATCH MAESTRO TIPOGRÁFICO — SINGLE EVENTO (DEFINITIVO)   ║
   ╚══════════════════════════════════════════════════════════╝
   Selector con specificity body+clase para ganar a TODO lo anterior.
   Sistema único:
   - H2 normales: clamp(2rem, 3.2vw, 2.5rem), todos iguales
   - Excepciones de gran tamaño (Destacado/Marca/Cierre/Hero):
     mantienen su clase específica
   - Cuerpo: 1.2rem
   - Items: 1.2rem
   - Sin espacio en blanco al final
============================================================ */

/* ---- TÍTULOS H2 NORMALES (TODOS IGUALES) ---- */
body .ilm-single--evento .ilm-event-block h2,
body .ilm-single--evento .ilm-event-block .ilm-h2,
body .ilm-single--evento .ilm-event-qvv__copy h2,
body .ilm-single--evento .ilm-event-qvv__copy .ilm-h2,
body .ilm-single--evento .ilm-event-oradores .ilm-event-oradores__title {
    font-family: 'Manrope', sans-serif !important;
    font-size: clamp(2rem, 3.4vw, 2.6rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 0 32px 0 !important;
    padding: 0 !important;
    color: var(--ilm-text-main) !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    text-transform: none !important;
}

/* Oradores: centrado (única excepción en el sistema "normal") */
body .ilm-single--evento .ilm-event-oradores .ilm-event-oradores__title {
    text-align: center !important;
    margin-bottom: 48px !important;
}

/* ---- DESCRIPCIÓN "SOBRE EL EVENTO" ---- */
body .ilm-single--evento .ilm-event-description,
body .ilm-single--evento .ilm-event-description p,
body .ilm-single--evento .ilm-event-description li,
body .ilm-single--evento .ilm-event-description ul,
body .ilm-single--evento .ilm-event-description ol {
    font-size: 1.2rem !important;
    line-height: 1.75 !important;
    color: var(--ilm-text-main) !important;
}
body .ilm-single--evento .ilm-event-description p {
    margin: 0 0 1.2em !important;
}
body .ilm-single--evento .ilm-event-description p:last-child {
    margin-bottom: 0 !important;
}

/* ---- ITEMS DE LISTAS (Qué vas a vivir / Qué incluye) ---- */
body .ilm-single--evento .ilm-event-block .ilm-event-list li,
body .ilm-single--evento .ilm-event-qvv .ilm-event-list li,
body .ilm-single--evento .ilm-event-qvv__copy .ilm-event-list li {
    font-size: 1.2rem !important;
    line-height: 1.6 !important;
    padding: 20px 0 20px 44px !important;
    color: var(--ilm-text-main) !important;
    border-bottom: 1px solid rgba(10,9,8,0.08) !important;
}
body .ilm-single--evento .ilm-event-block .ilm-event-list li:last-child,
body .ilm-single--evento .ilm-event-qvv .ilm-event-list li:last-child,
body .ilm-single--evento .ilm-event-qvv__copy .ilm-event-list li:last-child {
    border-bottom: none !important;
}
body .ilm-single--evento .ilm-event-block .ilm-event-list li::before,
body .ilm-single--evento .ilm-event-qvv .ilm-event-list li::before,
body .ilm-single--evento .ilm-event-qvv__copy .ilm-event-list li::before {
    top: 20px !important;
    font-size: 1.3rem !important;
    color: var(--ilm-color-orange) !important;
}

/* ---- PROGRAMA ---- */
body .ilm-single--evento .ilm-event-program {
    margin: 0 !important;
    padding: 0 !important;
}
body .ilm-single--evento .ilm-event-program__row,
body .ilm-single--evento .ilm-event-program > div {
    display: grid !important;
    grid-template-columns: 110px 1fr !important;
    gap: 32px !important;
    padding: 22px 0 !important;
    border-bottom: 1px solid rgba(10,9,8,0.08) !important;
    align-items: baseline !important;
}
body .ilm-single--evento .ilm-event-program__row:last-child {
    border-bottom: none !important;
}
body .ilm-single--evento .ilm-event-program__time {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--ilm-color-orange) !important;
    letter-spacing: 0.02em !important;
}
body .ilm-single--evento .ilm-event-program__activity {
    font-size: 1.2rem !important;
    line-height: 1.5 !important;
    color: var(--ilm-text-main) !important;
}

/* ---- FAQs ---- */
body .ilm-single--evento .ilm-faqs {
    margin: 0 !important;
}
body .ilm-single--evento .ilm-faq {
    border-bottom: 1px solid rgba(10,9,8,0.10) !important;
    padding: 0 !important;
}
body .ilm-single--evento .ilm-faq summary {
    font-size: 1.2rem !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    padding: 24px 32px 24px 0 !important;
    color: var(--ilm-text-main) !important;
    cursor: pointer !important;
    list-style: none !important;
    position: relative !important;
}
body .ilm-single--evento .ilm-faq summary::-webkit-details-marker {
    display: none !important;
}
body .ilm-single--evento .ilm-faq summary::after {
    content: '+' !important;
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 1.6rem !important;
    font-weight: 400 !important;
    color: var(--ilm-color-orange) !important;
    transition: transform 0.2s ease !important;
}
body .ilm-single--evento .ilm-faq[open] summary::after {
    content: '−' !important;
}
body .ilm-single--evento .ilm-faq > div,
body .ilm-single--evento .ilm-faq > div p {
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    padding: 0 0 24px 0 !important;
    color: var(--ilm-text-secondary) !important;
}

/* ---- TESTIMONIOS ---- */
body .ilm-single--evento .ilm-testimonials {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 28px !important;
}
body .ilm-single--evento .ilm-testimonial {
    background: var(--ilm-bg-soft) !important;
    border-left: 4px solid var(--ilm-color-orange) !important;
    padding: 28px 28px 24px !important;
    border-radius: 8px !important;
    margin: 0 !important;
}
body .ilm-single--evento .ilm-testimonial p {
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
    color: var(--ilm-text-main) !important;
    font-style: italic !important;
    margin: 0 0 16px !important;
}
body .ilm-single--evento .ilm-testimonial cite {
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    font-weight: 700 !important;
    color: var(--ilm-color-orange) !important;
    font-style: normal !important;
    display: block !important;
}

/* ---- GALERÍA DE EDICIONES ANTERIORES ---- */
body .ilm-single--evento .ilm-event-gallery {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 20px !important;
}
body .ilm-single--evento .ilm-event-gallery__item {
    aspect-ratio: 4/3 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
body .ilm-single--evento .ilm-event-gallery__item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* ---- ESPACIADO ENTRE BLOQUES (consistente) ---- */
body .ilm-single--evento .ilm-event-block {
    padding: 70px 0 !important;
}
body .ilm-single--evento .ilm-event-block + .ilm-event-block {
    padding-top: 0 !important;
}

/* ---- ELIMINAR ESPACIO EN BLANCO AL FINAL ---- */
body .ilm-single--evento {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
body .ilm-single--evento > section:last-child,
body .ilm-single--evento > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
body .ilm-single--evento .ilm-event-cierre {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
body .ilm-single--evento .ilm-event-cierre + * {
    margin-top: 0 !important;
}

/* Que la última sección no genere espacio en blanco contra el footer */
body.single-product .ilm-single--evento + .site-footer,
body.single-product .ilm-single--evento ~ footer,
body.single-product main:has(.ilm-single--evento) {
    margin-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ---- TAMAÑOS EN MOBILE (proporcionales) ---- */
@media (max-width: 768px) {
    body .ilm-single--evento .ilm-event-block h2,
    body .ilm-single--evento .ilm-event-block .ilm-h2,
    body .ilm-single--evento .ilm-event-qvv__copy h2,
    body .ilm-single--evento .ilm-event-qvv__copy .ilm-h2,
    body .ilm-single--evento .ilm-event-oradores .ilm-event-oradores__title {
        font-size: 1.75rem !important;
        margin-bottom: 24px !important;
    }
    body .ilm-single--evento .ilm-event-description,
    body .ilm-single--evento .ilm-event-description p,
    body .ilm-single--evento .ilm-event-block .ilm-event-list li,
    body .ilm-single--evento .ilm-event-program__activity,
    body .ilm-single--evento .ilm-faq summary {
        font-size: 1.1rem !important;
    }
    body .ilm-single--evento .ilm-event-block {
        padding: 50px 0 !important;
    }
    body .ilm-single--evento .ilm-event-program__row {
        grid-template-columns: 80px 1fr !important;
        gap: 16px !important;
    }
}

/* ============================================================
   FIX VISIBILIDAD IMÁGENES DE FONDO — MARCA Y CIERRE
   El overlay original era casi opaco (0.78-0.85) y tapaba la
   imagen cargada. Bajamos opacidad para que la foto se vea,
   manteniendo legibilidad del texto blanco con un overlay más
   tenue + gradiente sutil + sombreado en los textos.
============================================================ */

/* ---- MARCA DEL EVENTO ---- */
body .ilm-single--evento .ilm-event-marca__bg {
    opacity: 1 !important;          /* la imagen al 100% */
}
body .ilm-single--evento .ilm-event-marca__overlay {
    background: linear-gradient(
        135deg,
        rgba(245,215,46,0.55) 0%,
        rgba(240,132,35,0.62) 50%,
        rgba(220,41,41,0.55) 100%
    ) !important;
}
/* Sombra sutil al texto para asegurar contraste sobre la foto */
body .ilm-single--evento .ilm-event-marca__titulo,
body .ilm-single--evento .ilm-event-marca__cita,
body .ilm-single--evento .ilm-event-marca__cita cite,
body .ilm-single--evento .ilm-event-marca__valor-titulo,
body .ilm-single--evento .ilm-event-marca__valor-desc {
    text-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
}

/* ---- CIERRE DESTACADO ---- */
body .ilm-single--evento .ilm-event-cierre__bg {
    opacity: 1 !important;
}
body .ilm-single--evento .ilm-event-cierre__overlay {
    background: linear-gradient(
        135deg,
        rgba(245,215,46,0.45) 0%,
        rgba(240,132,35,0.55) 50%,
        rgba(220,41,41,0.45) 100%
    ) !important;
}
body .ilm-single--evento .ilm-event-cierre__titulo {
    text-shadow: 0 2px 16px rgba(0,0,0,0.4) !important;
}

/* ============================================================
   ╔══════════════════════════════════════════════════════════════╗
   ║ PATCH TIPOGRÁFICO TAMAÑOS EN PX — FORZADO FINAL              ║
   ╚══════════════════════════════════════════════════════════════╝
   - Todo en PX absolutos (no rem) para no depender del root
   - Specificity: html body .ilm-single--evento (máxima posible)
   - !important en todo lo que no es título
   - Tamaño base elevado: cuerpo a 22px, captions a 18px
============================================================ */

/* ---- HERO META (el "3 días · jueves 19 · 08:30 · Campos…") ---- */
html body .ilm-single--evento .ilm-event-hero .ilm-event-hero__meta,
html body .ilm-single--evento .ilm-event-hero .ilm-event-hero__meta span {
    font-size: 19px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    color: rgba(255,255,255,0.95) !important;
}
html body .ilm-single--evento .ilm-event-hero .ilm-event-hero__meta {
    margin-top: 28px !important;
    gap: 32px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

/* ---- BAJADA E INVERSIÓN DEL BLOQUE DESTACADO ---- */
html body .ilm-single--evento .ilm-event-destacado__bajada {
    font-size: 22px !important;
    line-height: 1.5 !important;
    color: var(--ilm-text-secondary) !important;
}
html body .ilm-single--evento .ilm-event-destacado__inversion,
html body .ilm-single--evento .ilm-event-destacado__inversion p,
html body .ilm-single--evento .ilm-event-destacado__inversion strong {
    font-size: 19px !important;
    line-height: 1.7 !important;
    color: var(--ilm-text-main) !important;
}

/* ---- SOBRE EL EVENTO: descripción ---- */
html body .ilm-single--evento .ilm-event-description,
html body .ilm-single--evento .ilm-event-description p,
html body .ilm-single--evento .ilm-event-description li,
html body .ilm-single--evento .ilm-event-description span,
html body .ilm-single--evento .ilm-event-description div {
    font-size: 22px !important;
    line-height: 1.7 !important;
    color: var(--ilm-text-main) !important;
}
html body .ilm-single--evento .ilm-event-description p {
    margin: 0 0 18px !important;
}
html body .ilm-single--evento .ilm-event-description p:last-child {
    margin-bottom: 0 !important;
}

/* ---- ITEMS DE LISTAS (Qué vas a vivir / Qué incluye) ---- */
html body .ilm-single--evento .ilm-event-list li,
html body .ilm-single--evento .ilm-event-qvv__copy .ilm-event-list li,
html body .ilm-single--evento .ilm-event-qvv .ilm-event-list li {
    font-size: 21px !important;
    line-height: 1.55 !important;
    padding: 22px 0 22px 46px !important;
    color: var(--ilm-text-main) !important;
    font-weight: 500 !important;
}
html body .ilm-single--evento .ilm-event-list li::before {
    font-size: 22px !important;
    top: 22px !important;
    font-weight: 800 !important;
}

/* ---- PROGRAMA ---- */
html body .ilm-single--evento .ilm-event-program__time {
    font-size: 19px !important;
    font-weight: 800 !important;
    color: var(--ilm-color-orange) !important;
    letter-spacing: 0.02em !important;
}
html body .ilm-single--evento .ilm-event-program__activity {
    font-size: 21px !important;
    line-height: 1.5 !important;
    color: var(--ilm-text-main) !important;
}
html body .ilm-single--evento .ilm-event-program__row {
    padding: 22px 0 !important;
}

/* ---- ORADORES: nombre y rol ---- */
html body .ilm-single--evento .ilm-orador-card .ilm-orador-card__nombre {
    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 0 10px !important;
    color: var(--ilm-text-main) !important;
}
html body .ilm-single--evento .ilm-orador-card .ilm-orador-card__rol {
    font-size: 17px !important;
    line-height: 1.45 !important;
    color: var(--ilm-text-secondary) !important;
    margin: 0 !important;
}

/* ---- "PARA VOS SI": items ---- */
html body .ilm-single--evento .ilm-event-paraquien__list li {
    font-size: 21px !important;
    line-height: 1.55 !important;
    padding: 20px 0 20px 48px !important;
    color: rgba(255,255,255,0.95) !important;
}
html body .ilm-single--evento .ilm-event-paraquien__list li::before {
    font-size: 22px !important;
    top: 20px !important;
}

/* ---- MARCA / CENTINELAS: cita y valores ---- */
html body .ilm-single--evento .ilm-event-marca__cita {
    font-size: 22px !important;
    line-height: 1.55 !important;
    font-style: italic !important;
    color: #FFFFFF !important;
}
html body .ilm-single--evento .ilm-event-marca__cita cite {
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    margin-top: 14px !important;
}
html body .ilm-single--evento .ilm-event-marca__valor-titulo {
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 0 10px !important;
    color: #FFFFFF !important;
}
html body .ilm-single--evento .ilm-event-marca__valor-desc {
    font-size: 17px !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,0.92) !important;
}

/* ---- TESTIMONIOS: texto y autor ---- */
html body .ilm-single--evento .ilm-testimonial p {
    font-size: 20px !important;
    line-height: 1.55 !important;
    font-style: italic !important;
    color: var(--ilm-text-main) !important;
    margin: 0 0 16px !important;
}
html body .ilm-single--evento .ilm-testimonial cite {
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    color: var(--ilm-color-orange) !important;
    font-style: normal !important;
    display: block !important;
}

/* ---- FAQS ---- */
html body .ilm-single--evento .ilm-faq summary {
    font-size: 20px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    padding: 26px 40px 26px 0 !important;
    color: var(--ilm-text-main) !important;
}
html body .ilm-single--evento .ilm-faq > div,
html body .ilm-single--evento .ilm-faq > div p {
    font-size: 18px !important;
    line-height: 1.7 !important;
    padding-bottom: 26px !important;
    color: var(--ilm-text-secondary) !important;
}

/* ---- PRECIO Y BOTONES CTA ---- */
html body .ilm-single--evento .ilm-event-price {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--ilm-text-main) !important;
}

/* ---- "¿TE SUMÁS?" FULL-WIDTH ---- */
html body .ilm-single--evento .ilm-event-cta-final-fw__lead {
    font-size: 21px !important;
    line-height: 1.5 !important;
    color: var(--ilm-text-secondary) !important;
}

/* ---- MOBILE: tamaños proporcionalmente más chicos pero aún legibles ---- */
@media (max-width: 768px) {
    html body .ilm-single--evento .ilm-event-hero__meta,
    html body .ilm-single--evento .ilm-event-hero__meta span {
        font-size: 16px !important;
    }
    html body .ilm-single--evento .ilm-event-description,
    html body .ilm-single--evento .ilm-event-description p,
    html body .ilm-single--evento .ilm-event-list li,
    html body .ilm-single--evento .ilm-event-program__activity,
    html body .ilm-single--evento .ilm-event-paraquien__list li,
    html body .ilm-single--evento .ilm-event-marca__cita,
    html body .ilm-single--evento .ilm-testimonial p,
    html body .ilm-single--evento .ilm-faq summary,
    html body .ilm-single--evento .ilm-event-destacado__bajada {
        font-size: 18px !important;
    }
    html body .ilm-single--evento .ilm-event-destacado__inversion,
    html body .ilm-single--evento .ilm-event-destacado__inversion p,
    html body .ilm-single--evento .ilm-event-marca__valor-desc,
    html body .ilm-single--evento .ilm-orador-card__rol,
    html body .ilm-single--evento .ilm-faq > div,
    html body .ilm-single--evento .ilm-faq > div p,
    html body .ilm-single--evento .ilm-event-program__time {
        font-size: 16px !important;
    }
}

/* ============================================================
   PATCH EQUILIBRIO TIPOGRÁFICO (DEFINITIVO)
   - Tamaños bajados un escalón vs versión anterior
   - Selector con * para forzar TODO el subárbol cuando hace falta
   - Fix padding interno del FAQ
============================================================ */

/* ---- HERO META (más chico, no exagerado) ---- */
html body .ilm-single--evento .ilm-event-hero .ilm-event-hero__meta,
html body .ilm-single--evento .ilm-event-hero .ilm-event-hero__meta span {
    font-size: 17px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

/* ---- BLOQUE DESTACADO ---- */
html body .ilm-single--evento .ilm-event-destacado__bajada {
    font-size: 19px !important;
    line-height: 1.5 !important;
}
html body .ilm-single--evento .ilm-event-destacado__inversion,
html body .ilm-single--evento .ilm-event-destacado__inversion p,
html body .ilm-single--evento .ilm-event-destacado__inversion strong,
html body .ilm-single--evento .ilm-event-destacado__inversion * {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

/* ---- SOBRE EL EVENTO: forzar TODO el subárbol con * ----
   WordPress envuelve el contenido del editor en .entry-content u otros
   wrappers que pueden tener reglas específicas que ganan. El selector
   con * fuerza a TODOS los descendientes. */
html body .ilm-single--evento .ilm-event-description,
html body .ilm-single--evento .ilm-event-description p,
html body .ilm-single--evento .ilm-event-description li,
html body .ilm-single--evento .ilm-event-description span,
html body .ilm-single--evento .ilm-event-description div,
html body .ilm-single--evento .ilm-event-description * {
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: var(--ilm-text-main) !important;
}
/* Excepciones: links y enfatizados mantienen su rol pero sin cambiar tamaño */
html body .ilm-single--evento .ilm-event-description a {
    color: var(--ilm-color-orange) !important;
    text-decoration: underline;
}
html body .ilm-single--evento .ilm-event-description strong,
html body .ilm-single--evento .ilm-event-description b {
    font-weight: 700 !important;
}
html body .ilm-single--evento .ilm-event-description em,
html body .ilm-single--evento .ilm-event-description i {
    font-style: italic !important;
}

/* ---- ITEMS DE LISTAS (QVV / Qué incluye) ---- */
html body .ilm-single--evento .ilm-event-list li,
html body .ilm-single--evento .ilm-event-qvv__copy .ilm-event-list li,
html body .ilm-single--evento .ilm-event-qvv .ilm-event-list li {
    font-size: 18px !important;
    line-height: 1.55 !important;
    padding: 18px 0 18px 42px !important;
}
html body .ilm-single--evento .ilm-event-list li::before {
    font-size: 19px !important;
    top: 18px !important;
}

/* ---- PROGRAMA ---- */
html body .ilm-single--evento .ilm-event-program__time {
    font-size: 16px !important;
    font-weight: 800 !important;
}
html body .ilm-single--evento .ilm-event-program__activity {
    font-size: 18px !important;
    line-height: 1.5 !important;
}
html body .ilm-single--evento .ilm-event-program__row {
    padding: 18px 0 !important;
}

/* ---- ORADORES ---- */
html body .ilm-single--evento .ilm-orador-card .ilm-orador-card__nombre {
    font-size: 19px !important;
    line-height: 1.25 !important;
}
html body .ilm-single--evento .ilm-orador-card .ilm-orador-card__rol {
    font-size: 15px !important;
    line-height: 1.45 !important;
}

/* ---- PARA VOS SI ---- */
html body .ilm-single--evento .ilm-event-paraquien__list li {
    font-size: 18px !important;
    line-height: 1.55 !important;
    padding: 16px 0 16px 44px !important;
}
html body .ilm-single--evento .ilm-event-paraquien__list li::before {
    font-size: 19px !important;
    top: 16px !important;
}

/* ---- CENTINELAS / MARCA ---- */
html body .ilm-single--evento .ilm-event-marca__cita {
    font-size: 19px !important;
    line-height: 1.55 !important;
}
html body .ilm-single--evento .ilm-event-marca__cita cite {
    font-size: 13px !important;
}
html body .ilm-single--evento .ilm-event-marca__valor-titulo {
    font-size: 18px !important;
    line-height: 1.25 !important;
}
html body .ilm-single--evento .ilm-event-marca__valor-desc {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

/* ---- TESTIMONIOS ---- */
html body .ilm-single--evento .ilm-testimonial p {
    font-size: 17px !important;
    line-height: 1.55 !important;
}
html body .ilm-single--evento .ilm-testimonial cite {
    font-size: 13px !important;
}

/* ---- FAQs: tamaños + PADDING INTERNO ----
   Bug que reportaste: el contenido quedaba pegado al borde izquierdo
   de la caja. Agregamos padding-left y padding-right consistentes. */
html body .ilm-single--evento .ilm-faq {
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
}
html body .ilm-single--evento .ilm-faq summary {
    font-size: 18px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    padding: 22px 56px 22px 24px !important;  /* padding-left 24, derecha 56 para el +/- */
}
html body .ilm-single--evento .ilm-faq summary::after {
    right: 24px !important;
}
html body .ilm-single--evento .ilm-faq > div {
    padding: 0 24px 22px 24px !important;     /* mismo padding-left 24 que summary */
}
html body .ilm-single--evento .ilm-faq > div,
html body .ilm-single--evento .ilm-faq > div p,
html body .ilm-single--evento .ilm-faq > div * {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* ---- PRECIO ---- */
html body .ilm-single--evento .ilm-event-price {
    font-size: 22px !important;
}

/* ---- "¿TE SUMÁS?" lead ---- */
html body .ilm-single--evento .ilm-event-cta-final-fw__lead {
    font-size: 18px !important;
    line-height: 1.5 !important;
}

/* ---- MOBILE ---- */
@media (max-width: 768px) {
    html body .ilm-single--evento .ilm-event-hero__meta,
    html body .ilm-single--evento .ilm-event-hero__meta span {
        font-size: 15px !important;
    }
    html body .ilm-single--evento .ilm-event-description,
    html body .ilm-single--evento .ilm-event-description *,
    html body .ilm-single--evento .ilm-event-list li,
    html body .ilm-single--evento .ilm-event-program__activity,
    html body .ilm-single--evento .ilm-event-paraquien__list li,
    html body .ilm-single--evento .ilm-event-marca__cita,
    html body .ilm-single--evento .ilm-testimonial p,
    html body .ilm-single--evento .ilm-faq summary,
    html body .ilm-single--evento .ilm-event-destacado__bajada {
        font-size: 16px !important;
    }
    html body .ilm-single--evento .ilm-event-destacado__inversion,
    html body .ilm-single--evento .ilm-event-destacado__inversion *,
    html body .ilm-single--evento .ilm-event-marca__valor-desc,
    html body .ilm-single--evento .ilm-orador-card__rol,
    html body .ilm-single--evento .ilm-faq > div,
    html body .ilm-single--evento .ilm-faq > div *,
    html body .ilm-single--evento .ilm-event-program__time {
        font-size: 14px !important;
    }
    html body .ilm-single--evento .ilm-faq summary,
    html body .ilm-single--evento .ilm-faq > div {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* ============================================================
   PATCH FINAL — Ajustes específicos reportados por el cliente
   - "Qué incluye": forzar mismo tamaño que los otros items
   - FAQ respuesta: forzar padding interno y tamaño
   - Tamaños generales: bajar un escalón (17px base)

   Specificity súper alta: html body article.ilm-single--evento .X
   para ganar a todas las reglas anteriores.
============================================================ */

/* ---- BASE: todos los items de lista (incluyendo Qué incluye) ---- */
html body article.ilm-single--evento .ilm-event-block .ilm-event-list li,
html body article.ilm-single--evento .ilm-event-block .ilm-event-list--check li,
html body article.ilm-single--evento .ilm-event-block--incluye .ilm-event-list li,
html body article.ilm-single--evento .ilm-event-qvv .ilm-event-list li,
html body article.ilm-single--evento .ilm-event-qvv__copy .ilm-event-list li {
    font-size: 17px !important;
    line-height: 1.55 !important;
    padding: 16px 0 16px 40px !important;
    color: var(--ilm-text-main) !important;
    font-weight: 500 !important;
}
html body article.ilm-single--evento .ilm-event-block .ilm-event-list li::before,
html body article.ilm-single--evento .ilm-event-qvv .ilm-event-list li::before,
html body article.ilm-single--evento .ilm-event-qvv__copy .ilm-event-list li::before {
    font-size: 18px !important;
    top: 16px !important;
    color: var(--ilm-color-orange) !important;
}

/* ---- FAQ: forzar tamaño Y padding interno de la respuesta ---- */
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq {
    border-radius: 8px !important;
    margin-bottom: 10px !important;
}
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq summary {
    font-size: 17px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    padding: 20px 56px 20px 24px !important;
}
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq summary::after {
    right: 24px !important;
}
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div {
    padding-top: 0 !important;
    padding-bottom: 20px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin: 0 !important;
}
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div,
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div *,
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div p,
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div span,
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div li {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: var(--ilm-text-secondary) !important;
}
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div p {
    margin: 0 0 10px !important;
    padding: 0 !important;
}
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-faq > div p:last-child {
    margin-bottom: 0 !important;
}

/* ---- BAJAR UN ESCALÓN GENERAL ---- */
html body article.ilm-single--evento .ilm-event-hero__meta,
html body article.ilm-single--evento .ilm-event-hero__meta span {
    font-size: 15px !important;
}
html body article.ilm-single--evento .ilm-event-destacado__bajada {
    font-size: 17px !important;
}
html body article.ilm-single--evento .ilm-event-destacado__inversion,
html body article.ilm-single--evento .ilm-event-destacado__inversion *,
html body article.ilm-single--evento .ilm-event-destacado__inversion p {
    font-size: 15px !important;
    line-height: 1.65 !important;
}
html body article.ilm-single--evento .ilm-event-block--sobre .ilm-event-description,
html body article.ilm-single--evento .ilm-event-block--sobre .ilm-event-description *,
html body article.ilm-single--evento .ilm-event-block--sobre .ilm-event-description p {
    font-size: 16px !important;
    line-height: 1.7 !important;
}
html body article.ilm-single--evento .ilm-event-block--programa .ilm-event-program__time {
    font-size: 14px !important;
}
html body article.ilm-single--evento .ilm-event-block--programa .ilm-event-program__activity {
    font-size: 16px !important;
}
html body article.ilm-single--evento .ilm-event-block--programa .ilm-event-program__row {
    padding: 16px 0 !important;
}
html body article.ilm-single--evento .ilm-event-oradores .ilm-orador-card__nombre {
    font-size: 17px !important;
}
html body article.ilm-single--evento .ilm-event-oradores .ilm-orador-card__rol {
    font-size: 14px !important;
}
html body article.ilm-single--evento .ilm-event-paraquien .ilm-event-paraquien__list li {
    font-size: 17px !important;
    padding: 14px 0 14px 42px !important;
}
html body article.ilm-single--evento .ilm-event-paraquien .ilm-event-paraquien__list li::before {
    top: 14px !important;
    font-size: 18px !important;
}
html body article.ilm-single--evento .ilm-event-marca .ilm-event-marca__cita {
    font-size: 17px !important;
}
html body article.ilm-single--evento .ilm-event-marca .ilm-event-marca__valor-titulo {
    font-size: 16px !important;
}
html body article.ilm-single--evento .ilm-event-marca .ilm-event-marca__valor-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
}
html body article.ilm-single--evento .ilm-event-block--testimonios .ilm-testimonial p {
    font-size: 15px !important;
    line-height: 1.55 !important;
}
html body article.ilm-single--evento .ilm-event-block--testimonios .ilm-testimonial cite {
    font-size: 12px !important;
}
html body article.ilm-single--evento .ilm-event-price {
    font-size: 20px !important;
}

/* ---- MOBILE: proporcional ---- */
@media (max-width: 768px) {
    html body article.ilm-single--evento .ilm-event-block .ilm-event-list li,
    html body article.ilm-single--evento .ilm-event-block--sobre .ilm-event-description,
    html body article.ilm-single--evento .ilm-event-block--sobre .ilm-event-description *,
    html body article.ilm-single--evento .ilm-event-paraquien__list li,
    html body article.ilm-single--evento .ilm-event-marca__cita,
    html body article.ilm-single--evento .ilm-faq summary,
    html body article.ilm-single--evento .ilm-event-destacado__bajada,
    html body article.ilm-single--evento .ilm-event-program__activity {
        font-size: 15px !important;
    }
    html body article.ilm-single--evento .ilm-faq > div,
    html body article.ilm-single--evento .ilm-faq > div *,
    html body article.ilm-single--evento .ilm-orador-card__rol,
    html body article.ilm-single--evento .ilm-event-marca__valor-desc,
    html body article.ilm-single--evento .ilm-event-destacado__inversion,
    html body article.ilm-single--evento .ilm-event-destacado__inversion *,
    html body article.ilm-single--evento .ilm-testimonial p {
        font-size: 14px !important;
    }
}

/* ============================================================
   ANCHO UNIFORME PARA TODOS LOS BLOQUES INTERNOS
   Todos los .ilm-event-block__inner = 1000px, alineados a la izq.
   Resuelve la inconsistencia visual entre bloques (FAQs no
   alcanzaba el ancho de otros).
============================================================ */
html body article.ilm-single--evento .ilm-event-block .ilm-event-block__inner,
html body article.ilm-single--evento .ilm-event-block--sobre .ilm-event-block__inner,
html body article.ilm-single--evento .ilm-event-block--programa .ilm-event-block__inner,
html body article.ilm-single--evento .ilm-event-block--incluye .ilm-event-block__inner,
html body article.ilm-single--evento .ilm-event-block--galeria .ilm-event-block__inner,
html body article.ilm-single--evento .ilm-event-block--testimonios .ilm-event-block__inner,
html body article.ilm-single--evento .ilm-event-block--faqs .ilm-event-block__inner {
    max-width: 1000px !important;
    margin: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ============================================================
   RITMO VISUAL — ALTERNANCIA CREMA / BLANCO
   Rompe los tramos planos de fondo blanco que mataban la lectura.
   Patrón: blanco - crema - blanco - crema ...
============================================================ */

/* Forzar fondos planos (sin gradients sutiles que se "perdían") */
html body article.ilm-single--evento .ilm-event-destacado {
    background: #FFFFFF !important;
}
html body article.ilm-single--evento .ilm-event-block--sobre {
    background: var(--ilm-bg-soft) !important;
}
html body article.ilm-single--evento .ilm-event-qvv,
html body article.ilm-single--evento .ilm-event-qvv.has-image {
    background: #FFFFFF !important;
}
html body article.ilm-single--evento .ilm-event-oradores {
    background: var(--ilm-bg-soft) !important;
}
html body article.ilm-single--evento .ilm-event-block--programa {
    background: #FFFFFF !important;
}
html body article.ilm-single--evento .ilm-event-block--incluye {
    background: var(--ilm-bg-soft) !important;
}
html body article.ilm-single--evento .ilm-event-block--galeria {
    background: #FFFFFF !important;
}
html body article.ilm-single--evento .ilm-event-block--testimonios {
    background: var(--ilm-bg-soft) !important;
}
html body article.ilm-single--evento .ilm-event-block--faqs {
    background: #FFFFFF !important;
}

/* Padding consistente para que cada bloque respire y el cambio
   de color se sienta como un cambio de "sección" claro */
html body article.ilm-single--evento .ilm-event-block,
html body article.ilm-single--evento .ilm-event-destacado,
html body article.ilm-single--evento .ilm-event-qvv,
html body article.ilm-single--evento .ilm-event-oradores {
    padding: 60px 0 !important;
}

/* Revertir el "padding-top: 0" entre bloques apilados:
   ahora cada uno tiene su propio espacio para que el cambio
   de fondo no quede pegado */
html body article.ilm-single--evento .ilm-event-block + .ilm-event-block,
html body article.ilm-single--evento .ilm-event-destacado + .ilm-event-block,
html body article.ilm-single--evento .ilm-event-block + .ilm-event-qvv,
html body article.ilm-single--evento .ilm-event-qvv + .ilm-event-oradores,
html body article.ilm-single--evento .ilm-event-oradores + .ilm-event-paraquien {
    padding-top: 60px !important;
}

/* ============================================================
   FORZAR FONDOS CREMA — SELECTORES INDEPENDIENTES DEL ARTICLE
   Triple selector + color hex directo (sin var) para máxima
   compatibilidad y specificity ganadora.
============================================================ */

html body section.ilm-event-block.ilm-event-block--sobre,
html body .ilm-event-block.ilm-event-block--sobre,
.ilm-event-block--sobre.ilm-event-block--sobre {
    background: #F5EFE0 !important;
    background-color: #F5EFE0 !important;
    background-image: none !important;
}

html body section.ilm-event-oradores,
html body .ilm-event-oradores,
.ilm-event-oradores.ilm-event-oradores {
    background: #F5EFE0 !important;
    background-color: #F5EFE0 !important;
    background-image: none !important;
}

html body section.ilm-event-block.ilm-event-block--incluye,
html body .ilm-event-block.ilm-event-block--incluye,
.ilm-event-block--incluye.ilm-event-block--incluye {
    background: #F5EFE0 !important;
    background-color: #F5EFE0 !important;
    background-image: none !important;
}

html body section.ilm-event-block.ilm-event-block--testimonios,
html body .ilm-event-block.ilm-event-block--testimonios,
.ilm-event-block--testimonios.ilm-event-block--testimonios {
    background: #F5EFE0 !important;
    background-color: #F5EFE0 !important;
    background-image: none !important;
}

/* Bloques que deben quedar blanco firme (sin gradients sutiles) */
html body section.ilm-event-destacado,
html body .ilm-event-destacado,
.ilm-event-destacado.ilm-event-destacado {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
}
html body section.ilm-event-qvv,
html body .ilm-event-qvv,
.ilm-event-qvv.ilm-event-qvv {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
}
