/*
	CSS personalizado para single ALOJAMIENTOS CON SALÓN
	Estilos compartidos en: style-single-common.css
*/

/*********************************** #rowSingleAlojamientoSalonContent **********************************/

#rowSingleAlojamientoSalonContent {
    padding: 80px 0;
    background: #FFFFFF !important;
}

#rowSingleAlojamientoSalonContent .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 80px;
    text-align: left;
}

/* ---- Dos columnas ---- */

.divAlojamientoSalonColumns {
    display: flex !important;
    flex-direction: row !important;
    gap: 60px !important;
    align-items: flex-start !important;
    width: 100% !important;
}

.divAlojamientoSalonDesc {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

/* ---- Columna contacto (Sticky) — Sobreescribe el genérico ---- */
.divAlojamientoSalonContacto {
    flex: 0 0 340px !important;
    width: 340px !important;
    position: sticky !important;
    top: 40px !important;
}

/*********************************** #rowSingleAlojamientoSalonMapa ***********************************/

#rowSingleAlojamientoSalonMapa,
#rowSingleAlojamientoSalonMapa .divSingleAlojamientoSalonMapa {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

#rowSingleAlojamientoSalonMapa {
    width: 100%;
    margin-top: 60px;
    isolation: isolate;
}

.divAlojamientoSalonMapa {
    width: 100%;
    height: 500px;
    background-color: #2a2a2a;
    background-image: url('../images/map-placeholder.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.divAlojamientoSalonMapa.map-active {
    background-image: none !important;
    background-color: #2a2a2a !important;
    display: block;
    padding: 0;
}

.divAlojamientoSalonMapa::before,
.divAlojamientoSalonMapa::after {
    display: none !important;
}

.divAlojamientoSalonMapa iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 500px;
    border: none;
    margin: 0;
    padding: 0;
    filter: brightness(0.92) contrast(1.05);
}

/****************************************** RESPONSIVE ******************************************/

@media (max-width: 980px) {
    .divAlojamientoSalonColumns {
        flex-direction: column !important;
        gap: 40px !important;
    }

    .divAlojamientoSalonContacto {
        flex: none !important;
        width: 100% !important;
        position: static !important;
    }

    #rowSingleAlojamientoSalonContent .container {
        padding: 0 40px;
    }
}

@media (max-width: 580px) {
    #rowSingleAlojamientoSalonContent .container {
        padding: 0 20px;
    }
}