/*
Theme Name: D. Child
Theme URI: https://denocheydia.com/
Template: astra
Author: moodoraman
Author URI: https://denocheydia.com/
Description: D. es un tema exclusivo y de alto rendimiento, construido sobre la arquitectura ultra-ligera de Astra para ofrecer una experiencia visual circular, moderna y adaptable. Con un enfoque en la estética geométrica y la flexibilidad total, D. permite un control absoluto sobre sidebars, áreas de widgets y tipografías circulares, integrándose a la perfección con maquetadores como Elementor o Gutenberg.
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 1.1.1775800815
Updated: 2026-04-10 08:00:15

*/

/*==  by D. ==*/

/* ==========================================================================
   ESTILOS BANNER DE COOKIES (GDPR Cookie Consent)
   ========================================================================== */

/* 1. Resetear el tamaño y padding nativo del widget */
#cookie-law-info-bar[data-cli-style="cli-style-v2"][data-cli-type="widget"] {
    padding:0px !important; /* Un padding global de 10px enmarca mejor el contenido */
    width: 320px !important;
    max-width: calc(100% - 30px) !important;
    border-radius: 10px !important;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.1) !important;
    background-color: #FFFFFF !important;
}

/* 2. Asignar tipografía corporativa al texto y fijar la separación de 10px */
.cli-bar-container.cli-style-v2, 
.cli-bar-message {
    font-family: 'Eina 03', sans-serif !important;
    color: #000000 !important;
    margin-bottom: 0 !important;
}

/* Fuerza 10px exactos de separación entre el texto y el enlace inferior */
.cli-bar-message p {
    font-family: 'Eina 03', sans-serif !important;
    margin: 0 0 0px 0 !important; 
}

/* 3. Asignar tipografía Lora al enlace de Política de Cookies */
.cli-bar-container a.cli-plugin-main-link {
    font-family: 'Lora', serif !important;
    color: #000000 !important;
    text-decoration: underline !important;
    font-weight: bold !important;
    display: block !important;
    margin: 0 !important; /* Evita que el enlace sume márgenes invisibles */
}

/* 4 y 5. Unificación total y colores de los 3 botones (Compatibilidad ampliada) */
#cookie-law-info-bar .cli-bar-btn_container a#wt-cli-accept-all-btn,
#cookie-law-info-bar .cli-bar-btn_container a#wt-cli-reject-btn,
#cookie-law-info-bar .cli-bar-btn_container a#cookie_action_close_header_reject,
#cookie-law-info-bar .cli-bar-btn_container a.cli_settings_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    font-family: 'Eina 03', sans-serif !important;
    font-size: 11px !important;
    font-weight: bold !important;
    padding: 8px 10px !important;
    border-radius: 5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    flex-grow: 1 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    line-height: 1 !important;
    min-height: 30px !important;
}

/* Efecto Hover unificado (Amarillo corporativo) */
#cookie-law-info-bar .cli-bar-btn_container a#wt-cli-accept-all-btn:hover,
#cookie-law-info-bar .cli-bar-btn_container a#wt-cli-reject-btn:hover,
#cookie-law-info-bar .cli-bar-btn_container a#cookie_action_close_header_reject:hover,
#cookie-law-info-bar .cli-bar-btn_container a.cli_settings_button:hover {
    background-color: #FFE900 !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

/* ==========================================================================
   ESTILOS VENTANA MODAL - AJUSTES DE COOKIES
   ========================================================================== */

/* 1. Contenedor Principal de la Modal */
.cli-modal-content.cli-bar-popup {
    background-color: #FFFFFF !important;
    border-radius: 10px !important;
    box-shadow: 10px 10px 30px rgba(0,0,0,0.15) !important;
    padding: 20px !important;
}

/* 2. Botón de Cerrar (Equis) */
.cli-modal-close {
    background-color: transparent !important;
    border: none !important;
    top: 15px !important;
    right: 15px !important;
}
.cli-modal-close svg {
    fill: #000000 !important;
    width: 24px !important;
    height: 24px !important;
    transition: all 0.3s ease !important;
}
.cli-modal-close:hover svg {
    fill: #FFE900 !important;
    transform: scale(1.1);
}

/* 3. Tipografía de Titulares (Lora) */
.cli-privacy-overview h4,
.cli-tab-header a.cli-nav-link {
    font-family: 'Lora', serif !important;
    color: #000000 !important;
    font-weight: bold !important;
    font-size: 18px !important;
    margin-bottom: 10px !important;
}

/* 4. Tipografía de Textos y Descripciones (Eina 03) */
.cli-privacy-content-text,
.wt-cli-cookie-description,
.cli-necessary-caption {
    font-family: 'Eina 03', sans-serif !important;
    color: #000000 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

/* 5. Enlace "Mostrar más" */
a.cli-privacy-readmore {
    font-family: 'Lora', serif !important;
    color: #000000 !important;
    text-decoration: underline !important;
    font-weight: bold !important;
    margin-top: 10px !important;
    display: inline-block !important;
}

/* 6. Estilo de los Acordeones / Pestañas */
.cli-tab-section {
    padding: 15px 0 !important;
}

/* 7. Interruptores (Toggles) de Activación */
.cli-switch input:checked + .cli-slider {
    background-color: #FFE900 !important; /* Fondo amarillo cuando está activo */
}
.cli-switch .cli-slider:before {
    background-color: #000000 !important; /* Círculo negro */
}
.cli-switch .cli-slider {
    background-color: #e0e0e0 !important; /* Fondo gris cuando está inactivo */
}

/* 8. Diseño de Tablas de Cookies */
.cookielawinfo-row-cat-table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin-top: 15px !important;
    border: 1px solid #000000 !important;
}
.cookielawinfo-row-cat-table th {
    font-family: 'Lora', serif !important;
    background-color: #f2f2f2 !important;
    color: #000000 !important;
    padding: 10px !important;
    border-bottom: 2px solid #000000 !important;
    text-align: left !important;
}
.cookielawinfo-row-cat-table td {
    font-family: 'Eina 03', sans-serif !important;
    padding: 10px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    font-size: 12px !important;
}

/* 9. Botón Inferior: Guardar y Aceptar */
.cli-modal-footer {
    border-top: 2px solid #000000 !important;
    padding: 15px !important;
    background-color: #f9f9f9 !important;
    border-radius: 0 0 10px 10px !important;
}

a#wt-cli-privacy-save-btn {
    font-family: 'Eina 03', sans-serif !important;
    background-color: #FFE900 !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    font-size: 13px !important;
    font-weight: bold !important;
    padding: 12px 24px !important;
    border-radius: 5px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

a#wt-cli-privacy-save-btn:hover {
    background-color: #000000 !important;
    color: #FFE900 !important;
}

/* ==========================================================================
   BOTÓN FLOTANTE COOKIES (Diseño Optimizado 30x30px)
   ========================================================================== */

/* Contenedor principal: Posicionamiento, forma circular y sombra */
#cookie-law-info-again {
    bottom: 10px !important;
    left: 10px !important;
    padding: 0 !important;
    border-radius: 100px !important;
	background-color: #ffe905!important;
	 box-shadow: #161616 2px 2px 5px 0.2px;
}

/* El span interno: Carga la imagen y oculta el texto */
#cookie_hdr_showagain {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    background-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/icons8-galleta-50.png') !important;
    background-size: 30px 30px !important; /* Fuerza la imagen a 30x30 */
}


/* ==========================================================================
   SISTEMA DE TITULARES CON ÁNGULO (Variables CSS + Mask)
   ========================================================================== */

/* 1. Clase maestra y variables por defecto */
.titular-angulo .elementor-heading-title {
    position: relative !important;
    
    /* VALORES POR DEFECTO: Si no cambias nada, usará estos */
    --angulo-tamano: 30px;
    --angulo-color: #000000; /* Blanco por defecto */
    --angulo-x: -40px;
    --angulo-y: -20px;
}

/* 2. Inyección del ángulo usando la máscara y las variables */
.titular-angulo .elementor-heading-title::before {
    content: '' !important;
    position: absolute !important;
    
    /* Dimensiones y Posición conectadas a las variables */
    width: var(--angulo-tamano) !important;
    height: var(--angulo-tamano) !important;
    left: var(--angulo-x) !important;
    top: var(--angulo-y) !important;
    
    /* El color se controla con esta línea (reacciona a --angulo-color) */
    background-color: var(--angulo-color) !important;
    
  /* El PNG actúa como silueta recortando el color de arriba */
    -webkit-mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    -webkit-mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    
    mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
}


/* ==========================================================================
   DISEÑO BASE TARJETA CORPORATIVA (PRIMERA: AMARILLA)
   ========================================================================== */

/* 1. Contenedor principal de la tarjeta */
.tarjeta-programa {
    border-radius: 20px !important; /* Esquinas redondeadas modernas y suaves */
    border: none !important;
    min-height: 380px; /* Altura mínima para unificar todas las tarjetas */
    position: relative;
}

/* 2. Estilo del Icono */

/* Creamos un bloque negro para el icono para que destaque sobre el fondo vivo */
.tarjeta-programa .elementor-icon {
    background-color: #000000 !important; 
    color: #ffe604 !important; /* El SVG toma el mismo amarillo del fondo */
    width: 65px !important;
    height: 65px !important;
    border-radius: 12px !important; /* Cuadrado con bordes suaves (puedes cambiar a 50% si lo quieres redondo) */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tarjeta-programa .elementor-icon svg {
    width: 30px !important;
    height: 30px !important;
}

/* 3. Titular de la tarjeta */
.tarjeta-programa .elementor-icon-box-title {
    color: #000000 !important;
    font-weight: 800 !important; /* Peso contundente para titulares modernos */
    letter-spacing: -0.5px !important; /* Ligeramente compactado */
}

/* 4. Texto descriptivo */
.tarjeta-programa .elementor-icon-box-description {
    color: #1a1a1a !important; /* Un negro casi puro para máxima legibilidad */
    font-weight: 500 !important;
    margin: 0 !important;
}

/* ==========================================================================
   ANIMACIONES Y HOVER (INTERACTIVIDAD VISUAL)
   ========================================================================== */

/* 1. Preparamos la tarjeta y el icono para que las transiciones sean fluidas */
.tarjeta-programa {
    /* Añadimos una transición con curva 'cubic-bezier' para un efecto de rebote muy sutil y profesional */
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease !important;
}

.tarjeta-programa .elementor-icon {
    transition: transform 0.3s ease, background-color 0.3s ease !important;
}

/* 2. Efecto al pasar el ratón (Hover) sobre la tarjeta completa */
.tarjeta-programa:hover {
    /* La tarjeta se eleva 8 píxeles */
    transform: translateY(-8px) !important;
    /* Aparece una sombra suave y amplia que le da profundidad 3D */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
}

/* 3. Reacción del icono al pasar el ratón por la tarjeta */
.tarjeta-programa:hover .elementor-icon {
    /* El bloque negro del icono crece un 10% */
    transform: scale(1.1) !important;
    /* Opcional: El fondo negro se vuelve un gris muy oscuro (casi negro) para dar un destello de interacción */
    background-color: #1a1a1a !important; 
}


/* ==========================================================================
   CONMUTADOR (+ / -), CORTINA DE INFORMACIÓN Y LISTADOS
   ========================================================================== */

/* 1. Ajuste vital en el contenedor principal para que nada se salga de la tarjeta */
.tarjeta-programa {
    overflow: hidden !important; 
}

/* 2. Limpieza de los estilos por defecto del Toggle de Elementor */
.tarjeta-programa .elementor-widget-toggle {
    display: block !important;
    margin: 0 !important;
    position: static !important;
}
.tarjeta-programa .elementor-toggle {
    margin: 0 !important;
}
.tarjeta-programa .elementor-toggle .elementor-tab-title,
.tarjeta-programa .elementor-toggle .elementor-tab-content {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. EL BOTÓN CUADRADO (+ ABAJO A LA DERECHA) */
.tarjeta-programa .elementor-tab-title {
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    top: auto !important; /* Aseguramos que esté suelto de arriba */
    width: 60px !important;
    height: 60px !important;
    
    background-color: #000000 !important;
    color: #ffffff !important;
    
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* El truco del radio: 20px arriba-izq, 0 arriba-der, 20px abajo-der, 0 abajo-izq */
    border-radius: 20px 0 20px 0 !important;
    
    z-index: 99 !important;
    transition: all 0.3s ease !important;
}

/* 4. EL BOTÓN CUADRADO AL ABRIR (- ARRIBA A LA DERECHA) */
.tarjeta-programa .elementor-tab-title.elementor-active {
    bottom: auto !important; /* Lo soltamos de abajo */
    top: 0 !important; /* Lo anclamos arriba */
    border-radius: 0 20px 0 20px !important; /* Cambiamos el radio para que encaje arriba */
}

/* Efecto Hover sobre el botón (Inversión de color) */
.tarjeta-programa .elementor-tab-title:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    cursor: pointer !important;
}

/* Ajuste fino del icono +/- para que quede centrado perfecto */
.tarjeta-programa .elementor-toggle-icon {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tarjeta-programa .elementor-toggle-icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
}

/* Ocultamos la etiqueta de texto ("Saber más") */
.tarjeta-programa .elementor-toggle-title {
    display: none !important;
}

/* 5. LA CORTINA DE INFORMACIÓN (OVERLAY) */
.tarjeta-programa .elementor-tab-content {
    display: block !important;
    position: absolute !important;
    top: 5% !important;
    left: 5% !important;
    width: 90% !important;
    height: 95% !important; /* Ajustado al 95% para compensar el top: 5% y que no se corte abajo */
    
    /* LA CLAVE TÉCNICA: Evita que el padding deforme el ancho del 90% */
    box-sizing: border-box !important; 
    
    background-color: rgba(255, 255, 255, 0.98) !important; 
    z-index: 90 !important;
    border-radius: 20px 20px 0 0 !important;
    
    /* Tu margen interno de 20px (padding). Arriba mantenemos 85px para que el botón "-" no pise el texto */
    padding: 85px 20px 20px 20px !important; 
    
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease !important;
    
    overflow-y: auto !important;
}

.tarjeta-programa .elementor-toggle .elementor-tab-content {
  border: none !important;
  margin: 0 !important;
  padding: 30px !important;
}

/* 6. AL HACER CLIC: La cortina principal sube */
.tarjeta-programa .elementor-tab-content.elementor-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 7. ANIMACIÓN INTERNA: El texto "sube" de forma independiente creando un efecto cascada */
.tarjeta-programa .elementor-tab-content.elementor-active p,
.tarjeta-programa .elementor-tab-content.elementor-active ul {
    animation: subirTexto 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    opacity: 0;
    transform: translateY(20px);
}

/* Retrasamos un instante el listado para que entre después del párrafo */
.tarjeta-programa .elementor-tab-content.elementor-active ul {
    animation-delay: 0.1s;
}

@keyframes subirTexto {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* SCROLLBAR CORPORATIVA */
.tarjeta-programa .elementor-tab-content::-webkit-scrollbar {
    width: 6px;
}
.tarjeta-programa .elementor-tab-content::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}
.tarjeta-programa .elementor-tab-content::-webkit-scrollbar-thumb {
    background: #ffe604;
    border-radius: 10px;
}

/* 8. MAQUETACIÓN TIPOGRÁFICA Y LISTADOS */
.tarjeta-programa .elementor-tab-content p {
    font-size: 16px; /* Aumentamos ligeramente para mejor lectura */
    line-height: 1.7; /* Más interlineado para dar aire al texto */
    color: #1a1a1a; /* Negro suave, reduce fatiga visual */
    margin-bottom: 25px; /* Más separación inferior */
}

.tarjeta-programa .elementor-tab-content ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-bottom: 25px !important;
}

.tarjeta-programa .elementor-tab-content li {
    position: relative !important;
    padding-left: 36px !important; /* Más distancia entre tu figura corporativa y el texto */
    margin-bottom: 22px !important; /* Separación clara y limpia entre cada punto */
    font-size: 15.5px;
    line-height: 1.6;
    color: #333333;
}

.tarjeta-programa .elementor-tab-content li strong {
    color: #000000;
    font-weight: 800;
    display: inline-block;
    margin-bottom: 4px; /* Separa levemente el título en negrita del resto de la frase */
}

/* Tu ángulo corporativo actuando como punto de lista */
.tarjeta-programa .elementor-tab-content li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 3px !important; /* Ajuste óptico con el nuevo tamaño de fuente */
    width: 18px !important; /* Figura ligeramente más grande y visible */
    height: 18px !important;
    background-color: #000000 !important; 
    
    -webkit-mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    -webkit-mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
}



/* ==========================================================================
   DISEÑO SENIOR: ENLACES EN LISTADOS (SIN SUBRAYADO)
   ========================================================================== */

/* 1. Formato visual del texto enlazado */
.tarjeta-programa .elementor-tab-content ul li a {
    color: #000000 !important;
    font-weight: 700 !important;
    text-decoration: none !important; 
    
    /* Fondo tipo etiqueta para separarlo del texto normal */
    background-color: rgba(0, 0, 0, 0.04) !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    
    transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* 2. Inyección de flecha indicadora */
.tarjeta-programa .elementor-tab-content ul li a::after {
    content: "(+)" !important;
    display: inline-block !important;
    font-size: 14px !important;
    margin-left: 4px !important;
    color: #999999 !important;
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), color 200ms ease !important;
}

/* 3. Micro-interacciones: Hover */
.tarjeta-programa .elementor-tab-content ul li a:hover {
    background-color: #ffe604 !important; 
    color: #000000 !important;
}

.tarjeta-programa .elementor-tab-content ul li a:hover::after {
    color: #000000 !important;
    transform: translate(2px, -2px) !important; /* Movimiento en diagonal */
}

/* 4. Micro-interacciones: Active */
.tarjeta-programa .elementor-tab-content ul li a:active {
    background-color: rgba(255, 230, 4, 0.5) !important;
    transition: background-color 100ms ease !important;
}




/* ==========================================================================
   DISEÑO DESTACADOS UNIFICADO (PÁGINAS, EVENTOS Y POSTS)
   ========================================================================== */

/* 1. Tarjeta Base - Estructura estricta para igualar todos los post types */
.category-destacados .elementor-post {
    background-color: #111111 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    position: relative !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important; /* Fuerza que todas las tarjetas midan lo mismo */
    margin: 0 !important; /* Anula los márgenes externos de The Events Calendar */
}

