/*
Theme Name: Agricola Albese
Theme URI: http://therope.it/
Author: The Rope S.r.l
Author URI: https://www.therope.it
Description: Theme for Agricola Albese
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: agricolaalbese
Tags: custom-theme
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
# Woocommerce
# Footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

/* Import Google Fonts: Geist */
@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;700&display=swap");

:root {
    --checkbox-size: 18px;
    --checkbox-border: 1px;
    --checkbox-radius: 6px;
    --checkbox-bg: #fff;
    --checkbox-border-color: #ccc;
    --checkbox-checked-bg: #3a6b49;
    --checkbox-checked-border: #3a6b49;
    --checkbox-check-color: #fff;
    --checkbox-transition: 0.25s ease;
    --font-paragraph: "Geist", Arial, Helvetica, sans-serif;
    --letter-spacing: 0.5px;
    --line-height: 1.25;
    --color-white: #ffffff;
    --color-white-15: rgba(255, 255, 255, 0.15);
    --color-white-70: rgba(255, 255, 255, 0.7);
    --color-black: #141815;
    --color-black-bg: #141815;
    --color-black-15: rgba(0, 0, 0, 0.15);
    --color-black-40: rgba(0, 0, 0, 0.4);
    --color-black-70: rgba(0, 0, 0, 0.7);
    --color-text: #000;
    --color-green-bg: #3a6b49;
    --color-green-agricola: #2fa150;
    --color-dark-green: #232c25;
    --color-green-grey-bg: #e8edea;
    --backgrounds-green-bg: #3a6b49;
    --color-grey-light: #f5f7f6;
    --icon-arrow-up: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23323232'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --icon-arrow-down: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23323232'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --padding-laterale: 45px;
    --padding-top-bottom: 60px;
    --padding: 32px;
    --padding-top-header: 150px;
    --radius: 12px;
    --margin-top-page: 150px;
}
@media screen and (max-width: 1100px) {
    :root {
        --padding-laterale: 16px;
        --padding: 16px;
        --padding-top-header: 110px;
        --margin-top-page: 30px;
    }
}

body {
    /* -webkit-font-smoothing: antialiased; */
    font-family: var(--font-paragraph);
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    color: var(--color-text);
    margin: 0;
    overflow-x: hidden;
}
body.open-menu-mobile {
    height: 100svh;
    overflow-y: hidden;
}

a,
a:hover,
a:visited {
    color: var(--color-text);
    text-decoration: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.link {
    font-size: 13px;
    text-decoration: underline;
}
.bg-green-albese .link {
    color: var(--color-white) !important;
}

.bg-grey {
    background-color: var(--color-green-grey-bg);
}
.bold {
    font-weight: 600;
}

.container-wrapper,
.login-container {
    width: 100%;
    max-width: 1680px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
}
.container-wrapper [data-content-type="row"][data-appearance="contained"],
.container-inside-full [data-content-type="row"][data-appearance="contained"] {
    max-width: 100%;
}

.block-search .nested,
.page-header > .panel.wrapper,
.page-wrapper > .sections.nav-sections,
.header-primary .action.nav-toggle {
    display: none !important;
}
.actions-toolbar > .primary .action,
.actions-toolbar > .secondary .action,
.action.save.primary,
.action.save.primary:hover,
.action.primary.add,
.action.primary.add:hover {
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
}
.actions-toolbar > .primary .action > span,
.actions-toolbar > .secondary .action > span,
.action.save.primary > span,
.action.primary.add > span,
.block-cart-failed .action.continue,
.cart-container .form-cart .action.continue,
.block-minicart .block-content > .actions > .primary .action.primary,
.action.primary.checkout,
.actions-toolbar .action.submit.primary,
[class*="btn-default"],
[class*="btn-default"] > a,
[class*="btn-default"] > div > div,
.secondary > a.action.back {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 24px !important;
    border-radius: 20px;
    border: solid 1px transparent !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    white-space: nowrap;
    cursor: pointer !important;
    width: fit-content;
    margin: 0;
    text-decoration: none !important;
}
[class*="btn-default"] > a {
    color: var(--color-text) !important;
}
.action.primary.checkout,
.block-minicart .block-content > .actions > .primary .action.primary,
[class*="btn-default"].full-width {
    width: 100%;
}
:not([class*="pagebuilder-"]) .btn-default-green,
.btn-default-green > div > div {
    background-color: var(--color-green-agricola);
    color: var(--color-white) !important;
    cursor: pointer;
    margin: 0;
}
:not([class*="pagebuilder-"]) .btn-default-white,
.btn-default-white > div > div {
    background-color: var(--color-white) !important;
    color: var(--color-text) !important;
    cursor: pointer;
    margin: 0;
}
body.account .actions-toolbar > .secondary .action > span,
.action.save.primary > span,
.action.primary.add > span,
.action.primary.checkout,
.actions-toolbar .action.submit.primary,
.block-minicart .block-content > .actions > .primary .action.primary,
:not([class*="pagebuilder-"]) .btn-default-black,
.btn-default-black > div > div,
.btn-default-black > div > span {
    background-color: var(--color-black) !important;
    color: var(--color-white) !important;
    cursor: pointer;
    margin: 0;
}
:not([class*="pagebuilder-"]) .btn-default-black > div,
:not([class*="pagebuilder-"]) .btn-default-black > div > span {
    padding: 0;
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
}
.block-cart-failed .action.continue,
.cart-container .form-cart .action.continue,
:not([class*="pagebuilder-"]) .btn-default-stroke,
.btn-default-stroke > div > div {
    border-color: var(--color-black-15) !important;
    cursor: pointer;
    margin: 0;
    background-color: transparent;
}
body.account .actions-toolbar > .primary .action > span,
:not([class*="pagebuilder-"]) .btn-default-black-stroke,
.btn-default-black-stroke > div > div,
.secondary > .action.back {
    border-color: var(--color-black-70) !important;
    cursor: pointer !important;
    margin: 0;
    color: var(--color-text) !important;
}
body.account .actions-toolbar > .primary .action.save.primary {
    border-color: var(--color-black) !important;
    > span {
        color: #fff !important;
    }
}
:not([class*="pagebuilder-"]) .btn-default-black-stroke > div,
:not([class*="pagebuilder-"]) .btn-default-black-stroke > div > div,
.secondary > .action.back {
    margin: 0;
    padding: 0 !important;
    border: none !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text) !important;
    text-decoration: none !important;
}
:not([class*="pagebuilder-"]) .btn-default-white-stroke,
.btn-default-white-stroke > div > div {
    border-color: var(--color-white) !important;
    color: var(--color-white) !important;
    cursor: pointer;
    margin: 0;
}
:not([class*="pagebuilder-"]) .btn-default-white-stroke > div,
:not([class*="pagebuilder-"]) .btn-default-white-stroke > div > div {
    margin: 0;
    padding: 0;
}
.block-cart-failed .action.continue::before,
.cart-container .form-cart .action.continue::before {
    display: none;
}

.title-20 {
    font-size: clamp(18px, 2vw, 20px);
    margin: 0;
}

.title-24 {
    font-size: clamp(22px, 2.4vw, 24px);
    margin: 0;
}
.pagebuilder-column [class*="title-"] {
    margin-bottom: 15px;
}

.title-28 {
    font-size: clamp(24px, 2.8vw, 28px);
    margin: 0;
}

.title-32 {
    font-size: clamp(26px, 3.2vw, 32px);
    margin: 0;
}

.title-50 {
    font-size: clamp(32px, 5vw, 50px);
    margin: 0;
}
.pagebuilder-column .title-50 {
    margin-bottom: 40px;
}

.m-top-50 {
    margin-top: 50px !important;
}
.m-bottom-50 {
    margin-bottom: 50px !important;
}
.p-bottom-50 {
    padding-bottom: 50px !important;
}

/* main content */
body.cms-home .page-main,
.column.main > [data-content-type="row"][data-appearance="contained"],
body.mpblog-post-index .page-main,
body.mpblog-category-view .page-main,
body[class*="customer-"] .page-main,
body.account .page-main,
.mp-blog-view,
body.mpblog-post-view .page-title,
.post-related-container,
.catalog-product-view .page-main,
.catalog-category-view .page-main,
body.catalogsearch-result-index #maincontent.page-main,
body.checkout-cart-index .page-main .columns {
    max-width: 1680px;
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
    margin-left: auto;
    margin-right: auto;
    display: block !important;
}
body.mpblog-post-view .page-main,
body.checkout-cart-index .page-main,
.column.main [data-content-type="row"][data-appearance="contained"] {
    max-width: 100%;
    padding: 0;
}
.column.main
    > [data-content-type="row"][data-appearance="contained"]
    [data-content-type="row"][data-appearance="contained"] {
    max-width: 100%;
}
.container-element {
    display: flex;
    margin-top: 50px;
}
.center {
    justify-content: center;
    text-align: center;
}
.text-white {
    color: var(--color-white) !important;
}
.text-white-70 {
    color: var(--color-white-70) !important;
}
body.catalogsearch-result-index #maincontent.page-main,
body.account #maincontent.page-main,
.account.customer-account-index #maincontent.page-main,
.catalog-category-view #maincontent.page-main {
    margin-top: var(--margin-top-page);
}

/* header */
.page-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9;
    background: transparent;
}
body.active-filter-mobile .page-header {
    z-index: 0;
}
body.scrolled .page-header {
    border-bottom: solid 1px var(--color-black-15) !important;
}
.header-banner {
    background-color: var(--color-text);
    color: var(--color-white) !important;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 2px var(--padding-laterale);
    font-size: 12px !important;
}
.header-banner > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 26px;
}
.header-banner > div.header-banner-claim {
    gap: 3px;
}
.header-banner > div.header-banner-claim a,
.header-banner > div.header-banner-claim a:hover,
.header-banner > div.header-banner-claim a:visited {
    color: var(--color-white);
}
.header-banner a,
.header-banner a:hover,
.header-banner a:visited {
    color: var(--color-white-70);
    display: flex;
    flex-direction: row;
    align-items: center;
}

.header-primary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    padding: 16px var(--padding-laterale);
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
}
.header-primary .logo {
    min-width: 170px;
    height: auto;
    margin: 0;
}

.header-primary .link.authorization-link {
    list-style: none;
}
.header-primary .link.authorization-link > a,
.header-primary > .nav.item {
    min-width: 28px;
    min-height: 28px;
    display: block;
    overflow: hidden;
    text-indent: -999px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 30px;
    background-image: url(../images/ico-person.svg);
}
.header-primary > .nav.item {
    text-align: end;
}
.header-primary > .nav.item > a {
    opacity: 0;
    display: block;
    max-width: 28px;
    max-height: 28px;
}

.minicart-wrapper .action.showcart {
    width: 26px;
    height: 26px;
    display: block;
}
.minicart-wrapper .action.showcart:before {
    width: 26px;
    height: 26px;
    display: block;
    content: "";
    background-image: url(../images/ico-cart.svg);
    background-size: contain;
}

.header-primary .block-search {
    width: 370px;
}
.header-primary .block-search .control {
    padding: 0;
}
.header-primary .block-search .control > input {
    width: 100%;
    max-width: 270px;
    height: 36px;
    border: solid 1px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    background-color: var(--color-white);
    font-size: 13px;
}
.header-primary .block-search .action.search:before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(../images/ico-search.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.header-primary .block-search .action.search[disabled] {
    opacity: 1;
}

.header-primary .navigation {
    background-color: transparent;
    width: auto;
    align-self: flex-start;
    flex: 1 1 100%;
    margin: 0;
}
.minicart-wrapper {
    margin-left: 0 !important;
}
.header-primary .link.wishlist {
    width: 28px;
    height: 28px;
    list-style: none;
}
.header-primary .link.wishlist a {
    display: block;
    width: 28px;
    height: 28px;
    background-image: url(../images/ico-heart.svg);
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    text-indent: -999px;
}

/* header menu  mobile */
.hamburger-btn {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1001;
    padding: 0;
    position: absolute;
    top: var(--padding);
    right: var(--padding);
}
.hamburger-btn-close {
    display: none;
}
body.open-menu-mobile .hamburger-btn-close {
    display: block;
}
body.open-menu-mobile .hamburger-btn-open {
    display: none;
}
.mobile-menu {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 1000;
    padding: 40px 20px 20px 20px;
    overflow-y: auto;
    border-top: solid 1px var(--color-black-15);
    height: calc(100svh - 60px);
}
body.open-menu-mobile .mobile-menu {
    display: flex;
}

/* footer */
footer {
    background-color: var(--color-black-bg);
    color: var(--color-white);
}
footer ul {
    width: 100%;
    padding: var(--padding-laterale);
    list-style: none;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px;
}
footer ul li {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: calc(25% - 60px);
    font-size: clamp(12px, 1.4vw, 14px);
    color: var(--color-white-70);
}

footer ul li a,
footer ul li a:hover,
footer ul li a:visited {
    font-size: clamp(12px, 1.4vw, 14px);
    color: var(--color-white-70);
}
footer ul li h4 {
    margin: 0;
    font-size: clamp(14px, 1.6vw, 16px);
    color: var(--color-white);
}

.footer-separate {
    width: calc(100% - (var(--padding-laterale) * 2));
    margin: 0 var(--padding-laterale);
    height: 1px;
    display: flex;
    background-color: var(--color-white-15);
}

.footer-end {
    width: 100%;
    background-color: var(--color-dark-green);
    padding: 16px var(--padding-laterale);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.footer-end > div {
    width: 33.33%;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 12px;
    color: var(--color-white-70);
}
.footer-end > div a,
.footer-end > div a:hover,
.footer-end > div a:visited {
    color: var(--color-white-70);
    display: flex;
    align-items: center;
    gap: 5px;
}
.footer-end-contact {
    justify-content: center;
    gap: 20px;
}
.footer-end-link {
    justify-content: flex-end;
    gap: 60px;
}

.link-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

/* splash home */
.splash_home {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    aspect-ratio: 1440/810;
}
.splash_home::before {
    content: "";
    background: linear-gradient(
        202deg,
        rgba(0, 0, 0, 0) 44.82%,
        rgba(0, 0, 0, 0.6) 74.45%
    );
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
}
.splash_home .pagebuilder-column-group {
    position: relative;
    z-index: 3;
    margin: 0 auto;
    padding: var(--padding-laterale);
    width: 100%;
    height: 100%;
    max-width: 1680px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}
.splash_home .pagebuilder-column-group > * {
    width: 100%;
    max-width: 780px;
    color: var(--color-white) !important;
    font-size: 18px;
}
.splash_home .blocco-valori-link {
    margin-top: var(--padding-laterale);
    align-items: center;
    justify-content: flex-start;
}
.spalsh_home [data-content-type="text"] {
    padding-right: 30%;
}

/* cards home */
.cards-grid {
    width: calc(100vw - (--var(--padding-laterale) * 2));
    overflow: hidden;
    padding: var(--padding-laterale) 0;
}

.cards-grid .pagebuilder-banner-wrapper {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    color: #fff !important;
    display: flex;
    aspect-ratio: 250 / 360;
}

.cards-grid
    .pagebuilder-banner-wrapper
    .pagebuilder-overlay.pagebuilder-poster-overlay {
    padding: 0 !important;
    width: 100%;
    height: 100%;
}
.cards-grid .pagebuilder-banner-wrapper .pagebuilder-poster-content {
    height: 100%;
}
.cards-grid .pagebuilder-column-line.owl-carousel.owl-theme {
    flex-direction: column;
}

.cards-grid
    .pagebuilder-banner-wrapper
    .pagebuilder-overlay.pagebuilder-poster-overlay
    [data-element="content"] {
    position: relative;
    width: 100%;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 250/360;
}

.cards-grid
    .pagebuilder-banner-wrapper
    .pagebuilder-overlay.pagebuilder-poster-overlay
    [data-element="content"]::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 16, 4, 0.2) 10%, rgba(0, 16, 4, 0) 48%),
        linear-gradient(180deg, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0.9) 100%);
    z-index: 1;
}
.cards-grid
    .pagebuilder-banner-wrapper
    .pagebuilder-overlay.pagebuilder-poster-overlay
    [data-element="content"]
    > * {
    position: relative;
    z-index: 2;
}

.cards-grid h3 {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}
.cards-grid p {
    font-size: 14px;
    margin: 16px 0 0 !important;
    line-height: normal;
}

@media (hover: hover) {
    .cards-grid .pagebuilder-banner-wrapper .background-image {
        transition: transform 0.35s ease;
    }
    .cards-grid .pagebuilder-banner-wrapper:hover .background-image {
        transform: scale(1.02);
    }
}

.cards-grid .owl-carousel .pagebuilder-column {
    width: 100% !important;
}

.cards-grid .owl-theme .owl-nav.disabled + .owl-dots {
    width: calc(100vw - (var(--padding-laterale) * 2));
}

/* banner green */
.banner-green,
.banner-contattaci {
    width: 100%;
    display: flex;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between !important;
    gap: var(--padding-laterale);
    padding: 38px 35px;
    border-radius: 12px;
    margin-bottom: 70px;
}
.banner-green > *:first-child,
.banner-contattaci > *:first-child {
    flex: 1 0 30%;
}
.banner-green {
    background-color: var(--color-green-bg);
    color: var(--color-white);
}
.banner-contattaci {
    background-color: var(--color-green-grey-bg);
    color: var(--color-text);
}

#search_mini_form > .field.search {
    position: relative;
    z-index: 1;
}
#search_mini_form > .actions {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    display: block;
    width: 36px;
    height: 36px;
    cursor: pointer;
}

