/* Custom overrides extracted 2025-11-11 */


/* === PERF: stabilize blog card image ratio === */
.blog-grid-style-one .single-blog-area-one .thumbnail img{ aspect-ratio:16/9; object-fit:cover; }

/* ====== HEADER overrides (switch idioma + acceder) ====== */
.site-header { position: sticky; top: 0; z-index: 50; background:#fff; border-bottom:1px solid var(--color-border); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 0; }

.main-nav .nav-list { display:flex; gap:22px; align-items:center; margin:0; padding:0; list-style:none; }
.main-nav .nav-list a { text-decoration:none; color:var(--color-heading-1); font-weight:600; }

.header-actions { display:flex; align-items:center; gap:16px; }

.lang-switch { display:flex; align-items:center; gap:8px; font-weight:700; }
.lang-switch .sep { opacity:.4; }
.lang-switch .lang { opacity:.6; }
.lang-switch .lang.active { opacity:1; text-decoration:underline; }

.btn-acceder { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid var(--color-border);
  border-radius:999px; font-weight:700; color:var(--color-heading-1); text-decoration:none; }
.btn-acceder:hover { transform: translateY(-2px); border-color: var(--color-primary); }

.nav-toggle { display:none; background:none; border:0; }
.nav-toggle span { display:block; width:22px; height:2px; margin:4px 0; background:var(--color-heading-1); }

@media (max-width: 991px){
  .main-nav { display:none; }
  .nav-toggle { display:block; }
  .mobile-nav[hidden]{ display:none !important; }
  .mobile-nav { position:fixed; inset:64px 0 0 0; background:#fff; padding:16px; overflow:auto; }
  .mobile-nav ul { list-style:none; margin:0; padding:0; }
  .mobile-nav li { border-bottom:1px solid var(--color-border); }
  .mobile-nav a { display:block; padding:14px 8px; text-decoration:none; color:var(--color-heading-1); }
  .mobile-nav .divider { border-top:2px solid var(--color-border); }
  .mobile-nav .lang-mobile a { display:inline-block; padding:8px 10px; }
  body.nav-open { overflow:hidden; }
}
/* =========================================
   CORRECCIONES MENÚ MÓVIL (MEGA MENU FIX)
   ========================================= */
@media (max-width: 991.98px) {
    
    /* 1. Resetear el contenedor del Mega Menú para que quepa en el lateral */
    .mobile-menu .rts-mega-menu {
        position: static !important;
        width: 100% !important;
        padding: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: none; /* Se mostrará solo al desplegar */
        transform: none !important;
    }

    /* Mostrar cuando el menú está activo (clase que pone el JS) */
    .mobile-menu li.mm-active .rts-mega-menu {
        display: block !important;
    }

    /* 2. Aplanar las columnas (Romper el Grid System) */
    .mobile-menu .rts-mega-menu .wrapper,
    .mobile-menu .rts-mega-menu .container,
    .mobile-menu .rts-mega-menu .row,
    .mobile-menu .rts-mega-menu .col-lg-4 {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
        max-width: 100% !important;
    }

    /* 3. Limpiar elementos visuales que sobran en móvil */
    /* Ocultar iconos grandes, descripciones y títulos de sección para ahorrar espacio */
    .mobile-menu .rts-mega-menu .hega-menu-head-wrapper, 
    .mobile-menu .rts-mega-menu .icon img,
    .mobile-menu .rts-mega-menu .info .details {
        display: none !important;
    }

    /* 4. Estilizar los enlaces para que parezcan una lista limpia */
    .mobile-menu .rts-mega-menu ul.mega-menu-item {
        margin: 0 !important;
        padding: 0 !important;
    }

    .mobile-menu .rts-mega-menu .single-service-menu {
        display: flex;
        align-items: center;
        padding: 10px 15px;
        border-bottom: 1px solid rgba(0,0,0,0.05);
    }

    .mobile-menu .rts-mega-menu h5.title {
        font-size: 15px !important;
        margin: 0 !important;
        font-weight: 500 !important;
        color: var(--color-heading-1);
    }
    
    /* Ajuste para los enlaces directos de la columna 3 */
    .mobile-menu .rts-mega-menu ul.mega-menu-item li a {
        padding: 10px 15px !important;
        display: block;
        font-size: 15px;
    }
}