/* Elevación de la tarjeta */
.category-destacados .elementor-post:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 230, 4, 0.15) !important;
}

/* 2. Contenedor de Imagen - Bloqueo de altura para alineación de cuadrícula */
.category-destacados .elementor-post__thumbnail__link {
    display: block !important;
    overflow: hidden !important;
    position: relative !important;
    margin: 0 !important;
}

.category-destacados .elementor-post__thumbnail {
    height: 100% !important;
    margin: 0 !important;
}

.category-destacados .elementor-post__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: filter 0.6s ease !important;
    filter: brightness(0.95) grayscale(0.1); /* Efecto cinemático base */
}

/* Efecto Imagen: Sin zoom por estabilidad, dramático oscurecimiento */
.category-destacados .elementor-post:hover .elementor-post__thumbnail img {
    filter: brightness(0.4) grayscale(0) !important;
}

/* 3. Área de Texto - Espaciado idéntico y degradado de profundidad */
.category-destacados .elementor-post__text {
    padding: 30px !important;
    background: linear-gradient(to bottom, #151515, #000000) !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    position: relative !important;
    margin: 0 !important; /* Limpia padding/margins de plugins de terceros */
}

/* 4. Titular - Jerarquía mejorada y límite de líneas (Line Clamp) */
.category-destacados .elementor-post__title {
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.02em !important;
    z-index: 2 !important;
    font-family: inherit !important; 
	margin-bottom: 20px!important;
}

.category-destacados .elementor-post__title a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: color 0.4s ease !important;
    
    /* EL TRUCO PARA IGUALAR ALTURAS: Limita el texto a 2 líneas exactas */
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.category-destacados .elementor-post:hover .elementor-post__title a {
    color: #ffe604 !important;
}

.elementor-post__title {
  margin-bottom: 0px!important; padding-top: 10px!important;
}

/* 4.1 Ocultar basura inyectada (fechas, autores o extractos de eventos) */
.category-destacados .elementor-post__excerpt,
.category-destacados .elementor-post__meta-data {
    display: none !important;
}

/* 5. Figura Corporativa */
.category-destacados .elementor-post__text::before {
    content: '' !important;
    position: absolute !important;
    top: -25px !important; 
    right: 25px !important;
    width: 45px !important;
    height: 45px !important;
    background-color: #ffe604 !important; 
    
    -webkit-mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    -webkit-mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    
    z-index: 10 !important;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

/* Figura: Movimiento dinámico superior */
.category-destacados .elementor-post:hover .elementor-post__text::before {
    transform: translateY(-8px) scale(1.15) !important;
}

/* ==========================================================================
   6. NUEVO BOTÓN "LEER MÁS" (ANCLADO ABAJO A LA IZQUIERDA)
   ========================================================================== */
.category-destacados .elementor-post__read-more {
    display: inline-block !important;
    margin-top: auto !important; /* Magia Flexbox: Empuja el botón siempre al fondo */
    padding: 7px 24px !important;
    border: 1px solid #ffe604 !important;
    border-radius: 50px !important; 
    color: #ffe604 !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    align-self: flex-start !important; /* Asegura que no se centre ni ocupe todo el ancho */
    z-index: 2 !important;
}

/* Efecto Hover del Botón: Se rellena al pasar el ratón por encima de la tarjeta */
.category-destacados .elementor-post:hover .elementor-post__read-more {
    background-color: #ffe604 !important;
    color: #000000 !important;
    box-shadow: 0 5px 15px rgba(255, 230, 4, 0.3) !important;
}



/* ==========================================================================
   DISEÑO: SERVICIOS
   Clase: category-servicios 
   ========================================================================== */

/* 1. Tarjeta Base */
.category-servicios .elementor-post__card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px !important;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
}

.category-servicios .elementor-post__card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.15), 0 0 0 1px rgba(255, 230, 4, 0.4);
}

/* 2. MAGIA FLEXBOX: Liberamos la etiqueta de la imagen y los textos */
/* AQUI ESTÁ LA CLAVE: disolver el contenedor del link para liberar la etiqueta */
.category-servicios .elementor-post__text {
    display: contents !important;
}

/* ==========================================================================
   3. REORDENAMIENTO EXACTO DE PIEZAS (Flex Order)
   ========================================================================== */

/* ORDEN 1: Imagen Blindada (Armadura anti-AJAX inyectada) */
.category-servicios .elementor-post__thumbnail__link {
    display: block !important;
    height: 240px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important; /* Anula inyecciones JS en el enlace */
}

.category-servicios .elementor-post__thumbnail {
    order: 1;
    height: 240px !important; /* Fuerza estricta para vencer al JavaScript */
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important; /* MATA el padding-bottom inyectado por Elementor AJAX */
    position: relative;
    flex-shrink: 0;
    overflow: hidden; /* Añadido para que la imagen no se salga */
}

.category-servicios .elementor-post__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
    filter: brightness(0.95) grayscale(0.1);
    transition: filter 0.6s ease;
    transform: none; 
}

.category-servicios .elementor-post__card:hover .elementor-post__thumbnail img {
    filter: brightness(0.4) grayscale(0);
}

/* ORDEN 2: Titular */
.category-servicios .elementor-post__title {
    order: 2;
    margin: 0;
    padding: 0px 20px; /* 12px abajo para acercarlo a la etiqueta */
    font-size: 22px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.02em;
    z-index: 2;
}

.category-servicios .elementor-post__title a {
    color: #000000;
    text-decoration: none;
    transition: color 0.4s ease;
}

.category-servicios .elementor-post__card:hover .elementor-post__title a {
    color: #475569;
}

/* ORDEN 3: Etiqueta (Badge) arrancada de la imagen y puesta bajo el título */
.category-servicios .elementor-post__badge {
    order: 3;
    
    /* BLINDAJE CONTRA ELEMENTOR: Forzamos que deje de flotar sobre la imagen */
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    
    margin: 0 30px 24px 30px;
    align-self: flex-start;
    
    /* NUEVO DISEÑO ETIQUETA: Píldora premium con punto corporativo */
    background-color: #FBF5F6!important; /* Negro profundo */
    color: #111!important; /* Texto blanco puro para máximo contraste */
    padding: 6px 14px;
    border-radius: 50px; /* Misma curvatura que el botón inferior */
    font-size: 10.5px; /* Tamaño refinado */
    font-weight: 600!important;
    text-transform: uppercase;
    letter-spacing: 1px; /* Tracking amplio, estilo editorial/tech */
    border: none;
    z-index: 5;
    
    /* Alineación interna perfecta para el micro-punto */
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Inyección del micro-punto amarillo corporativo */
.category-servicios .elementor-post__badge::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    background-color: #ffe604;
    border-radius: 50%; /* Punto circular perfecto */
    box-shadow: 0 0 4px rgba(255, 230, 4, 0.4); /* Resplandor súper sutil */
}

/* ORDEN 4: Botón Leer Más */
.category-servicios .elementor-post__read-more {
    order: 4;
    margin: auto 30px 30px 20px; 
    padding: 7px 24px;
    border: 1px solid #000000;
    border-radius: 50px; 
    color: #000000;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    text-decoration: none !important;
    transition: all 0.3s ease;
    align-self: flex-start;
    display: inline-block;
}

.category-servicios .elementor-post__card:hover .elementor-post__read-more {
    background-color: #ffe604;
    border-color: #ffe604;
    color: #000000;
}

/* Ocultar sobrantes */
.category-servicios .elementor-post__avatar,
.category-servicios .elementor-post__meta-data,
.category-servicios .elementor-post__excerpt {
    display: none;
}

/* ==========================================================================
   4. FIGURA CORPORATIVA (Ángulo amarillo interceptando la imagen)
   ========================================================================== */
.category-servicios .elementor-post__card::before {
    content: '';
    position: absolute;
    top: 215px; 
    right: 25px;
    width: 45px;
    height: 45px;
    background-color: #ffe604; 
    
    -webkit-mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    
    z-index: 10;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.category-servicios .elementor-post__card:hover::before {
    transform: translateY(-8px) scale(1.15);
}

/* ==========================================================================
   5. BOTÓN "CARGAR MÁS" (LOAD MORE / PAGINACIÓN)
   ========================================================================== */

/* 1. Contenedor principal: Separación matemática (múltiplo de 8) del grid */
.category-servicios .elementor-button-wrapper {
    margin-top: 48px !important; 
    text-align: center !important;
    width: 100% !important;
}

/* 2. Estilo Base del Botón (Píldora corporativa de alto impacto) */
.category-servicios .elementor-button-wrapper .elementor-button {
    background-color: #000000 !important;
    color: #ffe604 !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 16px 40px !important; /* Área de clic amplia y cómoda */
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important; /* Separación perfecta entre texto y spinner */
    
    cursor: pointer !important;
    transition: transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 250ms cubic-bezier(0.2, 0.8, 0.2, 1), background-color 250ms ease !important;
    text-decoration: none;
}

/* 3. Micro-interacción: Hover (Inversión de color + Elevación) */
.category-servicios .elementor-button-wrapper .elementor-button:hover {
    background-color: #ffe604 !important;
    color: #000000 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 32px rgba(255, 230, 4, 0.2) !important;
}

/* 4. Micro-interacción: Active (Hundimiento hiper-rápido al clic) */
.category-servicios .elementor-button-wrapper .elementor-button:active {
    transform: translateY(0) scale(0.96) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
    transition: transform 100ms ease, box-shadow 100ms ease !important; /* Aceleramos a 100ms para respuesta inmediata */
}

/* 5. Accesibilidad (Focus visible al navegar con teclado) */
.category-servicios .elementor-button-wrapper .elementor-button:focus-visible {
    outline: 2px solid #000000 !important;
    outline-offset: 4px !important;
}

/* ==========================================================================
   SPINNER (Icono de carga SVG)
   ========================================================================== */
.category-servicios .elementor-button-wrapper .e-load-more-spinner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* El SVG cambia de color automáticamente gracias a 'currentColor' */
.category-servicios .elementor-button-wrapper .e-load-more-spinner svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important; 
    transition: fill 250ms ease !important;
}



/* ==========================================================================
   MOSTRAR SOLO LA PRIMERA CATEGORÍA (Titular Dinámico)
   ========================================================================== */

/* 3. Ocultamos fulminantemente cualquier categoría que vaya después de la primera */
.category-servicios .elementor-heading-title:has(a[rel="tag"]) a ~ a {
    display: none !important;
}


/* ==========================================================================
   DISEÑO SENIOR: BLOQUE DE FASES (RETO, PROCESO, RESULTADO)
   Clase: fases-hibridalab
   ========================================================================== */

/* 1. Párrafo Introductorio (Destacado del resto) */
.fases-hibridalab .elementor-widget-container > p:first-of-type {
    font-size: 16px !important;
    color: #475569 !important; /* Texto slate oscuro para máxima legibilidad */
    line-height: 1.7 !important;
    margin-bottom: 40px !important; /* Gran salto de línea antes de las fases */
}

/* Subrayado corporativo estilo "highlighter" para las negritas de la intro */
.fases-hibridalab .elementor-widget-container > p:first-of-type strong {
    color: #0f172a !important;
    font-weight: 800 !important;
    background: linear-gradient(to top, rgba(255, 230, 4, 0.4) 30%, transparent 30%) !important;
}

/* ==========================================================================
   2. ESTILO BASE FASES (Los H5 se convierten en etiquetas de estado)
   ========================================================================== */
.fases-hibridalab .elementor-widget-container > h5 {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    margin: 0 0 16px 0 !important;
}

/* ==========================================================================
   3. COLORES DINÁMICOS POR FASE (Sin tocar tu HTML)
   ========================================================================== */

/* FASE 1: Reto (Planteamiento del problema - Fondo Negro) */
.fases-hibridalab .elementor-widget-container > h5:nth-of-type(1) {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* FASE 2: Proceso (El desarrollo técnico - Píldora Gris bordeada) */
.fases-hibridalab .elementor-widget-container > h5:nth-of-type(2) {
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
}

/* FASE 3: Resultado (Cierre de valor - Amarillo Corporativo) */
.fases-hibridalab .elementor-widget-container > h5:nth-of-type(3) {
    background-color: #ffe604 !important;
    color: #000000 !important;
}

/* ==========================================================================
   4. TEXTOS DE CADA FASE (Efecto "Línea de Tiempo")
   ========================================================================== */
.fases-hibridalab .elementor-widget-container > h5 + p {
    margin: 0 0 32px 0 !important;
    padding: 0 0 0 16px !important; /* Desplazamos el texto a la derecha */
    border-left: 3px solid transparent !important; /* Preparamos el borde grueso */
    color: #475569 !important;
    line-height: 1.6 !important;
    font-size: 15px !important;
}

/* Enlace visual: El borde del texto adquiere el color exacto de su etiqueta */
.fases-hibridalab .elementor-widget-container > h5:nth-of-type(1) + p { 
    border-left-color: #000000 !important; 
}
.fases-hibridalab .elementor-widget-container > h5:nth-of-type(2) + p { 
    border-left-color: #cbd5e1 !important; 
}
.fases-hibridalab .elementor-widget-container > h5:nth-of-type(3) + p { 
    border-left-color: #ffe604 !important; 
}

/* Limpieza del margen del último bloque para que quede al ras del widget */
.fases-hibridalab .elementor-widget-container > h5:last-of-type + p {
    margin-bottom: 0 !important;
}



/* ==========================================================================
   DISEÑO SENIOR: CORRECCIÓN DE COLORES EN EVENTOS (THE EVENTS CALENDAR)
   ========================================================================== */

/* 1. Enlaces de la caja de detalles (Organizador, Recinto, Web) */
.tribe-events-single .tribe-events-content a,
.tribe-events-single .tribe-events-meta-group a,
.tribe-events-single .tribe-events-meta-group .tribe-events-meta-value a,
.tribe-events-single .tribe-events-venue-map a {
    color: #0f172a !important; 
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 2px solid rgba(255, 230, 4, 0.3) !important; 
    box-shadow: none !important;
    transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* Interacción en enlaces generales */
.tribe-events-single .tribe-events-content a:hover,
.tribe-events-single .tribe-events-meta-group a:hover,
.tribe-events-single .tribe-events-meta-group .tribe-events-meta-value a:hover {
    color: #000000 !important;
    border-bottom-color: #ffe604 !important;
    background-color: rgba(255, 230, 4, 0.1) !important;
}

/* 1.1 EXCEPCIÓN: Etiqueta de Categoría de Evento */
.tribe-events-single .tribe-events-event-categories a,
.tribe-events-single .tribe-events-meta-group .tribe-events-category a {
    background-color: #ffe604 !important;
    color: #000000 !important;
    padding: 6px 16px !important;
    border-radius: 50px !important;
    border-bottom: none !important;
    display: inline-block !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* Interacción de la etiqueta de categoría */
.tribe-events-single .tribe-events-event-categories a:hover,
.tribe-events-single .tribe-events-meta-group .tribe-events-category a:hover {
    background-color: #000000 !important;
    color: #ffe604 !important;
    border-bottom: none !important;
}

/* 2. Botón "Añadir al calendario": Forzar iconos a blanco y anular azules */
.tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button svg,
.tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-icon,
.tribe-events-c-subscribe-dropdown__button .tribe-common-svgicon {
    fill: #ffffff !important;
    color: #ffffff !important;
}

/* Soporte para iconos trazados (stroke) dentro del botón */
.tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button svg path,
.tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button svg polygon {
    stroke: #ffffff !important;
}

/* 3. Corrección de listados genéricos de The Events Calendar */
.tribe-events .tribe-events-calendar-list__event-title-link,
.tribe-events .tribe-events-calendar-list__event-venue-title {
    color: #0f172a !important;
    transition: color 200ms ease !important;
}

.tribe-events .tribe-events-calendar-list__event-title-link:hover,
.tribe-events .tribe-events-calendar-list__event-venue-title:hover {
    color: #ffe604 !important;
}

/* Iconos de fecha/hora en listados */
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper svg,
.tribe-events .tribe-events-calendar-list__event-venue-address svg {
    fill: #0f172a !important;
}




/* ==========================================================================
   DISEÑO CARRUSEL CORPORATIVO
   ========================================================================== */

/* 1. Forzar el tamaño en el enlace que envuelve la imagen */
.carrusel-corporativo .swiper-slide a {
    display: block !important;
    height: 300px !important; /* Altura obligatoria */
    border-radius: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    margin: 5px !important; /* Espacio para que respire la sombra */
}

/* Eliminar márgenes por defecto del figure */
.carrusel-corporativo .swiper-slide figure {
    height: 100% !important;
    margin: 0 !important;
}

/* 2. Comportamiento de la imagen */
.carrusel-corporativo .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), filter 0.6s ease !important;
    filter: brightness(0.9) grayscale(0.1) !important;
}

/* Efecto al pasar el ratón */
.carrusel-corporativo .swiper-slide a:hover img {
    transform: scale(1.05) !important;
    filter: brightness(1) grayscale(0) !important;
}

/* 3. Estilo de las flechas de navegación */
.carrusel-corporativo .elementor-swiper-button {
    background-color: #111111 !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    border: 1px solid #ffe604 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.4s ease !important;
}

.carrusel-corporativo .elementor-swiper-button svg {
    fill: #ffe604 !important;
    width: 20px !important;
    height: 20px !important;
    transition: fill 0.4s ease !important;
}

/* Efecto Hover en las flechas */
.carrusel-corporativo .elementor-swiper-button:hover {
    background-color: #ffe604 !important;
    transform: scale(1.1) !important;
}

.carrusel-corporativo .elementor-swiper-button:hover svg {
    fill: #000000 !important;
}

/* ==========================================================================
   DISEÑO GRID DE LOGOS (TARJETAS IDÉNTICAS Y CENTRADO PERFECTO)
   ========================================================================== */

/* 1. Forzar que el widget ocupe siempre el mismo tamaño en la cuadrícula */
.grid-logos-socios .elementor-widget-image {
    height: 140px !important; /* Altura obligatoria e idéntica para todas las tarjetas */
    width: 100% !important;
    margin: 0 !important;
}

/* 2. La Tarjeta (Caja Blanca) convertida en Flexbox */
.grid-logos-socios .elementor-widget-container {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    height: 100% !important;
    width: 100% !important;
    padding: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.03) !important;
    
    /* Magia del centrado: Alinea cualquier cosa en el centro exacto */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

/* 3. Centrar también el enlace (<a>) si el logo es clicable */
.grid-logos-socios .elementor-widget-container a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
}

