@charset "UTF-8";
/*  
Theme Name: Bahía de la Luna
Author: Cliento
*/

@import url('https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@300..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

:root {
    --blanco: #fff;
    --negro: #000;
    --negrorgb: 0,0,0;
    --grisc: #f2f2f2;
    --azul: #2E336B;
    --azulo: #040A48;
    --azulc: #FAFDFF;
	--verde: #00CE7C;
    --verdea: #79CDCD;
	--verdec: #12A3A3;
	--aqua: #B1EAEA;
    --font: "Source Sans 3", sans-serif;
    --font2: "Frank Ruhl Libre", serif;
    --bgheader: #eeece2;
    --bgfooter: #040A48;
    scroll-behavior: auto
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
html, body {
	position: relative;
	width: 100%;
	-webkit-font-smoothing: antialiased;
}
body {
	line-height: 1;
    font-family: var(--font);
    color: var(--azulo);
}
body, p {
    font-size: 20px;
    line-height: 130%;
}
ol, ul {
	list-style: none;
	text-decoration: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

strong, b {
    font-weight: 600;
}

.line-normal { line-height: normal }
.line-150 { line-height: 150% }
.line-140 { line-height: 140% }
.line-130 { line-height: 130% }
.line-120 { line-height: 120% }
.line-110 { line-height: 110% }
.line-100 { line-height: 100% }

.fs10 { font-size: 10px; }
.fs11 { font-size: 11px; }
.fs12 { font-size: 12px; }
.fs13 { font-size: 13px; }
.fs14 { font-size: 14px; }
.fs15 { font-size: 15px; }
.fs16 { font-size: 16px; }
.fs17 { font-size: 17px; }
.fs18 { font-size: 18px; }
.fs19 { font-size: 19px; }
.fs20 { font-size: 20px; }
.fs21 { font-size: 21px; }
.fs22 { font-size: 22px; }
.fs23 { font-size: 23px; }
.fs24 { font-size: 24px; }
.fs25 { font-size: 25px; }
.fs26 { font-size: 26px; }
.fs27 { font-size: 27px; }
.fs28 { font-size: 28px; }
.fs29 { font-size: 29px; }
.fs30 { font-size: 30px; }
.fs31 { font-size: 31px; }
.fs32 { font-size: 32px; }
.fs33 { font-size: 33px; }
.fs34 { font-size: 34px; }
.fs35 { font-size: 35px; }
.fs36 { font-size: 36px; }
.fs37 { font-size: 37px; }
.fs38 { font-size: 38px; }
.fs39 { font-size: 39px; }
.fs40 { font-size: 40px; }
.fs41 { font-size: 41px; }
.fs42 { font-size: 42px; }
.fs43 { font-size: 43px; }
.fs44 { font-size: 44px; }
.fs45 { font-size: 45px; }
.fs46 { font-size: 46px; }
.fs47 { font-size: 47px; }
.fs48 { font-size: 48px; }
.fs49 { font-size: 49px; }
.fs50 { font-size: 50px; }
.fs51 { font-size: 51px; }
.fs52 { font-size: 52px; }
.fs53 { font-size: 53px; }
.fs54 { font-size: 54px; }
.fs55 { font-size: 55px; }
.fs56 { font-size: 56px; }
.fs57 { font-size: 57px; }
.fs58 { font-size: 58px; }
.fs59 { font-size: 59px; }
.fs60 { font-size: 60px; }
.fs61 { font-size: 61px; }
.fs62 { font-size: 62px; }
.fs63 { font-size: 63px; }
.fs64 { font-size: 64px; }
.fs65 { font-size: 65px; }
.fs66 { font-size: 66px; }
.fs67 { font-size: 67px; }
.fs68 { font-size: 68px; }
.fs69 { font-size: 69px; }
.fs70 { font-size: 70px; }
.fs71 { font-size: 71px; }
.fs72 { font-size: 72px; }
.fs73 { font-size: 73px; }
.fs74 { font-size: 74px; }
.fs75 { font-size: 75px; }
.fs76 { font-size: 76px; }
.fs77 { font-size: 77px; }
.fs78 { font-size: 78px; }
.fs79 { font-size: 79px; }
.fs80 { font-size: 80px; }

.source-sans-pro {
    font-family: var(--font);
}

.frank-ruhl-libre {
    font-family: var(--font2);
}

.txt-small {
    color: #45ADAD;
    font-size: 16px;
    font-weight: 600;
    line-height: 130%;
    letter-spacing: 5.12px;
    text-transform: uppercase;
}


/* Colores */

.azul {
	color: var(--azul);
}

.azulo {
	color: var(--azulo);
}

.blanco {
    color: var(--blanco);
}

.verdec {
	color: var(--verdec);
}


/* Backgrounds */

.bgazul {
    background-color: var(--azul);
}

.bgazulc {
    background-color: var(--azulc);
}

.bgaqua {
	background-color: var(--aqua);
}

.bgfooter {
    background-color: var(--bgfooter);
}


/* Botones */

.btn-verdea,
.btn-verdea a {
    display: inline-block;
    background-color: var(--verdea);
    border: 1px solid var(--verdea);
    border-radius: 24px;
    color: var(--azulo);
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    padding: 8px 25px;
    line-height: 130%;
}

.btn-verdea a {
    padding: 0;
}

.btn-azul,
.btn-azul a {
    display: inline-block;
    background-color: var(--azul);
    border: 1px solid var(--azul);
    border-radius: 24px;
    color: var(--blanco);
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    padding: 8px 25px;
    line-height: 130%;
}

.btn-azul a {
    padding: 0;
}

.btn-verde,
.btn-verde a {
    display: inline-block;
    background-color: var(--verde);
    border: 1px solid var(--verde);
    border-radius: 24px;
    color: var(--blanco);
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    padding: 8px 25px;
    line-height: 130%;
}

.btn-verde a {
    padding: 0;
}

.btn-whats a {
    display: inline-block;
    background-color: #00B900;
    border: 1px solid #00B900;
    border-radius: 24px;
    color: var(--blanco);
    cursor: pointer;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    padding: 5px 35px;
    line-height: 130%;
}

.btn-blanco,
.btn-blanco a {
    display: inline-block;
    background-color: var(--blanco);
    border: 1px solid #45ADAD;
    border-radius: 24px;
    color: var(--azul);
    cursor: pointer;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    padding: 10px 20px;
    line-height: 130%;
	text-decoration: none;
}

.btn-borde_b,
.select-borde select {
    display: inline-block;
    background-color: transparent;
    border: 2px solid var(--blanco);
    border-radius: 24px;
    color: var(--blanco);
    cursor: pointer;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 600;
    padding: 8px 25px;
    line-height: 130%;
}

.select-borde select {
	-webkit-appearance: none;
	position: relative;
	padding: 8px 40px 8px 25px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M8 12l8 8 8-8'/></svg>");
    background-repeat: no-repeat;
    background-size: 20px auto;
	background-position: right 10px center;
}

.select-borde select:focus-visible {
	outline: none;
}


/* Header */

header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

header ul li a {
    font-family: var(--font);
    font-size: 18px;
	font-weight: 600;
    color: var(--blanco);
    text-decoration: none;
}

h1, 
.h1 {
    font-size: 50px;
    font-weight: 700;
    font-family: var(--font2);
    line-height: 100%;
}

.titulo-p,
h2, 
.h2 {
    font-size: 40px;
    font-weight: 500;
    font-family: var(--font2);
    line-height: 110%;
}

h3, 
.h3 {
    font-size: 24px;
    font-weight: 500;
    font-family: var(--font2);
    line-height: 120%;
}


/* Menú mobile */

.cmn-toggle-switch {
    position: relative;
    display:block;
    overflow: visible;
    top:0;
    left:0;
    margin: 0;
    padding: 0;
    width: 30px;
    height: 30px;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border: none;
    cursor: pointer;
    z-index: 1000000;
}

.cmn-toggle-switch.m-active {
    position: fixed;
    top:20px;
    left:20px;
}

.cmn-toggle-switch.m-active span {
    background-color: var(--azul);
}
  
.cmn-toggle-switch.m-active span:before{
	opacity: 0;
}
 
.cmn-toggle-switch.m-active span:after{
    top: 0;
    transform: rotate(-90deg); 
    background-color: var(--azul);
}
 
.cmn-toggle-switch.m-active span{
    transform: rotate(-45deg); 
}

.cmn-toggle-switch:focus {
    outline: none;
}

.cmn-toggle-switch span {
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    height: 3px;
    background: #fff;
}

.cmn-toggle-switch span::before,
.cmn-toggle-switch span::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height:3px;
    background-color: #fff; 
    content: "";
}

.cmn-toggle-switch span::before {
    top: -10px;
}

.cmn-toggle-switch span::after {
    bottom: -10px;
}

.hs-menu-wrapper {
	overflow: auto;
	transform: translateX(-105%);
	top:0;
	left:0;
	bottom: 0;
	width: 100%;
	height: 100%;
	position:fixed;
	background-color:#fff;
	z-index:999999;
	-webkit-box-shadow: 1px 0px 5px 0px rgba(50, 50, 50, 0.55);
	-moz-box-shadow:    1px 0px 5px 0px rgba(50, 50, 50, 0.55);
	box-shadow:         1px 0px 5px 0px rgba(50, 50, 50, 0.55);
	-webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
    -moz-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
    -ms-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
    -o-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.hs-menu-wrapper.show {
    transform: translateX(0);
}

.hs-menu-wrapper .logo {
    width: 280px;
}

.hs-menu-wrapper ul {
    display: block!important;
}

.hs-menu-wrapper ul li {
    max-width: 100%!important;
    padding: 0;
    border-top: none;
    border-bottom: 1px solid #ededed;
    margin: 0;
}

.hs-menu-wrapper ul li a {
    display: block;
    padding: 10px 15px;
    color: var(--griso);
    text-align: left;
}


/* Home - Banner */

.row-banner {
    position: relative;
    padding: 15% 15px 10%;
}

.row-banner:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.7;
    background: linear-gradient(156deg, #00074F 34.58%, rgba(0, 7, 79, 0.00) 70.62%);
	z-index: 1;
}

.row-banner .wp-block-group__inner-container {
    position: relative;
    max-width: 675px;
    width: 100%;
    margin: auto;
    text-align: center;
    z-index: 1;
}

.row-banner.banner-experiences-es .wp-block-group__inner-container {
    max-width: 700px;
}

.row-banner.banner-events .wp-block-group__inner-container {
	max-width: 900px;
}

.row-banner .wp-block-group__inner-container h1,
.row-banner .wp-block-group__inner-container h2 {
    margin-bottom: 20px;
    color: var(--blanco);
    font-weight: 700;
}

.row-banner.banner-experiences-es .wp-block-group__inner-container h1 {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.row-banner .wp-block-group__inner-container h2 {
	font-size: 50px;
}

.row-banner .wp-block-group__inner-container h1 strong {
    color: var(--verdea);
}

.row-banner.banner-experiences-es .wp-block-group__inner-container h1 strong {
	display: block;
}

.row-banner .wp-block-group__inner-container p {
    max-width: 440px;
    width: 100%;
    margin: auto;
    color: var(--blanco);
    font-family: var(--font);
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.row-banner video {
	display: block;
}

.banner-cabanas .wp-block-group__inner-container p {
	max-width: 425px;
    font-size: 25px;
}

.banner-experiences .wp-block-group__inner-container p {
    max-width: 650px;
    font-size: 25px;
}

.banner-experiences-es .wp-block-group__inner-container p {
    max-width: 700px;
}

.banner-events .wp-block-group__inner-container h1 {
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

.banner-events .wp-block-group__inner-container p {
	max-width: 100%;
    font-size: 25px;
}

#video_background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

/* Home - Módulo - Bahía de la Luna */

.row-grid {
    gap: 0!important;
    align-items: flex-start!important;
}

.grid-bahia .image1 {
    flex: 0 0 auto;
    width: 58.33333333%!important;
}

.grid-bahia .image2 {
    padding-left: 0;
    flex: 0 0 auto;
    width: 41.66666667%!important;
}


/* Home - Módulo - Stay */

.row-oasis {
    max-width: 815px;
    width: 100%;
    margin: auto;
}

.row-oasis p {
    max-width: 750px;
    width: 100%;
    margin: auto;
}

.shadow-map {
	position: relative;
}

.shadow-map:before {
	content: '';
	position: absolute;
	top: 35%;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(345deg, #040A48 23.7%, rgba(4, 10, 72, 0.00) 69.88%);
	opacity: 0.5;
}


/* Home - Módulo - Habitaciones */

.item-cabana {
    padding: 15px 4%;
    border-left: 1px solid #6C759C;
}

.item-cabana:first-of-type {
    border-left: 0;
}

.item-cabana .wp-block-image {
    display: inline-block;
    vertical-align: middle;
}


/* Home - Módulo - Cabañas */

.bg-cabanas img {
    width: 100%;
}

.row-cabanas {
    position: relative;
}

.tooltip-circles-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.tooltip-hover {
    position: absolute;
}

.tooltip-circle {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 14px;
    height: 14px;
    background-color: #79CDCD;
    border-radius: 50%;
    cursor: pointer;
}

.tooltip-circle:before {
    content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    background-color: rgba(255, 255, 255, 0.80);
    z-index: -1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

.tooltip-content {
    /*visibility: hidden;
    opacity: 0;*/
    position: absolute;
	min-width: 235px;
    /*display: flex;
    gap: 25px;
    align-items: flex-end;*/
    top: 5px;
    left: 5px;
    padding: 15px 20px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.80);
    color: #000;
    font-size: 20px;
    /*white-space: nowrap;*/
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    line-height: 130%;
    pointer-events: auto;
    transition: opacity 0.2s ease;
}

.tooltip-content > div {
	max-width: 160px;
}

.tooltip-content p:first-of-type {
	margin-bottom: 5px;
}

.tooltip-content p {
	font-size: 16px;
	line-height: 130%;
}

.tooltip-content p strong {
	font-size: 20px;
}

.tooltip-content a {
    display: block;
    color: var(--negro);
    font-size: 12px;
    line-height: 130%;
	text-align: right;
}

.tooltip-content strong {
    font-family: var(--font2);
}


/* Home - Módulo - Restaurant */

.grid-images-l {
    align-items: flex-start!important;
}

.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image.image1 img,
.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image.image1 span {
    margin-right: -10%;
    width: 110% !important;
    position: relative;
    max-width: 110% !important;
}

.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image.image2 img,
.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image.image2 span {
    margin-left: -15%;
    width: 115% !important;
    position: relative;
    max-width: 115% !important;
    margin-top: 50px;
    z-index: 1;
}

.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image span div {
	overflow: hidden;
}

.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image span div video {
	width: 101%;
	margin: 0 -0.5%;
}

.flex-avatar .wp-block-group__inner-container {
    display: flex;
    gap: 30px;
    align-items: center;
}

.flex-avatar .wp-block-group__inner-container .wp-block-image {
    flex: 0 0 64px;
}


/* Home - Módulo - Experiences */

.row-experiences p {
    max-width: 1015px;
    width: 100%;
    margin: auto;
}

.slide-experiences {
    padding-top: 50px;
}

.slide-experiences .slick-slide .wp-element-caption {
    position: relative!important;
    background: transparent!important;
    text-shadow: none!important;
    color: var(--negro)!important;
    text-align: left!important;
    padding: 20px 0!important;
    font-size: 20px!important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    backdrop-filter: none!important;
}

.slide-experiences.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0;
}

.slide-experiences .slick-slide {
	margin-right: 10px!important;
	width: auto!important;
}

/* Estilos base */
.slide-experiences .slick-prev,
.slide-experiences .slick-next,
.slide-experiences-int .slick-prev,
.slide-experiences-int .slick-next {
    align-items: center;
    border: 2px solid #BDBDBD;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 0;
    height: 34px;
    justify-content: center;
    opacity: 1;
    position: absolute;
    transition: background-color .3s, background-image .3s;
    width: 34px;
    z-index: 2;
}

.slide-experiences .slick-prev,
.slide-experiences-int .slick-prev {
    left: 82%;
    top: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%232E336B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='30' y1='8' x2='4' y2='8'/%3E%3Cpolyline points='10 4 4 8 10 12'/%3E%3C/svg%3E");
    background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-experiences .slick-next,
.slide-experiences-int .slick-next {
    left: 85%;
    top: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%232E336B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2' y1='8' x2='28' y2='8'/%3E%3Cpolyline points='22 4 28 8 22 12'/%3E%3C/svg%3E");
    background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-experiences .slick-prev:hover,
.slide-experiences .slick-prev:focus,
.slide-experiences-int .slick-prev:hover,
.slide-experiences-int .slick-prev:focus {
    background-color: #2E336B;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='30' y1='8' x2='4' y2='8'/%3E%3Cpolyline points='10 4 4 8 10 12'/%3E%3C/svg%3E");
	background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-experiences .slick-next:hover,
.slide-experiences .slick-next:focus,
.slide-experiences-int .slick-next:hover,
.slide-experiences-int .slick-next:focus {
    background-color: #2E336B;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2' y1='8' x2='28' y2='8'/%3E%3Cpolyline points='22 4 28 8 22 12'/%3E%3C/svg%3E");
	background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-experiences .slick-prev:before, 
.slide-experiences .slick-next:before,
.slide-experiences-int .slick-prev:before, 
.slide-experiences-int .slick-next:before {
    display: none;
}

.slide-experiences .slick-prev svg, 
.slide-experiences .slick-next svg,
.slide-experiences-int .slick-prev svg, 
.slide-experiences-int .slick-next svg {
    fill: #45ADAD;
}

.slide-experiences-int .slick-slide video {
    display: block;
	max-width: 555px;
	margin-left: auto;
}


/* Home - Módulo - Needed */

.bg-listing {
    background-image: url("https://bahiadelaluna.seo-consultoria.com/wp-content/uploads/2025/06/banner-actividades-full.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.content-listing {
    max-width: 525px;
    width: 100%;
    margin: -50px 0 !important;
    padding: 6% 5%;
    background-color: var(--azul);
    color: var(--blanco);
}

.flex-listing .wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
}

.flex-listing .wp-block-group__inner-container .wp-block-list {
	width: 50%;
}


/* Home - Módulo - Ethos */

.row-ethos {
    max-width: 1030px;
    width: 100%;
    margin: auto;
}

.item-ethos:nth-child(3) {
    margin: 50px 0;
}


/* Home - Módulo - FAQs */

.accordion {
    max-width: 630px;
    padding: 0 15px;
    margin: 0 auto;
    background-color: transparent;
}

.accordion-item {
    background-color: transparent;
    border: none;
}

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

.accordion-button {
    padding-left: 0;
    font-size: 20px;
    font-family: var(--font);
    color: white;
    background-color: transparent;
    border: none;
    line-height: 130%;
}

.accordion-button::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    filter: brightness(0) invert(1);
}

.accordion-button:not(.collapsed)::after {
    transform: var(--bs-accordion-btn-icon-transform) translateY(50%);
}

.accordion-button.collapsed {
    background-color: transparent;
}

.accordion-button:not(.collapsed) {
    color: var(--blanco);
    box-shadow: none;
    background-color: transparent;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-body {
    padding: 0 0 20px;
    font-size: 18px;
    color: white;
    background-color: transparent;
    text-align: center;
	line-height: 130%;
}

.accordion-item:not(:last-child) {
    border-bottom: 1px solid #6C759C;
}

.accordion-body a {
	color: #fff;
}


/* Home - Slide - Reviews */

.tit-reviews {
	max-width: 650px;
	width: 100%;
	margin: auto;
}

.bdl-slide {
    border-radius: 8px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.bdl-slide-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
	justify-content: center;
}

.bdl-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
}

.bdl-slide-info {
    text-align: left;
}

.bdl-slide-info strong {
    display: block;
    font-size: 30px;
    font-family: var(--font2);
    line-height: 120%;
}

.bdl-slide-info span {
    display: block;
    font-size: 16px;
    line-height: 130%;
}

.bdl-stars img {
    display: inline-block!important;
    width: 100px;
    margin: 10px 0;
}

.bdl-comment {
    max-width: 500px;
    margin: auto;
    font-size: 16px;
    line-height: 130%;
}

.bdl-slider {
    margin-bottom: 0!important;
}

.bdl-slider .slick-dots {
    bottom: 0;
    display: block;
    list-style: none;
    margin: 0;
    padding: 15px 0 0;
    position: relative;
    text-align: center;
    width: 100%
}

.bdl-slider .slick-dots li {
    width: 12px;
    height: 12px;
}

.bdl-slider .slick-dots li button {
    padding: 0;
    width: 12px;
    height: 12px;
}

.bdl-slider .slick-dots li.slick-active button:before {
    background: #45ADAD;
    border-radius: 100%;
    color: #45ADAD;
    height: 12px;
    opacity: 1;
    text-align: center;
    width: 12px
}

.bdl-slider .slick-dots li button:before {
    background: #979B9E;
    border-radius: 100%;
    color: #979B9E;
    font-size: 0;
    height: 12px;
    opacity: 1;
    width: 12px
}


/* Modal - Video - Youtube */

.modal {
    display: none;
    position: fixed;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
    z-index:1000;
}

.modal-content {
    background-color: #f2f2f2;
    margin: auto;
    border: 1px solid #888;
    width: 740px;
    padding: 10px;
    box-sizing: border-box;
    position: relative;
    max-width: 90%;
    top: 9%;
}

.close {
    position: absolute;
    background: var(--azul);
    color: #fff;
    font-size: 25px;
    font-weight: 500;
    padding: 5px 12px;
    right: -8px;
    top: -8px;
    cursor: pointer;
}

.video-yt,
.video-wt {
    display: inline-block;
    position: relative;
    cursor: pointer;
}

.video-yt:before,
.video-wt:before {
    content: '';
    position: absolute;
    width: 104px;
    height: 104px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url("assets/images/play-bahia-de-la-luna.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 2;
	pointer-events: none;
}

.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image.image2.video-yt:before,
.wp-block-gallery.has-nested-images.grid-images-l figure.wp-block-image.image2.video-wt:before {
    margin-top: 25px;
    margin-left: -7.5%;
}

.wp-block-gallery.has-nested-images.grid-images-r figure.wp-block-image.image2.video-yt:before,
.wp-block-gallery.has-nested-images.grid-images-r figure.wp-block-image.image2.video-wt:before {
    margin-top: 25px;
    margin-right: -7.5%;
}

iframe.video_y {
    width: 100%;
}


/* Experiences */

.grid-experiencia {
    align-items: flex-end!important;
    margin-left: -33.33333333%;
}

.grid-experiencia .image1 {
	padding-left: 0;
    flex: 0 0 auto;
    width: 33.33333333%!important;
}

.grid-experiencia .image2 {
    padding-left: 0;
    flex: 0 0 auto;
    width: 66.66666667%!important;
}

.slide-experiences-int .slick-slide {
    display: flex!important;
}

.slide-experiences-int .slick-prev,
.slide-experiences-int .slick-next {
    top: -34px;
}

.slide-experiences-int .slick-prev {
	left: 100%;
	margin-left: -80px;
}

.slide-experiences-int .slick-next {
    right: 0;
	left: unset;
}

.grid-images-r {
    align-items: flex-start!important;
}

.wp-block-gallery.has-nested-images.grid-images-r figure.wp-block-image.image1 img,
.wp-block-gallery.has-nested-images.grid-images-r figure.wp-block-image.image1 span {
    margin-right: -15%;
    width: 115% !important;
    position: relative;
    max-width: 115% !important;
    margin-top: 50px;
    z-index: 1;
}

.wp-block-gallery.has-nested-images.grid-images-r figure.wp-block-image.image2 img,
.wp-block-gallery.has-nested-images.grid-images-r figure.wp-block-image.image2 span {
    margin-left: -10%;
    width: 110% !important;
    position: relative;
    max-width: 110% !important;
}

.wp-block-gallery.has-nested-images.grid-images-r figure.wp-block-image.image1 {
	z-index: 2;
}

.scroll-reveal {
  --clip1: 50;
  --clip2: 50;
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    calc(var(--clip1) * 1%) 0,
    calc(var(--clip2) * 1%) 0,
    calc(var(--clip2) * 1%) 100%,
    calc(var(--clip1) * 1%) 100%
  );
  transition: clip-path 0.2s ease-out;
}
.scroll-reveal img {
  width: 100%;
  height: auto;
  display: block;
}


/* Cabañas */

.row-our-cabanas {
	max-width: 820px;
	width: 100%;
	margin: auto;
}

.row-our-cabanas h2 {
	max-width: 500px;
	width: 100%;
	margin: auto;
}

.slide-cabanas .slick-prev,
.slide-cabanas .slick-next {
    align-items: center;
    border: 2px solid #BDBDBD;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 0;
    height: 34px;
    justify-content: center;
    opacity: 1;
    position: absolute;
    transition: background-color .3s;
    width: 34px;
    z-index: 2;
}

.slide-cabanas .slick-prev {
    left: 100%;
    margin-left: -80px;
    top: -40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%232E336B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='30' y1='8' x2='4' y2='8'/%3E%3Cpolyline points='10 4 4 8 10 12'/%3E%3C/svg%3E");
    background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-cabanas .slick-next {
    right: 0;
    top: -40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%232E336B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2' y1='8' x2='28' y2='8'/%3E%3Cpolyline points='22 4 28 8 22 12'/%3E%3C/svg%3E");
    background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-cabanas .slick-prev:hover,
.slide-cabanas .slick-prev:focus {
    background-color: #2E336B;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='30' y1='8' x2='4' y2='8'/%3E%3Cpolyline points='10 4 4 8 10 12'/%3E%3C/svg%3E");
	background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-cabanas .slick-next:hover,
.slide-cabanas .slick-next:focus {
    background-color: #2E336B;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2' y1='8' x2='28' y2='8'/%3E%3Cpolyline points='22 4 28 8 22 12'/%3E%3C/svg%3E");
	background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-cabanas .slick-prev:before, 
.slide-cabanas .slick-next:before {
    display: none;
}

.slide-cabanas .slick-prev svg, 
.slide-cabanas .slick-next svg {
    fill: #45ADAD;
}

.wp-block-columns.row-cabana:not(.is-not-stacked-on-mobile)>.wp-block-column {
	flex-basis: auto;
	flex-grow: 0;
}

.wp-block-columns.row-cols-cabana {
	flex-wrap: wrap!important;
	gap: 0;
}

.wp-block-columns.row-cols-cabana:not(.is-not-stacked-on-mobile)>.wp-block-column {
	flex-basis: auto;
	flex-grow: 0;
}

.row-cols-cabana figure {
	flex: 0 0 50px;
	text-align: center;
}


/* Wedding/Events */

.grid-events {
    align-items: flex-end!important;
    margin-left: -70%;
}

.grid-events .image1 {
	padding-left: 0;
    flex: 0 0 auto;
    width: 40%!important;
}

.grid-events .image2 {
    padding-left: 0;
    flex: 0 0 auto;
    width: 60%!important;
}

.row-cta {
	max-width: 1000px;
	margin: auto;
}

.row-cta .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
	width: auto;
	flex-basis: auto;
	flex-grow: 0;
}


/* Footer */

/*.form-s {
    display: flex;
}

.form-s input.input {
    width: 100%;
    border: 0;
    height: 50px;
    padding: 10px;
    border-radius: 5px 0 0 5px;
    background-color: var(--blanco);
    font-size: 14px;
}

.form-s input.input::placeholder {
    font-size: 14px;
}

.form-s input.input:focus {
    outline: none;
}

.form-s input.submit {
    padding: 0 30px;
    border-radius: 0 5px 5px 0;
    border: 5px solid var(--blanco);
    background-color: #45ADAD;
    font-size: 14px; 
    color: var(--blanco);
}*/

.form-s {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
    position: relative;
    width: 100%;
    flex-flow: row wrap;
}

.form-s input.input {
    border: 0;
    height: 50px;
    padding: 10px;
    border-radius: 5px 0 0 5px;
    background-color: var(--blanco);
    font-size: 14px;
    flex: 1 1 auto;
}

.form-s input.input:focus-visible {
	outline: none;
}

.form-s input.submit {
    padding: 0 30px;
    border-radius: 0 5px 5px 0;
    border: 5px solid var(--blanco);
    background-color: #45ADAD;
    font-size: 14px; 
    color: var(--blanco);
    flex: 0 0 auto;
}

.form-s label.error {
    order: 3;
    width: 100%;
    font-size: 12px;
    color: var(--blanco);
    margin-top: 8px;
}

a.whatsapp {
	display: block;
	position: fixed;
	right: 20px;
	bottom: 20px;
	box-shadow: 0 4px 10px #0003;
	border-radius: 50%;
	z-index: 1;
}

a.whatsapp img {
	display: block;
	width: 50px;
	height: auto;
}

#message,
.thanks-message {
	color: var(--blanco);
	font-family: var(--font2);
	font-size: 16px;
}

#message {
	margin-top: 10px;
}


/* Popup */

.popup-desc {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 15px;
	background: rgba(0, 0, 0, 0.6); /* fondo semitransparente */
	display: none; /* oculto por defecto */
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

.box-popup {
	position: relative;
	background-color: #040A48;
	width: 100%;
	max-width: 1000px;
	border-radius: 10px;
	color: white;
	text-align: center;
}

.cierre-popup {
	position: absolute;
	top: 0;
	right: 0;
	padding: 11px;
	background-color: #45ADAD;
	line-height: 12px;
	cursor: pointer;
}

.txt-popup {
	max-width: 430px;
	width: 100%;
	margin: auto;
}

#nothanks {
	cursor: pointer;
}


@media screen and (min-width: 481px) {
	.slide-cabanas .slick-slide {
		margin-right: 15px!important;
		width: auto!important;
	}
	
	.slide-cabanas .slick-slide img {
		width: auto!important;
		height: auto!important;
	}
}

@media screen and (min-width: 769px) {
    .item-ethos:nth-child(3) {
        margin: -50px 0;
    }
    
    .title-taste {
        max-width: 245px;
    }
	
	.title-sabor {
        max-width: 300px;
    }
    
    .title-pleasure {
        max-width: 400px;
    }
	
	.title-placeres {
        max-width: 440px;
    }
	
	.title-swim {
        max-width: 255px;
    }
	
	.grid-events .image2 img {
		margin-bottom: 50px;
	}
}

@media screen and (min-width: 768px) {
    .accordion-button {
        text-align: center;
        justify-content: center;
    }
}

@media screen and (max-width: 781px) {
    .grid-experiencia,
	.grid-events {
        margin-left: 0;
    }
}

@media screen and (max-width: 768px) {
    .slide-experiences .slick-prev {
        left: 78%;
    }

    .slide-experiences .slick-next {
        left: 85%;
    }
	
	.row-cols-cabana {
		max-width: 280px;
		width: 100%;
		margin: auto;
	}
}

@media screen and (max-width: 480px) {
    body {
        text-align: center;
    }
    body, 
    p, 
    .fs22,
    .bdl-comment,
    .accordion-button,
    .accordion-body {
        font-size: 18px; 
    }
	
	.header-logo img {
		max-width: 160px!important;
	}
    
	.row-banner .wp-block-group__inner-container h2,
    h1, 
    .h1,
	.fs50 {
        font-size: 30px;
    }

	.titulo-p,
	.fs40,
    h2, 
    .h2 {
        font-size: 26px;
    }
    
    .fs30,
    .bdl-slide-info strong,
    .row-banner .wp-block-group__inner-container p {
        font-size: 24px;
    }

    h3, 
    .h3 {
        font-size: 22px;
    }
    
    .fs25,
    .banner-experiences .wp-block-group__inner-container p,
	.banner-events .wp-block-group__inner-container p,
	.banner-cabanas .wp-block-group__inner-container p {
        font-size: 18px;
    }
    
    .row-faqs .btn-verdea, 
    .row-faqs .btn-verdea a,
    .btn-whats,
    .btn-bookhere .btn-verdea,
    .btn-bookhere .btn-verdea a {
        display: block;
        width: 100%;
        border-radius: 0;
    }
	
	.btn-whats {
		text-align: center;
	}
	
	.btn-whats a {
		width: auto;
	}
    
    .row-banner {
        padding: 42% 15px 14%;
    }
	
	.row-banner:before {
		background: linear-gradient(156deg, #00074F 12.58%, rgba(0, 7, 79, 0.00) 70.62%), linear-gradient(-44deg, #00074F 0%, rgba(0, 7, 79, 0.00) 70.62%);
	}
    
    .item-cabana {
        padding: 30px 0;
        border-left: 0;
        border-top: 1px solid #6C759C;
    }

    .item-cabana:first-of-type {
        border-left: 0;
        border-top: 0;
    }
    
    .flex-avatar .wp-block-group__inner-container {
        gap: 10px;
    }
    
    .slide-experiences .slick-slide img {
        height: 320px!important;
		width: auto!important
    }
    
    .slide-experiences .slick-prev,
    .slide-experiences .slick-next {
        top: 15px;
    }
    
    .slide-experiences .slick-prev {
        left: 72%;
    }

    .slide-experiences .slick-next {
        left: 85%;
    }
	
	.slide-cabanas.slick-slider {
		display: block !important;
	}

	.slide-cabanas .slick-track {
		display: flex !important;
	}
	
	.slide-cabanas .slick-prev,
	.slide-cabanas .slick-next {
		top: 0;
	}
	
	.slide-experiences .slick-prev,
	.slide-experiences-int .slick-prev,
	.slide-cabanas .slick-prev {
		background-color: #2E336B;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='30' y1='8' x2='4' y2='8'/%3E%3Cpolyline points='10 4 4 8 10 12'/%3E%3C/svg%3E");
		background-size: 17px 17px;
		background-repeat: no-repeat;
		background-position: center;
	}

	.slide-experiences .slick-next,
	.slide-experiences-int .slick-next,
	.slide-cabanas .slick-next {
		background-color: #2E336B;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2' y1='8' x2='28' y2='8'/%3E%3Cpolyline points='22 4 28 8 22 12'/%3E%3C/svg%3E");
		background-size: 17px 17px;
		background-repeat: no-repeat;
		background-position: center;
	}
    
    .bg-listing {
        margin-top: 50px;
        /*margin-bottom: 70px;*/
    }
    
    .content-listing {
        padding: 8%;
    }
    
    .item-ethos {
        gap: 20px;
    }
    
    .item-ethos:nth-child(3) {
        margin: 30px 0;
    }
    
    .item-ethos .wp-block-image {
        height: 300px; 
        overflow: hidden;
    }
    
    .item-ethos .wp-block-image figure {
        display: block;
        height: 100%; 
        margin: 0;
    }
    
    .item-ethos .wp-block-image figure img {
        display: block;
        width: 100%; 
        height: 100%; 
        object-fit: cover; 
        object-position: center;
    }
    
    .bdl-slide {
        padding: 0;
    }
    
    .bdl-stars {
        text-align: center;
    }
    
    .grid-experiencia .image1,
	.grid-events .image1 {
        width: 45%!important;
    }
    
    .grid-experiencia .image2,
	.grid-events .image2 {
        width: 55%!important;
    }
}

[data-star] {
    text-align:left;
    font-style:normal;
    display:inline-block;
    position: relative;
    unicode-bidi: bidi-override;
    font-size: 28px;
}
[data-star]::before {
    display:block;
    content: '★★★★★';
    color: #fff;
}
[data-star]::after {
    white-space:nowrap;
    position:absolute;
    top:0;
    left:0;
    content: '★★★★★';
    width: 0;
    color: #2E336B;
    height:100%;
}

[data-star^="0.1"]::after{width:2%}
[data-star^="0.2"]::after{width:4%}
[data-star^="0.3"]::after{width:6%}
[data-star^="0.4"]::after{width:8%}
[data-star^="0.5"]::after{width:10%}
[data-star^="0.6"]::after{width:12%}
[data-star^="0.7"]::after{width:14%}
[data-star^="0.8"]::after{width:16%}
[data-star^="0.9"]::after{width:18%}
[data-star^="1"]::after{width:20%}
[data-star^="1.1"]::after{width:22%}
[data-star^="1.2"]::after{width:24%}
[data-star^="1.3"]::after{width:26%}
[data-star^="1.4"]::after{width:28%}
[data-star^="1.5"]::after{width:30%}
[data-star^="1.6"]::after{width:32%}
[data-star^="1.7"]::after{width:34%}
[data-star^="1.8"]::after{width:36%}
[data-star^="1.9"]::after{width:38%}
[data-star^="2"]::after{width:40%}
[data-star^="2.1"]::after{width:42%}
[data-star^="2.2"]::after{width:44%}
[data-star^="2.3"]::after{width:46%}
[data-star^="2.4"]::after{width:48%}
[data-star^="2.5"]::after{width:50%}
[data-star^="2.6"]::after{width:52%}
[data-star^="2.7"]::after{width:54%}
[data-star^="2.8"]::after{width:56%}
[data-star^="2.9"]::after{width:58%}
[data-star^="3"]::after{width:60%}
[data-star^="3.1"]::after{width:62%}
[data-star^="3.2"]::after{width:64%}
[data-star^="3.3"]::after{width:66%}
[data-star^="3.4"]::after{width:68%}
[data-star^="3.5"]::after{width:70%}
[data-star^="3.6"]::after{width:72%}
[data-star^="3.7"]::after{width:74%}
[data-star^="3.8"]::after{width:76%}
[data-star^="3.9"]::after{width:78%}
[data-star^="4"]::after{width:80%}
[data-star^="4.1"]::after{width:82%}
[data-star^="4.2"]::after{width:84%}
[data-star^="4.3"]::after{width:86%}
[data-star^="4.4"]::after{width:88%}
[data-star^="4.5"]::after{width:90%}
[data-star^="4.6"]::after{width:92%}
[data-star^="4.7"]::after{width:94%}
[data-star^="4.8"]::after{width:96%}
[data-star^="4.9"]::after{width:98%}
[data-star^="5"]::after{width:100%}