:root {
    --primario: #4CABC0;
    --secundario: #FEF5AE;
    /* --transparencia: #DAECF8; */
    --transparencia: #daecf84f;
    --familia_fuente: 'Poppins', sans-serif;
}

:root {
    --color-yellow: #FEF5AE;
    --color-yellow-hover: #F8E86D;
    --color-teal: #4CABC0;
    --color-teal-hover: #3d899a;
    --color-light-blue: #DAECF8;
    --color-light-gray: #BABABA;
    --color-dark-gray: #585858;

    --border-radius: 50px;
    --border-radius-interiores: 25px;

    --font-dm: 'DM Sans', sans-serif;
    --font-poppins: 'Poppins', sans-serif;
    --font-body: 'Open Sans', sans-serif;
}

html,
body {
    overflow-x: hidden !important;
    width: 100% !important;
    position: relative !important;
}

/* -- circulos -- */
.wrapper-flex,.wrapper-flex-mobile{
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-box;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;

    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}


/* -- row -- */
.row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.row-eq-height.container:before,
.row-eq-height.container:after,
.row-eq-height.row:before,
.row-eq-height.row:after {
    content: normal;
}

.full {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
}

.separa-5{
    height: 5px;
}

.separa-10{
    height: 10px;
}

.separa-20{
    height: 20px;
}

.separa-25{
    height: 25px;
}

.separa-40{
    height: 40px;
}

.separa-30{
    height: 30px;
}

.separa-50{
    height: 50px;
}

/* Multiplos */
.separa-16{
    height: 16px;
}

.separa-24{
    height: 24px;
}

.separa-32{
    height: 32px;
}

.separa-40{
    height: 40px;
}

.separa-48{
    height: 48px;
}

.separa-56{
    height: 56px;
}

.separa-64{
    height: 64px;
}

.relative{
    position: relative;
}

.absolute{
    position: absolute;
}

