@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Montserrat:ital,wght@0,400;0,600;0,700;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Clicker+Script&display=swap');

/*.cursiva-font{
font-family: 'Clicker Script', cursive!important;}*/



:root{
    --primary:#957C4F;
    --secondary:#f7f5f0;
    --white:#FFFFFF;
    --text:#222222;
    --text-light:#666666;
    --border:#E9E5DE;
    --shadow:0 15px 40px rgba(0,0,0,.08);
    --radius:16px;
    --transition:.35s ease;
    --cursive: 'Cormorant Garamond',serif;
}

a:hover, a:focus, a:active {
    outline: none!important;
}

body {
    font-family:'Inter', sans-serif!important;
    color:var(--text);
    background:#fff;
    line-height:1.8;
    font-weight:400;
}

section{
    padding:90px 0;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}

a{
    transition:var(--transition);
    text-decoration:none;
}

a:hover{
    text-decoration:none;
}



/*** HEADER ***/



#logo-header {
    width: 110px;
    /*display: none;*/
}


#header-HOSTAL .navbar-default {
   background-color: transparent;
   border:none;
   float:right;
   margin-top: 12px;
   margin-bottom:0;
   width:100%
}

.navbar{

    transition:
        transform .35s ease,
        opacity .35s ease,
        background .35s ease,
        box-shadow .35s ease,
        min-height .35s ease;

}

.navbar.navbar-fixed-top{

    background:rgba(255,255,255,.85);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    border-bottom:1px solid rgba(180,180,180,.15);

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    min-height:80px !important;
    height:80px;

    animation:navbarReveal .35s ease forwards;

}
.navbar.navbar-fixed-top .navbar-brand {
    height: 80px!important;
}
.navbar.navbar-fixed-top .navbar-nav {
    margin-top: 15px!important;
}

.navbar-fixed-top .navbar-collapse {
    background-color: #ffffff;
}

@keyframes navbarReveal{

    from{

        transform:translateY(-20px);
        opacity:0;

    }

    to{

        transform:translateY(0);
        opacity:1;

    }

}
/*==================================================
HEADER
==================================================*/

.navbar{

    margin:0;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
}



.navbar-brand{

    height:auto;
    padding:10px;
}

.logo{

    max-height:82px;
    width:auto;

}


/*==================================================
MENU
==================================================*/

@media(min-width:769px) {
    .navbar-nav{
        float:right;
        margin-top:24px;
    }
}


.navbar-nav > li{
    margin:0 10px;
}

.navbar-nav > li > a{
    position:relative;
    padding:15px 6px;
    color:#222;
    font-size:14px;
    transition:color .35s ease;
    background:none !important;
}


/* Línea */

.navbar-nav > li > a:after{
    content:"";
    position:absolute;
    left:50%;
    bottom:4px;
    width:0;
    height:2px;
    background:var(--primary);
    transition:all .35s ease;
    transform:translateX(-50%);
}


/* Hover */

.navbar-nav > li > a:after{

    left:50%;
    transform:translateX(-50%);
    width:0;

}

.navbar-nav > li > a:hover:after{

    width:100%;

}


/* Activo */

.navbar-nav > li.active > a{

    color:var(--primary);

    background:none;

}

.navbar-nav > li.active > a:after{

    width:100%;

}


/* Bootstrap */

.nav > li > a:focus,
.nav > li > a:hover{

    background:none;

}

.navbar-toggle span {
    background-color: var(--text-light);
}

.navbar-toggle {
    margin-top: 20px!important;
}


/*** FOOTER ***/

footer {
    padding: 20px 0 50px 0;
    background-color: #333333;
}
footer h4 {
    color: var(--primary);
    font-weight: 700;
    margin-top: 30px;
}
footer p, footer p a {
    color: #ffffff;
}
footer a:hover {
    color: var(--primary);
}
footer .redes {
    margin-bottom: 20px;
}
footer .redes a {
    color: var(--primary);
}

.wrapper-trip {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 0 0;
}

.wrapper-trip img {
    max-width: 200px;
}

/*** GENERALES ***/

.section-header{
    text-align:center;
    max-width:760px;
    margin:80px auto 70px;
}

/*==================================================
PAGE HEADER
==================================================*/

.page-header{
    position:relative;
    height:150px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 0;
    margin-top: 0!important;
}

.page-header-large {
    height: 400px!important;
}

.page-header-bg{
    position:absolute;
    inset:0;
}

.page-header-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.page-header-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.65);
}

.page-header-content{
    position:relative;
    z-index:5;
    text-align:center;
    color:#fff;
    max-width:900px;
    margin: auto;
}

.page-header-content h1{
    font-family:'Cormorant Garamond',serif;
    font-size:60px;
    font-weight:500;
    line-height:1.1;
    margin:0;
}

