/*
Theme Name: Linea 3 Legal v2
Theme URI: https://linea3legal.com
Author: Linea 3 Developer
Author URI: https://linea3legal.com
Description: Versión 2 - Limpieza total de caché y estructura. Basado en Twenty Twenty-Five.
Version: 1.1.18
Requires at least: 6.7
Tested up to: 6.9.4
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: linea3-legal-dark

This theme, like WordPress, is licensed under the GPL.
*/

/* --- GLOBAL RESET PARA ELEMENTOS INTERACTIVOS --- */
/* Elimina bordes de enfoque (outlines) y sombras al hacer click en cualquier elemento del sitio */
a,
button,
input,
textarea,
select,
[role="button"],
.wp-block-button__link,
.wp-block-navigation-item__content,
.header-link-logo,
.search-btn,
.cta-legal-btn,
img {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Forzar cursor pointer en todos los elementos interactivos */
a,
button,
.wp-block-button__link,
.wp-block-navigation-item__content,
.header-link-logo,
.search-btn,
.cta-legal-btn,
.wp-block-navigation-submenu__toggle {
    cursor: pointer !important;
}

/* Limpieza profunda de estados de enfoque para evitar el "recuadro" visual */
*:focus,
*:active,
*:focus-visible,
*:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

/* --- SISTEMA RESPONSIVO MOBILE FIRST --- */

/* 1. COMPORTAMIENTO DEL LOGO Y HEADER */
/* Reset total de márgenes del Footer y Color Homogéneo */
body footer.wp-block-template-part,
body footer.wp-block-template-part > .wp-block-group,
body footer.wp-block-template-part footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: #0a2233 !important; /* Color corporativo sólido */
}

header.wp-block-template-part,
footer.wp-block-template-part {
    background-color: #0a2233 !important;
}

.header-main-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px 50px !important; /* Default desktop padding */
}

.header-right-side {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.header-main-container .wp-block-navigation__container {
    align-items: center !important;
}

/* 1.1 ANIMACIÓN DE HOVER EN MENÚ PRINCIPAL (ESTILO EDITORIAL) */
.header-main-container .wp-block-navigation-item .wp-block-navigation-item__content {
    position: relative !important;
    transition: color 0.4s ease !important;
    display: inline-block !important;
    text-decoration: none !important;
}

.header-main-container .wp-block-navigation-item.is-current .wp-block-navigation-item__content,
.header-main-container .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content,
.header-main-container .wp-block-navigation-item:hover .wp-block-navigation-item__content {
    color: #c19b5a !important;
}

.header-main-container .wp-block-navigation-item .wp-block-navigation-item__content::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 0;
    height: 3px;
    background-color: #c19b5a;
    transition: width 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.header-main-container .wp-block-navigation-item.is-current .wp-block-navigation-item__content::after,
.header-main-container .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content::after,
.header-main-container .wp-block-navigation-item:hover .wp-block-navigation-item__content::after {
    width: 100%;
}

.header-link-logo {
    display: flex !important;
    align-items: center !important;
    line-height: 0 !important;
}

.responsive-logo-wrapper {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
}

.responsive-logo-wrapper img {
    width: auto !important;
    height: auto !important;
    max-height: 50px !important;
    flex-shrink: 0 !important; /* Prevent squashing on small screens */
    transition: max-height 0.3s ease;
}

/* 2. COMPORTAMIENTOS BÁSICOS PARA BOTONES DE CABECERA */
.search-btn,
.cta-legal-btn {
    align-self: center;
    flex-shrink: 0;
}

.cta-legal-btn .wp-block-button__link,
.search-btn .wp-block-button__link {
    height: 48px !important;
    /* Altura estandarizada inquebrantable */
    box-sizing: border-box !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.cta-legal-btn .wp-block-button__link {
    gap: 8px;
    /* Espacio entre icono y texto */
}

/* 4. COMPORTAMIENTO DEL BOTÓN "BUSCAR" (Siempre cuadrado) */
.search-btn .wp-block-button__link {
    background-color: transparent !important;
    border: 1px solid var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--primary) !important;
    /* Mismo color del borde */
    width: 48px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Centrado perfecto eliminando márgenes o line-height residual de WordPress */
.search-btn .btn-icon,
.cta-legal-btn .btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    line-height: 0;
}

/* Comportamiento Móvil de Botones (< 1024px) */
@media (max-width: 1023px) {

    /* El botón Consultar se vuelve un cuadrado exacto en móvil */
    .cta-legal-btn .wp-block-button__link {
        width: 48px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Estado Base (Mobile Portrait: < 768px) */
.cta-legal-btn .btn-text {
    display: none;
    /* Ocultar texto en móvil */
}

.cta-legal-btn .btn-icon {
    display: flex;
}

/* 3. COMPORTAMIENTO DEL MENÚ NAVEGACIÓN (Forzar hamburguesa hasta 767px) */
@media (max-width: 767px) {
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none !important;
    }

    .wp-block-navigation__responsive-container-open {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 48px !important;
        width: 48px !important;
        border: 1px solid #ffffff !important;
        /* Changed to white */
        background-color: transparent !important;
        color: #ffffff !important;
        /* Changed lines to white */
        padding: 0 !important;
        margin: 0 !important;
    }

    .wp-block-navigation__responsive-container-open svg {
        fill: #ffffff !important;
        stroke: #ffffff !important;
    }

    /* Move buttons to the left of the hamburger and reduce gap */
    .header-right-side {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 15px !important;
    }

    .header-right-side .wp-block-navigation {
        order: 2 !important;
        /* The whole Nav block goes to the right */
    }

    .header-right-side .wp-block-buttons {
        order: 1 !important;
        /* The whole Buttons block goes to the left */
    }
}

/* --- TRANSICIÓN A (Mobile Landscape / Tablet Portrait: >= 768px) --- */
@media (min-width: 768px) {

    /* Logo */
    .responsive-logo-wrapper img {
        /* max-height: 60px !important; */
    }


}

/* --- TRANSICIÓN B (Tablet Landscape / Desktop: >= 1024px) --- */
@media (min-width: 1024px) {

    /* Logo */
    .responsive-logo-wrapper img {
        /* max-height: 80px !important; */
    }

    /* Mostrar texto del Botón CTA y ocultar ícono para mantener la alineación */
    .cta-legal-btn .btn-text {
        display: inline-flex;
    }

    .cta-legal-btn .btn-icon {
        display: none;
    }
}

/* 5. BUSCADOR FLOTANTE TIPO DROPDOWN */
.floating-search-container {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: transparent !important;
    padding: 20px 20px;
    border-top: none;
    box-shadow: none;

    /* Animación Toggle */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 998;
}

.floating-search-container.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Diseño interno del buscador wp:search */
.floating-search-container .wp-block-search__inside-wrapper {
    max-width: 800px;
    margin: 0 auto;
    border: none;
    padding: 5px;
    /* Separación interna para que el botón parezca encapsulado */
    background-color: #ffffff;
    /* Fondea toda la caja interna en blanco brillante */
    flex-direction: row !important;
    align-items: stretch;
    box-shadow: 0px 15px 50px rgba(0, 0, 0, 0.5);
    /* Sombra añadida solo a la caja blanca */
}

.floating-search-container .wp-block-search__input {
    background-color: transparent !important;
    color: #111111 !important;
    border: none !important;
    margin: 0 !important;
    /* Lupa SVG insertada como fondo directamente en el input */
    background: transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%236b7b8f" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>') no-repeat left 20px center;
    padding: 15px 20px 15px 50px !important;
    font-size: 1rem;
    border-radius: 0 !important;
    flex-grow: 1;
}

.floating-search-container .wp-block-search__input:focus {
    outline: none !important;
    box-shadow: none !important;
}

.floating-search-container .wp-block-search__input::placeholder {
    color: #888888 !important;
    font-weight: normal;
}

.floating-search-container .wp-block-search__button {
    background-color: #05141f !important;
    /* Fondo súper azul oscuro casi negro */
    color: #ffffff !important;
    border: none !important;
    margin: 0 !important;
    padding: 15px 35px !important;
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 0.85rem;
    border-radius: 0 !important;
    transition: background-color 0.3s ease;
    white-space: nowrap;
}

.floating-search-container .wp-block-search__button:hover {
    background-color: var(--wp--preset--color--primary) !important;
}

/* 8. REJILLA RESPONSIVA INTELIGENTE DEL FOOTER (FSE OVERRIDES) */

/* Contenedor principal con padding de WP por defecto */
.footer-grid-container {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr !important; /* 50% para Logo, 25% para cada info */
    column-gap: 60px !important; 
    row-gap: 2rem !important; /* Espacio editorial amplio solicitado */
    align-items: start !important; 
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 50px !important;
}

/* --- BLOQUE DE MÁXIMA ESPECIFICIDAD PARA DISEÑO EDITORIAL DEL FOOTER --- */
/* Movido al final del archivo para asegurar prioridad absoluta */

footer.wp-block-group .footer-logo-switch {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

footer.wp-block-group .footer-logo-switch img {
    flex-shrink: 0 !important;
}

/* Forzar que los hijos de la grilla ocupen su espacio sin ser centrados por WP */
.footer-grid-container>* {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Permitir que la grilla atraviese los contenedores en Mobile y Desktop (Wrappers invisibles) */
.footer-top-group,
.footer-mid-group,
.footer-bottom-group {
    display: contents;
}

/* Logo Visibility Defaults (Desktop) */
.logo-vertical {
    display: none !important;
}

.logo-horizontal {
    display: block !important;
}

/* 1. MOBILE PORTRAIT (< 768px) */
@media (max-width: 767px) {
    .footer-grid-container {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        gap: 40px !important;
    }

    .footer-col-oficina h4,
    .footer-col-contacto h4 {
        margin-bottom: 0.8rem !important;
    }

    /* Logo Switch (Mobile) */
    .logo-vertical {
        display: block !important;
        max-height: 80px !important;
        width: auto;
    }

    .logo-horizontal {
        display: none !important;
    }

    /* Header Specific Adjustment for Mobile */
    .header-main-container {
        padding: 10px 15px !important; /* Minimum padding to maximize space */
    }

    .header-link-logo .logo-horizontal {
        display: none !important;
    }

    .header-link-logo .logo-vertical {
        display: block !important;
        max-height: 50px !important;
        width: auto !important;
    }

    .header-right-side {
        gap: 12px !important; /* Compact gap for mobile buttons */
    }

    /* Hide "CONSULTAR" text on mobile to gain space, keep only icon */
    .cta-legal-btn .btn-text {
        display: none !important;
    }

    .cta-legal-btn .wp-block-button__link {
        padding: 10px !important;
        min-width: 44px !important;
        justify-content: center !important;
    }

    /* Título Enlaces */
    .footer-section-title-enlaces {
        display: none !important;
    }

    /* Redes: Centrado */
    .social-icons-outline {
        justify-content: center !important;
    }

    /* Enlaces: Centrado */
    .footer-nav .wp-block-navigation__container,
    .footer-nav ul.wp-block-navigation__container {
        justify-content: center !important;
    }
}

/* 2. MOBILE LANDSCAPE & TABLET PORTRAIT (768px to 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {

    /* 1. Contenedor principal pasa a Flex Column para apilar grupos */
    .footer-grid-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 40px !important;
        padding: 0 30px !important;
    }

    /* Mantenemos la barra divisoria y el espacio en Tablet */
    body footer .footer-bottom-group {
        margin-top: 40px !important;
        padding-top: 25px !important;
    }

    /* 2. Grupo Superior: Logo + Redes centrados */
    .footer-top-group {
        display: flex;
        /* Desactiva el display: contents global */
        flex-direction: column;
        align-items: center;
        gap: 16px;
        width: 100%;
    }

    /* 3. Grupo Medio: Oficina y Contacto lado a lado */
    .footer-mid-group {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 60px !important;
        width: auto !important;
        max-width: 800px !important;
        margin: 0 auto !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* 4. Grupo Inferior: Menú horizontal */
    .footer-bottom-group {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        align-items: center !important;
        margin-top: 40px !important;
    }

    .footer-col-enlaces {
        width: 100% !important;
    }

    .footer-nav .wp-block-navigation__container {
        flex-direction: row !important;
        justify-content: center !important;
        gap: 40px !important;
    }

    .footer-section-title-enlaces {
        display: none !important;
    }

    .footer-col-links .footer-nav .wp-block-navigation__container,
    .footer-col-links .footer-nav ul.wp-block-navigation__container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 24px;
    }

    /* Logo Switch (Tablet - Use Horizontal) */
    .logo-vertical {
        display: none !important;
    }

    .logo-horizontal {
        display: block !important;
        max-height: 45px !important;
        width: auto;
    }
}

/* 3. DESKTOP (≥ 1024px) */
@media (min-width: 1024px) {
    .footer-grid-container {
        grid-template-columns: 2fr 1fr 1fr !important; /* 50% Logo, 25% c/u info */
        justify-items: start;
        align-items: start !important; /* Forzamos alineación superior en Desktop */
        text-align: left;
    }

    /* 
     * ELIMINANDO EL DISPLAY: CONTENTS DE ESTE GRUPO
     * De este modo Logo y Sociales se convierten en 1 Sola Columna.
     * Nos permite controlar matemáticamente el gap de ambos 
     * acercando los elementos tal y como solicitó el usuario. 
     */
    .footer-top-group {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        /* GAP REDUCIDO: Acerca Logo y Redes Sociales fuertemente */
        grid-column: 1;
        /* Ocupan LA PRIMERA COLUMNA de la grid maestra */
        grid-row: 1 / 3;
        width: 100%;
        margin-top: 0 !important;
    }

    .social-icons-outline {
        margin-top: 0 !important;
    }

    /* Asignar áreas explícitas para hijos remanentes */
    .footer-col-office {
        grid-column: 2;
        grid-row: 1 / 3;
    }

    .footer-col-contact {
        grid-column: 3;
        grid-row: 1 / 3;
    }

    .footer-col-links {
        grid-column: 4;
        grid-row: 1 / 3;
    }

    /* Logo Switch Desktop */
    .logo-vertical {
        display: none !important;
    }

    .logo-horizontal {
        display: block !important;
        max-height: 50px !important;
        width: auto;
    }

    .footer-section-title-enlaces {
        display: block !important;
    }

    .footer-nav .wp-block-navigation__container {
        justify-content: flex-start !important;
    }
}

/* 4. Menú del footer - Ocultar hamburguesa y forzar horizontalidad */
.footer-nav .wp-block-navigation__responsive-container-open {
    display: none !important;
}

/* Estilo movido al bloque final de prioridad para evitar conflictos con WP */

/* 5. Redes Sociales - Reset de Fondos (Outline Puro) */
.social-icons-outline {
    margin-top: 24px !important;
    gap: 15px;
    justify-content: inherit;
}

.social-icons-outline .wp-social-link,
.social-icons-outline .wp-block-social-link-anchor {
    background-color: transparent !important;
    border-radius: 6px !important;
    border: 1px solid var(--wp--preset--color--primary) !important;
    width: 48px !important;
    height: 48px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    padding: 0 !important;
}

/* IMPORTANTE: Sobrescribir colores nativos (rosa/azul) de WP asegurando outline puro */
.social-icons-outline .wp-social-link svg {
    background: transparent !important;
    fill: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--primary) !important;
    width: 20px !important;
    height: 20px !important;
    transition: all 0.3s ease;
}

.social-icons-outline .wp-social-link:hover,
.social-icons-outline .wp-block-social-link-anchor:hover {
    background-color: var(--wp--preset--color--primary) !important;
}

.social-icons-outline .wp-social-link:hover svg,
.social-icons-outline .wp-block-social-link-anchor:hover svg {
    fill: var(--wp--preset--color--base) !important;
    color: var(--wp--preset--color--base) !important;
}

/* ========================================================
   9. CORRECCIÓN FINA DE ALINEACIÓN Y ORIENTACIÓN MENÚ 
   ======================================================== */
@media (min-width: 768px) {

    /* 1. Corrección de Alineación (Oficina & Contacto) */
    /* Fuerza que los hijos se alineen a la parte superior del contenedor Grid/Flex */
    .footer-mid-group,
    .footer-grid-container {
        align-items: start !important;
    }

    /* Resetea los empujes de Gutenberg tanto en los contenedores de columna como en los Títulos */
    .footer-grid-container .footer-col-office,
    .footer-grid-container .footer-col-contact,
    .footer-grid-container .footer-col-links,
    .footer-mid-group .footer-col-office,
    .footer-mid-group .footer-col-contact,
    .footer-col-office h4,
    .footer-col-contact h4,
    .footer-col-office h2,
    .footer-col-contact h2 {
        margin-top: 0 !important;
        margin-block-start: 0 !important;
    }

    /* 2. Corrección de Menú (Enlaces Verticales) */
    /* Ultra-Target estricto para aniquilar la configuración horizontal global de `.footer-nav` */
    .footer-grid-container .footer-col-links .footer-nav .wp-block-navigation__container,
    .footer-grid-container .footer-col-links .footer-nav ul.wp-block-navigation__container {
        display: flex !important;
        flex-direction: column !important;
        /* Apila elementos verticalmente */
        align-items: flex-start !important;
        /* Alinea a la izquierda */
        gap: 12px !important;
        /* Separación vertical */
    }
}

/* ========== SEARCH PAGE STYLES - START ========== */

/* Header y Barra de búsqueda */
.search-results-bar-main .wp-block-search__inside-wrapper {
    max-width: 800px;
    margin: 30px auto 0;
    border: none;
    border-radius: 2px;
    background: var(--wp--preset--color--surface);
    display: flex;
    overflow: hidden;
}

.search-results-bar-main .wp-block-search__input {
    background: transparent;
    border: none;
    font-size: 1.1rem;
    color: var(--wp--preset--color--text-main);
    padding: 16px 24px;
    margin: 0;
    flex-grow: 1;
}

.search-results-bar-main .wp-block-search__input:focus {
    outline: none;
    box-shadow: none;
}

.search-results-bar-main .wp-block-search__button {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    border: none;
    border-radius: 0;
    font-weight: 700;
    padding: 16px 24px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.search-results-bar-main .wp-block-search__button:hover {
    background: #e6b866;
    /* Un tono más brillante del gold */
}

.search-results-bar-main .wp-block-search__button svg {
    fill: currentColor;
    width: 20px;
    height: 20px;
}

/* Lista de resultados responsive */
.search-results-list {
    display: flex;
    flex-direction: column;
    gap: 48px;
    list-style: none;
    padding: 0;
    max-width: 1000px;
    margin: 0 auto;
}

/* Cards de resultados */
.search-result-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: transparent;
    border: none;
}

@media (min-width: 768px) {
    .search-result-card {
        flex-direction: row;
        align-items: center;
        gap: 40px;
    }
}

/* Imagen Destacada */
.search-result-card .antigravity-card-featured-image {
    width: 100%;
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .search-result-card .antigravity-card-featured-image {
        width: 320px;
    }
}

@media (min-width: 1024px) {
    .search-result-card .antigravity-card-featured-image {
        width: 400px;
    }
}

.search-result-card .antigravity-card-featured-image img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    border-radius: 2px;
}

