/* ==========================================================
   1) GRID — SOLO TARJETAS
========================================================== */
.mphb_sc_search_results-wrapper {
    max-width: 1350px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    padding: 20px !important;
}

.mphb_sc_search_results-wrapper > .mphb-room-type {
    display: flex !important;
    flex-direction: column !important;
}

.mphb_sc_search_results-wrapper > *:not(.mphb-room-type) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* ==========================================================
   2) MENSAJES Y TITULARES
========================================================== */
.mphb-recommendation-title,
.mphb_sc_search_results-info,
.mphb-has-no-rooms-message {
    grid-column: 1 / -1 !important;
    text-align: center !important;
    padding: 15px 0 !important;
    font-size: 1.1rem !important;
    color: #333 !important;
}

.mphb_sc_search_results-info {
    font-size: 1rem !important;
    color: #555 !important;
    background: #fff !important;
    padding: 18px 25px !important;
    border-radius: 18px !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.06) !important;
    margin-bottom: 35px !important;
}

/* ==========================================================
   3) CARRITO
========================================================== */
form.mphb-reservation-cart {
    grid-column: 1 / -1 !important;
    background: #ffffff !important;
    padding: 25px 30px !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
    margin-bottom: 40px !important;
}

/* ==========================================================
   4) TARJETA BASE — ESTRUCTURA FLEXBOX
========================================================== */
.mphb-room-type {
    background: #fff !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.12) !important;
    display: flex !important;
    flex-direction: column !important;
    transition: .25s ease !important;
    height: 100% !important;
    position: relative !important;
    margin-top: 0 !important;
}

.mphb-room-type:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.15) !important;
}

/* Contenedor interno MotoPress */
.mphb-room-type-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Bloque de texto (creado por JS) */
.text-block {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* ==========================================================
   5) IMAGEN SUPERIOR
========================================================== */
.mphb-room-type-images {
    position: relative !important;
    width: 100% !important;
    height: 240px !important;
    overflow: hidden !important;
    border-radius: 22px 22px 0 0 !important;
    padding-top: 8px !important;
}

.mphb-room-type-images img,
.mphb-room-type-images .gallery-item img {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
    object-position: center 40% !important;
    border-radius: 20px !important;
    transition: transform .4s ease !important;
}

.mphb-room-type:hover .mphb-room-type-images img,
.mphb-room-type:hover .gallery-item img {
    transform: scale(1.06);
}

.mphb-gallery-title {
    display: none !important;
}

/* ==========================================================
   6) MÁRGENES LATERALES
========================================================== */
.mphb-room-type > *:not(.mphb-room-type-images) {
    margin-left: 25px !important;
    margin-right: 25px !important;
}

/* ==========================================================
   7) TÍTULO DE LA HABITACIÓN
========================================================== */
.mphb-room-type-title {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: var(--verde-yanay) !important;
    text-align: center !important;
    margin: 20px 0 10px !important;
}

/* ==========================================================
   8) DESCRIPCIÓN CON ALTURA FIJA (3 líneas)
========================================================== */
.mphb-room-type-description {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 72px !important;
    max-height: 72px !important;
    line-height: 1.6 !important;
    font-size: 1rem !important;
    margin-bottom: 8px !important;
    text-align: left !important;
    color: #555 !important;
}

/* Botón "Ver más" */
.yanay-ver-mas {
    margin: 0 0 15px 0 !important;
    min-height: 22px !important;
    max-height: 22px !important;
    display: block !important;
}

.yanay-ver-mas a {
    color: var(--verde-yanay) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-decoration: underline !important;
    cursor: pointer;
}

/* ==========================================================
   9) TÍTULO "DETALLES" CON ALTURA FIJA
========================================================== */
.mphb-room-type h3,
.mphb-room-type .mphb-room-type-details-title {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #1f4d32 !important;
    text-align: left !important;
    margin: 15px 0 10px 0 !important;
    min-height: 30px !important;
    max-height: 30px !important;
}

/* ==========================================================
   10) CAPACIDAD CON ALTURA FIJA
========================================================== */
.mphb-room-type-total-capacity {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    margin: 12px 0 !important;
    min-height: 28px !important;
    max-height: 28px !important;
    color: var(--verde-yanay) !important;
    font-weight: 600 !important;
}

.mphb-room-type-total-capacity::before {
    content: "\f0c0";
    font-family: "Font Awesome 6 Free"; 
    font-weight: 900;
    font-size: 1rem;
    color: #9c9c9c;
    margin-right: 4px;
}

.mphb-room-type-total-capacity .mphb-attribute-title {
    font-size: 0 !important;
}