/* 4. Control del Logo: Tamaño exacto y unificado */
.grid-logos-socios .elementor-widget-image img {
    /* Forzamos un lienzo exacto para todos */
    width: 100% !important; 
    height: 100% !important; 
    
    /* Anulamos los topes para obligar a escalar a los más pequeños */
    max-width: none !important; 
    max-height: none !important; 
    
    object-fit: contain !important; /* Ajusta sin deformar */
    margin: 0 auto !important;
    
    filter: grayscale(100%) opacity(0.65) !important;
    transition: filter 0.4s ease, transform 0.4s ease !important;
}

/* 5. Hover: Efecto de elevación de la tarjeta y color en el logo */
.grid-logos-socios .elementor-widget-image:hover .elementor-widget-container {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12) !important;
}

.grid-logos-socios .elementor-widget-image:hover img {
    filter: grayscale(0%) opacity(1) !important;
    transform: scale(1.05) !important;
}

/* ==========================================================================
   WIDGET TRUSTINDEX: VISIBILIDAD DE IMAGEN + BOTÓN CORPORATIVO
   ========================================================================== */

/* 1. BLINDAJE DE IMAGEN Y TÍTULO EN LA CABECERA
   Forzamos explícitamente a que el plugin no oculte la foto ni el nombre
   ========================================================================== */
.resenas-corporativas .ti-footer .ti-profile-img,
.resenas-corporativas .ti-header .ti-profile-img,
.resenas-corporativas .ti-footer trustindex-image,
.resenas-corporativas .ti-header trustindex-image {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin-right: 15px !important;
    flex-shrink: 0 !important;
}

.resenas-corporativas .ti-footer .ti-profile-img img,
.resenas-corporativas .ti-header .ti-profile-img img,
.resenas-corporativas .ti-footer trustindex-image img,
.resenas-corporativas .ti-header trustindex-image img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    border: 2px solid #ffe604 !important; /* Aro amarillo corporativo fino */
    object-fit: cover !important;
}

/* 2. DISEÑO CORPORATIVO PARA EL BOTÓN "ESCRIBE UNA RESEÑA"
   ========================================================================== */
.resenas-corporativas .ti-header-write-btn,
.resenas-corporativas a.ti-header-write-btn {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: transparent !important;
    color: #ffffff !important;
    border: 1px solid #ffe604 !important;
    border-radius: 50px !important; /* Píldora corporativa limpia */
    padding: 10px 24px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    cursor: pointer !important;
}

/* Hover: Se rellena con el amarillo corporativo y texto en negro puro */
.resenas-corporativas .ti-header-write-btn:hover,
.resenas-corporativas a.ti-header-write-btn:hover {
    background-color: #ffe604 !important;
    border-color: #ffe604 !important;
    color: #000000 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 230, 4, 0.25) !important;
}

/* ============================================================
   HIBRIDA LAB — "Alquiler de espacios y servicios" · v3
   Compacto, profesional, iconos como protagonistas.
   Grid uniforme (sin bento), menos aire, un solo acento de color.
   No toca el HTML. Pegar en CSS personalizado del sitio, o en el
   CSS avanzado del contenedor elementor-element-d20a3c1.
   ============================================================ */

.elementor-element-d20a3c1 {
  --hb-ink: #14161a;
  --hb-ink-soft: #5a5e66;
  --hb-paper: #fafaf8;
  --hb-card: #ffffff;
  --hb-line: #e6e6e2;
  --hb-accent: #146b64;        /* único acento — sustituir por el HEX de marca real */
  --hb-accent-soft: #e6f0ef;

  --hb-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --hb-fast: 150ms;

  padding-block: clamp(40px, 5vw, 64px) !important;
}



/* ---------- Grid uniforme y compacto ---------- */

.elementor-element-a9410cd.e-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}

.elementor-element-3c3a745,
.elementor-element-f3d531d,
.elementor-element-659549d,
.elementor-element-81a14e0,
.elementor-element-0aa65db,
.elementor-element-5abe019,
.elementor-element-ea2f79e,
.elementor-element-a73908e,
.elementor-element-24848c7 {
  grid-column: auto !important;
}

@media (max-width: 900px) {
  .elementor-element-a9410cd.e-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
  .elementor-element-a9410cd.e-grid { grid-template-columns: 1fr !important; }
}

/* ---------- Tarjeta compacta (icono + texto en fila) ---------- */

.elementor-element-a9410cd.e-grid > .e-con-full {
  background: var(--hb-card) !important;
  border: 1px solid var(--hb-line);
  border-radius: 12px;
  padding: 16px !important;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  transition: transform var(--hb-fast) var(--hb-ease-out),
    box-shadow var(--hb-fast) var(--hb-ease-out),
    border-color var(--hb-fast) var(--hb-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .elementor-element-a9410cd.e-grid > .e-con-full:hover {
    transform: translateY(-2px);
    border-color: var(--hb-accent);
    box-shadow: 0 10px 22px -14px rgb(20 22 26 / 0.35);
  }
}

.elementor-element-a9410cd.e-grid > .e-con-full:active {
  transform: scale(0.99);
  transition-duration: 90ms;
}

/* ---- Icono protagonista: chip grande, siempre a la izquierda ---- */

.elementor-icon-box-wrapper {
  display: contents; /* icono y texto conviven en el flex de la tarjeta */
}

.elementor-icon-box-wrapper::before {
  content: "";
  order: -1;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background-color: var(--hb-accent-soft);
  background-image: var(--icon);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  transition: transform var(--hb-fast) var(--hb-ease-out),
    background-color var(--hb-fast) var(--hb-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .elementor-element-a9410cd.e-grid > .e-con-full:hover .elementor-icon-box-wrapper::before {
    transform: scale(1.08);
  }
}

.elementor-icon-box-content { min-width: 0; }

.elementor-icon-box-title { margin: 0 !important; }

.elementor-icon-box-title span {
  color: var(--hb-ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.elementor-icon-box-description {
  color: var(--hb-ink-soft) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin-top: 3px !important;
  /*display: -webkit-box;*/
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Glifos por tarjeta */
.elementor-element-3c3a745 .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Cpath d='M2 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Ccircle cx='17' cy='8' r='2.4'/%3E%3Cpath d='M15.5 14.2c2.6.4 4.5 2.6 4.5 5.3'/%3E%3C/svg%3E");
}
.elementor-element-f3d531d .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Crect x='2' y='4' width='20' height='13' rx='1.5'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3Cpath d='M6 9l3 2.5L13 8l4 3'/%3E%3C/svg%3E");
}
.elementor-element-659549d .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Cpath d='M4 21V7l8-4 8 4v14'/%3E%3Cpath d='M9 21v-6h6v6M9 11h.01M15 11h.01M9 15h.01M15 15h.01'/%3E%3C/svg%3E");
}
.elementor-element-81a14e0 .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Cpath d='M3 21V15h4v6M9 21V11h4v10M15 21V7h4v14'/%3E%3C/svg%3E");
}
.elementor-element-0aa65db .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='1.5'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='M3 17l5-4 4 3 4-5 5 6'/%3E%3C/svg%3E");
}
.elementor-element-5abe019 .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Cpath d='M12 3a3 3 0 0 1 3 3v6a3 3 0 0 1-6 0V6a3 3 0 0 1 3-3z'/%3E%3Cpath d='M6 11a6 6 0 0 0 12 0M12 17v4M9 21h6'/%3E%3C/svg%3E");
}
.elementor-element-ea2f79e .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E");
}
.elementor-element-a73908e .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Cpath d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8z'/%3E%3Cpath d='M19.4 13.5a7.6 7.6 0 0 0 0-3l2-1.4-2-3.4-2.3.9a7.5 7.5 0 0 0-2.6-1.5L14 2.5h-4l-.5 2.6a7.5 7.5 0 0 0-2.6 1.5l-2.3-.9-2 3.4 2 1.4a7.6 7.6 0 0 0 0 3l-2 1.4 2 3.4 2.3-.9c.75.66 1.63 1.17 2.6 1.5l.5 2.6h4l.5-2.6a7.5 7.5 0 0 0 2.6-1.5l2.3.9 2-3.4-2-1.4z'/%3E%3C/svg%3E");
}
.elementor-element-24848c7 .elementor-icon-box-wrapper::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146b64' stroke-width='1.6'%3E%3Cpath d='M4 5h16v11H8l-4 4V5z'/%3E%3Cpath d='M8 9h8M8 12.5h5'/%3E%3C/svg%3E");
}



/* ---------- Accesibilidad ---------- */

@media (prefers-reduced-motion: reduce) {
  .elementor-element-a9410cd.e-grid > .e-con-full,
  .elementor-icon-box-wrapper::before,
  .elementor-element-8d85470 .elementor-button {
    transition-duration: 1ms !important;
  }
}


/* ==========================================================================
   ESTILO COPYRIGHT PIE DE PÁGINA
   ========================================================================== */

/* Contenedor principal y texto base */
.copyright-footer,
.copyright-footer p {
    color: #fff !important; /* Gris neutro con buen contraste de lectura */
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.2px !important;
    margin: 0 !important;
    padding: 16px 0 !important; /* Múltiplo de 8px para un respirado visual perfecto */
    text-align: center !important;
}

