/* =========================================================
   RESET GLOBALE CARD
   ========================================================= */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce div.product .related ul.products li.product,
.woocommerce div.product .upsells ul.products li.product {
    background: #ffffff !important;
    border: none !important;
    border-radius: 11px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08), 0 4px 24px rgba(0,0,0,0.06) !important;
    transition: box-shadow .2s ease, transform .2s ease !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    position: relative !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.13) !important;
    transform: translateY(-3px) !important;
}

/* =========================================================
   GRIGLIA DESKTOP
   ========================================================= */
@media (min-width: 769px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
        gap: 20px !important;
        padding: 0 !important;
        align-items: stretch !important;
    }
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: auto !important;
        max-width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
}

/* =========================================================
   TITOLO — FIX PULITO (2 RIGHE REALI)
   ========================================================= */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.3 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    flex-shrink: 0 !important;
    order: -1 !important;

    min-height: 32px !important;
}

/* =========================================================
   IMMAGINE — dopo il titolo
   ========================================================= */
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce-page ul.products li.product a.woocommerce-loop-product__link {
    display: flex !important;
    justify-content: center !important;

    background: linear-gradient(90deg,#570b85 0,#6C4176 100%) !important;
    width: 100% !important;
    height: 80px !important;
    min-height: 15px !important;
    max-height: 80px !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    border-top: 1px solid #f2f2f2 !important;
    border-bottom: 16px solid #ffffff !important;
    order: 0 !important;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link img {
    max-height: 122px !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    min-height: unset !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    float: none !important;
    border-radius: 0 !important;
    transition: transform .3s ease !important;
    opacity: 1 !important;
}

.woocommerce ul.products li.product:hover a.woocommerce-loop-product__link img {
    transform: scale(1.05) !important;
}

/* =========================================================
   INDICE CONVENIENZA
   ========================================================= */
.indice-convenienza {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 14px 4px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    order: 1 !important;
}

.indice-convenienza .ic-barra {
    flex: 1 !important;
    height: 3px !important;
    background: #eee !important;
    border-radius: 99px !important;
    overflow: hidden !important;
    display: block !important;
}

.indice-convenienza .ic-fill {
    height: 100% !important;
    border-radius: 99px !important;
    display: block !important;
}

.indice-convenienza .ic-score {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 20px !important;
    color: #fff !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    line-height: 1.5 !important;
    cursor: default !important;
    position: relative !important;
    display: inline-block !important;
}

.indice-convenienza .ic-label {
    display: none !important;
}

.indice-convenienza .ic-score::after {
    content: attr(data-label) !important;
    display: none !important;
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 5px 12px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    z-index: 999 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
}

.indice-convenienza .ic-score::before {
    content: "" !important;
    display: none !important;
    position: absolute !important;
    bottom: calc(100% + 3px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border: 5px solid transparent !important;
    border-top-color: #111 !important;
    pointer-events: none !important;
    z-index: 999 !important;
}

.indice-convenienza .ic-score:hover::after,
.indice-convenienza .ic-score:hover::before {
    display: block !important;
}

.indice-convenienza.ic-ottima .ic-fill,
.indice-convenienza.ic-ottima .ic-score { background: #00b341 !important; }
.indice-convenienza.ic-buona  .ic-fill,
.indice-convenienza.ic-buona  .ic-score { background: #5cb85c !important; }
.indice-convenienza.ic-media  .ic-fill,
.indice-convenienza.ic-media  .ic-score { background: #f5a623 !important; }
.indice-convenienza.ic-bassa  .ic-fill,
.indice-convenienza.ic-bassa  .ic-score { background: #cc1a1a !important; }

/* =========================================================
   BORDO INFERIORE COLORATO
   ========================================================= */
.woocommerce ul.products li.product.ic-ottima { box-shadow: 0 1px 4px rgba(0,0,0,0.08), 0 4px 24px rgba(0,0,0,0.06), inset 0 -3px 0 #00b341 !important; }
.woocommerce ul.products li.product.ic-buona  { box-shadow: 0 1px 4px rgba(0,0,0,0.08), 0 4px 24px rgba(0,0,0,0.06), inset 0 -3px 0 #5cb85c !important; }
.woocommerce ul.products li.product.ic-media  { box-shadow: 0 1px 4px rgba(0,0,0,0.08), 0 4px 24px rgba(0,0,0,0.06), inset 0 -3px 0 #f5a623 !important; }
.woocommerce ul.products li.product.ic-bassa  { box-shadow: 0 1px 4px rgba(0,0,0,0.08), 0 4px 24px rgba(0,0,0,0.06), inset 0 -3px 0 #cc1a1a !important; }

.woocommerce ul.products li.product.ic-ottima:hover { box-shadow: 0 8px 32px rgba(0,179,65,0.18), inset 0 -3px 0 #00b341 !important; }
.woocommerce ul.products li.product.ic-buona:hover  { box-shadow: 0 8px 32px rgba(92,184,92,0.18), inset 0 -3px 0 #5cb85c !important; }
.woocommerce ul.products li.product.ic-media:hover  { box-shadow: 0 8px 32px rgba(245,166,35,0.18), inset 0 -3px 0 #f5a623 !important; }
.woocommerce ul.products li.product.ic-bassa:hover  { box-shadow: 0 8px 32px rgba(204,26,26,0.18), inset 0 -3px 0 #cc1a1a !important; }

/* =========================================================
   RISPARMIO
   ========================================================= */
.ptop-risparmio {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: #f0faf4 !important;
    border: 1px solid #c3e6cb !important;
    color: #1a6b35 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 2px 9px !important;
    border-radius: 20px !important;
    margin: 2px 14px 4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: calc(100% - 28px) !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    letter-spacing: 0 !important;
    order: 2 !important;
}

/* =========================================================
   PREZZO + LOGO — sempre in fondo
   ========================================================= */
.woocommerce ul.products li.product .price {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    padding: 18px 14px 14px !important;
    margin-top: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    border-top: 0px solid #f0f0f0 !important;
    overflow: hidden !important;
    order: 3 !important;
}

.woocommerce ul.products li.product .ptop-price-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    flex: 1 !important;
    min-width: 0 !important;
    gap: 2px !important;
}

.woocommerce ul.products li.product .price span,
.woocommerce ul.products li.product .price bdi {
    display: inline !important;
    vertical-align: baseline !important;
    font-style: normal !important;
}

.woocommerce ul.products li.product .price del {
    display: block !important;
    font-size: 10px !important;
    color: #bbb !important;
    text-decoration: line-through !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
    order: 1 !important;
}

.woocommerce ul.products li.product .price del::before {
    content: "Listino " !important;
    color: #ccc !important;
    font-size: 9px !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .price ins {
    display: block !important;
    text-decoration: none !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111111 !important;
    letter-spacing: -0.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    order: 2 !important;
}

.woocommerce ul.products li.product .price > .woocommerce-Price-amount {
    display: block !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111111 !important;
    letter-spacing: -0.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.woocommerce ul.products li.product .price ins .woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price > .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    font-size: 13px !important;
    font-weight: 700 !important;
    vertical-align: super !important;
    margin-right: 1px !important;
}

.woocommerce ul.products li.product .price > .woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price > bdi {
    display: none !important;
}

/* =========================================================
   LOGO MARCA — blindato
   ========================================================= */
.ptop-brand-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-shrink: 0 !important;
}

.woocommerce ul.products li.product .ptop-brand-logo img,
.woocommerce ul.products li.product .ptop-brand-logo .ptop-brand-img,
.woocommerce-page ul.products li.product .ptop-brand-logo img,
.ptop-brand-logo img,
.ptop-brand-img {
    height: 29px !important;
    max-height: 29px !important;
    min-height: unset !important;
    width: auto !important;
    max-width: 60px !important;
    object-fit: contain !important;
    display: block !important;
    opacity: 0.55 !important;
    border-radius: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ptop-brand-badge {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 2px 5px !important;
    white-space: nowrap !important;
    opacity: 0.6 !important;
    vertical-align: middle !important;
    border: none !important;
    box-shadow: none !important;
}

/* =========================================================
   BADGE SCONTO
   ========================================================= */
.woocommerce span.onsale {
    background: #ff0000 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    padding: 3px 8px !important;
    border-radius: 8px !important;
    top: 1px !important;
    left: 1px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    box-shadow: none !important;
    min-width: unset !important;
    min-height: unset !important;
}

/* =========================================================
   NASCONDI CARRELLO
   ========================================================= */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .ajax_add_to_cart {
    display: none !important;
}

/* =========================================================
   BADGE PLUGIN
   ========================================================= */
.woocommerce ul.products li.product .cegg-badge,
.woocommerce ul.products li.product .cegg5-badge,
.woocommerce ul.products li.product [class*="cegg"][class*="badge"],
.woocommerce ul.products li.product .woocommerce-loop-product__rating,
.woocommerce ul.products li.product .price-badge {
    position: absolute !important;
    top: 46px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product .cegg-badge img,
.woocommerce ul.products li.product [class*="cegg"][class*="badge"] img {
    width: 26px !important;
    height: 26px !important;
    display: block !important;
}

.woocommerce ul.products li.product [class*="badge"] span:not(.ptop-badge-dynamic):not(.ic-score):not(.ic-label):not(.ptop-brand-badge) {
    display: none !important;
}

.woocommerce ul.products li.product .product-badges {
    position: absolute !important;
    top: 46px !important;
    right: 10px !important;
    z-index: 6 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product .product-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    background: #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
    font-size: 15px !important;
    cursor: default !important;
    position: relative !important;
    transition: transform .2s ease !important;
}

.woocommerce ul.products li.product .product-badge:hover {
    transform: scale(1.15) !important;
}

.woocommerce ul.products li.product .product-badge::after {
    content: attr(title) !important;
    display: none !important;
    position: absolute !important;
    right: 36px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 10px !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    z-index: 99 !important;
}

.woocommerce ul.products li.product .product-badge:hover::after {
    display: block !important;
}

.woocommerce ul.products li.product .product-badge span,
.woocommerce ul.products li.product .product-badge div {
    display: none !important;
}

/* =========================================================
   SPECS PILL
   ========================================================= */
.ptop-specs-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    padding: 4px 14px !important;
    flex-shrink: 0 !important;
    order: 2 !important;
}

.ptop-spec-pill {
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 20px !important;
    border: 1px solid !important;
    white-space: nowrap !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* =========================================================
   ETICHETTA DINAMICA
   ========================================================= */
.ptop-badge-dynamic {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 2px 9px !important;
    border-radius: 20px !important;
    margin: 4px 14px 0 !important;
    color: #fff !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    order: 2 !important;
}

/* =========================================================
   BREADCRUMB
   ========================================================= */
.rank-math-breadcrumb,
.rm-breadcrumb {
    font-size: 14px;
    color: #6f6f6f;
    margin: 18px 0;
    padding-left: 12px;
    display: flex;
    gap: 6px;
}

.rank-math-breadcrumb a {
    color: #5a5a5a;
    text-decoration: none;
}

.rank-math-breadcrumb span.separator::before {
    content: "›";
    color: #b5b5b5;
}

@media (max-width: 600px) {
    .rank-math-breadcrumb span:last-child {
        display: none !important;
    }
}

/* =========================================================
   COUPON BOX
   ========================================================= */
.coupon-box,
.coupon-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

/* =========================================================
   COMMESSO BUTTON
   ========================================================= */
#commesso-panel *,
#commesso-button {
    all: initial;
    box-sizing: border-box;
}

#commesso-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    position: fixed;
    bottom: 18px;
    left: 18px;
    background: #111111;
    color: #fff;
    font-size: 22px;
    border-radius: 50%;
    z-index: 99999;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

/* =========================================================
   PATCH FIX OVERLAY FILTRI
   ========================================================= */
.wc-block-product-filters__overlay,
.wc-block-product-filters__overlay-dialog,
.wc-block-product-filters__overlay-wrapper {
    z-index: 999999 !important;
}

/* =========================================================
   BANNER FILTRO ATTIVO
   ========================================================= */
.ptop-filter-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #f5f5f5 !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 12px !important;
    padding: 10px 16px !important;
    margin-bottom: 20px !important;
    font-size: 13px !important;
    color: #111 !important;
}

.ptop-filter-banner strong { font-weight: 700 !important; }

.ptop-filter-banner em {
    font-style: normal !important;
    background: #111 !important;
    color: #fff !important;
    padding: 1px 8px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin-left: 4px !important;
}

.ptop-filter-remove {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #ddd !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background .2s ease !important;
    white-space: nowrap !important;
}

.ptop-filter-remove:hover {
    background: #111 !important;
    color: #fff !important;
}

/* =========================================================
   CATEGORIE
   ========================================================= */
.woocommerce .product-category img { display: none !important; }

.woocommerce .product-category {
    background: #fff;
    border-radius: 16px;
    padding: 40px 20px;
    text-align: center;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: all 0.25s ease;
    border: 1px solid #ebebeb;
}

.woocommerce .product-category:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.09);
}

.woocommerce .product-category h2 {
    font-size: 18px;
    font-weight: 600;
    color: #111;
}

/* =========================================================
   VARIE
   ========================================================= */
body { zoom: 99%; }

.ptop4-btn { color: #fff !important; }
.ptop3-btn { color: #fff !important; }

.product-category figure:has(img[src*="woocommerce-placeholder"]) { display: none; }

svg.wc-block-product-filter-checkbox-list__mark {
    width: 16px !important;
    height: 16px !important;
}

.wc-block-product-filter-checkbox-list__input-wrapper {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
}

/* =========================================================
   META PRODOTTO
   ========================================================= */
.product_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    font-size: 13px;
}

.product_meta .sku_wrapper,
.product_meta .posted_in,
.product_meta .tagged_as,
.product_meta .ean_wrapper {
    font-weight: 500;
    color: #6b7280;
}

.product_meta span,
.product_meta a,
.product_meta .sku,
.product_meta .ean {
    display: inline-flex;
    align-items: center;
    background: #f5f5f5;
    border: 1px solid #eee;
    border-radius: 20px;
    padding: 5px 10px;
    color: #1f2937;
    text-decoration: none;
    transition: all .2s ease;
}

.product_meta a:hover {
    background: #111;
    border-color: #111;
    color: #fff;
}

@media (max-width: 768px) {
    .product_meta {
        display: block;
        background: #f8f8f8;
        border-radius: 10px;
        padding: 8px 10px;
        font-size: 12px;
        color: #475569;
        line-height: 1.4;
    }

    .product_meta span,
    .product_meta a,
    .product_meta .sku,
    .product_meta .ean {
        background: none;
        border: none;
        padding: 0;
        margin: 0;
        border-radius: 0;
        display: inline;
        color: #334155;
    }

    .product_meta span:not(:last-child)::after,
    .product_meta a:not(:last-child)::after {
        content: " · ";
        color: #94a3b8;
        margin: 0 4px;
    }

    .product_meta .ean_wrapper::before {
        content: "EAN ";
        font-weight: 600;
        color: #64748b;
    }

    .product_meta .sku_wrapper::before {
        content: " ";
        font-weight: 600;
        color: #64748b;
    }

    .product_meta .posted_in a {
        color: #111;
        font-weight: 500;
    }

    .product_meta br { display: none; }
}

/* =========================================================
   TABELLA SPECIFICHE PRODOTTO
   ========================================================= */
.woocommerce-product-attributes-wrapper,
.woocommerce-tabs .entry-content { padding: 0; }

table.woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    word-break: break-word;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

table.woocommerce-product-attributes::before {
    content: "Specifiche tecniche";
    display: block;
    padding: 14px 20px 12px;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #7A8090;
    font-weight: 700;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

table.woocommerce-product-attributes tr {
    border-bottom: 1px solid rgba(0,0,0,0.06);
    transition: background 0.12s;
}

table.woocommerce-product-attributes tr:last-child { border-bottom: none; }

table.woocommerce-product-attributes tr:hover th,
table.woocommerce-product-attributes tr:hover td { background: #fafafa !important; }

table.woocommerce-product-attributes th,
table.woocommerce-product-attributes td {
    padding: 14px 20px;
    font-size: 11.5px;
    background: transparent !important;
    vertical-align: middle;
}

table.woocommerce-product-attributes th {
    color: #7A8090;
    font-weight: 200;
    font-size: 11.5px;
    width: 50%;
    border-right: 1px solid rgba(0,0,0,0.06);
}

table.woocommerce-product-attributes td {
    color: #111;
    font-weight: 500;
    padding-left: 18px;
}

table.woocommerce-product-attributes td a {
    color: #111;
    text-decoration: none;
}

table.woocommerce-product-attributes td a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.woocommerce ul.products .attachment-woocommerce_thumbnail:not([src]),
.woocommerce ul.products img[src=""],
.woocommerce ul.products img {
    min-height: 20px;
    object-fit: contain;
    background-color: #f5f5f5;
}

.prz-correlati {
    margin-top: 30px;
    margin-bottom: 30px;
}

.prz-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 15px;
}

.prz-correlati h2 {
    font-size: 20px;
    margin: 0;
    font-weight: bold;
    flex: 1;
    min-width: 200px;
}

.prz-filtri {
    display: flex;
    align-items: center;
    gap: 10px;
}

.prz-filtri label {
    font-weight: 600;
    font-size: 14px;
    margin: 0;
}

.prz-filter-select {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.prz-filter-select:hover {
    border-color: #999;
}

.prz-filter-select:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.2);
}

.prz-grid-container {
    min-height: 300px;
}

.prz-loading {
    text-align: center;
    padding: 40px;
    color: #666;
    font-size: 16px;
}

.prz-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.prz-item {
    text-align: center;
    border: 1px solid #eee;
    padding: 10px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.prz-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-color: #ddd;
}

.prz-item-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.prz-item img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px;
}

.prz-item h3 {
    font-size: 14px;
    margin: 0 0 10px 0;
    line-height: 1.4;
    font-weight: 600;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prz-price {
    font-weight: bold;
    color: #d32f2f;
    display: block;
    margin-top: 5px;
    font-size: 16px;
}

@media (max-width: 768px) {
    .prz-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .prz-correlati h2 {
        width: 100%;
    }

    .prz-filtri {
        width: 100%;
        flex-direction: column;
    }

    .prz-filtri label {
        width: 100%;
    }

    .prz-filter-select {
        width: 100%;
    }

    .prz-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .prz-grid {
        grid-template-columns: 1fr;
    }
}

.page-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    max-width: 100%;
}

.page-title:hover {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
    white-space: normal;
}

.flexy-arrow-prev,
.flexy-arrow-next,
[class*="flexy-arrow"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.cegg-list-card:has(a[href*="kelkoogroup"]):has(img[src*="unieuro-it"]) {
    display: none !important;
}

.ptop-ci-mount,
[data-ptop-ci="mount"] {
    min-height: 280px;
    content-visibility: auto;
    contain-intrinsic-size: auto 280px;
}

.ptop-ci-card {
    --a: #7c3aed;
    --al: #a78bfa;
    --ab: rgba(124,58,237,.15);
    border-radius: 22px;
    overflow: hidden;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.08), 0 12px 40px rgba(0,0,0,.10);
    transition: opacity .4s cubic-bezier(.4,0,.2,1), transform .4s cubic-bezier(.4,0,.2,1);
    min-height: 260px;
    content-visibility: auto;
    contain-intrinsic-size: auto 260px;
}

.ptop-ci-loading {
    opacity: 0;
    transform: translateY(10px);
}

.ptop-ci--top    { --a: #059669; --al: #34d399; }
.ptop-ci--good   { --a: #16a34a; --al: #4ade80; }
.ptop-ci--medium { --a: #d97706; --al: #fbbf24; }
.ptop-ci--low    { --a: #ea580c; --al: #f97316; }
.ptop-ci--bad    { --a: #dc2626; --al: #f87171; }
.ptop-ci--flat   { --a: #6b7280; --al: #9ca3af; }

.ptop-pc {
    display: block;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #ccc;
    border-radius: 0 12px 12px 0;
    padding: 12px 14px;
    text-decoration: none;
    color: #111827;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    transition: box-shadow .2s;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
}
.ptop-pc:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.09); }

.ptop-pc-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.ptop-related-products img,
.ptop-ci-card img,
.ptop-cat-page img {
    aspect-ratio: 1 / 1 !important;
    object-fit: contain;
}

.ptop-seo-correlate-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ptop-seo-correlate-pills a {
    padding: 5px 14px;
    background: #fff;
    color: #6C4176;
    border: 1.5px solid #e8d5f0;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, border-color .15s;
}

.rank-math-breadcrumb {
  font-size: 12px !important;
  line-height: 0.9;
  color: #6B6B6B !important;
  margin: 12px 0 14px !important;
}

.rank-math-breadcrumb a,
.rank-math-breadcrumb span {
  color: inherit !important;
  font-size: inherit !important;
  text-decoration: none !important;
}

.rank-math-breadcrumb a:hover {
  color: #61408F !important;
}

.rank-math-breadcrumb .separator {
  opacity: 0.65;
  margin: 0 8px;
}

.rank-math-breadcrumb p,
.rank-math-breadcrumb div,
.rank-math-breadcrumb nav {
  margin: 0 !important;
}

.cegg-list-card {
    border: 1px solid #ececec !important;
    border-radius: 15px !important;
    background: #fff !important;
    overflow: hidden;
    margin-bottom: 10px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
    transition: .2s ease;
}

.cegg-list-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

.cegg-list-card .row {
    border-left: none !important;
    padding: 12px !important;
    align-items: center;
}

.cegg-list-card img {
    max-height: 50px;
    width: auto;
    object-fit: contain;
}

.cegg-list-card .card-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
}

.cegg-price {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #000 !important;
    line-height: 1 !important;
}

.cegg-old-price {
    display: block;
    margin-top: 2px;
    font-size: 12px !important;
    color: #999 !important;
}

.cegg-stock-status {
    color: #5f8a58 !important;
    font-size: 11px !important;
    margin-top: 3px;
}

.cegg-btn,
.cegg-list-card .btn {
    border-radius: 30px !important;
    background: #f26522 !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 10px 14px !important;
}

.cegg-merchant {
    font-size: 11px !important;
    color: #777 !important;
}

@media (max-width: 768px) {
    .cegg-list-card {
        border-radius: 12px !important;
        margin-bottom: 8px !important;
    }

    .cegg-list-card .row {
        padding: 10px 12px !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
    }

    /* 1. Immagine: fissa a sinistra */
    .cegg-list-card .row > [class*="col-"]:first-child,
    .cegg-list-card .col-auto:first-child {
        flex: 0 0 auto !important;
        max-width: 60px !important;
        padding-right: 8px !important;
    }

    .cegg-list-card img {
        max-height: 45px !important;
        max-width: 55px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* 2. Titolo del prodotto: occupa tutto lo spazio orizzontale */
    .cegg-list-card .card-title {
        font-size: 11px !important;
        line-height: 1.3 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        margin-bottom: 4px !important;
    }

    /* 3. Prezzo */
    .cegg-price {
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .cegg-old-price {
        font-size: 10px !important;
        margin-top: 2px !important;
    }

    .cegg-stock-status {
        font-size: 10px !important;
        margin-top: 2px !important;
        white-space: nowrap !important;
    }

    /* 4. Pulsante "Vedi Offerta": dimensione fissa e uniforme per tutte le schede */
    .cegg-btn,
    .cegg-list-card .btn,
    .cegg-list-card a.btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 95px !important;
        min-width: 95px !important;
        max-width: 95px !important;
        height: 32px !important;
        padding: 0 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        border-radius: 16px !important;
        white-space: nowrap !important;
        margin: 4px 0 0 auto !important;
        box-sizing: border-box !important;
    }

    /* 5. Logo / Testo Negozio */
    .cegg-merchant {
        font-size: 10px !important;
        text-align: center !important;
        margin-top: 3px !important;
    }
}

.cegg5-container .fs-3 {
    font-size: 0 !important;
}
.cegg5-container .pt-offer-btn,
.cegg5-container .pt-offer-btn:link,
.cegg5-container .pt-offer-btn:visited,
.cegg5-container .pt-offer-btn:hover,
.cegg5-container .pt-offer-btn:focus,
.cegg5-container .pt-offer-btn:active {
    color: #000 !important;
    text-decoration: none !important;
}

#pt-home .pt-review-score-num {
    color: #3DDC97 !important;
}
#pt-home .pt-review-score-denom { font-size: 8.5px; color: rgba(255,255,255,0.6); line-height: 1; }
#pt-home .pt-review-score-denom { color: rgba(255,255,255,0.85) !important; font-weight: 600 !important; }

.ptop-bn-seg[data-seg="1"] { height: 4px !important; }
.ptop-bn-seg[data-seg="2"] { height: 8px !important; }
.ptop-bn-seg[data-seg="3"] { height: 10px !important; }
.ptop-bn-seg[data-seg="4"] { height: 17px !important; }
.ptop-bn-seg[data-seg="5"] { height: 29px !important; }

.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input,
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:hover,
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus {
    background-color: #fff;
    color: #000000;
    border-color: #F7B500;
    border-radius: 25px;
    border-width: 5px;
	height: 50px;
}

.pro-badges-shop,
.pro-badges-single {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0;
    align-items: center;
}

.pro-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ffffff;
    background: #2c3e50;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    white-space: nowrap;
}
.dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
    background-color: #F7B500 !important;
}
/* 1. Nascondi temporaneamente il menu o la barra di navigazione principale all'avvio */
.et-menu, /* Sostituisci .et-menu con la classe esatta del menu del tuo tema se usi Divi/altro */
.main-navigation {
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

/* 2. Appena il browser legge il DOM e applica gli script, il menu appare fluido */
body.loaded .et-menu,
body.loaded .main-navigation,
body:not(.et-fixed-header) .et-menu {
    opacity: 1;
}