:root {
    --brand: #b99c66;
    --brand-dark: #a1854e;
    --ink: #2b2b2b;
    --feat-item-h: 64px;
    --feat-gap: 12px;
    --feat-green: #76C04E;
    --feat-blue: #243A48;
    --feat-brown: #B34914;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
    /* elimina scroll horizontal */
}

body {
    margin: 0;
    color: #333;
    line-height: 1.6;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #e1e1e1 0%, #ffffff 100%);
    min-height: 100vh;
}

.floating-btns {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#btn-flotante .fab {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    cursor: pointer;
    border: 0;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
    transition: transform .1s ease, box-shadow .2s ease, opacity .2s ease;
}

a {
    text-decoration: none !important;
}

#btn-flotante .fab-wa {
    background: var(--feat-green);
}

#btn-flotante .fab-top {
    background: var(--feat-blue);
    display: none;
}

#btn-flotante .fab:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
}

@media (max-width:575.98px) {
    #btn-flotante .floating-btns {
        right: 12px;
        bottom: 12px;
    }

    #btn-flotante .fab {
        width: 52px;
        height: 52px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #btn-flotante .fab {
        transition: none;
    }
}

.bg-body-tertiary {
    background-color: none !important;
}

.glightbox img {
    cursor: zoom-in;
}

.gslide-description {
    display: none !important;
}

.hero-section {
    background: linear-gradient(rgba(179, 76, 21, 0.8), rgba(179, 76, 21, 0.8)),
        url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%23f4f4f4" width="1200" height="600"/><circle fill="%23e0e0e0" cx="200" cy="150" r="80"/><circle fill="%23d0d0d0" cx="800" cy="300" r="120"/><circle fill="%23e8e8e8" cx="1000" cy="100" r="60"/></svg>');
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 100px 0;
    text-align: center;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .7);
}

.hero-title {
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-subtitle {
    font-size: 1.3rem;
    margin-bottom: 30px;
    opacity: 0.9;
}

.room-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin: 20px;
}

.room-header a {
    text-decoration: none !important;
}

.room-body {
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.section-title {
    text-align: center;
    color: var(--feat-brown);
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom: 10px;
    position: relative;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: var(--feat-green);
    border-radius: 2px;
}

.additional-price {
    font-size: 0.9rem;
    color: #888;
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem;
    }

    .room-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .room-capacity,
    .room-price {
        width: 100%;
        text-align: center;
    }

}


/* Anula el subrayado global si existía */
main h2::after {
    content: none;
}

/* Medios */
img,
svg,
canvas,
video {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
}

/* Header */
header {
    background: #2c3e50;
    color: #fff;
    border-bottom: 5px solid var(--feat-brown);
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
    padding: 2% 6% !important;
}

header .container {
    margin: 0 auto;
    padding: 0 12px;
    box-shadow: none;
    border-radius: 0;
    text-align: initial;
    background: transparent;
}

.navbar-brand img {
    border-radius: 0px !important;
}

header h1,
header nav {
    float: none !important;
}

header .nav-link {
    color: #ecf0f1;
    text-transform: uppercase;
    font-size: 1.05rem;
}

header .nav-link:hover {
    color: var(--feat-brown);
}

main section:nth-of-type(even) {
    background: #f9f9f9;
}

main h2 {
    font-size: 2.2rem;
    color: #2c3e50;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 10px;
    font-weight: 700;
}

.container {
    padding: 40px 20px;
    max-width: 1200px;
    /* ancho controlado */
    margin: 30px auto 25px auto;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
    text-align: center;
}

.borde {
    position: relative;
    padding-bottom: 12px;
}

.borde::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: var(--feat-brown);
    border-radius: 2px;
}

main h3 {
    font-size: 1.6rem;
    color: #34495e;
    margin: 30px 0 15px;
}

main p {
    font-size: 1.05rem;
    color: #555;
    max-width: 800px;
    margin: 0 auto 15px;
}

/* Botón */
.btn {
    display: inline-block;
    color: #fff;
    background: var(--feat-brown);
    padding: 12px 25px;
    border-radius: 25px;
    font-size: 1.05rem;
    text-decoration: none;
    transition: background .3s ease, transform .3s ease;
}

