/* Animazioni */
@keyframes borderDrawAndFade { 0% { clip-path: polygon(50% 50%, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0); opacity: 1; } 25% { clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 0, 100% 0, 100% 0, 50% 0); opacity: 1; } 50% { clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 100%, 100% 100%, 100% 100%, 50% 0); opacity: 1; } 75% { clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 100%, 0 100%, 0 100%, 50% 0); opacity: 1; } 85% { clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 100%, 0 100%, 0 0, 50% 0); opacity: 0.8; } 86% { opacity: 0.6; } 95% { opacity: 0.3; } 100% { opacity: 0; } }
@keyframes bounceScale { 0% { transform: scale(1); } 30% { transform: scale(1.9); } 60% { transform: scale(0.9); } 100% { transform: scale(1); } }
@keyframes bounceScaleAlt { 0% { transform: scale(1); } 30% { transform: scale(1.3); } 60% { transform: scale(0.9); } 100% { transform: scale(1); } }
@keyframes explode { 0% { box-shadow: 0 0 0 var(--color5), 0 0 0 var(--color5), 0 0 0 var(--color5), 0 0 0 var(--color5), 0 0 0 var(--color5), 0 0 0 var(--color5); opacity: 1; } 100% { box-shadow: 0 -18px 0 var(--color5), 18px 0 0 var(--color5), 0 18px 0 var(--color5), -18px 0 0 var(--color5), 14px -14px 0 var(--color5), -14px 14px 0 var(--color5); opacity: 0; } }

:root {
    --col-menu-width: 190px;
    --cart-width: 1024px;
}
/* Animazione icona carrello */
#cart.opened .qty:before { content: ''; position: absolute; top: -2px; left: -2px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--color5); transform: rotate(0deg); clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 100%, 0 100%, 0 0, 50% 0); opacity: 0; pointer-events: none; }
#cart.opened .qty:after { content: ''; position: absolute; top: 50%; left: 50%; width: 2px; height: 2px; background: transparent; border-radius: 50%; pointer-events: none; transform: translate(-50%, -50%); opacity: 0; }
#cart.opened .qty:before { animation: borderDrawAndFade 1s linear forwards; opacity: 1; }
#cart.opened .qty { animation: bounceScale 1s ease-out 1s forwards; }
#cart.opened .qty:after { animation: explode 1s ease-out 1.05s forwards; }
#cart.opened > a { animation: bounceScaleAlt 1s ease-out .1s forwards; }
#cart:hover.opened .qty:before { display: none; animation: unset; }
#cart:hover.opened .qty { animation: unset; }
#cart:hover.opened .qty:after { animation: unset; }
.fly-item { position: fixed; width: 40px; height: 40px; border-radius: 50%; background-color: var(--green); z-index: 1000; pointer-events: none; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.8); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: var(--font-weight-medium); color: var(--white); transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1), opacity 1.8s; }
.fly-item::before { content: '+1'; }
/* Vetrina prodotti */
.shop_showcase_tpl img { width: 100%; transition: .4s all; }
.shop_showcase_tpl .elem:hover img { opacity: .6; transform: scale(1.03); } 
.shop_showcase_tpl .elem { position: relative; }
.shop_showcase_tpl .products { display: flex; flex-wrap: wrap; gap: 50px; }
.shop_showcase_tpl .products .elem:not(.subcontents .elem) { /* flex: 1 1 calc(50% - 50px); */ width: calc(50% - 50px);  box-sizing: border-box; overflow: hidden; }
.shop_showcase_tpl .products .elem:not(.subcontents .elem).sold_out .caption:not(.subcontents .caption):before { padding: 5px 10px; background-color: var(--red); color: var(--white); content: 'SOLD OUT!'; position: absolute; z-index: 2; top: 30px; left: 30px; z-index: 2; font-size: var(--size-mini); }
.rate-on-date .shop_showcase_tpl .products .elem.sold_out .caption:before { display: none !important; }
.shop_showcase_tpl .products .elem.sold_out .subcontents { display: none; }
.shop_showcase_tpl .products .caption-cnt:not(.subcontents .caption-cnt) { display: flex; flex-direction: column; }
.shop_showcase_tpl .products .caption:not(.subcontents .caption) { width: 100%; background-color: var(--color1); overflow: hidden;}
.shop_showcase_tpl .products .caption-alt:not(.subcontents .caption-alt) { padding: 15px; display: flex; flex-wrap: wrap; width: 100%; box-sizing: border-box; background-color: var(--white); position: relative; top: 0; transition: .4s all; }
.shop_showcase_tpl .products .caption-alt .ztextarea { margin-bottom: 15px; width: 100%; }
.shop_showcase_tpl .products .title a { font-family: var(--sans); font-size: var(--size-base); text-transform: uppercase; font-weight: var(--font-weight-medium); }
.shop_showcase_tpl .products .zsimplebutton a { padding: 10px 20px; display: inline-block; background-color: var(--color1); color: var(--white); border-color: var(--color1); text-decoration: none !important;  }
.rate-on-date .subcontents { display: none; }
/* Filtro */
.shop_showcase_tpl .template_filter { padding-top: 30px; border-top: 1px solid var(--soft-grey); }
.shop_showcase_tpl .template_filter .filter_key { display: none; }
.shop_showcase_tpl .template_filter .checkbox { font-size: 0; }
.shop_showcase_tpl .template_filter .checkbox .value:before { font-size: var(--size-button); }
.shop_showcase_tpl .template_filter .checkbox[data-ckb-id="8"] .value:before { content: 'Con soggiorno'; }
.shop_showcase_tpl .template_filter .checkbox[data-ckb-id="9"] .value:before { content: 'Senza soggiorno'; }
body.en .shop_showcase_tpl .template_filter .checkbox[data-ckb-id="8"] .value:before { content: 'With accommodation'; }
body.en .shop_showcase_tpl .template_filter .checkbox[data-ckb-id="9"] .value:before { content: 'Without accommodation'; }
body.de .shop_showcase_tpl .template_filter .checkbox[data-ckb-id="8"] .value:before { content: 'Mit Übernachtung'; }
body.de .shop_showcase_tpl .template_filter .checkbox[data-ckb-id="9"] .value:before { content: 'Ohne Übernachtung'; }
/* tariffe */
.shop_showcase_tpl .products .subcontents { padding: 0; background-color: var(--white); width: 100%; /* max-height: 300px; */ overflow: auto; transition: .4s all; }
.shop_showcase_tpl .products .subcontents::-webkit-scrollbar { width: 4px; background: var(--color1); }
.shop_showcase_tpl .products .subcontents::-webkit-scrollbar-thumb { background: var(--green); }
.shop_showcase_tpl .products .subcontents::-webkit-scrollbar-track { margin: 0; }
.shop_showcase_tpl .products .elem.direct_page_link .subcontents { height: 0; }

