/* FONT SIZE REWRITE */
section:where(#intro, #beach) { font-size: var(--size-lg); }

/* INTRO */
.home-content #intro { padding: 150px 15px; text-align: center; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 20px; }

/* BEACH */
section#beach { padding: 0 120px; margin: 0 auto; max-width: calc(var(--max-width) + 180px); }
.box-2-foto-tpl .caption-cnt { display: flex; justify-content: space-between; }
.box-2-foto-tpl .caption { order: 2; width: 50%; max-width: 820px; }
.box-2-foto-tpl .caption img:nth-child(2) { max-width: 590px; border: 25px solid var(--white); position: relative; z-index: 2; top: -90px; left: calc(-590px / 2); }
.box-2-foto-tpl .caption-alt { order: 1; width: 50%; max-width: 600px; }

/* ESPERIENZE */
section#experience { margin-top: 40px; text-align: center; }
section#experience .vareditor { font-size: var(--size-lg);}
section#experience button { display: inline-block; }
.experience-tpl { margin-top: 180px; position: relative; }
.experience-tpl:before { content: ''; position: absolute; z-index: -1; left: 0; top: 50%; transform: translateY(-50%); width: 100%; height: 430px; background: linear-gradient(0deg, rgba(0, 91, 169, 0.76) 0%, rgba(0, 91, 169, 0.76) 100%), url('../../images/bg/experience_bg.jpg') lightgray 50% / cover no-repeat;}
.experience-tpl .caption-cnt { position: relative; }
.experience-tpl .caption { position: relative; overflow: hidden; }
.experience-tpl img { transition: .4s all; }
.experience-tpl .elem:hover img { transform: scale(1.2); filter: brightness(80%);}
.experience-tpl .caption-alt { padding: 15px; position: absolute; z-index: 3; bottom: 10px; left: 10px; right: 10px; overflow: hidden; background: rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.35); box-shadow: 0 1px 0 rgba(255,255,255,0.35) inset, 0 8px 24px rgba(0,0,0,0.25); -webkit-backdrop-filter: saturate(160%) blur(3px) brightness(1.05) contrast(0.92); backdrop-filter: saturate(160%) blur(3px) brightness(1.05) contrast(0.92); will-change: backdrop-filter, transform; }
.experience-tpl .caption-cnt .caption-alt:after { content: ""; position: absolute; inset: 0; background: linear-gradient( to bottom, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.15) 12%, rgba(255,255,255,0.05) 28%, rgba(255,255,255,0.00) 60% ); mix-blend-mode: screen; pointer-events: none; }
.experience-tpl .caption-cnt .caption-alt:before { content: ""; position: absolute; top: -20%; left: -20%; width: 60%; height: 60%; background: radial-gradient( ellipse at top left, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.10) 40%, rgba(255,255,255,0.00) 70% ); transform: rotate(-8deg); mix-blend-mode: screen; pointer-events: none; }
.experience-tpl .caption-cnt .caption-alt .title { position: relative; z-index: 10; font-size: inherit; }
/* Fallback browser senza backdrop-filter */
@supports not ((backdrop-filter: blur(0)) or (-webkit-backdrop-filter: blur(0))) { .experience-tpl .caption-cnt .caption-alt { background: rgba(255,255,255,0.65); } .experience-tpl .caption-cnt .caption-alt::before, .experience-tpl .caption-cnt .caption-alt::after { opacity: .55; } }
.experience-tpl .title a { color: var(--white);font-size: var(--size-lg); text-transform: initial; font-weight: var(--font-weight-medium); }
.experience-tpl .box { margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; max-width: 1264px; }
.experience-tpl .elem { margin-bottom: 60px; width: calc((100% - 124px) / 3) }
/* EFFETTO SFALSATO */
.experience-tpl .elem:nth-child(2) { margin-top: -80px; }
.experience-tpl .elem:nth-child(5) { margin-top: -80px; }

/* ROOMS */
section#rooms { margin-top: 190px; text-align: center; }
.rooms-tpl { margin-top: 40px; }