/* cms pages */
body[class*="cms-"] .page-title-wrapper {
    display: none;
}
body.cms-home .page-title-wrapper {
    display: none !important;
}
.splash {
    width: calc(100% + (var(--padding-laterale) * 2));
    height: 50vh;
    margin-bottom: 50px;
    overflow: hidden;
    position: relative;
    left: calc(var(--padding-laterale) * -1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end !important;
    padding-bottom: 50px;
}
.title-splash {
    font-size: clamp(32px, 5vw, 50px);
    color: var(--color-white);
    margin: 0 0 20px 0;
    z-index: 2;
    position: relative;
    width: 100%;
    max-width: 1680px;
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
    margin: 0 auto;
}

html body .breadcrumbs {
    position: absolute;
    z-index: 1;
    top: 130px;
    width: 100%;
    max-width: 1680px;
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
    margin: 0 auto;
}
.breadcrumbs .items li {
    display: inline;
    font-size: 13px;
    color: var(--color-white-70) !important;
}
.breadcrumbs .items li a {
    color: var(--color-white-70);
    font-size: 13px;
}
.breadcrumbs .item:not(:last-child):after {
    position: relative;
    top: 2px;
}
body[class*="category-"] .breadcrumbs {
    position: relative;
    margin-bottom: 16px;
    margin-left: auto;
    margin-right: auto;
}
html body.catalog-product-view .breadcrumbs {
    position: relative;
    margin-bottom: 16px;
}
body[class*="category-"] .breadcrumbs .items li,
body[class*="category-"] .breadcrumbs .items li a,
body.catalog-product-view .breadcrumbs .items li,
body.catalog-product-view .breadcrumbs .items li a {
    color: var(--color-black-40) !important;
}

.container-menu-laterale {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 40px;
    background-color: var(--color-green-grey-bg);
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}
.container-menu-laterale a,
.container-menu-laterale a:hover,
.container-menu-laterale a:visited {
    color: var(--color-black-40) !important;
    font-weight: 600;
}
.container-menu-laterale a.active {
    pointer-events: none;
    cursor: pointer;
    color: var(--color-black) !important;
    border-bottom: solid 2px var(--color-green-agricola);
}

.aside-template .pagebuilder-column-group .pagebuilder-column-line {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8%;
}

.aside-template .pagebuilder-column:last-of-type {
    border-left: solid 1px var(--color-black-15);
    padding-left: 8%;
}

/* testata */
body.checkout-index-index .page-title-wrapper,
body.mpblog-post-index .page-title-wrapper,
body.mpblog-category-view .page-title-wrapper,
body[class*="cms-"] .page-title-wrapper,
body[class*="customer-"] .page-title-wrapper {
    width: 100lvw;
    height: 50vh;
    margin-bottom: 0px;
    overflow: hidden;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end !important;
    padding-bottom: 50px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
body.mpblog-post-index .page-title-wrapper,
body.mpblog-category-view .page-title-wrapper {
    background-image: url(../images/cover_blog.jpg);
}
body[class*="cms-chi-siamo"] .page-title-wrapper {
    background-image: url(../images/cover_chi-siamo.jpg);
}
body[class*="cms-programma"] .page-title-wrapper {
    background-image: url(../images/cover_programma.jpg);
}
body.cms-richiesta-attivazione-condizioni-riservate .page-title-wrapper,
body.cms-richiesta-attivazione-condizioni-riservate-thank-you-page
    .page-title-wrapper {
    background-image: url(../images/cover_attivazione.jpg);
}
body.cms-aziende-e-professionisti .page-title-wrapper,
body.cms-come-acquistare .page-title-wrapper,
body.cms-prezzi .page-title-wrapper,
body.cms-pagamento .page-title-wrapper,
body.cms-spedizioni-e-consegna .page-title-wrapper,
body.cms-recesso-e-reso .page-title-wrapper,
body.cms-garanzia .page-title-wrapper,
body.cms-come-accedere-al-programma-aziende-e-professionisti
    .page-title-wrapper,
body.cms-no-route .page-title-wrapper {
    background-image: url(../images/cover_assistenza.jpg);
    margin-bottom: 50px;
}
body.cms-newsletter-subscription .page-title-wrapper {
    background-image: url(../images/cover_meteo.jpg);
    margin-bottom: 50px;
}
body.cms-iscriviti-alla-nostra-newsletter .page-title-wrapper {
    background-image: url(../images/cover_registrazione.jpg);
}
body.cms-contatti .page-title-wrapper {
    background-image: url(../images/cover_contatti.jpg);
}
body.cms-meteo .page-title-wrapper {
    background-image: url(../images/cover_meteo.jpg);
}
body[class*="customer-"] .page-title-wrapper {
    background-image: url(../images/cover_login.jpg);
}
body.customer-account-create .page-title-wrapper {
    background-image: url(../images/cover_registrazione.jpg);
}
body.cms-brand .page-title-wrapper {
    background-image: url(../images/cover_brand.jpg);
}
body.checkout-index-index .page-title-wrapper {
    background-image: url(../images/cover_checkout.jpg);
}
body.account .page-title-wrapper,
body.account.customer-account-index .page-title-wrapper {
    background-image: none !important;
    height: auto;
    width: 100% !important;
    color: var(--color-black) !important;
    position: relative;
    left: 0;
    transform: none;
    padding: 0;
}
body.account .page-title-wrapper::before,
body.account.customer-account-index .page-title-wrapper::before {
    display: none !important;
}
body.account .page-title-wrapper .page-title,
body.account.customer-account-index .page-title-wrapper .page-title,
body.account.customer-account-edit .page-title-wrapper .page-title,
body.account.customer-address-index .page-title-wrapper .page-title,
body.account.stripe_payments-customer-paymentmethods
    .page-title-wrapper
    .page-title,
body.account.stripe_payments-customer-subscriptions
    .page-title-wrapper
    .page-title {
    margin: 0;
    padding: 0;
    color: var(--color-black) !important;
}
body.account .page-title-wrapper .page-title {
    padding: 0 0 50px !important;
}
body.checkout-index-index .page-title-wrapper .checkout-description {
    font-size: 16px;
    color: var(--color-white) !important;
    margin: 0 0 10px 0;
    z-index: 2;
    position: relative;
    width: 100%;
    max-width: 1680px;
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
    margin: 0 auto;
}
body.checkout-index-index .page-title-wrapper .page-title,
body.mpblog-post-index .page-title-wrapper .page-title,
body.mpblog-category-view .page-title-wrapper .page-title,
body[class*="cms-"] .page-title-wrapper .page-title,
body[class*="customer-"] .page-title-wrapper .page-title {
    font-size: clamp(32px, 5vw, 50px);
    color: var(--color-white) !important;
    margin: 0 0 20px 0;
    z-index: 2;
    position: relative;
    width: 100%;
    max-width: 1680px;
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
    margin: 0 auto;
}
body .page-title-wrapper::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background:
        linear-gradient(
            131deg,
            rgba(0, 0, 0, 0.3) 6.39%,
            rgba(0, 0, 0, 0) 29.43%
        ),
        linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 53.68%);
}
body.catalogsearch-result-index .page-title-wrapper::before {
    display: none;
}

/* blog   */
.page-layout-2columns-right .column.main {
    width: 100% !important;
}
/* Rimuove sidebar dalla pagina index del blog Mageplaza */
.page-layout-2columns-right .sidebar,
.mppblog-post-index .sidebar,
.mppblog-post-index .col-sidebar,
.mppblog-post-index .mp-sidebar,
.mppblog-post-index .page-layout-2columns-right .sidebar-main,
.mppblog-post-index .page-layout-2columns-left .sidebar-main {
    display: none !important;
}

/* Espande il contenuto principale a tutta la larghezza */
.mpblog-post-index .column.main,
.mpblog-post-index .main-content,
.mpblog-post-index .page-layout-2columns-right .column.main,
.mpblog-post-index .page-layout-2columns-left .column.main,
body.mpblog-category-view .column.main,
body.mpblog-category-view .main-content,
body.mpblog-category-view .page-layout-2columns-right .column.main,
body.mpblog-category-view .page-layout-2columns-left .column.main {
    width: 100% !important;
    float: none !important;
}
.mpblog-category-strip {
    background-color: var(--color-green-bg);
    padding: 25px 0;
    position: relative;
    z-index: 2;
    color: var(--color-white) !important;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.mpblog-category-strip__inner {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.container-link-categoria {
    width: fit-content;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
    border: solid 1px var(--color-white-15);
    display: flex;
    flex-direction: row;
    align-items: center;
}
.container-link-categoria a,
.container-link-categoria a:hover,
.container-link-categoria a:visited {
    display: block;
    padding: 8px 40px;
    font-size: 14px;
    color: var(--color-white) !important;
    font-weight: 500;
    white-space: nowrap;
    border-left: solid 1px var(--color-white-15);
}
.mpblog-category-strip::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background-color: var(--color-green-bg);
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.mp-footer,
body.mpblog-post-index .limiter,
body.mpblog-category-view .limiter {
    display: none !important;
}

.bg-green-albese {
    background-color: var(--color-green-bg);
    color: var(--color-white) !important;
}

.bg-grey-albese {
    background-color: var(--color-green-grey-bg);
    position: relative;
}
.bg-grey-albese::before {
    content: "";
    position: absolute;
    display: block;
    width: 100vw;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    background-color: var(--color-green-grey-bg);
    z-index: 1;
}
.bg-grey-albese > * {
    z-index: 2;
    position: relative;
}

.wrapper-container {
    margin: 0 auto;
    padding: var(--padding-top-bottom) var(--padding-laterale);
    width: 100%;
    max-width: 760px;
}

/* ====== GRIGLIA ====== */
.post-list-body {
    display: grid;
    /* grid-template-columns: repeat(auto-fill, minmax(400px,1fr)); */
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
    margin: 50px auto;
}
.post-list-body-related {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.post-list-body-related .item:nth-child(1) {
    grid-column: span 2;
}
.post-list-body-related .item:nth-child(n + 2) {
    grid-column: span 1;
}

/* Card base */
.post-list-body .item,
.post-list-body-related .item {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    aspect-ratio: 318/371;
    border: solid 1px var(--color-black-15);
}
.post-list-body .item:first-of-type {
    aspect-ratio: 660/376;
}
.post-list-body-related .item:first-of-type {
    aspect-ratio: 660/369;
}

/* Contenitore immagine */
.post-list-body .item .post-image,
.post-list-body .item figure,
.post-list-body-related .item .post-image,
.post-list-body-related .item figure {
    position: relative;
    margin: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    top: 0;
}
.post-list-body .item figure,
.post-list-body-related .item figure {
    position: absolute;
}

/* Immagine */
.post-list-body .item img,
.post-list-body-related .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.35s ease;
}

.post-list-body .item:hover img,
.post-list-body-related .item:hover img {
    transform: scale(1.04);
}

/* Overlay scuro + contenuti */
.post-list-body .item .post-image-overlay,
.post-list-body .item .overlay,
.post-list-body .item .meta-overlay,
.post-list-body-related .item .post-image-overlay,
.post-list-body-related .item .overlay,
.post-list-body-related .item .meta-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 26px;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 40%,
        rgba(0, 0, 0, 0.75) 100%
    );
    color: #fff;
}

/* Meta riga (categoria • data) */
.post-list-body .item .meta,
.post-list-body-related .item .meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 6px;
}
.post-list-body .item .meta .sep,
.post-list-body-related .item .meta .sep {
    opacity: 0.85;
}

/* Categoria “pill” in alto a sinistra */
.post-list-body .item .mp-post-cat,
.post-list-body-related .item .mp-post-cat,
.post-list-body .item .cat-pill,
.post-list-body-related .item .cat-pill {
    position: absolute;
    top: 24px;
    left: 26px;
    z-index: 2;
    display: inline-block;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 600;
    background: var(--color-white);
    border-radius: 999px;
    text-decoration: none;
}

/* Data (se usi <time>) */
.post-list-body .item .mp-post-date,
.post-list-body .item time {
    font-size: 12px;
    color: var(--color-white);
    font-weight: 500;
}

/* Titolo */
.post-list-body .item .mp-post-title,
.post-list-body .item h2 a,
.post-list-body .item h2 a:hover,
.post-list-body .item h2 a:visited,
.post-list-body-related .item .mp-post-title,
.post-list-body-related .item h2 a,
.post-list-body-related .item h2 a:hover,
.post-list-body-related .item h2 a:visited {
    margin: 4px 0 0;
    font-size: 20px;
    font-weight: 600;
    color: #fff !important;
}

/* ---- PRIMA CARD PIÙ GRANDE (desktop) ---- */
@media (min-width: 1025px) {
    .post-list-body .item:first-child {
        grid-column: span 2;
    }
    .post-list-body .item:first-child .mp-post-title,
    .post-list-body .item:first-child h2 {
        font-size: 20px;
        -webkit-line-clamp: 2;
    }
}

/* ---- PAGINAZIONE (facoltativo, come nello shot) ---- */
.pages .items {
    display: flex;
    gap: 10px;
}
.pages .action.next,
.pages .action.prev,
.pages .action.previous {
    margin: 0 !important;
}
.pages .action.next:before,
.pages .action.previous:before {
    font-size: 30px;
    font-weight: 500;
    margin: -1px 0 0 0;
    color: var(--color-text) !important;
}
.mpblog-pager,
.pages {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}
.mpblog-pager a,
.pages a.page,
.pages a,
.pages .current {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--color-black-40);
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text) !important;
}
.pages .current span {
    color: var(--color-white) !important;
}
.pages .current,
.mpblog-pager a:hover {
    background: var(--color-green-agricola);
    color: #fff !important;
    border-color: var(--color-green-agricola);
}

img {
    display: block;
}

/* blog single page */
body.mpblog-post-view .page-title-wrapper {
    background-color: var(--color-green-bg);
    color: var(--color-white);
    padding: 250px 0 300px;
}
body.mpblog-post-view .page-title-wrapper .page-title span {
    display: flex;
    padding-right: 30%;
    font-size: clamp(32px, 5vw, 50px);
}
.mp-blog-view {
    position: relative;
    z-index: 2;
    margin-top: -270px;
    margin-left: auto;
    margin-right: auto;
}
.mp-blog-view:before {
    content: "";
    width: 100vw;
    height: calc(100% - 272px);
    position: absolute;
    top: 272px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    background-color: var(--color-green-grey-bg);
}
.mpblog-post-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: var(--padding);
    position: relative;
    margin-top: -40px;
    top: -50px;
}
.post-list-content [class*="col-"]:last-of-type {
    display: none !important;
}
.post-view-image {
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius);
    font-size: 14px;
    color: var(--color-white) !important;
    margin-bottom: 50px;
}
.mpblog-post-meta__cat {
    font-size: 14px;
    padding: 2px 14px;
    border: solid 1px var(--color-white-15);
    border-radius: 30px;
    color: var(--color-white) !important;
}
.mpblog-post-meta__date {
    color: var(--color-white);
}
.post-post_content {
    width: 100%;
    padding: 0 10% 50px;
}
.post-related-container {
    padding-top: 50px;
    margin-top: 50px;
    position: relative;
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
}
body.cms-home .post-related-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.post-related-container::before {
    content: "";
    width: calc(100% - (var(--padding-laterale) * 2));
    height: 1px;
    background-color: var(--color-black-15);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
body.cms-home .post-related-container::before {
    display: none !important;
    margin-top: 0 !important;
}
.post-related-container > h2 {
    text-align: center;
    margin-bottom: 50px;
    font-weight: 600;
}

.wx-hero {
    background: var(--backgrounds-green-bg);
    color: #fff;
    padding: var(--padding-top-bottom) 0 !important;
    position: relative;
}
.wx-hero::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: var(--backgrounds-green-bg);
}

.wx-wrap {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    /* sinistra più larga */
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 2;
    padding: var(--padding-laterale) 0 !important;
}

/* banner newsletter */
.banner-nl {
    width: 100%;
    margin-top: 50px;
    border-radius: var(--radius);
    background-color: var(--color-green-bg);
    color: var(--color-white);
    display: flex;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    align-content: stretch;
    overflow: hidden;
}
.banner-nl figure {
    width: 50%;
    align-self: stretch;
    overflow: hidden;
}
.banner-nl figure img {
    display: block;
    margin: 0;
    position: relative;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.35s ease;
}
.banner-nl > div {
    width: 50%;
}
.banner-nl-container {
    padding: var(--padding-laterale);
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}
.banner-nl-container-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.anagrafica .banner-nl-container-text {
    padding: var(--padding-laterale);
}

/* blocchi */
.blocco-doppio {
    display: flex;
    flex-direction: column;
    margin: 50px 0 0;
}
.bg-green-albese .blocco-doppio {
    margin-bottom: 50px;
}
.blocco-doppio > div {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 8%;
}
.blocco-doppio.flip > div {
    flex-direction: row-reverse;
}
.blocco-doppio > div > div {
    flex: 1 1 46%;
    padding: 100px 0;
}
.bg-column {
    border-radius: var(--radius);
    overflow: hidden;
}

.blocco-valori {
    display: flex;
    flex-direction: column;
    margin: 50px 0 0;
    border-radius: var(--radius);
    padding: calc(var(--padding-laterale) * 2) var(--padding-laterale);
    color: var(--color-white);
    position: relative;
}
.blocco-valori::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.4) 1.48%, rgba(0, 0, 0, 0) 50%);
    border-radius: var(--radius);
    z-index: 0;
}
.blocco-valori > div,
.blocco-valori > h2 {
    position: relative;
    z-index: 1;
}
.blocco-valori [class*="title-"] {
    text-align: center;
    font-weight: 600;
}
.blocco-valori [data-content-type="text"] p {
    text-align: center;
    margin: 0 auto;
    max-width: 800px;
    margin: 0px auto 0 auto;
}
.text-center {
    text-align: center;
}

