/* MACFaaast Module: Product Cards, Badges, Category Sliders, Wishlist Heart & WOW Notices */

/* --- PRODUCT VARIATIONS (PREMIUM SWATCHES) --- */

/* Contenitore varianti */
.vi-wpvs-variation-wrap {
    gap: 8px !important;
    margin-top: 2px !important;
    /* Ridotto margine superiore */
}

/* Stile base delle opzioni */
.vi-wpvs-option-wrap {
    border: 1.5px solid #e2e2e7 !important;
    /* Grigio Apple */
    border-radius: 8px !important;
    background: #fff !important;
    padding: 0 !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow: hidden;
    min-width: 60px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Testo all'interno dell'opzione */
.vi-wpvs-option.vi-wpvs-option-button {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #444 !important;
    padding: 10px 16px !important;
    display: block;
}

/* HOVER: Effetto al passaggio del mouse */
.vi-wpvs-option-wrap:hover:not(.vi-wpvs-option-wrap-selected):not(.vi-wpvs-option-wrap-disable) {
    border-color: #b0b0b5 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08) !important;
}

/* SELECTED: Opzione selezionata (Il Risultato) */
.vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected {
    border: none !important;
    /* Rimosso il bordo come richiesto */
    background: #00ade6 !important;
    /* Nuovo azzurro richiesto */
    box-shadow: 0 4px 12px rgba(0, 173, 230, 0.3) !important;
    transform: scale(1.03);
}

.vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected .vi-wpvs-option-button {
    color: #ffffff !important;
    /* Testo Bianco su fondo azzurro */
}

/* Link Svuota (Reset Varianti) - DEFINITIVO */
.reset_variations {
    position: relative !important;
    /* Forza il link a seguire il flusso normale */
    display: inline-block !important;
    margin-top: 25px !important;
    /* Spostato decisamente più in basso */
    margin-bottom: 5px !important;
    color: #00ade6 !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    text-decoration: none !important;
    border: none !important;
    /* RIMOSSO BORDO ROSSO */
    background: transparent !important;
    padding: 0 !important;
    transition: all 0.2s ease;
}

.reset_variations::before {
    content: '✕ ';
    /* Icona X per chiarezza */
    font-size: 0.9rem;
    margin-right: 4px;
}

.reset_variations:hover {
    color: #135e96 !important;
    /* Un blu un po più scuro al passaggio */
    text-decoration: underline !important;
}

/* DISABLED: Opzioni non disponibili */
.vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable {
    opacity: 0.4 !important;
    background: #f5f5f7 !important;
    border-color: #eee !important;
    cursor: not-allowed;
    text-decoration: line-through;
}

/* Titoli degli Attributi (es. Colore, Capacità) */
table.variations th.label {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    /* Spazio ridotto */
    vertical-align: middle !important;
}

table.variations td.value {
    display: block !important;
    padding-bottom: 4px !important;
    /* Spazio ridotto drasticamente tra i record */
}

table.variations tr {
    margin-bottom: 5px !important;
    /* Avvicina le righe */
}

table.variations th.label label {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #1d1d1f !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Valore selezionato nel testo */
.ts-value {
    color: #00ade6 !important;
    /* Revertito all'azzurro originale */
    font-weight: 700 !important;
    margin-left: 8px;
    font-size: 0.9rem;
}

/* --- Full Click Minimal Zoom by Antigravity --- */

/* 1. Cella: Modern Apple-Style Cards (SOLO PER CATEGORIE) */
.apple-card-main-archive .products .product {
    position: relative !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    /* Arrotondato Apple */
    border: 1px solid #f0f0f4 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 10px !important;
    z-index: 1;
}

/* Spaziatura tra i prodotti nel catalogo (Esclusivamente per l'archivio Apple Card) */
.apple-card-main-archive .products {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    row-gap: 34px !important;
    height: auto !important;
    overflow: visible !important;
}


/* Desktop: 3 colonne (Solo in Categoria) */
.apple-card-main-archive:not(.list).columns-3 .products .product {
    width: calc(33.333% - 13.34px) !important;
    margin: 0 !important;
}

/* Mobile & Tablet: 2 colonne */
@media only screen and (max-width: 991px) {
    .apple-card-main-archive:not(.list).columns-3 .products .product {
        width: calc(50% - 10px) !important;
        margin: 0 !important;
    }
}

/* Cellulare: 1 colonna */
@media only screen and (max-width: 767px) {
    .apple-card-main-archive:not(.list).columns-3 .products .product {
        width: 100% !important;
        margin: 0 0 20px 0 !important;
    }

    .apple-card-main-archive .products {
        gap: 0 !important;
    }
}

/* Supporto per altre colonne (facoltativo ma robusto) */
.woocommerce.columns-4 .products .product:not(.swiper-slide) {
    width: calc(25% - 15px) !important;
    margin: 0 !important;
}

.woocommerce.columns-5 .products .product:not(.swiper-slide) {
    width: calc(20% - 16px) !important;
    margin: 0 !important;
}

/* Fix specifico per slider (Related Products / Swiper) */
/* Rimosso margin reset globale per permettere spaziatura specifica */

/* 2. Effetto Hover Elevazione (SOLO PER CATEGORIE APPLE CARD) */
.apple-card-main-archive .products .product:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
    border-color: #e2e2e7 !important;
    z-index: 10 !important;
}

/* RESET ESPLICITO PER HOME (Rimuove bordi e hover dalle card Apple non richieste) */
.home .products .product,
.home .products .product:hover {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 3. Immagini e Contenitori (Rimpicciolisce le immagini di 20px totali) */
.apple-card-main-archive .products .product .thumbnail-wrapper,
.home .products .product .thumbnail-wrapper {
    border-radius: 12px !important;
    overflow: hidden;
    padding: 10px !important;
    /* Questo riduce l'immagine di 20px (10px per lato) */
    background: transparent !important;
}

.apple-card-main-archive .products .product .thumbnail-wrapper img,
.home .products .product .thumbnail-wrapper img {
    object-fit: contain !important;
    /* Assicura che l'immagine non venga tagliata col nuovo padding */
}

/* 4. Badges (Pills Moderni iOS) */
.woocommerce span.onsale,
.woocommerce .new-product-badge,
.ts-product-category-wrapper .new,
.badge-novita,
.badge-scontato,
.onsale,
.new {
    border-radius: 50px !important;
    /* Forza forma a pillola */
    padding: 4px 14px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border: none !important;
    line-height: 1.2 !important;
    height: auto !important;
}

/* Azzurro Apple per Novità */
.badge-novita,
.ts-product-category-wrapper .new {
    background: #00ade6 !important;
    color: #fff !important;
}

/* Rosso Soft per Offerte */
.woocommerce span.onsale,
.badge-scontato {
    background: #53627B !important;
    color: #fff !important;
}

/* 5. Coerenza Titoli e Prezzi */
.archive .products .product .heading-title {
    font-size: 1rem !important;
    letter-spacing: -0.2px;
    margin: 12px 0 8px !important;
    font-weight: 500 !important;
}

.archive .products .product .price,
.ts-product-category-wrapper .price {
    color: #1d1d1f !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
}

/* 6. Generatori Slider Home (Reset specifico per non andare in conflitto) */
.ts-product-category-wrapper.generated-slider .product-category .product-wrapper>a::before,
.ts-product-category-wrapper.generated-slider .product-category .product-wrapper>a::after {
    display: none !important;
}



/* OPTIMIZATION: TAXATION INFO IN PRODUCT CARDS - SUBITO SOTTO AL PREZZO */
.tax-info-loop,
.apple-card-main-archive .tax-info-loop,
.apple-card-main-archive .products .product .tax-info-loop,
.woocommerce.main-products .products .product .tax-info-loop {
    font-size: 12px !important;
    color: #475569 !important;
    margin: 3px 0 10px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    font-weight: 700 !important;
    display: block !important;
    letter-spacing: -0.01em !important;
}

/* Breathing room for product info area */
.apple-card-main-archive .products .product .woocommerce-loop-product__title {
    margin: 15px 0 6px 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
}

.apple-card-main-archive .products .product .price {
    margin-bottom: 5px !important;
    display: block !important;
}

/* Refined aesthetics for price */
.apple-card-main-archive .products .product .price ins .woocommerce-Price-amount {
    font-weight: 800 !important;
    font-size: 1.1rem !important;
}

/* EXTRA MINIMAL REFINEMENTS */
.apple-card-main-archive .products .product .price del {
    margin-right: 5px !important;
}

.apple-card-main-archive .products .product .price del .woocommerce-Price-amount {
    font-size: 0.85rem !important;
    color: #aeaeb2 !important;
    font-weight: 400 !important;
}

.apple-card-main-archive .products .product {
    padding-bottom: 20px !important;
    /* More space at the very bottom */
}

/* Price "a partire da" styling */
.price .price-from {
    font-size: 0.7rem !important;
    font-weight: 400 !important;
    color: #8e8e93 !important;
    display: block !important;
    text-transform: none !important;
    margin-bottom: -2px !important;
    line-height: 1 !important;
}


/* --- FINAL PRODUCT LOOP OPTIMIZATION --- */

/* 1. Price "a partire da" - INLINE ALIGNMENT */
.price .price-from {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #1d1d1f !important;
    display: inline !important;
    /* Forces same line */
    text-transform: none !important;
    margin-right: 4px !important;
    vertical-align: baseline !important;
}

/* 2. Grade Badges (Identical to theme labels) */
.loop-grade-badge-top {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    padding: 4px 14px !important;
    border-radius: 50px !important;
    font-size: 10.8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    z-index: 100 !important;
    white-space: nowrap !important;
    line-height: normal !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
}

/* Grade Colors (Same shape, different colors) */
.grade-nuovo {
    background: #00ade6 !important;
    color: #fff !important;
}

.grade-premium {
    background: #af52de !important;
    color: #fff !important;
}

.grade-eccellente {
    background: #34c759 !important;
    color: #fff !important;
}

.grade-ottimo {
    background: #32d74b !important;
    color: #fff !important;
}

.grade-buono {
    background: #ff9f0a !important;
    color: #fff !important;
}

.grade-accettabile {
    background: #ff3b30 !important;
    color: #fff !important;
}

/* 3. Marketing Footer (PayPal & Icons) */
.loop-marketing-footer {
    border-top: 1px solid #f2f2f7 !important;
    padding-top: 12px !important;
    margin-top: 12px !important;
}

.loop-paypal-preview {
    font-size: 11.5px !important;
    color: #334155 !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    border-left: none !important;
    padding-left: 0 !important;
}

.loop-trust-icons {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.trust-icon {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #1d1d1f !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* 4. MOBILE RESPONSIVENESS FIXES */
@media only screen and (max-width: 767px) {
    .price .price-from {
        display: block !important;
        margin-bottom: 2px !important;
    }

    .loop-trust-icons {
        flex-direction: row !important;
        /* Back to row on mobile */
        justify-content: flex-start !important;
        gap: 12px !important;
    }
}



/* --- FINAL CART BUTTON & PRICE OPTIMIZATION --- */

/* 1. Price Alignment "a partire da" (Inline) */
.price .price-from {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1d1d1f !important;
    display: inline-block !important;
    /* Force same line */
    text-transform: none !important;
    margin-right: 4px !important;
}

/* 1. Price Alignment "a partire da" (Force Inline) */
.price .price-from {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1d1d1f !important;
    display: inline-block !important;
    /* Forces same line */
    text-transform: none !important;
    margin-right: 4px !important;
    vertical-align: middle !important;
}

.price .woocommerce-Price-amount {
    display: inline-block !important;
}

/* 2. Add to Cart / Scegli Button (Always Visible) */
.product-group-button-meta {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 15px 0 10px 0 !important;
    transition: none !important;
}

.product-group-button-meta .loop-add-to-cart a.button {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #53627B !important;
    /* Elegant Black */
    color: #ffffff !important;
    padding: 8px 16px !important;
    border-radius: 50px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border: none !important;
}

/* 3. FINAL FIX FOR DUPLICATE BUTTON (On Image Hover) */
.thumbnail-wrapper .loop-add-to-cart,
.thumbnail-wrapper .product-group-button .loop-add-to-cart,
.products .product .thumbnail-wrapper .loop-add-to-cart {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* 3b. Neutralizza animazioni hover del tema padre (slidebottomtotop / animation_tranlate_left) sulle icone gia visibili */
.product .product-wrapper .product-group-button > div.button-in,
.product .product-wrapper:hover .product-group-button > div.button-in {
    -webkit-animation: none !important;
    animation: none !important;
}




/* --- CART BLOCK UI REFINEMENTS (MACFAAAST CLEAN DESIGN) --- */


/* 7. Icona e Pulsanti Cuore Wishlist (Schede Prodotti & Pagina Singola) */

/* Badge Header Contatore Wishlist */
.tini-wishlist .count-number:not(.mf-badge-zero) {
    background: #00ade6 !important;
    box-shadow: 0 2px 6px rgba(0, 173, 230, 0.4) !important;
}

/* Pulsante Cuore nelle Card di Prodotto (Archivio, Categorie, Home) */
.product-group-button div.wishlist a.ts-add-to-wishlist.added,
.thumbnail-wrapper .product-group-button>div.button-in a.added,
.ts-add-to-wishlist.added {
    background: #fee2e2 !important;
    border-color: #fca5a5 !important;
    color: #ef4444 !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.25) !important;
}

.product-group-button div.wishlist a.ts-add-to-wishlist.added:not(.loading):after,
.thumbnail-wrapper .product-group-button>div.button-in a.added:not(.loading):after,
.ts-add-to-wishlist.added:not(.loading):after {
    color: #ef4444 !important;
}

/* Pulsante Wishlist nella Scheda Singola Prodotto */
.single-product .summary .single-product-buttons a.button-in.ts-add-to-wishlist.added {
    background: #fee2e2 !important;
    border-color: #fca5a5 !important;
    color: #ef4444 !important;
}



/* --- COMPARE WIDGET BUTTON FIX --- */
/* Il bottone di comparazione nel dropdown laterale */
a.button.link-to-compare {
    background-color: #53627B !important;
    color: #ffffff !important;
    border-radius: 980px !important;
    padding: 10px 24px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    transition: all 0.25s ease !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
}

a.button.link-to-compare:hover {
    background-color: #434e63 !important;
    transform: translateY(-1px) !important;
}

/* Il bottone 'sticky' fluttuante della comparazione (visibile solo da attivo) */
.ts-stick-compare-button.active {
    background-color: #53627B !important;
    color: #ffffff !important;
    border-radius: 980px !important;
    /* Effetto pillola Apple */
    padding: 10px 24px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    transition: all 0.25s ease !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(86, 100, 122, 0.2) !important;
    /* Ombreggiatura per staccarlo dallo sfondo visivamente */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    z-index: 90 !important;
    /* Abbassato per non sormontare la barra del comparatore */
}

.ts-stick-compare-button.active:hover {
    background-color: #434e63 !important;
    transform: translateY(-2px) !important;
    /* Leggero lift */
}

/* Colore testi e icone del bottone sticky per adeguarsi allo sfondo scuro */
.ts-stick-compare-button.active span {
    color: #ffffff !important;
}

/* Etichetta del numero dei prodotti comparati (es. (3) ) */
.ts-stick-compare-button.active span.number {
    background-color: rgba(255, 255, 255, 0.2) !important;
    /* Leggero contrasto */
    color: #ffffff !important;
    border-radius: 980px !important;
    padding: 2px 8px !important;
    font-size: 12px !important;
    margin-left: 4px !important;
}


/* --- CATEGORY SLIDER OVERHAUL --- */
.woocommerce .products.swiper .product-category .product-wrapper {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 15px 20px 15px;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
    margin-bottom: 15px;
    overflow: hidden;
    position: relative;
}

.woocommerce .products.swiper .product-category .product-wrapper:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.12);
}

.woocommerce .products.swiper .product-category .product-wrapper>a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 120px;
    flex-grow: 1;
    margin-bottom: 15px;
    background-color: transparent;
    padding: 0;
    box-sizing: border-box;
}

.woocommerce .products.swiper .product-category .product-wrapper>a img {
    max-width: 100%;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    transform-origin: center center;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
}

.woocommerce .products.swiper .product-category .product-wrapper:hover>a img {
    transform: scale(1.5);
}

.woocommerce .products.swiper .product-category .meta-wrapper {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.woocommerce .products.swiper .product-category .category-name {
    margin-bottom: 0;
}

.woocommerce .products.swiper .product-category .category-name .heading-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 6px;
    color: #1d1d1f;
    letter-spacing: -0.01em;
}

.woocommerce .products.swiper .product-category .category-name a {
    color: inherit;
    text-decoration: none;
}

.woocommerce .products.swiper .product-category .count {
    font-size: 0.8rem;
    color: #ffffff;
    font-weight: 500;
    margin-bottom: 8px;
    display: inline-block;
    background: #53627B;
    padding: 8px 24px;
    border-radius: 20px;
}

.woocommerce .products.swiper .product-category .shop-now-button {
    margin-top: 15px;
    width: 100%;
}

.woocommerce .products.swiper .product-category .shop-now-button a.button {
    background: transparent !important;
    color: #1d1d1f !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
    box-shadow: none !important;
    border: none !important;
}

.woocommerce .products.swiper .product-category .shop-now-button a.button:hover {
    background: transparent !important;
    color: #56647A !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .woocommerce .products.swiper .product-category .product-wrapper {
        padding: 12px;
        border-radius: 16px;
    }

    .woocommerce .products.swiper .product-category .product-wrapper>a {
        min-height: 110px;
        padding: 5px;
        margin-bottom: 5px;
    }

    .woocommerce .products.swiper .product-category .product-wrapper>a img {
        max-width: 100%;
        max-height: 90px;
    }

    .woocommerce .products.swiper .product-category .category-name .heading-title {
        font-size: 1.05rem;
    }

    .woocommerce .products.swiper .product-category .count {
        font-size: 0.75rem;
        margin-bottom: 6px;
        padding: 3px 10px;
    }

    .woocommerce .products.swiper .product-category .shop-now-button {
        margin-top: 10px;
    }
}


/* ==========================================================================
   SECTION 21: PUNTO 6 - BADGE SCONTO % E CHIP RISPARMIO WOOCOMMERCE
   ========================================================================== */

/* Badge Percentuale Dinamico su Thumbnail */
.product-label .onsale.mf-sale-badge {
    background: linear-gradient(135deg, #e63946 0%, #c1121f 100%) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    padding: 4px 9px !important;
    border-radius: 8px !important;
    box-shadow: 0 3px 10px rgba(230, 57, 70, 0.35) !important;
    text-transform: uppercase !important;
}

/* Badge Novità Pulito */
.product-label .new.mf-new-badge {
    background: #00ade6 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Chip Risparmio Euro accanto al prezzo */
.mf-price-saving-chip {
    display: inline-block;
    background: #e6f9f0;
    color: #0e8a4d;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 6px;
    margin-left: 8px;
    vertical-align: middle;
    letter-spacing: 0.2px;
    border: 1px solid rgba(14, 138, 77, 0.15);
}

@media (max-width: 767px) {
    .mf-price-saving-chip {
        display: block;
        margin-left: 0;
        margin-top: 4px;
        width: fit-content;
    }
}


/* ==========================================================================
   29. MACFAAAST APPLE WOW ADD TO CART EFFECT
   ========================================================================== */

/* 1. Suppress Old Janky Elements */
#ts-ajax-add-to-cart-message,
#ts-add-to-cart-popup-modal {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* 2. Button Success Feedback State */
.button.mf-btn-added-celebration,
button.single_add_to_cart_button.mf-btn-added-celebration {
    background: #00ade6 !important;
    color: #ffffff !important;
    border-color: #00ade6 !important;
    box-shadow: 0 4px 18px rgba(0, 173, 230, 0.45) !important;
    transform: scale(0.98);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mf-btn-check-svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
    vertical-align: middle;
    animation: mfBtnCheckIn 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}

@keyframes mfBtnCheckIn {
    0% {
        transform: scale(0) rotate(-45deg);
        opacity: 0;
    }

    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }
}

/* 3. Flying 3D Token */
.mf-flying-token {
    position: fixed;
    z-index: 99999999;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 16px 36px rgba(0, 173, 230, 0.42), 0 0 0 2px #00ade6;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    overflow: hidden;
    box-sizing: border-box;
    padding: 8px;
    will-change: transform, opacity;
}

.mf-flying-token img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 12px;
}

.mf-token-box-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 4. Magic Stardust Particle Trail */
.mf-particle-star {
    position: fixed;
    z-index: 99999998;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #00ade6;
    box-shadow: 0 0 10px #00ade6, 0 0 18px rgba(0, 173, 230, 0.8);
    pointer-events: none;
    animation: mfParticleFade 0.65s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
}

@keyframes mfParticleFade {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    100% {
        transform: scale(0.1);
        opacity: 0;
    }
}

/* 5. Cart Shockwave Ring */
.mf-cart-shockwave {
    position: fixed;
    z-index: 99999990;
    width: 44px;
    height: 44px;
    margin-left: -22px;
    margin-top: -22px;
    border-radius: 50%;
    border: 2.5px solid #00ade6;
    pointer-events: none;
    animation: mfShockwavePulse 0.75s cubic-bezier(0.1, 0.8, 0.2, 1) forwards;
}

@keyframes mfShockwavePulse {
    0% {
        transform: scale(0.6);
        opacity: 1;
    }

    100% {
        transform: scale(2.6);
        opacity: 0;
    }
}

/* 6. Cart Impact Spring Physics */
.shopping-cart-wrapper.mf-cart-bump .cart-control,
.shopping-cart-wrapper.mf-cart-bump .cart-icon,
.mobile-cart.mf-cart-bump .cart-control {
    animation: mfCartSpring 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275) both !important;
}

