/* MM Cart Drawer 1.0.6 — caricamento AJAX senza variazioni di opacità. */

/* Evitiamo di modificare padding/width di #et-top-navigation e dei dropdown. */
#mmwcd-fallback { display: none !important; }

/* Header Divi 4 standard: su desktop sostituiamo l'icona nativa nel suo posto. */
#main-header #et-top-navigation > .mmwcd-trigger.mmwcd-in-desktop-header {
    position: relative !important;
    vertical-align: middle;
    margin: 0 0 0 12px !important;
    /* Divi allinea l'icona al baseline del menu: piccolo offset senza cambiare navigazione. */
    transform: translateY(-7px) !important;
    z-index: 30;
}

/* Mobile Divi 4: il carrello va all'estrema destra.
   Spostiamo SOLTANTO il pulsante hamburger verso sinistra: non tocchiamo
   il contenitore #et-top-navigation, ne' le dimensioni del dropdown. */
@media (max-width: 980px) {
    #main-header .container.et_menu_container { position: relative; }

    #main-header .container.et_menu_container > .mmwcd-trigger.mmwcd-in-mobile-header,
    #main-header .container > .mmwcd-trigger.mmwcd-in-mobile-header {
        position: absolute !important;
        top: 50% !important;
        right: 2px !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        z-index: 999 !important;
    }

    /* Il click sull'hamburger segue il suo elemento: dropdown invariato. */
    #main-header.mmwcd-mobile-layout #et_mobile_nav_menu .mobile_menu_bar {
        position: relative;
        right: 43px;
    }

    /* Divi può mostrare anche la sua icona nativa sul mobile.
       La nascondiamo solo quando il trigger MM è stato montato. */
    #main-header.mmwcd-mobile-layout a.et-cart-info {
        display: none !important;
    }
}

/* Se il sito usa invece un Global Header Divi, la posizione si adatta
   al controllo carrello nativo quando disponibile. */
.et-l--header .mmwcd-trigger.mmwcd-in-global-header {
    position: relative;
    flex: 0 0 auto;
    margin-left: 12px !important;
}

#mmwcd-trigger.mmwcd-trigger {
    position: relative;
    appearance: none; -webkit-appearance: none;
    border: 0 !important; background: transparent !important; color: #fff !important;
    width: 35px; height: 35px; padding: 5px !important; border-radius: 4px !important;
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: none !important; line-height: 1 !important;
    transition: opacity .2s ease; z-index: 9;
}
#mmwcd-trigger.mmwcd-trigger:hover { opacity: .82; }
#mmwcd-trigger.mmwcd-trigger::before, #mmwcd-trigger.mmwcd-trigger::after { display: none !important; content: none !important; }
#mmwcd-trigger.mmwcd-trigger:focus-visible { outline: 2px solid #0082ed !important; outline-offset: 2px; }
#mmwcd-trigger .mmwcd-trigger-icon {
    display: block !important; width: 23px; height: 23px;
    object-fit: contain; max-width: none; flex: 0 0 auto;
    visibility: visible !important; opacity: 1 !important;
}
/* Non far scomparire il carrello SVG per gli stili generici del tema. */
#mmwcd-trigger svg.mmwcd-trigger-icon {
    fill: none !important; stroke: var(--mmwcd-default-icon-color, #ffffff) !important;
    overflow: visible !important;
}
#mmwcd-trigger svg.mmwcd-trigger-icon path,
#mmwcd-trigger svg.mmwcd-trigger-icon circle {
    fill: none !important; stroke: var(--mmwcd-default-icon-color, #ffffff) !important;
}
.mmwcd-counter {
    position: absolute; right: -6px; top: -5px; display: flex; align-items: center; justify-content: center;
    min-width: 17px; height: 17px; padding: 0 4px;
    border-radius: 20px; background: #0082ed; color: #fff;
    font: 600 10px/1 Arial, sans-serif; box-sizing: border-box;
}
.mmwcd-counter-empty { display: none; }

.mmwcd-overlay {
    position: fixed; inset: 0; z-index: 999998;
    background: rgba(0, 0, 0, .60);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}
