.mdw-menu-145 {
    --gg-void:          #080604;
    --gg-tabacco:       #1E1510;
    --gg-pergamena:     #FAF6EF;
    --gg-pergamena-w:   #FAF0E8;
    --gg-oro:           #B8935A;
    --gg-oro-light:     #D4AA72;
    --gg-argilla:       #C4724A;
    --gg-argilla-dark:  #8B4228;
    --gg-taupe:         #7A6650;
    --gg-lino:          #EDE4D6;
    --gg-tx-l1:         #FAF6EF;
    --gg-tx-l2:         #96938E;
    --gg-tx-l3:         #7C7974;
    --gg-border-light:  rgba(30,21,16,.08);
    --gg-border-gold:   rgba(184,147,90,.15);
    --gg-border-terra:  rgba(196,114,74,.2);
    --mobile-border-color: #2b3530;
    --gg-ease:          cubic-bezier(.22,1,.36,1);
    --gg-ease-mdw:      cubic-bezier(.24,.43,.15,.97);
}

body.menu-active {
    overflow: hidden;
}

html:not(.elementor-html) .mdw-menu-145 .elementor-widget-html {
    display: none;
}

.mdw-menu-145 a:focus {
    outline: none;
}

.mdw-menu-145-open {
    cursor: pointer;
}

.mdw-menu-145-open .elementor-divider-separator {
    transition: 0.7s var(--gg-ease-mdw);
}

.mdw-menu-145-open .elementor-widget-divider:nth-child(2) .elementor-divider-separator {
    transition-delay: 0.08s;
}
.mdw-menu-145-open .elementor-widget-divider:nth-child(3) .elementor-divider-separator {
    transition-delay: 0.16s;
}

.mdw-menu-145-open .elementor-widget-divider:nth-child(3) {
    width: 60% !important;
    transition: width 0.7s var(--gg-ease-mdw) 0.16s;
}

.mdw-menu-145-open .elementor-divider-separator::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--gg-oro-light);
    right: calc(100% + 20px);
    top: calc(-1 * var(--divider-border-width, 1px));
    transition: transform 0.7s var(--gg-ease-mdw);
}
.mdw-menu-145-open .elementor-widget-divider:nth-child(2) .elementor-divider-separator::before {
    transition-delay: 0.08s;
}
.mdw-menu-145-open .elementor-widget-divider:nth-child(3) .elementor-divider-separator::before {
    transition-delay: 0.16s;
}

.mdw-menu-145-open:hover .elementor-divider-separator {
    transform: translateX(calc(100% + 20px));
}

html.elementor-html .mdw-menu-145-main {
    top: 90px !important;
}

html.elementor-html body:not([class*="elementor_library"]) .mdw-menu-145-main,
html:not(.elementor-html) .mdw-menu-145-main {
    clip-path: inset(100% 0 0 0);
    will-change: clip-path;
    transition: 0s !important;
}

body.menu-active .mdw-menu-145-main {
    clip-path: inset(0%);
    transition: clip-path 0.85s cubic-bezier(0.4, 0, 0.01, 1) !important;
}

body.menu-closing .mdw-menu-145-main {
    clip-path: inset(0 0 100% 0);
    transition: clip-path 0.85s cubic-bezier(0.4, 0, 0.01, 1) !important;
}

.mdw-menu-145-content {
    height: var(--min-height, 100vh);
    scrollbar-width: none;
    -ms-overflow-style: none;
    overflow-y: auto;
    background: var(--gg-pergamena-w);
}
.mdw-menu-145-content::-webkit-scrollbar {
    display: none;
}
.mdw-menu-145-content > .e-con {
    max-width: 100%;
}

html:not(.elementor-html) .mdw-menu-145-content > .e-con > *:not(.mdw-menu-145-links) {
    transform: translateY(24px);
    opacity: 0;
}
body.menu-active .mdw-menu-145-content > .e-con > *:not(.mdw-menu-145-links) {
    transform: translateY(0);
    opacity: 1;
    transition: 0.7s var(--gg-ease) calc(var(--d, 0) * 0.08s);
}

.mdw-menu-145-close {
    cursor: pointer;
}