.desktop .shop_showcase_tpl .products .subcontents { opacity: 0; position: absolute; z-index: 2; left: 0;}
.shop_showcase_tpl .products .elem:hover .subcontents { opacity: 1; bottom: 0!important; }
.shop_showcase_tpl .products .subcontents .elem { padding: 15px; width: 100%; box-sizing: border-box; background-color: var(--light-grey);  }
.shop_showcase_tpl .products .subcontents .caption-cnt { flex-direction: column; }
.shop_showcase_tpl .products .subcontents .caption { width: 100%; }
.shop_showcase_tpl .products .subcontents .caption-alt { padding-top: 10px; display: flex; align-items: center; gap: 30px; width: 100%; }
.shop_showcase_tpl .products .subcontents .title { padding-bottom: 10px; margin-bottom: 5px; width: 100%; border-bottom: 1px solid var(--color4); text-transform: uppercase; font-size: var(--size-base); font-family: var(--sans); }
.rate_box { display: flex; flex-direction: column; gap: 10px; }
.rate_box .elem { border: 1px solid var(--light-grey); }
.rate_box .elem.selected { background-color: var(--highlighted)!important; border-color: var(--color1); }
.zlabelprice { text-align: right; line-height: 1; }
.zlabelprice .fieldkey { font-size: var(--size-button); width: 100%; text-align: left;}
.zlabelprice .fieldvalue { font-size: var(--size-base); font-weight: var(--font-weight-bold);}
.zlabelprice .fieldvalue:before { margin-right: 2px; content: '\20AC'; }
.product_selection_wrap { display: flex; align-items: center; --size-average: 25px; font-size: var(--size-average);}
.shop_showcase_tpl .products .subcontents .product_selection_wrap { margin-left: auto; }
.purchase_flow_step .product_selection_wrap .prod_sel_content, .prod_sel_content  {  text-align: center;  font-weight: var(--font-weight-bold); height: auto; background-color: transparent; border: unset; }
.prod_sel_add:before { font-family: var(--font-icon); content: '\f0fe'; font-weight: var(--font-weight-solid); color: var(--green); }
.prod_sel_rem:before { font-family: var(--font-icon); content: '\f146'; font-weight: var(--font-weight-solid); color: var(--green); }
.prod_sel_add, .prod_sel_rem { cursor: pointer; }
.shop_showcase_tpl .products .subcontents .caption-alt .zlabelprice { display: flex; flex-wrap: wrap; column-gap: 10px; row-gap: 3px;}
input.zselection { padding: 10px 20px; background-color: var(--green); color: var(--white); font-size: var(--size-button); font-weight: var(--font-weight-medium); text-transform: uppercase; }