/* RISTORANTE */
section#restaurant { margin: 190px auto 0; max-width: calc(var(--max-width) + 180px); padding: 0; }
.restaurant-tpl .varsimple_restaurant { color: var(--color1); text-transform: uppercase; font-weight: var(--font-weight-thin); font-size: var(--size-h-xl); text-shadow: 0 1px 1px rgba(0,0,0,0.15);}
.restaurant-tpl .ztextarea.g2 { font-size: var(--size-lg); }
.restaurant-tpl .caption-cnt { display: flex; justify-content: space-between; gap: 40px; }
.restaurant-tpl .caption { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto; gap: 20px; max-width: 1100px; order: 2; }
.restaurant-tpl .caption img:nth-of-type(1) { grid-column: 1; grid-row: 1 / span 4; width: calc(100% + 60px); height: auto; object-fit: cover; }
.restaurant-tpl .caption img:nth-of-type(2) { grid-column: 2; grid-row: 1; width: calc(100% - 60px); height: auto; object-fit: cover; aspect-ratio: 4/3; }
.restaurant-tpl .caption img:nth-of-type(3) { grid-column: 2; grid-row: 2; width: calc(100% - 60px); height: auto; object-fit: cover; aspect-ratio: 4/3; }
.restaurant-tpl .caption .vareditor { grid-column: 2; grid-row: 3; padding: 16px 18px; background: #fff; line-height: 1.2; font-size: var(--size-lg); }
.restaurant-tpl .caption-alt { padding: 0 15px; }

/* SERVICES */
section#home_services { padding: 90px 0 180px; margin-top: 180px; position: relative; text-align: center;  }
section#home_services:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: calc( 100% - 180px * 2.5); z-index: -1; background: linear-gradient(0deg, rgba(0, 91, 169, 0.76) 0%, rgba(0, 91, 169, 0.76) 100%), url('../../images/bg/services_bg.jpg') lightgray 50% / cover no-repeat; }
section#home_services .title { color: var(--white); }
section#home_services .varscript { padding: 0 15px; }
section#home_services .varscript ul { padding: 0; margin: 0 auto; list-style-type: none; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; max-width: 790px; }
section#home_services .varscript ul li { width: 190px; height: 190px; background-color: var(--white); display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: var(--font-weight-bold); }
section#home_services .varscript ul li:nth-child(even) { background-color: var(--light-green); }
section#home_services .varscript ul li:before { font-family: var(--font-icon); font-size: var(--size-h-lg); font-weight: var(--font-weight-normal); color: var(--color2); }
section#home_services .varscript ul li:nth-child(even):before { color: var(--color3); }
section#home_services .varscript ul .beach:before { content: '\f5ca'; }
section#home_services .varscript ul .pool:before { content: '\f5c5'; }
section#home_services .varscript ul .restaurant:before { content: '\f2e6'; }
section#home_services .varscript ul .lounge-bar:before { content: '\f57b'; }
section#home_services .varscript ul .activity:before { content: '\e445'; }
section#home_services .varscript ul .beach-bar:before { content: '\e0ce'; }
section#home_services .varscript ul .sport:before { content: '\f1e3'; }
section#home_services .varscript ul .spa:before { content: '\f5bb'; }
section#home_services .gallery { margin-top: 90px; width: 100%; }

/* RECENSIONI */
section#reviews { padding: 0 0 250px; background-image: url('../../images/bg/reviews_bg.jpg'); background-size: cover; background-repeat: no-repeat; background-position: top; }
section#reviews .title:not(.ztemplate .title) { text-align: center; }
section#reviews .col { padding: 15px; font-weight: var(--font-weight-bold); }
section#reviews .col :where(h1,h2,h3,h4,h5,h6) { font-size: var(--size-h-md); text-transform: uppercase; color: var(--color1); font-weight: var(--font-weight-normal); }
.reviews-tpl .title { margin-bottom: 15px; font-size: var(--size-h-sm); color: var(--color5); text-transform: revert; font-weight: var(--font-weight-medium); }
.reviews-tpl { margin-top: 90px; counter-reset: elem-counter; }
.reviews-tpl .elem .caption:before { counter-increment: elem-counter; content: counter(elem-counter, decimal-leading-zero); color: var(--color1); font-size: var(--size-h-lg); }
.reviews-tpl .caption-cnt { padding: 30px; overflow: hidden; background: rgba(255,255,255,0.7); border: 1px solid rgba(255,255,255,0.35); box-shadow: 0 1px 0 rgba(255,255,255,0.35) inset, 0 8px 24px rgba(255,255,255,0.25); -webkit-backdrop-filter: saturate(160%) blur(3px) brightness(1.05) contrast(0.92); backdrop-filter: saturate(160%) blur(3px) brightness(1.05) contrast(0.92); will-change: backdrop-filter, transform; }
.reviews-tpl .caption-cnt:after { content: ""; position: absolute; inset: 0; background: linear-gradient( to bottom, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.15) 12%, rgba(255,255,255,0.05) 28%, rgba(255,255,255,0.00) 60% ); mix-blend-mode: screen; pointer-events: none; }
.reviews-tpl .caption-cnt:before { content: ""; position: absolute; top: -20%; left: -20%; width: 60%; height: 60%; background: radial-gradient( ellipse at top left, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.10) 40%, rgba(255,255,255,0.00) 70% ); transform: rotate(-8deg); mix-blend-mode: screen; pointer-events: none; }
.customer_name { font-size: var(--size-base); font-weight: var(--font-weight-bold); }
.review_platform { position: absolute; z-index: 1; top: 20px; right: 20px; color: var(--color3); }
.review_platform .fieldvalue { /* font-size: 0; */ }
.review_platform .fieldvalue:before { }
.review_platform .fieldvalue.v1:before {  } 

