/*
	CSS personalizado para single COMARCAS - Rediseño Moderno
*/

#main {
    padding: 0px !important;
}

#main .full-container {
    max-width: none !important;
}

#primary {
    width: 100% !important;
    border: none !important;
}

/*************************************** #rowPagesCabecera ***************************************/

#rowPagesCabecera {
    position: relative;
    overflow: hidden;

    /* SOLUCIÓN AL HUECO BLANCO: Empuja la imagen al borde superior de la pantalla */
    margin-top: -120px !important;
    /* Ajusta este número (ej. -100px, -110px) según el alto exacto de tu menú blanco */
    z-index: 1;
    /* Asegura que la imagen quede por debajo del menú pero visible */
}

#rowPagesCabecera .divPagesCabecera {
    position: relative;
    width: 100%;
    height: 650px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


.comarca-badge-container {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    /* Fuerza el ancho completo de la pantalla */
    max-width: 100vw !important;
    z-index: 10 !important;
    pointer-events: none;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.comarca-badge {
    position: relative !important;
    pointer-events: auto;
    display: inline-block !important;
    color: #FFF !important;
    background: linear-gradient(to right, var(--color-secundario-hex) 0%, var(--color-secundario-hex) 100%) !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    padding-right: 60px !important;

    padding-left: 335px;

    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 18px !important;
    letter-spacing: 2px !important;
    border-radius: 0px 40px 0px 0px !important;
}

.comarca-badge::before {
    display: none !important;
    content: none !important;
}

@media (max-width: 1240px) {
    .comarca-badge {
        padding-left: 40px !important;
    }
}

@media (max-width: 768px) {
    .comarca-badge {
        padding-left: 20px !important;
        /* Ajuste para teléfonos */
    }
}

/*********************************** #rowSingleComarcaContent **********************************/

#rowSingleComarcaContent {
    padding: 80px 0;
}

#rowSingleComarcaContent .container {
    max-width: 1400px;
    /* Mas ancho para permitir alineacion a la izquierda */
    margin: 0 auto;
    padding: 0 80px;
    /* Mismo margen que el badge */
    text-align: left;
}

.divComarcaMeta {
    font-size: 13px;
    text-transform: uppercase;
    color: #666;
    letter-spacing: 1px;
    margin-bottom: 20px;
    font-weight: 500;
}

.divComarcaTitle {
    font-family: 'Playfair Display', serif;
    /* Fallback a serif si no carga */
    font-size: 82px !important;
    line-height: 1.1;
    color: #333 !important;
    margin-bottom: 40px !important;
    font-weight: 500;
}

.divComarcaIntro {
    font-size: 26px;
    line-height: 1.4;
    color: #333;
    font-weight: 600;
    margin-bottom: 30px;
}

.divComarcaDescription {
    font-size: 20px;
    line-height: 1.6;
    color: #444;
}

.divComarcaDescription p {
    margin-bottom: 25px;
}

/*********************************** #rowSingleComarcaMapa ***********************************/

#rowSingleComarcaMapa {
    display: block !important;
    margin-top: 40px !important;
    /* Desplaza TODO el bloque (banner incluido) hacia arriba de golpe */
    position: relative !important;
    z-index: 99 !important;
    padding-top: 0 !important;
}

.divComarcaMapa {
    width: 100%;
    height: 500px;
    /* Aumentamos un poco para que el mapa se vea bien al cargar */
    background-color: #f4f4f4;
    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;
}

.divComarcaMapa.map-active {
    background-image: none;
}

.map-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.divComarcaMapa iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.map-btn {
    position: relative;
    z-index: 2;
    background: var(--color-boton-hex);
    color: #000 !important;
    padding: 15px 60px;
    font-weight: 700;
    font-size: 18px;
    border: none;
    border-radius: 5px 25px 5px 25px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 25px var(--color-principal-hex);
}

.map-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 15px 35px var(--color-principal-hex);
}

/**************************************************************************************
 * SECCIONES COMPARTIDAS: RESTAURANTES, ACTIVIDADES, ALOJAMIENTOS Y SALONES
 **************************************************************************************/