.page-header-content i {
    color: var(--primary);
    font-size: 60px;
}

.page-header-content h1 span{
    font-style:italic;
    color:var(--primary);
    display: block;
    font-weight:400;
}

.page-header-content p{
    font-size:18px;
    line-height:1.7;
    max-width:760px;
    margin:35px auto 0;
}

.section-subtitle{
    display:inline-block;
    font-size:1.2rem;
    letter-spacing:3px;
    color:var(--text-light);
    text-transform:uppercase;
    position:relative;
    margin-bottom:22px;
}

.section-subtitle:after{
    content:"";
    display:block;
    width:42px;
    height:2px;
    background:var(--primary);
    margin:14px auto 0;
}

.section-title{
    font-family:var(--cursive);
    font-size:58px;
    line-height:1.05;
    margin:0;
    font-weight:500;
}

.section-title span{
    display:block;
    color:var(--primary);
    font-style:italic;
    font-weight:400;
}

.section-text{
    max-width:700px;
    margin:30px auto 0;
    color:var(--text-light);
}

.btn-hotel{
    display:inline-block;
    padding:14px 34px;
    border-radius:40px;
    background:var(--primary);
    color:#fff;
    font-size:.95rem;
    letter-spacing:.5px;
    transition:var(--transition);
}

.btn-hotel:hover{
    color:#fff;
    transform:translateY(-2px);
}

.btn-outline{
    background:transparent;
    color:#fff;
    border:1px solid rgba(255,255,255,.7);
}

.btn-outline:hover{
    background:var(--primary);
    border-color:var(--primary);
}

.card-hotel{
    background:#fff;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:var(--transition);
    height:100%;
    margin-bottom: 20px;
}

.card-hotel:hover{
    transform:translateY(-8px);
}

.card-image{
    position:relative;
    overflow:hidden;
    aspect-ratio:4 / 3;
}

.card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.8s ease;
}

.card-hotel:hover .card-image img{
    transform:scale(1.08);
}

.card-hotel .icon-circle {
    margin-top: -80px;
    z-index: 1;
    position: relative;
}

.image-rounded{
    overflow:hidden;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.card-hotel h3 {
    font-family: var(--cursive);
}

.image-rounded img{
    transition:.8s ease;
}

.image-rounded:hover img{
    transform:scale(1.06);
}

.card-body{
    padding:35px 28px;
    text-align:center;
}

.icon-circle{
    width:74px;
    height:74px;
    background:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 25px;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.icon-circle i{
    color:var(--primary);    
    font-size:30px;
}

.bg-light{
    background:var(--secondary);
}

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

.mb-30{
    margin-bottom:30px;
}

.mb-50{
    margin-bottom:50px;
}

.mb-70{
    margin-bottom:70px;
}

@media(max-width:991px){

section{
padding:70px 0;
}

.section-title{
font-size:44px;
}

}

@media(max-width:767px){

section{
padding:60px 0;
}

.section-title{
font-size:34px;
}



}


/*** HOME ***/


/*==================================================
HERO
==================================================*/

.hero-home{
    position:relative;
    overflow:hidden;
    padding: 0!important;
}

.hero-home .carousel-inner>.item{
    height:720px;
}

.hero-home .carousel-inner>.item img{
    width:100%;
    height:100%;
    object-fit:cover;
}


/* Overlay */

.hero-home:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.55) 0%,
        rgba(0,0,0,.35) 45%,
        rgba(0,0,0,.15) 100%
    );
    z-index:2;
}


/* Contenido */

.hero-content{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    z-index:10;
}

.hero-box{
    max-width:560px;
    color:#fff;
}

.hero-box h1{
    font-family:'Cormorant Garamond',serif;
    font-size:72px;
    font-weight:500;
    line-height:1;
    margin-bottom:15px;
}

.hero-box h1 span{
    display:block;
    color:var(--primary);
    font-style:italic;
}

.hero-divider{
    width:70px;
    height:4px;
    background:var(--primary);
    margin:25px 0;
}

.hero-box p{
    font-size:21px;
    line-height:1.8;
    margin-bottom:35px;
    max-width:470px;
}


/* Botón */

.hero-box .btn-hotel{
    padding:16px 36px;
    font-size:16px;
}


/* Indicadores */

.hero-home .carousel-indicators{
    bottom:35px;
}

.hero-home .carousel-indicators li{
    width:12px;
    height:12px;
    border:none;
    background:rgba(255,255,255,.5);
    margin:0 5px;
}

.hero-home .carousel-indicators .active{
    width:36px;
    border-radius:20px;
    background:var(--primary);
}


.hotel-presentacion{
    padding:90px 0;
    background:#faf8f5;
}