/* Resaltar el nombre "Hibridalab" en blanco o el año si van en negrita */
.copyright-footer strong,
.copyright-footer b {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Estilo para enlaces legales (Aviso Legal, Cookies, etc.) */
.copyright-footer a {
    color: #aaaaaa !important;
    text-decoration: none !important;
    transition: color 150ms ease-out !important; /* Micro-animación inmediata < 300ms */
}

/* Estado interactivo Hover y Active en los enlaces */
.copyright-footer a:hover,
.copyright-footer a:focus {
    color: #ffe604 !important; /* Acento en el amarillo de la marca */
    text-decoration: underline !important;
}

.copyright-footer a:active {
    color: #ffffff !important;
}
@media screen and (max-width:375px) {
	
.copyright-footer,
.copyright-footer p {
    color: #fff !important; /* Gris neutro con buen contraste de lectura */
    font-size: 10px !important;
    line-height: 1.3 !important;
    padding: 16px 0 !important; /* Múltiplo de 8px para un respirado visual perfecto */
    text-align: left !important;
}
	
}

/* ==========================================================================
   INTERFAZ VISUAL: FORMULARIO HIBRIDALAB (VERSIÓN MAESTRA)
   ========================================================================== */

/* 1. ESTRUCTURA GRID (Múltiplos 8px) */
.wpcf7 .hibridalab-form-grid {
    display: grid !important;
    gap: 16px !important;
    width: 100% !important;
}

.wpcf7 .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.wpcf7 .form-row.full-width {
    grid-template-columns: 1fr !important;
}

@media (max-width: 767px) {
    .wpcf7 .form-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* 2. DISEÑO DE CAMPOS (Sólidos y rápidos) */
.wpcf7 .hibridalab-form-grid input[type="text"],
.wpcf7 .hibridalab-form-grid input[type="email"],
.wpcf7 .hibridalab-form-grid input[type="tel"],
.wpcf7 .hibridalab-form-grid select,
.wpcf7 .hibridalab-form-grid textarea {
    width: 100% !important;
    background-color: #111111 !important; 
    border: 1px solid #333333 !important; 
    border-radius: 8px !important;
    padding: 16px !important; 
    font-size: 15px !important;
    color: #ffffff !important;
    font-family: inherit !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2) inset !important; 
    transition: all 150ms ease-out !important;
    outline: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.wpcf7 .hibridalab-form-grid textarea {
    resize: vertical !important;
    min-height: 80px !important;
}

/* Limpieza de flecha nativa en el Select */
.wpcf7 .hibridalab-form-grid select {
    appearance: none !important; 
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px auto !important;
}

/* 3. PLACEHOLDERS (Textos predictivos consolidados) */
.wpcf7 .hibridalab-form-grid ::-webkit-input-placeholder { color: #cccccc !important; opacity: 1 !important; transition: opacity 150ms ease-out !important; }
.wpcf7 .hibridalab-form-grid ::-moz-placeholder { color: #cccccc !important; opacity: 1 !important; transition: opacity 150ms ease-out !important; }
.wpcf7 .hibridalab-form-grid :-ms-input-placeholder { color: #cccccc !important; opacity: 1 !important; transition: opacity 150ms ease-out !important; }
.wpcf7 .hibridalab-form-grid ::placeholder { color: #cccccc !important; opacity: 1 !important; transition: opacity 150ms ease-out !important; }

/* Desaparición al focus */
.wpcf7 .hibridalab-form-grid input:focus::-webkit-input-placeholder, 
.wpcf7 .hibridalab-form-grid textarea:focus::-webkit-input-placeholder { opacity: 0 !important; }
.wpcf7 .hibridalab-form-grid input:focus::-moz-placeholder, 
.wpcf7 .hibridalab-form-grid textarea:focus::-moz-placeholder { opacity: 0 !important; }
.wpcf7 .hibridalab-form-grid input:focus:-ms-input-placeholder, 
.wpcf7 .hibridalab-form-grid textarea:focus:-ms-input-placeholder { opacity: 0 !important; }
.wpcf7 .hibridalab-form-grid input:focus::placeholder, 
.wpcf7 .hibridalab-form-grid textarea:focus::placeholder { opacity: 0 !important; }

/* 4. ESTADOS INTERACTIVOS OBLIGATORIOS (Hover & Focus) */
.wpcf7 .hibridalab-form-grid input:hover,
.wpcf7 .hibridalab-form-grid select:hover,
.wpcf7 .hibridalab-form-grid textarea:hover {
    border-color: #555555 !important;
}

.wpcf7 .hibridalab-form-grid input:focus,
.wpcf7 .hibridalab-form-grid select:focus,
.wpcf7 .hibridalab-form-grid textarea:focus {
    border-color: #ffe604 !important;
    background-color: #000000 !important;
    box-shadow: 0 0 0 3px rgba(255, 230, 4, 0.15) !important; 
}

/* 5. CASILLA RGPD (Alineación milimétrica) */
.wpcf7 .hibridalab-form-grid .form-legal {
    margin-top: 8px !important;
}

.wpcf7 .hibridalab-form-grid .form-legal label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.wpcf7 .hibridalab-form-grid .form-legal input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 12px 0 0 !important; 
    accent-color: #ffe604 !important;
    flex-shrink: 0 !important;
}

.wpcf7 .hibridalab-form-grid .form-legal .wpcf7-list-item-label {
    font-size: 13px !important;
    color: #aaaaaa !important;
    line-height: 1.2 !important;
}

.wpcf7 .hibridalab-form-grid .form-legal a {
    color: #ffffff !important;
    text-decoration: underline !important;
    transition: color 150ms ease-out !important;
}

.wpcf7 .hibridalab-form-grid .form-legal a:hover {
    color: #ffe604 !important;
}

/* 6. BOTÓN DE ACCIÓN Y SPINNER (Integración total) */
.wpcf7 .hibridalab-form-grid .form-submit {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.wpcf7 .hibridalab-form-grid .wpcf7-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffe604 !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 32px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: transform 150ms ease-out, box-shadow 150ms ease-out !important;
    margin-top: 8px !important;
}

.wpcf7 .hibridalab-form-grid .wpcf7-submit:hover,
.wpcf7 .hibridalab-form-grid .wpcf7-submit:focus {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(255, 230, 4, 0.3) !important;
}

.wpcf7 .hibridalab-form-grid .wpcf7-submit:active {
    transform: translateY(0) !important;
    box-shadow: none !important;
    transition: none !important;
}

/* Control del Spinner de carga para que no rompa el diseño */
.wpcf7 .hibridalab-form-grid .wpcf7-spinner {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    background-color: rgba(0,0,0,0.5) !important;
    border-radius: 50% !important;
}

/* 7. ESTADOS DE ERROR PREMIUM (UI/UX) */
.wpcf7 .hibridalab-form-grid .wpcf7-not-valid {
    border-color: #ff4a4a !important;
    background-color: rgba(255, 74, 74, 0.02) !important;
    box-shadow: 0 0 0 1px #ff4a4a inset !important;
}

.wpcf7 .wpcf7-not-valid-tip {
    display: inline-flex !important;
    align-items: center !important;
    color: #ff4a4a !important;
    background-color: rgba(255, 74, 74, 0.08) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    margin-top: 8px !important;
    line-height: 1.4 !important;
    width: max-content !important;
    max-width: 100% !important;
    animation: errorSlideUp 200ms ease-out forwards !important;
}

.wpcf7 .wpcf7-not-valid-tip::before {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    margin-right: 8px !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff4a4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    flex-shrink: 0 !important;
}

@keyframes errorSlideUp {
    0% { opacity: 0; transform: translateY(-4px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Alertas de respuesta global del formulario */
.wpcf7 form .wpcf7-response-output {
    display: flex !important;
    align-items: center !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-top: 24px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    border: 1px solid transparent !important;
}

/* Éxito */
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #22c55e !important;
    background-color: rgba(34, 197, 94, 0.05) !important;
    color: #22c55e !important;
}

/* Fallo / Error */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
    border-color: #ff4a4a !important;
    background-color: rgba(255, 74, 74, 0.05) !important;
    color: #ff4a4a !important;
}

/* 8. NEUTRALIZACIÓN DEL DOM DE CF7 */
.wpcf7 .hibridalab-form-grid p {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.wpcf7 .hibridalab-form-grid br {
    display: none !important;
}

.wpcf7 .hibridalab-form-grid .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}


/* ==========================================================================
   CARRUSEL NATIVO: ESTRUCTURA STICKY, MICRO-UI Y DIFUMINADO PROFUNDO
   ========================================================================== */

/* 1. Unificar DOM de Elementor (Ignora capas intermedias) */
.hibridalab-services-grid > .e-con-inner {
    display: contents !important;
}

/* 2. Pista del Carrusel (Padre principal) */
.hibridalab-services-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 8px !important; 
    /* Forzamos 0px a los lados para anular el margen de Elementor. Mantenemos 24px abajo */
    padding: 0 0 24px 0 !important; 
    margin: 0 !important; 
    align-items: stretch !important;
    scrollbar-width: none !important; 
    -ms-overflow-style: none !important; 
}

.hibridalab-services-grid::-webkit-scrollbar {
    display: none !important; 
}

/* 3. Máscaras de Difuminado (Ancladas, Ajuste Milimétrico y Profundidad) */
.hibridalab-services-grid::before,
.hibridalab-services-grid::after {
    content: '' !important;
    position: sticky !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 160px !important; /* Difuminado amplio */
    height: auto !important;
    z-index: 2 !important;
    pointer-events: none !important;
    flex-shrink: 0 !important;
}

.hibridalab-services-grid::before {
    left: 0 !important;
    margin-right: -168px !important; /* Compensa ancho (160) + gap (8) */
    background: linear-gradient(to right, #000000 0%, rgba(0, 0, 0, 0.8) 25%, transparent 100%) !important;
    order: -1 !important; /* Siempre primero */
}

.hibridalab-services-grid::after {
    right: 0 !important;
    margin-left: -168px !important; /* Compensa ancho (160) + gap (8) */
    background: linear-gradient(to left, #000000 0%, rgba(0, 0, 0, 0.8) 25%, transparent 100%) !important;
    order: 999 !important; /* Siempre último */
}

/* 4. Flechas de Navegación (Ancladas con Sticky) */
.hibridalab-services-grid .hl-nav-btn {
    position: sticky !important;
    align-self: center !important;
    width: 40px !important; 
    height: 40px !important;
    background-color: #111111 !important;
    border: 1px solid #333333 !important;
    border-radius: 50% !important;
    color: #aaaaaa !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    flex-shrink: 0 !important;
    margin-bottom: 24px !important; /* Compensa padding inferior */
    transform: scale(0.9) !important;
}

.hibridalab-services-grid .hl-nav-prev {
    left: 16px !important;
    margin-right: -40px !important;
    order: -2 !important;
}

.hibridalab-services-grid .hl-nav-next {
    right: 16px !important;
    margin-left: -40px !important;
    order: 1000 !important;
}

.hibridalab-services-grid:hover .hl-nav-btn {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) !important;
}

.hibridalab-services-grid .hl-nav-btn:hover {
    background-color: #1a1a1a !important;
    border-color: #ffe604 !important;
    color: #ffe604 !important;
    transform: scale(1.05) !important;
}

.hibridalab-services-grid .hl-nav-btn:active {
    transform: scale(0.95) !important;
    transition: none !important;
}

.hibridalab-services-grid .hl-nav-btn svg {
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
}

/* 5. Sistema Responsive (8-6-4-2) */
.hibridalab-services-grid .elementor-widget-icon-box {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
}

@media (min-width: 1441px) { 
    .hibridalab-services-grid .elementor-widget-icon-box { width: calc((100% - 56px) / 8) !important; } 
}
@media (min-width: 1025px) and (max-width: 1440px) { 
    .hibridalab-services-grid .elementor-widget-icon-box { width: calc((100% - 40px) / 6) !important; } 
}
@media (min-width: 768px) and (max-width: 1024px) { 
    .hibridalab-services-grid .elementor-widget-icon-box { width: calc((100% - 24px) / 4) !important; } 
}

/* Ajustes Específicos para Móvil/Tablet */
@media (max-width: 1024px) {
    .hibridalab-services-grid .hl-nav-btn { display: none !important; }
}

@media (max-width: 767px) {
    .hibridalab-services-grid .elementor-widget-icon-box { width: calc((100% - 8px) / 2) !important; }
    .hibridalab-services-grid { padding-bottom: 16px !important; }
    .hibridalab-services-grid::before,
    .hibridalab-services-grid::after { width: 56px !important; }
    .hibridalab-services-grid::before { margin-right: -64px !important; }
    .hibridalab-services-grid::after { margin-left: -64px !important; }
}

/* 6. Diseño Micro-UI de las Tarjetas */
.hibridalab-services-grid .elementor-widget-icon-box .elementor-widget-container {
    background-color: #0c0c0c !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 8px !important; 
    padding: 16px !important; 
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), background-color 200ms ease-out, border-color 200ms ease-out !important;
    cursor: pointer !important;
}

.hibridalab-services-grid .elementor-widget-icon-box .elementor-widget-container:hover {
    background-color: #141414 !important;
    border-color: #333333 !important;
    transform: translateY(-2px) !important;
}

.hibridalab-services-grid .elementor-widget-icon-box .elementor-widget-container:active {
    transform: translateY(0) scale(0.98) !important;
    transition: none !important;
}

.hibridalab-services-grid .elementor-widget-icon-box .elementor-widget-container:hover .elementor-icon { 
    transform: scale(1.1) !important; 
}

/* 7. Reseteo Estructural de Textos e Iconos */
.hibridalab-services-grid .elementor-icon-box-wrapper { 
    display: block !important; 
    text-align: left !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}

.hibridalab-services-grid .elementor-icon-box-icon { 
    margin: 0 0 12px 0 !important; 
    display: block !important; 
}

.hibridalab-services-grid .elementor-icon { 
    display: inline-flex !important; 
    align-items: center !important; 
    justify-content: flex-start !important; 
    color: #ffe604 !important; 
    font-size: 24px !important; 
    background-color: transparent !important; 
    border: none !important; 
    width: auto !important; 
    height: auto !important; 
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important; 
}

.hibridalab-services-grid .elementor-icon-box-title { 
    color: #ffffff !important; 
    font-size: 14px !important; 
    font-weight: 600 !important; 
    line-height: 1.3 !important; 
    margin: 0 0 6px 0 !important; 
    padding: 0 !important; 
}

.hibridalab-services-grid .elementor-icon-box-title span { margin: 0 !important; padding: 0 !important; }

.hibridalab-services-grid .elementor-icon-box-description { 
    color: #888888 !important; 
    font-size: 12px !important; 
    line-height: 1.4 !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}

/* 8. Físicas de Arrastre (Drag to Scroll) */
.hibridalab-services-grid { cursor: grab !important; }
.hibridalab-services-grid.is-dragging { cursor: grabbing !important; scroll-behavior: auto !important; scroll-snap-type: none !important; }
.hibridalab-services-grid.is-dragging .elementor-widget-icon-box { pointer-events: none !important; }
.hibridalab-services-grid.is-shifting { scroll-behavior: auto !important; scroll-snap-type: none !important; }

/* 9. Modo Edición Elementor */
body.elementor-editor-active .hibridalab-services-grid { flex-wrap: wrap !important; overflow-x: visible !important; }
body.elementor-editor-active .hibridalab-services-grid .elementor-widget-icon-box { margin-bottom: 16px !important; }

/* ==========================================================================
   UX Y ACCESIBILIDAD (TOQUES FINALES)
   ========================================================================== */

/* 1. Evitar selección de texto al arrastrar */
.hibridalab-services-grid .elementor-widget-icon-box {
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* 2. Estado Focus para navegación por teclado (Accesibilidad) */
.hibridalab-services-grid .elementor-widget-icon-box .elementor-widget-container:focus-visible {
    outline: 2px solid #ffe604 !important;
    outline-offset: 4px !important; 
    background-color: #141414 !important;
}





/* ==========================================================================
   SERVICIOS PARA LA SECCIÓN DE SERVICIOS
   ========================================================================== */

/* 1. Unificar DOM de Elementor (Ignora capas intermedias) */
.hibridalab-services-grid3 > .e-con-inner3 {
    display: contents !important;
}


/* 5. Sistema Responsive (8-6-4-2) */
.hibridalab-services-grid3 .elementor-widget-icon-box {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
}

@media (min-width: 1441px) { 
    .hibridalab-services-grid3 .elementor-widget-icon-box { width: calc((100% - 56px) / 8) !important; } 
}
@media (min-width: 1025px) and (max-width: 1440px) { 
    .hibridalab-services-grid3 .elementor-widget-icon-box { width: calc((100% - 40px) / 6) !important; } 
}
@media (min-width: 768px) and (max-width: 1024px) { 
    .hibridalab-services-grid3 .elementor-widget-icon-box { width: calc((100% - 24px) / 4) !important; } 
}

/* Ajustes Específicos para Móvil/Tablet */
@media (max-width: 1024px) {
    .hibridalab-services-grid3 .hl-nav-btn { display: none !important; }
}

@media (max-width: 767px) {
    .hibridalab-services-grid3 .elementor-widget-icon-box { width: calc((100% - 8px) / 2) !important; }
    .hibridalab-services-grid3 { padding-bottom: 16px !important; }
    .hibridalab-services-grid3::before,
    .hibridalab-services-grid3::after { width: 56px !important; }
    .hibridalab-services-grid3::before { margin-right: -64px !important; }
    .hibridalab-services-grid3::after { margin-left: -64px !important; }
}

/* 6. Diseño Micro-UI de las Tarjetas */
.hibridalab-services-grid3 .elementor-widget-icon-box .elementor-widget-container {
    background-color: #0c0c0c !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 8px !important; 
    padding: 16px !important; 
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), background-color 200ms ease-out, border-color 200ms ease-out !important;
    cursor: pointer !important;
}

.hibridalab-services-grid3 .elementor-widget-icon-box .elementor-widget-container:hover {
    background-color: #141414 !important;
    border-color: #333333 !important;
    transform: translateY(-2px) !important;
}

.hibridalab-services-grid3 .elementor-widget-icon-box .elementor-widget-container:active {
    transform: translateY(0) scale(0.98) !important;
    transition: none !important;
}

.hibridalab-services-grid3 .elementor-widget-icon-box .elementor-widget-container:hover .elementor-icon { 
    transform: scale(1.1) !important; 
}

/* 7. Reseteo Estructural de Textos e Iconos */
.hibridalab-services-grid3 .elementor-icon-box-wrapper { 
    display: block !important; 
    text-align: left !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}

.hibridalab-services-grid3 .elementor-icon-box-icon { 
    margin: 0 0 12px 0 !important; 
    display: block !important; 
}

.hibridalab-services-grid3 .elementor-icon { 
    display: inline-flex !important; 
    align-items: center !important; 
    justify-content: flex-start !important; 
    color: #ffe604 !important; 
    font-size: 24px !important; 
    background-color: transparent !important; 
    border: none !important; 
    width: auto !important; 
    height: auto !important; 
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important; 
}

.hibridalab-services-grid3 .elementor-icon-box-title { 
    color: #ffffff !important; 
    font-size: 14px !important; 
    font-weight: 600 !important; 
    line-height: 1.3 !important; 
    margin: 0 0 6px 0 !important; 
    padding: 0 !important; 
}

.hibridalab-services-grid3 .elementor-icon-box-title span { margin: 0 !important; padding: 0 !important; }

.hibridalab-services-grid3 .elementor-icon-box-description { 
    color: #888888 !important; 
    font-size: 12px !important; 
    line-height: 1.4 !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}

















/* ==========================================================================
   1. DISEÑO SENIOR: CONTENEDOR OFF-CANVAS Y CABECERA (ALTURA AUTOMÁTICA)
   ========================================================================== */
@media (max-width: 1024px) {
    /* Contenedor principal */
    .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements,
    div.elementskit-menu-container.elementskit-menu-offcanvas-elements {
        top: 44px !important;
        bottom: auto !important; /* Desvincula el menú del fondo de la pantalla */
        height: auto !important; /* La altura se adapta estrictamente al contenido */
        max-height: calc(100vh - 44px) !important; /* Permite scroll interno si los submenús superan la pantalla */
        overflow-y: auto !important;
        background-color: #111111 !important;
        box-shadow: 8px 16px 32px rgba(0, 0, 0, 0.5) !important;
        border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important; /* Cierre visual inferior */
    }

    /* Cabecera (Logo y cierre) */
    div.elementskit-menu-container .elementskit-nav-identity-panel {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 16px 24px !important;
        background-color: #222222 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    div.elementskit-menu-container .elementskit-nav-logo img {
        max-height: 54px !important;
        width: auto !important;
		border-radius: 5px;
    }

    /* Botón de cierre: Interacción hiper-rápida */
    div.elementskit-menu-container .elementskit-menu-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        background-color: rgba(255, 255, 255, 0.04) !important;
        color: #f8fafc !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    }

    div.elementskit-menu-container .elementskit-menu-close:hover {
        background-color: #ffe604 !important;
        color: #0f172a !important;
        border-color: #ffe604 !important;
    }

    div.elementskit-menu-container .elementskit-menu-close:active {
        transform: scale(0.92) !important;
    }

    /* ==========================================================================
       2. DISEÑO SENIOR: ENLACES PRINCIPALES Y MICRO-INTERACCIONES
       ========================================================================== */
    div.elementskit-menu-container ul.elementskit-navbar-nav {
        padding: 16px 0 32px 0 !important;
    }

    div.elementskit-menu-container ul.elementskit-navbar-nav > li > a.ekit-menu-nav-link {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 16px 24px !important;
        color: #f8fafc !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
        transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    }

    /* Estados interactivos: Sangría sutil en hover */
    div.elementskit-menu-container ul.elementskit-navbar-nav > li > a.ekit-menu-nav-link:hover,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li > a.ekit-menu-nav-link:active {
        background-color: rgba(255, 255, 255, 0.02) !important;
        color: #ffe604 !important;
        padding-left: 32px !important; 
    }

    /* Flechas indicadoras de submenú */
    div.elementskit-menu-container .elementskit-submenu-indicator {
        font-size: 12px !important;
        color: #444444 !important;
        transition: transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1), color 200ms ease !important;
    }

    div.elementskit-menu-container ul.elementskit-navbar-nav > li > a.ekit-menu-nav-link:hover .elementskit-submenu-indicator {
        color: #ffe604 !important;
    }

    /* Rotación de flecha al abrir */
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.elementskit-dropdown-open > a .elementskit-submenu-indicator,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.menu-desplegado > a .elementskit-submenu-indicator {
        transform: rotate(180deg) !important;
        color: #ffe604 !important;
    }

    /* ==========================================================================
       3. FUNCIONALIDAD VALIDADA Y DISEÑO DE SUBMENÚS
       ========================================================================== */
    /* Forzar visibilidad del submenú estándar de WordPress (Noticias) */
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.elementskit-dropdown-open > ul.sub-menu,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.menu-desplegado > ul.sub-menu,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.elementskit-dropdown-open > ul.elementskit-dropdown,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.menu-desplegado > ul.elementskit-dropdown,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.elementskit-dropdown-open .elementskit-submenu-panel,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.menu-desplegado .elementskit-submenu-panel {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        background-color: #111111 !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
        border-left: 3px solid #ffe604 !important;
    }

    /* Estilo de los enlaces internos del submenú estándar */
    div.elementskit-menu-container ul.elementskit-navbar-nav ul.sub-menu li a,
    div.elementskit-menu-container ul.elementskit-navbar-nav ul.elementskit-dropdown li a,
    div.elementskit-menu-container ul.elementskit-navbar-nav .elementskit-submenu-panel li a {
        display: block !important;
        padding: 12px 24px 12px 24px !important;
        color: #444444 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
        transition: color 200ms ease, background-color 200ms ease !important;
    }

    div.elementskit-menu-container ul.elementskit-navbar-nav ul.sub-menu li a:hover,
    div.elementskit-menu-container ul.elementskit-navbar-nav ul.elementskit-dropdown li a:hover,
    div.elementskit-menu-container ul.elementskit-navbar-nav .elementskit-submenu-panel li a:hover {
        color: #ffe604 !important;
        background-color: rgba(255, 255, 255, 0.02) !important;
    }

    /* Forzar visibilidad del Mega Menú (Servicios) */
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.elementskit-dropdown-open > .elementskit-megamenu-panel,
    div.elementskit-menu-container ul.elementskit-navbar-nav > li.menu-desplegado > .elementskit-megamenu-panel {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: #111111 !important;
    }
}



/* ==========================================================================
   ESTRUCTURA servicios menú header
   ========================================================================== */
/* 5. Sistema Responsive (8-6-4-2) */
.hibridalab-services-grid2 .elementor-widget-icon-box {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
}

@media (min-width: 1441px) { 
    .hibridalab-services-grid2 .elementor-widget-icon-box { width: calc((100% - 56px) / 8) !important; } 
}
@media (min-width: 1025px) and (max-width: 1440px) { 
    .hibridalab-services-grid2 .elementor-widget-icon-box { width: calc((100% - 40px) / 6) !important; } 
}
@media (min-width: 768px) and (max-width: 1024px) { 
    .hibridalab-services-grid2 .elementor-widget-icon-box { width: calc((100% - 24px) / 4) !important; } 
}

/* Ajustes Específicos para Móvil/Tablet */
@media (max-width: 1024px) {
    .hibridalab-services-grid2 .hl-nav-btn { display: none !important; }
}

@media (max-width: 767px) {
    .hibridalab-services-grid2 .elementor-widget-icon-box { width: calc((100% - 8px) / 2) !important; }
    .hibridalab-services-grid2 { padding-bottom: 16px !important; }
    .hibridalab-services-grid2::before,
    .hibridalab-services-grid2::after { width: 56px !important; }
    .hibridalab-services-grid2::before { margin-right: -64px !important; }
    .hibridalab-services-grid2::after { margin-left: -64px !important; }
}

/* 6. Diseño Micro-UI de las Tarjetas */
.hibridalab-services-grid2 .elementor-widget-icon-box .elementor-widget-container {
    border: 1px solid #1a1a1a !important;
    border-radius: 8px !important; 
    padding: 16px !important; 
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), background-color 200ms ease-out, border-color 200ms ease-out !important;
    cursor: pointer !important;
}

.hibridalab-services-grid2 .elementor-widget-icon-box .elementor-widget-container:hover {
    background-color: #141414 !important;
    border-color: #333333 !important;
    transform: translateY(-2px) !important;
}

.hibridalab-services-grid2 .elementor-widget-icon-box .elementor-widget-container:active {
    transform: translateY(0) scale(0.98) !important;
    transition: none !important;
}

.hibridalab-services-grid2 .elementor-widget-icon-box .elementor-widget-container:hover .elementor-icon { 
    transform: scale(1.1) !important; 
}

/* 7. Reseteo Estructural de Textos e Iconos */
.hibridalab-services-grid2 .elementor-icon-box-wrapper { 
    display: block !important; 
    text-align: left !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}

.hibridalab-services-grid2 .elementor-icon-box-icon { 
    margin: 0 0 12px 0 !important; 
    display: block !important; 
}

.hibridalab-services-grid2 .elementor-icon { 
    display: inline-flex !important; 
    align-items: center !important; 
    justify-content: flex-start !important; 
    color: #ffe604 !important; 
    font-size: 24px !important; 
    background-color: transparent !important; 
    border: none !important; 
    width: auto !important; 
    height: auto !important; 
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important; 
}

.hibridalab-services-grid2 .elementor-icon-box-title span { 
color: var(--hb-ink) !important;
  font-size: 13px !important;
  font-weight: 200 !important;
  line-height: 1.2 !important;
}
.hibridalab-services-grid2 .elementor-icon-box-title { 
    color: #ffffff !important; 
    font-size: 10px !important; 
    font-weight: 600 !important; 
    line-height: 1.3 !important; 
    margin: 0 0 6px 0 !important; 
    padding: 0 !important; 
}

/* ==========================================================================
   8. Área de clic expandida a toda la tarjeta
   ========================================================================== */

.hibridalab-services-grid2 .elementor-widget-icon-box .elementor-widget-container {
    position: relative !important;
}

.hibridalab-services-grid2 .elementor-icon-box-title a::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 10 !important;
}











/* ==========================================================================
   DISEÑO SENIOR: HOVER DESKTOP Y ZONA TÁCTIL (UX)
   ========================================================================== */

/* 1. Comportamiento en Escritorio (> 1024px): Hover para abrir */
@media (min-width: 1025px) {
    .elementskit-navbar-nav > li.elementskit-dropdown-has:hover > .elementskit-megamenu-panel,
    .elementskit-navbar-nav > li.menu-item-has-children:hover > ul.sub-menu,
    .elementskit-navbar-nav > li.elementskit-dropdown-has:hover > ul.elementskit-dropdown {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        /* Interacción rápida y natural (Emil Kowalski skill) */
        animation: ekit-fade-in 200ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards !important;
    }

    /* Mantiene el color activo en el enlace padre al hacer hover */
    .elementskit-navbar-nav > li.elementskit-dropdown-has:hover > a,
    .elementskit-navbar-nav > li.menu-item-has-children:hover > a {
        color: #ffe604 !important; 
    }
    
    .elementskit-navbar-nav > li.elementskit-dropdown-has:hover > a .elementskit-submenu-indicator {
        transform: rotate(180deg) !important;
    }
}

/* 2. Comportamiento en Móvil (< 1024px): Ampliar zona de clic de la flecha */
@media (max-width: 1024px) {
    div.elementskit-menu-container .elementskit-submenu-indicator {
        /* Aumentamos dramáticamente el área táctil sin afectar el diseño visual */
        padding: 16px 24px !important; 
        margin-right: -24px !important; /* Compensa el padding para alinear a la derecha */
        margin-top: -16px !important;
        margin-bottom: -16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative;
        z-index: 10; /* Fuerza prioridad en el toque */
    }
}




















/* ==========================================================================
   PARCHE SENIOR: RESOLUCIÓN DE CONFLICTO DE ESPECIFICIDAD EN AGENDA
   ========================================================================== */

/* 1. Titular: Supera la regla genérica anterior y fuerza el blanco puro en cualquier etiqueta interna */
html body .tribe-events .tribe-events-calendar-latest-past__event-title-link,
html body .tribe-events .tribe-events-calendar-latest-past__event-title-link *,
html body .tribe-events .tribe-events-calendar-list__event-title-link,
html body .tribe-events .tribe-events-calendar-list__event-title-link * {
    color: #ffffff !important;
}

/* Hover del titular */
html body .tribe-events .tribe-events-calendar-latest-past__event-title-link:hover,
html body .tribe-events .tribe-events-calendar-latest-past__event-title-link:hover *,
html body .tribe-events .tribe-events-calendar-list__event-title-link:hover,
html body .tribe-events .tribe-events-calendar-list__event-title-link:hover * {
    color: #cbd5e1 !important; /* Gris claro al pasar el ratón */
}

/* 2. Categoría / Recinto (HIBRIDALAB): Fuerza el amarillo corporativo en cualquier etiqueta interna */
html body .tribe-events .tribe-events-calendar-latest-past__event-venue,
html body .tribe-events .tribe-events-calendar-latest-past__event-venue *,
html body .tribe-events .tribe-events-calendar-latest-past__event-venue-title,
html body .tribe-events .tribe-events-calendar-latest-past__event-venue-title *,
html body .tribe-events .tribe-events-calendar-list__event-venue,
html body .tribe-events .tribe-events-calendar-list__event-venue *,
html body .tribe-events .tribe-events-calendar-list__event-venue-title,
html body .tribe-events .tribe-events-calendar-list__event-venue-title * {
    color: #ffe604 !important;
}

/* ==========================================================================
   DISEÑO SENIOR: ACORDEÓN FAQ (Clase: hibridalab-faq-accordion)
   ========================================================================== */

/* 1. Contenedor principal: Eliminamos márgenes residuales y aplicamos gap exacto (múltiplo de 8) */
.hibridalab-faq-accordion .elementor-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

/* 2. Tarjeta individual (Diseño limpio, caja estructurada) */
.hibridalab-faq-accordion .elementor-accordion-item {
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    overflow: hidden !important;
    margin: 0 !important; /* Anulamos márgenes nativos de Elementor */
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
}

.hibridalab-faq-accordion .elementor-accordion-item:hover {
    border-color: #ffe604 !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
}

/* 3. Área interactiva: Título (Zona de toque amplia y clic natural) */
.hibridalab-faq-accordion .elementor-tab-title {
    display: flex !important;
    align-items: center !important;
    padding: 24px !important;
    background-color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 150ms ease !important;
}

.hibridalab-faq-accordion .elementor-tab-title:active {
    background-color: rgba(255, 230, 4, 0.05) !important;
}

/* Texto del título (Jerarquía fuerte) */
.hibridalab-faq-accordion .elementor-accordion-title {
    color: #0f172a !important; /* Slate oscuro corporativo */
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 0 0 16px !important;
}

/* 4. Iconos y Micro-interacciones (Respuesta instantánea) */
.hibridalab-faq-accordion .elementor-accordion-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background-color: #f1f5f9 !important; /* Fondo gris técnico */
    border-radius: 6px !important;
    color: #0f172a !important;
    flex-shrink: 0 !important;
    transition: background-color 200ms cubic-bezier(0.2, 0.8, 0.2, 1), color 200ms ease, transform 150ms ease !important;
}

.hibridalab-faq-accordion .elementor-accordion-icon svg {
    width: 14px !important;
    height: 14px !important;
    fill: currentColor !important;
}

/* El icono se enciende al pasar el ratón por la tarjeta */
.hibridalab-faq-accordion .elementor-accordion-item:hover .elementor-accordion-icon {
    background-color: #ffe604 !important;
    color: #0f172a !important;
}

/* Efecto de presión física al hacer clic */
.hibridalab-faq-accordion .elementor-tab-title:active .elementor-accordion-icon {
    transform: scale(0.9) !important;
}

/* 5. Estado Activo (Cuando la pregunta está abierta) */
.hibridalab-faq-accordion .elementor-tab-title.elementor-active {
    border-bottom: 1px solid #f1f5f9 !important;
}

/* Contraste invertido para indicar el estado activo */
.hibridalab-faq-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
    background-color: #0f172a !important;
    color: #ffe604 !important;
}