.blocco-valori-cards-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    margin-top: 80px;
}
.blocco-valori-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    background-color: var(--color-white);
    border-radius: var(--radius);
    padding: 30px;
    color: var(--color-black-70);
    font-size: 14px;
    gap: calc(var(--padding) / 2);
}
.blocco-valori-card svg {
    width: 20px;
    min-width: 20px;
}
.blocco-valori-card h4,
.blocco-4-card-content h4 {
    margin: 0 0 20px;
    font-size: 16px;
    color: var(--color-black);
}
.blocco-valori-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--padding);
    margin-top: calc(var(--padding-laterale) * 2);
}

.blocco-2-cards {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: var(--padding);
}
.blocco-2-card {
    flex: 1 1 50%;
    border-radius: var(--radius);
    overflow: hidden;
    position: relative;
    padding: 10vh var(--padding-laterale) var(--padding);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.blocco-2-card figure {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.blocco-2-card > p {
    position: relative;
    z-index: 1;
}

.blocco-programma {
    padding-top: 50px;
    padding-bottom: 50px;
}
.blocco-programma [class*="title-"] {
    text-align: center;
    font-weight: 600;
    padding-bottom: 50px;
    margin-bottom: 50px;
    border-bottom: solid 1px var(--color-black-15);
}
.blocco-4-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
}
.blocco-4-card {
    flex: 1 1 22%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--color-black-70);
}
.blocco-4-card svg {
    width: 24px;
    min-width: 24px;
}

.blocco-doppio-card {
    margin-top: 50px;
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
}
.blocco-doppio-card > div > div:first-of-type {
    padding-left: var(--padding-laterale);
    padding-right: var(--padding-laterale);
}
.blocco-doppio-card [class*="title-"] {
    margin-bottom: 30px;
}
.paragrafo-linea {
    display: flex;
    padding-left: var(--padding);
    border-left: solid 4px var(--color-green-agricola);
    color: var(--color-black-70);
    margin-bottom: var(--padding);
}

.banner-default {
    width: 100%;
    border-radius: var(--radius);
    overflow: hidden;
    margin: 0px 0;
    padding: var(--padding-laterale);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
}
ul.list {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
}
ul.list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
}

.row-top-line {
    width: 100%;
    border-top: solid 1px var(--color-white-15);
    padding-top: var(--padding);
    margin-top: var(--padding);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.container-wrapper-small {
    max-width: 880px;
    margin: 0 auto;
    width: 100%;
}
.container-wrapper-small:first-of-type {
    margin-top: 50px;
}
.container-wrapper-small:last-of-type {
    margin-bottom: 50px;
}

.note {
    font-size: 10px;
    color: var(--color-black-70);
}

/* meteo */

.meteo-hero {
    width: 100%;
    position: relative;
    background-color: var(--color-black-15);
    margin: 0 !important;
    padding: var(--padding-laterale) 0 !important;
    z-index: 2;
}
.meteo-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-green-grey-bg);
    z-index: -1;
    width: 100vw;
    height: 100%;
}
.meteo-widget {
    max-width: 1200px !important;
    margin: 0 auto;
    padding: 0 var(--padding-laterale);
}
.meteo-container-hero {
    width: 100%;
    display: flex;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--padding-laterale);
}
.meteo-container-hero .meteo-search {
    flex: 1 1 100%;
    width: 100%;
}

/* login - customer page */

.card-crea-account {
    padding: var(--padding-laterale);
    border-radius: var(--radius);
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.card-crea-account [class*="title-"] {
    margin-bottom: var(--padding-laterale);
}
.card-crea-account .list {
    width: 100%;
    margin-top: var(--padding-laterale);
    margin-bottom: var(--padding-laterale);
    padding: var(--padding-laterale) 0;
    border-top: solid 1px var(--color-white-15);
    border-bottom: solid 1px var(--color-white-15);
}

.login-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    margin: 50px 0 0;
    padding: 0 !important;
}
.block-customer-login,
.block-new-customer,
.card-crea-account {
    flex: 1 1 46%;
    width: 46% !important;
    max-width: 45% !important;
    margin: 0;
}
.blocco-full-bg {
    flex: 1 1 100%;
    order: 3;
    position: relative;
    margin-top: 50px;
}
.blocco-full-bg > * {
    position: relative;
    z-index: 2;
    padding: 100px 0 50px;
    color: var(--color-white);
}
.blocco-full-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: var(--color-green-grey-bg);
    background-image: url(../images/bg-blocco-login.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
}
.bg-blocco-login [class*="title-"],
.bg-blocco-login p {
    max-width: 800px;
    margin-bottom: 30px;
}
.bg-blocco-login .blocco-doppio-card {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: var(--padding-laterale) 0;
    margin-top: 14vh;
}
.banner-default-transparent {
    background: var(--backgrounds-green-bg-60, rgba(58, 107, 73, 0.6));
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
    border-radius: var(--radius);
    overflow: hidden;
    margin: 0px 0;
    padding: var(--padding-laterale);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
}
.banner-default-transparent .blocco-valori-link {
    margin-top: 20px;
    width: 100%;
    padding: 0 !important;
    flex-wrap: wrap;
    gap: var(--padding-laterale);
}
.banner-default-transparent .blocco-valori-link > * {
    width: calc(50% - (var(--padding-laterale) / 2));
}
.bg-blocco-login .blocco-doppio-card > div {
    flex: 1 1 46%;
    width: 46%;
    max-width: 46%;
    color: var(--color-white) !important;
}
.bg-blocco-login .paragrafo-linea {
    flex-direction: column;
    margin: 0 0 30px;
    gap: 20px;
}
.bg-blocco-login .paragrafo-linea > * {
    margin: 0;
}
.blocco-doppio-card-info {
    float: right;
    max-width: 550px;
    display: flex;
    flex-direction: column;
}
body.customer-account-login .column.main {
    padding-bottom: 0 !important;
}

body.customer-account-create .wrapper-container p {
    margin: 16px 0;
}
body.customer-account-create .wrapper-container a {
    color: var(--color-black-40);
    text-decoration: underline;
    font-size: 16px;
}

fieldset.profile .control {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}
fieldset.profile .control .field {
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
}
fieldset.profile .control .field input,
fieldset.profile .control .field label {
    margin: 0 !important;
}

.wrapper-container-login {
    margin: 0 auto;
    padding: var(--padding-top-bottom) var(--padding-laterale);
    width: 100%;
    max-width: 960px;
}
.wrapper-container-login p {
    font-size: 16px;
    margin: var(--padding) 0;
}
.wrapper-container-login a {
    font-size: 16px;
    color: var(--color-black-40);
    text-decoration: underline;
}

.hidden {
    display: none !important;
}

.fieldset.additional_info {
    margin-top: var(--padding) !important;
    padding-top: var(--padding) !important;
    border-top: solid 1px var(--color-black-15) !important;
}

.form.create.account.form-create-account.wrapper-container-login
    .fieldset:not(.profile) {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
}
.form.create.account.form-create-account.wrapper-container-login
    .fieldset:not(.profile)
    .legend {
    flex: 1 1 100%;
}
.form.create.account.form-create-account.wrapper-container-login
    .fieldset:not(.profile)
    .field.newsletter {
    order: 10;
}
.form.create.account.form-create-account.wrapper-container-login
    .fieldset:not(.profile)
    .field {
    width: calc(50% - 16px);
}
.form.create.account.form-create-account.wrapper-container-login
    .fieldset:not(.profile)
    .field
    label {
    padding: 0 0 5px;
    width: 100%;
}
.form.create.account.form-create-account.wrapper-container-login
    .fieldset:not(.profile)
    .note {
    color: var(--color-text);
    font-size: 16px;
    margin: 0 0 var(--padding);
}
.form.create.account.form-create-account.wrapper-container-login .fieldset em {
    color: var(--color-black-40);
    font-style: normal;
}

.form.create.account.form-create-account.wrapper-container-login
    .actions-toolbar {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
}

.form.create.account.form-create-account.wrapper-container-login
    .actions-toolbar
    > .primary {
    width: 100%;
    text-align: right;
    display: flex;
    flex-direction: row;
    justify-content: end;
}

/* message */
.message {
    width: 100%;
    border-radius: 6px;
    display: flex;
    flex-direction: row;
    padding: 14px 24px 14px 36px !important;
    margin: 14px 0 !important;
    font-size: 16px !important;
}
.message.success {
    background-color: var(--color-green-agricola);
    color: var(--color-white) !important;
}
.message.notice {
    background-color: #ffe26c;
    color: var(--color-black-70) !important;
}
.message.alert {
    background-color: #e44932;
    color: var(--color-white) !important;
}
.message > div > div::before {
    display: none !important;
}
.message > div::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    content: "";
    padding: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.message.success > div::after {
    background-image: url(../images/ico_check.svg);
}
.message.notice > div::after {
    background-image: url(../images/ico_notice.svg);
}
.message.alert > div::after {
    background-image: url(../images/ico_alert.svg);
}

/* *form */
.form.subscribe,
.form.contact fieldset {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
}
.form.subscribe .field,
.form.contact .field {
    flex: 0 1 46%;
    width: 46%;
}
.form.contact .field {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
}
.label,
.form.contact .field label,
.fieldset > .field:not(.choice) > .label,
.fieldset > .field > .label {
    font-size: 14px;
    display: inline-block;
    margin-bottom: 8px;
    font-weight: normal;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
}
.field .control {
    width: 100% !important;
    position: relative;
}
.form-footer {
    width: 100%;
    flex: 1 1 100%;
    border-top: solid 1px var(--color-black-15);
    padding-top: var(--padding-laterale);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--padding);
}
.form-footer .actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}
.form-footer .actions > * {
    margin: 0;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"] {
    width: 100%;
    height: 38px;
    border: solid 1px var(--color-black-15);
    border-radius: 8px;
    background-color: var(--color-white);
    font-size: 13px;
    padding: 0 14px;
}

.fieldset .legend {
    margin-left: 0 !important;
    font-size: clamp(20px, 2.8vw, 28px);
    font-weight: 600;
    margin-top: var(--padding-top-bottom);
}

.custom-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
}

input[type="checkbox"] {
    /* appearance: none;
    -webkit-appearance: none; */
    width: var(--checkbox-size);
    height: var(--checkbox-size);
    border: var(--checkbox-border) solid var(--checkbox-border-color);
    border-radius: var(--checkbox-radius);
    background-color: var(--checkbox-bg);
    display: inline-block;
    position: relative;
    cursor: pointer;
    transition: all var(--checkbox-transition);
}

input[type="checkbox"]:hover {
    border-color: var(--checkbox-checked-border);
}

/* Spunta */
input[type="checkbox"]::after {
    content: "";
    position: absolute;
    min-width: 6px;
    min-height: 10px;
    border-right: 2px solid var(--checkbox-check-color);
    border-bottom: 2px solid var(--checkbox-check-color);
    top: 1px;
    left: 5px;
    opacity: 0;
    z-index: 4;
    transform: scale(1) rotate(45deg);
    transition: all var(--checkbox-transition);
}
input[type="checkbox"]::before {
    content: "";
    position: absolute;
    z-index: 2;
    min-width: 18px;
    min-height: 18px;
    top: 0px;
    left: 0px;
    opacity: 0;
    background-color: #000 !important;
}

/* Stato checked */
input[type="checkbox"]:checked {
    background-color: var(--checkbox-checked-bg);
    border-color: var(--checkbox-checked-border);
    border-radius: 0 !important;
    position: relative;
    top: 1px;
}

input[type="checkbox"]:checked::after {
    opacity: 1 !important;
    transform: scale(1) rotate(45deg) !important;
}
input[type="checkbox"]:checked::before {
    opacity: 1 !important;
}

/* Focus (accessibilità) */
.custom-checkbox input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--checkbox-checked-border);
    outline-offset: 2px;
}

select {
    border: solid 1px var(--color-black-40);
    border-radius: 24px;
    height: 44px;
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
select::-ms-expand {
    display: none;
}

/* Freccia custom */
#product-options-wrapper .control::after {
    content: "\25be";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 10px;
    color: #333;
}

/* login page */
.block.block-customer-login {
    padding-right: 10vw;
}
.login-container .block .block-title {
    border: none !important;
}
.login-container fieldset > .field {
    font-size: 16px;
    margin-bottom: var(--padding) !important;
}
.fieldset > .field.choice:before,
.fieldset > .field.no-label:before,
.login-container .fieldset:after {
    display: none;
}
.field.choice {
    text-align: left;
}
.login-container .fieldset > .field:not(.choice) > .label {
    display: none !important;
}
.login-container .actions-toolbar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    margin: 0 !important;
}
.login-container .block .login .actions-toolbar > .secondary a {
    font-size: 13px !important;
    text-decoration: underline;
}

/* card overaly contattaci */
.container-overlay-contattaci {
    position: fixed;
    z-index: 5;
    bottom: var(--padding-laterale);
    right: var(--padding-laterale);
}
.box-overlay-contattaci {
    width: 408px;
    display: none;
    flex-direction: column;
    border-radius: 12px;
    border: 1px solid var(--color-white-15, rgba(255, 255, 255, 0.15));
    background: var(--backgrounds-green-bg-60, rgba(58, 107, 73, 0.6));
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
    font-size: 14px;
}
.box-overlay-contattaci-header {
    padding: 23px 30px 10px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-bottom: 1px solid var(--color-white-15, rgba(255, 255, 255, 0.15));
}
.box-overlay-contattaci-header h4 {
    font-size: 16px;
    margin: 0;
}
.small-overlay-contattaci {
    border-radius: 50%;
    background-color: var(--backgrounds-green-bg);
    width: 40px;
    height: 40px;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 7px;
}
.box-overlay-contattaci-footer,
.box-overlay-contattaci-footer li {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    padding: 15px 30px 15px;
}
.box-overlay-contattaci-footer li {
    width: 50%;
    padding: 0;
    justify-content: flex-start;
    gap: 5px;
    font-size: 13px;
    margin: 0;
}
body:not(.open-overlay-contattaci) .small-overlay-contattaci {
    display: flex;
}
.btn-close-overlay-contattaci {
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
body.open-overlay-contattaci .small-overlay-contattaci {
    display: none;
}
body.open-overlay-contattaci .box-overlay-contattaci {
    display: flex;
}

/* pagina prodotto */
.catalog-product-view .catalog-product-view .columns .column.main,
.catalogsearch-result-index .columns .column.main {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: var(--margin-top-page);
}
.catalogsearch-result-index .columns .column.main {
    margin-top: 0;
}
.product-custom.product-custom--after-description {
    order: 20;
}
.catalog-product-view .blocco-full-bg {
    order: 0;
}

.sorter .sort-desc:before {
    content: "";
}
.m-bottom {
    margin-bottom: var(--padding-top-bottom);
}

.product-attrs {
    margin: 30px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 14px;
}
.product-attrs-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 14px;
    width: 100%;
}
.product-attrs .attr-item strong {
    font-weight: 600;
    margin-left: 4px;
}
.product-attrs-pdf {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-size: 14px;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    min-width: 230px;
}
.attr-item a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
}

.anchor-caratteristiche {
    font-size: 16px;
    font-weight: 500;
    text-decoration: underline;
    display: none;
}

.product-custom__grid {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: var(--padding);
    padding: var(--padding) 0;
    border-top: solid 1px var(--color-black-15);
    margin-top: var(--padding-laterale);
}
.product-custom__item {
    width: 25%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.product-custom__title {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    font-size: 16px;
    font-weight: 600;
}
.product-custom__title svg {
    width: 24px;
}
.product-custom__text {
    width: 100%;
    padding-left: 30px;
    color: var(--color-black-70);
    font-size: 14px;
    line-height: normal;
}

.product-custom__cta {
    width: 100%;
    padding: var(--padding);
    background-color: var(--color-green-bg);
    border-radius: var(--radius);
    color: var(--color-white) !important;
    display: flex;
    flex-direction: row;
    align-self: center;
    justify-content: center;
    gap: var(--padding);
    margin-top: var(--padding-laterale);
    margin-bottom: var(--padding-laterale);
}
.product-custom__cta-text {
    min-width: 33%;
}

.blocco-specifiche-prodotto,
body.catalog-product-view .column.main > .product.attribute.description {
    background-color: var(--color-green-grey-bg);
    padding: var(--padding-laterale) 0;
    position: relative;
}
.blocco-specifiche-prodotto::before,
body.catalog-product-view
    .column.main
    > .product.attribute.description::before {
    background-color: var(--color-green-grey-bg);
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    z-index: 1;
}

.product.attribute.description > * {
    position: relative;
    z-index: 3;
}

.tabs-navigation {
    width: 100%;
    display: flex !important;
    flex-direction: row;
    border: none !important;
    align-items: stretch;
    justify-content: space-between;
    gap: var(--padding);
}
.tabs-navigation li {
    background-color: transparent !important;
    border: none !important;
    width: 100%;
    flex: 1 1 100%;
    border-bottom: solid 1px var(--color-black-40) !important;
}
.tabs-navigation li.ui-tabs-active {
    border-bottom: solid 1px var(--color-green-agricola) !important;
}
.tabs-navigation li .tab-title {
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-black-40);
}
.tabs-navigation li.ui-tabs-active .tab-title {
    color: var(--color-text);
}
.product.attribute.description .tabs-content {
    border: none !important;
}

