/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {
	--custom-white:#F0ECE8;
}

body {
	font-family: 'DM Sans', sans-serif;
	font-weight: 300;
}


.txt-m-0 * {
    margin:0!important;
}

.txt-mb-0 * {
    margin-bottom:0;
}

.button-m-0 {
    margin:0!important;
}

.titles-font {
	font-family:"Juana";
}
.ls-positive {
	letter-spacing: 0.17px;
}
.ls-negative {
    letter-spacing: -0.4px;
}

h1, .banner h1, h2, .banner h2, h3, .banner h3, h4,  .banner h4, h5,  .banner h5, h6,  .banner h6 {
    font-size: 1em;
    line-height:inherit;
    font-weight: 300;
}

.banner {
    background:none;
}

.banner a.fill {
    z-index: 2;
}

.banner:has(a.fill) .text-box {
    z-index: 1;
}

.banner-height-fit {
	height:100%;
}

.balance {
    text-wrap: balance;
}

.pretty {
    text-wrap: pretty;
}

.uppercase {
	letter-spacing: 0;
}

.fw-100, .fw-100 > * {
    font-weight:100!important;
}

.fw-200, .fw-200 > * {
    font-weight:200!important;
}

.fw-300, .fw-300 > * {
    font-weight:300!important;
}

.fw-400, .fw-400 > * {
    font-weight:400!important;
}

.fw-500, .fw-500 > * {
    font-weight:500!important;
}

.fw-600, .fw-600 > * {
    font-weight:600!important;
}

.fw-700, .fw-700 > * {
    font-weight:700!important;
}

.fw-900, .fw-900 > * {
    font-weight:900!important;
}

.doubled-font > * {
    font-size:2em!important;
}

.v-align-col > .col-inner {
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
    min-height: 100%;
}

.image-height-fit .col-inner, .image-height-fit .img:not(.logo), .image-height-fit .img:not(.logo) > div, .image-height-fit .img:not(.logo) .img-inner {
    height:100%;
}

.image-height-fit .img:not(.logo) .img-inner > img {
    height:100%;
    object-fit:cover;
    object-position:center center;
}

.image-height-fit .img.logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
} 

.image-height-fit .img.logo img {
    margin:0 auto;
}

.logo.centered-image img {
	margin:0 auto;
}

.pad-left-col>.col-inner {
    padding-left: max(15px,calc((100vw - 1546px)/2))!important
}

.pad-right-col>.col-inner {
    padding-right: max(15px,calc((100vw - 1546px )/2))!important
}
.ux-logo .ux-logo-link {
    padding: 0!important;
}

.br-4, .br-4 > .col-inner {
    border-radius: 4px;
    overflow: hidden;
}

.lightbox-rounded{
    border-radius: 8px;
    overflow: hidden;
}




/* Header */
.header.transparent {
	border-bottom:1px solid rgba(240, 236, 232, 0.50);
}
.header .header-inner {
	padding:0 clamp(15px,2.5vw,50px);
}
.header .header-inner .header-nav li.menu-item a {
	font-size: 1rem;
	color:#FFFCF5;
	font-weight: 400;
	transition:.3s font-weight linear;
}

.header.transparent .header-inner .header-nav li.menu-item a {
	color:#FFFCF5;
}

.header .header-inner .header-nav li {
	margin: 0!important;
	padding:0 15px;
	opacity: 1;
	transition:.3s opacity linear;
}

.header .header-inner .header-nav:has(li.menu-item:hover) li.menu-item:not(:hover) {
	opacity: .6;
}

.header.transparent .header-inner .header-nav li.menu-item:hover a{
	font-weight: 500;
}
.header .button.plain.is-link:hover {
	opacity: 1;
	transition:.3s opacity linear;

}
.header .button.plain.is-link span {
	font-size: 1rem;
	font-weight: 400;
	transition:.3s font-weight linear;

}

.header .button.plain.is-link:hover span {
	font-weight: 500;
}

.header.transparent .button.plain.is-link span {
    color: rgba(255, 252, 245, 1);
}

.header .button.secondary {
	background:#E2CFAF;
	padding:15px clamp(32px,3.5vw,70px);
	box-shadow: unset;

}

.header .button.secondary span {
	color:var(--fs-color-primary);
}
.header .button.secondary:hover {
	background-color:var(--fs-color-primary);
}

.header .button.secondary:hover span {
	color:var(--fs-color-secondary);
}
/*button*/

.button {
	min-height: 0;
	line-height: 1;
}
.button.is-outline {
	line-height: 1;
}

