<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@keyframes bgbutton { from { background-size: 0; } to { background-size: 100%; } }
@keyframes loading_bar { 0% {background-position: -5vw 0;} 100% {background-position: 0vw 0;} }
/* Viewport Booking Engine Immersivo */
#page.ecommerce &gt; .wrap { margin:0 auto; max-width:var(--cnt-m); gap:20px }
#page.ecommerce &gt; .wrap &gt; .body { width: 70%; text-align:left; padding-top: 0;}
#page.ecommerce &gt; .wrap &gt; .side { width: 30%; position: sticky; top: 105px; z-index: 0;  }
#page.ecommerce &gt; .wrap &gt; .body &gt; .title,
#page.ecommerce &gt; .wrap &gt; .side &gt; .title { font-size:var(--title); color:var(--salvia); }
#page.ecommerce &gt; .wrap &gt; .body &gt; .subtitle,
#page.ecommerce &gt; .wrap &gt; .side &gt; .subtitle { margin: 0 0 20px 0; font-size:var(--subtitle); }
/* Order Page */
#page.ecommerce.order &gt; .wrap { padding: 0 0 50px 0 }
#page.ecommerce.order &gt; .wrap &gt; .body { width: 50%; }
#page.ecommerce.order &gt; .wrap &gt; .side { width: 50%; padding-top: 50px;}
#page.ecommerce.order &gt; .wrap &gt; .side .title { text-transform: uppercase;}
#page.ecommerce.order .form-container { margin: 0; padding:20px 20px 0 20px; background-color:var(--white); border:1px solid var(--black20); text-align:left; }
#page.ecommerce.order form .caption-fields { margin:0 -20px }
#page.ecommerce.order form .caption-fields .field,
#page.ecommerce.order form .caption-fields .form { padding:5px 20px; }
#page.ecommerce.order form .form_merge_group { margin: 10px 20px; }
#page.ecommerce.order form .form_merge_group .merge_group { margin: 10px 0 0 0; padding:10px 0 15px 0 }
#page.ecommerce.order form #showprivacy { margin: 0 20px; }
#page.ecommerce.order form .newsletter { margin: 0 20px; }
#page.ecommerce.order form input[type="submit"] { margin: 20px 0 0 0; display:block; width: calc(100% + 40px); text-align:center; background-color:var(--green); }
/* Payment Page */
#page.ecommerce.payment &gt; .wrap { padding: 0 0 50px 0 }
#page.ecommerce.payment &gt; .wrap &gt; .body { width: 60%; }
#page.ecommerce.payment &gt; .wrap &gt; .side { width: 40%; padding-top: 50px;}
#page.ecommerce.payment &gt; .wrap &gt; .side .title { text-transform: uppercase;}
#page.ecommerce.payment #payment_method { margin: 10px 0; padding:20px 20px 80px 20px; background-color:var(--white); border:1px solid var(--black20); text-align:left; position:relative; }
#page.ecommerce.payment #payment_method .vareditor { margin:0 0 20px 0; font-size:var(--subtitle-s); }
#page.ecommerce.payment #payment_method .caption { display:none; }
#page.ecommerce.payment #payment_method .caption.fired { display:block; }
#page.ecommerce.payment #payment_method .method { padding: 10px 0; text-transform:uppercase; border-top:1px solid var(--black20); display:flex; align-items:center; gap:10px; cursor:pointer; }
#page.ecommerce.payment #payment_method .method:before { font-family: var(--font-icon); content: '\f0c8'; font-weight: var(--regular); color:var(--salvia); font-size: var(--subtitle); }
#page.ecommerce.payment #payment_method .method.card:before { content: '\f09d'; }
#page.ecommerce.payment #payment_method .method.bank_transfer:before { content: '\f19c'; }
#page.ecommerce.payment #payment_method .method.fired:before { content: '\f14a'; font-weight:var(--solid);}
#page.ecommerce.payment #payment_method input[type="button"] { margin:0; padding: 20px; cursor: pointer; display: block; text-align: center; font-weight: var(--medium); font-size: var(--text); background-color: var(--salvia); color: var(--white); letter-spacing:1.8px; text-transform:uppercase; display:block; width: 100%;  border:none; background-color:var(--green); position:absolute; left: 0; bottom:0 }
/* Nexi */
.nexi_payment div { margin-bottom: 15px;}
#page.ecommerce.payment #payment_method #xpay-card { margin-top: -15px; padding: 10px; width: 100%; font-size: var(--text); text-align: left; line-height: 20px; border: 1px solid var(--black20); background-color: var(--white); }
.nexi_payment #pagaBtn { margin: 20px 0 0 0; display: block; width: 100%; text-align: center; background-color: var(--green); color: var(--white); text-transform: uppercase; letter-spacing: 1.9px; font-size: var(--button); font-weight: var(--medium); padding: 15px 20px; }
#xpay-card input { font-size: var(--text)!important; }
#xpay-card-errors.fired { background-color: var(--red); padding: 10px; text-align: center; color: var(--white); }
#xpay-card-errors.fired:before { font-family: var(--font-icon); content: '\f071'; margin-right: 10px;}


/* Thankyou Page */
#page.ecommerce.thankyou &gt; .wrap { padding: 0 0 50px 0 }
#page.ecommerce.thankyou &gt; .wrap &gt; .body { width: 100%; }
#page.ecommerce.thankyou #reservation { display:flex; flex-direction:column; gap:20px }
#page.ecommerce.thankyou #reservation .vareditor { margin:0 0 20px 0 }
#page.ecommerce.thankyou #reservation .btn { margin: 20px 0 0 0 }
/* Step Footer */
.step_footer { opacity: 0; display: none !important }
/* Step */
.offer_not_found { }
/*Vantaggi della pren582zione */
#varscript_advantages { padding: 18px 30px; background-color:var(--cipria30); font-size:var(--caption); }
#varscript_advantages .advantage { padding: 12px 0; display:flex; align-items:center; gap:10px; }
#varscript_advantages .advantage .title { text-transform:uppercase; font-weight:var(--medium); line-height:1 }
/* Modifica ricerca */
/*#bookingform_summary.sticky_element { position: sticky; top: 95px; z-index: 9; }*/
#bookingform_summary { margin: 0; padding: 15px; background-color: var(--white); border: 1px solid var(--black20); }
#bookingform_summary.fixed { position: fixed; z-index: 99; top: 119px; left: 0; width: 100%; }
#bookingform_summary.is-pinned .summary_title { display: none;}
#bookingform_summary .summary { gap:15px }
#bookingform_summary .dates,
#bookingform_summary .guests { display: flex; align-items: center; gap:5px; }
#bookingform_summary .dates:before { font-family: var(--font-icon); content: '\e0d6'; }
#bookingform_summary .dates .value:after { margin: 0 0 0 5px; font-family: var(--font-icon); content: '\f178'; }
#bookingform_summary .dates .value:last-of-type:after { display: none;}
#bookingform_summary .guests:before { font-family: var(--font-icon); content: '\f8f7'; }
#bookingform_summary .nights:before { font-family: var(--font-icon); content: '\f186'; }
#bookingform_summary .nights { text-transform:capitalize; gap:5px; }
#bookingform_summary .nights .label { order:2 }
#bookingform_summary .varsimple { padding: 10px; cursor: pointer; background-color: var(--salvia); color: var(--white); font-size: var(--caption);}
#bookingform_summary .varsimple:before { margin: 0 10px 0 0; font-family: var(--font-icon); content: '\f044'; font-weight: var(--light);}