@keyframes mfCartSpring {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(1.36) rotate(-10deg);
    }

    50% {
        transform: scale(0.9) rotate(6deg);
    }

    75% {
        transform: scale(1.1) rotate(-2deg);
    }

    100% {
        transform: scale(1) rotate(0deg);
    }
}

.shopping-cart-wrapper.mf-cart-bump .count,
.shopping-cart-wrapper.mf-cart-bump .cart-total,
.mobile-cart.mf-cart-bump .count {
    animation: mfBadgePop 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) both !important;
}

@keyframes mfBadgePop {
    0% {
        transform: scale(1);
    }

    40% {
        transform: scale(1.4);
        background: #00ade6 !important;
        color: #fff !important;
    }

    100% {
        transform: scale(1);
    }
}

/* 7. Apple Dynamic Island Confirmation Toast & Backdrop Blur */
.mf-cart-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    background: rgba(15, 23, 42, 0.28);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), backdrop-filter 0.35s ease;
}

.mf-cart-backdrop.mf-show {
    opacity: 1;
    pointer-events: auto;
}

.mf-dynamic-island-toast {
    position: fixed;
    top: 88px;
    left: 50%;
    transform: translateX(-50%) translateY(-35px) scale(0.94);
    z-index: 10000000;
    background: rgba(15, 23, 42, 0.94);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50px;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 173, 230, 0.25);
    color: #ffffff;
    padding: 8px 12px 8px 10px;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 380px;
    max-width: 90vw;
    box-sizing: border-box;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
    opacity: 0;
    pointer-events: none;
}

