.habitaciones-grid {
    width: 100%;
}

/* DESKTOP */
@media (min-width: 981px) {
    .habitaciones-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }

    .swiper-pagination {
        display: none;
    }
}

.swiper {
   padding: 0px 0px 40px 0px !important;
}

/* CARD */
.habitacion-card {
    background: #ffffff;
    border-radius: 16px;
	border: 6px #ffffff solid;
    display: flex;
    flex-direction: column;
    height: 100%;
    /*color: #fff;*/
    overflow: hidden;
}

.habitacion-meta-icons {
    display: flex;
    gap: 1.2rem;
    font-size: .9rem;
    opacity: .9;
    margin-bottom: 6px;
}

.habitacion-meta-icons span {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.habitacion-meta-icons img {
    width: 18px;
    height: auto;
    display: block;
}

.habitacion-title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.habitacion-title {
    font-size: 1.2rem;
    margin: 0 0 6px;
    font-weight: 600;
	font-family: 'Inter';
    min-height: 3.4em;   /* ≈ 2 líneas */
    line-height: 1.2;
}

@media all and (max-width: 980px) {
   .habitacion-title {
      min-height: 4.4em !important;
   }
}

/* IMAGE */
.habitacion-img {
    height: 260px;
    overflow: hidden;
}
.habitacion-img img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    transition: transform .5s ease;
}
.habitacion-card:hover img {
    transform: scale(1.08);
}

/* CONTENT */
.habitacion-content {
    padding: 10px 15px 0;
    flex-grow: 1;
}

/* PRICE */
.precio-oferta {
    color: #03a99f;
    font-size: 1.3rem;
    font-weight: 600;
}

.price-prefix {
	font-size: 14px !important;
}

.por-noche {
	font-size: 14px !important;
}


/* ==============================
   CTA
================================ */
.habitacion-cta {
    padding: 20px 0 20px;
    text-align: center;
}

.btn-reservar {
    display: inline-block;
    padding: .3em 1em;
    border-radius: 6px;
    background: #03a99f;
    color: #ffffff !important;
    text-decoration: none;
    font-size: .9rem;
    transition: background .3s ease;
}

.btn-reservar:hover {
    background: #028f86;
}

/* ==============================
   LISTA HORIZONTAL
================================ */
.habitaciones-lista {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* CARD */
.habitacion-card--horizontal {
    display: flex;
    gap: 24px;
    background: #ffffff;
    border-radius: 16px;
    border: 6px solid #ffffff;
    overflow: hidden;
}

/* ==============================
   IMAGE (MISMO CONCEPTO DEL GRID)
================================ */
.habitacion-card--horizontal .habitacion-img {
    position: relative;
    flex: 0 0 320px;
    height: 220px;
    overflow: hidden;
    border-radius: 12px;
}

.habitacion-img-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform .5s ease;
}

.habitacion-card--horizontal:hover .habitacion-img-bg {
    transform: scale(1.08);
}

/* ==============================
   CONTENT
================================ */
.habitacion-card--horizontal .habitacion-content {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* META ICONS */
.habitacion-meta-icons {
    display: flex;
    gap: 1.2rem;
    font-size: .9rem;
    margin-bottom: 6px;
}

.habitacion-meta-icons span {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.habitacion-meta-icons img {
    width: 18px;
}

/* TITLE */
.habitacion-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 6px;
}

.habitacion-title a {
    text-decoration: none;
    color: inherit;
}

/* PRICE */
.habitacion-price {
    margin-top: auto;
}

.precio-oferta {
    color: #03a99f;
    font-size: 1.3rem;
    font-weight: 600;
}

.price-prefix,
.por-noche {
    font-size: 14px;
}

/* CTA */
.habitacion-cta {
    margin-top: 16px;
}

.btn-reservar {
    display: inline-block;
    padding: .4em 1.4em;
    border-radius: 6px;
    background: #03a99f;
    color: #ffffff !important;
    text-decoration: none;
    font-size: .9rem;
    transition: background .3s ease;
}

.btn-reservar:hover {
    background: #028f86;
}

/* ==============================
   MOBILE: FOTO ARRIBA
================================ */
@media (max-width: 767px) {

    .habitacion-card--horizontal {
        flex-direction: column;
    }

    .habitacion-card--horizontal .habitacion-img {
        width: 100%;
        height: 240px;
    }
}

/* ==============================
   FIX LISTA HORIZONTAL
================================ */
@media (min-width: 768px) {

    .habitacion-card--horizontal {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch;
    }

    .habitacion-card--horizontal .habitacion-img {
        flex: 0 0 320px;
        max-width: 320px;
        height: 220px;
    }

    .habitacion-card--horizontal .habitacion-content {
        flex: 1;
    }
}



/* =====================================
   MINIMAL GRID
===================================== */

.habitaciones-minimal-grid {
    width: 100%;
}

/* DESKTOP */
@media (min-width: 981px) {
    .habitaciones-minimal-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }

    .habitaciones-minimal-wrapper .swiper-pagination {
        display: none;
    }
}

.habitacion-minimal-card {
    display: flex;
    flex-direction: column;
    text-align: center;
}

/* IMAGE */
.habitacion-minimal-img {
    height: 420px;
    overflow: hidden;
    border-radius: 18px;
}

.habitacion-minimal-img img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    transition: transform .5s ease;
    border-radius: 10px;
}

.habitacion-minimal-card:hover img {
    transform: scale(1.08);
}

/* CONTENT */
.habitacion-minimal-content {
    padding-top: 20px;
}

.habitacion-minimal-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 6px;
    letter-spacing: 1px;
    color: #003738;
}

.habitacion-minimal-title a {
    text-decoration: none;
    color: inherit;
}

/* PRICE */
.habitacion-minimal-price {
    font-size: 1rem;
}

.habitacion-minimal-price .precio-oferta {
    color: #03a99f;
    font-weight: 600;
}