/* ================================================================
   10 — FIXES v3 — basato su analisi DOM reale
   Struttura Astra:
   - .ast-container > flex-row > [nav.breadcrumb | #primary.content-area]
   - li.product > [.astra-shop-thumbnail-wrap | .astra-shop-summary-wrap]
   - .astra-shop-summary-wrap > [.ast-woo-product-category | a.ast-loop-product__link | .price | .button]
   ================================================================ */

/* ══════════════════════════════════════════════════════════════
   1. FIX LAYOUT PAGINA — breadcrumb spinge contenuto a destra
   ══════════════════════════════════════════════════════════════ */

/* Il breadcrumb è figlio flex del contenitore principale
   Lo portiamo a occupare tutta la riga */
.site-content .ast-container {
    flex-wrap: wrap !important;
}

.site-content .ast-container > nav.woocommerce-breadcrumb {
    flex: 0 0 100% !important;
    width: 100% !important;
    order: -1 !important;
    padding: 12px 20px !important;
    font-size: 0.8rem !important;
    color: #8b8278 !important;
}

.site-content .ast-container > nav.woocommerce-breadcrumb a {
    color: #4a423a !important;
    text-decoration: none !important;
}

.site-content .ast-container > nav.woocommerce-breadcrumb a:hover {
    color: #b8893a !important;
}

/* Il primary ora occupa tutta la larghezza */
.site-content .ast-container > #primary.content-area {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Nascondi breadcrumb Astra duplicato */
.ast-breadcrumbs-wrapper { display: none !important; }

/* ══════════════════════════════════════════════════════════════
   2. CARD PRODOTTI — struttura Astra reale
   Astra usa: li.product > [.astra-shop-thumbnail-wrap | .astra-shop-summary-wrap]
   ══════════════════════════════════════════════════════════════ */

.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(26,22,18,0.08) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
    position: relative !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(26,22,18,0.12) !important;
}

/* Thumbnail wrapper — quadrato */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f4f1ec !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    display: block !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .5s ease !important;
}

.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img {
    transform: scale(1.05) !important;
}

/* Summary wrapper — contiene tutto il testo */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 0 !important;
    height: auto !important;
}

/* Categoria */
.woocommerce ul.products li.product .ast-woo-product-category {
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #b8893a !important;
    padding: 14px 14px 0 !important;
    display: block !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

/* Link titolo — NON deve avere altezza fissa di Astra */
.woocommerce ul.products li.product a.ast-loop-product__link {
    display: block !important;
    height: auto !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}

/* Titolo — 2 righe fisse */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: #1a1612 !important;
    padding: 6px 14px 0 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    height: calc(.9rem * 1.35 * 2) !important;
    flex-shrink: 0 !important;
}

/* Estratto PHP — 2 righe */
.woocommerce ul.products li.product .np-product-excerpt {
    font-size: .72rem !important;
    line-height: 1.5 !important;
    color: #8b8278 !important;
    padding: 5px 14px 0 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    height: calc(.72rem * 1.5 * 2) !important;
    flex-shrink: 0 !important;
}

/* Prezzo */
.woocommerce ul.products li.product .price {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1a1612 !important;
    padding: 10px 14px 0 !important;
    margin: 0 !important;
    display: block !important;
    flex-shrink: 0 !important;
    line-height: 1.2 !important;
}

/* Spacer flessibile */
.woocommerce ul.products li.product .price::after {
    content: '' !important;
    display: block !important;
    flex: 1 !important;
}

/* Bottone */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    background: #1a1612 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: .8rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 10px 14px !important;
    margin: 10px 14px 14px !important;
    width: calc(100% - 28px) !important;
    text-align: center !important;
    display: block !important;
    cursor: pointer !important;
    transition: background .25s ease !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex-shrink: 0 !important;
    margin-top: auto !important;
}

.woocommerce ul.products li.product .button:hover {
    background: #b8893a !important;
}

/* Badge sale */
.woocommerce ul.products li.product span.onsale {
    background: #b8893a !important;
    color: white !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    margin: 0 !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
    z-index: 5 !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

/* Wishlist */
.np-wishlist-btn {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
    background: rgba(255,255,255,.92) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    color: #4a423a !important;
    font-size: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transform: scale(.9) !important;
    transition: all .25s ease !important;
    z-index: 5 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.1) !important;
    backdrop-filter: blur(8px) !important;
}

.woocommerce ul.products li.product:hover .np-wishlist-btn {
    opacity: 1 !important;
    transform: scale(1) !important;
}

.np-wishlist-btn:hover, .np-wishlist-btn.active {
    color: #c14545 !important;
    background: white !important;
    transform: scale(1.1) !important;
}

/* ══════════════════════════════════════════════════════════════
   3. FILTRI E ORDINA
   ══════════════════════════════════════════════════════════════ */

p.woocommerce-result-count { display: none !important; }

.woocommerce-ordering { float: right !important; margin-bottom: 20px !important; }

.woocommerce-ordering select {
    background-color: #fff !important;
    border: 1px solid rgba(26,22,18,.2) !important;
    border-radius: 8px !important;
    padding: 8px 36px 8px 14px !important;
    font-size: .85rem !important;
    font-weight: 500 !important;
    color: #1a1612 !important;
    cursor: pointer !important;
    min-width: 210px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a423a' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    box-shadow: none !important;
}

.woocommerce-ordering select:focus {
    border-color: #b8893a !important;
    box-shadow: 0 0 0 3px rgba(184,137,58,.12) !important;
    outline: none !important;
}

.np-filter-bar {
    clear: both !important;
    background: #f4f1ec !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    margin: 0 0 24px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 20px !important;
    align-items: center !important;
}

.np-filter-label {
    font-size: 10px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    color: #8b8278 !important;
}

.np-filter-btn {
    font-size: .8rem !important;
    padding: 5px 14px !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    color: #4a423a !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
    white-space: nowrap !important;
}

.np-filter-btn:hover {
    background: white !important;
    border-color: rgba(26,22,18,.15) !important;
    color: #1a1612 !important;
}

.np-filter-btn.active {
    background: #1a1612 !important;
    color: white !important;
    border-color: #1a1612 !important;
}

/* ══════════════════════════════════════════════════════════════
   4. PAGINA PRODOTTO SINGOLO
   ══════════════════════════════════════════════════════════════ */

/* Layout 2 colonne */
.single-product div.product {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 48px !important;
    align-items: start !important;
    padding: 32px 0 64px !important;
    float: none !important;
    width: 100% !important;
}

/* Gallery sticky */
.single-product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    /* sticky su grid item: funziona solo se overflow non è hidden sul parent */
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 90px !important;
    align-self: start !important;
}

/* Summary */
.single-product .summary.entry-summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Correlati full width */
.single-product .related.products,
.single-product .upsells.products {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    padding-top: 48px !important;
    border-top: 1px solid rgba(26,22,18,.08) !important;
    margin-top: 0 !important;
}

/* Titolo */
.single-product .product_title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(1.6rem, 2.5vw, 2.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
    color: #1a1612 !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: none !important;
}