/* 1. Ajustes del elemento raíz de TODAS las filas (Fuerza el encaje de la silueta abajo) */
#rowDondeComer,
#rowQueHacer,
#rowDondeDormirSection,
#rowSalonesSection {
    position: relative;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-size: 100% 100% !important;
    margin-top: 0;
    width: 100% !important;
}


/* 2. EL TRUCO: Creamos una capa de luz virtual por encima de la imagen desde el CSS */
#rowDondeComer::before,
#rowQueHacer::before,
#rowDondeDormirSection::before,
#rowSalonesSection::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    /* Se coloca justo encima de la foto del PHP */
    pointer-events: none !important;
    /* Evita que bloquee los clics en los botones */

    /* El degradado que querías: laterales oscuros y centro claro */
    /* Añadimos un desvanecimiento vertical abajo para que muera en transparente antes de las montañas */
    background-image:
        linear-gradient(to bottom, rgba(10, 16, 22, 0) 70%, rgba(255, 255, 255, 0) 100%),
        linear-gradient(90deg,
            rgba(10, 16, 22, 0.85) 0%,
            rgba(10, 16, 22, 0.15) 35%,
            rgba(10, 16, 22, 0.15) 65%,
            rgba(10, 16, 22, 0.85) 100%) !important;

    background-blend-mode: multiply;
}

/* 3. Vaciamos los overlays antiguos para que no interfieran ni creen dobles capas */
#rowDondeComer .row-donde-comer-overlay,
#rowQueHacer .row-que-hacer-overlay,
#rowDondeDormirSection .row-aloj-overlay,
#rowSalonesSection .row-salones-overlay {
    background: transparent !important;
    background-image: none !important;
}

/* 4. Contenedores con ancho forzado a 1400px (Subimos el z-index para que el texto flote arriba) */
#rowDondeComer .container,
#rowQueHacer .container,
#rowDondeDormirSection .container,
#rowSalonesSection .container {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 80px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    /* Pasa los textos y tarjetas por delante del degradado */
}

/* 4. Contenedores estables a 1400px (Común para todos) */
#rowDondeComer .container,
#rowQueHacer .container,
#rowDondeDormirSection .container,
#rowSalonesSection .container {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 80px !important;
    box-sizing: border-box !important;
}

/* Encabezados y etiquetas */
.donde-comer-header,
.que-hacer-header,
.aloj-header,
.salones-header {
    max-width: 760px;
    margin-bottom: 34px;
    text-align: left !important;
}

.donde-comer-header .section-tag,
.que-hacer-header .section-tag,
.aloj-header .section-tag,
.salones-header .section-tag {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--color-boton-hex);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.donde-comer-header h2,
.que-hacer-header h2,
.aloj-header h2,
.salones-header h2 {
    color: #FFF !important;
    font-size: 48px !important;
    line-height: 1.08;
    text-align: left !important;
}

/* Cuadrículas (4 Columnas) */
.donde-comer-selector,
.que-hacer-selector,
.aloj-selector,
.salones-selector {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 340px)) !important;
    justify-content: start !important;
    gap: 22px !important;
}

/* Avisos de sección vacía */
.rest-selector-empty,
.act-selector-empty,
.aloj-selector-empty,
.salones-selector-empty {
    grid-column: 1 / -1;
    padding: 28px;
    color: #1A1A1A;
    background: #FFF;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
}

/* Estructura de las Tarjetas */
.rest-selector-card,
.act-selector-card,
.aloj-selector-card,
.salones-selector-card {
    position: relative !important;
    /* Añadido para controlar el flujo interno */
    display: flex !important;
    flex-direction: column !important;
    min-height: 460px !important;
    max-width: 340px !important;
    width: 100% !important;
    overflow: hidden !important;
    background: #FFF !important;
    border-radius: 12px !important;
}

.rest-selector-card:hover,
.act-selector-card:hover,
.aloj-selector-card:hover,
.salones-selector-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.32);
}

/* Imágenes de portada */
.rest-selector-image,
.act-selector-image,
.aloj-selector-image,
.salones-selector-image {
    position: relative !important;
    height: 310px !important;
    min-height: 310px !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
}

