/* =====================================================================
 * Invisual · custom.css — cargado por LoadThemeHead DESPUÉS de theme.css
 * Aquí resolvemos lo que master-fuse + Less.js no respetan:
 * tipografía global y ajustes críticos de contraste/tamaño.
 * ===================================================================== */

/* --- 1. Montserrat forzado en TODA la jerarquía tipográfica --- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

html,
body,
button,
input,
select,
textarea,
.uk-navbar-nav,
.uk-button,
.uk-card,
.uk-card-title,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge,
.uk-heading-3xlarge,
.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6,
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

h1, h2, h3, h4,
.uk-h1, .uk-h2, .uk-h3, .uk-h4,
.uk-heading-small, .uk-heading-medium, .uk-heading-large,
.uk-heading-xlarge, .uk-heading-2xlarge, .uk-heading-3xlarge {
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    font-style: normal !important;
}

/* em en headings = acento rosa, sin cursiva */
h1 em, h2 em, h3 em, h4 em,
.uk-h1 em, .uk-h2 em, .uk-h3 em, .uk-h4 em,
.uk-heading-small em, .uk-heading-medium em, .uk-heading-large em,
.uk-heading-xlarge em, .uk-heading-2xlarge em, .uk-heading-3xlarge em {
    font-style: normal !important;
    color: #FB4D80;
    font-weight: 900;
}
.uk-light h1 em, .uk-light h2 em, .uk-light h3 em,
.uk-light .uk-heading-small em, .uk-light .uk-heading-medium em,
.uk-light .uk-heading-large em, .uk-light .uk-heading-xlarge em,
.uk-light .uk-heading-2xlarge em, .uk-light .uk-heading-3xlarge em {
    color: #FFB5CE;
}

/* --- 2. Escalado fluido (clamp) para que no desborde el hero --- */
.uk-heading-2xlarge { font-size: clamp(2.5rem, 7vw, 5rem) !important; line-height: 1.02 !important; }
.uk-heading-xlarge  { font-size: clamp(2.1rem, 5.5vw, 4rem) !important; line-height: 1.05 !important; }
.uk-heading-large   { font-size: clamp(1.8rem, 4vw, 3rem) !important; line-height: 1.1 !important; }

/* --- 3. Contraste blindado sobre fondo oscuro --- */
.uk-light h1, .uk-light h2, .uk-light h3, .uk-light h4, .uk-light h5, .uk-light h6,
.uk-light .uk-heading-small, .uk-light .uk-heading-medium,
.uk-light .uk-heading-large, .uk-light .uk-heading-xlarge,
.uk-light .uk-heading-2xlarge, .uk-light .uk-heading-3xlarge {
    color: #FFFFFF !important;
}

/* --- 4. Navbar: TODO se edita desde Customizer → Style → Navbar --- */
/* (2026-04-23) Retirado cualquier selector de navbar en custom.css.
   Las reglas de color, tamaño, peso, letter-spacing, hover y active
   viven ahora como hooks Less nativos en cfg[custom_less], donde Less.js
   resuelve las variables del Customizer en cada "Guardar diseño". Aquí
   NO debe aparecer nada para el navbar, porque cualquier regla en
   custom.css carga DESPUÉS de theme.css y gana por cascada, bloqueando
   la edición nativa de Vargas. */

/* --- 5. Logo en navbar: 100% nativo via Customizer Style > Navbar > Logo Height --- */

/* --- 6. Body font --- */
body, p, li, td, th {
    font-family: 'Montserrat', -apple-system, sans-serif;
    font-weight: 400;
    line-height: 1.65;
}