.mmwcd-panel {
    position: fixed; right: 0; top: 0; bottom: 0;
    z-index: 999999; width: min(420px, 100%); box-sizing: border-box;
    background: #11141d; color: #f6f7fb;
    display: flex; flex-direction: column;
    box-shadow: -14px 0 45px rgba(0,0,0,.26);
    transform: translateX(102%); visibility: hidden;
    transition: transform .28s ease, visibility .28s ease;
    font-family: inherit;
}
body.mmwcd-open .mmwcd-overlay { opacity: 1; visibility: visible; pointer-events: auto; }
body.mmwcd-open .mmwcd-panel { transform: translateX(0); visibility: visible; }
body.mmwcd-open { overflow: hidden; }
.mmwcd-panel, .mmwcd-panel * { box-sizing: border-box; }
.mmwcd-panel-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 21px 23px; border-bottom: 1px solid rgba(255,255,255,.10);
    flex: 0 0 auto;
}
.mmwcd-panel .mmwcd-panel-header h2 {
    margin: 0; padding: 0; color: #fff !important;
    font-size: 20px; font-weight: 600; line-height: 1.3;
}
.mmwcd-panel button { font-family: inherit; cursor: pointer; }
.mmwcd-panel button::after, .mmwcd-panel button::before { content: none !important; display: none !important; }
.mmwcd-panel .mmwcd-close {
    padding: 6px !important; background: transparent !important; border: 0 !important;
    color: #c9d0e1 !important; border-radius: 4px !important;
    display: inline-flex; align-items: center; justify-content: center;
    line-height: 1 !important;
}
.mmwcd-panel .mmwcd-close:hover { color: #fff !important; }
.mmwcd-message {
    padding: 10px 23px; color: #ffd7d7; background: rgba(210,55,55,.12);
    font-size: 13px;
}
.mmwcd-message[hidden] { display: none; }
.mmwcd-content { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.mmwcd-items { overflow-y: auto; flex: 1; padding: 8px 23px 15px; }
.mmwcd-item {
    display: grid; grid-template-columns: 70px minmax(0, 1fr) 24px;
    gap: 13px; padding: 18px 0; align-items: start;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.mmwcd-item-thumbnail img.mmwcd-item-image {
    display: block; width: 70px; height: 70px; object-fit: cover;
    border-radius: 4px; background: rgba(255,255,255,.07);
}
.mmwcd-item-info { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.mmwcd-panel .mmwcd-item-title,
.mmwcd-panel .mmwcd-item-title:visited {
    color: #f7f7fb !important; font-size: 14px; font-weight: 600; line-height: 1.4;
    text-decoration: none !important; overflow-wrap: anywhere;
}
.mmwcd-panel .mmwcd-item-title:hover { color: #80c1ff !important; }
.mmwcd-item-qty { color: #adb4c3; font-size: 12px; }
.mmwcd-item-price { color: #f5f6fa; font-size: 14px; font-weight: 500; }
.mmwcd-panel .mmwcd-remove {
    background: transparent !important; border: 0 !important; color: #9ea9bc !important;
    padding: 2px !important; border-radius: 4px !important;
    line-height: 1 !important;
}
.mmwcd-panel .mmwcd-remove:hover { color: #fff !important; }
.mmwcd-bottom {
    flex: 0 0 auto; margin-top: auto; padding: 20px 23px 25px;
    border-top: 1px solid rgba(255,255,255,.13);
}
.mmwcd-subtotal {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 12px; margin: 0 0 20px;
    font-size: 15px; color: #d8dce7;
}
.mmwcd-subtotal strong { color: #fff; font-weight: 600; }
.mmwcd-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mmwcd-panel .mmwcd-cart-link,
.mmwcd-panel .mmwcd-cart-link:visited {
    background: linear-gradient(135deg, #0082ed, #912fe6) !important;
    border: 0 !important; border-radius: 4px !important; color: #fff !important;
    text-decoration: none !important; text-align: center;
    min-height: 43px; padding: 12px 10px !important; font-size: 14px; font-weight: 600;
    line-height: 19px !important; display: inline-flex; justify-content: center; align-items: center;
}
.mmwcd-panel .mmwcd-continue {
    min-height: 43px; padding: 11px 9px !important;
    background: transparent !important; border: 1px solid rgba(255,255,255,.32) !important;
    color: #fff !important; border-radius: 4px !important;
    font-size: 14px; font-weight: 500; line-height: 19px !important;
    text-align: center;
}
.mmwcd-panel .mmwcd-continue:hover { background: rgba(255,255,255,.07) !important; }
.mmwcd-panel .mmwcd-cart-link:hover { filter: brightness(1.1); }
.mmwcd-empty { flex: 1; padding: 30px 23px; color: #bfc5d2; font-size: 14px; }
.mmwcd-empty p { color: inherit !important; }
.mmwcd-actions-empty { display: block; padding: 20px 23px 25px; }
.mmwcd-actions-empty .mmwcd-continue { width: 100%; }
/* Durante l'aggiornamento AJAX manteniamo la luminosità costante.
   Il blocco temporaneo dell'interazione resta invariato. */
.mmwcd-panel [aria-busy="true"] { pointer-events: none; }
.mmwcd-panel :focus-visible { outline: 2px solid #0082ed !important; outline-offset: 3px; }
@media (max-width: 767px) {
    .mmwcd-panel { width: min(390px, 100%); }
    .mmwcd-panel-header { padding: 18px 18px; }
    .mmwcd-items { padding-left: 18px; padding-right: 18px; }
    .mmwcd-bottom { padding: 17px 18px 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .mmwcd-overlay, .mmwcd-panel, .mmwcd-trigger { transition: none !important; }
}