/* Prezzo */
.single-product .price {
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    color: #1a1612 !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

/* Short desc */
.single-product .woocommerce-product-details__short-description {
    font-size: .9rem !important;
    color: #4a423a !important;
    line-height: 1.7 !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: none !important;
}

/* Form qty + CTA */
.single-product form.cart {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 20px 0 !important;
}

.single-product .quantity { flex-shrink: 0 !important; margin: 0 !important; }

.single-product .quantity input.qty {
    width: 72px !important;
    height: 52px !important;
    border: 1px solid rgba(26,22,18,.2) !important;
    border-radius: 8px !important;
    background: #fff !important;
    text-align: center !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.single_add_to_cart_button {
    flex: 1 !important;
    height: 52px !important;
    background: #1a1612 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    padding: 0 28px !important;
    cursor: pointer !important;
    transition: background .25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.single_add_to_cart_button:hover {
    background: #b8893a !important;
    transform: none !important;
    box-shadow: 0 6px 20px rgba(184,137,58,.3) !important;
}

/* Nascondi Klarna */
.klarna-payments-osm, .klarna-placement,
[data-key="credit-promotion-auto-size"],
.klarna-onsite-messaging, [class*="klarna"] {
    display: none !important;
}

/* Trust signals */
.np-trust-signals {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
    background: #f4f1ec !important;
    border-radius: 10px !important;
    margin: 16px 0 !important;
}

.np-trust-item { display: flex !important; align-items: center !important; gap: 10px !important; }
.np-trust-icon { color: #b8893a !important; flex-shrink: 0 !important; width: 20px !important; height: 20px !important; }
.np-trust-text { font-size: .8rem !important; color: #4a423a !important; line-height: 1.3 !important; }
.np-trust-text strong { color: #1a1612 !important; font-weight: 600 !important; display: block !important; font-size: .82rem !important; }

/* Specs */
.np-specs-table {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px 24px !important;
    background: #f4f1ec !important;
    border-radius: 10px !important;
    padding: 16px 18px !important;
    margin: 16px 0 !important;
    border: none !important;
}

.np-spec-row { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 80px !important; }
.np-spec-label { font-size: 10px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #8b8278 !important; }
.np-spec-value { font-size: .9rem !important; font-weight: 700 !important; color: #1a1612 !important; }

/* Tabs */
.woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 6px !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    flex-wrap: wrap !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after { display: none !important; }

.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { display: none !important; }

.woocommerce-tabs ul.tabs li a {
    font-size: .82rem !important;
    font-weight: 500 !important;
    color: #8b8278 !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    background: #f4f1ec !important;
    transition: all .2s ease !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    display: block !important;
}

.woocommerce-tabs ul.tabs li.active a { background: #1a1612 !important; color: white !important; }
.woocommerce-tabs ul.tabs li:not(.active) a:hover { background: rgba(26,22,18,.08) !important; color: #1a1612 !important; }

/* Correlati */
.related.products ul.products,
.upsells.products ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
}

.related.products > h2, .upsells.products > h2 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    color: #1a1612 !important;
    margin-bottom: 24px !important;
    letter-spacing: -.02em !important;
}

/* Galleria thumbnails */
.flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

.flex-control-thumbs li { margin: 0 !important; width: 100% !important; }

.flex-control-thumbs img {
    border-radius: 6px !important;
    border: 2px solid transparent !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
    transition: border-color .2s ease !important;
    cursor: pointer !important;
}

.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover { border-color: #b8893a !important; }

.woocommerce-product-gallery__image {
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #f4f1ec !important;
    border: 1px solid rgba(26,22,18,.08) !important;
}

/* ══════════════════════════════════════════════════════════════
   5. FOOTER
   ══════════════════════════════════════════════════════════════ */

.site-footer {
    background: #16120d !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.site-footer .elementor-section,
.site-footer .e-con,
.site-footer .elementor-container,
.site-footer section,
.site-footer .elementor-widget-wrap,
.site-footer .elementor-element {
    background: transparent !important;
    background-color: transparent !important;
}

.site-footer::before {
    content: '' !important;
    display: block !important;
    width: 100% !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, #b8893a 30%, #d4b06e 50%, #b8893a 70%, transparent) !important;
}

.site-footer, .site-footer p, .site-footer span, .site-footer li {
    color: rgba(255,255,255,.6) !important;
}

.site-footer a { color: rgba(255,255,255,.6) !important; text-decoration: none !important; transition: color .2s ease !important; }
.site-footer a:hover { color: #d4b06e !important; }

.site-footer h2, .site-footer h3, .site-footer h4,
.site-footer .widget-title, .site-footer .widgettitle {
    color: white !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.4 !important;
}

/* Override "Scopri il nostro store" — era h2 enorme */
.site-footer .elementor-heading-title {
    font-size: .82rem !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.5) !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.site-footer .site-logo img,
.site-footer .custom-logo-link img {
    filter: brightness(0) invert(.9) !important;
    max-width: 160px !important;
}

.site-footer img[src*="ebay"] {
    filter: brightness(0) invert(.55) !important;
    max-height: 22px !important;
    width: auto !important;
}

.site-footer .elementor-icon-list-icon i,
.site-footer .elementor-icon-list-icon svg { color: #b8893a !important; fill: #b8893a !important; }
.site-footer .elementor-icon-list-text { color: rgba(255,255,255,.7) !important; font-size: .85rem !important; }

.site-footer ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.site-footer ul li { padding: 6px 0 !important; border: none !important; font-size: .85rem !important; }

.site-footer a[href^="tel"],
.site-footer a[href^="+39"] { color: #d4b06e !important; font-weight: 500 !important; }

footer.site-footer { margin-top: 0 !important; }

.ast-small-footer, .ast-small-footer-wrap {
    background: rgba(0,0,0,.35) !important;
    color: rgba(255,255,255,.35) !important;
    font-size: .75rem !important;
    padding: 14px 4vw !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    text-align: center !important;
}

.ast-small-footer a { color: rgba(255,255,255,.5) !important; }
.ast-small-footer a:hover { color: #d4b06e !important; }

/* ══════════════════════════════════════════════════════════════
   6. TABLE OF CONTENTS — nascondi
   ══════════════════════════════════════════════════════════════ */

#ez-toc-container, .ez-toc-container, .ez-toc-sticky,
[class*="ez-toc"], .eztoc-sticky-container,
.wp-block-table-of-contents, .rank-math-toc,
.pp-table-of-contents, [class*="-toc-sidebar"], .toc-sticky {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* ══════════════════════════════════════════════════════════════
   7. RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 900px) {
    .single-product div.product {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .single-product .woocommerce-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: static !important;
    }
    .single-product .summary.entry-summary {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    .woocommerce ul.products li.product .np-product-excerpt { display: none !important; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .8rem !important; }
    .np-filter-bar { flex-direction: column !important; align-items: flex-start !important; }
    .np-filter-group { overflow-x: auto !important; flex-wrap: nowrap !important; width: 100% !important; }
}

/* ══════════════════════════════════════════════════════════════
   8. FIX FINALI — scheda prodotto e card senza descrizione
   ══════════════════════════════════════════════════════════════ */

/* Astra puo lasciare il contenuto sbilanciato quando breadcrumb e #primary
   sono nello stesso flex container. Qui manteniamo la pagina centrata. */
.single-product .site-content .ast-container {
    display: block !important;
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

.single-product .site-content .ast-container > nav.woocommerce-breadcrumb,
.single-product .site-content .ast-container > #primary.content-area {
    width: 100% !important;
    max-width: 100% !important;
}

.single-product #primary,
.single-product .site-main,
.single-product div.product {
    margin-inline: auto !important;
}

.single-product div.product {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr) !important;
    gap: clamp(28px, 4vw, 56px) !important;
}

/* La gallery sticky causava sovrapposizioni durante lo scroll. */
.single-product .woocommerce-product-gallery {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
}

.single-product .summary.entry-summary {
    position: relative !important;
    z-index: 2 !important;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img {
    max-width: 100% !important;
}

.single-product .woocommerce-product-gallery__image img {
    height: auto !important;
    object-fit: contain !important;
}

/* Card catalogo: non riservare spazio per descrizioni inesistenti e non
   spingere il bottone in fondo creando vuoti dentro la card. */
.woocommerce ul.products {
    align-items: start !important;
}

.woocommerce ul.products li.product {
    align-self: start !important;
    height: auto !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
}

.woocommerce ul.products li.product .np-product-excerpt {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .np-product-excerpt:empty {
    display: none !important;
}

.woocommerce ul.products li.product .price::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    margin-top: 10px !important;
}

@media (max-width: 900px) {
    .single-product .site-content .ast-container {
        width: min(100% - 28px, 720px) !important;
    }

    .single-product div.product {
        grid-template-columns: 1fr !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   9. FIX FINALI v2 — summary, correlati, header, carrello
   ══════════════════════════════════════════════════════════════ */

/* Trust signals sotto form e wallet button, non accanto al bottone carrello. */
.single-product .np-trust-signals {
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin: 18px 0 0 !important;
}

.single-product form.cart .np-trust-signals {
    display: none !important;
}

.single-product .np-long-product-description {
    margin: 0 0 20px !important;
}

.single-product .np-long-product-description p {
    margin: 0 0 10px !important;
}

/* Se Astra/WooCommerce stampa ancora due breadcrumb, tieni solo quello nel
   contenitore pagina e nascondi le varianti duplicate fuori dal flusso. */
.single-product .ast-breadcrumbs-wrapper,
.single-product .ast-breadcrumbs,
.single-product .rank-math-breadcrumb,
.single-product .yoast-breadcrumb {
    display: none !important;
}

/* Correlati: niente spazio vuoto enorme e prezzo vicino al titolo. */
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
}

.single-product .related.products ul.products li.product .astra-shop-summary-wrap,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
    background: #fff !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 8px !important;
    margin-bottom: 8px !important;
}

.single-product .related.products ul.products li.product .np-product-excerpt,
.single-product .upsells.products ul.products li.product .np-product-excerpt {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 10px !important;
}

.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .price {
    display: block !important;
    padding: 2px 14px 0 !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
}

.single-product .related.products ul.products li.product .button,
.single-product .related.products ul.products li.product a.button,
.single-product .upsells.products ul.products li.product .button,
.single-product .upsells.products ul.products li.product a.button {
    margin: 0 14px 14px !important;
    width: calc(100% - 28px) !important;
}

/* Header: sostituisce il grande cerchio hover/current con un pill compatto. */
.main-header-menu > li > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
    min-height: 0 !important;
    line-height: 1.2 !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
}

.main-header-menu > li > .menu-link:hover,
.main-header-menu > li.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link {
    background: #f4f1ec !important;
    border-radius: 8px !important;
}

.main-header-menu > li > .menu-link::before,
.main-header-menu > li > .menu-link::after,
.ast-builder-menu-1 .menu-item > .menu-link::before,
.ast-builder-menu-1 .menu-item > .menu-link::after {
    display: none !important;
}

/* Carrello header: rimuove il rettangolo/bordo di Astra intorno all'icona. */
.ast-site-header-cart,
.ast-site-header-cart .ast-addon-cart-wrap,
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-cart-menu-wrap,
.ast-cart-menu-wrap .ast-cart-icon,
.ast-cart-menu-wrap .ast-cart-icon::before {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.ast-site-header-cart a,
.ast-site-header-cart a:focus,
.ast-site-header-cart a:hover,
.ast-cart-menu-wrap:focus,
.ast-cart-menu-wrap:hover {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════════
   10. FIX FINALI v3 — tab prodotto e card compatte
   ══════════════════════════════════════════════════════════════ */

/* Rimuove la sezione tab descrizione/reviews dalla scheda prodotto. */
.single-product .woocommerce-tabs,
.single-product .woocommerce-tabs.wc-tabs-wrapper {
    display: none !important;
}

/* Card prodotto compatte: solo immagine, categoria, titolo, prezzo, bottone. */
.woocommerce ul.products li.product,
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    background: #fff !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f4f1ec !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .np-product-cat,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-woo-product-category {
    display: none !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 14px 14px !important;
    background: #fff !important;
}

.woocommerce ul.products li.product .np-product-cat,
.woocommerce ul.products li.product .ast-woo-product-category {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 6px !important;
    margin: 0 !important;
    text-align: center !important;
    color: #b8893a !important;
    font-family: var(--np-font-body) !important;
    font-size: clamp(.74rem, .68rem + .2vw, .86rem) !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.woocommerce ul.products li.product .np-product-excerpt {
    display: none !important;
}

.woocommerce ul.products li.product a.ast-loop-product__link {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    text-align: left !important;
    line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price {
    padding: 0 !important;
    margin: 0 0 12px !important;
    line-height: 1.2 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    white-space: normal !important;
    min-height: 40px !important;
}

@media (max-width: 640px) {
    .woocommerce ul.products li.product .astra-shop-summary-wrap {
        padding: 0 10px 12px !important;
    }

    .woocommerce ul.products li.product .np-product-cat,
    .woocommerce ul.products li.product .ast-woo-product-category {
        font-size: .68rem !important;
        letter-spacing: .06em !important;
        padding-top: 10px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: .82rem !important;
        line-height: 1.3 !important;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product a.button {
        font-size: .74rem !important;
        padding: 9px 8px !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   11. FIX FINALI v4 — altezza ast-loop-product__link
   ══════════════════════════════════════════════════════════════ */

.woocommerce ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link,
.woocommerce ul.products li.product a.ast-loop-product__link,
.single-product .related.products ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link {
    display: block !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > *,
.single-product .related.products ul.products li.product .astra-shop-summary-wrap > *,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap > * {
    flex: 0 0 auto !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link + .price,
.single-product .related.products ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link + .price,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link + .price {
    margin-top: 0 !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap,
.single-product .related.products ul.products li.product .astra-shop-summary-wrap,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap {
    row-gap: 0 !important;
    gap: 0 !important;
}

/* ══════════════════════════════════════════════════════════════
   12. FIX FINALI v5 — elimina spazio vuoto reale nelle card
   ══════════════════════════════════════════════════════════════ */

.woocommerce ul.products,
.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
    align-items: start !important;
}

.woocommerce ul.products li.product,
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap,
.single-product .related.products ul.products li.product .astra-shop-summary-wrap,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link,
.woocommerce ul.products li.product a.ast-loop-product__link,
.single-product .related.products ul.products li.product a.ast-loop-product__link,
.single-product .upsells.products ul.products li.product a.ast-loop-product__link {
    display: block !important;
    flex: none !important;
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
    overflow: visible !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > *,
.single-product .related.products ul.products li.product .astra-shop-summary-wrap > *,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    flex: none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 12px !important;
}

.woocommerce ul.products li.product .price,
.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .price {
    margin: 0 0 12px !important;
    padding: 0 !important;
    flex: none !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.single-product .related.products ul.products li.product .button,
.single-product .related.products ul.products li.product a.button,
.single-product .upsells.products ul.products li.product .button,
.single-product .upsells.products ul.products li.product a.button {
    margin: 0 !important;
    flex: none !important;
}

/* ══════════════════════════════════════════════════════════════
   13. FIX FINALI v6 — annulla aspect-ratio sui link testuali
   ══════════════════════════════════════════════════════════════ */

/* In 05-product-cards.css esiste una regola generica su
   li.product a:first-of-type con aspect-ratio: 1. Su Astra puo colpire
   anche il link del titolo e trasformarlo in un blocco quadrato vuoto. */
.woocommerce ul.products li.product .astra-shop-summary-wrap a:first-of-type,
.woocommerce ul.products li.product .astra-shop-summary-wrap a.ast-loop-product__link,
.woocommerce ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link,
.single-product .related.products ul.products li.product .astra-shop-summary-wrap a:first-of-type,
.single-product .upsells.products ul.products li.product .astra-shop-summary-wrap a:first-of-type {
    aspect-ratio: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.ast-loop-product__link::before,
.woocommerce ul.products li.product .astra-shop-summary-wrap a.ast-loop-product__link::after,
.woocommerce ul.products li.product .astra-shop-summary-wrap a:first-of-type::before,
.woocommerce ul.products li.product .astra-shop-summary-wrap a:first-of-type::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.ast-loop-product__link .woocommerce-loop-product__title,
.woocommerce ul.products li.product .astra-shop-summary-wrap a:first-of-type .woocommerce-loop-product__title {
    background: transparent !important;
}

/* ══════════════════════════════════════════════════════════════
   14. FIX FINALI v7 — layout largo, breadcrumb, summary prodotto
   ══════════════════════════════════════════════════════════════ */

:root {
    --np-site-width: 1400px;
    --np-site-gutter: clamp(18px, 3vw, 48px);
}

.site-header .ast-container,
.main-header-bar .ast-container,
.ast-primary-header-bar .ast-container,
.site-content .ast-container,
.site-footer .ast-container,
.site-footer .elementor-container,
.site-footer .e-con-inner {
    width: min(var(--np-site-width), calc(100% - (var(--np-site-gutter) * 2))) !important;
    max-width: var(--np-site-width) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

.site-content .ast-container {
    display: block !important;
}

.single-product .site-content .ast-container {
    width: min(var(--np-site-width), calc(100% - (var(--np-site-gutter) * 2))) !important;
    max-width: var(--np-site-width) !important;
}

.single-product #primary.content-area,
.single-product .site-main {
    width: 100% !important;
    max-width: 100% !important;
}

.single-product div.product {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 560px) !important;
    gap: clamp(36px, 4.5vw, 72px) !important;
}

.single-product .woocommerce-breadcrumb {
    display: block !important;
    width: 100% !important;
    max-width: var(--np-site-width) !important;
    margin: 0 auto 28px !important;
    grid-column: 1 / -1 !important;
}

.single-product .product_meta,
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in {
    display: none !important;
}

.single-product .summary.entry-summary,
.single-product .entry-summary {
    display: flex !important;
    flex-direction: column !important;
}

.single-product .summary.entry-summary .ast-woo-product-category,
.single-product .summary.entry-summary .posted_in,
.single-product .summary.entry-summary .posted_in a {
    display: none !important;
}

.single-product .np-single-product-kicker {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
    margin: 0 0 18px !important;
}

.single-product .np-single-product-category {
    color: #b8893a !important;
    font-family: var(--np-font-body) !important;
    font-size: .92rem !important;
    font-weight: 500 !important;
}

.single-product .np-single-product-sku {
    color: #8b8278 !important;
    font-family: var(--np-font-body) !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.single-product .product_title {
    order: 2 !important;
}

.single-product .np-long-product-description {
    order: 3 !important;
    margin: 0 0 22px !important;
}

.single-product .np-long-product-description,
.single-product .np-long-product-description p {
    font-size: .95rem !important;
    line-height: 1.65 !important;
    color: #4a423a !important;
}

.single-product .summary.entry-summary > .price,
.single-product .entry-summary > .price {
    order: 4 !important;
}

.single-product form.cart {
    order: 5 !important;
}

.single-product [class*="payment-request"],
.single-product [id*="payment-request"],
.single-product [class*="express-checkout"],
.single-product .wc-stripe-product-checkout-container,
.single-product .wcpay-payment-request-wrapper,
.single-product #wcpay-payment-request-wrapper {
    order: 6 !important;
}

.single-product [class*="klarna" i],
.single-product [id*="klarna" i],
.single-product klarna-placement {
    order: 7 !important;
    display: block !important;
}

.single-product .np-klarna-moved,
.single-product [class*="klarna" i].np-klarna-moved,
.single-product [id*="klarna" i].np-klarna-moved {
    order: 7 !important;
    margin: 14px 0 0 !important;
}

.single-product .np-trust-signals {
    order: 8 !important;
}

.single-product .np-hidden-residual-category,
.single-product [aria-hidden="true"].np-hidden-residual-category {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .np-klarna-moved {
    display: block !important;
    order: 7 !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
}

.single-product .np-klarna-moved + .np-trust-signals {
    margin-top: 14px !important;
}

.single-product [aria-hidden="true"].np-klarna-moved {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   22. FIX FINALE DEFINITIVO — ultimo nel file
   ══════════════════════════════════════════════════════════════ */

.single-product .woocommerce-product-gallery > .np-specs-table,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery,
.single-product div.product > .np-specs-table {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .ast-woo-product-category,
.single-product .summary.entry-summary > .posted_in,
.single-product .entry-summary > .posted_in,
.single-product .summary.entry-summary > .product_meta,
.single-product .entry-summary > .product_meta {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ══════════════════════════════════════════════════════════════
   FIX FINALE — tipografia prodotti correlati
   Deve restare ultimo nel file.
   ══════════════════════════════════════════════════════════════ */

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .np-card-title,
.single-product .upsells.products ul.products li.product .np-card-title,
.single-product .related.products ul.products li.product .np-card-title-link,
.single-product .upsells.products ul.products li.product .np-card-title-link {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .price,
.single-product .related.products ul.products li.product .price .amount,
.single-product .upsells.products ul.products li.product .price .amount,
.single-product .related.products ul.products li.product .np-card-price,
.single-product .upsells.products ul.products li.product .np-card-price,
.single-product .related.products ul.products li.product .np-card-price .amount,
.single-product .upsells.products ul.products li.product .np-card-price .amount {
    font-size: 1.3rem !important;
}

/* ══════════════════════════════════════════════════════════════
   FIX FINALE — catalogo shop e paginazione
   Deve restare ultimo nel file.
   ══════════════════════════════════════════════════════════════ */

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.woocommerce-shop ul.products li.product .np-card-title,
.post-type-archive-product ul.products li.product .np-card-title,
.tax-product_cat ul.products li.product .np-card-title,
.tax-product_tag ul.products li.product .np-card-title,
.woocommerce-shop ul.products li.product .np-card-title-link,
.post-type-archive-product ul.products li.product .np-card-title-link,
.tax-product_cat ul.products li.product .np-card-title-link,
.tax-product_tag ul.products li.product .np-card-title-link {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.woocommerce-shop ul.products li.product .price,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.woocommerce-shop ul.products li.product .price .amount,
.post-type-archive-product ul.products li.product .price .amount,
.tax-product_cat ul.products li.product .price .amount,
.tax-product_tag ul.products li.product .price .amount,
.woocommerce-shop ul.products li.product .np-card-price,
.post-type-archive-product ul.products li.product .np-card-price,
.tax-product_cat ul.products li.product .np-card-price,
.tax-product_tag ul.products li.product .np-card-price,
.woocommerce-shop ul.products li.product .np-card-price .amount,
.post-type-archive-product ul.products li.product .np-card-price .amount,
.tax-product_cat ul.products li.product .np-card-price .amount,
.tax-product_tag ul.products li.product .np-card-price .amount {
    font-size: 1.3rem !important;
}

.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 42px !important;
    clear: both !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers {
    justify-content: center !important;
    margin-inline: auto !important;
}

/* Nasconde il breadcrumb solo nelle pagine catalogo. */
.woocommerce-shop .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.woocommerce-shop .ast-breadcrumbs-wrapper,
.post-type-archive-product .ast-breadcrumbs-wrapper,
.tax-product_cat .ast-breadcrumbs-wrapper,
.tax-product_tag .ast-breadcrumbs-wrapper {
    display: none !important;
}

/* Titolo e filtri catalogo shop. */
.woocommerce-shop .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
    margin: 28px 0 22px !important;
    text-align: center !important;
}

.woocommerce-shop .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title,
.woocommerce-shop .page-title,
.post-type-archive-product .page-title {
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce-shop .np-filter-bar,
.post-type-archive-product .np-filter-bar,
.tax-product_cat .np-filter-bar,
.tax-product_tag .np-filter-bar {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    align-items: center !important;
}

.np-filter-sort {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
}

.np-filter-sort .woocommerce-ordering {
    float: none !important;
    margin: 0 !important;
}

.np-filter-sort .woocommerce-ordering select {
    min-width: 190px !important;
    height: 42px !important;
}

@media (max-width: 900px) {
    .np-filter-sort {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .np-filter-sort .woocommerce-ordering,
    .np-filter-sort .woocommerce-ordering select {
        width: 100% !important;
    }
}

/* Nasconde sempre i meta/categorie WooCommerce in basso nella scheda prodotto. */
.single-product .product_meta,
.single-product .product_meta *,
.single-product .posted_in,
.single-product .posted_in *,
.single-product .tagged_as,
.single-product .tagged_as *,
.single-product .cat-links,
.single-product .cat-links *,
.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .ast-woo-product-category,
.single-product div.product > .ast-woo-product-category {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Nasconde stelle e richiami recensioni su card e schede prodotto. */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-rating,
.woocommerce ul.products li.product .review-rating,
.woocommerce ul.products li.product .ast-woo-product-rating,
.single-product .star-rating,
.single-product .woocommerce-product-rating,
.single-product .review-rating,
.single-product .ast-woo-product-rating,
.single-product .woocommerce-review-link,
.single-product #reviews,
.single-product .woocommerce-Reviews {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Blocco finale: elimina qualsiasi output categorie/meta sotto i pulsanti prodotto. */
body.single-product div.product .product_meta,
body.single-product div.product .product_meta *,
body.single-product div.product .posted_in,
body.single-product div.product .posted_in *,
body.single-product div.product .tagged_as,
body.single-product div.product .tagged_as *,
body.single-product div.product .ast-woo-product-category:not(.np-single-product-category),
body.single-product div.product .ast-woo-product-category:not(.np-single-product-category) *,
body.single-product .summary.entry-summary > a[rel="tag"],
body.single-product .summary.entry-summary > span:not(.np-single-product-category) > a[rel="tag"],
body.single-product .summary.entry-summary > div:not(.np-single-product-kicker) > a[rel="tag"],
body.single-product .summary.entry-summary > p > a[rel="tag"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Nasconde sempre i meta/categorie WooCommerce in basso nella scheda prodotto. */
.single-product .product_meta,
.single-product .product_meta *,
.single-product .posted_in,
.single-product .posted_in *,
.single-product .tagged_as,
.single-product .tagged_as *,
.single-product .cat-links,
.single-product .cat-links *,
.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .ast-woo-product-category,
.single-product div.product > .ast-woo-product-category {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Titolo e filtri catalogo shop. */
.woocommerce-shop .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
    margin: 28px 0 22px !important;
    text-align: center !important;
}

.woocommerce-shop .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title,
.woocommerce-shop .page-title,
.post-type-archive-product .page-title {
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce-shop .np-filter-bar,
.post-type-archive-product .np-filter-bar,
.tax-product_cat .np-filter-bar,
.tax-product_tag .np-filter-bar {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    align-items: center !important;
}

.np-filter-sort {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
}

.np-filter-sort .woocommerce-ordering {
    float: none !important;
    margin: 0 !important;
}

.np-filter-sort .woocommerce-ordering select {
    min-width: 190px !important;
    height: 42px !important;
}

@media (max-width: 900px) {
    .np-filter-sort {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .np-filter-sort .woocommerce-ordering,
    .np-filter-sort .woocommerce-ordering select {
        width: 100% !important;
    }
}

/* Titolo e filtri catalogo shop. */
.woocommerce-shop .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
    margin: 28px 0 22px !important;
    text-align: center !important;
}

.woocommerce-shop .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title,
.woocommerce-shop .page-title,
.post-type-archive-product .page-title {
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce-shop .np-filter-bar,
.post-type-archive-product .np-filter-bar,
.tax-product_cat .np-filter-bar,
.tax-product_tag .np-filter-bar {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    align-items: center !important;
}

.np-filter-sort {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
}

.np-filter-sort .woocommerce-ordering {
    float: none !important;
    margin: 0 !important;
}

.np-filter-sort .woocommerce-ordering select {
    min-width: 190px !important;
    height: 42px !important;
}

@media (max-width: 900px) {
    .np-filter-sort {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .np-filter-sort .woocommerce-ordering,
    .np-filter-sort .woocommerce-ordering select {
        width: 100% !important;
    }
}

/* Nasconde il breadcrumb solo nelle pagine catalogo. */
.woocommerce-shop .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.woocommerce-shop .ast-breadcrumbs-wrapper,
.post-type-archive-product .ast-breadcrumbs-wrapper,
.tax-product_cat .ast-breadcrumbs-wrapper,
.tax-product_tag .ast-breadcrumbs-wrapper {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   FIX FINALE — catalogo shop e paginazione
   Deve restare ultimo nel file.
   ══════════════════════════════════════════════════════════════ */

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.woocommerce-shop ul.products li.product .np-card-title,
.post-type-archive-product ul.products li.product .np-card-title,
.tax-product_cat ul.products li.product .np-card-title,
.tax-product_tag ul.products li.product .np-card-title,
.woocommerce-shop ul.products li.product .np-card-title-link,
.post-type-archive-product ul.products li.product .np-card-title-link,
.tax-product_cat ul.products li.product .np-card-title-link,
.tax-product_tag ul.products li.product .np-card-title-link {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.woocommerce-shop ul.products li.product .price,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.woocommerce-shop ul.products li.product .price .amount,
.post-type-archive-product ul.products li.product .price .amount,
.tax-product_cat ul.products li.product .price .amount,
.tax-product_tag ul.products li.product .price .amount,
.woocommerce-shop ul.products li.product .np-card-price,
.post-type-archive-product ul.products li.product .np-card-price,
.tax-product_cat ul.products li.product .np-card-price,
.tax-product_tag ul.products li.product .np-card-price,
.woocommerce-shop ul.products li.product .np-card-price .amount,
.post-type-archive-product ul.products li.product .np-card-price .amount,
.tax-product_cat ul.products li.product .np-card-price .amount,
.tax-product_tag ul.products li.product .np-card-price .amount {
    font-size: 1.3rem !important;
}

.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 42px !important;
    clear: both !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers {
    justify-content: center !important;
    margin-inline: auto !important;
}

/* ══════════════════════════════════════════════════════════════
   FIX FINALE — tipografia prodotti correlati
   ══════════════════════════════════════════════════════════════ */

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .np-card-title,
.single-product .upsells.products ul.products li.product .np-card-title,
.single-product .related.products ul.products li.product .np-card-title-link,
.single-product .upsells.products ul.products li.product .np-card-title-link {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .price,
.single-product .related.products ul.products li.product .np-card-price,
.single-product .upsells.products ul.products li.product .np-card-price,
.single-product .related.products ul.products li.product .np-card-price .amount,
.single-product .upsells.products ul.products li.product .np-card-price .amount {
    font-size: 1.3rem !important;
}

.single-product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

.single-product form.cart .quantity,
.single-product form.cart .quantity input.qty {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    margin: 0 !important;
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
}

.single-product .np-klarna-moved {
    order: 7 !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
}

.single-product .np-trust-signals {
    order: 8 !important;
}

/* ══════════════════════════════════════════════════════════════
   21. FIX FINALI v14 — specs a 2 colonne e categoria residua
   ══════════════════════════════════════════════════════════════ */

.single-product .woocommerce-product-gallery > .np-specs-table,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery,
.single-product div.product > .np-specs-table {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .ast-woo-product-category,
.single-product .summary.entry-summary > .posted_in,
.single-product .entry-summary > .posted_in,
.single-product .summary.entry-summary > .product_meta,
.single-product .entry-summary > .product_meta {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .np-klarna-moved {
    order: 7 !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
}

.single-product .np-klarna-moved + .np-trust-signals {
    margin-top: 14px !important;
}

/* Ultimo override: deve restare in fondo al file. */
.single-product .summary.entry-summary > form.cart,
.single-product .entry-summary > form.cart,
.single-product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

.single-product form.cart .quantity,
.single-product form.cart .quantity input.qty {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    margin: 0 !important;
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
}

/* ══════════════════════════════════════════════════════════════
   20. FIX FINALI v13 — override ultimo per form carrello
   ══════════════════════════════════════════════════════════════ */

.single-product .summary.entry-summary > form.cart,
.single-product .entry-summary > form.cart,
.single-product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

.single-product form.cart .quantity,
.single-product form.cart .quantity input.qty {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    margin: 0 !important;
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
}

/* ══════════════════════════════════════════════════════════════
   19. FIX FINALI v12 — form carrello flex e Klarna fallback
   ══════════════════════════════════════════════════════════════ */

.single-product .summary.entry-summary > form.cart,
.single-product .entry-summary > form.cart,
.single-product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

.single-product form.cart .quantity {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    margin: 0 !important;
}

.single-product form.cart .quantity input.qty {
    width: 64px !important;
    min-width: 64px !important;
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
}

.single-product .np-klarna-moved {
    order: 7 !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
}

.single-product .woocommerce-product-gallery .np-specs-table {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    background: transparent !important;
    border: 1px solid rgba(26,22,18,.1) !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin: 16px 0 0 !important;
    overflow: hidden !important;
}

.single-product .woocommerce-product-gallery .np-spec-row {
    min-width: 0 !important;
    padding: 12px 14px !important;
    border-right: 1px solid rgba(26,22,18,.08) !important;
    background: rgba(244,241,236,.45) !important;
}

.single-product .woocommerce-product-gallery .np-spec-row:last-child {
    border-right: 0 !important;
}

.single-product .woocommerce-product-gallery .np-spec-label {
    font-size: 9px !important;
    color: #8b8278 !important;
    letter-spacing: .12em !important;
}

.single-product .woocommerce-product-gallery .np-spec-value {
    margin-top: 4px !important;
    font-size: .86rem !important;
    color: #1a1612 !important;
}

.single-product .summary.entry-summary > .np-specs-table,
.single-product .entry-summary > .np-specs-table {
    display: none !important;
}

@media (max-width: 900px) {
    .site-header .ast-container,
    .main-header-bar .ast-container,
    .ast-primary-header-bar .ast-container,
    .site-content .ast-container,
    .site-footer .ast-container,
    .site-footer .elementor-container,
    .site-footer .e-con-inner {
        width: min(100% - 28px, var(--np-site-width)) !important;
    }

    .single-product div.product {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .single-product .woocommerce-product-gallery .np-specs-table {
        grid-template-columns: 1fr !important;
    }

    .single-product .woocommerce-product-gallery .np-spec-row {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(26,22,18,.08) !important;
    }

    .single-product .woocommerce-product-gallery .np-spec-row:last-child {
        border-bottom: 0 !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   15. FIX FINALI v8 — ordine reale summary e specs sotto gallery
   ══════════════════════════════════════════════════════════════ */

.single-product .summary.entry-summary > *,
.single-product .entry-summary > * {
    order: 50 !important;
}

.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .ast-woo-product-category,
.single-product .summary.entry-summary > .posted_in,
.single-product .entry-summary > .posted_in,
.single-product .summary.entry-summary > .product_meta,
.single-product .entry-summary > .product_meta {
    display: none !important;
}

.single-product .summary.entry-summary > .np-single-product-kicker,
.single-product .entry-summary > .np-single-product-kicker {
    order: 1 !important;
}

.single-product .summary.entry-summary > .product_title,
.single-product .entry-summary > .product_title {
    order: 2 !important;
}

.single-product .summary.entry-summary > .np-long-product-description,
.single-product .entry-summary > .np-long-product-description {
    order: 3 !important;
}

.single-product .summary.entry-summary > .price,
.single-product .entry-summary > .price {
    order: 4 !important;
}

.single-product .summary.entry-summary > form.cart,
.single-product .entry-summary > form.cart {
    order: 5 !important;
}

.single-product .summary.entry-summary > [class*="payment-request"],
.single-product .summary.entry-summary > [id*="payment-request"],
.single-product .summary.entry-summary > [class*="express-checkout"],
.single-product .summary.entry-summary > .wc-stripe-product-checkout-container,
.single-product .summary.entry-summary > .wcpay-payment-request-wrapper,
.single-product .summary.entry-summary > #wcpay-payment-request-wrapper,
.single-product .entry-summary > [class*="payment-request"],
.single-product .entry-summary > [id*="payment-request"],
.single-product .entry-summary > [class*="express-checkout"],
.single-product .entry-summary > .wc-stripe-product-checkout-container,
.single-product .entry-summary > .wcpay-payment-request-wrapper,
.single-product .entry-summary > #wcpay-payment-request-wrapper {
    order: 6 !important;
}

.single-product .summary.entry-summary > [class*="klarna" i],
.single-product .summary.entry-summary > [id*="klarna" i],
.single-product .summary.entry-summary > klarna-placement,
.single-product .entry-summary > [class*="klarna" i],
.single-product .entry-summary > [id*="klarna" i],
.single-product .entry-summary > klarna-placement {
    order: 7 !important;
    display: block !important;
}

.single-product .summary.entry-summary > .np-trust-signals,
.single-product .entry-summary > .np-trust-signals {
    order: 8 !important;
}

.single-product div.product > .np-specs-table {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-self: start !important;
    gap: 0 !important;
    width: 100% !important;
    background: transparent !important;
    border: 1px solid rgba(26,22,18,.1) !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin: 16px 0 0 !important;
    overflow: hidden !important;
}

.single-product div.product > .np-specs-table .np-spec-row {
    min-width: 0 !important;
    padding: 12px 14px !important;
    border-right: 1px solid rgba(26,22,18,.08) !important;
    background: rgba(244,241,236,.45) !important;
}

.single-product div.product > .np-specs-table .np-spec-row:last-child {
    border-right: 0 !important;
}

.single-product div.product > .np-specs-table .np-spec-label {
    font-size: 9px !important;
    color: #8b8278 !important;
    letter-spacing: .12em !important;
}

.single-product div.product > .np-specs-table .np-spec-value {
    margin-top: 4px !important;
    font-size: .86rem !important;
    color: #1a1612 !important;
}

@media (max-width: 900px) {
    .single-product div.product > .np-specs-table {
        grid-column: 1 !important;
        grid-row: auto !important;
        grid-template-columns: 1fr !important;
    }

    .single-product div.product > .np-specs-table .np-spec-row {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(26,22,18,.08) !important;
    }

    .single-product div.product > .np-specs-table .np-spec-row:last-child {
        border-bottom: 0 !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   16. FIX FINALI v9 — Klarna, specs sotto thumbnail, no short desc
   ══════════════════════════════════════════════════════════════ */

.single-product .woocommerce-product-details__short-description:not(.np-long-product-description),
.single-product .summary.entry-summary > .woocommerce-product-details__short-description:not(.np-long-product-description),
.single-product .entry-summary > .woocommerce-product-details__short-description:not(.np-long-product-description) {
    display: none !important;
}

.single-product .np-long-product-description {
    display: block !important;
}

.single-product .np-klarna-moved,
.single-product [class*="klarna" i].np-klarna-moved,
.single-product [id*="klarna" i].np-klarna-moved {
    display: block !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
}

.single-product .np-klarna-moved + .np-trust-signals,
.single-product .np-trust-signals {
    margin-top: 16px !important;
}

.single-product .woocommerce-product-gallery > .np-specs-table,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    background: transparent !important;
    border: 1px solid rgba(26,22,18,.1) !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin: 14px 0 0 !important;
    overflow: hidden !important;
}

.single-product .woocommerce-product-gallery > .np-specs-table .np-spec-row,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery .np-spec-row {
    min-width: 0 !important;
    padding: 11px 13px !important;
    border-right: 1px solid rgba(26,22,18,.08) !important;
    background: rgba(244,241,236,.42) !important;
}

.single-product .woocommerce-product-gallery > .np-specs-table .np-spec-row:last-child,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery .np-spec-row:last-child {
    border-right: 0 !important;
}

.single-product .woocommerce-product-gallery > .np-specs-table .np-spec-label,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery .np-spec-label {
    font-size: 9px !important;
    color: #8b8278 !important;
    letter-spacing: .12em !important;
}

.single-product .woocommerce-product-gallery > .np-specs-table .np-spec-value,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery .np-spec-value {
    margin-top: 4px !important;
    font-size: .84rem !important;
    color: #1a1612 !important;
}

@media (max-width: 900px) {
    .single-product .woocommerce-product-gallery > .np-specs-table,
    .single-product .woocommerce-product-gallery > .np-specs-under-gallery {
        grid-template-columns: 1fr !important;
    }

    .single-product .woocommerce-product-gallery > .np-specs-table .np-spec-row,
    .single-product .woocommerce-product-gallery > .np-specs-under-gallery .np-spec-row {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(26,22,18,.08) !important;
    }

    .single-product .woocommerce-product-gallery > .np-specs-table .np-spec-row:last-child,
    .single-product .woocommerce-product-gallery > .np-specs-under-gallery .np-spec-row:last-child {
        border-bottom: 0 !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   17. FIX FINALI v10 — ordine checkout e specifiche gallery
   ══════════════════════════════════════════════════════════════ */

.single-product .woocommerce-product-gallery .flex-control-thumbs + .np-specs-table,
.single-product .woocommerce-product-gallery .flex-control-thumbs + .np-specs-under-gallery {
    margin-top: 14px !important;
}

.single-product .woocommerce-product-gallery > .np-specs-table,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery {
    position: static !important;
    transform: none !important;
    clear: both !important;
}

.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .summary.entry-summary > .posted_in,
.single-product .summary.entry-summary > .product_meta,
.single-product .summary.entry-summary .ast-woo-product-category:not(.np-single-product-category),
.single-product .entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .posted_in,
.single-product .entry-summary > .product_meta,
.single-product .entry-summary .ast-woo-product-category:not(.np-single-product-category) {
    display: none !important;
}

.single-product .summary.entry-summary > .price,
.single-product .entry-summary > .price {
    margin-bottom: 16px !important;
    padding-left: 0 !important;
}

.single-product form.cart {
    margin: 0 0 12px !important;
    padding: 0 !important;
    align-items: stretch !important;
}

.single-product form.cart .quantity,
.single-product .quantity {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.single-product .summary.entry-summary > [class*="payment-request"],
.single-product .summary.entry-summary > [id*="payment-request"],
.single-product .summary.entry-summary > [class*="express-checkout"],
.single-product .summary.entry-summary > .wc-stripe-product-checkout-container,
.single-product .summary.entry-summary > .wcpay-payment-request-wrapper,
.single-product .summary.entry-summary > #wcpay-payment-request-wrapper,
.single-product .entry-summary > [class*="payment-request"],
.single-product .entry-summary > [id*="payment-request"],
.single-product .entry-summary > [class*="express-checkout"],
.single-product .entry-summary > .wc-stripe-product-checkout-container,
.single-product .entry-summary > .wcpay-payment-request-wrapper,
.single-product .entry-summary > #wcpay-payment-request-wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.single-product .np-klarna-moved,
.single-product [class*="klarna" i].np-klarna-moved,
.single-product [id*="klarna" i].np-klarna-moved {
    margin: 8px 0 0 !important;
}

.single-product .np-klarna-moved + .np-trust-signals,
.single-product .np-trust-signals {
    margin-top: 14px !important;
}

/* ══════════════════════════════════════════════════════════════
   18. FIX FINALI v11 — form full width e Klarna sopra trust
   ══════════════════════════════════════════════════════════════ */

.single-product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

.single-product form.cart .quantity,
.single-product form.cart .quantity input.qty {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    margin: 0 !important;
}

.single-product form.cart .single_add_to_cart_button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
}

.single-product [class*="payment-request"],
.single-product [id*="payment-request"],
.single-product [class*="express-checkout"],
.single-product .wc-stripe-product-checkout-container,
.single-product .wcpay-payment-request-wrapper,
.single-product #wcpay-payment-request-wrapper {
    width: 100% !important;
    max-width: 100% !important;
}

.single-product .np-klarna-moved {
    order: 6 !important;
}

.single-product .np-trust-signals {
    order: 8 !important;
}

/* v14 finale: specifiche a due colonne, niente categoria residua. */
.single-product .woocommerce-product-gallery > .np-specs-table,
.single-product .woocommerce-product-gallery > .np-specs-under-gallery,
.single-product div.product > .np-specs-table {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .ast-woo-product-category,
.single-product .summary.entry-summary > .posted_in,
.single-product .entry-summary > .posted_in,
.single-product .summary.entry-summary > .product_meta,
.single-product .entry-summary > .product_meta {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ══════════════════════════════════════════════════════════════
   FIX FINALE — tipografia prodotti correlati
   Deve restare ultimo nel file.
   ══════════════════════════════════════════════════════════════ */

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .np-card-title,
.single-product .upsells.products ul.products li.product .np-card-title,
.single-product .related.products ul.products li.product .np-card-title-link,
.single-product .upsells.products ul.products li.product .np-card-title-link {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .price,
.single-product .related.products ul.products li.product .price .amount,
.single-product .upsells.products ul.products li.product .price .amount,
.single-product .related.products ul.products li.product .np-card-price,
.single-product .upsells.products ul.products li.product .np-card-price,
.single-product .related.products ul.products li.product .np-card-price .amount,
.single-product .upsells.products ul.products li.product .np-card-price .amount {
    font-size: 1.3rem !important;
}

/* ══════════════════════════════════════════════════════════════
   FIX FINALE — catalogo shop e paginazione
   Deve restare ultimo nel file.
   ══════════════════════════════════════════════════════════════ */

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.woocommerce-shop ul.products li.product .np-card-title,
.post-type-archive-product ul.products li.product .np-card-title,
.tax-product_cat ul.products li.product .np-card-title,
.tax-product_tag ul.products li.product .np-card-title,
.woocommerce-shop ul.products li.product .np-card-title-link,
.post-type-archive-product ul.products li.product .np-card-title-link,
.tax-product_cat ul.products li.product .np-card-title-link,
.tax-product_tag ul.products li.product .np-card-title-link {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.woocommerce-shop ul.products li.product .price,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.woocommerce-shop ul.products li.product .price .amount,
.post-type-archive-product ul.products li.product .price .amount,
.tax-product_cat ul.products li.product .price .amount,
.tax-product_tag ul.products li.product .price .amount,
.woocommerce-shop ul.products li.product .np-card-price,
.post-type-archive-product ul.products li.product .np-card-price,
.tax-product_cat ul.products li.product .np-card-price,
.tax-product_tag ul.products li.product .np-card-price,
.woocommerce-shop ul.products li.product .np-card-price .amount,
.post-type-archive-product ul.products li.product .np-card-price .amount,
.tax-product_cat ul.products li.product .np-card-price .amount,
.tax-product_tag ul.products li.product .np-card-price .amount {
    font-size: 1.3rem !important;
}

.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 42px !important;
    clear: both !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers {
    justify-content: center !important;
    margin-inline: auto !important;
}

/* Nasconde il breadcrumb solo nelle pagine catalogo. */
.woocommerce-shop .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.woocommerce-shop .ast-breadcrumbs-wrapper,
.post-type-archive-product .ast-breadcrumbs-wrapper,
.tax-product_cat .ast-breadcrumbs-wrapper,
.tax-product_tag .ast-breadcrumbs-wrapper {
    display: none !important;
}

/* Titolo e filtri catalogo shop. */
.woocommerce-shop .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
    margin: 28px 0 22px !important;
    text-align: center !important;
}

.woocommerce-shop .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title,
.woocommerce-shop .page-title,
.post-type-archive-product .page-title {
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce-shop .np-filter-bar,
.post-type-archive-product .np-filter-bar,
.tax-product_cat .np-filter-bar,
.tax-product_tag .np-filter-bar {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    align-items: center !important;
}

.np-filter-sort {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
}

.np-filter-sort .woocommerce-ordering {
    float: none !important;
    margin: 0 !important;
}

.np-filter-sort .woocommerce-ordering select {
    min-width: 190px !important;
    height: 42px !important;
}

@media (max-width: 900px) {
    .np-filter-sort {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .np-filter-sort .woocommerce-ordering,
    .np-filter-sort .woocommerce-ordering select {
        width: 100% !important;
    }
}

/* Nasconde sempre i meta/categorie WooCommerce in basso nella scheda prodotto. */
.single-product .product_meta,
.single-product .product_meta *,
.single-product .posted_in,
.single-product .posted_in *,
.single-product .tagged_as,
.single-product .tagged_as *,
.single-product .cat-links,
.single-product .cat-links *,
.single-product .summary.entry-summary > .ast-woo-product-category,
.single-product .entry-summary > .ast-woo-product-category,
.single-product div.product > .ast-woo-product-category {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Nasconde stelle e richiami recensioni su card e schede prodotto. */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-rating,
.woocommerce ul.products li.product .review-rating,
.woocommerce ul.products li.product .ast-woo-product-rating,
.single-product .star-rating,
.single-product .woocommerce-product-rating,
.single-product .review-rating,
.single-product .ast-woo-product-rating,
.single-product .woocommerce-review-link,
.single-product #reviews,
.single-product .woocommerce-Reviews {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Blocco finale: elimina qualsiasi output categorie/meta sotto i pulsanti prodotto. */
body.single-product div.product .product_meta,
body.single-product div.product .product_meta *,
body.single-product div.product .posted_in,
body.single-product div.product .posted_in *,
body.single-product div.product .tagged_as,
body.single-product div.product .tagged_as *,
body.single-product div.product .ast-woo-product-category:not(.np-single-product-category),
body.single-product div.product .ast-woo-product-category:not(.np-single-product-category) *,
body.single-product .summary.entry-summary > a[rel="tag"],
body.single-product .summary.entry-summary > span:not(.np-single-product-category) > a[rel="tag"],
body.single-product .summary.entry-summary > div:not(.np-single-product-kicker) > a[rel="tag"],
body.single-product .summary.entry-summary > p > a[rel="tag"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Spazio sopra Klarna quando viene riposizionato nella scheda prodotto. */
body.single-product .np-klarna-moved {
    margin-top: 12px !important;
}

/* Footer globale: layout pulito, coerente e responsive. */
.site-footer,
footer.site-footer,
.footer-widget-area,
.ast-footer-widget {
    background: #f7f5f1 !important;
    color: #1f2545 !important;
    border-top: 1px solid rgba(31, 37, 69, 0.14) !important;
    margin-top: 56px !important;
}

.site-footer .ast-container,
.site-footer .elementor-container,
.site-footer .e-con-inner,
.footer-widget-area-inner,
.site-footer .ast-builder-grid-row {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
    padding: 44px 0 38px !important;
    display: grid !important;
    grid-template-columns: minmax(280px, 1.45fr) minmax(160px, .75fr) minmax(160px, .75fr) minmax(260px, 1fr) !important;
    gap: 42px !important;
    align-items: start !important;
}

.site-footer .widget,
.site-footer .footer-widget-area,
.site-footer .ast-footer-html,
.site-footer .elementor-widget {
    margin: 0 !important;
}

.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title,
.site-footer .widgettitle {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #1f2545 !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    letter-spacing: 0 !important;
}

.site-footer p,
.site-footer li,
.site-footer span,
.site-footer a {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: .86rem !important;
    line-height: 1.65 !important;
    color: #1f2545 !important;
}

.site-footer a {
    text-decoration: none !important;
    transition: color .2s ease !important;
}

.site-footer a:hover,
.site-footer a[href^="tel"],
.site-footer a[href^="mailto"],
.site-footer a[href^="+39"] {
    color: #b27a2c !important;
}

.site-footer ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer ul li {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
}

.site-footer .custom-logo-link img,
.site-footer .site-logo img,
.site-footer img.custom-logo {
    max-width: 260px !important;
    width: min(260px, 100%) !important;
    height: auto !important;
    margin-bottom: 20px !important;
}

.site-footer img[src*="ebay"],
.site-footer a[href*="ebay"] img {
    max-width: 68px !important;
    height: auto !important;
    margin-top: 12px !important;
}

.site-footer .site-info,
.ast-small-footer,
.ast-small-footer-wrap,
.site-below-footer-wrap,
.ast-footer-copyright {
    background: #ad7d34 !important;
    color: #fff !important;
    border: 0 !important;
    padding: 14px 24px !important;
    text-align: center !important;
    min-height: 0 !important;
}

.site-footer .site-info *,
.ast-small-footer *,
.ast-small-footer-wrap *,
.site-below-footer-wrap *,
.ast-footer-copyright *,
.ast-footer-copyright p {
    color: #fff !important;
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: .86rem !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

@media (max-width: 1100px) {
    .site-footer .ast-container,
    .site-footer .elementor-container,
    .site-footer .e-con-inner,
    .footer-widget-area-inner,
    .site-footer .ast-builder-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 32px !important;
    }
}

@media (max-width: 680px) {
    .site-footer,
    footer.site-footer,
    .footer-widget-area,
    .ast-footer-widget {
        margin-top: 36px !important;
    }

    .site-footer .ast-container,
    .site-footer .elementor-container,
    .site-footer .e-con-inner,
    .footer-widget-area-inner,
    .site-footer .ast-builder-grid-row {
        width: min(100% - 32px, 1420px) !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 34px 0 30px !important;
        text-align: left !important;
    }

    .site-footer .custom-logo-link img,
    .site-footer .site-logo img,
    .site-footer img.custom-logo {
        max-width: 220px !important;
    }
}

/* Elimina anche i separatori testuali rimasti da categorie nascoste. */
body.single-product .summary.entry-summary p:has(a[rel="tag"]),
body.single-product .summary.entry-summary div:has(> a[rel="tag"]),
body.single-product .entry-summary p:has(a[rel="tag"]),
body.single-product .entry-summary div:has(> a[rel="tag"]) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Spazio sopra il badge Periziata / Certificata nella scheda prodotto. */
body.single-product .np-badge-perizia {
    margin-top: 12px !important;
}

/* Gallery prodotto: fallback statico quando una miniatura aggiorna la preview. */
body.single-product .woocommerce-product-gallery.np-gallery-static .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    transform: none !important;
}

body.single-product .woocommerce-product-gallery.np-gallery-static .woocommerce-product-gallery__image:first-child,
body.single-product .woocommerce-product-gallery.np-gallery-static .woocommerce-product-gallery__image:first-child a,
body.single-product .woocommerce-product-gallery.np-gallery-static .woocommerce-product-gallery__image:first-child img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Disponibilità prodotto più chiara e tradotta. */
body.single-product .summary.entry-summary .stock,
body.single-product .entry-summary .stock,
body.single-product div.product .stock {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: fit-content !important;
    margin: 10px 0 14px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    background: #eef8ee !important;
    color: #2e7d32 !important;
    border: 1px solid rgba(46, 125, 50, .18) !important;
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

body.single-product .summary.entry-summary .stock::before,
body.single-product .entry-summary .stock::before,
body.single-product div.product .stock::before {
    content: "";
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    flex: 0 0 8px !important;
}

body.single-product .summary.entry-summary .stock.out-of-stock,
body.single-product .entry-summary .stock.out-of-stock,
body.single-product div.product .stock.out-of-stock {
    background: #fff2f0 !important;
    color: #b42318 !important;
    border-color: rgba(180, 35, 24, .18) !important;
}

/* Correlati: forza immagini visibili anche se le animazioni/lazy state non partono. */
body.single-product .related.products ul.products li.product,
body.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap,
body.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap a,
body.single-product .related.products ul.products li.product .woocommerce-loop-product__link,
body.single-product .related.products ul.products li.product img {
    opacity: 1 !important;
    visibility: visible !important;
}

body.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap {
    display: block !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
}

body.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap img,
body.single-product .related.products ul.products li.product img.wp-post-image,
body.single-product .related.products ul.products li.product a img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
}

/* Card prodotto: rimuove icona flottante carrello/wishlist in alto a destra. */
.woocommerce ul.products li.product .np-wishlist-btn,
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product .ast-card-action-tooltip,
.woocommerce ul.products li.product .ast-quick-view,
.woocommerce ul.products li.product .ast-quick-view-button,
.woocommerce ul.products li.product .quick-view,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Correlati: override finale ancora più specifico per link/immagine thumbnail. */
body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link,
body.single-product section.related.products ul.products li.product a.ast-loop-product__link,
body.single-product section.related.products ul.products li.product .astra-shop-thumbnail-wrap a {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: transparent !important;
}

body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link img,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link img,
body.single-product section.related.products ul.products li.product a.ast-loop-product__link img,
body.single-product section.related.products ul.products li.product .astra-shop-thumbnail-wrap img,
body.single-product section.related.products ul.products li.product img.attachment-woocommerce_thumbnail,
body.single-product section.related.products ul.products li.product img.wp-post-image {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
    filter: none !important;
}

/* Footer: forza visibilità contenuti Legal anche se il widget non ha link attivi. */
.site-footer .widget_nav_menu,
.site-footer .widget_nav_menu *,
.site-footer [class*="legal" i],
.site-footer [class*="legal" i] *,
.site-footer h2 + ul,
.site-footer h3 + ul,
.site-footer h4 + ul {
    display: revert !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.site-footer .widget_nav_menu a,
.site-footer [class*="legal" i] a,
.site-footer a[href*="privacy"],
.site-footer a[href*="cookie"],
.site-footer a[href*="termin"],
.site-footer a[href*="condizioni"],
.site-footer a[href*="refund"],
.site-footer a[href*="reso"] {
    color: #1f2545 !important;
    text-decoration: none !important;
}

.site-footer .widget_nav_menu a:hover,
.site-footer [class*="legal" i] a:hover {
    color: #b27a2c !important;
}

/* Fix definitivo card: nessuna icona flottante in alto. */
body .woocommerce ul.products li.product .np-wishlist-btn,
body .woocommerce ul.products li.product .ast-on-card-button,
body .woocommerce ul.products li.product .ast-card-action-tooltip,
body .woocommerce ul.products li.product .ast-quick-view,
body .woocommerce ul.products li.product .ast-quick-view-button,
body .woocommerce ul.products li.product .quick-view,
body .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist,
body .woocommerce ul.products li.product [class*="wishlist"],
body .woocommerce ul.products li.product [class*="quick-view"],
body .woocommerce ul.products li.product [class*="compare"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Fix definitivo immagini correlate: usa il fallback PHP come thumbnail reale. */
body.single-product .related.products ul.products li.product .np-related-thumb-fallback {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f4f1ec !important;
}

body.single-product .related.products ul.products li.product .np-related-thumb-fallback img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 0 !important;
    filter: none !important;
}

body.single-product .related.products ul.products li.product .np-related-thumb-fallback + .astra-shop-thumbnail-wrap,
body.single-product .related.products ul.products li.product .np-related-thumb-fallback + img,
body.single-product .related.products ul.products li.product .np-related-thumb-fallback ~ .astra-shop-thumbnail-wrap {
    display: none !important;
}

/* Footer Legal: mostra chiaramente i link se presenti nel widget. */
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title,
.site-footer .widgettitle,
.site-footer .menu,
.site-footer .menu *,
.site-footer nav,
.site-footer nav *,
.site-footer .widget_pages,
.site-footer .widget_pages *,
.site-footer .widget_meta,
.site-footer .widget_meta * {
    visibility: visible !important;
    opacity: 1 !important;
}

.site-footer .menu a,
.site-footer nav a,
.site-footer .widget_pages a,
.site-footer .widget_meta a {
    display: inline-block !important;
    color: #1f2545 !important;
    font-size: .86rem !important;
    line-height: 1.65 !important;
}

/* Template card custom: immagine sempre visibile, niente overlay. */
.woocommerce ul.products li.product.np-loop-product-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product.np-loop-product-card .np-loop-product-image-link {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f4f1ec !important;
}

.woocommerce ul.products li.product.np-loop-product-card .np-loop-product-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 0 !important;
    transform: none !important;
}

.woocommerce ul.products li.product.np-loop-product-card .np-loop-product-summary {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 0 14px 14px !important;
}

.woocommerce ul.products li.product.np-loop-product-card .button,
.woocommerce ul.products li.product.np-loop-product-card a.button {
    margin-top: auto !important;
}

.woocommerce ul.products li.product.np-loop-product-card > .button:not(.add_to_cart_button),
.woocommerce ul.products li.product.np-loop-product-card > a.button:not(.add_to_cart_button),
.woocommerce ul.products li.product.np-loop-product-card .np-loop-product-image-link .button,
.woocommerce ul.products li.product.np-loop-product-card .np-loop-product-image-link .add_to_cart_button {
    display: none !important;
}

/* Homepage 2026: hero full width e sezioni coerenti con catalogo/prodotto. */
body.home .site-content,
body.front-page .site-content,
body.home .site-content .ast-container,
body.front-page .site-content .ast-container,
body.home #primary,
body.front-page #primary,
body.home .site-main,
body.front-page .site-main,
body.home .entry-content,
body.front-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home .entry-content > .elementor,
body.front-page .entry-content > .elementor {
    width: 100% !important;
    max-width: none !important;
}

body.home .entry-content .elementor-section:first-of-type,
body.front-page .entry-content .elementor-section:first-of-type,
body.home .entry-content .elementor-section.elementor-top-section:first-of-type,
body.front-page .entry-content .elementor-section.elementor-top-section:first-of-type {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    min-height: clamp(560px, 78vh, 820px) !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    padding: clamp(72px, 9vw, 132px) 24px !important;
    background-size: cover !important;
    background-position: center !important;
}

body.home .entry-content .elementor-section:first-of-type > .elementor-container,
body.front-page .entry-content .elementor-section:first-of-type > .elementor-container,
body.home .entry-content .elementor-section:first-of-type > .e-con-inner,
body.front-page .entry-content .elementor-section:first-of-type > .e-con-inner {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-heading-title,
body.front-page .entry-content .elementor-section:first-of-type .elementor-heading-title {
    font-size: clamp(3rem, 6vw, 5.8rem) !important;
    line-height: .98 !important;
    max-width: 12ch !important;
    margin-inline: 0 !important;
    letter-spacing: 0 !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-widget-text-editor,
body.front-page .entry-content .elementor-section:first-of-type .elementor-widget-text-editor,
body.home .entry-content .elementor-section:first-of-type p,
body.front-page .entry-content .elementor-section:first-of-type p {
    max-width: 56ch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.home .entry-content .elementor-section:not(:first-of-type) > .elementor-container,
body.front-page .entry-content .elementor-section:not(:first-of-type) > .elementor-container,
body.home .entry-content .elementor-section:not(:first-of-type) > .e-con-inner,
body.front-page .entry-content .elementor-section:not(:first-of-type) > .e-con-inner {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
}

body.home .elementor-widget-heading h2,
body.home .elementor-widget-heading h3,
body.front-page .elementor-widget-heading h2,
body.front-page .elementor-widget-heading h3 {
    letter-spacing: 0 !important;
}

body.home .elementor-widget-image,
body.front-page .elementor-widget-image,
body.home .elementor-image-box-wrapper,
body.front-page .elementor-image-box-wrapper,
body.home .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.front-page .elementor-widget-icon-box .elementor-icon-box-wrapper {
    position: relative !important;
}

body.home .elementor-widget-image a,
body.front-page .elementor-widget-image a,
body.home .elementor-image-box-img a,
body.front-page .elementor-image-box-img a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body.home .elementor-widget-image figure,
body.front-page .elementor-widget-image figure,
body.home .elementor-image-box-img,
body.front-page .elementor-image-box-img {
    border-radius: 8px !important;
    box-shadow: none !important;
}

body.home .np-clickable-card,
body.front-page .np-clickable-card {
    cursor: pointer !important;
}

body.home .np-clickable-card:focus-within,
body.front-page .np-clickable-card:focus-within {
    outline: 2px solid rgba(178, 122, 44, .42) !important;
    outline-offset: 4px !important;
}

@media (max-width: 768px) {
    body.home .entry-content .elementor-section:first-of-type,
    body.front-page .entry-content .elementor-section:first-of-type {
        min-height: 68vh !important;
        padding: 72px 18px !important;
    }

    body.home .entry-content .elementor-section:first-of-type > .elementor-container,
    body.front-page .entry-content .elementor-section:first-of-type > .elementor-container,
    body.home .entry-content .elementor-section:not(:first-of-type) > .elementor-container,
    body.front-page .entry-content .elementor-section:not(:first-of-type) > .elementor-container,
    body.home .entry-content .elementor-section:first-of-type > .e-con-inner,
    body.front-page .entry-content .elementor-section:first-of-type > .e-con-inner,
    body.home .entry-content .elementor-section:not(:first-of-type) > .e-con-inner,
    body.front-page .entry-content .elementor-section:not(:first-of-type) > .e-con-inner {
        width: min(100% - 32px, 1420px) !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE RESTYLE COMPLETO — override finale
   Mantiene immagini/contenuti Elementor, cambia solo layout e UI.
   ══════════════════════════════════════════════════════════════ */

body.home,
body.front-page {
    background: #fbfaf7 !important;
}

body.home .site-content,
body.front-page .site-content,
body.home .site-main,
body.front-page .site-main,
body.home article,
body.front-page article,
body.home .entry-content,
body.front-page .entry-content {
    background: #fbfaf7 !important;
}

body.home .entry-content > *,
body.front-page .entry-content > * {
    margin-top: 0 !important;
}

body.home .entry-content .elementor-section,
body.front-page .entry-content .elementor-section,
body.home .entry-content .e-con,
body.front-page .entry-content .e-con {
    position: relative !important;
}

body.home .entry-content .elementor-section:not(:first-of-type),
body.front-page .entry-content .elementor-section:not(:first-of-type),
body.home .entry-content .e-con:not(:first-of-type),
body.front-page .entry-content .e-con:not(:first-of-type) {
    padding-block: clamp(56px, 7vw, 104px) !important;
}

body.home .entry-content .elementor-section:nth-of-type(even):not(:first-of-type),
body.front-page .entry-content .elementor-section:nth-of-type(even):not(:first-of-type) {
    background: #f3efe8 !important;
}

body.home .entry-content .elementor-section:first-of-type,
body.front-page .entry-content .elementor-section:first-of-type,
body.home .entry-content .elementor-section.elementor-top-section:first-of-type,
body.front-page .entry-content .elementor-section.elementor-top-section:first-of-type {
    min-height: clamp(620px, 84vh, 880px) !important;
    isolation: isolate !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(26, 22, 18, .1) !important;
}

body.home .entry-content .elementor-section:first-of-type::before,
body.front-page .entry-content .elementor-section:first-of-type::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background:
        linear-gradient(90deg, rgba(18, 15, 12, .74) 0%, rgba(18, 15, 12, .54) 38%, rgba(18, 15, 12, .18) 74%, rgba(18, 15, 12, .08) 100%),
        linear-gradient(180deg, rgba(18, 15, 12, .16) 0%, rgba(18, 15, 12, .46) 100%) !important;
    pointer-events: none !important;
}

body.home .entry-content .elementor-section:first-of-type > .elementor-container,
body.front-page .entry-content .elementor-section:first-of-type > .elementor-container,
body.home .entry-content .elementor-section:first-of-type > .e-con-inner,
body.front-page .entry-content .elementor-section:first-of-type > .e-con-inner {
    position: relative !important;
    z-index: 1 !important;
    align-items: center !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-widget-wrap,
body.front-page .entry-content .elementor-section:first-of-type .elementor-widget-wrap {
    align-content: center !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-heading-title,
body.front-page .entry-content .elementor-section:first-of-type .elementor-heading-title {
    color: #fff !important;
    font-family: var(--np-font-display) !important;
    font-size: clamp(3.4rem, 7.4vw, 7.3rem) !important;
    line-height: .9 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 18px 44px rgba(0, 0, 0, .28) !important;
    max-width: 10.5ch !important;
    margin: 0 0 22px !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-widget-text-editor,
body.front-page .entry-content .elementor-section:first-of-type .elementor-widget-text-editor,
body.home .entry-content .elementor-section:first-of-type p,
body.front-page .entry-content .elementor-section:first-of-type p {
    color: rgba(255, 255, 255, .92) !important;
    font-family: var(--np-font-body) !important;
    font-size: clamp(1rem, .9rem + .35vw, 1.22rem) !important;
    line-height: 1.75 !important;
    max-width: 58ch !important;
    text-shadow: 0 10px 28px rgba(0, 0, 0, .24) !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-button,
body.front-page .entry-content .elementor-section:first-of-type .elementor-button,
body.home .entry-content .elementor-section:first-of-type a.elementor-button-link,
body.front-page .entry-content .elementor-section:first-of-type a.elementor-button-link {
    min-height: 52px !important;
    padding: 15px 24px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #1a1612 !important;
    border: 1px solid rgba(255, 255, 255, .5) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .18) !important;
    font-family: var(--np-font-body) !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-button:hover,
body.front-page .entry-content .elementor-section:first-of-type .elementor-button:hover {
    background: #b8893a !important;
    border-color: #b8893a !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

body.home .elementor-widget-heading,
body.front-page .elementor-widget-heading {
    margin-bottom: 20px !important;
}

body.home .elementor-widget-heading h2,
body.home .elementor-widget-heading h3,
body.front-page .elementor-widget-heading h2,
body.front-page .elementor-widget-heading h3 {
    color: #1a1612 !important;
    font-family: var(--np-font-display) !important;
    font-size: clamp(2.3rem, 4vw, 4.25rem) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

body.home .elementor-widget-text-editor,
body.front-page .elementor-widget-text-editor {
    color: #4a423a !important;
    font-family: var(--np-font-body) !important;
    font-size: .98rem !important;
    line-height: 1.75 !important;
}

body.home .elementor-widget-text-editor p,
body.front-page .elementor-widget-text-editor p {
    color: inherit !important;
}

body.home .elementor-widget-image figure,
body.front-page .elementor-widget-image figure,
body.home .elementor-image-box-img,
body.front-page .elementor-image-box-img {
    border-radius: 8px !important;
    background: #f3efe8 !important;
    border: 1px solid rgba(26, 22, 18, .08) !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 5 !important;
}

body.home .elementor-widget-image figure img,
body.front-page .elementor-widget-image figure img,
body.home .elementor-image-box-img img,
body.front-page .elementor-image-box-img img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    transform: none !important;
    filter: none !important;
}

body.home .elementor-widget-image figure::after,
body.front-page .elementor-widget-image figure::after,
body.home .elementor-image-box-img::after,
body.front-page .elementor-image-box-img::after {
    background: linear-gradient(180deg, rgba(26, 22, 18, 0) 42%, rgba(26, 22, 18, .72) 100%) !important;
}

body.home .elementor-widget-image:hover figure img,
body.front-page .elementor-widget-image:hover figure img,
body.home .elementor-image-box-wrapper:hover .elementor-image-box-img img,
body.front-page .elementor-image-box-wrapper:hover .elementor-image-box-img img {
    transform: scale(1.035) !important;
}

body.home .elementor-image-box-wrapper,
body.front-page .elementor-image-box-wrapper,
body.home .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.front-page .elementor-widget-icon-box .elementor-icon-box-wrapper {
    background: #fff !important;
    border: 1px solid rgba(26, 22, 18, .08) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

body.home .elementor-image-box-wrapper:hover,
body.front-page .elementor-image-box-wrapper:hover,
body.home .elementor-widget-icon-box .elementor-icon-box-wrapper:hover,
body.front-page .elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(184, 137, 58, .34) !important;
    box-shadow: 0 16px 38px rgba(26, 22, 18, .08) !important;
}

body.home .elementor-image-box-content,
body.front-page .elementor-image-box-content,
body.home .elementor-icon-box-content,
body.front-page .elementor-icon-box-content {
    padding: 18px !important;
}

body.home .elementor-image-box-title,
body.front-page .elementor-image-box-title,
body.home .elementor-icon-box-title,
body.front-page .elementor-icon-box-title {
    color: #1a1612 !important;
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
    margin: 0 0 8px !important;
}

body.home .elementor-image-box-description,
body.front-page .elementor-image-box-description,
body.home .elementor-icon-box-description,
body.front-page .elementor-icon-box-description {
    color: #5b524a !important;
    font-family: var(--np-font-body) !important;
    font-size: .88rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

body.home .elementor-widget-button .elementor-button,
body.front-page .elementor-widget-button .elementor-button,
body.home .elementor-button,
body.front-page .elementor-button {
    border-radius: 999px !important;
    padding: 13px 21px !important;
    font-family: var(--np-font-body) !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body.home .woocommerce ul.products,
body.front-page .woocommerce ul.products {
    gap: 18px !important;
}

body.home .woocommerce ul.products li.product,
body.front-page .woocommerce ul.products li.product {
    border-radius: 8px !important;
}

body.home .site-footer,
body.front-page .site-footer {
    margin-top: 0 !important;
}

@media (min-width: 1025px) {
    body.home .entry-content .elementor-section:not(:first-of-type):has(.elementor-widget-image),
    body.front-page .entry-content .elementor-section:not(:first-of-type):has(.elementor-widget-image) {
        padding-block: clamp(72px, 8vw, 120px) !important;
    }
}

@media (max-width: 900px) {
    body.home .entry-content .elementor-section:first-of-type,
    body.front-page .entry-content .elementor-section:first-of-type {
        min-height: 72vh !important;
    }

    body.home .entry-content .elementor-section:first-of-type .elementor-heading-title,
    body.front-page .entry-content .elementor-section:first-of-type .elementor-heading-title {
        font-size: clamp(3rem, 12vw, 4.8rem) !important;
        max-width: 11ch !important;
    }
}

@media (max-width: 640px) {
    body.home .entry-content .elementor-section:not(:first-of-type),
    body.front-page .entry-content .elementor-section:not(:first-of-type),
    body.home .entry-content .e-con:not(:first-of-type),
    body.front-page .entry-content .e-con:not(:first-of-type) {
        padding-block: 46px !important;
    }

    body.home .elementor-widget-heading h2,
    body.home .elementor-widget-heading h3,
    body.front-page .elementor-widget-heading h2,
    body.front-page .elementor-widget-heading h3 {
        font-size: clamp(2rem, 12vw, 3.15rem) !important;
    }

    body.home .elementor-image-box-content,
    body.front-page .elementor-image-box-content,
    body.home .elementor-icon-box-content,
    body.front-page .elementor-icon-box-content {
        padding: 16px !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE RESTYLE HARD OVERRIDE
   Usa .np-homepage aggiunta via JS, quindi non dipende da Elementor.
   ══════════════════════════════════════════════════════════════ */

body.np-homepage,
body.np-homepage .site,
body.np-homepage .site-content,
body.np-homepage #content,
body.np-homepage #primary,
body.np-homepage .site-main,
body.np-homepage article,
body.np-homepage .entry-content {
    background: #fbfaf7 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.np-homepage .site-content .ast-container,
body.np-homepage .entry-content {
    padding: 0 !important;
}

body.np-homepage .entry-content > .elementor,
body.np-homepage .elementor,
body.np-homepage .elementor-location-single,
body.np-homepage .elementor-location-archive {
    width: 100% !important;
    max-width: none !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child,
body.np-homepage .entry-content > .elementor > .e-con:first-child,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child,
body.np-homepage .elementor > .elementor-section:first-child,
body.np-homepage .elementor > .e-con:first-child,
body.np-homepage .elementor > .elementor-element:first-child {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: clamp(620px, 86vh, 900px) !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: clamp(86px, 10vw, 150px) max(24px, calc((100vw - 1420px) / 2 + 24px)) !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background-size: cover !important;
    background-position: center !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child::before,
body.np-homepage .entry-content > .elementor > .e-con:first-child::before,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child::before,
body.np-homepage .elementor > .elementor-section:first-child::before,
body.np-homepage .elementor > .e-con:first-child::before,
body.np-homepage .elementor > .elementor-element:first-child::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background:
        linear-gradient(90deg, rgba(18, 15, 12, .78) 0%, rgba(18, 15, 12, .52) 43%, rgba(18, 15, 12, .16) 100%),
        linear-gradient(180deg, rgba(18, 15, 12, .1) 0%, rgba(18, 15, 12, .45) 100%) !important;
    pointer-events: none !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child > *,
body.np-homepage .entry-content > .elementor > .e-con:first-child > *,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child > *,
body.np-homepage .elementor > .elementor-section:first-child > *,
body.np-homepage .elementor > .e-con:first-child > *,
body.np-homepage .elementor > .elementor-element:first-child > * {
    position: relative !important;
    z-index: 1 !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child .elementor-heading-title,
body.np-homepage .elementor > .elementor-section:first-child .elementor-heading-title,
body.np-homepage .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .elementor > .elementor-element:first-child .elementor-heading-title {
    color: #fff !important;
    font-family: var(--np-font-display) !important;
    font-size: clamp(3.6rem, 7.8vw, 7.8rem) !important;
    line-height: .88 !important;
    max-width: 10ch !important;
    margin: 0 0 24px !important;
    letter-spacing: 0 !important;
    text-shadow: 0 18px 46px rgba(0, 0, 0, .3) !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child p,
body.np-homepage .entry-content > .elementor > .e-con:first-child p,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child p,
body.np-homepage .elementor > .elementor-section:first-child p,
body.np-homepage .elementor > .e-con:first-child p,
body.np-homepage .elementor > .elementor-element:first-child p {
    color: rgba(255, 255, 255, .92) !important;
    font-family: var(--np-font-body) !important;
    font-size: clamp(1rem, .9rem + .35vw, 1.22rem) !important;
    line-height: 1.75 !important;
    max-width: 58ch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.np-homepage .entry-content > .elementor > *:not(:first-child),
body.np-homepage .elementor > *:not(:first-child) {
    padding-block: clamp(58px, 7vw, 108px) !important;
}

body.np-homepage .entry-content > .elementor > *:not(:first-child) > .elementor-container,
body.np-homepage .entry-content > .elementor > *:not(:first-child) > .e-con-inner,
body.np-homepage .elementor > *:not(:first-child) > .elementor-container,
body.np-homepage .elementor > *:not(:first-child) > .e-con-inner {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
}

body.np-homepage .elementor-heading-title {
    letter-spacing: 0 !important;
}

body.np-homepage .elementor-widget-heading h2,
body.np-homepage .elementor-widget-heading h3 {
    font-family: var(--np-font-display) !important;
    font-size: clamp(2.25rem, 4vw, 4.35rem) !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    color: #1a1612 !important;
}

body.np-homepage .elementor-widget-text-editor,
body.np-homepage .elementor-widget-text-editor p {
    font-family: var(--np-font-body) !important;
    color: #4a423a !important;
    line-height: 1.75 !important;
}

body.np-homepage .elementor-widget-image figure,
body.np-homepage .elementor-image-box-img {
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid rgba(26, 22, 18, .08) !important;
    background: #f3efe8 !important;
    aspect-ratio: 4 / 5 !important;
}

body.np-homepage .elementor-widget-image img,
body.np-homepage .elementor-image-box-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.np-homepage .elementor-image-box-wrapper,
body.np-homepage .elementor-widget-icon-box .elementor-icon-box-wrapper {
    border-radius: 8px !important;
    border: 1px solid rgba(26, 22, 18, .08) !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

body.np-homepage .elementor-button,
body.np-homepage a.elementor-button-link {
    border-radius: 999px !important;
    font-family: var(--np-font-body) !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

@media (max-width: 768px) {
    body.np-homepage .entry-content > .elementor > .elementor-section:first-child,
    body.np-homepage .entry-content > .elementor > .e-con:first-child,
    body.np-homepage .entry-content > .elementor > .elementor-element:first-child,
    body.np-homepage .elementor > .elementor-section:first-child,
    body.np-homepage .elementor > .e-con:first-child,
    body.np-homepage .elementor > .elementor-element:first-child {
        min-height: 72vh !important;
        padding: 78px 18px !important;
    }

    body.np-homepage .entry-content > .elementor > *:not(:first-child) > .elementor-container,
    body.np-homepage .entry-content > .elementor > *:not(:first-child) > .e-con-inner,
    body.np-homepage .elementor > *:not(:first-child) > .elementor-container,
    body.np-homepage .elementor > *:not(:first-child) > .e-con-inner {
        width: min(100% - 32px, 1420px) !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE — sezioni Elementor specifiche
   Servizi, prodotti e testimonianze.
   ══════════════════════════════════════════════════════════════ */

body.np-homepage .elementor-section:has(.elementor-widget-icon-box),
body.np-homepage .e-con:has(.elementor-widget-icon-box) {
    background: #fbfaf7 !important;
    padding-block: clamp(70px, 7vw, 112px) !important;
}

body.np-homepage .elementor-section:has(.elementor-widget-icon-box) > .elementor-container,
body.np-homepage .e-con:has(.elementor-widget-icon-box) > .e-con-inner {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
}

body.np-homepage .elementor-section:has(.elementor-widget-icon-box) .elementor-row,
body.np-homepage .elementor-section:has(.elementor-widget-icon-box) .elementor-container,
body.np-homepage .e-con:has(.elementor-widget-icon-box) > .e-con-inner {
    gap: 18px !important;
}

body.np-homepage .elementor-widget-icon-box .elementor-icon-box-wrapper {
    min-height: 360px !important;
    padding: clamp(28px, 3vw, 44px) !important;
    background: #f2f0ed !important;
    border: 1px solid rgba(26, 22, 18, .07) !important;
    border-radius: 0 !important;
}

body.np-homepage .elementor-widget-icon-box .elementor-icon {
    color: #b8893a !important;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    margin-bottom: 26px !important;
}

body.np-homepage .elementor-widget-icon-box .elementor-icon-box-title {
    font-family: var(--np-font-display) !important;
    font-size: clamp(3rem, 4.6vw, 5.4rem) !important;
    line-height: .98 !important;
    font-weight: 500 !important;
    color: #1a1612 !important;
    margin-bottom: 28px !important;
}

body.np-homepage .elementor-widget-icon-box .elementor-icon-box-description {
    max-width: 34ch !important;
    color: #45413d !important;
    font-size: .98rem !important;
    line-height: 1.62 !important;
}

body.np-homepage .elementor-widget-icon-box .elementor-button {
    margin-top: 24px !important;
    border: 1px solid #1a1612 !important;
    color: #1a1612 !important;
    background: transparent !important;
    padding: 10px 18px !important;
}

body.np-homepage .elementor-widget-icon-box .elementor-button:hover {
    background: #1a1612 !important;
    color: #fff !important;
}

body.np-homepage .elementor-section:has(.woocommerce ul.products),
body.np-homepage .e-con:has(.woocommerce ul.products) {
    background: #fff !important;
    padding-block: clamp(72px, 7vw, 118px) !important;
}

body.np-homepage .elementor-section:has(.woocommerce ul.products) > .elementor-container,
body.np-homepage .e-con:has(.woocommerce ul.products) > .e-con-inner {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
}

body.np-homepage .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
}

body.np-homepage .woocommerce ul.products li.product {
    border-radius: 8px !important;
    border: 1px solid rgba(26, 22, 18, .09) !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

body.np-homepage .woocommerce ul.products li.product .np-loop-product-image-link,
body.np-homepage .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    aspect-ratio: 1 / 1 !important;
    background: #f4f1ec !important;
}

body.np-homepage .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.np-homepage .woocommerce ul.products li.product .np-card-title {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    min-height: 0 !important;
    margin: 12px 0 10px !important;
}

body.np-homepage .woocommerce ul.products li.product .price,
body.np-homepage .woocommerce ul.products li.product .price .amount {
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: 1.28rem !important;
    font-weight: 800 !important;
    color: #1a1612 !important;
}

body.np-homepage .woocommerce ul.products li.product .button {
    width: calc(100% - 28px) !important;
    margin: 12px 14px 14px !important;
    border-radius: 999px !important;
}

body.np-homepage .elementor-section:has(.woocommerce ul.products) .elementor-widget-button,
body.np-homepage .e-con:has(.woocommerce ul.products) .elementor-widget-button {
    margin-top: 34px !important;
}

body.np-homepage .elementor-section:has(.woocommerce ul.products) .elementor-button,
body.np-homepage .e-con:has(.woocommerce ul.products) .elementor-button {
    background: #ad9659 !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 15px 30px !important;
    border: 0 !important;
}

body.np-homepage .elementor-section:has(.woocommerce ul.products) .elementor-button:hover,
body.np-homepage .e-con:has(.woocommerce ul.products) .elementor-button:hover {
    background: #1a1612 !important;
    color: #fff !important;
}

body.np-homepage .elementor-section:has(.elementor-testimonial-wrapper),
body.np-homepage .elementor-section:has(.elementor-widget-testimonial),
body.np-homepage .e-con:has(.elementor-testimonial-wrapper),
body.np-homepage .e-con:has(.elementor-widget-testimonial) {
    background: #252640 !important;
    color: #fff !important;
    padding-block: clamp(76px, 8vw, 128px) !important;
}

body.np-homepage .elementor-section:has(.elementor-testimonial-wrapper) > .elementor-container,
body.np-homepage .elementor-section:has(.elementor-widget-testimonial) > .elementor-container,
body.np-homepage .e-con:has(.elementor-testimonial-wrapper) > .e-con-inner,
body.np-homepage .e-con:has(.elementor-widget-testimonial) > .e-con-inner {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
}

body.np-homepage .elementor-section:has(.elementor-testimonial-wrapper) .elementor-heading-title,
body.np-homepage .elementor-section:has(.elementor-widget-testimonial) .elementor-heading-title,
body.np-homepage .e-con:has(.elementor-testimonial-wrapper) .elementor-heading-title,
body.np-homepage .e-con:has(.elementor-widget-testimonial) .elementor-heading-title {
    color: #fff !important;
    text-align: center !important;
    font-size: clamp(2.6rem, 5vw, 5.2rem) !important;
}

body.np-homepage .elementor-section:has(.elementor-testimonial-wrapper) p,
body.np-homepage .elementor-section:has(.elementor-widget-testimonial) p,
body.np-homepage .e-con:has(.elementor-testimonial-wrapper) p,
body.np-homepage .e-con:has(.elementor-widget-testimonial) p {
    color: rgba(255, 255, 255, .74) !important;
    text-align: center !important;
}

body.np-homepage .elementor-testimonial-wrapper,
body.np-homepage .elementor-widget-testimonial .elementor-widget-container {
    background: #fff !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 22px !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .18) !important;
}

body.np-homepage .elementor-testimonial-content {
    color: #1a1612 !important;
    font-family: Montserrat, var(--np-font-body), Arial, sans-serif !important;
    font-size: .92rem !important;
    font-style: normal !important;
    line-height: 1.65 !important;
    padding-left: 0 !important;
}

body.np-homepage .elementor-testimonial-content::before {
    display: none !important;
}

body.np-homepage .elementor-testimonial-name {
    color: #b8893a !important;
}

@media (max-width: 1024px) {
    body.np-homepage .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.np-homepage .elementor-section:has(.elementor-widget-icon-box) > .elementor-container,
    body.np-homepage .elementor-section:has(.woocommerce ul.products) > .elementor-container,
    body.np-homepage .elementor-section:has(.elementor-testimonial-wrapper) > .elementor-container,
    body.np-homepage .e-con:has(.elementor-widget-icon-box) > .e-con-inner,
    body.np-homepage .e-con:has(.woocommerce ul.products) > .e-con-inner,
    body.np-homepage .e-con:has(.elementor-testimonial-wrapper) > .e-con-inner {
        width: min(100% - 32px, 1420px) !important;
    }

    body.np-homepage .elementor-widget-icon-box .elementor-icon-box-wrapper {
        min-height: 0 !important;
    }

    body.np-homepage .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE HOTFIX — evita che un blocco Elementor sbagliato diventi hero
   ══════════════════════════════════════════════════════════════ */

body.np-homepage .entry-content > .elementor > .elementor-section:first-child,
body.np-homepage .entry-content > .elementor > .e-con:first-child,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child,
body.np-homepage .elementor > .elementor-section:first-child,
body.np-homepage .elementor > .e-con:first-child,
body.np-homepage .elementor > .elementor-element:first-child {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    align-items: initial !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child::before,
body.np-homepage .entry-content > .elementor > .e-con:first-child::before,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child::before,
body.np-homepage .elementor > .elementor-section:first-child::before,
body.np-homepage .elementor > .e-con:first-child::before,
body.np-homepage .elementor > .elementor-element:first-child::before {
    display: none !important;
    content: none !important;
}

/* RESET DEFINITIVO HOMEPAGE: annulla tutti gli override hero/globali precedenti. */
body.home .entry-content .elementor-section:first-of-type,
body.front-page .entry-content .elementor-section:first-of-type,
body.home .entry-content .elementor-section.elementor-top-section:first-of-type,
body.front-page .entry-content .elementor-section.elementor-top-section:first-of-type,
body.home .entry-content > .elementor > .elementor-section:first-child,
body.front-page .entry-content > .elementor > .elementor-section:first-child,
body.home .entry-content > .elementor > .e-con:first-child,
body.front-page .entry-content > .elementor > .e-con:first-child,
body.home .entry-content > .elementor > .elementor-element:first-child,
body.front-page .entry-content > .elementor > .elementor-element:first-child,
body.np-homepage .entry-content > .elementor > .elementor-section:first-child,
body.np-homepage .entry-content > .elementor > .e-con:first-child,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child,
body.np-homepage .elementor > .elementor-section:first-child,
body.np-homepage .elementor > .e-con:first-child,
body.np-homepage .elementor > .elementor-element:first-child {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    display: block !important;
    align-items: initial !important;
    overflow: visible !important;
    isolation: auto !important;
    background-size: initial !important;
    background-position: initial !important;
}

body.home .entry-content .elementor-section:first-of-type::before,
body.front-page .entry-content .elementor-section:first-of-type::before,
body.home .entry-content .elementor-section.elementor-top-section:first-of-type::before,
body.front-page .entry-content .elementor-section.elementor-top-section:first-of-type::before,
body.home .entry-content > .elementor > .elementor-section:first-child::before,
body.front-page .entry-content > .elementor > .elementor-section:first-child::before,
body.home .entry-content > .elementor > .e-con:first-child::before,
body.front-page .entry-content > .elementor > .e-con:first-child::before,
body.home .entry-content > .elementor > .elementor-element:first-child::before,
body.front-page .entry-content > .elementor > .elementor-element:first-child::before,
body.np-homepage .entry-content > .elementor > .elementor-section:first-child::before,
body.np-homepage .entry-content > .elementor > .e-con:first-child::before,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child::before,
body.np-homepage .elementor > .elementor-section:first-child::before,
body.np-homepage .elementor > .e-con:first-child::before,
body.np-homepage .elementor > .elementor-element:first-child::before {
    display: none !important;
    content: none !important;
    background: none !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-heading-title,
body.front-page .entry-content .elementor-section:first-of-type .elementor-heading-title,
body.home .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.front-page .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.home .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.front-page .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child .elementor-heading-title {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    max-width: none !important;
    margin: 0 !important;
    text-shadow: none !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child .elementor-heading-title,
body.np-homepage .elementor > .elementor-section:first-child .elementor-heading-title,
body.np-homepage .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .elementor > .elementor-element:first-child .elementor-heading-title {
    color: inherit !important;
    text-shadow: none !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child p,
body.np-homepage .entry-content > .elementor > .e-con:first-child p,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child p,
body.np-homepage .elementor > .elementor-section:first-child p,
body.np-homepage .elementor > .e-con:first-child p,
body.np-homepage .elementor > .elementor-element:first-child p {
    color: inherit !important;
    text-shadow: none !important;
}

body.np-homepage .elementor-section,
body.np-homepage .e-con {
    width: 100% !important;
    max-width: none !important;
}

body.np-homepage .elementor-section > .elementor-container,
body.np-homepage .e-con > .e-con-inner {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
}

body.np-homepage .elementor-section:not(:first-child),
body.np-homepage .e-con:not(:first-child) {
    padding-block: clamp(54px, 6vw, 96px) !important;
}

@media (max-width: 768px) {
    body.np-homepage .elementor-section > .elementor-container,
    body.np-homepage .e-con > .e-con-inner {
        width: min(100% - 32px, 1420px) !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE EMERGENCY RESET — Elementor stabile
   Disattiva gli override aggressivi precedenti.
   ══════════════════════════════════════════════════════════════ */

body .np-homepage {
    all: unset;
}

body.home .site-content,
body.front-page .site-content,
body.home .site-main,
body.front-page .site-main,
body.home .entry-content,
body.front-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fbfaf7 !important;
}

body.home .elementor-section,
body.front-page .elementor-section,
body.home .e-con,
body.front-page .e-con {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding-block: clamp(44px, 5vw, 82px) !important;
    overflow: visible !important;
}

body.home .elementor-section::before,
body.front-page .elementor-section::before,
body.home .e-con::before,
body.front-page .e-con::before {
    display: none !important;
    content: none !important;
}

body.home .elementor-section > .elementor-container,
body.front-page .elementor-section > .elementor-container,
body.home .e-con > .e-con-inner,
body.front-page .e-con > .e-con-inner {
    width: min(100% - 48px, 1280px) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
}

body.home .elementor-section:first-of-type,
body.front-page .elementor-section:first-of-type {
    padding-block: 0 !important;
}

body.home .elementor-section:first-of-type > .elementor-container,
body.front-page .elementor-section:first-of-type > .elementor-container {
    width: 100% !important;
    max-width: none !important;
}

body.home .elementor-widget-heading .elementor-heading-title,
body.front-page .elementor-widget-heading .elementor-heading-title {
    color: #1a1612 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

body.home .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.front-page .elementor-widget-icon-box .elementor-icon-box-wrapper {
    min-height: 0 !important;
    height: 100% !important;
    padding: clamp(28px, 3vw, 42px) !important;
    background: #f2f0ed !important;
    border: 1px solid rgba(26, 22, 18, .08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.home .elementor-widget-icon-box .elementor-icon-box-title,
body.front-page .elementor-widget-icon-box .elementor-icon-box-title {
    font-size: clamp(2.6rem, 3.8vw, 4.5rem) !important;
    line-height: 1 !important;
}

body.home .elementor-widget-image figure,
body.front-page .elementor-widget-image figure,
body.home .elementor-image-box-img,
body.front-page .elementor-image-box-img {
    max-height: 520px !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

body.home .elementor-widget-image img,
body.front-page .elementor-widget-image img,
body.home .elementor-image-box-img img,
body.front-page .elementor-image-box-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.home .woocommerce ul.products,
body.front-page .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

body.home .elementor-testimonial-wrapper,
body.front-page .elementor-testimonial-wrapper,
body.home .elementor-widget-testimonial .elementor-widget-container,
body.front-page .elementor-widget-testimonial .elementor-widget-container {
    background: #fff !important;
    color: #1a1612 !important;
    border-radius: 8px !important;
    padding: 22px !important;
}

body.home .elementor-testimonial-content,
body.front-page .elementor-testimonial-content {
    color: #1a1612 !important;
}

@media (max-width: 900px) {
    body.home .woocommerce ul.products,
    body.front-page .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    body.home .elementor-section > .elementor-container,
    body.front-page .elementor-section > .elementor-container,
    body.home .e-con > .e-con-inner,
    body.front-page .e-con > .e-con-inner {
        width: min(100% - 32px, 1280px) !important;
    }

    body.home .woocommerce ul.products,
    body.front-page .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Se una cache mantiene ancora .np-homepage, annulla il vecchio hero forzato. */
body.np-homepage .entry-content > .elementor > .elementor-section:first-child,
body.np-homepage .entry-content > .elementor > .e-con:first-child,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child,
body.np-homepage .elementor > .elementor-section:first-child,
body.np-homepage .elementor > .e-con:first-child,
body.np-homepage .elementor > .elementor-element:first-child {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.np-homepage .entry-content > .elementor > .elementor-section:first-child::before,
body.np-homepage .entry-content > .elementor > .e-con:first-child::before,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child::before,
body.np-homepage .elementor > .elementor-section:first-child::before,
body.np-homepage .elementor > .e-con:first-child::before,
body.np-homepage .elementor > .elementor-element:first-child::before {
    display: none !important;
    content: none !important;
}

/* RESET DEFINITIVO HOMEPAGE: annulla tutti gli override hero/globali precedenti. */
body.home .entry-content .elementor-section:first-of-type,
body.front-page .entry-content .elementor-section:first-of-type,
body.home .entry-content .elementor-section.elementor-top-section:first-of-type,
body.front-page .entry-content .elementor-section.elementor-top-section:first-of-type,
body.home .entry-content > .elementor > .elementor-section:first-child,
body.front-page .entry-content > .elementor > .elementor-section:first-child,
body.home .entry-content > .elementor > .e-con:first-child,
body.front-page .entry-content > .elementor > .e-con:first-child,
body.home .entry-content > .elementor > .elementor-element:first-child,
body.front-page .entry-content > .elementor > .elementor-element:first-child,
body.np-homepage .entry-content > .elementor > .elementor-section:first-child,
body.np-homepage .entry-content > .elementor > .e-con:first-child,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child,
body.np-homepage .elementor > .elementor-section:first-child,
body.np-homepage .elementor > .e-con:first-child,
body.np-homepage .elementor > .elementor-element:first-child {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    display: block !important;
    align-items: initial !important;
    overflow: visible !important;
    isolation: auto !important;
    background-size: initial !important;
    background-position: initial !important;
}

body.home .entry-content .elementor-section:first-of-type::before,
body.front-page .entry-content .elementor-section:first-of-type::before,
body.home .entry-content .elementor-section.elementor-top-section:first-of-type::before,
body.front-page .entry-content .elementor-section.elementor-top-section:first-of-type::before,
body.home .entry-content > .elementor > .elementor-section:first-child::before,
body.front-page .entry-content > .elementor > .elementor-section:first-child::before,
body.home .entry-content > .elementor > .e-con:first-child::before,
body.front-page .entry-content > .elementor > .e-con:first-child::before,
body.home .entry-content > .elementor > .elementor-element:first-child::before,
body.front-page .entry-content > .elementor > .elementor-element:first-child::before,
body.np-homepage .entry-content > .elementor > .elementor-section:first-child::before,
body.np-homepage .entry-content > .elementor > .e-con:first-child::before,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child::before,
body.np-homepage .elementor > .elementor-section:first-child::before,
body.np-homepage .elementor > .e-con:first-child::before,
body.np-homepage .elementor > .elementor-element:first-child::before {
    display: none !important;
    content: none !important;
    background: none !important;
}

body.home .entry-content .elementor-section:first-of-type .elementor-heading-title,
body.front-page .entry-content .elementor-section:first-of-type .elementor-heading-title,
body.home .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.front-page .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.home .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.front-page .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .e-con:first-child .elementor-heading-title,
body.np-homepage .entry-content > .elementor > .elementor-element:first-child .elementor-heading-title {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    max-width: none !important;
    margin: 0 !important;
    text-shadow: none !important;
}
