/* ===================================================================================

* Theme Name: PrintNest Child
* Theme URI: https://themexriver.com/wp/printnest
* Author: ThemeXriver
* Author URI: https://themeforest.net/user/themexriver
* Description: Printing Company & WooCommerce WordPress Theme
* Version: 1.0.0
* Template: printnest
* Text Domain: printnest-child
* License: GNU General Public License version 3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Tags: one-column, right-sidebar, left-sidebar, custom-menu, featured-images, post-formats, sticky-post, translation-ready
* Tested up to: 6.6
* Requires PHP: 7.4

====================================================================================== */


/* =========================================================
   0971 PUBBLICITÀ SHOP - HEADER + BREADCRUMB DEFINITIVO
   Home + pagine interne
   ========================================================= */

:root {
    --nb-orange: #f47721;
    --nb-orange-dark: #d95c08;
    --nb-blue: #2454a6;
    --nb-dark: #171717;
    --nb-border: #ececf1;
}


/* =========================================================
   Z-INDEX GLOBALI
   ========================================================= */

#wpadminbar {
    z-index: 1000000 !important;
}


/* =========================================================
   HEADER STICKY - HOME + PAGINE INTERNE
   ========================================================= */

/* Header home inserito nella pagina Elementor */
body.home .elementor-element-20c70fc,

/* Header pagine interne / categorie / shop */
body:not(.home) .elementor-3752 {
    position: sticky !important;
    top: 0 !important;
    z-index: 9000 !important;
    background: #ffffff !important;
}

/* Admin bar WordPress: header sotto la barra admin, non sopra */
body.admin-bar.home .elementor-element-20c70fc,
body.admin-bar:not(.home) .elementor-3752 {
    top: 32px !important;
}

/* Mobile admin bar */
@media (max-width: 782px) {
    body.admin-bar.home .elementor-element-20c70fc,
    body.admin-bar:not(.home) .elementor-3752 {
        top: 46px !important;
    }

    body.admin-bar:not(.home) .elementor-3752 {
        margin-bottom: 46px !important;
    }

    body.admin-bar.home .elementor-element-20c70fc {
        margin-bottom: 46px !important;
    }
}

/* Evita header assoluti/overlay del tema */
body .pn-header-1-area.tx-header,
body .pn-header-1-area.has-header-3 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 9000 !important;
    background: #ffffff !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* Rimuove la fascia colorata demo nelle pagine interne */
body:not(.home) .pn-header-1-top {
    display: none !important;
}

/* Main header */
body .pn-header-1-main {
    background: #ffffff !important;
    padding: 14px 0 12px !important;
}

/* Container header */
body .pn-header-1-main .pn-container-1,
body .pn-header-1-main .container {
    max-width: 1440px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
}


/* =========================================================
   LAYOUT HEADER
   Logo / search / icone sopra, menu sotto
   ========================================================= */

body .pn-header-1-main-flex {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) 120px !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: 32px !important;
    row-gap: 14px !important;
    min-height: auto !important;
}

/* Logo */
body .pn-header-1-logo {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: flex !important;
    align-items: center !important;
}

body .pn-header-1-logo img {
    max-width: 180px !important;
    max-height: 78px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Search e menu dentro la griglia */
body .search-x-menu {
    display: contents !important;
}


/* =========================================================
   SEARCH
   ========================================================= */

body .pn-header-1-search-form {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 720px !important;
    height: 50px !important;
    margin: 0 auto !important;
    background: #f7f7fa !important;
    border: 1px solid #eeeeee !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
}

body .pn-header-1-search-form .form-input {
    height: 50px !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 22px !important;
    font-size: 15px !important;
    color: var(--nb-dark) !important;
    outline: none !important;
}

body .pn-header-1-search-form .form-input::placeholder {
    color: #888888 !important;
}

body .pn-header-1-search-form .form-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin-right: 4px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--nb-orange) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    transition: all 0.2s ease !important;
}

body .pn-header-1-search-form .form-btn:hover {
    background: var(--nb-orange-dark) !important;
}


/* =========================================================
   ICONE HEADER
   ========================================================= */

body .pn-header-1-action-link {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
}