/* Insignias e indicadores internos de las tarjetas comunes */
.act-selector-badge,
.aloj-selector-badge,
.salones-selector-badge {
    position: absolute;
    left: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
    padding: 7px 12px;
    color: #1A1A1A;
    background: var(--color-boton-hex);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

/* Bloques de contenido de las tarjetas */
.rest-selector-body,
.act-selector-body,
.aloj-selector-body,
.salones-selector-body {
    padding: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    justify-content: space-between !important;
}

.rest-selector-title,
.act-selector-title,
.aloj-selector-title,
.salones-selector-title {
    margin-bottom: 6px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.rest-selector-localidad,
.act-selector-localidad,
.aloj-selector-localidad,
.salones-selector-localidad {
    margin-bottom: 12px !important;
    font-size: 13px !important;
}

.rest-selector-localidad i,
.act-selector-localidad i,
.aloj-selector-localidad i,
.salones-selector-localidad i {
    margin-right: 6px;
    color: var(--color-secundario-hex) !important;
}

/* Enlaces e indicadores de texto internos */
.rest-selector-link,
.act-selector-link,
.aloj-selector-link,
.salones-selector-link {
    margin-top: auto;
    color: #143046;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.rest-selector-link i,
.act-selector-link i,
.aloj-selector-link i,
.salones-selector-link i {
    margin-left: 6px;
    transition: transform 0.2s ease;
}

.rest-selector-card:hover .rest-selector-link i,
.act-selector-card:hover .act-selector-link i,
.aloj-selector-card:hover .aloj-selector-link i,
.salones-selector-card:hover .salones-selector-link i {
    transform: translateX(4px);
}

/* Botones inferiores "Ver más" */
.donde-comer-footer,
.que-hacer-footer,
.aloj-footer,
.salones-footer {
    display: flex;
    justify-content: flex-start;
    margin-top: 34px;
}

.btn-donde-comer-ver-mas,
.btn-que-hacer-ver-mas,
.btn-aloj-ver-mas,
.btn-salones-ver-mas {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    color: #000 !important;
    background: var(--color-boton-hex);
    border-radius: 5px 25px 5px 25px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.btn-donde-comer-ver-mas:hover,
.btn-que-hacer-ver-mas:hover,
.btn-aloj-ver-mas:hover,
.btn-salones-ver-mas:hover {
    transform: translateY(-3px);
}

/* ==========================================================================
   INTEGRACIÓN: NUEVA LIMPIEZA INCONDICIONAL DE ENLACES Y SUBRAYADOS
   ========================================================================== */

/* Anula de raíz cualquier subrayado o borde inferior en cualquier elemento interno */
.rest-selector-card,
.act-selector-card,
.aloj-selector-card,
.salones-selector-card,
.rest-selector-card *,
.act-selector-card *,
.aloj-selector-card *,
.salones-selector-card * {
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* 1. ESTADO NORMAL: Añadimos una sombra muy suave y preparamos la animación */
.rest-selector-card,
.act-selector-card,
.aloj-selector-card,
.salones-selector-card {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    /* Sombra base muy sutil */
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    /* Animación ultra suave */
}

/* 2. ESTADO HOVER: Al pasar el ratón, la tarjeta se eleva y la sombra se vuelve más profunda pero difuminada */
.rest-selector-card:hover,
.act-selector-card:hover,
.aloj-selector-card:hover,
.salones-selector-card:hover {
    transform: translateY(-6px) !important;
    /* Elevación controlada */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
    /* Sombra más amplia y suave, no un bloque duro */
}

/* Fuerza el color negro plano para todos los títulos de las secciones */
.rest-selector-title,
.act-selector-title,
.aloj-selector-title,
.salones-selector-title,
.rest-selector-title *,
.act-selector-title *,
.aloj-selector-title *,
.salones-selector-title * {
    color: #1A1A1A !important;
}

/* Fuerza el color gris para las localidades de las tarjetas */
.rest-selector-localidad,
.act-selector-localidad,
.aloj-selector-localidad,
.salones-selector-localidad,
.rest-selector-localidad *,
.act-selector-localidad *,
.aloj-selector-localidad *,
.salones-selector-localidad * {
    color: #64748b !important;
}

/* Mantiene el color azul/secundario único para el icono de ubicación */
.rest-selector-localidad i,
.act-selector-localidad i,
.aloj-selector-localidad i,
.salones-selector-localidad i {
    color: var(--color-secundario-hex) !important;
}

/* Evita que el tema intente volver a subrayar o cambiar colores al pasar el ratón (Hover) */
.rest-selector-card:hover *,
.act-selector-card:hover *,
.aloj-selector-card:hover *,
.salones-selector-card:hover * {
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: none !important;
}

.rest-selector-card:hover .rest-selector-title,
.act-selector-card:hover .act-selector-title,
.aloj-selector-card:hover .aloj-selector-title,
.salones-selector-card:hover .salones-selector-title {
    color: #1A1A1A !important;
}

/* ==========================================================================
   INTEGRACIÓN: PREMIOS SEPARADOS MÚLTIPLES PARA RESTAURANTES
   ========================================================================== */
#rowDondeComer .rest-badges-container {
    position: absolute !important;
    left: 14px !important;
    bottom: 14px !important;
    max-width: calc(100% - 28px) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    z-index: 10 !important;
}

#rowDondeComer .rest-badges-container .rest-selector-badge {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    max-width: none !important;
    width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 7px 12px !important;
    color: #1A1A1A !important;
    background: var(--color-boton-hex) !important;
    /* Sigue tu color corporativo dinámico */
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}

/* ==========================================================================
   INTEGRACIÓN: BADGES ACT ALOJ SALONES
   ========================================================================== */

/* Contenedores flexibles para las nuevas insignias */
#rowQueHacer .act-badges-container,
#rowDondeDormirSection .aloj-badges-container,
#rowSalonesSection .salones-badges-container {
    position: absolute !important;
    left: 14px !important;
    bottom: 14px !important;
    max-width: calc(100% - 28px) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    z-index: 10 !important;
}

#rowQueHacer .act-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Estilo base unificado para los nuevos tipos de badge */
.act-selector-badge-tipo,
.aloj-selector-badge-capacidad,
.salones-selector-badge-capacidad {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 7px 12px !important;
    color: #1A1A1A !important;
    background: var(--color-boton-hex) !important;
    /* Hereda tu verde corporativo */
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}

.act-selector-badge-tipo span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
    line-height: 1.2;
}

/* EFECTO TRUNCADO (ELLIPSIS): Recorta el texto si el tipo de actividad es muy largo */
.act-selector-badge-tipo {
    max-width: 180px !important;
    /* Forzamos un ancho máximo para activar el recorte */
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    /* Inserta automáticamente los '...' al final */
}

/* Ajuste sutil por si el icono se pega al texto recortado */
.act-selector-badge-tipo i {
    flex-shrink: 0 !important;
}


/********************************** OTRAS COMARCAS SLIDER - FLECHAS **********************************/

.otras-comarcas-slider .slick-prev,
.otras-comarcas-slider .slick-next {
    width: 50px;
    height: 50px;
    background: #FFF;
    border: 1px solid #EEE;
    border-radius: 50%;
    z-index: 10;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.otras-comarcas-slider .slick-prev:before,
.otras-comarcas-slider .slick-next:before {
    display: none;
}

.otras-comarcas-slider .slick-prev i,
.otras-comarcas-slider .slick-next i {
    color: #333;
    font-size: 18px;
}

.otras-comarcas-slider .slick-prev {
    left: -25px;
}

.otras-comarcas-slider .slick-next {
    right: -25px;
}

.otras-comarcas-slider .slick-prev:hover,
.otras-comarcas-slider .slick-next:hover {
    background: #222;
    border-color: #222;
}

.otras-comarcas-slider .slick-prev:hover i,
.otras-comarcas-slider .slick-next:hover i {
    color: #FFF;
}

/* Garantizar que las flechas no queden cortadas por overflow de contenedores padre */
.otras-comarcas-section,
.otras-comarcas-section .comarcas-slider-wrapper {
    overflow: visible !important;
}

.otras-comarcas-section .container {
    /* Añadido con punto por ser clase */
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 80px !important;
    box-sizing: border-box !important;
}

/* Padding del encabezado del slider (override del cache de style-home.css) */
.comarcas-slider-header {
    max-width: 760px;
    margin-bottom: 34px;
    text-align: left !important;
}

.comarcas-slider-header .section-tag {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--color-boton-hex);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.comarcas-slider-header h2 {
    color: black !important;
    /* Si este slider va sobre fondo blanco, puedes cambiarlo por #333 o quitar el !important */
    font-size: 48px !important;
    line-height: 1.08;
    text-align: left !important;
    margin-bottom: 16px !important;
    /* Añade separación con el párrafo */
}

/* Estilo específico para el párrafo descriptivo del slider */
.comarcas-slider-header p {
    color: #64748b;
    /* Color grisáceo elegante, cámbialo a #FFF si va sobre fondo oscuro */
    font-size: 18px;
    line-height: 1.5;
    text-align: left !important;
    margin: 0;
}

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

@media (max-width: 1100px) {
    .divComarcaTitle {
        font-size: 64px !important;
    }

    .donde-comer-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    #rowPagesCabecera .divPagesCabecera {
        height: 450px;
    }

    .comarca-badge-container {
        left: 40px;
    }

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

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

    .donde-comer-header h2 {
        font-size: 40px !important;
    }

    .divComarcaTitle {
        font-size: 52px !important;
    }
}

@media (max-width: 768px) {
    .divComarcaTitle {
        font-size: 42px !important;
    }

    #rowPagesCabecera .divPagesCabecera {
        height: 350px;
    }

    #rowDondeComer .row-donde-comer-overlay {
        padding: 70px 0;
    }

    .donde-comer-selector {
        grid-template-columns: 1fr;
    }

    .rest-selector-card {
        min-height: 0;
    }
}