.button.is-outline.primary {
	border:1px solid var(--fs-color-primary);
} 

.button.is-outline.primary span {
	color:var(--fs-color-primary);
}

.button.is-outline.primary:hover {
	background:transparent;
	border-color:var(--fs-color-secondary);
}

.button.is-outline.primary span {
	color:var(--fs-color-primary);
}


.button span {
	line-height: 1.1;
	font-size: 1.125rem;
	font-weight: 400;
}

.button.primary {
	padding:17px 25px;
	overflow: hidden;
	box-shadow: unset;
	border:0;
}

.button.primary span {
	color:var(--custom-white);
	position: relative;
	z-index: 3;
	transition: .3s color ease;
}

.button:not(.is-link).primary:after {
	content:"";
	background:var(--fs-color-secondary);
	width:50px;
	height: 50px;
	border-radius:100%;
	position: absolute;
	top: 100%;
	left:50%;
	transform:translateX(-50%) scale(1.0);
	transition: .7s transform ease;
}
.button:not(.is-link).primary:hover:after {
	transform: translateX(-50%) scale(7.5);
}

.button:not(.is-link).primary:hover span {
	color:var(--fs-color-primary);
 }
.button.primary.is-link {
	font-size:1.375rem;
}
 .button.primary.is-link span {
 	color:var(--fs-color-primary);
 }

 .button.primary.is-link i {
    top: 1px;
    margin-left: 0;
    font-size: 20px;
 }


/*Home*/

.advantages-list-text ul {
	list-style-type:none;
	margin:0;
	display: flex;
	flex-flow:row wrap;
	justify-content: space-evenly;
	align-items:center;
}

.advantages-list-text ul li {
	padding:12px 25px 12px 75px;
	border:1px solid rgba(255, 255, 255, 0.50);
	letter-spacing: -0.22px;
	color:#fff;
	border-radius:99px;
	background: url(/wp-content/uploads/2025/11/home-self-check-bullet.svg) 20px center no-repeat,rgba(226, 207, 175, 0.10);
	backdrop-filter: blur(10px);
	margin: 10px 15px;
	text-align: left;
}

 .self-check-stack > * {
 	width: 100%!important;
 }

  .self-check-stack .banner {
  	border-radius:120px;
  	overflow: hidden;
  }

  .self-check-stack .number-text {
  	margin:30px 15px;
  }

  .self-check-stack .number-text > * {
  	margin:0 auto;
  	padding:20px;
  	max-width: fit-content;
	 background: var(--fs-color-secondary);
   	border-radius:30px;
  }

.self-check-stack > .img {
    position: relative;
    top: 190px;
    width: 35vw !important;
    max-width:150px;

}

  .self-check-stack > .img img {
  	margin:0 auto;
  	position: relative;

  }

  #content .gallery-slider .banner {
  		width:50%!important;
  		margin-right:20px;
  }

  #content .gallery-slider .flickity-page-dots {
  	left:0;
  	right:0;
  	bottom: -40px;
  }

  #content .gallery-slider .flickity-page-dots .dot {
  	border:0;
  	background:var(--fs-color-primary);
  	opacity: .3;
  	width: 9px;
  	height: 9px;
  	margin:0 6px;
  } 

  #content .gallery-slider .flickity-page-dots .dot.is-selected {
  	opacity: 1;
  }

  .home-habitaciones-row .banner {
  	border-radius:250px;
  	overflow: hidden;
  }

  .home-habitacion-servicios-col .ux-logo img {
  	margin:0 auto;
  }

  .right-waves-col > .col-inner:after {
  	content:"";
  	position: absolute;
  	z-index: 3;
  	width: calc(100% + 1px);
  	height: calc(100% + 4px);
  	top: -2px;
  	left:0;
  	background:url(/wp-content/uploads/2025/12/home-razones-olas.svg) top right no-repeat;
  	background-size:contain;
  }
  .ubicacion-text {
  	padding-left:30px;
  	background: url(/wp-content/uploads/2025/12/home-playa-ciudad-bullet.svg) 5px center no-repeat;
  } 
  .ubicacion-text strong {
  	font-size: 1.25rem;
  }

  .map-container > div > iframe {
  	width:100%;
  	height: 600px;
  	filter:grayscale(1);
  }

  .horizontal-waves {
  	min-width: 850px;
  	width: 105vw;
  }

  .home-servicios-row .icon-box-left .icon-box-img+.icon-box-text {
  	padding-left:2em;
  	align-items: center;
  }