[data-content-type="tab-item"] {
    padding-top: var(--padding-laterale);
}
/* .product.attribute.description .titolo-card-valori */
.product.attribute.description
    .accordion-content-area
    [data-content-type="heading"] {
    margin: 0 0 var(--padding);
    display: none;
}
.product.attribute.description [data-content-type="text"] {
    font-size: 16px;
    line-height: normal;
    font-weight: 400;
}
.product.attribute.description [data-content-type="text"] ul {
    list-style: none;
    padding-left: 20px;
    font-size: 14px;
    margin-top: var(--padding);
}
.product.attribute.description [data-content-type="text"] ul li {
    position: relative;
}
.product.attribute.description [data-content-type="text"] ul li::before {
    content: "";
    position: absolute;
    left: -16px;
    top: 5px;
    width: 6px;
    height: 6px;
    background-color: var(--color-green-agricola);
    border-radius: 50%;
}

.product.attribute.description .pagebuilder-column-line {
    gap: var(--padding-laterale);
}

.blocco-cards {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--padding);
}
.blocco-card-item {
    background-color: var(--color-white) !important;
    border-radius: var(--radius);
    padding: var(--padding);
    display: flex;
    flex-direction: row;
    gap: 10px;
    width: calc(50% - (var(--padding) / 2));
}
.blocco-card-item h4 {
    margin: 0 0;
    padding: 0 0 12px;
}
.blocco-card-item p {
    font-size: 14px !important;
    line-height: normal;
    color: var(--color-black-70);
}

.blocco-acquistati-insieme-prodotti {
    width: 100%;
    margin-bottom: var(--padding-top-bottom);
}
.blocco-acquistati-insieme-prodotti .product-items.widget-product-grid {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item {
    width: calc(100% / 3) !important;
    border-radius: var(--radius);
    background: linear-gradient(
        0deg,
        rgba(4, 46, 14, 0.03) 0%,
        rgba(4, 46, 14, 0.03) 100%
    );
    overflow: hidden;
}
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: var(--padding);
    width: 100%;
}
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info
    > a {
    width: 20%;
    border-right: solid 1px var(--color-black-15);
}
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info
    > .product-item-details {
    width: 80%;
    padding-left: 10px;
    font-size: 16px !important;
    position: relative;
}
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info
    > .product-item-details
    .attr-item,
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info
    > .product-item-details
    .actions-secondary {
    display: none;
}
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info
    > .product-item-details
    .price-box,
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info
    > .product-item-details
    .product-item-actions {
    margin: 0;
}
.blocco-acquistati-insieme-prodotti
    .product-items.widget-product-grid
    .product-item
    .product-item-info
    > .product-item-details
    .action.primary.tocart {
    background-color: transparent;
    color: var(--color-text) !important;
    font-size: 13px !important;
    font-style: normal;
    font-weight: 500;
    padding: 0 !important;
    border: none;
    position: absolute;
    bottom: 0;
    right: 0;
    width: fit-content;
    height: fit-content;
    text-decoration: underline;
}
.blocco-acquistati-insieme-prodotti
    .owl-item
    .product-item
    .product-item-inner {
    display: block !important;
}

/* related */
.same-category-products-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    padding: var(--padding-laterale) 0 0 !important;
    order: 4;
}
.same-category-products-block .products-grid.products {
    margin-bottom: 0 !important;
}
.same-category-products-block .section-title {
    width: 100%;
    text-align: center;
}
.same-category-products-block .products-grid.products {
    width: 100%;
    display: block;
}
.products-grid.products
    .js-related-products-carousel
    .owl-item
    .product-item.item,
.products-grid.products
    .js-related-products-carousel
    .owl-item
    .product-item.item
    .product-item-info {
    width: 100% !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.product-info-main,
.gallery-section {
    width: 20% !important;
    min-width: 300px;
    height: fit-content;
}
.product.media,
.info-section {
    width: 80% !important;
    max-width: calc(100% - 300px);
}
.info-section {
    padding-right: 30px;
}
.product-info-main {
    background-color: #e8edea;
    border: solid 1px var(--color-white-15);
    border-radius: var(--radius);
    padding: calc(var(--padding) / 1.5);
    position: relative;
}
.gallery-layout {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 30px;
}
.gallery-section {
    overflow: hidden;
    border-radius: var(--radius);
    background: linear-gradient(
        0deg,
        rgba(4, 46, 14, 0.03) 0%,
        rgba(4, 46, 14, 0.03) 100%
    );
}
.product-info-stock-sku {
    display: none;
}
.blocco-carosello-prodotti .owl-nav,
.gallery-section .owl-nav,
.same-category-products-block .owl-nav {
    position: absolute;
    z-index: 2;
    top: 50%;
    height: 1px !important;
    margin: 0 !important;
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.gallery-section .owl-dots {
    margin-bottom: 16px;
}

.product-info-main .price-box .price-wrapper .price,
.product-options-bottom .price-box .price-wrapper .price {
    font-size: 18px;
    font-weight: 600;
}
.product-info-main .price-box {
    margin: 0;
}
.product-info-main-content {
    width: 100%;
    margin: var(--padding) 0 0;
    font-size: 12px;
    color: var(--color-black-70);
    line-height: normal;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: solid 1px var(--color-black-15);
}
.product-info-main-content-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text);
}
.label-consegna {
    position: absolute;
    top: 23px;
    right: 24px;
    font-size: 12px;
    color: var(--color-black-40);
}
.label-consegna span {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-green-agricola);
}
.product-info-main .box-tocart,
.product-options-bottom .box-tocart {
    margin-top: 0px;
}

.box-tocart {
    width: 100%;
    margin-bottom: 0 !important;
}
.box-tocart .fieldset {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 20px;
    margin: 0 !important;
}
.box-tocart .fieldset > *,
.box-tocart .fieldset > * > * {
    margin: 0;
    padding: 0;
}
.box-tocart .actions {
    padding: 0 !important;
    width: 100%;
}
.action.primary.tocart {
    background-color: var(--color-black);
    border-radius: 30px;
    width: 100%;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px !important;
    font-weight: 500 !important;
    padding: 0 !important;
}
.product-category {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 16px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: var(--padding);
}
.product-category .category-tag:last-of-type {
    color: var(--color-black-40);
}
h1.product-name {
    font-size: clamp(24px, 3.4vw, 34px);
    font-weight: 600;
    line-height: normal !important;
}
.container-info-prodotto .short-desc {
    font-size: 18px;
}
.product-info-main .box-tocart .field.qty .control {
    border: solid 1px var(--color-black-40);
    border-radius: 24px;
}
.qty-counter {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.qty-plus,
.qty-minus,
.qty-plus:hover,
.qty-minus:hover,
.qty-plus:visited,
.qty-minus:visited {
    border: none;
    background-color: transparent;
    padding: 0;
    min-width: 24px;
    box-shadow: none;
    text-align: center;
}
.product-info-main .box-tocart .field.qty .control input {
    border: none !important;
    background-color: transparent !important;
    padding: 5px 0px;
    height: 42px;
    width: 34px;
}
#product-options-wrapper {
    position: relative;
}
#product-options-wrapper > div {
    display: flex;
    flex-direction: column-reverse;
    margin: 0;
}
.field.configurable {
    position: absolute;
    bottom: -90px;
    left: 0;
    width: calc(100% - 100px);
}
.field.configurable div.mage-error {
    position: absolute;
    bottom: -22px;
}
.product-info-main .box-tocart .field.qty,
.product-options-bottom .box-tocart .field.qty {
    width: 100%;
    float: right;
    padding: 0;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: row;
    align-items: center;
}
.product-info-main .box-tocart .field.qty .label,
.product-options-bottom .box-tocart .field.qty .label {
    width: 100% !important;
    margin-bottom: 0 !important;
}
.product-info-main .box-tocart .field.qty .control,
.product-options-bottom .box-tocart .field.qty .control {
    max-width: 130px;
}
.product-info-main .product-addto-links {
    margin-bottom: 0;
    text-align: center;
}
.product-info-main .product-addto-links .action.towishlist {
    border: none;
    background-color: transparent;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    text-decoration: underline;
}
.product-info-main .product-addto-links .action.tocompare {
    display: none;
}
#product-options-wrapper select {
    border: solid 1px var(--color-black-40);
    border-radius: 24px;
    height: 44px;
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.slide,
.product-image-wrapper {
    background: linear-gradient(
        0deg,
        rgba(4, 46, 14, 0.03) 0%,
        rgba(4, 46, 14, 0.03) 100%
    );
    border-radius: var(--radius);
    overflow: hidden;
    aspect-ratio: 318/398;
}
.slide img,
.product-image-wrapper img {
    mix-blend-mode: darken;
    object-fit: cover;
}

/* minicart */
.minicart-wrapper .action.showcart.active:before {
    display: none !important;
}
.minicart-wrapper .action.showcart .counter.qty {
    background-color: var(--color-green-agricola);
    width: 15px;
    min-width: 15px;
    height: 15px;
    min-height: 15px;
    border-radius: 50%;
    font-size: 10px !important;
    font-weight: 500 !important;
    top: 13px;
    left: 13px;
    position: absolute;
    line-height: 1.5;
}
.minicart-wrapper .block-minicart,
.minicart-wrapper.active .block-minicart {
    position: fixed;
    z-index: 10;
    border: none !important;
    top: -26px !important;
    right: 0;
    width: 100vw;
    height: 100vh;
    align-items: flex-end;
    justify-content: flex-end;
    background-color: rgba(0, 0, 0, 0.4) !important;
    margin: 0;
    padding: 0;
}
.minicart-wrapper.active .block-minicart {
    display: flex !important;
}
.minicart-wrapper .block-minicart:before,
.minicart-wrapper .block-minicart:after {
    display: none !important;
}
#minicart-content-wrapper {
    width: 480px;
    height: 100vh;
    background-color: var(--color-white);
}
.minicart-wrapper .action.close {
    top: 20px;
    right: 20px;
}
.minicart-wrapper .block-minicart .block-title {
    display: block !important;
    font-size: 28px;
    font-style: normal;
    font-weight: 600;
    width: 100%;
    height: 67px;
    padding: var(--padding-laterale) var(--padding-laterale) 0;
}
.minicart-wrapper .block-minicart .block-content {
    width: 100%;
    height: calc(100% - 70px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: var(--padding-laterale);
}
.minicart-wrapper .block-minicart .block-content .subtotal {
    order: 9;
    width: 100%;
    border-top: solid 1px var(--color-black-15);
    border-bottom: solid 1px var(--color-black-15);
    padding: 10px 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 16px;
}
.minicart-wrapper .block-minicart .block-content .subtotal .label {
    margin: 0;
}
.minicart-wrapper .block-minicart .block-content .subtotal .price,
.minicart-items .product-item-details .price {
    font-size: 14px;
    font-weight: 500;
    display: block;
    margin: 10px 0;
}
.minicart-wrapper .block-minicart .block-content .actions {
    order: 10;
    width: 100%;
}
.minicart-items-wrapper {
    margin: 0;
    border: none;
    height: 100% !important;
    width: 100%;
    padding: 0;
    overflow-x: hidden;
}
.minicart-wrapper .block-minicart .block-content .actions .secondary {
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    color: var(--color-black-40) !important;
    border-color: var(--color-black-40);
}
.minicart-items .product-item .product {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.minicart-items .product-item .product > a.product-item-photo {
    width: 130px;
    max-width: 130px;
    aspect-ratio: 130/165;
    background: linear-gradient(
        0deg,
        rgba(4, 46, 14, 0.03) 0%,
        rgba(4, 46, 14, 0.03) 100%
    );
    border-radius: var(--radius);
}
.minicart-items .product-item .product .product-item-details {
    padding: 0;
    width: calc(100% - 130px);
    padding-left: var(--padding);
}
.minicart-items .product-item-name a {
    font-size: 14px;
    color: var(--color-text);
    font-weight: 600;
    line-height: normal;
}
.minicart-items .product-item-details .price-excluding-tax {
    font-size: 14px;
    font-weight: 500;
}
.minicart-items .product-item-details .details-qty {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.block-minicart .items-total .count,
.block-minicart .items-total [data-bind],
.minicart-items .product-item-pricing .label,
.minicart-wrapper .product .actions > .primary,
.minicart-items .action.delete:before,
.minicart-items .product-item-details .details-qty .primary {
    display: none !important;
}
.minicart-items .action.delete > span {
    position: relative;
    color: var(--color-black-40);
}
.minicart-items .product-item .product .product-item-details .product.actions {
    position: relative;
    width: fit-content;
    border-bottom: solid 1px var(--color-black-40);
}
.block-minicart .block-content > .actions > .primary {
    margin: 0 0px;
}
.minicart-items .item-qty {
    border-radius: 20px;
    border-color: var(--color-black-40) !important;
    cursor: not-allowed;
    pointer-events: none;
}

/* pagina carrello */
body.checkout-cart-index .page-title-wrapper {
    width: 100%;
    aspect-ratio: 1440/412;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    background-image: url(../images/cover_carrello.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}
body.checkout-cart-index .page-title-wrapper::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: block;
    background:
        linear-gradient(
            131deg,
            rgba(0, 0, 0, 0.3) 6.39%,
            rgba(0, 0, 0, 0) 29.43%
        ),
        linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 53.68%);
}
body.checkout-cart-index .page-title-wrapper .page-title {
    width: 100%;
    position: relative;
    z-index: 3;
    max-width: 1680px;
    padding: 0 var(--padding-laterale);
    color: var(--color-white);
    font-size: clamp(30px, 5vw, 50px);
    font-weight: 600;
    margin-left: auto;
    margin-right: auto;
}

.cart-container {
    padding: var(--padding-top-bottom) 0;
    display: flex;
    flex-direction: row-reverse;
}
.cart-container .cart-summary {
    width: 30%;
    flex: 1 1 30%;
    max-width: 420px;
    padding: var(--padding-laterale);
    background-color: var(--color-green-grey-bg);
    border-radius: var(--radius);
    font-size: 16px;
}
.cart-summary .summary.title {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    margin: 0;
    padding: 0;
}
#block-shipping {
    margin-top: 16px;
}
#block-shipping .title {
    padding: 16px 0;
}
#block-shipping .title strong {
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
}
.cart-container #form-validate {
    width: 70%;
    flex: 1 1 70%;
    max-width: calc(100% - 420px);
    padding-right: 80px;
}
.cart-container .block.discount {
    display: none !important;
}
.cart-summary .block > .title:after {
    top: 12px;
    content: "+";
    font-weight: 600;
    font-size: 21px;
    width: 22px;
    height: 22px;
    line-height: 1;
}
.cart-summary .block.active > .title:after {
    content: "-";
}
.cart-summary .block .fieldset {
    margin: 16px 0;
}
select {
    width: 100%;
    height: 38px;
    border: solid 1px var(--color-black-15);
    border-radius: 8px;
    background-color: var(--color-white);
    font-size: 13px;
    padding: 0 14px;
}
.data.table.totals {
    font-size: 14px;
}
.data.table.totals tbody tr:last-of-type {
    border-top: solid 1px var(--color-black-15);
    margin-top: 10px;
}
.cart-totals .mark,
.opc-block-summary .table-totals .mark {
    padding-left: 0;
    font-weight: 600;
    font-size: 14px;
}
.data.table.totals tbody tr.grand.totals .mark strong,
.data.table.totals tbody tr.totals.shipping .mark .label {
    font-weight: 600 !important;
}
.data.table.totals tbody tr.totals.shipping .mark .label {
    margin-bottom: 0;
}
.data.table.totals tbody tr.totals.shipping .mark .value {
    font-weight: 400 !important;
    color: var(--color-black-70);
}
.cart-totals .amount,
.opc-block-summary .table-totals .amount {
    padding-right: 0;
}

#shopping-cart-table .cart.item {
    font-size: 14px !important;
    color: var(--color-black-70);
}
.cart.table-wrapper .item .col.item {
    padding: 10px 0 !important;
}
#shopping-cart-table .cart.item .product-item-photo {
    max-width: 60px !important;
    min-width: 60px !important;
    width: 60px !important;
    aspect-ratio: 60/80;
    padding: 0 !important;
}
.cart.table-wrapper .product-item-details {
    padding-left: 10px;
}
.cart-container .form-cart .action.update {
    border: none;
    background-color: transparent;
    font-size: 13px !important;
    font-weight: 500 !important;
    opacity: 0.6;
}
.cart.table-wrapper .product-item-details,
.cart.table-wrapper .col.price,
.cart.table-wrapper .col.qty,
.cart.table-wrapper .col.subtotal {
    vertical-align: middle;
    padding-right: 16px;
    padding: 10px 0;
}
.price-including-tax .price,
.price-excluding-tax .price {
    font-size: 14px !important;
    font-style: normal;
    font-weight: 400 !important;
    color: var(--color-black-70) !important;
}
.cart.table-wrapper .product-item-name a {
    font-size: 14px !important;
    color: var(--color-black-70) !important;
    max-width: 400px;
}
.cart.table-wrapper .col {
    padding-top: 10px;
    padding-left: 0;
}
.cart.table-wrapper .product-item-details {
    padding-left: 16px;
}
.cart.table-wrapper .col.qty .input-text {
    border: none;
    height: 30px;
    margin-top: 0;
    padding: 0;
    width: 38px;
}
.cart.table-wrapper .items > .item {
    border-color: var(--color-black-15);
}
.cart.table-wrapper .items thead + .item {
    border-color: var(--color-black-15);
}
.cart.table-wrapper thead .col.subtotal span {
    opacity: 0;
}
.cart.table-wrapper .actions-toolbar > .action,
.cart.table-wrapper .actions-toolbar > .action:hover {
    border: none;
    margin: 0 0 0 12px;
    padding: 0;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    text-decoration: underline;
    color: var(--color-black-40);
    background-color: transparent;
}