/* SOCIAL WALL */
section#socialwall { padding: 120px 15px 0; }
.socialwall-tpl { text-align: center; }
.socialwall-tpl .box_heading { margin-bottom: 20px; color: var(--color1); font-size: var(--size-h-md); text-transform: uppercase; }
.socialwall-tpl .caption { display: flex; align-items: center; gap: 20px; justify-content: center; }
.socialwall-tpl .zimage img { width: 50px; height: 50px; object-fit: cover; border-radius: var(--radius-total); border: 2px solid #E95B9B; }
.socialwall-tpl .zlink a { color: var(--color5); padding: 0; background-color: transparent; text-transform: inherit; font-weight: var(--font-weight-light); font-size: var(--size-base); font-family: var(--sans); }
.socialwall-tpl .caption-alt { margin-top: 40px; display: flex; gap: 10px; }

/* RWD */

@media(max-width: 1440px){
    .restaurant-tpl .caption img:nth-of-type(2),
    .restaurant-tpl .caption img:nth-of-type(3) { width: calc(100% - 15px);}
    .reviews-tpl { padding: 0 15px; }
     
}

@media(max-width: 1300px){
    section#beach { padding: 0 60px; }
    .box-2-foto-tpl .caption-cnt { gap: 40px; }
    .box-2-foto-tpl .caption img:nth-child(2) { max-width: 80%; top: -25px; }

}

@media(max-width: 1120px){
    section#beach { padding: 0 15px; }
    .box-2-foto-tpl .caption img:nth-child(2) { display: none; }

}

@media(max-width: 1024px){
    section#rooms { padding: 0; }
}

@media(max-width: 820px){
    .home-content #intro { padding:  60px 15px; }
    .box-2-foto-tpl .caption-cnt { flex-direction: column; }
    .box-2-foto-tpl .caption { order: -1; width: 100%; }
    .box-2-foto-tpl .caption-alt { width: 100%; }
    section#restaurant { padding: 0 15px; }
    .restaurant-tpl .caption-cnt { flex-direction: column; }
    .restaurant-tpl .caption { display: block; }
    .restaurant-tpl .caption img:nth-of-type(1), .restaurant-tpl .caption img:nth-of-type(3) { display: none; }
    .restaurant-tpl .caption img:nth-of-type(2) { width: 100%; }


}

@media(max-width: 767px){
    section#reviews .vareditor { display: none; }
    .box-2-foto-tpl .caption-cnt { gap: 15px;}
    section#experience { padding: 0 15px; }
    section#experience:before { margin-bottom: 15px; content: ''; display: inline-block; width: 100%; height: 244px; background-image: url('../../images/bg/experience_bg.jpg'); background-position: 8%; background-repeat: no-repeat; background-size: cover; }
    .experience-tpl { display: none; }
    .box-2-foto-tpl .caption-alt { text-align: center; }
    section#rooms { padding: 30px 0; margin-top: 60px; background-color: var(--color2); }
    section#rooms .title { color: var(--white); }
    section#restaurant { margin-top: 60px; }
    section#home_services { margin-top: 60px; padding-top: 30px; padding-bottom: 80px; }
    section#home_services .varscript ul li { width: calc(50% - 5px); height: 150px; font-size: 80%; }
    section#home_services .varscript { margin-top: 30px; }
    .reviews-tpl { margin-top: 0; }
    .reviews-tpl .caption-cnt { background: rgba(255,255,255,0.65); }
    section#reviews { padding-bottom: 90px; }
    
}