/* =========================================================================
   Ajustes responsive globales — Gran Hotel Brillante
   Refuerza la visualización en móvil sin modificar el tema base.
   ========================================================================= */

/* -------------------------------------------------------------------------
   Logo de cabecera
   ------------------------------------------------------------------------- */
.elementor-54 .elementor-element.elementor-element-143e68b img {
    width: auto;
    height: 70px;
}

@media (max-width: 1024px) {
    .elementor-54 .elementor-element.elementor-element-143e68b img {
        height: 90px;
    }
    /* Hero de home: misma altura que la hero de habitaciones */
    .elementor-7 .elementor-element.elementor-element-5b5c51a5 > .elementor-container {
        min-height: 620px;
    }
    /* Formulario de reserva: margin negativo ajustado */
    .elementor-7 .elementor-element.elementor-element-4eec814 {
        --margin-top: -147px;
        --margin-bottom: -100px;
    }
}

@media (max-width: 767px) {
    .elementor-54 .elementor-element.elementor-element-143e68b img {
        height: 80px;
    }
    /* Hero de home: misma altura que habitaciones en móvil */
    .elementor-7 .elementor-element.elementor-element-5b5c51a5 > .elementor-container {
        min-height: 620px;
    }
}

/* -------------------------------------------------------------------------
   Fondo de vídeo en el hero de inicio
   ------------------------------------------------------------------------- */
.elementor-background-video-hosted {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    max-width: none;
    transform: none;
}

/* -------------------------------------------------------------------------
   Móvil general (hasta 767 px)
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
    /* Evita scroll horizontal en los full-bleed */
    html, body { overflow-x: hidden; }
    img, video, iframe { max-width: 100%; height: auto; }

    /* Heros de página */
    .ghb-page-hero { min-height: 420px; }
    .ghb-page-hero--titled .ghb-hero-title { font-size: 42px; }
    .ghb-hero-subtitle { font-size: 17px; }
    .ghb-hero-content { padding-left: 20px; padding-right: 20px; }

    /* Home: grid de actividades / experiencias */
    .actividades-grid { gap: 24px; }
    .actividades-grid .actividad-item:nth-child(2) { margin-top: 0; }
    .actividades-grid .cs-cta-img { height: 320px; }
    .actividades-grid .actividad-img { height: 320px; }
    .actividades-grid .cs-cta-content { padding: 22px 18px; }
    .actividades-grid .cs-cta-title { font-size: 24px; }
    .actividades-grid .cs-cta-text { font-size: 15px; line-height: 1.55; }

    /* Listados de habitaciones / experiencias */
    .ghb-rooms { padding-top: 40px; padding-bottom: 60px; }
    .ghb-room { margin-bottom: 50px; }
    .ghb-room-media img { height: 260px; }
    .ghb-room-title { font-size: 26px; }
    .ghb-room-subtitle { font-size: 12px; }
    .ghb-room-desc { font-size: 16px; }
    .ghb-room-body { padding: 0 4px; }
    .ghb-room-actions { justify-content: center; }

    /* Detalle de habitación / experiencia */
    .ghb-detail { padding-top: 70px; padding-bottom: 20px; }
    .ghb-detail-title { font-size: 30px; }
    .ghb-detail-desc { font-size: 17px; }
    .ghb-detail-features { gap: 12px 24px; padding-top: 20px; }
    .ghb-detail-grid { padding: 0 16px; }
    .ghb-detail-actions {
        display: flex;
        flex-direction: column;
        gap: 14px;
        align-items: center;
    }
    .ghb-detail-actions .button { width: 100%; max-width: 320px; }
    .ghb-detail-gallery { margin: 40px auto 60px; }
    .ghb-detail-gallery-grid img { height: 220px; }

    /* Contacto */
    .ghb-contact-grid { padding: 60px 20px 50px; gap: 40px; }
    .ghb-contact-map-section { padding: 0 20px 70px; gap: 40px; }
    .ghb-contact-info-block { padding: 26px 22px; }
    .ghb-contact-info-block h2 { font-size: 22px; }
    .ghb-contact-info-block p { font-size: 16px; }
    .ghb-contact-direction h3 { font-size: 18px; }
    .ghb-contact-map iframe { min-height: 320px; }

    /* Galería */
    .ghb-gallery-page { padding: 50px 16px 70px; }
    .ghb-gallery-grid { grid-auto-rows: 110px; gap: 10px; }

    /* Footer: reviews */
    .ghb-reviews-inner { justify-content: center; }
    .ghb-review { flex-direction: column; text-align: center; gap: 10px; }
    .ghb-review-logo img { height: 40px; }
    .ghb-review-score { font-size: 32px; }

    /* Lightbox */
    .ghb-lightbox img { max-width: 92vw; max-height: 78vh; }
    .ghb-lb-prev, .ghb-lb-next { font-size: 34px; padding: 6px 10px; }
    .ghb-lb-close { font-size: 30px; top: 12px; right: 14px; }

    /* Menú móvil */
    .sidemenu .mobile-menu li a { font-size: 18px; }
}

/* -------------------------------------------------------------------------
   Pantallas muy pequeñas (hasta 480 px)
   ------------------------------------------------------------------------- */
@media (max-width: 480px) {
    .ghb-page-hero--titled .ghb-hero-title { font-size: 34px; }
    .ghb-hero-subtitle { font-size: 15px; }

    .actividades-grid .cs-cta-img { height: 280px; }
    .actividades-grid .actividad-img { height: 280px; }
    .actividades-grid .cs-cta-title { font-size: 22px; }

    .ghb-room-media img { height: 220px; }
    .ghb-detail-title { font-size: 26px; }
    .ghb-detail-gallery-grid img { height: 180px; }

    .ghb-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 240px; }
    .ghb-gallery-item,
    .ghb-gallery-item:nth-child(8n + 1),
    .ghb-gallery-item:nth-child(8n + 2),
    .ghb-gallery-item:nth-child(8n + 3),
    .ghb-gallery-item:nth-child(8n + 4),
    .ghb-gallery-item:nth-child(8n + 5),
    .ghb-gallery-item:nth-child(8n + 6),
    .ghb-gallery-item:nth-child(8n + 7),
    .ghb-gallery-item:nth-child(8n + 8) { grid-column: span 1; grid-row: span 1; }

    .ghb-contact-map iframe { min-height: 260px; }
}