.card-valori {
    background-color: var(--color-white);
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    padding: var(--padding);
    position: relative;
    z-index: 1;
}
.card-valori table {
    border: none !important;
}
.card-valori table > tbody > tr > td {
    padding: 14px 0;
    border: none;
    border-bottom: solid 1px var(--color-black-15);
    font-size: 14px !important;
    font-weight: 200;
    text-align: right;
}
.card-valori table > tbody > tr:last-of-type > td {
    border-bottom: none !important;
}
.card-valori table > tbody > tr > td:first-of-type {
    font-weight: 600;
    text-align: left;
}
.titolo-card-valori {
    padding: var(--padding);
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
    background-color: var(--color-white);
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 0 !important;
}

/* accordion tab pagina prodotto */
.product.attribute.description,
.accordion-content-area {
    width: 100%;
}
.accordion-tab {
    width: 100%;
}
.custom-accordion-layout {
    display: flex;
    flex-direction: row;
    gap: var(--padding);
    align-items: flex-start;
}
.accordion-sidebar {
    background-color: var(--backgrounds-green-bg);
    border-radius: var(--radius);
    padding: var(--padding);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    color: var(--color-white-70);
    min-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 31.5%;
    max-height: 305px;
    overflow-x: auto;
    /* Personalizzazione scrollbar */
    scrollbar-width: thin; /* Per Firefox */
    scrollbar-color: var(--backgrounds-green-light) transparent; /* Barra verde chiaro su sfondo trasparente */
}

/* Per browser WebKit (Chrome, Safari, Edge) */
.accordion-sidebar::-webkit-scrollbar {
    width: 8px; /* Larghezza sottile */
    height: 8px; /* Per scroll orizzontale */
}

.accordion-sidebar::-webkit-scrollbar-track {
    background: transparent; /* Sfondo trasparente */
    border-radius: 4px;
}

.accordion-sidebar::-webkit-scrollbar-thumb {
    background-color: var(--backgrounds-green-light); /* Verde chiaro */
    border-radius: 4px;
    border: 2px solid transparent; /* Separazione visiva opzionale */
    background-clip: padding-box; /* Mantiene il bordo trasparente */
}

.accordion-sidebar::-webkit-scrollbar-thumb:hover {
    background-color: var(
        --backgrounds-green-light
    ); /* Puoi cambiare colore all'hover se vuoi */
    opacity: 0.9;
}
.culture-title.active {
    color: var(--color-white);
}
.culture-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.content-item {
    width: 100%;
    background-color: var(--color-white);
    border-radius: var(--radius);
    padding: var(--padding);
}
.accordion-header {
    width: 100%;
    font-size: 20px;
    font-weight: 600;
    color: var(--color-green-agricola);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.accordion-body {
    padding: var(--padding) 0 0;
    display: none;
}
.accordion-body table,
.accordion-body table > tbody > tr > td {
    border: none !important;
    font-size: 14px !important;
    color: var(--color-black-40);
    padding-left: 0;
}
.accordion-body table > tbody > tr > td strong,
.accordion-body table > tbody > tr > td b {
    color: var(--color-text);
}
.accordion-body [data-content-type="text"] {
    color: var(--color-black-40);
}
.page-wrapper > .page-main.page-main-details {
    display: none !important;
}

/* pagina catalogo */
.category-header-container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.category-header-container .category-header-left {
    flex: 1;
    min-width: 300px;
    padding-right: 30px;
}
.category-header-container .category-header-right {
    flex: 1;
    min-width: 300px;
}
.category-header-left {
    width: 70%;
    padding-right: 15% !important;
}
.category-header-right {
    width: 30%;
    max-width: 430px;
}
.custom-left-block {
    background-color: var(--backgrounds-green-bg);
    color: var(--color-white);
    padding: var(--padding);
    display: flex;
    flex-direction: column;
    gap: var(--padding);
    border-radius: var(--radius);
    margin: 0;
    > div > div {
        gap: var(--padding);
    }
}
.custom-right-block {
    background-color: var(--color-green-grey-bg);
    padding: var(--padding);
    display: flex;
    flex-direction: column;
    gap: calc(var(--padding) / 1.5);
    border-radius: var(--radius);
    margin: 16px 0;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}
.custom-left-block h3,
.custom-right-block h3 {
    margin: 0;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}
.custom-left-block p {
    color: var(--color-white-70);
    margin: 0 0 16px;
    font-size: 14px;
}
.custom-right-block p {
    color: var(--color-black-40);
    margin: 0 0 16px;
    font-size: 14px;
}
.custom-left-block a,
.custom-right-block a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    position: relative;
}
.custom-left-block a {
    color: var(--color-white);
}
.custom-left-block a::before,
.custom-right-block a::before {
    content: "";
    position: absolute;
    top: -16px;
    left: calc(var(--padding) * -1);
    width: calc(100% + (var(--padding) * 2));
    height: 1px;
    background-color: var(--color-black-15);
    z-index: 1;
}
.custom-left-block a::before {
    background-color: var(--color-white-15);
}
.note-40 {
    display: block;
    padding: 0 var(--padding);
    color: var(--color-black-40);
    font-size: 10px;
    line-height: normal;
}
.blocco-link-pagina-categoria {
    width: 100%;
    display: flex;
    flex-direction: row !important;
    align-items: center;
    gap: 16px;
    padding: var(--padding) 0;
}
.blocco-link-pagina-categoria a,
.blocco-link-pagina-categoria a:hover,
.blocco-link-pagina-categoria a:visited {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    display: inline-block;
    padding: 4px 24px;
    border: solid 1px var(--color-black-15);
    border-radius: 14px;
    color: var(--color-text);
    margin: 0 !important;
    text-decoration: none !important;
}
.blocco-link-pagina-categoria a:hover {
    background-color: var(--color-black-15);
}
/* carosello categoria */
/* .category-description [data-content-type="row"] {
    overflow: hidden;
} */
.pagebuilder-slider {
    width: 33.33%;
}
.pagebuilder-slider .slick-list {
    overflow: visible;
}
.category-description .slick-slide {
    aspect-ratio: 216/160;
    margin: 0 3px;
    border-radius: var(--radius);
    overflow: hidden;
}
.category-description .pagebuilder-slider .slick-list {
    aspect-ratio: 216/160;
    overaly: hidden;
    max-width: 302px;
}
.category-description div[data-content-type="slider"] .slick-track > div {
    max-height: 230px !important;
    margin-top: 30px;
    .slick-list {
        width: 100% !important;
    }
}
.category-description
    .pagebuilder-slider.slick-initialized.slick-slider.slick-dotted {
    min-height: fit-content !important;
}
.category-description .slick-slide .pagebuilder-slide-wrapper,
.category-description
    .slick-slide
    .pagebuilder-slide-wrapper
    .pagebuilder-overlay {
    min-height: auto !important;
    aspect-ratio: 216/160;
    overaly: hidden;
    border-radius: 12px;
}
.category-description
    .slick-slide
    .pagebuilder-slide-wrapper
    .pagebuilder-poster-content {
    width: 100%;
    height: 100%;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    color: var(--color-white);
}
.category-description .slick-dots {
    display: none !important;
}
.slick-prev,
.slick-next {
    opacity: 1;
    border-radius: 50%;
    width: 32px;
    height: 32px;
}
.slick-next {
    right: -195%;
}
.slick-prev:before,
.slick-next:before,
.slick-prev:after,
.slick-next:after {
    font-size: 18px;
}
.price-label {
    display: none !important;
}

#amasty-shopby-product-list .toolbar-products {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    font-size: 14px;
    position: relative;
}
#amasty-shopby-product-list .toolbar-products .modes {
    display: none !important;
}
#amasty-shopby-product-list .toolbar-products .toolbar-amount {
    position: absolute;
    left: -370px;
    top: 0;
}
.toolbar-sorter select {
    border: none;
    padding: 0 12px;
}
.sorter .sorter-action {
    width: 20px;
    height: 20px;
}
.sorter-action:before {
    content: "";
    background-image: url(../images/ico_arrow_down.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    position: relative;
    top: 10px;
}
.page-products .product-item-info {
    width: 100%;
}
#amasty-shopby-product-list .product-item-inner {
    display: none !important;
}
#amasty-shopby-product-list .product-item-details {
    margin: 16px 0 0;
}
#amasty-shopby-product-list .product-item-details .product-item-name a {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}
#amasty-shopby-product-list .product-item-details .price-box {
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
}

#amasty-shopby-product-list > .toolbar-products:nth-child(3) {
    flex-direction: row-reverse;
    padding: 0;
}
#amasty-shopby-product-list > .toolbar-products:nth-child(3) .field.limiter {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-end;
    margin: 0;
    white-space: nowrap;
}
#amasty-shopby-product-list
    > .toolbar-products:nth-child(3)
    .field.limiter
    > * {
    margin: 0;
    white-space: nowrap;
}
.limiter-options {
    padding: 0;
    width: fit-content;
    height: auto;
    border: none;
    cursor: default;
    pointer-events: none;
}
#amasty-shopby-product-list > .toolbar-products .pages {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-end;
    margin: 0;
}

/* PAGINA BRAND */
.brand-alphabet-nav {
    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: var(--padding-laterale);
}
.brand-alphabetical-list {
    max-width: 100%;
    margin: 0 auto;
}
.brand-letter-jump {
    font-size: 16px;
    font-weight: 300;
    width: 20px;
    display: inline-block;
    text-align: center;
}
.brand-letter-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--padding);
    border-bottom: solid 1px var(--color-black-15);
    padding-bottom: var(--padding);
    margin-bottom: var(--padding);
}
.brand-letter-title {
    font-size: clamp(35px, 5vw, 50px);
    font-style: normal;
    font-weight: 600;
    display: block;
}
.brands-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 15px;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0px;
}

.brand-item {
    flex: 0 0 90px;
    width: 90px;
    text-align: center;
    box-sizing: border-box;
}
.brand-image-container {
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--color-black-15);
}

.brand-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 5px;
    box-sizing: border-box;
    transition: transform 0.3s ease;
}

.brand-item:hover .brand-logo {
    transform: scale(1.05);
}

.brand-fallback {
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #666;
    font-size: 14px;
    text-transform: uppercase;
}
.brand-name {
    mix-blend-mode: darken;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    display: block;
    text-align: center;
    width: 100%;
    margin-top: 12px;
}

body.account .sidebar-main,
body.catalogsearch-result-index .sidebar-main,
body.catalog-category-view.page-layout-2columns-left .sidebar-main {
    width: 340px !important;
    background-color: var(--color-green-grey-bg);
    border-radius: var(--radius);
    padding: var(--padding);
    position: relative;
    margin-top: 83px;
}
body.account .sidebar-main {
    margin-top: 0;
}
body.account .sidebar-main > *,
body.catalogsearch-result-index .sidebar-main > *,
body.catalog-category-view.page-layout-2columns-left .sidebar-main > * {
    position: relative;
    z-index: 1;
}
body.account .sidebar-main::before,
body.catalogsearch-result-index .sidebar-main::before,
body.catalog-category-view.page-layout-2columns-left .sidebar-main::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    left: calc(var(--padding-laterale) * -1);
    top: 0;
    background-color: var(--color-green-grey-bg);
}
body.account .column.main,
body.catalogsearch-result-index .column.main,
body.catalog-category-view.page-layout-2columns-left .column.main {
    width: calc(100% - 340px) !important;
}
.block-content.filter-content .block-subtitle.filter-subtitle,
.column.main .block.filter .filter-title,
.tooltip.amshopby-filter-tooltip,
body.catalogsearch-result-index .sidebar-additional,
body.catalog-category-view.page-layout-2columns-left .sidebar-additional {
    display: none !important;
}
.block-title.filter-title {
    font-weight: 600;
    font-size: clamp(18px, 2.4vw, 24px);
    padding: 0 0 var(--padding);
    margin: 0 !important;
}
dl.filter-options dt {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    position: relative;
    padding: 16px 0 0;
    border-top: solid 1px var(--color-black-15);
    margin-bottom: 16px !important;
    cursor: pointer;
}
dl.filter-options dt::before {
    background-image: url(../images/ico_plus.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 10px;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 14px;
    right: 0;
}
dl.filter-options dt.active::before {
    background-image: url(../images/ico_minus.png);
}
.filter-options-content {
    display: none;
}
dd.filter-options-content {
    max-height: 400px !important;
    overflow-y: auto !important;
    scrollbar-width: thin; /* Per Firefox */
    scrollbar-color: var(--color-black-15) transparent; /* Barra nera su sfondo trasparente */
}
dd.filter-options-content::-webkit-scrollbar {
    width: 8px; /* Larghezza sottile */
    height: 8px; /* Per scroll orizzontale */
}
dd.filter-options-content::-webkit-scrollbar-track {
    background: transparent; /* Sfondo trasparente */
    border-radius: 4px;
}
dd.filter-options-content::-webkit-scrollbar-thumb {
    background-color: var(--color-black-15); /* Nero */
    border-radius: 4px;
    border: 2px solid transparent; /* Separazione visiva opzionale */
    background-clip: padding-box; /* Mantiene il bordo trasparente */
}
dd.filter-options-content::-webkit-scrollbar-thumb:hover {
    background-color: var(
        --color-black-15
    ); /* Puoi cambiare colore all'hover se vuoi */
    opacity: 0.9;
}
.filter-options-content ol {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.filter-options-content ol li {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    margin: 0 !important;
}
.items[class*="category_ids"]:not(.items-children) > .item > a,
.filter-options-content ol li a {
    display: flex !important;
    flex-direction: row;
    gap: 4px;
    font-size: 13px;
    color: var(--color-text) !important;
}
.items[class*="category_ids"]:not(.items-children) > .item > a {
    font-weight: 400;
}
.filter-options-content .items.-am-singleselect .amshopby-link-selected .count,
.filter-options-content
    .swatch-option.selected
    + .am-shopby-swatch-label
    .count {
    color: #7d7d7d !important;
}
.category-header-left .page-title::first-letter {
    text-transform: capitalize;
}
.filter-options-content ol li a > * {
    margin: 0;
}
.filter-options-content ol li input {
    /* Nascondi il radio originale */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    /* Crea un quadrato personalizzato */
    width: 14px;
    height: 14px;
    border: 1px solid var(--color-text);
    position: relative;
    cursor: pointer;
    margin: 0;
    vertical-align: middle;
    display: block !important;
    margin-right: 6px;
}
.amshopby-filter-current.filter-current
    .block-subtitle.filter-current-subtitle {
    display: none !important;
}
ol.amshopby-items.items {
    padding: 0;
    display: flex;
    flex-direction: column;
    margin: 0 0 12px;
}
.amshopby-filter-current .amshopby-remove {
    top: 5px !important;
}
.filter-actions .filter-clear {
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    color: var(--color-black-40) !important;
    border-color: var(--color-black-40);
}
/* Stato checked */
.filter-options-content ol li input:checked {
    background-color: var(--color-text);
}

.product-item-info {
    position: relative;
}
.bio-label {
    position: absolute;
    z-index: 2;
    background-color: var(--color-green-agricola);
    border-radius: 15px;
    color: var(--color-white);
    font-size: 12px;
    font-weight: 500;
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center;
    padding: 0 16px 0 12px;
    min-height: 25px;
    top: 16px;
    left: 16px;
}

/* carosello */
.blocco-carosello-prodotti {
    display: flex;
    margin: var(--padding) auto;
    gap: 16px;
}
.blocco-carosello-prodotti.bg-grey-albese {
    padding-top: 5rem;
}
.blocco-carosello-prodotti [data-content-type="heading"] {
    text-align: center;
    margin: 0 auto;
}
.blocco-carosello-prodotti [data-content-type="text"] {
    text-align: center;
    margin: 0 auto;
    max-width: 600px;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}
.blocco-carosello-prodotti .js-products-carousel {
    margin-top: var(--padding);
}
.blocco-carosello-prodotti [data-content-type="buttons"] {
    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: center;
    margin: 0 auto;
}
.page-layout-1column .block.widget .products-grid .owl-item .product-item {
    width: 100% !important;
}
.owl-item .product-item .product-item-inner {
    display: none !important;
}
.product-item-details > .product-item-name > a {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}
.blocco-carosello-prodotti .owl-nav .owl-prev,
.blocco-carosello-prodotti .owl-nav .owl-next,
.same-category-products-block .owl-nav .owl-prev,
.same-category-products-block .owl-nav .owl-next {
    width: 32px;
    height: 32px;
    border-radius: 50% !important;
    opacity: 1;
    border: solid 1px var(--color-black-15) !important;
    background-color: var(--color-white) !important;
    position: relative;
}
.blocco-carosello-prodotti .owl-nav .owl-next::after,
.same-category-products-block .owl-nav .owl-next::after {
    font-size: 14px;
    content: "\f102";
    padding-left: 5px;
    -webkit-font-smoothing: antialiased;
    font-family: "pagebuilder-font";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    color: var(--color-black-40);
    padding: 0;
}
.blocco-carosello-prodotti .owl-nav .owl-prev::after,
.same-category-products-block .owl-nav .owl-prev::after {
    font-size: 14px;
    content: "\f103";
    padding-left: 5px;
    -webkit-font-smoothing: antialiased;
    font-family: "pagebuilder-font";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    color: var(--color-black-40);
    padding: 0;
}

/* registrazione */
.form.create.account {
    min-width: auto !important;
    width: 100% !important;
}

/* area privata */
body.account .column.main {
    margin-bottom: var(--padding-top-bottom);
}
body.account .sidebar.sidebar-additional {
    display: none !important;
}
body.account .block-collapsible-nav .content {
    background-color: transparent !important;
}
.block-collapsible-nav .content ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.block-collapsible-nav .content ul li {
    padding: 0;
    margin: 0;
}
.block-collapsible-nav .item a,
.block-collapsible-nav .item > strong {
    padding: 0;
    width: fit-content;
    margin-left: 0 !important;
    border-left: 0 !important;
}
.block-collapsible-nav .item a:hover,
.block-collapsible-nav .item > strong:hover {
    padding: 0;
    width: fit-content;
    background-color: transparent !important;
}
.block-collapsible-nav .item.current a,
.block-collapsible-nav .item.current > strong {
    border-left: 0 !important;
    border-bottom: solid 3px var(--color-green-agricola);
    padding: 0 !important;
}
.block-collapsible-nav ul.nav li:nth-child(3),
.block-collapsible-nav ul.nav li:nth-child(5),
.block-collapsible-nav ul.nav li:nth-child(8),
.block-collapsible-nav ul.nav li:nth-child(9) {
    display: none !important;
}
.block-dashboard-orders .block-title,
.block-dashboard-info .block-title,
.block-dashboard-addresses .block-title,
body.account.customer-address-index .block-addresses-default .block-title,
body.account.customer-address-index .block-addresses-list .block-title {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: var(--padding);
    margin-bottom: var(--padding) !important;
    border-bottom: solid 1px var(--color-black-15);
}
.block-title a span,
.block-title a:hover span,
.block-title a:visited span {
    color: var(--color-black-70) !important;
    text-decoration: underline !important;
    font-size: 14px !important;
}
.account .column.main .block:not(.widget) .box-title span {
    font-size: 16px !important;
    font-style: normal;
    font-weight: 600;
}
.block-dashboard-orders .block-title strong,
.block-dashboard-info .block-title strong,
.block-dashboard-addresses .block-title strong,
body.account.customer-address-index .block-title strong {
    font-size: clamp(20px, 3vw, 28px) !important;
    font-weight: 600 !important;
}
body.account .block .box-content {
    font-size: 14px !important;
    font-style: normal;
    font-weight: 400;
    color: var(--color-black-70);
}
body.account .block .box-actions a {
    color: var(--color-black-40) !important;
    text-decoration: underline;
    font-size: 14px !important;
}

.table-order-items {
    border-bottom: solid 1px var(--color-black-15) !important;
}
.table-order-items thead tr th {
    padding-left: 0 !important;
    padding-bottom: 30px !important;
}
.table-order-items tbody tr td {
    padding: 14px 0;
    font-size: 14px !important;
    color: var(--color-black-70) !important;
}
.table-order-items tbody tr td a {
    font-size: 14px !important;
    color: var(--color-black-40);
    text-decoration: underline;
}

body.account.sales-order-view .column.main {
    display: flex;
    flex-direction: column;
    gap: var(--padding);
}
body.account.sales-order-view .column.main .page-title-wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 16px !important;
    border-bottom: solid 1px var(--color-black-15);
    padding-bottom: var(--padding) !important;
}
body.account.sales-order-view
    .column.main
    .page-title-wrapper
    [class*="title-"] {
    order: 0;
    width: 100%;
    flex: 1 1 100%;
    padding-bottom: var(--padding);
    margin: 0 !important;
    border-bottom: solid 1px var(--color-black-15);
}
body.account.sales-order-view .column.main .page-title-wrapper .page-title {
    order: 1;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    padding: 0 0 !important;
}
body.account.sales-order-view .column.main .page-title-wrapper .order-status {
    order: 2;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0;
}
body.account.sales-order-view .column.main .page-title-wrapper .order-date {
    order: 3;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0;
}
body.account.sales-order-view
    .column.main
    .page-title-wrapper
    .order-date
    span.label {
    font-weight: 600;
    margin: 0;
    padding: 0;
    font-size: 16px !important;
}
body.account.sales-order-view
    .column.main
    .page-title-wrapper
    .actions-toolbar {
    order: 4;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0;
}
body.account.sales-order-view
    .column.main
    .page-title-wrapper
    .actions-toolbar
    .actions {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 12px;
    margin: 0;
}
body.account.sales-order-view
    .column.main
    .page-title-wrapper
    .actions-toolbar
    a {
    font-size: 14px !important;
    color: var(--color-black-40) !important;
    text-decoration: underline !important;
    margin: 0;
    padding: 0;
}
body.account.sales-order-view .column.main .page-title-wrapper .page-title {
    font-size: 16px !important;
}
body.account.sales-order-view .column.main .order-details-items {
    order: 10;
}
body.account .items.order-links,
body.account .order-details-items .order-title,
body.account .block.block-order-details-view .block-title {
    display: none;
}
#my-orders-table tfoot tr td {
    padding-right: 0;
}