/* Contenido de Card */
.search-result-card .search-card-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Meta Data */
.search-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.search-card-meta .search-card-tag a {
    color: var(--wp--preset--color--primary) !important;
    text-decoration: none;
}

.search-card-meta .meta-separator {
    color: #4b5563;
    margin: 0;
}

.search-card-meta .search-card-date {
    color: var(--wp--preset--color--primary);
}

/* Título */
.search-card-title {
    margin: 0 0 16px 0;
    font-size: 1.5rem;
}

.search-card-title a {
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.search-card-title a:hover {
    color: #e6b866;
}

/* Extracto */
.search-card-excerpt {
    color: var(--wp--preset--color--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 24px 0;
}

/* Enlace Expandir */
.search-card-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--wp--preset--color--primary) !important;
    text-decoration: none;
}

.search-card-link::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    background-color: var(--wp--preset--color--primary);
    transition: width 0.3s ease;
}

.search-card-link:hover::after {
    width: 64px;
}

/* Paginación */
.search-pagination {
    margin-top: 80px;
    margin-bottom: 80px;
}

.search-pagination .wp-block-query-pagination-numbers {
    display: flex !important;
    gap: 12px;
    justify-content: center;
    align-items: center;
}

.search-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    color: var(--wp--preset--color--text-muted);
    border-radius: 0;
    text-decoration: none;
    font-size: 0.875rem;
    font-family: monospace;
    transition: all 0.3s ease;
}

.search-pagination .page-numbers.current,
.search-pagination .page-numbers:not(.dots):hover {
    background: #E8C170;
    /* Gold */
    color: var(--wp--preset--color--base);
}

.search-pagination .page-numbers.dots {
    background: transparent;
    color: var(--wp--preset--color--text-muted);
    border-color: transparent;
}

.search-pagination .wp-block-query-pagination-next,
.search-pagination .wp-block-query-pagination-previous {
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.3s ease;
}

.search-pagination .wp-block-query-pagination-next {
    margin-left: 16px;
}

.search-pagination .wp-block-query-pagination-previous {
    margin-right: 16px;
}

.search-pagination .wp-block-query-pagination-next:hover,
.search-pagination .wp-block-query-pagination-previous:hover {
    color: #E8C170;
}

/* Contador de resultados */
.search-result-count {
    color: var(--wp--preset--color--text-muted);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 auto 32px auto;
    /* Centrado en el viewport pero alineado internamente */
    max-width: 1000px;
    /* Mismo ancho que .search-results-list */
    width: 100%;
    border-left: 2px solid #E8C170;
    padding-left: 16px;
    box-sizing: border-box;
}

.search-result-count .count-number {
    color: #ffffff;
    font-weight: 700;
}

/* ========== SEARCH PAGE STYLES - END ========== */

/* ========== CTA STRATEGIC CONSULTATION SECTION - START ========== */
/* 
 * Este estilo asegura que la franja azul claro siempre sea 100% ancho, 
 * ignorando márgenes del contenedor padre si fuera necesario.
 */
.cta-full-width-section {
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    box-sizing: border-box;
}

.cta-full-width-section h2 {
    font-size: clamp(2rem, 5vw, 3rem) !important;
    max-width: 850px;
    margin: 0 auto !important;
}

/* Ajuste del botón para que coincida con el estilo premium */
.cta-full-width-section button.wp-block-button__link {
    box-shadow: 0 4px 15px rgba(206, 158, 80, 0.3);
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
}

.cta-full-width-section button.wp-block-button__link:hover {
    background-color: #E8C170 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(206, 158, 80, 0.4);
}

@media (max-width: 767px) {
    .cta-full-width-section {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }
}

/* ========== CTA STRATEGIC CONSULTATION SECTION - END ========== */

/* Modal Logic Removed - Consolidated at L1100 */

/* ========== ADVANCED ASYMMETRIC GRID - START ========== */
/* ========== FLEXBOX EDITORIAL RECONSTRUCTION - START ========== */
.antigravity-featured-posts-grid {
    padding: 120px 0;
    margin-bottom: 80px;
    background-color: var(--wp--preset--color--base);
    width: 100%;
}

.featured-posts-container {
    width: 100%;
}

.section-vertical-line {
    width: 2px !important;
    height: auto !important;
    min-height: 80px !important;
    background-color: #ce9e50 !important;
    margin-right: 30px !important;
    flex-shrink: 0 !important;
    display: block !important;
    align-self: stretch !important;
}

.antigravity-featured-posts-grid .featured-posts-header,
.related-posts-header {
    display: flex !important;
    align-items: stretch !important;
    margin-bottom: 40px !important;
    /* Espacio reducido para que las cards suban */
    border-bottom: none !important;
    /* Línea eliminada */
    padding-bottom: 0 !important;
    /* Relleno eliminado */
    position: relative !important;
}

.featured-header-left,
.related-header-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.antigravity-featured-posts-grid .featured-title,
.related-title,
.team-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    margin: 0 0 15px 0 !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-weight: 700 !important;
}

.featured-eyebrow {
    color: #ce9e50 !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    margin-bottom: 10px !important;
    display: block !important;
}

.featured-description {
    color: #ffffff !important;
    font-size: 0.95rem !important;
    margin-top: 10px !important;
    opacity: 0.8 !important;
    line-height: 1.5 !important;
}

.team-subtitle {
    display: block !important;
    margin-top: 10px !important;
    color: #ce9e50 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    opacity: 0.9 !important;
}

/* Services Section Header (Refactored Editorial) */
.services-section-header {
    display: flex !important;
    align-items: stretch !important;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.services-header-left {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

.services-eyebrow {
    color: #ce9e50 !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    margin-bottom: 10px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    display: block !important;
    text-align: left !important;
    width: 100% !important;
}

.services-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    margin: 0 !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-weight: 700 !important;
}

.services-header-right {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
}

.services-header-right .view-all-link {
    color: #ce9e50 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    border-bottom: 1px solid rgba(206, 158, 80, 0.3) !important;
    padding-bottom: 5px !important;
    transition: all 0.3s ease !important;
}

.services-header-right .view-all-link:hover {
    border-bottom-color: #ce9e50 !important;
}

/* 1. El Motor Flexbox (Contenedor Padre) */
.antigravity-featured-posts-grid .antigravity-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-content: flex-start;
    align-items: stretch;
}

/* 2. Geometría y Control de Anchos (Desktop) */
.antigravity-featured-posts-grid .antigravity-card {
    cursor: pointer;
    background-color: #051320;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Post 1 (Destacado): 65% del ancho */
.antigravity-featured-posts-grid .antigravity-card:nth-child(1) {
    flex: 0 0 calc(65% - 15px) !important;
    height: 600px !important;
}

/* Post 2: 35% del ancho */
.antigravity-featured-posts-grid .antigravity-card:nth-child(2) {
    flex: 0 0 calc(35% - 15px) !important;
    height: 600px !important;
}

/* CARDS 3, 4 y 5 (La Fila Inferior - Cuadradas) */
.antigravity-featured-posts-grid .antigravity-card:nth-child(n+3) {
    flex: 0 0 calc(33.333% - 20px) !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
}

/* Estilo Interno (Capas de Fondo) */
.antigravity-featured-posts-grid .antigravity-card .featured-card-image-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.antigravity-featured-posts-grid .antigravity-card .featured-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.antigravity-featured-posts-grid .antigravity-card:hover .featured-card-image {
    transform: scale(1.1);
}

.antigravity-featured-posts-grid .antigravity-card .featured-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: linear-gradient(to top, rgba(5, 19, 32, 0.98) 0%, rgba(5, 19, 32, 0.4) 50%, rgba(5, 19, 32, 0) 100%);
}

.antigravity-featured-posts-grid .antigravity-card .featured-card-content {
    position: relative;
    z-index: 3;
    padding: 40px;
    width: 100%;
    text-align: left;
    box-sizing: border-box;
}

.antigravity-featured-posts-grid .antigravity-card .featured-card-category {
    color: #c19b5a;
    text-transform: uppercase;
    font-size: 0.75rem;
    margin-bottom: 12px;
    letter-spacing: 2px;
    font-weight: 700;
}

.antigravity-featured-posts-grid .antigravity-card .featured-card-title {
    color: #ffffff;
    font-family: var(--wp--preset--font-family--serif);
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    margin: 0;
    line-height: 1.1;
    font-weight: 700;
}

.antigravity-featured-posts-grid .antigravity-card:nth-child(1) .featured-card-title {
    font-size: clamp(2.2rem, 4.5vw, 3.5rem);
}

/* Metadata del Autor (Avatar Circular) */
.antigravity-featured-posts-grid .featured-card-author {
    margin-top: 25px;
}

.antigravity-featured-posts-grid .featured-card-author .antigravity-author-card {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
}

.antigravity-featured-posts-grid .featured-card-author .antigravity-author-card .author-avatar-wrapper {
    width: 32px !important;
    height: 32px !important;
    border-radius: 4px !important;
}

.antigravity-featured-posts-grid .featured-card-author .antigravity-author-card .author-name {
    color: #cbd5e1 !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
}

.antigravity-featured-posts-grid .featured-card-author .antigravity-author-card .author-specialty {
    font-size: 0.65rem !important;
}

.antigravity-featured-posts-grid .featured-card-accent-line {
    width: 0;
    height: 2px;
    background-color: #c19b5a;
    margin-top: 20px;
    transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.antigravity-featured-posts-grid .antigravity-card:hover .featured-card-accent-line {
    width: 60px;
}

/* 4. Reglas Responsivas (RWD) - Blog Cards */

/* Desktop ya está definido arriba como el estado base (1024px+) */

/* TABLET: Card 1 (100%), Cards 2-5 (2 Columnas) */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .antigravity-featured-posts-grid .antigravity-card:nth-child(1) {
        flex: 0 0 100% !important;
        height: 500px !important;
    }

    .antigravity-featured-posts-grid .antigravity-card:nth-child(n+2) {
        flex: 0 0 calc(50% - 15px) !important;
        /* 30px gap / 2 */
        height: 380px !important;
        aspect-ratio: auto !important;
    }
}

/* MOBILE: 1 Columna */
@media screen and (max-width: 767px) {
    .antigravity-featured-posts-grid {
        padding: 40px 0 !important;
    }

    .antigravity-featured-posts-grid .featured-posts-container {
        padding: 0 !important;
    }

    .antigravity-featured-posts-grid .antigravity-grid {
        gap: 20px !important;
    }

    .antigravity-featured-posts-grid .antigravity-card,
    .antigravity-featured-posts-grid .antigravity-card:nth-child(n) {
        flex: 0 0 100% !important;
        height: auto !important;
        min-height: 380px !important;
        aspect-ratio: auto !important;
    }

    .antigravity-featured-posts-grid .antigravity-card:nth-child(1) .featured-card-title {
        font-size: 1.8rem !important;
    }
}

/* ========== FLEXBOX EDITORIAL RECONSTRUCTION - END ========== */

.antigravity-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(14, 20, 30, 0.85);
    z-index: 10000;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
}

.antigravity-modal-overlay.is-active {
    display: flex;
}

.antigravity-modal-overlay.is-visible {
    opacity: 1;
}