.mdw-menu-145-close .elementor-widget-divider {
    max-width: unset !important;
    width: 141.4%;
}
.mdw-menu-145-close .elementor-widget-divider:nth-child(1) {
    transform: rotate(45deg);
    transform-origin: top left;
}
.mdw-menu-145-close .elementor-widget-divider:nth-child(2) {
    transform: rotate(-45deg);
    transform-origin: bottom left;
}

.mdw-menu-145-close .elementor-divider-separator {
    transition: 0.7s var(--gg-ease-mdw);
}
.mdw-menu-145-close .elementor-widget-divider:nth-child(2) .elementor-divider-separator {
    transition-delay: 0.08s;
}

.mdw-menu-145-close .elementor-divider-separator::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--divider-color, var(--gg-tabacco));
    right: calc(100% + 20px);
    top: 0;
}
.mdw-menu-145-close .elementor-widget-divider:nth-child(2) .elementor-divider-separator::before {
    right: unset;
    left: calc(100% + 20px);
}

.mdw-menu-145-close:hover .elementor-divider-separator {
    transform: translateX(calc(100% + 20px));
}
.mdw-menu-145-close:hover .elementor-widget-divider:nth-child(2) .elementor-divider-separator {
    transform: translateX(calc(-100% - 20px));
}

.mdw-menu-145-content .gg-menu-section-label .elementor-heading-title,
.mdw-menu-145-content .gg-section-label {
    font-family: 'Jost', sans-serif !important;
    font-size: 8px !important;
    font-weight: 400 !important;
    letter-spacing: .3em !important;
    text-transform: uppercase !important;
    color: rgba(30,21,16,.3) !important;
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}
.mdw-menu-145-content .gg-menu-section-label .elementor-heading-title::after,
.mdw-menu-145-content .gg-section-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(30,21,16,.1);
}

.mdw-menu-145-bottom .elementor-heading-title {
    position: relative;
}
.mdw-menu-145-bottom .elementor-heading-title::before {
    content: "";
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.7s var(--gg-ease-mdw);
}
.mdw-menu-145-bottom .elementor-heading-title:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.mdw-menu-145-links .elementor-nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

html:not(.elementor-html) .mdw-menu-145-links .elementor-nav-menu > .menu-item {
    transform: translateY(24px);
    opacity: 0;
}
body.menu-active .mdw-menu-145-links .elementor-nav-menu > .menu-item {
    transform: translateY(0);
    opacity: 1;
    transition: 0.7s var(--gg-ease) calc(var(--d, 0) * 0.08s);
}

.mdw-menu-145-links .elementor-nav-menu > .menu-item.mdw-active .elementor-icon-list-text,
.mdw-menu-145-links .elementor-nav-menu > .menu-item.current-menu-item > a {
    color: var(--gg-argilla) !important;
    position: relative;
}
.mdw-menu-145-links .elementor-nav-menu > .menu-item.current-menu-item > a::after {
    width: 100% !important;
    background: var(--gg-argilla);
}

.mdw-menu-145-links .elementor-nav-menu > .menu-item > a {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 10px 0;
    text-decoration: none;
    border-bottom: 1px solid var(--gg-border-light);
    position: relative;
    overflow: hidden;
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 300;
    color: var(--gg-tabacco);
    line-height: 1;
    letter-spacing: -.015em;
    transition: color 0.35s;
}

.mdw-menu-145-links .elementor-nav-menu > .menu-item > a .gg-link-text {
    display: inline-block;
    transition: transform 0.5s var(--gg-ease);
}
.mdw-menu-145-links .elementor-nav-menu > .menu-item:not(.current-menu-item) > a:hover .gg-link-text {
    transform: translateX(20px);
}

.mdw-menu-145-links .elementor-nav-menu > .menu-item > a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    height: 1px;
    width: 14px;
    background: var(--gg-argilla);
    transform: translateY(-50%) translateX(-20px);
    opacity: 0;
    transition: transform 0.5s var(--gg-ease), opacity 0.4s;
}
.mdw-menu-145-links .elementor-nav-menu > .menu-item:not(.current-menu-item) > a:hover::before {
    transform: translateY(-50%) translateX(0);
    opacity: 1;
}

.mdw-menu-145-links .elementor-nav-menu > .menu-item > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 0;
    background: var(--gg-argilla);
    transition: width 0.55s var(--gg-ease);
}
.mdw-menu-145-links .elementor-nav-menu > .menu-item > a:hover::after {
    width: 100%;
}
.mdw-menu-145-links .elementor-nav-menu > .menu-item > a:hover {
    color: var(--gg-argilla);
}