form.form-address-edit .fieldset {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--padding);
}
form.form-address-edit .fieldset br {
    display: none;
}
form.form-address-edit .fieldset > * {
    flex: 0 1 calc(50% - (var(--padding) / 2));
    width: calc(100% / 2);
    margin: 0 !important;
    padding: 0 !important;
}
form.form-newsletter-manage .fieldset > .legend,
form.form-edit-account .fieldset > .legend,
form.form-address-edit .fieldset > .legend {
    flex: 1 1 100%;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: var(--padding) !important;
    margin-left: 0 !important;
    margin-bottom: var(--padding) !important;
    border-bottom: solid 1px var(--color-black-15);
}
form.form-newsletter-manage .fieldset > .legend span,
form.form-edit-account .fieldset > .legend span,
form.form-address-edit .fieldset > .legend span {
    font-size: clamp(20px, 3vw, 28px) !important;
    font-weight: 600 !important;
}
.column:not(.sidebar-main) form .actions-toolbar,
.column:not(.sidebar-additional) form .actions-toolbar {
    margin-left: 0 !important;
}

.wishlist-index-index .product-item-info {
    width: 100%;
}
.field.comment-box,
.products-grid.wishlist .product-item-actions .action.edit {
    display: none;
}
.products-grid.wishlist .product-item-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
}
.products-grid.wishlist .product-item-actions,
.products-grid.wishlist .product-item-actions .actions-primary {
    width: 100%;
}
.products-grid.wishlist .product-item-actions .btn-remove.action.delete {
    font-size: 14px !important;
    color: var(--color-black-40) !important;
    text-decoration: underline !important;
}
.products-grid.wishlist .product-item .fieldset .field.qty {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.products-grid.wishlist .product-item .box-tocart input.qty {
    width: 60px !important;
    text-align: center;
    margin: 0 !important;
    padding: 8px !important;
    border: solid 1px var(--color-black-15) !important;
    border-radius: 18px;
}
.products-grid .product-item-name > a,
.products-grid .product.name a > a {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}
.wishlist-index-index .main .form-wishlist-items .actions-toolbar {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--padding);
    padding-top: var(--padding);
    border-top: solid 1px var(--color-black-15);
}
.actions-toolbar > .secondary .action.back {
    display: block;
}

/* checkout */
body.checkout-index-index .header-primary .logo {
    min-width: calc(100% - 258px);
}
.cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--padding-top-bottom) var(--padding-laterale);
}
.cart-empty > p:first-of-type {
    font-size: clamp(20px, 3vw, 28px) !important;
    font-weight: 600 !important;
    margin-bottom: 16px !important;
    text-align: center;
}
.cart-empty > p:last-of-type {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--color-black-40) !important;
}
#checkoutSteps > div {
    float: none !important;
    width: 100% !important;
    max-width: 890px !important;
    margin: var(--padding-laterale) auto;
}
.col-mp.hoverable,
#checkoutSteps .row-mp > .hoverable:not(:nth-child(2)) {
    margin-bottom: 32px !important;
    padding-bottom: 32px !important;
    border-bottom: solid 1px var(--color-black-15) !important;
    border-radius: 0 !important;
}
.opc-wrapper .step-title {
    font-size: clamp(20px, 3vw, 28px) !important;
    font-weight: 600 !important;
    margin-bottom: 32px !important;
    background-color: transparent !important;
    padding: 0 !important;
    border: none !important;
    color: var(--color-text) !important;
}
.opc-wrapper .fieldset > .field > .label {
    padding-left: 0px !important;
    padding-bottom: 10px !important;
}
.table-checkout-shipping-method tbody tr,
#checkout .payment-method-title.field.choice {
    position: relative;
    display: flex;
    padding: 4px 20px !important;
}
#checkout .payment-method-title.field.choice:before,
.table-checkout-shipping-method tbody tr:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: var(--color-grey-light);
    border-radius: var(--radius) !important;
    padding: 12px 16px !important;
}
#checkout .payment-method-title.field.choice > *,
.table-checkout-shipping-method tbody tr td {
    padding: 12px 16px !important;
    position: relative;
    z-index: 2;
    margin: 0 !important;
    font-size: 14px !important;
    display: flex;
    align-items: center;
}
.checkout-payment-method .payment-method-title {
    padding: 0 !important;
}
.payment-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#checkout .minicart-items {
    display: block !important;
    overflow: hidden;
}
.opc-block-summary .items-in-cart > .title {
    display: none !important;
}
.opc-block-summary .minicart-items-wrapper {
    overflow: hidden;
}
#checkout-review-table thead th {
    padding-left: 0 !important;
    text-align: left !important;
}
.column.main .opc-block-summary .product-item .product {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}
.column.main .opc-block-summary .product-item .product .product-item-name {
    font-size: 14px !important;
    color: var(--color-black-70);
}
.column.main .opc-block-summary .product-item .product-image-container {
    width: 65px !important;
    height: auto !important;
}
#checkout-review-table {
    border-bottom: solid 1px var(--color-black-15) !important;
    margin-bottom: 32px !important;
    border-radius: 0 !important;
}
#checkout-review-table tbody tr td {
    padding: 15px 15px 15px 0 !important;
    vertical-align: middle !important;
}
#checkout .qty-wrapper {
    position: relative;
    border: solid 1px var(--color-black-15) !important;
    border-radius: 20px;
    height: 40px;
    width: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
}
#checkout .qty-wrapper > * {
    border: none !important;
}
#checkout .qty-wrapper > * input.item_qty {
    border: none !important;
    height: 22px;
    text-align: center;
    padding: 0 !important;
    margin: 0 !important;
}
.order-summary .opc-block-summary table.data.table.table-totals {
    margin-left: calc(100% - 400px);
    width: 400px;
    border-bottom: solid 1px var(--color-black-15) !important;
    border-radius: 0 !important;
}
.order-summary .opc-block-summary table.data.table.table-totals td {
    font-size: 14px !important;
    color: var(--color-black-70) !important;
}
.order-summary
    .opc-block-summary
    table.data.table.table-totals
    tr.grand.totals
    td,
.order-summary
    .opc-block-summary
    table.data.table.table-totals
    tr.grand.totals
    th {
    border-top: solid 1px var(--color-black-15) !important;
    padding: 16px 0 !important;
    margin: 20px;
}
.opc-block-summary .table-totals .mark th {
    color: var(--color-text) !important;
    font-weight: 600 !important;
}
.opc-block-summary .table-totals .label,
.opc-block-summary .table-totals strong,
.opc-block-summary .grand.totals .price {
    font-weight: 600 !important;
    color: var(--color-text) !important;
}
.opc-block-summary .table-totals .value {
    font-weight: 400;
    color: var(--color-black-70);
}
.order-summary
    .opc-block-summary
    table.data.table.table-totals
    tr.totals-tax
    th,
.order-summary
    .opc-block-summary
    table.data.table.table-totals
    tr.totals-tax
    td {
    padding-bottom: 32px !important;
}
/* .payment-group .payment-method:last-of-type, */
.table-checkout-shipping-method tbody tr:first-of-type {
    display: none !important;
}
body.cliente-professionista .payment-group .payment-method:last-of-type,
body.cliente-professionista
    .table-checkout-shipping-method
    tbody
    tr:first-of-type {
    display: flex !important;
    width: 100% !important;
    > div {
        width: 100% !important;
    }
}
/* Nasconde il metodo cashondelivery per i NON professionisti */
body:not(.cliente-professionista)
    .payment-method.hidden-for-non-professionista {
    display: none !important;
}

/* Opzionale: evidenzia per professionisti */
body.cliente-professionista .payment-method.visible-for-professionista {
    border: 2px solid green;
    background-color: #e8f5e9;
}

.payment-group .payment-method.active {
    display: block !important;
}
.checkout-payment-method .payment-method._active .payment-method-content {
    padding-left: 0 !important;
}
.checkout-payment-method
    .payment-method._active
    .payment-method-content.stripe-payments-card-form {
    padding-top: 20px;
}
.checkout-payment-method .payment-method._active .payment-method-content > p {
    padding: 20px 20px;
    margin-top: 16px;
    border: solid 1px rgba(0, 0, 0, 0.08);
    border-radius: 10px;
}
.checkout-payment-method
    .payment-method._active
    .payment-method-content
    > p.stripe-payments-billing-address-warning {
    display: none !important;
}
body .osc-place-order-block.checkout-comment-block {
    background-color: var(--color-grey-light);
    border-radius: var(--radius) !important;
    padding: 26px 16px !important;
    margin-bottom: 32px !important;
    margin-top: 32px !important;
}
body #discount-form input[type="text"] {
    width: 100% !important;
    height: 40px !important;
    border-top-left-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 0 !important;
    border-top-right-radius: 0 !important;
    background-color: var(--color-white) !important;
    border: solid 1px var(--color-black-15) !important;
}
body
    .checkout-container
    button:not(.primary):not(.action-show):not(.action-close):not(
        .edit-address-link
    ):not(.ui-datepicker-trigger) {
    background-color: var(--color-black) !important;
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
    height: 40px !important;
}
body
    .checkout-container
    button:not(.primary):not(.action-show):not(.action-close):not(
        .edit-address-link
    ):not(.ui-datepicker-trigger)
    span {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--color-white) !important;
    width: 100% !important;
}
.osc-newsletter span {
    font-size: 14px !important;
    color: var(--color-black-70) !important;
}
html body .osc-place-order-block .payment-option-inner .control {
    margin: 0 !important;
    width: calc(100% - 200px) !important  ;
}
html
    body
    .osc-place-order-wrapper
    .place-order-primary
    button.primary.checkout {
    background-color: var(--color-black) !important;
    border-radius: 20px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    width: fit-content !important;
    min-width: 300px !important;
    border: none !important;
    height: 40px !important;
}
html
    body
    .osc-place-order-wrapper
    .place-order-primary
    button.primary.checkout
    span {
    font-size: 16px !important;
    font-weight: 400 !important;
}
html body #checkoutSteps #opc-sidebar .actions-toolbar {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: flex-end;
    max-width: 400px;
    float: right;
}
body .osc-place-order-block.checkout-comment-block .actions-toolbar {
    width: 200px;
}
html body #checkoutSteps #opc-sidebar .actions-toolbar > div,
html body #checkoutSteps #opc-sidebar .actions-toolbar > div > * {
    width: 100% !important;
}

#checkout-shipping-method-load {
    .table-checkout-shipping-method {
        tbody {
            display: flex;
            flex-direction: column;
            gap: 16px;
            width: 100%;
            tr {
                display: flex;
                gap: 16px;
                justify-content: flex-start;
                td {
                    white-space: nowrap;
                }
                .col.col-price {
                    width: 100%;
                    text-align: right;
                }
                .col.col-method {
                    padding-left: 0 !important;
                    padding-right: 0 !important;
                }
            }
            .col-carrier {
                font-weight: 400;
            }
        }
    }
}

html body.checkout-index-index .modal-popup .modal-inner-wrap {
    width: 90% !important;
    max-width: 900px;
    min-height: 40vh !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}
html body.checkout-index-index .checkout-agreements-item-content iframe {
    min-height: 40vh !important;
}
@media (min-width: 768px) {
    .fieldset > .field:not(.choice) > .label {
        width: 100%;
    }
}

/* loader */
.loading-mask .loader img {
    display: none;
}

.loading-mask .loader::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--color-green-agricola);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.search.results {
    width: 100%;
}
body.catalogsearch-result-index #amasty-shopby-product-list > .block,
body.catalogsearch-result-index .field.limiter {
    display: none !important;
}

#amasty-shopby-product-list .message {
    margin-top: 85px !important;
}

/* blocchi loggato / NON loggato */
.header-primary > .nav.item.current > strong {
    display: none !important;
}
.box-tocart-patentino {
    display: none;
    position: relative;
    background-color: var(--backgrounds-green-bg);
    color: var(--color-white) !important;
    padding: calc(var(--padding) / 1.5);
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    left: calc((var(--padding) / 1.5) * -1);
    top: calc(var(--padding) / 1.5);
    width: calc(100% + (var(--padding) * 1.35));
    font-size: 14px;
}
.box-tocart-patentino a,
.box-tocart-patentino a:hover,
.box-tocart-patentino a:visited {
    color: var(--color-white);
}
.box-tocart-patentino h4 {
    margin-top: 0;
}
.box-tocart-patentino.active {
    display: block !important;
}
.column.main > .product.info.detailed,
.box-tocart .actions,
.product-info-main .product-social-links {
    display: none !important;
}

/* menu di navigazione */
.custom-nav {
    display: flex;
    width: 100%;
}

.main-nav {
    display: flex;
    list-style: none;
    margin: 0 0 0 20px;
    padding: 0;
    position: relative;
    gap: 13px;
    width: 100%;
}

.nav-item {
    position: relative;
    margin: 0;
    /* Torniamo a relative per controllare meglio */
}

.nav-link {
    display: block;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    position: relative;
    z-index: 1002;
    border-bottom: 2px solid transparent;
}

.custom-nav .nav-link.active {
    /* Stile quando il submenu è visibile */
    color: var(--backgrounds-green-bg); /* Cambia colore a tuo piacimento */
    border-bottom: 2px solid var(--backgrounds-green-bg); /* Opzionale: sottolineatura */
}