.centrado{
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.centrado.izquierda{
    justify-content: flex-start;
}

.centrado.derecha{
    justify-content: flex-end;
}

.animacion{
    transition: all 300ms linear!important;
    -webkit-transition: all 300ms linear!important;
    -moz-transition: all 300ms linear!important;
    -ms-transition: all 300ms linear!important;
    -o-transition: all 300ms linear!important;
}

.limitar{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.limitar_1{
    -webkit-line-clamp: 1; /* number of lines to show */
}

.limitar_2{
    -webkit-line-clamp: 2; /* number of lines to show */
}

.limitar_3{
    -webkit-line-clamp: 3; /* number of lines to show */
}

.limitar_4{
    -webkit-line-clamp: 4; /* number of lines to show */
}

.limitar_5{
    -webkit-line-clamp: 5; /* number of lines to show */
}

.limitar_6{
    -webkit-line-clamp: 6; /* number of lines to show */
}

.limitar_7{
    -webkit-line-clamp: 7; /* number of lines to show */
}

.limitar_8{
    -webkit-line-clamp: 8; /* number of lines to show */
}

.limitar_9{
    -webkit-line-clamp: 9; /* number of lines to show */
}

.limitar_10{
    -webkit-line-clamp: 10; /* number of lines to show */
}

.m-auto {
    margin: auto;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.caja{
    overflow: hidden;
}

/*********************************
*            INTERIORES          *
*********************************/

.interiores {
    background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 90%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 90%,rgba(255,255,255,0) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 90%,rgba(255,255,255,0) 100%);
}

.textaco img{max-width: 100%;}

#swipebox-overlay {
    background: #0d0d0ddb;
}
#swipebox-bottom-bar, #swipebox-top-bar{
    background: transparent;
}
.ug-lightbox .ug-lightbox-overlay{background: #0d0d0ddb;}
/*Detalle producto*/
.breadcrumb>li {
    font-size: 13px;
}
.tag_option{margin: 5px;color: var(--primario)}
.tag-circle{
    height: 42px;width: 42px;border-radius: 100%;display: inline-block;justify-content: center;align-items: center;border: 2px solid #fff;overflow: hidden; border: 2px solid #f5f5f5;
}

.tag-circle img{height: 40px;width: 40px;border-radius: 40px; object-fit: contain;}

.tag_bloque{
    height: 40px;width: 70px;display: inline-flex;background-color: var(--transparencia);justify-content: center;align-items: center
}

.tag-circle.active{
    border: 2px solid #000;
}

.tag_bloque.active{background-color: var(--primario);}
.tag_option.active a{color: #fff;}

.foto_principal .imagen{width: 100%;background-position: center;background-size: contain;background-repeat: no-repeat;border: 1px solid #f5f5f5}
.foto_principal.mini .imagen{height: 444px; background-size: cover;}

.foto_principal .lupa{
    position: absolute;top: 0;left: 0;height: 100%;width: 100%;background-color: rgba(0,0,0,0.5);opacity: 0;transition: 300ms all linear;color: #fff;font-size: 40px
}

.foto_principal .lupa:hover{
    opacity: 1;
}

.quantity{
    border: 2px solid var(--primario);
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

.quantity label{
    display: inline-block;
    padding: 0 20px;
    color: var(--secundario);
}

.quantity-controls .fa{
    color: var(--secundario);
}

.quantity-controls{
    display: inline-block;
    position: relative;
}

.quantity-controls span{
    color: #888;
    cursor: pointer;
    height: 48px;
    line-height: 48px;
    position: absolute;
    top: 0;
    width: 26px;
    -webkit-transition: color .15s ease-in-out;
    -moz-transition: color .15s ease-in-out;
    transition: color .15s ease-in-out;

    color: #171717;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.quantity-controls span.right{
    right: 0;
    text-align: left;
}
.lista_productos_sin_stock{
    border: 2px solid red;
    padding: 20px 20px;
    list-style-type: none;
}

.lista_productos_sin_stock li{
    color: #f4573a;
    font-weight: 600;
}
#productos>div {
    padding-right: 23px;
    padding-left: 23px;
}

#cantidad{
    border: 0;
    font-family: inherit;
    font-size: 15px;
    height: 48px;
    line-height: 48px;
    margin: 0 26px;
    outline: 0;
    padding: 0;
    position: relative;
    width: 40px;
    -webkit-appearance: none;

    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.otros_productos h2, .otros_productos h3{color: var(--primario); font-weight: 500;font-family: var(--familia_fuente)}

.botones_carro{
    width: calc( 100% - 225px );
    float: right;
}
.botones_carro.grande{width: 100%;}

.btn_love img{height: 30px;width: 30px}

.btn-filtro{height: 34px; width: 100%; margin-bottom: 15px; border-radius: 4px;}

.botones_carro .btn-tam{height: 52px; width: 100%;}


.descarga.uno:hover .btn{
    color: #fff;
    background-color: var(--secundario);
}

.descarga.dos:hover .btn{
    color: var(--secundario);
    background-color: #e8d6fb;
}
.mayorista{
    color: var(--secundario);background-color: #e8d6fb;border: 2px solid var(--secundario);padding: 16px 14px;
    text-align: center;font-weight: 600;
}
.btn-corporativo{
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--familia_fuente);
    text-transform: uppercase;
    border: 0px;
    border-radius: 10px;
    background-color: var(--primario);
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.btn-lg.btn-corporativo{
    padding: 18px 30px;

}
.btn-corporativo .btn-carro_portada img{height: 20px;width: 20px;margin-right: 15px;border-radius: 0;}
.btn-comprar{border: 0;}

.btn-grandotes{padding: 15px}
.btn-corporativo2{
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--familia_fuente);
    text-transform: uppercase;
    border: 0px;
    border-radius: 10px;
    background-color: var(--primario);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px}
.btn-corporativo3{
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--familia_fuente);
    text-transform: uppercase;
    border: 0px;
    border-radius: 10px;
    background-color: var(--primario);
    display: inline-flex;
    justify-content: center;
    align-items: center;}

.btn-corporativo:hover, .btn-corporativo:focus, .btn-corporativo:active{background-color: #5c5b5b;color: #fff}

.btn-corporativo2:hover, .btn-corporativo2:focus, .btn-corporativo2:active{background-color: #5c5b5b;color: #fff}
.btn-corporativo3:hover, .btn-corporativo3:focus, .btn-corporativo3:active{background-color: #5c5b5b;color: #fff}
.desactivado{
    opacity: 0.6;
}
.acceso a{
    color: #fff;
}
.lista_productos .btn_love img, .bienvenida .btn_love img{
    filter: brightness(0) invert(1);
    height: 22px;
    width: 22px;
}

.left .caja_redes a{
    width: 45px;
    height: 45px;
}
.btn-corp{background-color: var(--primario);color: #fff !important; border: 0;}

.btn-default-formulario{background-color: #c6c6c6;color: #fff !important}

.nav-botones{border: none;}

.nav-botones>li>a{
    background-color: #fff;border-radius: 0px;margin: 0px 10px;color: #78c74a;border: 2px solid var(--primario);
}

.nav-botones>li>a:focus, .nav-botones>li>a:hover{
    background-color: #f5f5f5;color: #78c74a;border: 2px solid var(--primario);
}

.nav-botones>li.active>a, .nav-botones>li.active>a:focus, .nav-botones>li.active>a:hover{
    background-color: var(--primario);color: #fff;border: 2px solid var(--primario);
}

h1#title_prod{
    font-family: var(--familia_fuente);
    text-transform: uppercase;
    font-weight: 400;color: var(--primario);
    font-size: 24px;margin-top: 0px
}
h3.categoria{
    font-size: 18px;text-transform: uppercase;font-weight: 300;
    font-family: var(--familia_fuente);margin-top: 0px
}

span.precio{font-size: 24px;font-family: 'Open Sans',sans-serif;color: var(--primario);font-weight: 400}

.titulotag{font-weight: 400}

.videos_responsive{
    width: 600px;
    float: left;
    margin-right: 20px;
    margin-bottom: 30px;}

ul.columnas-detalle{
    list-style-type: disc;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    list-style-position: inside;
}

.otras_fotos .imagen{
    height: 150px;width: 100%;background-size: cover;background-position: center;
}

.breadcrumb{margin: 0;background-color: transparent}
.breadcrumb li a{text-transform: capitalize;color: #000}

.precios .tachado{text-decoration-line: line-through;}

/***PROGRAMAS***/
/*
.cabecera {
background-color: #78c74a;
border: solid 0px #fff;
color: #fff;
padding: 5px;
font-size: 14px;
}
*/

.fila1 {
    background-color: #d9ebd9;
    border: solid 2px #fff;
    padding: 8px;
}

.fila2 {
    background-color: #fff;
    border: solid 2px #fff;
    padding: 8px;
}

.mini_icono_text {
    margin-top: 4px;
    font-size: 24px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}


.lista_productos .fa{    color: var(--secundario);}

.mini_icono_text .fa-download{
    color: var(--secundario);
}


.fecha_archivos{
    font-size: 14px;margin: 5px;   
}

.elementos_desc>div:nth-child(even){ background-color: #d9ebd9 }
.elementos_desc .text_content {margin: 10px 0px}
.elementos_desc .text_content p {margin: 0px}
.elementos_desc p.fecha_archivos {text-align: center}
/**************************
SWIPEBOX
**************************/

.cuadro_fotos{
    padding-top: 15px;
    background-color: #f5f5f5;
    border: 1px solid #efefef;
}
.cuadro_fotos .foto_principal{background-color:#fff;margin-bottom:15px}
.cuadro_fotos .galeria{padding:30px 15px;background-color:#3b3b3b}
.swipebox .imagen{width:100%;background-size:contain;background-repeat:no-repeat;background-position:center}
/*.swipebox .imagen:after{content:'';padding-top:66.66%;display:block}*/
.swipebox .imagen:after{content:'';padding-top:100%;display:block}
.swipebox .padre_imagen .imagen{content:'';padding-top:100%;display:block}
.btn-precio{padding:0}
.foto_color .imagen{float:left;height:75px;width:75px;background-size:contain;background-position:center;background-repeat:no-repeat;margin:0 15px 30px 0}

.swipebox .imagen.secundaria{background-size: contain;}

.zona_galeria_mini .bx-wrapper .bx-prev { left: -45px; }
.zona_galeria_mini .bx-wrapper .bx-next { right: -45px; }
.bx-wrapper .bx-controls-direction a{z-index: 1000;}

.bx-wrapper .bx-viewport{
    box-shadow: none;
    border:none;
}

/**************************
NUEVA CESTA
**************************/

#cesta .articulo .padding{padding-right: 30px}

.resumen-cesta{padding: 20px}
.resumen-cesta .ancho-resumen{}
.resumen-cesta .label-resumen{float: right}
.resumen-cesta .label-resumen .cesta-bono{font-size: 24px;margin-right: 10px}
.resumen-cesta .label-resumen .precio_descuento{font-size: 24px;margin-left: 10px}
.resumen-cesta .label-resumen .bigger{font-size: 24px;}

.resumen-cesta .label-resumen p{margin: 0}

.resumen-cesta .aplicar_codigo{height: 52px;border-radius: 0;border-right: none}
.resumen-cesta .input-group-btn{border: 1px solid #ccc;border-radius: 0;border-left: none}
.resumen-cesta .btn-codigo{color:#fff;border:2px solid #fff;height:48px;cursor:pointer;display:flex;min-width:48px;align-items:center;justify-content:center;background-color:var(--primario)}

#gastos .radio, #gastos label{margin: 0}
#gastos label{display: flex;align-items: center;justify-content: flex-start}
#gastos .radio .colocar{width: 0px;margin-bottom: 5px}
.marco-gasto{border: 1px solid #ccc;margin-bottom: 10px;padding: 10px 0px}

.resumen-total strong{text-transform: uppercase;position: relative;top: 10px;}

.metodos-pago .radio-inline{font-size: 18px;margin-left: 20px;}
.btn-borrartodo {border-radius: 0px;background-color: var(--secundario);color: #fff!important}

.swal2-popup {font-size: 1.6rem !important;}

.condiciones a{color: var(--primario);}

/************************************
*  Cesta Lateral  *
************************************/

.titulares-resumen{color: var(--primario);}
#configurar-cesta h4{color: var(--primario);}

.menu-cesta{position: fixed;top: 0;right: 0px;height: 100vh;width: 480px;background-color: #fff;z-index: 1000;transition: 400ms all linear;box-shadow: 0px 8px 10px -5px rgba(51,51,51,0.2), 0px 16px 24px 2px rgba(51,51,51,0.14), 0px 6px 30px 5px rgba(51,51,51,0.12)}
.menu-cesta .cabecera-cesta{padding-top:35px;background-color: #d9d9d9;height: 90px;position: relative}
.fondo-cesta{height: 100%;width: 100%;position: absolute;top: 0;left: 0;}
.fondo-cesta .overlay-cesta{height: 100%;width: 100%;position: absolute;top: 0;left: 0;background-color: var(--primario)}
.menu-cesta .cabecera-cesta h3{margin: 0;color: #fff;font-size: 30px;font-family: var(--familia_fuente);text-align: center}
.cerrar-cesta{ position: absolute; top: 25px;right: 20px;transition: 200ms all linear;border-radius: 50%;cursor: pointer}
.cerrar-cesta img{height: 40px;width: 40px}

.cuerpo-cesta{height: calc(100vh - 260px);padding: 30px;overflow: scroll}
.pagar-cesta{height: 120px;padding: 0px 30px;}
.pagar-cesta p{text-align: center}
.pagar-cesta p span{font-size: 30px;font-weight: 400;}
.pie-cesta{height: 50px;background-color: #f7f7f7}

.articulo{position: relative}
.articulo img{width: 100%;height: 115px;object-fit: contain}
.articulo h4{font-size: 16px;font-family: var(--familia_fuente);color: #6a6a6a;}
.articulo .precio-articulo{}
.articulo .controles-articulo{height: 30px}
.articulo .controles-articulo .operators{height: 30px;display: inline-flex;align-items: center;justify-content: flex-start}
.articulo .btn-circle{border: 1px solid #353535;border-radius: 50%;height: 30px;width: 30px;display: inline-flex;justify-content: center;align-items: center;margin-left: 10px;float: right;color: #353535; cursor: pointer;}
.menu-cesta .icono-cesta{width: auto;height: 25px;margin: 0 6px}
.btn-operator{color: #272727}
.btn-operator:hover,.btn-operator:focus,.btn-operator:active {color: #626062}

#precio_label{text-align: center;}

#manto-cesta, #manto-movil {position:fixed;top:0;left:0;right:0;height:100%;width:100%;opacity:0;z-index:-1}
#manto-cesta.toogled, #manto-movil.toogled{z-index:30}

span.cesta-bono{color: #3c763d}

.btn-cesta{height: 48px;background-color: #272727;display: inline-flex;justify-content: center;align-items: center;border-radius: 0;color: #fff;}

.btn-cesta:hover, .btn-cesta:focus, .btn-cesta:active{color: #fff;background: #272727}

.boton-cesta{cursor: pointer;}

/* Animaciones */

.menu-cesta{transform: translate(530px, 0px);}
.mostrarCesta .menu-cesta{transform: translate(0px, 0px);}
a.cerrar-cesta:hover {background-color: #626062}

@media (max-width: 767px) {
    .menu-cesta{width: 100vw; transform: translate(110vw, 0px);}
    .menu-cesta .cabecera-cesta {padding-top: 15px;height: 50px}
    .menu-cesta .cabecera-cesta h3 {font-size: 20px}
    .cerrar-cesta{top: 10px;right: 10px}
    .cerrar-cesta img {height: 30px;width: 30px}
    .cuerpo-cesta{height: calc(100vh - 225px);padding: 30px;overflow: scroll}
    #manto-cesta.toogled, #manto-movil.toogled {z-index: 9;opacity: 0.6;background-color: #0d0d0d;}
}


/************************************
*  Archivos adjuntos y tipografias  *
************************************/

.tipografia, .titulo-contenido{text-align: left;color: #505050;text-transform: uppercase;font-family: var(--familia_fuente); font-size: 22px; font-weight: 400;margin-top: 0;}

.titulo-contenido{color: #000;}
.tipografia i{color: var(--primario)}
.listado {text-align: justify;}

.listado ul, .listado li {margin: 0px;padding: 0px;list-style: none;}
.listado li {padding: 20px;background-color: var(--transparencia);}
.listado li a, .listado li.alt a{font-size: 13px;font-family: 'Lato', sans-serif;font-weight: 300;}
.listado li.alt {background-color: transparent;}
.listado li.alt a {color: #000;text-decoration: none;}
.listado a {color: #000;text-decoration: none;}
.listado a:hover, .listado li.alt a:hover {color: var(--secundario);text-decoration: none;}

.btn-gris{ color: #333; background-color: #fafafa}
.btn-gris:hover, .btn-gris:focus, .btn-gris:active{color: #333; background-color: #dedede}


/************************************
*            MULTIFORMA             *
************************************/

/* .bloque_imagen_lista ul{list-style:none;padding:0}
.bloque_imagen_lista i{color:var(--secundario)}
.bloque_cabecera .bloque_titulo{background-color:var(--primario);padding:15px}
.bloque_cabecera .bloque_interior{background-color:var(--transparencia);padding:30px 15px}
.bloque_cabecera .bloque_titulo h3{margin:0;color:#fff;text-transform:uppercase;font-family:var(--familia_fuente);font-weight:300}
.bloque_cabecera .imagen{width:100%}
.bloque_cabecera h4{text-transform:uppercase;font-size:22px;font-family:var(--familia_fuente);color:var(--secundario)}
.bloque_cabecera .texto{font-size:18px;font-weight:300}
.bloque_imagen_lista .imagen{width:100%;object-fit:cover;margin-bottom:30px}
.bloque_imagen_lista h4{text-transform:uppercase;margin:0;margin-bottom:10px;font-family:var(--familia_fuente);color:var(--primario);font-size:22px}
.bloque_puntos ul{margin:0;padding:0;list-style:none}
.bloque_puntos ul li{margin-bottom:15px}
.bloque_puntos ul li>p>.fa{font-size:20px;color:var(--secundario)}
.bloque_contenido .titulo{background-color:var(--primario);padding:15px 10px}
.bloque_contenido .titulo h4{color:#fff;margin:0;text-transform:uppercase;font-size:16px;font-family:var(--familia_fuente);font-weight:300}
.bloque_contenido .bloque{padding:0 10px}
.bloque_desplegable .fondo,.bloque_documentos .fondo{background-color:var(--transparencia);padding:20px;margin-bottom:40px}
.bloque_desplegable .panel-group,.bloque_documentos .panel-group{margin:0}
.bloque_desplegable h2,.bloque_documentos h2{margin:0;margin-bottom:20px;font-size:23px;text-transform:uppercase;font-weight:400;font-family:var(--familia_fuente);color:var(--secundario)}
.bloque_desplegable .panel-default{border-color:var(--primario)}
.bloque_desplegable .panel-default>.panel-heading{background-color:var(--primario);color:#fff;border-color:var(--primario)}
.bloque_desplegable h2 .fa{color:var(--secundario)}
.bloque_desplegable .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:var(--primario)}
.bloque_imagenes img{width:100%}
.bloque_imagenes .flexible{display:flex;align-items:center}


.panel-body .btn-corporativo2{padding:8px 15px}
.bloque_imagenes img{width:100%;object-fit:cover} */

/************************************
*              IDIOMAS              *
************************************/

#idiomasside{
    position: fixed;
    top: 300px;
    right: 0;
    z-index: 900;
}

#idiomasside li{
    padding: 10px;
    list-style-type:none;
}

#idiomasside img{
    height: 40px;
}

#idiomasside font{
    display: none;
}

.zona-idiomas-movil{height: 50px; width: 100%; display: flex; justify-content: space-around; align-items: center; padding: 20px; margin-top: 25px;}
.zona-idiomas-movil .flag{height: 50px; width: 30px;}

.marco-contacto{
    background-color: var(--transparencia);padding: 20px;}
.marco-contacto h3{margin-top: 0px}
.marco-contacto .input-group-addon{background-color: var(--primario); border-color: var(--primario);color: #fff}
.marco-contacto .form-control{border-color: var(--primario);}
.input-group .form-control {
    z-index: 0;
}

.zona-mapa iframe{height: 100%; width: 100%;}

.ocultorobots {
    opacity: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 0px;
    height: 0px;
}
/* TABLA MIS PEDIOS*/

.tabla_cabecera .row {font-weight: 400; background-color: var(--primario); color: #fff}
#tabla_stocks_resultados .row:nth-child(even) { background-color: var(--transparencia) }
.tabla_stocks .cell{padding: 15px}
.tabla_stocks .cell-btn{padding: 10px}
.avisono {margin: 10px 0px; font-size: 18px}

textarea {
    resize: vertical;
}

/*+++++++++++++++++++*/
/************************************
*             INTERIOR              *
************************************/
.fa-angle-down{
    padding-left: 5px;
}
/*MENU VIEJO
.navbar-default .dropdown-menu{
background-color: #fff;
color: #000;
top: 99%;
}

.navbar-default .dropdown-menu>li>a {
padding: 18px 20px;
color: #fff;
font-size: 16px;
font-family: 'Roboto', sans-serif;
font-weight: 300;
background-color: var(--primario);
border-bottom: 1px dotted #4b4a4a;
}

.superior .dropdown-menu>li>a {
padding: 18px 20px;
color: #000;
font-size: 16px;
font-family: 'Roboto', sans-serif;
font-weight: 300;
border-bottom: 1px dotted #c6c6c6;
border-right:  1px dotted #c6c6c6;
}
.dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .dropdown-menu>.active>a:hover {
background-color: var(--transparencia);
color: #2c2c2c
}
.dropdown-menu {
padding: 0;
}
.superior .open>.dropdown-menu {
width: 185px;
top: 32px;
}
.superior .dropdown-menu>.active>a, .superior .dropdown-menu>.active>a:focus, .superior .dropdown-menu>.active>a:hover, .superior .dropdown-menu>li>a:focus, .superior .dropdown-menu>li>a:hover {
background-color: #dddddd;;
color: #09090c;
font-weight: 700;
}
.navbar-default .dropdown-menu>.active>a, .navbar-default .dropdown-menu>.active>a:focus, .navbar-default .dropdown-menu>.active>a:hover, .navbar-default .dropdown-menu>li>a:focus, .navbar-default .dropdown-menu>li>a:hover {
background-color: #000;
color: #fff;
font-weight: 700;
}

.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
background-color: transparent;
}
.superior .open>a, .superior .open>a:focus, .superior .open>a:hover {
background-color: transparent;
}
*/
.acceso a p{
    color: var(--primario);
    font-weight: 600;
    margin: 0;
}

.noestavisibleparapersonas{
    display: none;
}



/* .banner_interior .texto{
    flex-direction: column;
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0px;
    left: 0px;
}
.banner_interior .texto img{
    margin-top: 20px;
}
.banner_interior.interior_azul .texto{
    background-color: rgba(69,183,245,0.5);
}
.banner_interior.interior_amarillo .texto{
    background-color: rgba(247,201,110,0.5);
}
.banner_interior.interior_rojo .texto{
    background-color: rgba(245,104,78,0.5);
}

.banner_interior p {
    margin-top: 0;
    font-size: 60px;
    line-height: 50px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0px;
    font-family: 'Open Sans'; 
    text-align: center;
    margin-bottom: 0px;
    text-shadow: 2px 2px 3px rgba(1, 0, 2, 0.75);
}

.banner_interior h1{
    margin-top: 0;
    font-size: 60px;
    line-height: 50px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0px;
    font-family: 'Open Sans'; 
    text-align: center;
    margin-bottom: 0px;
    text-shadow: 2px 2px 3px rgba(1, 0, 2, 0.75);
} */
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
    color: #fff;
    background-color: var(--primario);
}

.nav-pills>li>a{
    color:  #000;
    font-family: 'Open Sans'; 
    font-weight: 400;text-transform: uppercase;
}

/************************************
*              FILTROS              *
************************************/

.filtros{
    height: 112px;
    background-color: var(--transparencia);
    border-bottom: 1px solid #e8e8e8;
    margin: 0;padding: 0;
}

.producto-detalle .filtros{height: 44px;}

.filtros.interiores{
    background: #f9f9f9;
}

.filtros.gestion{
    height: 65px; display: flex; justify-content: center; align-items: center;
}
.filtros.gestion>div{
    width: 100%; margin-top: 15px;
}


.centrarflitros{
    display: flex;
    align-items: center;
}

/************************************
*             BUSCADOR              *
************************************/

#buscador_emergente{position:absolute;top:195px;width:100%;z-index:1000;transition:300ms all ease}
#buscador_emergente.oculto{visibility:hidden;opacity:0;top:0}
.buscador_emergente>div{background:#fff;border-bottom:1px solid #e4e9ef;box-shadow:0 0 3px #ccc;padding:15px}
.input_buscador{border-right:0;box-shadow:none;border-radius:0}
.boton_input_buscador{border-radius:0;padding:10px;border-left:0;border-right:0;color:rgba(0,0,0,.3);background-color:#fff!important}
.cerrar_input_buscador{border-right:0;border-right:1px #ccc solid;color:rgba(0,0,0,.3);padding:10px;border-radius:0;background-color:#fff!important}
#buscador{position:fixed;z-index:99999;height:100%;width:100%;display:flex;pointer-events:none}
#buscador.search-active{overflow:hidden;pointer-events:auto}
#buscador.search-active .search-input{opacity:1;transform:none;pointer-events:all}
#buscador.search-active .icon-close{opacity:1;transform:rotate(-90deg)}
#buscador.search-active .control{cursor:default}
#buscador.search-active .control .btn-material{transform:scale(70);right:1000px;top:0}
#buscador.search-active .control .icon-material-search{opacity:0}
.icon-close{position:fixed;top:30px;right:30px;color:#fff;cursor:pointer;font-size:70px;opacity:0;transition:all .3s ease-in-out}
.icon-close:hover{transform:rotate(0)}
.search-input{height:80px;position:absolute;top:50%;left:50px;margin-top:-40px;pointer-events:none;opacity:0;transform:translate(40px,0);transition:all .3s ease-in-out}
.search-input input{color:#fff;font-size:54px;border:0;background:transparent;-webkit-appearance:none;box-sizing:border-box;outline:0;font-weight:200;font-family: 'Open Sans'; }
.search-input i{color:#fff;font-size:50px;margin-right:15px}
.search-input ::-webkit-input-placeholder{color:#eee}
.search-input :-moz-placeholder{color:#eee;opacity:1}
.search-input ::-moz-placeholder{color:#eee;opacity:1}
.search-input :-ms-input-placeholder{color:#eee}
.wow{
    opacity: 0;
}
.full-width{width:100%}
.control{cursor:pointer}
.control .btn-material{position:absolute;top:-100px;width:60px;height:60px;right:0;border-radius:100%;box-sizing:border-box;background:var(--primario);outline:0;opacity:.9;transform-origin:50%;box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);transition:all .7s cubic-bezier(0.4,0,0.2,1)}
.control .btn-material:hover{box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}
.control .icon-material-search{color:#fff;position:absolute;top:-10px;right:78px;transition:opacity .3s ease-in-out}

.navbar-img{display: none}
.modal-header{
    background-color: var(--primario);
    color: #fff;
}
.modal-content{border: 0;}
.modal-header .close{color: #FFFFFF;}

/************************************
*             PAGINACION            *
************************************/

.btn-pagination { 
    color: #FFFFFF; 
    background-color: #565656; 
    border-color: #565656; 
} 

.btn-pagination:hover, 
.btn-pagination:focus, 
.btn-pagination:active, 
.btn-pagination.active, 
.open .dropdown-toggle.btn-pagination { 
    color: #FFFFFF;
    background-color: var(--primario); 
    border-color: var(--primario); 
} 

.btn-pagination:active, 
.btn-pagination.active, 
.open .dropdown-toggle.btn-pagination { 
    background-image: none; 
} 

.btn-pagination.disabled, 
.btn-pagination[disabled], 
fieldset[disabled] .btn-pagination, 
.btn-pagination.disabled:hover, 
.btn-pagination[disabled]:hover, 
fieldset[disabled] .btn-pagination:hover, 
.btn-pagination.disabled:focus, 
.btn-pagination[disabled]:focus, 
fieldset[disabled] .btn-pagination:focus, 
.btn-pagination.disabled:active, 
.btn-pagination[disabled]:active, 
fieldset[disabled] .btn-pagination:active, 
.btn-pagination.disabled.active, 
.btn-pagination[disabled].active, 
fieldset[disabled] .btn-pagination.active { 
    background-color: #3a39367a; 
    border-color: #3A3936; 
} 

.btn-pagination .badge { 
    color: #0977b2; 
    background-color: #FFFFFF; 
}

.btn-pagination {
    padding: 10px 20px;
    font-size: 14px;
    margin: 0 15px;
    border: 1px solid;
}

.proyecto .imagen{
    background-size: cover;
}
.proyecto h3{
    font-family: var(--familia_fuente);
    margin-bottom: 40px;
    text-align: center;
}

/************************************
*         INSTAGRAM WIDGET          *
************************************/

.instagram-widget>div{position:relative; padding-top:calc(100vw / 6); width: 100%; overflow: hidden;}
.instagram-widget iframe{border:none !important; overflow:hidden !important; position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height: 100% !important;}

/************************************
*           SELECT BONITO           *
************************************/

.selectbonito {
    position: relative;
}

.selectbonito:after {
    content: '\f078';
    font: normal normal normal 10px/1 FontAwesome;
    color: #ffffff;
    right: 0;
    position: absolute;
    pointer-events: none;

    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 7px;
}

/* IE11 hide native button (thanks Matt!) */
select::-ms-expand {
    display: none;
}

.selectbonito select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* Add some styling */

    display: block;
    width: 100%;
    float: right;
    background-image: none;
    -ms-word-break: normal;
    word-break: normal;
}
/* whatsapp */
.floating-icons {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 99;
}

.floating-icons a {
    display: inline-block;
    transition: all .2s ease-in-out;
}

a:hover, 
a:visited, 
a:link, 
a:active { 
    text-decoration: none;
}

.floating-icons img {
    max-width: 48px;
    height: auto;
}

.floating-icons a:hover {
    transform: scale(0.9);
}

.antetitulo-gris {
    font-family: var(--font-poppins);
    color: #8a8a8a;
    font-size: 32px;
    font-weight: lighter;
    margin-bottom: 0;
}

.antetitulo-gris-interiores {
    font-family: var(--font-poppins);
    color: #8a8a8a;
    font-size: 32px;
    font-weight: lighter;
    margin-bottom: 0;
}

.titulo-surf-cyan {
    font-family: var(--font-poppins);
    color: var(--color-teal);
    font-size: 75px;
    font-weight: 500;
    margin-bottom: 15px;
    line-height: 1.1;
}

.titulo-surf-cyan-interiores {
    font-family: var(--font-poppins);
    color: var(--color-teal);
    font-size: 54px;
    font-weight: 500;
    line-height: 1.1;
}

.texto-descripcion-gris {
    font-family: var(--font-body);
    color: var(--color-dark-gray);
    font-size: 18px;
    line-height: 1.6;
    max-width: 850px;
    font-weight: 300;
}

.btn-custom-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 10px 75px !important;
    min-width: 200px;
    font-size: 18px;
    font-family: var(--font-poppins);
    font-weight: 400;

    background-color: var(--color-yellow);
    color: var(--color-teal);
    text-decoration: none;
    border-radius: 100px;
    border: none;
    transition: all 0.3s ease;

    width: fit-content;
    height: 60px;
}

.btn-custom-pill::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 1.2px solid var(--color-teal);
    border-radius: 110px;
    pointer-events: none;
}

.btn-custom-pill:hover {
    background-color: var(--color-yellow-hover);
    transform: scale(1.03);
}

.btn-yellow {
    background-color: var(--color-yellow);
    color: var(--color-teal);
    border-color: var(--color-yellow);
}

.btn-reserve,
.btn-teal {
    background-color: var(--color-teal);
    color: var(--color-yellow);
}

.btn-reserve:hover,
.btn-teal:hover {
    background-color: var(--color-teal-hover);
    color: var(--color-yellow) !important;
    box-shadow: 0 4px 12px rgba(76, 171, 192, 0.3);
    transform: scale(1.02);
}

.btn-yellow:hover {
    background-color: var(--color-yellow-hover) !important;
    color: var(--color-teal) !important;
    box-shadow: 0 4px 12px rgba(76, 171, 192, 0.3);
    transform: scale(1.02);
}

.btn-reserve,
.btn-hero {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    z-index: 1;
    transition: all 0.2s ease-in-out;
    text-decoration: none;

    padding: 14px 40px;
    font-size: 18px;
    font-family: var(--font-dm);
    border-radius: var(--border-radius);
    /* min-width: 200px; */
    overflow: hidden;
    height: 72px;
    width: fit-content;
    padding: 0px 45px;
}

.btn-reserve::before,
.btn-hero::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    width: calc(100% - 12px);
    height: calc(100% - 10px);

    background: transparent;
    border: 1.5px solid var(--color-light-blue);
    border-radius: var(--border-radius);
    pointer-events: none;
    z-index: -1;
    box-sizing: border-box;
    opacity: 0.8;
}

.btn-yellow::before {
    border: 1.5px solid var(--color-teal);
}

.icon-calendar,
.icon-btn {
    width: 24px !important;
    height: auto;
    margin-right: 12px;
}

.swal2-popup{
    width: 25em !important;
    padding: 2em !important;
}

.swal2-styled.swal2-confirm{
    background-color: var(--primario) !important;
}

.swal2-content{
    font-size: 1em !important;
}

/*//ESTILOS GENERALES//*/
@media (max-width: 1200px){
    .dropdown-submenu>a:after {
        display: none;
    }
    .sidebar-wrapper.left .form-control {
        height: 43px;
        padding: 6px 12px;
        color: var(--secundario);
        font-style: italic;
        background-color: #ffffff;
        border: 1px solid #91a22f;
        border-radius: 4px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .sidebar-nav li a.favorito {
        border-right: 1px solid rgba(255, 255, 255, 0.3);
    }
    .caja_favorito, .caja_redes {
        width: 100%;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
    }
    .caja_favorito a,.caja_redes a{
        padding: 0 10px!important;
        margin: 10px 0!important;
    }
    .caja_acceso a{
        padding: 0 20px!important;
    }
    .caja_favorito a img{
        margin-left: 0!important;
    }
    .sidebar-wrapper li img,.caja_redes a img {
        height: 20px;
        transition: all .2s ease-in-out;
    }
    .sidebar-wrapper.left .btn {
        padding: 6px 11px;
        height: 43px;
        border-radius: 4px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        background-color: var(--primario);
        border: 1px solid var(--primario);
    }
    .sidebar-wrapper.left .sidebar-nav li:first-child {
        padding: 10px 20px;
        text-indent: 0px;
        padding-top: 25px;
    }
    .left .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .left .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .fijar{
        position: fixed;
        width: 100%;
    }
}
@media (min-width: 993px){ /* móviles */
    .desfijar {position: absolute !important; width: 100%;}
}
@media (max-width: 992px){ /* móviles */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
        position: relative;
    }

    .container,
    .container-fluid {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    section {
        text-align: center !important;
    }

    .antetitulo-gris {
        font-size: 20px;
        margin-top: 20px;
    }

    .titulo-surf-cyan{
        font-size: 42px !important;
        line-height: 1.2 !important;
    }

    .titulo-surf-cyan-interiores{
        font-size: 50px !important;
        line-height: 1.2 !important;
    }
    
    /* menu_desplegable, descomentar si es necesario para el menu de movil */
    
/*
    .sidebar-nav .multi-level li a{
        text-indent: 0;
        padding-left: 40px !important;
    }
    .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .sidebar-nav .multi-level li.active a{background-color: rgba(0, 0, 0, 0.45);}
    .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .sidebar-nav .multi-level li.active a{
        text-decoration: none;
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.30);
        font-weight: 400;
    }

	.sidebar-wrapper{opacity: 1}

	.sidebar-nav .open>.dropdown-menu {
		position: static;
		background-color: transparent;
		border: none;
		box-shadow: none;
		margin: 0;
		padding: 0;
	}

	.sidebar-nav .dropaco .dropdown-menu>li>a {
		text-align: left;
		padding: 8px 20px;
		background-color: rgba(0, 0, 0, 0.25);
		white-space: initial;
		color: #ffffff;
		font-size: 15px;
		font-family: 'Roboto Condensed', sans-serif;
		font-weight: 300;
	}
    
    .sidebar-nav .multi-level li.active a {
        background-color: rgba(0, 0, 0, 0.45);
    }
*/

	/* menu_desplegable */
    
    /* whatsapp */
    .floating-icons {
        bottom: 1rem;
        right: 1rem;
    }
    .videos_responsive{width: 100%;float: none}
    .marco-contacto{margin-top: 40px;}
    .botones_carro{width: 100%;margin-top: 20px}
    .otras_fotos .imagen{height: 100px;}
    .foto_principal .imagen {width: 100%}
    .zona_galeria_mini .bx-wrapper .bx-prev { display: none;}
    .zona_galeria_mini .bx-wrapper .bx-next { display: none;}


    .instagram-widget>div{position:relative; padding-top:calc(100vw / 3);}
    .instagram-widget iframe{width:200% !important;}
    .padre_imagen .imagen {background-size: contain;}
    .sidebar-wrapper.left .form-control {
        height: 43px;
        padding: 6px 12px;
        color: var(--secundario);
        font-style: italic;
        background-color: #ffffff;
        border: 1px solid var(--primario);
        border-radius: 4px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .sidebar-nav li a.favorito {
        border-right: 1px solid rgba(255, 255, 255, 0.3);
    }
    .caja_favorito, .caja_redes {
        width: 100%;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
        flex-wrap: wrap;
    }
    .caja_favorito a,.caja_redes a{
        padding: 0 10px!important;
        margin: 10px 0!important;
    }
    .caja_acceso a{
        padding: 0 20px!important;
    }
    .caja_favorito a img{
        margin-left: 0!important;
    }
    .sidebar-wrapper li img,.caja_redes a img {
        height: 25px;
        transition: all .2s ease-in-out;
    }
    .sidebar-wrapper.left .sidebar-nav li:first-child {
        padding: 10px 20px;
        text-indent: 0px;
        padding-top: 25px;
    }
    .left .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .left .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .left .sidebar-nav .multi-level li.active a{
        text-decoration: none;
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.30);
        font-weight: 400;
    }
    .quantity{width: 100%; display: flex; align-items: center; justify-content: space-between;}
    .quantity label{margin-bottom: 0;}
    
    .zona-mapa iframe {height: 350px;}
}
@media (max-width: 767px){ /* móviles */
    .marco-izq .col-xs-10{
        margin-left: 0px;
    }
    .filtros{
        height: 260px;
    }
    h3.categoria {
        text-align: center;
    }
    span.precio {
        font-size: 48px;
        font-family: var(--familia_fuente);
        font-weight: 400;
    }
    span.tachado {
        font-size: 24px;
        font-family: var(--familia_fuente);
        font-weight: 400;
    }
    .precios_estilos {
        text-align: center;
        width: 100%;
    }
    .otras_fotos{margin-bottom: 30px}
    .nav-botones>li{float: none;width: 100%;margin-bottom: 10px}
    .nav-botones>li>a{margin: 0;}
    .btn-pagination {
        padding: 6px 12px;
        font-size: 12px;
        margin: 0 7px;
        border: 1px solid;
    }
    h3{
        font-size: 20px;
    }
    .proyecto .imagen {
        background-size: cover;
    }

    .instagram-widget>div{position:relative; padding-top:calc(100vw / 2);}
    .instagram-widget iframe{width:300% !important;}
}

.tpl-0{
	/* --- NAVBAR --- */
	* {
	    --tipografia_sans: var(--font-dm);
	    --color-tipografia-menu: var(--color-dark-gray);
	    --color-tipografia-menu-hover: var(--color-teal);
	    --color-detalles: var(--color-yellow);
	    --redondeo: var(--border-radius);
	    --tipografia_mediana: var(--font-dm);
	}
	
	.navbar {
	    padding: 12px 0;
	    height: 144px;
	    font-family: var(--tipografia_sans);
	    transition: all 0.4s ease;
	}
	
	.nav-link:hover,
	.nav-link.active {
	    color: var(--color-tipografia-menu-hover) !important;
	}
	
	.dropdown-submenu {
	    position: relative;
	}
	
	.dropdown-submenu>.dropdown-menu {
	    top: 0;
	    left: 100%;
	    margin-top: -6px;
	    margin-left: -1px;
	    -webkit-border-radius: 0 6px 6px 6px;
	    -moz-border-radius: 0 6px 6px;
	    border-radius: 0 6px 6px 6px;
	}
	
	.dropdown-submenu:hover>.dropdown-menu {
	    display: block;
	}
	
	.dropdown-submenu>a:after {
	    display: block;
	    content: " ";
	    float: right;
	    width: 0;
	    height: 0;
	    border-color: transparent;
	    border-style: solid;
	    border-width: 5px 0 5px 5px;
	    border-left-color: #ccc;
	    margin-top: 5px;
	    margin-right: -10px;
	}
	
	.dropdown-submenu:hover>a:after {
	    border-left-color: #fff;
	}
	
	.dropdown-submenu.pull-left {
	    float: none;
	}
	
	.dropdown-submenu.pull-left>.dropdown-menu {
	    left: -100%;
	    margin-left: 10px;
	    -webkit-border-radius: 6px 0 6px 6px;
	    -moz-border-radius: 6px 0 6px 6px;
	    border-radius: 6px 0 6px 6px;
	}
	
	.main-logo {
	    width: 115px;
	    margin-left: 50px;
	    transition: width 0.3s ease, padding 0.3s ease;
	}
	
	.navbar.navbar-scrolled {
	    height: 110px;
	    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	}
	
	.navbar.navbar-scrolled .main-logo {
	    width: 115px;
	    padding: 15px;
	}
	
	.nav-link {
	    color: var(--color-tipografia-menu);
	    font-weight: 500;
	    font-size: 18px;
	    transition: color 0.3s ease;
	    margin-left: 15px;
	    margin-right: 15px;
	}
	
	.nav-link:hover,
	.nav-link.active {
	    color: var(--color-tipografia-menu-hover) !important;
	}
	
	/* --- SELECTOR DE IDIOMA --- */
	.lang-pill-container {
	    background-color: #F7F8F9;
	    border-radius: var(--redondeo);
	    padding: 6px 14px;
	    display: flex;
	    align-items: center;
	    cursor: pointer;
	    transition: background 0.3s;
	    height: 43px;
	}
	
	.lang-pill-container:hover {
	    background-color: #eceef0;
	}
	
	.lang-dropdown {
	    left: 50% !important;
	    transform: translateX(-50%) !important;
	    margin-left: 0 !important;
	    min-width: 180px !important;
	}
	
	.icon-lang {
	    width: 20px;
	    height: 20px;
	    margin-right: 6px;
	}
	
	.lang-text {
	    font-weight: 500;
	    font-size: 18px;
	    margin-right: 2px;
	}
	
	.icon-arrow {
	    width: 18px;
	    height: 18px;
	}
	
	.navbar-img {
	    display: none
	}
	
	.btn-reserve:hover {
	    background-color: var(--color-tipografia-menu-hover);
	    color: var(--color-detalles) !important;
	    box-shadow: 0 4px 12px rgba(76, 171, 192, 0.3);
	}
	
	.icon-calendar {
	    width: 20px;
	    height: auto;
	}
	
	.btn-reserve,
	.btn-teal {
	    background-color: var(--color-tipografia-menu-hover);
	    color: var(--color-detalles);
	}
	
	.btn-reserve:hover,
	.btn-teal:hover {
	    background-color: var(--color-tipografia-menu-hover);
	    color: var(--color-detalles) !important;
	    box-shadow: 0 4px 12px rgba(76, 171, 192, 0.3);
	    transform: scale(1.02);
	}
	
	.btn-reserve {
	    position: relative;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    border: none;
	    z-index: 1;
	    transition: all 0.2s ease-in-out;
	    text-decoration: none;
	
	    padding: 14px 40px;
	    font-size: 18px;
	    font-family: var(--tipografia_sans);
	    border-radius: var(--redondeo);
	    overflow: hidden;
	    height: 72px;
	    width: fit-content;
	    padding: 0px 45px;
	}
	
	.btn-reserve::before {
	    content: "";
	    position: absolute;
	    top: 5px;
	    left: 5px;
	    width: calc(100% - 12px);
	    height: calc(100% - 10px);
	
	    background: transparent;
	    border: 1.5px solid var(--color-light-blue);
	    border-radius: var(--redondeo);
	    pointer-events: none;
	    z-index: -1;
	    box-sizing: border-box;
	    opacity: 0.8;
	}
	
	@media (min-width: 1200px) and (max-width: 1350px) {
	    .navbar-expand-lg .navbar-nav .nav-link {
	        padding-left: 0px !important;
	        padding-right: 0px !important;
	    }
	
	    .main-logo {
	        margin-left: 20px;
	    }
	
	    .nav-link {
	        font-size: 16px;
	    }
	
	    .btn-reserve {
	        padding: 0px 30px;
	        font-size: 16px;
	    }
	}
	
	@media (min-width:1200px) {
	    .custom-dropdown {
	        border: none;
	        border-radius: 20px;
	        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.114);
	        padding: 15px 0;
	        text-align: center;
	        min-width: 190px;
	        margin-top: 10px !important;
	        font-family: var(--tipografia_sans) !important;
	    }
	
	    .dropdown-item {
	        color: var(--color-tipografia-menu-hover) !important;
	        font-weight: 500 !important;
	        font-size: 18px !important;
	        padding: 12px 25px !important;
	        background: transparent !important;
	        font-family: var(--tipografia_sans) !important;
	        text-transform: none !important;
	        text-align: left;
	    }
	
	    .dropdown-item:hover {
	        color: var(--color-tipografia-menu) !important;
	    }
	}
	
	
	@media (max-width: 1200px) {
	
	    .ul_idiomas,
	    .idiomas {
	        margin-top: 20px !important;
	    }
	
	    .ul_idiomas {
	        position: absolute !important;
	        border: none !important;
	        border-radius: 20px !important;
	        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.114) !important;
	        text-align: center !important;
	        min-width: 190px;
	        margin-top: 10px !important;
	        font-family: var(--tipografia_sans) !important;
	    }
	
	    .ul_idiomas>li>a {
	        color: var(--color-tipografia-menu-hover) !important;
	        font-weight: 500 !important;
	        font-size: 18px !important;
	        padding: 12px 5px !important;
	        background: transparent !important;
	        font-family: var(--tipografia_sans) !important;
	        text-transform: none !important;
	    }
	
	    .mobile-offcanvas .gap-2,
	    .navbar-collapse .gap-2 {
	        gap: 0 !important;
	    }
	
	    .lang-pill-container {
	        width: fit-content;
	        margin: 0 auto
	    }
	
	    .navbar-nav .nav-link:hover,
	    .navbar-nav .nav-link.active {
	        background-color: #fff;
	        color: var(--primario) !important;
	    }
	
	    .navbar-nav .nav-link:hover .movil_movil .st0,
	    .navbar-nav .nav-link.active .movil_movil .st0 {
	        fill: var(--primario) !important;
	    }
	
	    .navbar-nav .nav-link:hover .movil_movil .st0,
	    .navbar-nav .nav-link.active .movil_movil .st0 {
	        fill: var(--primario) !important;
	    }
	
	    .navbar-expand-lg .navbar-toggler {
	        display: block !important;
	    }
	
	    .navbar-expand-lg .navbar-nav {
	        flex-direction: column;
	        width: 100%;
	        top: 0;
	        position: relative;
	        height: 100%;
	    }
	
	    /* contenido interno visible inmediatamente */
	    .mobile-offcanvas .navbar-nav,
	    .navbar-collapse .navbar-nav {
	        opacity: 1;
	        transition: none;
	    }
	
	    /* --- 2. NAVBAR Y LOGO EN LA ESQUINA --- */
	    .navbar {
	        height: 52px !important;
	        padding: 5px 15px !important;
	        justify-content: flex-end;
	    }
	
	    .navbar.d-xl-none {
	        z-index: 1046 !important;
	    }
	
	    .mobile-menu-backdrop {
	        position: fixed;
	        inset: 0;
	        background-color: rgba(0, 0, 0, 0.5);
	        z-index: 1040;
	        border: 0;
	        padding: 0;
	        opacity: 0;
	        visibility: hidden;
	        pointer-events: none;
	        transition: opacity 0.3s ease, visibility 0.3s ease;
	    }
	
	    header:has(.mobile-offcanvas.showing) .mobile-menu-backdrop,
	    header:has(.mobile-offcanvas.show) .mobile-menu-backdrop {
	        opacity: 1;
	        visibility: visible;
	        pointer-events: auto;
	    }
	
	    .forma_logo {
	        position: absolute;
	        height: 80px;
	        margin-left: -20px;
	        margin-top: -10px;
	    }
	
	    .main-logo {
	        height: 50px !important;
	        margin-left: -40px;
	        margin-top: 9px;
	        z-index: 1;
	        position: relative;
	    }
	
	    .navbar-toggler {
	        position: absolute;
	        top: 15px;
	        right: 15px;
	        z-index: 2000 !important;
	        margin-left: 0;
	    }
	
	    .fixed-top {
	        position: fixed !important;
	    }
	
	    .navbar-toggler {
	        background-color: var(--primario);
	        right: 0;
	        width: 52px;
	        height: 52px;
	        top: 0;
	        margin-right: 0 !important;
	        border-radius: 0px;
	    }
	
	    .navbar-toggler {
	        /* cursor: default; */
	        box-shadow: none !important;
	    }
	
	    .navbar-toggler:hover {
	        text-decoration: none;
	        box-shadow: none !important;
	    }
	
	    .navbar-toggler {
	        --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	    }
	
	    /* --- 3. MENÚ LATERAL Y DROPDOWNS --- */
	    .mobile-offcanvas {
	        position: fixed;
	        top: 52px;
	        right: 0;
	        width: 300px !important;
	        max-width: 100vw;
	        min-height: calc(100vh - 52px);
	        height: calc(100vh - 52px);
	        background: white !important;
	        display: block !important;
	        margin: 0 !important;
	        padding: 10px 0px 0px 0px !important;
	        border-left: 3px solid var(--color-yellow);
	        overflow-y: auto;
	        padding-top: 0;
	        z-index: 1045;
	        transition: transform 0.3s ease-in-out;
	    }
	
	    .mobile-offcanvas .offcanvas-body {
	        overflow-y: visible;
	        padding: 0 !important;
	    }
	
	    .navbar-nav .nav-link {
	        color: #585858 !important;
	        display: block;
	        text-indent: 20px;
	        font-size: 18px;
	        font-weight: 400;
	        padding: 20px 10px !important;
	        overflow: hidden;
	        white-space: nowrap;
	        text-overflow: ellipsis;
	        text-align: left;
	        transition: all .2s ease-in-out;
	        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	        height: auto;
	    }
	
	    .navbar-nav .nav-link::before {
	        display: none !important;
	    }
	
	    .mobile-offcanvas .dropdown-menu,
	    .navbar-collapse .dropdown-menu {
	        position: static;
	        float: none;
	        width: 100%;
	        border: none;
	        box-shadow: none;
	        padding: 0;
	        margin: 0;
	        border-radius: 0;
	        /* top: 0; */
	        top: 50px;
	        height: auto;
	        background: #fbfbfb;
	        margin: 0;
	    }
	
	    .mobile-offcanvas .dropdown-menu>li>a,
	    .navbar-collapse .dropdown-menu>li>a {
	        display: block;
	        padding: 15px 0 !important;
	        border-bottom: 1px solid #eee;
	        color: #585858;
	        margin-left: 0px !important;
	        margin-right: 0px !important;
	        font-family: var(--tipografia_sans);
	        text-transform: none;
	    }
	
	    .mobile-offcanvas .navbar-nav>li:not(:last-child)>.nav-link,
	    .navbar-collapse .navbar-nav>li:not(:last-child)>.nav-link {
	        display: block !important;
	        padding: 15px 0 !important;
	        border-bottom: 1px solid #eee;
	        color: #585858;
	        margin-left: 0px !important;
	        margin-right: 0px !important;
	    }
	
	    .mobile-offcanvas .navbar-nav>li:last-child>.nav-link,
	    .navbar-collapse .navbar-nav>li:last-child>.nav-link {
	        border-bottom: 1px solid transparent !important;
	    }
	
	    .dropaco {
	        width: 100%;
	    }
	
	    .btn-reserve {
	        margin-top: 20px;
	    }
	
	    .li_telefono {
	        width: 100%;
	    }
	
	    .telefono_menu_lateral {
	        display: block;
	        padding: 15px 20px;
	        color: #585858 !important;
	        margin-left: 0px !important;
	        margin-right: 0px !important;
	        width: 100%;
	        font-size: 18px;
	        text-align: left;
	    }
	
	    .telefono_menu_lateral img {
	        width: 25px;
	        height: 25px;
	    }
	}
	
	@media (max-width: 992px){
	    .forma_logo {
	        position: absolute;
	        height: 70px;
	        margin-left: -30px;
	        margin-top: -10px;
	    }
	
	    .main-logo {
	        height: 50px !important;
	        margin-left: -55px;
	        margin-top: 1px;
	        z-index: 1;
	        position: relative;
	    }
	}

}

.tpl-1{
	/* --- HERO SECTION & CAROUSEL --- */
	* {
	    --tipografia_poppins: var(--font-poppins);
	}
	
	.hero-carousel-container {
	    position: relative;
	    height: calc(100vh - 144px);
	    width: 100%;
	    overflow: hidden;
	    margin-top: 144px;
	}
	
	.hero-carousel-container .mouse-banner {
	    width: 35px;
	    height: 35px;
	}
	
	.hero-carousel-container .carousel,
	.hero-carousel-container .carousel-inner,
	.hero-carousel-container .carousel-fade .carousel-item {
	    height: 100%;
	}
	
	.hero-slide-content {
	    height: 100%;
	    background-size: cover;
	    background-position: center;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    position: relative;
	    font-family: var(--tipografia_poppins);
	}
	
	/* Overlay */
	.hero-slide-content::after {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background: rgba(0, 0, 0, 0.35);
	    z-index: 1;
	}
	
	.hero-title {
	    color: white;
	    font-size: 80px;
	    font-weight: 700;
	    position: relative;
	    z-index: 2;
	    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
	    margin-bottom: 30px;
	}
	
	/* --- BOTONES HERO--- */
	.hero-static-buttons {
	    position: relative;
	    z-index: 2;
	}
	
	.container {
	    position: relative;
	    top: -30px;
	}
	
	.carousel-fade .carousel-item {
	    transition-duration: 0.4s;
	}
	
	.banner-video {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    overflow: hidden;
	}
	
	.banner-video video {
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    width: 100%;
	    height: 100%;
	    object-fit: cover;
	    transform: translate(-50%, -50%);
	    aspect-ratio: 16/9;
	}
	
	.banner-video .container {
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    width: 100%;
	}
	
	/* --- RATÓN HERO SECTION--- */
	.mouse-container {
	    width: 45px;
	    height: 45px;
	    border-radius: 100%;
	    left: calc(50% - 20px);
	    bottom: 15px;
	    z-index: 2;
	    cursor: pointer;
	}
	
	.mouse-container .mouse {
	    width: 100%;
	    padding: 0;
	    transition: transform 0.3s;
	    animation: bounce 1.5s infinite;
	}
	
	.wow {
	    opacity: 1 !important;
	}
	
	@keyframes bounce {
	    0% {
	        transform: scale(1) translateY(0);
	    }
	
	    20% {
	        transform: scale(1.1, 0.9) translateY(0);
	    }
	
	    40% {
	        transform: scale(0.9, 1.1) translateY(-10px);
	    }
	
	    60% {
	        transform: scale(1.05, 0.95) translateY(0);
	    }
	
	    80% {
	        transform: scale(0.95, 1.05) translateY(-5px);
	    }
	
	    100% {
	        transform: scale(1) translateY(0);
	    }
	}
	
	@media (max-width: 1200px) {
	    .hero-carousel-container {
	        margin-top: 52px;
	        height: calc(100vh - 52px);
	    }
	}
	
	@media (max-width: 992px) {
	
	    /* Hero Carousel */
	    .hero-slide-content {
	        height: 100vh;
	        padding-top: 60px;
	    }
	
	    .hero-title {
	        font-size: 32px !important;
	        margin-bottom: 40px !important;
	        width: 90%;
	        margin-left: auto;
	        margin-right: auto;
	    }
	
	    .hero-static-buttons {
	        flex-direction: column;
	        bottom: 25%;
	        width: fit-content;
	        gap: 15px;
	        display: flex;
	        margin: 0 auto;
	        margin: 0 auto
	    }
	
	    .btn-hero {
	        width: 250px;
	        padding: 0px 5px;
	    }
	}
}

.tpl-2{
	/* --- SECCIÓN INTRO SURF --- */
	.section-intro-surf {
	    padding: 107px 0;
	    background-color: #ffffff;
	}
	
	#seccion_destino {
	    scroll-margin-top: 155px;
	}
	
	@media (max-width: 992px){
	    /* Seccion Intro Surf */
	    .section-intro-surf .columna {
	        text-align: center !important;
	        display: flex;
	        flex-direction: column;
	        align-items: center;
	    }
	
	    .section-intro-surf .texto-descripcion-gris {
	        margin-left: auto !important;
	        margin-right: auto !important;
	    }
	
	    .section-intro-surf .mt-4 {
	        width: 100%;
	        display: flex;
	        justify-content: center;
	    }
	
	    .section-intro-surf {
	        padding-bottom: 0;
	        padding-top: 100px;
	    }
	}
}

.tpl-4{
	/* --- SECCIÓN HABITACIONES --- */
	*{
	    --tipografia-poppins: var(--font-poppins);
	    --background-precios-flechas: var(--color-yellow);
	    --color-precios-flechas: var(--color-teal);
	    --redondeo: var(--border-radius);
	}
	
	.section-rooms {
	    padding: 25px 0 120px 0 !important;
	    font-family: var(--tipografia-poppins);
	}
	
	.container-rooms-fluid {
	    width: calc(100% - 100px) !important;
	    max-width: none !important;
	    margin: 0 auto;
	    padding: 0;
	}
	
	#rooms-slider {
	    overflow: visible !important;
	    position: relative;
	}
	
	#rooms-slider .splide__track {
	    overflow: hidden !important;
	}
	
	#rooms-slider .splide__pagination {
	    bottom: -60px !important;
	    width: 100%;
	}
	
	#rooms-slider .splide__pagination {
	    position: absolute;
	    left: 50%;
	    transform: translateX(-50%);
	     display: flex !important;
	    justify-content: center;
	    align-items: center;
	    padding: 0;
	}
	
	.splide{
	    visibility: visible !important;
	}
	
	.room-card {
	    height: 580px;
	    border-radius: 15px;
	    position: relative;
	    display: flex;
	    align-items: flex-end;
	    padding: 40px;
	    overflow: hidden;
	}
	
	.room-img {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background-size: cover;
	    background-position: center;
	    z-index: 0;
	    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	}
	
	.room-card:hover .room-img {
	    transform: scale(1.1);
	}
	
	.room-card::after {
	    content: "";
	    position: absolute;
	    bottom: 0;
	    left: 0;
	    right: 0;
	    height: 60%;
	    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
	    z-index: 1;
	    pointer-events: none;
	}
	
	.price-badge {
	    position: absolute;
	    top: 60%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    background-color: var(--background-precios-flechas);
	    color: var(--color-precios-flechas);
	    padding: 5px 45px;
	    border-radius: 50px;
	    font-weight: 400;
	    font-size: 20px;
	    z-index: 10;
	}
	
	.room-info {
	    position: relative;
	    z-index: 5;
	    width: 100%;
	    text-align: center;
	    color: white;
	}
	
	.room-title {
	    font-size: 24px;
	    font-weight: 600;
	    margin-bottom: 25px;
	    height: 25px;
	}
	
	.room-details {
	    display: flex;
	    justify-content: center;
	    gap: 35px;
	    margin-bottom: 40px;
	}
	
	.detail-item {
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    gap: 8px;
	    font-size: 12px;
	}
	
	.icon-bg {
	    background-color: var(--color-precios-flechas);
	    width: 40px;
	    height: 40px;
	    border-radius: 50%;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	}
	
	.icon-bg img {
	    width: 25px;
	    height: auto;
	}
	
	/* Flechas */
	.splide__arrow {
	    width: 60px !important;
	    height: 60px !important;
	    background: white !important;
	    box-shadow: 0 4px 12px rgba(19, 19, 19, 0.477);
	    opacity: 1 !important;
	    z-index: 10;
	}
	
	
	.splide__arrow:hover {
	    background-color: var(--background-precios-flechas) !important;
	    color: var(--color-precios-flechas) !important;
	    box-shadow: 0 4px 12px rgba(76, 171, 192, 0.477);
	}
	
	.splide__arrow img {
	    width: 20px;
	    height: auto;
	}
	
	.splide__arrow--prev {
	    left: -30px !important;
	}
	
	.splide__arrow--next {
	    right: -30px !important;
	}
	
	.splide__arrow svg {
	    display: none;
	}
	
	/* Puntitos */
	.splide__pagination {
	    bottom: -50px !important;
	}
	
	.splide__pagination__page {
	    width: 8px !important;
	    height: 8px !important;
	    background: var(--color-precios-flechas) !important;
	    opacity: 0.3;
	    margin: 0 6px !important;
	}
	
	.splide__pagination__page.is-active {
	    opacity: 1 !important;
	    transform: scale(1.2);
	}
	
	@media (max-width: 992px){
	    /* Habitaciones */
	    .room-card {
	        height: 350px;
	        flex-direction: column;
	        justify-content: flex-end;
	        padding: 20px 15px;
	    }
	
	    .price-badge {
	        position: relative;
	        top: auto;
	        left: auto;
	        transform: none;
	        display: inline-block;
	        align-self: center;
	        margin-bottom: 15px;
	        font-size: 16px;
	        padding: 5px 25px;
	    }
	
	    .room-info {
	        text-align: center;
	        width: 100%;
	    }
	
	    .room-title {
	        font-size: 20px;
	        margin-top: 0 !important;
	        margin-bottom: 15px;
	        line-height: 1.2;
	    }
	
	    .room-details {
	        gap: 15px;
	        margin-bottom: 10px;
	    }
	
	    .icon-bg {
	        width: 32px;
	        height: 32px;
	    }
	
	    .icon-bg img {
	        width: 18px !important;
	    }
	
	    .detail-item span {
	        font-size: 11px !important;
	    }
	
	    .splide__arrow--prev {
	        display: none !important;
	    }
	
	    .splide__arrow--next {
	        display: none !important;
	
	    }
	
	    .section-rooms {
	        padding-bottom: 70px !important;
	        padding-top: 100px !important;
	    }
	}
	
	@media (min-width: 1351px) and (max-width: 1800px){
	    /* Habitaciones */
	    .container-rooms-fluid {
	        width: 90% !important;
	    }
	
	    .room-card {
	        height: 520px !important;
	    }
	
	    .price-badge {
	        top: 50% !important;
	    }
	}
	
	@media (min-width: 1024px) {
	    .container-rooms-fluid {
	        width: 95% !important;
	        margin: 0 auto;
	    }
	
	}
	
	@media (min-width: 992px) and (max-width: 1030px){
	    .price-badge {
	        top: 40% !important;
	        font-size: 18px !important;
	        padding: 5px 30px !important;
	    }
	}
	
	@media (min-width: 768px) and (max-width: 1026px){
	    /* Habitaciones */
	    #rooms-slider .splide__slide {
	        padding: 0 10px;
	    }
	
	    #rooms-slider .splide__slide {
	        padding: 0 !important;
	    }
	
	    .room-card {
	        height: 450px;
	        width: 100% !important;
	        max-width: none !important;
	        margin: 0 auto;
	    }
	
	    .room-details {
	        gap: 20px;
	    }
	}
}

.tpl-5{
	/* --- SECCIÓN ACTIVIDADES DEPORTIVAS --- */
	*{
	    --tipografia-poppins: var(--font-poppins);
	    --detalles: var(--color-yellow);
	    --color-precios: var(--color-teal);
	    --redondeo: var(--border-radius);
	}
	
	.section-activities {
	    font-family: var(--tipografia-poppins);
	    padding: 50px 0 !important;
	}
	
	.activity-card {
	    position: relative;
	    border-radius: 20px;
	    overflow: hidden;
	    display: flex;
	    align-items: flex-end;
	    padding: 35px;
	    z-index: 1;
	    text-decoration: none;
	    transition: box-shadow 0.4s ease;
	}
	
	.activity-img {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background-size: cover;
	    background-position: center;
	    z-index: 0;
	    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	}
	
	.activity-card:hover .activity-img {
	    transform: scale(1.1);
	}
	
	.activity-card:hover {
	    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
	}
	
	.card-short {
	    height: 610px;
	}
	
	.card-long {
	    height: 767px;
	}
	
	.activity-card::before {
	    content: "";
	    position: absolute;
	    top: 15px;
	    left: 15px;
	    right: 15px;
	    bottom: 15px;
	    border: 1.5px solid rgba(255, 255, 255, 0.541);
	    border-radius: 13px;
	    pointer-events: none;
	    z-index: 5;
	}
	
	.activity-card.border-yellow::before {
	    border-color: color-mix(in srgb, var(--detalles), transparent 40%) !important;
	}
	
	.activity-card::after {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 60%);
	    z-index: 2;
	}
	
	.price-pill-top {
	    position: relative;
	    margin-left: auto;
	    margin-bottom: auto;
	    position: absolute;
	    top: 30px;
	    right: 30px;
	    background-color: white;
	    color: var(--color-precios);
	    padding: 10px 40px;
	    border-radius: var(--redondeo);
	    font-weight: 400;
	    font-size: 20px;
	    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
	    z-index: 10;
	}
	
	.activity-card-title {
	    color: white;
	    font-size: 40px;
	    font-weight: 400;
	    position: relative;
	    z-index: 10;
	    margin-bottom: 0;
	    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	}
	
	.icon-btn-yellow {
	    width: 22px;
	    height: auto;
	    margin-right: 12px;
	}
	
	@media (min-width: 1351px) and (max-width: 1800px){
	    /* Actividades */
	    .section-activities .text-end {
	        /* text-align: center !important;
	        margin-top: 50px; */
	    }
	
	    .section-activities .btn-custom-pill {
	        position: relative !important;
	        right: auto !important;
	        bottom: auto !important;
	        display: inline-flex !important;
	    }
	}
	
	@media (min-width: 992px) and (max-width: 1200px){
	    .price-pill-top {
	        top: 30px !important;
	        right: 30px !important;
	        font-size: 16px !important;
	        padding: 8px 25px !important;
	    }
	}
	
	@media (min-width: 768px) and (max-width: 1026px){
	    /* Actividades */
	    .section-activities .card-short,
	    .section-activities .card-long {
	        height: 450px !important;
	        margin-bottom: 20px !important;
	    }
	
	    .col-masonry-right {
	        margin-top: 0 !important;
	    }
	
	    .activity-card-title {
	        font-size: 32px !important;
	    }
	
	    .section-activities .text-end {
	        text-align: center !important;
	    }
	
	    .section-activities .btn-custom-pill {
	        position: relative !important;
	        right: auto !important;
	        margin-left: 20px;
	        margin-top: 30px;
	        display: inline-flex !important;
	    }
	
	    #activities-slider .splide__pagination {
	        margin-left: 170px;
	    }
	}
	
	@media (max-width: 992px){
	     /* Actividades */
	    .card-short,
	    .card-long {
	        height: 400px !important;
	        margin-bottom: 20px !important;
	    }
	
	    .col-masonry-right {
	        margin-top: 0;
	    }
	
	    .price-pill-top {
	        padding: 8px 25px;
	        font-size: 16px;
	    }
	
	    #activities-slider {
	        margin-top: 30px;
	        padding-bottom: 70px !important;
	        overflow: visible !important;
	    }
	
	    #activities-slider .activity-card {
	        height: 350px !important;
	        margin-bottom: 0 !important;
	        width: 100%;
	    }
	
	    #activities-slider .activity-card-title {
	        font-size: 28px !important;
	    }
	
	    #activities-slider .splide__pagination {
	        bottom: 25px !important;
	        display: flex !important;
	        justify-content: center;
	        width: 100%;
	        left: 170px;
	        z-index: 10;
	    }
	
	    #activities-slider .splide__pagination__page.is-active {
	        background: var(--color-precios) !important;
	    }
	
	    #activities-slider .splide__track {
	        overflow: hidden !important;
	    }
	
	    .col-masonry-right {
	        margin-top: 0 !important;
	    }
	
	    #activities-slider .splide__pagination {
	        bottom: 10px !important;
	    }
	
	    .section-activities .btn-custom-pill {
	        /* right: 30.5px; */
	        bottom: 10px;
	        text-align: center;
	        display: flex;
	        margin: 0 auto;
	    }
	
	    .btn-custom-pill{
	        padding: 10px 40px !important;
	    }
	}
}

.tpl-6{
	/* --- SECCIÓN GALERÍA --- */
	*{
	    --fondo: var(--color-light-blue);
	    --tipografia-poppins: var(--font-poppins);
	    --tipografia-body: var(--font-body);
	    --subtitulo: var(--color-light-gray);
	    --color-texto: var(--color-dark-gray);
	}
	
	.section-gallery {
	    position: relative;
	    height: 855px;
	    width: 100%;
	    margin-top: 125px;
	    margin-bottom: 100px;
	    overflow: hidden;
	}
	
	.gallery-wrapper {
	    display: flex;
	    width: 100%;
	    height: 100%;
	    position: relative;
	}
	
	.gallery-side-blue {
	    width: 20%;
	    height: 100%;
	    background-color: var(--fondo);
	}
	
	.gallery-side-image {
	    width: 80%;
	    height: 100%;
	}
	
	.gallery-side-image img {
	    width: 100%;
	    height: 100%;
	    object-fit: cover;
	    filter: brightness(0.8);
	}
	
	.gallery-card-container {
	    position: absolute;
	    top: 50%;
	    left: 20%;
	    transform: translate(-50%, -50%);
	    z-index: 10;
	    width: 100%;
	    max-width: 570px;
	}
	
	.gallery-card {
	    background: white;
	    padding: 80px 50px;
	    border-radius: 15px;
	    text-align: center;
	
	    min-height: 200px;
	
	    display: flex;
	    flex-direction: column;
	    justify-content: center;
	}
	
	.gallery-subtitle {
	    font-family: var(--tipografia-poppins);
	    color: var(--subtitulo);
	    font-weight: 300;
	    font-size: 32px;
	    margin-bottom: 40px;
	}
	
	.gallery-text {
	    font-family: var(--tipografia-body);
	    color: var(--color-texto);
	    font-size: 18px;
	    line-height: 1.8;
	    margin-bottom: 40px;
	}
	
	.vertical-title {
	    position: absolute;
	    right: 105px;
	    top: 10%;
	    transform: translateY(-50%) rotate(-90deg);
	    transform-origin: center right;
	
	    font-family: var(--tipografia-poppins);
	    font-size: 200px;
	    font-weight: 500;
	    color: white;
	
	    white-space: nowrap;
	    pointer-events: none;
	    z-index: 5;
	}
	
	.icon-btn-eye {
	    width: 20px;
	    margin-right: 12px;
	}
	
	@media (max-width: 992px){
	    /* Galería */
	    .section-gallery {
	        background-color: var(--fondo);
	        height: auto;
	        margin-top: 40px;
	        margin-bottom: 40px;
	        padding: 60px 0;
	        display: block;
	        overflow: hidden;
	    }
	
	    .gallery-wrapper {
	        display: flex;
	        flex-direction: column;
	        align-items: center;
	        height: auto;
	        width: 100%;
	        position: relative;
	    }
	
	    .gallery-side-blue,
	    .vertical-title {
	        display: none;
	    }
	
	    .gallery-side-image {
	        width: 90%;
	        max-width: 400px;
	        height: 250px;
	        position: relative;
	        z-index: 2;
	        border-radius: 25px 25px 0 0;
	        overflow: hidden;
	        margin-bottom: 0;
	    }
	
	    .gallery-side-image img {
	        width: 100%;
	        height: 100%;
	        object-fit: cover;
	    }
	
	    .gallery-card-container {
	        position: relative;
	        top: 0;
	        left: 0;
	        transform: none;
	        width: 90%;
	        max-width: 400px;
	        z-index: 1;
	        margin-top: 0;
	    }
	
	    .gallery-card {
	        background: white;
	        padding: 30px 25px;
	        border-radius: 0 0 25px 25px;
	        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
	        text-align: center;
	        min-height: auto;
	    }
	
	    .gallery-subtitle {
	        font-size: 20px;
	        margin-bottom: 15px;
	        color: var(--subtitulo);
	    }
	
	    .gallery-text {
	        font-size: 15px;
	        line-height: 1.6;
	        color: var(--color-texto);
	        margin-bottom: 25px;
	    }
	}
	
	@media (min-width: 1351px) and (max-width: 1800px){
	     /* Galería */
	    .section-gallery {
	        margin-top: 150px;
	        height: 85vh !important;
	    }
	
	    .gallery-card-container {
	        left: 25% !important;
	        max-width: 520px !important;
	        transform: translate(-50%, -50%) !important;
	    }
	
	    .gallery-card {
	        padding: 60px 40px !important;
	    }
	
	    .vertical-title {
	        font-size: 160px !important;
	        right: 90px !important;
	        top: 20% !important;
	    }
	}
	
	@media (min-width: 992px) and (max-width: 1200px){
	    .section-gallery {
	        height: auto !important;
	        padding: 80px 0 !important;
	        background-color: var(--fondo) !important;
	        display: flex !important;
	        flex-direction: column !important;
	        align-items: center !important;
	    }
	
	    .gallery-side-image img {
	        /* border-radius: 30px !important; */
	        border-top-left-radius: 30px !important;
	        border-top-right-radius: 30px !important;
	    }
	
	    .gallery-wrapper {
	        flex-direction: column !important;
	        align-items: center !important;
	        width: 100% !important;
	    }
	
	    .gallery-side-blue,
	    .vertical-title {
	        display: none !important;
	    }
	
	    .gallery-side-image {
	        width: 90% !important;
	        max-width: 600px !important;
	        height: 350px !important;
	        border-radius: 25px 25px 0 0 !important;
	    }
	
	    .gallery-card-container {
	        position: relative !important;
	        top: 0 !important;
	        left: 0 !important;
	        transform: none !important;
	        width: 90% !important;
	        max-width: 600px !important;
	        margin: 0 auto !important;
	    }
	
	    .gallery-card {
	        border-radius: 0 0 25px 25px !important;
	        padding: 50px 40px !important;
	        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
	    }
	}
	
	@media (min-width: 768px) and (max-width: 1025px){
	    /* Galería */
	    .gallery-card-container {
	        left: 30%;
	        max-width: 450px;
	    }
	
	    .gallery-card {
	        padding: 40px 30px;
	    }
	
	    .vertical-title {
	        font-size: 140px;
	        right: 50px;
	    }
	
	    .section-gallery {
	        height: auto !important;
	        padding: 60px 0 !important;
	        background-color: var(--fondo);
	    }
	
	    .gallery-wrapper {
	        flex-direction: column !important;
	        align-items: center !important;
	    }
	
	    .gallery-side-blue,
	    .vertical-title {
	        display: none !important;
	    }
	
	    .gallery-side-image {
	        width: 100% !important;
	        max-width: 550px !important;
	        height: 400px !important;
	        z-index: 1;
	        margin-bottom: -80px;
	    }
	
	    .gallery-card-container {
	        position: relative !important;
	        top: auto !important;
	        left: auto !important;
	        transform: none !important;
	        width: 90% !important;
	        max-width: 550px !important;
	        z-index: 2;
	        margin: 0 auto !important;
	    }
	
	    .gallery-card {
	        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
	        padding: 40px !important;
	    }
	}
}

.tpl-7{
	/* --- SECCIÓN RESEÑAS --- */
	*{
	    --detalles: var(--color-yellow);
	    --detalles-hover: var(--color-yellow-hover);
	    --detalles2: var(--color-teal);
	    --tipografia-poppins: var(--font-poppins);
	    --tipografia-texto: var(--font-body);
	    --color-span: var(--color-dark-gray);
	}
	
	.section-testimonials {
	    margin-bottom: 200px;
	    margin-top: 200px;
	}
	
	.section-testimonials .titulo-surf-cyan {
	    margin-bottom: 0;
	}
	
	.container-wide-testimonials {
	    width: 66%;
	    max-width: 1800px;
	    margin: 0 auto;
	}
	
	#testimonial-slider .splide__slide {
	    display: flex;
	    height: auto;
	    padding: 20px;
	}
	
	.testimonial-card {
	    padding: 40px 40px;
	    border-radius: 40px;
	    display: flex;
	    flex-direction: column;
	    width: 100%;
	    height: 100%;
	    text-decoration: none !important;
	    transition: all 0.3s ease-in-out;
	    cursor: pointer;
	    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
	    border: 3px solid transparent;
	}
	
	#testimonial-slider .splide__slide:nth-child(odd) .testimonial-card:hover {
	    transform: translateY(-5px);
	    border-color: var(--detalles);
	}
	
	#testimonial-slider .splide__slide:nth-child(even) .testimonial-card:hover {
	    transform: translateY(-5px);
	    border-color: var(--detalles2);
	}
	
	.test-name {
	    font-family: var(--tipografia-poppins);
	    font-size: 22px;
	    font-weight: 600;
	    margin-bottom: 25px;
	    color: var(--color-span);
	}
	
	.test-text {
	    font-family: var(--tipografia-texto);
	    color: var(--color-span);
	    font-size: 16px;
	    line-height: 1.7;
	    margin-bottom: 40px;
	    flex-grow: 1;
	}
	
	.test-platform {
	    display: flex;
	    align-items: center;
	    gap: 15px;
	}
	
	.test-platform span {
	    font-family: var(--tipografia-poppins);
	    font-size: 14px;
	    color: var(--color-span) !important;
	    font-weight: 400;
	}
	
	.logo-platform {
	    object-fit: contain;
	    height: auto;
	}
	
	.logo-google {
	    width: 22px;
	}
	
	.logo-tripadvisor {
	    width: 30px;
	    border-radius: 50px;
	}
	
	.testimonial-arrows {
	    display: flex;
	    gap: 15px;
	}
	
	.arrow-yellow {
	    width: 45px;
	    height: 45px;
	    border-radius: 50%;
	    background-color: var(--detalles);
	    border: none;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    transition: all 0.3s ease;
	}
	
	.arrow-yellow img {
	    width: 15px;
	    height: auto;
	}
	
	.arrow-yellow:hover {
	    background-color: var(--detalles-hover);
	    transform: scale(1.05);
	}
	
	.section-testimonials .col-4 {
	    padding-right: 20px !important;
	}
	
	.section-testimonials .col-8 {
	    padding-left: 24px !important;
	}
	
	@media (max-width: 992px){
	    /* Reseñas/Testimonio */
	    .container-wide-testimonials {
	        width: 100%;
	    }
	
	    .section-testimonials .col-8,
	    .section-testimonials .col-4 {
	        width: 100%;
	        text-align: center;
	        justify-content: center !important;
	        padding: 0 !important;
	    }
	
	    .testimonial-arrows {
	        margin-top: 20px;
	        justify-content: center;
	    }
	
	    .testimonial-arrows {
	        display: none !important;
	    }
	
	    .container-wide-testimonials {
	        width: 100%;
	        padding: 0 15px;
	    }
	
	    #testimonial-slider {
	        padding-bottom: 37px;
	    }
	
	    #testimonial-slider .splide__pagination {
	        display: flex !important;
	        justify-content: flex-end;
	        width: 100%;
	        bottom: 0 !important;
	        left: 55px;
	    }
	
	    #testimonial-slider .splide__track {
	        padding-top: 15px !important;
	        padding-bottom: 15px !important;
	        margin-top: -15px !important;
	    }
	
	    .section-testimonials {
	        margin-bottom: 80px;
	        margin-top: 80px;
	    }
	
	    .section-testimonials .row.mb-5 {
	        margin-bottom: 10px;
	    }
	
	    .testimonial-card {
	        padding: 30px 25px;
	        border-radius: 25px;
	        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.066) !important;
	        border: 1px solid rgba(0, 0, 0, 0.032) !important;
	    }
	
	    .test-name {
	        font-size: 20px;
	        margin-bottom: 15px;
	    }
	
	    .test-text {
	        font-size: 15px;
	        margin-bottom: 20px;
	        line-height: 1.5;
	    }
	}
	
	@media (min-width: 1351px) and (max-width: 1800px){
	    #testimonial-slider .splide__pagination {
	        left: 0 !important;
	        width: 100% !important;
	        margin-left: 680px !important;
	        justify-content: center !important;
	        bottom: -60px !important;
	    }
	}
	
	@media (min-width: 992px) and (max-width: 1200px){
	    #testimonial-slider .splide__pagination {
	        left: 0 !important;
	        margin-left: 0 !important;
	        width: 100% !important;
	        justify-content: center !important;
	    }
	}
	
	@media (min-width: 768px) and (max-width: 1026px){
	    /* Testimonios/Reseñas */
	    .container-wide-testimonials {
	        width: 85%;
	    }
	}
}

.tpl-8{
	/* --- SECCIÓN MAPA --- */
	*{
	    --detalles: var(--color-yellow);
	}
	
	.section-map-nomad {
	    width: 100%;
	    height: 500px;
	    overflow: hidden;
	    line-height: 0;
	    border-top: 2px solid var(--detalles);
	    border-bottom: 2px solid var(--detalles);
	    position: relative;
	}
	
	.map-iframe-styled {
	    width: 100%;
	    height: 100%;
	    border: none;
	    filter: hue-rotate(35deg) saturate(1.4) brightness(1.1) contrast(1.1);
	}
}

.tpl-9{
	/* --- FOOTER --- */
	*{
	    --primer-fondo: var(--color-light-blue);
	    --color-letra-1: var(--color-teal);
	    --color-letra-1-hover: var(--color-teal-hover);
	    --tipografia-poppins: var(--font-poppins);
	    --tipografia-sans: var(--font-dm);
	    --segundo-fondo: var(--color-yellow);
	}
	
	.site-footer {
	    width: 100%;
	    position: relative;
	}
	
	.footer-top-bar {
	    background-color: var(--primer-fondo);
	    padding: 44px 0;
	}
	
	.find-us-text {
	    font-family: var(--tipografia-poppins);
	    color: var(--color-letra-1);
	    font-size: 40px;
	    font-weight: 600;
	}
	
	.platform-icons,
	.social-icons {
	    display: flex;
	    align-items: center;
	    gap: 12px;
	}
	
	.icon-circle {
	    width: 34px;
	    height: 34px;
	    border-radius: 50%;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    overflow: hidden;
	    transition: transform 0.3s ease;
	    cursor: pointer;
	}
	
	.icon-circle:hover {
	    transform: scale(1.1);
	}
	
	.social-icons {
	    display: flex;
	    align-items: center;
	}
	
	.social-circle {
	    width: 36px;
	    height: 36px;
	    background-color: var(--color-letra-1);
	    border-radius: 50%;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    transition: all 0.3s ease;
	    text-decoration: none;
	}
	
	.social-circle img {
	    width: 18px;
	    height: auto;
	}
	
	.social-circle:hover {
	    background-color: var(--color-letra-1-hover);
	    transform: scale(1.1);
	}
	
	.vertical-divider-teal {
	    width: 2px;
	    height: 30px;
	    background-color: var(--color-letra-1);
	}
	
	.footer-main {
	    position: relative;
	    /* padding: 85px 0 85px 0; */
	    padding: 85px 0 35px 0;
	    background-size: cover;
	    background-position: center;
	}
	
	.footer-main::before {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background-color: rgba(0, 172, 181, 0.918);
	    z-index: 1;
	}
	
	.z-index-2 {
	    z-index: 2;
	}
	
	.footer-logo {
	    max-width: 250px;
	    height: auto;
	}
	
	.footer-logo {
	    transition: transform 0.3s ease;
	}
	
	.divider-wrapper {
	    padding-right: 10px;
	}
	
	.vertical-divider-white {
	    width: 2px;
	    height: 180px;
	    background-color: rgba(255, 255, 255, 0.5);
	}
	
	.contact-list {
	    list-style: none;
	    padding: 0;
	    margin: 0;
	    display: flex;
	    flex-direction: column;
	    gap: 12px;
	}
	
	.contact-list li {
	    display: flex;
	    align-items: center;
	    color: white;
	    font-size: 18px;
	    font-family: var(--tipografia-sans);
	    font-weight: 400;
	}
	
	.contact-list li a {
	    color: white;
	    text-decoration: none;
	    transition: all 0.3s ease;
	}
	
	.contact-list li a:hover {
	    color: var(--segundo-fondo);
	    opacity: 0.9;
	}
	
	.icon-circle-yellow {
	    background-color: var(--segundo-fondo);
	    width: 50px;
	    height: 50px;
	    border-radius: 50%;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    margin-right: 15px;
	    flex-shrink: 0;
	}
	
	.icon-circle-yellow img {
	    width: 18px;
	    height: auto;
	}
	
	.legal-separator-line {
	    width: 100%;
	    height: 1px;
	    background-color: rgba(255, 255, 255, 0.3);
	    margin-bottom: 10px;
	    margin-top: 50px;
	    position: relative;
	    z-index: 2;
	}
	
	.footer-legal-links {
	    list-style: none;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    flex-wrap: wrap;
	    margin-bottom: 0;
	    top: 10px;
	    position: relative;
	    color: var(--segundo-fondo);
	}
	
	.footer-legal-links li {
	    display: flex;
	    align-items: center;
	    padding-top: 20px;
	}
	
	.footer-legal-links li:not(:last-child)::after {
	    content: "|";
	    color: var(--segundo-fondo);
	    margin: 0 15px;
	    font-size: 14px;
	    opacity: 0.7;
	}
	
	.footer-legal-links a {
	    color: var(--segundo-fondo);
	    text-decoration: none;
	    font-size: 15px;
	    font-family: var(--tipografia-sans);
	    opacity: 0.9;
	    transition: opacity 0.3s ease;
	}
	
	.footer-legal-links a:hover {
	    opacity: 1;
	    text-decoration: underline;
	}
	
	.footer-bottom {
	    background-color: var(--segundo-fondo);
	    padding: 31px 31px;
	    color: var(--color-letra-1);
	    font-size: 13px;
	    font-family: var(--tipografia-sans);
	    font-weight: 500;
	}
	
	.link-author {
	    color: var(--color-letra-1);
	    text-decoration: none;
	    font-weight: 700;
	    transition: color 0.3s ease;
	}
	
	.link-author:hover {
	    color: var(--color-letra-1-hover);
	}
	
	@media (max-width: 992px){
	    /* Footer */
	    .footer-top-bar {
	        padding: 20px 0;
	    }
	
	    .find-us-text {
	        font-size: 24px;
	        margin-right: 0;
	        margin-bottom: 5px;
	    }
	
	    .platform-icons,
	    .social-icons {
	        justify-content: center;
	        flex-wrap: wrap;
	        gap: 12px;
	    }
	
	    .vertical-divider-teal,
	    .vertical-divider-white,
	    .divider-wrapper {
	        display: none;
	    }
	
	    .footer-main {
	        padding: 40px 0 40px 0;
	        text-align: center;
	    }
	
	    .footer-content-row {
	        flex-direction: column;
	        align-items: center;
	        padding-left: 0 !important;
	        gap: 30px;
	    }
	
	    .footer-logo {
	        max-width: 160px;
	        margin-top: 20px;
	        margin-bottom: 20px;
	        margin-left: 25px;
	        display: block;
	    }
	
	    .footer-main .col-auto.ps-4 {
	        width: 100%;
	        padding-left: 0 !important;
	        display: flex;
	        justify-content: center;
	    }
	
	    .contact-list {
	        display: inline-flex;
	        flex-direction: column;
	        align-items: flex-start;
	        gap: 18px;
	        margin: 0 auto;
	        text-align: left;
	    }
	
	    .contact-list li {
	        width: 100%;
	        display: flex;
	        align-items: center;
	    }
	
	    .contact-list li a {
	        display: flex;
	        align-items: center;
	        color: white;
	    }
	
	    .icon-circle-yellow {
	        flex-shrink: 0;
	        width: 38px;
	        height: 38px;
	        margin-right: 15px;
	    }
	
	    .contact-list li span {
	        font-size: 15px;
	        line-height: 1.3;
	        word-break: break-word;
	    }
	
	    .legal-separator-line {
	        margin-top: 40px;
	        margin-bottom: 15px;
	        width: 90%;
	        margin-left: auto;
	        margin-right: auto;
	        opacity: 0.3;
	    }
	
	    .footer-legal-links {
	        padding: 0 10px;
	        gap: 10px;
	    }
	
	    .footer-legal-links li {
	        padding-top: 10px;
	    }
	
	    .footer-legal-links li:not(:last-child)::after {
	        margin: 0 8px;
	    }
	
	    .footer-bottom {
	        padding: 20px 15px;
	    }
	
	    .footer-bottom .container {
	        flex-direction: column;
	        gap: 10px !important;
	        text-align: center !important;
	    }
	
	    .footer-bottom span {
	        font-size: 10px !important;
	    }
	}
	
	@media (max-width: 767px){
	    .footer-top-bar .container {
	        flex-direction: column;
	        gap: 20px;
	        text-align: center;
	    }
	}
	
	@media (max-width: 768px) and (max-width: 1026px){
	    /* Footer */
	    .footer-content-row {
	        justify-content: center !important;
	    }
	
	    .footer-logo {
	        max-width: 180px;
	    }
	
	    .contact-list li {
	        font-size: 16px;
	    }
	
	    .find-us-text {
	        font-size: 30px;
	    }
	}
}

.tpl-11{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-12{
	/* Título y cotenido */
	.titulo-surf-cyan{
	    margin-bottom: 0;
	}
}

.tpl-13{
	/* Formulario de contacto */
	*{
	    --principal: var(--primario);
	    --color-fondo: var(--transparencia);
	    --redondeo: var(--border-radius);
	}
	.marco-contacto {
	    background-color: var(--color-fondo);
	    padding: 20px;
	    border-radius: var(--redondeo);
	}
	
	.marco-contacto .input-group-addon {
	    background-color: var(--principal);
	    border-color: var(--principal);
	    color: #fff
	}
	
	.marco-contacto .form-control {
	    border-color: #c4d2e0;
	    border-radius: 30px;
	    padding-left: 30px;
	}
	
	.cuerpo_zone{
	    display: flex;
	    justify-content: center;
	    align-items: center;
	}
	
	.marco-contacto label {
	    font-weight: 400;
	    margin-left: 11px;
	}
	
	.input-group .form-control {
	    z-index: 0;
	}
	
	.zona-mapa iframe {
	    height: 100%;
	    width: 100%;
	    border-radius: 55px;
	}
	
	.ocultorobots {
	    opacity: 0;
	    position: absolute;
	    top: 0px;
	    left: 0px;
	    width: 0px;
	    height: 0px;
	}
	
	@media (max-width: 992px){
	    .marco-contacto {
	        height: 100%;
	        margin-top: 40px;
	    }
	
	    .zona-mapa iframe{
	        height: 300px;
	    }
	}
}

.tpl-15{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-16{
	/* Título y cotenido */
	.titulo-surf-cyan{
	    margin-bottom: 0;
	}
}

.tpl-17{
	/* Noticias lista */
	*{
	    --principal: var(--primario);
	    --tipografia: var(--familia_fuente);
	    --fondo_transparente: var(--transparencia);
	    --redondeo: var(--border-radius);
	}
	
	.widget-noticias {
	    background-color: #f3f3f3;
	    padding: 30px;
	    border-radius: var(--redondeo);
	}
	
	.widget-noticias h5 {
	    font-size: 18px;
	    text-transform: uppercase;
	    color: var(--principal);
	    font-family: var(--tipografia);
	}
	
	.widget-noticias .input-group-btn {
	    height: 100%;
	    border-top-right-radius: 4px;
	    border-bottom-right-radius: 4px
	}
	
	.widget-noticias .input-group-btn button {
	    height: 100%;
	    border: 1px solid var(--principal);
	    background-color: var(--principal);
	    color: #fff;
	    
	    border-top-right-radius: var(--redondeo);
	    border-bottom-right-radius: var(--redondeo);
	}
	
	.widget-noticias .input-group-btn i {
	    font-size: 16px
	}
	
	.widget-noticias2 {
	    position: sticky;
	    position: -webkit-sticky;
	    top: 20px;
	}
	
	.popular {
	    font-size: 13px
	}
	
	.mini-noticia {
	    float: none;
	}
	
	.mini-noticia a {
	    font-family: var(--tipografia);
	    font-weight: 400;
	    font-size: 14px
	}
	
	.popular li {
	    padding: 10px 0;
	    border-bottom: dotted 1px rgb(129, 97, 159);
	    list-style-type: none;
	}
	
	.popular{
	    padding-left:0;
	}
	
	.popular .imagen {
	    width: 50px;
	    height: 50px;
	    float: left;
	    margin-right: 10px;
	    border-radius: 3px;
	    background-size: cover;
	    background-position: center center
	}
	
	.popular a.title {
	    color: #070707;
	}
	
	.popular a.texto-breve {
	    color: #707070;
	    font-weight: 300;
	    font-family: "Lato", sans-serif;
	    font-size: 12px
	}
	
	.popular a.title:hover,
	.popular a.title:focus,
	.popular a.title:active {
	    color: #070707
	}
	
	.bloque.noticia {
	    margin-bottom: 40px
	}
	
	.cuadro_noticia {
	    background-color: var(--fondo_transparente);
	    max-width: 400px;
	    float: left;
	    margin: 0px 20px 12px 0px;
	}
	
	.titulo_noticia {
	    color: var(--principal);
	    font-size: 30px;
	    text-transform: uppercase;
	    font-family: var(--tipografia);
	    margin: 0;
	}
	
	#busqueda{
	    border-top-left-radius: var(--redondeo);
	    border-bottom-left-radius: var(--redondeo);
	    border-color: var(--principal);
	}
	
	/* TPL */
	/* Noticia */
	*{
	    --principal: var(--primario);
	    --principal-hover: var(--hover);
	    --redondeo: var(--border-radius);
	}
	
	.noticia:hover h3 {
	    color: var(--principal)
	}
	
	.noticia .corte-top {
	    z-index: 1;
	    height: 501px;
	    background-image: linear-gradient(180deg, rgba(18, 18, 18, 0.99) 0%, transparent 100%);
	}
	
	.noticia .fondo-noticias img {
	    width: 100%;
	    height: 100%;
	    object-fit: cover;
	    opacity: 0.149;
	}
	
	.noticia .img-noticia {
	    aspect-ratio: 3 / 2;
	    padding: 3px;
	}
	
	.noticia .img-noticia img {
	    width: 100%;
	    height: 100%;
	    border-radius: var(--redondeo);
	}
	
	.noticia .caja-noticia {
	    width: fit-content;
	    height: auto;
	    top: 30px;
	    right: 30px;
	    background-color: var(--principal);
	    flex-flow: column;
	    border-radius: 0;
	    display: flex !important;
	    justify-content: center !important;
	    align-items: center;
	    border-radius: var(--redondeo);
	    padding: 10px 30px;
	}
	
	.noticia .caja-noticia b {
	    font-size: 18px;
	    width: 100%;
	    margin-top: 5px;
	    color: #fff;
	    border-radius: var(--redondeo);
	}
	
	.noticia .caja-noticia p {
	    color: #fff;
	    margin-bottom: 0;
	}
	
	.noticia .parrafo {
	    font-size: 24px;
	    line-height: 30px;
	    width: 100%;
	    padding: 15px 0px 25px 0px;
	    filter: drop-shadow(0.707px 0.707px 0px rgba(0, 0, 0, 0.5));
	    text-align: center;
	}
	
	.fecha {
	    color: #585858;
	    font-size: 14px;
	    margin-top: 10px;
	    margin-bottom: 10px;
	    font-weight: 500;
	}
	
	.fa-calendar:before {
	    color: var(--principal-hover) !important;
	}
	
	.contenido_texto {
	    /* color: #fff; */
	    color: #666;
	}
	
	.padre-imagen-noticias {
	    width: 100%;
	}
	
	.span_enlace:hover {
	    color: var(--principal);
	}
	
	.imagen_noticias {
	    width: 100%;
	    aspect-ratio: 1/0;
	    margin: 30px 0px;
	}
	
	.contenido-noticias .textaco p {
	    line-height: 25px;
	    font-size: 16px;
	    color: #666;
	    text-align: left;
	}
}

.tpl-19{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-20{
	/* Noticias detalle */
	*{
	    --efectos: var(--hover);
	    --redondeo: var(--border-radius);
	}
	
	.padre-imagen-noticias {
	    width: 100%;
	}
	
	.imagen_noticias {
	    width: 100%;
	    aspect-ratio: 1/0;
	    margin: 30px 0px;
	    border-radius: var(--redondeo);
	}
	
	.fecha {
	    color: #585858;
	    font-size: 14px;
	    margin-top: 10px;
	    margin-bottom: 10px;
	    font-weight: 500;
	}
	
	.fa-calendar:before {
	    color: var(--efectos) !important;
	}
	
	.contenido_texto {
	    color: #666;
	}
	
	.contenido-noticias .textaco p {
	    line-height: 25px;
	    font-size: 16px;
	    color: #666;
	    text-align: left;
	}
	
	@media (max-width: 992px){
	    .div-fecha {
	        display: flex;
	        justify-content: center;
	        flex-direction: column;
	        align-items: center;
	    }
	}
}

.tpl-24{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-25{
	/* Título y cotenido */
	.titulo-surf-cyan{
	    margin-bottom: 0;
	}
}

.tpl-26{
	/* Galería */
	*{
	    --princiapl: var(--primario);
	    --redondeo-interiores: var(--border-radius-interiores);
	}
	
	.galeria_interior .grid {
	    width: auto;
	    margin: 0 auto;
	    margin-right: -15px;
	}
	
	.galeria_interior .grid-item {
	     border-radius: var(--redondeo-interiores);
	    width: calc(33.333% - 15px);
	    margin-bottom: 20px;
	    overflow: hidden;
	}
	
	.galeria_interior .grid-item img {
	    display: block;
	    width: 100%;
	    height: auto;
	    transition: 0.3s all linear;
	    border-radius: var(--redondeo-interiores);
	}
	
	.galeria_interior .grid-item img:hover {
	    transform: scale(1.1);
	}
	
	.galeria_interior .custom-button {
	    color: var(--princiapl);
	    background-color: #ffffff;
	    font-size: 14px;
	    border-radius: 55px;
	    border: 1px solid var(--princiapl);
	
	    padding: 10px 30px;
	}
	
	.galeria_interior .boton-galeria {
	    margin: 0 auto;
	    text-align: center;
	}
	
	.galeria_interior .custom-button:before {
	    background-color: var(--princiapl);
	}
	
	.galeria_interior .custom-button:focus,
	.galeria_interior .custom-button:active,
	.galeria_interior .custom-button:hover {
	    color: #ffffff;
	}
	
	@media (max-width: 767px){
	    .galeria_interior .grid-item {
	        width: calc(50% - 15px);
	    }
	}
}

.tpl-28{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-29{
	/* Título y cotenido */
	.titulo-surf-cyan{
	    margin-bottom: 0;
	}
}

.tpl-30{
	/* --- SECCIÓN HABITACIONES --- */
	*{
	    --tipografia-poppins: var(--font-poppins);
	    --background-precios-flechas: var(--color-yellow);
	    --color-precios-flechas: var(--color-teal);
	    --redondeo: var(--border-radius);
	}
	
	.section-rooms {
	    padding: 80px 0 120px 0 !important;
	    font-family: var(--tipografia-poppins);
	}
	
	.container-rooms-fluid {
	    width: calc(100% - 100px) !important;
	    max-width: none !important;
	    margin: 0 auto;
	    padding: 0;
	}
	
	.room-card {
	    height: 580px;
	    border-radius: var(--redondeo);
	    position: relative;
	    display: flex;
	    align-items: flex-end;
	    padding: 40px;
	    overflow: hidden;
	}
	
	.room-img {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background-size: cover;
	    background-position: center;
	    z-index: 0;
	    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	}
	
	.room-card:hover .room-img {
	    transform: scale(1.1);
	}
	
	.room-card::after {
	    content: "";
	    position: absolute;
	    bottom: 0;
	    left: 0;
	    right: 0;
	    height: 60%;
	    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
	    z-index: 1;
	    pointer-events: none;
	}
	
	.price-badge {
	    position: absolute;
	    /* top: 60%; */
	    top: 55%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    background-color: var(--background-precios-flechas);
	    color: var(--color-precios-flechas);
	    /* padding: 5px 45px; */
	    padding: 5px 35px;
	    border-radius: 50px;
	    font-weight: 400;
	    font-size: 20px;
	    z-index: 10;
	}
	
	.room-info {
	    position: relative;
	    z-index: 5;
	    width: 100%;
	    text-align: center;
	    color: white;
	}
	
	.room-title {
	    font-size: 24px;
	    font-weight: 600;
	    margin-bottom: 25px;
	    height: 25px;
	}
	
	.room-details {
	    display: flex;
	    justify-content: center;
	    gap: 35px;
	    margin-bottom: 40px;
	}
	
	.detail-item {
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    gap: 8px;
	    font-size: 12px;
	}
	
	.icon-bg {
	    background-color: var(--color-precios-flechas);
	    width: 40px;
	    height: 40px;
	    border-radius: 50%;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	}
	
	.icon-bg img {
	    width: 25px;
	    height: auto;
	}
	
	@media (max-width: 992px){
	    /* Habitaciones */
	    .room-card {
	        height: 350px;
	        flex-direction: column;
	        justify-content: flex-end;
	        padding: 20px 15px;
	    }
	
	    .price-badge {
	        position: relative;
	        top: auto;
	        left: auto;
	        transform: none;
	        display: inline-block;
	        align-self: center;
	        margin-bottom: 15px;
	        font-size: 16px;
	        padding: 5px 25px;
	    }
	
	    .room-info {
	        text-align: center;
	        width: 100%;
	    }
	
	    .room-title {
	        font-size: 20px;
	        margin-top: 0 !important;
	        margin-bottom: 15px;
	        line-height: 1.2;
	    }
	
	    .room-details {
	        gap: 15px;
	        margin-bottom: 10px;
	    }
	
	    .icon-bg {
	        width: 32px;
	        height: 32px;
	    }
	
	    .icon-bg img {
	        width: 18px !important;
	    }
	
	    .detail-item span {
	        font-size: 11px !important;
	    }
	
	    .splide__arrow--prev {
	        display: none !important;
	    }
	
	    .splide__arrow--next {
	        display: none !important;
	
	    }
	
	    .section-rooms {
	        padding-bottom: 100px !important;
	    }
	}
	
	@media (min-width: 1351px) and (max-width: 1800px){
	    /* Habitaciones */
	    .container-rooms-fluid {
	        width: 90% !important;
	    }
	
	    .room-card {
	        height: 520px !important;
	    }
	
	    .price-badge {
	        top: 50% !important;
	    }
	}
	
	@media (min-width: 1024px) {
	    .container-rooms-fluid {
	        width: 95% !important;
	        margin: 0 auto;
	    }
	
	}
	
	@media (min-width: 992px) and (max-width: 1200px){
	    .price-badge {
	        top: 50%;
	        font-size: 18px !important;
	        padding: 5px 30px !important;
	    }
	}
	
	@media (min-width: 768px) and (max-width: 1026px){
	    /* Habitaciones */
	    .room-card {
	        height: 450px;
	        width: 100% !important;
	        max-width: none !important;
	        margin: 0 auto;
	    }
	
	    .room-details {
	        gap: 20px;
	    }
	}
}

.tpl-32{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-33{
	/* Antetítilo y título */
	*{
	    --tipografia-poppins: var(--font-poppins);
	    --color-titulo: var(--color-teal);
	}
	
	.antetitulo-gris {
	    font-family: var(--tipografia-poppins);
	    color: #8a8a8a;
	    font-size: 32px;
	    font-weight: lighter;
	    margin-bottom: 0;
	}
	
	.titulo-surf-cyan {
	    font-family: var(--tipografia-poppins);
	    color: var(--color-titulo);
	    font-size: 80px;
	    font-weight: 500;
	    margin-bottom: 30px;
	    line-height: 1.1;
	}
}

.tpl-34{
	/* Lista_tags_basicas */
	*{
	    --principal: var(--primario);
	    --color_transparente: var(--transparencia);
	    --redondeo: var(--border-radius);
	}
	
	.instalaciones {
	    display: flex;
	    flex-wrap: wrap;
	    width: 100%;
	}
	.instalaciones>div {
	    background-color: var(--color_transparente);
	    border-radius: var(--border-radius);
	    margin-right: 5px;
	    margin-top: 5px;
	    padding: 10px 10px;
	    font-weight: 500;
	    font-size: 14px;
	}
	
	.titulo-descripcion {
	    color: var(--principal);
	    font-size: 18px;
	}
	
	@media (max-width: 992px){
	    .instalaciones{
	        justify-content: center;
	    }
	}
}

.tpl-35{
	/* Lista_caracteristicas_generales_basicas */
	* {
	    --principal: var(--primario);
	    --redondeo: var(--border-radius);
	}
	
	.caracteristicas {
	    width: 100%;
	    display: flex;
	    justify-content: space-evenly;
	    background-color: var(--principal);
	    flex-wrap: wrap;
	    padding: 14px 0px;
	    color: #fff;
	    border-radius: var(--redondeo);
	}
	
	.caracteristica {
	    padding: 10px;
	}
	
	.centrado {
	    display: inline-flex;
	    justify-content: center;
	    align-items: center;
	}
	
	.centrado p {
	    margin-top: auto;
	    margin-bottom: auto;
	}
	
	.caracteristica img {
	    height: 50px;
	    filter: brightness(10);
	}
	
	@media (max-width: 767px) {
	    .caracteristica img {
	        height: 30px;
	    }
	}
}

.tpl-36{
	/* INFO + VIDEO */
	*{
	    --redondeo: var(--border-radius);
	    --tipografia_poppins: var(--familia_fuente);
	    --principal: var(--primario);
	}
	
	.reserva_final{
	    background-color: var(--principal) !important;
	}
	
	.btn-close{
	    filter: brightness(0) invert(1);
	}
	
	.datos-info {
	    padding: 35px;
	    background-color: #ddf4f9;
	    color: #fff;
	    width: 100%;
	    border-radius: var(--redondeo);
	}
	
	.datos-info h4:first-child {
	    margin-top: 0;
	}
	
	.datos-info h4 {
	    font-weight: 800;
	    color: var(--principal);
	    font-size: 18px;
	    margin-top: 15px;
	    margin-bottom: 15px;
	}
	
	.datos-info ul {
	    padding: 0px;
	}
	
	.datos-info li {
	    list-style-type: none;
	    padding: 15px 0px;
	    font-family: var(--tipografia_poppins);
	    font-size: 15px;
	    color: #212529;
	}
	
	.datos-info li img {
	    height: 30px;
	    width: 30px;
	    margin-right: 10px;
	}
	
	.datos-info ul a {
	    transition: all 0.3s ease;
	}
	
	.datos-info ul a:hover {
	    text-shadow: 0 0 1px;
	}
	
	.btn-hero{
	    width: 100%;
	    gap: 8px;
	}
	
	video{
	    border-radius: var(--redondeo);
	}
	
	@media (max-width: 1200px){
	    .btn-hero{
	        position: fixed;
	        bottom: 0;
	        left: 0;
	        border-radius: 0;
	    }
	
	    .btn-yellow::before{
	        border-radius: 0;
	    }
	
	    .btn-yellow:hover{
	        transform: none;
	    }
	}
}

.tpl-37{
	/* Galería inmobiliaria */
	*{
	    --redondeo: var(--border-radius);
	}
	
	.galeria {
	    padding: 0 15px;
	}
	
	.galeria-wrapper {
	    position: relative;
	    max-height: 1350px;
	    /* ajusta según tus imágenes */
	    overflow: hidden;
	}
	
	.galeria .row div.cuadro_galeria {
	    padding: 14px;
	    border: 0px;
	}
	
	.galeria .padre_imagen {
	    height: 340px;
	    width: 100%;
	    overflow: hidden;
	    border-radius: var(--redondeo);
	}
	
	.galeria .padre_imagen.imagen_alta {
	    height: 708px;
	    width: 100%;
	}
	
	.galeria .padre_imagen .imagen {
	    height: 100%;
	    width: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	}
	
	.galeria .row>div {
	    padding: 0;
	}
	
	.swipebox .padre_imagen .imagen {
	    content: "";
	    padding-top: 100%;
	    display: block;
	}
	
	@media (max-width: 992px){
	    .padre_imagen .imagen {
	        background-size: contain;
	    }
	}
}

.tpl-38{
	/* --- SECCIÓN MAPA --- */
	*{
	    --detalles: var(--color-yellow);
	}
	
	.section-map-nomad {
	    width: 100%;
	    height: 500px;
	    overflow: hidden;
	    line-height: 0;
	    border-top: 2px solid var(--detalles);
	    border-bottom: 2px solid var(--detalles);
	    position: relative;
	}
	
	.map-iframe-styled {
	    width: 100%;
	    height: 100%;
	    border: none;
	    filter: hue-rotate(35deg) saturate(1.4) brightness(1.1) contrast(1.1);
	}
}

.tpl-42{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-43{
	/* Título y cotenido */
	.titulo-surf-cyan{
	    margin-bottom: 0;
	}
}

.tpl-44{
	/* Apartados lista */
	* {
	    --principal: var(--primario);
	    --tipografia: var(--familia_fuente);
	    --fondo_transparente: var(--transparencia);
	}
	
	.apartados-lista .contenido_texto {
	    color: #666;
	}
	
	.apartados-lista .row {
	    row-gap: 30px;
	}
	
	.apartados-lista-nav {
	    padding: 0;
	    list-style: none;
	}
	
	.apartados-lista-tab,
	.apartados-lista-link {
	    display: inline-flex;
	    width: 100%;
	    padding: 10px 18px;
	    margin-bottom: 5px;
	    border: 0px transparent;
	    border-radius: 5px;
	    background: transparent;
	    color: var(--principal);
	    font-family: var(--tipografia);
	    text-decoration: none;
	}
	
	.apartados-lista-tab.active{
	    background: var(--principal) !important;
	    color: #fff;
	}
	
	
	.apartados-lista-tab:hover,
	.apartados-lista-link:hover{
	    background: #fafafa;
	}
	
	.apartados-lista-panel .detalle-apartado > .titulo {
	    margin-bottom: 25px;
	}

}

.tpl-46{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-47{
	/* Título y cotenido */
	.titulo-surf-cyan{
	    margin-bottom: 0;
	}
}

.tpl-48{
	/* --- SECCION ACTIVIDADES DEPORTIVAS --- */
	*{
	    --tipografia-poppins: var(--font-poppins);
	    --detalles: var(--color-yellow);
	    --color-precios: var(--color-teal);
	    --principal: var(--primario);
	}
	
	.section-activities {
	    font-family: var(--tipografia-poppins);
	    padding: 110px 0 !important;
	}
	
	.apartados-lista-cuadrados {
	    padding-top: 0 !important;
	    padding-bottom: 55px !important;
	}
	
	.activity-card {
	    position: relative;
	    border-radius: 20px;
	    overflow: hidden;
	    display: flex;
	    align-items: flex-end;
	    padding: 35px;
	    z-index: 1;
	    text-decoration: none;
	    transition: box-shadow 0.4s ease;
	}
	
	.activity-img {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background-size: cover;
	    background-position: center;
	    z-index: 0;
	    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	}
	
	.activity-card:hover .activity-img {
	    transform: scale(1.1);
	}
	
	.activity-card:hover,
	.activity-card.active {
	    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
	}
	
	.card-short {
	    height: 610px;
	}
	
	.card-long {
	    height: 767px;
	}
	
	.activity-card::before {
	    content: "";
	    position: absolute;
	    top: 15px;
	    left: 15px;
	    right: 15px;
	    bottom: 15px;
	    border: 1.5px solid rgba(255, 255, 255, 0.541);
	    border-radius: 13px;
	    pointer-events: none;
	    z-index: 5;
	}
	
	.activity-card.border-yellow::before,
	.activity-card.active::before {
	    border-color: color-mix(in srgb, var(--detalles), transparent 40%) !important;
	}
	
	.activity-card::after {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 60%);
	    z-index: 2;
	}
	
	.activity-card.no-photo {
	    background: var(--principal);
	}
	
	.price-pill-top {
	    position: relative;
	    margin-left: auto;
	    margin-bottom: auto;
	    position: absolute;
	    top: 30px;
	    right: 30px;
	    background-color: white;
	    color: var(--color-precios);
	    padding: 10px 40px;
	    border-radius: 50px;
	    font-weight: 400;
	    font-size: 20px;
	    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
	    z-index: 10;
	}
	
	.activity-card-title {
	    color: white;
	    font-size: 40px;
	    font-weight: 400;
	    position: relative;
	    z-index: 10;
	    margin-bottom: 0;
	    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	}
	
	.icon-btn-yellow {
	    width: 22px;
	    height: auto;
	    margin-right: 12px;
	}
	
	@media (min-width: 1351px) and (max-width: 1800px){
	    .section-activities .text-end {
	        text-align: center !important;
	        margin-top: 50px;
	    }
	
	    .section-activities .btn-custom-pill {
	        position: relative !important;
	        right: auto !important;
	        bottom: auto !important;
	        display: inline-flex !important;
	    }
	}
	
	@media (min-width: 992px) and (max-width: 1200px){
	    .price-pill-top {
	        top: 30px !important;
	        right: 30px !important;
	        font-size: 16px !important;
	        padding: 8px 25px !important;
	    }
	}
	
	@media (min-width: 768px) and (max-width: 1026px){
	    .section-activities .card-short,
	    .section-activities .card-long {
	        height: 450px !important;
	        margin-bottom: 20px !important;
	    }
	
	    .col-masonry-right {
	        margin-top: 0 !important;
	    }
	
	    .activity-card-title {
	        font-size: 32px !important;
	    }
	
	    .section-activities .text-end {
	        text-align: center !important;
	    }
	
	    .section-activities .btn-custom-pill {
	        position: relative !important;
	        right: auto !important;
	        margin-left: 20px;
	        margin-top: 30px;
	        display: inline-flex !important;
	    }
	
	    #activities-slider .splide__pagination {
	        margin-left: 170px;
	    }
	}
	
	@media (max-width: 992px){
	    .card-short,
	    .card-long {
	        height: 400px !important;
	        margin-bottom: 20px !important;
	    }
	
	    .col-masonry-right {
	        margin-top: 0;
	    }
	
	    .price-pill-top {
	        padding: 8px 25px;
	        font-size: 16px;
	    }
	
	    #activities-slider {
	        margin-top: 30px;
	        padding-bottom: 70px !important;
	        overflow: visible !important;
	    }
	
	    #activities-slider .activity-card {
	        height: 350px !important;
	        margin-bottom: 0 !important;
	        width: 100%;
	    }
	
	    #activities-slider .activity-card-title {
	        font-size: 28px !important;
	    }
	
	    #activities-slider .splide__pagination {
	        bottom: 25px !important;
	        display: flex !important;
	        justify-content: center;
	        width: 100%;
	        left: 170px;
	        z-index: 10;
	    }
	
	    #activities-slider .splide__pagination__page.is-active {
	        background: var(--color-precios) !important;
	    }
	
	    #activities-slider .splide__track {
	        overflow: hidden !important;
	    }
	
	    .col-masonry-right {
	        margin-top: 0 !important;
	    }
	
	    #activities-slider .splide__pagination {
	        bottom: 10px !important;
	    }
	
	    .section-activities .btn-custom-pill {
	        right: 30.5px;
	        bottom: 10px;
	    }
	}

}

.tpl-51{
	/* Interior de contacto */
	.banner_interior{
	    width: 100%;
	    height: 500px;
	    background-size: cover;
	    overflow: hidden;
	    background-position: 0px 40%;
	}
	
	.corte_banner_interior{ 
	    width: 100%;
	    position: absolute;
	    bottom: -1px;
	    left: 0px;
	    z-index: 1;
	}
	
	.banner_interior .imagen{
	    width: 100%;
	    height: 100%;
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	    filter: blur(4px);
	}
	
	@media (max-width: 1200px){
	    .banner_interior {
	        height: 250px;
	    }
	}
	
	@media (max-width: 767px){
	    .banner_interior {
	        height: 200px;
	    }
	}
}

.tpl-52{
	/* Título y cotenido */
	.titulo-surf-cyan{
	    margin-bottom: 0;
	}
}

.tpl-53{
	/* Apartados detalle */
	* {
	    --efectos: var(--hover);
	}
	
	.padre-imagen-apartados {
	    width: 100%;
	}
	
	.imagen_apartados {
	    width: 100%;
	    margin: 30px 0;
	}
	
	.contenido_texto {
	    color: #666;
	}
	
	.contenido-apartados .textaco p {
	    line-height: 25px;
	    font-size: 16px;
	    color: #666;
	    text-align: left;
	}

}

.tpl-55{
	*{
	    --redondeo-interiores: var(--border-radius-interiores);
	}
	
	.btn-lg.btn-corporativo{
	    border-radius: var(--redondeo-interiores);
	}
}

.tpl-56{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --fondo: var(--transparencia);
	    --fuente_interior: var(--familia_fuente);
	    --efectos: var(--hover);
	    --redondeo: var(--border-radius);
	    --redondeo-interiores: var(--border-radius-interiores);
	}
	
	
	.bloque_cabecera .bloque_titulo {
	    background-color: var(--principal);
	    padding: 15px;
	    border-radius: var(--redondeo-interiores);
	    color: #fff;
	}
	
	.bloque_cabecera .bloque_interior {
	    background-color: var(--fondo);
	    padding: 15px 15px;
	    border-radius: var(--redondeo-interiores);
	    margin-top: 10px;
	}
	
	.bloque_cabecera .bloque_titulo h3 {
	    margin: 0;
	    color: #fff;
	    text-transform: uppercase;
	    font-family: var(--fuente_interior);
	    font-weight: 200
	}
	
	.bloque_cabecera .imagen {
	    width: 100%;
	    border-radius: 20px;
	}
	
	.bloque_cabecera h4 {
	    text-transform: uppercase;
	    font-size: 22px;
	    font-family: var(--fuente_interior);
	    color: var(--principal)
	}
}

.tpl-57{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --fondo: var(--transparencia);
	    --efectos: var(--hover);
	    --redondeo: var(--border-radius);
	    --redondeo-interiores: var(--border-radius-interiores);
	}
	
	
	.bloque_desplegable .fondo {
	background-color: var(--fondo);
	padding: 20px;
	border-radius: var(--redondeo-interiores);
	}
	
	.bloque_desplegable .accordion {
	margin: 0
	}
	
	.blopque_desplegable .titulo_desplegable {
	margin: 0;
	margin-bottom: 20px;
	font-size: 23px;
	text-transform: uppercase;
	font-weight: 400;
	font-family: var(--familia_fuente);
	color: var(--principal);
	}
	
	.bloque_desplegable .accordion-item {
	border-color: var(--principal);
	margin-bottom: 10px;
	border: 2px var(--principal) solid;
	border-radius: var(--redondeo-interiores);
	overflow: hidden;
	background-color: #fff;
	}
	
	.bloque_desplegable .accordion-button {
	background-color: var(--principal);
	text-decoration: none !important;
	border-color: var(--primario);
	color: #fff !important;
	box-shadow: none;
	gap: 8px;
	padding: 20px 12px;
	font-size: 16px;
	}
	
	.bloque_desplegable .accordion-button:focus {
	box-shadow: none;
	}
	
	.bloque_desplegable .accordion-button::after {
	display: none;
	}
	
	.bloque_desplegable .titulo_desplegable .fa {
	color: var(--principal)
	}
	
	.bloque_desplegable .accordion-body {
	border-top-color: var(--principal);
	padding: 25px;
	line-height: 25px;
	}
}

.tpl-58{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --efectos: var(--hover);
	    --redondeo: var(--border-radius);
	}
	
	.bloque_documentos .fondo {
	background-color: var(--transparencia);
	padding: 20px;
	margin-bottom: 40px
	}
	
	.bloque_documentos .accordion {
	margin: 0
	}
	
	.bloque_documentos h2 {
	margin: 0;
	margin-bottom: 20px;
	font-size: 23px;
	text-transform: uppercase;
	font-weight: 400;
	font-family: var(--familia_fuente);
	color: var(--primario__e);
	}
	
	.bloque_documentos .accordion-item {
	border-color: var(--primario);
	margin-bottom: 10px;
	border: 2px var(--primario__e) solid;
	border-radius: 8px;
	overflow: hidden;
	background-color: #fff;
	}
	
	.bloque_documentos .accordion-button {
	background-color: var(--primario);
	text-decoration: none !important;
	border-color: var(--primario);
	color: #fff !important;
	box-shadow: none;
	gap: 8px;
	padding: 20px 12px;
	font-size: 16px;
	border-radius: 0 !important;
	}
	
	.bloque_documentos .accordion-button:focus {
	box-shadow: none;
	}
	
	.bloque_documentos .accordion-button::after {
	display: none;
	}
	
	.bloque_documentos .accordion-body {
	border-top-color: var(--primario);
	padding: 10px;
	}
}

.tpl-59{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --efectos: var(--hover);
	    --redondeo-interiores: var(--border-radius-interiores);
	}
	
	.bloque-galeria-unite {
	    width: 100%;
	}
	
	.ug-thumb-wrapper{
	    border-radius: var(--redondeo-interiores) !important;
	}
}

.tpl-60{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --efectos: var(--hover);
	    --redondeo-interiores: var(--border-radius-interiores);
	
	}
	
	.bloque_imagenes img {
	width: 100%;
	border-radius: 5px;
	}
	
	.bloque_imagenes .flexible {
	display: flex;
	align-items: center
	}
	
	.bloque_imagenes img {
	width: 100%;
	object-fit: cover;
	border-radius: var(--redondeo-interiores);
	}

}

.tpl-61{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --efectos: var(--hover);
	    --redondeo: var(--border-radius);
	}
	
	.bloque_imagen_lista ul {
	    list-style: none;
	    padding: 0
	}
	
	.bloque_imagen_lista i {
	    color: var(--primario-e);
	    margin-right: 5px;
	}
	
	.bloque_imagen_lista .imagen {
	    width: 100%;
	    object-fit: cover;
	    margin-bottom: 30px;
	    border-radius: 5px;
	}
	
	.bloque_imagen_lista h4 {
	    text-transform: uppercase;
	    margin: 0;
	    margin-bottom: 10px;
	    font-family: var(--familia_fuente);
	    color: var(--primario-e);
	    font-size: 22px
	}
	
	.fa-user:before,
	.fa-pencil:before,
	.fa-book:before {
	    color: var(--primario);
	}
}

.tpl-62{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --efectos: var(--hover);
	    --redondeo: var(--border-radius);
	}
	
	.bloque_puntos ul {
	margin: 0;
	padding: 0;
	list-style: none
	}
	
	.bloque_puntos ul li {
	margin-bottom: 15px
	}
	
	.bloque_puntos ul li>p>.fa {
	font-size: 20px;
	color: var(--primario__e)
	}
	
	.fa-user:before,.fa-book:before{
	    color: var(--principal) !important;
	}
}

