/* =========================================================
   sc-hello-fixes.css — correcciones de compatibilidad con Hello Elementor
   ========================================================= */

/* ---- Anular contenedor de Hello Elementor ---- */
.page-content,
.entry-content,
.elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* ---- Fuente global (Hello Elementor sobreescribe) ---- */
body, h1, h2, h3, h4, h5, h6, p, a, span, div, button, input, textarea, select {
    font-family: var(--ff) !important;
}

/* ---- Anular max-width de Hello en secciones a ancho completo ---- */
.hero,
.video-band,
.staff-section,
.staff-carousel,
.cta-band,
.faq,
.destino,
.ofertas {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ---- Imágenes — Hello fuerza max-width:100% que rompe aspect-ratio ---- */
.fcell-media img,
.exp-media img,
.offer-media img,
.lodge-media img,
.hero-video,
.staff-item img,
.ph img,
.live-banner-media img {
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ---- Feature grid desktop ---- */
@media(min-width:860px) {
    .fgrid {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* ---- Offer scroll desktop ---- */
@media(min-width:860px) {
    .offer-scroll {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media(min-width:1100px) {
    .offer-scroll {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* ---- Experiencias: imagen + texto en fila ---- */
.exp-list { display: flex !important; flex-direction: column !important; gap: 26px !important; }
.exp-row { display: grid !important; grid-template-columns: 1fr !important; background: #fff !important; border: 1px solid var(--line) !important; overflow: hidden !important; }
@media(min-width:860px) {
    .exp-row {
        grid-template-columns: 1.05fr 1fr !important;
        align-items: stretch !important;
    }
    .exp-row.rev .exp-media {
        order: 2 !important;
    }
    .exp-body {
        padding: 46px 44px !important;
        align-self: center !important;
    }
}
.exp-media {
    position: relative !important;
    min-height: 240px !important;
}
.exp-media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
}

/* ---- Live banner (webcam) ---- */
.live-banner {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    min-height: 300px !important;
    color: #fff !important;
    text-decoration: none !important;
}
.live-banner-media {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}
.live-banner-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
}
.live-banner-media::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg,rgba(6,32,29,.92) 0%,rgba(6,32,29,.72) 42%,rgba(6,32,29,.2) 100%) !important;
}
.live-banner-body {
    position: relative !important;
    z-index: 2 !important;
    max-width: 580px !important;
    padding: 38px 24px !important;
}
.live-banner h2 {
    color: #fff !important;
    font-size: clamp(28px,5.5vw,46px) !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    line-height: .98 !important;
    margin: 16px 0 12px !important;
}
@media(min-width:760px) {
    .live-banner { min-height: 350px !important; }
    .live-banner-body { padding: 48px 60px !important; }
}

/* ---- FAQ ---- */
.faq { background: var(--black) !important; color: #fff !important; padding: 72px 0 !important; }
.faq .section-head h2 { color: #fff !important; }
.faq-cats { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 28px !important; }
.faq-cat { font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .06em !important; padding: 9px 16px !important; border: 1px solid rgba(255,255,255,.25) !important; color: rgba(255,255,255,.6) !important; background: transparent !important; cursor: pointer !important; }
.faq-cat.active { background: var(--green) !important; border-color: var(--green) !important; color: #fff !important; }
.faq-list { display: flex !important; flex-direction: column !important; gap: 1px !important; }
.faq-item { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.1) !important; }
.faq-q { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important; padding: 20px 22px !important; font-size: 15px !important; font-weight: 600 !important; color: #fff !important; cursor: pointer !important; }
.faq-a { padding: 0 22px 20px !important; font-size: 14.5px !important; color: rgba(255,255,255,.75) !important; line-height: 1.7 !important; }

/* ---- Hello añade padding al body en páginas ---- */
.hello-elementor .page-content {
    padding: 0 !important;
}

/* ---- Quitar margen superior que Hello añade al contenido ---- */
.site-main > article > .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}