.hotel-presentacion-top{
    display:flex;
    align-items:center;
    margin-bottom:70px;
}

.hotel-img-principal{
    overflow:hidden;
    border-radius:18px;
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.hotel-img-principal img{
    width:100%;
    display:block;
}

.hotel-volanta{
    display:block;
    margin-bottom:20px;
    font-size:.8rem;
    letter-spacing:3px;
    color:#777;
    text-transform:uppercase;
}

.hotel-presentacion h1{
    margin:0 0 25px;
    font-family:var(--cursive);
    font-size:3.6rem;
    font-weight:500;
    line-height:1.05;
}

.hotel-presentacion h1 span{
    display:block;
    color:var(--primary);
    font-style:italic;
}

.hotel-presentacion p{
    font-size:1.05rem;
    color:var(--text-light);
    line-height:1.9;
    margin-bottom:45px;
}

.hotel-servicios{
    display:flex;
    justify-content:space-between;
    gap:25px;
}

.servicio{
    flex:1;
    text-align:center;
    border-right:1px solid #ececec;
    padding:0 15px;
}

.servicio:last-child{
    border:none;
}

.servicio i{
    font-size:34px;
    color:var(--primary);
    margin-bottom:18px;
}

.servicio h3{
    font-family:var(--cursive);
    font-size:24px;
    margin-bottom:12px;
}

.servicio p{
    margin:0;
    font-size:.92rem;
    line-height:1.6;
}

.hotel-features {
    margin-top: 4rem;
}

.feature-box {
    text-align: center;
}

.feature-box h4 {
    font-weight: 600;
}

/* tarjetas */

.hotel-accesos .col-md-4{
    margin-bottom:30px;
}

.cards-home {
    padding: 80px 0 0;
}

.home-card:hover, .home-card:focus {
    color: #ffffff;
}

.cards-home .home-card h2 {
    font-family: var(--cursive);
}

.home-card{
    display:block;
    position:relative;
    overflow:hidden;
    border-radius:18px;
    color:#fff;
}

@media(max-width: 768px){
    .home-card, .feature-box, .hotel-intro .image-rounded {
        margin-bottom: 20px;
    }
}

.home-card img{
    width:100%;
    height:270px;
    object-fit:cover;
    transition:.6s;
}

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

.home-card .overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.75),
        rgba(0,0,0,.15)
    );
}

.home-card .contenido{
    position:absolute;
    left:35px;
    bottom:35px;
    z-index:2;
}

.home-card h3{
    margin:0 0 12px;
    font-family:var(--cursive);
    font-size:38px;
}

.home-card p{
    color:#fff;
    margin-bottom:25px;
}

.btn-card{
    display:inline-block;
    padding:12px 26px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:50px;
    transition:.35s;
}

.home-card:hover .btn-card{
    background:var(--primary);
    border-color:var(--primary);
}

@media(max-width:991px){

.hotel-presentacion{
padding:60px 0;
}

.hotel-presentacion-top{
display:block;
}

.hotel-img-principal{
margin-bottom:40px;
}

.hotel-servicios{
display:block;
}

.servicio{
border:none;
margin-bottom:35px;
}

.home-card img{
height:320px;
}

}

@media(max-width:767px){

.hotel-presentacion h1{
font-size:2.6rem;
}

.home-card h2{
font-size:2rem;
}

.home-card .contenido{
left:25px;
bottom:25px;
}

}

.newsletter-section{
    padding:0;
}

.newsletter-section {
    position:relative;
    overflow:hidden;
    border-radius:16px;
    background:url('../images/bg-news.jpg') center center no-repeat;
    background-size:cover;
}

.newsletter-row{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    padding:35px 25px 0 25px;
}

.newsletter-info{
    display:flex;
    align-items:center;
    gap:20px;
}

.newsletter-icon{
    width:72px;
    height:72px;
    border:2px solid var(--primary);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    font-size:34px;
    flex-shrink:0;
}

#suscribiteNews h3{
    margin:0;
    color:#2f2f2f;
    font-family:var(--cursive);
    font-size:21px;
    line-height:1.05;
}

#suscribiteNews input{
    height:50px;
    border-radius:8px!important;
    border:1px solid #ddd;
    box-shadow:none;
}

.newsletter-text{
    margin-top:12px;
    margin-bottom:35px;
    color:#777;
    font-size:13px;
    text-align: center;
}

.btn-news{
    margin-top:0;
    height:50px;
    border:none;
    border-radius:8px;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    transition:.35s;
}

.btn-news:hover{
    background:#a37b3b;
    color:#fff;
}

