/* ============================================================
   FONDOS PERSONALIZADOS DE BLOQUES (mw/images/bgs)
   ============================================================ */

.mw-bg-video {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

.mw-bg-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

/* ============================================================
   COVER CON FONDO PROPIO (imagen o video)
   ============================================================ */

.cover-section-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.cover-bg-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Video del cover */
video.cover-bg-media {
    object-fit: cover;
}

/* Imagen del cover (div con background-image) */
.cover-bg-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* El contenido del cover va por encima */
.cover-section-wrapper>.cover {
    position: relative;
    z-index: 1;
}

/* ============================================================
   VIDEO FONDO DE BLOQUES (Servicios, Habitaciones, etc.)
   ============================================================ */

.mw-bg-video {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.mw-bg-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

/* ============================================================
   MÓDULOS CON FONDO SUBIDO O FALLBACK
   Texto blanco (o el que el template defina) para garantizar
   legibilidad sobre imagen/video.
   ============================================================ */

/* Texto base */
.has-bg-custom,
.has-bg-custom .texto-modulo,
.has-bg-custom .subtitulo,
.has-bg-custom .subtitulo h2,
.has-bg-custom h1,
.has-bg-custom h2,
.has-bg-custom h3,
.has-bg-custom h4,
.has-bg-custom h5,
.has-bg-custom h6 {
    color: var(--mw-color-text-on-media) !important;
}

/* Títulos: color propio + sombra para legibilidad */
.has-bg-custom h1,
.has-bg-custom h2,
.has-bg-custom h3,
.has-bg-custom h4,
.has-bg-custom h5,
.has-bg-custom h6,
.has-bg-custom .subtitulo h2 {
    color: var(--mw-color-title-on-media) !important;
    text-shadow: 0 2px 7px rgba(0, 0, 0, 0.75) !important;
}

/* Párrafos y textos suaves */
.has-bg-custom p,
.has-bg-custom .texto-adicional-contenido,
.has-bg-custom .texto-adicional-vacio {
    color: var(--mw-color-text-on-media) !important;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

/* Iconos de servicios */
.has-bg-custom .item-service p {
    color: var(--mw-color-text-on-media) !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}