/* Se vuoi anche uno stato hover separato */
.custom-nav .nav-link:hover:not(.active) {
    color: var(--backgrounds-green-bg);
    text-decoration: underline;
}

/* Wrapper che estende l'area hover */
.submenu-wrapper {
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 400px;
    /* Altezza sufficiente per contenere il submenu */
    z-index: 1000;
    pointer-events: none;
    /* Permette di cliccare attraverso quando non visibile */
}

/* Area hover estesa che copre lo spazio tra link e submenu */
.hover-area {
    position: absolute;
    top: -50px;
    /* Estende sopra il link */
    left: 0;
    width: 100%;
    height: 70px;
    /* Altezza del "ponte" tra link e submenu */
    background: transparent;
    pointer-events: none;
}

.submenu {
    position: fixed;
    top: 100%;
    left: 0;
    width: 100vw;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    border: 1px solid #ccc;
    z-index: 1000;
    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;
    pointer-events: none;
    /* Default: non interagibile */
}

/* SOLUZIONE 1: Usiamo una classe per gestire lo stato attivo */
.submenu.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* SOLUZIONE 2: Gestione dell'hover con CSS puro (più stabile) */
.nav-item:hover .submenu-wrapper {
    pointer-events: auto;
    /* Attiva l'interazione solo quando necessario */
}

.nav-item:hover .submenu,
.submenu-wrapper:hover .submenu,
.submenu:hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Quando il submenu è visibile, mantieni l'area hover attiva */
.nav-item:hover .hover-area,
.submenu-wrapper:hover .hover-area {
    pointer-events: auto;
}

/* Miglioramento: transizione solo quando si esce, non quando si entra */
.submenu {
    transition:
        opacity 0.1s ease-in,
        visibility 0.1s ease-in;
    /* Entrata rapida */
}

/* Transizione più lenta quando si esce */
.nav-item:not(:hover) .submenu {
    transition:
        opacity 0.3s ease-out 0.1s,
        visibility 0.3s ease-out 0.1s;
    /* Uscita con delay */
}

.submenu-container {
    display: flex;
    width: 100%;
    gap: 20px;
    /* Spazio tra le colonne */
}

.submenu-left {
    flex: 1;
    /* Prende tutto lo spazio disponibile */
    padding: 20px;
    background: #f8f9fa;
    border-right: 1px solid #eee;
    min-width: 0;
    /* Importante per far funzionare il text-overflow */
}

.submenu-right {
    flex: 0 0 auto;
    /* Si adatta al contenuto, non si restringe né cresce */
    padding: 20px;
    background: #fff;
}

.submenu-right .products-grid.grid,
.submenu-right .products-grid.grid .product-items.widget-product-grid {
    width: 100%;
    display: flex;
    margin: 0 var(--padding-laterale) 0 0;
    gap: 16px;
    justify-content: space-between;
}
.submenu-right .products-grid.grid .product-item-details > * {
    display: none;
}
.submenu-right .products-grid.grid .product-item-details > .product-item-name,
.submenu-right .products-grid.grid .product-item-details > .price-box {
    display: block;
    font-size: 12px;
    font-weight: 600;
}
.submenu-right .products-grid.grid .product-item,
.submenu-right .block.widget.block-products-list.grid {
    margin: 0;
}

.submenu-left h4,
.submenu-right h4 {
    color: var(--backgrounds-green-bg);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    width: 100%;
    text-align: center;
    margin: 0 auto var(--padding);
}

.submenu-left ul {
    list-style: none;
    padding: 0;
}

.submenu-left li {
    margin-bottom: 8px;
}

.submenu-left a {
    text-decoration: none;
    padding: 8px 12px;
    display: block;
    font-size: clamp(14px, 1.8vw, 18px);
    font-weight: 600;
}

/* Stile per l'header */
.custom-nav:hover ~ .header-primary,
.header-primary:hover {
    background: #fff !important;
}

.nav-item:hover ~ .header-primary,
.header-primary:has(.nav-item:hover) {
    background: #fff !important;
}

/* Assicurati che il submenu non interferisca con il layout */
.submenu * {
    pointer-events: auto;
}

body.catalog-product-view #maincontent .column.main {
    display: flex;
    flex-wrap: wrap;
}

.btn-filter-close-mobile,
.btn-filter-mobile {
    display: none;
}

.submenu-colture {
    display: flex;
    width: 100%;
    gap: 20px;
    flex-direction: row;
    justify-content: space-between;
    padding: var(--padding) var(--padding-laterale);
}
.submenu-colture > a {
    width: calc(20% - var(--padding));
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: var(--padding);
    display: flex;
    align-items: flex-start;
    aspect-ratio: 250 / 150;
    overflow: hidden;
    border-radius: var(--radius);
    span {
        color: var(--color-white);
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        z-index: 2;
        position: relative;
    }
}
.bg-image-vite {
    background-image: url(../images/bg-image-vite.jpg);
}
.bg-image-frutticole {
    background-image: url(../images/bg-image-frutticole.jpg);
}
.bg-image-frutta-guscio {
    background-image: url(../images/bg-image-frutta-a-guscio.jpg);
}
.bg-image-orticole {
    background-image: url(../images/bg-image-orticole.jpg);
}
.bg-image-seminativi {
    background-image: url(../images/bg-image-seminativi.jpg);
}
/* Overlay per oscurare il contenuto */
.menu-overlay {
    position: fixed;
    top: 75px;
    left: 0;
    width: 100%;
    height: 100vh;
    background: var(--neutrals-black-40, rgba(0, 0, 0, 0.4));
    z-index: 9; /* Un livello sotto il menu ma sopra il contenuto */
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
    pointer-events: none; /* Permette di cliccare attraverso quando nascosto */
}

body.menu-open .menu-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; /* Impedisce clic sul contenuto quando visibile */
}

/* Assicurati che il menu sia sopra l'overlay */
.custom-nav {
    position: relative;
    z-index: 1000; /* Più alto dell'overlay */
}

/* Assicurati che i submenu siano sopra l'overlay */
.submenu-wrapper {
    z-index: 1001;
}

/* form select */

/* Aggiungi questi stili al tuo CSS esistente */

/* Per tutte le select */
select {
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    padding: 6px 12px;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #333;
    width: 100%;
    max-width: 300px;
    box-sizing: border-box;
}

/* Migliora la visualizzazione quando la select è focalizzata */
select:focus {
    border-color: #007bff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
}

/* Per option dentro la select */
option {
    font-family: inherit;
    font-size: 14px;
    padding: 8px;
    background-color: white;
    color: #333;
}

/* Stile specifico per opzioni disabilitate (se presenti) */
option:disabled {
    color: #999;
    background-color: #f8f9fa;
}

/* Migliora la leggibilità su Windows */
select::-ms-expand {
    display: block;
}

/* Per gli elementi select multipli */
select[multiple] {
    min-height: 120px;
    padding: 4px;
}

select[multiple] option {
    padding: 6px 8px;
    margin: 2px 0;
}

.mw-day .label {
    align-items: center;
    gap: 6px;
    > div {
        font-size: 14px !important;
    }
}

/* blocco ricerca home page */
.ricerca-homepage-container {
    margin: 0px 0;
    padding: var(--padding-laterale) 0;
    background: var(--backgrounds-green-bg);
    display: flex;
    flex-direction: row;
    gap: var(--padding);
    align-items: center;
    position: relative;
    width: 100%;
    color: var(--color-white) !important;
    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: 100%;
        background: var(--backgrounds-green-bg);
        z-index: 0;
    }
    > * {
        position: relative;
        z-index: 1;
    }
    .ricerca-header {
        margin-bottom: 0px;
        text-align: center;

        .ricerca-title {
            font-size: clamp(18px, 2.5vw, 24px);
            font-weight: 600;
            color: #ffffff;
            margin: 0;
            white-space: nowrap;
        }
    }

    .ricerca-form {
        width: 100%;
        border: 1px solid var(--color-white-70);
        overflow: hidden;
        border-radius: 20px;
        .ricerca-filters {
            display: flex;
            flex-wrap: wrap;
            gap: 0px;
            justify-content: center;
            align-items: flex-end;

            @media (max-width: 768px) {
                flex-direction: column;
                align-items: stretch;
            }

            .ricerca-filter-group {
                flex: 1;
                min-width: 150px;
                width: 100%;

                @media (max-width: 768px) {
                    max-width: 100%;
                }

                .ricerca-filter-label {
                    display: none !important;
                    margin-bottom: 8px;
                    font-weight: 600;
                    color: var(--color-white);
                    font-size: 14px;
                }

                .ricerca-select-wrapper {
                    position: relative;
                    width: 100%;
                    overflow: hidden;
                    border-radius: 0;
                    .ricerca-select {
                        width: 100%;
                        padding: 6px 15px;
                        border-left: 1px solid var(--color-white-70) !important;
                        background: var(--color-white-15);
                        font-size: 14px;
                        appearance: none;
                        cursor: pointer;
                        border: none;
                        color: var(--color-white);
                        border-radius: 0;

                        &:focus {
                            outline: none;
                            border-color: #1979c3;
                            box-shadow: 0 0 3px rgba(25, 121, 195, 0.3);
                        }
                    }

                    .ricerca-select-arrow {
                        position: absolute;
                        right: 15px;
                        top: 50%;
                        transform: translateY(-50%);
                        color: var(--color-white);
                        pointer-events: none;
                    }
                }

                &.ricerca-filter-submit {
                    min-width: auto;

                    .ricerca-submit {
                        width: 100%;
                        padding: 11px 20px;
                        background: #fff;
                        color: var(--color-text);
                        border: none;
                        font-size: 16px;
                        font-weight: 600;
                        cursor: pointer;
                        position: relative;
                        border-radius: 0;
                    }
                }
            }
        }
    }
}

/* onepage succes */
.checkout-onepage-success {
    .page-title-wrapper {
        width: 100lvw;
        height: 50vh;
        margin-bottom: 0px;
        overflow: hidden;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end !important;
        padding-bottom: 50px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url(../images/cover_checkout.jpg);
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        padding-left: var(--padding-laterale);
        padding-right: var(--padding-laterale);
        .page-title {
            font-size: clamp(32px, 5vw, 50px);
            color: var(--color-white) !important;
            margin: 0 0 20px 0;
            z-index: 2;
            position: relative;
            width: 100%;
            max-width: 1680px;
            margin: 0 auto;
        }
        .action.print {
            display: flex !important;
            flex-direction: row;
            align-items: center;
            justify-content: center;
            height: 38px;
            padding: 0 24px !important;
            border-radius: 20px;
            border: solid 1px transparent !important;
            font-size: 13px !important;
            font-weight: 500 !important;
            white-space: nowrap;
            cursor: pointer !important;
            width: fit-content;
            margin: 0;
            text-decoration: none !important;
            background-color: var(--color-green-agricola);
            color: var(--color-white) !important;
            position: relative;
            z-index: 3;
            float: right !important;
        }
    }
    .checkout-success {
        padding-top: 50px;
        text-align: center;
    }
}

.message.success > *:first-child:before {
    display: none !important;
}

/* 
PREZZI NASCOSTI SE NON SEI LOGGATO
*/
.block-loggato {
    display: none;
}
/* .price-box, */
body.catalog-product-view .product-info-main .box-tocart {
    display: none !important;
}
.registration-link,
.registration-link:hover,
.registration-link:visited {
    text-decoration: underline;
    display: none;
    margin-top: 5px;
    color: rgba(0, 0, 0, 0.4);
    font-size: 15px;
    font-weight: 600;
}
.product-info-main .registration-link {
    margin-top: 30px !important;
}

.products.wrapper ~ .toolbar .limiter {
    display: none !important;
}

.filter-options-content .item > a {
    display: flex;
    gap: 5px;
    .count {
        color: #7d7d7d;
        font-size: 13px;
        position: relative;
        top: 1px;
    }
}

body.customer-account-logoutsuccess .columns .main {
    padding-top: 50px;
}

body.customer-address-index .actions-toolbar > .secondary .action.back {
    border: solid 1px #000 !important;
    background: #000 !important;
}
body.customer-address-index .actions-toolbar > .primary .action > span {
    color: #fff !important;
}

.label_info {
    display: flex;
    flex: 1 1 10%;
    width: 100%;
    margin-top: 15px;
    padding-top: 15px;
    font-size: 13px;
}

/*  supera i 901px */
@media (min-width: 901px) {
    .category-description [data-content-type="row"] {
        overflow: hidden;
    }
    body.catalog-product-view #maincontent {
        margin-top: 150px;
    }
    body.catalog-product-view .product-info-main {
        /* margin-bottom: 50px; */
    }
    .category-footer-bottom > .custom-right-block,
    .category-footer-bottom > p {
        display: none !important;
    }
    .product-info-main {
        height: fit-content !important;
    }
}