@media(max-width:991px){

    .newsletter-section .container:after{
        display:none;
    }

    .newsletter-row{
        display:block;
        text-align:center;
        padding:40px 20px;
    }

    .newsletter-info{
        justify-content:center;
        margin-bottom:25px;
        flex-direction: column;
    }

    #suscribiteNews h3{
        font-size:24px;
    }

    .newsletter-text {
        padding-left: 15px;
        padding-right: 15px;
    }

    #suscribiteNews input{
        margin-bottom:15px;
    }

    .btn-news{
        margin-top:10px;
    }
}

/*==================================================
SPA
==================================================*/

.hotel-spa{
    position:relative;
    overflow:hidden;
}

/* Decoraciones */

.hotel-spa:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:110px;
    height:220px;
    background:url({$URL}/images/spa-wave-left.png) no-repeat left top;
    background-size:contain;
}

.hotel-spa:after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:110px;
    height:220px;
    background:url({$URL}/images/spa-wave-right.png) no-repeat right top;
    background-size:contain;
}


/*=========================
INTRO
==========================*/

.spa-intro{
    margin-bottom:60px;
    display:flex;
    align-items:center;
}

.spa-content{
    padding-left:45px;
}

.spa-icon{
    color:var(--primary);
    font-size:42px;
    margin-bottom:25px;
}

.spa-content .section-title{
    font-size:3rem;
    margin-bottom:30px;
}

.spa-content .section-text{
    max-width:480px;
    margin:0;
}

.spa-content .section-text p{
    margin-bottom:10px;
    color:var(--text-light);
}


/*=========================
GALERIA
==========================*/

.spa-gallery{
    position:relative;
    margin-bottom:80px;
}

.spa-slider{
    overflow:hidden;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.spa-slide{
    display:none;
}

.spa-slide.active{
    display:block;
}

.spa-slide img{
    width:100%;
    height:620px;
    object-fit:cover;
}


/* Flechas */

.spa-prev,
.spa-next{
    position:absolute;
    top:42%;
    width:54px;
    height:54px;
    border:none;
    border-radius:50%;
    background:rgba(183,140,82,.85);
    color:#fff;
    font-size:22px;
    cursor:pointer;
    transition:.3s;
    z-index:20;
}

.spa-prev{
    left:-28px;
}

.spa-next{
    right:-28px;
}

.spa-prev:hover,
.spa-next:hover{
    background:var(--primary);
}


/* Miniaturas */

.spa-thumbs{
    position:absolute;
    left:20px;
    right:20px;
    bottom:50px;
    display:flex;
    justify-content:center;
    gap:10px;
    z-index:10;
}

.spa-thumb{
    width:150px;
    height:95px;
    border-radius:10px;
    overflow:hidden;
    border:3px solid #fff;
    cursor:pointer;
    transition:.35s;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.spa-thumb.active{
    border-color:var(--primary);
}

.spa-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}


/* Paginación */

.spa-pagination{
    margin-top:70px;
    text-align:center;
}

.spa-pagination span{
    width:6px;
    height:6px;
    border-radius:50%;
    display:inline-block;
    background:#cfcfcf;
    margin:0 4px;
}

.spa-pagination span.active{
    background:var(--primary);
}



/*=========================
SERVICIOS
==========================*/

 @media (min-width: 992px) {
    .services-icons .col-md-3 {
        width: 20%!important;
    }
}

.services-icons .feature-box {
    text-align: center;
}

.services-icons .feature-box h4 {
    font-weight: 600;
}

.spa-services{
    margin-top:120px;
}

.spa-service{
    text-align:center;
    padding:0 30px;
    border-right:1px solid var(--border);
    min-height:270px;
}

.spa-services .col-md-3:last-child .spa-service{
    border:none;
}

.spa-service i{
    font-size:52px;
    color:var(--primary);
    margin-bottom:25px;
    display:block;
}

.spa-service h3{
    font-family:var(--cursive);
    font-size:2rem;
    line-height:1.2;
    margin-bottom:18px;
}

.spa-service span{
    display:block;
    width:36px;
    height:2px;
    background:var(--primary);
    margin:0 auto 20px;
}

.spa-service p{
    color:var(--text-light);
    line-height:1.8;
}


/*=========================
CLAIM
==========================*/

.spa-claim{
    margin-top:70px;
    padding:35px 0;
    text-align:center;
    position:relative;
}

.spa-claim:before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:140px;
    height:120px;
    background:url({$URL}/images/spa-wave-bottom-left.png) no-repeat left bottom;
    background-size:contain;
}

.spa-claim:after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    width:140px;
    height:120px;
    background:url({$URL}/images/spa-wave-bottom-right.png) no-repeat right bottom;
    background-size:contain;
}

.spa-claim-icon{
    color:var(--primary);
    font-size:36px;
    margin-bottom:10px;
}

