:root{
--colorText:#5D6264;
--colorTitle:#2E3132;
--blue:#006ea5;
--blueLight:#E8F5FA;
--orange:#F29100;
--orangeLight:#F291001A;
--red:#EA4233;
--white:#ffffff;
--border:1px solid rgba(0, 0, 0, 0.20);
--borderColor:#ddd;
--radius:0.5rem;
--marginSection:3rem;
--paddingSection:1rem;
--sliderElmView: 1;/*serve per configurare lo slider. Quante elementi mostrare*/
--sliderGap: 1rem;/*serve per configurare lo slider. Il margine tra gli elementi*/
}
@media(min-width:768px){
    :root{
        --marginSection:5rem;
    }
}
@media(min-width:1024px){
    :root{
        --paddingSection:4rem;
    }
}
@media(min-width:1860px){
    :root{
        --paddingSection:12rem;
    }
}

@font-face{font-family:'Poppins';font-style:normal;font-weight:300 900;font-display:swap;src:url(font/1.woff2) format('woff2');}
@font-face{font-family:'Butler';font-style:normal;font-weight:400;font-display:swap;src:url(font/title.woff2) format('woff2');}
*{margin:0;padding:0;font-family:"Poppins", sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;}
body{background:#F8F9FA; color:var(--colorText);font-size:1rem;line-height:1.7rem;}
ul,ol{list-style:none outside none;overflow:hidden;}
a{text-decoration:none;color:var(--colorText)}
input[type="text"],input[type="email"],input[type="password"],input[type="date"],input[type="time"],input[type="number"],select,textarea{background-color:var(--white);border:var(--border);border-radius:var(--radius);width:100%;height:50px;padding:0.9rem;color:var(--colorText);font-size:0.9rem;}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid var(--red);}
input[type="text"]::placeholder,input[type="email"]::placeholder,input[type="password"]::placeholder,input[type="date"]::placeholder,input[type="number"]::placeholder,textarea::placeholder{color:#a7a9ad;}
select{padding:7px;}
input[type="text"][name="website"]{display:none;}/*campo nascosto anti-spam*/
input[type="file"]::-webkit-file-upload-button{background-color:var(--bluee);border:0;border-radius:8px;padding:9px 12px;color:var(--white);font-size:1rem;font-weight:bold;text-align:center;cursor:pointer;}
input[type="file"]::-webkit-file-upload-button:hover{opacity:.8;}
input[type="checkbox"]{float:left;position:relative;border:var(--border);border-radius:4px;width:19px;height:19px;margin-right:6px;appearance:none;-webkit-appearance:none;cursor:pointer;}
input[type="checkbox"]:after{content:'';display:block;position:absolute;top:2px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(20deg);opacity:0;}
input[type="checkbox"]:checked{background:var(--blue);border-color:var(--blue);}
input[type="checkbox"]:checked:after{transform:rotate(45deg);opacity:1;}
label{display:block;font-size:0.8rem;cursor:pointer;}
textarea{height:90px;}
input[type="submit"],button{border:none;cursor:pointer;}
picture{display:block;width:100%;overflow:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:var(--colorText)}
h1{font-size:2rem;color:var(--colorTitle);font-family:'Butler';}
h2{margin-bottom:5px;font-size:1.8rem;color:var(--colorTitle);font-family:'Butler';}
h3{font-size:3rem;font-weight:400;line-height:3rem;color:var(--colorTitle);font-family:'Butler';}
h4{font-size:1.6rem;color:var(--colorTitle);font-weight:600;font-family:'Butler';}
svg{float:left;display:inline-block;color:inherit;height:1em;width:1em;font-size:1.2em;line-height:1;flex-shrink:0;max-width:initial;}
use {fill:currentColor;stroke:currentColor;}
summary::-webkit-details-marker {display: none; /* Nasconde la freccia su WebKit */ }
details {list-style:none; /* Rimuove la freccia predefinita */}
@media(min-width:1440px){
h3{font-size:3.8rem;line-height:4.5rem;}
}

.noscroll{overflow:hidden;height:100vh;}

/*checkbox privacy*/
.privacy{position:relative;display:flex;font-size:0.9rem;align-items:center;}
.privacy a{display:inline-block;width:15px;height:15px;margin:3px 0 0 4px;padding:1px 4px 0;border:var(--border);border-radius:50%;font-style:italic;line-height:12px;font-size:12px;}


/*CALENDARIO*/
:root{--cal_background:#fff;--cal_border:#E0E0E0;--cal_boxshadow:34 34 34;--cal_textColor:#424242;--cal_white:#fff;--cal_blue:#1783ff;--cal_blueHover:#c8e1ff;--cal_sunday:#C0392B;--cal_notCurrent:#a7a3a3;--cal_range:#1783ff;--cal_hoverDay:#424242}@media (prefers-color-scheme:dark){:root{--cal_background:#282828;--cal_border:#323232;--cal_boxshadow:34 34 34;--cal_textColor:#fff;--cal_white:#fff;--cal_blue:#1783ff;--cal_blueHover:#29578c;--cal_sunday:#C0392B;--cal_notCurrent:#a7a3a3;--cal_range:#42A5F5;--cal_hoverDay:#424242}}.calendar_container{background-color:var(--cal_background);border-radius:6px;box-shadow:0 11px 15px -7px rgb(var(--cal_boxshadow) / 20%),0 24px 38px 3px rgb(var(--cal_boxshadow) / 14%),0 9px 46px 8px rgb(var(--cal_boxshadow) / 12%);font-family:"Poppins", sans-serif;font-size:16px;color:var(--cal_textColor);text-align:center;user-select:none;z-index:9;overflow:hidden}.calendar_close,.calendar_container .calendar_noday:after{display:none}.calendar_container .calendar_title{font-size:20px;margin-top:10px;border-bottom:1px solid var(--cal_border)}.calendar_container .calendar_divChoice{display:flex;justify-content:space-around;height:50px;border-bottom:1px solid var(--cal_border);font-size:14px;text-align:left}.calendar_container .calendar_divChoice div{width:50%;padding:7px 15px}.calendar_container .calendar_labelDate{display:block;padding-bottom:4px}.calendar_period{padding:0 9px}.calendar_container .calendar_period{display:flex;align-items:center;height:50px;font-size:20px;color:var(--cal_textColor)}.calendar_container .calendar_changePeriod{height:35px;width:26px;font-size:24px;line-height:29px}.calendar_container .calendar_changePeriod:hover{color:var(--cal_blueHover);cursor:pointer}.calendar_changePeriod_title{padding-left:9px;font-size:18px;flex:2 2 0;order:-1;text-align:left}.calendar_changePeriod_title strong{font-weight:400;font-size:23px}.calendar_container .calendar_containerTable{padding:9px}.calendar_container .calendar_table{width:100%;border-spacing:0 2px}.calendar_container .calendar_table th{padding-bottom:9px;font-size:14px}.calendar_container .calendar_table td{position:relative;height:40px;cursor:pointer;border-style:hidden!important;text-align:center;}.calendar_container .calendar_table td:not(.calendar_colorRange,.calendar_selected,.calendar_startDate):hover{background:#f3f4f6;border-radius:6px;color:var(--cal_hoverDay)}.calendar_container .calendar_notCurrentMonth{color:var(--cal_notCurrent);opacity:.6}.calendar_container .sunday{color:var(--cal_sunday)!important}.calendar_container .calendar_colorRange{background-color:var(--cal_blueHover);opacity:1}.calendar_container .calendar_endDate,.calendar_container .calendar_startDate{background:var(--cal_range);border-radius:6px;color:#fff;opacity:1}.calendar_isRange .calendar_startDate{border-radius:6px 0 0 6px}.calendar_isRange .calendar_endDate{border-radius:0 6px 6px 0}.calendar_startDate.calendar_endDate.calendar_selected{border-radius:6px}.calendar_container td.calendar_noday{background-color:var(--cal_border);cursor:not-allowed}.calendar_container .calendar_button{width:50%;padding:10px;border:none;border-top:1px solid var(--cal_border);background:0 0;cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:15px;color:var(--cal_textColor)}.calendar_container .calendar_button:last-child{border-left:1px solid var(--cal_border)}.calendar_container .calendar_button:hover{color:var(--cal_notCurrent)}@media(max-width:768px){.calendar_container{position:fixed!important;top:50%!important;left:50%!important;max-width:96%;width:340px;transform:translate(-50%,-50%);z-index:9999}.calendar_close{display:block;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9998;background-color:rgba(0,0,0,.5)}.calendar_container .calendar_changePeriod{font-size:32px}}@media(min-width:768px){.calendar_container .calendar_period{height:40px}.calendar_changePeriod_title{font-size:15px}.calendar_changePeriod_title strong{font-size:19px}.calendar_container .calendar_table td{width:32px;height:32px;font-size:14px}.calendar_container .calendar_endDate:before,.calendar_container .calendar_startDate:before{line-height:27px;width:27px;height:27px}.calendar_container .calendar_button{font-size:13px}}
/*COOKIE POLICY*/
:root{--cc_white:#fff;--cc_text:#5f6368;--cc_btn:#1967d2;--cc_close_btn_hover:#dd0000;--cc_item_bg:#f0f4f7}.popupCookie_hidden{display:none!important}#popupCookie_background{position:fixed;top:0;left:0;background-color:rgba(0,0,0,.6);width:100%;height:100%;z-index:2147483646;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow-y:auto;visibility:visible}.popupCookie_container{top:50%;left:50%;max-height:100%;translate:-50% -50%;background:var(--cc_white);max-width:512px;width:93%;border-radius:8px;box-shadow:0 8px 28px rgba(2,2,3,.28);overflow:hidden;box-sizing:border-box}.popupCookie_container span{display:block}#cookieFirstPopup{height:290px}#cookieFirstPopup .popupCookie_footer{position:absolute;bottom:0;left:50%;translate:-50% 0;width:93%;background:var(--cc_white);padding:20px 20px 0}#cookieSecondPopup{display:flex;flex-wrap:wrap;height:408px}#popupCookie_btnBack{margin:15px auto}.popupCookie_title{margin-bottom:7px;margin-top:20px;font-size:18px;font-weight:600;color:#2d4156}.popupCookie_text{font-size:15px;color:var(--cc_text);margin:0;overflow-y:auto}#cookieFirstPopup .popupCookie_text{padding:0 20px 20px;line-height:20px}#cookieSecondPopup .popupCookie_split{height:calc(100vh - 122px);max-height:300px;overflow-y:auto;padding:0 20px 20px}.popupCookie_text a{color:var(--cc_text);text-decoration:underline}.popupCookie_footer{border-top:1px solid #ccc}#cookieSecondPopup .popupCookie_footer{position:absolute;bottom:0;width:100%;background:#fff;box-sizing:border-box}#cookieSecondPopup .popupCookie_footer div{display:flex;flex-wrap:wrap;justify-content:center;gap:0 20px;padding:0 25px}#cookieSecondPopup .popupCookie_text{overflow:hidden}.popupCookie_btn{flex:1 1 0;display:block;margin-top:15px;background:var(--cc_btn);color:var(--cc_white);border-radius:32px;padding:9px 27px;font-size:14px;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;outline:0;text-wrap:nowrap}.popupCookie_btn_accept{padding:15px 60px 15px 40px;margin:0 auto;max-width:max-content;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M22.405 4.332a1.2 1.2 0 0 1 .101 1.706L9.889 20.041a1.2 1.2 0 0 1-1.714.07L.875 13.238a1.21 1.21 0 0 1 .733-2.082 1.21 1.21 0 0 1 .905.299l5.664 5.095a1.2 1.2 0 0 0 1.694-.089L20.723 4.429a1.2 1.2 0 0 1 1.682-.098z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:top 13px right 23px;background-size:23px;background-color:var(--cc_btn);font-size:18px}.popupCookie_btn_reject,.popupCookie_other{padding:0;font-weight:400;color:var(--cc_text)}.popupCookie_btn_reject{background:#fff;width:max-content;margin:0;text-align:end}.popupCookie_other{background:#fff;margin-top:0;text-align:center}.popupCookie_btn_otherBtn{display:flex;align-items:center;gap:0 25px;justify-content:center;margin-top:30px;margin-bottom:15px}.popupCookie_btn_reject:hover,.popupCookie_other:hover{background:#fff}.popupCookie_close{position:absolute;top:18px;right:20px;font-size:16px;color:var(--cc_text);cursor:pointer}.popupCookie_close:hover{color:var(--cc_close_btn_hover)}.popupCookie_divButton{display:flex;justify-content:right;gap:8px;margin-top:15px;border-top:1px solid #00000036}.popupCookie_divButton input[type=checkbox]{position:absolute;display:none}.popupCookie_divButton label span{user-select:none}#cookieFirstPopup .popupCookie_other{text-align:start}#cookieSecondPopup .popupCookie_btn{padding:12px 27px;min-width:110px}#cookieSecondPopup .popupCookie_other{padding:0}.popupCookie_details{position:relative;background:var(--cc_item_bg);padding:5px 0 5px 7px;margin:13px 0;border-radius:7px}.popupCookie_details_summary{padding:7px;font-weight:600;color:var(--cc_text);cursor:pointer;user-select:none}.popupCookie_details_text{padding:7px;margin-top:5px;line-height:23px;font-size:14px}.popupCookie_details input[type=checkbox]{position:absolute;top:7px;right:15px;width:25px;height:25px;cursor:pointer}.popupCookie_details input[type=checkbox]:disabled{opacity:.8;cursor:default}@media(max-height:300px){#cookieFirstPopup .popupCookie_text{height:calc(100vh - 160px)}#cookieSecondPopup .popupCookie_split{height:calc(100vh - 122px);max-height:250px}}@media(min-width:425px){#cookieFirstPopup{height:270px}}@media(min-width:768px){#cookieSecondPopup .popupCookie_other{width:max-content}}@media(min-width:480px){#cookieSecondPopup .popupCookie_footer{padding:15px 15px 0}.popupCookie_footer{padding-top:15px}.popupCookie_btn{margin-top:unset}}
/* ======== BOTTONI ========*/
.btn{display:table;width:max-content;margin:0 auto;padding:0.9rem;border-radius:var(--radius);color:var(--white);text-align:center;font-size:1rem;cursor:pointer;}
.btn:hover{opacity:0.8;}
.btn--blue{background-color:var(--blue);}
.btn--orange{background-color:var(--orange);}
.btn--go{display:flex;justify-content:center;align-items:center;gap:0.5rem;}


/*ELENCO CON ICONE*/
.listIcon{display:grid;margin-top:0.7rem;gap:0.5rem;overflow:visible;}
.listIcon li{display:flex;align-items:center;gap:0.6rem;}
.listIcon svg{display:block;float:none;font-size:1.6rem;}
.listIcon span{background:var(--white);display:flex;flex:0 0 3.2rem;width:3.2rem;height:3.2rem;margin-bottom:0.3rem;border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,0.08);align-items:center;justify-content:center;}


@media(min-width:768px){
	.listIcon{grid-template-columns:1fr 1fr ;}
}
/*FINE ELENCO CON ICONE*/


.header{position:fixed;top:0;width:100%;z-index:10;transition:0.4s;}
.header.scrolled{background-color:var(--blue);box-shadow:0 10px 30px rgba(0,0,0,0.08);}
.header_content{display:flex;padding:0.6rem 0.5rem;gap:0.5rem;align-items:center;}
.header_btn{color:#fff;font-size:1.3rem;}
.header_btn--logo{flex:2 2 auto;}
.header_btn--logo picture{width:13rem;margin:0 auto;}
.header_btn--menu{font-size:2.2rem;text-indent:-99999px;}
.header_btn--phone{margin-right:0.3rem;}
.header_btn--family,.header_btn--loc,.navlng,.header_btn--booking{display:none;}
#opennav{font-size:2rem;}

nav{position:fixed;top:0;left:0;background-color:var(--white);width:75%;max-width:450px;height:100%;transform:translateX(-100%);transition:transform .2s cubic-bezier(.4,0,.2,1);overflow-y:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden;z-index:1;}
nav:before{content:'';background:url('logo.svg') no-repeat center var(--blue);background-size:15rem;width:100%;height:5rem;display:block;}
nav.on{box-shadow:0 0 150px rgba(0,0,0,.1);transform:translateX(0);z-index:9998;visibility:visible;}
nav.off{visibility:visible;z-index:9998;}
nav ul{width:100%;max-width:1440px;margin:0 auto;overflow:visible;}
nav li{display:block;}
nav a{display:block;padding:0.8rem 0.5rem;font-size:1.2rem;color:var(--colorTitle);border-bottom:var(--border);}
nav a:hover{color:var(--blue)}
nav .logoNav img{width:170px;margin:0 auto;}
#sfbox{visibility:hidden;transition:background .2s ease-out;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
#sfbox.on{position:fixed;top:0;right:0;left:0;background-color:rgba(0,0,0,.4);width:100%;height:120%;cursor:pointer;z-index:9997;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-y:auto;visibility:visible;}

@media(min-width:1024px){
.header_content{padding:1rem var(--paddingSection);gap:1.8rem}
.header_btn--logo picture{width:17rem;}
.header_btn--family,.header_btn--loc,.navlng,.header_btn--booking{display:block;}
.header_btn--family,.header_btn--booking{padding:0.6rem 1rem;font-size:0.9rem;text-transform:uppercase;font-weight:400;text-wrap:nowrap;}
.header_btn--booking{padding:0.6rem 1.5rem;border:1px solid var(--white);}
.header_btn--booking:hover{background-color:var(--white);color:var(--bluee)}
.navlng{position:relative;font-size:0.9rem;}
.navlng_current{display:flex;color:var(--white);align-items:center;gap:0.3rem;}
.navlng_current svg{float:right;font-size:0.6rem;}
.navlng .setLgn{display:flex;border:2px solid #fff;border-radius:50%;font-size:1.4rem;cursor:pointer;user-select:none;align-items:center;box-shadow:0 0 0 2px #4e396940;}
.navlng_list{background-color:var(--white);position:absolute;top:25px;right:0;border:var(--border);border-radius:var(--radius);box-shadow:0 2px 6px rgba(0, 0, 0, 0.1);list-style:none;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity 0.3s, transform 0.3s;}
.navlng:hover .navlng_list{opacity:1;visibility:visible;transform:translateY(0);}
.navlng_item a{display:flex;padding:8px 8px;transition:background 0.2s;align-items:center;gap:0 0.5rem;}
.navlng_item a:hover{background:#f0f0f0;}
/* .header_btn{display:none;} */
}

/*SLIDER*/
.slider{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--sliderGap) * (var(--sliderElmView) - 1)) / var(--sliderElmView));overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth; scrollbar-width: none;margin:0;padding:0;list-style:none;anchor-name:--carousel;}
.slider::-webkit-scrollbar {display:none;}
.slider::scroll-button(*) {background-color:#fff;position:absolute;width:3rem;height:3rem;margin:0 0.9rem;border:0;border-radius:50%;pointer-events:auto;cursor:pointer;position-anchor: --carousel;top:anchor(center);transform:translateY(-50%);font-family:'Poppins';font-size:2.5rem;}
.slider::scroll-button(inline-start) {content:'<';}
.slider::scroll-button(inline-end) {content:'>';right: anchor(right);}
.slider::scroll-button(*):hover {border-color: var(--colortitle);}
.slider[data-count="0"]::scroll-button(*){display:none;}
.slider_item {scroll-snap-align:start;scroll-snap-stop:always;}
.slider_picture{aspect-ratio: 3/2;}


/*========================================================================================================================
========================================================  HOME PAGE  =====================================================
========================================================================================================================*/
.headerPage{position:relative;}
.headerPage_picture{aspect-ratio:1 / 1;filter:brightness(0.7);}
.headerPage_text{position:absolute;top:15%;left:50%;width:100%;text-align:center;z-index:1;transform:translate(-50%,0);}
.headerPage_title{color:#fff;font-size:3.5rem;line-height:3.7rem;font-weight:400;text-shadow: 0 5.064px 18.4px rgba(0, 0, 0, 0.35);}
.headerPage_btn{display:flex;color:#fff;font-size:1.3rem;text-shadow: 0 0.877px 1.381px rgba(0, 0, 0, 0.35);font-weight:600;justify-content:center;align-items:center;gap:0.7rem;}
.headerPage_btn svg{display:block;float:none;font-size:3.4rem;}
.headerPage--noform .headerPage_picture{aspect-ratio:2 / 1;}
.headerPage--noform .headerPage_text{top:41%;}
.headerPage--noform .headerPage_title{margin:0;}
.headerPage--family .headerPage_title{font-size:2.8rem;line-height:3.3rem;}
@media(min-width:768px){
    .headerPage_title{font-size:4.5rem;}
    .headerPage_btn{display:flex;justify-content:center;align-items:center;gap:0 1rem;}
    .headerPage_btn svg{margin:0;}
    .headerPage_picture{aspect-ratio:1.8 / 1;}
    .headerPage--family .headerPage_title{font-size:4.5rem;line-height:5.1rem;}
}
@media(min-width:1024px){
    .headerPage_text{top:50%;transform:translate(-50%,-50%);}
    .headerPage_title{margin-bottom:4rem;font-size:4.9rem;line-height:5.3rem;}
    .headerPage_btn{font-size:1.6rem;}
    .headerPage_btn svg{font-size:4rem;}
    .headerPage_picture{aspect-ratio:1.5 / 1;}
    .headerPage--noform .headerPage_picture{aspect-ratio:3 / 1;}
    .headerPage--noform .headerPage_text{top:53%;}
}
@media(min-width:1440px){
.headerPage_picture{aspect-ratio:2.35 / 1;}
.headerPage_title{margin-bottom:5rem;font-size:6.5rem;}
.headerPage--family .headerPage_title{font-size:6.5rem;line-height:8.5rem;}
.headerPage--noform .headerPage_picture{aspect-ratio:4 / 1;}
}


/*FORM PRENOTA*/
.formBooking.formBooking--header{position:relative;margin:-5rem auto 0;}
.formBooking details[open] .formBooking_summary svg{transform:rotate(-180deg)}
.formBooking_summary{padding:1.3rem;display:flex;color:#fff;text-align:center;text-transform:uppercase;font-weight:bold;font-size:1.1rem;justify-content:center;align-items:center;gap:0.5rem;line-height:1rem;}
.formBooking_summary svg{font-size:0.8rem;}
.formBooking--header .formBooking_form{background-color:rgba(255, 255, 255, 0.9);display:grid;width:95%;margin:0 auto;padding:1.5rem;border-radius:1.5rem;box-shadow:0 20px 50px rgba(0,0,0,0.2);backdrop-filter:blur(20px);gap:1.1rem 0.9rem;grid-template-columns:1fr 1fr;}
.formBooking_row{border-bottom:var(--border);font-weight:600;color:var(--colorTitle);font-size:0.9rem;text-transform:uppercase;}
.formBooking_row--calendar,.formBooking_row--coupon,.formBooking_row--btn{grid-column:1 / -1;}
.formBooking_row--coupon input{text-transform:uppercase;}
.formBooking_row .icon{margin:0.3rem 0.2rem 0 0;font-size:1rem;}
.formBooking_row input,.formBooking_row select{background:transparent;height:30px;padding:0;border:0;}
.formBooking_row input:focus-visible,.formBooking_row select:focus-visible{outline:0;}
.formBooking_row input::placeholder,.formBooking_row select::placeholder{color:var(--colorText)}
.formBooking_row select {display:block;width:min-content;}
.formBooking_flex{position:relative;display:flex;flex:0 0 100%;gap:0 0.8rem;}
.formBooking_flex:after{content:'';position:absolute;bottom:0;left:0;width:100%;border-bottom:var(--border);}
.formBooking_flex .formBooking_row{flex:1 1 0;border:0;}
.formBooking_submit button{display:flex;width:100%;font-size:1.1rem;text-transform:uppercase;justify-content:center;align-items:center;font-weight:600;gap:0.6rem;}
.formBooking_submit svg{order:2;}
.formBooking_submit a{display:block;margin-top:0.3rem;text-align:center;text-decoration:underline;font-size:0.9rem;}
.formBooking_submit a:hover{color:var(--blue)}
.formBooking--homepage .formBooking_summary{background-color:var(--blue);}
.containerSelectChild{display:none;grid-template-columns:repeat(5, 1fr);grid-column: 1 / -1;gap:0 0.4rem;}
.containerSelectChild strong{display:block;margin-bottom:0.4rem;color:var(--colorTitle);font-size:1rem;line-height:1.4rem;grid-column:1/-1;}
.containerSelectChild strong .icon{margin-right:0.5rem;font-size:1.5rem;}
.formBooking_row.formBooking_row--childAge select{padding:0;}
@media(min-width:768px){
	.formBooking_form{gap:1rem;}

}
@media(min-width:1024px){
    .formBooking.formBooking--header{position:absolute;bottom:8rem;left:50%;margin:0;transform:translate(-50%,0);}
    .formBooking--header .formBooking_form{background-color:rgba(255, 255, 255, 0.25);max-width:97%;width:1024px;padding:1rem 2.5rem;border:1px solid rgba(255,255,255,0.4);border-radius:25rem;grid-template-columns:1.6fr 1fr 1fr 1.3fr 3.8rem;gap:0.5rem;align-items:center;}
    .formBooking--header .formBooking_row,.formBooking--header .formBooking_row--btn{border:0;color:rgba(255,255,255,0.8);font-weight:400;grid-column:auto;}
    .formBooking--header .formBooking_row input,.formBooking--header .formBooking_row select{color:#fff;font-weight:600;}
    .formBooking--header .formBooking_row option{color:var(--colorTitle)}
    .formBooking--header .formBooking_row input::placeholder,.formBooking--header .formBooking_row select::placeholder{color:#fff;}
    .formBooking--header .formBooking_submit button{display:block;height:3.8rem;padding:1.3rem;border-radius:50%;text-indent:-99999px;}
}
@media(min-width:1440px){
    .formBooking.formBooking--header{bottom:4rem;}
}

/*OFFERTA FAMILY*/
.familySection{display:grid;margin:var(--marginSection) auto;padding-inline:var(--paddingSection);gap:3rem;}
.subtitle{display:block;margin-bottom:0.5rem;color:var(--orange);text-transform:uppercase;font-weight:500;}
.familyText p{margin-block:1rem;}
.familyText_picture{float:left;margin-right:0.4rem;width:4rem;}
.familyImgwrapper{position:relative;}
@keyframes blobFloat {0% {border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;}100% {border-radius: 70% 30% 30% 70% / 70% 70% 30% 30%;}}
.familyImgwrapper_picture {width: 100%;border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);aspect-ratio: 1/1;}
.familyCard{background-color:var(--orange);position:relative;margin-top:-3rem;padding:2rem;border-radius:1.5rem;color:#fff;}
.familyCard_title{display:block;font-size:1.5rem;color:#fff;}
.familyCard_list{display:grid;margin:1rem 0;gap:0.3rem;}
.familyCard_item{display:flex;align-items:center;gap:0.5rem;}
.familyCard_btn{background-color:#fff;width:100%;text-align:center;color:var(--orange)}
@media(min-width:768px){
    .familyImgwrapper{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;}
    .familyCard{margin:0 0 0 -2.3rem;}
}

@media(min-width:1440px){
    .familySection{grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
    .subtitle{font-size:1.3rem;}
    .familyImgwrapper{display:block;}
    .familyCard{position:absolute;bottom:-1.8rem;right:0;}
    .familyImgwrapper_picture{aspect-ratio:5/3;}
}


/*SEZIONE HOTEL*/
.sectionHotel{margin-bottom:var(--marginSection)}
.sectionHotel_item{position:relative;}
.sectionHotel_picture{aspect-ratio:4/3;filter:brightness(0.7);}
.sectionHotel_text{position:absolute;top:50%;left:50%;width:100%;text-align:center;color:#fff;transform:translate(-50%,-50%)}
.sectionHotel_title{font-size:2.5rem;font-family:'Butler';color:#fff;font-weight:400}
.sectionHotel_description{display:none}
.sectionHotel_btn{display:table;margin:3rem auto 0;padding:0.7rem 2rem;border:2px solid #fff;border-radius:25rem;color:#fff;font-weight:600;transition:all 0.3s ease;}
.sectionHotel_btn:hover{background-color:#fff;color:var(--blue);}
@media(min-width:768px){
    .sectionHotel_picture{aspect-ratio:21 / 9;}
}
@media(min-width:1024px){
    .sectionHotel{display:flex;}
    .sectionHotel_item{height:35rem;flex:1;transition:all 0.6s cubic-bezier(0.25, 1, 0.5, 1);overflow:hidden;}
    .sectionHotel_item:hover{flex:2;}
    .sectionHotel_picture{height:100%;aspect-ratio:4 / 3;transition:0.6s;}
    .sectionHotel_item:hover .sectionHotel_picture{transform:scale(1.1);filter:brightness(0.9);}
    .sectionHotel_description{display:block;margin-block:2.5rem;font-size:1.1rem;transition:0.4s 0.1s;transform:translateY(20px);opacity:0;}
    .sectionHotel_item:hover .sectionHotel_description{opacity:1;transform:translateY(0);}
    .sectionHotel_btn{margin:0 auto;}
    .sectionHotel_text{top:inherit;bottom:6rem;transform:translate(-50%,0);}
    .sectionHotel_title{font-size:4rem;line-height:4rem;}
}
@media(min-width:1440px){
    .sectionHotel_item{height:45rem;}
}




/*SEZIONE RISTORANTE*/
.sectionRestaurant{display:grid;gap:2rem;}
.sectionRestaurant_description{padding-inline:1rem;}
.sectionRestaurant_title{margin-bottom:2rem;}
.sectionRestaurant_details{margin-bottom:0.8rem;padding-bottom:0.8rem;border-bottom:var(--border);}
.sectionRestaurant_summary{display:flex;font-size:1.2rem;justify-content:space-between;}
.sectionRestaurant_summary:after{content:'+';display:inline-block;font-size:1.5rem}
.sectionRestaurant_summary:hover,.sectionRestaurant_details[open] .sectionRestaurant_summary{color:var(--blue)}
.sectionRestaurant_details[open] .sectionRestaurant_summary{font-weight:500}
.sectionRestaurant_details[open] .sectionRestaurant_summary:after{content:'-';}
.sectionRestaurant_text{margin-top:0.7rem;}
.sectionRestaurant_picture .slider_picture{aspect-ratio:1/1}
.slider--restaurant{anchor-name:--restaurant;}
.slider--restaurant::scroll-button(*) {position-anchor: --restaurant;}

.sectionRestaurant--familypage .sectionRestaurant_list{display:grid;margin-top:2rem;padding-left:1.2rem;gap:0.3rem;list-style-type:disc;}
.sectionRestaurant--familypage .sectionrestaurant_item{font-size:1rem;}

.sectionRestaurant--pool{margin-top:var(--marginSection)}
.slider--pool{anchor-name:--pool;}
.slider--pool::scroll-button(*) {position-anchor: --pool;}
@media(min-width:1024px){
    .sectionRestaurant{gap:0;grid-template-columns:1fr 1fr;align-items:center;}
    .sectionRestaurant_title{margin-bottom:0.8rem;}
    .sectionRestaurant_picture{order:1;}
    .sectionRestaurant_summary{cursor:pointer;}
	.sectionRestaurant--familypage .sectionRestaurant_list{grid-template-columns:1fr;}
    .sectionRestaurant--pool{margin-top:0;}
    .sectionRestaurant--pool .sectionRestaurant_picture{order:-1}
    .sectionRestaurant_description{padding-inline:2rem}
}
@media(min-width:1440px){
    .sectionRestaurant{grid-template-columns:1fr 1fr;}
    .sectionRestaurant_picture .slider_picture{aspect-ratio:18/12;}
    .sectionRestaurant_title{margin-bottom:2rem;}
    .sectionRestaurant_details{padding-bottom:1rem;margin-bottom:1rem;}
    .sectionRestaurant_summary{font-size:1.3rem;}
    .sectionRestaurant_text,.sectionRestaurant--familypage .sectionrestaurant_item{font-size:1.1rem;line-height:2rem;}
    .sectionRestaurant_description{padding-inline:4rem}

}

/**SLIDER CON TESTO*/
.sliderText{margin:var(--marginSection) 0;}
.sliderText_text{margin:1rem 0;}
.sliderText_list{display:grid;gap:0.5rem;}
.sliderText_item{display:flex;align-items:center;gap:0.3rem;}
.sliderText_description{background:var(--blueLight);padding:1rem 0.6rem;}
.slider--pool{anchor-name:--pool;}
.slider--pool::scroll-button(*) {position-anchor: --pool;}
@media(min-width:768px){
	.sliderText_description{padding:2rem;}
	.sliderText_list{grid-template-columns:1fr 1fr;}
}
@media(min-width:1024px){
.sliderText{background:var(--blueLight);padding:1rem 0;}
.sliderText_content{display:grid;padding-bottom:0;grid-template-columns:1.5fr 1fr;align-items:center;gap:2rem;}
/* .slider::scroll-button(*){width:2.5rem;height:2.5rem;font-size:2.5rem;} */
}
@media(min-width:1440px){
.sliderText_content{gap:3rem;}
.sliderText{padding:3rem 0;}
.sliderText_text{margin:2rem 0;}
.sliderText_list{gap:1rem;}
.sliderText_item{gap:0.4rem;}
.sliderText_item svg{font-size:1.7rem;}
.sliderText_description{padding:0;}
}

/*SEZIONE SPIAGGIA*/
.sectionBeach{background:url('parallax.webp') no-repeat center/cover;background-attachment:fixed;position:relative;margin:var(--marginSection) 0;padding:3rem 1rem;}
.sectionBeach_box{background:#ffffffd9;max-width:25rem;width:95%;margin:0 auto;padding:1.5rem;border-radius:1.5rem;text-align:center; }
.sectionBeach_title{margin-bottom:1rem;font-size:2.2rem;color:var(--blue);font-weight:600;}
.sectionBeach_list{display:flex;margin-top:1rem;gap:1rem 0;flex-wrap:wrap;justify-content:center;}
.sectionBeach_item{display:block;text-align:center;font-size:0.8rem;line-height:1rem;flex:0 0 33.33%;font-weight:500;}
.sectionBeach_item svg{display:block;float:none;margin:0 auto 0.3rem;font-size:2rem;}
@media(min-width:768px){
    .sectionBeach_box{max-width:42rem;padding:4rem 0;}
    .sectionBeach_title{margin-bottom:2rem;padding-inline:4rem;font-size:3rem;line-height:4.2rem;}
    .sectionBeach_text{padding-inline:4rem;}
    .sectionBeach_item{padding-inline:1rem;flex:1 0 21%}
    .sectionBeach_list{margin-top:1.7rem;font-size:0.9rem;line-height:1.2rem;}
    .sectionBeach_item svg{margin-bottom:0.5rem;font-size:3rem;}
}

/*SEZIONE CON LE TAB*/
.tab{display:flex;margin-bottom:1rem;padding-inline:var(--paddingSection);flex-wrap:wrap;gap:0.5rem;justify-content:center;}
.tab_button[role="tabpanel"] {display:none;}
.tab_button[role="tabpanel"].is-active {display:block;}
.tab_button{background:transparent;display:block;width:max-content;padding:0.5rem 1.5rem;border:var(--border);border-radius:4rem;font-weight:100;font-size:1rem;flex:0 0 48%;}
.tab_button[aria-selected="true"]{background-color:var(--blue);border-color:var(--blue);color:#fff;}
.sectionTab_title{text-align:center;}
.sectionTab_text{margin:1rem 0 1.5rem;text-align:center;}
.slider--tab{anchor-name:--carosellTab}
.slider--tab::scroll-button(*) {position-anchor: --carosellTab;}
.tabDescription{margin-top:1rem;padding-inline:var(--paddingSection);}
.tabDescription_title{margin-bottom:0.5rem;font-weight:400;}
.tabDescription_picture{width:4rem;margin-top:0.5rem;}
.tabDescription_text{margin-bottom:1rem;}
@media(min-width:768px){
    .tab_button{max-width:145px;flex:0 0 19%;}

}
@media(min-width:1024px){
    .sectionTab_text{margin-bottom:2.5rem;}
    .tab{margin-bottom:1.5rem;}
    .tab_button{font-size:1.1rem;}
    .tab_content.is-active{display:grid;padding-bottom:0;grid-template-columns:1fr 1fr;align-items:center;gap:1rem;}
    .tabDescription{padding:0 2rem;}
    .tabDescription_title{margin-bottom:1.5rem;font-size:2rem;}
    .tab_content .slider_picture{aspect-ratio:4/3}
    .tabDescription_picture{width:5rem;}
}
@media(min-width:1440px){
    .tab{margin-bottom:3rem;}
    .tabDescription_title{margin-bottom:1.5rem;font-size:3rem;line-height:3.5rem;}
    .tab_content.is-active{gap:2rem;}
    .tab_content{padding-inline:var(--paddingSection)}
    .tabDescription{margin:0;padding:0;}
    .tabDescription_text{margin-bottom:2rem;font-size:1.1rem;line-height:2rem;}
}


/*LISTA OFFERTE*/
.slider--offers{
--sliderElmView: 1;
--sliderGap: 1rem;
}
.offersList{margin:var(--marginSection) 0}
.offersList_mainTitle{margin-bottom:1rem;text-align:center;}
.slider--offers{padding-bottom:2rem;anchor-name:--carosellOffers;gap:1rem;grid-auto-columns:calc((100% - var(--sliderGap) * (var(--sliderElmView) - 1)) / var(--sliderElmView));}
.slider_item--offer{transition:0.3s;}
.slider_item--offer:hover{transform:translateY(-10px);}
.slider--offers::scroll-button(*) {display:block;border:var(--border);top:anchor(bottom);position-anchor: --carosellOffers;line-height:1rem;}
.slider--offers::scroll-button(inline-start){right:calc(anchor(right) + 3.6rem);}
.offersList_link{background:#fff;position:relative;display:block;margin:0.6rem; border-radius:2rem;box-shadow:0 8px 20px rgba(0,0,0,0.1);}
.offersList_picture{border-radius:2rem 2rem 0 0;}
.offersList_description{padding:1.4rem 1.4rem 0;}
.offersList_title{display:-webkit-box;height:6.3rem;margin-bottom:1rem;font-size:1.5rem;line-height:2.1rem;font-family:'Butler';color:var(--blue);-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.offersList_text{display:-webkit-box;height:3.7rem;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.offersList_discount{background-color:var(--red);position:absolute;top:1.4rem;left:1.4rem;padding:0.1rem 0.8rem;border-radius:25rem;color:#fff;}
.offersList_price{font-size:1.5rem;color:var(--blue);font-weight:500;}
.offersList_contentPrice{display:grid;margin:1.3rem 1rem 0;padding-block:1.3rem;border-top:var(--border);grid-template-columns:1fr 1fr;align-items:center;}
.offersList_initialPrice{display:block;text-decoration:line-through;font-size:1rem;color:var(--colorText);font-weight:100;}
.offersList_mainBtn{margin-top:3rem;}
.offersList_btn{display:flex;margin:0 0 0 auto;align-items:center;gap:0.3rem;}
@media (min-width: 768px) {
.slider--offers{
--sliderElmView: 2;
}
}
@media (min-width: 1024px) {
    .slider--offers {margin-bottom:3rem;padding-bottom:3rem;--sliderElmView: 3;}
    .slider--offers[data-count="1"]::scroll-button(*),.slider--offers[data-count="2"]::scroll-button(*),.slider--offers[data-count="3"]::scroll-button(*){display:none;}
}
@media (min-width: 1440px) {
    .slider--offers {margin-inline:var(--paddingSection)}
    
    .offersList_mainBtn{width:100%;max-width:16rem;margin-top:2rem;padding:1.1rem;font-size:1.1rem;}
    .offersList_title{margin-bottom:1.7rem;font-size:1.7rem;}
    .offersList_text{height:7rem;line-height:1.7rem;-webkit-line-clamp:4;}
    .offersList_contentPrice{margin-top:2rem;}
}

/*PREFOOTER*/
.prefooter{margin:var(--marginSection) auto;}
.prefooter_social{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:var(--border);text-align:center;}
.prefooter_social svg{color:var(--colorTitle)}
.prefooter_social svg:hover{color:var(--blue)}
.prefooter_title{text-align:center;}
.prefooter_subtitle{display:block;margin:1rem 0 1.5rem;font-size:1.2rem;text-align:center;}
.prefooter_link{display:inline-block;margin:0 0.5rem;font-size:2rem;}
.prefooter_form{position:relative;}
.prefooter_form input{background-color:#F2F2F2;padding-right:4rem;}
.prefooter_form input:focus-visible{background-color:#ffffff;}
.prefooter_form .btn{position:absolute;top:0;right:0;height:50px;border-radius:0 var(--radius) var(--radius) 0;}
@media (min-width: 768px) {
    .prefooter{position:relative;display:grid;grid-template-columns: repeat(2, 1fr);gap:5rem;align-items:center;justify-content:center;}
    .prefooter:after{content:'';background-color:var(--borderColor);position:absolute;left:47%;width:1px;height:100%;}
    .prefooter_social{margin-bottom:0;padding-right:0;border-bottom:0;}
}
@media (min-width:1024px) {
    .prefooter{grid-template-columns:repeat(2, 30rem);}
.prefooter_title{font-size:2rem;}
.prefooter_form{width:25rem;margin:0 auto;}
.prefooter:after{left:50%;}
}



/*========================================================================================================================
========================================================  PAGINA PACCHETTO FAMILY  =====================================================
========================================================================================================================*/
.familySection--familypage .listIcon{grid-template-columns:1fr;}
.familySection--familypage .familyImgwrapper_picture:after{content:'';background:url('/media/pet.svg') no-repeat center/5rem;position:absolute;top:0;left:0;width:5rem;height:5rem;}
/*ANIMATION*/
.animation{margin-block:var(--marginSection);padding-inline:var(--paddingSection)}
.animation_text{margin: 0.6rem 0;}
.animation_list{display:grid;margin-block:2rem;gap:1rem;overflow:visible;}
.animation_item{background:var(--white);border-radius:var(--radius);box-shadow:0 10px 30px rgba(15, 44, 66, 0.05);}
.animation_picture{margin-bottom:0.5rem;border-radius:var(--radius) var(--radius) 0 0;aspect-ratio: 3 / 2;}
.animation_content{padding:1.3rem;}
.animation_itemTitle{display:block;margin-bottom:0.5rem;color:var(--blue);font-family:'Butler';font-size:1.4rem;}
@media (min-width:768px) {
    .animation_list{grid-template-columns:1fr 1fr;gap:2rem 1rem;}
}
@media (min-width:1024px) {
    .animation_list{grid-template-columns:1fr 1fr 1fr;}
}
@media (min-width:1440px) {
        .animation_list{gap:3rem;}
.animation .btn--orange{padding:1.2rem 1.4rem;font-size:1.3rem;}
}

/*BOXAPARTHOTELRESTAURANT*/
.boxAparthotelRestaurant{display:grid;margin-bottom:var(--marginSection);gap:3rem;}
.boxAparthotelRestaurant_picture{aspect-ratio: 1 / 1;}
.boxAparthotelRestaurant_title{margin:1rem 0;line-height:2.6rem;}
.boxAparthotelRestaurant_list{display:grid;padding-left:1.2rem;margin-top:1rem;gap:0.3rem;list-style-type:disc;}
@media (min-width:768px) {
    .boxAparthotelRestaurant{gap:4rem;}
    .boxAparthotelRestaurant_singlebox{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;}
    .boxAparthotelRestaurant_title{margin-top:0;}
    .boxAparthotelRestaurant_singlebox--boxRestaurant .boxAparthotelRestaurant_picture{order:1;}
}
@media (min-width:1024px) {
.boxAparthotelRestaurant_picture{aspect-ratio: 4 / 3;}
.boxAparthotelRestaurant_list{padding-left:1.5rem}
.boxAparthotelRestaurant_text,.boxAparthotelRestaurant_item{font-size:1.3rem;line-height:2rem;}
.boxAparthotelRestaurant_singlebox{gap:5rem;}
.boxAparthotelRestaurant_text{margin-block:1rem 1.5rem;}
}

/*FORM BOOKING FAMIGLIA FOOTER*/
.formFooterFamily{background:url('parallax.jpg') no-repeat center/cover;background-attachment:fixed;position:relative;padding:3rem var(--paddingSection)}
.formFooterFamily_content{position:relative;z-index:1;}
.formFooterFamily:after{content:'';background-color:rgba(0,0,0,0.3);position:absolute;top:0;left:0;width:100%;height:100%;}
.formFooterFamily_title{font-size:2.7rem;color:#fff;text-align:center;}
.formFooterFamily_list{margin-block:2rem;gap:0.8rem;grid-template-columns:1fr;}
.formFooterFamily_list li{gap:0.8rem;font-size:1rem;line-height:1.7rem;text-align:left;color:#fff;}
.formFooterFamily_item span{background:var(--white);margin:0;color:var(--colorText);}
.formFooterFamily .btn--blue{background-color:var(--orange);}
.formBooking--bottomFamily .formBooking_form{background:var(--white);position:relative;display:grid;padding:1.5rem;border-radius:1.5rem;box-shadow:0 20px 50px rgba(0,0,0,0.2);gap:1.1rem 0.9rem;grid-template-columns:1fr 1fr;z-index:1;}
@media (min-width:1024px) {
	.formFooterFamily{display:grid;padding-block:8rem;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center;}
    .formFooterFamily_title{text-align:left;font-size:3rem;}
    .formBooking--bottomFamily{position:static;transform:none;}
    .formBooking--bottomFamily .formBooking_form{padding:3rem;gap:2rem;}
    .formBooking--bottomFamily .formBooking_row .icon{margin-top:0;font-size:1.3rem;}
    .formBooking--bottomFamily .formBooking_row{font-size:1rem;}
    .formBooking--bottomFamily .formBooking_row input,.formBooking--bottomFamily  .formBooking_row select{margin-top:0.5rem;font-size:1.1rem;}
    .formBooking--bottomFamily .btn--orange{padding-block:1.2rem;font-size:1.4rem;}
}
@media (min-width:1440px) {
    .formFooterFamily_content{padding-right:2rem;}
    .formFooterFamily_title{font-size:3.8rem;}
.formFooterFamily_list{gap:1.1rem;}
.formFooterFamily_list li{font-size:1.3rem;}
}


/*MAPPA*/
.map{background-color:var(--blueLight); margin-top:var(--marginSection);padding-block:2rem;}
.map_description{padding-inline:var(--paddingSection);}
.map_title{text-align:center;}
.map_list{margin-block:2rem;}
.map_item a{color:var(--colorTitle);text-decoration:underline;}
.map_item a:hover{color:var(--blue);text-decoration:underline;}
.map_item span{color:var(--blue);}
.map_iframe{display:block;width:100%;height:300px;}
.map_text{display:block;margin-block:1rem;padding-inline:var(--paddingSection);text-align:center;}
.map_text a{color:var(--blue)}
.map_text a:hover{text-decoration:underline;}
@media (min-width:768px) {.map_iframe{height:450px;}}
@media (min-width:1024px) {
    .map{display:grid;margin-block:var(--marginSection);padding-inline:var(--paddingSection);grid-template-columns:1fr 1fr;align-items:center;gap:2rem;}
    .map_description{padding:0;}
    .map_list{margin-block:2rem 0;gap:0.8rem;grid-template-columns:1fr;}
    .map_iframe{height:550px;border-radius:1.5rem;box-shadow:0 20px 50px rgba(0,0,0,0.2);overflow:hidden;}
}
/*========================================================================================================================
========================================================  PAGINA HOTEL E RESORT  =====================================================
========================================================================================================================*/
/*TESTO CON ELENCO*/
.textList{margin-block:var(--marginSection);padding-inline:var(--paddingSection);}
.textList_title{text-align:center;}
.textList_text{margin-block:1rem;text-align:center;}
.textList_list{display:grid;grid-template-columns:1fr;gap:1rem;}
.textList_list .textList_item{background:var(--white);display:block;padding:1.3rem;border-left:4px solid var(--orange);border-radius:var(--radius);box-shadow:0 10px 30px rgba(15, 44, 66, 0.05);}
.textList_itemTitle{display:block;margin-block:0.5rem;color:var(--colorTitle);font-family:'Butler';text-align:center;font-size:1.3rem;}
.textList_itemText{font-size:0.9rem;text-align:center;line-height:1.4rem;}
.textList_item .textList_itemIcon{color:var(--orange)}
.textList_itemIcon{margin:0 auto 0.3rem;}
.textList_mainbtn{width:100%;max-width:16rem;margin-top:2rem;padding:1.1rem;font-size:1.1rem;}
@media (min-width:768px) {
    .textList_list{margin-top:2rem;grid-template-columns:1fr 1fr;}
    .textList_itemTitle{margin-block:1rem;}
}
@media (min-width:1024px) {
    .textList_text{font-size:1.1rem;line-height:2rem;}
    .textList_list{grid-template-columns:1fr 1fr 1fr;}
    .textList_itemTitle,.textList_itemText{text-align:left;}
    .textList_itemIcon{margin-inline:0;}
}
@media (min-width:1440px) {
    .textList_list{gap:3rem;}
    .textList_list .textList_item{padding:1.6rem;text-align:left;}
    .textList_itemTitle{margin-block:0.8rem 0.4rem;}
}


/*SLIDER CON TESTO*/
.sectionRestaurant--hotel{padding-inline:var(--paddingSection)}
.sectionRestaurant--hotel .sectionRestaurant_description{padding-inline:0}
.sectionRestaurant--hotel .listIcon{grid-template-columns:1fr;overflow:visible;}
.sectionRestaurant--hotel .sectionRestaurant_title{margin-bottom:0;}
.sectionRestaurant--hotel .listIcon li{display:flex;text-align:left;align-items:center;gap:0.6rem;font-size:1rem;line-height:1.7rem;}
.sectionRestaurant--hotel .listIcon span{margin:0;}
.sectionRestaurant_mainbtn{width:100%;max-width:16rem;margin-top:2rem;padding:1.1rem;font-size:1.1rem;}
@media (min-width:768px) {
    .sectionRestaurant--hotel .listIcon{grid-template-columns:1fr 1fr;}
}
@media (min-width:1024px) {
    .sectionRestaurant--hotel{grid-template-columns:1fr;gap:2rem;}
}
@media (min-width:1440px) {
    .sectionRestaurant--hotel{grid-template-columns:1fr 1fr;}
    .sectionRestaurant--hotel .listIcon{margin-block:2rem;grid-template-columns:1fr 1fr 1fr;}
    .sectionRestaurant--hotel .slider_picture{aspect-ratio:13/12;}
}

/*INFO CHECK-IN CHECK-OUT*/
.infoTimetables{background-color:var(--blueLight);padding:1.5rem;margin:var(--marginSection) var(--paddingSection);border-left:0.4rem solid var(--blue);border-radius:1rem}
.infoTimetables_title{margin-bottom:2rem;color:#005682;}
.infoTimetables_timetables{display:flex;margin-bottom:1rem;}
.infoTimetables_icon{margin:0.3rem 0.7rem 0 0;font-size:1.5rem;color:#005682;}
.infoTimetables_timetables strong{display:block;color:#005682;}
.infoTimetables_text{display:flex;font-size:0.9rem;line-height:1.5rem;}
@media (min-width:768px) {
    .infoTimetables{padding:3rem;}
    .infoTimetables_title{margin-bottom:3rem;font-size:2.1rem;}
    .infoTimetables_timetables{float:left;margin:0 5rem 3rem 0;}
    .infoTimetables_timetables strong{font-size:1.2rem;}
    .infoTimetables_text{font-size:1rem;line-height:1.7rem;clear:both;}
}
/*SERVIZI*/
.animation_itemText b{display:block;margin-top:0.3rem;}
.animation_mainbtn{width:100%;max-width:16rem;margin-top:2rem;padding:1.1rem;font-size:1.1rem;}


/*========================================================================================================================
========================================================  PAGINA OFFERTE  =====================================================
========================================================================================================================*/
.offersList--home{padding-inline:var(--paddingSection)}
.offersList--home .slider--offers{grid-auto-flow:row;grid-template-columns:1fr;overflow:visible;}
.offersList--home .slider::scroll-button(*){display:none;}
.offersList--home .offersList_link{margin:0;}
@media (min-width:768px) {
    .offersList--home .slider--offers{grid-template-columns:1fr 1fr;}
    }
    @media (min-width:1024px) {
        .offersList--home .slider--offers{grid-template-columns:1fr 1fr 1fr;gap:2rem;}
    }
    @media (min-width:1440px) {
        .offersList--home .slider--offers{margin:0;gap:3rem;}
    }
   



/*========================================================================================================================
========================================================  DETTAGLIO OFFERTA  =====================================================
========================================================================================================================*/
/* .thankyoupage:before{content:'';background-color:var(--blue);position:fixed;top:0;left:0;display:block;width:100%;height:3.8rem} */
.headerOffer{background:var(--blue);padding:5rem var(--paddingSection) 0.5rem;}
.headerOffer_title{color:var(--white);font-weight:400;font-size:1.8rem;line-height:2.2rem;}
.detailsOffer{margin-block:1rem;}
.slider--detailsOffer{margin-bottom:1rem;}
.detailsOffer_description h1{margin-bottom:1rem;font-size:1.9rem;line-height:2.3rem;font-weight:500;}
.detailsOffer_description ul:not(.slider){margin-block:1rem;padding-left:1rem;}
.detailsOffer_description ul:not(.slider) li{display:flex;}
.detailsOffer_description ul:not(.slider) li:before{content:'';background-color:var(--blue);height:0.6rem;margin:0.6rem 1rem 0 0.5rem;border-radius: 50%; box-shadow: 0 0 0 3px rgba(0, 137, 123, 0.2);flex:0 0 0.6rem;}
.detailsOffer_listService ul{display:grid;gap:0.5rem;}
.detailsOffer_listService h4{margin-bottom:0.3rem;text-transform:uppercase;font-size:1.5rem;}
.detailsOffer_listService li{display:flex;align-items:center;gap:0.5rem;line-height:1.4rem;}
.detailsOffer_listService li:before{content:'';background-color:var(--colorText);height:0.5rem;border-radius: 50%;flex:0 0 0.5rem;}
.detailsOffer_boxPrice{margin-bottom:1rem;padding-bottom:1rem;border:0;border-bottom:var(--border);justify-items:center;}
.detailsOffer_boxPrice .offersList_discount{margin-bottom:1rem;}
.detailsOffer_boxPrice .offersList_price{display:flex;font-size:2.5rem;gap:0.5rem;}
.detailsOffer_boxPrice .offersList_initialPrice{font-size:1.3rem;text-decoration:none}
@media (min-width:1024px) {
    .detailsOffer_description h1{font-size:2.2rem;line-height:2.8rem;font-weight:600;}
    .detailsOffer{display:grid;grid-template-columns:2fr 1fr;align-items:start;}
    .detailsOffer_aside{max-width:25rem;padding:2rem 1rem;border:var(--border);border-radius:var(--radius);justify-self:end;box-shadow:0 4px 18.5px 0 rgba(0, 0, 0, 0.10);}
    .detailsOffer_boxPrice{margin-bottom:3rem;padding-bottom:3rem;}
    .detailsOffer_description{padding-right:2rem;}
    .detailsOffer_listService h4{margin-bottom:0.6rem;}
}
@media (min-width:1440px) {
    .detailsOffer_description{padding:0;}
}


/*========================================================================================================================
========================================================  GALLERY  =====================================================
========================================================================================================================*/
.gallery_list{display:grid;margin-block:2rem;padding-inline:var(--paddingSection);gap:1rem;}
.gallery_item:hover .gallery_title{text-decoration:underline;}
.gallery_title{display:block;margin-top:0.3rem;color:Var(--colorTitle);font-weight:500;font-size:1.2rem;}
.gallery_picture{aspect-ratio: 4 / 3;}
.gallery_link{display:block;}
.album{margin-block:1rem;}
.album_title{margin-bottom:1rem;text-align:center;}
.album_btn{margin-top:1rem;}
.album_iframe{width:100%;}
.gallery_picture--video{position:relative;z-index:-1}

@keyframes popOverlayFade {from { opacity: 0; }to   { opacity: 1; }}
@keyframes popScaleIn {from { transform: translateZ(0) scale(0.96); opacity: 0; }to   { transform: translateZ(0) scale(1);    opacity: 1; }}
#popupbg {background: rgba(0,0,0,0.85);backdrop-filter: blur(0.25rem);-webkit-backdrop-filter: blur(0.25rem);display: block;animation: popOverlayFade 0.28s ease-out both;}
#popupbox {max-width: 61.25rem;width: calc(100% - 2.5rem);transform: translateZ(0);animation: popScaleIn 0.24s cubic-bezier(.2,.9,.35,1.2) both;}
#popupContent .album{margin:0;}
#popupContent .album_btn{display:none;}
#popupContent .album_title{margin-bottom:0.7rem;font-size:1.2rem;color:var(--white)}
#popupbox #popupTitle a{position:absolute;top:-0.4rem;right:0.2rem;width:40px;height:42px;}
#popupbox #popupTitle a:before,#popupbox #popupTitle a:after{content:" ";position:absolute;top:21px;background-color:var(--white);border-radius:var(--radius);width:18px;height:2px;}
#popupbox #popupTitle a:before{left:11px;transform:rotate(45deg);}
#popupbox #popupTitle a:after{right:11px;transform:rotate(-45deg);}
@media (min-width:768px) {
    .gallery_list{grid-template-columns:1fr 1fr;gap:1.5rem;}
    #popupContent .album_title{font-size:2rem;}
}
@media (min-width:1024px) {
    .gallery_list{grid-template-columns:1fr 1fr 1fr;gap:2.5rem;}
        #popupContent .album_title{margin-bottom:1.5rem;}
}

/*========================================================================================================================
========================================================  FORM BOOKING  =====================================================
========================================================================================================================*/
.booking{margin-block:1rem;padding-inline:var(--paddingSection);}
.booking_title{margin-bottom:0.8rem;line-height:2.3rem;font-size:2.2rem;}
.booking_form form{margin-top:1rem;}
.booking_aside{display:none;}
.step{display:none;}
.step.active{display:grid;margin-block:1.5rem 2.5rem;gap:1.6rem;}
.stepsNav{display:grid;padding-bottom:0.5rem;border-bottom:var(--border);grid-template-columns:1fr 1.5fr 1.5fr;gap:1rem;}
.stepsNav_label{font-weight:500;color:#cccccc;text-align:center;}
.stepsNav_num{display:none;}
.on .stepsNav_label{color:var(--blue);}
.stepsNav_tab{position:relative;}
.stepsNav_tab:after{content:'';background-color:transparent;position:absolute;bottom:-0.5rem;left:0;width:100%;height:0.15rem;}
.stepsNav_tab.on:after{background-color:var(--blue);}
.btnNavigation{display:flex;gap:1.5rem;}
.btnNavigation_btn--back{background-color:transparent;display:flex;color:var(--colorText);text-decoration:underline;text-align:left;flex:70%;font-size:1rem;align-items:center;}
.btnNavigation_btn--back .icon{transform:rotate(-180deg);font-size:1.5rem;}
.btnNavigation_btn--back:hover{color:var(--colorTitle)}
.btnNavigation_btn--back:disabled{display:none;}
.btnNavigation_btn--forward{display:flex;max-width:200px;margin:0 0 0 auto;font-size:1.1rem;font-weight:600;flex:100%;justify-content:center;align-items:center;}
.btnNavigation_btn--forward .icon{float:right;font-size:1.5rem;}

.step_selectChield{grid-column: 1 / -1;}
.step_selectChield:has(> #containerChild:empty) {display:none;}
.step_selectChield #containerChild{display:grid;grid-template-columns:repeat(5, 1fr);gap:0 0.4rem;}

.step_selectChield strong{display:block;margin-bottom:0.4rem;color:var(--colorTitle);font-size:1rem;line-height:1.4rem;grid-column:1/-1;}
.step_selectChield strong .icon{margin-right:0.5rem;font-size:1.5rem;}

.step_fieldHidden:not(:has(input[type=checkbox]:checked)) .step_SubOptions{display:none;}
.step_field{border-bottom:var(--border);font-weight:600;color:var(--colorTitle);font-size:1rem;}
.step_field input:not(input[type="checkbox"]),.step_field select{background:transparent;height:30px;padding:0;border:0;font-size:1rem;}
.step_field textarea{background:transparent;padding:0;border:0;font-size:1rem;}
.step_field input:focus-visible,.step_field select:focus-visible,.step_field textarea{outline:0;}
.step_field input::placeholder,.step_field select::placeholder{color:var(--colorText)}
.step_field--checkbox{display:flex;border:0;align-items:center;line-height:1.3rem;}
.step_field--checkbox label{font-size:1rem;font-weight:600;}
.step_field--checkbox input{flex:0 0 19px;}
.step_SubOptions{margin:0.4rem 1.6rem 0;}
.step_fieldHidden .step_field--checkbox{font-size:0.9rem;}
.step_SubOptions label{display:flex;border:0;align-items:center;}
.step_field--supplement strong{display:block;margin-bottom:0.5rem;color:var(--colorTitle);font-size:1rem;}
.step_field--supplement label{display:flex;border:0;align-items:center;}
.step_field--supplement input{flex:0 0 19px;}
.step_field--privacy{display:grid;margin-top:1rem;gap:0.5rem;}

/*STEP 1*/
.step--first{grid-template-columns:repeat(2,1fr) ;}
.step_field--calendar,.step_field--coupon,.step_field--transfert{grid-column: 1/-1;}
.step_field--coupon input{text-transform:uppercase;}
.step_field--transfert .step_field{width:fit-content;}
/*STEP 2*/
.step--second .step_fieldHidden{padding-bottom:1.5rem;border-bottom:var(--border);}
@media (min-width:768px) {
    .booking_form form{padding:1.5rem;}
    .step.active{margin-block:2.1rem 3rem;}
    .stepsNav{grid-template-columns:0.7fr 1fr 1fr;gap:1.3rem;}
    .stepsNav_num{background-color:#cccccc;display:block;height:2.5rem;flex:0 0 2.5rem;border-radius:50%;color:#fff;text-align:center;align-content:center;font-size:1.3rem;font-weight:700;}
    .stepsNav_label{background:#F8F9FA;position:relative;padding-inline:0.5rem 1rem;font-weight:700;z-index:1;}
    .on .stepsNav_num{background-color:var(--blue);}
    .stepsNav_tab{display:flex;align-items:center;gap:0;}
    .stepsNav_tab:last-child:after{display:none;}
    .stepsNav_tab:after{background-color:#cccccc;top:50%;width:100%;height:0.1rem;margin-left:auto;z-index:-1}
    .step--first{grid-template-columns:repeat(4, 1fr);}
    .step_field--calendar{grid-column:span 2;}
    .step_field--coupon{grid-column:span 1;}
    .step_field--transfert{grid-column:span 3;}
    .step_selectChield #containerChild{grid-template-columns:repeat(9, 1fr);gap:0.5rem;}
    .step--second .step_SubOptions{display:flex;margin-inline:1.1rem;gap:1rem;}
    .step--second .step_SubOptions label{line-height:1rem;}
    .step--second .step_SubOptions input{flex:0 0 19px;}
    .step--last.active{display:grid;grid-template-columns:repeat(6,1fr);gap:1.6rem;}
    /* .step--last .step_field{grid-column: span 2;} */
    .step_field--note,.step_field--privacy{grid-column:1/-1;}
    .step_field--name,.step_field--surname{grid-column: span 3;}
    .step_field--email,.step_field--city,.step_field--phone{grid-column: span 2;}
    .step_field--transfert{display:flex;gap:1rem;align-items:center;}
    .step_field--transfert .step_SubOptions{margin:0;}
}
@media (min-width:1024px) {
.booking{display:grid;grid-template-columns:2fr 1fr;gap:3rem;}
.booking_aside{display:block;}
.booking_summary{border:var(--border);border-radius:var(--radius);padding:2rem 1rem;box-shadow:0 8px 20px rgba(0,0,0,0.1);}
.summary_title{display:block;margin-bottom:1.5rem;font-size:2.5rem;text-align:center;font-family:'Butler';color:var(--colorTitle);font-weight:400;}
.summary_list{display:grid;gap:1rem;grid-template-columns:1fr 1fr;}
.summary_item{padding-bottom:1rem;border-bottom:var(--border);white-space:pre-line;}
.summary_item:not(.summary_item--col2){grid-column: 1/-1;}
.summary_item strong{display:block;color:var(--colorTitle)}
.summary_help{background-color:var(--blue);color:#fff;padding:1rem;margin-top:2rem;border-radius:var(--radius);line-height:1.4rem;box-shadow:0 8px 20px rgba(0,0,0,0.1);}
.help_title{margin-bottom:1rem;color:#fff;font-weight:500;}
.help_text{display:grid;gap:0.6rem;}
.help_text strong{display:block;font-weight:600;}
.help_text span{display:flex;gap:0.3rem;}
}
@media (min-width:1440px) {
    .booking{margin-block:3rem;gap:5rem;}
    .booking_title{margin-bottom:1.3rem;font-size:3rem;}
    .booking_text{font-size:1.2rem;line-height:2.1rem;}
    .booking_form form{margin-top:3rem;border:0;padding:0;}
    .stepsNav{border:0;}
    .step_fieldHidden .step_field--checkbox{font-size:1rem;}
    .step--second .step_SubOptions label{font-size:0.9rem;line-height:1.3rem;}
    .step--second .step_SubOptions{margin-top:1.2rem;}
    .step_field--supplement label{font-size:0.9rem;}
    .booking_summary{padding:2rem;}
    .summary_help{padding:2rem;}
    .stepsNav_label{padding-right:2rem;}
}
/*========================================================================================================================
========================================================  THANKYOUPAGE  =====================================================
========================================================================================================================*/
.thankyoupage{padding:5rem var(--paddingSection) 0;}
.thankyoupage:before{content:'';background-color:var(--blue);position:fixed;top:0;left:0;display:block;width:100%;height:3.8rem}
.thankyoupage_title .icon{float:none;display:block;margin:0 auto 2rem;color:#16a34a;font-size:4rem;}
.thankyoupage_title{margin-bottom:1rem;text-align:center;line-heighT:2.6rem;}
.thankyoupage_text{text-align:center;}
.thankyoupage_btn{margin-block:2rem;}
.thankyoupage--error .thankyoupage_title .icon{color:var(--red);}
.thankyoupage_list{display:grid;gap:0.5rem;margin-top:1.5rem;}
.thankyoupage_item{display:flex;align-items:center;gap:0.5rem;}
.thankyoupage_item:before{content:'x';background-color:var(--red);display:flex;height:1.5rem;width:1.5rem;border-radius: 50%;color:var(--white);justify-content:center;align-items:center;font-size:1.1rem;}
@media(min-width:768px){
    .thankyoupage_title{margin-bottom:2.5rem;font-size:3rem;}
}
@media(min-width:1024px){
    .thankyoupage{max-width:90rem;margin:0 auto;padding-top:9rem;}
    .thankyoupage:before{height:5rem;}
}
/*========================================================================================================================
========================================================  PRIVACY  =====================================================
========================================================================================================================*/
.privacyPage{margin-bottom:2rem;padding:5rem var(--paddingSection) 0;}
.privacyPage:before{content:'';background-color:var(--blue);position:fixed;top:0;left:0;display:block;width:100%;height:3.8rem}
.privacyPage h1{margin-bottom:1rem;text-align:center;font-size:2.5rem;}
.privacyPage h3{margin-block:2rem 1rem;font-size:2rem;line-height:2.2rem;font-weight:600;}
#cookies{margin-top:3rem;}
@media(min-width:1024px){
    .privacyPage{padding-top:7rem;}
    .privacyPage:before{height:5rem;}
    .privacyPage h1{margin-bottom:1em;text-align:center;font-size:3.5rem;}
    .privacyPage h3{margin-block:2rem 1rem;font-size:2rem;line-height:2.2rem;font-weight:600;}
}
/*========================================================================================================================
========================================================  FOOTER  =====================================================
========================================================================================================================*/
.footer{background-color:var(--blue);padding:1rem var(--paddingSection) 0.6rem;color:#fff;}
.footer_content{display:grid;gap:1.5rem;}
.footer_title{margin-bottom:0.7rem;font-size:1.5rem;}
.footer a{color:#fff;font-weight:500;}
.footer a:hover{text-decoration:underline;}
.footer_list{display:grid;gap:0.4rem}
.footer_list span{display:block;font-weight:300;font-size:0.9rem;}
.footer_text{margin-top:2rem;padding-top:1rem;border-top:1px solid #fff;font-size:0.8rem;line-height:1.2rem;}
.footer_icon{display:inline-block;margin-right:0.8rem;font-size:4rem;}
@media (min-width: 768px) {
    .footer_content{grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 1440px) {
    .footer{padding-block:2rem 1rem;}
    .footer_content{grid-template-columns: repeat(3, 1fr);gap:3rem;}
    .footer_text{font-size:1rem;line-height:1.5rem;}
    .footer_icon{margin-right:1.5rem;font-size:5rem;}
}


