/* =========================================================
   Hotetec Lumen Gran Vía — CSS base
   Paleta: tinta + latón + crema · Cormorant Garamond + Montserrat
   ========================================================= */
:root {
    --ink: #15171d;
    --ink-2: #1f232c;
    --ink-soft: #3a3e48;
    --brass: #b08d57;
    --brass-light: #d9c4a0;
    --cream: #f6f1e9;
    --stone: #8b8579;
    --line: rgba(21,23,29,.12);

    --fontPrimary:"Cormorant Garamond", serif;
    --fontSecondary:"Montserrat", sans-serif;
    --colorPrimary: var(--ink);
    --colorSecondary: var(--ink-soft);
    --colorBtn: var(--brass);
    --colorWhite:#fff;
    --bgPrimary: var(--cream);
    --bgSecondary: var(--ink-2);
}
@font-face{font-family:"Montserrat";src:url("/dam/demourban/fonts/montserrat/montserrat-light.ttf") format("truetype");font-weight:300;font-display:swap;}
@font-face{font-family:"Montserrat";src:url("/dam/demourban/fonts/montserrat/montserrat-regular.ttf") format("truetype");font-weight:400;font-display:swap;}
@font-face{font-family:"Montserrat";src:url("/dam/demourban/fonts/montserrat/montserrat-semibold.ttf") format("truetype");font-weight:600;font-display:swap;}
@font-face{font-family:"Montserrat";src:url("/dam/demourban/fonts/montserrat/montserrat-bold.ttf") format("truetype");font-weight:700;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url("/dam/demourban/fonts/cormorant-garamond/cormorant-garamond-light.ttf") format("truetype");font-weight:300;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url("/dam/demourban/fonts/cormorant-garamond/cormorant-garamond-regular.ttf") format("truetype");font-weight:400;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url("/dam/demourban/fonts/cormorant-garamond/cormorant-garamond-semibold.ttf") format("truetype");font-weight:600;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url("/dam/demourban/fonts/cormorant-garamond/cormorant-garamond-bold.ttf") format("truetype");font-weight:700;font-display:swap;}

/* ---------- Base heredada de la plantilla (recoloreada) ---------- */
/*Estilos genéricos*/
.center{
    text-align: center !important;
}
.left{
    text-align: left !important;
}
.right{
    text-align: right !important;
}
.m0Auto{
    margin:0 auto !important;
}
.mTop20{
    margin-top: 20px !important;
}
.mTop30{
    margin-top:30px !important;
}
.mTop40{
    margin-top: 40px !important;
}
.mTop60{
    margin-top: 60px !important;
}
.mTop120{
    margin-top: 120px !important;
}
.mBT20{
    margin-bottom:20px !important;
}
.mBT40{
    margin-bottom: 40px !important;
}
.mBT60{
    margin-bottom: 60px !important;
}
.mBT120{
    margin-bottom: 120px !important;
}
.padd20{
    padding:30px 20px !important;
}
.paddTop20{
    padding-top: 20px !important;
}
.paddBT20{
    padding-bottom:20px !important;
}
.paddTop40{
    padding-top: 40px !important;
}
.paddBT40{
    padding-bottom: 40px !important;
}
.paddTop60{
    padding-top: 60px !important;
}
.paddTop120{
    padding-top:120px !important;
}
.paddBT120{
    padding-bottom:100px !important;
}
.paddBT60{
    padding-bottom: 60px !important;
}
.padd0 .row>div{
    padding:0 !important;
}
.w50{
    width:50% !important;
}
.w60{
    width:60% !important;
}
.w70{
    width:70% !important;
}
.w80{
    width:80% !important;
}
.w90{
    width:92% !important;
}
.flex-center>div{
    align-items:center;
}
.colorPrimary{
    color:var(--colorPrimary) !important;
}
.colorSecondary{
    color:var(--colorSecondary) !important;
}
.bgPrimary{
    background:var(--bgPrimary) !important;
}
.bgSecondary{
    background:var(--bgSecondary) !important;
}
.bgColorPrimary{
    background:var(--colorPrimary) !important;
}
.bgColorSecondary{
    background:var(--colorSecondary) !important;
}
.fontPrimary{
    font-family:var(--fontPrimary) !important;
}
.fontSecondary{
    font-family:var(--fontSecondary) !important;
}
.white{
    color:#fff !important;
}
.white,.white strong, .white span{
color:#fff !important;
background: rgba(0,0,0,.002); 
}

.htt-text-image ul{
    list-style-type:none;
}
.img-responsive{
    max-width:100%;
    width:100%;
    height:auto;
    object-fit:cover;
}
main{
    overflow-x:hidden;
}
a{
    text-decoration:none;
    font-family:var(--fontSecondary);
    font-weight:400;
    color:var(--colorSecondary);
}
a:focus{
    outline:none;
}
body{
    color:var(--colorPrimary);
    font-size:18px;
}
html body,
.htt-text-image p, .htt-text-image ul li, .mybooking-content-text{
    font-size:18px;
    line-height:1.5em;
    font-family:var(--fontSecondary);
    font-weight:400;
}
.breadcrumb{
    padding:10px 0;
}
.breadcrumb-item {
    font-size:16px;
}
.breadcrumb-item.active{
    color: var(--colorPrimary);
    font-weight: 500;
}
hr{
    background: var(--colorBtn);
    height: 1px;
    opacity: 1;
    border-top:none;
    margin:20px 0;
}
hr.m0Auto{
    margin:20px auto !important;
}
.animationOpac{
    animation:animopac 1.5s forwards;
}
@keyframes animopac{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
body .htt-text-image p{
    margin-bottom:8px;
}
body h1, body h2, body h3{
    line-height:1;
    margin-bottom:0 !important;
}
h1{
    font-size: clamp(4rem, 6vw, 6rem);
}
h2{
    font-size: clamp(3rem, 6vw, 4rem);  
}
h3{
    font-size: clamp(2rem, 4vw, 3rem);  
}
h1 span, h2 span{
    display:block;
}
body p.title, body h1, body h2, body h3{
    font-family:var(--fontPrimary);
    font-weight:800;
    background: none;
    color: var(--colorPrimary);
    text-align: left;
    font-style: normal;
}
body p.sub-title{
    font-size:21px;
}
.text-transform-none{
    text-transform:none !important;
}
span[data-fancybox]{
    cursor:pointer;
}
.fancybox__caption{
    display:none !important;
}
html.with-fancybox {
    overflow: hidden !important;
}

#buttonShowSearcherScroll{
    top:10% !important;
}
#buttonShowSearcherScroll, #buttonShowSearcherMobile{
    background-color:var(--colorPrimary) !important;
    font-family:var(--fontSecondary);
    padding:15px !important;
}
#buttonShowSearcherScroll:hover, #buttonShowSearcherMobile:hover{
    background-color:var(--colorSecondary) !important;
}
/*Top header*/
.header-desktop .navbar-nav.justify-content-end{
    justify-content:center !important;
    gap:.8rem;
}
.header-desktop .navbar-nav a{
    font-weight: 400;
    transition:.5s all;
    color:var(--colorPrimary);
}
.header-desktop .navbar-nav a:hover{
    font-weight:500;
}
.header .nav-link.active{
    border-bottom: 1px solid currentColor;
}
.httHeaderFixedToTop {
   box-shadow: 0 6px 6px -4px rgba(21,23,29,0.15);
}
.top-header>div>div{
    display:flex;
    align-items:center;
}
.top-header{
    padding:15px 5vh;
    background:#fff;
}
.top-header .navbar-nav .nav-link{
    color:var(--colorPrimary);
}
.top-header-mobile .offcanvas .group-languages-texts{
    position: absolute;
    right: 1.1rem;
    top: 4.5rem;
}
.top-header-mobile .offcanvas .navbar-nav{
    padding-top:60px;
}
.httHeaderFixedToTop .top-header{
    padding:5px 5vh;
}
.httHeaderFixedToTop .logo{
    max-height:55px;
    width:auto;
}
.access-right>.row{
    float:right;
    flex-wrap:nowrap;
}
.editMode .access-right>.row{
    flex-wrap:wrap;
}
.top-header .mybooking-content-text{
    display:none;
}
.access-right>.row>.col{
    padding:0 10px;
}
.person-login-text{
    display:none;
}
.personLogin-content svg, .mybooking-content svg{
    fill:var(--colorPrimary);
}
.personLogin-content circle, .mybooking-content circle{
    stroke:var(--colorPrimary);
}
.htt-language-selector button{
    float:right;
}
.group-languages-texts{
    margin-right:8px;
    top:10px;
}
.group-languages-texts .btn-secondary.open-selector-language {
    background: transparent;
    border: 0;
    color:var(--colorPrimary);
    font-weight:400;
    position:relative;
    font-style: normal;
    padding:0;
}
.open-selector-language span{
    position:relative;
    letter-spacing:0.5px;
}
.open-selector-language span:after{
    position: absolute;
    top: 3px;
    right: -10px;
    font-size: 8px;
    content: "\f078";
    font-family: 'FontAwesome';
    color: var(--colorPrimary);
}


/*Stage*/
.stage{
    position:relative;
    background:var(--colorSecondary);
}
section.stage .container-fluid .col{
    padding:0 !important;
}
.container-hero .image img{
    height:calc(100vh - 88px) !important;
    width:100%;
    object-fit:cover;
}
.container-hero .htt-text-image:not(.editMode .container-hero .htt-text-image) {
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
}
.container-hero:has(.text-hero-section) img.img-responsive{
    filter:brightness(.8);
    height:85vh;
}
.text-hero-section{
    position:absolute;
    width:100%;
    padding:40px;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
}
.text-hero-section p.title-hero{
    text-shadow:1px 1px 10px rgba(0,0,0,.6);
}
.text-hero{
    padding:10vh 5vh;
}

.container-hero{
    position:relative;
}
body .swiper-button-next,body .swiper-button-prev{
    background:rgba(21,23,29,.5);
    width:40px;
    height:40px;
    color:#fff !important;
}
body .swiper-button-next:after,body  .swiper-button-prev:after{
    font-size:28px;
}
.grid-motor{
    position:absolute;
    width:100%;
    bottom: -24px;
    z-index:2;
}
.editMode .grid-motor{
    position:relative;
}
h1.title-hero, p.title-hero {
    font-family: var(--fontPrimary) !important;
    font-size: clamp(4rem, 6vw, 7rem);
    line-height:1;
    font-weight:700;
}
p.sub-title-hero{
    font-size: 21px;
}
/*Body*/
.swiper-intro-home .swiper-slide{
    width:30%;
}
.image img{
    height:70vh !important;
    object-fit:cover;
}
/*.intro-home:not(.editMode .intro-home){
    margin-left:10%;
}*/

:not(.editMode) .intro-home {
    padding-left: 3%;
}
.grid-rooms>div{
    position:relative;
}
.grid-rooms .overlay, .service .overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(21,23,29,.3);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor:pointer;
}
.grid-rooms .buttons-room a.btn-book:last-child{
    margin-top:10px;
}
.grid-rooms .overlay .buttons-room{
    display:none;
}
.grid-rooms .overlay:hover .buttons-room{
    display:flex;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}