.btn:hover {
    background: var(--feat-brown);
    transform: translateY(-3px);
}

/* Hero */
#inicio {
    background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url('imgs/Entrada-hotel.webp') no-repeat center/cover;
    color: #fff;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .7);
    padding: 5px 40px;
}

#inicio p {
    color: #ddd;
}

/* Nosotros layout */
#nosotros .nosotros-content {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    text-align: left;
    align-items: center;
}

#nosotros .nosotros-text {
    flex: 1;
    min-width: 300px;
}

.min-w-300 {
    min-width: 300px;
}

/* Carrusel Bootstrap */
.carousel-item img {
    width: 100%;
    object-fit: cover;
    object-position: center;
}

/* Habitaciones (igual que tenías, con grid) */
#habitaciones .room-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

#habitaciones .room-grid1 {
    display: flex;
    margin-top: 40px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: stretch;
}

.room-card h4 {
    margin: 0 0 15px;
    color: #2c3e50;
    font-size: 1.3rem;
    border-bottom: 2px solid var(--feat-brown);
    padding-bottom: 10px;
}

.room-card p {
    font-size: 1rem;
    color: #666;
    margin-bottom: 10px;
}

.room-card .btn {
    width: 100%;
}

/* Imagen de sección */
.section-image {
    width: 100%;
    max-width: 700px;
    height: auto;
    border-radius: 10px;
    margin: 30px auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .15);
}

.row {
    align-items: stretch;
}

#contacto {
    background-color: var(--feat-blue);
}

#contacto .contacto-content {
    display: flex;
    text-align: left;
    align-items: center;
    padding-right: 40px;
}

.sub-secc {
    display: flex;
    gap: 10px;
    text-align: left;
    align-items: stretch;
}

.sub-secc-1 {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    padding: 20px 30px;
    border-radius: 10px;
}

.sub-secc-1 .fa-solid {
    background-color: var(--feat-brown);
    color: #fba962;
    padding: 20px;
    border-radius: 50px;
}

/* Footer */
footer {
    text-align: center;
    padding: 30px;
    background: #2c3e50;
    color: #ecf0f1;
    margin-top: 30px;
    font-size: .9rem;
}

.accordion-body {
    text-align: left;
}

.contacto-img {
    margin: 20px 40px;
    border-radius: 20px;
}

#mapDiv {
    border-radius: 20px;
    margin: 20px 40px;
    height: 80%;
}

#menu-ord {
    display: contents;
}

.contacto-text h2 {
    color: #fff;
}

.contacto-text a {
    color: #fff;
}

.contacto-text p {
    color: #fff;
    font-size: 1.5em;
    font-weight: 400;
    line-height: 1.2em;
}

.contacto-text i {
    color: var(--feat-green) !important;
}

iframe {
    border-radius: 20px;
}

#navPrincipal {
    margin-left: 35%;
}

.room-hero #container {
    margin-top: 40px;
}

.room-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
}

.room-details-card {
    padding: 40px;
    margin-top: -40px;
    position: relative;
    z-index: 10;
}