/* --- 7. Footer Invisual (builder-less, custom markup) --- */
.iv-footer {
    background: linear-gradient(135deg, #134074 0%, #0B2545 55%, #07182E 100%);
    color: rgba(255,255,255,0.82);
    padding: 5rem 0 2rem;
    position: relative;
    overflow: hidden;
}
.iv-footer::before {
    content: "";
    position: absolute;
    width: 50vw; height: 50vw; max-width: 700px; max-height: 700px;
    top: -20%; right: -15%;
    background: radial-gradient(circle, rgba(251,77,128,0.35) 0%, transparent 65%);
    filter: blur(100px);
    border-radius: 50%;
    pointer-events: none;
}
.iv-footer > * { position: relative; z-index: 1; }
.iv-footer h4 {
    color: #FFFFFF !important;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
}
.iv-footer a { color: rgba(255,255,255,0.82); transition: color 0.2s; }
.iv-footer a:hover { color: #FFB5CE; text-decoration: none; }
.iv-footer .iv-footer-logo img { max-height: 56px; margin-bottom: 1.5rem; }
.iv-footer .iv-footer-tag { font-size: 0.9rem; color: rgba(255,255,255,0.72); max-width: 320px; line-height: 1.6; }
.iv-footer ul { list-style: none; padding: 0; margin: 0; }
.iv-footer ul li { margin-bottom: 0.6rem; font-size: 0.92rem; }
.iv-footer .iv-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.12);
    margin-top: 3.5rem;
    padding-top: 1.75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.55);
}
.iv-footer .iv-footer-bottom a { font-size: 0.8rem; }

/* --- 8. Botones redondos (Invisual brand) --- */
.uk-button,
.uk-button.uk-button-default,
.uk-button.uk-button-primary,
.uk-button.uk-button-secondary {
    border-radius: 999px !important;
    padding: 0.8rem 2rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.78rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
    border-width: 1.5px;
}
.uk-button-large { padding: 1rem 2.4rem; font-size: 0.82rem; }
.uk-button:hover { transform: translateY(-2px); }
.uk-button-primary { box-shadow: 0 10px 28px rgba(251,77,128,0.28); }
.uk-button-primary:hover { box-shadow: 0 16px 40px rgba(251,77,128,0.42); }