@media (max-width: 580px) {
    .divComarcaTitle {
        font-size: 32px !important;
    }

    .comarca-badge {
        padding: 8px 30px;
        font-size: 14px;
    }

    .comarca-badge-container {
        left: 20px;
    }

    #rowSingleComarcaContent .container {
        padding: 0 20px;
    }

    #rowDondeComer .container {
        padding: 0 20px;
    }

    .donde-comer-header h2 {
        font-size: 30px !important;
    }

    .donde-comer-footer {
        justify-content: stretch;
    }

    .btn-donde-comer-ver-mas {
        justify-content: center;
        width: 100%;
    }
}


/* Estilo base para el botón de 42px al lado del título principal */
.single-wishlist-btn {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
    outline: none !important;
}

/* Efecto hover suave antes de hacer clic */
.single-wishlist-btn:hover {
    transform: scale(1.08) !important;
    background: #f8f9fa !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Estado activo/guardado: El botón de la página interna muta a naranja */
.single-wishlist-btn.guardado {
    background: var(--color-boton-hex) !important;
    /* Tu naranja corporativo */
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(244, 147, 51, 0.25) !important;
}

/* Proporciones perfectas para el icono SVG dentro del botón de 42px */
.single-wishlist-btn img.wishlist-svg-icon {
    width: 20px !important;
    /* Tamaño ligeramente mayor para este botón */
    height: 20px !important;
    display: block;
    object-fit: contain;
    transition: filter 0.2s ease !important;

    /* Por defecto, tu SVG blanco se convierte en NEGRO */
    filter: brightness(0) !important;
}

/* Cuando el botón de la página interna está guardado, el SVG recupera su BLANCO original */
.single-wishlist-btn.guardado img.wishlist-svg-icon {
    filter: none !important;
}

/* 1. FORZAR TODOS LOS FONDOS A BLANCO Y ELIMINAR IMÁGENES / OVERLAYS */
#rowDondeComer,
#rowDondeDormir,
#rowSalones,
[id^='row'] {
    /* Captura de forma preventiva cualquier otra sección similar */
    background-image: none !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    padding: 60px 0 !important;
}

/* 1. CONTENEDOR: Fuerza a que los badges se ordenen uno al lado del otro */
#rowDondeComer .rest-badges-container {
    position: absolute !important;
    left: 14px !important;
    bottom: 14px !important;
    max-width: calc(100% - 28px) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    z-index: 10 !important;
}