/*Preview habitaciones*/
.preview .swiper.swiper-horizontal{
    height:92dvh !important;
}
.preview .htt-contentExtra{
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0 !important;
    left: 0 !important;
    right:auto !important;
    background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(21,23,29,0.6) 40%,
    rgba(21,23,29,0.6) 60%,
    rgba(0, 0, 0, 0.5) 100%
);
    padding: 0 5%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.preview .swiper-thumbs .swiper-slide-active,
.preview .swiper-thumbs .swiper-slide:hover,
.preview .swiper-button-next,
.preview .swiper-button-prev{
    background:transparent;
     background: linear-gradient(
    to bottom,
    rgba(21,23,29,0.6) 0%,
    rgba(0, 0, 0, 0.5) 100%
) !important;
}
.preview .htt-contentExtraElement, .preview .htt-contentExtraGeneric{
    width:40%;
}
.preview .swiper-slide, .preview .htt-button{
    border-radius:0 !important;
}
.preview .htt-button{
     padding:10px 20px !important;   
     font-size:22px;
     margin-top:40px;
     transition:.5s all;
}
.preview .htt-button:hover{
    background:var(--colorPrimary) !important;
}
.preview .swiper-button-next,
.preview .swiper-button-prev{
    border-radius:0 !important;
}
.preview .swiper-button-next:after,
.preview .swiper-button-prev:after{
    font-size:16px !important;
}
body .preview h3, body .preview .swiper-thumbs .htt-preview-app-content p{
    color:#fff;
    background:rgba(0,0,0,.002);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight:800;
    font-family:var(--fontPrimary);
}
.btn-book,.btn-corpo{
    padding:10px 20px;
    background-color:var(--colorBtn);
    transition:.5s all;
    font-size:22px;
    color:var(--colorPrimary);
    border:1px solid var(--colorBtn);
    letter-spacing:1px;
    font-weight:600;
}
.btn-corpo{
    color:var(--colorWhite);
    border-color:currentColor;
    background-color:var(--colorSecondary);
}
.bgSecondary .btn-corpo, .bgColorPrimary .btn-corpo{
    background-color:transparent;
}
.btn-book:hover,.btn-corpo:hover{
    background-color:var(--colorSecondary) !important;
    border:1px solid currentColor;
    color:var(--colorWhite);
}
.btn-corpo:hover{
    background-color:var(--colorPrimary) !important;
}
.bgSecondary .btn-corpo:hover, .bgColorPrimary .btn-corpo:hover{
    background-color:var(--colorPrimary);
}
a.price_from{
    font-size:24px;
    font-weight:700;
    font-family:var(--fontPrimary);
    color:#fff;
}
.grid-rooms .overlay a.btn-book.condiciones{
    background-color:rgba(21,23,29,.3);
    color:var(--colorWhite);
    border:1px solid currentColor;
}
.grid-rooms .overlay a.btn-book:hover{
    background-color:var(--colorPrimary);
}
.offer{
    position:relative;
    overflow: hidden;
    height: 400px;   
}
.offer img{
    height:100% !important;
}
.offer h3{
    margin-bottom:10px;
}
.text-offer{
    position: absolute;
    top: 0;
    width: 90%;
    left: 0;
    padding: 20px 20px 20px 0;
    background: #fff;
}
.offer .text-offer p{
    font-size:21px;
    margin-bottom:0;
    margin-top:12px;
}
.offer .text-offer p span.descuento{
    font-size: 28px;
    font-weight: 700;
}

/*.offer img.img-responsive{
    height:450px;
    filter:brightness(.8);
}*/
.buttons-offer{
    position:absolute;
    bottom:20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap:.5rem;
    padding: 0 20px;
    width:100%;
}
.offer a.btn-book{
    background:rgba(0, 0, 0, .3);
    border:1px solid #fff;
    color:#fff;
}
.service{
    position:relative;
}
.service .overlay{
    background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(21,23,29,0.16) 50%, rgba(0, 0, 0, 0.47) 100%);
    transition:.5s all;
}
.service .overlay p{
    visibility:hidden;
}
.service .overlay:hover{
    background:rgba(21,23,29,.8);
}
.service .overlay:hover p{
    visibility:visible;
}
.service img.img-responsive,.gallery .hover-gallery .lightbox .image img{
    height:70vh;
}
.hover-gallery .lightbox .image a:before{
    font-size:5em !important;
}
.nav.nav-tabs{
    border:none;
    justify-content:center;
}  
.nav.nav-tabs button{
    color:var(--colorSecondary);
    padding:10px 20px;
    margin:0 5px;
    border-radius:0;
    font-size:21px;
}
.nav.nav-tabs button.active,.nav.nav-tabs button:hover{
    background:var(--colorPrimary);
    color:#fff;
    border:none;
}
.faqs .accordion-item{
    border:none !important;
    margin-bottom:5px;
}
.faqs .accordion-item .accordion-button{
    border-radius:0;
    border-bottom:1px solid rgba(21,23,29,.1);
    font-size:18px;
    padding-left:0;
    display: flex;
    align-items: flex-start;
}
.faqs .accordion-button::after,.faqs .accordion-button.collapsed::after{
    background-image:none !important;
    font-size:14px;
    transform:none !important; 
}
.faqs .accordion-button::after{
    content:"\f077";
    font-size:14px;
    font-family:'fontAwesome';
}
.faqs .accordion-button.collapsed::after{
    content:"\f078";
    font-family:'fontAwesome';
}
.faqs .accordion-button:not(.collapsed){
    background-color:transparent;
    box-shadow:none;
}
.faqs .accordion-button:focus{
    box-shadow:none; 
}
.faqs .accordion-button:hover{
    z-index:1;
}
.accordion-button:not(.collapsed){
    color:var(--colorPrimary);
}
.destiny{
    position:relative;
}
.destiny .overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(21,23,29,.3);
}
.destiny a.btn-corpo{
    color:#fff;
    background-color:transparent;
    border-color:currentColor;
}
.destiny img.img-responsive{
    width:100%;
    height:80vh;
    filter:brightness(.8);
}
/* lectura de iconos contacto para lectores de pantalla */
.sr-only { 
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/*link del capcha de Google*/
.btn-link{
   color: #024AB6;
}

/*Área clientes*/
.nav.nav-pills{
    border-bottom: 2px solid #ededed;
}
.nav.nav-pills{
    padding:0;
    margin:0;
    gap: 15px;
    justify-content: flex-start !important;
}
.nav.custom-menu>div{
    text-align:center;
    padding:10px;
}
.nav.nav-pills .nav-link{
    font-size:21px;
    border-radius:0;
    color:var(--colorSecondary);
}
.nav.nav-pills .nav-link:hover,.nav.nav-pills .nav-link.active{
    color:var(--colorPrimary);
    background-color:transparent;
    font-weight:500;
    border-bottom:2px solid var(--colorPrimary);
}
/*Error 404*/
body .error h1{
    text-shadow: 0 4px rgba(176,141,87,.3), 0 8px rgba(176,141,87,.2), 0 12px rgba(176,141,87,.1), 0 16px rgba(176,141,87,.05);
}
/*Swiper*/
.swiper-pagination{
    position:relative;
    margin-top:20px;
}
.swiper-pagination-bullet{
    background:var(--colorPrimary);
}
.swiper-pagination-bullet-active{
    width:10px;
    height:10px;
}
.bgSecondary .swiper-pagination-bullet,
.bgColorPrimary .swiper-pagination-bullet{
    background:var(--colorWhite);
}
.swiper-scrollbar{
    bottom:0 !important;
    background: rgba(0, 0, 0, .1);
    border-radius:0;
    height:5px !important;
}
.swiper-scrollbar-drag{
    background: rgba(0, 0, 0, .3);
}

form fieldset .row{
    padding: 20px;
    margin: 10px 0;
}
form fieldset p{
    margin-bottom:0;
}
form .form-row input[type='text'], form .form-row input[type='password'], form .form-row select,
form .form-row input[type=date],form .button-wrapper input[type=submit] {
    height:50px;
    border-radius:0;
}
form .button-wrapper input[type=submit]{
    background:var(--colorPrimary);
    border:none;
    color:#fff;
    transition:.3s background;
    padding:10px 20px;
    font-size:21px;
}
form .button-wrapper input[type=submit]:hover{
    background:var(--colorSecondary);
}
form .form-row input[type='text'], form .form-row input[type='password'], form .form-row select,
form .form-row input[type=date],form .form-row textarea{
    background:#fff;
    border:none;
    width:100%;
    color:var(--colorSecondary);
}
form .form-row{
    display:flex;
    flex-direction:column;
}
form .form-row, form .button-wrapper{
    margin-top:12px; 
}
form .button-wrapper{
    text-align:right;
}
form a{
    color:var(--colorSecondary);
}
form .form-item:has(input[type=checkbox]){
    display:flex;
    align-items:center;
}
form input[type=checkbox]{
    margin-right:8px;
}
.map>.container-fluid{
    padding:0;
}
@media(min-width:992px){
    .grid-rooms{
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 10px;
    }
    .grid-rooms>div:nth-child(1), .grid-rooms>div:nth-child(3){
        grid-column: span 1;
        grid-row: span 1;
    }
    .grid-rooms>div:nth-child(2), .grid-rooms>div:nth-child(4),
    .grid-rooms>div:nth-child(2), .grid-rooms>div:nth-child(5){
        grid-column: span 2;
        grid-row: span 1;
    }
    .grid-rooms>div img.img-responsive{
        width:100%;
        height:100%;
        aspect-ratio: 16 / 9;
    }
}
@media(max-width:1440px){
    .w50{
        width:60% !important;
    }
    .w60{
        width:70% !important;
    }
    .w70,.htt-text-image:has(.title-section){
        width:80% !important;
    }
    .w80{
        width:90% !important;
    }
    .w90{
        width:95% !important;
    }
    .grid-motor{
        bottom:-48px;
    }
}

@media(max-width:1366px){
    .w50,.w60{
        width:70% !important;
    }
}
@media(max-width:1200px){
    .top-header>.header-desktop>.row>div:nth-child(2){
        order:3;
        width:100%;
        margin-top:15px;
        padding:0;
    }
    .top-header{
        padding:25px 1vh;
    }
    .header-desktop .navbar-nav.justify-content-end{
        gap:.3rem;
    }
}
@media(max-width:1199px){
    .w50,.w60,.w70{
        width:80% !important;
    }
}
@media(max-width:1024px){
    .w50,.w60,.w70,.w80,.w90{
        width:95% !important;
    }
    .paddTop60{
        padding-top:40px !important;
    }
     .paddTop120{
        padding-top:60px !important;
    }
    .paddBT60{
        padding-bottom:40px !important;
    }
    .paddBT120{
        padding-bottom:60px !important;
    }
    .text-hero{
        position: absolute;
        z-index: 2;
        height: 100%;
        width:100%;
        background: rgba(21,23,29,.4);
    }
    form fieldset .row{
        padding:0;
    }
    body h1, p.title,h1.title-hero, p.title-hero{
        font-size:48px;
    }
    body h2{
        font-size:36px;
    }
    body h3{
        font-size:24px;
    }
    .service img.img-responsive{
        height:60vh;
    }
    .preview .swiper-vertical{
        width:50% !important;
    }
    .image img,.gallery .hover-gallery .lightbox .image img{
        height:50vh !important;
    }
    .links-footer .legal-links {
        flex-wrap:wrap;
    }
    .links-footer .legal-links li{
        width:calc(50% - 10px);
    }
    .links-footer .legal-links li:first-child:before {
        content: "•";
        margin: 0 6px 0 2px;
        color: #fff;
    }
}
@media(max-width:991px){
    .htt-content-navigation .dropdown, .gallery .dropdown{
        width:100%;
    }
    .htt-content-navigation .dropdown>button,
    .htt-content-navigation .dropdown .btn.show,
    .gallery .dropdown button{
        width: 100%;
        border-radius: 0;
        background: var(--colorPrimary);
        padding: 12px;
        font-size: 21px;
        border:none;
    }
    .htt-content-navigation .dropdown-menu,
    .htt-content-navigation .dropdown-menu>div,
    .htt-content-navigation .dropdown-menu .btn-group,
    .gallery .dropdown-menu{
        width:100%;
    }
    .htt-content-navigation .dropdown-item.active,
    .gallery .dropdown-menu .dropdown-item.active{
        background-color:var(--colorSecondary);
    }
    .grid-motor{
        position:relative;
        bottom:0;
    }
    .swiper-intro-home{
        margin-top:20px;
    }
    .intro-home:not(.editMode .intro-home){
        margin-left:0;
    }
    .grid-rooms>div{
        margin-top:15px;
    }
    .swiper-services{
        margin-top:20px;
    }
    .buttons-flex{
        flex-direction:column;
    }
    .text-room{
        padding:1rem !important;
    }
}
@media(max-width:767px){
    .menu-logo{
        display:none;
    }
    .logo-mobile{
        max-height:55px;
        width:auto;
    }
    .top-header{
        padding:10px 0 !important;
    }
    .top-header>.container-fluid{
        padding:0;
    }
    .group-languages-texts .btn-secondary.open-selector-language{
        width:100%;
        margin-top:5px;
    }
     .htt-language-selector button{
         float:none;
     }
    .group-languages-texts{
        margin-right:0;
        z-index:2;
    }
    .navbar-toggler{
        border:none;
        padding-left:0;
    }
    .bi-person-fill::before{
        font-size: 24px;
        margin-top: 8px;
    }
    .bi-cart-fill::before {
        font-size: 21px;
        margin-top: 8px;
    }
    .access-right>.row{
        flex-wrap:nowrap
    }
    .access-right>.row>.col{
        padding:0;
    }
    body .footer p,body .footer p.left{
        text-align:center !important;
    }
    div#accordion .accordionHeader p i{
        float: none;
        font-size: 16px;
        position: absolute;
        right: 0;
        top: 20%;
    }
    .text-hero{
   
    margin-bottom: 0;
    }
    .buttons-offer{
        flex-direction:column;
    }
    .buttons-offer a.btn-book:last-child{
        margin-top:10px;
    }
    a.btn-book{
        min-width:180px;
        text-align:center;
    }
    .col:has(form){
        padding:0;
    }
    .destiny .text-destiny{
        padding:0;
    }
    .preview .swiper-vertical{
        width: 90% !important;
        height: 200px !important;
        margin: 20px 0 !important;
    }
    .preview .htt-contentExtraElement, .preview .htt-contentExtraGeneric{
        width:100% !important;
    }
    .preview .swiper.swiper-horizontal.swiper-thumbs{
        height:auto !important;
        bottom:auto !important;
        top:20px;
    }
    .preview .swiper.swiper-horizontal.swiper-thumbs .swiper-wrapper{
        display:none;
    }
    .links-footer .legal-links li{
        width:100%;
    }
}
/*Footer*/
.footer{
    background:var(--colorPrimary);
    margin-top:-6px;
    border-top:2px solid var(--bgSecondary);
}
.footer .logo{
    filter:brightness(0) invert(1);
}
.redes-footer{
    display:flex;
    justify-content:center;
}
.redes-footer .social-list {
    list-style: none;
    display: flex;
    gap: 24px; 
    padding: 0;
    margin: 0;
}

