/*
	Theme Name: JCM Spa Theme
	Theme URI: https://jcmspa.cl
	Description: JCM Spa Theme
	Author: uDesign
	Author URI: https://www.udesign.cl
	Version: 1
*/

/********** GLOBALES **********/
@import "assets/css/variables.css";
@import "assets/css/reset.css";
@import "assets/css/grids.css";
@import "assets/css/helpers.css";
@import "assets/css/typography.css";
@import "assets/css/colors.css";
@import "assets/css/animations.css";
@import "assets/css/splide.min.css";
@import "assets/css/splide.custom.css";

/********** GENERALES **********/
body{overflow-x: hidden;}

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

.section{padding: 48px 0}
.section__title{position: relative;}
.section__title--vertical{padding-left: 32px;}
.section__title--vertical:before{content:"";height: 100%;width:8px;border-radius: 4px;background: var(--color-primary);display: block;position:absolute;left:0;top:0;}
.section__title + *{margin-top: 48px;}
.section__title--horizontal{display: flex;justify-content: center;flex-direction: column;text-align: center;}
.section__title--horizontal h3{position: relative;}
.section__title--horizontal:after{content:"";height: 8px;width:30%;border-radius: 4px;background: var(--color-primary);display: block;margin: 16px auto 0;max-width: 280px;}
.section__title--black:after{background: black;}
.section__top{padding: 24px 0;}