/* 6. Contenido de la respuesta (Auditoría tipográfica) */
.hibridalab-faq-accordion .elementor-tab-content {
    padding: 24px !important;
    border: none !important;
    background-color: #ffffff !important;
}

.hibridalab-faq-accordion .elementor-tab-content p,
.hibridalab-faq-accordion .elementor-tab-content span {
    color: #475569 !important; /* Gris intermedio legible */
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}


/* ==========================================================================
   DISEÑO SENIOR: TABLA DE TARIFAS (Clase: hibridalab-tarifas)
   ========================================================================== */

/* 1. Contenedor Responsivo (Para que no se rompa en móviles) */
.hibridalab-tarifas {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 16px !important; /* Espacio para la barra de scroll si aparece */
}

/* 2. Reset de la tabla y estructura base tipo tarjeta */
.hibridalab-tarifas table {
    width: 100% !important;
    min-width: 800px !important; /* Fuerza scroll en móvil manteniendo proporciones */
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.02) !important;
}

/* 3. Destrucción de anchos y altos fijos inyectados por el HTML */
.hibridalab-tarifas table tbody,
.hibridalab-tarifas table tr,
.hibridalab-tarifas table td {
    width: auto !important;
    height: auto !important;
    max-width: none !important;
}

/* 4. Celdas Estándar (Espaciados múltiples de 8px) */
.hibridalab-tarifas table td {
    padding: 16px 24px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    color: #475569 !important; /* Gris intermedio legible */
    font-size: 15px !important;
    vertical-align: middle !important;
    transition: background-color 150ms ease !important;
}

/* Limpieza de bordes externos duplicados */
.hibridalab-tarifas table tr:last-child td { border-bottom: none !important; }
.hibridalab-tarifas table td:last-child { border-right: none !important; }

/* 5. Cabeceras de Sección (Fila 1 y Fila 4) */
.hibridalab-tarifas table tr:nth-child(1) td,
.hibridalab-tarifas table tr:nth-child(4) td {
    background-color: #f1f5f9 !important; /* Fondo gris técnico */
    color: #0f172a !important; /* Slate oscuro */
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* 6. Primera columna (Conceptos) con jerarquía fuerte */
.hibridalab-tarifas table td:first-child {
    font-weight: 600 !important;
    color: #0f172a !important;
    width: 35% !important; /* Da más espacio al texto descriptivo */
}

/* 7. Auditoría tipográfica interna (Limpieza de etiquetas <p> y <strong>) */
.hibridalab-tarifas table td p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.hibridalab-tarifas table td strong {
    font-weight: 700 !important;
    color: #0f172a !important;
}

/* El texto secundario ("A distribuir de 8 a 20 horas...") se vuelve más sutil */
.hibridalab-tarifas table td p:nth-child(2) {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #94a3b8 !important;
    margin-top: 4px !important;
}

/* 8. Micro-interacción: Hover suave en las filas de datos */
.hibridalab-tarifas table tr:hover td {
    background-color: rgba(255, 230, 4, 0.05) !important;
}

/* Evitar que las cabeceras reaccionen al hover */
.hibridalab-tarifas table tr:nth-child(1):hover td,
.hibridalab-tarifas table tr:nth-child(4):hover td {
    background-color: #f1f5f9 !important;
}

/* 9. Nota inferior (IVA) */
.hibridalab-tarifas + p, 
.hibridalab-tarifas table + p {
    font-size: 13px !important;
    color: #0f172a !important;
    margin-top: 16px !important;
    text-align: right !important;
}

/* ==========================================================================
   DISEÑO SENIOR: TABLA DE TARIFAS BÁSICAS (Clase: hibridalab-tarifas-basicas)
   ========================================================================== */

/* 1. Reset de la tabla y estructura base tipo tarjeta */
.hibridalab-tarifas-basicas table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.02) !important;
}

/* 2. Destrucción de estilos en línea inyectados en el HTML */
.hibridalab-tarifas-basicas table tr,
.hibridalab-tarifas-basicas table th,
.hibridalab-tarifas-basicas table td {
    border-bottom: none !important; /* Anula el borde amarillo nativo */
    text-align: left !important;    /* Anula el centrado nativo */
}

/* 3. Cabecera (Fila superior) */
.hibridalab-tarifas-basicas table th {
    background-color: #f1f5f9 !important; /* Fondo gris técnico */
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 16px 24px !important;
    border-bottom: 2px solid #ffe604 !important; /* Acento amarillo controlado */
}

/* Alinear la palabra "PRECIO" a la derecha para equilibrar el bloque */
.hibridalab-tarifas-basicas table th:nth-child(2) {
    text-align: right !important;
}

/* 4. Celdas de Datos */
.hibridalab-tarifas-basicas table td {
    padding: 16px 24px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    font-size: 15px !important;
    vertical-align: middle !important;
    transition: background-color 150ms ease !important;
}

/* Limpieza del último borde para que no choque con el radio de la tarjeta */
.hibridalab-tarifas-basicas table tr:last-child td {
    border-bottom: none !important;
}

/* 5. Jerarquía de Columnas */
/* Columna 1 (Tiempos) */
.hibridalab-tarifas-basicas table td:first-child {
    font-weight: 600 !important;
    color: #475569 !important; /* Gris oscuro */
    width: 60% !important;
}

/* Columna 2 (Precios) */
.hibridalab-tarifas-basicas table td:nth-child(2) {
    font-weight: 700 !important;
    color: #0f172a !important; /* Slate oscuro puro para destacar la cifra */
    text-align: right !important; /* Alineado a la derecha con la cabecera */
}

/* 6. Micro-interacción: Hover suave en las filas */
.hibridalab-tarifas-basicas table tr:hover td {
    background-color: rgba(255, 230, 4, 0.05) !important;
}

/* ==========================================================================
   DISEÑO SENIOR: GALERÍA DE IMÁGENES UNIFICADAS (Clase: hibridalab-galeria-uniforme)
   ========================================================================== */

/* 1. Estructura del enlace envolvente */
.hibridalab-galeria-uniforme .elementor-widget-image .elementor-widget-container a {
    display: block !important;
    overflow: hidden !important;
    border-radius: 8px !important; /* Estética limpia y bordes suaves */
    margin: 0 !important;
}

/* 2. Unificación estricta de medidas sin deformar */
.hibridalab-galeria-uniforme .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 3 !important; /* Forzamos formato horizontal clásico. Cámbialo a 1/1 para formato cuadrado o 16/9 para panorámico */
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important; /* Micro-interacción rápida */
    margin: 0 !important;
}

/* 3. Hover táctil al pasar el ratón */
.hibridalab-galeria-uniforme .elementor-widget-image a:hover img {
    transform: scale(1.04) !important;
}


/* ==========================================================================
   DISEÑO SENIOR: TABLAS DE ESPACIOS Y TALLERES (Agrupación visual)
   ========================================================================== */

.hibridalab-tarifas-espacios {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 16px !important;
}

.hibridalab-tarifas-espacios table {
    width: 100% !important;
    min-width: 600px !important; /* Fuerza el scroll horizontal en móvil */
    border-collapse: collapse !important;
    background-color: #ffffff !important;
    margin: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.02) !important;
}

/* Cabeceras */
.hibridalab-tarifas-espacios table th {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 16px 24px !important;
    border-bottom: 2px solid #e2e8f0 !important;
    text-align: left !important;
}

/* Alinear columna precio (derecha) y aforo (centro) en la cabecera */
.hibridalab-tarifas-espacios table th:nth-child(2) { text-align: center !important; }
.hibridalab-tarifas-espacios table th:last-child { text-align: right !important; }

/* Celdas generales */
.hibridalab-tarifas-espacios table td {
    padding: 12px 24px !important;
    color: #475569 !important;
    font-size: 15px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #e2e8f0 !important;
    transition: background-color 150ms ease !important;
}

/* Eliminar bordes internos para crear efecto de "grupo" en las filas de la misma sala */
.hibridalab-tarifas-espacios table td:empty {
    border-top: none !important;
    border-bottom: none !important;
}
.hibridalab-tarifas-espacios table tr:has(td:empty) td {
    border-top: none !important;
}

/* Columna 1: Nombres de salas */
.hibridalab-tarifas-espacios table td:first-child {
    width: 40% !important;
}

.hibridalab-tarifas-espacios table td strong {
    color: #0f172a !important;
    font-weight: 700 !important;
    display: inline-block !important;
    margin-right: 8px !important;
}

.hibridalab-tarifas-espacios table td .metros {
    font-size: 12px !important;
    color: #94a3b8 !important;
    font-weight: 500 !important;
}

/* Columna 2: Aforo */
.hibridalab-tarifas-espacios table td:nth-child(2) {
    text-align: center !important;
    font-weight: 500 !important;
}

/* Columna 3: Precio */
.hibridalab-tarifas-espacios table td:last-child {
    text-align: right !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

/* Hover de fila */
.hibridalab-tarifas-espacios table tr:hover td {
    background-color: rgba(255, 230, 4, 0.05) !important;
}



/* ==========================================================================
   DISEÑO SENIOR: ALTURA UNIFORME EN TARJETAS DE USOS (Clase: hibridalab-grid-usos)
   ========================================================================== */



/* 3. Propagar la flexibilidad hacia el interior (Widgets) */
.hibridalab-grid-usos .elementor-widget-icon-box,
.hibridalab-grid-usos .elementor-widget-container,
.hibridalab-grid-usos .elementor-icon-box-wrapper {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* 4. Contenido del texto: Rellena el espacio vacío y mantiene el orden */
.hibridalab-grid-usos .elementor-icon-box-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important; 
}

/* 5. Limpieza de márgenes fantasma */
.hibridalab-grid-usos .elementor-icon-box-description {
    margin-bottom: 0 !important;
}





/* ==========================================================================
   DISEÑO SENIOR: TARJETAS DE MAQUINARIA (Clase: hibridalab-maquinas)
   ========================================================================== */

/* 1. Contenedor Padre: Activar estiramiento */
.hibridalab-maquinas {
    align-items: stretch !important;
}

/* 2. CADENA INQUEBRANTABLE (Blindaje Estructural) 
   Forzamos a TODOS los contenedores ocultos de Elementor a propagar la altura */
.hibridalab-maquinas > .e-con,
.hibridalab-maquinas .e-con-inner,
.hibridalab-maquinas .elementor-widget-image-box,
.hibridalab-maquinas .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex-grow: 1 !important;
}

/* 3. Diseño de la Tarjeta Visual (Ahora sí, anclada al 100% de sus padres) */
.hibridalab-maquinas .elementor-image-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex-grow: 1 !important; /* Rellena el espacio vital */
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 200ms ease !important;
}

/* Micro-interacción: Elevación de la tarjeta */
.hibridalab-maquinas .elementor-image-box-wrapper:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.08) !important;
}

/* 4. Bloqueo de Imágenes (Corte perfecto sin deformar) */
.hibridalab-maquinas .elementor-image-box-img {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important; /* Impide que la imagen se aplaste si hay mucho texto */
}

.hibridalab-maquinas .elementor-image-box-img img {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 200ms ease !important;
}

/* Zoom hiper-rápido */
.hibridalab-maquinas .elementor-image-box-wrapper:hover .elementor-image-box-img img {
    transform: scale(1.04) !important;
}

/* 5. Área de Contenido (Flex-grow empuja el contenido y reparte el vacío) */
.hibridalab-maquinas .elementor-image-box-content {
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; 
    justify-content: flex-start !important; /* Alinea los textos arriba */
    text-align: left !important; 
}