.redes-footer .social-list a {
    text-decoration: none;
    color: inherit;
}

.redes-footer i{
    margin-right: 5px;
    font-size: 18px;
    background: var(--colorBtn);
    padding: 5px;
    border-radius: 0;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.links-footer .legal-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    gap: 10px; 
}

.links-footer .legal-links li {
    position: relative;
}

/* Añadir el punto separador salvo en el primero */
.links-footer .legal-links li + li::before {
    content: "•";
    margin: 0 6px 0 2px;
    color: #fff;
}


.footer .copy{
    border-top:1px solid rgba(255,255,255,.5);
}
.footer p, .footer a{
    color:#fff;
}
/*cms-btn-up-mov*/
.cms-btn-up-mov{
    position: fixed;
    width: 48px;
    height: 48px;
    opacity: 0.8;
    bottom: 100px;
    right: 20px;
    background: var(--colorPrimary);
    border-radius: 0 !important;
    border:3px solid #fff;
    text-align: center;
    padding: 10px;
    transition: .5s all;
    display:none;
    z-index:5;
    color:#fff;
}
.cms-btn-up-mov i{
    font-size:21px;
   transition:.5s all;
}
.cms-btn-up-mov:hover i{
    font-size:23px;
}
/*Habitaciones*/
.text-room{
    padding:3rem;
}
.text-room .price_from_container{
    padding:1.5rem 0;
    font-size:1.2rem;
}
.text-room .price_from_container .price_from{
    font-size:1.8rem;
    color:var(--colorPrimary);
}
.text-room ul{
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    padding-left: 0;
}
.buttons-flex{
    display:flex;
    gap:.5rem;
}
/*Ofertas*/
.swiper-landing-offers .text-offer{
    background:var(--bgSecondary);
}
.swiper-landing-offers .text-offer h3,
.swiper-landing-offers .text-offer p{
    color:var(--colorWhite);
}
/*Landing oferta*/
p.discount{
    font-size:21px;
    font-weight:600;
}
p.discount span{
    font-size:2rem;
}
/*Galería*/
.gallery .image:first-child, .gallery .image:nth-child(4){
    width:66% !important;
}
/*Contacto*/
.map iframe{
    display:block;
}
.interes{
    display:flex;
    justify-content:space-between;
    gap:2rem;
}
.interes i{
    width: 80px;
    height: 80px;
    color:var(--colorWhite);
    border: 1px solid currentColor;
    display: flex;
    justify-content: center;
    align-items: center;
    margin:0 auto;
    margin-bottom:20px;
}
.interes i:before{
    font-size:36px;
}
.interes p.place{
    font-size:24px;
    font-weight:600;
    color:var(--colorPrimary);
}
@media(max-width:767px){
    .gallery .image:first-child, .gallery .image:nth-child(4){
      width:100% !important;
    }
    .interes{
        flex-wrap:wrap;
    }
    .interes>div{
        width:100%;
    }
}

/* =========================================================
   Capa Lumen
   ========================================================= */
body{background:#fff;color:var(--ink);font-size:17px;}
html body,.htt-text-image p,.htt-text-image ul li{font-size:17px;line-height:1.7em;font-weight:400;color:var(--ink-soft);}
body p.title,body h1,body h2,body h3{font-weight:500;letter-spacing:-.01em;color:var(--ink);}
h1{font-size:clamp(3rem,6vw,5.6rem);}
h2{font-size:clamp(2.4rem,4.2vw,3.6rem);}
h3{font-size:clamp(1.6rem,2.2vw,2rem);}
a{color:var(--ink);}
hr{background:var(--brass);}
::selection{background:var(--brass-light);color:var(--ink);}


/* ---------- Tipografía de apoyo ---------- */
.eyebrow{display:inline-block;font-family:var(--fontSecondary);font-size:12px !important;font-weight:600 !important;letter-spacing:.28em;text-transform:uppercase;color:var(--brass) !important;margin-bottom:18px !important;}
.eyebrow:before{content:"";display:inline-block;width:32px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px;}
.l-title{margin-bottom:24px !important;}
.l-title em{font-style:italic;color:var(--brass);}
.l-lead{font-size:19px !important;line-height:1.75 !important;max-width:640px;}
.center .l-lead{margin-left:auto;margin-right:auto;}

/* ---------- Botones y enlaces ---------- */
.l-btn,a.l-btn{display:inline-block;font-family:var(--fontSecondary);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:16px 34px;background:var(--brass);color:var(--ink) !important;border:1px solid var(--brass);transition:.35s all;}
.l-btn:hover{background:transparent;color:var(--brass) !important;}
.l-btn--ghost,a.l-btn--ghost{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.7);}
.l-btn--ghost:hover{background:#fff;color:var(--ink) !important;border-color:#fff;}
.l-btn--dark,a.l-btn--dark{background:var(--ink);border-color:var(--ink);color:#fff !important;}
.l-btn--dark:hover{background:transparent;color:var(--ink) !important;}
.l-link,a.l-link{font-family:var(--fontSecondary);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink) !important;border-bottom:1px solid var(--brass);padding-bottom:6px;transition:.3s all;}
.l-link:after{content:"\2192";margin-left:10px;transition:.3s margin;}
.l-link:hover{color:var(--brass) !important;}
.l-link:hover:after{margin-left:16px;}
.l-sec--ink .l-link{color:#fff !important;}

/* ---------- Cabecera ---------- */
.top-header{padding:14px 4vw;background:#fff;border-bottom:1px solid var(--line);}
.httHeaderFixedToTop .top-header{padding:8px 4vw;}
.httHeaderFixedToTop{box-shadow:0 10px 30px -18px rgba(21,23,29,.35);}
.lumen-logo{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;color:var(--ink) !important;}
.lumen-logo__mark{font-family:var(--fontPrimary);font-size:34px;font-weight:600;letter-spacing:.32em;margin-right:-.32em;}
.lumen-logo__sub{font-family:var(--fontSecondary);font-size:9.5px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--brass);margin-top:6px;}
.lumen-logo__sub:before{content:"Hotetec \00B7  ";color:var(--stone);}
.top-header-mobile .lumen-logo{align-items:center;}
.top-header-mobile .lumen-logo__mark{font-size:26px;}
.header-desktop .navbar-nav a,.top-header .navbar-nav .nav-link{font-family:var(--fontSecondary);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);}
.header-desktop .navbar-nav a:hover{font-weight:600;color:var(--brass);}
.header .nav-link.active{border-bottom:1px solid var(--brass);color:var(--brass) !important;}
.personLogin-content svg,.mybooking-content svg{fill:var(--ink);}
.group-languages-texts .btn-secondary.open-selector-language{font-size:12.5px;font-weight:600;letter-spacing:.12em;}

/* ---------- Hero ---------- */
.lumen-hero{background:var(--ink);}
.lh{position:relative;min-height:calc(100vh - 90px);display:flex;align-items:center;overflow:hidden;background:var(--ink);}
.lh__bg{position:absolute;inset:0;width:100%;height:100% !important;object-fit:cover;transform:scale(1.04);animation:lhzoom 18s ease-out forwards;}
@keyframes lhzoom{to{transform:scale(1);}}
.lh__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,23,29,.88) 0%,rgba(21,23,29,.55) 45%,rgba(21,23,29,.15) 100%);}
.lh__content{position:relative;z-index:1;padding:0 8vw 120px;max-width:980px;animation:animopac 1.4s .2s both;}
.lh .eyebrow{color:var(--brass-light) !important;}
body .lh h1.lh__title{color:#fff;font-weight:400;line-height:.98;margin-bottom:28px !important;}
.lh h1.lh__title em{color:var(--brass-light);font-style:italic;}
.lh p.lh__lead{color:rgba(255,255,255,.85) !important;font-size:19px !important;max-width:560px;}
.lh__ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}
.lh__note{position:absolute;right:4vw;bottom:110px;z-index:1;color:rgba(255,255,255,.6) !important;font-size:11px !important;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;}
.grid-motor{bottom:-30px;}