.spa-claim p{
    font-family:var(--cursive);
    font-style:italic;
    font-size:2rem;
    color:var(--primary);
    margin:0;
}

.mucho-mas {
    padding: 30px 0 50px 0;
    background-color: var(--secondary);
    text-align: center;
}
.mucho-mas h2 {
    font-family: var(--cursive);
    color: var(--primary);
}
.mucho-mas p {
    max-width: 800px;
    margin: auto;
}
.mucho-mas span, .mucho-mas i {
    color: var(--primary);
}
.mucho-mas i {
    font-size: 48px;
}



/*=========================
RESPONSIVE
==========================*/

@media(max-width:991px){

.spa-intro{
    display:block;
}

.spa-content{
    padding:40px 0 0;
}

.spa-slide img{
    height:420px;
}

.spa-thumb{
    width:110px;
    height:75px;
}

.spa-service{
    border:none;
    min-height:inherit;
    margin-bottom:45px;
}

.spa-prev{
    left:10px;
}

.spa-next{
    right:10px;
}

}


@media(max-width:767px){

.spa-slide img{
    height:260px;
}

.spa-thumbs{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:20px;
    overflow-x:auto;
    justify-content:flex-start;
    padding-bottom:10px;
}

.spa-thumb{
    flex:0 0 110px;
}

.spa-pagination{
    margin-top:25px;
}

.spa-content .section-title{
    font-size:2.2rem;
}

.spa-claim p{
    font-size:1.5rem;
}

}

/*** HABITACIONES ***/

.hotel-showcase{
    padding:90px 0;
}

.hotel-showcase .row{
    display:flex;
    align-items:center;
}
.showcase-row {
    display: flex;
    align-items: stretch;
}

.showcase-row > [class*="col-"] {
    display: flex;
}

.showcase-content {
    width: 100%;
}

.showcase-image {
    width: 100%;
    height: 100%;
}

.showcase-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 20px;
}

.showcase-content{
    padding-right:45px;
    text-align: center;
}

.showcase-content .section-title{
    margin-bottom:8px;
    text-align: center;
}

.section-divider{
    width:45px;
    height:2px;
    background:var(--primary);
    margin:22px 0 30px;
}

.showcase-features{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:35px;
}

.feature-item{
    width:92px;
    min-height:92px;
    border:1px solid #ddd;
    border-radius:8px;
    padding:15px 8px;
    text-align:center;
    transition:.3s;
}

.feature-item i{
    display:block;
    font-size:28px;
    color:var(--primary);
    margin-bottom:10px;
}

.feature-item span{
    display:block;
    font-size:13px;
    line-height:1.4;
}

.feature-item:hover{
    border-color:var(--primary);
    transform:translateY(-4px);
}


/*** TARIFAS ***/

/*==================================================
TARIFAS
==================================================*/

.hotel-rates{
    padding:0px 0;
    position:relative;
    overflow:hidden;
}

.hotel-rates:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:140px;
    height:220px;
    background:url({$URL}/images/wave-left.svg) no-repeat;
    background-size:contain;
}

.hotel-rates:after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:140px;
    height:220px;
    background:url({$URL}/images/wave-right.svg) no-repeat right top;
    background-size:contain;
}

.hotel-rates .section-header i {
    color: var(--primary);
    font-size: 60px;
    display: block;
}


/*=============================
BADGE
=============================*/

.section-badge{
    display:inline-block;
    padding:10px 28px;
    border-radius:40px;
    background:#f7f1e8;
    color:#8d724d;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:20px;
}


/*=============================
DIVIDER
=============================*/

.section-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin:25px auto;
}

.section-divider span{
    width:60px;
    height:2px;
    background:var(--primary);
}

.section-divider i{
    color:var(--primary);
    font-size:30px;
}


/*=============================
CARD
=============================*/

.rate-card{
    background:#fff;
    border:1px solid #e8dfd1;
    border-radius:18px;
    padding:35px;
    margin-top:50px;
    box-shadow:0 15px 35px rgba(0,0,0,.05);
}

.rate-card h3{
    text-align:center;
    font-family:'Cormorant Garamond',serif;
    color:var(--primary);
    font-size:52px;
    margin:0 0 35px;
}


/*=============================
TABLA
=============================*/

.hotel-table{
    margin:0;
    text-align:center;
    border:1px solid #ddd;
}

.hotel-table thead th{
    background:var(--primary);
    color:#fff;
    border:1px solid #cbb89d !important;
    text-align:center;
    font-size:18px;
    font-weight:600;
    padding:18px 12px;
}

.hotel-table-subtitle td{
    background:#faf7f2;
    font-weight:500;
}

.hotel-table td{
    padding:18px 12px;
    vertical-align:middle !important;
    border:1px solid #ece4d8 !important;
    white-space:nowrap;
}