.price-section {
    background: linear-gradient(135deg, #2c4220, var(--feat-green));
    color: white;
    padding: 10px;
    border-radius: 25px;
    text-align: center;
    margin-bottom: 30px;
}

.price-main {
    font-size: 2.5rem;
    font-weight: bold;
}

.price-additional {
    font-size: 1.1rem;
    opacity: 0.9;
}

.amenities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.amenity-item {
    background: var(--accent-color);
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    border: 2px solid var(--feat-brown);
    transition: all 0.3s ease;
}

.amenity-item:hover {
    border-color: var(--feat-brown);
    transform: translateY(-5px);
}

.amenity-icon {
    font-size: 2rem;
    color: var(--feat-brown);
    margin-bottom: 10px;
}

.amenity-name {
    font-weight: bold;
    color: var(--feat-brown);
}

.room-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.info-card {
    background: #f8f9fa;
    padding: 10px;
    border-radius: 15px;
    border-left: 5px solid var(--feat-brown);
}

.info-title {
    font-weight: bold;
    color: var(--feat-brown);
    margin-bottom: 2px;
    font-size: 1.1rem;
}

.info-value {
    font-size: 1.2rem;
    color: #333;
}

.btn-reserve-large {
    background: var(--feat-green);
    color: white;
    border: none;
    padding: 15px 25px;
    border-radius: 25px;
    font-weight: bold;
    font-size: 1.2rem;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    width: 100%;
    text-align: center;
    margin: 20px 0;
}

.btn-reserve-large:hover {
    background: var(--feat-green);
    color: white;
    transform: scale(1.05);
}

.btn-back {
    background: var(--feat-green);
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 25px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.btn-back:hover {
    background: #a85a15;
    color: white;
    transform: scale(1.05);
}

.description-section {
    padding: 30px;
}

.room-image-placeholder {
    background: linear-gradient(135deg, #c0886a, #e0f0f0);
    height: 300px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    border: 2px dashed var(--feat-brown);
}

.image-placeholder-text {
    color: var(--feat-brown);
    font-size: 1.2rem;
    text-align: center;
}

#precios {
    background: linear-gradient(rgba(166, 166, 166, 0.5), rgb(113, 60, 34)), url('imgs/seccion1 (8).webp') no-repeat center/cover;
}

.text-blanco {
    color: #ddd !important;
}

.secc-internas {
    display: flex;
}

#planes {
    margin: 20px 40px 20px 20px;
}

#ofertas {
    margin: 20px 20px 20px 40px;
}

#planes p {
    margin-top: 20px;
}

#ofertas p {
    margin-top: 20px;
}

.features-h-wrap {
    position: relative;
}

.features-h {
    padding: .25rem 1rem 1.25rem;
}

.features-h .swiper-slide {
    height: auto;
    padding: 2px 20px;
}

#featuresSwiperH .feature-item {
    display: flex;
    flex-direction: column;
}

.feature-item {
    padding: .4rem 0;
}

.feat-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #69c269;
    color: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}

.feat-icon i {
    font-size: 22px;
    line-height: 1;
}

.feat-text {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Flechas */
.features-h-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    background-color: #ffffff00;
    border-radius: 50%;
    color: #fff;
    border: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
    z-index: 5;
}

.features-h-nav.left {
    left: -12px;
}

.features-h-nav.right {
    right: -12px;
}

.features-h-nav i {
    font-size: 16px;
}

.features-h-pagination {
    text-align: center;
    margin-top: .25rem;
}

.features-h-pagination .swiper-pagination-bullet {
    background: #ddd;
    opacity: 1;
}

.features-h-pagination .swiper-pagination-bullet-active {
    background: var(--brand, #b99c66);
}

/* Móviles: mete las flechas dentro para que no se recorten */
@media (max-width: 575.98px) {
    .features-h-nav.left {
        left: 6px;
    }

    .features-h-nav.right {
        right: 6px;
    }
}

#servicios-horizontal {
    background-color: var(--feat-blue);
}

@media (max-width: 768px) {
    #navPrincipal {
        margin-left: 0;
    }

    .room-title {
        font-size: 1.5rem;
    }

    .price-main {
        font-size: 2rem;
    }

    .amenities-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .secc-internas {
        display: block;
    }

    #planes {
        margin: auto;
    }

    #ofertas {
        margin: auto;
    }

    #contacto .contacto-content {
        display: block;
        padding-right: 0;
    }

    #contacto {
        text-align: center;
    }

    iframe {
        max-width: 100%;
        max-height: 300px;
    }

    .botones-habitacion {
        display: inline-block;
    }

    .btn-hab1 {
        margin-bottom: 10px;
    }

    #nosotros .nosotros-content {
        justify-content: center;
        text-align: center;
    }

    .sub-secc {
        display: block;
    }

    .contacto-text {
        text-align: center;
    }

    .contacto-text p {
        font-size: 1.2em;
    }
}

#galeriaMulti .carousel-item {
    transition: transform .6s ease;
}

#galeriaMulti .carousel-card {
    padding: .5rem;
}