/* 6. Auditoría Tipográfica: Título y Descripción */
.hibridalab-maquinas .elementor-image-box-title {
    color: #0f172a !important; 
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}

.hibridalab-maquinas .elementor-image-box-description {
    color: #475569 !important; 
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
    
    /* BLINDAJE: Fuerza a mostrar todo el texto y anula cortes nativos */
    display: block !important;
    overflow: visible !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    text-overflow: clip !important;
}





/* ==========================================================================
   DISEÑO SENIOR: MENÚ SECUNDARIO ESPACIOS (ALTO CONTRASTE Y ESTRUCTURA APP)
   ========================================================================== */

/* 1. Escritorio: Bloques blancos sólidos con fuerte contraste */
.hibridalab-submenu-espacios .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 2px !important;
}

.hibridalab-submenu-espacios .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
}

.hibridalab-submenu-espacios .elementor-icon-list-item a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 5px 10px !important;
    border-radius: 5px !important; /* Estructura arquitectónica, sin ser píldora circular */
    font-weight: 700 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08) !important;
    transition: all 200ms cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* Encapsulamos el icono en su propia caja gris sutil */
.hibridalab-submenu-espacios .elementor-icon-list-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f1f5f9 !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 5px !important;
    transition: background-color 200ms ease !important;
}

.hibridalab-submenu-espacios .elementor-icon-list-icon i,
.hibridalab-submenu-espacios .elementor-icon-list-icon svg {
    font-size: 14px !important;
    width: 20px !important;
    height: 20px !important;
    fill: #000000 !important;
    color: #000000 !important;
}

/* Hover: Inversión radical a negro con el icono en amarillo corporativo */
.hibridalab-submenu-espacios .elementor-icon-list-item a:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.2) !important;
}

.hibridalab-submenu-espacios .elementor-icon-list-item a:hover .elementor-icon-list-icon {
    background-color: #ffe604 !important;
}

.hibridalab-submenu-espacios .elementor-icon-list-item a:active {
    transform: scale(0.96) translateY(0) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* 2. Ocultar el botón desplegable en escritorio */
.hibridalab-submenu-mobile-toggle {
    display: none !important; 
}

/* 3. Móvil (< 768px): Desplegable Contundente y Organizado */
@media (max-width: 767px) {
    .hibridalab-submenu-espacios .elementor-widget-container {
        background-color: transparent !important;
        position: relative !important;
        z-index: 99 !important;
    }
    
    /* Botón desplegable principal (Negro rotundo para que destaque) */
    .hibridalab-submenu-mobile-toggle {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        background-color: #000000 !important;
        color: #ffe604 !important; 
        padding: 10px 20px !important;
        border-radius: 5px !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        cursor: pointer !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
        transition: transform 150ms ease !important;
    }
    
    .hibridalab-submenu-mobile-toggle:active {
        transform: scale(0.98) !important;
    }
    
    .hibridalab-submenu-mobile-toggle svg {
        transition: transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    }
    
    /* Contenedor de la lista (Caja blanca con sombra fuerte que se superpone) */
    .hibridalab-submenu-espacios .elementor-icon-list-items {
        display: none !important;
        flex-direction: column !important;
        gap: 8px !important;
        margin-top: 12px !important;
        background-color: #ffffff !important;
        border-radius: 12px !important;
        padding: 12px !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* Mostrar lista al hacer clic */
    .hibridalab-submenu-espacios.is-open .elementor-icon-list-items {
        display: flex !important;
        animation: ekit-fade-in 250ms cubic-bezier(0.165, 0.84, 0.44, 1) forwards !important;
    }
    
    /* Enlaces internos en móvil (Estructura de botones apilados) */
    .hibridalab-submenu-espacios .elementor-icon-list-item a {
        width: 100% !important;
        border-radius: 8px !important;
        background-color: #f8fafc !important; /* Gris muy claro para separar los botones del fondo blanco */
        color: #000000 !important;
        padding: 16px 20px !important;
        box-sizing: border-box !important;
        font-weight: 700 !important;
        box-shadow: none !important;
        justify-content: flex-start !important; /* Alineado a la izquierda para facilitar la lectura en móvil */
    }
    
    .hibridalab-submenu-espacios .elementor-icon-list-item a:active {
        background-color: #000000 !important;
        color: #ffffff !important;
        transform: scale(0.98) !important;
    }
    
    .hibridalab-submenu-espacios .elementor-icon-list-item a:active .elementor-icon-list-icon {
        background-color: #ffe604 !important;
    }
}


/* ==========================================================================
   DISEÑO SENIOR: TARJETA DE CONVOCATORIAS (AJUSTADO PARA GRID 2 COLUMNAS)
   ========================================================================== */

/* 1. Contenedor principal: Altura 100% y Flexbox para alinear botones al fondo */
.hibridalab-convocatoria-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important; /* Fuerza altura idéntica en tarjetas de la misma fila */
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.04) !important;
    transition: box-shadow 250ms ease, transform 250ms ease !important;
}

.hibridalab-convocatoria-card:hover {
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08) !important;
    transform: translateY(-4px) !important;
}

/* 2. Cabecera (Imagen + Textos principales) */
.hibridalab-convocatoria-card .elementor-widget-image-box {
    margin: 0 !important;
}

.hibridalab-convocatoria-card .elementor-image-box-img {
    margin: 0 !important;
    width: 100% !important;
}

/* Imagen: Proporción natural al 100% sin recortes */
.hibridalab-convocatoria-card .elementor-image-box-img img {
    width: 100% !important;
    height: auto !important; /* Deja que la imagen crezca según su proporción real */
    object-fit: contain !important; /* Blindaje extra para evitar recortes */
    display: block !important;
    border-radius: 0 !important;
    background-color: #f8fafc !important; /* Fondo sutil por si hay imágenes con distintas proporciones */
}

/* Espaciados interiores ajustados para tarjeta más estrecha (24px en lugar de 32px) */
.hibridalab-convocatoria-card .elementor-image-box-content {
    padding: 24px 24px 16px 24px !important;
    text-align: left !important;
}

/* Tipografía optimizada para 2 columnas */
.hibridalab-convocatoria-card .elementor-image-box-title {
    font-size: 20px !important; 
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 0 0 16px 0 !important;
}

.hibridalab-convocatoria-card .elementor-image-box-description {
    display: inline-block !important;
    background-color: #fffde6 !important; 
    border-left: 4px solid #ffe604 !important;
    padding: 10px 14px !important;
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    border-radius: 0 8px 8px 0 !important;
}

/* 3. Acordeón de bases (Actúa como resorte empujando el resto hacia abajo) */
.hibridalab-convocatoria-card .elementor-widget-n-accordion {
    padding: 0 24px 24px 24px !important;
    flex-grow: 1 !important; /* Rellena el espacio vacío para igualar alturas */
}

.hibridalab-convocatoria-card .e-n-accordion-item {
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin: 0 !important;
}

.hibridalab-convocatoria-card .e-n-accordion-item-title {
    padding: 14px 20px !important;
    background-color: #f8fafc !important;
    transition: background-color 150ms ease !important;
}

.hibridalab-convocatoria-card .e-n-accordion-item-title:hover {
    background-color: #f1f5f9 !important;
}

.hibridalab-convocatoria-card .e-n-accordion-item-title-text {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.hibridalab-convocatoria-card .e-n-accordion-item > .e-con {
    padding: 20px !important;
    background-color: #ffffff !important;
}

.hibridalab-convocatoria-card .elementor-widget-text-editor p {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 12px !important;
}
.hibridalab-convocatoria-card .elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

/* 4. Contenedor de Botones (Fijado al fondo siempre) */
.hibridalab-convocatoria-card > .e-con:last-child {
    margin-top: auto !important; /* Ancla los botones abajo */
    padding: 0 24px 24px 24px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* Reparto exacto en escritorio (50% cada uno) */
.hibridalab-convocatoria-card .elementor-widget-button {
    flex: 1 1 calc(50% - 6px) !important;
    width: auto !important;
}

.hibridalab-convocatoria-card .elementor-button {
    width: 100% !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important; /* Texto un punto menor para que no rompa en 2 líneas */
    padding: 12px 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    white-space: nowrap !important; /* Prohíbe que el texto se parta */
}

.hibridalab-convocatoria-card .elementor-button:active {
    transform: scale(0.96) !important;
}

/* Botón Secundario (Más información) -> Outline gris */
.hibridalab-convocatoria-card .elementor-widget-button:nth-child(1) .elementor-button {
    background-color: transparent !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
}

.hibridalab-convocatoria-card .elementor-widget-button:nth-child(1) .elementor-button svg {
    fill: #0f172a !important;
}

.hibridalab-convocatoria-card .elementor-widget-button:nth-child(1) .elementor-button:hover {
    background-color: #f8fafc !important;
    border-color: #0f172a !important;
}

/* Botón Principal (Inscripción) -> Amarillo sólido */
.hibridalab-convocatoria-card .elementor-widget-button:nth-child(2) .elementor-button {
    background-color: #ffe604 !important;
    color: #000000 !important;
    border: none !important;
}

.hibridalab-convocatoria-card .elementor-widget-button:nth-child(2) .elementor-button svg {
    fill: #000000 !important;
}

.hibridalab-convocatoria-card .elementor-widget-button:nth-child(2) .elementor-button:hover {
    background-color: #e5cf00 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(255, 230, 4, 0.25) !important;
}

/* 5. Responsive Móvil (< 768px) -> Salta a 1 columna */
@media (max-width: 767px) {
    .hibridalab-convocatoria-card .elementor-image-box-content,
    .hibridalab-convocatoria-card .elementor-widget-n-accordion,
    .hibridalab-convocatoria-card > .e-con:last-child {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    /* Apilar botones al 100% de ancho en móvil */
    .hibridalab-convocatoria-card > .e-con:last-child {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .hibridalab-convocatoria-card .elementor-widget-button {
        flex: 1 1 100% !important;
    }
}



/* ==========================================================================
   DISEÑO SENIOR: FORZAR CENTRADO Y COMPACTADO DE SERVICIOS
   ========================================================================== */

/* 1. Altura del Grid */
.hibridalab-servicios-claros {
    align-items: stretch !important;
}

.hibridalab-servicios-claros .elementor-widget-icon-box,
.hibridalab-servicios-claros .elementor-widget-container {
    height: 100% !important;
}

/* 2. Tarjeta: Centrado absoluto y diseño compacto */
.hibridalab-servicios-claros .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Fuerza el centro horizontal */
    justify-content: flex-start !important;
    text-align: center !important; /* Fuerza el texto al centro */
    height: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 24px 16px !important; 
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease !important;
}

.hibridalab-servicios-claros .elementor-icon-box-wrapper:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05) !important;
    border-color: #cbd5e1 !important;
}

/* 3. Icono: Centrado forzado por margen y Flexbox */
.hibridalab-servicios-claros .elementor-icon-box-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background-color: #f8fafc !important;
    border-radius: 8px !important;
    margin: 0 auto 16px auto !important; /* El 'auto' a los lados lo centra sí o sí */
    transition: background-color 200ms ease, transform 200ms ease !important;
}

.hibridalab-servicios-claros .elementor-icon-box-wrapper:hover .elementor-icon-box-icon {
    background-color: #ffe604 !important;
    transform: scale(1.05) !important;
}

.hibridalab-servicios-claros .elementor-icon i,
.hibridalab-servicios-claros .elementor-icon svg {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
    color: #0f172a !important;
    fill: #0f172a !important;
}

/* 4. Textos: Centrado estricto */
.hibridalab-servicios-claros .elementor-icon-box-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Centra el contenido interior */
    width: 100% !important;
    text-align: center !important;
}

.hibridalab-servicios-claros .elementor-icon-box-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 0 0 8px 0 !important;
    text-align: center !important;
}

.hibridalab-servicios-claros .elementor-icon-box-description {
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    text-align: center !important;
}





/* ==========================================================================
   DISEÑO SENIOR: LISTAS CON ÁNGULO CORPORATIVO
   Clase: hibridalab-lista-valores
   ========================================================================== */

/* 1. Reset estricto de la lista nativa */
.hibridalab-lista-valores ul {
    list-style-type: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important; /* Múltiplo de 8px */
}

/* 2. Estructura de cada línea */
.hibridalab-lista-valores li {
    position: relative !important;
    padding-left: 20px !important; /* Espacio exacto para el ángulo */
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), color 200ms ease !important;
}

/* 3. Magia CSS: Viñeta con el ángulo corporativo (Máscara) */
.hibridalab-lista-valores li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important; /* Ajuste óptico para alinear con la primera línea de texto */
    width: 16px !important;
    height: 16px !important;
    background-color: #ffe604 !important; /* Color base: Amarillo */
    
    /* Aplicación de la máscara con tu imagen */
    -webkit-mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    -webkit-mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    
    transition: background-color 200ms ease, transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* 4. Micro-interacciones ultra-rápidas */
.hibridalab-lista-valores li:hover {
    color: #0f172a !important; /* Texto a oscuro absoluto para máxima legibilidad */
    transform: translateX(4px) !important; 
}

/* El ángulo avanza ligeramente y cambia a negro sólido */
.hibridalab-lista-valores li:hover::before {
    background-color: #0f172a !important; 
    transform: translateX(2px) scale(1.1) !important; 
}


/* ==========================================================================
   DISEÑO SENIOR: FORZAR CENTRADO, COMPACTADO Y TEXTO 100% VISIBLE
   Clase: hibridalab-tarjetas-texto-completo
   ========================================================================== */

/* 1. Altura del Grid */
.hibridalab-tarjetas-texto-completo {
    align-items: stretch !important;
}

.hibridalab-tarjetas-texto-completo .elementor-widget-icon-box,
.hibridalab-tarjetas-texto-completo .elementor-widget-container {
    height: 100% !important;
}

/* 2. Tarjeta: Centrado absoluto y diseño compacto (Blindaje anti-corte) */
.hibridalab-tarjetas-texto-completo .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    height: 100% !important;
    min-height: 100% !important; 
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 24px 16px !important; 
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease !important;
    overflow: visible !important; 
}

.hibridalab-tarjetas-texto-completo .elementor-icon-box-wrapper:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05) !important;
    border-color: #cbd5e1 !important;
}

/* 3. Icono: Centrado forzado por margen y Flexbox */
.hibridalab-tarjetas-texto-completo .elementor-icon-box-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background-color: #f8fafc !important;
    border-radius: 8px !important;
    margin: 0 auto 16px auto !important;
    transition: background-color 200ms ease, transform 200ms ease !important;
    flex-shrink: 0 !important; 
}

.hibridalab-tarjetas-texto-completo .elementor-icon-box-wrapper:hover .elementor-icon-box-icon {
    background-color: #ffe604 !important;
    transform: scale(1.05) !important;
}

.hibridalab-tarjetas-texto-completo .elementor-icon i,
.hibridalab-tarjetas-texto-completo .elementor-icon svg {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
    color: #0f172a !important;
    fill: #0f172a !important;
}

/* 4. Textos: Centrado estricto y visibilidad total */
.hibridalab-tarjetas-texto-completo .elementor-icon-box-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
    overflow: visible !important; 
}

.hibridalab-tarjetas-texto-completo .elementor-icon-box-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 0 0 8px 0 !important;
    text-align: center !important;
    white-space: normal !important;
}

/* BLINDAJE DEFINITIVO PARA LA DESCRIPCIÓN */
.hibridalab-tarjetas-texto-completo .elementor-icon-box-description {
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    text-align: center !important;
    
    /* Reglas para anular recortes de Elementor */
    white-space: normal !important; 
    overflow: visible !important; 
    text-overflow: clip !important; 
    -webkit-line-clamp: unset !important; 
    display: block !important; 
    height: auto !important; 
}


/* ==========================================================================
   DISEÑO SENIOR: CUADRÍCULA DE PRESENTACIÓN (Clase: presentacion-hibridalab)
   ========================================================================== */

/* 1. Cadena Inquebrantable: Forzar alturas iguales en toda la cuadrícula */
.presentacion-hibridalab > .e-con,
.presentacion-hibridalab .elementor-widget-icon-box,
.presentacion-hibridalab .elementor-widget-container {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 2. Tarjeta Visual: Diseño limpio, sin fondos pesados, padding en base 8 */
.presentacion-hibridalab .elementor-icon-box-wrapper {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background-color: #ffffff !important;
    padding: 32px 24px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    
    /* Animación hiper-rápida de elevación y cambio de borde */
    transition: transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 250ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 250ms ease !important;
}

/* 3. Micro-interacción: Hover sobre la tarjeta */
.presentacion-hibridalab > .e-con:hover .elementor-icon-box-wrapper {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.08) !important;
    border-color: #ffe604 !important; /* Toque corporativo exacto */
}

/* 4. Estructura interna del texto (Empuja la caja para alinear alturas) */
.presentacion-hibridalab .elementor-icon-box-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    text-align: left !important;
}

/* 5. Auditoría Tipográfica: Título (Enlace) */
.presentacion-hibridalab .elementor-icon-box-title {
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

.presentacion-hibridalab .elementor-icon-box-title a {
    color: #0f172a !important; /* Slate oscuro, contraste premium */
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
    display: block !important;
    transition: color 200ms ease !important;
}

.presentacion-hibridalab > .e-con:hover .elementor-icon-box-title a {
    color: #000000 !important; /* Refuerza el negro al interactuar */
}

/* 6. Auditoría Tipográfica: Descripción */
.presentacion-hibridalab .elementor-icon-box-description {
    color: #475569 !important; /* Gris intermedio para lectura fluida */
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-grow: 1 !important; /* Absorbe el espacio vacío si hay textos más cortos */
}


/* ==========================================================================
   DISEÑO SENIOR: BOTÓN AUTOMÁTICO CONDICIONAL (Solo si hay enlace)
   Clase principal: seccion-formacion
   ========================================================================== */

/* 1. Preparar la estructura para que el enlace se expanda */
.seccion-formacion .elementor-icon-box-content,
.seccion-formacion .elementor-icon-box-title,
.seccion-formacion .elementor-icon-box-title a {
    position: static !important; 
}

.seccion-formacion .elementor-icon-box-wrapper {
    position: relative !important; 
}

/* 2. Magia UX: Expandir el enlace nativo para hacer toda la caja clicable */
.seccion-formacion .elementor-icon-box-title a::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 10 !important;
}