.gg-nav-badge {
    font-family: 'Jost', sans-serif;
    font-size: 7px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--gg-oro);
    background: rgba(184,147,90,.1);
    border: 1px solid rgba(184,147,90,.18);
    padding: 3px 8px;
    margin-left: 12px;
    align-self: center;
    flex-shrink: 0;
    transition: color 0.3s, background 0.3s, border-color 0.3s;
}
.gg-nav-badge.new,
.badge-lab .gg-nav-badge {
    color: var(--gg-argilla);
    background: rgba(196,114,74,.08);
    border-color: rgba(196,114,74,.18);
}
.mdw-menu-145-links .elementor-nav-menu > .menu-item > a:hover .gg-nav-badge {
    color: var(--gg-argilla);
    background: rgba(196,114,74,.08);
    border-color: rgba(196,114,74,.2);
}

html:not(.elementor-html) .mdw-menu-145-sub,
html:not(.elementor-html) .gg-menu-sub {
    transform: translateY(16px);
    opacity: 0;
}
body.menu-active .mdw-menu-145-sub,
body.menu-active .gg-menu-sub {
    transform: translateY(0);
    opacity: 1;
    transition: 0.65s var(--gg-ease) calc(var(--d, 5) * 0.08s + 0.1s);
}

.mdw-menu-145-sub ul,
.gg-menu-sub-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mdw-menu-145-sub li,
.gg-menu-sub-list li {
    border-bottom: 1px solid rgba(30,21,16,.05);
}

.mdw-menu-145-sub a,
.gg-menu-sub-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    text-decoration: none;
    font-family: 'Jost', sans-serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(30,21,16,.45);
    transition: color 0.3s;
}
.mdw-menu-145-sub a::before,
.gg-menu-sub-list a::before {
    content: '';
    width: 12px;
    height: 1px;
    background: rgba(30,21,16,.2);
    flex-shrink: 0;
    transition: width 0.4s var(--gg-ease), background 0.3s;
}
.mdw-menu-145-sub a:hover,
.gg-menu-sub-list a:hover {
    color: var(--gg-argilla);
}
.mdw-menu-145-sub a:hover::before,
.gg-menu-sub-list a:hover::before {
    width: 22px;
    background: var(--gg-argilla);
}