.mf-dynamic-island-toast.mf-show {
    transform: translateX(-50%) translateY(0) scale(1);
    opacity: 1;
    pointer-events: auto;
}

.mf-toast-progress-bar {
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 2px;
    background: linear-gradient(90deg, #00ade6, #22c55e);
    border-radius: 2px;
    transform-origin: left;
    animation: mfToastProgress 4.5s linear forwards;
}

@keyframes mfToastProgress {
    0% {
        transform: scaleX(1);
    }

    100% {
        transform: scaleX(0);
    }
}

.mf-toast-content {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.mf-toast-thumb-wrap {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: visible;
}

.mf-toast-thumb {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.mf-toast-placeholder {
    font-size: 20px;
    color: #0f172a;
}

.mf-toast-badge-check {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #22c55e;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #0f172a;
}

.mf-toast-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.mf-toast-heading {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mf-toast-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
}

.mf-toast-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #22c55e;
    text-transform: uppercase;
}

.mf-toast-product-title {
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}

.mf-toast-product-price {
    font-size: 12px;
    font-weight: 800;
    color: #00ade6;
}

.mf-toast-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.mf-toast-open-cart {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #00ade6;
    color: #ffffff !important;
    font-size: 11.5px;
    font-weight: 700;
    padding: 7px 14px;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    text-decoration: none;
}

.mf-toast-open-cart:hover {
    background: #0096c7;
    transform: scale(1.03);
    color: #ffffff !important;
}

.mf-dynamic-island-toast .mf-toast-close,
button.mf-toast-close,
.mf-toast-close {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: rgba(255, 255, 255, 0.22) !important;
    border: none !important;
    color: #ffffff !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mf-dynamic-island-toast .mf-toast-close:hover,
button.mf-toast-close:hover,
.mf-toast-close:hover {
    background: rgba(255, 255, 255, 0.38) !important;
    transform: scale(1.08) !important;
}

.mf-dynamic-island-toast .mf-toast-close svg,
button.mf-toast-close svg,
.mf-toast-close svg {
    width: 12px !important;
    min-width: 12px !important;
    max-width: 12px !important;
    height: 12px !important;
    min-height: 12px !important;
    max-height: 12px !important;
    display: block !important;
    stroke: #ffffff !important;
    stroke-width: 3 !important;
    pointer-events: none !important;
    flex-shrink: 0 !important;
    box-sizing: content-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .mf-dynamic-island-toast {
        top: 68px;
        width: calc(100% - 24px);
        min-width: 0;
        padding: 7px 10px;
        border-radius: 36px;
    }

    .mf-toast-thumb-wrap {
        width: 38px;
        height: 38px;
    }

    .mf-toast-thumb {
        width: 30px;
        height: 30px;
    }

    .mf-toast-product-title {
        font-size: 11.5px;
        max-width: 140px;
    }

    .mf-toast-product-price {
        font-size: 11px;
    }

    .mf-toast-open-cart {
        padding: 6px 10px;
        font-size: 11px;
    }

    .mf-toast-open-cart svg {
        display: none;
    }
}


/* ==========================================================================
   SECTION 30: APPLE-STYLE WOOCOMMERCE NOTICES & ALERTS (.woocommerce-notices-wrapper)
   Global Redesign for Error, Success, and Info notifications
   ========================================================================== */

/* 1. Global Notices Container */
.woocommerce .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce-notices-wrapper,
.woocommerce-notices-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 24px auto !important;
    clear: both !important;
    box-sizing: border-box !important;
}

.woocommerce .woocommerce-notices-wrapper:empty,
.woocommerce-page .woocommerce-notices-wrapper:empty,
.woocommerce-notices-wrapper:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. Common Notice Box (Cupertino Glass Card) */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 0 20px 0 !important;
    padding: 16px 20px 16px 54px !important;
    border-radius: 16px !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: 0 10px 28px -5px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03) !important;
    position: relative !important;
    box-sizing: border-box !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    background-repeat: no-repeat !important;
    background-position: 18px 18px !important;
    background-size: 22px 22px !important;
    float: none !important;
    width: 100% !important;
}