.hotel-table tbody tr:last-child td{
    font-size:16px;
    font-weight:700;
}

.hotel-table tbody tr:hover{
    background:#fcfaf6;
}


/*=============================
MOBILE
=============================*/

.table-hint{
    text-align:center;
    color:#888;
    margin-bottom:15px;
    font-size:13px;
}

/*==================================================
FOOTER TARIFAS
==================================================*/

.tarifas-footer{

    padding:70px 0 90px;

}

/*-------------------------
POLÍTICA
-------------------------*/

.tarifas-policy{

    display:flex;
    align-items:flex-start;

    padding:32px 35px;

    background:#fff;

    border:1px solid #e8dcc8;
    border-left:5px solid var(--primary);

    border-radius:18px;

    box-shadow:0 12px 30px rgba(0,0,0,.05);

    margin-bottom:45px;

}

.policy-icon{

    width:72px;
    flex-shrink:0;

    text-align:center;

    color:var(--primary);

    font-size:48px;

    margin-right:25px;

}

.policy-content h3{
    margin:0 0 12px;
    font-family:var(--cursive);
    font-size:42px;
    color:var(--primary);
}

.policy-content p{
    margin:0 0 8px;
    line-height:1.4;
}

/*-------------------------
FECHA
-------------------------*/

.tarifas-update{
    text-align:center;
    font-size:21px;
    margin-bottom:35px;
}

/*-------------------------
BOTONES
-------------------------*/

.tarifas-actions{
    display:flex;
    justify-content:center;
    gap:25px;
    margin-bottom:35px;
}

.btn-hotel{
    min-width:280px;
    height:58px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-weight:600;
    font-size:19px;
    transition:.35s;
}

.btn-primary-hotel{

    background:var(--primary);

    color:#fff;

    border:2px solid var(--primary);

}

.btn-primary-hotel:hover{

    color:#fff;

    background:#a78143;

    text-decoration:none;

}

.btn-outline-hotel{

    background:#fff;

    color:var(--primary);

    border:2px solid var(--primary);

}

.btn-outline-hotel:hover{

    background:var(--primary);

    color:#fff;

    text-decoration:none;

}

/*-------------------------
ACLARACIÓN
-------------------------*/

.tarifas-note{

    margin:0;

    text-align:center;

    font-size:15px;

    color:#777;

    line-height:1.8;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

    .tarifas-policy{

        display:block;

        text-align:center;

        padding:30px 25px;

    }

    .policy-icon{

        margin:0 auto 20px;

    }

    .tarifas-actions{

        display:block;

    }

    .btn-hotel{

        width:100%;

        min-width:0;

        margin-bottom:15px;

    }

}

@media(max-width:767px){

    .policy-content h3{

        font-size:34px;

    }


    .tarifas-update{

        font-size:18px;

    }

}

/*** REVEAL ANIMATION ***/

/*=========================================
REVEAL
=========================================*/

.reveal{
    opacity:0;
    transform:translateY(50px);
    transition:opacity .8s ease, transform .8s ease;
    will-change:transform, opacity;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}


/* Delays */

.delay-1{
    transition-delay:.15s;
}

.delay-2{
    transition-delay:.30s;
}

.delay-3{
    transition-delay:.45s;
}

.delay-4{
    transition-delay:.60s;
}

.delay-5{
    transition-delay:.75s;
}

/*==================================================
UBICACION
==================================================*/

body.ubicacion .hotel-rates a,
body.reservas .hotel-rates a {
    color: #555!important;
}
body.ubicacion .hotel-rates a:hover,
body.reservas .hotel-rates a:hover {
    color: var(--primary)!important;
}

/*==================================================
CONTACTO
==================================================*/

.hotel-contact{
    position:relative;
    padding:100px 0;
    overflow:hidden;
}


/* Decoración */

.hotel-contact::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:220px;
    height:220px;
    background:url("../images/ornamento-left.png") no-repeat;
    background-size:contain;
    opacity:.12;
}

.hotel-contact::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:220px;
    height:220px;
    background:url("../images/ornamento-right.png") no-repeat;
    background-size:contain;
    opacity:.12;
}


/*=========================================
COLUMNAS
=========================================*/

.contact-info{
    margin-bottom:20px;
}

.contact-form{
    background:#fff;
    border:1px solid #e8dfd4;
    border-radius:18px;
    padding:45px;
    min-height:100%;
    box-shadow:0 15px 35px rgba(0,0,0,.04);
}


/*=========================================
CAJAS
=========================================*/

.contact-box{
    display:flex;
    align-items:center;
    background:#fff;
    border:1px solid #e8dfd4;
    border-radius:14px;
    padding:18px 24px;
    margin-bottom:10px;
    transition:.3s;
}

