/* 
Theme Name: Naturwaren Theme
Theme URI: https://www.naturwaren.it/
Description: Hello Elementor Child for Naturwaren Brand
Author: Argoserv by Sandhills Italy 
Author URI: https://argoserv.it/
Template: hello-elementor
Version: 2.0.1
Text Domain: naturwaren-theme
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root {
	--principale: #0C4E2B;
	--secondario: #7E9E8D;
	--panna: #EBE7E2;
	--verde-chiaro: #ECF1EE;
	--dr-giallo: #EAB73F;
	--testo: #000000;
    --text: #000000;
	--accent: #0C4E2B;
	--red: #ED4B4B;
	--bg: #EAEBED;
	--lightaccent: #CCE4DE;
    --container: 1600px;
    --content: 1200px;
    --containerMD:1366px;
    --containerSM:768px;
    --success: #eaf7ed; /* verde pastello */
    --error: #fde2e1;   /* rosso pastello */
    --warning: #fff4cc; /* giallo pastello */

    --star-size: 24px;
    --star-gap: 0px;
    --star-empty: var(--bg);
    --star-fill: var(--secondario);

    --muted: #6b7280;
    --bg-light: #f6f7f9;
    --bg-gray: #2f3440;
    --border: #e5e7eb;
    --lightgray: #eceff3;
    --radius: 5px;
}

/**** STYLING CF7 ****/
.wpcf7 .wpcf7-spinner {
    vertical-align: middle;
    display: none;
    width: 18px;
    height: 18px;
    background-color: transparent;
    border: 3px solid #194e2a;
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    z-index: 2;
    position: relative;
    margin: 0;
    top: -3px;
	left: -30px;
}
.wpcf7 .wpcf7-spinner:before,
.wpcf7 form.sent .wpcf7-response-output {
	display: none !important;
}
@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}
.wpcf7-form.submitting .wpcf7-spinner {
	display: inline-block;
}
.wpcf7 form.submitting input.wpcf7-submit {
	opacity: 0.6;
	pointer-events: none;
	cursor: default;
	z-index: 1;
	padding-right: 40px;
}
.wpcf7 form .wpcf7-response-output {
	margin-top: 1em;
}

/**** PHARMA RESERVED AREA ****/
.sps-modal {
    position: fixed;
    top: 5%;
    left: 5%;
    width: 90%;
    height: 90%;
    background: #faf9f8;
    z-index: 10000;
    border: 1px solid #ccc;
    padding-bottom: 3rem;
}
.sps-modal-content,
.sps-modal-body {
    position: relative;
    width: 100%;
    height: 100%;
}
.sps-modal-header {
    padding: 10px;
    background: #faf9f8;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10001;
    width: 100%;
    text-align:right;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sps-modal-title {
    font-size: 1.1rem;
    color: #194e2a;
    margin: 0;
    text-align: left;
    line-height: 1.1;
}
.sps-modal-body > iframe {
    width: 100%;
    height: 100%;
    border: none;
}
@media (max-width: 768px) {
    .sps-modal {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }
    .sps-modal-title {
        font-size: .875rem;
    }
}
.sps-loading {
    vertical-align: middle;
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: transparent;
    border: 3px solid transparent;
    border-top-color: #194e2a;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}
@media (max-width: 768px) {
    #mo_sps_doc_table {
        min-width: 0;
        width: 100%;
    }
}
.mo-ms-tab-content-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mo-ms-tab-content-search {
    display:flex;
    align-items:center;
}
@media (max-width: 768px) {
    .mo-ms-tab-content-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .mo-ms-tab-content-search {
        width: 100%;
        justify-content: flex-end;
    }
    .mo-ms-tab-content-search #mySearch {
        width: calc(100% - 40px);
    }
}
#mo-ms-back, .mo_sps_table_tbody_td_actions > div {
    cursor: pointer;
}
#mo-ms-back:hover, .mo_sps_doc_breadcrumbs > span:hover,
.mo_sps_table_tbody_td_actions > div:hover, .mo_sps_file_doc_item > .mo_sps_table_tr_file_name_div:hover {
    color: #194e2a;
}
#mo-ms-back:hover, .mo_sps_doc_breadcrumbs > span:hover,
.mo_sps_file_doc_item > .mo_sps_table_tr_file_name_div:hover {
    text-decoration: underline;
}
.mo_sps_doc_table thead {
    background-color: #ecf1ee !important;
}
.mo_sps_doc_table .mo_sps_table_tr:hover {
    cursor: default;
}
.mo_sps_file_doc_item {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}
/***** BUTTON ADD TO CART WOOCOMMERCE *****/
.woocommerce .add_to_cart_button {
    transition: all 0.3s ease !important;
}
.woocommerce .add_to_cart_button.added-to-cart,
.woocommerce .add_to_cart_button.added-to-cart:hover,
.woocommerce .e-loop-add-to-cart-form-container > .e-loop-add-to-cart-form > .add_to_cart_button.added-to-cart,
.woocommerce .e-loop-add-to-cart-form-container > .e-loop-add-to-cart-form > .add_to_cart_button.added-to-cart:hover {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--principale) !important;
    pointer-events: none;
    padding: 10px !important;
}
.woocommerce .add_to_cart_button:not(.added-to-cart):after {
    display: none !important;
}
.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button {
    margin-bottom: 15px !important;
}
/******** SEARCH PAGE *********/
#search-product-results:not(.is-container-active),
#search-other-results:not(.is-container-active) {
    display: none !important;
}
.nw-show-container {
    opacity: 0.7;
    transition: opacity 0.3s ease-in-out;
}
.nw-show-container.has-container-active,
.nw-show-container:hover {
    opacity: 1;
}

.elementor-login__logged-in-message a {
    color: var(--principale);
    text-decoration: underline;
}
.elementor-login__logged-in-message a:hover {
    text-decoration: none;
}
/***** HIDE RECPTCHA BANNER *****/
.grecaptcha-badge {
    visibility: collapse!important
}
/******** MOSTRA TELEFONO *********/
button.mostra-telefono-btn, button.mostra-telefono-btn:hover, button.mostra-telefono-btn:focus {
    background: none;
    border: none;
    color: var(--e-global-color-primary);
    padding: 0;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
}

/* =====================================================================
   REDESIGN 2026 — verso il mockup D2C
   Componenti coded. Vedi inc/redesign-2026.php
   ===================================================================== */

/***** TOP BAR PROMO (sopra l'header) *****/
/* Nasconde la vecchia barra utility Elementor ("TROVA LA FARMACIA / AREA FARMACISTI") */
#site-header > .elementor-element-974b835 {
    display: none !important;
}