/* 3. Reset Legacy Parent Icon Fonts */
.woocommerce-error:before,
.woocommerce-error::before,
.woocommerce-message:before,
.woocommerce-message::before,
.woocommerce-info:before,
.woocommerce-info::before,
.woocommerce .woocommerce-error:before,
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-message:before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info:before,
.woocommerce .woocommerce-info::before {
    display: none !important;
    content: none !important;
}

/* 4. Error Variant (Apple Alert Red) */
.woocommerce-error,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error,
ul.woocommerce-error {
    background-color: #fffafb !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ef4444'%3E%3Cpath fill-rule='evenodd' d='M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
    border: 1px solid rgba(254, 202, 202, 0.85) !important;
    border-left: 4.5px solid #ef4444 !important;
    color: #1e293b !important;
}

/* 5. Success / Message Variant (Apple Emerald) */
.woocommerce-message,
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message,
div.woocommerce-message {
    background-color: #f6fdf9 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2310b981'%3E%3Cpath fill-rule='evenodd' d='M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm13.36-1.814a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.74-5.25z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
    border: 1px solid rgba(187, 247, 208, 0.85) !important;
    border-left: 4.5px solid #10b981 !important;
    color: #1e293b !important;
}

/* 6. Info Variant (MacFaaast Sky Blue) */
.woocommerce-info,
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-info,
div.woocommerce-info {
    background-color: #f7fbfe !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300ade6'%3E%3Cpath fill-rule='evenodd' d='M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 01.67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 11-.671-1.34l.041-.022zM12 9a.75.75 0 100-1.5.75.75 0 000 1.5z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
    border: 1px solid rgba(186, 230, 253, 0.85) !important;
    border-left: 4.5px solid #00ade6 !important;
    color: #1e293b !important;
}