/* ---------- Secciones ---------- */
.l-sec{padding:120px 0;}
.l-sec--tight{padding:80px 0;}
.l-sec--cream{background:var(--cream);}
.l-sec--ink{background:var(--ink);}
.l-sec--ink h2,.l-sec--ink h3,body .l-sec--ink p.title{color:#fff;}
.l-sec--ink p,.l-sec--ink li{color:rgba(255,255,255,.72) !important;}
.l-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:56px;flex-wrap:wrap;}
.l-head>div{max-width:680px;}

/* Intro */
.l-split{display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;}
.l-facts{list-style:none;padding:0 !important;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.l-facts li{background:#fff;padding:34px 28px;}
.l-facts strong{display:block;font-family:var(--fontPrimary);font-size:56px;font-weight:500;line-height:1;color:var(--ink);}
.l-facts strong small{font-size:22px;margin-left:4px;color:var(--brass);}
.l-facts span{display:block;margin-top:10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);}

/* Tarjetas (habitaciones) */
.l-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.l-card{background:#fff;display:flex;flex-direction:column;}
.l-card__img{position:relative;overflow:hidden;aspect-ratio:4/5;}
.l-card__img img{width:100%;height:100% !important;object-fit:cover;transition:transform 1.2s ease;}
.l-card:hover .l-card__img img{transform:scale(1.06);}
.l-card__tag{position:absolute;left:18px;top:18px;background:rgba(21,23,29,.82);color:#fff !important;font-size:11px !important;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:8px 12px;margin:0 !important;}
.l-card__body{padding:28px 4px 8px;}
.l-card__body h3{margin-bottom:12px !important;}
.l-card__body p{font-size:15px !important;}
.l-card__meta{display:flex;gap:18px;margin:14px 0 22px !important;font-size:12px !important;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--stone) !important;}

/* Servicios */
.l-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.14);}
.l-icons>div{padding:44px 36px 44px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.l-icons>div:not(:nth-child(3n)){border-right:1px solid rgba(255,255,255,.14);}
.l-icons>div:not(:nth-child(3n+1)){padding-left:36px;}
.l-icons i{font-size:26px;color:var(--brass);margin-bottom:22px;display:block;}
.l-icons h3{font-size:26px;margin-bottom:10px !important;}
.l-icons p{font-size:15px !important;margin:0 !important;}

/* Descubre Madrid */
.l-places{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.l-place{border-top:1px solid var(--ink);padding-top:22px;}
.l-place b{display:block;font-family:var(--fontPrimary);font-size:44px;font-weight:500;line-height:1;color:var(--brass);}
.l-place b small{font-family:var(--fontSecondary);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-left:6px;color:var(--stone);}
.l-place h3{font-size:24px;margin:16px 0 10px !important;}
.l-place p{font-size:15px !important;}

/* Promociones */
.l-offers{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.l-offer{position:relative;background:#fff;border:1px solid var(--line);padding:48px 44px;transition:.4s all;}
.l-offer:hover{border-color:var(--brass);transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(21,23,29,.45);}
.l-offer__badge{font-family:var(--fontPrimary);font-size:72px;font-weight:500;line-height:1;color:var(--brass);margin:0 0 18px !important;}
.l-offer__badge small{font-family:var(--fontSecondary);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-left:8px;}
.l-offer h3{margin-bottom:12px !important;}
.l-offer p{margin-bottom:26px !important;}

/* Club Lumen */
.l-club{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:4vw;align-items:center;padding:72px 6vw;background:var(--ink);color:#fff;overflow:hidden;}
.l-club:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border:1px solid rgba(176,141,87,.45);border-radius:50%;}
.l-club h2{color:#fff;}
.l-club p{color:rgba(255,255,255,.75) !important;}
.l-club ul{list-style:none;padding:0 !important;margin:0;position:relative;z-index:1;}
.l-club li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff !important;font-size:15px !important;}
.l-club li:before{content:"\2726";color:var(--brass);margin-right:14px;}

/* ---------- Footer ---------- */
.footer{background:var(--ink);border-top:none;margin-top:0;}
.footer .htt-text-image p,.footer .htt-text-image li,.footer a{color:rgba(255,255,255,.72) !important;font-size:14px !important;}
.footer a:hover{color:var(--brass-light) !important;}
.footer .lumen-logo{color:#fff !important;}
.l-foot__title{font-family:var(--fontSecondary);font-size:11px !important;font-weight:600 !important;letter-spacing:.28em;text-transform:uppercase;color:var(--brass) !important;margin-bottom:20px !important;}
.l-foot__list{list-style:none;padding:0 !important;margin:0;}
.l-foot__list li{margin-bottom:10px;}
.l-foot__social{display:flex;gap:12px;margin-top:24px;list-style:none;padding:0 !important;}
.l-foot__social a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);}
.l-foot__social a:hover{border-color:var(--brass);}
.l-foot__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:28px;}
.l-foot__bottom p{font-size:12px !important;letter-spacing:.08em;margin:0 !important;}
.l-foot__legal{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;padding:0 !important;margin:0;}
.l-foot__legal a{font-size:12px !important;}
.cms-btn-up-mov{background:var(--ink);border:1px solid var(--brass);color:var(--brass);}

/* ---------- Responsive ---------- */
@media(max-width:1199px){
    .l-cards{grid-template-columns:repeat(2,1fr);}
    .l-places{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:991px){
    .l-sec{padding:80px 0;}
    .l-split,.l-club,.l-offers{grid-template-columns:1fr;}
    .l-icons{grid-template-columns:1fr 1fr;}
    .l-icons>div{padding:32px 24px 32px 0 !important;border-right:none !important;}
    .l-icons>div:nth-child(odd){padding-right:24px !important;border-right:1px solid rgba(255,255,255,.14) !important;}
    .l-icons>div:nth-child(even){padding-left:24px !important;}
    .lh__note{display:none;}
}
@media(max-width:767px){
    .l-sec{padding:64px 0;}
    .l-cards,.l-places,.l-icons{grid-template-columns:1fr;}
    .l-icons>div{border-right:none !important;padding:28px 0 !important;}
    .lh{min-height:86vh;align-items:flex-end;}
    .lh__overlay{background:linear-gradient(0deg,rgba(21,23,29,.92) 0%,rgba(21,23,29,.5) 60%,rgba(21,23,29,.25) 100%);}
    .lh__content{padding:0 24px 64px;}
    .lh__ctas .l-btn{width:100%;text-align:center;}
    .l-offer{padding:36px 28px;}
    .l-club{padding:56px 24px;}
    .l-foot__bottom{flex-direction:column;}
    body .footer p,body .footer p.left{text-align:left !important;}
}

/* Recorte de descripciones CRS en tarjetas */
.l-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.l-clamp p{font-size:15px !important;margin:0 !important;}
.l-clamp span{color:inherit !important;}
/* Ajustes hero y menú */
.lumen-hero .container-hero .htt-text-image{display:block !important;height:auto !important;}
.lumen-hero .lh{width:100%;}
.header-desktop .navbar-nav a,.top-header .navbar-nav .nav-link{white-space:nowrap;font-size:11.5px;letter-spacing:.13em;}
.header-desktop .navbar-nav.justify-content-end{gap:.2rem;}
@media(max-width:1300px){.header-desktop .navbar-nav a{font-size:11px;letter-spacing:.08em;}}
/* Tamaños que la plantilla fuerza en párrafos */
.htt-text-image p.l-offer__badge{font-size:72px !important;line-height:1 !important;font-family:var(--fontPrimary);}
.htt-text-image p.l-offer__badge small{font-size:12px;}
@media(max-width:767px){.htt-text-image p.l-offer__badge{font-size:56px !important;}}

/* =========================================================
   Páginas interiores (Instalaciones, Eventos…)
   ========================================================= */
/* Cabecera de página */
.lumen-pagehead{background:var(--ink);}
.lumen-pagehead .htt-text-image{display:block !important;height:auto !important;}
.lp{position:relative;display:flex;align-items:flex-end;min-height:62vh;padding:140px 8vw 120px;background:var(--ink);overflow:hidden;}
.lp:before{content:"";position:absolute;right:-12vw;top:-30%;width:62vw;height:62vw;border:1px solid rgba(176,141,87,.35);border-radius:50%;}
.lp:after{content:"";position:absolute;right:4vw;top:-10%;width:38vw;height:38vw;border:1px solid rgba(176,141,87,.18);border-radius:50%;}
.lp__content{position:relative;z-index:1;max-width:860px;animation:animopac 1.2s both;}
.lp .eyebrow{color:var(--brass-light) !important;}
body .lp h1{color:#fff;font-weight:400;line-height:1;margin-bottom:24px !important;}
.lp h1 em{color:var(--brass-light);font-style:italic;}
.lp p.lp__lead{color:rgba(255,255,255,.8) !important;font-size:19px !important;max-width:620px;}
.lp__ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

/* Bloques destacados */
.l-amen{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.l-amen>article{position:relative;background:#fff;border:1px solid var(--line);padding:52px 48px 44px;display:flex;flex-direction:column;}
.l-amen>article.is-feature{grid-column:1/-1;background:var(--ink);border-color:var(--ink);display:grid;grid-template-columns:1.1fr .9fr;gap:4vw;align-items:center;}
.l-amen__icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid var(--brass);color:var(--brass);font-size:22px;margin-bottom:26px;}
.l-amen h3{margin-bottom:14px !important;}
.l-amen p{font-size:16px !important;}
.l-amen .is-feature h3,.l-amen .is-feature h2{color:#fff;}
.l-amen .is-feature p{color:rgba(255,255,255,.75) !important;}
.l-amen dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:22px 0 26px;padding-top:22px;border-top:1px solid var(--line);}
.l-amen dt{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);padding-top:3px;}
.l-amen dd{margin:0;font-size:15px;color:var(--ink);}
.l-amen .is-feature dl{border-color:rgba(255,255,255,.15);}
.l-amen .is-feature dd{color:#fff;}
.l-amen .is-feature dt{color:var(--brass-light);}
.l-amen article>p:last-child{margin-top:auto !important;}

/* Lista de servicios (claro) */
.l-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.l-list>div{background:var(--cream);padding:34px 28px;}
.l-sec--cream .l-list>div{background:#fff;}
.l-list i{font-size:22px;color:var(--brass);margin-bottom:18px;display:block;}
.l-list h3{font-size:22px;margin-bottom:8px !important;}
.l-list p{font-size:14px !important;margin:0 !important;}

/* Tabla de salas */
.l-table-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff;}
.l-table{width:100%;border-collapse:collapse;min-width:760px;}
.l-table th{font-family:var(--fontSecondary);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);text-align:center;padding:20px 14px;border-bottom:1px solid var(--line);background:var(--cream);}
.l-table th:first-child,.l-table td:first-child{text-align:left;padding-left:28px;}
.l-table td{padding:22px 14px;text-align:center;border-bottom:1px solid var(--line);font-size:16px;color:var(--ink-soft);}
.l-table tr:last-child td{border-bottom:none;}
.l-table td strong{display:block;font-family:var(--fontPrimary);font-size:24px;font-weight:500;color:var(--ink);}
.l-table td small{font-size:12px;color:var(--stone);letter-spacing:.06em;}
.l-table tr:hover td{background:rgba(176,141,87,.06);}
.l-note{font-size:13px !important;color:var(--stone) !important;margin-top:16px !important;}

/* Tipos de evento */
.l-types{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.l-types>div{border-top:2px solid var(--brass);padding-top:26px;}
.l-types span{font-family:var(--fontPrimary);font-size:20px;color:var(--brass);}
.l-types h3{font-size:26px;margin:10px 0 12px !important;}
.l-types p{font-size:15px !important;}

/* Check list */
.l-checks{list-style:none;padding:0 !important;margin:0;columns:2;column-gap:48px;}
.l-checks li{break-inside:avoid;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative;}
.l-checks li:before{content:"\2713";position:absolute;left:0;top:13px;color:var(--brass);font-weight:700;}
.l-sec--ink .l-checks li{border-color:rgba(255,255,255,.14);}

/* Llamada final */
.l-cta{display:flex;justify-content:space-between;align-items:center;gap:3rem;flex-wrap:wrap;padding:64px 6vw;border:1px solid var(--brass);background:#fff;}
.l-cta h2{margin:0 !important;}
.l-cta p{margin:12px 0 0 !important;}
.l-cta__actions{display:flex;gap:14px;flex-wrap:wrap;}

@media(max-width:1199px){.l-list,.l-types{grid-template-columns:repeat(2,1fr);}}
@media(max-width:991px){
  .l-amen,.l-amen>article.is-feature{grid-template-columns:1fr;}
  .l-checks{columns:1;}
  .lp{min-height:52vh;padding:120px 24px 80px;}
}
@media(max-width:767px){
  .l-list,.l-types{grid-template-columns:1fr;}
  .l-amen>article{padding:36px 26px;}
  .l-cta{padding:44px 24px;}
}
/* Última tarjeta de instalaciones a ancho completo si queda sola */
.l-amen>article:last-child:nth-child(even){grid-column:1/-1;}
@media(min-width:992px){.l-amen>article:last-child:nth-child(even) dl{grid-template-columns:auto 1fr auto 1fr;}}

/* =========================================================
   Promociones
   ========================================================= */
.htt-text-image p.l-offer__badge--word{font-size:52px !important;font-style:italic;}
.l-offers--3{grid-template-columns:repeat(3,1fr);}
.l-offer{display:flex;flex-direction:column;}
.l-offer>p:last-of-type{flex:1;}
.l-promo{display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;align-items:start;}
.l-promo h3.l-sub{font-size:28px;margin:44px 0 10px !important;}
.l-checks--one{columns:1;}
.l-cond{position:sticky;top:120px;background:var(--cream);border-top:3px solid var(--brass);padding:44px 40px;}
.l-cond .l-offer__badge{margin-bottom:6px !important;}
.l-cond h3{font-size:24px;margin:22px 0 4px !important;}
.l-cond dl{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;margin:18px 0 30px;padding-top:18px;border-top:1px solid var(--line);}
.l-cond dt{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);padding-top:3px;}
.l-cond dd{margin:0;font-size:15px;color:var(--ink);}
.l-cond .l-btn{width:100%;text-align:center;}
@media(max-width:1199px){.l-offers--3{grid-template-columns:1fr 1fr;}}
@media(max-width:991px){.l-promo{grid-template-columns:1fr;}.l-cond{position:static;}}
@media(max-width:767px){.l-offers--3{grid-template-columns:1fr;}.l-cond{padding:34px 26px;}}
/* Ajustes tarjetas y cifras */
.l-offer>a.l-link{align-self:flex-start;}
.l-offer__badge,.l-facts strong,.l-place b,.l-table td strong,.lh__title,.lp h1{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;}

/* =========================================================
   Blog: artículo
   ========================================================= */
.l-article{padding:40px 0 100px;}
.l-article .container{max-width:820px;}
.l-article__head .row{flex-direction:column;}
.l-article__head .w-100{display:none;}
.l-article__head .col:empty{display:none;}
.l-article__head:before{content:"Blog Lumen";display:block;font-family:var(--fontSecondary);font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin:30px 0 18px;}
html[lang="en"] .l-article__head:before{content:"Lumen Blog";}
body .l-article h1{font-size:clamp(2.6rem,5vw,4.4rem);font-weight:400;line-height:1.05;margin-bottom:26px !important;}
.l-article__head p{font-size:21px !important;line-height:1.65 !important;color:var(--ink-soft);border-left:2px solid var(--brass);padding-left:24px;}
.l-article__visual .figure-img:empty,.l-article__author .col>div:empty{display:none;}
.l-article__visual img{width:100%;height:auto;margin:40px 0 10px;}
.l-article__body{margin-top:30px;}
.l-article .newsBlockText{margin-bottom:12px;}
body .l-article .newsBlockText h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;margin:48px 0 16px !important;line-height:1.15;}
.l-article .newsBlockText p,.l-article .newsBlockText li{font-size:18px !important;line-height:1.85 !important;color:var(--ink-soft);}
.l-article .newsBlockText ul{list-style:none;padding:0 !important;margin:18px 0;border-top:1px solid var(--line);}
.l-article .newsBlockText li{padding:12px 0 12px 30px;border-bottom:1px solid var(--line);position:relative;}
.l-article .newsBlockText li:before{content:"\2726";position:absolute;left:0;color:var(--brass);}
.l-article .newsBlockText strong{color:var(--ink);font-weight:600;}
.l-article-bc .container{max-width:none;}

/* Blog: listado */
.l-blog-list .row{row-gap:44px;}
.l-blog-list h2,.l-blog-list h3{font-size:clamp(1.6rem,2.2vw,2rem) !important;line-height:1.15;margin:16px 0 12px !important;}
.l-blog-list p{font-size:15px !important;}
.l-blog-list img{width:100%;aspect-ratio:4/3;height:auto !important;object-fit:cover;}
.l-blog-list a{color:var(--ink);}
.l-blog-list a.btn,.l-blog-list .btn{background:none;border:none;border-bottom:1px solid var(--brass);border-radius:0;padding:0 0 6px;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);}
@media(max-width:767px){.l-article__head p{font-size:18px !important;padding-left:16px;}}
/* Blog: tarjetas del componente Lista Noticias */
.newsList.l-blog-list .row{row-gap:28px;}
.newsList.l-blog-list .card,.newsList.l-blog-home .card{height:100%;border:none;border-radius:0;border-top:2px solid var(--brass);background:#fff;margin:0 !important;transition:.4s all;}
.l-sec--cream .newsList .card{background:#fff;}
.newsList.l-blog-list .card:hover,.newsList.l-blog-home .card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(21,23,29,.45);}
.newsList .card-body{display:flex;flex-direction:column;padding:34px 30px 30px;}
.newsList .card-body:before{content:"Vivir Madrid";font-family:var(--fontSecondary);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin-bottom:14px;}
html[lang="en"] .newsList .card-body:before{content:"Living Madrid";}
body .newsList .card-title{font-family:var(--fontPrimary);font-size:clamp(1.6rem,2.2vw,2rem);font-weight:500;line-height:1.15;color:var(--ink);margin-bottom:14px !important;}
.newsList .card-text{font-size:15px !important;line-height:1.7 !important;color:var(--ink-soft);flex:1;}
.newsList .newsList-readMoreContainer{justify-content:flex-start !important;padding:12px 0 0 !important;}
.newsList .newsList-readMore{border:none !important;border-bottom:1px solid var(--brass) !important;padding:0 0 6px !important;font-family:var(--fontSecondary);font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);}
.newsList .newsList-readMore:after{content:"\2192";margin-left:10px;}
.newsList .card:hover .newsList-readMore{color:var(--brass);}

/* =========================================================
   Marca: colores del logo y logotipo con isotipo HL
   ========================================================= */
:root{--ink:#0B1320;--ink-2:#152033;--ink-soft:#384152;--cream:#F7F3EC;--brass-logo:#C4A67B;}
.lumen-logo{flex-direction:row !important;align-items:center !important;gap:14px;}
.lumen-logo__icon{width:auto;height:46px;color:var(--ink);flex:none;}
.lumen-logo__txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1;}
.httHeaderFixedToTop .lumen-logo__icon{height:38px;}
.top-header-mobile .lumen-logo{justify-content:center;}
.top-header-mobile .lumen-logo__icon{height:36px;}
.footer .lumen-logo__icon{color:#FDFBF7;height:58px;}
/* Hero en vídeo */
.lh__video{animation:none !important;transform:none !important;object-position:50% 50%;}
@media(max-width:767px){.lh__video{object-position:55% 50%;}}
@media(prefers-reduced-motion:reduce){.lh__video{display:none;}.lh{background:var(--ink);}}

/* =========================================================
   Imágenes en secciones
   ========================================================= */
.l-intro-media{display:flex;flex-direction:column;gap:0;}
.l-intro-img{aspect-ratio:4/3;overflow:hidden;}
.l-intro-img img,.l-place__img img,.l-offer__img img,.l-club__bg img,.l-media img,.l-amen__img img{width:100%;height:100% !important;object-fit:cover;display:block;}
.l-intro-media .l-facts{border-top:none;}
.l-place{border-top:none;padding-top:0;}
.l-place__img{aspect-ratio:4/3;overflow:hidden;margin-bottom:22px;border-bottom:2px solid var(--brass);}
.l-place__img img{transition:transform 1.2s ease;}
.l-place:hover .l-place__img img{transform:scale(1.05);}
.l-offer{padding-top:0 !important;overflow:hidden;}
.l-offer__img{margin:0 -44px 34px;aspect-ratio:16/9;overflow:hidden;}
.l-offer__img img{transition:transform 1.2s ease;}
.l-offer:hover .l-offer__img img{transform:scale(1.05);}
.l-club{isolation:isolate;}
.l-club__bg{position:absolute;inset:0;z-index:-1;}
.l-club__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,19,32,.95) 0%,rgba(11,19,32,.82) 55%,rgba(11,19,32,.55) 100%);}
@media(max-width:767px){.l-offer__img{margin:0 -28px 26px;}}
/* Cabeceras de página con foto */
.lp--img:before,.lp--img:after{display:none;}
.lp__bg{position:absolute;inset:0;}
.lp__bg img{width:100%;height:100% !important;object-fit:cover;display:block;}
.lp__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,19,32,.9) 0%,rgba(11,19,32,.6) 50%,rgba(11,19,32,.2) 100%);}
.lp--img{min-height:70vh;}
@media(max-width:767px){.lp__bg:after{background:linear-gradient(0deg,rgba(11,19,32,.92) 0%,rgba(11,19,32,.55) 65%,rgba(11,19,32,.3) 100%);}}
/* Instalaciones y eventos con foto */
.l-amen__img{margin:-52px -48px 32px;aspect-ratio:16/9;overflow:hidden;}
.l-amen>article.is-feature{padding-top:0;}
.l-amen>article.is-feature .l-amen__img{grid-column:1/-1;margin:0 -48px 0;aspect-ratio:21/8;}
.l-amen__img img{transition:transform 1.2s ease;}
.l-amen>article:hover .l-amen__img img{transform:scale(1.04);}
.l-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;}
.l-strip figure{margin:0;}
.l-strip img{width:100%;aspect-ratio:4/3;height:auto !important;object-fit:cover;display:block;}
.l-strip figcaption{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-top:10px;}
@media(max-width:991px){.l-amen>article.is-feature .l-amen__img{aspect-ratio:16/9;}}
@media(max-width:767px){.l-amen__img{margin:-36px -26px 26px;}.l-amen>article.is-feature .l-amen__img{margin:0 -26px;}.l-strip{grid-template-columns:1fr 1fr;}}
/* Galería */
.l-gal-group+.l-gal-group{margin-top:80px;}
body .l-gal-title{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:28px !important;display:flex;align-items:baseline;gap:16px;}
.l-gal-title span{font-family:var(--fontSecondary);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--brass);}
.l-gal{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:14px;}
.l-gal__item{position:relative;overflow:hidden;display:block;cursor:zoom-in;}
.l-gal__item:nth-child(6n+1){grid-column:span 2;grid-row:span 2;}
.l-gal__item img{width:100%;height:100% !important;object-fit:cover;display:block;transition:transform 1.2s ease,filter .4s;}
.l-gal__item:hover img{transform:scale(1.05);filter:brightness(.85);}
.l-gal__item:after{content:"+";position:absolute;right:14px;bottom:10px;color:#fff;font-size:28px;font-weight:300;opacity:0;transition:.3s;}
.l-gal__item:hover:after{opacity:1;}
.l-places--big{row-gap:56px;}
@media(max-width:767px){.l-gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:8px;}.l-gal__item:nth-child(6n+1){grid-column:span 2;grid-row:span 1;}}