body .pn-header-1-action-btn,
body .pn-offcanvas-btn-1 {
    position: relative !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
    background: #f5f5f7 !important;
    color: var(--nb-dark) !important;
    border: 1px solid #eeeeee !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 21px !important;
    transition: all 0.2s ease !important;
}

body .pn-header-1-action-btn:hover,
body .pn-offcanvas-btn-1:hover {
    background: var(--nb-orange) !important;
    color: #ffffff !important;
    border-color: var(--nb-orange) !important;
}

/* Badge carrello */
body .tx-cartCount {
    position: absolute !important;
    top: -9px !important;
    right: -7px !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: var(--nb-blue) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 22px !important;
    text-align: center !important;
}


/* =========================================================
   MENU DESKTOP
   ========================================================= */

body .pn-main-navigation {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
}

body #main-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 4px 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body #main-nav > li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

body #main-nav > li > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 9px 0 !important;
    color: #2d2d2d !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    transition: color 0.2s ease !important;
}

body #main-nav > li > a:hover,
body #main-nav > li.current-menu-item > a,
body #main-nav > li.current-menu-parent > a,
body #main-nav > li.current-menu-ancestor > a {
    color: var(--nb-orange) !important;
}

/* Freccia dropdown: distanzia quella esistente, non ne crea una nuova */
body #main-nav > li.dropdown > a,
body #main-nav > li.menu-item-has-children > a {
    padding-right: 18px !important;
}

body #main-nav > li.dropdown > a::after,
body #main-nav > li.menu-item-has-children > a::after {
    right: 0 !important;
    margin-left: 8px !important;
}

/* Se la freccia è un'icona interna */
body #main-nav > li.dropdown > a i,
body #main-nav > li.menu-item-has-children > a i,
body #main-nav > li.dropdown > a svg,
body #main-nav > li.menu-item-has-children > a svg {
    margin-left: 8px !important;
    position: static !important;
    transform: none !important;
}

/* Dropdown */
body #main-nav .dropdown-menu {
    min-width: 250px !important;
    padding: 10px !important;
    margin-top: 10px !important;
    background: #ffffff !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12) !important;
    overflow: hidden !important;
    z-index: 9100 !important;
}

body #main-nav .dropdown-menu li a {
    display: block !important;
    padding: 10px 13px !important;
    color: #333333 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 10px !important;
    transition: all 0.2s ease !important;
}

body #main-nav .dropdown-menu li a:hover,
body #main-nav .dropdown-menu li.current-menu-item > a {
    background: #fff3ea !important;
    color: var(--nb-orange) !important;
}

/* =========================================================
   OFFCANVAS / MENU MOBILE - FULL WIDTH, CLICCABILE, SCROLLABILE
   ========================================================= */