/* Scalapay */
.shop_showcase_tpl .products .subcontents .caption-alt .zlabelprice:hover scalapay-widget { opacity: 1; }
scalapay-widget {  display: inline-flex; font-size: var(--size-mini); }

/* Stile Vetrina */
.body_shop_showcase .standard_page,
.body_vetrina_prodotti .standard_page { max-width: var(--max-width); }
:is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .page_wrap { display: flex; align-items: flex-start; gap: 50px; }
:is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left { width: var(--col-menu-width); top: 170px; }
.body_shop_showcase .col.right,
.body_vetrina_prodotti .col.right { width: calc(100% - var(--col-menu-width)); }
.body_shop_showcase .rate_box .box_heading { display: none; }
/* Menu ecommerce */
.ecommerce_menu #menu2 li a { color: var(--black); }
.ecommerce_menu #menu2 .extended-menu li.active a { color: var(--color4); }
/* Stile Pagina prodotto interna */
.step_title { margin-bottom: 30px; font-family: var(--serif); font-size: var(--size-big); text-align: center; line-height: 1; text-transform: uppercase; }
.step_title #page_name { font-size: var(--size-big); }
.step_title span { display: flex; align-items: center; justify-content: center; gap: 20px; font-style: normal; font-size: var(--size-average); }
.step_title span:before, .step_title span:after { display: inline-block; content: ''; position: relative; height: 2px; width: 250px; background-color: var(--color1);}
.body_prodotti .standard_page { margin-bottom: 120px; max-width: var(--max-width); } 
.body_prodotti .rate_col { width: calc(50% - var(--col-menu-width)); top: 170px; }
.body_prodotti .shop_showcase_tpl .products .elem:not(.subcontents .elem) { width: 100%; }
.body_prodotti .shop_showcase_tpl .template_filters { display: none; }
.body_prodotti .shop_showcase_tpl .products .caption-cnt:not(.subcontents .caption-cnt) { display: none; }
.body_prodotti .shop_showcase_tpl .products .subcontents { padding: 0; opacity: 1; position: inherit; bottom: 0!important; }
.body_prodotti .shop_showcase_tpl .products .elem.direct_page_link .subcontents { height: auto; max-height: unset; }
.body_prodotti .shop_showcase_tpl .products .subcontents .caption-cnt { flex-wrap: wrap; }
.body_prodotti .shop_showcase_tpl .products .subcontents .caption { width: 100%; }
.body_prodotti .shop_showcase_tpl .products .subcontents .title { padding-bottom: 10px; margin-bottom: 5px; width: 100%; border-bottom: 1px solid var(--color4); text-transform: uppercase; }
.body_prodotti .shop_showcase_tpl .products .subcontents .caption-alt { margin-left: 0; width: 100%; justify-content: space-between; }
.body_prodotti .shop_showcase_tpl .products .subcontents .zlabelprice { display: flex; align-items: center; }
.body_prodotti .shop_showcase_tpl .products .subcontents .zlabelprice .fieldkey { margin-right: 10px; font-size: var(--size-button);  }
.body_prodotti .product_col { padding: 15px; width: calc(50% - var(--col-menu-width)); background-color: var(--light-grey); }
.body_prodotti .product_col #page_name { margin-bottom: 10px; --size-average: 30px; font-size: var(--size-average); font-family: var(--sans); text-transform: uppercase; font-weight: var(--font-weight-thin); line-height: 1.2; }
.body_prodotti .standard_page .product_col .text.g3 { font-family: var(--sans); font-size: var(--size-base); line-height: 1.2; }
.body_prodotti .product_col img.left { margin: 0 0 20px 0!important; width: 100%; }
.body_prodotti .standard_page .text.g2 { text-transform: initial; line-height: 1.2; color: var(--grey); }
.body_prodotti .standard_page .text.g2 :where(h2, h3, h4, h5, h6) { font-size: var(--size-base); line-height: 1.2; }
.rate_box .box_heading, .line_title .varsimple { display: flex; gap: 20px; align-items: center; text-align: center; justify-content: center; text-transform: uppercase; font-weight: var(--font-weight-medium); }
.rate_box .box_heading:before, .rate_box .box_heading:after, .line_title .varsimple:before, .line_title .varsimple:after { content: ''; flex: 1; height: 1px; background-color: var(--color1); }
.rate_box .box_heading p { margin-bottom: 0!important; }
#vareditor_date_select { text-align: center; }
/* Box prodotto esaurito */
.no_results_block { padding: 15px; background-color: var(--light-grey); display: none; }
.no_results_block.fired { display: block; }
.soldout_label_visible #page_name:before { padding: 5px 10px; margin-bottom: 10px; display: block; width: max-content; background-color: var(--red); color: var(--white); content: 'SOLD OUT!'; font-size: var(--size-mini); }