.mphb-room-type-total-capacity .mphb-attribute-title::after {
    content: "Capacidad:" !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--verde-yanay) !important;
}

.mphb-room-type-total-capacity .mphb-attribute-value {
    color: #555 !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
}

/* ==========================================================
   11) SERVICIOS CON ALTURA FIJA — CLAVE PARA ALINEACIÓN
========================================================== */
.mphb-room-type-facilities {
    margin-bottom: 20px !important;
    min-height: 240px !important;
    max-height: 240px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.mphb-room-type-facilities .mphb-attribute-title {
    color: #1f4d32 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-bottom: 10px !important;
}

/* Grid de servicios (creado por JS) */
.yanay-servicios-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 25px !important;
}

.serv-item {
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    color: #1f4d32 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Estilos para servicios antes de JS */
.mphb-room-type-facilities a,
.mphb-room-type-facilities span {
    color: #1f4d32 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

/* ==========================================================
   12) BOTONES SIEMPRE AL FONDO
========================================================== */
.mphb-view-details-button-wrapper,
.mphb-book-button-wrapper {
    margin-top: auto !important;
    flex-shrink: 0 !important;
}

.mphb-view-details-button-wrapper a,
.mphb-book-button {
    display: block !important;
    text-align: center !important;
    background: var(--verde-yanay) !important;
    color: #fff !important;
    padding: 12px 25px !important;
    border-radius: 40px !important;
    font-weight: 600 !important;
    margin: 10px 0 !important;
    transition: .25s ease !important;
}

.mphb-view-details-button-wrapper a:hover,
.mphb-book-button:hover {
    background: #0e532f !important;
    transform: translateY(-2px);
}

/* ==========================================================
   13) CATEGORÍA (oculta, se maneja por JS si es necesario)
========================================================== */
.mphb-room-type-categories {
    display: none !important;
}

/* ==========================================================
   14) OCULTAR PRECIO
========================================================== */
.mphb-regular-price {
    display: none !important;
}

/* ==========================================================
   15) RESPONSIVE
========================================================== */
@media (max-width: 1024px) {
    .mphb_sc_search_results-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .mphb-room-type-facilities {
        min-height: 260px !important;
        max-height: 260px !important;
    }
}

@media (max-width: 600px) {
    .mphb_sc_search_results-wrapper {
        grid-template-columns: 1fr !important;
    }
    
    .mphb-room-type-facilities {
        min-height: 280px !important;
        max-height: 280px !important;
    }
    
    .yanay-servicios-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   ETIQUETAS DE CATEGORÍA — RESTAURADAS
========================================================== */

/* Hacer que la tarjeta sea position relative para la etiqueta absoluta */
.mphb-room-type {
    position: relative !important;
}

/* Ocultar el elemento original de categorías de MotoPress */
.mphb-room-type-categories {
    display: none !important;
}

/* Crear etiqueta verde con pseudo-elemento usando data-category */
.mphb-room-type::after {
    content: attr(data-category);
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--verde-yanay);
    color: #fff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    z-index: 20;
    display: inline-block;
}

/* Si no hay categoría (data-category vacío), no mostrar nada */
.mphb-room-type:not([data-category])::after,
.mphb-room-type[data-category=""]::after {
    display: none;
}
----------------------------------------------------------final---------------------------------------------------
/* Alinear “Detalles” exactamente donde inicia Capacidad */
.mphb-room-type-details-title {
    margin-left: 0 !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    display: block !important;
}
.mphb-room-type h3.mphb-room-type-details-title {
    margin-left: unset !important;
    margin-left: 0 !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    width: 100% !important;
    display: block !important;
}
-----------------------------------------------------------------------------------------------------------------------

/* Bloque de descripción + ver más */
.yanay-desc-wrapper {
    height: 94px !important;              /* Altura EXACTA */
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    margin-bottom: 15px !important;
}

/* La descripción mantiene sus 3 líneas */
.mphb-room-type-description {
    flex-shrink: 0 !important;
}

/* El Ver más ocupa su espacio sin mover nada */
.yanay-ver-mas {
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}
/* ==========================================
   WRAPPER DE DESCRIPCIÓN — ALTURA FIJA PERFECTA
========================================== */
.yanay-desc-wrapper {
    height: 105px !important;          /* ALTURA UNIFORME */
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    margin-bottom: 18px !important;
}

/* Descripción (las 3 líneas) */
.mphb-room-type-description {
    flex-shrink: 0 !important;
}

/* Espacio reservado SIEMPRE para el Ver más */
.yanay-ver-mas {
    height: 22px !important;
    margin-top: 4px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Si NO hay ver más → igual se reserva espacio */
.yanay-desc-wrapper.no-vermas .yanay-ver-mas {
    visibility: hidden !important;
}
----------------------iconos servicios-----------------------------------------
/* Iconos en servicios dentro de resultados */
.yanay-serv-icon {
    font-size: 1rem;
    color: var(--verde-yanay);
    margin-right: 8px;
    width: 16px;
    text-align: center;
}
/* =======================================
   ESPACIADO EXTRA BLOQUE "SERVICIOS"
======================================= */
.mphb-room-type-facilities {
    margin-top: 12px !important;      /* espacio arriba del título */
    padding-top: 8px !important;
}

/* Título "Servicios" más separado */
.mphb-room-type-facilities .mphb-attribute-title {
    margin-bottom: 12px !important;   /* espacio bajo el título */
}

/* =======================================
   ESPACIADO ENTRE ICONO Y TEXTO
======================================= */
.serv-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;              /* SEPARACIÓN ÍCONO – TEXTO */
    margin-bottom: 6px !important;    /* separación entre servicios */
}

/* Tamaño uniforme de iconos */
.serv-item i {
    font-size: 1rem !important;
    color: var(--verde-yanay) !important;
    width: 18px !important;           /* alinea todos los textos */
    text-align: center !important;
}
/* Un pequeño espacio debajo del título Servicios */
.mphb-room-type-facilities .mphb-attribute-title {
    margin-bottom: 8px !important;   
    display: block !important;
}
-----------------ver detalles------------------------------------------------------
/* ✔️ Ocultar SOLO "Ver detalles" dentro de los resultados */
.mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper,
.mphb_sc_search_results-wrapper a.mphb-view-details-button {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ✔️ NO ocultar botones del carrito ni del popup */
.mphb-reservation-cart .mphb-view-details-button-wrapper,
.mphb-reservation-cart a.mphb-view-details-button {
    display: inline-block !important;
    visibility: visible !important;
    height: auto !important;
}

--------------------------------------
/* ==============================================
   BOTÓN "HACER RESERVA" — ESTILO ARMONIZADO
   Solo aplica dentro del carrito
============================================== */
.mphb-reserve-room-section .mphb-book-button-wrapper,
.mphb-reserve-room-section .mphb-book-button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;

    /* Tamaño uniforme */
    width: 180px !important;
    height: 42px !important;

    /* Colores Yanay */
    background: var(--verde-yanay) !important;
    color: #fff !important;

    /* Bordes */
    border-radius: 40px !important;
    border: 2px solid #ba6d6d !important; /* mismo borde suave de tus tarjetas */

    /* Espaciado */
    margin: 10px auto 0 auto !important;
    padding: 10px 25px !important;

    /* Fuente */
    font-weight: 600 !important;
    font-size: 0.95rem !important;

    /* Transición */
    transition: .25s ease !important;
}

/* Hover igual que en las tarjetas */
.mphb-reserve-room-section .mphb-book-button:hover {
    background: #0e532f !important;
    transform: translateY(-2px);
}

/* Evitar que otro CSS colapse el botón o cambie su tamaño */
.mphb-reserve-room-section .mphb-book-button-wrapper {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}
------------------------------------------------------------------
/* ==========================================================
   1) QUITAR BORDE ROSADO / OUTLINE DEL BOTÓN HACER RESERVA
========================================================== */
.mphb-book-button,
.mphb-book-button:focus,
.mphb-book-button-wrapper button,
.mphb-book-button-wrapper button:focus,
button:focus,
a:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* También los botones personalizados */
.mphb-view-details-button-wrapper a,
.mphb-view-details-button-wrapper a:focus,
.mphb-book-button-wrapper a,
.mphb-book-button-wrapper a:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ==========================================================
   2) CENTRAR BOTÓN “CONFIRMAR RESERVA”
========================================================== */
form.mphb-reservation-cart .mphb-confirm-reservation,
form.mphb-reservation-cart button.mphb-confirm-reservation,
form.mphb-reservation-cart a.mphb-confirm-reservation {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 20px !important; /* espacio arriba */
}

/* MotoPress a veces usa contenedor wrapper del botón */
form.mphb-reservation-cart .mphb-confirm-reservation-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

/* Evitar desalineación por paddings internos */
form.mphb-reservation-cart {
    text-align: center !important;
}

/* ==========================================================
   3) CORREGIR QUE EL BOTÓN DEL CARRITO NO SEA OCULTADO
      (ya que ocultaste "ver detalles" antes)
========================================================== */
.mphb-reserve-room-section .mphb-view-details-button-wrapper,
.mphb-reserve-room-section a.mphb-view-details-button {
    display: inline-block !important;
    visibility: visible !important;
    height: auto !important;
    padding: inherit !important;
    margin: inherit !important;
}

---------------------------------------------------------------------

/* =====================================================
   FORZAR color verde y centrado de RESULTADOS DE BÚSQUEDA
===================================================== */
.search-header h1 {
    color: var(--verde-yanay) !important;
    text-align: center !important;
    font-weight: 800 !important;
    font-size: 2.4rem !important;
    display: block !important;
}

/* Forzar que NO herede estilos de Elementor */
.search-header h1.elementor-heading-title,
.search-header h1.mphb-heading,
.search-header h1:not(.anything) {
    color: var(--verde-yanay) !important;
}
.search-header p {
    color: var(--verde-yanay) !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
}
/* Quitar padding del H1 solo en resultados */
.search-header h1 {
    color: var(--verde-yanay) !important;
    text-align: center !important;
    font-weight: 800 !important;
    font-size: 2.4rem !important;

    /* SOLUCIÓN AL DESPLAZAMIENTO */
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
}
.search-header p {
    color: var(--verde-yanay) !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
}
/* Separar "RESULTADOS DE BÚSQUEDA" del header */
.search-header {
    margin-top: 40px !important;   /* puedes aumentar a 50 o 60  más espacio en header*/
    padding-top: 10px !important;
}
---------------------------Habitacion recomendada-----------------------------------------------------------------
/* ======================================================
   HABITACIÓN RECOMENDADA — ESTILO YANAY
====================================================== */

/* Enlace del nombre de la habitación */
.mphb-recommendation-item-link,
.mphb-recommendation-item-link:link,
.mphb-recommendation-item-link:visited {
    color: var(--verde-yanay) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mphb-recommendation-item-link:hover {
    color: #0e532f !important;
    text-decoration: underline !important;
}

/* Botón "Reservar" — color verde desde el inicio */
.yanay-search-results .mphb-recommendation-reserve-button,
.mphb-recommendation-reserve-button,
button.mphb-button.mphb-recommendation-reserve-button {
    background: var(--verde-yanay) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 40px !important;
    padding: 12px 25px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.10) !important;
    transition: 0.25s ease !important;
    cursor: pointer !important;
}

/* Hover verde oscuro */
.yanay-search-results .mphb-recommendation-reserve-button:hover,
.mphb-recommendation-reserve-button:hover {
    background: #0e532f !important;
    transform: translateY(-2px) !important;
}
-----------------quitar color rosado d eboton hacer reserva----------------------

/* Overwrite absolutamente cualquier borde */
button.mphb-button.mphb-book-button,
button.mphb-button,
.mphb-button.mphb-book-button {
    border-width: 0 !important;
    border-color: transparent !important;
}
-----------------------quitar color rosado de link eliminar-------------------
/* Link BORRAR — color Yanay */
.mphb-remove-from-reservation,
.mphb-remove-from-reservation:link,
.mphb-remove-from-reservation:visited {
    color: var(--verde-yanay) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.mphb-remove-from-reservation:hover {
    color: #0e532f !important;
    text-decoration: underline !important;
}
--------------------------boton confirmar reserva------------------
/* CENTRAR botón Confirmar Reserva */
.mphb-confirm-reservation-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

button.mphb-confirm-reservation {
    margin: 0 auto !important;
}
/* COLOR Yanay para Confirmar Reserva */
button.mphb-confirm-reservation,
.button.mphb-confirm-reservation {
    background: var(--verde-yanay) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px 28px !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.10) !important;
    transition: .25s ease !important;
}
button.mphb-confirm-reservation:hover {
    background: #274d30 !important; /* Verde oscuro */
    transform: translateY(-2px) !important;
}
/* Centrar contenido del bloque donde aparece "Confirmar reserva" */
.mphb-rooms-reservation-message-wrapper,
.mphb-rooms-reservation-wrapper,
.mphb-reserve-room-section,
.mphb-confirm-reservation-wrapper {
    text-align: center !important;
}
.mphb-confirm-reservation-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}
button.mphb-confirm-reservation {
    margin-top: 25px !important; /* SEPARACIÓN PERFECTA */
    margin-left: auto !important;
    margin-right: auto !important;
}
---------------------------------hacer reserva boton dar espacio del card----------------------
/* Subir botón Hacer Reserva dentro de las tarjetas */
.mphb-reserve-room-section .mphb-book-button {
    margin-bottom: 20px !important; /* ajusta a 25 o 30 si quieres más */
}

.mphb-reserve-room-section {
    padding-bottom: 100px !important; /* espacio para que no pegue con el borde */
}
---------------------------------------solo el card que se apalste hacer reserva se baja----------------------