/* --- 9. CTA pink section: centrado, ratio correcto --- */
.iv-cta-pink {
    background: linear-gradient(135deg, #FB4D80 0%, #D63872 100%) !important;
    position: relative;
    overflow: hidden;
}
.iv-cta-pink::before {
    content: "";
    position: absolute;
    top: -30%; left: -10%;
    width: 50vw; height: 50vw; max-width: 800px; max-height: 800px;
    background: radial-gradient(circle, rgba(255,255,255,0.18) 0%, transparent 65%);
    filter: blur(60px);
    border-radius: 50%;
    pointer-events: none;
}
.iv-cta-pink > * { position: relative; z-index: 1; }
.iv-cta-pink .uk-button-default {
    background: #FFFFFF !important;
    color: #0B2545 !important;
    border-color: transparent !important;
    font-weight: 800;
}
.iv-cta-pink .uk-button-default:hover {
    background: #FFF5F9 !important;
    color: #FB4D80 !important;
}

/* --- 10. AI brand lettermarks (placeholders hasta tener SVGs) --- */
.iv-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Montserrat';
    font-weight: 800;
    font-size: 1.4rem;
    letter-spacing: -0.02em;
    line-height: 1;
    color: #0B2545;
}
.iv-brand::before {
    content: "";
    width: 12px; height: 12px;
    border-radius: 3px;
    background: #FB4D80;
    flex-shrink: 0;
}
.iv-brand.iv-brand--claude::before    { background: #D97706; border-radius: 50%; }
.iv-brand.iv-brand--chatgpt::before   { background: #10A37F; border-radius: 50%; }
.iv-brand.iv-brand--perplexity::before{ background: #20808D; border-radius: 6px; }
.iv-brand.iv-brand--notebooklm::before{ background: #4285F4; border-radius: 4px 12px 4px 12px; }
.iv-brand.iv-brand--elicit::before    { background: #7C3AED; border-radius: 50%; }
.iv-brand.iv-brand--consensus::before { background: #0EA5E9; border-radius: 2px; transform: rotate(45deg); }
.iv-brand.iv-brand--scite::before     { background: #F43F5E; border-radius: 50%; }
.iv-brand.iv-brand--paperpal::before  { background: #EA580C; border-radius: 3px; }
.uk-light .iv-brand { color: #FFFFFF; }

/* --- 11. Card body first-child margin fix --- */
/* RETIRADO (2026-04-23): reglas globales sobre `.el-image` (margin-left,
   text-align) pisaban las imágenes del grid y no dejaban personalizar
   desde el builder. Si quieres alineación específica, hazlo en el campo
   CSS del elemento o con clase opt-in en el builder. */
.uk-card-body > :first-child { margin-top: 0; }

/* --- 12. Stat card sobre dark: asegurar legibilidad --- */
.uk-light .uk-grid .uk-card {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(8px);
}

/* --- 13. Section dividers: evita bloques blancos huérfanos --- */
.uk-section + .uk-section { border-top: none; }
.uk-section-default h2,
.uk-section-default h3,
.uk-section-muted h2,
.uk-section-muted h3 { color: #0B2545 !important; }

/* --- 14. Tabla comparativa Invisual --- */
.iv-compare {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.92rem;
    background: #FFFFFF;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 50px rgba(11,37,69,0.08);
}
.iv-compare thead th {
    background: #0B2545;
    color: #FFFFFF;
    padding: 1.2rem 1rem;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
}
.iv-compare thead th.feat {
    background: linear-gradient(135deg, #FB4D80 0%, #D63872 100%);
}
.iv-compare thead th:first-child { text-align: left; }
.iv-compare tbody td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(11,37,69,0.06);
    text-align: center;
    color: #475569;
}
.iv-compare tbody td.feat-name {
    text-align: left;
    font-weight: 700;
    color: #0B2545;
}
.iv-compare tbody td.feat-col {
    background: rgba(251,77,128,0.04);
    color: #0B2545;
    font-weight: 600;
}
.iv-compare tbody tr.group-row td {
    background: #F7F8FC;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    color: #475569;
    padding-top: 1.2rem;
}
.iv-compare tbody tr:last-child td { border-bottom: 0; }

/* --- 15. Dark plano (sin blobs) para alternancia con dark+blobs --- */
.iv-section-plain-dark {
    background: linear-gradient(180deg, #07182E 0%, #0B2545 50%, #134074 100%);
    position: relative;
    overflow: hidden;
    color: rgba(255,255,255,0.85);
}
.iv-section-plain-dark::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 15% 50%, rgba(255,255,255,0.04) 0%, transparent 50%),
        radial-gradient(ellipse at 85% 20%, rgba(251,77,128,0.06) 0%, transparent 60%);
    pointer-events: none;
}
.iv-section-plain-dark > * { position: relative; z-index: 1; }

/* =====================================================================
 * PATCH 2026-04-22 · Fixes tras review de Vargas
 * ===================================================================== */

/* --- A. Tarjetas card-default SIEMPRE con texto oscuro (rompiendo uk-light) --- */
.uk-light .uk-card-default,
.uk-light .uk-card-default h1, .uk-light .uk-card-default h2,
.uk-light .uk-card-default h3, .uk-light .uk-card-default h4,
.uk-light .uk-card-default .uk-heading-small, .uk-light .uk-card-default .uk-heading-medium,
.uk-light .uk-card-default .uk-heading-large, .uk-light .uk-card-default .uk-heading-xlarge,
.uk-light .uk-card-default .uk-h1, .uk-light .uk-card-default .uk-h2,
.uk-light .uk-card-default .uk-h3, .uk-light .uk-card-default .uk-h4,
.uk-light .uk-card-default .el-title,
.uk-light .uk-card-default .el-content,
.uk-light .uk-card-default p,
.uk-light .uk-card-default li {
    color: #0B2545 !important;
}
.uk-light .uk-card-default p,
.uk-light .uk-card-default li,
.uk-light .uk-card-default .el-content p { color: #475569 !important; }
.uk-light .uk-card-default .uk-card-title { color: #0B2545 !important; }

/* --- B. Tool catalog cards: padding interno cómodo --- */
.iv-tool .el-item,
.iv-addon .el-item,
.iv-plan .el-item,
.iv-step .el-item {
    padding: 1.75rem 1.5rem !important;
}
.iv-tool .iv-brand { margin-bottom: 0.9rem; font-size: 1.18rem; }
.iv-tool .iv-tool-desc { margin: 0 0 1rem; }
.iv-tool .iv-tool-plans { margin-top: 0.5rem; }

/* --- C. Botones en plan cards: tamaño razonable, no gigantes --- */
.iv-plan .uk-button,
.iv-plan a.uk-button {
    padding: 0.65rem 1.4rem !important;
    font-size: 0.72rem !important;
    width: auto !important;
    display: inline-block !important;
}
.iv-plan .uk-margin-top { text-align: center; }
.iv-plan .uk-button.uk-width-1-1 { width: auto !important; }

/* --- D. Switcher: contenido ancho --- */
#sia-quien .uk-switcher,
#sia-quien .uk-switcher > * {
    max-width: 900px !important;
    margin-left: auto; margin-right: auto;
}
#sia-quien .uk-switcher .el-content p {
    font-size: 1.05rem;
    line-height: 1.7;
    max-width: 800px;
    margin-left: auto; margin-right: auto;
}
#sia-quien .uk-subnav-pill { justify-content: center; flex-wrap: wrap; gap: 0.5rem; }

/* --- E. FAQ: accordion ancho y legible --- */
#sia-faq .iv-faq,
#sia-faq .uk-accordion {
    max-width: 980px !important;
    margin: 0 auto;
}
#sia-faq .uk-accordion-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0B2545 !important;
    padding: 1.4rem 1.75rem;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(11,37,69,0.05);
    border: 1px solid rgba(11,37,69,0.06);
    transition: all 0.3s;
}
#sia-faq .uk-accordion-title::before { display: none; }
#sia-faq .uk-accordion-title::after {
    content: "+";
    float: right;
    color: #FB4D80;
    font-weight: 300;
    font-size: 1.5rem;
    line-height: 1;
    transition: transform 0.3s;
}
#sia-faq .uk-open > .uk-accordion-title { background: #0B2545; color: #FFFFFF !important; }
#sia-faq .uk-open > .uk-accordion-title::after { content: "−"; color: #FFB5CE; }
#sia-faq .uk-accordion-content {
    padding: 1.75rem 2rem;
    background: #FFFFFF;
    border-radius: 0 0 16px 16px;
    margin-top: -10px;
    box-shadow: 0 10px 30px rgba(11,37,69,0.06);
    border: 1px solid rgba(11,37,69,0.05);
    border-top: 0;
    color: #475569;
    font-size: 0.98rem;
    line-height: 1.75;
}
#sia-faq .uk-accordion-content p { font-family: 'Montserrat' !important; color: #475569 !important; }
#sia-faq .uk-accordion-content strong { color: #0B2545; }
#sia-faq .uk-accordion-content ul { padding-left: 1.2rem; }
#sia-faq .uk-accordion-content ul li { margin-bottom: 0.4rem; }
#sia-faq .uk-accordion > li { margin-bottom: 0.75rem; }

/* --- F. Tabla comparativa: menos densidad vertical --- */
.iv-compare tbody td { padding: 0.65rem 0.9rem; font-size: 0.88rem; }
.iv-compare tbody tr.group-row td { padding: 0.85rem 1rem; font-size: 0.68rem; }

/* --- G. Footer bleed-to-edge --- */
.iv-footer { width: 100vw; margin-left: calc(50% - 50vw); }
.iv-footer .uk-container { padding-left: 2rem; padding-right: 2rem; }

/* --- H. Home "Qué hacemos" cards: más carácter --- */
.iv-service-card .el-item {
    border: 1px solid rgba(11,37,69,0.06) !important;
    position: relative;
    overflow: hidden;
}
.iv-service-card .el-item::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 3px;
    background: linear-gradient(90deg, #FB4D80 0%, #D63872 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
}
.iv-service-card .el-item:hover::after { transform: scaleX(1); }
.iv-service-card .el-meta {
    color: #FB4D80 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900 !important;
    font-size: 1.6rem !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
    text-transform: none !important;
}

/* --- I. Home clientes: tiles guays con lettermarks --- */
.iv-clients-alt .el-item {
    background: linear-gradient(135deg, #0B2545 0%, #134074 100%);
    border-radius: 18px;
    padding: 2rem 1.25rem 1.25rem !important;
    min-height: 160px;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.04);
}
.iv-clients-alt .el-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 20%, rgba(251,77,128,0.2) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.5s ease;
}
.iv-clients-alt .el-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(11,37,69,0.22);
    border-color: rgba(251,77,128,0.4);
}
.iv-clients-alt .el-item:hover::before { opacity: 1; }
.iv-clients-alt .el-item > * { position: relative; z-index: 1; }
.iv-clients-alt .el-title {
    color: #FFFFFF !important;
    font-family: 'Montserrat' !important;
    font-weight: 900 !important;
    font-size: 1.45rem !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 0.4rem !important;
}
.iv-clients-alt .el-meta {
    color: #FFB5CE !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    opacity: 0.85;
}
.iv-clients-alt > :nth-child(4n+2) .el-item,
.iv-clients-alt > :nth-child(4n+3) .el-item {
    background: linear-gradient(135deg, #FB4D80 0%, #D63872 100%);
}
.iv-clients-alt > :nth-child(4n+2) .el-item .el-meta,
.iv-clients-alt > :nth-child(4n+3) .el-item .el-meta {
    color: rgba(255,255,255,0.85) !important;
}

/* --- J. Highlight panel-slider: texto oscuro en card-default sobre dark --- */
.iv-section-dark .uk-card-default,
.iv-section-dark .uk-card-default * {
    color: #475569;
}
.iv-section-dark .uk-card-default .el-title,
.iv-section-dark .uk-card-default h3,
.iv-section-dark .uk-card-default .uk-card-title {
    color: #0B2545 !important;
    font-weight: 800 !important;
}
.iv-section-dark .uk-card-default .el-meta { color: #FB4D80 !important; }
.iv-section-dark .uk-card-default .el-content p { color: #475569 !important; }

/* --- K. Pack card: precio y lista más elegantes --- */
.iv-plan-price { text-align: center; margin: 0.5rem 0 0.25rem; }
.iv-plan-price .num { font-family: 'Montserrat' !important; font-weight: 900; font-size: 2.4rem; color: #0B2545; letter-spacing: -0.03em; line-height: 1; }
.iv-plan-price .unit { color: #475569; font-size: 0.85rem; margin-left: 0.25rem; }
.iv-plan-users { text-align: center; color: #475569; font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; margin-bottom: 0.25rem; }
.iv-plan-savings { text-align: center; color: #FB4D80; font-size: 0.8rem; font-weight: 700; margin-bottom: 1.25rem; }
.iv-plan-list { list-style: none; padding: 0; margin: 1.25rem 0 0; border-top: 1px solid rgba(11,37,69,0.08); padding-top: 1.25rem; }
.iv-plan-list li { padding: 0.4rem 0; color: #475569; font-size: 0.88rem; position: relative; padding-left: 1.4rem; }
.iv-plan-list li::before {
    content: "✓";
    position: absolute; left: 0;
    color: #FB4D80;
    font-weight: 900;
}
.iv-plan-list em { color: #0B2545; font-style: normal; font-weight: 700; }

/* Featured plan on :nth-child(2): texto y precio en rosa */
.iv-plan > :nth-child(2) .iv-plan-price .num { color: #FB4D80 !important; }

/* ============================================================
   L. FAQ con listas: que se vean bien los uk-list-bullet
   ============================================================ */
.uk-accordion-content .uk-list-bullet > * {
    padding: 0.25rem 0;
    color: #475569;
    font-size: 0.92rem;
}
.uk-accordion-content p {
    margin: 0 0 0.75rem;
    color: #475569;
    line-height: 1.65;
}
.uk-accordion-content p strong { color: #0B2545; }
.uk-accordion-content em { color: #FB4D80; font-style: normal; font-weight: 600; }
.uk-accordion-content u { text-decoration: underline; text-decoration-color: #FB4D80; text-underline-offset: 3px; }

/* ============================================================
   M. Switcher: tabs MUCHO más anchas y copy más respirado
   ============================================================ */
#sia-quien .uk-subnav-pill { flex-wrap: wrap; gap: 0.5rem; justify-content: center; max-width: 1100px; margin-left: auto; margin-right: auto; }
#sia-quien .uk-switcher { max-width: 1100px; margin: 2rem auto 0; }
#sia-quien .uk-switcher > li .el-item { max-width: 900px; margin: 0 auto; text-align: center; }
#sia-quien .uk-switcher .el-content ul {
    text-align: left;
    max-width: 700px;
    margin: 1.25rem auto 0;
    padding-left: 1.25rem;
}
#sia-quien .uk-switcher .el-content ul li {
    padding: 0.35rem 0;
    color: #475569;
}

/* ============================================================
   N. Clients: tiles con gradiente alternado ink/pink
   ============================================================ */
.iv-clients-alt .el-item {
    border-radius: var(--inv-radius-md);
    padding: 2rem 1.25rem !important;
    min-height: 130px;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    color: #fff;
    position: relative; overflow: hidden;
}
.iv-clients-alt .el-item::after {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(circle at 80% 0%, rgba(255,255,255,0.12), transparent 60%);
    pointer-events: none;
}
.iv-clients-alt > :nth-child(odd) .el-item {
    background: linear-gradient(135deg, #0B2545 0%, #13345F 100%);
}
.iv-clients-alt > :nth-child(even) .el-item {
    background: linear-gradient(135deg, #FB4D80 0%, #E52A8A 100%);
}
.iv-clients-alt .el-item:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(11,37,69,0.25); }
.iv-clients-alt .el-title {
    color: #fff !important;
    font-family: 'Montserrat' !important;
    font-weight: 900 !important;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
}
.iv-clients-alt .el-meta {
    color: rgba(255,255,255,0.85) !important;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 0.4rem;
}

/* ============================================================
   O. FAQ: max-width algo mayor para el contenido rico
   ============================================================ */
#sia-faq .uk-accordion { max-width: 1040px; margin-left: auto; margin-right: auto; }

/* ============================================================
   P. [RETIRADA 2026-04-23] — Halo sutil global sobre .el-image
   Pisaba las imágenes reales del grid (builder inusable).
   Sustituida por .iv-icon-halo (opt-in) en CUSTOM_LESS.
   ============================================================ */

/* ============================================================
   Q. Formulario de contacto (Vargas flow)
   ============================================================ */
.iv-contact-form-wrap { max-width: 820px; margin: 0 auto; }
.iv-contact-form { display: flex; flex-direction: column; gap: 1.1rem; background: #fff; padding: 2.5rem; border-radius: var(--inv-radius-md); box-shadow: var(--inv-shadow-md); }
.iv-contact-form .iv-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 640px) { .iv-contact-form .iv-form-row { grid-template-columns: 1fr; } }
.iv-contact-form label { display: flex; flex-direction: column; gap: 0.4rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #475569; }
.iv-contact-form input[type="text"],
.iv-contact-form input[type="email"],
.iv-contact-form input[type="tel"],
.iv-contact-form select,
.iv-contact-form textarea {
    font-family: 'Montserrat' !important;
    font-size: 0.95rem;
    font-weight: 500;
    color: #0B2545;
    padding: 0.85rem 1rem;
    border: 1.5px solid rgba(11, 37, 69, 0.15);
    border-radius: 12px;
    background: #F8FAFC;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    text-transform: none;
    letter-spacing: normal;
}
.iv-contact-form input:focus,
.iv-contact-form select:focus,
.iv-contact-form textarea:focus {
    outline: none;
    border-color: #FB4D80;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(251, 77, 128, 0.12);
}
.iv-contact-form textarea { resize: vertical; min-height: 140px; }
.iv-form-legal { font-size: 0.82rem; color: #475569; }
.iv-form-legal .iv-check { flex-direction: row; align-items: flex-start; gap: 0.6rem; font-weight: 500; text-transform: none; letter-spacing: normal; }
.iv-form-legal input[type="checkbox"] { margin-top: 0.25rem; accent-color: #FB4D80; width: 18px; height: 18px; }
.iv-form-legal a { color: #FB4D80; text-decoration: underline; }
.iv-contact-form button[type="submit"] { font-size: 0.85rem !important; padding: 1rem 2rem !important; border-radius: 999px !important; margin-top: 0.5rem; }
.iv-form-note { max-width: 820px; margin: 1.25rem auto 0; text-align: center; font-size: 0.8rem; color: #94A3B8; font-style: italic; }

/* ============================================================
   R. [RETIRADA 2026-04-23] — Halo rosa global sobre `.el-image`
   ============================================================
   Anti-patrón: reglas `.el-image` bare con `!important` que pisaban
   cualquier imagen del grid (fotos reales incluidas) obligándolas
   a circle-gradient rosa 120×120. Builder inusable para imágenes.

   Reempaquetado como opt-in `.iv-icon-halo` en CUSTOM_LESS (compilado
   a theme.css). Los grids que quieren este efecto se marcan con
   class="iv-icon-halo" en el builder/PHP. Los demás reciben la imagen
   tal y como se define en el builder, sin halo forzado.
   ============================================================ */

/* ============================================================
   [RETIRADO 2026-04-23] — Globales invasivos `.el-meta`, `.el-title`,
   `.el-content p`, `.uk-card-default` con `!important`.
   ============================================================
   Anti-patrón: estas reglas forzaban tipografías, colores, fondos,
   bordes y sombras sobre TODAS las tarjetas del sitio. Cualquier
   intento de personalizar desde el builder (panel_style, colores,
   tipografía del item) se veía pisado.

   Movido a:
   - `.uk-card-default` → Customizer → Settings → Style → Card (vars
     nativas `@card-default-background`, `@card-default-hover-*`, etc.)
   - `.el-meta` / `.el-title` / `.el-content` → campo CSS del grid
     concreto (`css` del elemento en el builder) con selectores
     `.el-meta`/`.el-title`/`.el-content` (YOOtheme los scope-a
     automáticamente al grid). Donde se use en varios grids, opt-in
     con clase `.iv-card-soft` definida en CUSTOM_LESS.

   Si ves un grid que quedó "soso" tras retirar esto, añade en su
   campo CSS (builder) las reglas que necesite, o márcalo con
   `class="iv-card-soft"`.
   ============================================================ */

/* ============================================================
   S. Reubicados desde props css (para no romper builder preview)
   — #sia-valor (grid Por qué Invisual) + #sia-quien (switcher)
   ============================================================ */

/* #sia-valor · grid de 4 pilares */
#sia-valor .el-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--inv-radius-md, 16px);
    box-shadow: var(--inv-shadow-sm, 0 2px 8px rgba(11,37,69,0.06));
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
#sia-valor .el-item::before {
    content: " ";
    position: absolute; top: 0; left: 0;
    height: 4px; width: 100%;
    background: linear-gradient(90deg, #FB4D80 0%, #0B2545 100%);
    opacity: 0;
    transition: opacity 0.35s ease;
}
#sia-valor .el-item:hover::before { opacity: 1; }
#sia-valor .iv-valor-stat {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(11, 37, 69, 0.1);
    display: flex; flex-direction: column; gap: 0.15rem;
}
#sia-valor .iv-valor-stat .num {
    font-size: 2rem; font-weight: 900;
    color: #0B2545; line-height: 1;
    letter-spacing: -0.02em;
}
#sia-valor .iv-valor-stat .unit {
    font-size: 0.8rem; color: #475569;
    text-transform: uppercase; letter-spacing: 0.06em;
    font-weight: 600;
}

/* #sia-quien · switcher Para quién */
#sia-quien .uk-subnav-pill > .uk-active > a {
    background: #0B2545;
    color: #fff;
}
#sia-quien .uk-subnav-pill > * > :first-child {
    color: #0B2545;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.78rem;
    padding: 0.8rem 1.4rem;
    border-radius: 999px;
}
#sia-quien .el-title { color: #0B2545; text-align: center; }
#sia-quien .el-content p { color: #334155; text-align: center; }

/* ============================================================
 * Patch T · Footer en Layout Footer (YT5 v5)
 * Elimina espacio en blanco bajo el footer y separación con
 * la última sección (CTA rosa).
 * ============================================================ */

/* El wrapper de YT5 v5 añade padding-bottom al container — lo anulamos
   cuando el siguiente bloque es el footer */
.tm-main { padding-bottom: 0 !important; }

/* La sección que envuelve al footer en el Layout Footer */
.iv-footer-wrap { margin: 0 !important; padding: 0 !important; }
.iv-footer-wrap > .uk-container { padding: 0 !important; max-width: none !important; }

/* El footer pegado sin huecos */
.iv-footer { margin: 0 !important; }

/* Anula cualquier margin-bottom de la última section del artículo */
.tm-main > .uk-section:last-child,
.tm-main > section:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* Si la última section es la CTA rosa, mantener su propio padding interno
   pero cerrar el hueco con el footer */
.iv-cta-pink { margin-bottom: 0 !important; }

/* ============================================================
 * Patch U · Página Ilustración (gramática "exposición/museo")
 * ============================================================ */
.iv-hero-museo { min-height: 85vh; }
.iv-kicker-museo {
    letter-spacing: 0.3em !important;
    font-size: 0.7rem !important;
    color: rgba(255,255,255,0.55) !important;
}

/* Índice de obras estilo catálogo */
#iv-obras .uk-grid > * { padding-left: 1.5rem; }
#iv-obras .el-item::before {
    content: "";
    position: absolute;
    top: -2px; left: 0; width: 40px; height: 2px;
    background: var(--inv-pink);
    transition: width 0.35s ease;
}
#iv-obras .el-item:hover::before { width: 80px; }

/* Accordion sobre fondo oscuro (FAQ técnicas ilustración) */
#iv-faq-ilus .uk-accordion-title {
    color: #fff !important;
    font-weight: 700;
    padding: 1.2rem 0;
}
#iv-faq-ilus .uk-accordion-title::before {
    filter: invert(1);
}
#iv-faq-ilus .uk-accordion-content p {
    color: rgba(255,255,255,0.82);
    line-height: 1.55;
}
#iv-faq-ilus .uk-accordion > :nth-child(n+2) {
    border-top: 1px solid rgba(255,255,255,0.12);
    margin-top: 0;
    padding-top: 0.25rem;
}

/* Disciplinas (switcher pills sobre fondo claro) */
#iv-disciplinas .uk-switcher h3 {
    color: #0B2545;
    font-family: 'Montserrat', sans-serif;
}
