@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');
@import url("https://use.typekit.net/tly2bmn.css");
@font-face { font-family: 'Font Awesome 6 Pro'; src:url('../fonts/FontAwesome6Pro-Solid.woff') format('woff'); font-style: normal; font-weight: 900; font-display: swap;}
@font-face { font-family: "Font Awesome 6 Pro"; src:url("../fonts/FontAwesome6Brands-Regular.woff") format("woff"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Font Awesome 6 Pro'; src:url('../fonts/FontAwesome6Pro-Light.woff') format('woff'); font-style: normal; font-weight: 300; font-display: swap;}
@font-face { font-family: 'Font Awesome 6 Pro'; src:url('../fonts/FontAwesome6Pro-Regular.woff') format('woff'); font-style: normal; font-weight: 400; font-display: swap;}
@font-face { font-family: 'Font Awesome 6 Pro'; src:url('../fonts/FontAwesome6Pro-Thin.woff') format('woff'); font-style: normal; font-weight: 100; font-display: swap;}
@font-face { font-family: 'Font Awesome 6 Brands'; src:url('../fonts/FontAwesome6Brands-Regular.woff') format('woff'); font-style: normal; font-display: swap;}

/* Animazioni */
@keyframes finger { 0% { opacity: 1; } 100% { opacity: 0; transform: translateY(20px); } }

/* VARIABILI */
:root {
    --color1: #374915;
    --color1_10: rgba(49,79,64,.10);
    --color2: #AD883C;
    --color3: #F2EDE0;
    --light-grey: #F2F2F2;
    --soft-grey: #D9D9D9;
    --grey: #676767;
    --white: #ffffff;
    --white_30: rgba(255,255,255,.30);
    --black: #000000;
    --alpha-black: #00000075;
    --highlighted: #ece3ca;

    --sans: 'Manrope';
    --serif: 'the-seasons';
    --font-icon: 'Font Awesome 6 Pro';
    --font-icon-alt: 'Font Awesome 6 Brands';

    --font-weight-extra-light: 100;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 700;
    --font-weight-bold: 900;
    --font-weight-solid: 900;

    --size-mini: 15px; /* pulsanti */
    --size-base: 18px;
    --size-average: 25px; /* mini titoli */
    --size-medium: 22px; /* riassunto */
    --size-big: 45px; /* titoli */
    --size-nano: 14px; 
    --size-micro: 11px;

    --size-icon: 40px; /* icone */

    --size-serif35: 35px;
    --size-serif30: 30px;
    --size-serif60: 60px;
    --size-serif70: 70px;
    --size-serif80: 80px;
    --size-serif100: 100px;
    --size-serif180: 180px;

    --line-height-p: 24px;
    --l-spacing: 1px;
    --max-width: 1366px;
    --max-width-2: 1440px;

    --rooms-image-width: 470px;
    --rooms-image-gap: 20px;

    --container-1: 1750px;
    --container-2: 1080px;
    --container-3: 1148px;
}

* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
*:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);} 
body { margin: 0; line-height: 1; font-family: var(--sans); color: var(--grey); font-size: var(--size-base); font-weight: var(--font-weight-normal); background-color: var(--color3);}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }

.hidden_form_element {display: none;}

/* Page error */
#page_error.none { display: none; }
#page_error { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.7); z-index: 999999; }
#page_error .cnt-message { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
#page_error .cnt-message .caption { padding: 35px; text-align: center; background-color: var(--white); border: 5px solid var(--color2); position: relative; }
#page_error .cnt-message .caption .close { position: absolute; z-index: 1; top: 10px; right: 10px; }
#page_error .buttons { margin: 15px 0 0 0; display: flex; align-items: center; gap: 15px; font-size: var(--size-base); }
#page_error .buttons div { padding: 15px; display: inline-block; text-transform: uppercase; font-size: var(--size-btn); font-weight: var(--font-weight-bold);  transition: all 0.3s; position: relative; overflow: hidden; z-index: 1; cursor: pointer; color: var(--white); background-color: var(--color2); width: 50%; text-align: center; }
#page_error .buttons div.cancel_btn { background-color: var(--color1); }
/* 404 */
.body_404 :where(header, footer, .white_section) { display: none; }
.body_404 .section_not_found { margin-top: 40px; font-size: 10vw; color: var(--color1); }
.body_404 #page { padding-top: 60px; }


a { background: transparent; -webkit-transition: all .6s; -moz-transition: all .6s; -o-transition: all .6s; transition: all .6s; text-decoration: underline; text-decoration-thickness: 1px; color: var(--grey);}
a:active, a:hover, a:focus { text-decoration: none; }
h2 a, .nav a, .contact a, .social a {text-decoration: none !important;}

b, strong { font-weight: var(--font-weight-bold); }
svg:not(:root) { overflow: hidden; }
button, input, optgroup, select, textarea { margin: 0; color: inherit; font: inherit; }
input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; border:none; display: block; }
label { display: block; }
img { border: 0; vertical-align: middle; max-width: 100%; }
h1, h2, h3, h4, h5, h6 { font-weight: var(--font-weight-normal); line-height: 1; }
.no-scroll, .oh {overflow-y: hidden;}
.clear { clear: both; }
.overflow { overflow: hidden; }
.nav { margin: 0; padding: 0; list-style: none; }
.nav > li { position: relative; display: block; }
.nav > li > a { position: relative; display: block; }
.nav-pills { display: block; }
.nav-pills > li { float: left; text-transform: none; font-weight: normal; }
.navbar { position: relative; }
.navbar-nav > li > a { line-height: 1; }
ul.cnt { margin:0; padding:0; display:flex; list-style: none; -ms-box-orient: horizontal; -webkit-align-items: stretch; }
.cnt { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -ms-box-orient: horizontal; -webkit-align-items: flex-start; align-items: flex-start; justify-content: center; }
ul {list-style-position: inside;}