/* 7. Flex Layout for Items */
.woocommerce-error li,
.woocommerce .woocommerce-error li,
.woocommerce-page .woocommerce-error li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    list-style-type: none !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    color: #1e293b !important;
}

.woocommerce-error li:not(:last-child),
.woocommerce .woocommerce-error li:not(:last-child) {
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid rgba(254, 202, 202, 0.6) !important;
}

.woocommerce-message,
.woocommerce .woocommerce-message,
.woocommerce-info,
.woocommerce .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 14px 20px !important;
}

/* 8. Action Buttons (.button, a.button, .wc-forward) */
.woocommerce-error .button,
.woocommerce-error a.button,
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-error a.button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-error a.button,
.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-message a.button,
.woocommerce-info .button,
.woocommerce-info a.button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-info a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    order: 2 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 18px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    border: none !important;
    cursor: pointer !important;
    float: none !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Error button: Dark Apple Slate Capsule */
.woocommerce-error .button,
.woocommerce-error a.button,
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-error a.button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-error a.button {
    background: #0f172a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.16) !important;
}

.woocommerce-error .button:hover,
.woocommerce-error a.button:hover,
.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-error a.button:hover,
.woocommerce-page .woocommerce-error .button:hover,
.woocommerce-page .woocommerce-error a.button:hover {
    background: #00ade6 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(0, 173, 230, 0.35) !important;
}