/* Elimina overlay bloccante */
body .wa-overly {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Area offcanvas a tutta schermata */
body .wa-offcanvas-area,
body .offcanvas_box_active {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    z-index: 9800 !important;
    background: transparent !important;
    pointer-events: none !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

/* Pannello menu: attaccato al bordo, larghezza piena su mobile */
body .wa-offcanvas-wrap {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 28px 28px 40px !important;
    z-index: 9900 !important;
    background: #ffffff !important;
    pointer-events: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    transform: none !important;
    box-shadow: none !important;
}

/* In admin bar WordPress */
body.admin-bar .wa-offcanvas-wrap {
    top: 32px !important;
    height: calc(100vh - 32px) !important;
    height: calc(100dvh - 32px) !important;
    max-height: calc(100vh - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
}

@media (max-width: 782px) {
    body.admin-bar .wa-offcanvas-wrap {
        top: 46px !important;
        height: calc(100vh - 46px) !important;
        height: calc(100dvh - 46px) !important;
        max-height: calc(100vh - 46px) !important;
        max-height: calc(100dvh - 46px) !important;
    }
}

/* Rimuove layer invisibili che intercettano click */
body .wa-offcanvas-area::before,
body .wa-offcanvas-area::after,
body .wa-offcanvas-wrap::before,
body .wa-offcanvas-wrap::after,
body .wa-overly::before,
body .wa-overly::after {
    display: none !important;
    content: none !important;
    pointer-events: none !important;
}

/* Top del menu */
body .wa-offcanvas-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-bottom: 34px !important;
    padding: 0 !important;
}

body .wa-offcanvas-top-logo img {
    max-width: 210px !important;
    width: auto !important;
    height: auto !important;
}

/* Bottone chiusura */
body .wa-offcanvas-close,
body .offcanvas_box_close {
    position: relative !important;
    z-index: 9950 !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 50% !important;
    background: #f5f5f7 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Elementi interni cliccabili */
body .wa-offcanvas-wrap *,
body .wa-offcanvas-top,
body .wa-offcanvas-top *,
body .mobile-main-navigation,
body .mobile-main-navigation *,
body #m-main-nav,
body #m-main-nav *,
body .wa-offcanvas-gallery,
body .wa-offcanvas-gallery * {
    pointer-events: auto !important;
}

/* Menu mobile */
body .mobile-main-navigation {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body #m-main-nav {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body #m-main-nav li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid #eeeeee !important;
}

body #m-main-nav li a {
    display: block !important;
    width: 100% !important;
    padding: 18px 0 !important;
    color: #111111 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body #m-main-nav li a:hover {
    color: var(--nb-orange, #f47721) !important;
}

/* Galleria Instagram: evita che rompa il layout */
body .wa-offcanvas-gallery {
    margin-top: 36px !important;
    padding-bottom: 30px !important;
}

body .wa-offcanvas-gallery-title {
    font-size: 20px !important;
    line-height: 1.2 !important;
}

/* Header sotto al menu laterale */
body.home .elementor-element-20c70fc,
body:not(.home) .elementor-3752,
body .pn-header-1-area.tx-header,
body .pn-header-1-area.has-header-3 {
    z-index: 9000 !important;
}

/* Desktop/tablet: se vuoi mantenerlo laterale e non full page */
@media (min-width: 768px) {
    body .wa-offcanvas-wrap {
        width: 420px !important;
        max-width: 420px !important;
        box-shadow: 20px 0 60px rgba(0, 0, 0, 0.12) !important;
    }
}
/* =========================================================
   BREADCRUMB / TITOLO CATEGORIA - DESIGN COMPATTO
   ========================================================= */

body:not(.home) .pn-breadcrumb-area {
    position: relative !important;
    margin-top: 0 !important;
    min-height: 130px !important;
    padding-top: 28px !important;
    padding-bottom: 24px !important;
    background-size: cover !important;
    background-position: center center !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Overlay leggero sullo sfondo originale */
body:not(.home) .pn-breadcrumb-area::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.76) 0%,
        rgba(255, 255, 255, 0.58) 44%,
        rgba(255, 255, 255, 0.34) 100%
    ) !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Rimuove linee decorative del tema */
body:not(.home) .pn-breadcrumb-area::after,
body:not(.home) .pn-breadcrumb-wrap::before,
body:not(.home) .pn-breadcrumb-wrap::after,
body:not(.home) .pn-breadcrumb-list::before,
body:not(.home) .pn-breadcrumb-list::after,
body:not(.home) .bread-crumb::before,
body:not(.home) .bread-crumb::after,
body:not(.home) .tx-breadcrumb__wrapper::before,
body:not(.home) .tx-breadcrumb__wrapper::after {
    display: none !important;
    content: none !important;
}

body:not(.home) .pn-breadcrumb-area .container,
body:not(.home) .pn-breadcrumb-area .pn-container-1 {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1440px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
}

/* Titolo sopra, breadcrumb sotto */
body:not(.home) .pn-breadcrumb-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 7px !important;
    text-align: left !important;
    padding: 0 !important;
    max-width: 980px !important;
}

/* Nasconde "Categoria:" e mostra solo lo span */
body:not(.home) .pn-breadcrumb-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    color: transparent !important;
    letter-spacing: normal !important;
}

body:not(.home) .pn-breadcrumb-title span {
    display: inline-block !important;
    color: #171717 !important;
    font-size: clamp(22px, 2.2vw, 32px) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
}

/* Breadcrumb libero, senza box */
body:not(.home) .pn-breadcrumb-list {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    border: 0 !important;
    box-shadow: none !important;
}

