/* =========================================
   RESPONSIVE
   ========================================= */

/* Tablet y Laptops Pequeñas (max 1024px) */
@media (max-width: 1024px) {
    .container {
        padding: 0 30px;
    }

    /* Reducimos un poco el padding en tablets */
    .hero-big-text {
        font-size: 70px;
    }

    .hero-text-block h1 {
        font-size: 36px;
    }

    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .split-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-image-clean {
        order: -1;
        max-width: 600px;
        margin: 0 auto;
    }

    .services-grid-clean,
    .blog-grid-clean {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-content {
        grid-template-columns: 1fr 1fr;
    }
}

/* Móvil (max 768px) */
@media (max-width: 768px) {
    .container {
        padding: 0 20px;
    }

    /* Padding estándar en móvil */
    .section-padding {
        padding: 60px 0;
    }

    /* Header Móvil */
    .site-logo.icon-large {
        height: 60px;
    }

    .site-header.scrolled .site-logo.icon-large {
        height: 50px;
    }

    .desktop-nav {
        display: none;
    }

    .hamburger-btn {
        display: block;
    }

    /* Hero Móvil */
    .hero-section {
        padding-top: 100px;
        align-items: center;
    }

    /* En móvil, quizás quieras centrar la imagen de fondo o usar una versión vertical */
    .bg-image-hero {
        background-position: center center;
    }

    .overlay-dark-blue {
        background: rgba(11, 30, 56, 0.85);
    }

    /* Más oscuro parejo en móvil */
    .hero-content {
        text-align: center;
        margin: 0 auto;
    }

    .hero-big-text {
        font-size: 50px;
        margin-bottom: 25px;
    }

    .hero-text-block h1 {
        font-size: 28px;
    }

    .hero-desc {
        font-size: 16px;
        margin: 0 auto 35px;
    }

    /* Secciones Móvil */
    .quick-nav-section {
        margin-top: 0;
        padding-bottom: 40px;
    }

    .cards-grid {
        grid-template-columns: 1fr;
    }

    .nav-card {
        min-height: auto;
        align-items: center;
        text-align: center;
    }

    .stats-row {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .countdown-wrapper {
        gap: 10px;
    }

    .time-block span {
        font-size: 40px;
    }

    .divider {
        font-size: 30px;
    }

    .btn-group {
        flex-direction: column;
    }

    .services-grid-clean,
    .blog-grid-clean {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .service-item {
        padding: 30px;
    }

    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
    }

    .social-icons {
        justify-content: center;
    }
}

/* =========================================
   PARCHE DE SEGURIDAD: OCULTAR MENÚ MÓVIL EN PC
   ========================================= */

/* =========================================
   BLOQUE UNIFICADO MÓVIL (768px)
   ========================================= */
@media (max-width: 768px) {

    /* 1. RESET Y ESTRUCTURA GENERAL */
    .container {
        padding: 0 20px;
    }

    .section-padding {
        padding: 50px 0;
    }

    /* 2. HEADER Y LOGO */
    .site-logo.icon-large {
        height: 60px;
    }

    .site-header.scrolled .site-logo.icon-large {
        height: 50px;
    }

    .desktop-nav {
        display: none;
    }

    .hamburger-btn {
        display: block;
        cursor: pointer;
    }

    /* 3. HERO: CENTRADO TOTAL Y AJUSTES CRÍTICOS */
    .hero-section {
        padding-top: 120px !important;
        padding-bottom: 100px !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
        text-align: center;
    }

    .hero-content {
        padding: 0 !important;
        margin: 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        transform: none !important;
        z-index: 5;
    }

    .hero-text-block {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 20px !important;
        width: 100%;
    }

    .hero-text-block h1 {
        font-size: 22px !important;
        margin-bottom: 10px;
        width: 100% !important;
    }

    .hero-big-text {
        font-size: 42px !important;
        line-height: 1.1;
        margin: 15px 0 25px !important;
        width: 100% !important;
    }

    .hero-desc {
        font-size: 15px !important;
        max-width: 90% !important;
        margin: 0 auto 30px auto !important;
        width: 100% !important;
    }

    /* 4. BOTONES Y ACCIONES (EVITA QUE SE PEGUEN) */
    .hero-actions,
    .live-actions,
    .btn-group,
    .newsroom-nav {
        display: flex;
        flex-direction: column;
        gap: 15px !important;
        width: 100%;
        align-items: center;
    }

    .btn {
        width: 100%;
        max-width: 300px;
        text-align: center;
        padding: 12px 20px;
        font-size: 13px;
    }

    /* 5. INDICADOR DE SCROLL */
    .scroll-indicator {
        bottom: 20px !important;
        width: 100%;
    }

    .scroll-indicator .line {
        height: 40px !important;
    }

    /* 6. MENÚ MÓVIL: ESTADO BASE Y TRANSICIÓN PREMIUM */
    #mobile-menu-overlay:not(.active) {
        display: none !important;
        pointer-events: none;
    }

    .mobile-menu {
        display: flex !important;
        position: fixed;
        top: 0;
        right: -100%;
        /* Escondido */
        width: 100%;
        height: 100vh;
        background: rgba(11, 30, 56, 0.98);
        z-index: 99999;

        /* TRANSICIÓN LENTA Y ELEGANTE */
        transition: right 0.6s cubic-bezier(0.85, 0, 0.15, 1),
            opacity 0.5s ease,
            visibility 0.5s;

        opacity: 0;
        visibility: hidden;
        backdrop-filter: blur(15px);

        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .mobile-menu.active {
        right: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .mobile-nav-content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        gap: 25px;
    }

    .mobile-nav-content a {
        color: white;
        opacity: 0;
        transform: translateY(20px);
        transition: all 0.4s ease;
        transition-delay: 0.2s;
        text-decoration: none;
        font-size: 20px;
        font-weight: 600;
    }

    .mobile-menu.active .mobile-nav-content a {
        opacity: 1;
        transform: translateY(0);
    }

    .mobile-nav-content a:hover {
        color: var(--gold);
    }

    .mobile-nav-content .btn-gold {
        margin-top: 15px;
        width: 80%;
        font-size: 16px;
    }

    /* Forzar que el icono sea visible y resalte */
    .hamburger-btn i {
        font-size: 28px;
        color: white !important;
        transition: transform 0.3s ease;
        z-index: 100002;
        position: relative;
    }

    /* Efecto visual cuando el menú está activo */
    .mobile-menu.active~.header-flex .hamburger-btn i {
        color: var(--gold) !important;
        /* La X se pone dorada al abrir */
        transform: rotate(90deg);
        /* Un toque de estilo al girar */
    }

    /* 7. OTROS AJUSTES DE SECCIÓN */
    .section-heading {
        font-size: 28px !important;
        line-height: 1.2;
    }
}

/* =========================================
   CORRECCIÓN: OCULTAR MENÚ MÓVIL EN ESCRITORIO
   ========================================= */
@media (min-width: 769px) {

    .mobile-menu,
    #mobile-menu-overlay {
        display: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    /* Asegurar que el botón hamburguesa tampoco se vea */
    .hamburger-btn {
        display: none !important;
    }
}

/* =========================================
   ARREGLO DE ESPACIO HERO EN PC/LAPTOP
   ========================================= */
@media (min-width: 1025px) {
    .hero-section {
        /* Fuerza que la sección mida toda la altura de la pantalla */
        min-height: 100vh;

        /* Centra el contenido verticalmente */
        display: flex;
        flex-direction: column;
        justify-content: center;

        /* Evita que el botón quede pegado al borde inferior */
        padding-bottom: 50px;
    }

    /* Empuja el botón hacia abajo para separarlo del texto */
    .hero-desc {
        margin-bottom: 40px !important;
    }
}