/* ==========================================================================
   3. INYECCIÓN DEL BOTÓN (CONDICIONADA A LA EXISTENCIA DEL ENLACE)
   Usamos :has(a) para verificar si el titular contiene un link
   ========================================================================== */

/* Preparamos la descripción solo si el título hermano tiene enlace */
.seccion-formacion .elementor-icon-box-title:has(a) + .elementor-icon-box-description {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

/* Inyectamos el botón corporativo solo si hay enlace */
.seccion-formacion .elementor-icon-box-title:has(a) + .elementor-icon-box-description::after {
    content: 'Ver formación' !important; 
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    margin-top: 12px !important; 
    
    background-color: #000000 !important;
    color: #ffe604 !important;
    padding: 8px 24px !important;
    border-radius: 50px !important;
    
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 200ms cubic-bezier(0.2, 0.8, 0.2, 1), background-color 200ms ease !important;
    z-index: 5 !important;
}

/* 4. Micro-interacción: Hover (Condicionada) */
.seccion-formacion .elementor-icon-box-wrapper:hover .elementor-icon-box-title:has(a) + .elementor-icon-box-description::after {
    background-color: #ffe604 !important;
    color: #000000 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 16px rgba(255, 230, 4, 0.2) !important;
}

/* 5. Micro-interacción: Active (Condicionada) */
.seccion-formacion .elementor-icon-box-wrapper:active .elementor-icon-box-title:has(a) + .elementor-icon-box-description::after {
    transform: translateY(0) scale(0.96) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
    transition: transform 100ms ease, box-shadow 100ms ease !important;
}

/* ==========================================================================
   6. TRADUCCIONES AUTOMÁTICAS (Polylang / WPML)
   ========================================================================== */

/* EUSKERA */
html[lang^="eu"] .seccion-formacion .elementor-icon-box-title:has(a) + .elementor-icon-box-description::after {
    content: 'Prestakuntza ikusi' !important; 
}

/* INGLÉS */
html[lang^="en"] .seccion-formacion .elementor-icon-box-title:has(a) + .elementor-icon-box-description::after {
    content: 'View training' !important; 
}

/* ==========================================================================
   AUDITORÍA TIPOGRÁFICA: RESPETAR SALTOS DE LÍNEA EN LA DESCRIPCIÓN
   ========================================================================== */

.seccion-formacion .elementor-icon-box-description {
    white-space: pre-line !important; 
}


/* ==========================================================================
   DISEÑO SENIOR: ETIQUETA CORPORATIVA (Alto Impacto Hibridalab)
   ========================================================================== */

/* 1. Estructura principal en forma de píldora sólida */
body .elementor-widget-image-box.etiqueta-corporativa .elementor-widget-container {
    display: inline-block !important;
    width: 100% !important;
}

body .elementor-widget-image-box.etiqueta-corporativa .elementor-image-box-wrapper {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    
    /* Inyección del color corporativo puro */
    background-color: #ffe604 !important;
    
    /* Espaciados basados en múltiplos de 4 */
    padding: 4px 20px 4px 4px !important; 
    border-radius: 40px !important; 
    margin: 0 0 24px 0 !important;
    
    /* Sombra dura para crear volumen sin ensuciar el fondo */
    box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.04) !important;
    
    /* Transición Emil Kowalski para la interacción */
    transition: transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 250ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    cursor: default !important;
}

/* 2. Micro-interacción de elevación */
body .elementor-widget-image-box.etiqueta-corporativa:hover .elementor-image-box-wrapper {
    transform: translateY(-2px) !important;
    box-shadow: 4px 6px 0px rgba(0, 0, 0, 0.08) !important;
}

/* 3. Control y encuadre de la imagen */
body .elementor-widget-image-box.etiqueta-corporativa .elementor-image-box-img {
    margin: 0 12px 0 0 !important;
    width: 28px !important;
    flex-shrink: 0 !important;
}

body .elementor-widget-image-box.etiqueta-corporativa .elementor-image-box-img img {
    width: 28px !important;
    height: 28px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    border: 2px solid #000000 !important; /* Anillo negro para forzar contraste */
    background-color: #ffffff !important;
}

/* 4. Tipografía en negro absoluto y extra negrita */
body .elementor-widget-image-box.etiqueta-corporativa .elementor-image-box-title {
    color: #000000 !important;
  
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    transform: translateY(1px) !important; /* Corrección óptica vertical */
}

/* 5. Adaptación a dispositivos móviles */
@media (max-width: 767px) {
    body .elementor-widget-image-box.etiqueta-corporativa .elementor-image-box-wrapper {
        padding: 4px 16px 4px 4px !important; 
    }
    
    body .elementor-widget-image-box.etiqueta-corporativa .elementor-image-box-title {
        font-size: 11px !important;
    }
}

/* ==========================================================================
   DISEÑO SENIOR: ESPACIADO MULTILÍNEA PARA DESCRIPCIONES
   ========================================================================== */

/* 1. Forzamos la lectura de los saltos de línea físicos (Intro) */
body .elementor-widget.descripcion-espaciada .elementor-icon-box-description {
    white-space: pre-line !important;
}

/* 2. Asignamos margen real si Elementor inserta etiquetas de párrafo interno */
body .elementor-widget.descripcion-espaciada .elementor-icon-box-description p {
    margin-bottom: 16px !important;
}

/* 3. Eliminamos el margen del último elemento para mantener la caja limpia */
body .elementor-widget.descripcion-espaciada .elementor-icon-box-description p:last-child {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   DISEÑO SENIOR: PANELES DE ALTURA UNIFORME
   ========================================================================== */

/* 1. Obligamos al widget a ocupar todo el alto disponible de su columna */
body .elementor-widget.panel-uniforme {
    height: 100% !important;
}

/* 2. Forzamos la estructura interna a expandirse mediante Flexbox */
body .elementor-widget.panel-uniforme .elementor-widget-container {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 3. El wrapper de la caja asume el espacio total calculado */
body .elementor-widget.panel-uniforme .elementor-icon-box-wrapper {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 4. Mantenemos el contenido alineado en la parte superior */
body .elementor-widget.panel-uniforme .elementor-icon-box-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}








/* ==========================================================================
   AGENDA HIBRIDALAB 
   ========================================================================== */

/* ==========================================================================
   1. CONTENEDOR GENERAL Y LIMPIEZA NATIVA
   ========================================================================== */
.tribe-common-l-container.tribe-events-l-container {
    background-color: transparent !important;
    max-width: 1200px !important;
    margin: 100px auto 0 auto !important;
    padding: 0 24px 80px 24px !important;
    box-sizing: border-box !important;
}

.tribe-events-view-loader,
.tribe-events-header__messages--mobile,
.tribe-events-calendar-latest-past__event-date-tag, 
.tribe-events-calendar-list__event-date-tag,
/* Oculta el botón visualmente pero permite que el JavaScript funcione */
.tribe-events-c-view-selector__button {
    opacity: 0 !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    pointer-events: none !important;
    z-index: -1 !important;
}
.tribe-events-calendar-latest-past__heading {
    display: none !important;
}

/* Oculta la navegación superior SÓLO en la vista de lista para no romper Mes y Día */
.tribe-events-view--list .tribe-events-c-top-bar__nav,
.tribe-events-view--list .tribe-events-c-top-bar__today-button {
    display: none !important;
}

/* ==========================================================================
   2. CABECERA, BUSCADOR Y PESTAÑAS (VISTAS GENERALES)
   ========================================================================== */
.tribe-events-header {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0 0 24px 0 !important;
    margin-bottom: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    box-shadow: none !important;
}

.tribe-events-c-events-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.tribe-events-c-events-bar__search-container {
    flex: 1 !important;
    width: 100% !important;
}

.tribe-events-c-events-bar__search form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 12px !important;
}

.tribe-events-c-search__input-group {
    flex: 1 !important;
    width: 100% !important;
    display: flex !important;
}

.tribe-events-c-search__input-control {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    height: 48px !important;
    position: relative !important; 
    box-sizing: border-box !important;
    transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tribe-events-c-search__input-control:focus-within {
    border-color: #0f172a !important;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.05) !important;
}

.tribe-events-c-search__input-control-icon-svg {
    position: absolute !important;
    left: 16px !important;
    width: 18px !important;
    height: 18px !important;
    fill: #0f172a !important;
    pointer-events: none !important; 
}

.tribe-events-c-search__input {
    width: 100% !important;
    height: 100% !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 16px 0 44px !important; 
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    outline: none !important;
    box-shadow: none !important;
}

.tribe-events-c-search__input::placeholder {
    color: #94a3b8 !important;
}

.tribe-events-c-search__button {
    background-color: #0f172a !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    height: 48px !important;
    padding: 0 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}


.tribe-events-c-search__button:hover {
    background-color: #ffe604 !important;
    color: #0f172a !important;
}

.tribe-events-c-search__button:active {
    transform: scale(0.96) !important;
}

.tribe-events-c-events-bar__views {
    display: flex !important;
    align-items: center !important;
}

.tribe-events-c-view-selector {
    background-color: #f1f5f9 !important;
    border: none !important; 
    border-radius: 8px !important;
    padding: 4px !important;
    display: flex !important;
    align-items: center !important;
    height: 48px !important;
    box-sizing: border-box !important;
}

.tribe-events-c-view-selector__content {
    display: flex !important;
    position: static !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.tribe-events-c-view-selector__list {
    display: flex !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.tribe-events-c-view-selector__list-item-link::after,
.tribe-events-c-view-selector__list-item-link::before {
    display: none !important;
    content: none !important;
}

.tribe-events-c-view-selector__list-item-link {
    background-color: transparent !important;
    color: #64748b !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: none !important; 
    box-shadow: none !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tribe-events-c-view-selector__list-item-icon-svg {
    width: 14px !important;
    height: 14px !important;
    fill: currentColor !important;
}

.tribe-events-c-view-selector__list-item-link:hover {
    color: #0f172a !important;
    background-color: #e2e8f0 !important;
}

.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
    background-color: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
}

.tribe-events-c-top-bar {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 8px 0 0 0 !important;
    background-color: transparent !important;
    border: none !important;
}

.tribe-events-c-top-bar__datepicker-button {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: color 150ms ease-out !important;
}

.tribe-events-c-top-bar__datepicker-button:hover {
    color: #ffe604 !important;
}

/* ==========================================================================
   3. AVISOS ("NO HAY EVENTOS")
   ========================================================================== */
.tribe-events-back {
    margin-top:50px;
  }

.tribe-events-header__messages {
    width: 100% !important;
}

.tribe-events-c-messages__message--notice {
    background-color: #fffde6 !important; 
    border: 1px solid #ffe604 !important;
    border-left: 6px solid #ffe604 !important;
    border-radius: 12px !important;
    padding: 32px 24px !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    box-shadow: 0 8px 24px -8px rgba(255, 230, 4, 0.25) !important;
}

/* ==========================================================================
   4. TARJETAS DE EVENTOS GENERALES (POSTER CARDS) Y MESES
   ========================================================================== */
.tribe-events-calendar-list,
.tribe-events-calendar-latest-past {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 16px !important; 
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.tribe-events-calendar-latest-past__event-row,
.tribe-events-calendar-latest-past__event-wrapper,
.tribe-events-calendar-list__event-row,
.tribe-events-calendar-list__event-wrapper {
    display: contents !important;
}

.tribe-events-calendar-latest-past__event.tribe-common-g-row--gutters,
.tribe-events-calendar-list__event.tribe-common-g-row--gutters {
    margin: 0 !important;
}

.tribe-events-calendar-list__month-separator {
    grid-column: 1 / -1 !important; 
    margin: 48px 0 16px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    display: flex !important;
    align-items: center !important;
}

.tribe-events-calendar-list__month-separator-text {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    text-transform: capitalize !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: -0.02em !important;
}

.tribe-events-calendar-latest-past__event,
.tribe-events-calendar-list__event {
    position: relative !important;
    background-color: #090d16 !important; 
    border: none !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 600px !important; 
    box-sizing: border-box !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
    transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important; 
}

.tribe-events-calendar-latest-past__event:hover,
.tribe-events-calendar-list__event:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15) !important;
}

.tribe-events-calendar-latest-past__event-featured-image-wrapper,
.tribe-events-calendar-list__event-featured-image-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important; 
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-calendar-latest-past__event-featured-image-link,
.tribe-events-calendar-list__event-featured-image-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-calendar-latest-past__event-featured-image,
.tribe-events-calendar-list__event-featured-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tribe-events-calendar-latest-past__event:hover .tribe-events-calendar-latest-past__event-featured-image,
.tribe-events-calendar-list__event:hover .tribe-events-calendar-list__event-featured-image {
    transform: scale(1.05) !important;
}

.tribe-events-calendar-latest-past__event-details,
.tribe-events-calendar-list__event-details {
    position: relative !important;
    z-index: 2 !important; 
    width: 100% !important; 
    height: 100% !important; 
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important; 
    padding: 32px !important; 
    box-sizing: border-box !important;
    text-align: left !important;
    background: linear-gradient(to top, 
        rgba(9, 13, 22, 0.95) 0%, 
        rgba(9, 13, 22, 0.8) 45%, 
        rgba(9, 13, 22, 0.3) 70%, 
        rgba(9, 13, 22, 0) 100%) !important;
}

.tribe-events-calendar-list__event-header {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-calendar-latest-past__event-datetime-wrapper,
.tribe-events-calendar-list__event-datetime-wrapper {
    background-color: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    margin-bottom: 10px !important;
    width: fit-content !important; 
    flex-shrink: 0 !important;
    order: -1 !important; 
}

.tribe-events-calendar-latest-past__event-datetime,
.tribe-events-calendar-list__event-datetime {
    font-size: 12px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.tribe-event-date-start {
    color: #ffe604 !important; 
}

.tribe-event-time {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.tribe-events-calendar-latest-past__event-venue-title,
.tribe-events-calendar-latest-past__event-venue,
.tribe-events-calendar-list__event-venue-title,
.tribe-events-calendar-list__event-venue {
    display: inline-flex !important;
    align-items: center !important;
    color: #ffe604 !important; 
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 8px !important; 
    background-color: transparent !important;
    padding: 0 !important;
    border: none !important;
    width: fit-content !important;
    flex-shrink: 0 !important;
}

.tribe-events-calendar-list__event-venue-address {
    display: none !important;
}

.tribe-events-calendar-latest-past__event-title,
.tribe-events-calendar-list__event-title {
    width: 100% !important;
    margin: 0 0 10px 0 !important; 
    height: 52px !important; 
    flex-shrink: 0 !important;
}

.tribe-events-calendar-latest-past__event-title-link,
.tribe-events-calendar-list__event-title-link {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important; 
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    width: 100% !important;
    position: relative !important;
    padding-left: 26px !important; 
    transition: color 150ms ease !important;
}

.tribe-events-calendar-latest-past__event-title-link::before,
.tribe-events-calendar-list__event-title-link::before {
    content: '' !important;
    position: absolute !important;
    width: 16px !important;
    height: 16px !important;
    left: 0 !important;
    top: 4px !important; 
    background-color: #ffffff !important; 
    -webkit-mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    -webkit-mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-image: url('https://hibridalab.eus/wp-content/uploads/2026/06/angulo-r0f4tk185lrx0efhs8b5b1j8roleuthrdwdl2n1k18.png') !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    transition: background-color 150ms ease !important;
}

.tribe-events-calendar-latest-past__event-title-link:hover,
.tribe-events-calendar-list__event-title-link:hover {
    color: #cbd5e1 !important;
}

.tribe-events-calendar-latest-past__event-title-link:hover::before,
.tribe-events-calendar-list__event-title-link:hover::before {
    background-color: #cbd5e1 !important; 
}

.tribe-events-calendar-latest-past__event-description,
.tribe-events-calendar-list__event-description {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important; 
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #cbd5e1 !important;
    font-size: 13px !important;
    line-height: 20px !important;
    height: 60px !important; 
    width: 100% !important;
    margin: 0 0 14px 0 !important;
    flex-shrink: 0 !important;
}

.tribe-events-c-small-cta__price,
.tribe-events-calendar-list__event-cost {
    display: inline-flex !important;
    background-color: #ffe604 !important;
    color: #0f172a !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-top: 0 !important; 
    align-self: flex-start !important;
    transition: transform 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tribe-events-calendar-latest-past__event:active .tribe-events-c-small-cta__price,
.tribe-events-calendar-list__event:active .tribe-events-calendar-list__event-cost {
    transform: scale(0.96) !important;
}

/* ==========================================================================
   5. DATEPICKER DROPDOWN
   ========================================================================== */
div.datepicker.datepicker-dropdown,
.datepicker.datepicker-dropdown,
.datepicker-dropdown {
    background-color: #0f172a !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 16px !important;
    padding: 20px !important;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.7) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    width: 320px !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
}

div.datepicker .datepicker-switch,
div.datepicker .prev,
div.datepicker .next,
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next {
    background-color: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: color 150ms ease !important;
}

div.datepicker .datepicker-switch:hover,
div.datepicker .prev:hover,
div.datepicker .next:hover,
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover {
    color: #ffe604 !important;
}

div.datepicker th,
.datepicker th {
    padding-bottom: 12px !important;
    background-color: transparent !important;
    border: none !important;
}

div.datepicker .prev svg,
div.datepicker .next svg,
.datepicker .prev svg,
.datepicker .next svg {
    width: 14px !important;
    height: 14px !important;
    fill: #ffffff !important;
}

div.datepicker .prev:hover svg,
div.datepicker .next:hover svg,
.datepicker .prev:hover svg,
.datepicker .next:hover svg {
    fill: #ffe604 !important;
}

div.datepicker .dow,
.datepicker .dow {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    padding: 6px 0 !important;
}

div.datepicker table,
.datepicker table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 4px !important;
    background-color: transparent !important;
    border: none !important;
}

div.datepicker td,
div.datepicker th,
.datepicker td,
.datepicker th {
    background-color: transparent !important;
    border: none !important;
    text-align: center !important;
}

/* Compatibilidad extendida para celdas nativas y botones */
div.datepicker td button,
div.datepicker th button,
.datepicker td button,
.datepicker th button,
div.datepicker td.day,
.datepicker td.day {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    background-color: transparent !important;
    border: none !important;
    color: #f8fafc !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

div.datepicker td button.old,
div.datepicker td button.new,
.datepicker td button.old,
.datepicker td button.new,
div.datepicker td.day.old,
div.datepicker td.day.new,
.datepicker td.day.old,
.datepicker td.day.new {
    color: #475569 !important;
}

div.datepicker td button:hover,
.datepicker td button:hover,
div.datepicker td.day:hover,
.datepicker td.day:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

div.datepicker td button.active,
div.datepicker td button.active.current,
.datepicker td button.active,
.datepicker td button.active.current,
div.datepicker td.day.active,
div.datepicker td.day.active.current,
.datepicker td.day.active,
.datepicker td.day.active.current {
    background-color: #ffe604 !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 12px rgba(255, 230, 4, 0.3) !important;
}

div.datepicker .datepicker-grid,
.datepicker .datepicker-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    padding: 10px 0 !important;
}

/* Soporte completo para vistas de meses y años */
div.datepicker .datepicker-months button.month,
div.datepicker .datepicker-years button.year,
div.datepicker .datepicker-decades button.decade,
div.datepicker .datepicker-centuries button.century,
.datepicker .datepicker-months button.month,
.datepicker .datepicker-years button.year,
.datepicker .datepicker-decades button.decade,
.datepicker .datepicker-centuries button.century,
div.datepicker .datepicker-months span.month,
div.datepicker .datepicker-years span.year,
div.datepicker .datepicker-decades span.decade,
div.datepicker .datepicker-centuries span.century,
.datepicker .datepicker-months span.month,
.datepicker .datepicker-years span.year,
.datepicker .datepicker-decades span.decade,
.datepicker .datepicker-centuries span.century {
    width: 100% !important;
    height: 40px !important;
    border-radius: 8px !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
    color: #f8fafc !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 150ms ease !important;
}

div.datepicker .datepicker-months button.month:hover,
div.datepicker .datepicker-years button.year:hover,
.datepicker .datepicker-months button.month:hover,
.datepicker .datepicker-years button.year:hover,
div.datepicker .datepicker-months span.month:hover,
div.datepicker .datepicker-years span.year:hover,
.datepicker .datepicker-months span.month:hover,
.datepicker .datepicker-years span.year:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffe604 !important;
}

div.datepicker .datepicker-months button.active,
div.datepicker .datepicker-years button.active,
.datepicker .datepicker-months button.active,
.datepicker .datepicker-years button.active,
div.datepicker .datepicker-months span.active,
div.datepicker .datepicker-years span.active,
.datepicker .datepicker-months span.active,
.datepicker .datepicker-years span.active {
    background-color: #ffe604 !important;
    color: #0f172a !important;
}

/* ==========================================================================
   6. VISTA INDIVIDUAL (SINGLE EVENT) - DETALLES Y METADATOS
   ========================================================================== */
.tribe-events-schedule {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 32px !important;
}

.tribe-events-schedule > div {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.tribe-events-schedule .tribe-event-date-start {
    color: #0f172a !important;
}

.tribe-events-schedule .tribe-events-cost {
    background-color: #ffe604 !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    padding: 4px 12px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    box-shadow: 0 2px 8px rgba(255, 230, 4, 0.2) !important;
}

.tribe-events-single-section.tribe-events-event-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 48px !important;
    background-color: #ffffff !important; 
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 40px !important;
    margin: 48px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.08) !important;
    position: relative !important;
    overflow: hidden !important;
}

.tribe-events-single-section.tribe-events-event-meta::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 4px !important;
    background-color: #ffe604 !important;
}

.tribe-events-meta-group {
    flex: 1 1 300px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-meta-group h2.tribe-events-single-section-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #0f172a !important; 
    margin: 0 0 24px 0 !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding-bottom: 12px !important;
}

.tribe-events-meta-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
    gap: 32px 24px !important;
    align-items: start !important;
}

.tribe-events-meta-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-meta-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #64748b !important; 
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.tribe-events-meta-value,
.tribe-events-meta-value abbr,
.tribe-events-meta-value div,
.tribe-events-meta-item.tribe-venue {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0f172a !important; 
    text-decoration: none !important;
    line-height: 1.4 !important;
}

.tribe-events-event-categories a {
    display: inline-flex !important;
    background-color: #0f172a !important;
    color: #ffffff !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tribe-events-event-categories a:hover {
    background-color: #ffe604 !important;
    color: #0f172a !important;
}

.tribe-events-event-categories a:active {
    transform: scale(0.96) !important;
}

.tribe-events-meta-group-gmap {
    display: none !important;
}

/* ==========================================================================
   7. CONTACT FORM 7 - FORMULARIO DE EVENTOS (AISLADO Y BLINDADO)
   ========================================================================== */
.hibridalab-evento-form {
    width: 100% !important;
    box-sizing: border-box !important;
}

.hibridalab-evento-form .hibridalab-form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 16px !important;
    width: 100% !important;
    margin-bottom: 24px !important;
}