/* Desktop: mostrar 3 ítems por vista */
@media (min-width: 768px) {
    #galeriaMulti .carousel-inner {
        display: flex;
    }

    #galeriaMulti .carousel-item {
        display: block;
        flex: 0 0 33.3333%;
        /* 3 por fila */
        margin-right: 0;
    }

    /* Ajustes de desplazamiento para mover 1 ítem por click */
    #galeriaMulti .carousel-item.active,
    #galeriaMulti .carousel-item-next,
    #galeriaMulti .carousel-item-prev {
        display: block;
    }

    #galeriaMulti .carousel-item-next:not(.carousel-item-start),
    #galeriaMulti .active.carousel-item-end {
        transform: translateX(33.3333%);
    }

    #galeriaMulti .carousel-item-prev:not(.carousel-item-end),
    #galeriaMulti .active.carousel-item-start {
        transform: translateX(-33.3333%);
    }

    /* Dentro de cada slide, mostrar las tarjetas clonadas en fila */
    #galeriaMulti .carousel-item {
        display: flex;
    }

    #galeriaMulti .carousel-item .carousel-card {
        flex: 0 0 calc(100% / 3);
        /* 3 por vista */
        padding: .5rem;
    }
}

/* Móvil: ocultar clones, solo 1 imagen por slide */
@media (max-width: 767.98px) {
    #galeriaMulti .carousel-item .carousel-card:not(:first-child) {
        display: none;
    }

    #galeriaMulti .carousel-card .ratio>img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .carousel-control-prev {
        left: -5%;
    }

    .carousel-control-next {
        right: -5%;
    }
}

#galeriaDesk span {
    background-color: var(--feat-brown);
    border-radius: 50px;
}

.carousel-control-prev {
    left: -8%;
}

.carousel-control-next {
    right: -8%;
}

.room-gallery {
    margin-bottom: 20px;
}

.room-thumbs .thumb {
    opacity: .7;
    transition: opacity .2s ease, box-shadow .2s ease;
}

.room-thumbs .thumb.active,
.room-thumbs .thumb:hover {
    opacity: 1;
    box-shadow: inset 0 0 0 2px #0d6efd;
    border-radius: .5rem;
}

.object-cover {
    object-fit: cover;
}

.rooms-grid .room-card {
    border: 0;
    border-radius: 6px;
    overflow: hidden;
}

.rooms-grid .room-card .card-body {
    padding: 1.25rem 1.25rem 1.5rem;
}

.room-media {
    position: relative;
}

.room-media .carousel {
    border-bottom: 1px solid #eee;
}

.room-media .room-ctrl {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 4px;
    background: rgba(185, 156, 102, .95);
    color: #fff;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
    transition: filter .15s ease, transform .1s ease;
}

.room-media .room-ctrl.prev {
    right: 56px;
}

.room-media .room-ctrl:hover {
    filter: brightness(.95);
    transform: translateY(-1px);
}

.room-media .room-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 8px;
    margin: 0;
    gap: 6px;
}

.room-media .room-dots [data-bs-target] {
    width: 8px;
    height: 8px;
    border-radius: 6%;
    background: #ddd;
}

.room-media .room-dots .active {
    background: var(--brand);
}

.room-name {
    font-size: 1.05rem;
    letter-spacing: .6px;
    color: var(--ink);
}