/* Specifico per prodotti con Calendario */
.rate_col .template_calendar { position: initial; width: 100%; }
.grey_filled :where(.date_select, .pf_cal) { padding: 10px; background-color: var(--light-grey); }
.grey_filled .subcontents { margin-top: 15px; }
#searchsummary { padding: 15px; display: none; background-color: var(--color1); color: var(--white); text-transform: uppercase; }
#searchsummary.fired { display: flex; justify-content: center; align-items: center; gap: 20px; }
#searchsummary .selected_day { display: flex; align-items: center; gap: 5px; }
#searchsummary .varsimple { padding: 10px 20px; cursor: pointer; border: 1px solid var(--white); font-size: var(--size-button); font-weight: var(--font-weight-medium); }
.product_select { margin: 30px auto 15px; display: none; }
.product_select.fired { display: block; }   

/* Pagina Carrello */
/* .body_ecommerce_cart #cart { display: none; } */
#vareditor_cart_empty { margin-bottom: 190px; }
.body_ecommerce_cart .page_wrap { padding: 0 15px; margin: 0 auto; max-width: var(--cart-width); }
.box_summary { text-align: center; }
.cart_tpl:not(.subcontents .cart_tpl) { margin-top: 60px; padding: 15px; border: 1px solid var(--black); }
.cart_tpl .elem:not(.subcontents .elem) { margin-bottom: 30px; }
.cart_tpl .caption-cnt { align-items: flex-start; }
.cart_tpl .caption img { max-width: 260px; }
.cart_tpl .caption-alt { padding: 15px; }
.cart_tpl .title { font-family: var(--sans); font-size: var(--size-base); text-transform: uppercase; font-weight: var(--font-weight-medium); }
.cart_tpl .subcontents { margin-top: 15px; }
.cart_tpl .subcontents .caption-cnt { flex-direction: column; }
.cart_tpl .subcontents :where(.caption, .caption-alt) { width: 100%; }
.cart_tpl .subcontents .caption .g10 { padding: 10px; display: flex; align-items: center; justify-content: center; gap: 10px; background-color: var(--color1); color: var(--white); text-transform: uppercase; font-weight: var(--font-weight-thin); }
.cart_tpl .subcontents .caption .g10 .fieldkey:after { content: ':'; }
.cart_tpl .subcontents .caption .g11 { padding: 10px; display: flex; align-items: center; justify-content: center; gap: 10px; background-color: var(--color1); color: var(--white); text-transform: uppercase; font-weight: var(--font-weight-thin); }
.cart_tpl .subcontents .caption .g11 .fieldkey:after { content: ':'; }
.cart_tpl .subcontents .caption-alt { margin-top: 0; display: flex; flex-wrap: wrap; align-items: center; background-color: var(--light-grey); }
.cart_tpl .subcontents .title { padding-bottom: 10px; margin-bottom: 5px; width: 100%; border-bottom: 1px solid var(--color4); font-weight: var(--font-weight-regular); }
.cart_tpl .subcontents .zlabelprice { text-align: left; display: flex; align-items: center; gap: 5px; }
.cart_tpl .subcontents .product_selection_wrap { margin-left: auto; }
.cart_tpl .subcontents .zlabelquantity { display: none; }
.prod_sel_content { width: 50px; }
.remove_product { margin-left: 30px; order: 4; color: var(--red); cursor: pointer;}
.cart_tpl .remove_product:before{ font-family: var(--font-icon); font-weight: var(--font-weight-solid); content: '\f2ed'; font-size: 20px; }
#row_pay { margin: 30px 0 90px; }
#payment_wrapper { display: flex; align-items: center; justify-content: space-between; }
#go-pay { display: flex; align-items: center; gap: 30px; justify-content: flex-end; }
#order_page_link a { padding: 10px 20px; background-color: var(--green); color: var(--white); text-transform: uppercase; font-size: var(--size-button); font-weight: var(--font-weight-medium); }
#total_amount, #amount_to_pay { display: flex; align-items: center; column-gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
:is(#total_amount, #amount_to_pay) scalapay-widget { width: 100%; text-align: right; }
body.it :where(#total_amount, #amount_to_pay):before { content: 'Totale:'; }
body.en :where(#total_amount, #amount_to_pay):before { content: 'Total:'; }
body.de :where(#total_amount, #amount_to_pay):before { content: 'Gesamt:'; }

body.it :where(#total_amount, #amount_to_pay):before { content: 'Totale:'; }
body.en :where(#total_amount, #amount_to_pay):before { content: 'Total:'; }
body.de :where(#total_amount, #amount_to_pay):before { content: 'Gesamt:'; }

:is(#total_amount, #amount_to_pay) .value { font-weight: var(--font-weight-bold); font-size: var(--size-average); line-height: 1; }
:is(#total_amount, #amount_to_pay) .value:before { margin-right: 2px; content: '\20AC'; }

/* COUPON */
.box_coupon { margin-top: 30px; display: flex; flex-direction: column; gap: 20px; padding: 10px; border: 1px solid var(--soft-grey); width: 100%;}
.box_coupon #coupon_text { padding: 7px 10px; border-bottom: 2px solid var(--color1); background-color: var(--light-grey); width: 50%;}
.box_coupon .coupon_title .varsimple {  display: flex; align-items: center; cursor: pointer; }
.box_coupon .coupon_title .varsimple:before { margin-right: 8px; font-family: var(--font-icon); content: '\f02b'; }
.box_coupon .coupon_title .varsimple:after { margin-left: auto; font-family: var(--font-icon); content: '\f0d7'; font-weight: var(--font-weight-solid); }
.box_coupon.fired .coupon_title .varsimple:after { content: '\f0d8'; }
#coupon_button { padding: 10px 20px; text-transform: uppercase; background-color: var(--color1); color: var(--white); font-size: var(--size-button); font-weight: var(--font-weight-medium); width: 50%; }
.coupon_cnt { display: none; }
.box_coupon.fired .coupon_cnt { display: flex; align-items: center; flex-wrap: wrap; }
.box_coupon .toast { padding: 10px; margin-top: 10px; display: none; width: 100%; background-color: var(--highlighted); }
.box_coupon .toast.fired { display: flex; gap: 10px; }
.box_coupon .toast > .varsimple:before { margin-right: 8px; font-family: var(--font-icon); content: '\e31b'; }
.original_amount { display: flex; align-items: center; gap: 5px; }
.original_amount .value { font-weight: var(--font-weight-bold);}
.original_amount .value:before { content: '\20AC'; }
#total_amount { position: relative; }
.original_price { display: none; position: absolute; bottom: 100%; right: 0; font-size: 80%; text-decoration: line-through; }
.original_price.fired { display: block; }
.original_price:before { content: '\20AC'; }
@media(max-width: 767px){
    .original_price { position: inherit; font-size: 100%; }
}

/* Spedizione */
.shipping_row { margin: 15px 0 15px auto; padding: 10px; border: 1px solid var(--color1); justify-content: flex-end; display: inline-flex; gap: 5px; position: relative; }
.shipping_row .varsimple:before { margin-right: 5px; font-family: var(--font-icon); content: '\f48b'; }
.shipping_row .vareditor { padding: 15px; position: absolute; z-index: 2; top: 100%; right: 0; width: 100%; font-size: var(--size-mini); background-color: var(--color5); color: var(--white); display: none; }
.shipping_row .vareditor.fired { display: block; }
#shipping_amount .value { font-weight: var(--font-weight-bold); }
#shipping_amount .value:before { margin-right: 2px; content: '\20AC'; }

/* Thankyou page */
#thankyou_page { margin-bottom: 150px; text-align: center; }
#thankyou_page .varlink { margin-top: 30px; }

@media(max-width: 1635px){
    .shop_showcase_tpl .products .subcontents { max-height: 250px; }
}

@media(max-width: 1440px){
    .shop_showcase_tpl .products .subcontents { max-height: 150px; }
}


@media(max-width: 1280px){
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .page_wrap { flex-wrap: wrap; gap: 0; column-gap: 20px; }
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left { width: 100%; top: 127px; background-color: var(--white); z-index: 3; }
    .body_prodotti .product_col, .body_prodotti .rate_col { width: calc(50% - 10px); }
    .body_shop_showcase .col.right, .body_vetrina_prodotti .col.right { width: 100%; }
    .shop_showcase_tpl .products { gap: 30px; }
    .shop_showcase_tpl .products .elem:not(.subcontents .elem) { width: calc(50% - 15px); }
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left #menu2 { margin: 0; padding: 15px 0; }
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left #menu2 ul { display: flex; justify-content: center; align-items: center; gap: 15px; }
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left #menu2 li { margin-bottom: 0; }
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left #menu2 li a { text-decoration: none!important; font-size: var(--size-mini); }
    
}

@media (max-width: 1023px){
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left { top: 100px; }
    body.noslide.body_ecommerce_cart, body.noslide.body_ecommerce_thank_you { padding-top: 160px; }
    .step_title, .box_summary { padding: 0 15px; }
}

@media (max-width: 920px){
    .shop_showcase_tpl .products .elem:not(.subcontents .elem) { width: 100%; }
    .body_prodotti .product_col, .body_prodotti .rate_col { width: 100%; }
    #payment_wrapper { flex-wrap: wrap; gap: 15px; }
    #go-pay { width: 100%; justify-content: center; }
    #payment_wrapper #secure { width: 100%; text-align: center; }
    :is(#total_amount, #amount_to_pay) scalapay-widget { width: auto; }
    .shipping_row { width: 100%; justify-content: center; }
    .shop_showcase_tpl .products .subcontents { max-height: 450px; }
}

@media (max-width: 767px){
    :root {
        --size-base: 16px;

    }
    .zlabelprice { text-align: left; }
    .shop_showcase_tpl .products .caption-alt .ztextarea { line-height: 1.2; }
    :is(.body_shop_showcase, .body_vetrina_prodotti, .body_prodotti) .col.left { margin-top: 20px; order: 9; position: inherit; background-color: var(--light-grey); border-top: 1px solid var(--color1); }
    .standard_page .page_wrap { margin-top: 30px; }
    .cart_tpl .caption-cnt { flex-wrap: wrap; }
    .cart_tpl .caption, .cart_tpl .caption-alt { width: 100%; }
    .cart_tpl .caption img { max-width: unset; width: 100%; }
    #go-pay { flex-wrap: wrap; }
    #order_page_link { width: 100%; }
    #order_page_link a { display: block; text-align: center; }
    #total_amount, #amount_to_pay { justify-content: center; }
    form input[type="submit"] { width: 100%; }
    .body_ecommerce_thank_you .page_wrap p { padding: 0 15px; }
    .body_prodotti .rate_col.sticky_top { position: inherit; }
    #coupon_button { padding: 9px 20px; width: 100%; }
    .box_coupon.fired .coupon_cnt { flex-direction: column; }
    .box_coupon #coupon_text { width: 100%; }
    .box_coupon .toast.fired { flex-wrap: wrap; gap: 5px; }
}

@media(max-height: 960px){
    .body_prodotti #page:not(.nocalendar_in_page) .rate_col { position: inherit; }
}

@media(max-height: 620px){
    .body_prodotti #page.nocalendar_in_page .rate_col { position: inherit; }
}

/* Smartphone */
.smartphone .shop_showcase_tpl .products .caption-alt:not(.subcontents .caption-alt) { text-align: left; }
.smartphone .shop_showcase_tpl .products .subcontents .caption { text-align: left; }
.smartphone.body_ecommerce_cart scalapay-widget,
.smartphone.body_ecommerce_order scalapay-widget,
.smartphone.body_ecommerce_payment scalapay-widget { font-size: var(--size-base); }
.smartphone .shop_showcase_tpl .products .subcontents { max-height: 600px; }