.tpl-63{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --efectos: var(--hover);
	    --redondeo-interiores: var(--border-radius-interiores);
	}
	
	
	.bloque_contenido .titulo {
	background-color: var(--primario);
	padding: 15px 10px;
	border-radius: var(--redondeo-interiores);
	margin-bottom: 10px;
	}
	
	.bloque_contenido .titulo h4 {
	color: #fff;
	margin: 0;
	text-transform: uppercase;
	font-size: 16px;
	font-family: var(--familia_fuente);
	font-weight: 300
	}
	
	.bloque_contenido .bloque {
	padding: 0 10px;
	margin-bottom: 30px;
	}

}

.tpl-64{
	/* Bloques de apartados */
	* {
	    --principal: var(--primario);
	    --efectos: var(--hover);
	    --redondeo-interiores: var(--border-radius-interiores);
	}
	
	
	.listado {
	text-align: justify;
	}
	
	.listado ul,
	.listado li {
	margin: 0px;
	padding: 0px;
	list-style: none;
	}
	
	.listado li {
	padding: 20px;
	background-color: var(--transparencia);
	border-radius: var(--border-radius-interiores);
	}
	
	.listado li a,
	.listado li.alt a {
	font-size: 15px;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	}
	
	.listado li.alt {
	background-color: transparent;
	}
	
	.listado li.alt a {
	color: #000;
	text-decoration: none;
	}
	
	.listado a {
	color: #000;
	text-decoration: none;
	}
	
	.listado a:hover,
	.listado li.alt a:hover {
	color: var(--primario);
	text-decoration: none;
	}
}