.card{padding: 16px;height:100%;display:flex;flex-direction: column; gap:16px;border:1px solid #ECECEC;position: relative;}
.card__image, .card__image img{height:261px !important;}
.card--button{padding-bottom: 80px;}
.card--button .card__button_fixed{position: absolute;bottom:16px;right: 16px;}
.card--shadow{border-radius: 24px;box-shadow: 0 2px 12px rgba(0,0,0,.1);}
.card--border{border-radius:8px;border: 1px solid var(--color-secondary);}

.button, .header__nav ul li:last-of-type a{all: unset;display:inline-flex;align-items:center;justify-content:center;padding: 0 32px;border-radius: 99px;border: none;text-decoration: none;transition:all .3s ease;height: 56px;box-sizing: border-box;cursor: pointer;border: 1px solid transparent;min-width: 140px;text-align: center;gap:8px;}
.button--small{height: 40px;}
.button--primary, .header__nav ul li:last-of-type a{background: var(--color-primary);color:var(--color-secondary);}
.button--primary:hover, .header__nav ul li:last-of-type a:hover{background: #2C2C2C;color:var(--color-primary);border-color:white;}
.button--secondary{background: #2C2C2C;color: var(--color-primary);border: 1px solid var(--color-primary)}
.button--secondary:hover{background: var(--color-primary);color:var(--color-secondary);border-color:#2C2C2C;}
.button--loading{pointer-events: none;}
.button--loading:after{content:"";width: 24px;aspect-ratio: 1;border-radius: 50%;border: 3px solid #2C2C2C;animation: l20-1 0.8s infinite linear alternate, l20-2 1.6s infinite linear;}

.header{padding:16px 0;background: rgba(9, 9, 9, .8);position:absolute;width: 100%;top:0;left:0;z-index: 9;}
.header__logo img{display: block;max-height: 60px;}
.header__nav{display: none}
.header__nav ul{display: flex;justify-content: end;gap:12px}
.header__nav ul li{display: flex;align-items: center;}
.header__nav ul li a{padding: 48px 12px;display: block;color: white;text-decoration: none;font-size: 18px;transition: all .3s ease;}
.header__nav ul li a:hover, .header__nav .current_page_item a{color:var(--color-primary) !important}
.header__nav ul li:last-of-type a{height: 40px;color:var(--color-secondary) !important}
.header__nav ul li:last-of-type a:hover{color:var(--color-primary) !important;}

.main_footer{background: #FEFBEF;padding: 48px 0;}
.main_footer p + p{margin:0;}
.main_footer h5{margin-bottom: 8px;}
.main_footer ul li + li{margin-top:4px;}
.main_footer ul li{display: block;}
.main_footer ul li a{font-size: 16px;color:#555;text-decoration: none;}
.main_footer ul li a:hover{text-decoration: underline;}
.main_footer .udesign{color: black;text-decoration: none;}
.main_footer .udesign:hover{text-decoration: underline;}
.main_footer .footer__socials li a{transition: all .3s ease;display:block;}
.main_footer .footer__socials li a:hover{opacity: .6;}

.banner__home{position:relative;overflow: hidden;}
.banner__home:after{content:"";width:100%;height:100%;position:absolute;left:0;top:0;background: rgba(0,0,0, .6); }
.banner__home__cont{position:relative;width:100%;z-index:8;padding: 134px 0 42px}
.banner__home img{width: 100%;height: auto;display: block;}
.banner__home video{position: absolute;top: 50%;left: 50%;-webkit-transform: translateX(-50%) translateY(-50%);transform: translateX(-50%) translateY(-50%);min-width: 100%;z-index: -1000; overflow: hidden;min-height: 100%;width: auto;max-width: none;}

.jcm__form__cont{position:relative;}
.jcm__form__cont .jcm__form__cont__message{display: none;color: red;font-size: 14px;}
.jcm__form__cont--invalid input{border-color:red !important;}
.jcm__form__cont--invalid .jcm__form__cont__message{display: block;}
.jcm__form label{font-size: 16px;display: block;margin-bottom: 8px;color:var(--color-secondary)}
.jcm__form input, .jcm__form textarea{width: 100%;display: block;padding: 12px 16px;border-radius: 4px;border:none;font-size: 16px;border: 1px solid #ECECEC;transition: all .3s ease;}
.jcm__form input:focus, .jcm__form textarea:focus{border-color: var(--color-primary)}
.jcm__form input:disabled, .jcm__form textarea:disabled{background: #EFEDED;color: #9C9C9C;}
.jcm__form textarea{min-height: 200px;resize: vertical;max-height: 250px;}

.whatsapp__fixed{width: 48px;height: 48px;border-radius:100%;background:#25D366;position: fixed;right: 16px;bottom: 16px;display: flex;align-items: center;justify-content: center;text-decoration: none;box-shadow: 0 0 6px rgba(0,0,0,.4);z-index: 99;}
.whatsapp__fixed i{font-size: 32px;color:white;}

.single__hero{height: 440px;background-size: cover;box-sizing: border-box;padding-top:120px;position:relative;}
.single__hero:after{content:"";width:100%;height:100%;position:absolute;left:0;top:0;background: rgba(0,0,0, .4);z-index: 1;}
.single__hero > div{z-index: 2;position: relative;}
.single__hero__title{background: var(--color-primary);padding: 32px 24px;margin-bottom: 42px;border-radius: 8px 0 0 8px;width: 100%;}
.single__hero__title h1{color: #090909;}

.single__breadcrumb{margin-top: 16px;}
.single__breadcrumb nav{display: inline-block;background: #FEFBEF;border-radius: 8px;width: 100%;}
.single__breadcrumb nav ul{display:flex;align-items: center;padding: 12px 24px;gap: 8px;width: 100%;}
.single__breadcrumb nav ul li{display: none;}
.single__breadcrumb nav ul li a{text-decoration: none;color:#A0A0A0;}
.single__breadcrumb nav ul li a:hover{text-decoration: underline;}
.single__breadcrumb nav ul li:last-of-type{display: block}
.single__breadcrumb nav ul li:last-of-type:before{content:"... "}
.single__breadcrumb nav ul li:last-of-type a{color: #090909;}

.gallery__item{transition: all .3s ease;}
.gallery__item:hover{opacity: .7;}

.udesign{color: black;}

.overflow__section{overflow-y: hidden;overflow-x: auto;width: calc(100vw - 16px);display:flex;flex-wrap: initial;margin: -8px !important}
.overflow__section__item{flex: 0 0 90vw;max-width: 90vw;padding: 8px !important;}

.dot__animated{position: fixed;width: 10px;height:10px;transition: all .3s ease;border-radius: 100%;right: 40px;top: 40px;}
.dot__animated--active{background:var(--color-primary);transform:scale(250);z-index:11;}

.navToggle__mobile{all: unset;font-size: 32px;color: #2C2C2C;cursor: pointer;}
.mobile_menu{display:none;top: 0;left: 0;position: fixed;width: 100%;height: 100%;z-index: 100;background: var(--color-primary);}
.mobile_menu__sup{padding: 16px 0;}
.mobile_menu__nav{height: calc(100dvh - 92px);}
.mobile_menu__nav nav{text-align: center;}
.mobile_menu__nav nav ul{display: flex;flex-wrap: wrap;flex-direction: column;gap: 24px;}
.mobile_menu__nav nav ul li{font-size: 28px;}
.mobile_menu__nav nav ul li a{color:var(--color-secondary);text-decoration: none;}