input[type="checkbox"]:not(#iubenda-cs-banner input[type="checkbox"]) { appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; display: inline-block; position: relative; }
input[type="checkbox"]:not(#iubenda-cs-banner input[type="checkbox"])::before { content: '\f0c8'; font-family: var(--font-icon); font-weight: var(--font-weight-normal); font-size: 15px; color: var(--color1); }
input[type="checkbox"]:not(#iubenda-cs-banner input[type="checkbox"]):checked::before { content: '\f14a'; font-family: var(--font-icon); font-weight: var(--font-weight-solid); color: var(--color1); }

.ztextarea p {padding-bottom: 15px;}
.ztextarea p:last-child {padding-bottom: 0px;}

/*Elementi comuni */
.caption-cnt { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -ms-box-orient: horizontal; -webkit-align-items: center; align-items: center; }
.ztemplate .title { margin: 0 0 15px 0; font-size: 200%; }
.ztemplate .title a { color: var(--color1); }
.ztemplate .zoption { margin: 0 0 10px 0; font-size: 90%; color: var(--grey); text-transform: uppercase;}
.ztemplate .zoption .fieldvalue:before { margin: 0 5px 0 0;content: "/";  }
.zsimplebutton a,
.zlink a, .btn :where(a, .varsimple) { padding: 10px 25px; display: inline-block; cursor: pointer; font-weight: var(--font-weight-medium); font-size: var(--size-mini); background-color: var(--color2); color: var(--white); letter-spacing: var(--l-spacing); text-transform: uppercase; text-decoration: none; text-align: center; line-height: 1; transition: all .6s; }
.btn.green :where(a, .varsimple) { background-color: var(--color1); }
.zlabelprice .fieldvalue:before, .upfront_amount:before, .total_amount .value:before { content: '\20AC'; margin-right: 3px; } /* Euro */
.zlabelquantity { font-size: var(--size-nano); font-weight: var(--font-weight-medium); color: var(--color2); display: flex; align-items: center; }
.zlabelquantity:before { content: 'X'; }

/* Slick Dots  */
.slick-dots { text-align: center; z-index: 10; position: absolute; left: 0; right: 0; bottom: 0px; }
.slick-dots li { margin: 0 5px; display: inline-block; }
.slick-dots li button { position: relative; width: 10px; height: 10px; border-radius: 100px; background-color: var(--color1); font-size: 0;}
.slick-dots li.slick-active button { background-color: var(--color1); width: 8px; height: 8px; margin: 13px;}
.slick-dots li.slick-active {border: 2px solid var(--black); border-radius: 100px;}
.slick-disabled { opacity: .3; pointer-events: none; }

/* Slick Arrow */
.row:has(.slick-slider) {position: relative; padding-bottom: 60px;}
button.slick-next, button.slick-prev { z-index: 11; position: absolute; bottom: 0px; background-color: transparent; border: none; font-size: 0;}
button.slick-next { left: initial; right: calc(50% - 70px); }
button.slick-prev { left: calc(50% - 70px); right: initial; }
button.slick-next:before,
button.slick-prev:before{ font-family: var(--font-icon); font-weight: var(--font-weight-extra-light); font-size: var(--size-icon); color: var(--white);}
button.slick-next:before{ content: '\f054'; padding: 15px; }
button.slick-prev:before{ content: '\f053'; padding: 15px; }

/* Slick Counter */
.slick-counter { position: absolute; bottom: 10px; z-index: 11; left: 50%; transform: translateX(-50%); }

/* header */
header {position: fixed; top: 0; z-index: 999; width: 100%; background-color: transparent;}
header .wrap { padding: 14px 20px; margin: 0 auto; display: flex; justify-content: space-between; max-width: var(--container-1); color: var(--white); font-weight: var(--font-weight-bold); font-size: var(--size-mini); text-transform: uppercase; letter-spacing: var(--l-spacing);}
header .wrap .col {width: calc(100% / 3); display: flex; align-items: center;}
header .wrap .col.cx {justify-content: center;}
header .wrap .col.dx {justify-content: end;}
.logo_alt { opacity: 0; /* transition: 0.5s; */}
header .wrap #menu_btn {display: flex; align-items: center; gap: 18px;}
header .wrap #menu_btn .bars { width: 30px;height: 10px; }
header .wrap #menu_btn .bars .bar.central { top: 50%; display: none; }
header .wrap #menu_btn .bars .bar {background-color: var(--white);}
header .contacts {display: flex; align-items: center; gap: 25px; margin-right: 40px; letter-spacing: 0;}
header .contacts :where(a, .varsimple) {font-size: 0px; text-decoration: none; cursor: pointer;}
header .contacts :where(a, .varsimple):before {font-size: 20px; font-family: var(--font-icon); color: var(--white); font-weight: var(--font-weight-light);}
header .contacts .phone a:before {content: '\f095';}
header .contacts .email a:before {content: '\f0e0';}
header .contacts .map { position: relative; transition: .4s all; }
header .contacts .map .varsimple:before {content: '\f3c5';}
header .contacts .map.fired { transform: rotate(-180deg); }
header .language {margin-left: 50px; position: relative;}
header .language #language_btn {cursor: pointer;}
header .language #language_btn:after {content:'\f0d7'; font-family: var(--font-icon); font-weight: var(--font-weight-solid); color: var(--white); margin-left: 5px;}
header .language #language {display: none; background-color: var(--color3); position: absolute; padding: 10px; left: -10px; top: 25px; box-shadow: 0px 0 4px 0px rgba(0, 0, 0, 0.20);}
header .language #language ul {display: flex; flex-direction: column; gap: 6px;}
header .language #language.fired { display: block;}
header .language .nav-pills li.active {display: none;}
header .language .nav-pills li a {color: var(--color1); text-transform: uppercase; font-weight: var(--font-weight-bold); letter-spacing: var(--l-spacing);}
header .language .nav-pills li a:hover {color: var(--color2);}
.booking_btn .varsimple {background-color: var(--color1); padding: 20px 35px; cursor: pointer; color: var(--white);}

/* Header Map */
.header_map { display: none; }

/* Hero */
#hero .logo {position: absolute; z-index: 2; top: 150px; left: 50%; transform: translateX(-50%);}
#hero .logo img { /* max-height: 220px; */ width: 440px; filter: brightness(0) invert(1); transition: 0.5s; }
#hero .tns-nav { right: 40px; left: inherit; transform: unset; }

/* Body scrolled event e Body noslide */
body.noslide { padding-top: 123px; } /* 95px; se logo_alt */
body:is(.scrolled, .noslide, .smartphone) header {background-color: var(--white); transition: 0.5s;}
body:is(.scrolled, .noslide, .smartphone) header .wrap {color: var(--color1);}
body:is(.scrolled, .noslide, .smartphone) header .wrap .col .logo {top: 0; transition: 0.5s; position: relative;}
body:is(.scrolled, .noslide, .smartphone) .wrap .col .logo img {filter: unset; max-height: 95px;}
body:is(.scrolled, .noslide, .smartphone) header .wrap #menu_btn .bars .bar {background-color: var(--color2);}
body:is(.scrolled, .noslide, .smartphone) header .contacts :where(a, .varsimple):before {color: var(--color2);}
body:is(.scrolled, .noslide, .smartphone) header .language #language_btn:after {color: var(--color2);}
body:is(.scrolled, .noslide, .smartphone) header .logo_alt { opacity: 1; }
body:is(.scrolled, .noslide, .smartphone) #hero .logo_full {transform: scale(0); opacity: 0; }

/* menu */
header .wrap .col.sx {position: relative; z-index: 1001;}
#menu_open { pointer-events: none; opacity: 0; width: 100%; height: 100vh; background-image: url(../images/bg/menu_bg.jpg); position: absolute; top: 0; left: 0; z-index: -1; background-position: center bottom; background-repeat: repeat; background-size: cover; display: flex; align-items: center; transition: 0.5s;}
#menu_open.fired { opacity: 1; transition: 0.5s; z-index: 1000; pointer-events: inherit;}
header:has(#menu_open.fired) .wrap #menu_btn .bars .bar {background-color: var(--color2);}
header:has(#menu_open.fired) .language #language_btn:after {color: var(--color2);}
header:has(#menu_open.fired) .col.sx {color: var(--color1);}
header .menu_cnt {max-width: var(--container-1); width: 100%; padding: 20px; margin: 0 auto; display: flex; justify-content: space-between;}
header .menu_cnt .menu_sx .nav {display: flex; flex-direction: column; gap: 10px;}
header .menu_cnt .menu_sx .first_menu .nav a {font-size: var(--size-serif70); font-family: var(--serif); text-transform: uppercase; color: var(--color1); display: flex; gap: 50px;}
header .menu_cnt .menu_sx .first_menu .nav .active a { color: var(--color2); }
header .menu_cnt .menu_sx .first_menu .nav a:hover {color: var(--color2); margin-left: 20px; transition: 0.5s;}
header .menu_cnt .menu_sx .first_menu .nav a:after {display: block; position: relative; bottom: 7px; width: var(--size-serif80); height: var(--size-serif80); border-radius: 500px; background-color: var(--white); font-family: var(--font-icon); content: '\f061'; font-size: var(--size-base); display: flex; align-items: center; justify-content: center; padding-left: 0px; opacity: 0; color: var(--color2);}
header .menu_cnt .menu_sx .first_menu .nav a:hover:after {opacity: 1; padding-left: 20px; transition: 0.5s;}
header .menu_cnt .menu_sx .second_menu .nav {flex-direction: row; gap: 40px; margin-top: 40px;}
header .menu_cnt .menu_sx .second_menu .nav a {font-family: var(--sans); font-size: var(--size-medium); font-weight: var(--font-weight-medium); text-transform: none; color: var(--color1);}
header .menu_cnt .menu_dx .vareditor {display: flex; flex-direction: column; gap: 15px;}
header .menu_cnt .menu_dx img { margin-bottom: 40px; }
header .menu_cnt .menu_dx h3 {font-family: var(--serif); font-size: var(--size-serif30); color: var(--color1);}
header .menu_cnt .menu_dx p,
header .menu_cnt .menu_dx a {color: var(--color1); text-decoration: none;}
header .menu_cnt .menu_dx p:last-of-type:before {display: block; width: 80px; height: 1px; background-color: var(--color1); content: ''; margin-bottom: 15px;}

/* INIZIO booking mask */
header:has(#booking_open.fired) .wrap .col.sx {position: relative; z-index: 1;}
header #booking_open { pointer-events: none; opacity: 0; z-index: -1; background-color: var(--alpha-black); width: 100%; height: 100vh; position: absolute; left: 0; top: 0; transition: 0.5s; color: var(--black);}
header #booking_open.fired {opacity: 1; z-index: 2; transition: 0.5s; pointer-events: inherit;}
header #booking_open .booking_cnt { padding-bottom: 30px; width: 545px; height: 100vh; position: absolute; z-index: 1; top: 0; right: -600px; display: flex; align-items: flex-start; flex-direction: column; background-color: var(--color1); transition: 0.5s; }
header #booking_open .booking_cnt .sub-cnt { overflow-y: scroll; } 
header #booking_open.fired .booking_cnt{right: 0px; transition: 0.5s;}
header #booking_open .close_btn {position: absolute; top: 0px; left: 0px; cursor: pointer; background-color: var(--color1); width: 80px; height: 80px; border-bottom-right-radius: 500px;}
header #booking_open .close_btn:after { font-family: var(--font-icon); color: var(--white); content: '\f00d'; font-size: 30px; font-weight: var(--font-weight-light); position: absolute; top: 15px; left: 15px;}
header #booking_open .booking_cnt #vareditor_booking_seasons {font-size: 13px; display: flex; gap: 10px; background-color: var(--white); padding: 20px; width: 100%; line-height: 1.3;}
header #booking_open .booking_cnt #vareditor_booking_seasons:before {font-family: var(--font-icon); content: '\f05a'; font-size: 30px; font-weight: var(--font-weight-light); color: var(--color1);}
header #booking_open .booking_cnt .top-cnt {padding: 80px 40px 20px; background-color: var(--color3); width: 100%;}
header #booking_open .booking_cnt .sub-cnt { background-color: var(--color1);}
header #booking_open .booking_cnt .top-cnt > *,
header #booking_open .booking_cnt .sub-cnt .caption-fields > * {width: 100%; }
header #booking_open .booking_cnt .sub-cnt .caption-fields { margin: 0;  }
header #booking_open .booking_cnt::-webkit-scrollbar {width: 6px;}
header #booking_open .booking_cnt::-webkit-scrollbar-thumb { background-color: var(--color2);}
header #booking_open .booking_cnt::-webkit-scrollbar-track { background-color: var(--white);} 
#booking_open .booking_cnt form .caption-fields .field { padding: 0 40px 20px; }
#booking_open .booking_cnt form .caption-fields .field.date { background-color: var(--color3); padding: 0 40px 40px; }

/* calendario */
.calendar_control { max-width: 459px; background-color: var(--color3); }
header #booking_open .booking_cnt .field.date .form_element_title {display: none;}
.template_calendar .calendar_dates_info {display: none;}
.template_calendar .months_picker {display: none;}
header #booking_open .booking_cnt .field.date .date_from_html {display: none;}
header #booking_open .booking_cnt .field.date.element_6 {display: none;}
.template_calendar {margin-top: 10px;}
.template_calendar .calendar_header {padding: 15px 0px; color: var(--color1); font-weight: var(--font-weight-medium);}
.template_calendar .calendar_header .controls i:before {color: var(--color2); font-weight: var(--font-weight-normal); font-size: var(--size-average); width: 30px; height: 30px; display: inline-block;}
.template_calendar .fc-calendar .fc-head {background-color: transparent; color: var(--color1);}
.template_calendar .fc-calendar .fc-body {border: none; display: flex; gap: 3px; flex-direction: column;}
.template_calendar .fc-calendar .fc-row {border: none; display: flex; gap: 3px;}
.template_calendar .fc-calendar .fc-row > div {border: none; padding: 15px; height: 60px;}
.template_calendar .fc-calendar .fc-day.fc-past {background-color: #d9d9d9; opacity: 0.4;}
.template_calendar .fc-calendar .fc-day { display: flex; justify-content: center; align-items: center; column-gap: 5px; flex-direction: column; }
.template_calendar .fc-calendar .fc-day { background-color: var(--white);}
.template_calendar .fc-calendar .fc-day.fc-other-month { background-color: transparent; }
.template_calendar .fc-calendar .fc-row > div > span.fc-date {position: relative; font-size: var(--size-mini); bottom: unset; right: unset; text-align: center; line-height: unset; letter-spacing: 1.5; font-weight: var(--font-weight-bold); color: var(--color1);}
.template_calendar .fc-calendar .fc-row > .fc-day.oob > span.fc-date {color: var(--black);}
.template_calendar .fc-calendar .fc-day.selected, .template_calendar .fc-calendar .fc-day.selection_preview {background-color: var(--color2);}
.template_calendar .fc-calendar .fc-day.selected .fc-date, .template_calendar .fc-calendar .fc-day.selection_preview .fc-date {color: var(--white);}
.template_calendar .fc-calendar .fc-day.sel-first,
.template_calendar .fc-calendar .fc-day.sel-last {background-color: var(--color1);}
.template_calendar .fc-calendar .fc-day.sel-first .fc-date,
.template_calendar .fc-calendar .fc-day.sel-last .fc-date {color: var(--white);}
.calendar_wrapper .fc-calendar .fc-row .day-content .tc-f-minStay, .calendar_wrapper .fc-calendar .fc-row .day-content .tc-f-roomCount { display: none; }
.calendar_wrapper .fc-calendar .fc-row div .day-content { margin-top: 10px; font-size: 60% !important; line-height: 0 !important; color: var(--black); }
.template_calendar .tc-f-startingPrice:before { content: '\20ac'; }
.template_calendar .fc-calendar .fc-day.selected .day-content, .template_calendar .fc-calendar .fc-day.selection_preview .day-content { color: var(--white); }

.template_calendar .fc-calendar .fc-day.oob,
.template_calendar .fc-calendar .fc-day.empty-p { opacity: .45;  }

.ibe_search_btn { margin-top: 10px; text-align: center; font-size: var(--size-mini); color: var(--white); cursor: pointer; }
.ibe_search_btn:before { margin-right: 5px; font-family: var(--font-icon); color: var(--color2); content: '\f044'; }
.ibe_search_box { background-color: var(--white); padding: 20px; margin: 0 auto; position: fixed; z-index: 9999; bottom: 50%; transform: translateY(50%); left: 15px; right: 15px; box-shadow: 0 0 10px rgb(0 0 0 / 30%); text-align: left; max-width: 560px; display: none; }
.ibe_search_box form { padding: 0; }
.ibe_search_box_close { cursor: pointer; position: absolute; top: 4px; right: 10px; background: white; font-size: 0;}
.ibe_search_box_close:before { font-family: var(--font-icon); content: '\f00d'; color: #000;font-size: var(--size-average);}
.ibe_search_box form .form { margin-bottom: 10px; padding: 0; }
.ibe_search_wrapper.fired .ibe_search_box { display: block; }
.ibe_search_wrapper.fired:before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; background-color: var(--black); opacity: .8; }
.ibe_search_box_title { display: none; }
header #booking_open .booking_cnt .sub-cnt .ibe_search_box .form_element_title { padding-left: 0; color: var(--black); color: var(--color1); font-weight: var(--font-weight-medium); font-size: var(--size-mini); }
header #booking_open .booking_cnt .sub-cnt .ibe_search_box input[type="text"] { background-color: var(--white); border: 1px solid #dedede; }
header #booking_open .booking_cnt .sub-cnt .ibe_search_box input[type="submit"] { margin: 15px 0 0; width: 100%; }

/* guest */
header #booking_open .booking_cnt .sub-cnt .form_element_title { color: var(--white); font-size: var(--size-base); text-transform: none; padding-left: 15px;}
header #booking_open .booking_cnt .sub-cnt .element_11 {/* isplay: none; */}
header #booking_open .booking_cnt .sub-cnt input[type="text"],
header #booking_open .booking_cnt .sub-cnt input[type="password"] {background-color: #4a621b; color: var(--white); border: none;}
header #booking_open .booking_cnt .sub-cnt input[type="submit"] { margin: 15px 40px; padding: 15px; font-size: var(--size-mini); letter-spacing: var(--l-spacing); color: var(--white); font-weight: var(--font-weight-medium); background-color: var(--color2);  }
header #booking_open .booking_cnt .edit_reservation .varlink {text-align: center;}
header #booking_open .booking_cnt .edit_reservation .varlink a {text-align: center; color: var(--white); text-decoration: none;}
header #booking_open .booking_cnt .edit_reservation .varlink:before {font-family: var(--font-icon); color: var(--color2); content: '\f044';}
.b_mask .guests_wrapper { padding: 10px; display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 545px; flex-direction: column; z-index: 100; flex-direction: column; background-color: var(--color3);}
.b_mask .b_mask_summary {width: 100%!important; margin-top: 20px;}
.b_mask .b_mask_summary input {cursor: pointer;}
.b_mask.fired .guests_wrapper {display: flex;}
header #booking_open .booking_cnt .overlay_mask {display: none;}
header #booking_open .booking_cnt:has(.b_mask.fired) .overlay_mask {display: block; position: fixed; top: 0; left: 0; background-color: var(--alpha-black); width: 100%; height: 100vh;}
.b_mask .guests_wrapper > * {width: 100%;}
.b_mask .guests_wrapper .guests_desc {font-family: var(--serif); font-size: var(--size-serif30); color: var(--color1); padding: 10px 50px 10px; text-align: center;}
.b_mask .guests_wrapper .b_mask_n_rooms {display: none;}
.b_mask .guests_wrapper .group_wrapper .merge_group {width: 100%; display: flex; justify-content: center; flex-wrap: wrap; position: relative;}
.b_mask .guests_wrapper .group_wrapper .merge_group .select {width: calc(100% / 2); text-align: center; background-color: var(--white);}
.b_mask .guests_wrapper .group_wrapper .merge_group .group_title {width: 100%; background-color: var(--color1); color: var(--white); padding: 5px; font-size: var(--size-base); text-align: center;}
header #booking_open .booking_cnt .b_mask .guests_wrapper .group_wrapper .merge_group .select .form_element_title {font-size: var(--size-mini); color: var(--black); font-family: var(--sans); padding: 10px 0 0;}
.guests_wrapper .group_wrapper .merge_group .form.field .form_select .element_list {display: none !important;}
.guests_wrapper .group_wrapper .merge_group .form.field .form_select .add_btn:before {content: '\f055'; font-family: var(--font-icon); color: var(--color1); font-size: 16px; font-weight: var(--font-weight-solid); cursor: pointer; margin-left: 8px;}
.guests_wrapper .group_wrapper .merge_group .form.field .form_select .rem_btn:before {content: '\f056'; font-family: var(--font-icon); color: var(--color1); font-size: 16px; font-weight: var(--font-weight-solid); cursor: pointer; margin-right: 8px;}
.guests_wrapper .group_wrapper .merge_group .form.field .form_select .current_value {font-size: 18px;}
.guests_wrapper .group_wrapper .merge_group .form.field .form_select .current_value:after {display: none;}
.guests_wrapper .group_wrapper .merge_group .form.field .form_select {border: none; padding: 0; text-align: center; display: flex; justify-content: center;}
.guests_wrapper .group_wrapper .merge_group .form.field .form_select {display: flex; justify-content: center; gap: 5px;}
.guests_wrapper .form_merge_add_button {font-size: var(--size-mini); letter-spacing: var(--l-spacing); font-weight: var(--font-weight-bold); color: var(--color1); text-align: center; padding: 15px; text-transform: uppercase; cursor: pointer;}
.guests_wrapper .form_merge_add_button[disabled="disabled"] { display: none; }
.guests_wrapper .form_merge_add_button:before {content: '\f055'; font-family: var(--font-icon); color: var(--color1); font-size: 16px; font-weight: var(--font-weight-solid); cursor: pointer; margin-right: 8px;}
.guests_wrapper .guests_wrapper_ok {font-size: var(--size-mini); letter-spacing: var(--l-spacing); color: var(--white); font-weight: var(--font-weight-medium); background-color: var(--color2); padding: 15px; width: 100%; text-align: center; text-transform: uppercase; cursor: pointer;}
.guests_wrapper .group_wrapper .merge_group:last-child .form_merge_rem_button { display: block; }
.guests_wrapper .group_wrapper .merge_group:first-child .form_merge_rem_button,
.guests_wrapper .group_wrapper .merge_group .form_merge_rem_button { display: none; }
.guests_wrapper .group_wrapper .merge_group .form_merge_rem_button { font-size: 0; }
.guests_wrapper .group_wrapper .merge_group .form_merge_rem_button:before { position: absolute; right: 10px; top: 6px; text-align: end; content: '\e2b4'; font-family: var(--font-icon); color: var(--white); font-size: 16px; font-weight: var(--font-weight-solid); cursor: pointer; }

/* home hero section */
#hero #slideshow img {width: 100%; object-fit: cover; max-height: calc(100vh - 190px);}
#hero #slideshow:before { content: ''; position: absolute; left: 0; bottom: 0; z-index: 1; width: 100%; height: 50%; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.65) 100%);}
.body_home #hero #slideshow img { height: 100vh; max-height: unset; }
#hero {position: relative;}
#hero .caption { position: absolute; z-index: 2; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: 15px; align-items: center; text-align: center; font-size: var(--size-serif100); font-family: var(--serif); color: var(--white); text-transform: uppercase; display: none; }
#hero .caption span { font-size: var(--size-serif30); }
#hero .caption:after {display: block; height: 100px; width: 1px; background-color: var(--white); content: '';}
#hero .slick-dots {display: none !important;}
#hero .slick-arrow {display: none !important;}

/* TNS Controls */
.tns-nav { display: flex; align-items: center; gap: 10px; position: absolute; z-index: 3; bottom: 30px; left: 50%; transform: translateX(-50%);}
.tns-nav button { width: 15px; height: 2px; background-color: var(--white); opacity: .5; transition: .4s all;}
.tns-nav button:before { content: ''; position: absolute; height: 20px; top: -10px; width: 100%; }
.tns-nav button.tns-nav-active { opacity: 1; width: 25px; }
.tns-controls { display: flex; gap: 50px; position: absolute; z-index: 2; left: 50%; bottom: -10px; transform: translateX(-50%);}
.tns-controls button { background-color: transparent; }
.tns-controls button > div:before { font-family: var(--font-icon); font-weight: var(--font-weight-extra-light); font-size: var(--size-icon); color: var(--color2); }
.tns-controls button[disabled] { opacity: .3; pointer-events: none; }
.tns-controls .prev:before {  content: '\f053'; }
.tns-controls .next:before { content: '\f054'; }
.slide-counter { text-align: center; position: absolute; left: 50%; bottom: 0; z-index: 2; transform: translateX(-50%); color: var(--grey); }

#home .top h1.top_seo { margin: 0 auto; padding: 50px 15px; text-transform: inherit; font-family: var(--serif); font-size: var(--size-serif30); color: var(--grey); text-align: center; max-width: 700px; line-height: normal;}

.divider { padding: 0 15px; width: 100%; max-width: var(--container-2); margin: 0 auto; display: flex; justify-content: center;}
.divider.max-width-2 { padding: 0; max-width: var(--max-width-2); }
.divider.max-width-1 { padding: 0; max-width: var(--container-1); }
.divider img {padding: 0 10px; max-height: 30px;}
.divider:before, .divider:after {display: block; content: ''; border-bottom: 1px solid var(--color1); width: 100%; height: 15px;}
.divider.section_title :where(.varsimple) { margin-bottom: 0; font-size: var(--size-big); text-transform: inherit; width: 100%; }
.divider.section_title { align-items: center; }

/* Pagina standard */
#content_body { padding: 0 20px; }
#content_body.text_center { text-align: center; }
#content_body.has_submenu { margin: 40px auto; width: 100%; max-width: var(--max-width-2);  display: flex; gap: 30px; align-items: flex-start; }
.content_cnt { margin: 0 auto 40px; width: 100%; max-width: var(--max-width); }
#content_body.has_submenu .content_cnt { margin-bottom: 0; }
#page #cnt_title { padding: 40px 20px; text-align: center;}
.section_title :where(.varsimple, #page_name, #container_name) { margin-bottom: 30px; font-family: var(--serif); font-size: var(--size-serif80); text-transform: uppercase; color: var(--color1); }
#page #cnt_title .text { margin: 0 auto; font-family: var(--serif); font-size: var(--size-serif30); max-width: 1120px; line-height: 1.3;}
.top_seo { margin-bottom: 20px; color: var(--color1); text-transform: uppercase; font-size: var(--size-mini); letter-spacing: var(--l-spacing); font-weight: var(--font-weight-medium); }
#page .text_dyn { line-height: 1.3; }
#page :where(.text_dyn, .text) ul { margin: 15px 0; padding-left: 25px; list-style-position: initial; overflow: hidden; }
#page :where(.text_dyn, .text) ul li { margin-bottom: 10px; }
#page .text_dyn a { color: var(--color2); text-underline-offset: 4px;}
#page .text_dyn :where(h3, h4, h5, h6) { margin-bottom: 5px; font-weight: var(--font-weight-medium); text-transform: uppercase; }
#page .text_dyn h2 { margin-bottom: 5px; padding-bottom: 5px; border-bottom: 1px solid var(--color2); font-family: var(--serif); color: var(--color1); overflow: hidden; }
#page .text_dyn .fieldvalue { margin-bottom: 40px; }
#page .text_dyn .fieldvalue:last-of-type { margin-bottom: 0; }
#page :where(.text_dyn, .text) p { margin-bottom: 15px; line-height: 1.3; }

/* Vetriuna offerte */
#offerslist .btn { margin-bottom: 40px; text-align: center; }
#offerslist .section_var_seo { max-width: var(--container-1); margin: 40px auto; }
#offerslist .section_var_seo p { margin-bottom: 15px; line-height: 1.2; }
#offerslist .section_var_seo h2 { margin-bottom: 10px; padding-bottom: 5px; font-family: var(--serif); text-transform: uppercase; border-bottom: 1px solid var(--color2); }

/* User Privacy */
.body_user_privacy_panel .form-cnt { margin: 40px auto; max-width: 490px; }
.body_user_privacy_panel .form-cnt form .caption-fields .field { width: 100%; }
.body_user_privacy_panel .form-cnt form input[type="submit"] { margin: 0 5px; width: 100%; }
.body_user_privacy_panel .section_title :where(.varsimple, #page_name, #container_name) { margin-bottom: 0; }

/* Albums */
#albums { display: flex; flex-wrap: wrap; gap: 20px; }
#albums .album { padding: 15px; width: calc(50% - 20px); text-align: center; background-color: var(--white_30); border: 1px solid var(--color1_10); }
#albums .album a { text-decoration: none; }
.album_title { margin: 15px 0; padding-bottom: 15px; border-bottom: 1px solid var(--color2); font-family: var(--serif); font-size: var(--size-serif30); color: var(--color2);  }

/* Pagina interna album */
.body_album { text-align: center; }
.btn_divider { margin: 40px auto; display: inline-flex; justify-content: center; align-items: center; gap: 20px; text-align: center; width: 100%; max-width: var(--max-width-2); }
.btn_divider:before, .btn_divider:after { content: ''; display: inline-block; position: relative; width: 100%; height: 1px; background-color: var(--color2); pointer-events: none; }
.btn_divider .varlink { width: 40%; }
.btn_divider .varsimple { width: 60%; }
.body_album .content_cnt { max-width: var(--max-width-2); margin: 30px auto; display: flex; flex-wrap: wrap; gap: 20px; }
.body_album .content_cnt a { display: inline-block; width: calc(100% / 4 - 15px); }

/* Video */
.videos .video { margin-bottom: 30px; }

/* Vetrina */
.showcase #cnt_title { margin: 0 auto; padding: 70px 20px; max-width: var(--container-3); text-align: center; font-family: var(--serif); font-size: var(--size-serif30); }
.showcase #cnt_title :where(#page_name, #container_name) { margin-top: 30px; font-size: var(--size-serif80); text-transform: uppercase; color: var(--color1);  }
.showcase .seasons_filter_tpl .template_filters .form_radio { margin-top: 0; }

/* Vetrina camere */
.showcase_rooms_tpl { padding: 0 20px; }
.showcase_rooms_tpl .box { display: flex; flex-direction: column; gap: 60px; }
.showcase_rooms_tpl .caption-cnt { position: relative; }
.showcase_rooms_tpl .caption-alt { padding: 40px; color: var(--white); position: absolute; z-index: 2; bottom: 0; left: 0; width: 100%; }
.showcase_rooms_tpl .caption-alt .ztextarea { width: 50%; margin: 30px 0 20px; line-height: 1.3; }
.showcase_rooms_tpl .title a { color: var(--white); text-decoration: none; font-family: var(--serif); font-size: var(--size-big); }
.showcase_rooms_tpl .caption { width: 100%; position: relative; }
.showcase_rooms_tpl .caption:before { content: ''; position: absolute; z-index: 1; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 49.8%, rgba(0, 0, 0, 0.65) 100%); }
.showcase_rooms_tpl img { min-width: unset!important; width: 100%; object-fit: cover; height: calc(100vh - 95px - 40px); filter: brightness(.75);}
:is(.showcase_rooms_tpl, .rooms_details) :where(.zinput, .znumber) { margin-right: 10px; padding-right: 10px; font-size: var(--size-nano); text-transform: uppercase; display: inline-flex; align-items: center; gap: 5px; }
:is(.showcase_rooms_tpl, .rooms_details) :where(.zinput, .znumber):after { margin-left: 10px; content: '/'; font-size: var(--size-serif30); color: var(--color2); }
:is(.showcase_rooms_tpl, .rooms_details) :where(.zinput, .znumber) .fieldkey:after { content: ':'; }
:is(.showcase_rooms_tpl, .rooms_details) .zinput.g7:after { display: none; }
:is(.showcase_rooms_tpl .zinput.g16, .rooms_details .znumber.g16) :where(.decimal, .comma) { display: none; }
.showcase_rooms_tpl.grid_tpl .slick-counter { color: var(--white); bottom: unset; right: 60px; top: 80px; left: unset;  }
.showcase_rooms_tpl.grid_tpl button.slick-prev { left: unset; right: 100px; top: 70px; bottom: unset; }
.showcase_rooms_tpl.grid_tpl button.slick-next { left: unset; right: 30px; top: 70px; bottom: unset; }
.showcase_rooms_tpl.grid_tpl .tns-controls { z-index: 3; top: 70px; right: 30px; left: unset; bottom: unset; transform: unset; }
.showcase_rooms_tpl.grid_tpl .tns-controls button > div:before { color: var(--white); }
.showcase_rooms_tpl .slide-counter { color: var(--white); bottom: 10px; }

/* Pagina Camera */
.rooms_details { margin-bottom: 40px; display: flex; align-items: center; justify-content: center; width: 100%; }
#page.room .section_title :where(.varsimple, #page_name, #container_name) { margin-bottom: 0; }

/* Pagina Blog */
body.body_blog :where(img.left, img.right) { margin: 0 0 20px 0!important; width: 100%; float: none!important; }
body.body_blog .section_title :where(.varsimple, #page_name, #container_name) { font-size: var(--size-big); }
.data_fld { display: flex; align-items: center; justify-content: center; gap: 5px; }
.data_fld .fieldvalue .month { display: inline-flex; align-items: center; gap: 5px;}
.data_fld .month:before, .data_fld .month:after { content: '/'; }
.data_fld:before { font-family: var(--font-icon); content: '\e0d6'; font-weight: var(--font-weight-light); color: var(--color1); }

/* Vetrina Grid Box */
.showcase_tpl { padding: 0 20px; }
.showcase_tpl .grid_box { margin: 0 auto; display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 60px; max-width: var(--container-1); }
.showcase_tpl .grid_box.small { gap: 30px; }
.showcase_tpl .grid_box .elem { width: calc(50% - 30px); }
.showcase_tpl .grid_box.small .elem { width: calc(100% / 3 - 20px); background-color: var(--white);}
.showcase_tpl .grid_box .caption-cnt { flex-direction: column; }
.showcase_tpl .grid_box :where(.caption, .caption-alt) { width: 100%; }
.showcase_tpl .grid_box .caption-alt { padding: 20px; line-height: 1.3; }
.showcase_tpl .title a { text-decoration: none; font-family: var(--serif); font-size: var(--size-big); }
.showcase_tpl .grid_box.small .title a { font-size: var(--size-serif30); }
.showcase_tpl .zsimplebutton { margin-top: 20px;}

/* Vetrina Offerte */
.min_stay_fld { display: flex; align-items: center; gap: 10px; font-size: var(--size-mini); font-weight: var(--font-weight-medium); text-transform: uppercase; color: var(--color1); }
.min_stay_fld .fieldkey:after { content: ':'; }
.box.offers .caption-add { display: none; }
.offer_validity_dates, .offer_minstay, .offers_validity { margin-bottom: 0; font-size: var(--size-mini); font-weight: var(--font-weight-medium); text-transform: uppercase; color: var(--color1); }
.offer_minstay .fieldvalue { display: none; }
.box.offers .ztextarea { margin-top: 15px; }
.box.offers .zsimplebutton, .box.offers .zlink { margin-right: 15px; display: inline-block; }
.box.offers .zimage img { max-height: 378px; min-height: 378px; object-fit: cover; object-position: center top; }
.offer_btn a { background-color: var(--color1); }

/* Pagina Offerta */
body.body_offerta .section_title :where(.varsimple, #page_name, #container_name) { --size-serif80: 50px; }
body.body_offerta #content_body { margin: 0 auto 30px; max-width: 920px; }
body.body_offerta #content_body.has_submenu { max-width: unset; }
.offer_img img { width: 100%;  }
.offer_img_cnt { width: 40%; max-width: 460px; }
.offer_desc_cnt { width: 60%; }
body.body_offerta .offer_details { margin-bottom: 20px; }
.body_offerta .offer_details { display: flex; flex-direction: column; gap: 5px; }
.body_offerta #page :where(.text_dyn, .text),
.body_offerta #page :where(.text_dyn, .text) ul { line-height: 1.3; font-family: var(--sans)!important; color: var(--grey)!important; font-size: var(--size-base)!important; font-weight: var(--font-weight-normal)!important; }
.flex_cnt { display: flex; gap: 20px;  }


/* Landing */
#page.landing #content_body { margin-top: 40px; }
#page.landing .text_dyn h2 { margin-bottom: 30px; }
#page.landing .text_dyn .fieldvalue { margin-bottom: 30px; padding: 30px; overflow: hidden; background-color: var(--white); }
#page.landing .text_dyn .fieldvalue :where(img.left, img.right) { width: 50%; }

/* whatsapp */
.inline.whatsapp { position: fixed; top: unset; left: -120px; right: unset; bottom: 30px; transition: 1s; z-index: 99 }
.inline.whatsapp.scrolled { left: 15px; transition: 1s; }
.inline.whatsapp a { color: transparent; font-size: 0; margin: 0px 0px 0px 0px; border-radius: 100%; width: 52px; height: 52px; display: inline-block; background-color: #01e675; position: relative; }
.inline.whatsapp a:hover,.inline.whatsapp a:link,.inline.whatsapp a:visited { color: #01e675; }
.inline.whatsapp a:after { font-family: var(--font-icon-alt); font-size: var(--size-serif30); content: "\f232"; margin-left: 0px; position: absolute; color: #FFFFFF; right: 13px; top: 12px }


/* BEI - Step */
#varscript_secure , .cart_btn, .cart_detail_wrapper #cart_detail { display: none; }
.ecommerce :where(.selected_date, .selected_date .dates, .selected_date .guests) { display: flex; align-items: center; justify-content: center; color: var(--color1); font-weight: var(--font-weight-medium); text-transform: uppercase; font-size: var(--size-nano); }
.ecommerce .selected_date { margin-bottom: 30px; gap: 20px; }
.ecommerce .selected_date :where(.dates, .guests) { gap: 10px; }
.ecommerce .selected_date :where(.dates, .guests):before { font-family: var(--font-icon); color: var(--color2); font-size: var(--size-medium); font-weight: var(--font-weight-light); }
.ecommerce .selected_date .dates:before { content: '\e0d6';}
.ecommerce .selected_date .guests:before { content: '\f8f7';}
.ecommerce .selected_date .dates .value:first-of-type:after { margin-left: 10px; font-family: var(--font-icon); font-size: var(--size-micro); font-weight: var(--font-weight-light); content: '\f054'; }
.ecommerce .selected_date .varsimple { padding: 10px 15px; color: var(--white); cursor: pointer; background-color: var(--color2);  }
.bei_content { margin: 0 auto; max-width: var(--container-1); }
.bei_rooms_tpl .room .title { color: var(--color2); font-size: var(--size-serif30); width: 100%; }
.bei_rooms_tpl :where(.zinput, .znumber) { margin-right: 10px; padding-right: 10px; font-size: var(--size-nano); text-transform: uppercase; display: inline-flex; align-items: center; gap: 5px; font-weight: var(--font-weight-medium); color: var(--color1);}
.bei_rooms_tpl :where(.zinput, .znumber):after { margin-left: 10px; content: '/'; font-size: var(--size-serif30); color: var(--color2); font-weight: var(--font-weight-normal);}
.bei_rooms_tpl :where(.zinput, .znumber) .fieldkey:after { content: ':'; }
.bei_rooms_tpl .zinput.g18 { margin: 0 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; }
.bei_rooms_tpl .zinput.g18:after { display: none; }
.bei_rooms_tpl .zinput.g18 .fieldkey { font-weight: var(--font-weight-light);}
.bei_rooms_tpl .zinput.g18 .fieldkey:after { display: none;}
.bei_rooms_tpl .zinput.g18 .fieldvalue { font-size: var(--size-medium);}
.bei_rooms_tpl .zinput.g18 .fieldvalue:before { content: '\20AC'; margin-right: 3px; } /* Euro */
.bei_rooms_tpl .zinput.g7:after { display: none; }
.bei_rooms_tpl .zinput.g16 :where(.decimal, .comma) { display: none; }
.bei_rooms_tpl .bei_show_all_images { font-size: 0; position: absolute; left: 15px; bottom: 15px; width: 40px; height: 40px; line-height: 40px; text-align: center; z-index: 2; background-color: var(--white); color: var(--color2); cursor: pointer; }
.bei_rooms_tpl .bei_show_all_images:before { font-family: var(--font-icon); content: '\f083'; font-size: var(--size-medium); font-weight: var(--font-weight-extra-light); }
.bei_rooms_tpl .room > .elem { margin-bottom: 50px; position: relative; min-height: 340px; position: relative; }
.bei_rooms_tpl .room > .elem.selected { padding: 15px; background-color: var(--color1_10); }
.bei_rooms_tpl .room > .elem > .caption-cnt { position: static; padding: 0 0 0 var(--rooms-image-width);}
.bei_rooms_tpl .room > .elem .rate-group { margin-bottom: 15px; }
.bei_rooms_tpl .room > .elem .rate-group:last-of-type { margin-bottom: 0; }
.bei_rooms_tpl .room .caption:not(.subcontents .caption) { padding: 0 var(--rooms-image-gap) 0 0; width: var(--rooms-image-width); position: absolute; top: 0; left: 0; z-index: 1; }
.bei_rooms_tpl .room .caption-cnt:not(.subcontents .caption-cnt) { flex-direction: column; position: relative; } 
.bei_rooms_tpl .room .caption-add:not(.subcontents .caption-add),
.bei_rooms_tpl .room .caption-alt:not(.subcontents .caption-alt) { width: 100%; display: flex; flex-wrap: wrap; }
.bei_rooms_tpl .room .subcontents { padding: 10px 0 0 var(--rooms-image-width);}
.bei_rooms_tpl .rate-group-content { display: flex; flex-direction: column; gap: 10px; }
.bei_rooms_tpl .rate-group-content .caption-alt { margin: 0 30px 0 auto; }
.bei_rooms_tpl .rate-group-content .caption-alt .zlabel.g6 { display: flex; align-items: flex-start; padding: 5px; gap: 5px; background-color: var(--color3); color: var(--color1); text-transform: uppercase; font-size: var(--size-micro); flex-direction: column; min-width: 110px; }
.bei_rooms_tpl .rate-group-content .caption-alt .zlabel.g6 .fieldvalue { font-weight: var(--font-weight-medium); font-size: var(--size-mini); display: flex; }
.bei_rooms_tpl .rate-group-content .caption-alt .zlabel.g6 .fieldvalue:before { content: '\20AC'; margin-right: 3px; } /* Euro */
.original_price { text-decoration: line-through; }
.original_price .fieldvalue:before { content: '\20AC'; margin-right: 3px; } /* Euro */
.save_price { margin-bottom: 15px; padding: 8px 10px; display: flex; align-items: center; gap: 10px; background-color: var(--color2); color: var(--white); border-radius: 100px; font-size: 80%; }
.save_price .fieldvalue:before { content: '\20AC'; margin-right: 3px; } /* Euro */
.save_price .fieldkey:before { content: '\f646'; font-family: var(--font-icon); margin-right: 3px;}
.bei_rooms_tpl .rate-group-content .elem { padding: 10px; background-color: var(--white); }
.bei_rooms_tpl .rate-group-content .elem.selected { border: 1px solid var(--color2); }
.bei_rooms_tpl .rate-group-content .caption-add { display: flex; flex-direction: column; gap: 10px; justify-content: center; align-items: center; }
.bei_rooms_tpl .rate-group-content .caption-add .zlabelprice .fieldkey { display: none; }
.bei_rooms_tpl .rate-group-content .caption-add .zlabelprice { color: var(--color1); font-weight: var(--font-weight-medium); font-size: var(--size-medium); }
.bei_rooms_tpl .rate-group-content .caption-add .fieldkey {  }
.bei_rooms_tpl .rate-group-content .caption-add .prod_sel_content { text-align: center; height: auto; border: unset; width: 20px; color: var(--color1); font-weight: var(--font-weight-medium); font-size: var(--size-medium); }
.bei_rooms_tpl .rate-group-header :where(.rate-group-cond,.rate-group-price,.rate-group-rooms ) { display: none; }
.bei_rooms_tpl .rate-group-content .caption-add .product_selection_wrap { display: flex; align-items: center; justify-content: center; gap: 10px; }
.bei_rooms_tpl .rate-group-content .prod_sel_rem:before { font-family: var(--font-icon); content: '\f056'; color: var(--color2); font-weight: var(--font-weight-solid); }
.bei_rooms_tpl .rate-group-content .prod_sel_add:before { font-family: var(--font-icon); content: '\f055'; color: var(--color2); font-weight: var(--font-weight-solid); }
.bei_rooms_tpl .rate-group-content :where(.prod_sel_add, .prod_sel_rem).disabled { pointer-events: none; opacity: .2; }
.bei_rooms_tpl .zlabel:where(.g15, .g16, .g23, .g24) { display: none; }
.bei_rooms_tpl .rate-group-content .elem .zlabel.g8 .fieldkey,
.bei_rooms_tpl .rate-group-content .elem .zlabel.g8 .canc_policy,
.bei_rooms_tpl .rate-group-content .elem .zlabel.g8 .payment_policy_text { display: none; }
.bei_rooms_tpl .rate-group-content .elem .zlabel.g8 .payment_policy_label,
.bei_rooms_tpl .elem .rate_arrangement { text-transform: uppercase; color: var(--color1); font-size: var(--size-nano); font-weight: var(--font-weight-medium); display: flex; gap: 5px; }
.bei_rooms_tpl .rate-group-content .elem .zlabel.g8 .payment_policy_label:before { font-family: var(--font-icon); content: '\f00c'; color: var(--color2); font-weight: var(--font-weight-light);}
.rate_arrangement .fieldvalue:before { margin: 0 5px 0 0; font-family: var(--font-icon); font-weight: var(--font-weight-solid); color: var(--color2); }
.treatment-breakfast .rate_arrangement .fieldvalue:before { content: "\f7b6"; }
.treatment-room .rate_arrangement .fieldvalue:before { content: "\f8f7"; }
.treatment-half .rate_arrangement .fieldvalue:before, .treatment-full .rate_arrangement .fieldvalue:before { content: "\e559"; }
.treatment-all .rate_arrangement .fieldvalue:before { content: "\f561"; }
.bei_rooms_tpl .room .subcontents .caption { display: flex; flex-wrap: wrap; align-items: center; column-gap: 20px; }
.bei_rooms_tpl .room .subcontents .title { width: 100%; color: var(--color1); text-transform: uppercase; font-size: var(--size-base); font-weight: var(--font-weight-medium); }
.bei_rooms_tpl .rate-group-title { margin-bottom: 10px; padding: 6px; background-color: var(--color1); color: var(--white); text-transform: uppercase; font-weight: var(--font-weight-medium); font-size: var(--size-micro); letter-spacing: var(--l-spacing);}
.bei_rooms_tpl .zcheckbox .fieldkey { display: none; }
.bei_rooms_tpl :where(.open_detail, .rate_details) { margin: 0 15px 0 0; font-size: var(--size-nano); text-transform: uppercase; display: inline-flex; align-items: center; gap: 5px; font-weight: var(--font-weight-medium); color: var(--color1); cursor: pointer; }
.bei_rooms_tpl :where(.open_detail, .rate_details):before { font-family: var(--font-icon); content: '\f0fe'; color: var(--color2); font-weight: var(--font-weight-light);}
.bei_rooms_tpl :where(.open_detail, .rate_details).fired:before { content: '\f146'; }
.bei_rooms_tpl .zcheckbox { margin: 0 0 15px 0; background-color: var(--white); padding: 20px; display: none; flex-wrap: wrap; gap: 15px}
.bei_rooms_tpl .zcheckbox.fired { display: flex; margin-top: 15px; }
.bei_rooms_tpl .bei_summary_fld { margin: 0 0 15px 0; width: 100%; display: none; }
.bei_rooms_tpl .bei_summary_fld.fired { display: block; margin-top: 15px; }

/* Tariffe highlighted */
.bei_rooms_tpl .subcontents .elem.highlighted { padding: 10px; background-color: var(--highlighted); border: 1px solid var(--color1); }
.bei_rooms_tpl .subcontents .elem.highlighted:before { font-family: var(--font-icon); content: '\e036'; color: var(--color2); }
.bei_rooms_tpl .rate-group-content .elem.highlighted .caption-alt .zlabel.g6 { background-color: var(--white); }
.bei_rooms_tpl .rate-group-content .elem.highlighted .caption-add .prod_sel_content { background-color: var(--highlighted); }

/* Nessun risultato */
body.no_results .total_amount { display: none; }

/* Prezzi giornalieri */
.bei_rooms_tpl .subcontents .zlabel.zlabelprice { position: relative; display: inline-block; width: auto;}
.zlabel.price_per_day { display: none; position: absolute; top: 30px; right: 0; background-color: #fff; border: 1px solid var(--color1); z-index: 3; max-height: 356px; overflow-y: auto; overflow-x: hidden;}
.zlabel.price_per_day::-webkit-scrollbar { width: 4px; background-color: var(--color1);}
.zlabel.price_per_day::-webkit-scrollbar-thumb { background-color: var(--color2);}
.zlabel.price_per_day .fieldvalue:before, .zlabel.price_per_day .fieldvalue:after { display: none; }
.bei_rooms_tpl .rate-group-content .caption-add .zlabelprice .price_per_day .fieldkey { display: block; padding: 10px; font-size: var(--size-micro); text-transform: uppercase; text-align: center!important; background-color: var(--color1); color: var(--white)!important;}

.zlabel.price_per_day.fired { display: block; }
.zlabel.price_per_day .day_price { display: flex; align-items: center; margin-bottom: 5px; border-bottom: 1px solid #dedede; padding: 10px;}
.zlabel.price_per_day .day_price:last-of-type { margin-bottom: 0; border-bottom: unset; padding-bottom: 10px;}
.day_price .date { margin-right: 20px; font-size: 70%;}
.day_price .number, .day_price .comma, .day_price .decimal { font-size: 70%; }
.day_price .number:before { margin: 0 2px 0 0; content: "\20ac"; text-transform: uppercase; font-size: 100%; text-align: left; }
.bei_rooms_tpl .subcontents .caption-cnt > li { position: relative;}
.bei_rooms_tpl .subcontents .zlabelprice { display: inline-block; width: auto;}
.show_prices:after { font-family: var(--font-family-ico); content: '\f141'; font-size: 20px; margin-left: 10px; cursor: pointer;}
.bei_rooms_tpl .subcontents .caption-cnt .caption-alt, .bei_rooms_tpl .subcontents .caption-cnt .caption-add { position: relative; }
.ztemplatebei_rooms_tpl_rooms .rooms .caption-add { z-index: inherit;}
.smartphone .subcontents .zlabel.price_per_day .fieldkey { color:var(--white); }
.smartphone .zlabel.price_per_day .day_price { color: var(--primary-color);}


.show_prices:after { font-family: var(--font-icon); content: '\f05a'; font-size: 20px; margin-left: 10px; cursor: pointer; font-weight: var(--font-weight-light);}
.bei_rooms_tpl .subcontents .caption-cnt .caption-alt, .bei_rooms_tpl .subcontents .caption-cnt .caption-add { position: relative; }
.bei_rooms_tpl .rooms .caption-add { z-index: inherit;}
.smartphone .subcontents .zlabel.price_per_day .fieldkey { color:var(--white); }
.smartphone .zlabel.price_per_day .day_price { color: var(--primary-color);}

/* BEI - Order */
#page.order #content_body { display: flex; align-items: flex-start; gap: 20px; }
#page.order #content_body .col { padding: 20px; width: 50%; border: 1px solid var(--white); background-color: var(--white_30); }
#page.order #content_body .col.center { margin: 0 auto; text-align: center; line-height: 1.3; }
.ecommerce :where(.selected_date, .selected_date .dates, .selected_date .guests) { --size-nano: 12px; }
#page.order .col .title:not(.room .title) { margin: 0 0 20px 0; font-size: var(--size-serif30); color: var(--color1);  }
#page.order .col .selected_date { padding-bottom: 10px; justify-content: flex-start; border-bottom: 1px solid var(--color1); }
#page.order .bei_rooms_tpl .room .caption:not(.subcontents .caption) { padding: 0 15px 0 0; width: 165px; }
#page.order .bei_rooms_tpl .room > .elem > .caption-cnt { padding: 0 0 0 165px; min-height: 100px; }
#page.order .bei_rooms_tpl .room .subcontents { padding: 15px 0 0 0; }
#page.order .bei_rooms_tpl .room_count { display: none; }
#page.order .bei_rooms_tpl .room .title { margin-bottom: 10px; font-size: var(--size-average); }
#page.order .bei_rooms_tpl :where(.open_detail, .rate_details) { /* margin-bottom: 5px; */ }
#page.order .bei_rooms_tpl :where(.zinput, .znumber) { margin-right: 5px; padding-right: 5px; }
#page.order .bei_rooms_tpl .room > .elem { margin-bottom: 20px; padding: 20px; background-color: var(--white); min-height: unset; }
#page.order .bei_rooms_tpl .zcheckbox { margin-top: 10px; background-color: var(--color3); }
#page.order .bei_rooms_tpl .bei_summary_fld { margin-top: 10px; }
#page.order .bei_rooms_tpl .room .subcontents .title { font-size: var(--size-base); width: calc(100% - 25px); }
#page.order .bei_rooms_tpl .room .subcontents .title:not(.rate_detail .title) { margin-bottom: 0; }
#page.order .bei_rooms_tpl .room .subcontents .zlabel.g6 { display: none; }
#page.order .bei_rooms_tpl .room .subcontents .elem:not(.rate_detail .elem) { padding: 10px; background-color: var(--color3); }
#page.order .bei_rooms_tpl .room .subcontents .elem:not(.rate_detail .elem) .caption-add { margin-left: auto; }
#page.order .bei_rooms_tpl .room .subcontents .elem:not(.rate_detail .elem) .zlabelprice .fieldkey { display: none; }
#page.order .bei_rooms_tpl .room .subcontents .elem:not(.rate_detail .elem) .zlabelprice { color: var(--color1); font-weight: var(--font-weight-medium); }
#page.order .bei_rooms_tpl .room .subcontents .elem:not(.rate_detail .elem) .caption { display: flex; flex-wrap: wrap; gap: 5px; column-gap: 15px; }
#page.order .bei_rooms_tpl .room .subcontents .elem:not(.rate_detail .elem) .zlabelquantity { width: 20px; }
#page.order .bei_rooms_tpl .box.service_title { margin-bottom: 20px; padding: 20px; background-color: var(--white); min-height: unset; }
#page.order .bei_rooms_tpl .service_title > .elem { padding: 10px; background-color: var(--color3); }
#page.order .bei_rooms_tpl .service_title > .elem .caption { width: 100%; display: flex; }
#page.order .bei_rooms_tpl .box.service_title .price:not(.subcontents .price) { font-size: var(--size-base); }
#page.order .col .bei_rooms_tpl .service_title .title { margin-bottom: 0; cursor: pointer; color: var(--color1); text-transform: uppercase; font-size: var(--size-base); font-weight: var(--font-weight-medium); }
#page.order .col .bei_rooms_tpl .service_title .title:before { margin-right: 5px; font-family: var(--font-icon); content: '\f0fe'; color: var(--color2); font-weight: var(--font-weight-light); font-size: var(--size-nano);}
#page.order .bei_rooms_tpl .service_title > .elem .subcontents { display: none; }
#page.order .bei_rooms_tpl .service_title > .elem.fired .subcontents { display: block; }
#page.order .col .bei_rooms_tpl .service_title > .elem.fired .title { margin-bottom: 20px; }

.total_cost_wrap { display: flex; justify-content: space-between; align-items: center; }
.total_cost_wrap .varscript { max-width: 200px; }
#total_cost { display: flex; align-items: flex-start; gap: 3px; flex-direction: column; justify-content: flex-start; }
#total_cost .key { text-transform: uppercase; font-size: var(--size-micro); color: var(--color1); }
#total_cost .value { font-weight: var(--font-weight-medium); color: var(--color1); font-size: var(--size-medium); }
#total_upfront {font-weight: var(--font-weight-medium); color: var(--color1); font-size: var(--size-medium);}
#total_upfront .key { text-transform: uppercase; font-size: var(--size-micro); color: var(--color1); font-weight: var(--font-weight-normal); }
#total_upfront .number:before { content: '\20AC'; margin-right: 3px;}
    

.iti { width: 100%; }
.form-cnt form .caption-fields .field.checkbox_wrap.element_17 { width: 100%; }
.invoice { width: 100%; }
#page.order form .caption-fields .invoice .merge_group { display: flex; flex-wrap: wrap; }
#page.order form .caption-fields .invoice .group_wrapper .field { width: calc((100% / 3))}

/* BEI - Payment */
#payment_method form input { padding: 10px; width: 100%; border: 1px solid #dedede;; border-bottom: 2px solid var(--color1); font-size: var(--size-mini); font-weight: var(--font-weight-normal); }
#nexi-payment-form { display: flex!important; gap: 10px; flex-wrap: wrap; }
#nexi-payment-form > div { width: 100%; font-size: var(--size-micro); text-transform: uppercase; font-weight: var(--font-weight-medium); color: var(--color1); }
#nexi-payment-form > div.nexi-owner-name, #nexi-payment-form > div.nexi-owner-surname {  width: calc(50% - 5px);}
#nexi-payment-form > div.nexi-owner-email { width: 100%; }
#xpay-card {  padding: 10px; width: 100%; border: 1px solid #dedede;; border-bottom: 2px solid var(--color1); font-size: var(--size-mini); font-weight: var(--font-weight-normal); background-color: var(--white); }
#nexi-payment-form button { padding: 20px 35px; text-transform: uppercase; background-color: var(--color1); color: var(--white); font-size: var(--size-mini); font-weight: var(--font-weight-bold); letter-spacing: var(--l-spacing); }

/* Thankyou */
.thankyou .btn { margin-top: 30px; }
.reservation_code { margin-top: 30px; padding: 10px; border: 1px dotted var(--color2); color: var(--color1); }
.reservation_code b:before { margin-right: 5px; font-family: var(--font-icon); content: '\f336'; }
.edit_reservation_cnt { margin-top: 40px; }
.body_ecommerce_thank_you #page.order #content_body .col.center .edit_reservation_cnt { text-align: left;}

/* Specifico per landing */
body.body_landing header .wrap .col .logo a,
body.body_landing footer .logo a { pointer-events: none; }

/* Specifico per olandese */
body.nl header .wrap #menu_btn { display: none; }
body.nl header .wrap .col .logo a, body.nl footer .logo a { pointer-events: none; }


/* RWD */

@media (max-width: 1440px){
    :root {
        --rooms-image-width: 420px;
    }
    .inline.whatsapp a:after { right: 14px; top: 13px; }
    .ecommerce.order :where(.selected_date, .selected_date .dates, .selected_date .guests) { font-size: var(--size-micro); }
    .showcase_rooms_tpl .slide-counter { bottom: 5px; }
}

@media (max-width: 1320px){
    .showcase_rooms_tpl .slide-counter { bottom: 1px; }
}

@media (max-width: 1200px){
    :root {
        --rooms-image-width: 320px;
    }
    .showcase_tpl .grid_box.small .elem { width: calc(50% - 20px); }
    #page.order .bei_rooms_tpl .room .caption:not(.subcontents .caption) { width: 140px; }
    #page.order .bei_rooms_tpl .room > .elem > .caption-cnt { padding: 0 0 0 140px; }
    #page.order #content_body { gap: 20px }
    #page.order .bei_rooms_tpl .room > .elem { padding: 10px; }
    .ecommerce .divider:before, .ecommerce .divider:after { width: 40%; }

}

@media (max-width: 1190px){
    #page.order #content_body { flex-wrap: wrap; }
    #page.order #content_body .col { width: 100%; }
    .offer_img_cnt { width: 100%; max-width: unset; }
    .offer_desc_cnt { width: 100%; }
    .flex_cnt { flex-wrap: wrap; }
}

@media (max-width: 1024px){
    :root {
        --rooms-image-width: 220px;
    }
    .showcase_tpl { padding: 0; }
    .showcase_tpl .grid_box { gap: 20px }
    .showcase_tpl .grid_box .elem { width: calc(50% - 10px); }

}

@media (max-width: 1023px){
    #content_body.has_submenu { flex-wrap: wrap; }
    .section_submenu { width: 100%; }
}

@media (max-width: 920px){
    :root {
        --size-serif80: 50px;
        --size-base: 16px;
        --size-mini: 12px;
    }
    
    body:is(.scrolled, .noslide) .wrap .col .logo img { max-height: 48px; }
    header .contacts { margin-right: 20px; gap: 15px; }
    header .wrap #menu_btn { gap: 10px; }
    header .language { margin-left: 25px; }
    .showcase_rooms_tpl { padding: 0; }
    .body_album .content_cnt a { width: calc(100% / 3 - 14px); }
    #page.order form .caption-fields .invoice .group_wrapper .field { width: 100%; }
    
}

@media (max-width: 767px){
    :root {
        --size-serif80: 35px;
    }
    body.noslide { padding-top: 60px; }
    body:is(.scrolled, .noslide) .wrap .col .logo img { max-height: 40px; }
    header .wrap { padding: 10px; }
    header .language { margin-left: 15px; }
    header .wrap #menu_btn { gap: 5px; }
    header .wrap #menu_btn .varsimple { font-size: var(--size-micro); letter-spacing: 0; }
    header .wrap .col { width: auto; }
    header .wrap #menu_btn .bars { width: 20px; height: 8px; }
    header .language { /* display: none; */ } /* gestirlo poi da smartphone all'interno del menu */
    .showcase_rooms_tpl .caption-alt .ztextarea { width: 100%; }
    .showcase_rooms_tpl .caption-alt { padding: 15px; }
    .showcase_rooms_tpl img { height: auto; min-height: 550px; }
    .zsimplebutton a, .zlink a, .btn :where(a, .varsimple) { width: 100%; }
    .body_showcase #page #cnt_title { padding: 15px 10px; display: flex; flex-direction: column-reverse; }
    .showcase #cnt_title :where(#page_name, #container_name) { margin: 15px 0 20px; }
    .showcase #cnt_title :where(.text_dyn, #container_summary) { font-family: var(--sans); font-size: var(--size-base); }
    .btn_divider .varsimple { width: calc(100% - 40px); }
    .btn_divider:before, .btn_divider:after { width: 20px; }
    .showcase_tpl .grid_box .elem { width: 100% }
    .showcase_tpl .grid_box .caption-alt { background-color: var(--white); }
    .showcase_tpl .grid_box.small .elem { width: 100%; }
    #albums .album { width: 100%; }
    #albums .album img { min-width: 100%; }
    .body_album #page #cnt_title .text { font-family: var(--sans); font-size: var(--size-base); }
    .body_album #page #cnt_title { padding: 15px 10px 0; }
    .body_album .btn_divider { margin: 15px auto; }
    .body_album .content_cnt a { width: calc(50% - 10px); }
    .showcase .seasons_filter_tpl .template_filters .form_radio { margin-top: 30px; }
    .bei_rooms_tpl .room .caption:not(.subcontents .caption) { padding: 0; position: relative; width: 100%; }
    .bei_rooms_tpl .room > .elem > .caption-cnt { padding: 0; }
    .ecommerce .divider:before, .ecommerce .divider:after { width: 10%; }
    .bei_rooms_tpl .room .subcontents { padding: 0; }
    .bei_rooms_tpl .room .title { margin-top: 10px; }
    .bei_rooms_tpl .room > .elem { padding: 10px; background-color: var(--white); }
    .bei_rooms_tpl .rate-group-content .elem { border: 1px solid var(--light-grey); }
    .bei_rooms_tpl .room > .elem.selected { padding: 10px; }
    .bei_rooms_tpl .rate-group-content .elem .caption-cnt { flex-wrap: wrap;  }
    .bei_rooms_tpl .rate-group-content .caption-alt { margin: 0; }
    .bei_rooms_tpl .rate-group-content .caption-add { margin-left: auto; }
    .bei_rooms_tpl :where(.open_detail, .rate_details),
    .bei_rooms_tpl .rate-group-content .elem .zlabel.g8 .payment_policy_label, .bei_rooms_tpl .elem .rate_arrangement { /* font-size: var(--size-mini); */ }
    .bei_rooms_tpl .room .subcontents .caption {  row-gap: 10px;}
    .bei_rooms_tpl .room .subcontents .title { margin-bottom: 5px; } 
    .bei_rooms_tpl :where(.zinput, .znumber) { font-size: var(--size-micro); }
    .bei_rooms_tpl .room .caption-cnt:not(.subcontents .caption-cnt) { margin-bottom: 15px; }
    .bei_rooms_tpl .zinput.g18 { display: none; }
    .step_footer .pf_step_button { padding: 15px 25px; }
    #page.order .bei_rooms_tpl .room > .elem > .caption-cnt { padding: 0; }
    #page.order .bei_rooms_tpl .room .caption:not(.subcontents .caption) { display: none; }
    #page.order .bei_rooms_tpl .room .subcontents { padding: 0; }
    #page.order #content_body .col { padding: 10px; }
    #hero .caption { display: none; }
    .section_title :where(.varsimple, #page_name, #container_name) { font-size: var(--size-big); }
}

/* Smartphone */
.smartphone header .language { font-size: var(--size-base); }
.smartphone header .language #language ul { gap: 12px; }
body:is(.smartphone, .smartphone.scrolled, .smartphone.noslide) .wrap .col .logo img { height: revert-layer; }
body.smartphone { padding-top: 131px; }
.smartphone header .wrap #menu_btn .varsimple { display: none; }
.smartphone header .wrap .col.sx { width: 75px; }
.smartphone header .booking_btn { position: absolute; top: 85px; left: 0; width: 100%; text-align: center; }
.smartphone .booking_btn .varsimple { padding: 15px; font-size: var(--size-base);}
.smartphone header .wrap #menu_btn .bars { height: 12px; }
.smartphone header #menu_btn .bars .bar { height: 2px; }
.smartphone header .wrap #menu_btn .bars .bar.central { display: block; }
.smartphone header #menu_btn .bars .bar.last { width: 100%; }
.smartphone.body_home #hero #slideshow img { height: auto; }
.smartphone #hero .logo img { max-width: 270px; }
.smartphone #hero .logo { top: inherit; bottom: 80px; }
.smartphone .bei_rooms_tpl .rate-group-title { letter-spacing: 0; }
.smartphone .step_content_wrapper > .template_detail_wrapper .content_detail_wrapper { max-width: 100vw; }
.smartphone .step_content_wrapper > .template_detail_wrapper .slick-list { padding: 0 50px; }
.smartphone .bei_rooms_tpl .bei_show_all_images { top: 15px; right: 15px; bottom: unset; left: unset; }
.smartphone header .contacts :where(a, .varsimple):before { font-size: 25px; }
.smartphone header .contacts { margin-right: 10px; gap: 15px; }
.smartphone .dot_loading { top: 50%; }
.smartphone #nexi-payment-form button { width: 100%; }
.smartphone .step_footer #varscript_secure,
.smartphone .total_cost_wrap #varscript_secure { display: none; }
.smartphone .purchase_flow_step .product_selection_wrap .prod_sel_add, .smartphone .purchase_flow_step .product_selection_wrap .prod_sel_rem { font-size: var(--size-icon); }
.smartphone.body_ecommerce_step header .booking_btn,
.smartphone.body_ecommerce_order header .booking_btn,
.smartphone.body_ecommerce_payment header .booking_btn { display: none; }
.smartphone .smart_search_sum { top: 85px; height: 41px; }
.smartphone .smart_search_sum .my_searh_btn { padding: 15px; }
.smartphone #hero .cap { font-size: 1rem; }
.scroll { display: none; position: absolute; z-index: 3; bottom: 40px; left: 50%; transform: translateX(-50%); width: 22px; height: 32px; border: 2px solid var(--white); border-radius: 15px; }
.scroll:before { content: ''; display: block; width: 3px; height: 3px; margin: 6px auto; border-radius: 4px; background: var(--white); animation: finger 1s infinite; }
.smartphone.details_opened header { z-index: auto; }
.smartphone .bei_rooms_tpl :where(.zinput, .znumber):after { margin-left: 0; }
.smartphone .bei_rooms_tpl .rate-group-content .caption-alt .zlabel.g6 { margin-top: 10px; }
.smartphone .bei_rooms_tpl .subcontents .caption-cnt .caption-add { width: 100%; background-color: var(--color3); padding: 10px; margin-top: 15px; }
.smartphone .bei_rooms_tpl .rate-group-content .caption-add .prod_sel_content {  line-height: 30px; width: 40px; font-size: calc(var(--size-base) * 1.2); }

/* whatsapp mobile  */
body.smartphone .inline.whatsapp { right: -120px; left: unset; }
body.smartphone .inline.whatsapp a { border-top-left-radius: 6px; border-bottom-left-radius: 6px; border-top-right-radius: 0; border-bottom-right-radius: 0; }
body.smartphone .inline.whatsapp.scrolled { right: 0 }