/* Message & Info button: Brand Cyan Capsule */
.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-message a.button,
.woocommerce-info .button,
.woocommerce-info a.button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-info a.button {
    background: #00ade6 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 173, 230, 0.25) !important;
}

.woocommerce-message .button:hover,
.woocommerce-message a.button:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-message a.button:hover,
.woocommerce-info .button:hover,
.woocommerce-info a.button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-info a.button:hover {
    background: #0284c7 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(0, 173, 230, 0.4) !important;
}

/* 9. Regular Links inside Notices */
.woocommerce-error a:not(.button),
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce .woocommerce-error a:not(.button),
.woocommerce .woocommerce-message a:not(.button),
.woocommerce .woocommerce-info a:not(.button),
.woocommerce-page .woocommerce-error a:not(.button),
.woocommerce-page .woocommerce-message a:not(.button),
.woocommerce-page .woocommerce-info a:not(.button) {
    color: #00ade6 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.15s ease !important;
}

.woocommerce-error a:not(.button):hover,
.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover,
.woocommerce .woocommerce-error a:not(.button):hover,
.woocommerce .woocommerce-message a:not(.button):hover,
.woocommerce .woocommerce-info a:not(.button):hover {
    color: #0284c7 !important;
}

/* 10. Special: Cart Empty */
.woocommerce .cart-empty.woocommerce-info {
    text-align: center !important;
    justify-content: center !important;
    padding: 30px 20px !important;
    background-position: center 20px !important;
}