body:not(.home) .bread-crumb {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body:not(.home) .bread-crumb,
body:not(.home) .bread-crumb li,
body:not(.home) .bread-crumb li a,
body:not(.home) .bread-crumb li span {
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

body:not(.home) .bread-crumb li,
body:not(.home) .bread-crumb li a,
body:not(.home) .bread-crumb li span {
    color: rgba(23, 23, 23, 0.72) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

body:not(.home) .bread-crumb li a:hover {
    color: var(--nb-orange) !important;
}

body:not(.home) .bread-crumb li:last-child span,
body:not(.home) .bread-crumb li.taBcrumb-end span {
    color: var(--nb-orange) !important;
    font-weight: 800 !important;
}

/* Separatore breadcrumb */
body:not(.home) .bread-crumb li:not(:last-child)::after {
    content: "/" !important;
    display: inline-block !important;
    margin: 0 8px !important;
    color: rgba(0, 0, 0, 0.32) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Spazio tra fascia categoria e prodotti */
body:not(.home) .shop.pt-120 {
    padding-top: 38px !important;
}

body:not(.home) .shop.pb-120 {
    padding-bottom: 70px !important;
}


/* =========================================================
   RESPONSIVE TABLET
   ========================================================= */

@media (max-width: 1199px) {
    body .pn-header-1-main-flex {
        grid-template-columns: 160px minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        column-gap: 14px !important;
        row-gap: 12px !important;
    }

    body .pn-header-1-logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body .pn-header-1-logo img {
        max-width: 150px !important;
        max-height: 62px !important;
    }

    body .pn-header-1-action-link {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    body .pn-header-1-search-form {
        grid-column: 1 / 4 !important;
        grid-row: 2 !important;
        max-width: 100% !important;
    }

    body .pn-main-navigation {
        display: none !important;
    }

    body:not(.home) .pn-breadcrumb-area {
        min-height: 125px !important;
        padding-top: 26px !important;
        padding-bottom: 22px !important;
    }
}


/* =========================================================
   RESPONSIVE MOBILE
   ========================================================= */

@media (max-width: 767px) {
    body .pn-header-1-main {
        padding: 10px 0 !important;
    }

    body .pn-header-1-main .pn-container-1,
    body .pn-header-1-main .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body .pn-header-1-main-flex {
        grid-template-columns: 135px 1fr auto !important;
        grid-template-rows: auto auto !important;
        gap: 10px !important;
    }

    body .pn-header-1-logo img {
        max-width: 130px !important;
        max-height: 54px !important;
    }

    body .pn-header-1-action-btn,
    body .pn-offcanvas-btn-1 {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        font-size: 19px !important;
    }

    body .pn-header-1-search-form {
        height: 46px !important;
    }

    body .pn-header-1-search-form .form-input {
        height: 46px !important;
        font-size: 14px !important;
    }

    body .pn-header-1-search-form .form-btn {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }

    /* Breadcrumb mobile: non tagliato sotto header */
    body:not(.home) .pn-breadcrumb-area {
        min-height: 120px !important;
        padding-top: 28px !important;
        padding-bottom: 22px !important;
        overflow: visible !important;
    }

    body:not(.home) .pn-breadcrumb-area .container,
    body:not(.home) .pn-breadcrumb-area .pn-container-1 {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body:not(.home) .pn-breadcrumb-wrap {
        gap: 6px !important;
        max-width: 100% !important;
    }

    body:not(.home) .pn-breadcrumb-title span {
        font-size: 24px !important;
        line-height: 1.05 !important;
    }

    body:not(.home) .bread-crumb {
        max-width: 100% !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding-bottom: 2px !important;
    }

    body:not(.home) .bread-crumb li,
    body:not(.home) .bread-crumb li a,
    body:not(.home) .bread-crumb li span {
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    body:not(.home) .shop.pt-120 {
        padding-top: 30px !important;
    }
}


/* =========================================================
   HOME CATEGORIE SHOP - TITOLO SOTTO IMMAGINE
   ========================================================= */

.pn-categories-2-item {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.pn-categories-2-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
}

.pn-categories-2-item .item-img {
    border-radius: 22px 22px 0 0;
    overflow: hidden;
}

.pn-categories-2-item .item-content {
    position: relative;
    padding: 16px 18px 18px;
    background: #fff;
    min-height: 74px;
}

.pn-categories-2-item .item-content .title {
    margin: 0;
    padding-right: 48px;
    line-height: 1.2;
}

.pn-categories-2-item .item-content .title a {
    display: inline-block;
    font-size: 17px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
}

.pn-categories-2-item .item-content .title a:hover {
    color: #e30613;
}

/* Freccia elegante a destra */
.pn-categories-2-item .item-btn {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: #f4f4f4;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .25s ease;
}

.pn-categories-2-item:hover .item-btn {
    background: #e30613;
    color: #fff;
}
/* =========================================================
   WooCommerce message - pulsante Visualizza carrello visibile
   ========================================================= */

.woocommerce-message {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
    padding: 18px 22px !important;
    border-radius: 18px !important;
    background: #f7fff8 !important;
    border: 1px solid #d8f0dc !important;
    color: #171717 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06) !important;
}

.woocommerce-message .button.wc-forward,
.woocommerce-message a.button.wc-forward {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: #f47721 !important;
    color: #ffffff !important;
    border: 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    float: none !important;
    margin: 0 !important;
    box-shadow: 0 10px 24px rgba(244, 119, 33, 0.28) !important;
}

.woocommerce-message .button.wc-forward:hover,
.woocommerce-message a.button.wc-forward:hover {
    background: #d95c08 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 767px) {
    .woocommerce-message {
        display: block !important;
        padding: 16px !important;
        font-size: 14px !important;
    }

    .woocommerce-message .button.wc-forward,
    .woocommerce-message a.button.wc-forward {
        width: 100% !important;
        margin-top: 12px !important;
    }
}
/* =========================================================
   FIX BARRA BREADCRUMB/TITOLO SOTTO HEADER - DESKTOP
   ========================================================= */

@media (min-width: 1200px) {
    body:not(.home) .pn-breadcrumb-area {
        min-height: 150px !important;
        padding-top: 42px !important;
        padding-bottom: 30px !important;
        display: flex !important;
        align-items: center !important;
    }

    body:not(.home) .pn-breadcrumb-area .container,
    body:not(.home) .pn-breadcrumb-area .pn-container-1 {
        width: 100% !important;
    }

    body:not(.home) .pn-breadcrumb-wrap {
        padding-top: 0 !important;
        gap: 8px !important;
    }

    body:not(.home) .pn-breadcrumb-title {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* Versione leggermente più compatta per tablet */
@media (min-width: 768px) and (max-width: 1199px) {
    body:not(.home) .pn-breadcrumb-area {
        min-height: 135px !important;
        padding-top: 34px !important;
        padding-bottom: 26px !important;
        display: flex !important;
        align-items: center !important;
    }

    body:not(.home) .pn-breadcrumb-wrap {
        padding-top: 0 !important;
        gap: 7px !important;
    }
}
/* =========================================================
   SCHEDA PRODOTTO - "A partire da" piccolo + prezzo configurato grande
   ========================================================= */

/* Prezzo iniziale in alto: riduce "A partire da" solo nella scheda prodotto */
body.single-product .product-details > .price p.price {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    color: rgba(23, 23, 23, 0.62) !important;
    margin: 8px 0 22px !important;
}

/* Importo dentro "A partire da": un po' più visibile ma non enorme */
body.single-product .product-details > .price p.price .woocommerce-Price-amount,
body.single-product .product-details > .price p.price .amount {
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    color: #f47721 !important;
}

/* Prezzo della variazione configurata */
body.single-product .single_variation_wrap .woocommerce-variation-price {
    margin: 22px 0 18px !important;
    padding: 18px 20px !important;
    background: #fff7f1 !important;
    border: 1px solid rgba(244, 119, 33, 0.22) !important;
    border-radius: 18px !important;
}

/* Etichetta sopra al prezzo configurato */
body.single-product .single_variation_wrap .woocommerce-variation-price::before {
    content: "Prezzo configurato";
    display: block !important;
    margin-bottom: 8px !important;
    color: rgba(23, 23, 23, 0.68) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* Prezzo configurato grande */
body.single-product .single_variation_wrap .woocommerce-variation-price .price,
body.single-product .single_variation_wrap .woocommerce-variation-price .price span {
    color: #171717 !important;
}

body.single-product .single_variation_wrap .woocommerce-variation-price .woocommerce-Price-amount,
body.single-product .single_variation_wrap .woocommerce-variation-price .amount {
    display: inline-block !important;
    font-size: clamp(34px, 4vw, 52px) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -0.045em !important;
    color: #171717 !important;
}

/* Simbolo euro proporzionato */
body.single-product .single_variation_wrap .woocommerce-variation-price .woocommerce-Price-currencySymbol {
    font-size: 0.72em !important;
    margin-left: 2px !important;
}

/* Mobile */
@media (max-width: 767px) {
    body.single-product .product-details > .price p.price {
        font-size: 12px !important;
        margin-bottom: 18px !important;
    }

    body.single-product .product-details > .price p.price .woocommerce-Price-amount,
    body.single-product .product-details > .price p.price .amount {
        font-size: 20px !important;
    }

    body.single-product .single_variation_wrap .woocommerce-variation-price {
        padding: 16px !important;
        margin: 18px 0 16px !important;
    }

    body.single-product .single_variation_wrap .woocommerce-variation-price .woocommerce-Price-amount,
    body.single-product .single_variation_wrap .woocommerce-variation-price .amount {
        font-size: 36px !important;
    }
}
/* =========================================================
   WOOCOMMERCE NOTICE - PRODOTTO AGGIUNTO AL CARRELLO
   ========================================================= */

body.woocommerce .woocommerce-notices-wrapper,
body.single-product .woocommerce-notices-wrapper {
    margin: 0 0 26px !important;
}

/* Barra messaggio */
body.woocommerce .woocommerce-message,
body.single-product .woocommerce-message {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    flex-wrap: nowrap !important;
    margin: 0 0 26px !important;
    padding: 18px 20px 18px 22px !important;
    background: #fff7f1 !important;
    border: 1px solid rgba(244, 119, 33, 0.22) !important;
    border-left: 5px solid #f47721 !important;
    border-radius: 18px !important;
    color: #171717 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.06) !important;
}

/* Rimuove/neutralizza icone o pseudo-elementi del tema/WooCommerce */
body.woocommerce .woocommerce-message::before,
body.woocommerce .woocommerce-message::after,
body.single-product .woocommerce-message::before,
body.single-product .woocommerce-message::after {
    display: none !important;
    content: none !important;
}

/* Pulsante Visualizza carrello */
body.woocommerce .woocommerce-message .button.wc-forward,
body.woocommerce .woocommerce-message a.button.wc-forward,
body.single-product .woocommerce-message .button.wc-forward,
body.single-product .woocommerce-message a.button.wc-forward {
    order: 2 !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f47721 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    float: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 10px 24px rgba(244, 119, 33, 0.28) !important;
    transition: all 0.2s ease !important;
}

body.woocommerce .woocommerce-message .button.wc-forward:hover,
body.woocommerce .woocommerce-message a.button.wc-forward:hover,
body.single-product .woocommerce-message .button.wc-forward:hover,
body.single-product .woocommerce-message a.button.wc-forward:hover {
    background: #d95c08 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Mobile */
@media (max-width: 767px) {
    body.woocommerce .woocommerce-message,
    body.single-product .woocommerce-message {
        display: block !important;
        padding: 16px !important;
        margin-bottom: 22px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        border-radius: 16px !important;
    }

    body.woocommerce .woocommerce-message .button.wc-forward,
    body.woocommerce .woocommerce-message a.button.wc-forward,
    body.single-product .woocommerce-message .button.wc-forward,
    body.single-product .woocommerce-message a.button.wc-forward {
        width: 100% !important;
        margin-top: 14px !important;
        min-height: 46px !important;
    }
}

@media (max-width: 767px) {

  .elementor-element-e8e94bb .pn-choose-2-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    overflow: visible !important;
    position: relative !important;
  }

  .elementor-element-e8e94bb .pn-choose-2-middle {
    display: block !important;
    position: relative !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    margin: 20px auto 35px auto !important;
    z-index: 50 !important;
    overflow: visible !important;
  }

  .elementor-element-e8e94bb .pn-choose-2-img {
    display: block !important;
    position: relative !important;
    z-index: 60 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    text-align: center !important;
  }

  .elementor-element-e8e94bb .pn-choose-2-img img {
    display: block !important;
    position: relative !important;
    z-index: 70 !important;
    width: 95% !important;
    max-width: 420px !important;
    height: auto !important;
    margin: 0 auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .elementor-element-e8e94bb .pn-choose-2-bg-circle {
    display: none !important;
  }

  .elementor-element-e8e94bb .pn-choose-2-item {
    position: relative !important;
    z-index: 10 !important;
    width: 100% !important;
  }

  .elementor-element-e8e94bb .pn-choose-2-wrap > .pn-choose-2-item:first-child {
    order: 2 !important;
  }

  .elementor-element-e8e94bb .pn-choose-2-wrap > .pn-choose-2-item:last-child {
    order: 3 !important;
  }
}

@media (max-width: 767px) {

  /* RESET immagini sezioni Perché sceglierci + DTF */
  .pn-offer-2-right .pn-offer-2-img-1,
  .pn-offer-2-right .pn-offer-2-img-2,
  .pn-about-2-left .pn-about-2-img-1,
  .pn-about-2-left .pn-about-2-img-2 {
    position: relative !important;
    z-index: 50 !important;
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
    background: transparent !important;
    isolation: isolate !important;
  }

  .pn-offer-2-right .pn-offer-2-img-1 img,
  .pn-offer-2-right .pn-offer-2-img-2 img,
  .pn-about-2-left .pn-about-2-img-1 img,
  .pn-about-2-left .pn-about-2-img-2 img {
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
    background: transparent !important;
  }

  /* RIMUOVE overlay/maschere generate dalle animazioni */
  .pn-offer-2-right .wa-img-cover::before,
  .pn-offer-2-right .wa-img-cover::after,
  .pn-offer-2-right .wa_img_ani_1::before,
  .pn-offer-2-right .wa_img_ani_1::after,
  .pn-about-2-left .wa-img-cover::before,
  .pn-about-2-left .wa-img-cover::after,
  .pn-about-2-left .wa_img_ani_1::before,
  .pn-about-2-left .wa_img_ani_1::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: transparent !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    mix-blend-mode: normal !important;
  }

  /* Evita che decorazioni/parallax passino sopra le immagini */
  .pn-offer-2-right .bg-illus-1,
  .pn-about-2-left .illus-1,
  .pn-about-2-left .illus-2,
  .pn-about-2-area .pn-choose-1-bg-shape,
  .pn-about-2-area .pn-choose-1-bg-shape-2 {
    z-index: 1 !important;
    pointer-events: none !important;
  }

  .pn-offer-2-right,
  .pn-about-2-left {
    position: relative !important;
    z-index: 10 !important;
    isolation: isolate !important;
  }
}

@media (max-width: 767px) {

  /* EDITORIA - non tocca testi, titoli e link */
  .elementor-element-f8295be .pn-services-2-item,
  .elementor-element-f8295be .item-img,
  .elementor-element-f8295be .item-img img {
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
    -webkit-filter: none !important;
  }

  /* Correzione visiva immagini troppo scure su mobile */
  .elementor-element-f8295be .item-img img {
    filter: brightness(1.4) contrast(0.88) saturate(0.78) !important;
-webkit-filter: brightness(1.4) contrast(0.88) saturate(0.78) !important;
  }

}

/* MIGLIORIA CARD PRODOTTI - SLIDER HOME */
.pn-products-2-wrap .pn-products-1-item {
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 22px 20px 24px !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  transition: all 0.25s ease !important;
  min-height: 440px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.pn-products-2-wrap .pn-products-1-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.13) !important;
}

/* Area titolo */
.pn-products-2-wrap .title-x-link {
  min-height: 86px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}

.pn-products-2-wrap .title-x-link .left {
  width: 100% !important;
}

/* Titolo prodotto più leggibile */
.pn-products-2-wrap .pn-products-1-item .title {
  margin: 0 !important;
  line-height: 1.18 !important;
}

.pn-products-2-wrap .pn-products-1-item .title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;

  font-size: 20px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px !important;
  color: #111111 !important;
  text-decoration: none !important;
  min-height: 72px !important;
}

.pn-products-2-wrap .pn-products-1-item .title a:hover {
  color: #e61e5b !important;
}

/* Immagine prodotto più ordinata */
.pn-products-2-wrap .pn-products-1-item .item-img {
  background: #f7f7f7 !important;
  border-radius: 18px !important;
  padding: 18px !important;
  margin: 8px 0 18px !important;
  min-height: 220px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.pn-products-2-wrap .pn-products-1-item .item-img img {
  max-width: 100% !important;
  max-height: 210px !important;
  object-fit: contain !important;
  transition: transform 0.25s ease !important;
}

.pn-products-2-wrap .pn-products-1-item:hover .item-img img {
  transform: scale(1.04) !important;
}

/* Prezzo più pulito */
.pn-products-2-wrap .price-x-label {
  margin: 0 0 14px !important;
  min-height: 32px !important;
}

.pn-products-2-wrap .current-price {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #e61e5b !important;
  margin: 0 !important;
}

/* Bottone più leggibile */
.pn-products-2-wrap .cart-btn {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 14px !important;
  background: #111111 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.pn-products-2-wrap .cart-btn:hover {
  background: #e61e5b !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* Pulsanti slider */
.pn-products-2-wrap .pn-slider-btn-1 {
  border-radius: 50% !important;
  background: #111111 !important;
  color: #ffffff !important;
  transition: all 0.25s ease !important;
}

.pn-products-2-wrap .pn-slider-btn-1:hover {
  background: #e61e5b !important;
  color: #ffffff !important;
}

/* Mobile */
@media (max-width: 767px) {
  .pn-products-2-wrap .pn-products-1-item {
    min-height: 410px !important;
    padding: 18px 16px 20px !important;
    border-radius: 18px !important;
  }

  .pn-products-2-wrap .title-x-link {
    min-height: 76px !important;
    margin-bottom: 12px !important;
  }

  .pn-products-2-wrap .pn-products-1-item .title a {
    font-size: 18px !important;
    line-height: 1.2 !important;
    min-height: 64px !important;
    -webkit-line-clamp: 3 !important;
  }

  .pn-products-2-wrap .pn-products-1-item .item-img {
    min-height: 190px !important;
    padding: 14px !important;
  }

  .pn-products-2-wrap .pn-products-1-item .item-img img {
    max-height: 180px !important;
  }

  .pn-products-2-wrap .cart-btn {
    min-height: 46px !important;
    font-size: 14px !important;
  }
}
/* =========================================================
   FIX MENU HEADER - SOTTOMENU SECONDO LIVELLO
   ========================================================= */

/* Il primo dropdown non deve tagliare i sotto-menu laterali */
body #main-nav .dropdown-menu,
body #main-nav .sub-menu {
    overflow: visible !important;
}

/* Ogni voce del dropdown deve poter contenere un sottomenu */
body #main-nav .dropdown-menu li,
body #main-nav .sub-menu li {
    position: relative !important;
}

/* Sottomenu di secondo livello desktop */
body #main-nav .dropdown-menu .dropdown-menu,
body #main-nav .dropdown-menu .sub-menu,
body #main-nav .sub-menu .dropdown-menu,
body #main-nav .sub-menu .sub-menu {
    position: absolute !important;
    top: 0 !important;
    left: calc(100% + 8px) !important;
    min-width: 250px !important;
    margin-top: 0 !important;
    padding: 10px !important;
    background: #ffffff !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12) !important;
    z-index: 9200 !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(8px) !important;
    transition: all 0.2s ease !important;
}

/* Mostra il secondo livello al passaggio */
body #main-nav .dropdown-menu li:hover > .dropdown-menu,
body #main-nav .dropdown-menu li:hover > .sub-menu,
body #main-nav .sub-menu li:hover > .dropdown-menu,
body #main-nav .sub-menu li:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}

/* Link secondo livello */
body #main-nav .dropdown-menu .dropdown-menu li a,
body #main-nav .dropdown-menu .sub-menu li a,
body #main-nav .sub-menu .dropdown-menu li a,
body #main-nav .sub-menu .sub-menu li a {
    white-space: nowrap !important;
}

/* Freccia per voci con figli dentro il dropdown */
body #main-nav .dropdown-menu li.menu-item-has-children > a,
body #main-nav .sub-menu li.menu-item-has-children > a {
    position: relative !important;
    padding-right: 28px !important;
}

body #main-nav .dropdown-menu li.menu-item-has-children > a::after,
body #main-nav .sub-menu li.menu-item-has-children > a::after {
    content: "›" !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: currentColor !important;
}