.contact-box:hover{
    box-shadow:0 12px 30px rgba(0,0,0,.05);
}

.contact-content{
    font-size:16px;
    line-height:1.5;
    color:#555;
}
.contact-content strong{
    color:#222;
}


/*=========================================
ICONOS
=========================================*/

.contact-icon{
    width:46px;
    height:46px;
    border:2px solid var(--primary);
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:var(--primary);
    font-size:22px;
    margin-right:20px;
    flex:none;
}

.contact-icon.large{
    width:64px;
    height:64px;
    font-size:30px;
}


/*=========================================
MAPA
=========================================*/

.contact-map{
    overflow:hidden;
    border-radius:14px;
    border:1px solid #e8dfd4;
    margin-bottom:18px;
}

.contact-map iframe{
    display:block;
    width:100%;
    height:360px;
    border:0;
}


/*=========================================
DISTANCIAS
=========================================*/

.distance-box{
    background:#fff;
    border:1px solid #e8dfd4;
    border-radius:14px;
    padding:28px;
}

.distance-box h3{
    margin:0 0 20px;
    color:var(--primary);
    font-family: var(--cursive);
    font-size:38px;
    font-weight:500;
}

.distance-box ul{
    list-style:none;
    margin:0;
    padding:0;
}

.distance-box li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 0;
    border-bottom:1px solid #ece7df;
    font-size:16px;
}

.distance-box li:last-child{
    border-bottom:0;
}

.distance-box strong{
    font-weight:600;
}


/*=========================================
FORMULARIO
=========================================*/

.contact-form h3{
    margin:0;
    font-size:50px;
    font-family:var(--cursive);
    color:var(--primary);
    font-weight:500;
}

.mini-divider{
    width:90px;
    height:2px;
    background:var(--primary);
    margin:22px 0 35px;
    position:relative;
}

.mini-divider:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:10px;
    height:10px;
    margin-left:-5px;
    margin-top:-5px;
    border-radius:50%;
    background:var(--primary);
}


/*=========================================
RESPONSIVE
=========================================*/

@media (max-width:991px){

    .hotel-contact{
        padding:70px 0;
    }

    .contact-form{
        margin-top:40px;
        padding:35px;
    }

    .contact-content{
        font-size:18px;
    }

    .contact-map iframe{
        height:300px;
    }

    .distance-box{
        margin-bottom:40px;
    }
}

@media (max-width:767px){

    .contact-box{
        padding:16px;
    }

    .contact-icon{
        width:42px;
        height:42px;
        font-size:18px;
        margin-right:15px;
    }

    .contact-icon.large{
        width:52px;
        height:52px;
        font-size:24px;
    }

    .contact-content{
        font-size:16px;
    }

    .distance-box{
        padding:20px;
    }

    .distance-box h3{
        font-size:30px;
    }

    .distance-box li{
        font-size:15px;
    }

    .contact-form{
        padding:25px;
    }

    .contact-form h3{
        font-size:38px;
    }
}


/*=========================================
RESERVAS
=========================================*/

.hotel-reservas{
    position:relative;
    padding:100px 0;
    overflow:hidden;
}

.hotel-reservas::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:220px;
    height:220px;
    background:url("../images/ornamento-left.png") no-repeat;
    background-size:contain;
    opacity:.12;
}

.hotel-reservas::after{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:220px;
    height:220px;
    background:url("../images/ornamento-right.png") no-repeat;
    background-size:contain;
    opacity:.12;
}


/*=========================================
CARDS
=========================================*/

.office-row{
    display:flex;
    flex-wrap:wrap;
}

.office-row > [class*="col-"]{
    display:flex;
    margin-bottom:30px;
}

.office-card{
    display:flex;
    flex-direction:column;
    width:100%;
}

.office-card{
    background:#fff;
    border:1px solid #e8dfd4;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 35px rgba(0,0,0,.04);
    margin-bottom:35px;
    transition:.35s;
}

.office-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.08);
}

.office-card img{
    width:100%;
    height:270px;
    object-fit:cover;
}

.office-body{
    padding:40px;
}

.office-body h3{
    font-family:var(--cursive);
    color:var(--primary);
    text-align:center;
    font-size:54px;
    font-weight:500;
    margin:0;
}

.office-list{
    list-style:none;
    margin:35px 0 0;
    padding:0;
}

.office-list li{
    display:flex;
    align-items:center;
    margin-bottom:10px;
    font-size:16px;
    line-height:1.4;
}

.office-list i{
    color:var(--primary);
    font-size:22px;
    width:32px;
}


/*=========================================
FORMULARIO
=========================================*/