#rowDondeComer .rest-badges-container .rest-selector-badge {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;

    /* CORREGIDO: Anula el ancho máximo heredado de las otras secciones */
    max-width: none !important;
    width: max-content !important;
    /* Fuerza a que el fondo mida exactamente lo que mida el texto */

    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 7px 12px !important;
    color: #1A1A1A !important;
    background: #FF9800 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}



/*DESCRIPCIOOOOOOOOOOOOOOOON*/
/* --- 1. SEPARACIÓN GENERAL EN DOS COLUMNAS DE REVISTA --- */
.divComarcaDescription {
    /* El secreto: divide todo el contenido interno en un máximo de 2 columnas */
    column-count: 2 !important;
    /* Distancia de separación idéntica a tu diseño de referencia */
    column-gap: 50px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* --- 2. FORZAMOS EL TÍTULO Y LA BAJADA A OCUPAR TODO EL ANCHO (100%) --- */
/* Tu primer título H2 (Eventos corporativos...) ocupa todo el ancho superior */
.divComarcaDescription>h2:first-of-type {
    column-span: all !important;
    /* Rompe las columnas y se estira al 100% */
    font-family: 'Georgia', serif !important;
    font-size: 44px !important;
    font-weight: normal !important;
    line-height: 1.15 !important;
    color: #111111 !important;
    margin-bottom: 20px !important;
}

/* Tu primer párrafo con strong (Naturaleza, bienestar...) ocupa todo el ancho superior */
.divComarcaDescription>p:first-of-type {
    column-span: all !important;
    /* Rompe las columnas y se estira al 100% */
    margin-bottom: 40px !important;
    max-width: 850px !important;
}

.divComarcaDescription>p:first-of-type strong {
    font-family: 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: normal !important;
    color: #555555 !important;
    line-height: 1.5 !important;
}

/* --- 3. EVITAMOS QUE LOS BLOQUES SE ROMPAN A LA MITAD --- */
/* Impide que un párrafo empiece en la columna 1 y termine feamente en la columna 2 */
.divComarcaDescription>h3,
.divComarcaDescription>p:not(:first-of-type),
.divComarcaDescription>ul {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

/* --- 4. ESTILOS DE LOS TÍTULOS Y PÁRRAFOS DEL CUERPO --- */
.divComarcaDescription h3 {
    font-family: 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #111111 !important;
    margin-top: 25px !important;
    margin-bottom: 15px !important;
}

/* Ajuste específico para el título de la lista */
.divComarcaDescription h3[data-section-id="q1l89t"] {
    font-size: 16px !important;
    margin-top: 20px !important;
}

.divComarcaDescription p {
    font-family: 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #444444 !important;
    margin-bottom: 20px !important;
}

/* --- 5. CORRECCIÓN DE LAS VIÑETAS AZULES --- */
.divComarcaDescription ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-bottom: 30px !important;
    margin-left: 0 !important;
    /* Fuerza el inicio de la lista a la izquierda */
}

.divComarcaDescription ul li {
    position: relative !important;
    padding-left: 15px !important;
    /* Reducido de 25px a 15px para mover el texto a la izquierda */
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.divComarcaDescription ul li::marker,
.divComarcaDescription ul li::before {
    content: "" !important;
}

.divComarcaDescription ul li strong {
    font-family: var(--font-family-normal) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

.divComarcaDescription ul li::after {
    content: "•" !important;
    color: var(--color-secundario-hex) !important;
    font-size: 26px !important;
    position: absolute !important;
    left: -10px !important;
    /* Cambiado de 0 a -10px para desplazar el punto azul a la izquierda */
    top: 0px !important;
    line-height: 1 !important;
}

/* Fuerza a que el elemento empiece en una columna nueva */
.salto-columna-revista {
    break-before: column !important;
    page-break-before: column !important;
    /* Compatibilidad con navegadores antiguos */
}

/* --- 6. DISEÑO PARA TELÉFONOS MÓVILES --- */
@media (max-width: 850px) {
    .divComarcaDescription {
        column-count: 1 !important;
        /* En móviles vuelve a ser una sola columna limpia */
    }

    .divComarcaDescription>h2:first-of-type {
        font-size: 30px !important;
    }
}