.opc-wrapper .shipping-address-items {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.opc-wrapper .shipping-address-item.selected-item:after {
    background-color: var(--color-green-agricola) !important;
}
.opc-wrapper .shipping-address-item.selected-item {
    border-color: var(--color-green-agricola) !important;
}

.message.notice > *:first-child:before {
    display: none !important;
}

/* IUBENDA */
.iubenda-embed.iubenda-black {
    background-color: transparent !important;
    font-weight: 400 !important;
}
.iubenda-embed:not(.no-brand):not(.iubenda-nostyle),
.iubenda-embed.iubenda-black:not(.no-brand):not(.iubenda-nostyle) {
    background-image: none !important;
    font-weight: 400 !important;
}

/* MODAL */
.modal-popup .modal-content {
    padding: 3rem;
}
.modal-popup .modal-footer {
    background-color: #fff;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    justify-content: center;
    .action-secondary {
        width: 100%;
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        height: 38px;
        padding: 0 24px !important;
        border-radius: 20px;
        border: solid 1px transparent !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        white-space: nowrap;
        cursor: pointer !important;
        margin: 0;
        text-decoration: none !important;
        border-color: var(--color-black-15) !important;
        cursor: pointer;
        margin: 0;
        background-color: transparent;
    }
    .action-primary {
        width: 100%;
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        height: 38px;
        padding: 0 24px !important;
        border-radius: 20px;
        border: solid 1px transparent !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        white-space: nowrap;
        cursor: pointer !important;
        margin: 0;
        text-decoration: none !important;
        background-color: var(--color-black) !important;
        color: var(--color-white) !important;
        cursor: pointer;
        margin: 0;
    }
}
.field.field-select-billing > .control > select {
    min-width: 100%;
}

.action.secondary.action-hide-popup {
    width: 100%;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    height: 38px;
    width: fit-content;
    padding: 0 24px !important;
    border-radius: 20px !important;
    border: solid 1px transparent !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    white-space: nowrap;
    cursor: pointer !important;
    margin: 0;
    text-decoration: none !important;
    border-color: var(--color-black-15) !important;
    cursor: pointer;
    margin: 0;
    background-color: transparent;
}

@media (min-width: 1300px) {
    .product-attrs {
        flex-direction: row !important;
        justify-content: space-between;
    }
}

/*  supera i 1680px */
@media (min-width: 1680px) {
    body.catalogsearch-result-index .sidebar-main::before,
    body.catalog-category-view.page-layout-2columns-left .sidebar-main::before,
    body.account .sidebar-main::before {
        display: none;
    }
}

/* mobile */
@media (max-width: 900px) {
    .only-desktop,
    .header-primary > .custom-nav,
    .category-header-right > .custom-left-block,
    .category-header-right > .custom-right-block,
    .category-header-right > p {
        display: none !important;
    }

    .checkout-onepage-success {
        .page-title-wrapper {
            flex-direction: column;
            gap: 30px;
        }
    }

    .hamburger-btn {
        display: flex;
    }
    .header.content {
        display: none;
    }
    .header-primary > .navigation,
    .header-banner {
        display: none !important;
    }

    .header-primary .block-search {
        width: calc(100% + 60px);
        flex: 1 1 calc(100% + 60px);
        order: 10;
        position: relative;
        left: 0;
    }

    .block-search .control {
        border: none !important;
    }

    .header-primary .block-search .action.search,
    .header-primary .block-search .action.search[disabled] {
        position: absolute;
        top: 2px;
        z-index: 2;
        right: -38px;
        border: none;
        background-color: transparent;
        text-indent: -333px;
        display: block;
        overflow: hidden;
        width: 30px;
        height: 30px;
        padding: 0;
    }
    .header-primary .block-search .action.search span {
        display: none !important;
    }

    .header-primary .block-search .control > input {
        max-width: calc(100% + 40px);
        width: calc(100% + 40px);
        position: absolute !important;
        left: 16px;
        top: -57px;
    }

    /* header */
    .page-header {
        position: relative;
        margin: 0;
    }
    .header-primary {
        justify-content: flex-end;
        padding-right: 60px;
        flex-wrap: wrap;
    }
    .header-primary .logo {
        min-width: 150px;
        width: 150px;
        position: absolute;
        top: 12px;
        left: var(--padding);
    }
    .header-primary .minicart-wrapper {
        margin: 0;
    }

    .mobile-menu {
        flex-direction: column;
        justify-content: space-between;
    }
    .mobile-menu-footer {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: var(--padding-laterale) 0 0 0;
        position: relative;
        font-size: 14px;
    }
    .mobile-menu-footer:before {
        content: "";
        display: block;
        width: calc(100% + (var(--padding-laterale) * 2));
        top: 0;
        left: calc(var(--padding-laterale) * -1);
        position: absolute;
        border-top: solid 1px var(--color-black-15);
    }
    .header-primary .link.wishlist {
        display: none !important;
    }
    .main-nav-mobile {
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: var(--padding);
        width: 100%;
    }
    .nav-link-mobile {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        font-size: 18px;
    }
    .ico-less {
        display: none;
    }
    .submenu-mobile {
        display: none;
        flex-direction: column;
        gap: var(--padding);
        width: 100%;
        gap: 10px;
        font-size: 16px !important;
        font-weight: 500;
        padding-left: var(--padding);
        padding-top: var(--padding-laterale);
    }
    .nav-item-mobile > a {
        font-weight: 600;
    }
    .nav-item-mobile.active > a {
        color: var(--backgrounds-green-bg);
    }
    .nav-item-mobile.active .submenu-mobile {
        display: flex;
    }

    /* Gestione delle icone */
    .ico-less {
        display: none;
    }

    .nav-item-mobile.active .ico-plus {
        display: none;
    }

    .nav-item-mobile.active .ico-less {
        display: inline-block;
    }

    /* Quando il menu è attivo, mostra l'icona meno e nascondi quella più */
    .nav-item.active .ico-plus {
        display: none;
    }

    .nav-item.active .ico-less {
        display: block;
    }

    html body .breadcrumbs {
        top: 30px;
    }

    .splash {
        height: 30vh;
        padding-bottom: var(--padding-laterale);
        margin-bottom: var(--padding-laterale);
    }
    .banner-green,
    .banner-contattaci {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px;
        padding: 30px 23px;
        margin-bottom: var(--padding-laterale);
    }
    .banner-green > *:first-child,
    .banner-contattaci > *:first-child {
        flex: 1 1 100%;
    }
    .aside-template .pagebuilder-column:last-of-type {
        border: none;
        padding-left: 0;
    }
    .menu-laterale-select-wrap {
        width: 100vw;
        position: relative;
        left: calc(var(--padding-laterale) * -1);
        background-color: var(--color-green-grey-bg);
        padding: var(--padding);
        margin-bottom: var(--padding-laterale);
    }
    .menu-laterale-select-wrap select {
        width: 100%;
        height: 38px;
        border: solid 1px var(--color-black-15);
        border-radius: 20px;
        background-color: var(--color-white);
        font-size: 13px;
        padding: 0 40px 0 14px;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-image: var(--icon-arrow-down);
        background-repeat: no-repeat;
        background-position: center right 14px;
        background-size: 16px;
        cursor: pointer;
    }

    .cards-grid p {
        font-size: 12px;
    }

    .splash_home {
        min-height: calc(100vh - 125px);
    }
    .splash_home .pagebuilder-column-group {
        height: 80vh;
    }
    .splash_home .pagebuilder-column-group > * {
        font-size: 14px;
    }
    .splash_home .pagebuilder-column .title-50 {
        margin-bottom: var(--padding);
    }

    /* 
    body.cms-home .cards-grid .owl-carousel.owl-drag .owl-item {
        width: 100% !important;
    } */

    body.cms-home .blocco-carosello-prodotti.bg-grey-albese {
        margin-bottom: 0 !important;
    }

    .banner-default-transparent .blocco-valori-link {
        padding-top: 20px !important;
    }

    /* blog */
    main#maincontent {
        padding-top: 0 !important;
        width: 100vw;
    }
    .mpblog-category-strip__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .container-link-categoria {
        width: 100%;
    }
    .container-link-categoria a,
    .container-link-categoria a:hover,
    .container-link-categoria a:visited {
        padding: 8px 16px;
        font-size: 12px;
        width: 100%;
    }
    .post-list-body .item,
    .post-list-body .item .post-image-overlay,
    .post-list-body .item .overlay,
    .post-list-body .item .meta-overlay,
    .post-list-body-related .item,
    .post-list-body-related .item .post-image-overlay,
    .post-list-body-related .item .overlay,
    .post-list-body-related .item .meta-overlay {
        aspect-ratio: 343/204;
    }
    .post-list-body .item:first-of-type,
    .post-list-body .item:first-of-type .post-image-overlay,
    .post-list-body .item:first-of-type .overlay,
    .post-list-body .item:first-of-type .meta-overlay,
    .post-list-body-related .item:first-of-type,
    .post-list-body-related .item:first-of-type .post-image-overlay,
    .post-list-body-related .item:first-of-type .overlay,
    .post-list-body-related .item:first-of-type .meta-overlay {
        aspect-ratio: 343/343;
    }

    .post-list-body,
    .post-list-body-related {
        gap: var(--padding);
        grid-template-columns: 1fr;
        margin: var(--padding) auto;
    }
    .post-list-body-related {
        display: flex;
        flex-direction: column;
    }
    .post-list-body .item .mp-post-title,
    .post-list-body .item h2 {
        font-size: 15px;
    }
    .post-list-body .item .mp-post-cat {
        font-size: 11px;
        padding: 5px 9px;
    }

    .banner-nl,
    .banner-nl-container {
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }
    .banner-nl-container {
        padding: 26px;
    }
    .banner-nl > * {
        width: 100% !important;
    }
    .post-post_content iframe {
        width: 100% !important;
    }
    body.mpblog-post-view .page-title-wrapper {
        padding: 100px 0 300px;
    }
    .mpblog-post-meta {
        top: 0;
        justify-content: flex-start;
    }
    .mp-blog-view {
        margin-top: -200px;
    }
    body.mpblog-post-view .page-title-wrapper .page-title span {
        padding-right: 0;
    }
    .mp-blog-view:before {
        top: 200px;
        height: calc(100% - 200px);
    }
    .post-post_content {
        padding-left: 0;
        padding-right: 0;
    }

    .blocco-valori-cards-container,
    .blocco-doppio > div {
        flex-direction: column;
    }
    .blocco-doppio > div > div {
        width: 100% !important;
        flex: 1 1 100% !important;
        padding: 0;
    }
    .blocco-doppio > div > div.bg-column {
        aspect-ratio: 1/1;
        margin-top: var(--padding);
    }

    .blocco-2-cards,
    .blocco-valori-link,
    .blocco-4-container {
        flex-direction: column;
    }
    .blocco-2-card {
        width: 100% !important;
        flex: 1 1 100% !important;
        margin-top: var(--padding);
        padding: 20vh var(--padding-laterale) var(--padding);
    }
    .blocco-valori-link {
        border-top: solid 1px var(--color-white-15);
        padding-top: 30px;
        margin-top: 30px;
        margin-bottom: var(--padding);
    }
    .blocco-valori-link a {
        width: 100% !important;
    }
    .banner-default {
        margin-top: 50px;
    }
    .blocco-doppio-card {
        padding-left: 0;
        padding-right: 0;
    }

    .meteo-hero {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .meteo-container-hero {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: var(--padding) !important;
    }

    .blocco-full-bg > * {
        padding-top: 50px;
    }
    .bg-blocco-login .blocco-doppio-card {
        flex-direction: column;
        gap: 50px;
        margin-top: 5vh;
    }
    .bg-blocco-login .blocco-doppio-card > div {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        &.banner-default-transparent {
            gap: 0;
            padding-top: calc(var(--padding-laterale) * 2);
        }
    }
    .wx-wrap {
        padding: 0;
    }

    /* pagina prodotto */
    html body.catalog-product-view .breadcrumbs {
        position: relative;
        top: 0;
        margin: 16px 0;
    }
    .catalog-product-view .columns .column.main {
        margin-top: 16px;
    }
    .breadcrumbs .items li,
    .breadcrumbs .items li a {
        color: var(--color-black-40) !important;
    }
    .product.media,
    .info-section,
    .catalog-product-view .product.media,
    .product-info-main,
    .gallery-section {
        width: 100% !important;
        max-width: 100% !important;
    }
    .product-info-main {
        margin: 30px 0 15px;
        padding-top: 30px;
    }
    .catalog-product-view .columns .column.main,
    .gallery-layout {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .product-custom__grid {
        flex-wrap: wrap;
        padding-top: 30px;
    }
    .product-info-main .box-tocart {
        padding-bottom: 10px;
    }
    .box-tocart-patentino {
        padding-top: 30px;
    }
    .product-custom__item {
        width: calc(50% - 8px);
    }
    .product-custom__cta {
        flex-direction: column;
        margin-bottom: 30px;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .product.attribute.description {
        padding-bottom: 30px;
    }
    .blocco-specifiche-prodotto .tabs-navigation {
        gap: 6px;
        width: 100vw;
        position: relative;
        left: calc(var(--padding-laterale) * -1);
        top: calc(var(--padding-laterale) * -1);
    }
    div[data-content-type="tabs"] .tabs-navigation li.tab-header a.tab-title {
        padding-left: 2px;
        padding-right: 2px;
    }
    .tabs-navigation li .tab-title {
        font-size: 12px;
    }

    .blocco-acquistati-insieme-prodotti
        .owl-item
        .product-item
        .product-item-inner {
        display: block !important;
    }

    .blocco-acquistati-insieme-prodotti {
        margin-bottom: var(--padding-laterale);
    }

    .custom-accordion-layout,
    .blocco-card-item {
        flex-direction: column;
    }
    .accordion-sidebar {
        width: 100%;
    }
    .accordion-body table tbody tr {
        display: grid;
    }
    .accordion-body .pagebuilder-column [data-content-type="heading"] {
        display: none !important;
    }

    /* login */
    .login-container {
        flex-direction: column;
    }
    .block-customer-login,
    .block-new-customer,
    .card-crea-account {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }
    .block-customer-login {
        padding: 0 0 var(--padding-top-bottom) !important;
    }
    .card-crea-account {
        padding: calc(var(--padding-laterale) * 2) var(--padding-laterale);
    }

    /* area riservata */
    body.account #maincontent.page-main,
    .account.customer-account-index #maincontent.page-main {
        margin-top: var(--padding-top-bottom);
    }
    .columns .sidebar-main {
        order: 0;
        position: relative;
    }
    body.account .sidebar-main::before,
    body.catalog-category-view.page-layout-2columns-left .sidebar-main::before {
        width: 100vw;
        top: 0px;
    }
    body.account .sidebar-main,
    body.catalog-category-view.page-layout-2columns-left .sidebar-main {
        top: -60px;
        padding-left: 0;
        padding-right: 0;
    }
    body.account .sidebar-main > *,
    body.catalog-category-view.page-layout-2columns-left .sidebar-main > * {
        margin-bottom: 0;
    }
    .block-collapsible-nav .title {
        padding: 10px 0;
    }
    .block-collapsible-nav .title:after {
        top: 6px;
        right: 0px;
    }
    .block-collapsible-nav {
        top: 0;
    }
    body.account.sales-order-view .column.main .page-title-wrapper {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: nowrap;
    }
    .actions-toolbar > .primary,
    .actions-toolbar > .secondary,
    .actions-toolbar > .secondary .action > span,
    .actions-toolbar > .primary .action > span {
        width: 100%;
    }
    .actions-toolbar > .primary .action > span {
        color: var(--color-white) !important;
    }
    .wishlist-index-index .main .form-wishlist-items .actions-toolbar,
    form.form-address-edit .fieldset {
        flex-direction: column;
    }
    form.form-address-edit .fieldset > * {
        flex: 1 1 100%;
        width: 100%;
    }

    /* account form */
    fieldset.profile .control {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .form.create.account.form-create-account.wrapper-container-login
        .fieldset:not(.profile)
        .field {
        width: 100%;
    }
    .form.create.account.form-create-account.wrapper-container-login
        .actions-toolbar {
        flex-direction: column;
        gap: var(--padding);
    }
    .form.create.account.form-create-account.wrapper-container-login
        .actions-toolbar
        div,
    .form.create.account.form-create-account.wrapper-container-login
        .actions-toolbar
        div
        button {
        min-width: 100%;
    }
    .wrapper-container-login,
    .form.create.account {
        padding-left: 0;
        padding-right: 0;
    }
    .form.create.account.form-create-account.wrapper-container-login
        .actions-toolbar
        .secondary {
        text-align: center;
        align-items: center;
        justify-content: center;
        display: flex;
    }

    /* popup */
    .container-overlay-contattaci {
        width: calc(100% - (var(--padding-laterale) * 2));
    }
    .box-overlay-contattaci {
        width: 100%;
        max-width: 408px;
    }

    .blocco-full-bg::before {
        background-image: url(../images/bg-locco-login-mobile.jpg);
    }
    .blocco-full-bg::after {
        background:
            linear-gradient(
                0deg,
                rgba(0, 0, 0, 0.1) 0%,
                rgba(0, 0, 0, 0.1) 100%
            ),
            linear-gradient(180deg, rgba(0, 0, 0, 0) 61.19%, #000 100%),
            linear-gradient(
                349deg,
                rgba(0, 0, 0, 0) 61.48%,
                rgba(0, 0, 0, 0.4) 77.9%
            );
        content: "";
        position: absolute;
        top: 0;
        left: calc(var(--padding) * -1);
        width: 100vw;
        height: 100%;
        z-index: 1;
    }
    .blocco-carosello-prodotti {
        margin-top: var(--padding-top-bottom);
    }
    #amasty-shopby-product-list
        > .toolbar-products:nth-child(3)
        .field.limiter {
        display: none;
    }
    .category-header-right {
        max-width: 100%;
    }

    /* pagina categoria */
    html body.catalog-category-view .pagebuilder-slider.slick-slider {
        display: none;
    }
    body.catalog-product-view #maincontent .column.main {
        padding-bottom: 0;
    }
    html body .category-header-container .category-header-left {
        width: 100%;
        padding-right: 0 !important;
    }
    .blocco-valori,
    .blocco-full-bg,
    .banner-nl {
        margin-top: 30px;
    }

    html
        body
        .category-header-container
        .category-description
        .category-description
        [data-content-type="row"] {
        overflow-x: visible;
    }

    .blocco-link-pagina-categoria {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding: 15px var(--padding-laterale);
        gap: 10px;
        justify-content: flex-start;
        flex-wrap: nowrap;

        /* Nasconde la scrollbar su tutti i browser */
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE e Edge */

        /* Chrome, Safari e Opera */
        &::-webkit-scrollbar {
            display: none;
        }

        margin-bottom: 10px;
        width: 100vw;
        left: calc(var(--padding-laterale) * -1);
        position: relative;
    }
    .blocco-link-pagina-categoria [data-content-type="buttons"]:first-of-type {
        padding-left: var(--padding);
    }

    .blocco-link-pagina-categoria::-webkit-scrollbar {
        height: 6px;
    }

    .blocco-link-pagina-categoria::-webkit-scrollbar-track {
        background: transparent;
        border-radius: 10px;
    }

    .blocco-link-pagina-categoria::-webkit-scrollbar-thumb {
        background: transparent;
        border-radius: 10px;
    }

    .blocco-link-pagina-categoria [data-content-type="buttons"] {
        flex: 0 0 auto;
        scroll-snap-align: start;
        width: auto;
    }

    /* pagina prodotto */
    .blocco-cards {
        flex-direction: column;
    }
    .blocco-cards > * {
        width: 100%;
    }
    .info-section {
        padding-right: 0 !important;
    }

    /* Indicatori di scroll (opzionale) */
    .blocco-link-pagina-categoria::after {
        content: "";
        min-width: 10px;
        height: 1px;
    }

    body.catalog-category-view.page-layout-2columns-left .sidebar-main {
        position: fixed;
        z-index: 10;
        width: 100% !important;
        height: 100% !important;
        top: 0;
        left: 0;
        padding: 20px;
        margin-top: 0;
        overflow-y: scroll;
        display: none;
        border-radius: 0 !important;
    }

    .btn-filter-mobile {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        height: 54px;
        border-radius: var(--radius);
        background-color: var(--color-green-grey-bg);
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        padding-left: var(--padding);
        padding-right: var(--padding);
        margin-top: 20px;
    }
    .btn-filter-close-mobile {
        display: none;
        position: fixed;
        z-index: 20;
        top: var(--padding);
        right: var(--padding);
        width: 23px;
        height: 23px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
    }

    .btn-filter-close-mobile::before,
    .btn-filter-close-mobile::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 2px; /* Spessore della X */
        background-color: #000; /* Colore della X */
        transform-origin: center;
    }

    .btn-filter-close-mobile::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .btn-filter-close-mobile::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
    html body.active-filter-mobile .btn-filter-close-mobile {
        display: block;
    }
    html body.active-filter-mobile.catalog-category-view .sidebar-main {
        display: block;
    }
    html body.active-filter-mobile.catalog-category-view {
        overflow-y: hidden;
    }

    /* footer */
    footer ul {
        gap: 20px;
    }
    footer ul li {
        width: calc(50% - 20px);
    }

    .footer-end {
        flex-direction: column;
        gap: 14px;
        padding-top: calc(var(--padding) * 2);
        padding-bottom: calc(var(--padding) * 2);
    }
    .footer-end-link {
        gap: 16px;
    }
    .footer-end > div {
        width: 100%;
        justify-content: center;
    }
    footer ul {
        padding-top: 30px;
    }

    /* Aggiungi al tuo CSS */
    .owl-carousel .owl-item {
        min-width: 0 !important;
    }
    .js-products-carousel .block.widget .products-grid .product-item {
        width: 100% !important;
    }

    .js-products-carousel .product-items.owl-carousel {
        display: block;
    }

    /* ricerca home page */
    .ricerca-homepage-container {
        flex-direction: column;
        gap: var(--padding);
        padding-top: 30px;
        padding-bottom: 30px;
        & .ricerca-form {
            border: solid 1px var(--color-white-70);
            border-radius: 20px;
            overflow: hidden;
            & .ricerca-filters {
                & .ricerca-filter-group {
                    & .ricerca-select-wrapper {
                        border-top: 0;
                        border-bottom: 0;
                        .ricerca-select {
                            border-bottom: 1px solid var(--color-white-70);
                            border-left: none !important;
                        }
                    }
                }
            }
        }
    }
}