.room-excerpt {
    font-size: .95rem;
    line-height: 1.5;
    color: #666;
    margin-bottom: .25rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.room-more {
    color: var(--brand-dark);
    text-decoration: underline;
}

.room-more:hover {
    color: var(--brand);
}

.room-services-title {
    letter-spacing: .2px;
}

.srv-item {
    font-size: 1.1rem;
    color: #4e7d78;
    opacity: .9;
}

.srv-item .fa-solid {
    vertical-align: middle;
}

.room-rate {
    font-size: .9rem;
    color: #808080;
}

.room-price .old-price {
    font-size: .95rem;
}

.room-price .new-price {
    font-size: 1.05rem;
    color: #333;
}

.btn-reserve {
    background: var(--brand);
    color: #fff;
    border: 0;
    border-radius: 4px;
    padding: .65rem 1rem;
    box-shadow: 0 6px 18px rgba(185, 156, 102, .25);
}

.btn-reserve:hover {
    background: var(--brand-dark);
    color: #fff;
}

.carousel-indicators {
    display: none;
}

.shadow-sm {
    box-shadow: 0 .125rem .25rem var(--feat-brown) !important;
}

.ratio img {
    border-radius: 0 !important;
}

/* Ajustes Swiper */
.rooms-carousel .swiper-wrapper {
    padding: .25rem 0 1rem;
}

.rooms-carousel .swiper-slide {
    height: auto;
}

.rooms-carousel .room-card {
    height: 100%;
}

/* Opcional: tamaño de flechas Swiper para que combinen con el diseño */
.rooms-carousel .swiper-button-next,
.rooms-carousel .swiper-button-prev {
    color: #b99c66;
    /* mismo dorado */
}

.swiper-pagination-bullets {
    display: none;
}

/* Permite que las flechas puedan salirse del área del carrusel */
.rooms-carousel.swiper {
    overflow: hidden;
    /* Swiper las trae hidden por defecto */
    position: relative;
}

/* Estilo de flechas externas (carrusel de TARJETAS) */
.rooms-carousel .swiper-button-prev,
.rooms-carousel .swiper-button-next {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--brand, #b99c66);
    color: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
    z-index: 5;
}

.rooms-carousel-wrap {
    position: relative;
}

/* Flechas externas */
.rooms-nav {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--feat-brown);
    color: #fff;
    display: grid;
    place-items: center;
    border: 0;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
    z-index: 5;
}

.rooms-nav.prev {
    left: -28px;
}

.rooms-nav.next {
    right: -28px;
}

.rooms-nav i {
    font-size: 18px;
}

.rooms-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px;
}

/* Moverlas fuera de los cuadros en desktop */
.rooms-carousel .swiper-button-prev {
    left: -28px;
}

/* ajusta a gusto: -20 ~ -40 */
.rooms-carousel .swiper-button-next {
    right: -28px;
}

.rooms-carousel .swiper-button-prev::after,
.rooms-carousel .swiper-button-next::after {
    font-size: 18px;
    font-weight: 700;
}

/* Deshabilitada (cuando no hay más slides) */
.rooms-carousel .swiper-button-disabled {
    opacity: .35;
    pointer-events: none;
}

/* En tablets/móviles mejor dejarlas dentro para no recortarlas */
@media (max-width: 991.98px) {
    .rooms-carousel .swiper-button-prev {
        left: 6px;
    }

    .rooms-carousel .swiper-button-next {
        right: 6px;
    }

    .rooms-carousel .swiper-button-prev,
    .rooms-carousel .swiper-button-next {
        width: 40px;
        height: 40px;
    }

    .rooms-nav.prev {
        left: 6px;
    }

    .rooms-nav.next {
        right: 6px;
    }

    .rooms-nav {
        width: 40px;
        height: 40px;
    }
}

/* Wrapper para posicionar flechas en la galería de servicios */
.galeria-wrap {
    position: relative;
}

/* Reutilizamos el mismo estilo de .rooms-nav; aquí solo ubicamos */
.galeria-wrap .rooms-nav.prev {
    left: -28px;
    top: 50%;
    transform: translateY(-50%);
}

.galeria-wrap .rooms-nav.next {
    right: -28px;
    top: 50%;
    transform: translateY(-50%);
}

/* En pantallas pequeñas, metemos las flechas para que no se corten */
@media (max-width: 767.98px) {
    .galeria-wrap .rooms-nav.prev {
        left: 6px;
    }

    .galeria-wrap .rooms-nav.next {
        right: 6px;
    }
}

/* Oculta los controles nativos de Bootstrap dentro de estos carruseles */
#galeriaDesk .carousel-control-prev,
#galeriaDesk .carousel-control-next,
#galeriaMob .carousel-control-prev,
#galeriaMob .carousel-control-next {
    display: none !important;
}

/* Botón flotante de llamada */
.call-button {
    position: fixed;
    bottom: 140px;
    right: 15px;
    background-color: var(--feat-brown);
    color: #fff;
    font-size: 22px;
    padding: 10px 14px;
    border-radius: 150%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    text-align: center;
    z-index: 9999;
    transition: transform 0.2s ease-in-out;
}

.call-button:hover {
    transform: scale(1.1);
    background-color: #218838;
    color: #fff;
}