/* 11. Mobile Responsiveness */
@media (max-width: 640px) {

    .woocommerce-error,
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce .woocommerce-error,
    .woocommerce .woocommerce-message,
    .woocommerce .woocommerce-info,
    .woocommerce-page .woocommerce-error,
    .woocommerce-page .woocommerce-message,
    .woocommerce-page .woocommerce-info {
        padding: 14px 14px 14px 46px !important;
        background-position: 14px 14px !important;
        background-size: 20px 20px !important;
        border-radius: 14px !important;
    }

    .woocommerce-error li,
    .woocommerce .woocommerce-error li,
    .woocommerce-page .woocommerce-error li,
    .woocommerce-message,
    .woocommerce .woocommerce-message,
    .woocommerce-info,
    .woocommerce .woocommerce-info {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }

    .woocommerce-error .button,
    .woocommerce-error a.button,
    .woocommerce .woocommerce-error .button,
    .woocommerce .woocommerce-error a.button,
    .woocommerce-message .button,
    .woocommerce-message a.button,
    .woocommerce .woocommerce-message .button,
    .woocommerce .woocommerce-message a.button,
    .woocommerce-info .button,
    .woocommerce-info a.button,
    .woocommerce .woocommerce-info .button,
    .woocommerce .woocommerce-info a.button {
        width: 100% !important;
        margin-left: 0 !important;
        text-align: center !important;
        justify-content: center !important;
        height: 38px !important;
        line-height: 38px !important;
    }
}