.hibridalab-evento-form .hibridalab-field-group,
.hibridalab-evento-form .hibridalab-field-full {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hibridalab-evento-form .hibridalab-field-full {
    margin-bottom: 24px !important;
}

.hibridalab-evento-form label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    width: 100% !important;
    margin-bottom: 8px !important;
}

.hibridalab-evento-form .hibridalab-required {
    color: #ef4444 !important;
    font-weight: 800 !important;
    margin-left: 2px !important;
}

.hibridalab-evento-form .wpcf7-not-valid-tip {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #ef4444 !important;
    margin-top: 6px !important;
    display: block !important;
}

.hibridalab-evento-form .wpcf7-not-valid .hibridalab-input,
.hibridalab-evento-form .wpcf7-not-valid .hibridalab-textarea {
    border-color: #ef4444 !important;
    background-color: #fef2f2 !important;
}

.hibridalab-evento-form .hibridalab-form-notice {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid #ffe604 !important;
    padding: 16px !important;
    border-radius: 8px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02) !important;
}

.hibridalab-evento-form .hibridalab-notice-icon {
    font-size: 16px !important;
    line-height: 1.4 !important;
}

.hibridalab-evento-form .hibridalab-notice-text {
    font-size: 13px !important;
    color: #475569 !important;
    line-height: 1.5 !important;
}

.hibridalab-evento-form .hibridalab-notice-text strong {
    color: #0f172a !important;
    font-weight: 800 !important;
    display: block !important;
    margin-bottom: 2px !important;
}

.hibridalab-evento-form .hibridalab-input,
.hibridalab-evento-form .hibridalab-textarea,
.hibridalab-evento-form input[type="text"].hibridalab-input,
.hibridalab-evento-form input[type="email"].hibridalab-input,
.hibridalab-evento-form input[type="tel"].hibridalab-input,
.hibridalab-evento-form textarea.hibridalab-textarea {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    margin-top: 4px !important;
    transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    -webkit-appearance: none !important;
}

.hibridalab-evento-form .hibridalab-textarea,
.hibridalab-evento-form textarea.hibridalab-textarea {
    height: 100px !important;
    min-height: 100px !important;
    max-height: 150px !important;
    padding: 12px 16px !important;
    resize: vertical !important;
}

.hibridalab-evento-form .hibridalab-input,
.hibridalab-evento-form input[type="text"].hibridalab-input,
.hibridalab-evento-form input[type="email"].hibridalab-input,
.hibridalab-evento-form input[type="tel"].hibridalab-input {
    height: 48px !important;
    padding: 0 16px !important;
}

.hibridalab-evento-form .hibridalab-input:hover,
.hibridalab-evento-form .hibridalab-textarea:hover {
    border-color: #94a3b8 !important;
}

.hibridalab-evento-form .hibridalab-input:focus,
.hibridalab-evento-form .hibridalab-textarea:focus {
    border-color: #0f172a !important;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.06) !important;
    outline: none !important;
    background-color: #f8fafc !important;
}

.hibridalab-evento-form .hibridalab-input::placeholder,
.hibridalab-evento-form .hibridalab-textarea::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

.hibridalab-evento-form .hibridalab-gdpr {
    display: block !important;
    margin-bottom: 24px !important;
}

.hibridalab-evento-form .hibridalab-gdpr .wpcf7-form-control-wrap,
.hibridalab-evento-form .hibridalab-gdpr .wpcf7-acceptance,
.hibridalab-evento-form .hibridalab-gdpr .wpcf7-list-item {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hibridalab-evento-form .hibridalab-gdpr label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    margin: 0 !important;
    cursor: pointer !important;
    width: 100% !important;
}

.hibridalab-evento-form .hibridalab-gdpr input[type="checkbox"] {
    appearance: checkbox !important;
    -webkit-appearance: checkbox !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    accent-color: #0f172a !important;
    display: inline-block !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.hibridalab-evento-form .hibridalab-gdpr .wpcf7-list-item-label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    line-height: 1.4 !important;
    display: inline-block !important;
    margin: 0 !important;
}

.hibridalab-evento-form .hibridalab-gdpr a {
    color: #0f172a !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    transition: color 150ms ease !important;
}

.hibridalab-evento-form .hibridalab-gdpr a:hover {
    color: #ffe604 !important;
}

.hibridalab-evento-form .hibridalab-submit-wrapper {
    margin-top: 32px !important;
    width: 100% !important;
}

.hibridalab-evento-form .hibridalab-btn {
    background-color: #ffe604 !important;
    color: #0f172a !important;
    border: none !important;
    border-radius: 8px !important;
    height: 48px !important;
    padding: 0 40px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(255, 230, 4, 0.15) !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.hibridalab-evento-form .hibridalab-btn:hover {
    background-color: #e5cf00 !important; 
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(255, 230, 4, 0.25) !important;
}

.hibridalab-evento-form .hibridalab-btn:active {
    transform: scale(0.96) translateY(0) !important;
    box-shadow: 0 2px 4px rgba(255, 230, 4, 0.1) !important;
}

.hibridalab-evento-form .wpcf7-spinner {
    background-color: #0f172a !important;
    border-radius: 50% !important;
    margin-left: 12px !important;
}

.hibridalab-evento-form .wpcf7-response-output {
    margin: 24px 0 0 0 !important;
    padding: 16px 20px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: 1px solid transparent !important;
}

.hibridalab-evento-form .wpcf7 form.sent .wpcf7-response-output {
    background-color: #ecfccb !important;
    border-color: #a3e635 !important;
    color: #3f6212 !important;
}

.hibridalab-evento-form .wpcf7 form.invalid .wpcf7-response-output,
.hibridalab-evento-form .wpcf7 form.failed .wpcf7-response-output {
    background-color: #fef2f2 !important;
    border-color: #f87171 !important;
    color: #991b1b !important;
}

/* ==========================================================================
   8. PAGINACIÓN INFERIOR (FOOTER DEL SINGLE EVENT)
   ========================================================================== */
#tribe-events-footer {
    margin: 64px 0 !important;
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 40px !important;
}

.tribe-events-sub-nav {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.tribe-events-nav-previous,
.tribe-events-nav-next {
    flex: 1 !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-nav-next {
    justify-content: flex-end !important;
    text-align: right !important;
}

.tribe-events-sub-nav li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 24px !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tribe-events-sub-nav li a:hover {
    border-color: #0f172a !important;
    background-color: #f8fafc !important;
    box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.1) !important;
}

.tribe-events-sub-nav li a:active {
    transform: scale(0.98) !important;
}

.tribe-events-nav-previous a span,
.tribe-events-nav-next a span {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transition: transform 200ms ease !important;
}

.tribe-events-nav-previous a:hover span {
    transform: translateX(-4px) !important;
}

.tribe-events-nav-next a:hover span {
    transform: translateX(4px) !important;
}

/* ==========================================================================
   9. MENÚ DESPLEGABLE "SUSCRIBIRSE AL CALENDARIO" (AISLADO)
   ========================================================================== */
.tribe-events-c-subscribe-dropdown__container {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 24px !important;
}

.tribe-events-c-subscribe-dropdown__button {
    background-color: #0f172a !important;
    border: 1px solid #0f172a !important;
    border-radius: 8px !important;
    padding: 0 20px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tribe-events-c-subscribe-dropdown__button:hover {
    background-color: #ffe604 !important;
    border-color: #ffe604 !important;
}

/* Solo afecta al SVG dentro del botón de la agenda, sin tocar los iconos de Elementor */
.tribe-events-c-subscribe-dropdown__button svg {
    fill: #ffffff !important;
}

.tribe-events-c-subscribe-dropdown__button:hover svg {
    fill: #0f172a !important;
}

.tribe-events-c-subscribe-dropdown__button-text {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-transform: none !important;
    transition: color 150ms ease !important;
}

.tribe-events-c-subscribe-dropdown__content,
#tribe-events-c-subscribe-dropdown-content,
div.tribe-events-c-subscribe-dropdown__content {
    background-color: #0f172a !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 10px !important;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.8) !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important; 
    min-width: 280px !important;
    z-index: 999999 !important;
    box-sizing: border-box !important;
    display: none;
}

.tribe-events-c-subscribe-dropdown__container:hover .tribe-events-c-subscribe-dropdown__content,
.tribe-events-c-subscribe-dropdown__content[style*="display: block"],
.tribe-events-c-subscribe-dropdown__content[style*="display:block"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.tribe-events-c-subscribe-dropdown__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    background-color: transparent !important;
}

.tribe-events-c-subscribe-dropdown__list-item {
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-c-subscribe-dropdown__list-item-link {
    display: block !important;
    color: #f8fafc !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    background-color: transparent !important;
    transition: all 150ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tribe-events-c-subscribe-dropdown__list-item-link:hover {
    background-color: rgba(255, 230, 4, 0.15) !important;
    color: #ffe604 !important;
    padding-left: 18px !important;
}

/* ==========================================================================
   10. NAVEGACIÓN DE ENTRADAS (ELEMENTOR POST NAVIGATION - NOTICIAS)
   ========================================================================== */
.elementor-widget-container {
    width: 100% !important;
}

.elementor-post-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin: 64px 0 40px 0 !important;
    padding-top: 32px !important;
    border-top: 1px solid #e2e8f0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.elementor-post-navigation__link {
    flex: 1 !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-post-navigation__next {
    justify-content: flex-end !important;
    text-align: right !important;
}

.elementor-post-navigation__link:empty {
    display: none !important;
}

.elementor-post-navigation__separator-wrapper {
    display: none !important;
}

.elementor-post-navigation__link a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px 24px !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    color: #0f172a !important;
    text-decoration: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 200ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.elementor-post-navigation__link a:hover {
    border-color: #0f172a !important;
    background-color: #f8fafc !important;
    box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.08) !important;
    transform: translateY(-2px) !important;
}

.elementor-post-navigation__link a:active {
    transform: scale(0.98) translateY(0) !important;
}

.elementor-post-navigation__link__prev,
.elementor-post-navigation__link__next {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.post-navigation__prev--label,
.post-navigation__next--label {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #64748b !important;
}

.post-navigation__prev--title,
.post-navigation__next--title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.post-navigation__arrow-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background-color: #f1f5f9 !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
    transition: all 150ms ease !important;
}

.elementor-post-navigation__link a:hover .post-navigation__arrow-wrapper {
    background-color: #0f172a !important;
}

/* Específico para las flechas de navegación de noticias, sin romper los iconos de contacto */
.elementor-post-navigation .e-font-icon-svg {
    width: 14px !important;
    height: 14px !important;
    fill: #0f172a !important;
    transition: fill 150ms ease, transform 150ms ease !important;
}

.elementor-post-navigation__link a:hover .e-font-icon-svg {
    fill: #ffe604 !important;
}

.post-navigation__arrow-prev:hover .e-font-icon-svg,
.elementor-post-navigation__link a:hover .post-navigation__arrow-prev .e-font-icon-svg {
    transform: translateX(-3px) !important;
}

/* ==========================================================================
   11. RESPONSIVE MÓVIL GLOBAL UNIFICADO
   ========================================================================== */
@media (max-width: 768px) {
    .tribe-events-header {
        border-bottom: none !important;
        padding: 0 !important;
    }
    .tribe-events-c-events-bar,
    .tribe-events-c-events-bar__search form {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .tribe-events-c-search__input-group,
    .tribe-events-c-search__button,
    .tribe-events-c-view-selector {
        width: 100% !important;
        margin-left: 0 !important;
    }
    .tribe-events-c-view-selector {
        justify-content: center !important;
    }
    .tribe-events-c-view-selector__list {
        width: 100% !important;
        justify-content: space-between !important;
    }
    .tribe-events-c-view-selector__list-item {
        flex: 1 !important;
    }
    .tribe-events-c-view-selector__list-item-link {
        justify-content: center !important;
    }
    
    .tribe-events-calendar-latest-past__event,
    .tribe-events-calendar-list__event {
        height: 520px !important; 
    }
    .tribe-events-calendar-latest-past__event-details,
    .tribe-events-calendar-list__event-details {
        padding: 24px !important;
    }
    
    .tribe-events-c-nav__list {
        flex-direction: column !important;
    }
    .tribe-events-c-nav__prev-label,
    .tribe-events-c-nav__next-label {
        display: none !important;
    }
    .tribe-events-c-nav__prev,
    .tribe-events-c-nav__next,
    .tribe-events-c-nav__today {
        width: 100% !important;
        padding: 0 8px !important;
        font-size: 13px !important;
    }
    
    .datepicker.datepicker-dropdown {
        width: 280px !important;
    }
    
    .tribe-events-single-section.tribe-events-event-meta {
        flex-direction: column !important;
        padding: 24px !important;
        gap: 40px !important;
    }
    .tribe-events-meta-list {
        grid-template-columns: 1fr !important;
    }
    
    .hibridalab-evento-form .hibridalab-form-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .hibridalab-evento-form .hibridalab-btn {
        width: 100% !important;
    }
    
    .tribe-events-sub-nav {
        flex-direction: column !important;
        gap: 16px !important;
    }
    .tribe-events-nav-previous,
    .tribe-events-nav-next {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
    .tribe-events-sub-nav li a {
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    .elementor-post-navigation {
        flex-direction: column !important;
        gap: 16px !important;
    }
    .elementor-post-navigation__link {
        width: 100% !important;
    }
    .elementor-post-navigation__link a {
        padding: 16px !important;
    }
}

/* ============= responsive ========================================================================= */
/* ============= responsive ========================================================================= */

@media screen and (max-width:1620px) {
	

	
}


@media screen and (max-width:1200px) {
	
   
}


@media screen and (max-width:770px) {
   
    
}


@media screen and (max-width:768px) {
	
	
}


@media screen and (max-width:500px) {
	

}


