:root{
    --primary:#6b4de6;
    --dark:#0f172a;
    --soft:#f6f7fb;
    --text:#1e293b;
    --muted:#64748b;
    --border:#e2e8f0;
    --radius:24px;
    --shadow:0 22px 48px rgba(15,23,42,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--text);background:#fff}
.custom-navbar{background:rgba(15,23,42,.78);backdrop-filter:blur(14px)}
.navbar-brand,.nav-link{color:#fff!important;font-weight:700}
.brand-pill{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#ec4899);margin-right:10px}
.btn-book,.btn-primary{background:linear-gradient(135deg,#6b4de6,#8b5cf6);border:none}
.btn-outline-light{border-width:2px}
.hero-section{
    padding:150px 0 90px;
    background:#0f172a;
    color:#fff;
    overflow:hidden;
}
.hero-section h1{font-size:clamp(2.4rem,5vw,4.35rem);line-height:1.03;font-weight:800;margin:18px 0}
.hero-chip{display:inline-flex;padding:10px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:999px;font-weight:700}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.glass-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:32px;padding:24px;box-shadow:var(--shadow)}
.hero-stat-card{background:rgba(255,255,255,.12);border-radius:20px;padding:18px;backdrop-filter:blur(8px)}
.hero-stat-card strong{display:block;font-size:1.15rem}
.hero-stat-card span{font-size:.92rem;opacity:.88}
.section-block{padding:90px 0}
.bg-soft{background:var(--soft)}
.section-kicker{display:inline-block;margin-bottom:10px;font-weight:800;color:var(--primary);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}
.section-heading{max-width:760px;margin:0 auto 42px}
.section-heading h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:800}
.section-heading p{color:var(--muted);font-size:1.04rem}
.image-card,.form-card,.service-card,.room-card,.contact-card,.map-card,.gallery-item,.feature-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:28px;box-shadow:var(--shadow)}
.image-card img,.gallery-item img,.room-card img{width:100%;height:100%;object-fit:cover;border-radius:28px}
.feature-card{padding:18px;display:flex;align-items:center;gap:14px;background:#fff}
.feature-card i,.service-icon{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:var(--primary);font-size:1.35rem}
.room-card{overflow:hidden;height:100%}
.room-card img{height:240px;border-radius:0}
.room-card-body{padding:22px}
.room-card h3,.service-card h3{font-size:1.2rem;font-weight:800}
.room-card p,.service-card p,.contact-list span,.contact-stack{color:var(--muted)}
.room-tag{display:inline-flex;padding:6px 10px;background:#eef2ff;color:var(--primary);border-radius:999px;font-weight:700;font-size:.82rem}
.price-tag{font-weight:800;color:var(--dark);display:flex;flex-direction:column;align-items:flex-end}
.price-tag small{font-size:.8rem;color:var(--muted)}
.room-meta{display:grid;gap:10px;margin:18px 0}
.room-meta li{display:flex;align-items:center;gap:10px;color:var(--muted)}
.service-card{padding:28px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gallery-item{overflow:hidden;position:relative;min-height:260px}
.gallery-caption{position:absolute;left:18px;right:18px;bottom:18px;padding:12px 14px;background:rgba(15,23,42,.78);backdrop-filter:blur(8px);color:#fff;border-radius:16px;font-weight:700}
.dark-card{background:linear-gradient(160deg,#0f172a,#312e81);color:#fff;padding:28px}
.contact-stack{display:grid;gap:14px;margin-top:28px}
.contact-stack div,.contact-list li{display:flex;gap:12px;align-items:flex-start}
.form-card{padding:28px}
.form-control,.btn,.form-select{border-radius:16px;padding:.85rem 1rem}
.form-control,.form-select{border:1px solid var(--border)}
.form-control:focus,.form-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 .2rem rgba(139,92,246,.15)}
.map-card{overflow:hidden;height:100%}
.map-card iframe{width:100%;height:100%;min-height:360px;border:0}
.site-footer{background:#0f172a;color:#fff}
.footer-list li{display:flex;gap:10px;margin-bottom:10px;color:#cbd5e1}
.footer-socials{display:flex;gap:12px}
.footer-socials a,.whatsapp-float{display:inline-flex;align-items:center;justify-content:center}
.footer-socials a{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.footer-bottom{padding-top:18px;margin-top:28px;border-top:1px solid rgba(255,255,255,.08);color:#94a3b8}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:60px;height:60px;border-radius:20px;background:#22c55e;color:#fff;font-size:1.6rem;z-index:999;box-shadow:var(--shadow);text-decoration:none}
@media (max-width:1199px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:991px){
    .hero-section{padding-top:130px}
    .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
    .section-block{padding:70px 0}
    .hero-actions{flex-direction:column}
    .gallery-grid{grid-template-columns:1fr}
    .room-card img{height:210px}
    .form-card,.dark-card{padding:22px}
}
.room-card{
    cursor:pointer;
}

.room-card-trigger{
    display:block;
    text-decoration:none;
    color:inherit;
}

.room-gallery-modal .modal-content{
    border:none;
    border-radius:28px;
    overflow:hidden;
}

.room-gallery-modal .modal-header{
    border-bottom:none;
    padding:18px 22px;
}

.room-gallery-modal .carousel-item{
    height:68vh;
    background:#0f172a;
}

.room-gallery-modal .carousel-item.active{
    display:flex;
    align-items:center;
    justify-content:center;
}

.room-gallery-modal .carousel-item img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    padding:12px;
    background:transparent;
}

.room-gallery-thumbs{
    display:flex;
    gap:10px;
    overflow:auto;
    padding:16px 22px 22px;
    background:#fff;
}

.room-gallery-thumbs img{
    width:90px;
    height:72px;
    object-fit:cover;
    border-radius:12px;
    border:2px solid transparent;
    cursor:pointer;
    flex:0 0 auto;
}

.room-gallery-thumbs img:hover{
    border-color:#6b4de6;
}

@media (max-width:767px){
    .room-gallery-modal .carousel-item{
        height:42vh;
    }

    .room-gallery-modal .carousel-item.active{
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .room-gallery-modal .carousel-item img{
        height:100%;
        padding:8px;
    }
}
.hero-section-upgraded {
    position: relative;
    overflow: hidden;
}

.hero-section-upgraded .carousel-item {
    transition: opacity 0.9s ease-in-out;
}

.hero-slider-card {
    position: relative;
    padding: 0;
    overflow: hidden;
    border-radius: 32px;
    min-height: 520px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
}

.hero-slide-img {
    width: 100%;
    height: 520px;
    min-height: 520px;
    object-fit: cover;
    display: block;
    transform: scale(1.04);
}

.carousel-item.active .hero-slide-img {
    animation: heroZoom 4s ease-in-out forwards;
}

.hero-bg-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(8, 15, 32, 0.45) 0%, rgba(8, 15, 32, 0.26) 38%, rgba(8, 15, 32, 0.08) 70%, rgba(8, 15, 32, 0.12) 100%),
        linear-gradient(180deg, rgba(8, 15, 32, 0.18) 0%, rgba(8, 15, 32, 0.06) 45%, rgba(8, 15, 32, 0.25) 100%);
    pointer-events: none;
}

.hero-floating-info {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 5;
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(16px);
    color: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
}

.hero-floating-info span {
    display: block;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.82;
    margin-bottom: 4px;
}

.hero-floating-info strong {
    display: block;
    font-size: 1.05rem;
    line-height: 1.3;
}

.hero-carousel-indicators {
    bottom: -42px;
    margin-bottom: 0;
}

.hero-carousel-indicators [data-bs-target] {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    border: 0;
    opacity: 0.5;
}

.hero-carousel-indicators .active {
    width: 28px;
    opacity: 1;
}

.hero-control {
    width: 44px;
    height: 44px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 16px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(8px);
    opacity: 0;
    transition: all 0.25s ease;
}

.hero-section-upgraded:hover .hero-control {
    opacity: 1;
}

@keyframes heroZoom {
    from {
        transform: scale(1.04);
    }

    to {
        transform: scale(1.1);
    }
}

@media (max-width: 991px) {
    .hero-slider-card,
    .hero-slide-img {
        height: 420px;
        min-height: 420px;
    }
}

@media (max-width: 575px) {
    .hero-slider-card,
    .hero-slide-img {
        height: 340px;
        min-height: 340px;
        border-radius: 24px;
    }

    .hero-floating-info {
        left: 16px;
        right: 16px;
        bottom: 16px;
        padding: 14px 16px;
    }

    .hero-control {
        display: none;
    }
}
/* Quitar franja/fondo morado del hero con slider de fondo */
.hero-section.hero-background-slider {
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    color: #fff;
}

/* Asegura que el carrusel ocupe todo el hero */
.hero-background-slider .carousel,
.hero-background-slider .carousel-inner,
.hero-background-slider .carousel-item {
    min-height: 100vh;
}

/* La imagen queda como fondo real */
.hero-background-slider .hero-bg-slide {
    min-height: 100vh;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
/* HERO LIMPIO: imagen de fondo + texto una sola vez */
.hero-section.hero-clean-bg {
    position: relative;
    min-height: 100vh;
    padding: 0 !important;
    overflow: hidden;
    background: #0f172a !important;
    color: #fff;
}

.hero-bg-carousel {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero-bg-carousel,
.hero-bg-carousel .carousel-inner,
.hero-bg-carousel .carousel-item {
    width: 100%;
    height: 100%;
    min-height: 100vh;
}

.hero-bg-image {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: scale(1.04);
}

.hero-bg-carousel .carousel-item.active .hero-bg-image {
    animation: heroBgZoomClean 4.5s ease-in-out forwards;
}

.hero-clean-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(90deg, rgba(8, 15, 32, 0.84) 0%, rgba(8, 15, 32, 0.62) 42%, rgba(8, 15, 32, 0.22) 78%),
        linear-gradient(180deg, rgba(8, 15, 32, 0.50) 0%, rgba(8, 15, 32, 0.16) 45%, rgba(8, 15, 32, 0.68) 100%);
    pointer-events: none;
}

.hero-clean-content {
    position: relative;
    z-index: 3;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 130px;
    padding-bottom: 130px;
}

.hero-clean-bg h1,
.hero-clean-bg .lead {
    color: #fff;
}

.hero-clean-bg h1 {
    max-width: 860px;
    text-shadow: 0 12px 40px rgba(0, 0, 0, 0.36);
}

.hero-clean-bg .lead {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.32);
}

.hero-clean-bg .hero-chip {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.26);
    backdrop-filter: blur(12px);
}

.hero-clean-bg .hero-stat-card {
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    backdrop-filter: blur(14px);
}

.hero-clean-bg .hero-stat-card strong,
.hero-clean-bg .hero-stat-card span {
    color: #fff;
}

.hero-clean-floating {
    left: auto;
    right: 12px;
    bottom: 48px;
    width: min(360px, calc(100% - 24px));
    z-index: 4;
}

.hero-clean-indicators {
    z-index: 5;
    bottom: 28px;
    margin-bottom: 0;
}

.hero-clean-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 0;
    opacity: 0.55;
}

.hero-clean-indicators .active {
    width: 34px;
    opacity: 1;
}

.hero-clean-control {
    z-index: 6;
    width: 48px;
    height: 48px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 18px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: all 0.25s ease;
}

.hero-clean-bg:hover .hero-clean-control {
    opacity: 1;
}

@keyframes heroBgZoomClean {
    from {
        transform: scale(1.04);
    }

    to {
        transform: scale(1.1);
    }
}

@media (max-width: 991px) {
    .hero-section.hero-clean-bg,
    .hero-bg-carousel,
    .hero-bg-carousel .carousel-inner,
    .hero-bg-carousel .carousel-item,
    .hero-bg-image {
        min-height: 820px;
    }

    .hero-clean-content {
        min-height: 820px;
        padding-top: 120px;
        padding-bottom: 170px;
    }

    .hero-clean-floating {
        left: 12px;
        right: 12px;
        bottom: 70px;
        width: auto;
    }
}

@media (max-width: 575px) {
    .hero-section.hero-clean-bg,
    .hero-bg-carousel,
    .hero-bg-carousel .carousel-inner,
    .hero-bg-carousel .carousel-item,
    .hero-bg-image {
        min-height: 760px;
    }

    .hero-clean-content {
        min-height: 760px;
        padding-top: 105px;
        padding-bottom: 160px;
    }

    .hero-clean-bg h1 {
        font-size: 2.35rem;
    }

    .hero-clean-bg .lead {
        font-size: 1rem;
    }

    .hero-clean-control {
        display: none;
    }

    .hero-clean-indicators {
        bottom: 24px;
    }
}
/* HERO MÁS CLARO - pegar al final del CSS */
.hero-bg-overlay,
.hero-clean-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(8, 15, 32, 0.42) 0%,
            rgba(8, 15, 32, 0.28) 38%,
            rgba(8, 15, 32, 0.10) 70%,
            rgba(8, 15, 32, 0.16) 100%
        ),
        linear-gradient(
            180deg,
            rgba(8, 15, 32, 0.20) 0%,
            rgba(8, 15, 32, 0.06) 45%,
            rgba(8, 15, 32, 0.28) 100%
        ) !important;
}.testimonials-section {
    background:
        radial-gradient(circle at top left, rgba(120, 72, 35, 0.08), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f8f3ed 100%);
}

.testimonial-card {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(120, 72, 35, 0.12);
    border-radius: 26px;
    padding: 30px;
    box-shadow: 0 18px 45px rgba(45, 32, 20, 0.08);
    transition: all 0.25s ease;
    overflow: hidden;
}

.testimonial-card::before {
    content: "“";
    position: absolute;
    top: -28px;
    right: 24px;
    font-size: 120px;
    line-height: 1;
    font-family: Georgia, serif;
    color: rgba(120, 72, 35, 0.08);
}

.testimonial-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(45, 32, 20, 0.13);
}

.testimonial-stars {
    display: flex;
    gap: 4px;
    margin-bottom: 18px;
    color: #f4b400;
    font-size: 1.05rem;
}

.testimonial-text {
    position: relative;
    color: #4b4038;
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 26px;
    z-index: 1;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 14px;
}

.testimonial-author img,
.testimonial-avatar-placeholder {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    flex: 0 0 58px;
}

.testimonial-author img {
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 8px 20px rgba(45, 32, 20, 0.16);
}

.testimonial-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #7b4b2a;
    color: #fff;
    font-weight: 800;
    font-size: 1.2rem;
    box-shadow: 0 8px 20px rgba(45, 32, 20, 0.16);
}

.testimonial-author strong {
    display: block;
    color: #2d211a;
    font-size: 1rem;
}

.testimonial-author span {
    display: block;
    color: #7b6a5e;
    font-size: 0.9rem;
}

.testimonial-author small {
    display: block;
    color: #9a897c;
    font-size: 0.82rem;
    margin-top: 2px;
}

.testimonial-author small i {
    margin-right: 4px;
}
.brand-logo-link {
    display: flex;
    align-items: center;
    padding: 0;
    line-height: 1;
}

.brand-logo-img {
    height: 58px;
    width: auto;
    max-width: 280px;
    display: block;
    object-fit: contain;
}

.custom-navbar {
    min-height: 78px;
}

@media (max-width: 991.98px) {
    .brand-logo-img {
        height: 46px;
        max-width: 220px;
    }

    .custom-navbar {
        min-height: 66px;
    }
}
/* HEADER TRANSPARENTE */
.custom-navbar {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    min-height: 82px;
    padding: 10px 0;
    z-index: 999;
}

/* LOGO */
.brand-logo-link {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
    line-height: 1;
}

.brand-logo-img {
    height: 72px;
    width: auto;
    max-width: 320px;
    display: block;
    object-fit: contain;
}

/* LINKS DEL MENÚ EN NEGRO */
.custom-navbar .nav-link {
    color: #000 !important;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .01em;
    padding: 8px 10px !important;
    text-shadow: none !important;
}

.custom-navbar .nav-link:hover,
.custom-navbar .nav-link:focus,
.custom-navbar .nav-link.active {
    color: #000 !important;
    opacity: .65;
}

/* BOTÓN CONSULTAR RESERVA TRANSPARENTE */
.custom-navbar .btn-book {
    background: transparent !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    border-radius: 999px;
    font-weight: 800;
    padding: 9px 18px;
    box-shadow: none !important;
}

.custom-navbar .btn-book:hover {
    background: #000 !important;
    color: #fff !important;
}

/* ÍCONO HAMBURGUESA NEGRO */
.navbar-toggler {
    border-color: rgba(0, 0, 0, .45) !important;
    box-shadow: none !important;
}

.navbar-toggler:focus {
    box-shadow: none !important;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* RESPONSIVE */
@media (max-width: 991.98px) {
    .custom-navbar {
        min-height: 72px;
        padding: 8px 0;
    }

    .brand-logo-img {
        height: 58px;
        max-width: 250px;
    }

    .navbar-collapse {
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding-top: 12px;
    }

    .custom-navbar .nav-link {
        color: #000 !important;
        padding: 10px 0 !important;
    }

    .custom-navbar .btn-book {
        display: inline-block;
        margin-top: 8px;
    }
}
/* HEADER TRANSPARENTE DEFINITIVO */
.custom-navbar {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    min-height: 86px;
    padding: 8px 0;
    z-index: 9999;
}

/* LOGO DEFINITIVO */
.custom-navbar .brand-logo-link {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.custom-navbar .brand-logo-img {
    height: 78px !important;
    width: auto !important;
    max-width: 330px !important;
    display: block !important;
    object-fit: contain !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    image-rendering: auto !important;

    /* Ayuda a que el logo negro se lea sobre fotos */
    filter: drop-shadow(0 2px 2px rgba(255,255,255,.85));
}

/* LINKS NEGROS */
.custom-navbar .navbar-brand,
.custom-navbar .nav-link {
    color: #000 !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 2px rgba(255,255,255,.85);
}

.custom-navbar .nav-link:hover,
.custom-navbar .nav-link:focus,
.custom-navbar .nav-link.active {
    color: #000 !important;
    opacity: .65;
}

/* BOTÓN CONSULTAR RESERVA */
.custom-navbar .btn-book {
    background: transparent !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    padding: 9px 18px !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.custom-navbar .btn-book:hover {
    background: #000 !important;
    color: #fff !important;
}

/* HAMBURGUESA NEGRA */
.custom-navbar .navbar-toggler {
    border-color: rgba(0,0,0,.45) !important;
    box-shadow: none !important;
}

.custom-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* MÓVIL */
@media (max-width: 991.98px) {
    .custom-navbar {
        min-height: 74px !important;
        padding: 8px 0 !important;
    }

    .custom-navbar .brand-logo-img {
        height: 60px !important;
        max-width: 250px !important;
    }

    .custom-navbar .navbar-collapse {
        background: rgba(255,255,255,.92) !important;
        margin-top: 10px;
        padding: 14px 18px;
        border-radius: 18px;
        box-shadow: 0 18px 40px rgba(0,0,0,.12);
    }

    .custom-navbar .nav-link {
        color: #000 !important;
        padding: 10px 0 !important;
    }

    .custom-navbar .btn-book {
        margin-top: 8px;
        display: inline-block;
    }
}
/* LOGO COMO TEXTO */
.brand-text-logo {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-decoration: none !important;
    line-height: 0.95;
    padding: 0 !important;
    margin: 0 !important;
}

.brand-text-logo .logo-line-1,
.brand-text-logo .logo-line-2 {
    display: block;
    font-family: "Cooper Black", "Bree Serif", serif;
    font-weight: 400;
    color: #000 !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(255,255,255,.75);
}

.brand-text-logo .logo-line-1 {
    font-size: 2rem;
}

.brand-text-logo .logo-line-2 {
    font-size: 1.8rem;
    margin-left: 110px; /* mueve INN hacia la derecha como en la fachada */
    margin-top: -4px;
}

/* Ajuste del navbar */
.custom-navbar {
    min-height: 92px !important;
}

/* Responsive */
@media (max-width: 991.98px) {
    .brand-text-logo .logo-line-1 {
        font-size: 1.45rem;
    }

    .brand-text-logo .logo-line-2 {
        font-size: 1.3rem;
        margin-left: 78px;
        margin-top: -2px;
    }

    .custom-navbar {
        min-height: 76px !important;
    }
}

@media (max-width: 575px) {
    .brand-text-logo .logo-line-1 {
        font-size: 1.18rem;
    }

    .brand-text-logo .logo-line-2 {
        font-size: 1.05rem;
        margin-left: 62px;
    }
}
/* HEADER OCULTABLE AL HACER SCROLL */
.custom-navbar {
    transition: transform 0.32s ease, opacity 0.32s ease;
    will-change: transform;
}

.custom-navbar.header-hidden {
    transform: translateY(-120%);
    opacity: 0;
    pointer-events: none;
}
/* CORRECCIÓN: evitar zoom/corte en imágenes del modal */
.room-gallery-modal .carousel-item {
    height: 68vh;
    background: #0f172a;
}

.room-gallery-modal .carousel-item.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.room-gallery-modal .carousel-item img,
.room-gallery-modal .gallery-modal-img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 68vh;
    object-fit: contain !important;
    object-position: center center;
    display: block;
    padding: 12px;
    background: transparent;
}

/* Miniaturas: estas sí pueden ir recortadas */
.room-gallery-thumbs img {
    width: 90px;
    height: 72px;
    object-fit: cover;
}

@media (max-width: 767px) {
    .room-gallery-modal .carousel-item {
        height: 42vh;
    }

    .room-gallery-modal .carousel-item img,
    .room-gallery-modal .gallery-modal-img {
        max-height: 42vh;
        padding: 8px;
    }
}