/* =========================================================
   Layout Universal con estilo Lumen (Descubre Madrid)
   ========================================================= */
.l-sec--head{padding-bottom:0 !important;}
.l-sec--head .l-head{margin-bottom:48px;}
.universalLayout1-layout.l-ul-madrid{padding:0 0 120px !important;}
.l-ul-madrid .ul-grid{gap:56px 28px !important;}
.l-ul-madrid.ul-cols-4 .ul-card{flex:0 1 calc(25% - 21px) !important;min-width:220px;}
.l-ul-madrid .ul-card{background:transparent;border:none;border-radius:0;box-shadow:none;}
.l-ul-madrid .ul-card__image{aspect-ratio:4/3;overflow:hidden;border-radius:0 !important;border-bottom:2px solid var(--brass);margin-bottom:22px;}
.l-ul-madrid .ul-card__image img{width:100%;height:100% !important;object-fit:cover;border-radius:0 !important;transition:transform 1.2s ease;}
.l-ul-madrid .ul-card:hover .ul-card__image img{transform:scale(1.05);}
.l-ul-madrid .ul-card__content{padding:0 !important;text-align:left;}
.l-ul-madrid .ul-card__tagline p{font-family:var(--fontPrimary) !important;font-size:22px !important;font-weight:500;color:var(--brass) !important;margin:0 0 6px !important;font-variant-numeric:lining-nums;letter-spacing:0;text-transform:none;}
body .l-ul-madrid .ul-card__title h3{font-family:var(--fontPrimary);font-size:24px !important;font-weight:500;color:var(--ink);margin:0 0 10px !important;line-height:1.15;}
.l-ul-madrid .ul-card__description p{font-size:15px !important;line-height:1.7 !important;color:var(--ink-soft);margin:0 !important;}
.l-ul-madrid .ul-card__actions{margin-top:18px;}
.l-ul-madrid .ul-btn-primary{background:none !important;border:none !important;border-bottom:1px solid var(--brass) !important;border-radius:0 !important;padding:0 0 6px !important;font-family:var(--fontSecondary);font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink) !important;box-shadow:none !important;}
.l-ul-madrid .ul-btn-primary:after{content:"\2192";margin-left:10px;}
.l-ul-madrid .ul-btn-primary:hover{color:var(--brass) !important;}
@media(max-width:1199px){.l-ul-madrid.ul-cols-4 .ul-card{flex:0 1 calc(50% - 14px) !important;}}
@media(max-width:767px){.universalLayout1-layout.l-ul-madrid{padding-bottom:64px !important;}.l-ul-madrid.ul-cols-4 .ul-card{flex:0 1 100% !important;}}
/* Botones de Layout Universal: más especificidad que el estilo del componente */
html body .universalLayout1-layout.l-ul-madrid .ul-card__actions a.btn.ul-btn-primary{display:inline-block;color:var(--ink) !important;background:none !important;}
html body .universalLayout1-layout.l-ul-madrid .ul-card__actions a.btn.ul-btn-primary:hover{color:var(--brass) !important;}
.l-cta__actions{align-items:center;}