.nw-topbar {
    background-color: var(--principale, #0C4E2B);
    color: #ffffff;
    font-family: 'Lato', system-ui, -apple-system, sans-serif;
    font-size: 12px;
    line-height: 1.2;
}
.nw-topbar__inner {
    max-width: var(--container, 1600px);
    margin: 0 auto;
    padding: 6px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.nw-topbar__promo {
    display: flex;
    align-items: center;
    gap: 8px;
}
.nw-topbar__center {
    display: flex;
    align-items: center;
    gap: 28px;
}
.nw-topbar__right {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}
.nw-topbar a {
    color: #ffffff;
    text-decoration: none;
    transition: opacity .2s ease;
}
.nw-topbar a:hover {
    opacity: .8;
    text-decoration: underline;
}
.nw-topbar__dot {
    color: var(--secondario, #7E9E8D);
    font-size: 10px;
}
/* Come la barra originale: solo desktop */
@media (max-width: 1024px) {
    .nw-topbar { display: none; }
}

/***** HEADER CODED + MEGAMENU (sostituisce l'header Elementor) *****/
/* Nasconde l'header Elementor (logo+menu+search+cart vecchi) su tutte le varianti */
.elementor-location-header { display: none !important; }

.nw-header {
    position: sticky;
    top: 0;
    z-index: 9990;
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    font-family: 'Lato', system-ui, -apple-system, sans-serif;
}
/* Override colore link header (il tema forza i link a bianco) */
.nw-header a { color: #1c1c1c; }
.nw-header .nw-nav__link,
.nw-header .nw-action,
.nw-header .nw-action .nw-action__lbl { color: #1c1c1c !important; }
.nw-header .nw-nav__link:hover,
.nw-header .nw-action:hover,
.nw-header .nw-action:hover .nw-action__lbl { color: var(--principale, #0C4E2B) !important; }
.nw-header__inner {
    max-width: var(--container, 1600px);
    margin: 0 auto;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    gap: 28px;
}

/* Logo */
.nw-header__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex: 0 0 auto;
}
.nw-header__logo img { height: 38px; width: auto; display: block; }
.nw-header__logo-text { font-family: 'Lora', serif; font-weight: 700; font-size: 24px; color: #111; }
.nw-header__logo-sub {
    font-size: 11px; letter-spacing: 2px; color: #8a958d; text-transform: uppercase;
    border-left: 1px solid #e2e6e2; padding-left: 11px; font-weight: 700; align-self: center;
}

/* Nav */
.nw-nav { display: flex; align-items: center; gap: 22px; }
@media (max-width: 1200px) { .nw-nav { gap: 16px; } .nw-nav__link { font-size: 15px; } }
.nw-nav__item { position: static; }
.nw-nav__link {
    display: inline-flex; align-items: center; gap: 5px;
    background: none; border: 0; cursor: pointer;
    font-family: 'Lato', sans-serif; font-size: 16px; font-weight: 700; color: #1c1c1c;
    text-decoration: none; padding: 6px 0; letter-spacing: .2px; white-space: nowrap;
}
.nw-nav__link:hover { color: var(--principale, #0C4E2B); }
/* Neutralizza lo stile bottone del tema sul trigger SHOP (sfondo rosa su focus/active) */
.nw-header button.nw-nav__link,
.nw-header button.nw-nav__link:hover,
.nw-header button.nw-nav__link:focus,
.nw-header button.nw-nav__link:active {
    background: none !important;
    border: 0 !important;
    outline: none;
}
.nw-caret { font-size: 11px; color: #9aa3a0; }
.nw-has-mega.is-open .nw-nav__link { color: var(--principale, #0C4E2B); }
.nw-has-mega.is-open .nw-nav__link::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
}
.nw-has-mega .nw-nav__link { position: relative; }
.nw-has-mega.is-open .nw-nav__link { box-shadow: inset 0 -2px 0 var(--principale, #0C4E2B); }

/* ===== Dropdown "I Nostri Brand" (hover, no JS) ===== */
.nw-has-dd { position: relative; }
.nw-branddd {
    position: absolute; top: 100%; left: 50%; transform: translate(-50%, 8px);
    z-index: 1200; min-width: 520px; padding-top: 14px;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
}
.nw-has-dd:hover .nw-branddd,
.nw-has-dd:focus-within .nw-branddd {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
}
.nw-has-dd:hover .nw-nav__link,
.nw-has-dd:focus-within .nw-nav__link { color: var(--principale, #0C4E2B); }
.nw-has-dd:hover .nw-caret { transform: rotate(180deg); }
.nw-caret { transition: transform .16s ease; }
.nw-branddd__inner {
    display: grid; grid-template-columns: 1.3fr 1fr; gap: 8px 22px;
    background: #fff; border: 1px solid #ecefe9; border-radius: 16px;
    box-shadow: 0 18px 50px rgba(12,78,43,.14); padding: 18px;
}
.nw-branddd__inner::before {
    content: ''; position: absolute; top: 7px; left: 50%; transform: translateX(-50%) rotate(45deg);
    width: 14px; height: 14px; background: #fff; border-left: 1px solid #ecefe9; border-top: 1px solid #ecefe9;
}
.nw-branddd__label {
    display: block; font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase; color: #9aa3a0; margin-bottom: 10px; padding-left: 4px;
}
.nw-branddd__brands, .nw-branddd__pages { list-style: none; margin: 0; padding: 0; }
.nw-branddd__brands a {
    display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 10px;
    text-decoration: none; color: #1c1c1c !important; transition: background .14s ease;
}
.nw-branddd__brands a:hover { background: #f3f6f2; }
.nw-branddd__brands .nw-brand__ini {
    flex: 0 0 auto; width: 34px; height: 34px; border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--principale, #0C4E2B); color: #fff; font-family: 'Lato', sans-serif;
    font-weight: 800; font-size: 13px; letter-spacing: .02em;
}
.nw-branddd__bname { flex: 1 1 auto; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 15px; }
.nw-branddd__brands .nw-brand__count {
    flex: 0 0 auto; font-size: 12px; color: #8a948f; font-weight: 600;
    background: #f1f4ef; border-radius: 999px; padding: 2px 9px;
}
.nw-branddd__col--pages { border-left: 1px solid #eef1ec; padding-left: 22px; }
.nw-branddd__pages a {
    display: block; padding: 9px 8px; border-radius: 9px; text-decoration: none;
    color: #2b3a31 !important; font-family: 'Lato', sans-serif; font-weight: 600; font-size: 15px;
    transition: background .14s ease, color .14s ease;
}
.nw-branddd__pages a:hover { background: #f3f6f2; color: var(--principale, #0C4E2B) !important; }
.nw-branddd__pages li:first-child a { color: var(--principale, #0C4E2B) !important; font-weight: 800; }
@media (max-width: 1024px) { .nw-branddd { display: none !important; } }

/* Search */
form.nw-search {
    margin-left: auto;
    display: flex; align-items: center; gap: 9px;
    background: #fff; border: 1.5px solid var(--secondario, #7E9E8D); border-radius: 999px;
    padding: 9px 18px; min-width: 280px; max-width: 480px; flex: 1 1 300px;
    box-shadow: 0 1px 2px rgba(12,78,43,.06);
    transition: border-color .18s ease, box-shadow .18s ease;
}
form.nw-search:hover { border-color: var(--principale, #0C4E2B); box-shadow: 0 2px 6px rgba(12,78,43,.10); }
form.nw-search:focus-within { border-color: var(--principale, #0C4E2B); box-shadow: 0 0 0 3px var(--lightaccent, #CCE4DE), 0 2px 8px rgba(12,78,43,.12); }
form.nw-search .nw-search__icon {
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--principale, #0C4E2B); flex: 0 0 auto; transition: transform .18s ease;
}
form.nw-search:focus-within .nw-search__icon { transform: scale(1.08); }
form.nw-search .nw-search__icon svg { width: 17px; height: 17px; display: block; }
form.nw-search input {
    border: 0; background: transparent; outline: none; width: 100%;
    font-family: 'Lato', sans-serif; font-size: 14px; color: #1c1c1c;
}
form.nw-search input::placeholder { color: var(--secondario, #7E9E8D); opacity: .95; }

/* Ricerca (icona) + Account + Cart — solo icone (niente testo), icone piu grandi */
.nw-header__actions { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; margin-left: auto; }
.nw-action {
    display: inline-flex; align-items: center; gap: 7px;
    text-decoration: none; color: #1c1c1c; font-weight: 700; font-size: 15px;
}
.nw-action:hover { color: var(--principale, #0C4E2B); }
.nw-header__actions .nw-action__lbl { display: none; }
.nw-action__ico { font-size: 24px; filter: grayscale(1); }
/* Trigger ricerca: bottone icona, coerente con le altre azioni */
.nw-action--search { background: none; border: 0; cursor: pointer; padding: 0; }
.nw-action--search .nw-action__ico { filter: none; }
/* Tutte le icone azione (search/account/cuore/carrello) alla stessa misura e allineate */
.nw-header__actions .nw-action svg { width: 23px; height: 23px; display: block; }
.nw-action--cart { position: relative; }
.nw-cart-count {
    background: var(--principale, #0C4E2B); color: #fff; font-size: 12px; font-weight: 700;
    min-width: 20px; height: 20px; border-radius: 999px; display: inline-flex;
    align-items: center; justify-content: center; padding: 0 6px;
}

/* ===== RICERCA "stile Farmacy": l'header si TRASFORMA sul posto (niente dim) ===== */
/* Searchbar dentro l'header, nascosta finché non si cerca; aprendo prende il posto di logo/nav/azioni */
.nw-header__searchbar { display: none; }
.nw-header.is-searching .nw-header__inner > *:not(.nw-header__searchbar) { display: none !important; }
.nw-header.is-searching .nw-header__inner { position: static; }
.nw-header.is-searching .nw-header__searchbar { display: flex; flex: 1 1 auto; align-items: center; gap: 16px; min-width: 0; }
.nw-header__searchbar .nw-search {
    flex: 1; min-width: 0; max-width: none; margin: 0;
    border: 0; border-bottom: 2px solid var(--principale, #0C4E2B); border-radius: 0;
    background: transparent; box-shadow: none; padding: 6px 2px;
}
.nw-header__searchbar .nw-search:hover, .nw-header__searchbar .nw-search:focus-within { box-shadow: none; border-color: var(--principale, #0C4E2B); }
.nw-header__searchbar .nw-search .nw-search__icon { color: var(--principale, #0C4E2B); }
.nw-header__searchbar .nw-search .nw-search__icon svg { width: 21px; height: 21px; }
.nw-header__searchbar .nw-search input { font-family: 'Lora', serif; font-size: 22px; color: #111; }
.nw-header__searchbar .nw-search input::placeholder { color: #9aa3a0; opacity: 1; }
.nw-header__searchclose {
    flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%;
    border: 0; background: #EDF1EE; color: #1c1c1c; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .15s ease, color .15s ease;
}
.nw-header__searchclose:hover { background: var(--principale, #0C4E2B); color: #fff; }
.nw-header__searchclose svg { width: 24px; height: 24px; flex: 0 0 auto; }

/* Pannello risultati sotto l'header (default prima di digitare, e live-search digitando).
   SENZA oscurare la pagina. */
.nw-srch-panel, .nw-header .nw-ls {
    position: absolute; top: 100%; left: 0; right: 0; width: auto; max-width: none;
    background: #fff; border: 0; border-top: 1px solid #eef2ee; border-radius: 0;
    box-shadow: 0 26px 44px -26px rgba(20,40,28,.4);
    max-height: calc(100vh - 120px); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
    z-index: 9992;
}
.nw-srch-panel[hidden] { display: none; }
/* contenuto centrato alla larghezza del sito */
.nw-srch-panel .nw-ls__grid,
.nw-header .nw-ls .nw-ls__grid,
.nw-header .nw-ls .nw-ls__head,
.nw-header .nw-ls .nw-ls__typo,
.nw-header .nw-ls .nw-ls__none { max-width: var(--content, 1200px); margin-left: auto; margin-right: auto; }
/* la live-search si aggancia all'header (non al form) e riempie la larghezza */
.nw-header .nw-search--ls { position: static; }
.nw-header .nw-ls { z-index: 9993; }
.nw-header .nw-ls .nw-ls__head { background: transparent; }

/* catcher trasparente: chiude cliccando fuori (nessuno scurimento) */
.nw-srch-ov { position: fixed; inset: 0; z-index: 9989; background: transparent; }
.nw-srch-ov[hidden] { display: none; }
body.nw-srch-open { overflow: hidden; }
@media (max-width: 767px) {
    .nw-header__searchbar { gap: 8px; }
    .nw-header__searchbar .nw-search { padding-left: 0; }
    .nw-header__searchbar .nw-search input { font-size: 16px; }
    .nw-header__searchclose { width: 44px; height: 44px; }
}

/* ===== MEGAMENU PANEL ===== */
.nw-mega {
    position: absolute; left: 0; right: 0; top: 100%;
    background: #ffffff; border-top: 1px solid #ececec;
    box-shadow: 0 24px 40px -18px rgba(0,0,0,.22);
    padding: 30px 0 26px;
}
.nw-mega[hidden] { display: none; }
.nw-mega__inner {
    max-width: var(--content, 1600px); margin: 0 auto; padding: 0 24px;
    display: grid; grid-template-columns: 1.15fr 1.1fr 1fr 1.05fr; gap: 30px;
}
/* Divisori sottili tra le colonne testuali (col.4 = card, niente bordo) */
.nw-mega__col--subcats, .nw-mega__col--brands { border-left: 1px solid rgba(12,78,43,.09); padding-left: 30px; }
.nw-mega__label {
    font-size: 12px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase;
    color: var(--principale, #0C4E2B); margin-bottom: 16px;
}

/* Col 1 — per bisogno */
.nw-needs { list-style: none; margin: 0; padding: 0; }
.nw-need a {
    display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 8px;
    text-decoration: none; color: #3a3a3a; font-size: 15px; transition: background .15s ease, color .15s ease;
}
.nw-need__emoji { font-size: 17px; width: 22px; text-align: center; }
.nw-need__name { flex: 1; font-weight: 600; }
.nw-need__count { color: #9aa3a0; font-size: 13px; }
.nw-need.is-active a, .nw-need a:hover { background: var(--lightaccent, #CCE4DE); }
.nw-need.is-active .nw-need__name { color: var(--principale, #0C4E2B); }
.nw-mega__more {
    display: inline-block; margin-top: 14px; padding-left: 12px;
    color: var(--principale, #0C4E2B); font-weight: 700; font-size: 14px; text-decoration: none;
}
.nw-mega__more:hover { text-decoration: underline; }

/* Col 2 — sottocategorie (primaria). Stile allineato a "Per bisogno" (col 1) per coerenza. */
.nw-subcats__list { list-style: none; margin: 0 0 14px; padding: 0; }
.nw-subcats__list a {
    display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 8px;
    text-decoration: none; color: #3a3a3a; font-size: 15px; transition: background .15s ease, color .15s ease;
}
.nw-subcats__list a:hover { background: var(--lightaccent, #CCE4DE); }
.nw-subcat__arrow { display: none; }
.nw-subcat__name { flex: 1; font-weight: 600; }
.nw-subcat__count { color: #9aa3a0; font-size: 13px; }
.nw-subcats__all {
    display: inline-block; color: var(--principale, #0C4E2B); font-weight: 700; font-size: 14px; text-decoration: none;
}
.nw-subcats__all:hover { text-decoration: underline; }
.nw-mega__sublabel {
    margin: 22px 0 12px; font-size: 11px; font-weight: 700; letter-spacing: .7px;
    text-transform: uppercase; color: #9aa3a0;
}

/* Col 2 — per pianta (secondaria) */
.nw-plants__tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 9px; }
.nw-plants__tags a {
    display: inline-block; padding: 7px 14px; border: 1px solid #e2e5e1; border-radius: 999px;
    color: #444; font-size: 13.5px; text-decoration: none; transition: all .15s ease;
}
.nw-plants__tags a:hover { border-color: var(--secondario, #7E9E8D); background: #f3f7f4; color: var(--principale, #0C4E2B); }
.nw-plants__empty { color: #9aa3a0; font-size: 14px; }

/* Col 3 — per marca */
.nw-brands { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nw-brands a {
    display: flex; align-items: center; gap: 12px; padding: 11px 14px;
    border: 1px solid #e7e9e6; border-radius: 10px; text-decoration: none; color: #1c1c1c;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.nw-brands a:hover { border-color: var(--secondario, #7E9E8D); box-shadow: 0 4px 14px -8px rgba(0,0,0,.18); }
.nw-brand__ini {
    width: 34px; height: 34px; border-radius: 8px; background: #f1f4f1; color: var(--principale, #0C4E2B);
    display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px;
}
.nw-brand__name { flex: 1; font-weight: 700; font-size: 14.5px; }
.nw-brand__count { color: #9aa3a0; font-size: 13px; }
/* Box logo brand reale nel megamenu (dropdown + per marca) */
.nw-brand__ini--logo { width: 70px !important; height: 38px !important; background: #fff !important; border: 1px solid #eef0ec; padding: 4px 6px; border-radius: 8px; flex: 0 0 auto; }
.nw-brand__ini--logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }

/* Col 4 — prodotto dell'anno */
.nw-poy { background: #f3f9f5; border: 1px solid #d8e8df; border-radius: 14px; padding: 18px; }
.nw-poy__badge {
    display: inline-block; background: #fff; border: 1px solid #d8e8df; color: var(--principale, #0C4E2B);
    font-size: 11px; font-weight: 700; letter-spacing: .4px; padding: 6px 12px; border-radius: 999px; margin-bottom: 14px;
}
.nw-poy__media { display: block; background: #fff; border-radius: 10px; padding: 14px; text-align: center; }
.nw-poy__media img { max-height: 150px; width: auto; display: inline-block; }
.nw-poy__title { font-family: 'Lora', serif; font-weight: 700; font-size: 19px; color: #111; margin: 14px 0 4px; }
.nw-poy__meta { color: #6b7280; font-size: 13px; margin-bottom: 12px; }
.nw-poy__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nw-poy__price { font-family: 'Lora', serif; font-weight: 700; font-size: 22px; color: #111; }
.nw-poy__btn {
    border: 1px solid var(--principale, #0C4E2B); color: var(--principale, #0C4E2B); border-radius: 8px;
    padding: 9px 16px; text-decoration: none; font-weight: 700; font-size: 14px; transition: all .15s ease;
}
.nw-poy__btn:hover { background: var(--principale, #0C4E2B); color: #fff; }

/* Overlay sotto il pannello */
.nw-mega-overlay {
    position: fixed; inset: 0; top: 0; background: rgba(17,17,17,.18); z-index: 9980;
}
.nw-mega-overlay[hidden] { display: none; }

/* Responsive: sotto i 1024px nascondo nav/mega (menu mobile da fare in fase successiva) */
@media (max-width: 1024px) {
    .nw-nav { display: none; }
    .nw-mega { display: none !important; }
    /* mobile: a destra Ricerca (icona) + Carrello; Account e Preferiti sono gia' nel menu
       hamburger (.nw-mnav__foot), quindi ridondanti nell'header. */
    .nw-header__actions .nw-action:not(.nw-action--cart):not(.nw-action--search) { display: none; }
    .nw-header__logo-sub { display: none; } /* tag ITALIA nascosto su mobile: logo piu' compatto */
    /* logo SEMPRE centrato: flex con logo in absolute (indipendente da quante icone ci sono a dx). */
    .nw-header__inner { display: flex; align-items: center; position: relative; }
    .nw-burger { margin-right: auto; }
    .nw-header__logo { position: absolute; left: 50%; transform: translateX(-50%); }
    .nw-header__actions { margin-left: 0; }
    /* mobile: icone carrello + ricerca piu' grandi, ~pari all'hamburger (box 42px). L'SVG carrello
       e' fissato a 18px da ".nw-ico--plain .nw-svgico" (0,2,0) -> serve (0,3,0) per vincere. */
    .nw-header__actions .nw-action--cart .nw-svgico { width: 27px; height: 27px; }
    .nw-header__actions .nw-action--search svg { width: 27px; height: 27px; }
}

/***** HOMEPAGE — HERO PRODOTTO DELL'ANNO *****/
/* In home le sezioni coded (hero, griglia, bestseller, ecc.) sostituиscono
   l'intero contenuto Elementor della pagina: lo nascondiamo (header e footer
   sono template separati e restano visibili). */
/* [MIGRAZIONE ELEMENTOR 2026-07] regola disattivata: la home ora usa il contenuto Elementor (post 14). Il design PHP legacy vive su /home2/. Originale: */
/* body.home .elementor[data-elementor-type="wp-page"] { display: none !important; } */

.nw-hero {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    background: #ffffff;
    font-family: 'Lato', system-ui, sans-serif;
}
.nw-hero__text {
    padding: 72px 64px;
    padding-left: max(24px, calc((100vw - var(--container, 1600px)) / 2 + 24px));
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.nw-hero__text > * { max-width: 680px; width: 100%; }
.nw-hero__badge {
    display: inline-flex; align-items: center; gap: 7px; width: auto;
    border: 1px solid #dfe7e1; border-radius: 999px; padding: 8px 16px;
    font-size: 13px; font-weight: 600; color: var(--principale, #0C4E2B); margin-bottom: 26px;
}
.nw-hero__title {
    font-family: 'Lora', serif; font-weight: 700;
    font-size: clamp(40px, 4.5vw, 68px); line-height: 1.04; letter-spacing: -1.5px; margin: 0 0 24px;
}
.nw-hero__title-1 { display: block; color: #111; }
.nw-hero__title-2 { display: block; color: var(--principale, #0C4E2B); font-style: italic; }
.nw-hero__subtitle { font-size: 18px; line-height: 1.6; color: #444; margin: 0 0 32px; max-width: 480px; }
.nw-hero__cta { display: flex; gap: 14px; margin-bottom: 34px; flex-wrap: wrap; }
.nw-hero__trust {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding-top: 24px; border-top: 1px solid #eee; font-size: 14px; color: #555;
}
.nw-trust__stars { color: #E3A008; letter-spacing: 1px; }
.nw-trust__sep { color: #ccc; }

.nw-hero__media {
    position: relative; min-height: 640px;
    background-size: cover; background-position: center; background-repeat: no-repeat;
}
.nw-hero__card {
    position: absolute; right: 24px; bottom: 24px;
    background: #fff; border-radius: 14px; box-shadow: 0 16px 40px -16px rgba(0,0,0,.32);
    padding: 16px 20px; display: flex; align-items: center; gap: 14px;
    text-decoration: none; max-width: 330px;
}
.nw-hero__card-ico {
    font-size: 24px; background: #f1f4f1; border-radius: 10px;
    width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
.nw-hero__card-body { display: flex; flex-direction: column; }
.nw-hero__card-body > strong { font-family: 'Lora', serif; color: #111; font-size: 16px; }
.nw-hero__card-sub { color: #555; font-size: 13px; margin-top: 2px; }
.nw-hero__card-link { color: var(--principale, #0C4E2B); font-weight: 700; font-size: 13px; margin-top: 5px; }
/* Hero: visual da Canva (#nw-sec-hero) al posto della foto */
.nw-hero__media--art { min-height: 0; background: none; display: flex; align-items: center; justify-content: flex-start; padding: 12px clamp(8px,2vw,24px); }
.nw-hero__art { width: 100%; max-width: 900px; height: auto; display: block; }


/***** HOMEPAGE — GRIGLIA CATEGORIE *****/
.nw-cats { background: #ffffff; padding: 72px 0 88px; }
.nw-cats__inner { max-width: var(--content, 1600px); margin: 0 auto; padding: 0 24px; }
.nw-cats__head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 32px; flex-wrap: wrap; }
.nw-cats__title { font-family: 'Lora', serif; font-weight: 700; font-size: 34px; color: #111 !important; margin: 0; text-transform: none !important; }
.nw-cats__more { font-size: 14px; color: #444; margin-top: 32px; display: flex; align-items: center; justify-content: flex-end; gap: 18px; flex-wrap: wrap; }
.nw-cats__more a { display: inline-flex; align-items: center; background: var(--principale, #0C4E2B); color: #fff; padding: 13px 24px; border-radius: 999px; font-weight: 700; text-decoration: none; white-space: nowrap; box-shadow: 0 10px 22px -10px rgba(12,40,24,.55); transition: background .15s ease, transform .15s ease; }
.nw-cats__more a:hover { background: #0a3f23; transform: translateY(-1px); }
.nw-cats__grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 16px; }
.nw-cat {
    background: #fff; border: 1px solid #e7ede8; border-radius: 14px; padding: 30px 16px;
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    text-decoration: none; text-align: center; transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}
.nw-cat:hover { box-shadow: 0 12px 24px -14px rgba(0,0,0,.2); border-color: #d6e2d9; transform: translateY(-2px); }
.nw-cat__emoji { font-size: 30px; line-height: 1; height: 34px; display: flex; align-items: center; justify-content: center; }
.nw-cat__name {
    font-weight: 700; color: #1c1c1c; font-size: 15px;
    line-height: 1.25; min-height: 2.5em;
    display: flex; align-items: center; justify-content: center; text-align: center;
}
.nw-cat__count { color: #9aa3a0; font-size: 11px; text-transform: uppercase; letter-spacing: .4px; }

@media (max-width: 1024px) {
    .nw-hero { grid-template-columns: 1fr; }
    .nw-hero__text { padding: 40px 24px; }
    .nw-hero__text > * { max-width: none; }
    .nw-hero__media { min-height: 360px; }
    .nw-cats__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
    .nw-hero__title { font-size: 38px; }
    .nw-hero__cta { width: 100%; }
    .nw-hero__cta .nw-btn { flex: 1 1 auto; text-align: center; }
    .nw-hero__card { right: 12px; bottom: 12px; max-width: 250px; padding: 12px 14px; }
    .nw-cats__grid { grid-template-columns: repeat(2, 1fr); }
    .nw-cats__title { font-size: 28px; }
}

/***** HOMEPAGE — SEZIONI (bestseller, trust, brand, CTA, B2B, blog, newsletter) *****/
/* Override colori/maiuscolo forzati dal tema su h2 e link, dentro le sezioni coded */
.nw-sec .nw-pcard__name,
.nw-brandcard .nw-brandcard__name,
.nw-bcard .nw-bcard__title { color: #1a1a1a !important; }
.nw-sec__title, .nw-b2b__title, .nw-brandcard__name, .nw-bcard__title,
.nw-ctaband__title, .nw-news__title { text-transform: none !important; }
.nw-ctaband__title { color: #fff !important; }
.nw-ctaband__title em { color: #CFE3D6 !important; }
.nw-news__title { color: #fff !important; }
.nw-news__title strong { color: #F2C744 !important; }
.nw-ctaband .nw-btn--white { color: var(--principale, #0C4E2B) !important; }

.nw-sec { background: #ffffff; padding: 60px 0; font-family: 'Lato', system-ui, sans-serif; }
.nw-sec__inner { max-width: var(--content, 1600px); margin: 0 auto; padding: 0 24px; }

/* Home "I più amati": pannello giallo Dr. Theiss dietro il prodotto (ref. mockup) */
.nw-best--home .nw-pcard { border: 2px solid var(--dr-giallo, #EAB73F); }
/* Delta esplicito: il giallo resta anche all'hover (il componente base ora carica DOPO e all'hover mette il sage). */
.nw-best--home .nw-pcard:hover { border-color: var(--dr-giallo, #EAB73F); }
.nw-best--home .nw-pcard__media { background: #ffffff; border-radius: 14px 14px 0 0; height: 360px; padding: 30px; border-bottom: 1px solid #f3e7c6; }
.nw-best--home .nw-pcard__badge { background: #fff; color: var(--principale, #0C4E2B); }
/* Home a tutta larghezza: allarga il contenitore delle sezioni (ref. mockup) */
body.nw-home { --content: 1600px; }
/* Categorie "Trova quello che cerchi": edera SVG a ghirlanda in alto (#nw-sec-categorie) */
.nw-home #nw-sec-categorie { position: relative; overflow: hidden; }
.nw-home #nw-sec-categorie .nw-cats__inner { position: relative; z-index:1; }

/* ============================================================
   DECORAZIONI HOME per sezione (SVG dal mockup Canva) — v1.9.9
   ============================================================ */
/* #nw-sec-piu-amati: sezione alta, card centrate/strette/alte, ghirlanda edera GRANDE a tutta larghezza schermo che avvolge le card */
.nw-home #nw-sec-piu-amati { position:relative; overflow:hidden; background:#FBF6EC; padding:14px 0 96px; }
.nw-home #nw-sec-piu-amati .nw-sec__inner { position:relative; z-index:1; }
.nw-home #nw-sec-piu-amati::before { content:""; position:absolute; z-index:0; pointer-events:none; left:-34px; bottom:-26px; width:min(440px,31%); height:440px; background:url("assets/img/deco/edera-real-1.webp") left bottom / contain no-repeat; }
.nw-home #nw-sec-piu-amati::after { content:""; position:absolute; z-index:0; pointer-events:none; right:-34px; top:118px; width:min(410px,28%); height:410px; background:url("assets/img/deco/edera-real-1.webp") right top / contain no-repeat; transform:scaleX(-1); }
.nw-home #nw-sec-piu-amati .nw-best__grid { position:relative; max-width:1180px; margin:56px auto 0; gap:28px; }
.nw-home #nw-sec-piu-amati .nw-pcard { position:relative; z-index:1; }
.nw-home #nw-sec-piu-amati .nw-pcard__media { height:360px; }

/* #nw-sec-recensioni: sezione più alta, sfondo grigino, foglia edera GRANDE in basso a sinistra */
.nw-home #nw-sec-recensioni .nw-revs { position:relative; overflow:hidden; background:#EDEFEE; padding:96px 0 104px; }
.nw-home #nw-sec-recensioni .nw-revs .nw-sec__inner { position:relative; z-index:1; }
.nw-home #nw-sec-recensioni .nw-revs::before { content:""; position:absolute; left:0; bottom:0; width:min(740px,50%); height:620px; background:url("assets/img/deco/edera-recensioni.svg") left bottom / contain no-repeat; opacity:.97; pointer-events:none; z-index:0; }

/* #nw-sec-brand: decorazione menta nell'angolo in basso a destra, dietro il contenuto */
.nw-home #nw-sec-brand { position:relative; overflow:hidden; }
.nw-home #nw-sec-brand .nw-sec__inner { position:relative; z-index:1; }
.nw-home #nw-sec-brand::after { content:""; position:absolute; right:0; bottom:0; width:min(320px,24%); height:220px; background:url("assets/img/deco/menta-brand.svg") right bottom / contain no-repeat; opacity:.6; pointer-events:none; z-index:0; }

/* #nw-sec-banner: SOLO sfondo del banner (senza pianta) a tutta larghezza, dietro lo slider */
.nw-home #nw-sec-banner { position:relative; background:#EBE7E2 url("assets/img/deco/banner-bg.svg") left center / cover no-repeat; }

/* #nw-sec-farmacista: logo caduceo a destra (contenuto), tasto sotto al testo */
.nw-home #nw-sec-farmacista .nw-b2b { align-items:center; gap:36px; }
.nw-home #nw-sec-farmacista .nw-b2b__text { display:flex; flex-direction:column; align-items:flex-start; }
.nw-home #nw-sec-farmacista .nw-b2b__text .nw-btn { margin-top:20px; }
.nw-b2b__logo { flex:0 0 auto; width:176px; height:211px; background:url("assets/img/deco/farmacia-caduceo.webp?v=323") center / contain no-repeat; opacity:1; }
@media (max-width:760px){ .nw-b2b__logo { display:none; } }

/* #nw-sec-blog: edera (alto-dx) + menta (basso-sx) più grandi */
.nw-home #nw-sec-blog { position:relative; overflow:hidden; padding:80px 0; }
.nw-home #nw-sec-blog .nw-sec__inner { position:relative; z-index:1; }
.nw-home #nw-sec-blog::before { content:""; position:absolute; right:0; top:0; width:230px; height:400px; background:url("assets/img/deco/blog-ivy.svg") right top / contain no-repeat; opacity:.95; pointer-events:none; z-index:0; }
.nw-home #nw-sec-blog::after { content:""; position:absolute; left:1%; bottom:20px; width:190px; height:150px; background:url("assets/img/deco/menta-blog.svg") left bottom / contain no-repeat; opacity:.75; pointer-events:none; z-index:0; }

/* Trust bar */
.nw-trustbar { border-top: 1px solid #ececec; border-bottom: 1px solid #ececec; background: #fff; }
.nw-trustbar__inner { max-width: var(--content, 1600px); margin: 0 auto; padding: 22px 24px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.nw-trustbar__title { text-align: center; font-family: 'Lora', serif; font-weight: 700; font-size: 27px; color: #14241c; margin: 0; padding: 30px 24px 0; }
/* Categoria home: descrizione teaser (2 righe) */
.nw-cat__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.4; color: #6b7a72; margin: 6px 8px 2px; }
/* Linea in evidenza Arnica */
.nw-linea { display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: center; background: #EDF5EE; border: 1px solid #dcebe0; border-radius: 22px; padding: 40px clamp(24px, 4vw, 56px); }
.nw-linea__title { font-family: 'Lora', serif; font-size: clamp(24px, 3vw, 33px); line-height: 1.2; color: #14241c; margin: 12px 0 14px; }
.nw-linea__title em { color: var(--principale, #0C4E2B); font-style: italic; }
.nw-linea__sub { color: #44524b; font-size: 15.5px; line-height: 1.6; margin: 0 0 22px; max-width: 60ch; }
.nw-linea__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.nw-linea__media { display: flex; justify-content: center; }
.nw-linea__media img { max-width: 100%; max-height: 280px; object-fit: contain; }
@media (max-width: 860px) { .nw-linea { grid-template-columns: 1fr; gap: 24px; padding: 30px 24px; } .nw-linea__media { order: -1; } }
.nw-trustbar__item { display: flex; align-items: center; gap: 12px; }
.nw-trustbar__ico { font-size: 22px; }
.nw-trustbar__txt { display: flex; flex-direction: column; line-height: 1.3; }
.nw-trustbar__txt strong { color: #1a1a1a; font-size: 14.5px; }
.nw-trustbar__txt span { color: #8a9299; font-size: 13px; }

/* Brand cards */
.nw-brandcards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.nw-brandcard { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 22px; background: #fff; border: 1px solid #e7e9e6; border-radius: 14px; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.nw-brandcard:hover { border-color: var(--secondario, #7E9E8D); box-shadow: 0 14px 26px -18px rgba(0,0,0,.2); }
.nw-brandcard__logo { width: 48px; height: 48px; border-radius: 10px; background: #f1f4f1; color: var(--principale, #0C4E2B); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; }
.nw-brandcard__logo:has(img) { width: auto; height: auto; min-height: 46px; background: transparent; border-radius: 0; }
.nw-brandcard__logo img { max-height: 46px; max-width: 175px; width: auto; height: auto; object-fit: contain; display: block; }
.nw-brandcard__name { font-family: 'Lora', serif; font-weight: 700; font-size: 18px; color: #1a1a1a; }
.nw-brandcard__claim { color: #8a9299; font-size: 13px; font-style: italic; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nw-brandcard__desc { color: #4a5650; font-size: 13.5px; line-height: 1.55; margin-top: 2px; }
.nw-brandcard__foot { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: auto; padding-top: 10px; }
.nw-brandcard__count { font-size: 12px; color: #9aa3a0; }
.nw-brandcard__cta { color: var(--principale, #0C4E2B); font-weight: 700; font-size: 13px; }

/* CTA band (verde scuro) */
.nw-ctaband { background: #fff; padding: 20px 0 60px; }
.nw-ctaband__inner { max-width: var(--content, 1600px); margin: 0 auto; background: var(--principale, #0C4E2B); border-radius: 22px; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 30px; overflow: hidden; }
.nw-ctaband__text { padding: 56px 48px; color: #fff; }
.nw-ctaband__badge { display: inline-block; background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.25); font-size: 12px; font-weight: 700; padding: 6px 14px; border-radius: 999px; margin-bottom: 18px; }
.nw-ctaband__title { font-family: 'Lora', serif; font-weight: 700; font-size: clamp(30px, 3vw, 44px); line-height: 1.1; margin: 0 0 14px; color: #fff; }
.nw-ctaband__title em { color: #CFE3D6; font-style: italic; }
.nw-ctaband__sub { color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.6; margin: 0 0 26px; max-width: 460px; }
.nw-ctaband__row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.nw-btn--white { background: #fff; color: var(--principale, #0C4E2B) !important; }
.nw-btn--white:hover { background: #eef4f0; }
.nw-ctaband__price { color: rgba(255,255,255,.82); font-size: 14px; }
.nw-ctaband__media { position: relative; align-self: stretch; min-height: 320px; display: flex; align-items: center; justify-content: center; padding: 30px; }
.nw-ctaband__media img { max-height: 300px; width: auto; }
.nw-ctaband__pill { position: absolute; top: 36px; right: 36px; background: #F2C744; color: #5a4708; font-weight: 700; font-size: 13px; width: 76px; height: 76px; border-radius: 999px; display: flex; align-items: center; justify-content: center; text-align: center; transform: rotate(8deg); }

/* B2B */
.nw-b2b { border: 1.5px dashed #cdd5cf; border-radius: 16px; padding: 30px 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.nw-b2b__tag { display: inline-block; background: #eef3ef; color: var(--principale, #0C4E2B); font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin-bottom: 12px; }
.nw-b2b__title { font-family: 'Lora', serif; font-weight: 700; font-size: 26px; color: #111; margin: 0 0 6px; }
.nw-b2b__sub { color: #6b7280; font-size: 15px; margin: 0; }



@media (max-width: 1024px) {
    .nw-brandcards { grid-template-columns: repeat(3, 1fr); }
    .nw-trustbar__inner { grid-template-columns: repeat(2, 1fr); }
    .nw-ctaband__inner { grid-template-columns: 1fr; }
    .nw-ctaband__text { padding: 40px 28px; }
    .nw-ctaband__media { min-height: 260px; }
}
@media (max-width: 600px) {
    .nw-sec { padding: 44px 0; }
    .nw-brandcards { grid-template-columns: 1fr 1fr; }
    .nw-trustbar__inner { grid-template-columns: 1fr 1fr; }
    .nw-b2b { flex-direction: column; align-items: flex-start; }
    .nw-sec__title, .nw-b2b__title { font-size: 26px; }
}

/***** ARCHIVIO CATEGORIA (coded, con filtri AJAX) *****/
.nw-archive { background: #fff; font-family: 'Lato', system-ui, sans-serif; }

/* Hero categoria */
.nw-archive__hero { background: #F3F7F4; border-bottom: 1px solid #e7ece8; }
.nw-archive__hero-inner { max-width: var(--content, 1600px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: center; min-height: 300px; }
.nw-archive__hero-text { padding: 40px 0; }
.nw-bread { font-size: 13px; color: #8a9299; margin-bottom: 16px; }
.nw-bread a { color: #8a9299; text-decoration: none; }
.nw-bread a:hover { color: var(--principale, #0C4E2B); }
.nw-bread span { color: #4a4a4a; }
.nw-archive__badge { display: inline-block; background: #fff; border: 1px solid #dfe7e1; color: var(--principale, #0C4E2B); font-size: 12px; font-weight: 700; padding: 6px 14px; border-radius: 999px; margin-bottom: 16px; }
.nw-archive__title { font-family: 'Lora', serif; font-weight: 700; font-size: clamp(34px, 4vw, 54px); margin: 0 0 16px; text-transform: none !important; line-height: 1.05; }
.nw-archive__title-1 { color: #111 !important; }
.nw-archive__title-2 { color: var(--principale, #0C4E2B) !important; font-style: italic; }
.nw-archive__desc { color: #5a5a5a; font-size: 16px; line-height: 1.6; max-width: 520px; margin: 0 0 18px; }
.nw-archive__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; color: #6b7280; }
.nw-archive__meta-item { font-weight: 600; }
.nw-archive__meta-sep { color: #c5ccc6; }
.nw-archive__hero-media { align-self: stretch; min-height: 260px; border-radius: 18px; margin: 30px 0; background-size: cover; background-position: center; }
.nw-archive__hero-media.is-placeholder { background: linear-gradient(135deg, #E8F1EA 0%, #D6E8DD 100%); display: flex; align-items: center; justify-content: center; }
.nw-archive__hero-emoji { font-size: 96px; opacity: .65; }

/* Layout sidebar + risultati */
.nw-archive__inner { max-width: var(--content, 1600px); margin: 0 auto; padding: 36px 24px 70px; display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }

/* Sidebar filtri */

/* Prezzo */
.nw-price__inputs { display: flex; align-items: center; gap: 8px; }
.nw-price__inputs input { width: 70px; border: 1px solid #dde2dd; border-radius: 8px; padding: 8px 10px; font-size: 14px; }
.nw-price__inputs button { border: 1px solid var(--principale, #0C4E2B); background: var(--principale, #0C4E2B); color: #fff; border-radius: 8px; padding: 8px 12px; font-weight: 700; font-size: 13px; cursor: pointer; }
.nw-price__hint { color: #9aa3a0; font-size: 12px; margin-top: 8px; }

/* Top bar risultati */
.nw-results__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid #eef0ec; flex-wrap: wrap; }
.nw-results__count { font-size: 15px; color: #4a4a4a; }
.nw-results__count strong { color: #111; }
.nw-results__right { display: flex; align-items: center; gap: 16px; }
.nw-results__reset { background: none; border: 0; color: var(--principale, #0C4E2B); font-weight: 700; font-size: 14px; cursor: pointer; text-decoration: underline; }
.nw-results__sort { font-size: 14px; color: #6b7280; display: flex; align-items: center; gap: 8px; }
.nw-results__sort select { border: 1px solid #dde2dd; border-radius: 8px; padding: 8px 12px; font-size: 14px; font-weight: 600; color: #1c1c1c; background: #fff; cursor: pointer; }

/* Top bar filtri categoria (orizzontale, come il mockup) */
.nw-cattop-wrap { border-bottom: 1px solid #eef0ec; background: #fff; }
.nw-cattop { max-width: var(--content, 1600px); margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; background: transparent; }
.nw-cattop__count { font-size: 15px; color: #1c1c1c; }
.nw-cattop__count strong { font-weight: 700; }
.nw-cattop__instock { color: #9aa3a0; font-weight: 400; font-size: 13px; }
.nw-cattop__facets { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nw-cattop__right { margin-left: auto; display: flex; align-items: center; gap: 16px; }

/* Griglia prodotti (riusa .nw-pcard) */
.nw-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; transition: opacity .15s ease; }
.nw-cat-empty { grid-column: 1/-1; text-align: center; padding: 50px 20px; color: #6b7280; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.nw-grid__loader { height: 3px; }

/* Nasconde l'archivio Elementor/WooCommerce di default sulle categorie
   (il template "product-archive" 9421): lo sostituisce l'archivio coded. */
body.tax-product_cat [data-elementor-type="product-archive"] { display: none !important; }

@media (max-width: 1024px) {
    .nw-archive__hero-inner { grid-template-columns: 1fr; min-height: 0; }
    .nw-archive__hero-media { display: none; }
    .nw-archive__inner { grid-template-columns: 1fr; }
    .nw-filters { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
    .nw-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .nw-filters { grid-template-columns: 1fr; }
    .nw-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
    .nw-archive__title { font-size: 30px; }
}
/***** PAGINA BRAND *****/
body.tax-product_brand [data-elementor-type="product-archive"] { display: none !important; }
.nw-brand { background: #fff; font-family: 'Lato', system-ui, sans-serif; }
.nw-brand__hero { background: linear-gradient(155deg, rgba(11,62,35,.93) 0%, rgba(12,78,43,.80) 55%, rgba(9,52,29,.95) 100%), url('assets/img/hero-arnica.jpg'); background-size: cover; background-position: center; color: #fff; text-align: center; padding: 66px 24px 74px; position: relative; }
.nw-brand__hero-inner { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.nw-brand__back { display: block; color: rgba(255,255,255,.75); text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; margin: 0 0 28px; }
.nw-brand__back:hover { color: #fff; }
.nw-brand__logo { display: inline-flex; align-items: baseline; justify-content: center; background: #fff; color: var(--principale, #0C4E2B); font-family: 'Lora', serif; font-weight: 700; font-size: clamp(32px, 4vw, 48px); padding: 20px 36px; border-radius: 14px; box-shadow: 0 14px 30px rgba(0,0,0,0.18); letter-spacing: -1px; gap: 4px; }
.nw-brand__logo-pre { color: var(--principale, #0C4E2B); }
.nw-brand__logo-suf { color: #F28D22; font-style: italic; }
.nw-brand__logo:has(img) { padding: 24px 40px; }
.nw-brand__logo-img { max-height: 92px; max-width: 360px; width: auto; height: auto; object-fit: contain; display: block; }
.nw-brand__claim { font-family: 'Lora', serif; font-style: italic; font-weight: 700; font-size: clamp(24px, 3vw, 38px); color: #fff !important; margin: 28px 0 16px; line-height: 1.12; text-wrap: balance; }
@media (min-width: 880px) { .nw-brand__claim { white-space: nowrap; } }
.nw-brand__intro { color: rgba(255,255,255,.85); font-size: 16px; line-height: 1.6; max-width: 600px; margin: 0 auto 26px; }
.nw-brand__badges { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.nw-brand__badge { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 13px; font-weight: 700; padding: 8px 16px; border-radius: 999px; }
.nw-brand__badge--gold { border-color: #F2C744; color: #F2C744; }

/* 3 ragioni */
.nw-brand__reasons { background: #EDF5EE; padding: 60px 0; }
.nw-reasons__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 8px; }
.nw-reason { background: #fff; border-radius: 16px; padding: 30px 26px; text-align: center; }
.nw-reason__ico { font-size: 34px; }
.nw-reason__title { font-family: 'Lora', serif; font-weight: 700; font-size: 20px; color: #111 !important; margin: 14px 0 8px; }
.nw-reason__txt { color: #6b7280; font-size: 14.5px; line-height: 1.6; margin: 0; }

/* Catalogo brand: tab + griglia */
.nw-brandtabs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; border-bottom: 1px solid #eef0ec; padding-bottom: 16px; }
.nw-brandtab { background: none; border: 0; cursor: pointer; font-family: 'Lato', sans-serif; font-size: 15px; font-weight: 600; color: #6b7280; padding: 8px 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; }
.nw-brandtab span { color: #b9bdc2; font-size: 13px; }
.nw-brandtab:hover { color: #1c1c1c; }
.nw-brandtab.is-active { background: var(--principale, #0C4E2B); color: #fff; }
.nw-brandtab.is-active span { color: rgba(255,255,255,.7); }
.nw-branditem { display: contents; }
.nw-branditem > .nw-pcard { height: 100%; }

@media (max-width: 1024px) { .nw-reasons__grid { grid-template-columns: 1fr; } }

/***** SCHEDA PRODOTTO (PDP) *****/
.nw-pdp { background: #fff; font-family: 'Lato', system-ui, sans-serif; max-width: var(--content, 1600px); margin: 0 auto; padding: 0 24px 40px; }
.nw-pdp__bread { padding: 22px 0 18px; }
.nw-pdp__top { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-bottom: 40px; }

/* Gallery */
.nw-pdp__main { position: relative; background: #fff; border: 1px solid #ececec; border-radius: 18px; min-height: 460px; display: flex; align-items: center; justify-content: center; padding: 32px; }
.nw-pdp__main img { max-height: 420px; max-width: 100%; object-fit: contain; }
.nw-pdp__pda { position: absolute; top: 18px; left: 18px; background: #FCEFC7; color: #8a6d1a; font-size: 12px; font-weight: 700; padding: 7px 14px; border-radius: 999px; }
.nw-pdp__thumbs { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.nw-pdp__thumb { width: 84px; height: 84px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; cursor: pointer; padding: 8px; display: flex; align-items: center; justify-content: center; }
.nw-pdp__thumb.is-active { border-color: var(--principale, #0C4E2B); border-width: 2px; }
.nw-pdp__thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.nw-pdp__pharma { display: flex; align-items: center; gap: 10px; margin-top: 18px; background: #EDF5EE; border: 1px solid #dcebe0; border-radius: 12px; padding: 13px 16px; text-decoration: none; font-size: 14px; transition: background .15s ease, border-color .15s ease; }
.nw-pdp__pharma:hover { background: #e3f0e6; border-color: #c3ddca; }
.nw-pdp__pharma-ico { font-size: 18px; line-height: 1; flex: 0 0 auto; color: var(--principale, #0C4E2B); }
/* colori espliciti sugli span: vincono sull'eredità del link anche se un global li sbianca */
.nw-pdp__pharma .nw-pdp__pharma-txt { color: #2c3a32; }
.nw-pdp__pharma .nw-pdp__pharma-txt strong { color: var(--principale, #0C4E2B); font-weight: 700; }
.nw-pdp__pharma .nw-pdp__pharma-cta { margin-left: auto; color: var(--principale, #0C4E2B); font-weight: 700; white-space: nowrap; flex: 0 0 auto; }
@media (max-width: 520px) { .nw-pdp__pharma { flex-wrap: wrap; } .nw-pdp__pharma .nw-pdp__pharma-cta { margin-left: 28px; } }

/* Info */
.nw-pdp__tags-top { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.nw-pdp__brand { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 13px; color: var(--principale, #0C4E2B) !important; text-decoration: none; }
.nw-pdp__cat { background: #f1f4f1; color: var(--principale, #0C4E2B) !important; font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px; text-decoration: none; }
.nw-pdp__sku { color: #9aa3a0; font-size: 12px; margin-left: auto; }
.nw-pdp__title { font-family: 'Lora', serif; font-weight: 700; font-size: clamp(30px, 3.2vw, 44px); color: #111 !important; margin: 0 0 8px; line-height: 1.1; text-transform: none !important; }
.nw-pdp__subtitle { color: #6b7280; font-size: 16px; font-style: italic; margin: 0 0 16px; }
.nw-pdp__rating { display: flex; align-items: center; gap: 8px; margin-bottom: 22px; font-size: 14px; }
.nw-pdp__stars { color: #E3A008; letter-spacing: 1px; }
.nw-pdp__rating a { color: #6b7280; text-decoration: underline; }
.nw-pdp__buybox { border: 1px solid #ececec; border-radius: 16px; padding: 24px; margin-bottom: 26px; }
.nw-pdp__price { font-family: 'Lora', serif; font-weight: 700; font-size: 34px; color: #111; }
.nw-pdp__price del { color: #b9bdc2; font-weight: 400; font-size: 22px; margin-right: 8px; }
.nw-pdp__pricesub { color: #9aa3a0; font-size: 13px; margin: 2px 0 18px; }
.nw-pdp__form { display: flex; gap: 12px; align-items: stretch; }
.nw-pdp__qty { display: flex; align-items: center; border: 1px solid #dde2dd; border-radius: 10px; overflow: hidden; }
.nw-pdp__qty button { background: #f7f8f6; border: 0; width: 42px; font-size: 18px; cursor: pointer; color: #1c1c1c; }
.nw-pdp__qty input { width: 50px; border: 0; text-align: center; font-size: 15px; -moz-appearance: textfield; }
.nw-pdp__qty input::-webkit-outer-spin-button, .nw-pdp__qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.nw-pdp__addcart { flex: 1; background: var(--principale, #0C4E2B); color: #fff !important; border: 0; border-radius: 10px; font-weight: 700; font-size: 16px; cursor: pointer; padding: 14px; transition: background .15s ease; }
.nw-pdp__addcart:hover { background: #0a3f23; }
/* ---- Set icone coerente (Tabler outline in cerchio tinta) ---- */
.nw-svgico { display: block; width: 100%; height: 100%; stroke-width: 1.9; }
/* Icona "piede" (set Noun, sagoma piena): scalata per riempire il cerchio come le altre */
.nw-i-foot-care { transform: scale(1.25); transform-origin: center; }
.nw-ico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: #E7F4EC; color: var(--principale, #0C4E2B); vertical-align: middle; }
.nw-ico .nw-svgico { width: 16px; height: 16px; }
.nw-ico--solid { width: 24px; height: 24px; background: #fff; }
.nw-ico--solid .nw-svgico { width: 15px; height: 15px; }
.nw-ico--sm { width: 22px; height: 22px; }
.nw-ico--sm .nw-svgico { width: 14px; height: 14px; }
.nw-ico--plain { width: auto; height: auto; background: transparent; border-radius: 0; color: inherit; }
.nw-ico--plain .nw-svgico { width: 18px; height: 18px; }

/* Allineamento icona+testo nei contenitori noti */
.nw-pdp__microtrust { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 18px; color: #6b7280; font-size: 12.5px; }
.nw-pdp__microtrust span { display: inline-flex; align-items: center; gap: 8px; }
.nw-trustbar__ico { display: inline-flex; align-items: center; justify-content: center; }
.nw-sec__eyebrow, .nw-phero__eyebrow, .nw-news__eyebrow { display: inline-flex; align-items: center; gap: 7px; }
.nw-pcard__badge, .nw-brand__badge, .nw-archive__badge, .nw-hero__badge, .nw-poy__badge, .nw-pdp__pda, .nw-pdp__cat { display: inline-flex; align-items: center; gap: 6px; }
.nw-action__ico { display: inline-flex; align-items: center; justify-content: center; }
.nw-footer__contact li, .nw-foot__contact li { display: flex; align-items: center; gap: 8px; }
.nw-footer__contact li > .nw-ico--plain, .nw-foot__contact li > .nw-ico--plain { color: #c5d6cb; }
.nw-search__gtitle { display: inline-flex; align-items: center; gap: 8px; }
/* Altri contenitori convertiti emoji→icona (allineamento inline) */
.nw-hero__trust span, .nw-funnel__trust span, .nw-archive__meta-item, .nw-mnav__foot a, .nw-brand__badge { display: inline-flex; align-items: center; gap: 7px; }
.nw-ctaband__badge { display: inline-flex; align-items: center; gap: 6px; }
.nw-need__emoji, .nw-mnav__emoji { display: inline-flex; align-items: center; justify-content: center; width: 24px; }
/* Icone su sfondi colorati: tratto bianco (plain eredita già, qui forziamo dove serve) */
.nw-archive__badge--solid .nw-ico, .nw-ctaband__badge .nw-ico, .nw-poy__badge .nw-ico { color: #fff; }
/* Placeholder ed empty-state: icona grande al posto della vecchia emoji */
.nw-archive__hero-emoji .nw-ico { width: 120px; height: 120px; }
.nw-archive__hero-emoji .nw-svgico { width: 58px; height: 58px; }
.nw-reason__ico { font-size: 0; }
.nw-reason__ico .nw-ico { width: 52px; height: 52px; }
.nw-reason__ico .nw-svgico { width: 26px; height: 26px; }
.nw-about__storycard-ico { font-size: 0; }
.nw-about__storycard-ico .nw-ico { width: 54px; height: 54px; }
.nw-about__storycard-ico .nw-svgico { width: 28px; height: 28px; }
.nw-cd__empty-ico .nw-svgico { width: 46px; height: 46px; }
.nw-cd__empty-ico .nw-ico, .nw-wishpage__emptyico .nw-ico { color: #9fb0a6; }
.nw-wishpage__emptyico .nw-svgico { width: 50px; height: 50px; }
/* Griglia categorie home: chip-icona grande nel cerchio verde */
.nw-cat__emoji { font-size: 0; }
.nw-cat__emoji .nw-ico { width: 60px; height: 60px; }
.nw-cat__emoji .nw-svgico { width: 32px; height: 32px; }
.nw-pdp__why { margin-bottom: 24px; }
.nw-pdp__why h3, .nw-pdp__suited h3 { font-family: 'Lora', serif; font-size: 19px; color: #111; margin: 0 0 12px; }
.nw-pdp__why ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nw-pdp__why li { position: relative; padding-left: 28px; color: #3a3a3a; font-size: 15px; line-height: 1.5; }
.nw-pdp__why li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--principale, #0C4E2B); font-weight: 700; }
.nw-pdp__suited { margin-top: 4px; }
.nw-pdp__chips { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.nw-pdp__chips span { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #dde6df; background: #f4f8f4; border-radius: 999px; padding: 8px 15px 8px 12px; font-size: 13px; line-height: 1; color: #2c3a32; font-weight: 600; }
.nw-pdp__chips span svg { width: 15px; height: 15px; color: var(--principale, #0C4E2B); flex: 0 0 auto; }

/* Informazioni aggiuntive (scheda tecnica) */
.nw-pdp__specs-sec { background: #F6F7F4; border-top: 1px solid #e8ede8; border-bottom: 1px solid #e8ede8; }
.nw-pdp__specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 48px; margin: 26px 0 0; max-width: 900px; }
.nw-pdp__spec { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 14px 2px; border-bottom: 1px solid #e3e8e3; }
.nw-pdp__spec dt { color: #6b7a72; font-size: 14px; flex: 0 0 auto; }
.nw-pdp__spec dd { margin: 0; font-weight: 700; color: #1c1c1c; font-size: 14.5px; text-align: right; }
@media (max-width: 700px) { .nw-pdp__specs { grid-template-columns: 1fr; gap: 0; } }

/* Ingredienti */
.nw-pdp__ingr-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; }
.nw-pdp__without { background: #EDF5EE; border-radius: 12px; padding: 14px 18px; font-size: 14px; color: #3a3a3a; margin-top: 18px; }

/* Modo d'uso */
.nw-pdp__howto { background: #EDF5EE; padding: 56px 0; }
.nw-howto__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.nw-howto { background: #fff; border-radius: 16px; padding: 26px; }
.nw-howto__step { display: inline-block; background: var(--principale, #0C4E2B); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: 5px 12px; border-radius: 8px; margin-bottom: 14px; }
.nw-howto h3 { font-family: 'Lora', serif; font-size: 22px; color: #111; margin: 0 0 8px; }
.nw-howto p { color: #6b7280; font-size: 14.5px; margin: 0; }

/* Recensioni */
.nw-pdp__reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.nw-review { border: 1px solid #ececec; border-radius: 14px; padding: 20px; }
.nw-review__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.nw-review__av { width: 38px; height: 38px; border-radius: 999px; background: #EDF5EE; color: var(--principale, #0C4E2B); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.nw-review__date { display: block; color: #9aa3a0; font-size: 12px; }
.nw-review__stars { margin-left: auto; color: #E3A008; }
.nw-review p { color: #4a4a4a; font-size: 14px; line-height: 1.6; margin: 0; }
.nw-pdp__noreview { color: #6b7280; }
.nw-pdp__noreview a { color: var(--principale, #0C4E2B); font-weight: 700; text-decoration: none; }

/* Approfondimento */
.nw-pdp__deep .nw-pdp__desc { color: #444; font-size: 16px; line-height: 1.7; max-width: 820px; }
.nw-pdp__deep .nw-pdp__desc p { margin: 0 0 14px; }

@media (max-width: 1024px) {
  .nw-pdp__top { grid-template-columns: 1fr; gap: 28px; }
  .nw-pdp__ingr-grid { grid-template-columns: 1fr; }
  .nw-howto__grid, .nw-pdp__reviews { grid-template-columns: 1fr; }
}

/* Nasconde il template Elementor single-product di default (lo sostituisce la PDP coded) */
body.single-product [data-elementor-type="product"] { display: none !important; }

/* Box "Acquista per categoria" più evidenti sulla pagina Brand (sfondo bianco) */
.nw-brand .nw-cat { border: 1px solid #e5e8e4; box-shadow: 0 6px 18px -12px rgba(0,0,0,.18); }
.nw-brand .nw-cat:hover { border-color: var(--secondario, #7E9E8D); box-shadow: 0 14px 26px -14px rgba(0,0,0,.22); }

/***** PREFERITI (wishlist) — cuore *****/

/* Gallery PDP: box bianca e quadrata */
.nw-pdp__main { aspect-ratio: 1 / 1; min-height: 0; }

/* Buybox: prezzo+quantità in alto, poi carrello+cuore */
.nw-pdp__form { display: block; }
.nw-pdp__buyrow { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.nw-pdp__actions { display: flex; gap: 10px; align-items: stretch; }
.nw-pdp__addcart { flex: 1; }

/* Accordion ingredienti: icona in box arrotondato */

/* =====================================================================
   FOOTER CODED (redesign 2026) — sostituisce il footer Elementor
   ===================================================================== */
.elementor-location-footer { display: none !important; }

.nw-foot {
    background: #F4EFE6;
    color: #39473F;
    font-family: 'Lato', sans-serif;
    margin-top: 60px;
    border-top: 1px solid rgba(12,78,43,.10);
}
.nw-foot__wrap { max-width: var(--content, 1600px); margin: 0 auto; padding: 72px 24px 30px; }
.nw-foot__top {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr;
    gap: 52px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(12,78,43,.14);
}
.nw-foot__logo {
    display: inline-block; font-family: 'Lora', serif; font-weight: 700;
    font-size: 26px; color: var(--principale, #0C4E2B) !important; text-decoration: none; letter-spacing: .3px;
}
.nw-foot__logo span {
    font-family: 'Lato', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .28em;
    color: #6E8375; display: inline-block; margin-left: 4px; vertical-align: middle;
}
.nw-foot__tag { margin: 18px 0 22px; font-size: 14.5px; line-height: 1.7; color: #39473F; max-width: 360px; }

.nw-foot__newslabel { display: block; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--secondario, #7E9E8D); margin-bottom: 9px; }
.nw-foot__newsrow { display: flex; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; overflow: hidden; max-width: 340px; }
.nw-foot__newsrow input {
    flex: 1; background: transparent; border: 0; outline: none; color: #fff;
    padding: 12px 18px; font-size: 14.5px; font-family: 'Lato', sans-serif;
}
.nw-foot__newsrow input::placeholder { color: #9fb4a7; }
.nw-foot__newsrow button {
    flex: 0 0 auto; background: var(--secondario, #7E9E8D); border: 0; cursor: pointer;
    color: #0C4E2B; font-size: 18px; font-weight: 800; width: 48px; transition: background .15s ease;
}
.nw-foot__newsrow button:hover { background: #fff; }

.nw-foot__social { display: flex; gap: 12px; margin-top: 24px; }
.nw-foot__social a {
    width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: #ffffff; border: 1px solid rgba(12,78,43,.18); color: var(--principale, #0C4E2B) !important; transition: all .15s ease;
}
.nw-foot__social a:hover { background: var(--secondario, #7E9E8D); border-color: var(--secondario, #7E9E8D); color: #fff !important; transform: translateY(-2px); }

.nw-foot__h {
    color: var(--principale, #0C4E2B) !important; font-family: 'Lato', sans-serif !important; font-size: 15px !important; font-weight: 800 !important;
    letter-spacing: .04em; margin: 4px 0 20px !important; text-transform: none !important; padding: 0 !important;
}
.nw-foot__col ul { list-style: none; margin: 0; padding: 0; }
.nw-foot__col li { margin-bottom: 13px; }
.nw-foot__col a { color: #39473F !important; text-decoration: none; font-size: 14.5px; transition: color .14s ease, padding .14s ease; }
.nw-foot__col a:hover { color: var(--principale, #0C4E2B) !important; padding-left: 4px; }

.nw-foot__contact li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; color: #39473F; font-size: 14.5px; }
.nw-foot__contact span { flex: 0 0 auto; color: var(--principale, #0C4E2B); opacity: .85; }

.nw-foot__bottom {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
    padding-top: 24px; font-size: 13px; color: #495851;
}
.nw-foot__legal { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; padding: 0; }
.nw-foot__legal a { color: #495851 !important; text-decoration: none; font-size: 13px; }
.nw-foot__legal a:hover { color: var(--principale, #0C4E2B) !important; }
.nw-foot__pay { display: flex; gap: 8px; }
.nw-foot__pay span {
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 6px;
    padding: 4px 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .03em; color: #dfe9e2;
}

/* Footer: i titoli colonna sono <summary> (accordion); su desktop = normali intestazioni */
.nw-foot__acc > summary { display: block; list-style: none; cursor: default; }
.nw-foot__acc > summary::-webkit-details-marker { display: none; }
.nw-foot__acc > summary::marker { content: ''; }

@media (min-width: 768px) and (max-width: 1080px) {
    .nw-foot__top { grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
    .nw-foot__brandcol { grid-column: 1 / -1; }
}
/* Mobile stile Farmacy: Naturwaren + descrizione + social fissi; le altre voci a tendina */
@media (max-width: 767px) {
    .nw-foot__wrap { padding: 44px 20px 24px; }
    .nw-foot__top { grid-template-columns: 1fr; gap: 14px; padding-bottom: 18px; }
    .nw-foot__brandcol { grid-column: auto; margin-bottom: 30px; }
    /* niente divisori: piu' spazio tra le voci principali (summary), meno tra le sotto-voci */
    .nw-foot__acc > summary {
        display: flex; align-items: center; justify-content: space-between;
        cursor: pointer; padding: 22px 2px; margin: 0 !important;
    }
    .nw-foot__acc > summary::after {
        content: ''; width: 20px; height: 20px; flex: 0 0 auto; transition: transform .22s ease;
        background: center / 20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C4E2B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    }
    .nw-foot__acc[open] > summary::after { transform: rotate(180deg); }
    .nw-foot__acc > ul { padding: 2px 0 6px; }
    .nw-foot__col li { margin-bottom: 9px; line-height: 1.3; }
    .nw-foot__col a { line-height: 1.3; }
    .nw-foot__bottom { flex-direction: column; align-items: flex-start; }
}

/* =====================================================================
   PAGINA PREFERITI (wishlist)
   ===================================================================== */
.nw-wishpage { max-width: var(--content, 1600px); margin: 0 auto; padding: 48px 24px 80px; font-family: 'Lato', sans-serif; }
.nw-wishpage__head { text-align: center; margin-bottom: 40px; }
.nw-wishpage__title {
    font-family: 'Lora', serif !important; font-size: clamp(30px, 4vw, 46px) !important; font-weight: 700 !important;
    color: #14241a !important; margin: 0 0 10px !important; text-transform: none !important;
}
.nw-wishpage__title em { color: var(--principale, #0C4E2B); font-style: italic; }
.nw-wishpage__sub { color: #6b7a72; font-size: 16px; margin: 0; }

.nw-wishpage__empty { text-align: center; max-width: 460px; margin: 40px auto; padding: 48px 28px; background: #f6f8f5; border: 1px solid #e8ede8; border-radius: 20px; }
.nw-wishpage__emptyico { font-size: 54px; line-height: 1; margin-bottom: 10px; }
.nw-wishpage__empty h2 { font-family: 'Lora', serif !important; font-size: 24px !important; color: #14241a !important; margin: 6px 0 10px !important; text-transform: none !important; }
.nw-wishpage__empty p { color: #6b7a72; font-size: 15.5px; line-height: 1.6; margin: 0 0 22px; }

.nw-wishpage__loading { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 60px 0; color: #6b7a72; font-size: 15px; }
.nw-spin { width: 22px; height: 22px; border: 3px solid #d7e2da; border-top-color: var(--principale, #0C4E2B); border-radius: 50%; animation: spin .7s linear infinite; display: inline-block; }

/* =====================================================================
   CARRELLO & CHECKOUT (redesign 2026) — restyle markup WooCommerce
   ===================================================================== */
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title {
    font-family: 'Lora', serif !important; font-weight: 700 !important; color: #14241a !important;
    text-transform: none !important; text-align: center; font-size: clamp(28px, 3.5vw, 40px) !important;
}
/* Titoli prodotto nelle sezioni loop/"Ultimi prodotti" sul carrello: dimensione contenuta
   (prima venivano colpiti dalla regola .entry-title del titolo pagina -> enormi) */
body.woocommerce-cart .product_title,
body.woocommerce-cart .woocommerce-loop-product__title,
body.woocommerce-cart ul.products li.product .elementor-heading-title {
    font-family: 'Lora', serif !important; font-size: 17px !important; line-height: 1.3 !important;
    font-weight: 700 !important; letter-spacing: 0 !important;
}

/* Tabella articoli carrello */
.woocommerce table.shop_table {
    border: 1px solid #e8ede8 !important; border-radius: 16px !important; overflow: hidden;
    border-collapse: separate !important; border-spacing: 0; background: #fff;
}
.woocommerce table.cart thead th {
    background: #f6f8f5; font-family: 'Lato', sans-serif; font-weight: 800; font-size: 13px;
    letter-spacing: .04em; text-transform: uppercase; color: #5a6b62; padding: 16px 18px; border: 0;
}
.woocommerce table.cart td { padding: 18px; border-top: 1px solid #eef2ee !important; vertical-align: middle; }
.woocommerce table.cart img { width: 72px !important; height: 72px !important; object-fit: contain !important; background: #fff; border: 1px solid #eef2ee; border-radius: 10px; padding: 5px; }
.woocommerce table.cart td.product-name a { color: #14241a !important; font-weight: 700; text-decoration: none; }
.woocommerce table.cart td.product-name a:hover { color: var(--principale, #0C4E2B) !important; }
.woocommerce a.remove {
    color: #b23b3b !important; border: 1px solid #f0d9d9; width: 26px; height: 26px; line-height: 24px;
    border-radius: 50%; font-weight: 700;
}
.woocommerce a.remove:hover { background: #b23b3b !important; color: #fff !important; }

/* Quantità */
.woocommerce .quantity input.qty {
    border: 1.5px solid #e0e6e0; border-radius: 9px; padding: 9px; width: 64px; text-align: center;
    font-family: 'Lato', sans-serif; font-weight: 700; background: #fff;
}

/* Coupon + bottoni tabella */
.woocommerce .coupon input#coupon_code {
    border: 1.5px solid #e0e6e0 !important; border-radius: 10px !important; padding: 12px 16px !important;
    min-width: 200px; font-family: 'Lato', sans-serif;
}
.woocommerce table.cart .button,
.woocommerce .coupon .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--principale, #0C4E2B) !important; color: #fff !important;
    border-radius: 10px !important; font-family: 'Lato', sans-serif !important; font-weight: 700 !important;
    padding: 13px 24px !important; border: 0 !important; text-transform: none !important; letter-spacing: .2px;
    transition: background .15s ease, transform .15s ease;
}
.woocommerce table.cart .button:hover,
.woocommerce .coupon .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #0a3f23 !important; transform: translateY(-1px); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
    background: var(--principale, #0C4E2B) !important;
}
/* "Aggiorna carrello" = azione secondaria (outline), così non sembra disattivata/slavata */
.woocommerce button[name="update_cart"], .woocommerce input[name="update_cart"] {
    background: #fff !important; color: var(--principale, #0C4E2B) !important;
    border: 1.5px solid var(--principale, #0C4E2B) !important;
}
.woocommerce button[name="update_cart"]:hover:not(:disabled), .woocommerce input[name="update_cart"]:hover:not(:disabled) {
    background: var(--principale, #0C4E2B) !important; color: #fff !important;
}
.woocommerce button[name="update_cart"]:disabled, .woocommerce input[name="update_cart"]:disabled { opacity: .5; cursor: default; transform: none !important; }
/* Carrello centrato e bilanciato */
.woocommerce-cart .woocommerce, .woocommerce-cart form.woocommerce-cart-form { margin-left: auto; margin-right: auto; }
.woocommerce-cart table.cart { width: 100% !important; }
.woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; max-width: 460px; margin-left: auto; }

/* Totali carrello */
.cart_totals, .woocommerce-checkout-review-order {
    background: #f6f8f5 !important; border: 1px solid #e8ede8 !important; border-radius: 16px !important;
    padding: 26px !important;
}
.cart_totals h2, .woocommerce-checkout-review-order h3 {
    font-family: 'Lora', serif !important; color: #14241a !important; text-transform: none !important;
    font-size: 22px !important; margin: 0 0 16px !important;
}
.cart_totals table.shop_table { border: 0 !important; background: transparent !important; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td { border: 0 !important; border-top: 1px solid #e3e9e3 !important; padding: 13px 0 !important; background: transparent !important; }
.cart_totals .order-total .amount, .woocommerce-checkout-review-order .order-total .amount {
    color: var(--principale, #0C4E2B) !important; font-size: 22px; font-weight: 800;
}
.wc-proceed-to-checkout .checkout-button {
    background: var(--principale, #0C4E2B) !important; font-size: 17px !important; padding: 16px !important;
    border-radius: 12px !important; width: 100%; text-align: center;
}
.wc-proceed-to-checkout .checkout-button::after { display: none !important; }

/* Checkout: campi form */
.woocommerce-checkout #customer_details { }
.woocommerce form .form-row label,
.woocommerce-checkout label { font-family: 'Lato', sans-serif; font-weight: 700; color: #2b3a31; font-size: 14px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce select {
    border: 1.5px solid #e0e6e0 !important; border-radius: 10px !important; padding: 13px 15px !important;
    font-family: 'Lato', sans-serif !important; font-size: 15px !important; background: #fff !important;
    box-shadow: none !important; min-height: 48px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce select:focus {
    border-color: var(--principale, #0C4E2B) !important; outline: none !important;
    box-shadow: 0 0 0 3px rgba(12,78,43,.10) !important;
}
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: 100%; }
#customer_details.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; }
.woocommerce-billing-fields h3, .woocommerce-additional-fields h3, #order_review_heading {
    font-family: 'Lora', serif !important; color: #14241a !important; text-transform: none !important; font-size: 22px !important;
}

/* Checkout: box pagamento */
.woocommerce-checkout #payment {
    background: #f6f8f5 !important; border: 1px solid #e8ede8 !important; border-radius: 16px !important;
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid #e3e9e3 !important; padding: 18px 22px !important; }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }
.woocommerce #payment #place_order, .woocommerce-checkout #place_order {
    background: var(--principale, #0C4E2B) !important; width: 100%; font-size: 17px !important; padding: 16px !important;
    border-radius: 12px !important; margin-top: 10px;
}

@media (min-width: 769px) {
    .woocommerce-cart .woocommerce { max-width: 1100px; margin: 0 auto; }
}
@media (max-width: 768px) {
    #customer_details.col2-set { grid-template-columns: 1fr; }
}

/* =====================================================================
   REDESIGN 2026 — PAGINE CONTENUTO (search · blog · single · 404 · chi siamo · account)
   ===================================================================== */
.nw-page { background:#fff; font-family:'Lato', system-ui, sans-serif; color:#1a1a1a; }

/* Page hero riusabile */
.nw-phero { background:#EDF5EE; padding:56px 0 48px; }
.nw-phero__inner { max-width: var(--content, 1600px); margin:0 auto; padding:0 24px; }
.nw-phero--center { text-align:center; }
.nw-phero--center .nw-phero__inner { max-width:760px; }
.nw-phero__eyebrow { display:inline-block; font-size:13px; font-weight:700; color:var(--principale,#0C4E2B); letter-spacing:.3px; margin-bottom:14px; }
.nw-phero__title { font-family:'Lora', serif; font-weight:700; font-size:clamp(32px,4vw,52px) !important; /* !important: il kit Elementor h1 (0,1,1) impone 60px e il clamp non passava */ line-height:1.08; letter-spacing:-1px; color:#111 !important; margin:0 0 14px; text-transform:none !important; }
.nw-phero__title em { color:var(--principale,#0C4E2B); font-style:italic; }
/* ≤480: 32px non basta per parole lunghe ("approfondimenti" usciva dal viewport) */
@media (max-width:480px){ .nw-phero__title { font-size:27px !important; letter-spacing:-.5px; overflow-wrap:break-word; } }
.nw-phero__sub { font-size:17px; line-height:1.6; color:#4a4a4a; margin:0; max-width:620px; }
.nw-phero--center .nw-phero__sub { margin-left:auto; margin-right:auto; }

/* Breadcrumb */

/* Top-bar filtri blog — stessa lingua visiva della top-bar archivi prodotto
   (.nw-cattop + .nw-dd: base in nw-components.css, polish in shop.css che sul
   blog NON è caricato → le dichiarazioni sono copiate qui, scoped .nw-blogidx).
   Il dropdown è un <details> nativo (.nw-bdd), senza il JS degli archivi. */
.nw-blogidx__topbar-wrap { border-bottom:1px solid #eef0ec; background:#fff; }
.nw-blogidx__topbar { max-width: var(--content, 1600px); margin:0 auto; padding:20px 32px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.nw-blogidx__count { font-size:15px; color:#1c1c1c; }
.nw-blogidx__count strong { font-weight:700; }
.nw-blogidx .nw-bdd { position:relative; }
/* pill = copia di .nw-dd__btn (nw-components) + polish shop.css (padding 10/18, hover sage-tint) */
.nw-blogidx .nw-bdd__btn { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #dde2dd; border-radius:999px; padding:10px 18px; font-size:14px; font-weight:600; color:#1c1c1c; cursor:pointer; list-style:none; transition:border-color .18s ease, background .18s ease, color .18s ease; }
.nw-blogidx .nw-bdd__btn::-webkit-details-marker { display:none; }
.nw-blogidx .nw-bdd__btn:hover { background:var(--nw-sage-tint,#eef4ea); }
.nw-blogidx .nw-bdd[open] .nw-bdd__btn,
.nw-blogidx .nw-bdd.has-active .nw-bdd__btn { border-color:var(--principale,#0C4E2B); color:var(--principale,#0C4E2B); }
.nw-blogidx .nw-bdd__caret { font-size:10px; color:#9aa3a0; display:inline-block; transition:transform .18s ease; }
.nw-blogidx .nw-bdd[open] .nw-bdd__caret { transform:rotate(180deg); }
/* panel = copia di .nw-dd__panel + polish shop.css (radius 16, shadow morbida, +aria) */
.nw-blogidx .nw-bdd__panel { position:absolute; top:calc(100% + 10px); left:0; z-index:50; display:flex; flex-direction:column; gap:2px; background:#fff; border:1px solid #e7ece8; border-radius:16px; box-shadow:0 24px 54px -22px rgba(20,42,35,.38); padding:10px; min-width:280px; max-height:340px; overflow-y:auto; }
/* voci = .nw-filter (base nw-components: flex + hover #f4f6f3) ma sono <a>: il tema
   fuori da .nw-header li forza a bianco !important → colore esplicito (come .nw-pcard__name). */
.nw-blogidx .nw-bdd .nw-filter { padding:10px 12px; border-radius:10px; font-size:14.5px; color:#3a3a3a !important; text-decoration:none; }
.nw-blogidx .nw-bdd .nw-filter::before { content:""; width:7px; height:7px; border-radius:50%; background:transparent; flex:0 0 auto; transition:background .12s ease; }
.nw-blogidx .nw-bdd .nw-filter.is-active { color:var(--principale,#0C4E2B) !important; font-weight:700; }
.nw-blogidx .nw-bdd .nw-filter.is-active::before { background:var(--principale,#0C4E2B); }
.nw-blogidx .nw-bdd .nw-filter__count { margin-left:auto; color:#9aa3a0; font-size:12.5px; font-weight:400; }
/* select "Ordina" = pill con freccia svg inline, come .nw-results__perpage select (shop.css) */
.nw-blogidx__sort { margin-left:auto; display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:#5c6b60; white-space:nowrap; }
.nw-blogidx__sort select { border:1px solid #e2e6df; border-radius:999px; padding:6px 30px 6px 12px; font:inherit; font-weight:700; color:#1a2a20; background:#fff; cursor:pointer; -webkit-appearance:none; appearance:none; 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='%230C4E2B' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; }
.nw-blogidx__sort select:focus-visible { outline:2px solid var(--principale,#0C4E2B); outline-offset:2px; }
@media (max-width:700px) {
	.nw-blogidx__topbar { padding:16px 20px; row-gap:10px; }
	.nw-blogidx .nw-bdd { flex:1 1 100%; }
	.nw-blogidx .nw-bdd__btn { display:flex; width:100%; }
	.nw-blogidx .nw-bdd__btn .nw-bdd__caret { margin-left:auto; }
	.nw-blogidx .nw-bdd__panel { left:0; right:0; min-width:0; }
	.nw-blogidx__sort { margin-left:0; flex:1 1 100%; display:grid; grid-template-columns:80px 1fr; gap:0 8px; }
	.nw-blogidx__sort select { width:100%; min-width:0; }
}

/* Wrapper contenuto */
.nw-blogidx__wrap, .nw-search__wrap { max-width: var(--content, 1600px); margin:0 auto; padding:48px 24px 72px; }
.nw-search__bar { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:8px; }
.nw-search__bar .nw-search__gtitle { margin:0; }

/* Pagination */

/* ---- OFFERTE (/offerte/, nw_render_offers) — riusa phero/sec/grid/pcard globali ---- */
.nw-offers__best { background:#F6F7F4; border-top:1px solid #e8ede8; }
/* link "Vai al negozio": il tema forza gli <a> a bianco fuori da .nw-header → colore esplicito (come .nw-home .nw-sec__link) */
.nw-offers__shoplink { text-align:center; margin:34px 0 0; }
.nw-offers .nw-sec__link { color:#0C4E2B !important; }
.nw-offers .nw-sec__link:hover { text-decoration:underline; }
/* Stato vuoto (0 offerte): card centrata, tono positivo */
.nw-offers__empty { max-width:640px; margin:0 auto; text-align:center; background:#F6F7F4; border:1px solid #e8ede8; border-radius:20px; padding:54px 32px; }
.nw-offers__empty-ico .nw-ico { width:54px; height:54px; }
.nw-offers__empty-ico .nw-ico .nw-svgico { width:28px; height:28px; }
.nw-offers__empty-title { font-family:'Lora', serif; font-weight:700; font-size:26px; color:#111 !important; text-transform:none !important; margin:14px 0 10px; }
.nw-offers__empty-sub { color:#5c6b60; font-size:15.5px; line-height:1.65; max-width:480px; margin:0 auto; }

/* ---- SINGLE POST ---- */
.nw-article__hero { background:#EDF5EE; padding:48px 0 0; }
.nw-article__head { max-width:820px; margin:0 auto; padding:0 24px 40px; text-align:center; }
.nw-article__cat { display:inline-block; background:var(--principale,#0C4E2B); color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; padding:5px 12px; border-radius:999px; margin-bottom:18px; }
.nw-article__title { font-family:'Lora', serif; font-weight:700; font-size:clamp(30px,4vw,48px); line-height:1.12; letter-spacing:-1px; color:#111 !important; margin:0 0 18px; text-transform:none !important; }
.nw-article__meta { display:flex; gap:10px; justify-content:center; align-items:center; flex-wrap:wrap; font-size:14px; color:#6b7a72; }
.nw-article__cover { max-width:1000px; margin:0 auto; height:440px; background-size:cover; background-position:center; border-radius:18px 18px 0 0; }
.nw-article__body { max-width:760px; margin:0 auto; padding:48px 24px 8px; font-size:17.5px; line-height:1.75; color:#2f3a34; }
.nw-article__body > * { margin:0 0 22px; }
.nw-article__body h2 { font-family:'Lora', serif; font-weight:700; font-size:28px; color:#111 !important; margin:40px 0 16px; letter-spacing:-.3px; text-transform:none !important; }
.nw-article__body h3 { font-family:'Lora', serif; font-weight:700; font-size:22px; color:#111 !important; margin:32px 0 12px; text-transform:none !important; }
.nw-article__body a { color:var(--principale,#0C4E2B); text-decoration:underline; }
.nw-article__body img { max-width:100%; height:auto; border-radius:14px; }
.nw-article__body ul, .nw-article__body ol { padding-left:22px; }
.nw-article__body li { margin-bottom:8px; }
.nw-article__body blockquote { border-left:4px solid var(--secondario,#7E9E8D); background:#F4F8F5; padding:18px 24px; border-radius:0 12px 12px 0; font-style:italic; color:#3a463f; }
.nw-article__body table { width:100%; border-collapse:collapse; font-size:15px; }
.nw-article__body table th, .nw-article__body table td { border:1px solid #e2e6df; padding:10px 12px; text-align:left; }
.nw-article__body table th { background:#F6F8F6; }
/* Box "In breve" (TL;DR da excerpt, stile risposta-rapida Farmacy) */
.nw-article__tldr { max-width:760px; margin:28px auto 0; padding:20px 24px; background:var(--verde-chiaro,#ECF1EE); border:1px solid #d7e3da; border-radius:14px; }
.nw-article__tldr-label { display:block; font-family:'Lora',serif; font-weight:700; font-size:15px; color:var(--principale,#0C4E2B); margin-bottom:6px; }
.nw-article__tldr p { margin:0; font-size:15.5px; line-height:1.65; color:#2f3a34; }
.nw-article__share { max-width:760px; margin:0 auto; padding:24px 24px 8px; }
.nw-article__related { padding:64px 0; background:#F6F8F6; margin-top:48px; }

/* ---- SEARCH ---- */
.nw-search__form { display:flex; gap:8px; max-width:560px; margin:26px auto 0; }
.nw-search__form input { flex:1; border:1px solid #d4ddd6; border-radius:12px; padding:14px 18px; font-size:15px; font-family:'Lato',sans-serif; outline:none; }
.nw-search__form input:focus { border-color:var(--principale,#0C4E2B); }
.nw-search__group { margin-bottom:48px; }
.nw-search__gtitle { font-family:'Lora', serif; font-weight:700; font-size:24px; color:#111 !important; margin:0 0 22px; text-transform:none !important; }
.nw-search__gtitle span { color:#9aa3a0; font-weight:400; font-size:18px; }
.nw-search__terms { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:14px; }

/* ---- 404 ---- */
.nw-404 { padding:70px 24px 90px; text-align:center; }
.nw-404__inner { max-width:680px; margin:0 auto; }
.nw-404__big { font-family:'Lora', serif; font-weight:700; font-size:clamp(90px,16vw,170px); line-height:1; color:#E7EFE9; display:block; letter-spacing:-4px; }
.nw-404__title { font-family:'Lora', serif; font-weight:700; font-size:clamp(28px,3.4vw,40px); color:#111 !important; margin:8px 0 12px; text-transform:none !important; }
.nw-404__title em { color:var(--principale,#0C4E2B); font-style:italic; }
.nw-404__sub { font-size:16px; color:#5a5a5a; line-height:1.6; margin:0 0 24px; }
.nw-404__cta { display:flex; gap:12px; justify-content:center; margin:20px 0 48px; flex-wrap:wrap; }
.nw-404__catslabel { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:#9aa3a0; margin-bottom:18px; font-weight:700; }
.nw-cats__grid--6 { grid-template-columns:repeat(6,1fr); }

/* ---- CHI SIAMO ---- */
.nw-about__stats { background:#fff; padding:40px 0; border-bottom:1px solid #eef0ec; }
.nw-about__stats-inner { max-width: var(--content, 1600px); margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.nw-stat { text-align:center; }
.nw-stat strong { display:block; font-family:'Lora', serif; font-weight:700; font-size:42px; color:var(--principale,#0C4E2B); line-height:1; }
.nw-stat span { display:block; margin-top:8px; font-size:14px; color:#6b7a72; }
.nw-about__story-inner { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center; }
.nw-about__story p { font-size:16px; line-height:1.75; color:#3a463f; margin:0 0 16px; }
.nw-about__storycard { background:#EDF5EE; border-radius:18px; padding:32px; text-align:center; }
.nw-about__storycard-ico { font-size:40px; }
.nw-about__storycard strong { display:block; font-family:'Lora',serif; font-size:20px; color:#111; margin:12px 0 6px; }
.nw-about__storycard p { font-size:14px; color:#5a665e; margin:0 0 18px; }
.nw-ctaband__inner--simple { grid-template-columns:1fr; text-align:center; padding:0; }
.nw-ctaband__inner--simple .nw-ctaband__text { padding:56px 32px; width:100%; }
.nw-ctaband__inner--simple .nw-ctaband__row { justify-content:center; }

/* ---- ACCOUNT (WooCommerce restyle) ---- */
.nw-account__wrap { max-width: var(--content, 1600px); margin:0 auto; padding:48px 24px 72px; }
.logged-in .nw-account__wc .woocommerce { display:grid; grid-template-columns:260px 1fr; gap:36px; align-items:start; }
.nw-account__wc .woocommerce-MyAccount-navigation { background:#F6F8F6; border:1px solid #e7ede8; border-radius:16px; padding:14px; }
.nw-account__wc .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.nw-account__wc .woocommerce-MyAccount-navigation li a { display:block; padding:12px 16px; border-radius:10px; color:#3a463f !important; text-decoration:none; font-weight:600; font-size:14.5px; transition:background .15s ease, color .15s ease; }
.nw-account__wc .woocommerce-MyAccount-navigation li a:hover { background:#e6efe8; color:var(--principale,#0C4E2B) !important; }
.nw-account__wc .woocommerce-MyAccount-navigation li.is-active a { background:var(--principale,#0C4E2B); color:#fff !important; }
.nw-account__wc .woocommerce-MyAccount-content p { line-height:1.65; color:#3a463f; }
.nw-account__wc .woocommerce-MyAccount-content a:not(.button) { color:var(--principale,#0C4E2B); }
.nw-account__wc table.shop_table, .nw-account__wc table.woocommerce-orders-table { border:1px solid #e7ede8 !important; border-radius:12px; border-collapse:separate !important; overflow:hidden; }
.nw-account__wc table.shop_table th { background:#F6F8F6; color:#3a463f; }
.nw-account__wc .button, .nw-account__wc button.button, .nw-account__wc input.button {
    background:var(--principale,#0C4E2B) !important; color:#fff !important; border-radius:10px !important; padding:12px 22px !important; font-weight:700 !important; border:0 !important;
}
.nw-account__wc .button:hover { background:#0a3f23 !important; }
.nw-account__wc #customer_login { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:28px; max-width:900px; margin:0 auto; }
.nw-account__wc #customer_login > div { background:#fff; border:1px solid #e7ede8; border-radius:16px; padding:30px; }
.nw-account__wc h2 { font-family:'Lora', serif; font-weight:700; font-size:22px; color:#111 !important; margin:0 0 18px; text-transform:none !important; }
.nw-account__wc label { font-size:13.5px; color:#3a463f; font-weight:600; }
.nw-account__wc input[type=text], .nw-account__wc input[type=email], .nw-account__wc input[type=password], .nw-account__wc input[type=tel] {
    width:100%; border:1px solid #d4ddd6; border-radius:10px; padding:12px 14px; font-size:15px; font-family:'Lato',sans-serif; outline:none; margin-top:4px;
}
.nw-account__wc input:focus { border-color:var(--principale,#0C4E2B); }

/* ---- RESPONSIVE pagine ---- */
@media (max-width:900px){
    .nw-about__story-inner { grid-template-columns:1fr; gap:28px; }
    .logged-in .nw-account__wc .woocommerce { grid-template-columns:1fr; }
    .nw-cats__grid--6 { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:680px){
    .nw-about__stats-inner { grid-template-columns:repeat(2,1fr); gap:24px; }
    .nw-article__cover { height:240px; border-radius:0; }
    .nw-cats__grid--6 { grid-template-columns:repeat(2,1fr); }
    .nw-search__form, .nw-404__cta { flex-direction:column; }
}

/* =====================================================================
   REDESIGN 2026 — LIVE SEARCH (autocomplete dropdown, struttura mockup)
   ===================================================================== */
.nw-search--ls { position:relative; }
.nw-ls {
    position:absolute; top:calc(100% + 12px); left:0; right:auto; z-index:1200;
    width:min(940px, 94vw); background:#fff; border:1px solid #e7ede8; border-radius:18px;
    box-shadow:0 30px 70px -24px rgba(20,40,28,.35); overflow:hidden;
    font-family:'Lato', system-ui, sans-serif; text-align:left;
}
.nw-ls__head { background:#FAFCFA; padding:14px 22px; font-size:13px; color:#6b7a72; border-bottom:1px solid #eef2ee; }
.nw-ls__head strong { color:var(--principale,#0C4E2B); }
.nw-ls__loading { padding:24px 22px; font-size:14px; color:#7a857e; }
.nw-ls__none { padding:16px 22px; font-size:14px; color:#5a5a5a; }
.nw-ls__none strong { color:#1a1a1a; }
.nw-ls__none--soft { padding:6px 0; color:#7a857e; font-size:13.5px; }
.nw-ls__typo { padding:12px 22px; font-size:13.5px; color:#5a5a5a; border-bottom:1px solid #f0f3f0; background:#FCFBF5; }
.nw-ls__typo a { color:var(--principale,#0C4E2B); font-weight:700; text-decoration:none; }
/* layout 2 zone: prodotti (main) + sidebar */
.nw-ls__grid { display:grid; grid-template-columns:1.5fr 1fr; }
.nw-ls__main { padding:18px 20px; min-width:0; }
.nw-ls__side { padding:18px 20px; border-left:1px solid #eef2ee; background:#FAFCFA; display:flex; flex-direction:column; gap:18px; min-width:0; }
.nw-ls__gtitle { font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#8a9299; margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.nw-ls__gtitle span { color:#b6beb9; font-weight:700; }
.nw-ls__prods { display:flex; flex-direction:column; gap:2px; }
.nw-ls__prod { display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:12px; text-decoration:none; transition:background .12s ease; min-width:0; }
.nw-ls__prod:hover { background:#F4F8F5; }
.nw-ls__thumb { width:52px; height:52px; flex:0 0 auto; border-radius:10px; background:#EEF3EF; border:1px solid #e4ebe5; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:5px; }
.nw-ls__thumb img { max-width:100%; max-height:100%; object-fit:contain; }
.nw-ls__pinfo { display:flex; flex-direction:column; min-width:0; gap:2px; }
.nw-ls__pname { font-size:14px; font-weight:700; color:#1a2a20; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nw-ls__pprice { font-size:13px; color:var(--principale,#0C4E2B); font-weight:800; }
.nw-ls__pprice em { color:#B07D2A; font-style:normal; font-weight:700; font-size:11px; margin-left:6px; }
.nw-ls__more { display:inline-block; margin-top:12px; font-size:13px; font-weight:800; color:var(--principale,#0C4E2B); text-decoration:none; }
.nw-ls__more:hover { text-decoration:underline; }
.nw-ls__link { display:block; padding:6px 0; font-size:14px; color:#37453D; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nw-ls__link:hover { color:var(--principale,#0C4E2B); }
.nw-ls__chips { display:flex; flex-wrap:wrap; gap:7px; }
.nw-ls__chip { display:inline-block; padding:6px 12px; border:1px solid #dfe6e0; border-radius:999px; font-size:12.5px; color:#37453D; text-decoration:none; transition:border-color .12s ease, background .12s ease, color .12s ease; }
.nw-ls__chip:hover { border-color:var(--secondario,#7E9E8D); background:#F3F7F4; color:var(--principale,#0C4E2B); }
.nw-ls__brand { display:flex; align-items:center; gap:10px; padding:6px 0; text-decoration:none; }
.nw-ls__blogo { width:36px; height:36px; flex:0 0 auto; border-radius:9px; background:var(--principale,#0C4E2B); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12.5px; }
.nw-ls__binfo { display:flex; flex-direction:column; min-width:0; }
.nw-ls__bname { font-size:13.5px; font-weight:700; color:#1a2a20; }
.nw-ls__bclaim { font-size:11.5px; color:var(--principale,#0C4E2B); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nw-ls__group--quick { margin-top:auto; padding-top:4px; }
.nw-ls__quick { display:inline-flex; align-items:center; gap:7px; padding:7px 12px; background:#fff; border:1px solid #dde7df; border-radius:999px; font-size:12.5px; font-weight:700; color:#2a352e; text-decoration:none; transition:border-color .12s ease; margin:0 6px 8px 0; }
.nw-ls__quick:hover { border-color:var(--secondario,#7E9E8D); }
.nw-ls__qico { display:inline-flex; align-items:center; color:var(--principale,#0C4E2B); }
.nw-ls__qico .nw-svgico { width:16px; height:16px; }
.nw-ls__ship { margin-top:12px; display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--principale,#0C4E2B); }
.nw-ls__ship svg { width:18px; height:18px; }
.nw-ls a.is-active { background:#EDF5EE; box-shadow: inset 0 0 0 2px var(--secondario,#7E9E8D); border-radius:12px; }
.nw-ls a.is-active .nw-ls__pname, .nw-ls a.is-active .nw-ls__bname { color: var(--principale,#0C4E2B); }
@media (max-width:900px){
    .nw-ls { width:min(680px, 94vw); }
    .nw-ls__grid { grid-template-columns:1fr; }
    .nw-ls__side { border-left:0; border-top:1px solid #eef2ee; }
}
@media (max-width:600px){ .nw-ls { width:94vw; } }

/* =====================================================================
   REDESIGN 2026 — CART DRAWER (mini-carrello off-canvas) + add-to-cart
   ===================================================================== */
/* Icona carrello nei bottoni "Aggiungi" */
.nw-ico-cart { width: 15px; height: 15px; flex: 0 0 auto; }
/* Animazione add (loading + done) — generico su qualsiasi bottone */
.nw-btn-loading { color: transparent !important; position: relative; pointer-events: none; }
.nw-btn-loading > * { visibility: hidden; }
.nw-btn-loading::after { content:''; position:absolute; left:50%; top:50%; width:16px; height:16px; margin:-8px 0 0 -8px; border-radius:50%; border:2px solid rgba(12,78,43,.25); border-top-color: var(--principale,#0C4E2B); animation: spin .6s linear infinite; }
.nw-pdp__addcart.nw-btn-loading::after { border-color: rgba(255,255,255,.45); border-top-color:#fff; }
.nw-btn-done { position: relative; }
.nw-btn-done > * { visibility: hidden; }
.nw-btn-done::after { content:'✓ Aggiunto'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:6px; font-weight:700; font-size:13px; color:#fff; background: var(--principale,#0C4E2B); border-radius:inherit; }

/* Drawer shell */
/* z-index above the sticky site header (9990) so it never covers the drawer,
   but below the WP admin bar (99999) which stays on top. */
.nw-cartdrawer { position: fixed; inset: 0; z-index: 99990; }
.nw-cartdrawer[hidden] { display: none; }
.nw-cartdrawer__overlay { position:absolute; inset:0; background: rgba(15,30,20,.45); opacity:0; transition: opacity .28s ease; }
.nw-cartdrawer.is-open .nw-cartdrawer__overlay { opacity:1; }
.nw-cartdrawer__panel {
    position:absolute; top: var(--nw-cd-top, 0px); right:0; height: calc(100% - var(--nw-cd-top, 0px)); width:min(420px, 93vw);
    background:#fff; display:flex; flex-direction:column; box-shadow:-20px 0 60px -20px rgba(12,40,24,.4);
    transform: translateX(100%); transition: transform .3s cubic-bezier(.22,.61,.36,1);
    font-family: 'Lato', system-ui, sans-serif;
}
/* --nw-cd-top is computed in JS at open time = real height of the WP admin bar
   (0 when logged out / admin bar scrolled away on mobile). Bulletproof vs CSS cache. */
.nw-cartdrawer.is-open .nw-cartdrawer__panel { transform: translateX(0); }
/* Lock page scroll behind the drawer (both html and body to be robust with the WP admin bar). */
html.nw-cd-lock, body.nw-cd-lock { overflow: hidden; }
.nw-cartdrawer__head { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; background: var(--principale,#0C4E2B); color:#fff; }
.nw-cartdrawer__title { display:inline-flex; align-items:center; gap:9px; font-family:'Lora',serif; font-weight:700; font-size:18px; }
.nw-cartdrawer__title .nw-ico-cart { width:23px; height:23px; stroke-width:2; }
.nw-cartdrawer__count { opacity:.85; font-family:'Lato',sans-serif; font-size:14px; }
.nw-cartdrawer__close { display:inline-flex; align-items:center; justify-content:center; background: rgba(255,255,255,.12); color:#fff; border:0; width:34px; height:34px; padding:0; border-radius:8px; cursor:pointer; font-size:17px; line-height:1; }
.nw-cartdrawer__close:hover { background: rgba(255,255,255,.22); }
.nw-cartdrawer__body { flex:1 1 auto; display:flex; flex-direction:column; min-height:0; }

/* Items */
.nw-cd__items { flex:1 1 auto; overflow-y:auto; overscroll-behavior: contain; padding:8px 16px; }
.nw-cd__item { display:flex; gap:12px; align-items:flex-start; padding:14px 4px; border-bottom:1px solid #f0f3f0; transition: opacity .2s ease; }
.nw-cd__item.is-removing, .nw-cd__item.is-busy { opacity:.5; }
.nw-cd__thumb { flex:0 0 auto; width:62px; height:62px; border:1px solid #e4ebe5; border-radius:10px; background:#EEF3EF; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:5px; }
.nw-cd__thumb img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.nw-cd__info { flex:1 1 auto; min-width:0; }
.nw-cd__brand { font-size:11px; font-weight:700; color: var(--principale,#0C4E2B); text-transform:uppercase; letter-spacing:.3px; }
.nw-cd__name { display:block; font-family:'Lora',serif; font-weight:700; font-size:14.5px; color:#1a1a1a; text-decoration:none; line-height:1.25; margin:2px 0 8px; }
.nw-cd__name:hover { color: var(--principale,#0C4E2B); }
.nw-cd__row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.nw-cd__qty { display:inline-flex; align-items:center; border:1px solid #dce4dd; border-radius:9px; overflow:hidden; }
.nw-cd__q { width:30px; height:30px; border:0; background:#f6f8f5; color:#2a352e; font-size:16px; line-height:1; cursor:pointer; }
.nw-cd__q:hover { background:#e6efe8; color: var(--principale,#0C4E2B); }
.nw-cd__qval { min-width:30px; text-align:center; font-weight:700; font-size:14px; }
.nw-cd__line { font-family:'Lora',serif; font-weight:700; color:#111; font-size:14.5px; }
.nw-cd__remove { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:0; border-radius:9px; background:#eef2ee; color:#54635a; cursor:pointer; transition: background .15s ease, color .15s ease; }
.nw-cd__remove:hover { background:#fbe7e7; color:#b23b3b; }
.nw-cd__remove .nw-ico-trash { width:18px; height:18px; }

/* Spedizione gratuita */
.nw-cd__ship { padding:14px 20px; background:#F4F8F5; border-top:1px solid #eef2ee; font-size:13px; color:#3a463f; }
.nw-cd__ship--ok { color: var(--principale,#0C4E2B); font-weight:700; }
.nw-cd__ship-bar { margin-top:8px; height:6px; background:#dfe7e1; border-radius:99px; overflow:hidden; }
.nw-cd__ship-bar span { display:block; height:100%; background: var(--principale,#0C4E2B); border-radius:99px; transition: width .3s ease; }

/* Footer */
.nw-cd__foot { padding:18px 20px 22px; border-top:1px solid #eef2ee; }
.nw-cd__totrow { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; font-size:15px; color:#3a463f; }
.nw-cd__total { font-family:'Lora',serif; font-weight:700; font-size:22px; color: var(--principale,#0C4E2B); }
.nw-cd__checkout { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; background: var(--principale,#0C4E2B); color:#fff !important; font-weight:800; font-size:15.5px; padding:15px; border-radius:12px; text-decoration:none; transition: background .15s ease, transform .06s ease; }
.nw-cd__checkout .nw-ico-cart { width:17px; height:17px; }
.nw-cd__checkout:hover { background:#0a3f23; }
.nw-cd__checkout:active { transform: scale(.99); }
.nw-cd__viewcart { display:block; text-align:center; margin-top:12px; color:#5a6b62 !important; font-size:13.5px; text-decoration:underline; }
.nw-cd__viewcart:hover { color: var(--principale,#0C4E2B) !important; }

/* Empty */
.nw-cd__empty { flex:1 1 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:48px 24px; text-align:center; color:#5a6b62; }
.nw-cd__empty-ico { font-size:46px; opacity:.5; }

@media (max-width:600px){ .nw-cartdrawer__panel { width: 100vw; } }

/* =====================================================================
 * REDESIGN 1.5.0 — MOBILE UI (menu hamburger, filtri off-canvas,
 * sticky add-to-cart PDP) + polish trasversali
 * ===================================================================== */

/* ---- Hamburger (header, solo ≤1024px) ---- */
.nw-burger { display: none; width: 42px; height: 42px; border: 1px solid #dfe7e0; background: #fff; border-radius: 10px; cursor: pointer; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 5px; flex: 0 0 auto; }
.nw-burger span { display: block; width: 18px; height: 2px; background: #1c1c1c; border-radius: 2px; }
@media (max-width: 1024px) {
    .nw-burger { display: inline-flex; }
}

/* ---- Menu mobile off-canvas ---- */
.nw-mnav { position: fixed; inset: 0; z-index: 99993; }
.nw-mnav[hidden] { display: none; }
.nw-mnav__overlay { position: absolute; inset: 0; background: rgba(15,30,20,.45); opacity: 0; transition: opacity .28s ease; }
.nw-mnav.is-open .nw-mnav__overlay { opacity: 1; }
.nw-mnav__panel {
    position: absolute; top: 0; left: 0; height: 100%; width: min(360px, 88vw);
    background: #fff; display: flex; flex-direction: column;
    box-shadow: 20px 0 60px -20px rgba(12,40,24,.4);
    transform: translateX(-102%); transition: transform .3s cubic-bezier(.22,.61,.36,1);
    font-family: 'Lato', system-ui, sans-serif; overflow-y: auto; overscroll-behavior: contain;
}
.nw-mnav.is-open .nw-mnav__panel { transform: translateX(0); }
.nw-mnav__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: var(--principale, #0C4E2B); color: #fff; position: sticky; top: 0; z-index: 2; }
.nw-mnav__logo { font-family: 'Lora', serif; font-weight: 700; font-size: 18px; }
.nw-mnav__logo span { font-family: 'Lato', sans-serif; font-size: 10px; letter-spacing: 2px; opacity: .8; margin-left: 4px; }
.nw-mnav__close { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 8px; background: rgba(255,255,255,.12); color: #fff; font-size: 17px; line-height: 1; cursor: pointer; }
.nw-mnav__search { display: flex; align-items: center; gap: 9px; margin: 14px 16px; border: 1.5px solid #cfdcd2; border-radius: 999px; padding: 10px 16px; background: #f7faf7; }
.nw-mnav__search-ico { color: var(--principale, #0C4E2B); display: inline-flex; flex: 0 0 auto; }
.nw-mnav__search input[type="search"] { border: 0; background: none; outline: none; width: 100%; font-size: 15px; font-family: inherit; }
.nw-mnav__nav { padding: 0 16px 16px; }
.nw-mnav__group { border-bottom: 1px solid #eef2ee; }
.nw-mnav__group summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 15px 2px; font-family: 'Lora', serif; font-weight: 700; font-size: 16px; color: #14241a; }
.nw-mnav__group summary::-webkit-details-marker { display: none; }
.nw-mnav__group summary::after { content: '▾'; color: #9aa89e; font-size: 12px; transition: transform .15s ease; }
.nw-mnav__group[open] summary::after { transform: rotate(180deg); }
.nw-mnav__group ul { list-style: none; margin: 0 0 10px; padding: 0; }
.nw-mnav__group li a { display: flex; align-items: center; gap: 10px; padding: 9px 4px; color: #2c3a32; text-decoration: none; font-size: 14.5px; border-radius: 8px; }
.nw-mnav__group li a:hover { background: #f2f7f3; color: var(--principale, #0C4E2B); }
.nw-mnav__group li a em { margin-left: auto; font-style: normal; font-size: 12px; color: #9aa89e; }
.nw-mnav__emoji { width: 22px; text-align: center; flex: 0 0 auto; }
.nw-mnav__all { font-weight: 700; color: var(--principale, #0C4E2B) !important; }
.nw-mnav__link { display: block; padding: 15px 2px; border-bottom: 1px solid #eef2ee; color: #14241a !important; text-decoration: none; font-family: 'Lora', serif; font-weight: 700; font-size: 16px; }
.nw-mnav__link:hover { color: var(--principale, #0C4E2B) !important; }
/* Categoria con sottocategorie: 1° tap apre il sotto-menu, 2° tap naviga (nw-mobile.js).
   padding:0 (il figlio <a> ha già il suo) e transform esplicito nello stato chiuso:
   ".nw-mnav__group[open] summary::after" altrimenti ruota il caret di 180°. */
.nw-mnav__cat summary { list-style: none; display: flex; align-items: center; cursor: pointer; padding: 0; }
.nw-mnav__cat summary::-webkit-details-marker { display: none; }
.nw-mnav__cat summary a { flex: 1; }
.nw-mnav__group .nw-mnav__cat summary::after { content: '▸'; color: #9aa89e; font-size: 13px; padding: 0 10px 0 8px; transform: rotate(0); transition: transform .15s ease; }
.nw-mnav__group .nw-mnav__cat[open] summary::after { transform: rotate(90deg); }
.nw-mnav__group ul.nw-mnav__subs { margin: 0 0 6px 30px; padding: 0 0 0 10px; border-left: 2px solid #e4ede6; }
.nw-mnav__group ul.nw-mnav__subs li a { font-size: 13.5px; padding: 7px 4px; color: #46584c; }
.nw-mnav__suball { font-weight: 700; color: var(--principale, #0C4E2B) !important; }
.nw-mnav__foot { margin-top: auto; display: flex; gap: 10px; padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid #eef2ee; background: #fafcfa; position: sticky; bottom: 0; }
.nw-mnav__foot a { flex: 1; text-align: center; padding: 11px 10px; border: 1px solid #dfe7e0; border-radius: 10px; background: #fff; color: #2c3a32; text-decoration: none; font-size: 13.5px; font-weight: 700; }

/* ---- Filtri categoria: bottone mobile + drawer off-canvas ---- */
.nw-mfilters-btn { display: none; align-items: center; gap: 8px; border: 1px solid #dfe7e0; background: #fff; border-radius: 999px; padding: 9px 16px; font-size: 13.5px; font-weight: 700; color: #2c3a32; cursor: pointer; font-family: inherit; }
.nw-mfilters-btn svg { color: var(--principale, #0C4E2B); }
.nw-filters__mhead, .nw-filters__mfoot { display: none; }
.nw-mf-overlay { display: none; }
@media (max-width: 1024px) {
    .nw-cattop { flex-wrap: wrap; row-gap: 10px; }
    .nw-cattop__facets { display: none; }
    .nw-mfilters-btn { display: inline-flex; }
    .nw-filters {
        position: fixed; top: 0; left: 0; bottom: 0; width: min(360px, 88vw);
        z-index: 99992; background: #fff; margin: 0; padding: 0 18px;
        transform: translateX(-102%); transition: transform .3s cubic-bezier(.22,.61,.36,1);
        overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column;
        box-shadow: 20px 0 60px -20px rgba(12,40,24,.4);
    }
    body.nw-mf-open .nw-filters { transform: translateX(0); }
    body.nw-mf-open { overflow: hidden; }
    .nw-mf-overlay { display: block; position: fixed; inset: 0; z-index: 99991; background: rgba(15,30,20,.45); }
    .nw-mf-overlay[hidden] { display: none; }
    .nw-filters__mhead { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2; background: #fff; padding: 16px 0 12px; border-bottom: 1px solid #eef2ee; font-family: 'Lora', serif; font-weight: 700; font-size: 18px; color: #14241a; }
    .nw-filters__mclose { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 9px; background: #eef2ee; color: #54635a; font-size: 15px; line-height: 1; cursor: pointer; }
    .nw-filters__mfoot { display: block; margin-top: auto; position: sticky; bottom: 0; background: #fff; padding: 12px 0 calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #eef2ee; }
    .nw-filters__mfoot .nw-btn { width: 100%; text-align: center; }
}

/* ---- Sticky add-to-cart PDP (solo mobile) ---- */
.nw-pdp__sticky {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9970;
    display: flex; align-items: center; gap: 14px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: #fff; border-top: 1px solid #e6ece7;
    box-shadow: 0 -12px 30px -18px rgba(12,40,24,.35);
    transform: translateY(110%); transition: transform .25s ease;
}
.nw-pdp__sticky.is-visible { transform: translateY(0); }
@media (min-width: 769px) { .nw-pdp__sticky { display: none; } }
.nw-pdp__sticky-price { font-family: 'Lora', serif; font-weight: 700; font-size: 19px; color: #111; white-space: nowrap; }
.nw-pdp__sticky-price del { color: #b9bdc2; font-weight: 400; font-size: 14px; margin-right: 5px; }
.nw-pdp__sticky-btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--principale, #0C4E2B); color: #fff; border: 0; border-radius: 10px; font-weight: 700; font-size: 15px; cursor: pointer; padding: 13px 14px; font-family: inherit; }
.nw-pdp__sticky-btn .nw-ico-cart { width: 16px; height: 16px; }

/* ---- PDP: recensioni responsive + form recensione + "perché funziona" paragrafo ---- */
.nw-pdp__revgrid { display: grid; grid-template-columns: 300px 1fr; gap: 48px; }
@media (max-width: 900px) { .nw-pdp__revgrid { grid-template-columns: 1fr; gap: 28px; } }
.nw-pdp__why-p { color: #3a3a3a; font-size: 15px; line-height: 1.6; margin: 0; }
.nw-revform { margin-top: 36px; background: #F6F7F4; border: 1px solid #e8ede8; border-radius: 14px; padding: 24px; max-width: 720px; }
.nw-revform h3 { font-family: 'Lora', serif; font-weight: 700; font-size: 20px; margin: 0 0 14px; color: #111; }
.nw-revform label { display: block; font-size: 13px; color: #54635a; font-weight: 700; margin-bottom: 12px; }
.nw-revform input, .nw-revform select, .nw-revform textarea { width: 100%; margin-top: 6px; border: 1px solid #dde4dd; border-radius: 10px; padding: 10px 12px; font: inherit; font-weight: 400; background: #fff; color: #1c1c1c; }
.nw-revform textarea { resize: vertical; }
.nw-revform__row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .nw-revform__row--2 { grid-template-columns: 1fr; } }
.nw-revform__note { font-size: 12px; color: #8a958c; margin: 10px 0 0; }

/* ---- Bottone "Aggiungi": stato errore (prodotto non disponibile / rete) ---- */
.nw-btn-err { background: #b23b3b !important; border-color: #b23b3b !important; color: #fff !important; }

/* ---- Newsletter: conferma iscrizione ---- */
.nw-news__ok { font-size: 16px; font-weight: 700; color: #fff; margin: 18px 0 0; }
.nw-news__note a { color: inherit; text-decoration: underline; }

/* ---- Pagina "I Nostri Brand" ---- */
.nw-brandsidx__wrap { max-width: var(--content, 1600px); margin: 0 auto; padding: 44px 24px 90px; }

/* ---- Preferiti nell'header (cuore + contatore) ---- */
.nw-action--wish { position: relative; }
.nw-action--wish .nw-ico-heart { display: block; }
.nw-action--wish .nw-action__ico { display: inline-flex; filter: none; }
/* badge preferiti come bollino d'angolo, identico a quello del carrello */
/* su schermi stretti restano icone compatte: nascondi solo le label */
@media (max-width: 700px) {
    .nw-header__actions { gap: 14px; }
    .nw-action__lbl { display: none; }
}

/* =====================================================================
 * CARRELLO + CHECKOUT coded (funnel) — v1.6.1
 * ===================================================================== */
.nw-funnel__wrap { max-width: 1100px; margin: 0 auto; padding: 8px 24px 80px; font-family: 'Lato', system-ui, sans-serif; }
.nw-checkoutpage .nw-funnel__wrap { max-width: 1180px; }

/* Stepper */
.nw-funnel { list-style: none; display: flex; justify-content: center; gap: 8px; margin: 22px 0 0; padding: 0; flex-wrap: wrap; }
.nw-funnel__step { display: inline-flex; align-items: center; gap: 9px; color: #9aa89e; font-size: 14px; font-weight: 700; }
.nw-funnel__step:not(:last-child)::after { content: ''; width: 34px; height: 2px; background: #dde6df; margin-left: 8px; border-radius: 2px; }
.nw-funnel__num { width: 26px; height: 26px; border-radius: 999px; background: #eef2ee; color: #9aa89e; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.nw-funnel__step.is-active .nw-funnel__num, .nw-funnel__step.is-done .nw-funnel__num { background: var(--principale, #0C4E2B); color: #fff; }
.nw-funnel__step.is-active, .nw-funnel__step.is-done { color: #1c1c1c; }
.nw-funnel__step.is-done .nw-funnel__num { font-size: 0; }
.nw-funnel__step.is-done .nw-funnel__num::before { content: '✓'; font-size: 14px; }
@media (max-width: 600px) { .nw-funnel__lbl { display: none; } .nw-funnel__step:not(:last-child)::after { width: 22px; } }

/* Barra spedizione gratuita */
.nw-funnel__ship { background: #EDF5EE; border: 1px solid #dcebe0; border-radius: 12px; padding: 13px 18px; margin: 24px 0 20px; font-size: 14px; color: #2c3a32; }
.nw-funnel__ship--ok { text-align: center; font-size: 14.5px; }
.nw-funnel__ship-bar { height: 7px; background: #d7e6db; border-radius: 999px; overflow: hidden; margin-top: 9px; }
.nw-funnel__ship-bar span { display: block; height: 100%; background: var(--principale, #0C4E2B); border-radius: 999px; transition: width .4s ease; }

/* Trust row */
.nw-funnel__trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; margin-top: 26px; color: #6b7a72; font-size: 13px; }

/* ---- Restyling markup WooCommerce nativo (cart + checkout) ---- */
.nw-wc { color: #1c1c1c; }
.nw-wc a { color: var(--principale, #0C4E2B); }
.nw-wc table.cart, .nw-wc .cart-collaterals, .nw-wc .woocommerce-checkout-review-order, .nw-wc #customer_details { font-size: 15px; }
.nw-wc table.shop_table { border: 1px solid #e7ece8; border-radius: 14px; border-collapse: separate; overflow: hidden; }
.nw-wc table.shop_table th { background: #f6f8f5; color: #2c3a32; font-family: 'Lato', sans-serif; }
.nw-wc table.cart img { width: 64px; border-radius: 10px; border: 1px solid #eef2ee; }
.nw-wc .product-name a { font-family: 'Lora', serif; font-weight: 700; text-decoration: none; }
.nw-wc .coupon .input-text { border: 1px solid #dde4dd; border-radius: 10px; padding: 11px 12px; }
.nw-wc .cart_totals h2, .nw-wc #order_review_heading, .nw-wc #customer_details h3, .nw-wc .cart_totals .order-total { font-family: 'Lora', serif; }
.nw-wc .cart_totals, .nw-wc .woocommerce-checkout-review-order { background: #F6F7F4; border: 1px solid #e8ede8; border-radius: 14px; padding: 22px; }
/* Bottoni WooCommerce → stile Naturwaren */
.nw-wc .button, .nw-wc button.button, .nw-wc input.button, .nw-wc #place_order, .nw-wc .checkout-button {
	background: var(--principale, #0C4E2B) !important; color: #fff !important; border: 0 !important;
	border-radius: 10px !important; font-weight: 700 !important; padding: 13px 22px !important;
	font-family: 'Lato', sans-serif !important; text-transform: none !important; transition: background .15s ease;
}
.nw-wc .button:hover, .nw-wc #place_order:hover, .nw-wc .checkout-button:hover { background: #0a3f23 !important; }
.nw-wc .wc-proceed-to-checkout .checkout-button { display: block; text-align: center; font-size: 16px !important; }
.nw-wc .button[name="update_cart"] { background: #fff !important; color: var(--principale, #0C4E2B) !important; border: 1px solid var(--principale, #0C4E2B) !important; }
.nw-wc .woocommerce-info, .nw-wc .woocommerce-message { border-top-color: var(--principale, #0C4E2B); border-radius: 10px; }
.nw-wc .woocommerce-info::before, .nw-wc .woocommerce-message::before { color: var(--principale, #0C4E2B); }
.nw-wc .form-row input.input-text, .nw-wc .form-row textarea, .nw-wc .select2-container .select2-selection {
	border: 1px solid #dde4dd !important; border-radius: 10px !important; padding: 11px 12px !important; min-height: 46px;
}
.nw-wc #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media (max-width: 860px) { .nw-wc #customer_details { grid-template-columns: 1fr; gap: 0; } }

/* --- Rifiniture pagine native (solo CSS): error notice, thank-you, radio/checkbox brand --- */
.nw-wc input[type=checkbox], .nw-wc input[type=radio],
.nw-account__wc input[type=checkbox], .nw-account__wc input[type=radio] { accent-color: var(--principale, #0C4E2B); }
.nw-wc .woocommerce-error { border-top-color: var(--red, #ED4B4B); border-radius: 10px; background: #fdf1f0; }
.nw-wc .woocommerce-error::before { color: var(--red, #ED4B4B); }
/* Thank-you / ordine ricevuto (endpoint del checkout, step "Conferma" del funnel) */
.nw-wc .woocommerce-thankyou-order-received { font-family: 'Lora', serif; font-size: 24px; font-weight: 700; color: var(--principale, #0C4E2B); margin: 10px 0 22px; }
.nw-wc ul.woocommerce-order-overview { list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.nw-wc ul.woocommerce-order-overview li { background: #F6F8F6; border: 1px solid #e7ede8 !important; border-radius: 12px; padding: 12px 18px; font-size: 13px; color: #5c6b60; float: none !important; width: auto !important; margin: 0 !important; }
.nw-wc ul.woocommerce-order-overview li strong { display: block; font-size: 15px; color: #1c1c1c; margin-top: 4px; }

/* =====================================================================
 * PAGINA PIANTA (coded, taglio e-commerce) — v1.6.3
 * ===================================================================== */
.nw-plant__hero .nw-plant__ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 76px; height: 76px; margin: 0 auto 6px; border-radius: 999px;
	background: #EDF5EE; color: var(--principale, #0C4E2B);
}
.nw-plant__hero .nw-plant__ico svg { width: 40px; height: 40px; }
.nw-plant__count { margin-top: 16px; display: inline-block; background: #fff; border: 1px solid #dcebe0; color: #2c3a32; border-radius: 999px; padding: 8px 16px; font-size: 14px; }
.nw-plant__count strong { color: var(--principale, #0C4E2B); }
.nw-plant__wrap { max-width: var(--content, 1600px); margin: 0 auto; padding: 36px 24px 80px; }
.nw-plant__cats { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: center; margin-bottom: 36px; }
.nw-plant__cats-lbl { font-size: 13px; color: #6b7a72; font-weight: 700; margin-right: 2px; }
.nw-plant__cat { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dde6df; background: #f4f8f4; border-radius: 999px; padding: 8px 14px; font-size: 13.5px; font-weight: 600; color: #2c3a32; text-decoration: none; transition: background .15s ease, border-color .15s ease; }
.nw-plant__cat:hover { background: #e6efe8; border-color: #c3ddca; }
.nw-plant__cat em { font-style: normal; color: #9aa89e; font-size: 12px; }
.nw-plant__products .nw-sec__title { text-align: center; margin: 0 0 26px; }
.nw-plant__products .nw-sec__title em { font-style: italic; color: var(--principale, #0C4E2B); }
.nw-plant__about { max-width: 900px; margin: 48px auto 0; }

/* =====================================================================
 * BLOCCHI RIUSABILI (recensioni carosello, trust compatto, catalog head) — v1.6.4
 * ===================================================================== */
.nw-trustbar--compact { padding: 30px 0; }
.nw-trustbar--compact .nw-trustbar__ico { font-size: 22px; }
.nw-catalog-head { padding-top: 8px; padding-bottom: 4px; text-align: center; }
.nw-catalog-head .nw-sec__title { margin: 6px 0 0; }
.nw-catalog-head .nw-sec__title em { font-style: italic; color: var(--principale, #0C4E2B); }

/* Carosello recensioni · stile Home 2 (banda bianca bordata, card "carta", punteggio grande serif) */
.nw-revs { background: #fff; border-top: 1px solid #e7e2d4; border-bottom: 1px solid #e7e2d4; }
.nw-revs__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; flex-wrap: wrap; }
.nw-revs .nw-sec__title em { font-style: italic; color: var(--principale, #0C4E2B); }
.nw-revs__score { display: inline-flex; align-items: baseline; gap: 12px; }
.nw-revs__score strong { font-family: 'Lora', serif; font-size: 52px; font-weight: 600; color: var(--principale, #0C4E2B); line-height: 1; }
.nw-revs__stars { color: #E3A008; letter-spacing: 1px; font-size: 17px; }
.nw-revs__score small { display: block; color: #6b7a72; font-size: 12.5px; }
.nw-revs__track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 16px; margin: 0 -4px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.nw-revcard { scroll-snap-align: start; flex: 0 0 330px; max-width: 330px; background: var(--carta, #FAF8F3); border: 1px solid #e7e2d4; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: none; }
@media (max-width: 600px) { .nw-revcard { flex-basis: 80vw; max-width: 80vw; } }
.nw-revcard__stars { color: #E3A008; letter-spacing: 2px; font-size: 15px; }
.nw-revcard__stars span { color: #e0e0d8; }
.nw-revcard__text { font-family: 'Lora', Georgia, serif; font-size: 15.5px; line-height: 1.55; color: #2c3a32; margin: 0; flex: 1 1 auto; }
.nw-revcard__foot { display: flex; align-items: center; gap: 11px; border-top: 1px solid #f0f3f0; padding-top: 13px; }
.nw-revcard__av { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 999px; background: var(--principale, #0C4E2B); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
.nw-revcard__who { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; flex: 1 1 auto; }
.nw-revcard__who strong { font-size: 13.5px; color: #1a1a1a; }
.nw-revcard__who a { font-size: 11.5px; color: #8a958c !important; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-revcard__verif { color: var(--principale, #0C4E2B); font-weight: 800; font-size: 14px; }

/* =====================================================================
 * SLIDER PROMO + newsletter compatta + trust tweak — v1.6.5
 * ===================================================================== */
.nw-promo { position: relative; max-width: var(--content, 1600px); margin: 0 auto; padding: 12px clamp(20px, 5.2vw, 86px) 48px; }
.nw-promo__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; border-radius: 22px; }
.nw-promo__track::-webkit-scrollbar { display: none; }
.nw-promo__slide { flex: 0 0 100%; scroll-snap-align: center; display: flex; }
.nw-promo__slide.nw-ctaband { margin: 0; padding: 0; }
.nw-promo__slide .nw-ctaband__inner { width: 100%; min-height: 380px; }
.nw-promo__slide .nw-ctaband__inner--solo { grid-template-columns: 1fr; }
.nw-promo__slide .nw-ctaband__inner--solo .nw-ctaband__text { max-width: 760px; }
/* verde più morbido (meno forte) per le slide promo */
.nw-promo__slide .nw-ctaband__inner { background: linear-gradient(135deg, #1a6b41 0%, #23895a 100%); max-width: none; }
/* immagine prodotto intera (no crop) */
.nw-promo__slide .nw-ctaband__media { min-height: 0; padding: 22px; }
.nw-promo__slide .nw-ctaband__media img { max-height: 240px; max-width: 88%; width: auto; object-fit: contain; }
.nw-promo__nav { position: absolute; top: calc(50% - 23px); z-index: 3; width: 46px; height: 46px; border-radius: 999px; border: 0; background: var(--principale, #0C4E2B); color: #fff; cursor: pointer; box-shadow: 0 12px 28px -10px rgba(12,40,24,.6); display: flex; align-items: center; justify-content: center; padding: 0; transition: transform .18s ease, box-shadow .18s ease, background .15s ease; }
.nw-promo__nav svg { width: 20px; height: 20px; display: block; }
.nw-promo__nav:hover { background: #0a3f23; transform: scale(1.09); box-shadow: 0 16px 34px -10px rgba(12,40,24,.7); }
/* frecce sovrapposte al bordo del box verde (ben visibili, eleganti) */
.nw-promo__nav--prev { left: clamp(0px, 1vw, 16px); }
.nw-promo__nav--next { right: clamp(0px, 1vw, 16px); }
@media (max-width: 700px) { .nw-promo__nav { display: none; } .nw-promo { padding: 8px 16px 40px; } }
/* dots nel gutter chiaro sotto il box → colori scuri per restare visibili */
.nw-promo__dots { bottom: 16px; }
.nw-promo__dot { background: #cdd9d0; }
.nw-promo__dot.is-active { background: var(--principale, #0C4E2B); }
.nw-promo__dots { position: absolute; bottom: 16px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; z-index: 3; }
.nw-promo__dot { width: 9px; height: 9px; border-radius: 999px; border: 0; background: rgba(255,255,255,.5); cursor: pointer; padding: 0; transition: background .2s ease, width .2s ease; }
.nw-promo__dot.is-active { background: #fff; width: 24px; }

/* Newsletter compatta */

/* Trust block — icone un filo più piccole e ordinate */
.nw-trustbar__ico { font-size: 24px; }
.nw-trustbar__item { gap: 12px; }
@media (max-width: 700px) { .nw-trustbar__inner { gap: 18px 12px; } .nw-trustbar__ico { font-size: 21px; } }

/* =====================================================================
 * CHI SIAMO — card valori interattive (flip) — v1.6.5
 * ===================================================================== */
.nw-values { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 28px; }
@media (max-width: 1100px) { .nw-values { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .nw-values { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .nw-values { grid-template-columns: 1fr; } }

/* Chi siamo — sezioni foto + testo (ricerca & natura) */
.nw-about__feat { padding-top: 8px; }
.nw-feat { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.nw-about__feat .nw-feat + .nw-feat { margin-top: 64px; }
.nw-feat__media { margin: 0; }
.nw-feat__media img { width: 100%; height: 100%; max-height: 380px; object-fit: cover; border-radius: 20px; display: block; box-shadow: 0 20px 44px -22px rgba(21,97,58,.4); }
.nw-feat__body .nw-sec__title { font-size: 30px; }
.nw-feat__body .nw-sec__title em { font-style: italic; color: var(--principale, #0C4E2B); }
.nw-feat__body p { font-size: 16px; line-height: 1.75; color: #3a463f; margin: 14px 0 0; }
@media (max-width: 860px) {
	.nw-feat { grid-template-columns: 1fr; gap: 22px; }
	.nw-feat--img-right .nw-feat__media { order: -1; }
	.nw-feat__media img { max-height: 280px; }
}

/* Chi siamo — icone valori (immagini reali) */
.nw-value__front .nw-value__ico img { width: 76px; height: 76px; object-fit: contain; display: block; }
/* Hover = evidenzia · Click = flip 3D che rivela il testo sul retro */
.nw-value { display: block; border: 0; background: none; padding: 0; cursor: pointer; height: 212px; font-family: inherit; text-align: left; perspective: 1100px; }
.nw-value__inner { position: relative; width: 100%; height: 100%; border-radius: 16px; transition: transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .2s ease; transform-style: preserve-3d; }
/* hover: solo evidenziazione (niente transform, così non va in conflitto col flip) */
.nw-value:hover { transform: translateY(-4px); }
.nw-value:hover .nw-value__inner { box-shadow: 0 20px 44px -22px rgba(12,40,24,.55); }
/* click: ribalta (3D) */
.nw-value.is-flipped .nw-value__inner { transform: rotateY(180deg); }
.nw-value__front, .nw-value__back { position: absolute; inset: 0; padding: 24px; display: flex; flex-direction: column; gap: 10px; justify-content: center; border-radius: 16px; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.nw-value__front { background: #F6F7F4; border: 1px solid #e7ece8; align-items: center; text-align: center; gap: 12px; }
.nw-value:hover .nw-value__front { border-color: var(--principale, #0C4E2B); }
.nw-value__ico { font-size: 34px; line-height: 1; display: flex; justify-content: center; }
.nw-value__hint { text-align: center; }
.nw-value__front .nw-value__title { font-family: 'Lora', serif; font-weight: 700; font-size: 18px; color: #14241a; }
.nw-value__hint { margin-top: auto; font-size: 12.5px; font-weight: 700; color: var(--principale, #0C4E2B); }
.nw-value__back { background: #15613a; color: #fff; transform: rotateY(180deg); }
.nw-value__back-title { font-family: 'Lora', serif; font-weight: 700; font-size: 16px; }
.nw-value__txt { font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.94); }

/* =====================================================================
 * RIFINITURE v1.6.7 — categoria (header bestseller + respiro) + CTA center
 * ===================================================================== */
.nw-archive__badge--solid { background: var(--principale, #0C4E2B); color: #fff; border: 0; }
.nw-cat-best__head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; margin-bottom: 28px; }
.nw-cat-best__sub { font-size: 13.5px; color: #6b7a72; margin: 0; }
/* Più respiro tra bestseller → trust → catalogo */
.nw-cat-best { padding-bottom: 56px; }
.nw-trustbar--compact { margin: 0; padding: 40px 0; border-top: 1px solid #eef0ec; border-bottom: 1px solid #eef0ec; }
.nw-catalog-head { padding-top: 48px; padding-bottom: 8px; }

/* CTA band "semplice" (Trova quello che cerchi / Chi siamo): centrata davvero */
.nw-ctaband__inner--simple .nw-ctaband__text { margin: 0 auto; max-width: 720px; }
.nw-ctaband__inner--simple .nw-ctaband__sub { margin-left: auto; margin-right: auto; }
.nw-ctaband__inner--simple .nw-ctaband__row { justify-content: center; }

/* =====================================================================
 * FIX v1.6.9 — neutralizza il reset di hello-elementor che colora i <button>
 * di ROSA (#c36) su hover/focus e dà loro bordo/colore #c36 di default.
 * (caricato dopo il parent → vince a parità di specificità)
 * ===================================================================== */
button, [type="button"], [type="submit"], [type="reset"] { border-color: transparent; }
button:hover, button:focus,
[type="button"]:hover, [type="button"]:focus,
[type="submit"]:hover, [type="submit"]:focus,
[type="reset"]:hover, [type="reset"]:focus {
	background-color: transparent;
	color: inherit;
}
/* le nostre azioni con hover intenzionale restano gestite dalle loro regole specifiche */
.nw-value { transition: transform .18s ease; }

/* Fase 1: icone categoria nascoste dal menu di navigazione (tornano in Fase 2, set definitivo Giovanni) */
.nw-need__emoji, .nw-mnav__emoji { display: none !important; }

/* ============================================================
   BANNER SLIDER con FOTO a tutta larghezza (#nw-sec-banner) — v1.9.12
   ============================================================ */
.nw-home #nw-sec-banner { background: none; }
.nw-home #nw-sec-banner .nw-promo { max-width: none; margin: 0; padding: 0; }
.nw-home #nw-sec-banner .nw-promo__track { border-radius: 0; }
.nw-home #nw-sec-banner .nw-ctaband { padding: 0; }
.nw-home #nw-sec-banner .nw-promo__nav--prev { left: clamp(10px, 2.5vw, 34px); }
.nw-home #nw-sec-banner .nw-promo__nav--next { right: clamp(10px, 2.5vw, 34px); }
.nw-home #nw-sec-banner .nw-promo__dots { bottom: 20px; }

/* slide con foto: immagine cover full-bleed, testo sovrapposto a sinistra */
.nw-home #nw-sec-banner .nw-ctaband__inner--photo {
  grid-template-columns: 1fr;
  min-height: clamp(360px, 40vw, 520px);
  background-color: #efeae1;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  position: relative;
  align-items: center;
}
.nw-home #nw-sec-banner .nw-ctaband__inner--photo::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(250,248,242,.95) 0%, rgba(250,248,242,.8) 30%, rgba(250,248,242,.32) 50%, rgba(250,248,242,0) 66%);
}
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__text {
  position: relative; z-index: 2; max-width: 600px; color: #213027;
  padding: clamp(30px, 4vw, 60px) clamp(28px, 6vw, 92px);
}
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__title { color: #0C4E2B !important; }
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__title em { color: #a07d15 !important; font-style: italic; }
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__sub { color: #33463c !important; max-width: 440px; }
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__badge { background: #fff; color: #0C4E2B; border: 1px solid rgba(12,78,43,.2); }
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__price { color: #33463c; }
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-btn--white { background: var(--principale, #0C4E2B); color: #fff !important; border-color: var(--principale, #0C4E2B); }
.nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-btn--white:hover { background: #0a3f23; }

@media (max-width: 700px) {
  /* Slide con foto → impilato: foto sopra, testo in card piena sotto e CENTRATO.
     Niente testo sovrapposto ai prodotti (fix "banner brutti" da telefono). */
  .nw-home #nw-sec-banner .nw-ctaband__inner--photo {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    background-size: cover;
    background-position: 78% center;   /* mostra il prodotto (foto attuali: soggetto a destra) */
    background-color: #FAF8F3;
  }
  .nw-home #nw-sec-banner .nw-ctaband__inner--photo::before {
    content: "";
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    padding-top: 72%;               /* area foto in alto */
    background: none;
    z-index: 0;
  }
  .nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__text {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    margin: 0;
    background: #FAF8F3;
    padding: 24px 24px 32px;
    text-align: center;
  }
  .nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__title { font-size: clamp(26px, 7.4vw, 34px); }
  .nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__sub {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  .nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__row { justify-content: center; }
  .nw-home #nw-sec-banner .nw-ctaband__inner--photo .nw-ctaband__badge { margin-bottom: 14px; }
}

/* ============================================================
   "I più amati" — link "Vedi tutti" come bottone verde (sotto al sottotitolo) — v1.9.14
   ============================================================ */
.nw-home #nw-sec-piu-amati .nw-sec__link--btn {
  display: inline-flex; align-items: center; margin-top: 20px;
  background: var(--principale, #0C4E2B); color: #fff !important; padding: 12px 24px;
  border-radius: 999px; font-weight: 700; text-decoration: none; white-space: nowrap;
  box-shadow: 0 10px 22px -10px rgba(12,40,24,.55); transition: background .15s ease, transform .15s ease;
}
.nw-home #nw-sec-piu-amati .nw-sec__link--btn:hover { background: #0a3f23; transform: translateY(-1px); text-decoration: none; }

/* ============================================================
   CATEGORIA "muscoli e articolazioni" — restyle da Canva (scoped) — v1.9.16
   ============================================================ */
/* HERO: banner unico (foto + menta) full-width, testo sovrapposto a sinistra */
.nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero { position: relative; overflow: hidden; background: #E9EAE6 url("assets/img/cat/muscoli-hero-banner.webp") center right / cover no-repeat; }
.nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero-inner { max-width: none; gap: 0; grid-template-columns: 1fr; align-items: center; min-height: 460px; padding: 48px 24px 48px max(24px, calc((100vw - 1600px) / 2 + 24px)); }
.nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(233,234,230,.95) 0%, rgba(233,234,230,.75) 30%, rgba(233,234,230,.28) 50%, rgba(233,234,230,0) 66%); }
.nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero-text { position: relative; z-index: 2; max-width: 600px; padding: 0; align-self: center; }
.nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero-media { display: none; }
@media (max-width: 1024px) {
  .nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero { background-position: center right 28%; }
  .nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero-inner { min-height: 360px; padding: 30px 20px; }
  .nw-archive[data-cat="muscoli-e-articolazioni"] .nw-archive__hero::before { background: linear-gradient(90deg, rgba(233,234,230,.96) 0%, rgba(233,234,230,.86) 50%, rgba(233,234,230,.5) 100%); }
}

/* "I più popolari": edera REALISTICA ai due angoli (come home "I più amati") */
body.term-muscoli-e-articolazioni .nw-cat-best { position: relative; overflow: hidden; }
body.term-muscoli-e-articolazioni .nw-cat-best .nw-sec__inner { position: relative; z-index: 1; }
body.term-muscoli-e-articolazioni .nw-cat-best::before {
  content: ""; position: absolute; left: -34px; bottom: -26px; width: min(400px,28%); height: 400px;
  background: url("assets/img/deco/edera-real-1.webp") left bottom / contain no-repeat; z-index: 0; pointer-events: none;
}
body.term-muscoli-e-articolazioni .nw-cat-best::after {
  content: ""; position: absolute; right: -34px; top: 6px; width: min(400px,28%); height: 400px;
  background: url("assets/img/deco/edera-real-1.webp") right top / contain no-repeat; z-index: 0; pointer-events: none; transform: scaleX(-1);
}

/* RECENSIONI + APPROFONDIMENTO muscoli: decorazioni edera RIMOSSE (2026-07-27, richiesta
   cliente: allineate allo stile pulito di cura-della-pelle). La banda recensioni ora ha uno
   stile unico per tutte le categorie/brand — v. "Carosello recensioni · stile Home 2" sotto. */

/* ============================================================
   APPROFONDIMENTO — card formati (markup .nw-formats nel copy,
   icone line-art via background data-URI: wp_kses_post non
   lascia passare gli SVG inline nel body editoriale)
   ============================================================ */
.nw-formats { display: flex; flex-direction: column; gap: 14px; margin: 26px 0; }
.nw-format { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid #e7e2d4; border-radius: 14px; padding: 18px 20px; }
.nw-format__ico { width: 44px; height: 44px; flex: none; border-radius: 12px; background-color: var(--nw-sage-tint, #eef4ea); background-position: center; background-repeat: no-repeat; background-size: 23px 23px; }
.nw-format__txt { min-width: 0; }
.nw-format__txt .nw-format__name { font-family: 'Lora', Georgia, serif; font-size: 17.5px !important; font-weight: 700; line-height: 1.3; text-transform: none !important; letter-spacing: 0; color: #1C2A20 !important; margin: 2px 0 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nw-format__tag { font-family: var(--nw-sans, 'Inter', sans-serif); font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--principale, #0C4E2B); background: var(--nw-sage-tint, #eef4ea); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.nw-approf__body .nw-format__txt p { margin: 7px 0 0; font-size: 14.5px; line-height: 1.62; }
.nw-approf__body .nw-formats__close { margin-top: 26px; padding: 16px 20px; background: var(--nw-sage-tint, #eef4ea); border-radius: 14px; font-size: 14.5px; line-height: 1.62; }
@media (max-width: 560px) {
  .nw-format { padding: 15px 15px; gap: 12px; }
  .nw-format__ico { width: 38px; height: 38px; background-size: 20px 20px; }
}
.nw-format--gel .nw-format__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C4E2B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.6c2.9 3.7 4.8 6.4 4.8 9a4.8 4.8 0 1 1-9.6 0c0-2.6 1.9-5.3 4.8-9z'/%3E%3Cpath d='M9.6 12.8a2.4 2.4 0 0 0 2.4 2.4'/%3E%3C/svg%3E"); }
.nw-format--crema .nw-format__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C4E2B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.6 9.4h12.8v7.2a2.8 2.8 0 0 1-2.8 2.8H8.4a2.8 2.8 0 0 1-2.8-2.8z'/%3E%3Cpath d='M7.6 9.4V7.9a2 2 0 0 1 2-2h4.8a2 2 0 0 1 2 2v1.5'/%3E%3C/svg%3E"); }
.nw-format--spray .nw-format__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C4E2B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 8.5h6V19a1.6 1.6 0 0 1-1.6 1.6h-2.8A1.6 1.6 0 0 1 9 19z'/%3E%3Cpath d='M10.4 8.5V5.8h3.2v2.7'/%3E%3Cpath d='M10.9 3.6h2.2'/%3E%3Cpath d='M17.6 5.2h.01M19.6 7.4h.01M19.9 3.4h.01'/%3E%3C/svg%3E"); }
.nw-format--cerotto .nw-format__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C4E2B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.4' y='8.6' width='15.2' height='6.8' rx='3.4' transform='rotate(-32 12 12)'/%3E%3Ccircle cx='12' cy='12' r='.85'/%3E%3Ccircle cx='9.7' cy='10.6' r='.7'/%3E%3Ccircle cx='14.3' cy='13.4' r='.7'/%3E%3C/svg%3E"); }
.nw-format--integratore .nw-format__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C4E2B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='8.6' width='16' height='6.8' rx='3.4' transform='rotate(-45 12 12)'/%3E%3Cpath d='M12 8.6v6.8' transform='rotate(-45 12 12)'/%3E%3C/svg%3E"); }

/* FARMACISTA (categoria): logo caduceo a destra, tasto sotto */
#nw-cat-farmacista .nw-b2b { align-items: center; gap: 36px; }
#nw-cat-farmacista .nw-b2b__text { display: flex; flex-direction: column; align-items: flex-start; }
#nw-cat-farmacista .nw-b2b__text .nw-btn { margin-top: 20px; }

/* ============================================================
   PDP — Ingredienti attivi (cerchi) + Modo d'uso (icone) — v1.9.18
   ============================================================ */
/* Key Ingredients: cerchi grandi in UNA riga centrata (stesso ritmo di
   "Modo d'uso · 3 passi", .nw-howto__icon). Sostituisce il vecchio .nw-ingr-hub
   (packshot al centro + 2 colonne laterali) che con 3 ingredienti li spezzava
   2+1 asimmetrico e teneva le foto a 108px. */
.nw-pdp__ingr { background: #F6F7F4; border-top: 1px solid #e8ede8; border-bottom: 1px solid #e8ede8; }
.nw-pdp__ingr .nw-sec__sub { margin-left: auto; margin-right: auto; }
.nw-ingr-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: clamp(28px, 5vw, 72px); margin-top: 44px; }
.nw-ingr { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; flex: 0 1 280px; text-decoration: none; }
.nw-ingr__photo { width: clamp(150px, 17vw, 240px); aspect-ratio: 1; border-radius: 50%; background-size: cover; background-position: center; background-color: #fff; transition: transform .18s ease; }
.nw-ingr:hover .nw-ingr__photo { transform: translateY(-4px); }
.nw-ingr__photo--icon { display: flex; align-items: center; justify-content: center; background: #EDF5EE; font-size: clamp(46px, 6vw, 76px); }
.nw-ingr__name { font-family: 'Lora', serif; font-weight: 700; font-size: clamp(18px, 1.5vw, 22px); color: #1a1a1a; }
.nw-ingr__desc { font-size: 14px; line-height: 1.55; color: #6b7280; max-width: 30ch; }
.nw-pdp__without--center { text-align: center; max-width: 560px; margin-left: auto; margin-right: auto; margin-top: 40px; }
/* "Modo d'uso" senza i 3 passi strutturati: il testo libero (campo ACF "Modalità
   di utilizzo") va centrato in colonna stretta, sotto il titolo centrato. */
.nw-pdp__howto .nw-pdp__desc { max-width: 700px; margin: 0 auto; text-align: center; }
.nw-pdp__howto .nw-pdp__desc ul, .nw-pdp__howto .nw-pdp__desc ol { display: inline-block; text-align: left; margin: 8px 0; }
@media (max-width: 860px) {
  .nw-ingr-row { gap: 30px 22px; }
  .nw-ingr { flex: 0 1 44%; gap: 10px; }
  .nw-ingr__desc { font-size: 13px; }
}

/* Modo d'uso: icone circolari arancioni (al posto del badge "Step 0X") */
.nw-pdp__howto .nw-howto { background: transparent; text-align: center; padding: 16px 14px; }
.nw-howto__icon { display: block; width: 136px; height: 136px; margin: 0 auto 18px; border-radius: 50%; background-size: cover; background-position: center; }
@media (max-width: 860px) { .nw-howto__icon { width: 112px; height: 112px; } }

/* ============================================================
   PDP APPROFONDIMENTO — rebuild pulito (nwdeep) — v1.9.30
   ============================================================ */
.nw-pdp__deep .nw-sec__eyebrow { display: block; text-align: center; }
.nw-pdp__deep .nw-sec__inner > .nw-sec__title { text-align: center; margin-bottom: 8px; }
.nwdeep { display: block; margin-top: 44px; }
.nwdeep__sec { display: flex; align-items: center; gap: 56px; margin: 0 0 64px; }
.nwdeep__sec:last-child { margin-bottom: 0; }
.nwdeep__sec:nth-child(even) { flex-direction: row-reverse; }
.nwdeep__media { flex: 0 0 44%; min-width: 0; }
.nwdeep__media img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 0.95; object-fit: cover; border-radius: 14px; box-shadow: 0 16px 32px -18px rgba(0,0,0,.35); }
.nwdeep__body { flex: 1 1 56%; min-width: 0; font-size: 16px; line-height: 1.7; color: #444; }
.nwdeep__body h2 { font-family: 'Lora', serif !important; font-weight: 700 !important; font-size: 20px !important; line-height: 1.35 !important; color: var(--principale, #0C4E2B) !important; text-transform: uppercase !important; letter-spacing: .6px !important; margin: 0 0 14px !important; }
.nwdeep__body p { margin: 0 0 14px; }
.nwdeep__body p:last-child { margin-bottom: 0; }
.nwdeep__body ul { margin: 4px 0 14px; padding-left: 20px; }
.nwdeep__body li { margin: 0 0 7px; line-height: 1.6; }
.nwdeep__body strong { color: #222; }
@media (max-width: 820px) {
  .nwdeep__sec, .nwdeep__sec:nth-child(even) { flex-direction: column; gap: 18px; margin-bottom: 44px; }
  .nwdeep__media { flex: 0 0 auto; width: 100%; }
  .nwdeep__media img { aspect-ratio: 4 / 3; }
}

/* PDP FAQ: fiore arnica line-art in basso a destra (mockup) — v1.9.24 */
/* FAQ del PDP: blocco condiviso .nw-faqsec (nw_faq_block); dal 2026-07-17 lo stile
   "flat" della home è il default del componente (vedi sotto), fiore decorativo rimosso. */

/* ================================================================
   HOME 3.0 — ricostruzione estetica homepage (v3.0.0)
   Riferimento: formularity.it (indicato dal cliente).
   SOLO home (scope .nw-home) — header/menu/search/filtri INTATTI.
   Principi: UN solo sfondo caldo (niente bande), titoli serif centrati,
   card flat, caroselli con frecce, decorazioni ridotte.
   ================================================================ */

/* ---------- Un solo sfondo continuo (fix "colori che cambiano") ---------- */
body.nw-home { background: #FAF8F3; }
.nw-home .nw-sec, .nw-home .nw-cats, .nw-home .nw-trustbar { background: transparent; }
.nw-home #nw-sec-piu-amati { background: transparent; padding: 30px 0 84px; }
.nw-home #nw-sec-recensioni .nw-revs { background: transparent; padding: 72px 0 84px; }
.nw-home #nw-sec-banner { background: transparent; }
.nw-faqsec { background: #EDF5EE !important; border-top: 0 !important; } /* banda menta: le card bianche staccano (come su home2, dove il corpo e' carta) */
.nw-home .nw-hero { background: transparent; }
/* decorazioni edera: via dalle sezioni ridisegnate */
.nw-home #nw-sec-piu-amati::before, .nw-home #nw-sec-piu-amati::after,
.nw-home #nw-sec-recensioni .nw-revs::before { display: none; }

/* ---------- Teste di sezione centrate, kicker discreto ---------- */
.nw-home .nw-sec__head, .nw-home .nw-cats__head, .nw-home .nw-revs__head {
  flex-direction: column; align-items: center; text-align: center; gap: 4px; margin-bottom: 38px; }
.nw-home .nw-sec__head > div { display: flex; flex-direction: column; align-items: center; }
.nw-home .nw-sec__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 2px; color: #7E9E8D !important; }
.nw-home .nw-sec__title, .nw-home .nw-cats__title { font-size: clamp(30px, 2.8vw, 42px) !important; color: #1E2A23 !important; letter-spacing: -.4px; }
.nw-home .nw-sec__sub { max-width: 620px; margin: 8px auto 0; color: #6F7A72; }
.nw-home .nw-sec__head .nw-sec__link { margin-top: 14px; }
.nw-home .nw-cats__more { justify-content: center; margin-top: 34px; }

/* ---------- Categorie: tile puliti (icone nuove in arrivo dal cliente) ---------- */
.nw-home .nw-cat { border: 0; background: #fff; border-radius: 18px; padding: 30px 14px 24px;
  box-shadow: 0 2px 12px -8px rgba(30,42,35,.12); transition: box-shadow .18s ease, transform .18s ease; }
.nw-home .nw-cat:hover { box-shadow: 0 20px 40px -20px rgba(30,42,35,.28); transform: translateY(-4px); }
.nw-home .nw-cat__emoji { width: 72px; height: 72px; border-radius: 999px; background: #ECF1EE; display: flex; align-items: center; justify-content: center; }
.nw-home .nw-cat__emoji .nw-ico { width: 40px; height: 40px; }
.nw-home .nw-cat__emoji .nw-svgico { width: 30px; height: 30px; }
.nw-home .nw-cat__name { font-family: 'Lora', serif; font-size: 15.5px; min-height: 0; }
.nw-home .nw-cat__desc { display: none; }  /* testo troncato: via */
.nw-home .nw-cat__count { font-size: 10.5px; letter-spacing: 1px; color: #A5AEA7; }

/* ---------- I PIÙ AMATI: carosello (frecce via nw-car.js) ---------- */
.nw-home #nw-sec-piu-amati .nw-best__grid {
  display: flex; max-width: none; margin: 0; gap: 18px;
  overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  padding: 8px 6px 26px; scrollbar-width: none; }
.nw-home #nw-sec-piu-amati .nw-best__grid::-webkit-scrollbar { display: none; }
.nw-home #nw-sec-piu-amati .nw-best__grid > .nw-pcard {
  flex: 0 0 calc((100% - 54px) / 4); min-width: 250px; scroll-snap-align: start; }
/* card in stile Formularity: flat, niente bordo giallo, brand-kicker uppercase */
.nw-home .nw-best--home .nw-pcard { border: 1px solid #F2EFE7; border-radius: 18px;
  box-shadow: 0 4px 16px -10px rgba(30,42,35,.14); }
.nw-home .nw-best--home .nw-pcard:hover { box-shadow: 0 24px 44px -20px rgba(30,42,35,.30); transform: translateY(-4px); }
.nw-home .nw-best--home .nw-pcard__media { background: #fff; height: 270px; border-bottom: 0; padding: 24px; }
.nw-home .nw-pcard__brand { text-transform: uppercase; font-size: 10.5px; letter-spacing: 1.2px; color: #97A19A; }
.nw-home .nw-pcard__dot { display: none; }
.nw-home .nw-pcard__name { font-size: 17px; }
/* wrapper carosello + frecce */
.nw-car { position: relative; }
.nw-car__btn { position: absolute; top: 42%; transform: translateY(-50%); z-index: 5;
  width: 46px; height: 46px; border-radius: 999px; border: 0; cursor: pointer;
  background: #fff; color: #0C4E2B; box-shadow: 0 10px 26px -10px rgba(20,35,26,.35);
  display: flex; align-items: center; justify-content: center; transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.nw-car__btn svg { width: 20px; height: 20px; }
.nw-car__btn:hover { transform: translateY(-50%) scale(1.07); }
.nw-car__btn--prev { left: -10px; }
.nw-car__btn--next { right: -10px; }
.nw-car__btn[disabled] { opacity: .25; cursor: default; }
.nw-car--noscroll .nw-car__btn { display: none; }
@media (max-width: 700px) { .nw-car__btn { display: none; } }

/* ---------- TRUST: kicker + icone outline (via il titolo urlato) ---------- */
.nw-home .nw-trustbar { padding: 26px 24px 78px; border-top: 0; }
.nw-home .nw-trustbar__kicker { display: block; text-align: center; margin: 0 0 40px;
  font: 700 12px 'Lato', sans-serif; letter-spacing: 2.4px; text-transform: uppercase; color: #7E9E8D; }
.nw-home .nw-trustbar__item { flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.nw-home .nw-trustbar__ico { width: 64px; height: 64px; border-radius: 999px;
  background: transparent; border: 1.6px solid #0C4E2B; display: inline-flex; align-items: center; justify-content: center; }
.nw-home .nw-trustbar__ico .nw-svgico, .nw-home .nw-trustbar__ico svg { width: 28px; height: 28px; color: #0C4E2B; }
.nw-home .nw-trustbar__txt { text-align: center; gap: 4px; }
.nw-home .nw-trustbar__txt strong { font-family: 'Lora', serif; font-size: 16.5px; color: #1E2A23; }
.nw-home .nw-trustbar__txt span { font-size: 13px; line-height: 1.55; color: #8A948C; max-width: 240px; margin: 0 auto; }

/* ---------- RECENSIONI: testa centrata + carosello con frecce ---------- */
.nw-home .nw-revs__head { gap: 10px; }
.nw-home .nw-revs__score { background: #fff; border-radius: 999px; padding: 10px 22px;
  box-shadow: 0 6px 18px -10px rgba(30,42,35,.18); }
.nw-home .nw-revcard { border: 1px solid #F2EFE7; border-radius: 18px; background: #fff;
  box-shadow: 0 4px 16px -10px rgba(30,42,35,.12); }

/* ---------- Brand / B2B / blog: pannelli puliti su paper ---------- */
.nw-home .nw-brandcard { border: 1px solid #F2EFE7; background: #fff; border-radius: 18px;
  box-shadow: 0 2px 12px -8px rgba(30,42,35,.10); }
.nw-home .nw-brandcard:hover { box-shadow: 0 20px 40px -20px rgba(30,42,35,.26); }
.nw-home .nw-b2b { border: 0; background: #fff; border-radius: 22px; padding: 44px 48px;
  box-shadow: 0 2px 14px -8px rgba(30,42,35,.10); }
.nw-home .nw-bcard__media { border-radius: 18px; height: 240px; }
.nw-home #nw-sec-blog::after { opacity: .3; }

/* ---------- FAQ a card come la home2 (nw-el-faq): card bianche separate, domanda
   serif, "+" sage a sinistra, niente icona foglia (globale dal 2026-07-17) ---------- */
.nw-faqsec .nw-acc { background: #fff; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-radius: 14px; margin: 0 0 10px; box-shadow: var(--nw-shadow-sm, 0 4px 16px rgba(12,78,43,.07)); }
.nw-faqsec .nw-sec__inner { max-width: 820px; }
.nw-faqsec .nw-acc summary { padding: 16px 20px; font: 600 16px var(--nw-serif, 'Lora', serif);
  letter-spacing: 0; text-transform: none; color: var(--nw-ink, #1C2A20); line-height: 1.4; }
.nw-faqsec .nw-acc[open] summary { color: var(--nw-forest, #0C4E2B); }
.nw-faqsec .nw-acc__ico { display: none; }
.nw-faqsec .nw-acc__plus { order: -1; margin-left: 0; flex: 0 0 auto; }
.nw-faqsec .nw-acc__plus::before, .nw-faqsec .nw-acc__plus::after { background: var(--nw-sage, #7E9E8D); }
.nw-faqsec .nw-acc__body { padding: 0 20px 18px; font-size: 14.5px; color: var(--nw-muted, #55645A); text-transform: none; }
.nw-faqsec .nw-faqsec__sub { text-align: center; }
.nw-faqsec .nw-faqsec__contact { text-align: center; margin-top: 4px; }
.nw-faqsec .nw-faqsec__contact a { color: var(--nw-forest, #0C4E2B); font-weight: 700; font-size: 14.5px; text-decoration: none; }
.nw-faqsec .nw-faqsec__contact a:hover { text-decoration: underline; }
@media (max-width: 767px) {
  .nw-faqsec .nw-acc summary { padding: 14px 16px; font-size: 15px; }
  .nw-faqsec .nw-acc__body { font-size: 14px; padding: 0 16px 16px; }
}

/* ---------- Newsletter: pannello arrotondato, non banda ---------- */
.nw-home .nw-news { max-width: 1240px; margin: 0 auto; border-radius: 26px; padding: 76px 32px; }
#nw-sec-newsletter { padding-bottom: 90px; }
/* Home 3.0 — rifiniture post-render */
.nw-home .nw-sec__link { color: #0C4E2B !important; font-weight: 700; opacity: 1 !important; }
.nw-home .nw-sec__link:hover { text-decoration: underline; }
.nw-car__btn--prev { left: 6px; }
.nw-car__btn--next { right: 6px; }
.nw-faqsec .nw-sec__eyebrow { text-align: center; display: block; }
.nw-faqsec .nw-sec__title { text-align: center; }

/* Icone categorie nuove (grafica cliente): hanno già il cerchio, via lo sfondo */
.nw-home .nw-cat__emoji:has(.nw-cat__icon) { background: none; width: auto; height: auto; }
.nw-cat__icon { width: 86px; height: 86px; display: block; object-fit: contain; }
@media (max-width: 700px) { .nw-cat__icon { width: 68px; height: 68px; } }

/* ---------- Header sticky + SHOP e search più evidenti ---------- */
@keyframes nwHeadIn { from { transform: translateY(-100%); } to { transform: translateY(0); } }
/* z-index era 980: sotto .nw-mega-overlay (9980), quindi da scrollato l'overlay del
   mega-menu copriva l'header intero e i click sui link del pannello SHOP finivano
   sull'overlay (che li chiude) invece che sui link — nessuna navigazione. Allineato
   al valore di .nw-header non-scrollato (9990). */
.nw-header.is-fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 9990; background: #fff;
  box-shadow: 0 10px 30px -18px rgba(30,42,35,.28); animation: nwHeadIn .22s ease; }
body.admin-bar .nw-header.is-fixed { top: 32px; }
.nw-header .nw-nav__item:first-child > button.nw-nav__link { background: var(--principale, #0C4E2B) !important; color: #fff !important; border-radius: 999px; padding: 9px 20px !important; font-weight: 700; letter-spacing: .4px; }
.nw-header .nw-nav__item:first-child > button.nw-nav__link .nw-caret { color: #fff; opacity: .85; }
.nw-header .nw-nav__item:first-child > button.nw-nav__link:hover { background: #0a3f23 !important; }
form.nw-search { background: #F0F5F1; border: 1.5px solid #CFDFD4; }
form.nw-search .nw-search__icon { color: var(--principale, #0C4E2B); }
form.nw-search:focus-within { background: #fff; border-color: var(--principale, #0C4E2B); }

/* ---------- Ritocchi Home 3.0 su feedback ---------- */
.nw-home .nw-trustbar__kicker { font-size: 15px; letter-spacing: 2.6px; }
.nw-home #nw-sec-brand::after { display: none; }  /* via la menta in basso a destra */
.nw-home #nw-sec-brand .nw-sec__sub { max-width: none; white-space: nowrap; }
@media (max-width: 980px) { .nw-home #nw-sec-brand .nw-sec__sub { white-space: normal; } }
.nw-brands__more { text-align: center; margin-top: 32px; }

/* ---------- Home: icone categorie nuove (badge circolari del cliente) ---------- */
.nw-home .nw-cat__emoji:has(.nw-cat__icon) { background: transparent; width: 86px; height: 86px; padding: 0; }
.nw-cat__icon { width: 100%; height: 100%; object-fit: contain; display: block;
  filter: drop-shadow(0 6px 12px rgba(18,40,27,.10)); transition: transform .18s ease; }
.nw-home .nw-cat:hover .nw-cat__icon { transform: scale(1.06); }

/* ---------- Blog: via l'edera/menta ai lati + card più curate ---------- */
.nw-home #nw-sec-blog::before, .nw-home #nw-sec-blog::after { display: none; }
.nw-home .nw-bcard:hover .nw-bcard__title { color: var(--principale, #0C4E2B) !important; }

/* ---------- FAQ: risposta leggibile (allineata al testo card home2) ---------- */
.nw-faqsec .nw-acc__body { font-size: 14.5px; line-height: 1.65; padding: 0 20px 18px; }

/* ---------- FAQ: niente pannellone — card singole come la home2 ---------- */
.nw-faqsec .nw-sec__inner { max-width: 820px !important; }
.nw-faqsec { padding: 46px 24px; }

/* ============================================================
   HOME 3.2 — Brand con foto (2 hero + 3 mini) · più amati peek+dots · scroll-reveal
   ============================================================ */

/* ---- Brand: griglia bento image-first (2 grandi sopra + 3 sotto) ---- */
.nw-home .nw-brands-sec .nw-sec__inner { max-width: 1240px; }
.nw-home .nw-brandcards { grid-template-columns: repeat(6, 1fr); gap: 22px; align-items: stretch; }
.nw-home .nw-brandcard { padding: 0; gap: 0; overflow: hidden; align-items: stretch; }
.nw-home .nw-brandcard--hero { grid-column: span 3; }
.nw-home .nw-brandcard--mini { grid-column: span 2; }
.nw-brandcard__media { position: relative; display: block; width: 100%; overflow: hidden; background: #F3F1EA; }
.nw-brandcard__media > img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.nw-brandcard--hero .nw-brandcard__media { aspect-ratio: 16 / 10; }
.nw-brandcard--mini .nw-brandcard__media { aspect-ratio: 4 / 3; }
.nw-home .nw-brandcard:hover .nw-brandcard__media > img { transform: scale(1.045); }
.nw-home .nw-brandcard__media .nw-brandcard__logo { position: absolute; left: 16px; bottom: 16px; width: auto; height: auto; min-height: 0; background: rgba(255,255,255,.95); border-radius: 12px; padding: 8px 14px; box-shadow: 0 8px 22px -12px rgba(20,35,26,.4); }
.nw-home .nw-brandcard__media .nw-brandcard__logo img { max-height: 30px; max-width: 128px; }
.nw-home .nw-brandcard--hero .nw-brandcard__media .nw-brandcard__logo { padding: 10px 18px; }
.nw-home .nw-brandcard--hero .nw-brandcard__media .nw-brandcard__logo img { max-height: 40px; max-width: 168px; }
.nw-brandcard__body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 22px 24px 24px; flex: 1; }
.nw-brandcard--hero .nw-brandcard__body { padding: 26px 30px 28px; }
.nw-home .nw-brandcard--hero .nw-brandcard__name { font-size: 22px; }
.nw-brandcard__body .nw-brandcard__foot { width: 100%; margin-top: auto; padding-top: 14px; }
@media (max-width: 1024px) {
  .nw-home .nw-brandcards { grid-template-columns: repeat(2, 1fr); }
  .nw-home .nw-brandcard--hero, .nw-home .nw-brandcard--mini { grid-column: auto; }
}
@media (max-width: 620px) { .nw-home .nw-brandcards { grid-template-columns: 1fr; } }

/* ---- I più amati: peek della card successiva + pallini indicatore ---- */
.nw-home #nw-sec-piu-amati .nw-best__grid > .nw-pcard { flex: 0 0 calc((100% - 112px) / 4); min-width: 230px; }
@media (max-width: 1024px) { .nw-home #nw-sec-piu-amati .nw-best__grid > .nw-pcard { flex-basis: calc((100% - 40px) / 2.4); } }
@media (max-width: 600px) { .nw-home #nw-sec-piu-amati .nw-best__grid > .nw-pcard { flex-basis: 82%; min-width: 0; } }
.nw-car__dots { display: flex; justify-content: center; gap: 9px; margin-top: 10px; }
.nw-car__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #D6DDD6; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.nw-car__dot:hover { background: #B7C3B8; }
.nw-car__dot.is-active { background: #7E9E8D; transform: scale(1.3); }
.nw-car--noscroll .nw-car__dots { display: none; }

/* ---- Scroll-reveal: "quando scorri escono le cose" (no-JS & reduced-motion safe) ---- */
.nw-reveal { transition: opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i, 0) * 85ms); }
.nw-reveal.is-armed { opacity: 0; transform: translateY(22px); }
.nw-reveal.is-armed.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .nw-reveal, .nw-reveal.is-armed { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* ============================================================
   HOME 3.3 — Ritmo verticale UNIFORME tra le sezioni + categorie premium (rif. Farmacy)
   ============================================================ */
.nw-home { --sec-pad: clamp(40px, 5vw, 62px); }
.nw-home .nw-hero { padding-bottom: var(--sec-pad); }
.nw-home .nw-cats,
.nw-home #nw-sec-piu-amati,
.nw-home #nw-sec-vantaggi,
.nw-home #nw-sec-recensioni .nw-revs,
.nw-home #nw-sec-brand,
.nw-home #nw-sec-banner,
.nw-home #nw-sec-farmacista,
.nw-home .nw-faqsec,
.nw-home #nw-sec-blog { padding-top: var(--sec-pad) !important; padding-bottom: var(--sec-pad) !important; }
.nw-home #nw-sec-newsletter { padding: var(--sec-pad) 24px !important; }

/* Categorie più premium: contorno netto, icone più grandi, conteggio leggibile */
.nw-home .nw-cat { border: 1px solid #EBE7DC; padding: 34px 16px 26px; }
.nw-home .nw-cat__emoji:has(.nw-cat__icon) { width: 96px; height: 96px; }
.nw-home .nw-cat__name { font-size: 16.5px; }
.nw-home .nw-cat__count { font-size: 12px; letter-spacing: .4px; font-weight: 600; color: #7E9E8D; margin-top: 3px; }
@media (max-width: 700px) { .nw-home .nw-cat__emoji:has(.nw-cat__icon) { width: 76px; height: 76px; } }

/* ============================================================
   HOME 3.4 — HERO bannerone full-bleed + fascia "Perché scegliere" (rif. Farmacy)
   ============================================================ */
/* ---- HERO banner ---- */
.nw-home #nw-sec-hero { padding: 0 0 var(--sec-pad); background: transparent; }
.nw-herob { position: relative; display: flex; align-items: center; width: 100%;
  min-height: clamp(420px, 42vw, 600px); overflow: hidden; background: #FAF8F3; }
.nw-herob__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; z-index: 0; }
.nw-herob::after { content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(250,248,243,.72) 0%, rgba(250,248,243,.26) 20%, rgba(250,248,243,0) 36%); }
.nw-herob__inner { position: relative; z-index: 2; max-width: var(--content, 1600px); margin: 0 auto; padding: 48px 24px; width: 100%; }
.nw-herob__content { max-width: 560px; }
.nw-herob__content .nw-hero__title { font-family: 'Lora', serif; font-weight: 700; line-height: 1.08; font-size: clamp(34px, 3.8vw, 52px); margin: 14px 0 18px; }
.nw-herob__content .nw-hero__subtitle { max-width: 470px; }
@media (max-width: 760px) {
  .nw-herob { display: block; min-height: 0; }
  .nw-herob__img { position: static; height: auto; }
  .nw-herob::after { display: none; }
  .nw-herob__inner { padding: 22px 20px 4px; }
  .nw-herob__content { max-width: none; }
  .nw-herob__content .nw-hero__title { font-size: clamp(28px, 8vw, 38px); }
}

/* ---- Fascia "Perché scegliere Naturwaren" ---- */
.nw-whyb { position: relative; display: flex; align-items: center; width: 100%;
  min-height: clamp(420px, 40vw, 560px); overflow: hidden; background: #163a23; }
.nw-whyb__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; z-index: 0; }
.nw-whyb::after { content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(18,44,28,.9) 0%, rgba(18,44,28,.66) 32%, rgba(18,44,28,.18) 48%, rgba(18,44,28,0) 58%); }
.nw-whyb__inner { position: relative; z-index: 2; max-width: var(--content, 1600px); margin: 0 auto; padding: 56px 24px; width: 100%; }
.nw-whyb__content { max-width: 640px; }
.nw-whyb__eyebrow { display: block; font: 700 12px 'Lato', sans-serif; letter-spacing: 2.4px; text-transform: uppercase; color: #A9C3B0; }
.nw-whyb__title { font-family: 'Lora', serif; font-weight: 700; color: #fff !important; text-transform: none !important; font-size: clamp(28px, 3vw, 40px); margin: 12px 0 30px; letter-spacing: -.3px; }
.nw-whyb__pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 30px; }
.nw-whyb__pillar { display: flex; gap: 14px; align-items: flex-start; }
.nw-whyb__ico { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.08); border: 1.4px solid rgba(233,217,138,.55); }
.nw-whyb__ico .nw-svgico, .nw-whyb__ico svg { width: 23px; height: 23px; color: #EAD98A; }
.nw-whyb__txt { display: flex; flex-direction: column; }
.nw-whyb__txt strong { font-family: 'Lora', serif; font-size: 17.5px; color: #fff; margin-bottom: 4px; }
.nw-whyb__txt span { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.82); }
@media (max-width: 820px) {
  .nw-whyb { display: block; min-height: 0; background: #163a23; }
  .nw-whyb__img { position: static; height: auto; }
  .nw-whyb::after { display: none; }
  .nw-whyb__inner { padding: 28px 22px 40px; }
  .nw-whyb__content { max-width: none; }
  .nw-whyb__pillars { grid-template-columns: 1fr; gap: 22px; }
}

/* ---- Pill/badge: contenuto centrato e riga pulita (hero badge, slide badge) ---- */
.nw-hero__badge, .nw-ctaband__badge { justify-content: center; line-height: 1; white-space: nowrap; }
.nw-hero__badge .nw-svgico, .nw-ctaband__badge .nw-svgico { flex: 0 0 auto; }

/* ============================================================
   HOME 3.5 — Ottimizzazione MOBILE banner + farmacia
   ============================================================ */
/* Titoli protetti dal rule globale h2 del tema (che forzava 45px) */
.nw-home .nw-whyb__title { font-size: clamp(28px, 2.6vw, 40px) !important; }
.nw-home .nw-b2b__title { font-size: clamp(24px, 2.4vw, 30px) !important; }
@media (max-width: 760px) {
  /* Immagini banner: non più striscia sottile, prodotti in evidenza (crop 3:2) */
  .nw-herob__img, .nw-whyb__img { aspect-ratio: 3 / 2; height: auto; object-fit: cover; object-position: 72% center; }
  /* Hero/fascia: testo un filo più compatto */
  .nw-herob__content .nw-hero__title { font-size: clamp(28px, 8vw, 36px) !important; }
  .nw-herob__inner { padding: 20px 22px 6px; }
  .nw-whyb__inner { padding: 26px 22px 38px; }
  /* Farmacia: mostra il caduceo (più piccolo, sopra il testo) invece di nasconderlo */
  .nw-home #nw-sec-farmacista .nw-b2b__logo { display: block !important; order: -1; width: 88px; height: 106px; margin: 0 0 6px; }
  .nw-home #nw-sec-farmacista .nw-b2b { align-items: flex-start; gap: 8px; }
  .nw-home #nw-sec-farmacista .nw-b2b { padding: 30px 26px; }
}

/* ==== FIX 2026-07-10: header tagliato su mobile stretto (pre-esistente, segnalato dall utente).
   A <=480px: via il sub ITALIA, logo 32px, spaziature ridotte -> icone account/carrello visibili. ==== */
@media (max-width: 480px) {
  .nw-header__inner { padding-left: 12px; padding-right: 12px; gap: 12px; }
  .nw-header__logo { gap: 0; }
  .nw-header__logo-sub { display: none; }
  .nw-header__logo img { height: 32px; }
  .nw-header__actions { gap: 10px; }
}

/* ===== MEGA-MENU restyle: icone bisogni (soft mint -> verde su hover/active) + rifinitura ===== */
.nw-mega .nw-need__emoji { display:inline-flex !important; align-items:center; justify-content:center; width:30px; height:30px; flex:0 0 auto; }
.nw-mega .nw-need .nw-ico--sm { width:30px; height:30px; min-width:30px; background:var(--lightaccent,#CCE4DE); color:var(--principale,#0C4E2B); border-radius:9px; }
.nw-mega .nw-need .nw-ico--sm .nw-svgico { width:17px; height:17px; }
.nw-mega .nw-need.is-active .nw-ico--sm, .nw-mega .nw-need a:hover .nw-ico--sm { background:var(--principale,#0C4E2B); color:#fff; }
.nw-mega .nw-need a { gap:12px; }
.nw-mega .nw-poy { background:linear-gradient(180deg,#f6faf7,#edf5ef); border-color:#d3e6db; box-shadow:0 12px 30px -20px rgba(12,78,43,.35); }
.nw-mega .nw-poy__media img { max-height:168px; }

/* ===== Carrello header: badge come bollino d'angolo sull'icona ===== */
.nw-action--cart { position: relative; }
.nw-cart-count {
    position:absolute; top:-6px; right:-9px;
    background:var(--principale,#0C4E2B); color:#fff; font-size:11px; font-weight:800; line-height:1;
    min-width:18px; height:18px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center;
    padding:0 5px; border:2px solid #fff; box-shadow:0 1px 3px rgba(12,78,43,.28);
}
.nw-cart-count[hidden] { display: none; }
@media (max-width:1024px){ .nw-header__actions .nw-action--cart .nw-cart-count { top:-4px; right:-6px; } }

/* Il tema forza i link a bianco: ripristino i colori DIRETTI dei link nel dropdown ricerca */
.nw-ls__link { color:#37453D !important; }
.nw-ls__link:hover { color:var(--principale,#0C4E2B) !important; }
.nw-ls__chip { color:#37453D !important; }
.nw-ls__chip:hover { color:var(--principale,#0C4E2B) !important; }
.nw-ls__more { color:var(--principale,#0C4E2B) !important; }
.nw-ls__quick { color:#2a352e !important; }
.nw-ls__typo a { color:var(--principale,#0C4E2B) !important; }
.nw-ls__head strong, .nw-ls__none strong { color:var(--principale,#0C4E2B) !important; }

/* =====================================================================
 * FASE 6 — Rifiniture pagine WooCommerce NATIVE (SOLO CSS, da APPENDERE a style.css)
 * ---------------------------------------------------------------------
 * Scope reali VERIFICATI dall'HTML renderizzato (curl):
 *   · Carrello  → .nw-page.nw-cartpage     > .nw-funnel__wrap > .nw-wc
 *   · Checkout  → .nw-page.nw-checkoutpage  > .nw-funnel__wrap > .nw-wc
 *   · Area cliente (logout) → .nw-account__wrap > .nw-account__wc  (#customer_login = .u-columns.col2-set > .u-column1/.u-column2)
 *
 * BUG TEMA: gli <a> vengono forzati a bianco !important in alcuni scope →
 *   ogni link nativo Woo qui sotto RIDICHIARA color:… !important, altrimenti sparisce.
 *
 * Queste regole ESTENDONO (non riscrivono) quelle esistenti:
 *   ~1441-1585 (scope body.woocommerce* / .woocommerce)  e  ~2039-2076 (scope .nw-wc / .nw-account__wc).
 * Riempiono solo i buchi rimasti (elementi Woo ancora di default).
 * ===================================================================== */

/* --- 1. Notice Woo: sfondo tinto + spaziatura + LINK VISIBILI --------
 * L'esistente dà solo border-top+radius (e bg rosso per l'error). Aggiungo
 * il fondo tinto (success/info), il padding uniforme e — soprattutto — il
 * colore dei link interni (showcoupon/showlogin), altrimenti bianchi. */
.nw-wc .woocommerce-message,
.nw-account__wc .woocommerce-message { background: #eaf7ed; padding: 14px 18px 14px 3.2em; }
.nw-wc .woocommerce-info,
.nw-account__wc .woocommerce-info { background: var(--verde-chiaro, #ECF1EE); padding: 14px 18px 14px 3.2em; }
.nw-wc .woocommerce-error { padding: 14px 18px 14px 3.2em; }
.nw-wc .woocommerce-message a, .nw-wc .woocommerce-info a,
.nw-account__wc .woocommerce-message a, .nw-account__wc .woocommerce-info a {
    color: var(--principale, #0C4E2B) !important; text-decoration: underline; font-weight: 700;
}
.nw-wc .woocommerce-error a, .nw-account__wc .woocommerce-error a { color: #8f2d2d !important; text-decoration: underline; }

/* --- 2. Checkout: lista metodi di pagamento (radio) -----------------
 * L'esistente stila solo la <ul> (padding/bordo). Qui rifinisco i <li>,
 * la label cliccabile e il box descrittivo del metodo selezionato. */
.nw-wc .wc_payment_methods li { list-style: none; padding: 2px 0; }
.nw-wc .wc_payment_methods > li + li { border-top: 1px solid var(--border, #e5e7eb); margin-top: 8px; padding-top: 12px; }
.nw-wc .wc_payment_methods label { font-family: 'Lato', sans-serif; font-weight: 700; color: #2b3a31; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.nw-wc .payment_box { font-size: 14px; color: var(--muted, #6b7280); line-height: 1.55; padding: 12px 16px; }
.nw-wc .payment_box p { margin: .4em 0; }

/* --- 3. Link nativi Woo che il tema renderebbe bianchi -------------- */
.nw-wc a.showcoupon, .nw-wc a.showlogin,
.nw-wc a.shipping-calculator-button,
.nw-wc .woocommerce-privacy-policy-link,
.nw-wc .woocommerce-terms-and-conditions-link {
    color: var(--principale, #0C4E2B) !important; text-decoration: underline;
}

/* --- 4. Checkout: testo privacy + riga checkbox Termini ------------- */
.nw-wc .woocommerce-privacy-policy-text,
.nw-wc .woocommerce-privacy-policy-text p { font-size: 13px; color: var(--muted, #6b7280); line-height: 1.6; }
.nw-wc .woocommerce-terms-and-conditions-wrapper { margin: 8px 0 4px; }
.nw-wc .form-row label.checkbox,
.nw-wc .woocommerce-terms-and-conditions-checkbox-text { font-size: 14px; color: #2b3a31; }
.nw-wc .form-row label.checkbox { display: flex; align-items: flex-start; gap: 10px; }
.nw-wc .form-row label.checkbox input { margin-top: 3px; flex: 0 0 auto; }

/* --- 5. Area cliente: riga "Ricordami" + link recupero/privacy ------ */
.nw-account__wc .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.nw-account__wc .woocommerce-form-login__rememberme input { margin: 0; flex: 0 0 auto; }
.nw-account__wc .lost_password { margin-top: 12px; font-size: 13.5px; }
.nw-account__wc .lost_password a,
.nw-account__wc .woocommerce-LostPassword a { color: var(--principale, #0C4E2B) !important; text-decoration: underline; font-weight: 600; }
.nw-account__wc .woocommerce-privacy-policy-text,
.nw-account__wc .woocommerce-privacy-policy-text p { font-size: 13px; color: var(--muted, #6b7280); line-height: 1.6; }
.nw-account__wc .woocommerce-privacy-policy-text a { color: var(--principale, #0C4E2B) !important; text-decoration: underline; }

/* --- 6. Order-received / "Grazie" (endpoint checkout) ---------------
 * NB: il titolone serif e le pill dell'overview sono già gestiti (~2073-2076).
 * Qui restano solo i sotto-titoli delle tabelle dettaglio ordine, di default. */
.nw-wc .woocommerce-order-details__title,
.nw-wc .woocommerce-column__title { font-family: 'Lora', serif; color: #14241a; font-size: 18px; font-weight: 700; margin: 0 0 12px; }

/* --- 7. Accessibilità: focus-visible + touch target 44px ----------- */
.nw-wc input:focus-visible, .nw-wc select:focus-visible, .nw-wc textarea:focus-visible,
.nw-wc .button:focus-visible, .nw-wc button:focus-visible, .nw-wc #place_order:focus-visible,
.nw-account__wc input:focus-visible, .nw-account__wc select:focus-visible, .nw-account__wc textarea:focus-visible,
.nw-account__wc .button:focus-visible, .nw-account__wc button:focus-visible {
    outline: 2px solid var(--principale, #0C4E2B); outline-offset: 2px;
}
.nw-wc .button, .nw-wc button.button, .nw-wc input.button, .nw-wc #place_order, .nw-wc .checkout-button,
.nw-account__wc .button, .nw-account__wc button.button, .nw-account__wc input.button { min-height: 44px; }

/* --- 8. Mobile (≤768px): impila colonne account + bottoni full-width - */
@media (max-width: 768px) {
    /* Colonne login/registrazione impilate */
    .nw-account__wc #customer_login { grid-template-columns: 1fr; }
    /* Bottoni a tutta larghezza su carrello/checkout/account */
    .nw-wc .button, .nw-wc button.button, .nw-wc input.button,
    .nw-account__wc .button, .nw-account__wc button.button, .nw-account__wc input.button { width: 100%; }
    /* Coupon carrello: campo + "Applica" impilati */
    .nw-wc .coupon { display: flex; flex-wrap: wrap; gap: 10px; }
    .nw-wc .coupon .input-text, .nw-wc .coupon #coupon_code { flex: 1 1 100%; min-width: 0; }
}

/* Bottone "rivedi cookie" (webtoffee): spostato a DESTRA (era bottom-left, copriva
   il prezzo della barra sticky PDP e dava fastidio). Su mobile prodotto lo alziamo
   ancora un po' per non finire sopra la barra sticky add-to-cart. */
.wcc-btn-revisit-wrapper { left: auto !important; right: 20px !important; }
@media (max-width: 768px) {
  .single-product .wcc-btn-revisit-wrapper { bottom: 88px !important; }
}

/* ---------- Ritmo sfondi PDP (2026-07-17): due tinte di stacco — carta #FAF8F3
   (come il corpo della home2) per le sezioni a card, menta #EDF5EE per FAQ.
   Le card bianche tornano a staccare invece di affogare nel bianco. ---------- */
.nw-pdp .nw-pdp__ingr, .nw-pdp .nw-pdp__specs-sec, .nw-pdp .nw-compare, .nw-pdp .nw-blog { background: #FAF8F3; }
.nw-pdp .nw-pdp__ingr { border-top: 0; border-bottom: 0; }

/* ============================================================
   PDP RESTYLE 2026-07-17 — pass di design per-sezione (audit a
   11 agenti). Tutto scoped .nw-pdp o su classi nuove del PDP.
   ============================================================ */

/* ---- 1. Gallery: frame riproporzionato, il packshot riempie ---- */
.nw-pdp .nw-pdp__main { min-height: 0; aspect-ratio: 1 / 1.02; padding: clamp(24px, 4vw, 44px); }
.nw-pdp .nw-pdp__main img { width: 100%; max-width: 440px; height: auto; max-height: 100%; object-fit: contain; }
@media (max-width: 900px) { .nw-pdp .nw-pdp__main { aspect-ratio: 1 / 1; } }

/* ---- 2. Strip farmacia promossa a card differenziante ---- */
.nw-pdp .nw-pdp__pharma { gap: 14px; padding: 16px 18px; margin-top: 20px; background: #fff; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-radius: 14px; box-shadow: var(--nw-shadow-sm, 0 4px 16px rgba(12,78,43,.07)); }
.nw-pdp .nw-pdp__pharma:hover { border-color: var(--nw-sage, #7E9E8D); background: #fff; }
.nw-pdp .nw-pdp__pharma-ico { width: 42px; height: 42px; border-radius: 999px; background: #EDF5EE; display: inline-flex; align-items: center; justify-content: center; }
.nw-pdp .nw-pdp__pharma-txt { display: flex; flex-direction: column; line-height: 1.3; }
.nw-pdp .nw-pdp__pharma-txt strong { color: var(--nw-forest, #0C4E2B); font-size: 15px; }
.nw-pdp .nw-pdp__pharma-txt small { color: var(--nw-muted, #55645A); font-size: 12.5px; }
@media (max-width: 520px) { .nw-pdp .nw-pdp__pharma .nw-pdp__pharma-cta { margin-left: 56px; } }

/* ---- 3. Titolo H1 più compatto (2 righe invece di 3) + meta ripulita ---- */
.nw-pdp .nw-pdp__title { font-size: clamp(28px, 2.6vw, 38px); line-height: 1.08; letter-spacing: -0.01em; margin: 0 0 6px; }
.nw-pdp .nw-pdp__sku--under { display: block; margin: 4px 0 14px; margin-left: 0; font-size: 11.5px; color: var(--nw-muted, #55645A); }
.nw-pdp .nw-pdp__rating { margin-bottom: 4px; }

/* ---- 4. "Perché funziona" + "Adatto a": card carta con hairline ---- */
.nw-pdp .nw-pdp__meta { background: #FAF8F3; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-radius: 16px; padding: 20px 22px; margin-top: 26px; }
.nw-pdp .nw-pdp__meta .nw-pdp__why { margin: 0; padding-bottom: 18px; border-bottom: 1px solid var(--nw-line, rgba(12,78,43,.14)); }
.nw-pdp .nw-pdp__meta .nw-pdp__suited { padding-top: 18px; }
.nw-pdp .nw-pdp__why h3, .nw-pdp .nw-pdp__suited h3 { font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--nw-sage, #7E9E8D); margin: 0 0 10px; }
.nw-pdp .nw-pdp__why-p { color: var(--nw-ink, #1C2A20); font-size: 15px; line-height: 1.65; margin: 0; }
.nw-pdp .nw-pdp__chips span { background: #fff; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); padding: 9px 15px 9px 10px; min-height: 40px; font-size: 12px; font-weight: 700; letter-spacing: .02em; color: var(--nw-forest, #0C4E2B); gap: 8px; }
.nw-pdp .nw-pdp__chips span svg { width: 16px; height: 16px; padding: 4px; box-sizing: content-box; background: #EDF5EE; border-radius: 50%; }

/* ---- 5. Ingredienti: medaglioni riscalati + "Senza" a chip ---- */
.nw-pdp .nw-ingr-row { margin-top: 32px; gap: clamp(24px, 4vw, 52px); }
.nw-pdp .nw-ingr { flex: 0 1 240px; gap: 16px; }
.nw-pdp .nw-ingr__photo { width: clamp(132px, 14vw, 184px); border: 1px solid var(--nw-line, rgba(12,78,43,.14)); box-shadow: var(--nw-shadow-sm, 0 6px 18px rgba(12,78,43,.06)); }
.nw-pdp .nw-ingr__photo--icon { font-size: clamp(48px, 5vw, 72px); background: #EDF5EE; }
.nw-free { list-style: none; margin: 40px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.nw-free__lead { font: 700 11px/1 'Lato', sans-serif; text-transform: uppercase; letter-spacing: .14em; color: var(--nw-forest, #0C4E2B); margin-right: 4px; }
.nw-free__chip { font-size: 13px; color: var(--nw-ink, #1C2A20); background: #fff; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-radius: 999px; padding: 7px 14px; }
@media (max-width: 560px) {
  .nw-pdp .nw-ingr-row { flex-direction: column; align-items: stretch; gap: 18px; margin-top: 24px; }
  .nw-pdp .nw-ingr { flex: 1 1 auto; flex-direction: row; align-items: center; text-align: left; gap: 16px; }
  .nw-pdp .nw-ingr__photo { width: 84px; flex: 0 0 84px; }
  .nw-pdp .nw-ingr__photo--icon { font-size: 38px; }
  .nw-pdp .nw-ingr > div, .nw-pdp .nw-ingr__name, .nw-pdp .nw-ingr__desc { text-align: left; }
  .nw-pdp .nw-ingr__desc { max-width: none; font-size: 13.5px; }
  /* Titolo: su telefono clamp(28px) dominava troppo → più contenuto. */
  .nw-pdp .nw-pdp__title { font-size: 23px; line-height: 1.16; letter-spacing: -0.01em; }
  /* "Adatto a": chip + icone più compatte (occupavano troppo spazio su mobile). */
  .nw-pdp .nw-pdp__meta { padding: 16px 16px; margin-top: 20px; }
  .nw-pdp .nw-pdp__chips { gap: 7px; }
  .nw-pdp .nw-pdp__chips span { padding: 6px 11px 6px 9px; min-height: 30px; font-size: 11px; gap: 6px; }
  .nw-pdp .nw-pdp__chips span svg { width: 13px; height: 13px; }
}

/* ---- 6. Modo d'uso: numerazione 1·2·3 + ritmo ---- */
.nw-pdp .nw-pdp__howto { padding: 52px 0 54px; }
.nw-pdp .nw-pdp__howto .nw-sec__head { margin-bottom: 4px; }
.nw-pdp .nw-howto__grid { margin-top: 32px; align-items: start; }
.nw-pdp .nw-pdp__howto .nw-howto p { max-width: 26ch; margin-left: auto; margin-right: auto; }
.nw-pdp .nw-pdp__howto .nw-howto { counter-increment: nwstep; position: relative; }
.nw-pdp .nw-pdp__howto .nw-howto::before { content: counter(nwstep); position: absolute; top: 0; left: 50%; margin-left: 38px; width: 26px; height: 26px; border-radius: 50%; background: var(--nw-forest, #0C4E2B); color: #fff; font: 700 13px/26px 'Lato', sans-serif; text-align: center; z-index: 1; }

/* ---- 7. Consiglio del farmacista: white card autorevole con rail ---- */
.nw-pharma-tip { display: flex; gap: 18px; align-items: flex-start; background: #fff; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-left: 4px solid var(--nw-forest, #0C4E2B); border-radius: 16px; padding: 24px 26px; box-shadow: var(--nw-shadow-sm, 0 6px 20px -12px rgba(12,78,43,.25)); }
.nw-pharma-tip__ico { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--nw-forest, #0C4E2B); color: #fff; }
.nw-pharma-tip__ico svg, .nw-pharma-tip__ico .nw-svgico { width: 22px; height: 22px; color: #fff; }
.nw-pharma-tip__label { display: block; font-family: 'Lora', serif; font-weight: 700; font-size: 16px; color: var(--nw-forest, #0C4E2B); margin-bottom: 4px; }
.nw-pharma-tip__body p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--nw-ink, #1C2A20); }

/* ---- 8. Scheda tecnica: card bianca, etichetta sopra valore ---- */
.nw-pdp .nw-pdp__specs { grid-template-columns: repeat(2, 1fr); gap: 0; background: #fff; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-radius: 16px; box-shadow: var(--nw-shadow-sm, 0 4px 16px rgba(12,78,43,.07)); overflow: hidden; max-width: 820px; margin: 22px auto 0; }
.nw-pdp .nw-pdp__spec { display: block; padding: 16px 20px; border-bottom: 1px solid var(--nw-line, rgba(12,78,43,.14)); }
.nw-pdp .nw-pdp__spec dt { font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--nw-label, #456150); margin-bottom: 5px; }
.nw-pdp .nw-pdp__spec dd { font-family: 'Lora', serif; font-weight: 600; font-size: 16px; color: var(--nw-ink, #1C2A20); text-align: left; }
.nw-pdp .nw-pdp__spec:nth-child(odd) { border-right: 1px solid var(--nw-line, rgba(12,78,43,.14)); }
.nw-pdp .nw-pdp__spec:nth-last-child(-n+2) { border-bottom: 0; }
.nw-pdp .nw-pdp__specs-sec .nw-sec__title { font-size: 24px !important; margin: 0 0 4px; }
@media (max-width: 700px) {
  .nw-pdp .nw-pdp__specs { grid-template-columns: 1fr; }
  .nw-pdp .nw-pdp__spec:nth-child(odd) { border-right: 0; }
  .nw-pdp .nw-pdp__spec:nth-last-child(-n+2) { border-bottom: 1px solid var(--nw-line, rgba(12,78,43,.14)); }
  .nw-pdp .nw-pdp__spec:last-child { border-bottom: 0; }
}

/* ---- 9. Approfondimento: testo ancorato in alto, masse pareggiate ---- */
.nw-pdp .nwdeep__sec { align-items: flex-start; gap: 48px; margin: 0 0 72px; }
.nw-pdp .nwdeep__media { flex: 0 0 40%; }
.nw-pdp .nwdeep__media img { aspect-ratio: 4 / 3; max-height: 440px; border-radius: 16px; box-shadow: var(--nw-shadow, 0 10px 34px rgba(12,78,43,.09)); }
.nw-pdp .nwdeep__body { padding-top: 4px; max-width: 620px; }

/* ---- 10. Recensioni: summary a card menta, review con footer verificato ---- */
:root { --nw-gold: #C8952F; }
.nw-revsum { background: #EDF5EE; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-radius: 18px; padding: 26px; height: fit-content; }
.nw-revsum__score { font-family: 'Lora', serif; font-weight: 700; font-size: 52px; line-height: 1; letter-spacing: -2px; color: var(--nw-forest, #0C4E2B); }
.nw-revsum__stars { color: var(--nw-gold); font-size: 18px; margin-top: 8px; letter-spacing: 2px; }
.nw-half { background: linear-gradient(90deg, var(--nw-gold) 50%, #c3cfc4 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nw-revsum__meta { font-size: 13px; color: var(--nw-muted, #55645A); margin-top: 6px; }
.nw-revsum__bars { margin-top: 18px; display: flex; flex-direction: column; gap: 6px; }
.nw-revsum__row { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--nw-muted, #55645A); }
.nw-revsum__row .s { color: var(--nw-gold); }
.nw-revsum__n { width: 12px; }
.nw-revsum__c { width: 20px; text-align: right; }
.nw-revsum__track { flex: 1; height: 6px; background: #d3e2d6; border-radius: 3px; overflow: hidden; }
.nw-revsum__fill { height: 100%; background: var(--nw-forest, #0C4E2B); border-radius: 3px; }
.nw-revsum__cta { margin-top: 18px; width: 100%; text-align: center; }
.nw-pdp .nw-review { display: flex; flex-direction: column; min-height: 184px; border: 1px solid var(--nw-line, rgba(12,78,43,.14)); border-radius: 16px; padding: 20px; background: #fff; transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease; }
.nw-pdp .nw-review:hover { transform: translateY(-2px); border-color: var(--nw-sage, #7E9E8D); box-shadow: var(--nw-shadow-sm, 0 4px 16px rgba(12,78,43,.07)); }
.nw-pdp .nw-review p { flex: 1 1 auto; margin: 0; }
.nw-pdp .nw-review__head { display: grid; grid-template-columns: auto 1fr auto; column-gap: 12px; align-items: center; margin-bottom: 12px; }
.nw-pdp .nw-review__av { width: 40px; height: 40px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; color: var(--nw-forest, #0C4E2B); background: #EDF5EE; }
.nw-pdp .nw-review:nth-child(2) .nw-review__av { background: #FAF8F3; }
.nw-pdp .nw-review:nth-child(3) .nw-review__av { background: #e4efe6; }
.nw-pdp .nw-review__id { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.nw-pdp .nw-review__date { white-space: nowrap; color: var(--nw-muted, #55645A); font-size: 12px; }
.nw-pdp .nw-review__stars { color: var(--nw-gold); font-size: 13px; letter-spacing: 1px; }
.nw-pdp .nw-review__foot { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--nw-line, rgba(12,78,43,.14)); }
.nw-pdp .nw-review__verified { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--nw-forest, #0C4E2B); }

/* ---- 11. FAQ: stato aperto leggibile, toggle a pastiglia, Scrivici in coda ---- */
.nw-faqsec .nw-acc[open] { border-color: var(--nw-sage, #7E9E8D); box-shadow: 0 10px 28px -16px rgba(12,78,43,.22); }
.nw-faqsec .nw-acc[open] summary { padding-bottom: 13px; border-bottom: 1px solid rgba(12,78,43,.10); }
.nw-faqsec .nw-acc:hover { border-color: var(--nw-sage, #7E9E8D); }
.nw-faqsec .nw-acc__body { padding: 14px 22px 18px 64px; }
.nw-faqsec .nw-acc summary { min-height: 44px; align-items: center; gap: 14px; }
.nw-faqsec .nw-acc__plus { order: -1; margin: 0; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 999px; background: #EDF5EE; display: inline-flex; transition: background .18s ease, transform .18s ease; }
.nw-faqsec .nw-acc__plus::before, .nw-faqsec .nw-acc__plus::after { background: var(--nw-forest, #0C4E2B); }
.nw-faqsec .nw-acc__plus::before { width: 12px; height: 2px; }
.nw-faqsec .nw-acc__plus::after { width: 2px; height: 12px; transition: opacity .18s ease; }
.nw-faqsec .nw-acc[open] .nw-acc__plus { background: var(--nw-sage, #7E9E8D); transform: rotate(90deg); }
.nw-faqsec .nw-acc[open] .nw-acc__plus::before, .nw-faqsec .nw-acc[open] .nw-acc__plus::after { background: #fff; }
.nw-faqsec .nw-faqsec__contact { max-width: 820px; margin: 26px auto 0; padding-top: 22px; border-top: 1px solid var(--nw-line, rgba(12,78,43,.14)); }
@media (max-width: 767px) { .nw-faqsec .nw-acc__body { padding-left: 18px; } }

/* ---- 12. Blog + newsletter: ritmo e link testata ---- */
.nw-pdp .nw-blog { padding-top: 56px; padding-bottom: 40px; }
.nw-pdp .nw-news--compact { padding-top: 44px; padding-bottom: 56px; }
.nw-pdp .nw-blog .nw-sec__head { align-items: center; }
.nw-pdp .nw-blog .nw-sec__link { color: #0C4E2B !important; font-weight: 700; font-size: 15px; opacity: 1 !important; }
.nw-pdp .nw-blog .nw-sec__link:hover { text-decoration: underline; }
@media (max-width: 600px) { .nw-pdp .nw-blog { padding-bottom: 32px; } .nw-pdp .nw-news--compact { padding-top: 32px; } }

/* Recensioni: stelle sotto il nome (i nomi lunghi collidevano con le stelle a destra) */
.nw-pdp .nw-review__head { grid-template-columns: auto 1fr; grid-template-areas: "av id" "av stars"; row-gap: 2px; }
.nw-pdp .nw-review__av { grid-area: av; }
.nw-pdp .nw-review__id { grid-area: id; }
.nw-pdp .nw-review__stars { grid-area: stars; justify-self: start; }

/* Ingredienti mobile: foto a sinistra, nome+descrizione impilati a destra (non 3 colonne) */
@media (max-width: 560px) {
  .nw-pdp .nw-ingr { display: grid; grid-template-columns: 84px 1fr; column-gap: 16px; row-gap: 3px; align-items: center; }
  .nw-pdp .nw-ingr__photo { grid-row: 1 / 3; align-self: center; }
}

/* ============================================================
   AUDIT UX 2026-07-23 — fix trasversali
   ============================================================ */
/* Titolo articolo blog: il kit Elementor h1 (0,1,1) imponeva 60px, il clamp
   della classe non passava (stesso bug di .nw-phero__title). */
.nw-article__title { font-size: clamp(30px,4vw,48px) !important; }
@media (max-width:480px){ .nw-article__title { font-size: 27px !important; letter-spacing: -.5px; overflow-wrap: break-word; } }

/* Thank-you / conferma newsletter (pagine Elementor legacy): titoli 60px
   troncati su mobile → clamp scoped alle sole pagine interessate. */
@media (max-width:600px){
  body.page-id-10657 h1, body.page-id-2717 h1, body.page-id-2702 h1, body.page-id-2635 h1 {
    font-size: clamp(26px,9vw,36px) !important; overflow-wrap: break-word;
  }
}

/* Area riservata farmacisti (pagina Elementor legacy): su mobile i contenitori
   root hanno padding 0 e il testo tocca il bordo. */
@media (max-width:768px){
  body.page-id-30 [data-elementor-type] > .elementor-element { padding-inline: 20px; }
}

/* Trova farmacia: hero allineato alle altre testate (centrato). */
body.page-id-11236 h1.elementor-heading-title { text-align: center; }

/* Blocco "Dal Natur Blog" su Preferiti/Area cliente: testata centrata come
   le sezioni blog del resto del sito (variante --stack: link sotto il titolo). */
.nw-sec__head.nw-sec__head--stack { flex-direction: column; align-items: center !important; justify-content: center; text-align: center; gap: 12px; }