.antigravity-modal-content {
    background-color: #0a2233;
    color: var(--wp--preset--color--text-main, #333333);
    border-radius: 8px;
    /* Ligeramente curvo */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
    padding: 40px;

    /* Dimensiones Responsivas Iniciales (Mobile) */
    width: 94%;
    transform: translateY(20px);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.antigravity-modal-overlay.is-visible .antigravity-modal-content {
    transform: translateY(0);
}

/* Breakpoint Tablet */
@media (min-width: 768px) {
    .antigravity-modal-content {
        width: 70%;
        padding: 50px;
    }
}

/* Breakpoint Desktop */
@media (min-width: 1024px) {
    .antigravity-modal-content {
        width: 55%;
        padding: 60px;
    }
}

.antigravity-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: transparent;
    border: 1px solid var(--wp--preset--color--primary, #ce9e50);
    font-size: 24px;
    line-height: 1;
    color: var(--wp--preset--color--primary, #ce9e50);
    transition: all 0.3s ease;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.antigravity-modal-close:hover {
    color: var(--wp--preset--color--primary, #ce9e50);
}

.antigravity-modal-header {
    margin-bottom: 30px;
    text-align: center;
}

.antigravity-modal-header h3 {
    font-family: serif;
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: var(--wp--preset--color--primary, #ce9e50);
}

.antigravity-modal-header p {
    color: #ffffff;
    font-size: 0.95rem;
    margin: 0;
}

/* Formulario */
.antigravity-modal-form {
    display: flex;
    flex-direction: column;
}

.antigravity-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px 25px;
    margin-bottom: 25px;
}

@media (min-width: 768px) {
    .antigravity-form-grid {
        grid-template-columns: 1fr 1fr;
    }

    .antigravity-form-grid .full-width {
        grid-column: span 2;
    }
}

.antigravity-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: left;
}

.antigravity-form-group label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #ffffff;
}

.antigravity-modal-form input[type="text"],
.antigravity-modal-form input[type="email"],
.antigravity-modal-form input[type="tel"],
.antigravity-modal-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background-color: #f7fafc;
    font-size: 1rem;
    color: #2d3748;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    font-family: inherit;
    box-sizing: border-box;
}

.antigravity-modal-form input[type="text"]:focus,
.antigravity-modal-form input[type="email"]:focus,
.antigravity-modal-form input[type="tel"]:focus,
.antigravity-modal-form textarea:focus {
    outline: none;
    border-color: var(--wp--preset--color--primary, #ce9e50);
    box-shadow: 0 0 0 3px rgba(206, 158, 80, 0.15);
    background-color: #ffffff;
}

.antigravity-form-group textarea {
    resize: vertical;
    min-height: 100px;
}

.antigravity-btn-submit {
    background-color: var(--wp--preset--color--primary, #ce9e50);
    color: #ffffff;
    border: none;
    padding: 14px 32px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: background-color 0.3s ease, transform 0.1s ease;
    width: 100%;
    /* Default width mobile */
}

@media (min-width: 768px) {
    .antigravity-btn-submit {
        width: auto;
        /* Auto width on tablet/desktop */
    }
}

.antigravity-btn-submit:hover {
    background-color: #bb8d45;
    /* Darker tone */
}

.antigravity-btn-submit:active {
    transform: translateY(1px);
}

/* ========== MODAL STRATEGIC CONSULTATION - END ========== */

/* ========== HERO EDITORIAL PREMIUM - START ========== */
.antigravity-hero-editorial {
    display: flex;
    align-items: center;
    padding-top: 0 !important;
    margin-top: 0 !important;
    min-height: 70vh !important;
    max-height: 720px !important;
}

@media screen and (max-width: 767px) {
    .antigravity-hero-editorial {
        min-height: 70vh !important;
        max-height: 620px !important;
    }
}

/* Corregir transparencia "lechosa" - Forzar fondo oscuro */
.antigravity-hero-editorial .wp-block-cover__background {
    background-color: var(--wp--preset--color--base) !important;
}


.antigravity-hero-editorial .wp-block-cover__inner-container {
    width: 100%;
    padding-top: 0 !important;
}

.antigravity-hero-editorial .hero-content-wrapper {
    text-align: left;
    width: 100%;
}

/* Forzar unión con el header eliminando el block-gap de WP */
.wp-site-blocks>.antigravity-hero-editorial,
.wp-block-post-content>.antigravity-hero-editorial {
    margin-top: 0 !important;
}

.antigravity-hero-editorial .hero-vertical-line {
    border: none !important;
    border-left: 2px solid #ce9e50 !important;
    height: clamp(50px, 10vh, 100px) !important;
    width: 2px !important;
    margin: 0 0 clamp(20px, 5vh, 40px) 0 !important;
    opacity: 1 !important;
    background-color: transparent !important;
}

.antigravity-hero-editorial .hero-title {
    font-size: clamp(2.5rem, 8vw, 5.5rem);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 30px;
}

.antigravity-hero-editorial .hero-title .accent {
    color: #ce9e50;
    font-style: italic;
}

.antigravity-hero-editorial .hero-description {
    font-size: clamp(1rem, 2vw, 1.25rem);
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    margin-bottom: 50px;
}

.antigravity-hero-editorial .hero-buttons {
    display: flex;
    gap: clamp(10px, 2vw, 20px);
    flex-wrap: wrap;
}

.antigravity-hero-editorial .btn-primary-gold .wp-block-button__link {
    background-color: #ce9e50;
    color: #0a2233;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: clamp(14px, 2vh, 18px) clamp(25px, 3vw, 40px);
    border: none;
    border-radius: 4px;
    font-size: clamp(12px, 1.2vw, 14px);
    display: inline-block;
}

.antigravity-hero-editorial .btn-outline-white .wp-block-button__link {
    background-color: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: clamp(14px, 2vh, 18px) clamp(25px, 3vw, 40px);
    border-radius: 4px;
    font-size: clamp(12px, 1.2vw, 14px);
    transition: all 0.3s ease;
    display: inline-block;
}

@media screen and (max-width: 767px) {
    .antigravity-hero-editorial .hero-buttons {
        flex-direction: column;
        width: 100%;
    }

    .antigravity-hero-editorial .hero-buttons .wp-block-button,
    .antigravity-hero-editorial .hero-buttons .wp-block-button__link {
        width: 100% !important;
        text-align: center !important;
    }
}

.antigravity-hero-editorial .btn-outline-white .wp-block-button__link:hover {
    border-color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* ========== HERO EDITORIAL PREMIUM - END ========== */

/* --- ANTIGRAVITY BLOG GRID REFACTOR --- */

/* 1. Reset Global Sync */
.blog-listing-wrapper .wp-block-query.alignwide {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* 2. Responsive Grid System (Mobile-First 1-2-3) */
/* Selector de máxima especificidad para anular inlines de WP */
html body .blog-listing-wrapper .antigravity-grid.is-layout-grid,
html body .blog-listing-wrapper .wp-block-post-template.is-layout-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    /* Mobile (Pilar Base): 1 Col */
    gap: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    align-items: start !important;
}

/* Tablet (Breakpoint: 768px) */
@media screen and (min-width: 768px) {

    html body .blog-listing-wrapper .antigravity-grid.is-layout-grid,
    html body .blog-listing-wrapper .wp-block-post-template.is-layout-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Desktop (Breakpoint: 1024px) */
@media screen and (min-width: 1024px) {

    html body .blog-listing-wrapper .antigravity-grid.is-layout-grid,
    html body .blog-listing-wrapper .wp-block-post-template.is-layout-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* 3. Post Card Container (Equal Height Logic) */
.blog-listing-wrapper .antigravity-card,
.blog-listing-wrapper .wp-block-post {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    gap: 0 !important;
    /* Unión monolítica */
    transition: all 0.4s ease !important;
    /* Animación de entrada */
}

.blog-listing-wrapper .antigravity-card:hover,
.blog-listing-wrapper .wp-block-post:hover {
    transform: translateY(-8px) !important;
}

/* Destacada: eliminar margen para unión monolítica */
.blog-listing-wrapper .antigravity-card-featured-image,
.blog-listing-wrapper .wp-block-post-featured-image {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    /* Elimina espacio blanco residual */
    flex-shrink: 0 !important;
}

.blog-listing-wrapper .antigravity-card-featured-image img,
.blog-listing-wrapper .wp-block-post-featured-image img {
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    filter: grayscale(100%) brightness(0.8) !important;
    /* Estado inicial como en Team */
    transition: all 0.5s ease !important;
}

.blog-listing-wrapper .antigravity-card:hover .antigravity-card-featured-image img,
.blog-listing-wrapper .wp-block-post:hover .wp-block-post-featured-image img {
    filter: grayscale(0%) brightness(1) !important;
    /* Revelar a color */
}

/* 4. Information Container (The Perfect Card) */
.antigravity-card-content {
    background-color: #020617 !important;
    /* Fondo Ultra Navy preferido por el usuario */
    padding: 32px !important;
    /* Padding profesional */
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    margin-top: -1px !important;
    /* Previene micro-líneas de renderizado */
    transition: background-color 0.4s ease !important;

    /* Mobile: Centrado */
    text-align: center !important;
    align-items: center !important;
}

.blog-listing-wrapper .antigravity-card:hover .antigravity-card-content,
.blog-listing-wrapper .wp-block-post:hover .antigravity-card-content {
    background-color: #0a2233 !important;
    /* Cambio sutil de fondo al hover */
}

/* Tablet/Desktop: Izquierda */
@media screen and (min-width: 768px) {
    .antigravity-card-content {
        text-align: left !important;
        align-items: flex-start !important;
    }
}

/* 5. Typography & Spacing Hierarchy */
.antigravity-card-content p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.antigravity-card-content .antigravity-card-terms:empty,
.antigravity-card-content .wp-block-post-terms:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.antigravity-card-content .antigravity-card-terms,
.antigravity-card-content .wp-block-post-terms {
    color: #c19b5a !important;
    /* Dorado Corporativo */
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    width: 100% !important;
}

.antigravity-card-content .antigravity-card-title,
.antigravity-card-content .wp-block-post-title {
    color: #FFFFFF !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    margin: 0 0 24px 0 !important;
    flex-grow: 1 !important;
    /* Empuja el autor hacia la base (Equal Height) */
    width: 100% !important;
    font-weight: 400 !important;
}

.antigravity-card-content .antigravity-card-title a,
.antigravity-card-content .wp-block-post-title a {
    color: #FFFFFF !important;
    text-decoration: none !important;
}

/* 6. Author Section (Flexbox UI) */
.antigravity-author-card {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    width: 100% !important;
    margin-top: auto !important;
    justify-content: flex-start !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.antigravity-author-card:hover {
    opacity: 0.9 !important;
    transform: translateX(4px) !important;
}

.antigravity-author-card .author-avatar-wrapper {
    width: 50px !important;
    height: 50px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.antigravity-author-card .author-avatar {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.antigravity-author-card .author-data-wrapper {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.antigravity-author-card .author-name {
    color: #ffffff !important;
    font-size: 1rem !important;
    margin: 0 !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    transition: color 0.3s ease !important;
}

.antigravity-author-card:hover .author-name {
    color: var(--wp--preset--color--primary, #ce9e50) !important;
}

.antigravity-author-card .author-specialty {
    color: var(--wp--preset--color--primary, #ce9e50) !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 2px 0 4px 0 !important;
    font-weight: 700 !important;
    display: block !important;
}

.antigravity-author-card .author-post-meta {
    font-size: 0.75rem !important;
    color: rgba(255, 255, 255, 0.5) !important;
    margin: 0 !important;
    display: block !important;
}


/* ========== LINEA 3 TEAM GRID PATTERN - START ========== */

/* ========== EQUIPO JURÍDICO (TEAM SECTION) - START ========== */

.antigravity-team-section {
    padding: 90px 0 !important;
    /* Espaciado ajustado (mitad del anterior) */
    background-color: #051320;
    /* Retornamos al fondo azul profundo anterior */
}

/* Cabecera de la sección */
.team-section-header {
    margin-bottom: 80px;
    display: flex !important;
    align-items: stretch !important;
    gap: 0;
}

.team-header-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex: 1;
    gap: 40px;
}

.team-header-left {
    flex: 1;
}

.featured-header-right {
    flex: 0 1 auto !important;
    text-align: right !important;
    padding-top: 10px !important;
}

.team-title {
    font-family: var(--wp--preset--font-family--serif, serif);
    color: #ffffff;
    font-size: clamp(2.5rem, 5vw, 4rem);
    margin: 0 !important;
    line-height: 1;
}

/* Team subtitle ya heredado de la regla unificada arriba */

.team-corporate-phrase {
    color: #ffffff;
    font-family: var(--wp--preset--font-family--serif, serif);
    font-style: italic;
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 0;
    opacity: 0.7;
    max-width: 420px;
    margin-left: auto;
}

/* Grilla de tarjetas */
.linea3-team-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .linea3-team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (min-width: 1024px) {
    .linea3-team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Card del Profesional */
.linea3-team-card {
    background-color: #071a2b;
    /* Fondo base (anterior color de hover) */
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* Alineado a la izquierda estricto */
    text-align: left;
    transition: all 0.4s ease;
    border: none;
    height: 100%;
    box-sizing: border-box;
}

.linea3-team-card:hover {
    transform: translateY(-8px);
    background-color: #0a2233;
    /* Nuevo color de hover ligeramente más claro */
}

/* Imagen Rectangular */
.linea3-team-card-image-wrap {
    width: 100%;
    aspect-ratio: 1 / 1.15;
    /* Rectangular fiel a la referencia */
    overflow: hidden;
    margin-bottom: 28px;
    border: none;
    padding: 0;
}

.linea3-team-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    filter: grayscale(100%) brightness(0.8);
    transition: all 0.5s ease;
}

.linea3-team-card:hover .linea3-team-card-image {
    filter: grayscale(0%) brightness(1);
}

/* Tipografía de la Card */
.linea3-team-job-title {
    color: #c19b5a;
    /* Dorado */
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0 0 10px 0;
}

.linea3-team-name {
    font-family: var(--wp--preset--font-family--serif, serif);
    color: #ffffff;
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.linea3-team-specialty {
    color: #a0a0a0;
    font-size: 14px;
    margin: 0 0 20px 0;
    opacity: 0.8;
}

/* Redes Sociales a la Izquierda */
.linea3-team-socials {
    margin-top: auto;
    width: 100%;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.linea3-team-social-icons {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
}

.linea3-team-social-icons a,
.linea3-team-social-icons span {
    color: #c19b5a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    opacity: 0.8;
}

.linea3-team-social-icons a:hover {
    color: #ffffff;
    opacity: 1;
    transform: translateY(-2px);
}

.linea3-team-icon-share {
    cursor: pointer;
}

@media screen and (max-width: 767px) {
    .team-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .team-corporate-phrase {
        text-align: left !important;
        margin-left: 0;
    }
}

/* ========== EQUIPO JURÍDICO - END ========== */

/* ========== ARQUITECTURA FRONTEND V10: MAXIMUM SPECIFICITY & FORCE ========== */

/* ========================================================
   11. LAYOUT PRO: SINGLE POST REFACTOR (CINEMATIC)
   ======================================================== */

/* Aislamiento y Reseteo del Contenedor Main */
main.single-post-layout-pro {
    background-color: var(--wp--preset--color--base);
    overflow-x: hidden;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}

/* 1. HERO SECTION: Título antes de la imagen */
.single-post-layout-pro .single-post-hero-section {
    width: 90%;
    max-width: 960px;
    /* Aligned with info box and content */
    margin: 80px auto 60px;
    padding: 0 0 0 32px !important;
    /* Space for the vertical line */
    border-left: 2px solid rgba(212, 168, 83, 0.4);
    /* Suble gold line */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.single-post-layout-pro .single-post-category {
    font-size: clamp(0.75rem, 1vw, 0.85rem);
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--wp--preset--color--primary);
    margin: 0 0 20px 0 !important;
    display: block;
    font-weight: 600;
    line-height: 1;
}

.single-post-layout-pro .single-post-title {
    font-family: var(--wp--preset--font-family--serif, serif) !important;
    font-size: clamp(1.85rem, 4.5vw, 3.25rem) !important;
    /* Refined RWD scale */
    line-height: 1.15 !important;
    color: var(--wp--preset--color--text-main) !important;
    margin: 0 !important;
    font-weight: 700;
}

/* 2. THE STAGE: Imagen Destacada con Breakout real */
.single-post-layout-pro .single-post-featured-img {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 50% !important;
    margin-right: 50% !important;
    transform: translateX(-50%) !important;
    margin-top: 0 !important;
    position: relative;
    z-index: 1;
}

.single-post-layout-pro .single-post-featured-img img {
    width: 100% !important;
    height: 500px !important;
    /* Altura Desktop */
    object-fit: cover !important;
    display: block !important;
}

/* 3. THE ACTOR: Bloque Flotante (Extracto y Autor) */
.single-post-layout-pro .single-post-info-box-container {
    width: 90%;
    max-width: 960px;
    margin: -120px auto 0 !important;
    position: relative !important;
    z-index: 100 !important;
}

.single-post-layout-pro .single-post-info-box-inner {
    background-color: #051320 !important;
    padding: 35px 50px 35px !important;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.single-post-layout-pro .single-post-excerpt {
    font-size: clamp(0.95rem, 1.6vw, 1.15rem);
    /* RWD Excerpt */
    line-height: 1.6;
    color: var(--wp--preset--color--text-main);
    margin-bottom: 0;
    font-weight: 400;
    font-style: italic;
}

/* 4. THE AUTHOR CARD */
.single-post-layout-pro .single-post-author-box,
.single-post-layout-pro .antigravity-author-card {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 25px;
    /* Reducido de 35px */
    padding-top: 25px;
    /* Reducido de 35px */
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Ajustes específicos para el cuadro flotante (Info Box) para controlar la barra condicional y espaciados */
.single-post-info-box-inner .single-post-excerpt,
.single-post-info-box-inner .single-post-excerpt p,
.single-post-info-box-inner .wp-block-post-excerpt__excerpt {
    margin-bottom: 15px !important;
}

.single-post-info-box-inner .single-post-author-box {
    margin-top: 0;
    padding-top: 0;
    border-top: none !important;
}

.single-post-info-box-inner .single-post-author-box.has-divider-top {
    margin-top: 20px;
    padding-top: 35px;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.single-post-layout-pro .single-author-avatar,
.single-post-layout-pro .author-avatar {
    border-radius: 4px;
    width: 64px;
    height: 64px;
    object-fit: cover;
}

.single-post-layout-pro .author-name {
    font-weight: 700;
    font-size: clamp(1.1rem, 1.5vw, 1.25rem);
    margin: 0;
    color: #ffffff;
}

.single-post-layout-pro .author-specialty,
.single-post-layout-pro .author-job-title {
    color: var(--wp--preset--color--primary);
    font-size: clamp(0.75rem, 1vw, 0.85rem);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 4px 0 6px 0;
    font-weight: 600;
}

.single-post-layout-pro .author-post-meta {
    font-size: clamp(0.75rem, 1vw, 0.85rem);
    color: var(--wp--preset--color--text-muted);
    margin: 0;
}

/* 4. CONTENT: Cuerpo del artículo */
.single-post-layout-pro .single-post-content-container {
    width: 90%;
    max-width: 960px;
    margin: 0 auto;
    padding: 50px 0 50px;
}

.single-post-layout-pro .single-post-content-container p {
    font-size: clamp(1.05rem, 1.2vw, 1.15rem);
    /* RWD Body Text */
    line-height: 1.8;
    margin-bottom: 1.5em;
    color: var(--wp--preset--color--text-main);
}

.single-post-layout-pro .single-post-content-container p:last-child {
    margin-bottom: 0 !important;
}

/* 5. PILARES DE RESPONSIVIDAD */
@media screen and (max-width: 1023px) {
    .single-post-layout-pro .single-post-featured-img img {
        height: 300px !important;
        /* Altura Tablet */
    }

    .single-post-layout-pro .single-post-info-box-container,
    .single-post-layout-pro .single-post-content-container {
        max-width: 800px !important;
        /* Mantener ancho original en dispositivos no-desktop */
    }

    .single-post-layout-pro .single-post-info-box-inner {
        padding: 30px 35px !important;
        /* Padding ajustado para Tablet */
    }
}

@media screen and (max-width: 767px) {
    .single-post-layout-pro .single-post-featured-img img {
        height: 220px !important;
        /* Altura Mobile */
    }

    .single-post-layout-pro .single-post-info-box-container {
        margin-top: -40px !important;
        /* Reducción de margen para no tapar el motivo principal */
        width: 94% !important;
    }

    .single-post-layout-pro .single-post-info-box-inner {
        padding: 25px 20px !important;
        /* Padding compacto para Mobile */
    }

    .single-post-layout-pro .single-post-title {
        font-size: 1.85rem !important;
    }

    .single-post-layout-pro .single-post-author-box {
        gap: 15px;
        flex-direction: column;
        align-items: flex-start;
    }

    .single-post-layout-pro .single-author-avatar {
        width: 50px;
        height: 50px;
    }
}


/* ========== 12. RELATED POSTS SECTION ========== */
.related-posts-section {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 40px !important;
    padding-top: 20px !important;
}

.related-posts-header {
    margin-bottom: 50px;
}

.related-header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.related-subtitle {
    color: var(--wp--preset--color--primary);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 700;
    margin: 0;
}

/* Related title ya heredado de la regla unificada arriba */

.view-all-link {
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid rgba(212, 168, 83, 0.3);
    padding-bottom: 4px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.view-all-link:hover {
    border-bottom-color: var(--wp--preset--color--primary);
    color: #ffffff;
}

@media screen and (max-width: 767px) {
    .related-posts-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .related-title {
        font-size: 2rem;
    }
}

/* ========== FIN ARQUITECTURA FRONTEND V10 ========== */
/* ========================================================
   PATTERN: MAPA - NUESTRA SEDE (High Fidelity)
   ======================================================== */
.antigravity-location-section {
    background-color: #051320 !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    color: #ffffff;
}

.antigravity-location-section .location-content-col {
    padding-right: 5%;
}

.antigravity-location-section .location-eyebrow {
    color: #c19b5a !important;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-weight: 700;
    font-size: 0.75rem;
    margin-bottom: 20px !important;
    display: block;
}

.antigravity-location-section .location-title {
    font-family: var(--wp--preset--font-family--serif) !important;
    font-size: 42px !important;
    line-height: 1.1 !important;
    margin-bottom: 35px !important;
    color: #ffffff !important;
    font-weight: 700;
}

.antigravity-location-section .location-separator {
    width: 1px;
    height: 50px;
    background-color: #c19b5a;
    margin: 0 0 40px 0;
    border: none;
    opacity: 1;
}

.antigravity-location-section .info-block {
    margin-bottom: 35px;
}

.antigravity-location-section .info-label {
    color: #c19b5a !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-size: 1.4rem !important;
    font-weight: 600;
    margin-bottom: 12px !important;
    display: block;
}

.antigravity-location-section .info-text {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #94A3B8 !important;
    /* Text muted but readable */
    margin-bottom: 0 !important;
}

.antigravity-location-section .info-text a {
    color: inherit !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

.antigravity-location-section .info-text a:hover {
    color: #c19b5a !important;
}

.location-header {
    display: flex !important;
    align-items: stretch !important;
    margin-bottom: 40px !important;
}

.location-header-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.location-eyebrow {
    margin: 0 !important;
    color: #ce9e50 !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.location-title {
    margin: 10px 0 0 0 !important;
    font-size: clamp(2.2rem, 5vw, 3rem) !important;
    line-height: 1.1 !important;
}

.antigravity-location-section .btn-agendar-visita .wp-block-button__link {
    background-color: transparent !important;
    border: 1px solid #c19b5a !important;
    color: #c19b5a !important;
    border-radius: 0 !important;
    padding: 18px 35px !important;
    font-weight: 700;
    font-size: 0.85rem !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.antigravity-location-section .btn-agendar-visita .wp-block-button__link:hover {
    background-color: #c19b5a !important;
    color: #051320 !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(193, 155, 90, 0.2);
}

/* Cover Logic for "Vínculo Manual" & Photo */
.antigravity-location-cover {
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.antigravity-location-cover:hover {
    transform: scale(1.01);
}

.antigravity-location-cover .btn-view-map .wp-block-button__link {
    background-color: #c19b5a !important;
    color: #051320 !important;
    border-radius: 0 !important;
    font-weight: 700;
    letter-spacing: 2px;
    padding: 15px 30px !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease !important;
}

.antigravity-location-cover .btn-view-map .wp-block-button__link:hover {
    background-color: #ffffff !important;
    color: #051320 !important;
    transform: translateY(-3px);
}

/* Responsive Overrides */
@media (max-width: 1023px) {
    .antigravity-location-section .location-grid {
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .antigravity-location-section {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    .antigravity-location-section .location-content-col {
        padding-right: 0;
        margin-bottom: 50px;
    }

    .antigravity-location-section .location-title {
        font-size: 32px !important;
    }

    .antigravity-location-map-wrapper {
        height: 350px;
        min-height: 350px;
    }

    .antigravity-location-section .location-grid {
        flex-direction: column;
        gap: 30px;
    }
}

/* Tablet Layout for Location Info (768px - 1023px) */
@media (min-width: 768px) {
    .location-info-row {
        display: flex !important;
        gap: 40px !important;
        align-items: flex-start !important;
        margin-bottom: 50px !important;
    }

    .location-info-row .info-main {
        flex: 2 !important;
    }

    .location-info-row .info-contact,
    .location-info-row .info-hours {
        flex: 1 !important;
    }

    /* Centrar botón en Tablet y Mobile */
    .antigravity-location-section .wp-block-buttons {
        justify-content: center !important;
        margin-bottom: 40px !important;
    }
}

/* Resetear centrado del botón solo en Desktop */
@media (min-width: 1024px) {
    .antigravity-location-section .wp-block-buttons {
        justify-content: flex-start !important;
    }
}

/* ========================================================
   PATTERN: MAPA HYBRID (Photo + Interactive Map)
   ======================================================== */
.antigravity-location-section .location-photo-wrap {
    margin-bottom: 30px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.antigravity-location-section .location-photo-wrap img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.antigravity-location-map-container {
    width: 100%;
    height: 100%;
    min-height: 550px;
    background: #0a1622;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.antigravity-location-map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
    filter: grayscale(1) invert(0.92) contrast(1.1) brightness(0.9) hue-rotate(185deg);
}

@media (max-width: 767px) {
    .antigravity-location-map-container {
        height: 400px;
        min-height: 400px;
    }
}

/* ========================================================
   GLOBAL: ALIGNMENT & SYMMETRY (Standard Container)
   ======================================================== */
:root {
    /* Forzar los anchos maestros de WordPress */
    --wp--style--global--content-size: 1400px !important;
    --wp--style--global--wide-size: 1400px !important;
}

.l3-container-standard {
    max-width: var(--wp--style--global--content-size) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 1024px) {
    .l3-container-standard {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Specific Section Alignment Fixes */
.antigravity-hero-editorial .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: 100% !important;
}

/* ========================================================
   SERVICES GRID PATTERN
   ======================================================== */
.l3-services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    width: 100%;
    margin-bottom: 30px !important;
}

@media (min-width: 768px) {
    .l3-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .l3-services-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Service Card Effects & Structure */
.l3-service-card {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    margin: 0 !important;
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.l3-service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

/* Animación de barrido para toda la tarjeta (Hacia Cuadrante 1) */
@keyframes full-card-shimmer {
    0% {
        left: -100%;
        top: 100%;
    }

    100% {
        left: 100%;
        top: -100%;
    }
}

/* Efecto de reflejo cristalino sobre toda la tarjeta */
.l3-service-card::before {
    content: "";
    position: absolute;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 45%,
            rgba(255, 255, 255, 0.12) 50%,
            rgba(255, 255, 255, 0) 55%,
            rgba(255, 255, 255, 0) 100%);
    z-index: 3;
    pointer-events: none;
    animation: full-card-shimmer 5s infinite linear;
}

/* Animación de reflejo metálico constante */
@keyframes metallic-shine {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 200% 50%;
    }
}

/* Borde superpuesto (Efecto Oro Metálico Animado) */
.l3-service-card::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border-radius: 8px !important;
    z-index: 10 !important;
    pointer-events: none !important;
    display: block !important;

    padding: 2px !important;

    /* Gradiente dorado con puntos de luz blanca integrados */
    background: linear-gradient(110deg,
            #8e6d31 0%,
            #ce9e50 20%,
            #f7e0a3 40%,
            #ffffff 50%,
            #f7e0a3 60%,
            #ce9e50 80%,
            #8e6d31 100%) border-box !important;

    background-size: 300% 100% !important;
    animation: metallic-shine 4s infinite linear !important;

    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out !important;
    mask-composite: exclude !important;

    opacity: 0.6 !important;
    transition: opacity 0.4s ease !important;
}

/* ========== ENFOQUE DERECHO - RESPONSIVE OPTIMIZATION ========== */
@media (max-width: 768px) {
    .l3-enfoque-container {
        padding: 40px 15px !important;
    }

    .l3-enfoque-title {
        font-size: 2rem !important;
        line-height: 1.2 !important;
    }

    .l3-enfoque-cell {
        padding: 15px 10px !important;
        font-size: 0.85rem !important;
        line-height: 1.3 !important;
    }

    /* Columna de etiquetas fija y estrecha en móvil */
    .l3-enfoque-cell.feature-cell {
        flex: 0 0 50px !important;
        min-width: 50px !important;
        padding: 10px 5px !important;
        font-size: 0.7rem !important;
        text-transform: uppercase;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        white-space: nowrap;
        letter-spacing: 0.1em;
        font-weight: 700 !important;
    }

    /* Logo más pequeño en la tabla */
    .l3-enfoque-logo {
        max-width: 80px !important;
    }

    .l3-enfoque-cell.label-cell {
        font-size: 0.9rem !important;
        font-weight: 700 !important;
    }

    /* Ajuste para que las celdas de contenido se repartan el resto */
    .l3-enfoque-cell.content-cell {
        flex: 1 !important;
    }

    /* Reducir espacio inferior de la frase final */
    .l3-enfoque-footer {
        padding-top: 30px !important;
    }
    
    .l3-enfoque-footer-text {
        font-size: 1.1rem !important;
    }
}

.l3-service-card:hover::after {
    opacity: 1 !important;
    animation-duration: 2s !important;
    /* El reflejo se acelera al hacer hover */
}

/* Desincronización de animaciones para un efecto más natural */
.l3-services-grid .l3-service-card:nth-child(2n)::before,
.l3-services-grid .l3-service-card:nth-child(2n)::after {
    animation-delay: -1.2s !important;
}

.l3-services-grid .l3-service-card:nth-child(3n)::before,
.l3-services-grid .l3-service-card:nth-child(3n)::after {
    animation-delay: -2.4s !important;
}

.l3-services-grid .l3-service-card:nth-child(4n)::before,
.l3-services-grid .l3-service-card:nth-child(4n)::after {
    animation-delay: -3.6s !important;
}

.l3-services-grid .l3-service-card:nth-child(5n)::before,
.l3-services-grid .l3-service-card:nth-child(5n)::after {
    animation-delay: -0.8s !important;
}

.l3-service-card .wp-block-cover__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background-color: #0a2233;
    opacity: 0.35;
    transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.l3-service-card:hover .wp-block-cover__background {
    opacity: 0.85 !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.l3-service-card .wp-block-cover__image-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    transition: transform 1.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.l3-service-card:hover .wp-block-cover__image-background {
    transform: scale(1.18) !important;
}

.l3-service-card .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 40px !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Contenedor extra para que la animación fluya mejor */
.l3-service-card .wp-block-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.l3-service-card .service-icon {
    width: 90px;
    height: 90px;
    object-fit: contain;
    margin-bottom: 10px;
    filter: brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0, 0, 0, 0.6));
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.l3-service-card h3 {
    font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
    line-height: 1.1 !important;
    margin-bottom: 0 !important;
    font-weight: 700 !important;
    color: #ce9e50 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.l3-service-card .service-excerpt {
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
    font-size: .95rem !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
}

.l3-service-card:hover h3 {
    margin-bottom: 15px !important;
}

.l3-service-card:hover .service-excerpt {
    opacity: 1 !important;
    max-height: 300px !important;
    visibility: visible !important;
}

/* Button with Arrow in Circle */
.l3-btn-arrow .wp-block-button__link {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 1.2rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 15px !important;
    transition: opacity 0.3s ease !important;
}

.l3-btn-arrow .wp-block-button__link:hover {
    opacity: 0.9 !important;
    background: transparent !important;
}

.l3-btn-arrow .wp-block-button__link::after {
    content: "→";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: #ffffff;
    color: #0a2233;
    font-size: 1.4rem;
    font-family: Arial, sans-serif;
    transition: all 0.3s ease;
}

.l3-btn-arrow .wp-block-button__link:hover::after {
    background-color: #ce9e50;
    color: #ffffff;
}

/* ========================================================
   ALLIES SLIDER PATTERN
   ======================================================== */
.l3-allies-section {
    background-color: #0a2233 !important;
    /* Mismo color que el header */
    padding: 100px 0 !important;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    overflow: hidden !important;
}

.l3-allies-section h3 {
    color: #0a2233 !important;
    font-weight: 700 !important;
    margin-bottom: 50px !important;
    font-family: var(--wp--preset--font-family--serif) !important;
}

.l3-enfoque-table-wrapper {
    position: relative !important;
    width: 100% !important;
    z-index: 10 !important;
    background-color: transparent !important;
    /* Limpieza de fondo */
}

.l3-allies-slider-container {
    position: relative !important;
    width: 100% !important;
    max-width: 1440px !important;
    /* Ajustado a 1440px según tus pruebas */
    margin: 0 auto !important;
    padding-left: 20px !important;
    /* Margen de seguridad perpetuo */
    padding-right: 20px !important;
    /* Margen de seguridad perpetuo */
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.l3-allies-slider-viewport {
    overflow: hidden !important;
    width: 100% !important;
    padding: 10px 45px !important;
    position: relative !important;
}

/* Máscaras de degradado lateral */
.l3-allies-slider-viewport::before,
.l3-allies-slider-viewport::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100px !important;
    z-index: 5 !important;
    pointer-events: none !important;
    /* Permite hacer clic a través del degradado */
}

.l3-allies-slider-viewport::before {
    left: 0 !important;
    background: linear-gradient(to right, #0a2233 0%, rgba(10, 34, 51, 0) 100%) !important;
}

.l3-allies-slider-viewport::after {
    right: 0 !important;
    background: linear-gradient(to left, #0a2233 0%, rgba(10, 34, 51, 0) 100%) !important;
}

.l3-allies-slider-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform !important;
}

.ally-card {
    background: #ffffff !important;
    border-radius: 4px !important;
    padding: 20px !important;
    flex: 0 0 220px !important;
    /* Ancho fijo para mantener la fila */
    height: 100px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.4s ease !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

@media (max-width: 767px) {
    .ally-card {
        flex: 0 0 160px !important;
        height: 80px !important;
        padding: 15px !important;
    }
}

.ally-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important;
    border-color: #ce9e50 !important;
}

.ally-card img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    filter: grayscale(1) opacity(0.5) !important;
    transition: all 0.5s ease !important;
}

.ally-card:hover img {
    filter: grayscale(0) opacity(1) !important;
}

/* Navigation Buttons */
.l3-slider-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background: #ce9e50 !important;
    border: none !important;
    border-radius: 4px !important;
    /* Estilo cuadradito */
    box-shadow: 0 4px 10px rgba(206, 158, 80, 0.2) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    transition: all 0.3s ease !important;
    color: #0a2233 !important;
}

.l3-slider-btn:hover {
    background: #b88b42 !important;
    /* Un dorado un poco más oscuro al hover */
    transform: translateY(-50%) scale(1.05) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15) !important;
}

.l3-slider-btn.prev {
    left: 20px !important;
}

.l3-slider-btn.next {
    right: 20px !important;
}

/* Refuerzo de margen para móviles y tablets */
@media (max-width: 1024px) {
    body .l3-container-standard {
        padding-left: 20px !important;
        padding-right: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

.l3-slider-btn svg {
    width: 22px !important;
    height: 22px !important;
    stroke-width: 2.5 !important;
}

/* Centered Header for Allies */
.l3-allies-header-centered {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin-bottom: 60px !important;
    width: 100% !important;
}

.l3-allies-header-centered .services-eyebrow {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    width: 100% !important;
}

.l3-allies-header-centered .services-title {
    text-align: center !important;
    width: 100% !important;
    color: #ffffff !important;
}

/* ========================================================
   MODAL TEAM CONTACT (Split Layout)
   ======================================================== */
.team-contact-split-content {
    max-width: 850px !important;
}

.team-contact-sidebar {
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.team-contact-sidebar-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.team-contact-sidebar-overlay {
    position: relative;
    z-index: 2;
    padding: 20px;
    background: rgba(10, 34, 51, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.team-contact-sidebar-overlay h3 {
    margin-top: 0;
    color: #ffffff !important;
    font-size: 1.5rem;
    margin-bottom: 8px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.team-contact-sidebar-overlay p {
    font-size: 0.95rem;
    color: #e2e8f0 !important;
    margin-bottom: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

@media (min-width: 768px) {
    .team-contact-split-layout {
        display: flex;
        flex-direction: row;
        gap: 30px;
    }

    .team-contact-sidebar {
        flex: 1;
        margin-bottom: 0;
        min-height: 100%;
    }

    .team-contact-form-area {
        flex: 2;
        padding: 10px 0;
    }
}

/* Custom File Input Styling ("Browse...") */
.antigravity-team-contact-form input[type="file"] {
    color: #64748b;
    font-size: 0.9rem;
    padding: 10px 0;
    width: 100%;
}

.antigravity-team-contact-form input[type="file"]::file-selector-button {
    background-color: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    padding: 8px 16px;
    color: #0a2233;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-right: 15px;
}

.antigravity-team-contact-form input[type="file"]::file-selector-button:hover {
    background-color: #e2e8f0;
    border-color: #94a3b8;
    color: #ce9e50;
}

/* ==========================================================================
   PERFIL DETALLADO DE AUTOR (AUTHOR PROFILE)
   ========================================================================== */

.l3-author-profile-wrapper {
    width: 90% !important;
    max-width: 1200px !important;
    margin: 60px auto !important;
    color: #ffffff;
}

/* Header */
.l3-author-profile-header {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: center;
    margin-bottom: 60px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.l3-author-profile-title-col {
    flex: 1 1 500px;
    padding-left: 25px;
}

.l3-author-role-eyebrow {
    color: #ce9e50;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    font-style: italic;
}

.l3-author-name-huge {
    font-family: var(--wp--preset--font-family--serif);
    font-size: clamp(3rem, 5vw, 4.5rem);
    line-height: 1.1;
    margin: 0 0 30px 0;
    font-weight: 700;
}

.l3-author-quote-wrapper {
    margin-top: 30px;
}

.l3-author-quote-text {
    font-size: 1.25rem;
    font-style: italic;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin: 0;
}

.l3-author-profile-image-col {
    flex: 0 1 450px;
    display: flex;
    justify-content: center;
}

.l3-author-image-frame {
    position: relative;
    padding: 15px;
    border: 1px solid rgba(206, 158, 80, 0.5);
    /* Gold border */
    border-radius: 8px;
    background-color: var(--wp--preset--color--base);
}

.l3-author-image {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 4px;
}

.l3-author-image-accent {
    position: absolute;
    bottom: -15px;
    right: -15px;
    width: 50px;
    height: 50px;
    background-color: #ce9e50;
    color: var(--wp--preset--color--base);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

/* Content Columns */
.l3-author-profile-content {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.l3-author-sidebar {
    flex: 0 1 300px;
}

.l3-sidebar-title {
    font-family: var(--wp--preset--font-family--serif);
    color: #ce9e50;
    font-size: 2rem;
    margin-bottom: 40px;
    font-weight: 600;
}

.l3-sidebar-block {
    margin-bottom: 40px;
    border-left: 3px solid #ce9e50;
    padding: 25px 20px;
    background-color: #0d1b2a;
    /* Slightly lighter than the main dark background */
    border-radius: 0 4px 4px 0;
}

.l3-sidebar-subtitle {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 15px;
}

.l3-sidebar-text {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #ffffff;
    font-family: var(--wp--preset--font-family--serif);
}

.l3-languages-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.l3-languages-list li {
    font-size: 0.95rem;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
}

.l3-lang-bullet {
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #ce9e50;
    border-radius: 50%;
    margin-right: 10px;
}

.l3-author-main-text {
    flex: 1 1 500px;
}

.l3-trajectory-text {
    font-size: 1.1rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
}

.l3-trajectory-text>p:first-of-type::first-letter {
    float: left;
    font-family: var(--wp--preset--font-family--serif);
    font-size: 5rem;
    line-height: 0.8;
    color: #ce9e50;
    padding-right: 15px;
    padding-top: 10px;
}



@media (max-width: 768px) {

    .l3-author-profile-header,
    .l3-author-profile-content {
        gap: 30px;
    }

    .l3-author-profile-title-col,
    .l3-author-profile-image-col {
        flex: 1 1 100%;
    }

    .l3-author-image-frame {
        width: 100%;
    }

    .l3-trajectory-text>p:first-of-type::first-letter {
        font-size: 4rem;
    }
}

/* ==========================================================================
   HORIZONTAL CARDS (AUTHOR PROFILE)
   ========================================================================== */

.l3-horizontal-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    background: #020914 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin-bottom: 30px !important;
    transition: all 0.4s ease !important;
    height: 320px !important;
    /* Altura uniforme para todas las cards */
}

.l3-horizontal-card:hover {
    transform: translateY(-8px) !important;
}

.l3-horizontal-card .wp-block-post-featured-image {
    flex: 0 0 40% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.l3-horizontal-card .wp-block-post-featured-image a {
    display: block !important;
    height: 100% !important;
    width: 100% !important;
}

.l3-horizontal-card .wp-block-post-featured-image img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    aspect-ratio: auto !important;
    min-height: 250px !important;
    filter: grayscale(100%) brightness(0.8) !important;
    transition: all 0.5s ease !important;
}

.l3-horizontal-card:hover .wp-block-post-featured-image img {
    filter: grayscale(0%) brightness(1) !important;
}

.l3-horizontal-card .antigravity-card-content {
    flex: 1 1 60% !important;
    margin-top: 0 !important;
    overflow: hidden !important;
    /* Previene desbordamiento si el título es muy largo */
}

/* Ajustes para el contenido de la card */
.l3-horizontal-card .antigravity-card-content {
    flex: 1 1 60% !important;
    margin-top: 0 !important;
    overflow: hidden !important;
}

/* Link "VER TODAS" en el encabezado */
.l3-view-all-link {
    color: #c19b5a !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-bottom: 1px solid rgba(193, 155, 90, 0.4) !important;
    padding-bottom: 5px !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
}

.l3-view-all-link:hover {
    color: #FFFFFF !important;
    border-bottom-color: #FFFFFF !important;
}

@media (max-width: 768px) {
    .team-header-content {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
    }

    .team-header-right {
        width: 100% !important;
        text-align: left !important;
    }
}

@media (max-width: 768px) {
    .l3-horizontal-card {
        flex-direction: column !important;
        height: auto !important;
        /* Permitir que crezca en móvil */
    }

    .l3-horizontal-card .wp-block-post-featured-image {
        flex: 0 0 auto !important;
    }

    .l3-horizontal-card .wp-block-post-featured-image img {
        aspect-ratio: 16/9 !important;
        min-height: auto !important;
        height: auto !important;
    }
}

/* ==========================================================================
   PATRÓN: MODALIDADES DE SERVICIO LEGAL  (v2 — diseño editorial centrado)
   Blindaje Continuo | Intervención Estratégica
   ========================================================================== */

/* --- Sección contenedora ------------------------------------------------- */
.l3-modalidades-section {
    position: relative;
}

/* --- Encabezado de sección: centrado, sin línea vertical ----------------- */
.l3-modalidades-header {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 56px !important;
}

.l3-modalidades-section .section-vertical-line {
    display: none !important;
}

.l3-modalidades-section .services-eyebrow {
    text-align: center !important;
    width: 100% !important;
}

.l3-modalidades-section .services-title {
    font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
    text-align: center !important;
    color: #F8FAFC !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

/* --- Columna (stretch para igual altura) --------------------------------- */
.l3-modalidad-card {
    display: flex !important;
    flex-direction: column !important;
}

/* --- Contenedor interior: centrado, sombra, hover lift ------------------- */
.l3-modalidad-inner {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    height: 100% !important;
    background-color: #05111b !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;
    padding-top: 0 !important;
    /* Handled by badge and internal spacing */
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
        box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    overflow: visible !important;
    /* Allow ribbon ears to stick out */
}

/* Horizontal line behind the badge */
.l3-modalidad-inner::before {
    content: "" !important;
    position: absolute !important;
    top: 50px !important;
    left: 10% !important;
    right: 10% !important;
    height: 1px !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    z-index: 1 !important;
}

.l3-modalidad-inner:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.65), 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}

/* --- Ícono SVG: oculto (reemplazado visualmente por el badge) ------------ */
.l3-modalidad-icon {
    display: none !important;
}

.l3-modalidad-badge {
    position: relative !important;
    display: inline-block !important;
    padding: 12px 24px 22px 24px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    margin-bottom: 40px !important;
    line-height: 1.2 !important;
    clip-path: polygon(0% 0%, 100% 0%, 100% 80%, 50% 100%, 0% 80%) !important;
    z-index: 10 !important;
    margin-top: 25px !important;
}

/* Ribbon ears */
.l3-modalidad-badge::before,
.l3-modalidad-badge::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    width: 0 !important;
    height: 0 !important;
    border-style: solid !important;
    z-index: -1 !important;
}

.l3-modalidad-badge::before {
    left: -12px !important;
    border-width: 0 12px 12px 0 !important;
}

.l3-modalidad-badge::after {
    right: -12px !important;
    border-width: 12px 12px 0 0 !important;
}

.l3-modalidad-blindaje .l3-modalidad-badge {
    background-color: #b89664 !important;
    color: #ffffff !important;
}

.l3-modalidad-blindaje .l3-modalidad-badge::before {
    border-color: transparent #8e7045 transparent transparent !important;
}

.l3-modalidad-blindaje .l3-modalidad-badge::after {
    border-color: #8e7045 transparent transparent transparent !important;
}

.l3-modalidad-intervencion .l3-modalidad-badge {
    background-color: #9b624c !important;
    color: #ffffff !important;
}

.l3-modalidad-intervencion .l3-modalidad-badge::before {
    border-color: transparent #7a4a38 transparent transparent !important;
}

.l3-modalidad-intervencion .l3-modalidad-badge::after {
    border-color: #7a4a38 transparent transparent transparent !important;
}

/* --- Encabezado de tarjeta: grande, serif, centrado ---------------------- */
.l3-modalidad-inner h3.wp-block-heading {
    font-size: clamp(2.2rem, 4vw, 3.2rem) !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    margin-bottom: 24px !important;
    color: #ffffff !important;
}

/* --- Separador: 60px centrado -------------------------------------------- */
.l3-modalidad-inner hr.wp-block-separator {
    width: 80px !important;
    height: 1px !important;
    border: none !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
    margin: 0 auto 32px auto !important;
}

/* --- Descripción centrada ------------------------------------------------- */
.l3-modalidad-inner p:not(.l3-modalidad-badge) {
    text-align: center !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    color: #94a3b8 !important;
    max-width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- Lista de beneficios: centrada visualmente, texto left --------------- */
.l3-modalidad-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-block !important;
    text-align: left !important;
    width: fit-content !important;
    max-width: 100% !important;
}

/* Bullet dorado — tarjeta Blindaje */
.l3-modalidad-blindaje .l3-modalidad-list li {
    padding-left: 22px !important;
    position: relative !important;
    margin-bottom: 10px !important;
}

.l3-modalidad-blindaje .l3-modalidad-list li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 8px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background-color: #D4A853 !important;
}

/* Bullet ámbar — tarjeta Intervención */
.l3-modalidad-intervencion .l3-modalidad-list li {
    padding-left: 22px !important;
    position: relative !important;
    margin-bottom: 10px !important;
}

.l3-modalidad-intervencion .l3-modalidad-list li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 8px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background-color: #C8782A !important;
}

/* --- Botón ámbar (Intervención) ------------------------------------------ */
.l3-btn-amber .wp-block-button__link {
    background-color: #C8782A !important;
    color: #F8FAFC !important;
    border-radius: 2px !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
}

.l3-btn-amber .wp-block-button__link:hover {
    background-color: #a85e20 !important;
    transform: translateY(-2px) !important;
}

.l3-modalidad-blindaje .btn-primary-gold .wp-block-button__link:hover {
    transform: translateY(-2px) !important;
}

/* --- Responsive: apilamiento en móvil ------------------------------------ */
@media (max-width: 599px) {
    .l3-modalidades-section .wp-block-columns {
        flex-direction: column !important;
    }

    .l3-modalidades-section .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .l3-modalidad-inner {
        border-radius: 4px !important;
    }
}


/* --- Tercera tarjeta: Litigio Estratégico (teal/esmeralda) --------------- */

/* Badge teal */
/* Badge teal refined with ribbon ears */
.l3-modalidad-litigio .l3-modalidad-badge {
    background-color: #3b8e7c !important;
    color: #ffffff !important;
}

.l3-modalidad-litigio .l3-modalidad-badge::before {
    border-color: transparent #2a6b5d transparent transparent !important;
}

.l3-modalidad-litigio .l3-modalidad-badge::after {
    border-color: #2a6b5d transparent transparent transparent !important;
}

/* Bullet esmeralda */
.l3-modalidad-litigio .l3-modalidad-list li {
    padding-left: 22px !important;
    position: relative !important;
    margin-bottom: 10px !important;
}

.l3-modalidad-litigio .l3-modalidad-list li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 8px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background-color: #1a8870 !important;
}

/* Botón teal */
.l3-btn-teal .wp-block-button__link {
    background-color: #1a8870 !important;
    color: #F8FAFC !important;
    border-radius: 2px !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
}

.l3-btn-teal .wp-block-button__link:hover {
    background-color: #126456 !important;
    transform: translateY(-2px) !important;
}

/* En 3 columnas, ajuste de heading para evitar desbordamiento en pantallas medianas */
@media (min-width: 600px) and (max-width: 1024px) {
    .l3-modalidades-section .wp-block-columns .l3-modalidad-inner h3.wp-block-heading {
        font-size: clamp(1.5rem, 2.5vw, 2.2rem) !important;
    }
}

/* Responsive: asegurar apilamiento en móvil */
@media (max-width: 599px) {
    .l3-modalidades-section .wp-block-columns {
        flex-direction: column !important;
    }

    .l3-modalidades-section .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .l3-modalidad-inner {
        border-radius: 4px !important;
    }
}

/* --- Cobertura Legal Estratégica Section --------------------------------- */
.l3-cobertura-section {
    position: relative !important;
    background-color: #020d16 !important;
    /* Very dark navy from Image 3 */
    padding: 100px 20px !important;
    overflow: hidden !important;
}

.l3-cobertura-watermark {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

.l3-cobertura-watermark img {
    width: auto !important;
    height: auto !important;
    max-width: 60% !important;
    max-height: 85% !important;
    opacity: 0.04 !important;
    flex-shrink: 0 !important;
    display: block !important;
    object-fit: contain !important;
}

.l3-cobertura-container {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.l3-cobertura-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 50px !important;
}

.l3-cobertura-eyebrow,
.l3-cobertura-section .services-eyebrow {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #b89664 !important;
    /* Gold */
    margin-bottom: 12px !important;
    text-align: center !important;
}

.l3-cobertura-title {
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    color: #ffffff !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    line-height: 1.1 !important;
}

.l3-cobertura-grid {
    display: flex !important;
    gap: 30px !important;
    align-items: flex-start !important;
    /* Align cards at the top */
    margin-bottom: 60px !important;
}

.l3-cobertura-card {
    flex: 1 !important;
    background: rgba(255, 255, 255, 0.03) !important;
    padding: 30px !important;
    transition: background 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Línea estática base */
.l3-cobertura-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background-color: rgba(184, 150, 100, 0.2) !important;
    /* Gold subtle */
    z-index: 5 !important;
}

/* Línea animada (Barrita acentuada) */
.l3-cobertura-card::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 40px !important;
    height: 2px !important;
    background-color: #b89664 !important;
    /* Gold solid */
    transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    z-index: 10 !important;
}

.l3-cobertura-card:hover::after {
    width: 100% !important;
}

.l3-cobertura-card:hover {
    background: rgba(255, 255, 255, 0.05) !important;
}

.l3-cobertura-card h3 {
    font-size: 1.4rem !important;
    color: #b89664 !important;
    /* Gold */
    margin-bottom: 20px !important;
    font-family: var(--wp--preset--font-family--serif) !important;
}

.l3-cobertura-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.l3-cobertura-list li {
    color: #94a3b8 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-bottom: 12px !important;
    padding-left: 20px !important;
    position: relative !important;
}

.l3-cobertura-list li::before {
    content: "•" !important;
    position: absolute !important;
    left: 0 !important;
    color: #b89664 !important;
}

.l3-cobertura-footer-text {
    font-size: 1.25rem !important;
    color: #b89664 !important;
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-style: italic !important;
    line-height: 1.5 !important;
}

@media (max-width: 768px) {
    .l3-cobertura-grid {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 20px !important;
    }

    .l3-cobertura-card {
        width: 100% !important;
    }

    .l3-cobertura-watermark img {
        max-width: 85% !important;
        max-height: 70% !important;
    }
}

.l3-cobertura-section .l3-cobertura-watermark {
    display: none !important;
}

/* --- Experiencia Legal Section ------------------------------------------- */
.l3-experiencia-section {
    position: relative !important;
    background-color: #020d16 !important;
    padding: 120px 20px !important;
    overflow: hidden !important;
}

/* Reusar watermark logic */
.l3-experiencia-section .l3-cobertura-watermark img {
    opacity: 0.04 !important;
}

.l3-experiencia-container {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.l3-experiencia-grid {
    display: flex !important;
    gap: 60px !important;
    align-items: stretch !important;
}

.l3-experiencia-col-left {
    flex: 1.2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.l3-experiencia-header {
    position: relative !important;
    padding-left: 30px !important;
    margin-bottom: 40px !important;
}

/* Ocultamos el eyebrow de reserva si ya existe el HTML real para evitar duplicados */
.l3-experiencia-header .l3-experiencia-eyebrow+h2::before,
.l3-experiencia-header .l3-experiencia-eyebrow+h2::after {
    display: none !important;
}

.l3-experiencia-eyebrow {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #b89664 !important;
    margin-bottom: 15px !important;
    display: block !important;
}

.l3-experiencia-col-left h2 {
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    margin-bottom: 25px !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    max-width: 90% !important;
    position: relative !important;
}

/* Fallback para el eyebrow */
.l3-experiencia-col-left h2::before {
    content: "NUESTRA FILOSOFÍA" !important;
    position: absolute !important;
    top: -25px !important;
    left: 0 !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #b89664 !important;
    font-family: var(--wp--preset--font-family--sans-serif) !important;
}

/* Línea lateral vinculada al título - Ajustamos posición */
.l3-experiencia-col-left h2::after {
    content: "" !important;
    position: absolute !important;
    top: -25px !important;
    bottom: 5px !important;
    left: -30px !important;
    width: 2px !important;
    background-color: #b89664 !important;
    opacity: 0.8 !important;
}

/* Alineamos los párrafos con la línea lateral del título */
.l3-experiencia-col-left p {
    font-size: 1.1rem !important;
    color: #94a3b8 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    max-width: 85% !important;
    padding-left: 0 !important;
    /* Reseteamos para que hereden del contenedor */
}

/* El contenedor principal de la izquierda debe tener el padding para todos */
.l3-experiencia-col-left {
    flex: 1.2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-left: 30px !important;
}

.l3-experiencia-separator {
    width: 2px !important;
    background: linear-gradient(to bottom, transparent, #b89664 20%, #b89664 80%, transparent) !important;
    opacity: 0.4 !important;
    flex-shrink: 0 !important;
    margin: 0 40px !important;
}

.l3-experiencia-col-right {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 45px !important;
    justify-content: center !important;
    padding: 0 !important;
}

.l3-experiencia-feature {
    position: relative !important;
    padding: 0 0 15px 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

/* Accent line animada vinculada al Título h3 */
.l3-experiencia-feature h3 {
    font-size: 1.5rem !important;
    color: #b89664 !important;
    /* Mismo color que la barra */
    margin-bottom: 15px !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    position: relative !important;
    display: inline-block !important;
    /* Para que la barra mida lo mismo que el texto */
    padding-bottom: 8px !important;
}

.l3-experiencia-feature h3::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 30px !important;
    height: 2px !important;
    background-color: #b89664 !important;
    transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.l3-experiencia-feature:hover h3::after {
    width: 100% !important;
}

.l3-experiencia-feature p {
    font-size: 1rem !important;
    color: #94a3b8 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.l3-experiencia-feature .feature-icon {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 15px !important;
    color: #b89664 !important;
}

@media (max-width: 991px) {
    .l3-experiencia-section {
        padding: 60px 20px !important;
    }

    .l3-experiencia-grid {
        flex-direction: column !important;
        gap: 40px !important;
    }

    .l3-experiencia-col-left {
        padding-left: 0 !important;
        align-items: center !important;
        text-align: center !important;
    }

    .l3-experiencia-header {
        padding-left: 0 !important;
        text-align: center !important;
    }

    .l3-experiencia-header::before {
        display: none !important;
    }

    .l3-experiencia-col-left h2 {
        max-width: 100% !important;
    }

    .l3-experiencia-col-left p {
        max-width: 100% !important;
    }

    .l3-experiencia-separator {
        width: 100% !important;
        height: 2px !important;
        background: linear-gradient(to right, transparent, #b89664 20%, #b89664 80%, transparent) !important;
    }

    .l3-experiencia-feature {
        align-items: center !important;
        text-align: center !important;
    }

    .l3-experiencia-feature h3::after {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}

/* ==========================================================================
   PATRÓN: ENFOQUE DEL DERECHO (COMPARATIVA)
   ========================================================================== */

.l3-enfoque-wrapper {
    /* El fondo se maneja desde el bloque Group en WordPress para permitir edición */
}

/* Fuerza que el color elegido en el editor se vea en el admin */
.wp-block-group.l3-enfoque-wrapper[style*="background-color"],
.wp-block-group.l3-enfoque-wrapper.has-background {
    background-color: inherit;
}


.l3-enfoque-section {
    padding: 100px 0 !important;
    position: relative !important;
    width: 100% !important;
    background-color: transparent !important;
    /* Deja pasar el fondo del Grupo padre */
}

.l3-enfoque-container {
    max-width: var(--wp--style--global--content-size) !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    position: relative !important;
    z-index: 2 !important;
}

.l3-enfoque-header {
    margin-bottom: 70px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
}

.l3-enfoque-label {
    display: block !important;
    color: #b89664 !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    font-family: var(--wp--preset--font-family--sans) !important;
    text-align: center !important;
}

.l3-enfoque-title {
    font-family: "Playfair Display", var(--wp--preset--font-family--serif), Georgia, serif !important;
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    line-height: 1.1 !important;
    color: #ffffff !important;
    margin: 0 auto !important;
    font-weight: 700 !important;
    text-align: center !important;
    letter-spacing: -0.02em !important;
    position: relative !important;
}

/* Fallback: Muestra el texto oro incluso si no has borrado/re-insertado el bloque */
.l3-enfoque-title::before {
    content: "COMPARATIVA DE ENFOQUE" !important;
    display: block !important;
    color: #b89664 !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    font-family: var(--wp--preset--font-family--sans) !important;
    text-align: center !important;
}

/* Si ya existe el HTML real de la etiqueta (porque re-insertaste el bloque), ocultamos el fallback para no duplicar */
.l3-enfoque-label+.l3-enfoque-title::before {
    display: none !important;
}

/* Table Design */
.l3-enfoque-table {
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid rgba(184, 150, 100, 0.2) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
    width: 100% !important;
    position: relative !important;
}

/* =====================================================
   Efecto Card Columna Linea 3 — Sistema de 2 fases
   =====================================================
   REPOSO:   card z-index:-1 → col 1/2 sólidas lo tapan, col 3 transparente lo muestra
   HOVER:    card sube a z-index:20 → cubre col 1/2 visualmente
             col 3 sube a z-index:30 → su contenido flota sobre el card
   Los rows tienen z-index:auto → no crean stacking context propio,
   sus hijos (celdas) compiten directamente en el contexto de la tabla.
   ===================================================== */

.l3-enfoque-table::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: calc(220px + (100% - 220px) / 2) !important;
    right: 0 !important;
    background: #0a2233 !important;
    border-radius: 4px !important;
    border: 1px solid transparent !important;
    pointer-events: none !important;
    transition: top 0.45s cubic-bezier(0.165, 0.84, 0.44, 1),
        bottom 0.45s cubic-bezier(0.165, 0.84, 0.44, 1),
        right 0.45s cubic-bezier(0.165, 0.84, 0.44, 1),
        left 0.45s cubic-bezier(0.165, 0.84, 0.44, 1),
        box-shadow 0.45s ease,
        border-color 0.45s ease,
        z-index 0s !important;
    z-index: -1 !important;
}

/* HOVER — Fase 1: card sube y crece */
.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover)::after {
    border-color: rgba(184, 150, 100, 0.55) !important;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.85) !important;
    top: -16px !important;
    bottom: -16px !important;
    right: -12px !important;
    left: calc(220px + (100% - 220px) / 2 - 6px) !important;
    z-index: 20 !important;
    /* Por encima de todo el contenido de fila */
}

/* HOVER — Fase 2: col 3 sube aún más para que su contenido sea visible */
.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-cell:nth-child(3) {
    z-index: 30 !important;
    position: relative !important;
    color: #ffffff !important;
    /* texto más brillante al destacar */
}

.l3-enfoque-row {
    display: flex !important;
    border-bottom: 1px solid rgba(184, 150, 100, 0.15) !important;
    background: #0a2233 !important;
    position: relative !important;
    z-index: auto !important;
    /* Sin stacking context — hijos compiten a nivel tabla */
}

/* Celdas: posicionadas pero sin z-index propio en reposo */
.l3-enfoque-cell {
    position: relative !important;
}

/* Col 1 y 2: fondos SÓLIDOS que tapan el card en reposo */
.l3-enfoque-cell:nth-child(1) {
    background: #030912 !important;
    z-index: 2 !important;
}

.l3-enfoque-cell:nth-child(2) {
    background: #030912 !important;
    z-index: 2 !important;
}

/* Col 3: transparente — deja ver el card detrás */
.l3-enfoque-cell:nth-child(3) {
    background: transparent !important;
    border-left: none !important;
    z-index: 2 !important;
    transition: z-index 0s, color 0.3s ease !important;
}

.l3-enfoque-row:last-child {
    border-bottom: none !important;
}

/* Sin hover horizontal en filas */
/*.l3-enfoque-row:not(.header-row):hover {
    background-color: transparent !important;
}*/

.l3-enfoque-cell {
    padding: 30px 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 1.15rem !important;
    line-height: 1.5 !important;
}

.l3-enfoque-cell.feature-cell {
    flex: 0 0 220px !important;
    background-color: #020d16 !important;
    /* Color sólido protector */
    color: #b89664 !important;
    /* Gold */
    font-weight: 600 !important;
    justify-content: flex-start !important;
    text-align: left !important;
    border-right: 1px solid rgba(184, 150, 100, 0.15) !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-size: 1.3rem !important;
}

/* Hover en feature-cell — resalta toda la fila */
.l3-enfoque-row:has(.feature-cell:hover) {
    outline: 1px solid rgba(184, 150, 100, 0.65) !important;
    outline-offset: -1px !important;
    border-radius: 3px !important;
    z-index: 15 !important;
    /* La fila destaca sobre el card */
}

/* La feature-cell en hover: overlay dorado sutil */
.l3-enfoque-cell.feature-cell:hover {
    background-color: transparent !important;
}

/* Las otras celdas de esa fila: ligeramente más brillantes */
.l3-enfoque-row:has(.feature-cell:hover) .l3-enfoque-cell:not(.feature-cell) {
    opacity: 0.8 !important;
    transition: opacity 0.3s ease !important;
}

.l3-enfoque-cell.content-cell {
    flex: 1 !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.l3-enfoque-cell.label-cell {
    flex: 1 !important;
    font-family: var(--wp--preset--font-family--serif) !important;
    font-size: 1.8rem !important;
    padding: 30px !important;
    color: rgba(255, 255, 255, 0.4) !important;
}

.l3-enfoque-cell.empty-cell {
    flex: 0 0 220px !important;
    background: transparent !important;
    border: none !important;
}

/* Highlight Column (Linea 3) */
.l3-enfoque-cell.highlight {
    background-color: rgba(184, 150, 100, 0.06) !important;
    color: #ffffff !important;
    font-weight: 400 !important;
}

/* Col 3 sólida — protege contra cambios de fondo del padre */
.l3-enfoque-cell:nth-child(3).highlight,
.l3-enfoque-cell:nth-child(3).content-cell,
.l3-enfoque-cell:nth-child(3) {
    background-color: #0a2233 !important;
}

/* ── Check Icons Animados — CSS puro (::before), funciona sin re-insertar el bloque ── */

/* Ocultar el span HTML si existe (evita duplicado cuando se re-inserte el patrón) */
.l3-check-icon {
    display: none !important;
}

/* Las celdas de col 3 son flex para que el icono quede alineado al texto */
.l3-enfoque-cell:nth-child(3).content-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* Texto comienza ligeramente más pequeño */
    transform: scale(0.92) !important;
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* HOVER — el texto crece a su tamaño real */
.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-cell:nth-child(3).content-cell {
    transform: scale(1) !important;
}

/* El ícono se inyecta como ::before en cada celda */
.l3-enfoque-cell:nth-child(3).content-cell::before {
    content: "" !important;
    display: inline-block !important;
    min-width: 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
    /* Feather-style checkmark — mismo estilo que los demás íconos del sitio */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b89664' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    /* Estado inicial: invisible, pequeño y rotado */
    opacity: 0 !important;
    transform: scale(0.3) rotate(-20deg) !important;
    transition: opacity 0.35s ease,
        transform 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* HOVER — los checks aparecen */
.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-cell:nth-child(3).content-cell::before {
    opacity: 1 !important;
    transform: scale(1) rotate(0deg) !important;
}

/* ── Escalonado ampliado: 250ms entre cada fila ── */

/* Fila 2 — Visión: check a 0ms, texto a 60ms */
.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-row:nth-child(2) .l3-enfoque-cell:nth-child(3)::before {
    transition-delay: 0ms !important;
}

.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-row:nth-child(2) .l3-enfoque-cell:nth-child(3) {
    transition-delay: 60ms !important;
}

/* Fila 3 — Enfoque: check a 250ms, texto a 310ms */
.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-row:nth-child(3) .l3-enfoque-cell:nth-child(3)::before {
    transition-delay: 250ms !important;
}

.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-row:nth-child(3) .l3-enfoque-cell:nth-child(3) {
    transition-delay: 310ms !important;
}

/* Fila 4 — Lenguaje: check a 500ms, texto a 560ms */
.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-row:nth-child(4) .l3-enfoque-cell:nth-child(3)::before {
    transition-delay: 500ms !important;
}

.l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover) .l3-enfoque-row:nth-child(4) .l3-enfoque-cell:nth-child(3) {
    transition-delay: 560ms !important;
}


/* Inversión de fondos en la cabecera */
.header-row .l3-enfoque-cell:nth-child(2) {
    background-color: #020d16 !important;
    color: #ffffff !important;
}

.header-row .l3-enfoque-cell.highlight {
    background-color: #0a2233 !important;
    color: #b89664 !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

/* Hack para forzar el logo en bloques viejos que aún tienen texto */
.header-row .l3-enfoque-cell.highlight:not(:has(img)) {
    font-size: 0 !important;
    color: transparent !important;
}

.header-row .l3-enfoque-cell.highlight:not(:has(img))::after {
    content: "" !important;
    display: block !important;
    width: 160px !important;
    height: 45px !important;
    background-image: url('/wp-content/themes/linea3-legal-child/assets/images/logo-horizontal-oscuro.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.l3-enfoque-logo {
    max-width: 140px !important;
    height: auto !important;
    display: block !important;
}

/* Footer Section */
.l3-enfoque-footer {
    margin-top: 60px !important;
}

.l3-enfoque-footer-divider {
    height: 1px !important;
    border-top: 1px solid rgba(184, 150, 100, 0.4) !important;
    margin-bottom: 40px !important;
    width: 100% !important;
}

.l3-enfoque-footer-text {
    font-family: var(--wp--preset--font-family--serif) !important;
    font-size: clamp(1.4rem, 4vw, 1.8rem) !important;
    color: #ffffff !important;
    line-height: 1.4 !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
}

.l3-enfoque-footer-text strong {
    color: #b89664 !important;
    font-weight: 400 !important;
}

/* =====================================================
   PATTERN: Síntoma de la Desorganización Jurídica
   ===================================================== */
.l3-sintoma-wrapper {
    /* El fondo se maneja desde el bloque Group en WordPress */
}

.l3-sintoma-section {
    background-color: transparent !important;
    padding: 100px 0 !important;
    width: 100% !important;
    position: relative !important;
}

.l3-sintoma-container {
    max-width: var(--wp--style--global--content-size) !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

.l3-sintoma-header {
    text-align: center !important;
    margin-bottom: 80px !important;
}

.l3-sintoma-label {
    display: block !important;
    font-size: 0.75rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #b89664 !important;
    margin-bottom: 16px !important;
    font-weight: 500 !important;
}

.l3-sintoma-title {
    font-family: var(--wp--preset--font-family--serif, 'Playfair Display', serif) !important;
    font-size: clamp(2rem, 5vw, 3.2rem) !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
    margin: 0 !important;
}

/* Diagram Grid */
.l3-sintoma-diagram {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr auto 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 30px 0 !important;
    max-width: 960px !important;
    margin: 0 auto !important;
    position: relative !important;
}

/* Cards */
.l3-sintoma-card {
    border: 1px solid rgba(184, 150, 100, 0.35) !important;
    border-radius: 6px !important;
    padding: 28px 24px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    max-width: 240px !important;
    width: 100% !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
}

.l3-sintoma-card:hover {
    border-color: rgba(184, 150, 100, 0.7) !important;
    background: #0a2233 !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-3px) !important;
}

.l3-sintoma-card-title {
    font-family: var(--wp--preset--font-family--serif, 'Playfair Display', serif) !important;
    font-size: 1.25rem !important;
    color: #b89664 !important;
    margin: 0 0 8px 0 !important;
    font-weight: 600 !important;
}

.l3-sintoma-card-text {
    font-size: 0.9rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Hub Circle */
.l3-sintoma-hub {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
}

.l3-sintoma-circle {
    width: 180px !important;
    height: 180px !important;
    border-radius: 50% !important;
    background: #0a2233 !important;
    border: 2px solid rgba(184, 150, 100, 0.5) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6) !important;
    transition: box-shadow 0.4s ease, border-color 0.4s ease !important;
}

.l3-sintoma-circle:hover {
    border-color: #b89664 !important;
    box-shadow: 0 25px 60px rgba(184, 150, 100, 0.15), 0 20px 50px rgba(0, 0, 0, 0.6) !important;
}

.l3-sintoma-circle span {
    font-family: var(--wp--preset--font-family--serif, 'Playfair Display', serif) !important;
    font-size: 1rem !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

/* Grid Placement */
.l3-card-tl {
    grid-column: 1;
    grid-row: 1;
}

.l3-con-tl {
    grid-column: 2;
    grid-row: 1;
}

.l3-con-tr {
    grid-column: 4;
    grid-row: 1;
}

.l3-card-tr {
    grid-column: 5;
    grid-row: 1;
}

.l3-card-bl {
    grid-column: 1;
    grid-row: 2;
}

.l3-con-bl {
    grid-column: 2;
    grid-row: 2;
}

.l3-con-br {
    grid-column: 4;
    grid-row: 2;
}

.l3-card-br {
    grid-column: 5;
    grid-row: 2;
}

/* Connectors — flechas apuntan HACIA las cards (desde el hub) */
.l3-sintoma-con {
    width: 50px !important;
    height: 2px !important;
    position: relative !important;
}

.l3-sintoma-con::before {
    content: "" !important;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, rgba(184, 150, 100, 0.5), rgba(184, 150, 100, 0.15)) !important;
}

/* Flechas izquierdas: apuntan ← hacia la card izquierda */
.l3-con-tl::after,
.l3-con-bl::after {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    top: -5px !important;
    border: 6px solid transparent !important;
    border-right: 8px solid rgba(184, 150, 100, 0.6) !important;
}

/* Flechas derechas: apuntan → hacia la card derecha */
.l3-con-tr::before,
.l3-con-br::before {
    background: linear-gradient(90deg, rgba(184, 150, 100, 0.15), rgba(184, 150, 100, 0.5)) !important;
}

.l3-con-tr::after,
.l3-con-br::after {
    content: "" !important;
    position: absolute !important;
    right: -4px !important;
    top: -5px !important;
    border: 6px solid transparent !important;
    border-left: 8px solid rgba(184, 150, 100, 0.6) !important;
}

/* ── Responsive Mobile (Síntoma) ── */
@media (max-width: 767px) {
    .l3-sintoma-section {
        padding: 60px 0 !important;
    }

    .l3-sintoma-header {
        margin-bottom: 50px !important;
    }

    .l3-sintoma-diagram {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important;
    }

    .l3-sintoma-hub {
        order: -1 !important;
        margin-bottom: 0 !important;
    }

    .l3-sintoma-circle {
        width: 140px !important;
        height: 140px !important;
    }

    .l3-sintoma-circle span {
        font-size: 0.85rem !important;
    }

    .l3-sintoma-card {
        max-width: 280px !important;
        margin: 0 !important;
    }

    /* Conectores verticales con espacio visible */
    .l3-sintoma-con {
        width: 2px !important;
        height: 40px !important;
        margin: 6px 0 !important;
    }

    .l3-sintoma-con::before {
        width: 2px !important;
        height: 100% !important;
        left: 0 !important;
        right: auto !important;
        background: linear-gradient(180deg, rgba(184, 150, 100, 0.5), rgba(184, 150, 100, 0.2)) !important;
    }

    .l3-sintoma-con::after {
        content: "" !important;
        position: absolute !important;
        bottom: -4px !important;
        left: -5px !important;
        top: auto !important;
        right: auto !important;
        border: 6px solid transparent !important;
        border-top: 8px solid rgba(184, 150, 100, 0.6) !important;
        border-left-color: transparent !important;
        border-right-color: transparent !important;
    }

    /* Todos los conectores visibles en mobile */
    .l3-con-tr,
    .l3-con-br {
        display: block !important;
    }

    /* Orden: Hub → ↓ → Empresas → ↓ → Emprendedores → ↓ → Personas → ↓ → Capital */
    .l3-sintoma-hub {
        order: 0 !important;
    }

    .l3-con-tl {
        order: 1;
    }

    .l3-card-tl {
        order: 2;
    }

    /* Empresas */
    .l3-con-tr {
        order: 3;
    }

    .l3-card-tr {
        order: 4;
    }

    /* Emprendedores */
    .l3-con-bl {
        order: 5;
    }

    .l3-card-bl {
        order: 6;
    }

    /* Personas */
    .l3-con-br {
        order: 7;
    }

    .l3-card-br {
        order: 8;
    }

    /* Capital */
}

/* =====================================================
   PATTERN: Nuestra Metodología
   ===================================================== */
.l3-metodologia-wrapper {
    background-color: #030912 !important;
}

.l3-metodologia-section {
    background-color: transparent !important;
    padding: 100px 0 !important;
    width: 100% !important;
    position: relative !important;
}

.l3-metodologia-container {
    max-width: var(--wp--style--global--content-size) !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

.l3-metodologia-header {
    text-align: center !important;
    margin-bottom: 80px !important;
}

.l3-metodologia-label {
    display: block !important;
    font-size: 0.75rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #b89664 !important;
    margin-bottom: 16px !important;
    font-weight: 500 !important;
}

.l3-metodologia-title {
    font-family: var(--wp--preset--font-family--serif, 'Playfair Display', serif) !important;
    font-size: clamp(2rem, 5vw, 3.2rem) !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
    margin: 0 !important;
}

/* Diagram Grid — misma estructura que Síntoma */
.l3-metodologia-diagram {
    display: grid !important;
    grid-template-columns: minmax(auto, 300px) minmax(auto, 300px) !important;
    justify-content: space-between !important;
    grid-template-rows: auto auto !important;
    gap: 80px 0 !important;
    max-width: 960px !important;
    margin: 0 auto !important;
    position: relative !important;
}

/* Cards */
.l3-metodo-card {
    border: 1px solid rgba(184, 150, 100, 0.3) !important;
    border-radius: 6px !important;
    padding: 28px 24px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, background 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
    animation: l3-card-glow 12s infinite !important;
}

.l3-metodo-card:hover {
    animation: none !important;
    border-color: rgba(184, 150, 100, 0.7) !important;
    background: #0a2233 !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-3px) !important;
    z-index: 10 !important;
}

/* Auto-Hover Animation */
@keyframes l3-card-glow {

    0%,
    20%,
    100% {
        border-color: rgba(184, 150, 100, 0.3) !important;
        background: rgba(255, 255, 255, 0.02) !important;
        box-shadow: none !important;
        transform: translateY(0) !important;
    }

    5%,
    15% {
        border-color: rgba(184, 150, 100, 0.7) !important;
        background: #0a2233 !important;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5) !important;
        transform: translateY(-3px) !important;
    }
}

.l3-metodo-card-title {
    font-family: var(--wp--preset--font-family--serif, 'Playfair Display', serif) !important;
    font-size: 1.25rem !important;
    color: #b89664 !important;
    margin: 0 0 10px 0 !important;
    font-weight: 600 !important;
}

.l3-metodo-number {
    color: #b89664 !important;
    font-weight: 700 !important;
}

.l3-metodo-card-text {
    font-size: 0.9rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

/* Grid Placement & Sync Delays (1-2-3-4 Sequential) */
.l3-metodo-tl {
    grid-column: 1;
    grid-row: 1;
    animation-delay: 0s !important;
}

.l3-metodo-bl {
    grid-column: 1;
    grid-row: 2;
    animation-delay: 3s !important;
}

.l3-metodo-tr {
    grid-column: 2;
    grid-row: 1;
    animation-delay: 6s !important;
}

.l3-metodo-br {
    grid-column: 2;
    grid-row: 2;
    animation-delay: 9s !important;
}

/* Hub — Infinity SVG */
.l3-metodo-hub {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: clamp(280px, 50vw, 560px) !important;
    aspect-ratio: 2 / 1 !important;
    height: auto !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}

.l3-metodo-infinity {
    width: 100% !important;
    height: 100% !important;
    color: #b89664 !important;
    filter: drop-shadow(0 4px 25px rgba(184, 150, 100, 0.2)) !important;
    transition: filter 0.4s ease !important;
    overflow: visible !important;
}

/* Light Trace Animation (12s Continuous Loop) */
.trace-under {
    animation: l3-light-trace-under 12s linear infinite !important;
    stroke: #c0eaff !important;
    filter: drop-shadow(0 0 10px rgba(192, 234, 255, 0.95)) !important;
}

.trace-over {
    animation: l3-light-trace-over 12s linear infinite !important;
    stroke: #c0eaff !important;
    filter: drop-shadow(0 0 10px rgba(192, 234, 255, 0.95)) !important;
}

@keyframes l3-light-trace-under {
    0% {
        stroke-dashoffset: 100;
        opacity: 0;
    }

    2.5% {
        opacity: 1;
    }

    47.5% {
        opacity: 1;
    }

    50% {
        stroke-dashoffset: 0;
        opacity: 0;
    }

    100% {
        stroke-dashoffset: 0;
        opacity: 0;
    }
}

@keyframes l3-light-trace-over {
    0% {
        stroke-dashoffset: 100;
        opacity: 0;
    }

    49.9% {
        stroke-dashoffset: 100;
        opacity: 0;
    }

    50% {
        stroke-dashoffset: 100;
        opacity: 0;
    }

    52.5% {
        opacity: 1;
    }

    97.5% {
        opacity: 1;
    }

    100% {
        stroke-dashoffset: 0;
        opacity: 0;
    }
}

/* Node Highlights (Synced with Light) */
@keyframes l3-node-highlight {

    0%,
    20%,
    100% {
        stroke: #b89664 !important;
        filter: none !important;
    }

    5%,
    15% {
        stroke: #c0eaff !important;
        filter: drop-shadow(0 0 15px rgba(192, 234, 255, 0.9)) !important;
    }
}

@keyframes l3-node-text-highlight {

    0%,
    20%,
    100% {
        fill: #b89664 !important;
    }

    5%,
    15% {
        fill: #c0eaff !important;
    }
}

.l3-node-circle {
    stroke: #b89664 !important;
    animation: l3-node-highlight 12s infinite !important;
}

.l3-node-text {
    fill: #b89664 !important;
    animation: l3-node-text-highlight 12s infinite !important;
}

.l3-node-1 {
    animation-delay: 0s !important;
}

.l3-node-2 {
    animation-delay: 3s !important;
}

.l3-node-3 {
    animation-delay: 6s !important;
}

.l3-node-4 {
    animation-delay: 9s !important;
}

/* ── Responsive Mobile (Metodología) ── */
@media (max-width: 767px) {
    .l3-metodologia-section {
        padding: 60px 0 !important;
    }

    .l3-metodologia-header {
        margin-bottom: 40px !important;
    }

    .l3-metodologia-diagram {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 20px !important;
    }

    .l3-metodo-hub {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        width: 85vw !important;
        max-width: 320px !important;
        aspect-ratio: 2 / 1 !important;
        height: auto !important;
        order: -1 !important;
        margin-bottom: 20px !important;
    }

    .l3-metodo-card {
        max-width: 280px !important;
        width: 100% !important;
    }
}

/* ── Responsive: Tablet ── */


@media (max-width: 991px) {
    .l3-enfoque-cell {
        padding: 20px !important;
    }

    /* feature-cell y empty-cell DEBEN tener el mismo flex-basis para alinear columnas */
    .l3-enfoque-cell.feature-cell {
        flex: 0 0 160px !important;
    }

    .l3-enfoque-cell.empty-cell {
        flex: 0 0 160px !important;
        /* ← igual que feature-cell → alineación perfecta */
        min-width: 160px !important;
    }

    /* Reducir tamaño de las etiquetas del header para que quepan */
    .l3-enfoque-cell.label-cell {
        font-size: 1.3rem !important;
        padding: 20px !important;
    }

    .l3-enfoque-logo {
        max-width: 110px !important;
    }

    /* Recalcular card hover */
    .l3-enfoque-table::after {
        left: calc(160px + (100% - 160px) / 2) !important;
    }

    .l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover)::after {
        left: calc(160px + (100% - 160px) / 2 - 6px) !important;
    }

    .l3-enfoque-cell:nth-child(1) {
        background: #030912 !important;
    }

    .l3-enfoque-cell:nth-child(2) {
        background: #030912 !important;
    }
}

/* ── Responsive: Mobile — Tabla horizontal con etiquetas verticales ── */
@media (max-width: 767px) {
    .l3-enfoque-section {
        padding: 60px 0 !important;
    }

    .l3-enfoque-title {
        font-size: 2rem !important;
    }

    .l3-enfoque-footer-text {
        font-size: 1.1rem !important;
    }

    /* La tabla mantiene su orientación horizontal */
    .l3-enfoque-row {
        flex-direction: row !important;
    }

    /* Celda vacía del header: muy estrecha */
    .l3-enfoque-cell.empty-cell {
        flex: 0 0 44px !important;
        min-width: 44px !important;
        padding: 0 !important;
    }

    /* Header row: siempre visible pero compacto */
    .header-row {
        display: flex !important;
    }

    /* Logo del header más pequeño */
    .l3-enfoque-logo {
        max-width: 90px !important;
    }

    /* Etiquetas del header (Tradicional + logo) más compactas */
    .l3-enfoque-cell.label-cell {
        padding: 14px 8px !important;
        font-size: 0.85rem !important;
        letter-spacing: 0 !important;
    }

    /* ─── FEATURE CELL: texto vertical rotado ─── */
    .l3-enfoque-cell.feature-cell {
        flex: 0 0 44px !important;
        /* Columna estrecha */
        min-width: 44px !important;
        padding: 8px 4px !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        border-right: 1px solid rgba(184, 150, 100, 0.2) !important;
        border-bottom: none !important;

        /* Texto vertical */
        writing-mode: vertical-rl !important;
        text-orientation: mixed !important;
        transform: rotate(180deg) !important;
        /* Leer de abajo hacia arriba */
        font-size: 0.8rem !important;
        letter-spacing: 0.08em !important;
    }

    /* Celdas de contenido: más pequeñas y compactas */
    .l3-enfoque-cell.content-cell {
        padding: 12px 8px !important;
        font-size: 0.78rem !important;
        line-height: 1.4 !important;
    }

    /* Celdas generales más compactas */
    .l3-enfoque-cell {
        padding: 10px 8px !important;
        font-size: 0.78rem !important;
    }

    /* Recalcular la card para columna estrecha */
    .l3-enfoque-table::after {
        left: calc(44px + (100% - 44px) / 2) !important;
    }

    .l3-enfoque-table:has(.l3-enfoque-cell:nth-child(3):hover)::after {
        left: calc(44px + (100% - 44px) / 2 - 4px) !important;
    }

    /* Recalcular fondos sólidos de col 1 y 2 */
    .l3-enfoque-cell:nth-child(1) {
        background: #030912 !important;
    }

    .l3-enfoque-cell:nth-child(2) {
        background: #030912 !important;
    }

    /* Ocultar check icons en mobile (muy poco espacio) */
    .l3-enfoque-cell:nth-child(3).content-cell::before {
        display: none !important;
    }

    .l3-enfoque-cell:nth-child(3).content-cell {
        transform: scale(1) !important;
    }

    /* Scroll horizontal de seguridad */
    .l3-enfoque-table-wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* --- FIX PARA EL EDITOR DE WORDPRESS (GUTENBERG) --- */
/* Limpieza total de fondos internos para permitir que el color del padre se vea */
.block-library-html__preview,
.wp-block-html .block-library-html__preview,
.l3-enfoque-section,
.l3-enfoque-container,
.l3-enfoque-table-wrapper {
    background-color: transparent !important;
    background: transparent !important;
}

/* ==========================================================================
   DISEÑO EDITORIAL - FOOTER (PRIORIDAD MÁXIMA)
   ========================================================================== */

/* 1. Títulos de Sección (Dorado y Fluido - Refinado) */
body footer .footer-grid-container h4,
body footer .footer-grid-container .wp-block-heading {
    color: #b89664 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(1.1rem, 1.2vw, 1.35rem) !important; /* Tamaño más equilibrado */
    text-transform: none !important; /* Solo la primera letra en mayúscula según el HTML */
    letter-spacing: normal !important;
    font-weight: 600 !important;
    margin-top: 0 !important; /* Alineación superior absoluta con el logo */
    margin-bottom: 1.2rem !important;
    line-height: 1.2 !important;
}

/* 2. Textos de Contenido (Legibilidad y Espaciado - Refinado) */
body footer .footer-grid-container p,
body footer .footer-grid-container .wp-block-paragraph {
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(0.9rem, 1vw, 1.05rem) !important; /* Estándar de lectura editorial */
    line-height: 1.8 !important; 
    font-weight: 300 !important;
    margin-top: 0 !important;
    margin-bottom: 0.4rem !important;
}

/* 3. Asegurar Centrado en una sola columna */
@media (max-width: 767px) {
    body footer .footer-grid-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 50px !important;
    }
    
    body footer .footer-grid-container > div {
        width: 100% !important;
    }
}

/* 4. Forzar Menú Legal Horizontal y Centrado (Dentro del Contenedor de Seguridad) */
body footer .footer-bottom-group {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    border-top: 1px solid rgba(184, 150, 100, 0.15) !important;
    margin-top: 0 !important; /* Controlado ahora por el row-gap de la rejilla */
    padding-top: 15px !important; 
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

body footer .footer-legal-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Evita que se pongan verticales */
    justify-content: center !important;
    gap: 40px !important;
    width: auto !important;
    margin-bottom: 15px !important;
}

body footer .footer-legal-links a {
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    letter-spacing: 0.1em !important;
    white-space: nowrap !important;
    transition: color 0.3s ease;
}

body footer .footer-legal-links a:hover {
    color: #b89664 !important;
}

/* 5. Créditos y Frase Coloquial */
body footer .footer-credits {
    margin-top: 20px !important;
    opacity: 0.8;
}

body footer .footer-credits p {
    font-size: 0.8rem !important;
    color: rgba(255, 255, 255, 0.8) !important;
    font-family: 'Outfit', sans-serif !important;
    letter-spacing: 0.05em !important;
    margin: 0 !important;
    font-weight: 300 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Animación de Latido (Heartbeat) */
@keyframes l3-heartbeat {
    0% { transform: scale(1); }
    10% { transform: scale(1.3); }
    20% { transform: scale(1.1); }
    30% { transform: scale(1.4); }
    45% { transform: scale(1); }
    100% { transform: scale(1); }
}

.heart-icon {
    display: inline-block !important;
    animation: l3-heartbeat 1.8s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
    transform-origin: center;
}

@media (max-width: 767px) {
    body footer .footer-legal-links {
        gap: 20px !important;
        flex-direction: column !important; /* En móvil muy pequeño, mejor uno sobre otro */
        align-items: center !important;
    }
    
    body footer .footer-credits p {
        flex-direction: column !important; /* Apilado de copyright y créditos */
        gap: 8px !important;
        font-size: 0.75rem !important;
        line-height: 1.4 !important;
    }

    body footer .credits-divider {
        display: none !important; /* Ocultamos la barra vertical en móvil */
    }
}


.wp-block-html,
[data-type="core/html"] {
    background-color: transparent !important;
}

/* Margen elegante para el divisor en el footer (solo en escritorio/pantallas grandes donde cabe horizontalmente) */
@media (min-width: 768px) {
    body footer .credits-divider {
        margin: 0 12px !important;
        display: inline-block !important;
    }
}

/* ========================================================
   FLOATING WHATSAPP BUTTON (PREMIUM BRANDING)
   ======================================================== */
.l3-whatsapp-floating {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    width: 56px !important;
    height: 56px !important;
    background-color: #ce9e50 !important; /* Fondo dorado premium como el botón de chat */
    border: 2px solid transparent !important; /* Evita saltos de píxel en hover */
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0a2233 !important; /* Icono en oscuro corporativo */
    font-size: 28px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 20px rgba(10, 34, 51, 0.35) !important;
    z-index: 999999 !important;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    cursor: pointer !important;
}

.l3-whatsapp-floating:hover {
    background-color: #0a2233 !important; /* Fondo oscuro al hacer hover */
    color: #ce9e50 !important; /* Icono dorado al hacer hover */
    border-color: #ce9e50 !important; /* Borde dorado premium al hacer hover */
    transform: scale(1.08) translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(206, 158, 80, 0.45) !important;
}

/* Micro-animación de pulso áureo/dorado */
@keyframes l3-whatsapp-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(206, 158, 80, 0.45);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(206, 158, 80, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(206, 158, 80, 0);
    }
}

.l3-whatsapp-floating {
    animation: l3-whatsapp-pulse 2s infinite !important;
}

/* Ajustes responsivos móviles para evitar colisiones con elementos del pie */
@media (max-width: 767px) {
    .l3-whatsapp-floating {
        bottom: 20px !important;
        right: 20px !important;
        width: 50px !important;
        height: 50px !important;
        font-size: 26px !important;
    }
}

/* ========================================================
   PREMIUM SHARE TOAST NOTIFICATION
   ======================================================== */
.l3-share-toast {
    position: fixed !important;
    bottom: 40px !important;
    left: 50% !important;
    transform: translate(-50%, 20px) !important;
    background: rgba(10, 34, 51, 0.96) !important;
    color: #e2e8f0 !important;
    border: 1px solid #ce9e50 !important;
    padding: 12px 24px !important;
    border-radius: 30px !important;
    font-size: 0.95rem !important;
    font-family: 'Outfit', 'Inter', sans-serif !important;
    letter-spacing: 0.5px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(10px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    z-index: 9999999 !important;
}
.l3-share-toast.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
}
.l3-share-toast svg {
    color: #ce9e50 !important;
}