/* =========================================================
   Cabeceras: las columnas se identifican por su contenido, no por su posición,
   porque el editor de páginas inserta sus propias barras dentro de las filas
   ========================================================= */
.lumen-hero .container-hero>.row>[class*="col-"]:not(:has(.lh)),
.lumen-pagehead .container-hero>.row>[class*="col-"]:not(:has(.lp)){display:none !important;}
.lumen-hero .container-hero>.row>[class*="col-"]:has(.lh),
.lumen-pagehead .container-hero>.row>[class*="col-"]:has(.lp){flex:0 0 100% !important;max-width:100% !important;width:100% !important;}
.editMode .lh{min-height:70vh;}
/* Cabecera en pantallas de 1200–1440 px: logo y menú más compactos para que no se monten los iconos */
@media(max-width:1440px){
  .lumen-logo{gap:10px;}
  .lumen-logo__icon{height:38px;}
  .lumen-logo__mark{font-size:27px;letter-spacing:.26em;margin-right:-.26em;}
  .lumen-logo__sub{font-size:8.5px;letter-spacing:.32em;}
  .header-desktop .navbar-nav a,.top-header .navbar-nav .nav-link{font-size:10.5px !important;letter-spacing:.07em !important;padding-left:.35rem !important;padding-right:.35rem !important;}
  .top-header{padding-left:2vw;padding-right:2vw;}
}
.header-desktop>.row>[class*="col-"]{min-width:0;}
.header-desktop .navbar-nav{flex-wrap:nowrap;}
@media(min-width:1441px) and (max-width:1600px){
  .lumen-logo__icon{height:40px;}
  .lumen-logo__mark{font-size:28px;letter-spacing:.26em;margin-right:-.26em;}
  .header-desktop .navbar-nav a,.top-header .navbar-nav .nav-link{font-size:11px !important;letter-spacing:.09em !important;padding-left:.4rem !important;padding-right:.4rem !important;}
}
.lumen-logo__sub,.lumen-logo__mark{white-space:nowrap;}
@media(max-width:1600px){.header-desktop .lumen-logo__sub{letter-spacing:.24em;}}
/* Desplegable del menú (El hotel) */
.header-desktop .nav-item.dropdown{position:relative;}
.header-desktop .dropdown-toggle:after{border:none;content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px;vertical-align:middle;}
.header-desktop .dropdown-menu{min-width:240px;padding:12px 0;margin-top:0 !important;border:none;border-top:2px solid var(--brass);border-radius:0;background:#fff;box-shadow:0 24px 50px -24px rgba(11,19,32,.35);}
.header-desktop .dropdown-item{font-family:var(--fontSecondary);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:12px 24px;}
.header-desktop .dropdown-item:hover,.header-desktop .dropdown-item:focus{background:var(--cream);color:var(--brass);}
.top-header-mobile .dropdown-menu{border:none;border-left:2px solid var(--brass);border-radius:0;padding-left:8px;}
.top-header-mobile .dropdown-item{font-size:13px;letter-spacing:.1em;text-transform:uppercase;}

/* =========================================================
   Habitaciones: Preview + fichas
   ========================================================= */
.l-preview{margin:0;}
.l-preview .htt-contentExtra .eyebrow{color:var(--brass-light) !important;}
body .l-preview .htt-contentExtra h3{font-family:var(--fontPrimary);font-size:clamp(2.2rem,4vw,3.4rem) !important;font-weight:400;color:#fff;margin:6px 0 16px !important;}
.l-preview .htt-contentExtra .l-clamp{-webkit-line-clamp:4;}
.l-preview .htt-contentExtra .l-clamp p{font-size:16px !important;color:rgba(255,255,255,.88) !important;}
.l-preview .htt-button{background:var(--brass) !important;color:var(--ink) !important;font-size:13px !important;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:16px 34px !important;border:1px solid var(--brass) !important;}
.l-preview .htt-button:hover{background:transparent !important;color:#fff !important;}
.preview .htt-contentExtra{background:linear-gradient(90deg,rgba(11,19,32,.85) 0%,rgba(11,19,32,.45) 55%,rgba(11,19,32,.1) 100%) !important;}
.preview .swiper-thumbs .htt-preview-app-content p{font-size:clamp(1.2rem,1.6vw,1.6rem) !important;}
.l-rooms{display:flex;flex-direction:column;gap:110px;}
.l-room{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:center;}
.l-room--rev .l-room__gal{order:2;}
.l-room__gal{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.l-room__main{grid-column:1/-1;aspect-ratio:16/10;overflow:hidden;}
.l-room__thumb{aspect-ratio:4/3;overflow:hidden;}
.l-room__gal img{width:100%;height:100% !important;object-fit:cover;display:block;transition:transform 1.2s ease;}
.l-room:hover .l-room__main img{transform:scale(1.03);}
body .l-room__title{font-size:clamp(2rem,3vw,2.8rem) !important;margin-bottom:16px !important;}
.l-room__desc p{font-size:16px !important;line-height:1.75 !important;}
.l-room__specs{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:26px 0 30px;padding-top:22px;border-top:1px solid var(--line);}
.l-room__specs dt{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);padding-top:3px;}
.l-room__specs dd{margin:0;font-size:15px;color:var(--ink);}
.l-room__ctas{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
@media(max-width:991px){.l-room{grid-template-columns:1fr;}.l-room--rev .l-room__gal{order:0;}.l-rooms{gap:72px;}}
.header-desktop .dropdown-toggle:not(.nav-link)::after{display:none !important;}
/* Página El hotel */
.l-crs-text p{font-size:17px !important;line-height:1.8 !important;}
.l-crs-text p:first-child{font-size:19px !important;color:var(--ink) !important;}
.l-crs-text span{color:inherit !important;}
.l-duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.l-duo__item{display:block;background:#fff;color:var(--ink) !important;transition:.4s all;}
.l-duo__item:hover{box-shadow:0 24px 50px -30px rgba(11,19,32,.45);transform:translateY(-4px);}
.l-duo__img{aspect-ratio:16/10;overflow:hidden;}
.l-duo__img img{width:100%;height:100% !important;object-fit:cover;display:block;transition:transform 1.2s ease;}
.l-duo__item:hover .l-duo__img img{transform:scale(1.04);}
.l-duo__body{padding:36px 40px 40px;}
.l-duo__body h3{font-size:clamp(1.8rem,2.6vw,2.4rem);margin-bottom:12px !important;}
.l-duo__body p{margin-bottom:22px !important;}
@media(max-width:767px){.l-duo{grid-template-columns:1fr;}.l-duo__body{padding:28px 24px 30px;}}
.l-types--3{grid-template-columns:repeat(3,1fr);}@media(max-width:767px){.l-types--3{grid-template-columns:1fr;}}
/* FAQ */
.l-faq .row{max-width:900px;margin-left:auto;margin-right:auto;}
.faqs .accordion-item{background:transparent;border-bottom:1px solid var(--line) !important;margin:0;}
.faqs .accordion-button{font-family:var(--fontPrimary) !important;font-size:clamp(1.3rem,2vw,1.7rem) !important;color:var(--ink) !important;padding:26px 0 !important;background:transparent !important;border:none !important;}
.faqs .accordion-button::after,.faqs .accordion-button.collapsed::after{color:var(--brass);}
.faqs .accordion-body{padding:0 0 26px !important;}
.faqs .accordion-body p{font-size:16px !important;line-height:1.8 !important;color:var(--ink-soft);}
/* Contacto */
.l-contact .row{align-items:flex-start;}
.l-contact__info{padding-right:4vw;}
.l-contact form{background:#fff;padding:40px;border-top:2px solid var(--brass);}
.l-contact form .form-row input,.l-contact form .form-row textarea,.l-contact form .form-row select{border:1px solid var(--line) !important;background:#fff !important;color:var(--ink) !important;}
.l-contact form label{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);}
.l-contact form .button-wrapper input[type=submit]{background:var(--ink) !important;font-family:var(--fontSecondary);font-size:13px !important;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:16px 34px !important;height:auto !important;}
.l-contact form .button-wrapper input[type=submit]:hover{background:var(--brass) !important;color:var(--ink) !important;}
.l-map{display:block;width:100%;height:460px;border:0;filter:grayscale(.35) contrast(1.05);}
@media(max-width:767px){.l-contact form{padding:26px 20px;}.l-map{height:340px;}}
/* Páginas legales */
.lp--legal{min-height:44vh;padding-top:120px;padding-bottom:80px;}
.l-legal{max-width:820px;margin:0 auto;}
.l-legal__note{font-size:13px !important;color:var(--stone) !important;border-left:2px solid var(--brass);padding-left:16px;margin-bottom:40px !important;}
.l-legal section{padding:28px 0;border-top:1px solid var(--line);}
body .l-legal h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:14px !important;display:flex;gap:16px;align-items:baseline;}
.l-legal h2 span{font-family:var(--fontSecondary);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--brass);}
.l-legal p,.l-legal li{font-size:16px !important;line-height:1.8 !important;}
.l-legal ul{padding-left:18px;}
.l-legal ul li{list-style:disc;}
.l-list:has(>div:nth-child(6):last-child){grid-template-columns:repeat(3,1fr);}
@media(max-width:991px){.l-list:has(>div:nth-child(6):last-child){grid-template-columns:1fr 1fr;}}
@media(max-width:767px){.l-list:has(>div:nth-child(6):last-child){grid-template-columns:1fr;}}
/* ===== LUMEN · HOTETEC REWARDS (tabla y niveles por audiencia) ===== */
.lx-rw{--b:#A66E3F;--s:#8E969E;--g:#B8913A;}
.lx-rw-wrap{overflow-x:auto;margin-top:2.5rem;border:1px solid var(--line,#e6dfd2);background:#fff;}
.lx-rw-table{width:100%;border-collapse:collapse;min-width:640px;font-size:.95rem;color:var(--ink,#0B1320);}
.lx-rw-table th,.lx-rw-table td{padding:14px 18px;border-bottom:1px solid var(--line,#ece6da);text-align:center;}
.lx-rw-table thead th{background:var(--cream,#F7F3EC);font-weight:500;vertical-align:bottom;}
.lx-rw-table th:first-child,.lx-rw-table td:first-child{text-align:left;}
.lx-rw-table thead th:first-child{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:500;letter-spacing:.01em;}
.lx-rw-lv{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;}
.lx-rw-badge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--ink,#0B1320);color:#fff;font-family:"Cormorant Garamond",serif;font-weight:700;font-size:1.05rem;letter-spacing:-.04em;}
.lx-rw-badge--reg{background:transparent;color:var(--ink,#0B1320);border:1.5px solid var(--ink,#0B1320);}
.lx-rw-badge--b{background:var(--b);}.lx-rw-badge--s{background:var(--s);}.lx-rw-badge--g{background:var(--g);}
.lx-rw-table tbody tr:hover td{background:#fbf9f5;}
.lx-rw-ok{display:inline-block;width:22px;height:22px;border-radius:50%;background:var(--brass,#B08D57);position:relative;}
.lx-rw-ok:after{content:"";position:absolute;left:7.5px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.lx-rw-no{display:inline-block;width:14px;height:1px;background:#c9c1b2;vertical-align:middle;}
.lx-rw-notes{margin-top:1rem;font-size:.82rem;opacity:.75;line-height:1.6;}
.lx-tier{display:grid;grid-template-columns:120px 1fr;gap:2.5rem;align-items:start;}
.lx-tier .lx-rw-badge{width:120px;height:120px;font-size:2.6rem;}
.lx-tier__perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;margin:2rem 0 0;padding:0;list-style:none;}
.lx-tier__perks li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#ece6da);}
.lx-tier__perks .lx-rw-ok{flex:0 0 22px;}
.lx-tier__next{margin-top:2.5rem;padding:2rem 2.25rem;background:var(--cream,#F7F3EC);border-left:3px solid var(--brass,#B08D57);border-radius:0;}
.lx-tier__next h3{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:500;margin:0 0 .75rem;}
.lx-tier__next p{margin:.5rem 0 0;}
@media(max-width:767px){.lx-tier{grid-template-columns:1fr;gap:1.25rem}.lx-tier .lx-rw-badge{width:72px;height:72px;font-size:1.6rem}.lx-tier__perks{grid-template-columns:1fr}.lx-tier__next{padding:1.5rem}}

/* Audiencias: ocultar secciones cuyo contenedor oculta el CMS (evita huecos vacíos) */
section.l-sec:has(> .container[style*="none"]){display:none}

/* Botones de socio del hero: fuera si hay sesión iniciada */
.lx-logged .lumen-pagehead a[href*="registro-cliente"],
.lx-logged .lumen-pagehead a[href*="consultar-reservas"]{display:none}

/* Enlace secundario sobre fondo oscuro (bloque l-club) */
.l-club .l-link{color:#F4EFE6!important;border-bottom-color:var(--brass,#B08D57)!important}
.l-club .l-link:hover{color:var(--brass,#B08D57)!important}

/* ===== LUMEN · Preview habitaciones (lista lateral, flechas y meta) ===== */
.l-preview .swiper-thumbs{width:440px !important;max-width:40%;padding-right:64px !important;}
.l-preview .swiper-thumbs .swiper-slide{border:0 !important;border-top:1px solid rgba(255,255,255,.22) !important;background:transparent !important;background-image:none !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:center !important;padding:0 0 0 26px !important;cursor:pointer;position:relative;transition:background .3s ease;}
.l-preview .swiper-thumbs .swiper-slide:last-child{border-bottom:1px solid rgba(255,255,255,.22) !important;}
.l-preview .swiper-thumbs .swiper-slide img{display:none !important;}
.l-preview .swiper-thumbs .swiper-slide::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:var(--brass);transform:scaleY(0);transition:transform .35s ease;}
.l-preview .swiper-thumbs .swiper-slide-thumb-active{background:rgba(11,19,32,.45) !important;}
.l-preview .swiper-thumbs .swiper-slide-thumb-active::before{transform:scaleY(1);}
.l-preview .swiper-thumbs .htt-preview-app-content{width:auto !important;text-align:left !important;}
.l-preview .swiper-thumbs .htt-preview-app-content p{font-family:var(--fontPrimary),'Cormorant Garamond',serif !important;font-weight:400 !important;font-size:clamp(1.5rem,2vw,1.9rem) !important;line-height:1.15 !important;color:rgba(255,255,255,.78) !important;text-align:left !important;margin:0 !important;transition:color .3s ease;}
.l-preview .swiper-thumbs .swiper-slide:hover .htt-preview-app-content p{color:#fff !important;}
.l-preview .swiper-thumbs .swiper-slide-thumb-active .htt-preview-app-content p{color:#fff !important;font-style:italic;}
.l-preview .swiper-button-prev,.l-preview .swiper-button-next{width:40px !important;height:40px !important;border:1px solid rgba(255,255,255,.35) !important;border-radius:50% !important;background:transparent !important;color:#fff !important;transition:all .25s ease;}
.l-preview .swiper-button-prev:hover,.l-preview .swiper-button-next:hover{background:var(--brass) !important;border-color:var(--brass) !important;color:var(--ink) !important;}
.l-preview .swiper-button-prev::after,.l-preview .swiper-button-next::after{font-size:13px !important;font-weight:700;}
.l-preview .swiper-button-prev svg,.l-preview .swiper-button-next svg{width:14px !important;height:14px !important;}
.l-preview .htt-contentExtraElement .eyebrow{color:rgba(255,255,255,.7) !important;font-size:11px !important;letter-spacing:.24em !important;}
.l-preview .htt-contentExtraElement .eyebrow::before{display:none !important;}
.l-preview .htt-contentExtraGeneric .eyebrow{color:var(--brass-light) !important;}
@media (max-width:991px){.l-preview .swiper-thumbs{display:none !important;}}
/* Botón flotante "Reservar" del motor */
html body .grid-motor #buttonShowSearcherScroll{font-family:Montserrat,sans-serif !important;font-size:12px !important;font-weight:600 !important;letter-spacing:.22em !important;text-transform:uppercase !important;padding:15px 30px !important;background:var(--brass) !important;color:var(--ink) !important;border:1px solid var(--brass) !important;border-radius:0 !important;line-height:1 !important;box-shadow:0 8px 24px rgba(11,19,32,.18);transition:all .25s ease;}
html body .grid-motor #buttonShowSearcherScroll:hover{background:var(--ink) !important;border-color:var(--ink) !important;color:#fff !important;}

/* Preview habitaciones: nombre en una línea + precio desde */
.l-preview .swiper-thumbs{width:500px !important;}
.l-preview .swiper-thumbs .htt-preview-app-content{max-width:100% !important;}
.l-preview .swiper-thumbs .htt-preview-app-content p:not(.price_from_container){white-space:nowrap !important;overflow:hidden;text-overflow:ellipsis;font-size:clamp(1.3rem,1.55vw,1.65rem) !important;}
.l-preview .swiper-thumbs .htt-preview-app-content p.price_from_container{font-family:Montserrat,sans-serif !important;font-style:normal !important;font-size:11px !important;font-weight:600 !important;letter-spacing:.2em !important;text-transform:uppercase !important;color:var(--brass-light) !important;margin-top:10px !important;line-height:1.4 !important;white-space:nowrap;}

/* Cabeceras con motor superpuesto: reservar hueco para que no tape los botones */
@media (min-width:992px){.lumen-pagehead:has(.grid-motor) .lp{padding-bottom:220px !important;}}

/* Cursiva de títulos: margen para que la puntuación que sigue (?, !, :) no la pise */
h1 em,h2 em,h3 em,.l-title em{padding-right:.1em;}

/* ===== LUMEN · Blog: listado con destacado y post a dos columnas ===== */
.l-blog-list .badge{display:none !important;}
@media (min-width:992px){
  /* Listado (página blog) */
  .l-sec:not(.l-sec--cream) > .container:has(.l-blog-list){max-width:1320px !important;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row{--bs-gutter-x:48px;row-gap:64px;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child{flex:0 0 100% !important;max-width:100% !important;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child .card{display:grid !important;grid-template-columns:1.5fr 1fr;align-items:stretch;background:var(--cream,#F5F0E8) !important;margin:0 !important;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child .card > a,.l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child .figure,.l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child .figure-img{height:100%;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child img{height:100% !important;min-height:440px;object-fit:cover;aspect-ratio:auto !important;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child .card-body{display:flex;flex-direction:column;justify-content:center;padding:56px 60px !important;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:first-child .card-title{font-size:clamp(2rem,2.5vw,2.75rem) !important;line-height:1.12 !important;margin-bottom:28px !important;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:nth-child(n+2){flex:0 0 50% !important;max-width:50% !important;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:nth-child(n+2) img{aspect-ratio:16/9;object-fit:cover;}
  .l-sec:not(.l-sec--cream) .l-blog-list > .row > div:nth-child(n+2) .card-title{font-size:clamp(1.6rem,1.8vw,2rem) !important;}
  /* "Más historias" (post): tarjetas horizontales a dos columnas */
  .l-sec--cream .l-blog-list > .row > div{flex:0 0 50% !important;max-width:50% !important;}
  .l-sec--cream .l-blog-list .card{display:grid !important;grid-template-columns:44% 1fr;align-items:center;column-gap:28px;}
  .l-sec--cream .l-blog-list .card img{aspect-ratio:4/3;object-fit:cover;}
  .l-sec--cream .l-blog-list .card-body{padding:8px 8px 8px 0 !important;}
  /* Post */
  .l-article__head,.l-article__visual{max-width:1240px !important;}
  .l-article__head > .row{display:grid !important;grid-template-columns:1.3fr 1fr;column-gap:80px;align-items:end;}
  .l-article__head > .row > .w-100{display:none !important;}
  .l-article__head > .row > .col{width:auto !important;max-width:none !important;}
  .l-article__head > .row > .col:nth-child(1){grid-column:1;grid-row:1 / span 2;align-self:end;}
  .l-article__head > .row > .col:nth-child(3){grid-column:2;grid-row:1;}
  .l-article__head > .row > .col:nth-child(5){grid-column:2;grid-row:2;}
  .l-article__head h1{font-size:clamp(2.8rem,4vw,4.4rem) !important;line-height:1.05 !important;margin:0 !important;}
  .l-article__visual img{width:100% !important;aspect-ratio:21/9;object-fit:cover;}
  .l-article__body{max-width:860px !important;}
  .l-article__body .newsBlockText p{font-size:17px !important;line-height:1.85 !important;}
}

/* ===== LUMEN · Home habitaciones: paneles que se despliegan (5 habitaciones) ===== */
.lx-acc{display:flex;gap:10px;height:600px;margin-top:8px;}
.lx-acc__p{position:relative;flex:1 1 0;min-width:0;overflow:hidden;cursor:pointer;background:var(--ink,#0B1320);transition:flex .7s cubic-bezier(.6,.05,.25,1);outline:none;}
.lx-acc__p.is-open{flex:5.2 1 0;cursor:default;}
.lx-acc__p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease,filter .6s ease;filter:saturate(.85) brightness(.8);}
.lx-acc__p.is-open img{filter:none;transform:scale(1.02);}
.lx-acc__p::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,19,32,.05) 30%,rgba(11,19,32,.88) 100%);pointer-events:none;}
.lx-acc__p:not(.is-open)::after{background:linear-gradient(180deg,rgba(11,19,32,.35),rgba(11,19,32,.75));}
.lx-acc__p:focus-visible{box-shadow:inset 0 0 0 2px var(--brass,#B08D57);}
.lx-acc__v{position:absolute;z-index:2;left:0;right:0;bottom:28px;display:flex;flex-direction:column;align-items:center;gap:18px;color:#fff;transition:opacity .35s ease;}
.lx-acc__v span:last-child{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--fontPrimary),'Cormorant Garamond',serif;font-size:1.55rem;line-height:1;white-space:nowrap;letter-spacing:.01em;}
.lx-acc__n{font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--brass-light,#D9C4A0);}
.lx-acc__p.is-open .lx-acc__v{opacity:0;}
.lx-acc__c{position:absolute;z-index:2;left:0;bottom:0;width:min(560px,100%);padding:0 44px 42px;color:#fff;opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .45s ease;pointer-events:none;}
.lx-acc__p.is-open .lx-acc__c{opacity:1;transform:none;transition-delay:.35s;pointer-events:auto;}
.lx-acc__tag{font-family:Montserrat,sans-serif;font-size:11px !important;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-light,#D9C4A0) !important;margin:0 0 12px !important;}
.lx-acc__c h3{font-family:var(--fontPrimary),'Cormorant Garamond',serif;font-size:clamp(2rem,2.6vw,2.7rem) !important;font-weight:400;color:#fff !important;margin:0 0 12px !important;line-height:1.08;}
.lx-acc__c .l-clamp,.lx-acc__c .l-clamp p{color:rgba(255,255,255,.86) !important;font-size:15px !important;-webkit-line-clamp:3;}
.lx-acc__c .l-link{color:#fff !important;border-bottom-color:var(--brass,#B08D57) !important;}
.lx-acc__c .l-link:hover{color:var(--brass-light,#D9C4A0) !important;}
@media (max-width:991px){
  .lx-acc{flex-direction:column;height:auto;gap:8px;}
  .lx-acc__p{flex:none;height:92px;transition:height .6s cubic-bezier(.6,.05,.25,1);}
  .lx-acc__p.is-open{flex:none;height:500px;}
  .lx-acc__v{left:22px;right:22px;bottom:auto;top:50%;transform:translateY(-50%);flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;}
  .lx-acc__v span:last-child{writing-mode:horizontal-tb;transform:none;font-size:1.45rem;}
  .lx-acc__c{padding:0 22px 26px;}
}

/* Paneles habitaciones: número arriba y meta con más contraste */
@media (min-width:992px){.lx-acc__v{top:28px;bottom:28px;justify-content:space-between;}}
.lx-acc__tag{text-shadow:0 1px 8px rgba(11,19,32,.6);color:#E8D7B5 !important;}
.lx-acc__c{text-shadow:0 1px 10px rgba(11,19,32,.35);}

/* ===== LUMEN · Cabecera <1200px: logo | iconos | ☰ en una fila (menú plegado nativo) ===== */
@media (max-width:1199.98px){
  .top-header .header-desktop > .row{flex-wrap:nowrap !important;align-items:center !important;margin-left:0 !important;margin-right:0 !important;}
  .top-header .header-desktop > .row > div:nth-child(1){flex:1 1 auto !important;width:auto !important;max-width:none !important;min-width:0;}
  .top-header .header-desktop > .row > div:nth-child(3){flex:0 0 auto !important;width:auto !important;max-width:none !important;}
  .top-header .header-desktop > .row > div:nth-child(2){order:3;flex:0 0 auto !important;width:auto !important;max-width:none !important;margin:0 !important;padding-left:6px !important;position:static !important;}
  .top-header .header-desktop .navbar{padding:0 !important;width:auto !important;margin:0 !important;}
  .top-header .header-desktop .navbar > .container-fluid{padding:0 !important;width:auto !important;}
  .top-header .navbar-toggler{border:0 !important;padding:6px !important;box-shadow:none !important;}
}

/* Cabecera móvil: logo algo más compacto para que quepan iconos y ☰ */
@media (max-width:575.98px){
  .top-header .lumen-logo{gap:7px !important;}
  .top-header .lumen-logo svg{width:40px !important;height:auto !important;}
  .top-header .lumen-logo__mark{font-size:21px !important;letter-spacing:.24em !important;}
  .top-header .lumen-logo__sub{font-size:7px !important;letter-spacing:.2em !important;}
}

/* Botón fijo "Reservar" del motor en móvil (lo pinta la plataforma con sistema MPH) */
html body #buttonShowSearcherMobile{font-family:Montserrat,sans-serif !important;font-size:13px !important;font-weight:600 !important;letter-spacing:.24em !important;text-transform:uppercase !important;line-height:1 !important;padding:19px 24px !important;background:var(--brass,#B08D57) !important;color:var(--ink,#0B1320) !important;border:0 !important;border-radius:0 !important;box-shadow:0 -6px 24px rgba(11,19,32,.18) !important;}
html body #buttonShowSearcherMobile:hover,html body #buttonShowSearcherMobile:active{background:var(--ink,#0B1320) !important;color:#fff !important;}

/* Texto solo para lectores de pantalla / buscadores */
.lx-sr{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}

/* ===== LUMEN · Accesibilidad: contraste AA de textos sobre fondo claro =====
   El latón #B08D57 sobre blanco/crema no llega a 4.5:1; para TEXTO en zonas claras se usa --brass-text.
   Fondos, botones, líneas y textos sobre fondo oscuro siguen con --brass / --brass-light. */
:root{--stone:#6F6A60;--brass-text:#8A6835}
.top-header .lumen-logo__sub,.top-header .navbar-nav .nav-link[aria-current] > span{color:var(--brass-text) !important}
:is(.l-sec:not(.l-sec--ink),.l-ul-madrid) :is(.eyebrow,:is(h1,h2,h3) em,:is(h2,h3) > span,small,.l-link:hover,.l-types span,.ul-tagline-text):not(:is(.l-club,.lx-acc,.lp--img,.l-preview,.lx-rw-badge) *){color:var(--brass-text) !important}
.lx-rw{--b:#94612F;--s:#6C747C;--g:#8A6824}