@keyframes blink { 0% { opacity: 1; } 20% { opacity: 0; } 40% { opacity: 1; } 60% { opacity: 0; } 80% { opacity: 1; } 100% { opacity: 1;  } }
/* Booking mask  */
#booking_mask { margin: 0 auto; padding: 0 0 30px 0; width: auto; display:inline-block; position:relative; text-align:center; }
#booking_mask .caption-fields { margin: 0; width: auto; display:flex; align-items:stretch; flex-wrap: nowrap; border:1px solid var(--black20); background-color:var(--white); text-align:left; }
#booking_mask .caption-fields .field { padding: 15px; border-right:1px solid var(--black20); width: auto; }
#booking_mask .calendar_field_html { display:flex; align-items:center; justify-content:flex-start; gap:1px; font-weight:var(--medium); }
#booking_mask .field.element_18.date { padding: 15px 0 15px 15px; border:none; }
#booking_mask .field.element_19.date { padding: 15px 15px 15px 5px; }
#booking_mask .field.element_18.date .date_from_html:after { padding: 0 5px; font-family:var(--font-icon); content:"\f178"; font-weight:var(--light); }
#booking_mask .field.element_19.date .date_from_html:after { display:none }
#booking_mask .form_element_title { margin: 0; font-size: var(--caption-s); text-transform:uppercase; color: var(--black);}
#booking_mask .form-title,
#booking_mask .field.element_14,
#booking_mask .day_name,
#booking_mask .month { display:none; }
#booking_mask .month_name_tiny { display:initial; }
#booking_mask .year { margin:0 }
#booking_mask .b_mask { display:flex; align-items:stretch; }
#booking_mask .field.b_mask_summary { width: 100%; min-width: 280px; display: inline-block; }
#booking_mask input.disparity_code { min-width: 150px; }
#booking_mask .b_mask_summary input,
#booking_mask .element_12 input,
#booking_mask .b_mask input,
#booking_mask .b_mask select,
#booking_mask .b_mask .date_from_html { padding: 0; width: 100%; border:none; font-weight:var(--medium); cursor:pointer; }
#booking_mask .b_mask_summary input { padding:0 10px 0 0; }
#booking_mask input[type="submit"] { margin: 0; padding: 20px; cursor: pointer; display: block; text-align: center; font-weight: var(--medium); font-size: var(--caption); background-color: var(--salvia); color: var(--white); letter-spacing:1.8px; text-transform:uppercase; }
/* Ecceszione solo per Site */
body.site #page.room #booking_mask { margin-top: 20px;}
/* Booking mask &gt; Box sistemazione */
#booking_mask .guests_wrapper { width: calc(50% - 100px);}
#booking_mask .guests_wrapper .field.text { width: 100%; position: relative; z-index: 1;}
#booking_mask .guests_wrapper .field.text:before { cursor: pointer; content: ''; position: absolute; width: calc(100% - 30px); height: calc(100% + 50px); z-index: -1; left: 40px; top: -8px; background-color: var(--grey-lgt);}
#booking_mask .guests_wrapper .field.text:after { font-family: var(--font-icon); font-size: 180%; color: var(--grey); content: '\f236'; position: absolute; z-index: 1; right: 15px; top: 45%; opacity: .3}
/* Booking mask &gt; Dettaglio sistemazione */
#booking_mask .b_mask.fired .guests_wrapper { display: block; }
#booking_mask .merge_group .form.field {  margin: 0 5px; }
#booking_mask .form_merge_add_button[disabled] {display: none;}
#booking_mask .form_merge_add_button { padding: 10px 20px 20px 20px; display: flex; align-items: center; justify-content: center; text-transform: uppercase; font-weight: var(--medium);  cursor: pointer; }
#booking_mask .form_merge_add_button:before { font-family: var(--font-icon); content: '\f055'; font-size: 120%; color: var(--secondary-color); font-weight: var(--font-weight-solid); margin-right: 3px}
#booking_mask .merge_group:not(:last-child) .form_merge_rem_button, #booking_mask .merge_group:first-child .form_merge_rem_button { display: none; }
#booking_mask .cal-closed { display: none; }
#booking_mask .guests_wrapper { margin: 0 auto; padding: 20px 20px 10px; background-color: var(--white); color: var(--black); position: absolute; top: 0; left: 0; right: 0; z-index: 100; box-shadow: 0 0 10px rgb(0 0 0 / 30%); text-align: left; width: 600px; max-width: 766px; display: none; text-transform: uppercase;}
#booking_mask .guests_wrapper .form_element_title { margin:0 0 5px 0; text-align:center; }
#booking_mask .guests_wrapper .form_select .current_value { padding: 0 10px; color: var(--black); width: 40px; text-align: center;}
#booking_mask .guests_desc { margin: 0 0 15px 0; text-align: center; font-size: var(--subtitle-s); }
#booking_mask .guests_wrapper .form.field.select { text-align: center; padding: 10px 0}
#booking_mask .guests_wrapper .form.field.select:last-of-type  { border-right: unset}
#booking_mask .guests_wrapper .form_select { display: flex; justify-content: center; padding: 0; align-items: center; border: unset; position: relative; background-color: transparent;}
#booking_mask .guests_wrapper .form.field.select.element_7 { display: none!important;}
#booking_mask .guests_wrapper .hidden_form_element { height:0 }
#booking_mask .guests_wrapper .merge_group { margin:0 0 10px 0;padding: 0; border: 1px solid var(--black20); background-color: var(--gray-light); display:flex; align-items:stretch; justify-content:flex-start; position:relative; }
#booking_mask .guests_wrapper .form_merge_group .form.field.select_wrap { margin: 0; padding: 10px 0; width: calc((100% - 45px) / 4); border: none;  border-right: 1px solid var(--black20); }
/* FIX Larghezza field adulti e bambini in booking mask - ora valido per tutti su loro richiesta: prenotano solo adulti e bambini (0-6) */
#booking_mask .guests_wrapper .form_merge_group .form.field.select_wrap { width: calc((100%) / 3 + 27px)!important;}
#booking_mask .guests_wrapper .form_select .elements_list { display: none !important }
#booking_mask .guests_wrapper .group_title { padding: 0 10px; display: flex; align-items: center; justify-content: center; width: calc(20% + 20px); gap: 5px; border-right: 1px solid var(--black20); color: var(--salvia); font-size: var(--caption); font-weight:var(--medium); }
#booking_mask .guests_wrapper .group_title:before { content: '\f236'; font-family: var(--font-icon); }
#booking_mask .guests_wrapper .group_title .group_index { margin-left: 5px; }
#booking_mask .guests_wrapper .form_merge_rem_button { font-size: 0; cursor: pointer; background-color: var(--red); position: absolute; top: 0; right: 0; width: 45px; height: 100%; text-align:center; }
#booking_mask .guests_wrapper .form_merge_rem_button:before { font-size: var(--text); font-family: var(--font-icon); font-weight: var(--solid); content: '\f2ed'; color: var(--white); position:absolute; top:calc(50% - 8px); left:0; right:0 }
#booking_mask .guests_wrapper .add_btn, #booking_mask .guests_wrapper .rem_btn { background-color: transparent; cursor: pointer;}
#booking_mask .guests_wrapper .add_btn:before, #booking_mask .guests_wrapper .rem_btn:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); }
#booking_mask .guests_wrapper .add_btn:before { content: '\f055'; }
#booking_mask .guests_wrapper .rem_btn:before { content: '\f056'; }
#booking_mask .guests_wrapper_ok { padding: 20px; cursor: pointer; display: block; text-align: center; font-weight: var(--medium); font-size: var(--caption); background-color: var(--salvia); color: var(--white); letter-spacing:1.8px }
/* Booking mask &gt; Top Position */
#booking_mask.top { margin: 0; padding: 20px; background-color:var(--white); width: 400px; text-align:left; display:inline-block; box-shadow: 0 0 10px rgb(0 0 0 / 30%);position:fixed; z-index: 9999; text-align:right; display:block; }
#booking_mask.top.absolute { position: absolute;}
#booking_mask.none { display:none; }
#booking_mask.top.none { display:block; }
#booking_mask.top .caption-fields { padding: 0; flex-wrap:wrap; justify-content:space-between; background-color:transparent; border:none; }
#booking_mask.top .caption-fields .field { margin:0 0 15px 0; border:1px solid var(--black20); width: calc(100% - 2px); }
#booking_mask.top .b_mask { width: 100%; }
#booking_mask.top .field.element_18.date,
#booking_mask.top .field.element_19.date { padding: 0; border:none; }
#booking_mask.top .field.element_19.date { display:none }
#booking_mask.top .form.date .form_element_title,
#booking_mask.top .form.date .date_from_html { display:none; }
#booking_mask.top .template_calendar { padding: 0; display:block; position:static; }
#booking_mask.top .template_calendar { margin: 0 0 10px 0; min-width:inherit; box-shadow:none; }
#booking_mask.top .template_calendar .calendar_wrapper .fc-calendar { padding:0 }
#booking_mask.top .template_calendar .fc-other-month-preview { opacity:.9; display:block; }
#booking_mask.top .template_calendar .month_wrapper { width: 100%; }
#booking_mask.top .template_calendar .month_wrapper.m_next { display:none; }
#booking_mask.top .template_calendar .calendar_wrapper .fc-calendar { width: 100%; }
#booking_mask.top .template_calendar .calendar_wrapper .fc-calendar.next-m { display:none }
#booking_mask.top .template_calendar .confirm_btn { display:none; }
#booking_mask.top input[type="submit"] { width: 100%; }
#booking_mask.top .ibe_search_wrapper { margin: 20px 0 0 0; position:initial; line-height:1; font-size:var(--caption); text-align:center; }
/* Booking mask &gt; External */
#booking_mask.top .external .field.date { border:1px solid var(--black20); display:block; width: auto; }
#booking_mask.top .external .field.element_18.date { padding: 15px 0 15px 15px; border-right:none; width: 40%; }
#booking_mask.top .external .field.element_19.date { padding: 15px 15px 15px 0; border-left:none; width: 60%; }
#booking_mask.top .external .field.element_18.date .date_from_html:after { padding:0 5px 0 10px }
#booking_mask.top .external .field.date sup { display:none; }
#booking_mask.top .external .form.date .form_element_title,
#booking_mask.top .external .form.date .date_from_html { display:flex;}
#booking_mask .external .form.date .date_from_html { font-weight:var(--medium); }
#booking_mask .external .varlink { margin:20px 0 0 0; text-align:left; }
/* Booking mask &gt; Edit Reservation */
.ibe_search_wrapper { position: absolute; left: 0; bottom: 0; }
.ibe_search_wrapper.fired .ibe_search_box {display: block; position: fixed; top: 10%;}
.ibe_search_error { width: 100%; padding-top: 15px;}
.ibe_search_btn { cursor: pointer;}
.ibe_search_box {background-color: var(--white); color: var(--black); padding: 20px; margin: 0 auto; position: absolute; z-index: 9999; top: 0; left: 0; right: 0; box-shadow: 0 0 10px rgb(0 0 0 / 30%); text-align: left; max-width: 766px; display: none;}
.ibe_search_box_close { padding: 5px; position:absolute; top:10px; right:10px; z-index: 9999999; background-color:var(--salvia); font-size:0; cursor:pointer; }
.ibe_search_box_close:before { content:"\f00d"; display:block; width:30px; height:30px; font-family: var(--font-icon); font-weight:var(--solid); color:var(--white); font-size:var(--subtitle); line-height:30px; text-align:center; }
.ibe_search_box_title { font-size:calc(var(--subtitle) * 1.2); }
.ibe_search_box form { margin: 20px 0 0 0; padding: 20px 20px 0 20px; display: flex; flex-wrap: wrap; justify-content:space-between; gap:15px; background-color:var(--gray-light); }
.ibe_search_box form .field { margin: 0; width: calc(50% - 7.5px); }
.ibe_search_box form .field input,
.ibe_search_box form .field input[type="text"] { padding: 10px; width: 100%; text-align: left; line-height: 1; border: 1px solid #dedede; text-transform: inherit!important;}
.ibe_search_box .form_element_title, .ibe_search_box .form_element_title, .ibe_search_box .form_element_title.text {  }
.ibe_search_loading .fa-spin, .edit_reservation_loading .fa-spin { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 99999; color: #fff; font-size: 50px;}
.ibe_search_loading:before, .edit_reservation_loading:before  { position: fixed; content: ''; top: 0; left: 0; width: 100%; height: 100%; z-index: 9; background-color: rgba(0,0,0,.8);}
.edit_reservation .side { margin-top: 30px;}
.edit_reservation .side #bookingform_summary .title { margin: 0 0 15px 0; padding-bottom: 15px; border-bottom: 1px solid #dedede; font-size: 190%; color: #575757;}
.edit_reservation .section_text { display: none;}
.edit_reservation .reservation_code { display: block;}
.edit_reservation .section_big_link, .edit_reservation .btn, .edit_reservation .button_model_2 { display: none;}
.edit_reservation #order_template_wrapper .row-1 .caption { flex-wrap: wrap; align-items: center; margin-top: 15px; margin-bottom: 10px;}
.edit_reservation #order_template_wrapper .row-1 .caption .title_wrapper { width: 100%;}
.edit_reservation .rate_arrangement { font-size: 18px;}
.delete_reservation_info { padding: 15px; background-color: #fff; margin-top: 15px; margin-bottom: 15px; border-top: 1px solid #dedede; width: 100%; font-size: 20px;}
.delete_reservation_info .fieldvalue { display: flex; align-items: center;}
.delete_reservation_info .fieldvalue:before { font-family: var(--font-icon); content: '\f05a'; margin-right: 8px; }
.delete_reservation { background-color: #ef5f3e; padding: 15px 25px; font-size: 12px; color: #fff; text-transform: uppercase; cursor: pointer;}
.delete_reservation .fieldkey { display: flex; align-items: center;}
.delete_reservation .fieldkey:before { font-family: var(--font-icon); content: '\f2ed'; margin-right: 10px;}
.delete_reservation .fieldvalue { display: none;}
/* Booking mask &gt; Calendario */
.template_calendar { margin: 30px 0 0 0; padding: 20px; position:absolute; z-index:99; min-width: 405px; background-color:var(--white); text-transform:uppercase; box-shadow: 0px 0px 15px 0px var(--black20); }
.template_calendar .data_loading { position: absolute; left: 0; right: 0; top: 0; bottom: 0; background-color: rgba(255, 255, 255, .8); color:var(--main); text-align: center;}
.template_calendar .data_loading i {top: calc(50% - 50px);left: calc(50% - 50px);position:absolute;animation-duration: 1500ms;animation-timing-function: steps(90);width: 100px;height: 100px;background-repeat: no-repeat;animation-name: play90;background-image: url(../images/loading/loading.svg?v=1);}
.template_calendar .data_loading i:before { display:none; }
.calendar_header { padding: 0 0 20px 0; font-size: var(--subtitle-s); font-weight: var(--medium); color: var(--salvia); text-align: center; position: relative;}
.controls { padding: 0 20px; width: 100%; display: flex; align-items: center; justify-content:space-between; position:absolute; top: calc(50% - 19px); }
.controls i { color: var(--salvia); font-weight: var(--regular); font-family: var(--font-icon); cursor:pointer; }
.controls .prev_month { left: 0; }
.controls .prev_month:before { content:"\f053" }
.controls .next_month { right: 0; }
.controls .next_month:before { content:"\f054" }
.current_month { display: inline-block;}
.current_year { display: inline-block;}
.fc-head { margin: 0 0 5px 0; padding: 5px 0; display: grid; grid-template-columns: repeat(7, 1fr); font-size: calc(var(--caption) / 1.2); font-weight: var(--medium); text-align: center; border-top: 1px solid var(--black20); border-bottom: 1px solid var(--black20); }
.fc-row { margin: 0 0 1px 0; display: grid; grid-template-columns: repeat(7, 1fr);}
.fc-day { width: 100%; height: 50px; text-align: center; position: relative; cursor: pointer; }
.fc-day[data-color] { color:var(--white); }
.fc-day.fc-past { cursor:initial; color:var(--black); background-color:var(--white); }
.fc-day.fc-past .day-content { display:none; }
.fc-day.selected { overflow:hidden; background-color:var(--cipria); }
.fc-day.selected.sel-first,
.fc-day.selected.sel-last { border-radius: 0 var(--br-s) var(--br-s) 0; background-color:var(--salvia); color:var(--white); }
.fc-day.selected.sel-first { border-radius: var(--br-s) 0 0 var(--br-s) ; }
.fc-day.empty-ext, #booking_mask.top .template_calendar .fc-other-month-preview.empty-ext { opacity: .2}
.fc-other-month-preview { opacity:.5 }
.fc-other-month-preview.selected { opacity:1 }
.fc-date { position: absolute; top: 8px; left: 5px; right: 5px; font-size: var(--subtitle-s); text-align: center;}
.day-content { position: absolute; bottom: 3px; left: 5px; right: 5px; text-align: center; font-size: var(--caption-xs); }
.day-content .comma,
.day-content .decimal { display:none }
.day-content .tc-p:after { margin: 0 0 0 1px; content:"\20ac" }
.fc-weekday,
.tc-f-roomCount { display: none;}
.calendar_dates_info { display: none;}
.selection_preview { background-color: var(--cipria-light); }
.template_calendar .confirm_btn { margin: 20px 0 0 0; padding: 20px; cursor: pointer; display: block; text-transform: uppercase; text-align: center; font-weight: var(--medium); font-size: var(--caption); background-color: var(--salvia); color: var(--white); letter-spacing:1.8px }
.template_calendar .oob { background-color: var(--white); }
.calendar_wrapper .fc-calendar .fc-row &gt; .oob span.fc-date { color:var(--black); }
.template_calendar.cal-closed { display: none;}
/* Booking mask &gt; Calendario &gt; Mesi affiancati */
.template_calendar.double-month { min-width: 840px;}
.template_calendar.double-month .calendar_wrapper { display: flex; align-items: stretch; width: 100%; }
.template_calendar.double-month .calendar_wrapper .fc-calendar { padding: 0 20px 0 0; width: 50% }
.template_calendar.double-month .calendar_wrapper .fc-calendar.next-m { padding: 0 0 0 20px; border-left: 1px solid var(--black20); }
.template_calendar.double-month .calendar_wrapper .fc-other-month-preview { display:none }
.template_calendar.double-month .current_double_date {  display: flex; align-items: flex-start; width: 100%}
.template_calendar.double-month .month_wrapper { width: 50%; display: flex; align-items: center; justify-content:center; gap:5px }
/* Aggiungi/rimuovi Prodotto - valido per tutti i prodotti in vendita */
.product_selection_wrap { margin: 0; position: relative; display: block; }
.selection_date_fields { margin: 0; padding: 0; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px }
.selection_per_day_wrap .fieldvalue { display:flex; align-items:center; }
.selection_date { width: calc(100% - 100px); line-height:1 }
.selection_per_day_wrap { width:100px; }
.selection_date .fieldvalue { display:flex; align-items:center; }
.selection_date .day_name { margin:0 0 0 3px; order:5; font-size:90%; }
.selection_date .day_name:before { margin: 0 3px 0 0; content:"-" }
.selection_date .month_name { display:none; }
.selection_date .day:after,
.selection_date .month:after { content:"-" }
.product_selection_wrap .prod_sel_content,
.purchase_flow_step .product_selection_wrap .prod_sel_content { padding: 0; min-width: 40px; width: auto; height: 30px; text-align: center; border: none; background: none; border-top:1px solid var(--black20); border-bottom:1px solid var(--black20); font-family: var(--font-primary); font-size:var(--subtitle); }
.product_selection_wrap .zselection { padding: 10px 15px; color:var(--white); background-color: transparent; font-family: var(--font-primary); text-transform:uppercase; font-weight: var(--medium); font-size: var(--button); text-align: center; display:inline-block; cursor: pointer;}
.product_selection_wrap .zselection.selected { }
.product_selection_wrap span { cursor:pointer; }
.product_selection_wrap span:before { font-family: var(--font-icon); font-weight: var(--light); text-align: center; font-size: 105%; line-height: 1; }
.product_selection_wrap .prod_sel_rem,
.product_selection_wrap .prod_sel_add { background-color:var(--white); border:1px solid var(--black20); width: 30px; height:30px; text-align:center; line-height:28px; }
.product_selection_wrap .prod_sel_rem:before,
.product_selection_wrap .prod_sel_add:before { font-size: var(--text); font-weight:var(--regular); }
.product_selection_wrap .prod_sel_rem:before { content: "\f068";  }
.product_selection_wrap .prod_sel_add:before { content: "\2b"; }
.product_selection_wrap .prod_sel_add.disabled,
.product_selection_wrap .prod_sel_rem.disabled { background-color:transparent; }
.product_selection_wrap .prod_sel_add.disabled:before,
.product_selection_wrap .prod_sel_rem.disabled:before { color:transparent; }
.selector_wrapper { margin: 10px 0 0 0; padding: 0; width:100%; justify-content:flex-end }
.selection_version_fields { margin: 0; text-align: center; position: relative; display: flex; align-items: center; justify-content: space-between; font-size: var(--subtitle); }
.selection_per_combination_wrap { order:2 }
.price_per_combination,
.zlabelprice,
.price,
.zlabel.price,
.zlabeltotalprice,
.price_per_day { font-family: var(--font-primary); display: flex; align-items: center; line-height:1 }
.price_per_combination .fieldkey,
.zlabel.price .fieldkey,
.zlabelprice .fieldkey,
.zlabeltotalprice .fieldkey,
.price_per_day .fieldkey { margin:0 5px 0 0 }
.price_per_combination:after,
.price:after,
.zlabel.price:after,
.zlabelprice:after,
.zlabeltotalprice:after,
.price_per_day:after,
.total_amount .value:after { margin:0 0 0 5px; content:"\20ac" }
.elem.free .zlabelprice .fieldkey,
.elem.free .zlabelprice:after { display:none }
/* Template di vendita &gt; Camere */
.ecommerce .ztemplate .rooms &gt; .elem { margin: 20px 0; padding:25px; background-color:var(--white50); border:1px solid var(--black20); min-height: 820px;}
.ecommerce .ztemplate .rooms .caption-cnt { padding: 0 0 0 360px; position: relative; }
.ecommerce .ztemplate .rooms .caption { max-width: 330px; position: absolute; left:0; top:0; z-index:1 }
.ecommerce .ztemplate .rooms .caption-3 { margin: 15px 0; padding: 15px 0; display:flex; align-items:flex-start; justify-content:flex-start; gap:20px; border-top: 1px solid var(--black20); border-bottom: 1px solid var(--black20); }
.ecommerce .ztemplate .rooms .description .fieldkey { display:flex; align-items:center; gap:5px; cursor:pointer; }
.ecommerce .ztemplate .rooms .description .fieldkey:before { font-family: var(--font-icon); font-weight: var(--regular); content:"\f0fe"  }
.ecommerce .ztemplate .rooms .description .fieldkey.fired:before { content:"\f146"  }
.ecommerce .ztemplate .rooms .description .fieldvalue { display:none; }
.ecommerce .ztemplate .rooms .description .fieldvalue.fired { display:block; }
.ecommerce .ztemplate .rooms .description .fieldkey { text-transform:uppercase; font-weight:var(--medium); }
.ecommerce .ztemplate .rooms .photo { margin: 10px 0; text-transform:uppercase; font-weight:var(--medium); display:flex; align-items:center; gap:5px; cursor:pointer; }
.ecommerce .ztemplate .rooms .photo:before { font-family: var(--font-icon); content:"\f030"; font-weight:var(--regular);  }
.ecommerce .ztemplate .rooms .amenities { font-size: var(--caption); display:flex; align-items:flex-start; justify-content: space-between; gap:5px; flex-wrap:wrap; }
.ecommerce .ztemplate .rooms .amenities .fieldkey { font-size: var(--caption); text-transform:uppercase; font-weight:var(--medium); width: 100%; }
.ecommerce .ztemplate .rooms .amenities .fieldvalue { padding: 0 0 0 20px; width:45%; position:relative; }
.ecommerce .ztemplate .rooms .amenities .fieldvalue:before { font-family: var(--font-icon); content:"\f00c"; position:absolute; left:0; top:3px }
.ecommerce .ztemplate .rooms .rooms_available { margin: 5px 0 0 0; color:var(--ocra); display:flex; width: auto; align-items:center; gap:5px }
.ecommerce .ztemplate .rooms .rooms_available:before { font-family: var(--font-icon); font-weight: var(--regular); content:"\f06a"; position:relative; top:-1px }
/* Template di Vendita &gt; Camere &gt; Tariffe */
.ecommerce .ztemplate .rooms .subcontents { padding: 0 0 0 360px; position: relative; /* z-index:0 */ }
.ecommerce .ztemplate .rooms .subcontents .title { margin: 0 0 5px 0; font-size:var(--subtitle-s); }
.ecommerce .ztemplate .rooms .rates .elem { margin: 30px 0 0 0;  }
.ecommerce .ztemplate .rooms .rates .rate-group-header { /* display:none; */ pointer-events: none; margin-bottom: 30px;}
.ecommerce .ztemplate .rooms .rates .rate-group-header :where(.rate-group-cond, .rate-group-price, .rate-group-rooms) { display: none;}
.ecommerce .ztemplate .rooms .rates .rate-group-title { font-size: var(--caption); text-transform: uppercase; font-weight: var(--medium); background-color: var(--cipria30); padding: 5px; }
.ecommerce .ztemplate .rooms .rates .rate-group { margin-bottom: 20px;}
.ecommerce .ztemplate .rooms .rates .elem.selected { background-color:var(--salvia10); }
.ecommerce .ztemplate .rooms .rates .elem.selected .caption-cnt { padding:15px 15px 15px 30px; }
.ecommerce .ztemplate .rooms .rates .elem.selected .caption-alt:before { left:10px; }
/* .ecommerce .ztemplate .rooms .rates .elem.selected .caption-alt:before,
.ecommerce .ztemplate .rooms .rates .elem.fired.selected .caption-alt:before { content:"\f00c"; } */
.ecommerce .ztemplate .rooms .rates .elem.fired { margin-bottom: 40px;}
.ecommerce .ztemplate .rooms .rates .elem.fired .caption-alt:before { content:"\f14a"; }
.ecommerce .ztemplate .rooms .rates .elem.fired .caption-4 { display:block; width: 100%; text-align:right; }
.ecommerce .ztemplate .rooms .rates .elem.fired .rate_arrangement { display:block; }
.ecommerce .ztemplate .rooms .rates .elem.fired .including { display:flex; }
.ecommerce .ztemplate .rooms .rates .elem.fired .selector_wrapper { display:flex; }
.ecommerce .ztemplate .rooms .rates .elem.promo { margin:15px 0 0 0; }
.ecommerce .ztemplate .rooms .rates .elem.promo .caption-cnt { background-color:var(--white); }
.ecommerce .ztemplate .rooms .rates .elem.promo .caption { display:block; }
.ecommerce .ztemplate .rooms .rates .caption-cnt { padding:15px 0px 15px 20px; display: flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; border-top:1px solid var(--black20); position: relative;}
.ecommerce .ztemplate .rooms .rates .caption { margin: 0 0 15px 0; max-width: inherit; width: 100%; text-align:right; top:-29px; /* display:none; */ }
.ecommerce .ztemplate .rooms .rates .caption-alt { width:60%; cursor:pointer; }
.ecommerce .ztemplate .rooms .rates .caption-alt:before { font-family: var(--font-icon); font-weight: var(--light); font-size: 95%; content:"\f0c8"; position:absolute; left:0px; top:17px; color:var(--salvia); }
.ecommerce .ztemplate .rooms .rates .caption-3 { margin: 0; padding: 0; width:40%; border:none; flex-wrap:wrap; justify-content:flex-end; align-items:flex-end; gap:5px }
.ecommerce .ztemplate .rooms .rates .selector_wrapper,
.ecommerce .ztemplate .rooms .rates .caption-4,
.ecommerce .ztemplate .rooms .rates .including,
.ecommerce .ztemplate .rooms .rates .caption-5 { display:none; }
.ecommerce .ztemplate .rooms .rates .conditions .fieldkey,
.ecommerce .ztemplate .rooms .rates .rate_details .fieldvalue,
.ecommerce .ztemplate .rooms .rates .canc_policy_text,
.ecommerce .ztemplate .rooms .rates .payment_policy_text { display:none; }
.ecommerce .ztemplate .rooms .rates .conditions { font-size:var(--caption); }
.ecommerce .ztemplate .rooms .rates .conditions .fieldvalue { display:flex; align-items:flex-end; justify-content:flex-start; flex-wrap:wrap; width: 100%; }
.ecommerce .ztemplate .rooms .rates .upfront { margin: 5px 0 0 0; font-size:var(--caption); }
.ecommerce .ztemplate .rooms .rates .payment_policy { margin: 0 5px 0 0; order:1 }
.ecommerce .ztemplate .rooms .rates .canc_policy { order:2 }
.ecommerce .ztemplate .rooms .rates .price.official { position:relative; top:-1px }
.ecommerce .ztemplate .rooms .rates .price.official .fieldvalue { text-decoration:line-through;  }
.ecommerce .ztemplate .rooms .rates .zlabelprice { font-size:var(--subtitle); }
.ecommerce .ztemplate .rooms .rates .saving { width: 100%; text-align:right; display:flex; justify-content:flex-end; display:none; }
.ecommerce .ztemplate .rooms .rates .promo_name { margin: 0 10px 0 0; position:relative; border-bottom:none; }
.ecommerce .ztemplate .rooms .rates .promo_name:before { font-family: var(--font-icon); content:"\e036"; position:absolute; left:8px }
/* Campi del template - Generic Theme*/
.payment_policy_label { color:var(--green); }
.including { display: flex; align-items:flex-start; justify-content:flex-start; gap:5px; font-size:var(--caption); }
.including .fieldkey:after { content:":" }
.promo_name { margin: 0 0 10px 0; padding: 5px 8px 5px 23px; background-color:var(--white); color: var(--green); display:inline-block; font-size:var(--caption-s); font-weight:var(--medium); border:1px solid var(--black20); position:initial; }
.promo_name:before { font-family: var(--font-icon); content:"\e036"; position:absolute; left:8px }
.rate_arrangement { margin: 0; color:var(--salvia); font-weight:var(--medium); font-size:var(--caption); }
.rate_arrangement .fieldvalue:before { margin: 0 5px 0 0; font-family: var(--font-icon); font-weight: var(--solid);}
.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";  }
.ecommerce .ztemplate .rooms .rates .open_detail { margin: 10px 0 0 0; padding: 5px 6px; cursor:pointer; font-size:var(--caption-xs); background-color: var(--salvia); color: var(--white); border-radius: var(--br-xs); line-height: 1; text-transform: uppercase; text-align: center; display:inline-flex; align-items: center; gap:3px; letter-spacing:1px }
.ecommerce .ztemplate .rooms .rates .open_detail:before { font-family: var(--font-icon);  content:"\2b" }
/* Template di vendita &gt; Servizi */
.ecommerce .ztemplate .services .product_selection_wrap { padding:10px 0 0 0 }
.ecommerce .ztemplate .services &gt; .elem { margin: 20px 0; padding:25px; background-color:var(--white50); border:1px solid var(--black20); min-height:382px }
.ecommerce .ztemplate .services .caption-cnt { padding: 0 0 0 360px; position: relative; }
.ecommerce .ztemplate .services .caption { max-width: 330px; position: absolute; left:0; top:0; z-index:5 }
.ecommerce .ztemplate .services .title { margin:0 0 10px 0;font-size:var(--subtitle-l); color: var(--salvia);}
.ecommerce .ztemplate .services .description { margin: 0 0 20px 0; font-size:var(--text); }
.ecommerce .ztemplate .services .zimage img { height: 330px; object-fit:cover; }
.ecommerce .ztemplate .services .zlabel.g5 { text-transform:uppercase; font-weight:var(--medium); color:var(--ocra); }
/* Template di vendita &gt; Servizi &gt; Tariffe */
.ecommerce .ztemplate .services .rates .caption { display:none; }
/* Template di vendita &gt; Filtri */
.ecommerce .ztemplate .template_filters { margin: 20px 0 0 0; padding: 0; }
.ecommerce .ztemplate .template_filter { display:flex; align-items:center; gap:10px }
.ecommerce .ztemplate .template_filter .filter_key:after { content:":" }
/* Cart Summary - Side */
#booking { margin: 0 0 20px 0; background-color:var(--white); border:1px solid var(--black20);  }
#booking &gt; .head &gt; .varsimple { padding: 15px; background-color:var(--cipria); text-transform:uppercase; font-weight:var(--medium); display:flex; align-items:center; gap:5px; position:relative; cursor:pointer; }
#booking &gt; .head &gt; .varsimple:before { font-family: var(--font-icon); font-weight: var(--light); font-size:calc(var(--subtitle) * 1.2); content:"\e3f1" }
#booking &gt; .head &gt; .varsimple:after { font-family: var(--font-icon); font-weight: var(--regular); font-size:var(--subtitle-s); content:"\f146"; position:absolute; right:15px }
#booking #bookingform_summary { border:none; }
#booking.close &gt; .body  { display:none; }
#booking.close &gt; .head &gt; .varsimple:after{ content:"\f0fe"; }
/* Azzero lo stile ereditato per tutti i secondi livelli */
.ztemplate.purchase_summary .subcontents .ztemplate { margin: 0; border:none; background-color:transparent; }
/* Cart Summary - Side &gt; Camere*/
.ztemplate.purchase_summary .rooms { margin: 0 0 10px 0; border-bottom:1px solid var(--black20); }
.ztemplate.purchase_summary .rooms &gt; .elem { margin: 0; padding: 5px 15px; border:none; background-color:transparent; min-height: unset;}
.ztemplate.purchase_summary .rooms .caption-cnt { padding:10px 0 }
.ztemplate.purchase_summary .rooms .caption { position:initial; }
.ztemplate.purchase_summary .rooms .title { font-size:var(--text); text-transform:uppercase; font-weight:var(--medium); }
/* Cart Summary - Side &gt; Camere - No Service added */
.ztemplate.purchase_summary.no_service .rooms { border:none; }
.ztemplate.purchase_summary.no_service .rooms .subcontents .caption-cnt { padding: 10px 0 0 0; }
/* Cart Summary - Side &gt; Tariffe */
.ztemplate.purchase_summary .rooms .subcontents { padding:0 }
.ztemplate.purchase_summary .rooms .subcontents .title { font-size:var(--text); width: 100%; text-align:left; text-transform:none; font-weight:var(--regular); margin-bottom: 0;}
.ztemplate.purchase_summary .rooms .rates .caption-cnt { padding:10px 0 }
.ztemplate.purchase_summary .rooms .rates .elem:not(:first-child) .caption-cnt { margin:10px 0 0 0 }
.ztemplate.purchase_summary .rooms .rates .caption { margin: 0 0 3px 0; display:flex; align-items: center; justify-content: space-between; position:initial; line-height:1; gap:5px }
.ztemplate.purchase_summary .rooms .rates .caption-alt,
.ztemplate.purchase_summary .rooms .rates .caption-add { width:100%; display: block; }
.ztemplate.purchase_summary .rooms .rates .caption-alt:before { display:none; }
.ztemplate.purchase_summary .rooms .rates .zlabelquantity { display:flex; align-items:center; }
.ztemplate.purchase_summary .rooms .rates .zlabelquantity:after { content: "X"}
.ztemplate.purchase_summary .rooms .rates .zlabelprice { font-size:var(--text); }
.ztemplate.purchase_summary .rooms .rates .including,
.ztemplate.purchase_summary .rooms .rates .rate_arrangement { margin: 0; display:flex; font-weight:var(--regular); }
.ztemplate.purchase_summary .rooms .rates .conditions { margin: 3px 0 0 0; font-size:var(--caption); }
.ztemplate.purchase_summary .rooms .rates .including { display:none }
/* Cart Summary - Side &gt; Servizi */
.ztemplate.purchase_summary .services &gt; .elem { margin: 0; padding: 5px 15px; border:none; background-color:transparent; min-height:initial }
.ztemplate.purchase_summary .services &gt; .elem &gt; .caption-cnt { padding:0 0 10px 0; border-bottom:1px solid var(--black20); }
.ztemplate.purchase_summary .services .caption { position:initial; display:flex; align-items:center; justify-content:space-between; max-width:initial; }
.ztemplate.purchase_summary .services .service_ex_id { display: none;}
.ztemplate.purchase_summary .services .title { margin: 0; font-size:var(--text); text-transform:uppercase; font-weight:var(--medium); color:var(--black); display: flex; align-items: center; gap:5px; }
.ztemplate.purchase_summary .services .rates .caption-cnt { padding:10px 0; }
.ztemplate.purchase_summary .services .rates .caption { display:block; max-width:initial; }
.ztemplate.purchase_summary .services .rates .subfield .fieldvalue { display:flex; align-items:center; justify-content:flex-start; gap:20px }
.ztemplate.purchase_summary .services .rates .subfield .date { order:2; width: 90px; text-align:left; }
.ztemplate.purchase_summary .services .rates .subfield .name { order:3; width: calc(100% - 65px - 90px - 25px); text-align:right; text-transform:lowercase; }
.ztemplate.purchase_summary .services .rates .subfield .price { order:4; width: 65px; text-align:right; justify-content:flex-end }
.ztemplate.purchase_summary .services .rates .subfield .quantity { order:1; width: 25px; display:flex; align-items:center; }
.ztemplate.purchase_summary .services .rates .subfield .quantity:after { content: "X"}
/* Eccezioni per Step */
#cart_summary_wrapper .rooms .rates .caption-add { display:none; }
.body_ecommerce_step #total_upfront.subtotal { display: none; }
/* Eccezioni per Order e Payment */
#order_template_wrapper .services .rates .caption-cnt { display:none; }
#order_template_wrapper .services .elem.fired .rates .caption-cnt { display:block; }
#order_template_wrapper .services .caption { cursor:pointer; }
#order_template_wrapper .services &gt; .elem.single &gt; .caption-cnt,
#order_template_wrapper .services &gt; .elem.last &gt; .caption-cnt { border:none; }
#order_template_wrapper .services &gt; .elem.fired.single &gt; .caption-cnt,
#order_template_wrapper .services &gt; .elem.fired.last &gt; .caption-cnt { border-bottom:1px solid var(--black20);}
#order_template_wrapper .services .title:before { font-family: var(--font-icon); font-weight: var(--regular); content:"\f0fe" }
#order_template_wrapper .services .elem.fired .title:before { content:"\f146" }
/* Componente dei totali */
#purchase_totals { margin:20px 0; }
/* Subtotale - SideBar */
.subtotal { margin: 0; display:flex; align-items: center; justify-content:space-between; font-size:calc(var(--subtitle) * 1.2); color:var(--salvia); }
.subtotal .total_amount { font-weight:var(--medium); }
/* Totale da pagare in anticipo e Tassa di Soggiorno - SideBar */
#total_upfront.subtotal,
#city_tax.subtotal { font-size: var(--subtitle); }
/* Risultati Camere &gt; nessun risultato */
.pf_no_results { text-align: center; padding: 50px 15px; background-color: var(--salvia); color: var(--white); font-size: var(--subtitle); margin: 15px 0;}
body.no_results section#page { min-height: calc(100vh - 285px);}
/* Bottone Step Acquisto */
/*.step_footer.fired { margin: 0 0 20px 0; opacity:1 }*/
/*.step_footer .pf_step_button { padding: 20px; background-color:var(--green); font-size:var(--text); text-transform:uppercase; color:var(--white); font-weight:var(--medium); letter-spacing: 1.9px; text-align: center; line-height: 1; cursor: pointer;}*/
#btn_step { margin: 0 0 20px 0; padding: 20px; background-color:green; font-size:var(--text); text-transform:uppercase; color:var(--white); font-weight:var(--medium); letter-spacing: 1.9px; text-align: center; line-height: 1; cursor: pointer; display: none; background-image: linear-gradient(0, var(--green), var(--green)); background-size: 0; transition: .8s infinite; background-repeat: no-repeat; }
.side.fired #btn_step { animation-delay: 10s; animation-duration: 2s; animation-name: bgbutton; animation-iteration-count: infinite; animation-direction: alternate; }
/* Gestisco la sidebar se ho prodotti nel carrello */
.side #purchase_totals { display:none; }
.side #booking { display:none; }
.side.fired #booking { display:block; }
.side.fired #varscript_advantages { display:none }
.side.fired #btn_step,
.side.fired #purchase_totals { display:block; }
/* Template di dettaglio delle tariffe */
.template_detail_wrapper { opacity:0; z-index:-1;background-color:rgba(0, 0, 0, .7); position:fixed; top:0; bottom:0; left:0; right:0; width: 100%; height: 100vh; align-items: center; justify-content:center; display:none; }
.template_detail_wrapper.opened { z-index:9999999; pointer-events: auto; opacity: 1; display: flex;}
.template_detail_wrapper .content_detail_wrapper { width:auto; position:relative; }
.template_detail_wrapper .close_detail { padding: 5px; position:absolute; top:10px; right:10px; z-index: 9999999; background-color:var(--salvia); font-size:0; cursor:pointer; }
.template_detail_wrapper .close_detail:before { content:"\f00d"; display:block; width:30px; height:30px; font-family: var(--font-icon); font-weight:var(--solid); color:var(--white); font-size:var(--subtitle); line-height:30px; text-align:center; }
.template_detail_wrapper .detail_template { margin: 0 auto; padding: 30px; width: 720px; max-height:60vh; background-color:var(--white); text-align:left; box-shadow: 0px 0 15px rgba(0, 0, 0, 0.1); position:relative; flex-wrap:wrap; z-index:999999; overflow-y:auto; }
/* Template di dettaglio delle camere */
.template_detail_wrapper .room_detail { width: auto; max-width:70vw; max-height: unset; padding: 50px 10px 0;}
.template_detail_wrapper .room_detail .box.rooms .elem { margin: 0; padding: 0; border:none; min-height: unset;}
.ecommerce .template_detail_wrapper .room_detail .box.rooms .caption-cnt { padding:0; margin: 0;}
.ecommerce .template_detail_wrapper .room_detail .box.rooms .caption { position:initial; max-width:initial; }
.template_detail_wrapper .room_detail .box.rooms .caption img { min-width:inherit; /* max-height:calc(60vh - 60px); */ object-fit:cover; }
.ztemplate .gallery .tns-controls { bottom:calc(50% - 20px); }
#page .template_detail_wrapper .room_detail .gallery { padding: 10px 0; margin: 0;}
.ztemplate .gallery .tns-outer { position: relative;}
.ztemplate .gallery .tns-outer:before { position: absolute; top: 0; left: 0; width: 10%; height: 100%; background: rgb(0,0,0); background: linear-gradient(90deg, rgba(0,0,0,0.5312718837535014) 0%, rgba(0,0,0,0) 100%); content: ''; z-index: 2;}
.ztemplate .gallery .tns-outer:after { position: absolute; top: 0; right: 0; width: 10%; height: 100%; background: rgb(0,0,0); background: linear-gradient(270deg, rgba(0,0,0,0.5312718837535014) 0%, rgba(0,0,0,0) 100%); content: ''; z-index: 2;}


/* Template di dettaglio delle tariffe */
.template_detail_wrapper .rate_detail .box.rate .caption { max-width:initial; position:initial; display:flex; align-items:center; gap:10px }
.template_detail_wrapper .rate_detail .box.rate .caption-cnt { padding:0 }
.template_detail_wrapper .rate_detail .box.rate .caption-add { display:none }
.template_detail_wrapper .rate_detail .box.rate .promo_name { position:relative; top: 5px; background-color:var(--green); color:var(--white); border:none; }
.template_detail_wrapper .rate_detail .box.rate .conditions,
.template_detail_wrapper .rate_detail .box.rate .rate_details { margin:10px 0 0 0 }
.template_detail_wrapper .rate_detail .box.rate .rate_details .fieldkey,
.template_detail_wrapper .rate_detail .box.rate .conditions .fieldkey { display:none }
.template_detail_wrapper .rate_detail .box.rate .prepaid_detail { margin: 10px 0 0 0; display:flex; align-items:center; gap:5px; }
.template_detail_wrapper .rate_detail .box.rate .prepaid_detail_date { order:1 }
.template_detail_wrapper .rate_detail .box.rate .prepaid_detail_amount { order:2 }
/* Template di dettaglio delle tariffe - Eccezione per Order Template */
#order_template_wrapper .template_detail_wrapper .detail_template { background-color:var(--white); }
#order_template_wrapper .template_detail_wrapper .rate .title { font-size:var(--subtitle); width: auto; }
/* Reset degli z-index e delle position quando c'Ã¨ la classe oh sul body */
body.oh header { z-index:100; }
body.oh #page.ecommerce &gt; .wrap &gt; .side { position:initial; z-index:initial; }
body.oh .ecommerce .ztemplate .rooms .subcontents { position:initial; z-index:0 }

/* BEI - Tariffa rimborsabile */
.secure_refund .box { max-width: 1100px; margin: 0 auto; }
.secure_refund .title { text-transform: uppercase; font-weight: var(--medium); color: var(--main-dark);}
.ztemplate_rooms .secure_refund .caption-cnt { display: flex; flex-wrap: wrap; align-items: stretch;}
.ztemplate_rooms .secure_refund .caption-alt { padding: 15px 30px; background-color: var(--white); position: relative; width: calc(100% - 290px); display: flex; align-items: center; gap: 30px;}
.ztemplate_rooms .secure_refund .caption-alt:before { font-family: var(--font-icon); content: '\f2f7'; font-size: 100px; color: var(--main-dark); font-weight: var(--solid)}
.ztemplate_rooms .secure_refund .caption-add { width: 290px; display: flex; justify-content: center; align-items: center; gap: 30px; background-color: var(--white); padding-right: 30px; position: relative;}
.ztemplate_rooms .secure_refund .caption-add:before { position: absolute; content: ''; width: 1px; top: 15px; bottom: 15px; background-color: rgba(0, 0, 0, 0.1); left: 0; }
.ztemplate_rooms .secure_refund .selector_wrapper { display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; font-size: 170%;}
.ztemplate_rooms .secure_refund .prod_sel_content { border: unset; padding: 0; height: auto; width: auto; background-color: transparent; }
.ztemplate_rooms .secure_refund :where(.prod_sel_rem, .prod_sel_add):before  { font-family: var(--font-icon); font-weight: var(--regular); text-align: center; display: flex; font-size: 80%; line-height: 1; cursor: pointer;}
.ztemplate_rooms .secure_refund .prod_sel_rem:before { content: '\f056';}
.ztemplate_rooms .secure_refund .prod_sel_add:before { content: '\f055';}
.ztemplate_rooms .secure_refund .caption-alt :where(.prod_sel_rem.disabled, .prod_sel_add.disabled) { opacity: .1;}
.ztemplate_rooms .secure_refund .caption { width: 100%; margin-bottom: 20px;}
.ztemplate_rooms .secure_refund .ztextarea.g5 { width: 100%; margin: 0; line-height: 1.3;}
.insurance .ztextarea a { text-decoration: underline!important; }
.ztemplate_rooms .secure_refund .ztextarea.g2 { font-size: 100%; margin: 0;}
.ztemplate_rooms .insurance .ztextarea.g2 ul { column-count: 2; column-gap: 60px; column-rule: 1px solid rgba(0, 0, 0, 0.1); margin: 0; list-style-type: none; padding-left: 0;}
.insurance .ztextarea.g2 ul { list-style-type: none; padding-left: 0; }
.insurance .ztextarea.g2 ul li { margin-bottom: 6px;}
.insurance .ztextarea.g2 ul li:before { font-family: var(--font-icon); content: '\f00c'; margin-right: 8px; font-size: 12px; font-weight: var(--solid)}
.ztemplate_rooms .secure_refund .zlabelprice { font-size: 160%; color: var(--main-dark); display: flex; align-items: center; }
.ztemplate_rooms .secure_refund .zlabelprice:before { margin: 0 2px 0 0; content: '\20ac'; text-transform: uppercase; font-size: 100%; text-align: left;}
.purchase_flow_step .product_selection_wrap .secure_refund .prod_sel_add, .purchase_flow_step .product_selection_wrap .secure_refund .prod_sel_rem { display: flex;}
.ztemplate_rooms .secure_refund .elem { margin: 0;}
.insurance .caption:not(.ztemplate_rooms .secure_refund .caption) { display: flex; align-items: center; justify-content: space-between;}
.insurance .caption .title:not(.ztemplate_rooms .secure_refund .title) { margin-bottom: 0!important;}
.insurance .ztextarea.g6 { background-color: var(--white); padding: 10px; border: 1px solid rgba(0,0,0,.1); line-height: 1.2;}
@media (max-width: 1023px) {
    .ztemplate_rooms .secure_refund .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) { flex-direction: row; }
    .ztemplate_rooms .secure_refund .ztextarea.g2 ul { column-count: 1; column-gap: normal;}
    .ztemplate_rooms .secure_refund .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) .caption-alt { width: calc(100% - 290px);}
}
@media (max-width: 820px) {
    .secure_refund { padding-top: 40px;}
    .ztemplate_rooms .secure_refund .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) .caption-alt { width: 100%; flex-direction: column; padding: 30px 15px;}
    .ztemplate_rooms .secure_refund .caption-add { width: 100%; padding: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); }
}
.smartphone .ztemplate_rooms .secure_refund .caption { text-align: center;}
.smartphone .ztemplate_rooms .secure_refund .caption-alt { background-color: var(--white);  background-color: #f2f2f2;}
.smartphone .ztemplate_rooms .secure_refund .caption-alt:before { font-size: 60px;}
.smartphone .ztemplate_rooms .secure_refund .ztextarea.g2 { font-size: 130%; }
.smartphone .ztemplate_rooms .secure_refund .caption-add:before { display: none;}
.smartphone .ztemplate_rooms .secure_refund .caption-add { background-color: var(--main-dark); padding: 0; gap: 0;  }
.smartphone .ztemplate_rooms .secure_refund .zlabelprice { color: var(--white); width: 50%; justify-content: center; border-right: 1px solid rgba(0, 0, 0, 0.1); padding: 10px 15px;}
.smartphone .ztemplate_rooms .secure_refund .selector_wrapper { color: var(--white); width: 50%; justify-content: center; padding: 10px 15px; font-size: 210%;}
/* FINE Tariffa rimborsabie */

/* Comparison price */
#price_compare { border: 1px solid var(--green); margin-bottom: 20px;}
#price_compare .title { padding: 10px; background-color: var(--green); text-align: center; color:var(--white); }
#price_compare .title strong { text-transform: uppercase;}
#price_compare .channel { padding: 10px; background-color: var(--white); border-bottom: 1px solid var(--green); display: flex; align-items: flex-start; flex-wrap: wrap;}
#price_compare .channel:last-of-type { border-bottom: unset; }
#price_compare .channel .name { width: 35%; font-weight: var(--medium);}
#price_compare .channel .accomodation { margin-left: auto; width: 65%; text-align: right; display: flex; justify-content: flex-end; gap: 10px; }
#price_compare .channel.site .accomodation { color: var(--green); }
#price_compare .channel.site .occupancy { color: var(--black);}
#price_compare .channel.site .accomodation .price { font-weight: var(--medium);}
#price_compare .channel .saving { margin-left: auto; display: flex; align-items: center; gap: 4px; color: var(--green); font-size: var(--button);}
#price_compare .channel .saving:before { font-family: var(--font-icon); content: '\f336'; font-weight: var(--solid);}
#price_compare .channel .saving.none { display: none;}
#price_compare .channel.ota { display: flex; align-items: center; gap: 5px;}
#price_compare .channel.ota .name { width: auto;}
#price_compare .channel.ota .accomodation { width: auto;}
#price_compare .channel.booking:before { content: ''; display: inline-block; background-image: url('../images/icons/booking_com.svg'); width: 20px; height: 20px; background-size: contain; background-repeat: no-repeat;}
#price_compare .channel.expedia:before { content: ''; display: inline-block; background-image: url('../images/icons/expedia.svg'); width: 20px; height: 20px; background-size: contain; background-repeat: no-repeat;}
#price_compare .channel.hotels:before { content: ''; display: inline-block; background-image: url('../images/icons/hotels_com.svg'); width: 20px; height: 20px; background-size: contain; background-repeat: no-repeat;}
#price_compare.loading { overflow: hidden;}
#price_compare.loading .channel.site { position: relative; padding-bottom: 20px; }
#price_compare.loading .channel.site:before { position: absolute; content: ''; z-index: 1; bottom: 0; left: 0; height: 10px; width: 100%; background: #dddddd; }
#price_compare.loading .channel.site:after { position: absolute; content: ''; z-index: 2; bottom: 0; left: 0; height: 10px; width: 200%; background: #dddddd; background-image: linear-gradient(45deg,
		 #dddddd -5%, #dddddd -2.5%,
		 #cccccc -2.5%, #cccccc 0%,
		 #dddddd 0%, #dddddd 2.5%,
		 #cccccc 2.5%, #cccccc 5%,
		 #dddddd 5%, #dddddd 7.5%,
		 #cccccc 7.5%, #cccccc 10%,
		 #dddddd 10%, #dddddd 12.5%,
		 #cccccc 12.5%, #cccccc 15%,
		 #dddddd 15%, #dddddd 17.5%,
		 #cccccc 17.5%, #cccccc 20%,
		 #dddddd 20%, #dddddd 22.5%,
		 #cccccc 22.5%, #cccccc 25%,
		 #dddddd 25%, #dddddd 27.5%,
		 #cccccc 27.5%, #cccccc 30%,
		 #dddddd 30%, #dddddd 32.5%,
		 #cccccc 32.5%, #cccccc 35%,
		 #dddddd 35%, #dddddd 37.5%,
		 #cccccc 37.5%, #cccccc 40%,
		 #dddddd 40%, #dddddd 42.5%,
		 #cccccc 42.5%, #cccccc 45%,
		 #dddddd 45%, #dddddd 47.5%,
		 #cccccc 47.5%, #cccccc 50%,
		 #dddddd 50%, #dddddd 52.5%,
		 #cccccc 52.5%, #cccccc 55%,
		 #dddddd 55%, #dddddd 57.5%,
		 #cccccc 57.5%, #cccccc 60%,
		 #dddddd 60%, #dddddd 62.5%,
		 #cccccc 62.5%, #cccccc 65%,
		 #dddddd 65%, #dddddd 67.5%,
		 #cccccc 67.5%, #cccccc 70%,
		 #dddddd 70%, #dddddd 72.5%,
		 #cccccc 72.5%, #cccccc 75%,
		 #dddddd 75%, #dddddd 77.5%,
		 #cccccc 77.5%, #cccccc 80%,
		 #dddddd 80%, #dddddd 82.5%,
		 #cccccc 82.5%, #cccccc 85%,
		 #dddddd 85%, #dddddd 87.5%,
		 #cccccc 87.5%, #cccccc 90%,
		 #dddddd 90%, #dddddd 92.5%,
		 #cccccc 92.5%, #cccccc 95%,
		 #dddddd 95%, #dddddd 97.5%,
		 #cccccc 97.5%, #cccccc 100%,
		 #dddddd 100%, #dddddd 102.5%,
		 #cccccc 102.5%, #cccccc 105%); animation: loading_bar 1.5s linear infinite; }
.smartphone #price_compare { width: calc(100% - 20px); margin: 0 auto 10px;}

/* BEI CrossBooking */
.crossbooking_box { margin-top: 90px;}
.crossbooking { padding: 0; }
.crossbooking_header { text-align: center; margin-bottom: 30px;}
.crossbooking_header .info_title { color: var(--salvia); font-size: 30px;}
.crossbooking_header .info_subtitle { font-size: 20px;}
.crossbooking_elements { display: flex; grid-gap: 30px; flex-wrap: wrap; box-sizing: border-box; justify-content: flex-start;  padding-left: 10px; background-color: var(--white); padding: 15px 30px 15px 40px; position: relative; border: 1px solid var(--black20);}
.crossbooking_elements:after { width: 30px; height: 30px; border-radius: 100%; background-color: var(--white); border: 1px solid #dedede; z-index: 1; position: absolute; bottom: 30px; left: 12px; font-family: var(--font-icon); content: '\f058'; text-align: center; line-height: 30px; font-size: 15px; }
.crossbooking_block { width: 100%; position: relative; padding: 0 0 0 20px; counter-increment: section; margin-bottom: 30px; }
.crossbooking_block:before { width: 30px; height: 30px; border-radius: 100%; background-color: var(--white); border: 1px solid #dedede; z-index: 1; position: absolute; top: 2px; left: -27px; content: counter(section); text-align: center; line-height: 30px; font-size: 15px; font-weight: var(--medium);}
.crossbooking_block:after { position: absolute; left: -14px; top: 2px; height: calc(100% + 60px); content: ''; border-left: 2px dotted #c7c7c7; }
.crossbooking_block:last-of-type:after { height: 100%; }
.crossbooking_block_header { display: flex; align-items: center; margin-bottom: 10px; min-height: 36px; gap: 10px; }
.crossbooking_select .select { display: flex; align-items: center; margin-left: auto; padding: 0; width: 100%;}
.crossbooking_select form .form_select .current_value { display: flex; align-items: center;}
.crossbooking_select form .form_select .current_value:after { position: inherit; margin-left: auto; padding-left: 10px; right: 0; content: '\f0d7'; font-family: var(--font-icon); font-weight: var(--solid); color: var(--salvia);}
.crossbooking_select .select:before { font-family: var(--font-icon); content: '\f0ec'; margin-right: 5px; color: var(--salvia);}
.crossbooking_select { margin-left: auto; min-width: 290px;}
.crossbooking_select form .form_select { background-color: var(--white);}
.crossbooking_select form .form_select .elements_list { padding: 0; top: 100%;}
.crossbooking_select form .form_select .elements_list .option { transition: .4s all; padding: 10px; background-color: var(--salvia);}
.crossbooking_select form .form_select .elements_list .option:hover { background-color: var(--ocra); color: var(--white);}
.crossbooking_select form .form_element_title { margin: 0 15px 0 0; white-space: nowrap; color: var(--black); }
.ztemplate_rooms .crossbooking_elements .elem { margin: 0; padding: 0;}
.ztemplate_rooms .crossbooking_elements .caption { padding: 10px;}
.ztemplate_rooms .crossbooking_elements .caption-cnt { flex-direction: row; background-color: #fdf9f6; min-height: 360px;}
.ztemplate_rooms .crossbooking_elements .caption-alt { position: relative; flex-direction: column; width: 100%; max-width: unset; color: #000; padding: 15px 0 0;}
.ztemplate_rooms .rooms .crossbooking_elements .caption-alt &gt; .title { color: var(--black);}
.ecommerce .crossbooking_step .ztemplate .rooms .description .fieldvalue { padding-bottom: 30px;}
.ztemplate_rooms .crossbooking_elements .zoption .fieldvalue { color: #000;}
.ztemplate_rooms .crossbooking_elements .zinput.g1.text .fieldvalue:before { color: var(--main-dark);}
.ztemplate_rooms .crossbooking_elements .zinput.g1.text .fieldvalue { color: #000;}
.ztemplate_rooms .crossbooking_elements .ztextarea { color: #000;}
.crossbooking_dates { font-size: 16px; }
.crossbooking_dates:before { font-family: var(--font-icon); content: '\e0d6'; margin-right: 5px; color: var(--salvia); }
.crossbooking_footer { margin-bottom: 40px;}
.crossbooking_footer .rate-group-header { display: flex; align-items: center; background-color: var(--salvia); padding: 0 10px; color: var(--white); font-size: 110%; position: relative; cursor: pointer; pointer-events: none; }
.crossbooking_footer .rate-group-header:before { font-family: var(--font-icon); position: absolute; left: 20px; top: 22px; cursor: pointer; content: "\f0fe"; }
.crossbooking_footer .rate-group-header.open:before { display: none;}
.crossbooking_footer .rate-group-header &gt; div { padding: 10px 20px; border-left: 1px solid rgba(255, 255, 255, 0.3);}
.crossbooking_footer .rate-group-header .rate-group-title { width: 30%; border-left: unset; padding-left: 10px;}
.crossbooking_footer .rate-group-cond { width: 35%; max-width: 325px;}
.crossbooking_footer .rate-group-price { width: 20%; text-align: center; }
.crossbooking_footer .rate-group-rooms { width: 15%; text-align: center; }
.crossbooking_footer .rate-group-content { display: flex; overflow: hidden!important; background-color: #fdf9f6; border: 1px solid var(--black20); padding: 10px;}
.crossbooking_footer .rate_details { display: none;}
.crossbooking_footer .rate-group-content &gt; div { padding: 10px; border-left: 1px solid rgba(0, 0, 0, 0.1);}
.crossbooking_footer .rate-group-content .rate-group-title-value { width: 30%; border-left: unset;}
.crossbooking_footer .rate-group-cond-value { width: 35%; line-height: 1.2; max-width: 325px;}
.crossbooking_footer .rate-group-price-value { width: 20%; text-align: center; font-size: 125%; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--black)}
.crossbooking_footer .rate-group-rooms-value { width: 15%; text-align: center; font-size: 125%; display: flex; align-items: center; justify-content: center;}
.crossbooking_footer .rate-group-rooms-value .selector_wrapper { display: flex; align-items: center; justify-content: center; }
.crossbooking_footer .rate-group-rooms-value :where(.prod_sel_rem, .prod_sel_add):before  { font-family: var(--font-icon); font-weight: var(--regular); text-align: center; font-size: 80%; line-height: 1; cursor: pointer;}
.crossbooking_footer .rate-group-rooms-value .prod_sel_rem { background-color: var(--white); border: 1px solid var(--black20); width: 30px; height: 30px; text-align: center; line-height: 28px; }
.crossbooking_footer .rate-group-rooms-value .prod_sel_rem:before { content: '\f068';}
.crossbooking_footer .rate-group-rooms-value .prod_sel_add { background-color: var(--white); border: 1px solid var(--black20); width: 30px; height: 30px; text-align: center; line-height: 28px;}
.crossbooking_footer .rate-group-rooms-value .prod_sel_add:before { content: '\2b';}
.crossbooking_footer .rate-group-rooms-value .prod_sel_content { padding: 0; min-width: 40px; width: auto; height: 30px; text-align: center; border: none; background: none; border-top: 1px solid var(--black20); border-bottom: 1px solid var(--black20); font-family: var(--font-primary); font-size: var(--subtitle); }
.crossbooking_footer :where(.canc_policy, .payment_policy) { display: flex; align-items: flex-start; flex-direction: column;}
.crossbooking_footer :where(.canc_policy_label, .payment_policy_label) { display: flex; align-items: center; gap: 10px; cursor: pointer;}
.crossbooking_footer .canc_policy_label:before,
.crossbooking_footer .payment_policy_label:before { font-family: var(--font-icon); font-weight: var(--regular); content: "\f0fe"; font-size: var(--caption); font-weight: var(--medium); color: var(--black);}
.crossbooking_footer .canc_policy.fired .canc_policy_label:before,
.crossbooking_footer .payment_policy.fired .payment_policy_label:before { content: "\f146"; }
.crossbooking_footer :where(.canc_policy_text, .payment_policy_text) { display: none;}
.crossbooking_footer .canc_policy.fired .canc_policy_text,
.crossbooking_footer .payment_policy.fired .payment_policy_text { display: block;}
.crossbooking_footer .payment_policy_label { color: var(--black);}
/* .crossbooking_footer .rate-group-rooms-value :where(.prod_sel_rem.disabled, .prod_sel_add.disabled) { opacity: .1;} */
.crossbooking_footer .rate-group-rooms-value .prod_sel_add.disabled:before, .crossbooking_footer .rate-group-rooms-value .product_selection_wrap .prod_sel_rem.disabled:before { color: transparent!important}
.crossbooking_footer .rate-group-content .title { font-size: 120%; color: var(--black); margin-bottom: 10px; text-transform: uppercase}
.crossbooking_footer .rate-group-content .rate_arrangement { display: flex; align-items: center; font-weight: var(--medium); font-size: var(--caption); }
.crossbooking_footer .rate-group-content .rate_arrangement:before { }
.ztemplate_rooms .crossbooking_footer .rate_arrangement.g24 .fieldvalue:before { font-family: var(--font-icon); font-weight: var(--solid); margin-right: 5px;}
.crossbooking_footer .rate-group-cond-value .zlabel.g8 .fieldkey { display: none;}
.crossbooking_footer .rate-group-cond-value .zlabel.g8 .fieldvalue { display: flex; flex-direction: column; gap: 10px; }
:is(#cart_summary_wrapper, #order_template_wrapper) .row-1 .caption:not(.subcontents .caption),
:is(#cart_summary_wrapper, #order_template_wrapper) .row-1 .caption:not(.subcontents .caption) { display: flex; flex-wrap: wrap;}
:is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .title { width: 100%; }
:is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .dates { display: flex; align-items: center; gap: 10px; }
:is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .dates:before { font-family: var(--font-icon); content: '\e0d6'; color: var(--black); }
:is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .dates .value:first-of-type:after { font-family: var(--font-icon); content: '\f178'; color: var(--black); margin-left: 10px; font-size: var(--caption-s);}
:is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .zlabel.g19 { width: 100%; margin-top: 5px;}
:is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .zlabel.g19 .fieldvalue { display: flex; align-items: center; gap: 10px; }
:is(#cart_summary_wrapper, #order_template_wrapper) .nights {display: flex; justify-content: flex-end; align-items: center; gap: 2px; }
:is(#cart_summary_wrapper, #order_template_wrapper) .nights:before { content: '(';}
:is(#cart_summary_wrapper, #order_template_wrapper) .nights:after { content: ')';}
.cross_booking_dates { width: 100%; border-top: 1px solid var(--main-dark); margin: 5px 0 10px; order: 9;}
.cross_booking_dates .fieldvalue { display: flex; flex-wrap: wrap; padding: 5px 0;}
.cross_booking_dates .fieldvalue &gt; div { width: 50%; }
.cross_booking_dates .dates { display: flex; align-items: center; gap: 10px;}
.cross_booking_dates .dates:before { font-family: var(--font-icon); content: '\e0d6'; color: var(--main-dark); }
.cross_booking_dates .dates .value:first-of-type:after { font-family: var(--font-icon); content: '\f105'; font-size: 70%; margin-left: 10px; }
.cross_booking_dates .nights {display: flex; justify-content: flex-end; align-items: center; gap: 5px;}
.cross_booking_dates :where( .dates, .nights) { padding: 4px 0;}

@media (max-width: 1220px) {
    .crossbooking_block_header { flex-wrap: wrap;}
    .crossbooking_dates { width: 80%; margin-bottom: 10px;}
    .crossbooking_select { padding: 0; margin-left: 0;}

}

@media (max-width: 1023px) {
    .crossbooking_footer :where(.rate-group-cond, .rate-group-price, .rate-group-rooms) { display: none;}
    .crossbooking_footer .rate-group-header .rate-group-title { width: 100%; }
    .crossbooking_footer .rate-group-content .rate-group-title-value,
    .crossbooking_footer .rate-group-cond-value,
    .crossbooking_footer .rate-group-price-value,
    .crossbooking_footer .rate-group-rooms-value { width: 50%;}
    .crossbooking_footer .rate-group-content { display: flex!important; flex-wrap: wrap;}
    .crossbooking_footer .rate-group-price-value,
    .crossbooking_footer .rate-group-rooms-value { background-color: var(--cipria30);}
    .crossbooking_footer .rate-group-price-value { border-left: unset!important; }
    .ecommerce .crossbooking_step .ztemplate .rooms.box_with_image .caption-cnt { padding-left: 210px; padding-right: 10px;}
    :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .zlabel.g19 .fieldvalue { flex-wrap: wrap; gap: 0;}
    :is(#cart_summary_wrapper, #order_template_wrapper) .nights { margin-left: 0;}
}
@media (max-width: 980px) {
    .ecommerce .crossbooking_step .ztemplate .rooms.box_with_image .caption-cnt { padding: 0;}
    .ecommerce .ztemplate .rooms.box_with_image .caption { position: relative; width: 100%; max-width: unset!important;}
    .ztemplate_rooms .crossbooking_elements .caption-alt, .ztemplate_rooms .crossbooking_elements .caption-add, .ecommerce .crossbooking_step .ztemplate .rooms .caption-3 { padding: 5px 15px;}
    .crossbooking_select .select { flex-wrap: wrap; position: relative;}
    .crossbooking_select form .form_element_title { width: 80%; margin-bottom: 10px;}
    .crossbooking_select { padding: 0; }
    .crossbooking_dates { margin-bottom: 0;}
    :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .dates,
    :is(#cart_summary_wrapper, #order_template_wrapper) .nights { font-size: 14px;}


}
@media (max-width: 768px) {
    .crossbooking_block_header { position: relative; }
    .crossbooking_select { padding: 0; }
}
.smartphone .crossbooking_header .info_title { font-size: var(--subtitle); line-height: 1; text-transform: uppercase; margin-bottom: 10px;}
.smartphone .crossbooking_header .info_subtitle { font-size: var(--text); line-height: 1.2;}
.smartphone .ztemplate_rooms .crossbooking_elements .caption-alt { background-color: #fdf9f6; padding: 0 15px; }
.smartphone .crossbooking_block { padding-left: 5px; z-index: 1; margin-bottom: 0;}
.smartphone .crossbooking { padding: 0;}
.smartphone .crossbooking_header { padding: 0 15px;}
.smartphone .crossbooking_block:last-of-type { padding-bottom: 10px; margin-bottom: 0;}
.smartphone .crossbooking_footer .rate-group-content .rate-group-title-value { width: 100%;}
.smartphone .crossbooking_footer .rate-group-cond-value { width: 100%; }
.smartphone .crossbooking_footer .rate-group-content { flex-wrap: wrap; margin: 0 10px; background-color: var(--white); padding: 10px 0 0;}
.smartphone .crossbooking_footer .rate-group-price-value { width: 50%; background-color: var(--salvia); color: var(--white);}
.smartphone .crossbooking_footer .rate-group-rooms-value { width: 50%; background-color: var(--salvia); color: var(--white); }
.smartphone .crossbooking_block:before { left: 0; right: 0; margin: 0 auto; font-size: 25px; line-height: 50px; width: 50px; height: 50px; color: var(--salvia);}
.smartphone .crossbooking_block:after { left: 0; right: 0; margin: 0 auto; width: 1px; z-index: -1;}
.smartphone .crossbooking_elements { padding: 15px 10px 115px;}
.smartphone .crossbooking_block_header { background-color: var(--salvia); color: var(--white); padding: 10px; align-items: center; margin-top: 80px; margin-bottom: 0; flex-direction: column; align-items: flex-start; padding-top: 10px;}
.smartphone .crossbooking_dates:before { color: var(--white); }
.smartphone .crossbooking_block_rooms { border: 1px solid var(--salvia); background-color: #fdf9f6;}
.smartphone .crossbooking_select { position: inherit; left: 0; right: inherit; top: inherit; margin-left: 0; padding: 10px 0 0; margin: 10px 0; width: 100%; padding-right: 0; border-top: 1px solid #dedede; background-color: transparent;}
.smartphone .crossbooking_select form .form_select { color: var(--black); width: 100%; }
.smartphone .crossbooking_select form .form_select .current_value:after { margin-left: auto; }
.smartphone .crossbooking_select .select { flex-wrap: wrap;}
.smartphone .crossbooking_block:last-of-type:after { height: calc(100% + 60px);}
.smartphone .crossbooking_footer { margin-top: 0;}
.smartphone .crossbooking_elements:after { left: 0; bottom: 40px; right: 0; margin: 0 auto; font-size: 25px; line-height: 50px; width: 50px; height: 50px; color: var(--salvia); }
.smartphone .crossbooking_footer .rate-group-header { background-color: var(--white); color: var(--salvia); text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 10px;}
.smartphone .crossbooking_footer .rate-group-header.open:before { display: none;}
.smartphone .crossbooking_select form .form_element_title { width: 90%; color: var(--white); margin-bottom: 5px;}
.smartphone .crossbooking_select .select:before { color: var(--white);}
.smartphone .ztemplate_rooms .crossbooking_elements .ztextarea { padding: 0 10px 10px;}
.smartphone .ecommerce .crossbooking_step .ztemplate .rooms .caption { padding: 0;}
.smartphone .ztemplate_rooms .rooms .crossbooking_elements .caption-alt &gt; .title { margin-top: 0; }
.smartphone .crossbooking_footer .rate-group-rooms-value .prod_sel_add:before,
.smartphone .crossbooking_footer .rate-group-rooms-value .prod_sel_rem:before { color: var(--black);}
.smartphone .crossbooking_footer .rate-group-rooms-value .prod_sel_content { background-color: var(--white); color: var(--black); }
.smartphone .ecommerce .crossbooking_step .ztemplate .rooms .crossbooking_footer .title { text-align: left; margin-top: 0;}
.smartphone .crossbooking_select form .form_select .elements_list .option { background-color: var(--black20);}
.smartphone :is(#cart_summary_wrapper, #order_template_wrapper) .nights { margin-left: 15px;}

/* FINE - BEI CrossBooking */

/* ENGAGEMENT PLATFORM */
html { min-height: 100vh;}
.body_ecommerce_engagement header, .body_ecommerce_engagement footer, .body_ecommerce_engagement #slideshow, .body_ecommerce_engagement .slideshow-cnt, .body_ecommerce_engagement .slideshow_cnt { display: none!important;}
.body_ecommerce_engagement #page { } /* calcolo altezza del footer e dell'header */
.body_ecommerce_engagement { height: 100%; overflow: auto; background: linear-gradient(to top, var(--salvia) 0%, var(--salvia) 50%, var(--cipria-light) 50%, var(--cipria-light) 100%);}
.body_ecommerce_engagement:before { /* position: absolute; content: ''; z-index: -1; background-color: #dedede; height: 100%; top: 50%; left: 0; width: 100%; */}
#page.engagement { padding: 0; max-width: 860px; margin: 200px auto; background-color: var(--white); border: 1px solid var(--black20); position: relative;}
#page.engagement:after { width: 0; height: 0; content: ''; position: absolute; z-index: 1; top: 0; right: 0; border-style: solid; border-width: 0 90px 90px 0; border-color: transparent var(--salvia); }
#page.engagement:before { position: absolute; top: 14px; right: 14px; font-family: var(--font-icon); content: '\f06b'; color: var(--white); z-index: 2; font-size: 25px; }
.engagement_header { padding: 45px 30px 15px;}
.engagement_header &gt; div { margin-bottom: 10px; line-height: 1.2; text-align: center;}
.engagement_greeting { font-size: 40px; display: flex; flex-direction: column; gap: 10px; color: var(--salvia);}
.engagement_greeting:before {}
.engagement_user { margin-top: 15px; position: relative; display: flex; flex-direction: column; gap: 20px;}
.engagement_user:before { margin: 0 auto; position: relative; content: ''; width: 60px; height: 1px; top: 0; left: 0; display: inline-block; background-color: var(--salvia);}
.unlock_offer { margin-top: 40px; text-align: center; padding: 30px; background-color: #f9f9f9;}
.unlock_offer_msg { margin-bottom: 30px; font-size: 150%; color: var(--salvia)}
#unlock_offer_form { display: flex; align-items: center; justify-content: center;}
#unlock_offer_email { padding: 15px; background-color: #dedede; width: 50%; border: unset;}
#unlock_offer_form input[type="submit"] { background-color: var(--salvia); color: var(--white);}
.engagement_expire:before { font-family: var(--font-icon); content: '\f334'; font-size: 120%; margin-right: 5px;}
.engagement_multi { margin: 0 auto; padding: 30px; border-top: 1px dashed #dedede;}
.engagement_multi_info { margin-bottom: 15px; text-align: center;}
.engagement_multi_info .title { font-size: 25px; margin-bottom: 10px;}
.engagement_offers { margin-top: 30px; display: flex; flex-direction: column; gap: 30px;}
.engagement_offer { background-color: var(--gray-light); padding: 15px; border: 3px solid #ebebeb; text-align: left;}
.engagement_offer .search_info { font-size: 120%; line-height: 1.2;}
.search_info { padding: 0 0 15px; margin-bottom: 15px; border-bottom: 1px solid #dedede;}
.room_count_string { margin-bottom: 10px; color: var(--salvia);}
.room_count_string:before {font-family: var(--font-icon); content: '\f06b'; margin-right: 5px; }
.offer_occ_per_room { background-color: var(--white); padding: 15px; border: 1px dashed #dedede;}
.offer_occ { padding-bottom: 10px; margin-bottom: 10px; display: flex; align-items: center; gap: 5px; border-bottom: 1px dashed #dedede;}
.offer_occ:last-of-type { margin-bottom: 0; padding-bottom: 0; border-bottom: unset; }
.offer_occ:before { font-family: var(--font-icon); content: '\f8f7'; }
.engagement_offer .starting_from { display: flex; flex-direction: column; gap: 5px; align-items: flex-start; margin-top: 15px;}
.engagement_offer .starting_from span { font-size: 25px; color: var(--salvia);}
.engagement_offer .starting_from span.number:before { content: '\20ac';}
.view_offer_link { padding: 15px; background-color: var(--salvia); display: inline-block; margin-top: 15px; text-transform: uppercase; color: var(--white);}
.refuse_offer { padding: 30px; text-align: center; border-top: 1px dashed #dedede; max-width: 920px; margin: 0 auto;}
.refuse_offer_title { font-size: 25px; margin-bottom: 20px;}
#refuse_offer_reason { padding: 15px; width: 100%; border: 1px solid #dedede; resize: none;}
.refuse_offer_btn { cursor: pointer; background-color: var(--salvia); padding: 15px; color: var(--white); text-transform: uppercase; margin-top: 15px;}
/* engagement mode ON */
.engagement_mode .purchase_flow_step.purchase_flow_3_step .ztemplate:not(.subcontents .ztemplate) { margin-top: 30px;}
/* .engagement_mode .ztemplate_rooms .elem.first { margin-top: 30px;} */
.engagement_mode .ztemplate_rooms.list { padding-bottom: 10px;}
.engagement_mode .refuse_offer { margin-bottom: 30px;}
.engagement_mode .engagement_header { padding: 15px; max-width: 920px; margin: 0 auto;}
.engagement_mode .engagement_greeting { font-size: 20px;}
.engagement_mode .engagement_description { font-size: var(--size-base);}
.engagement_mode .engagement_header .engagement_expire { display: none;}
.engagement_mode .engagement_user { display: none;}
.engagement_mode .engagement_expire { color: var(--black);}
.accomodation_info { max-width: 1024px; margin: 0 auto 30px; text-align: center; position: relative;}
.accomodation_info.selected {  padding: 20px; background-color: var(--white50); border: 1px solid var(--black20);}
.accomodation_info .occupancy { font-size: 18px; font-weight: var(--font-weight-bold); margin-bottom: 15px; padding: 10px; background-color: var(--color3);}
.accomodation_info .occupancy:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f8f7"; margin-right: 5px; }
.accomodation_info .info_msg { font-size: 18px; line-height: 1.2; padding: 15px; /* background-color: var(--salvia10); border: 1px solid #dedede; */ width: auto; display: inline-block;}
.accomodation_info .info_msg:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f05a"; margin-right: 5px;}
/* .accomodation_info:before { content: counter(section); position: absolute; top: 50%; left: -60px; transform: translateY(-50%); z-index: 2; width: 50px; height: 50px; font-size: 60px;  font-weight: var(--font-weight-bold); color: var(--salvia); opacity: .3; } */
.selected_option_info .caption { box-shadow: unset!important;}
.selected_option_info { margin-bottom: 0; display: flex; flex-wrap: wrap; align-items: center;}
.selected_option_info .selected_rate_ctn .caption-cnt { display: flex; align-items: center; position: relative!important; border: 1px solid var(--black20); padding: 15px!important; flex-direction: column!important;}
.selected_option_info .selected_rate_ctn .caption { width: 60%!important;}
.selected_option_info .selected_rate_ctn .caption-cnt .caption-alt { padding: 0!important; width: 100%!important;}
.selected_option_info { text-align: left;}
.selected_option_info .toggle_open { text-transform: uppercase; cursor: pointer; font-size: var(--caption); font-weight: var(--medium);}
.selected_option_info .toggle_open:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f0fe"; margin-right: 5px;}
.selected_option_info .toggle_open.fired:before { content: '\f146';}
.selected_room_name { font-size: var(--subtitle-l); color: var(--black); margin-bottom: 10px; width: calc(100% - 290px);}
.selected_room_price { margin-left: auto; width: 290px; text-align: center; font-size: 35px; color: var(--salvia);}
.selected_room_price .number:before { content: '\20ac'; margin-right: 3px;}
.selected_room_price .decimal, .selected_room_price .comma { vertical-align: super; font-size: 65%; letter-spacing: -0.5px; position: relative; top: 4px;}
.selected_room_name:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f058"; margin-right: 10px; color: var(--salvia);}
.selected_option_info .title { font-size: 100%; color: var(--black); width: 100%; text-align: left; margin-top: 15px; font-size: var(--subtitle)!important; margin-bottom: 5px;}
.selected_option_info .rate_arrangement { display: flex; gap: 5px; }
.selected_option_info .rate_arrangement:before { font-family: var(--font-icon); font-weight: var(--solid);}
.selected_option_info .selected_rate_ctn[treatment="treatment-breakfast"] .rate_arrangement.g24:before { content: '\f7b6';}
.selected_option_info .selected_rate_ctn[treatment="treatment-room"] .rate_arrangement.g24:before { content: '\f236';}
.selected_option_info .selected_rate_ctn[treatment="treatment-half"] .rate_arrangement.g24:before { content: '\f2e6';}
.selected_option_info .selected_rate_ctn[treatment="treatment-full"] .rate_arrangement.g24:before { content: '\f2e6';}
.selected_option_info .selected_rate_ctn[treatment="treatment-all"] .rate_arrangement.g24:before { content: '\f561';}
.selected_option_info .caption .zlabel.g25 { display: flex; gap: 5px; margin: 5px auto 10px; flex-wrap: wrap;}
.selected_option_info .caption .zlabel.g25 .fieldkey { color: var(--salvia);}
.selected_option_info .caption .zlabel.g25 .fieldkey:after { content: ':'; }
.selected_option_info .rate_details .fieldkey { cursor: pointer; color: var(--grey); font-size: 13px; width: 100%; text-align: left; text-transform: uppercase; display: flex; gap: 5px; }
.selected_option_info .rate_details .fieldkey:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f0fe";}
.selected_option_info .rate_details.fired .fieldkey:before { content: '\f146';}
.selected_option_info .rate_details .fieldvalue { display: none; font-size: var(--size-base);}
.selected_option_info .rate_details.fired .fieldvalue { display: block}
.selected_option_info .caption-cnt { align-items: center!important; background-color: var(--white50);}
.selected_option_info .caption-alt { position: initial!important; bottom: unset!important; top: unset!important; left: unset!important; right: unset!important; line-height: 1.2; width: auto; background-color: transparent; border-left: unset; padding: 0 40px;}
.selected_option_info .caption-alt .conditions { margin: 15px 0;}
.selected_option_info .caption-alt .conditions .fieldkey { display: none;}
.selected_option_info .caption-alt .canc_policy { margin: 15px 0;}
.selected_option_info .caption-alt .canc_policy_label { font-weight: var(--medium);}
.selected_option_info .caption-alt .upfront { margin-bottom: 10px; color: var(--salvia);}
.selected_option_info .caption-alt .upfront .fieldvalue { font-size: 20px;}
.selected_option_info .caption-alt .upfront .number:before {  content: '\20ac'; }
.selected_option_info .caption-add { position: initial!important; bottom: unset!important; top: unset!important; left: unset!important; right: unset!important; width: 100%; font-size: var(--text);}
.selected_option_info .caption-add .open_detail { display: none; }
.selected_option_info .caption-add.caption-3, .selected_option_info .caption-add.caption-5 { display: none!important;}
.selected_option_info .caption-add .zlabel { /* display: none!important; */}
.selected_option_info .caption-add .zlabel.zlabelprice { display: none!important; /* gap: 2px; align-items: center; font-size: 30px; color: var(--salvia); */}
.selected_option_info .caption-add .zlabel.zlabelprice:before { content: '\20ac'; position: relative; top: 2px;}
.selected_rate_ctn { display: none; width: 100%;}
.selected_rate_ctn.fired { display: block; margin-top: 15px;}
.remove_eng_selection { position: absolute; z-index: 2; top: 0; right: 0; font-size: 0; width: 40px; height: 40px; background-color: transparent; line-height: 40px; text-align: center; cursor: pointer;}
.remove_eng_selection:before {font-family: var(--font-icon); content: '\f00d'; color: var(--white); font-size: 25px; z-index: 2; position: relative;}
.remove_eng_selection:after { width: 0; height: 0; content: ''; position: absolute; z-index: 1; top: 0; right: 0; border-style: solid; border-width: 0 70px 70px 0; border-color: transparent var(--salvia); }
/* Engagement Media */
.engagement_media { text-align: center; padding-top: 30px; margin-top: 0; background-color: var(--cipria-light); padding: 60px 0;}
.engagement_media &gt; div { max-width: var(--cnt-m); margin: 0 auto 90px; padding: 50px 30px 30px; background-color: var(--white50); border: 1px solid var(--black20); position: relative; border-top: 5px solid var(--salvia);}
.engagement_media &gt; div:before { font-family: var(--font-icon); font-weight: 900; font-size: 25px; color: var(--white); position: absolute; top: -30px; left: 0; right: 0; margin: 0 auto; z-index: 2; width: 60px; height: 60px; line-height: 60px; text-align: center; background-color: var(--salvia);}
.engagement_video:before { content: '\f03d';}
.engagement_spotify:before { content: '\f001';}
.engagement_attachments:before { content: '\f07c';}
.engagement_video { background-color: var(--salvia10); }
.engagement_video iframe { width: 100%; height: 517px; box-shadow: 0px 9px 11px 0px rgba(0,0,0,0.15); padding: 10px;}
.engagement_video .video_wrapper { max-width: 920px; margin: 0 auto 30px; }
.spotify_hint {  display: flex; flex-direction: column; gap: 20px; align-items: center; line-height: 1.2; font-size: 100%;}
.spotify_hint:after { display: none; background-color: var(--salvia); width: 40px; height: 40px; border-radius: 100%; line-height: 40px; text-align: center; font-family: var(--font-icon); content: '\f6a8'; color: var(--white); cursor: pointer; font-size: 20px; }
.spotify_wrapper { width: 100%; text-align: left;}
.spotify_wrapper iframe { width: 100%; height: 400px; margin-top: 30px;}
.spotify_wrapper.fired { display: block;}
.spotify_wrapper .trigger_close { display: none;}
.engagement_attachments { max-width: 920px; margin: 30px auto; padding: 15px; background-color: var(--salvia10);}
.attachments_wrapper .trigger_close:before { display: none;}
.trigger_close:before { font-family: var(--font-icon); content: '\f057'; font-weight: 900; cursor: pointer; font-size: 20px; color: var(--salvia); }
.engagement_video .trigger_close { display: none;}
.video_hint, .attachments_hint { font-size: 25px; margin-bottom: 30px;}
.engagement_attachments .attachment { text-align: left; padding: 10px; margin-bottom: 10px; border: 1px dashed #dedede;}
.engagement_attachments .attachment a { color: var(--salvia); font-size: 18px;}
.engagement_attachments .attachment a:before { font-family: var(--font-icon); content: '\f019'; margin-right: 5px; }

.error_message .buttons { display: flex; align-items: center; gap: 15px; margin-top: 30px;}
.error_message .buttons &gt; div { background-color: var(--salvia); text-transform: uppercase; color: var(--white); padding: 15px; cursor: pointer; font-size: var(--button);}

@media (max-width: 960px) {
    .selected_option_info .selected_rate_ctn .caption-cnt { flex-direction: column!important; padding: 15px;}
    .selected_option_info .caption-alt { padding: 30px 0!important; border-left: unset;}
    .accomodation_info { margin: 0 auto 15px;}
}
@media (max-width: 767px) {
    .selected_room_name { width: 100%; font-size: 25px;}
    .selected_room_price { width: 100%; margin-left: 0; text-align: left; margin-bottom: 20px; font-size: 20px;}
    .engagement_video iframe { height: auto;}
    #unlock_offer_form { flex-direction: column;}
    #unlock_offer_email { width: 100%;}
}
.smartphone .accomodation_info .info_msg { font-size: 100%;}
.smartphone #page.engagement { margin: 0 auto;}
.smartphone .engagement_multi { padding: 10px;}
.smartphone .engagement_greeting { font-size: 20px;}
.smartphone .engagement_multi_info .title,
.smartphone .refuse_offer_title { font-size: 18px;}
.smartphone #page.engagement_mode .heading { padding-top: 20px;}
.smartphone .engagement_mode .engagement_expire { margin-top: 8px; text-align: center;}
.smartphone .selected_option_info .caption-alt { background-color: transparent!important;}
.smartphone .engagement_media { margin-top: 15px; padding: 0 15px 15px;}
.smartphone .engagement_media &gt; div { padding: 50px 15px 15px; border-radius: 5px;}
.smartphone .engagement_media &gt; div:last-of-type { padding-bottom: 0; margin-bottom: 0;}
.smartphone .engagement_media &gt; div:before { border-radius: 100%; font-size: 20px;}
.smartphone .selected_option_info .selected_rate_ctn .caption,
.smartphone .selected_option_info .selected_rate_ctn .caption-cnt .caption-alt { width: 100%!important;}
.smartphone .selected_option_info .title { text-align: left!important;}
.smartphone .selected_option_info .caption-alt { border-top: unset;}
.smartphone .selected_option_info .zlabelprice { display: none;}
.smartphone .selected_option_info .rate_arrangement { margin-top: 10px;}
.smartphone .selected_option_info .caption-add.caption-3 { display: block!important; border-bottom: unset; margin-bottom: 0; padding-bottom: 0;}
.smartphone .selected_option_info .caption-add.caption-6 { display: none;}


/* FINE ENGAGEMENT PLATFORM */

/* Fasce orarie - Servizi */
.ztemplate .selection_time { display: flex; align-items: center; gap: 3px; margin-left: 10px;}
.ztemplate .selection_time select { border: 1px solid #dedede; border-radius: 3px; background-color: #f6f6f6; padding: 3px;}
.ztemplate .selection_time select:focus { outline:none;}
.ztemplate .selection_time:before, .ztemplate .time:before { font-family: var(--font-icon); content: '\f017';}
.ztemplate .time { order: 3; margin-left: 5px; display: flex; align-items: center; gap: 3px;}
.ztemplate .time:before { font-size: 90%;}
.ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper.has_time:hover .selection_date { padding-left: 0;}
.smartphone .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper.has_time { position: relative; padding: 15px 20px;}
.smartphone .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper.has_time .selection_date { position: relative; top: -10px;}
.smartphone .ztemplate .selection_time { position: absolute; bottom: 10px; left: 10px; gap: 2px;}
.smartphone .ztemplate .selection_time select { padding: 0; border: unset;}
.smartphone .ztemplate .selection_time:before { font-size: 90%; }

/* CSS Takyon */
.takyon-scripts-target-info .takyon-info-box { width: auto; align-items: flex-start; background-color: #fff; padding: 15px; border: 1px solid #dedede; margin-bottom: 15px;}
img.takyon-logo-little { min-width: unset!important; width: auto; height: auto!important; max-width: 50px;}
.takyon-scripts-target-info .takyon-info-box::after { display: none!important;}
.takyon-logo { min-width: unset!important; width: auto!important; height: 60px!important;}
.ztemplate_rooms .rates .caption-alt { z-index: auto;}
.takyon-scripts-target-info .takyon-info-box p { white-space: normal!important; line-height: 1;}
.smartphone .takyon-scripts-target-info :where(.takyon-row-1, .takyon-row-2) { flex-wrap: wrap; justify-content: flex-start;}

/* DESKTOP */
/* Eccezione solo desktop per Order e Payment */
.desktop #page.order #booking #bookingform_summary,
.desktop #page.payment #booking #bookingform_summary { padding: 15px 15px 0 15px; display:block; }
.desktop #page.order #booking #bookingform_summary .varsimple,
.desktop #page.payment #booking #bookingform_summary .varsimple { margin: 10px 0 0 0; padding: 0; background-color:transparent; color:var(--ocra); text-align:right; }

/* RWD */

@media (max-width: 1300px){
    #page.ecommerce &gt; .wrap &gt; .side { padding: 5px;}

}

@media (max-width:1190px) {
    #bookingform_summary { flex-wrap: wrap; padding: 10px;}
    #bookingform_summary .summary { margin-bottom: 10px;}
    .side #purchase_totals { padding: 0 10px;}
    .ecommerce .ztemplate .rooms .amenities { display: none;}
    .ecommerce .ztemplate .rooms.box_with_image .caption { max-width: 200px;}
    .ecommerce .ztemplate .rooms.box_with_image .caption-cnt { padding-left: 230px; margin-bottom: 50px;}
    .template_detail_wrapper .rate_detail .box.rate .caption-cnt { padding: 0;}
    .ecommerce .ztemplate .rooms .rates .caption-cnt { padding: 15px 15px 15px 30px;}
    .ecommerce .ztemplate .rooms .subcontents { padding-left: 0;}
    .ecommerce .ztemplate .rooms &gt; .elem { padding: 10px;}
    .ecommerce .ztemplate .rooms .photo,
    #btn_step,
    #booking &gt; .head &gt; .varsimple,
    .ztemplate.purchase_summary .rooms .title { font-size: var(--caption);}
    .subtotal { line-height: 1; margin-bottom: 20px; font-size: 100%;}
    #total_upfront.subtotal, #city_tax.subtotal { font-size: 100%; }
    .ecommerce .ztemplate .services .caption { max-width: 150px;}
    .ecommerce .ztemplate .services .zimage img { height: 150px;}
    .ecommerce .ztemplate .services .caption-cnt { padding-left: 180px;}
    .ecommerce .ztemplate .services .caption-alt { min-height: 150px; margin-bottom: 15px;}
    .ecommerce .ztemplate .services .rates { border-top: 1px solid var(--black20);}
    .ecommerce .ztemplate .services .rates .caption-cnt { padding-left: 0;}




}



@media (max-width: 1024px) {
    #bookingform_summary .summary { flex-wrap: wrap; width: 60%; }
    #bookingform_summary .guests { width: 100%;}

    /*
    .ecommerce .ztemplate .rooms &gt; .elem .caption-cnt { display: flex; flex-direction: column; padding-left: 0;}
    .ecommerce .ztemplate .rooms.box_with_image .caption { position: relative; max-width: unset; width: 100%; margin-bottom: 40px;Â&nbsp;}
    .ecommerce .ztemplate .rooms .subcontents { padding-left: 0;}
    .ecommerce .ztemplate .rooms .subcontents .caption-cnt { flex-direction: row;}
    .ecommerce .ztemplate .rooms .rates .caption-alt { padding-left: 20px;}
    */

}

@media (max-width:1023px) {
    /* Booking mask  */
    #booking_mask { display: none;}
    .ztemplate .rooms .title { font-size: var(--subtitle);}
    .side #btn_step { letter-spacing: 0;}
}

@media (max-width: 890px) {
    .ztemplate.purchase_summary .rooms .rates .caption { flex-wrap: wrap;}
    .ecommerce .ztemplate .rooms .photo,
    #btn_step, #booking &gt; .head &gt; .varsimple,
    .ztemplate.purchase_summary .rooms .title,
    .ztemplate.purchase_summary .rooms .rates .zlabelquantity { font-size: 70%;}
    #page.ecommerce.order &gt; .wrap { flex-direction: column;}
    #page.ecommerce.order form .caption-fields .field, #page.ecommerce.order form .caption-fields .form { width: 100%;}
    #page.ecommerce.order &gt; .wrap &gt; .body,
    #page.ecommerce.order &gt; .wrap &gt; .side { width: 100%;}

}

@media (max-width:820px) {
    #bookingform_summary .summary { width: 100%;}
    .ecommerce .ztemplate .rooms.box_with_image .caption { max-width: 150px;}

    .ecommerce .ztemplate .rooms .photo:before { font-size: var(--caption);}
    .ecommerce .ztemplate .rooms.box_with_image .caption-cnt { padding-left: 170px;}
    .template_detail_wrapper .rate_detail .box.rate .caption-cnt { padding: 0;}
    .template_detail_wrapper .detail_template { width: calc(100% - 30px);}
    .template_detail_wrapper .close_detail { right: 25px;}
    .template_detail_wrapper .room_detail { max-width: unset; width: calc(100% - 30px);}
    .ecommerce .ztemplate .rooms .rates .caption-cnt { padding: 15px 15px 15px 30px;}
    #booking &gt; .head &gt; .varsimple { padding: 15px 35px 15px 15px; }

}

/* Fix schermi per portatili */
@media (max-height: 800px) {
    #booking_mask.top { height: 100%; overflow: auto; padding-bottom: 110px;}    #booking_mask.top { }
    #booking_mask .guests_wrapper { height:calc(100vh - 78px); width: 100%;}
    #booking_mask .guests_wrapper .merge_group { flex-wrap:wrap; }
    #booking_mask .guests_wrapper .group_title { padding: 10px; width: 100%; border: none; border-bottom: 1px solid var(--black20); }
    #booking_mask .guests_wrapper .form_merge_group .form.field.select_wrap { width: calc((100%) / 2)!important; }
    #booking_mask .guests_wrapper .form_merge_group .merge_group:last-of-type .form.field.select_wrap { width: calc((100% - 45px) / 2)!important;}
    #booking_mask .guests_wrapper .form_merge_group .merge_group:only-child .form.field.select_wrap { width: calc((100%) / 2)!important;}

}
</pre></body></html>