.reservation-form{
    margin-top:30px;
    background:#fff;
    border:1px solid #e8dfd4;
    border-radius:18px;
    padding:60px;
    box-shadow:0 15px 35px rgba(0,0,0,.04);
}

.reservation-form h2{
    text-align:center;
    font-family:var(--cursive);
    font-size:60px;
    margin:0;
    font-weight:500;
}

.reservation-form p{
    text-align:center;
    max-width:700px;
    margin:30px auto 45px;
    font-size:18px;
    color:#666;
}

.mini-divider.center{
    margin:20px auto 30px;
}


/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:991px){

    .office-body{
        padding:30px;
    }

    .office-body h3{
        font-size:42px;
    }

    .reservation-form{
        padding:40px;
    }
}

@media(max-width:767px){

    .hotel-reservas{
        padding:70px 0;
    }

    .office-card img{
        height:220px;
    }

    .office-body{
        padding:25px;
    }

    .office-body h3{
        font-size:34px;
    }

    .office-list li{
        font-size:16px;
    }

    .reservation-form{
        padding:25px;
    }

    .reservation-form h2{
        font-size:42px;
    }
}


/* WHATSAPP FLOTANTE */

.btn-wsp {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #25D366;
    color: #fff;
    border-radius: 50px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    font-size: 14px;
    z-index: 999;
    transition: all 0.3s ease;
}

.btn-wsp::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50px;
    background: rgba(37, 211, 102, 0.5);
    z-index: -1;
    opacity: 0;
}

.btn-wsp:hover {
    background: #1ebe5d;
    transform: scale(1.05);
    color: #ffffff;
    text-decoration: none;
}

.btn-wsp:focus, .btn-wsp:active, .btn-wsp:visited {
    color: #ffffff!important;
} 

.btn-wsp:hover::after {
    animation: pulse 0.8s ease-out;
    opacity: 1;
}

.btn-wsp i {
    font-size: 36px;
}

@media (max-width: 576px) {
    .btn-wsp span {
        display: none;
    }
}

/* Animación */
@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }
    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

#consultar {
    background: var(--text);
    padding: 5px 0;
    color: #fff;
}

#consultar a {
    color: #fff;
    font-weight: 600;
}

.form-alert {margin-top: 140px; margin-bottom: 50px;}
        #formConsulta .form-group {}
        #formConsulta .honeypot-hidden { position: absolute; left: -9999px; }
        #formConsulta .escondido { display: none; }
        #formConsulta .form-group label.error {
            position: absolute;
            right: 15px;
            top: 30px;
            color: #E9573F;
            font-size: 20px;
            font-family: monospace;
        }
        #formConsulta .panel {margin-bottom:40px!important; border-radius: 10px!important;}
        #formConsulta .panel-default {border-color: #d9d9d9!important;}
        #formConsulta .panel .list-group .list-group-item { background-color: transparent!important;}
        #formConsulta .form-group .recaptcha_input_area label.error { right: 9px; top: 8px; }
        #formConsulta .ReCaptcha { margin: 0 auto 16px; width: 305px; }
        blockquote {
            border-left-width: 5px;
            background-color: #FFF;
            -webkit-border-radius: 4px;
            -moz-border-radius: 4px;
            border-radius: 4px;
        }
        #formConsulta .list-group .list-group-item .form-group { margin-bottom: 0; }
        #formConsulta .list-group .list-group-item textarea {
            max-width: 100%;
            width: 100%;
            min-width: 100%;
        }
        #formConsulta .panel .list-group .list-group-item .form-group .form-control {
            border-radius: 10px;
            min-height: 40px;
            border: 1px solid #d9d9d9!important;
            resize: none;
        }
        #formConsulta .panel .list-group .list-group-item { border:none!important;}
        #formConsulta .panel .panel-heading {
            border-top-left-radius: 10px!important;
            border-top-right-radius: 10px!important;
            padding: 15px!important;
            background-color: #e1e1e1;
        }
        #formConsulta .panel-title { font-weight: 700!important; font-size: 18px!important;}

        #formConsulta .wrapper-btn {
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            align-items: center;
        }
        #formConsulta .panel .list-group { padding-top: 15px;}
        #formConsulta .panel .list-group .list-group-item {padding: 10px 25px!important;}
        #formConsulta .panel .list-group .list-group-item button.btn[type="submit"] {
            margin-bottom: 15px;
            border-radius: 10px;
            background-color: var(--primary);
            color: #ffffff;
            font-weight: 700;
            font-size: 16px;
            height: 40px;
            border: none;
            display: inline-block;
            padding: 10px 10px;
            width: 80%;
        }
        @media(max-width: 786px) {
            #formConsulta .panel .list-group .list-group-item button.btn[type="submit"] {
                width: 100%!important;
            }
        }