.home-servicios-row .icon-box-left .icon-box-img+.icon-box-text p {
	margin-bottom:0;
}

.home-servicios-row .icon-box-left {
	align-items: center;
}

/**/

.discount-code {
	padding:16px 32px;
	background: rgba(255, 252, 245, 0.20);
	border:1px solid var(--fs-color-secondary);
	display: inline-block;
	border-radius:99px;
	margin-left:30px;
	backdrop-filter: blur(12px);
}

.discount-code img {
	position: relative;
	top: -2px;
	left: 5px;
}

/*Footer*/
.social-footer div a {
	margin-left:15px;
}

.social-footer div {
	text-align: right;

}
.footer-wrapper a {
	transition:.2s opacity linear;
	color:#fff;
}

.footer-wrapper a:hover {
	opacity:.7;
}
.policy-links a {
	margin-right:30px;
}

.absolute-footer {
	display:none!important;
}

.rooms-list ul {
	list-style: none;
	display: flex;
	    flex-wrap: wrap;
}

.rooms-list li {
	border-radius: 60px;
	border: 1px solid #E2CFAF;
	padding: 12px 24px;
	margin-left: 0;
}

.rooms-list li:first-child {
	margin-left: 0 !important;
}

.rooms-list li::marker {
	display: none !important;
}

p:has(.discount-code-larga-estancia) {
	padding: 16px 32px;
    background: rgba(255, 252, 245, 0.20);
    border: 1px solid var(--fs-color-secondary);
    display: inline-block;
    border-radius: 99px;
    margin-left: 30px;
    backdrop-filter: blur(12px);
}

.accordion-faqs .accordion-item {
	border: 1px solid #E2CFAF;
	margin-bottom: 21px;
}

.accordion-faqs .accordion-title {
	border-top: 0 !important;
	color: #785346;
	font-size: 21px;
	font-weight: 400;
	line-height: 120%;
	letter-spacing: -0.21px;
	padding: 32px;
	text-align: left;
}

.accordion-faqs .toggle {
    left: 98%;
	top: 25%;
}

.gallery-hotel .pfg-grid--fixed-height .pfg-item {
    aspect-ratio: 5 / 6;
}


.gallery-hotel .pfg-filter {
	border-radius: 99px !important;
	border: 1px solid #E2CFAF;
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.16px;
	padding: 10px 32px;
}

.gallery-hotel .pfg-filter:hover {
	color: #FFFCF5 !important;
}

.gallery-hotel .pfg-filter:not(.pfg-filter--active) {
    color: rgba(120, 83, 70, 0.6);
}

.accordion-faqs .accordion-title.active {
	background-color: transparent;
}

.home-lugares-row .col .button {
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: opacity .35s ease, transform .35s ease, visibility .35s;
}

.home-lugares-row .col:hover .button {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

p:has(.icon-plus) {
	text-align: left;
}

.home-experiencias-row .banner::after{
    display: inline-block;
    transition: transform .4s ease;
}

.home-experiencias-row .banner:hover::after{
    transform: rotate(90deg);
}

.home-experiencias-row .banner::after {
	display: block;
	position: absolute;
	width: 45px;
	height: 45px;
	background-image: url('/wp-content/uploads/2026/06/experiencias-plus-circle.svg');
	background-repeat: no-repeat;
	background-size: cover;
	top: 5%;
    content: "";
    left: 5%;
}

.mfp-ready button.mfp-close {
    position: fixed !important;
    top: calc(50% - 280px) !important;
    right: calc(50% - 560px);
	border: 2px solid #785346;
	border-radius: 99px;
	opacity: 1;
	display: flex;
    align-items: center;
    justify-content: center;
	color: #785346;
}



@media (max-width: 850px) {
 #content .gallery-slider .banner {
  		width:65%!important;
  		margin-right:15px;
  }

.ubicacion-text strong {
  	font-size: 1.125rem;
  }

   .map-container > div > iframe {
  	height: 450px;
  }

  .home-servicios-row .icon-box-left .icon-box-img {
  	width: 60px!important;
  }

  .home-lugares-row .col .button {
    opacity: 1;
    visibility:visible;
}
}

@media (max-width: 550px) {
  #content .gallery-slider .banner {
	  	width: 85%!important;
	  	margin:0 5px;
  }

  .home-habitaciones-row .banner {
  	border-radius:130px;
  }

  .discount-code {
  	margin-left:0;
  	margin-top: 30px;
  }

  .accordion-faqs .accordion-title {
    font-size: 18px;
}
}