.gg-menu-contact {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.gg-menu-contact a {
    font-family: 'Jost', sans-serif;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: .04em;
    color: rgba(30,21,16,.55);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s;
}
.gg-menu-contact a::before {
    content: '';
    width: 10px;
    height: 1px;
    background: var(--gg-oro);
    flex-shrink: 0;
}
.gg-menu-contact a:hover {
    color: var(--gg-argilla);
}

.mdw-menu-145-content .elementor-social-icons-wrapper {
    gap: 8px !important;
}
.mdw-menu-145-content .elementor-social-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 0 !important;
    border: 1px solid rgba(30,21,16,.15) !important;
    background: transparent !important;
    color: rgba(30,21,16,.4) !important;
    transition: border-color .3s, color .3s, background .3s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.mdw-menu-145-content .elementor-social-icon:hover {
    border-color: var(--gg-argilla) !important;
    color: var(--gg-argilla) !important;
    background: rgba(196,114,74,.06) !important;
}
.mdw-menu-145-content .elementor-social-icon i,
.mdw-menu-145-content .elementor-social-icon svg {
    font-size: 12px !important;
    color: inherit !important;
    fill: currentColor !important;
}

.gg-menu-footer {
    padding-top: 20px;
    border-top: 1px solid rgba(30,21,16,.07);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.gg-menu-footer-links {
    display: flex;
    gap: 16px;
}
.gg-menu-footer-links a {
    font-family: 'Jost', sans-serif;
    font-size: 8px;
    font-weight: 400;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(30,21,16,.28);
    text-decoration: none;
    transition: color 0.3s;
}
.gg-menu-footer-links a:hover {
    color: var(--gg-argilla);
}
.gg-menu-footer-brand {
    font-family: 'Cormorant Garamond', serif;
    font-size: 10px;
    font-style: italic;
    color: rgba(30,21,16,.18);
    letter-spacing: .04em;
}

html:not(.elementor-html) .mdw-menu-145-images:not(.mdw-menu-145-show-images),
html.elementor-html .mdw-menu-145-show-images {
    display: none;
}

.mdw-menu-145-show-images {
    position: relative;
    overflow: hidden;
    background: linear-gradient(155deg, #2A1208 0%, #1A0C06 40%, #3D1A08 100%);
}

.mdw-menu-145-show-images .elementor-widget-image.gg-img-src {
    display: none !important;
}

.mdw-menu-145-show-images .elementor-widget-image {
    clip-path: inset(100% 0 0 0);
    transition: clip-path 0.6s var(--gg-ease);
    position: absolute;
    inset: 0;
}

.mdw-menu-145-show-images .elementor-widget-image.mdw-showing {
    clip-path: inset(0 0 0 0);
}

.mdw-menu-145-show-images img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    transition: transform 1.3s var(--gg-ease);
}
.mdw-menu-145-show-images .elementor-widget-image.mdw-showing img {
    transform: scale(1);
}

.gg-menu-visual-claim {
    position: absolute;
    bottom: 44px;
    left: 44px;
    right: 44px;
    z-index: 10;
    pointer-events: none;
}
.gg-menu-visual-claim-txt {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(22px, 2.4vw, 34px);
    font-weight: 300;
    line-height: 1.1;
    color: var(--gg-pergamena);
    letter-spacing: -.015em;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s 0.5s var(--gg-ease), transform 0.7s 0.5s var(--gg-ease);
}
body.menu-active .gg-menu-visual-claim-txt {
    opacity: 1;
    transform: none;
}
.gg-menu-visual-claim-txt em {
    font-style: italic;
    color: var(--gg-oro-light);
}
.gg-menu-visual-claim-tag {
    margin-top: 12px;
    font-family: 'Jost', sans-serif;
    font-size: 8px;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: rgba(250,246,239,.32);
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 0;
    transition: opacity 0.5s 0.65s;
}
body.menu-active .gg-menu-visual-claim-tag {
    opacity: 1;
}
.gg-menu-visual-claim-tag::before {
    content: '';
    width: 16px;
    height: 1px;
    background: rgba(184,147,90,.4);
}

@media (max-width: 1400px) and (min-width: 768px) {
    .mdw-menu-145-content > .e-con {
        width: 590px;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item > a {
        font-size: 32px;
        padding: 9px 0;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item:not(:first-child) {
        margin-block-start: 0 !important;
    }
}

@media (max-width: 767px) {
    .mdw-menu-145-images {
        display: none !important;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item,
    .mdw-menu-145-links .elementor-nav-menu > .menu-item a {
        justify-content: space-between;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item:last-child {
        padding-bottom: 10px !important;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item:not(.current-menu-item) > a:hover .gg-link-text {
        transform: none;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item > a::before {
        display: none;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item::before,
    .mdw-menu-145-links .elementor-nav-menu > .menu-item::after {
        content: "";
        position: absolute;
        height: 1px;
        width: 100%;
        background: var(--mobile-border-color);
        bottom: 0;
        transform-origin: right;
        transition: transform 0.7s var(--gg-ease-mdw);
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item::before {
        opacity: 0.5;
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item::after {
        transform: scaleX(0);
        background: var(--gg-argilla);
    }
    .mdw-menu-145-links .elementor-nav-menu > .menu-item:hover::after {
        transform: scaleX(1);
        transform-origin: left;
    }
}

html.elementor-html .mdw-menu-145-links .elementor-nav-menu > .menu-item,
html.elementor-html .mdw-menu-145-content > .e-con > * {
    opacity: 1 !important;
    transform: none !important;
}

html.elementor-html .mdw-menu-145-show-images {
    display: block !important;
}
html.elementor-html .mdw-menu-145-show-images .elementor-widget-image {
    clip-path: none !important;
    position: relative !important;
}
html.elementor-html .mdw-menu-145-show-images img {
    transform: none !important;
}

/* ── Taxonomy filter: scroll orizzontale su Safari iOS ── */
.elementor-widget-taxonomy-filter search.e-filter {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pinch-zoom;
    scrollbar-width: none;
}
.elementor-widget-taxonomy-filter search.e-filter::-webkit-scrollbar {
    display: none;
}
html:not(.elementor-html) .mdw-menu-145-main {
    pointer-events: none;
}
body.menu-active .mdw-menu-145-main {
    pointer-events: auto;
}