:root{--nsf-accent:#efb44d;--nsf-text:#171717;--nsf-muted:#6b6b6b;--nsf-line:#e4e7e9}html.nsf-ajax-busy{overflow-anchor:none}.nsf-wrap{position:relative;color:var(--nsf-text);font-family:inherit}.nsf-wrap section{margin:0 0 58px}.nsf-title{font-family:Georgia,"Times New Roman",serif!important;font-size:29px!important;line-height:1.15!important;text-transform:uppercase;margin:0 0 28px!important;padding:0 0 19px;border-bottom:2px solid var(--nsf-line);position:relative}.nsf-title:after{content:"";position:absolute;left:0;bottom:-2px;width:125px;height:5px;background:var(--nsf-accent)}.nsf-categories{list-style:none;margin:0;padding:0}.nsf-categories .nsf-categories{display:none;padding-left:27px}.nsf-category.is-open>.nsf-categories{display:block}.nsf-category-row{min-height:74px;border-bottom:2px dashed var(--nsf-line);display:flex;align-items:center;gap:10px}.nsf-category-row>a{flex:1;color:var(--nsf-text);font-size:20px;font-weight:500;text-transform:uppercase;text-decoration:none}.nsf-category-row>a:hover,.nsf-category.is-current>.nsf-category-row>a{color:var(--nsf-accent)}.nsf-category-row small{color:var(--nsf-muted);font-size:18px}.nsf-category-toggle{width:38px;height:38px;border:0;background:transparent;cursor:pointer;position:relative}.nsf-category-toggle span:before,.nsf-category-toggle span:after{content:"";position:absolute;width:10px;height:2px;top:18px;background:#999}.nsf-category-toggle span:before{right:17px;transform:rotate(45deg)}.nsf-category-toggle span:after{right:10px;transform:rotate(-45deg)}.nsf-category.is-open>.nsf-category-row .nsf-category-toggle span:before{transform:rotate(-45deg)}.nsf-category.is-open>.nsf-category-row .nsf-category-toggle span:after{transform:rotate(45deg)}.nsf-check{display:flex;align-items:center;gap:24px;color:var(--nsf-muted);font-size:24px;cursor:pointer}.nsf-check input,.nsf-brand input{position:absolute;opacity:0}.nsf-check span{width:93px;height:43px;border:2px solid #ccc;position:relative}.nsf-check input:checked+span{border-color:var(--nsf-accent);background:var(--nsf-accent)}.nsf-check input:checked+span:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:25px}.nsf-price{height:34px;position:relative;margin:35px 6px 21px}.nsf-price-track{height:6px;position:absolute;left:0;right:0;top:14px;background:linear-gradient(to right,#d8d8d8 0 var(--from),var(--nsf-accent) var(--from) var(--to),#d8d8d8 var(--to) 100%)}.nsf-price input[type=range]{position:absolute;inset:0;width:100%;height:34px;margin:0;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none}.nsf-price input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:25px;background:var(--nsf-accent);border:0;pointer-events:auto;cursor:pointer}.nsf-price input::-moz-range-thumb{width:11px;height:25px;background:var(--nsf-accent);border:0;border-radius:0;pointer-events:auto;cursor:pointer}.nsf-price-label{font-size:24px;color:var(--nsf-muted)}.nsf-price-label strong{color:#111;font-weight:500}.nsf-price-label .woocommerce-Price-currencySymbol{margin-right:2px}.nsf-brands{display:flex;flex-wrap:wrap;gap:14px}.nsf-brand{cursor:pointer}.nsf-brand span{width:150px;min-height:112px;padding:10px;border:2px solid #d2d2d2;display:flex;align-items:center;justify-content:center;text-align:center}.nsf-brand img{display:block;max-width:100%;max-height:100px;width:auto;height:auto}.nsf-brand input:checked+span{border-color:var(--nsf-accent);box-shadow:inset 0 0 0 2px var(--nsf-accent)}.nsf-submit,.nsf-reset{font-size:14px;text-transform:uppercase;letter-spacing:.08em}.nsf-submit{border:0;background:var(--nsf-accent);color:#fff;padding:13px 20px;cursor:pointer}.nsf-reset{margin-left:16px;color:var(--nsf-muted)}.nsf-loading{position:absolute;inset:0;background:rgba(255,255,255,.72);z-index:4;padding-top:100px;text-align:center;font-weight:600}.nsf-mobile-open,.nsf-mobile-close{display:none}.nsf-is-loading{opacity:.45;pointer-events:none}@media(max-width:1024px){.nsf-mobile-open{display:block;width:100%;border:0;background:var(--nsf-accent);color:#fff;padding:13px 18px;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.nsf-mobile-open:hover,.nsf-mobile-open:focus,.nsf-mobile-open:focus-visible,.nsf-mobile-open:active{background:#000!important;background-color:#000!important;color:#fff!important;border-color:#000!important;box-shadow:none!important}.nsf-wrap{position:fixed;top:0;bottom:0;left:0;width:min(88vw,390px);padding:72px 25px 30px;background:#fff;z-index:99999;overflow:auto;transform:translateX(-105%);transition:transform .25s}.nsf-wrap.is-open{transform:none}.nsf-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99998}.nsf-mobile-close{display:block;position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:36px;line-height:1;z-index:2}.nsf-wrap .nsf-active{margin-top:8px}.nsf-wrap .nsf-active-head{padding-right:48px;align-items:flex-start!important;gap:16px 12px!important}.nsf-wrap .nsf-active-clear{margin-top:4px!important}.nsf-title{font-size:24px!important}.nsf-category-row>a{font-size:16px}.nsf-check,.nsf-price-label{font-size:18px}}

/* Personalizzazione Naturaalchemica */
.nsf-title {
    padding: 0 0 19px;
    border-bottom: 2px solid var(--nsf-line);
    position: relative;
    font-family: "Mulish", Sans-serif !important;
    font-size: 15px !important;
    text-transform: uppercase;
    text-align: space-between !important;
    justify-content: space-between !important;
    margin: 15px 0 0 0 !important;
}

button.nsf-category-toggle {
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
    background-color: #fff;
    border-radius: 50%;
    overflow: hidden;
    background-color: #ffffff;
}

/* Regolazioni sidebar categorie */
.nsf-category-row {
    min-height: 40px;
    border-bottom: 2px dashed var(--nsf-line);
    display: flex;
    align-items: center;
    gap: 10px;
}

.nsf-title {
    padding: 0 0 19px;
    border-bottom: 2px solid var(--nsf-line);
    position: relative;
    font-family: "Mulish", Sans-serif !important;
    font-size: 15px !important;
    text-transform: uppercase;
    text-align: space-between !important;
    justify-content: space-between !important;
    margin: 15px 0 15px 0 !important;
}

.nsf-check span {
    width: 35px;
    height: 35px;
    border: 2px solid #ccc;
    position: relative;
}

button.nsf-category-toggle:hover {
    background: none;
}

.nsf-category-toggle span:after {
    right: 13px;
    transform: rotate(-45deg);
}

.nsf-category-toggle span:before,
.nsf-category-toggle span:after {
    content: "";
    position: absolute;
    width: 7px;
    height: 2px;
    top: 16px;
    background: #171717;
}

.nsf-price-label {
    font-size: 16px;
    color: var(--nsf-muted);
}

/* I conteggi rimangono nell'HTML ma non vengono visualizzati. */
.nsf-category-row small {
    display: none;
}

/* Reset mirato: impedisce al Kit Elementor di sovrascrivere i controlli. */
.elementor .nsf-wrap button.nsf-category-toggle,
body .nsf-wrap button.nsf-category-toggle {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: #171717 !important;
    font: inherit !important;
    line-height: 1 !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
}

.elementor .nsf-wrap button.nsf-category-toggle:hover,
.elementor .nsf-wrap button.nsf-category-toggle:focus,
body .nsf-wrap button.nsf-category-toggle:hover,
body .nsf-wrap button.nsf-category-toggle:focus {
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.elementor .nsf-wrap .nsf-title,
body .nsf-wrap .nsf-title {
    padding: 0 0 19px !important;
    border: 0 !important;
    border-bottom: 2px solid var(--nsf-line) !important;
    position: relative !important;
    font-family: "Mulish", Sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    margin: 15px 0 !important;
}

.elementor .nsf-wrap .nsf-category-row,
body .nsf-wrap .nsf-category-row {
    min-height: 40px !important;
    border-bottom: 2px dashed var(--nsf-line) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.elementor .nsf-wrap .nsf-check span,
body .nsf-wrap .nsf-check span {
    width: 35px !important;
    min-width: 35px !important;
    height: 35px !important;
    padding: 0 !important;
    border: 2px solid #ccc !important;
    border-radius: 0 !important;
    position: relative !important;
}

.elementor .nsf-wrap .nsf-price-label,
body .nsf-wrap .nsf-price-label {
    font-size: 16px !important;
    color: var(--nsf-muted) !important;
}

.elementor .nsf-wrap .nsf-category-row small,
body .nsf-wrap .nsf-category-row small {
    display: none !important;
}

.elementor .nsf-wrap .nsf-category-row > a,
body .nsf-wrap .nsf-category-row > a {
    flex: 1 !important;
    color: var(--nsf-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.elementor .nsf-wrap .nsf-check,
body .nsf-wrap .nsf-check {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    color: #171717 !important;
    font-size: 16px !important;
    cursor: pointer !important;
}

/* Layout brand: due colonne, logo senza bordo o altezza minima. */
.elementor .nsf-wrap .nsf-brand,
body .nsf-wrap .nsf-brand {
    cursor: pointer !important;
    flex: 0 0 42% !important;
    display: flex !important;
}

.elementor .nsf-wrap .nsf-brand > span,
body .nsf-wrap .nsf-brand > span {
    width: 100% !important;
    min-height: 0 !important;
    padding: 10px !important;
    border: 1px solid #ccc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.nsf-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nsf-tag {
    cursor: pointer;
}

.nsf-tag input {
    position: absolute;
    opacity: 0;
}

.elementor .nsf-wrap .nsf-tag > span,
body .nsf-wrap .nsf-tag > span {
    display: inline-flex !important;
    align-items: center !important;
    padding: 7px 10px !important;
    border: 1px solid #ccc !important;
    color: #171717 !important;
    background: #fff !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.elementor .nsf-wrap .nsf-tag input:checked + span,
body .nsf-wrap .nsf-tag input:checked + span {
    border-color: var(--nsf-accent) !important;
    background: var(--nsf-accent) !important;
    color: #fff !important;
}

.elementor .nsf-wrap .nsf-category-folder,
body .nsf-wrap .nsf-category-folder {
    flex: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--nsf-text) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

.elementor .nsf-wrap .nsf-category-folder:hover,
.elementor .nsf-wrap .nsf-category-folder:focus,
body .nsf-wrap .nsf-category-folder:hover,
body .nsf-wrap .nsf-category-folder:focus {
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    color: var(--nsf-accent) !important;
}

.elementor .nsf-wrap .nsf-category-all > .nsf-category-row > a,
body .nsf-wrap .nsf-category-all > .nsf-category-row > a {
    font-weight: 400 !important;
}

.nsf-active {
    margin: 8px 0 22px;
}

.elementor .nsf-wrap .nsf-active-head,
body .nsf-wrap .nsf-active-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 10px !important;
}

.elementor .nsf-wrap .nsf-active-title,
body .nsf-wrap .nsf-active-title {
    margin: 0 !important;
    font-family: "Mulish", Sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: var(--nsf-text) !important;
}

.elementor .nsf-wrap .nsf-active-clear,
body .nsf-wrap .nsf-active-clear {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--nsf-muted) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

.elementor .nsf-wrap .nsf-active-list,
body .nsf-wrap .nsf-active-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.elementor .nsf-wrap .nsf-chip,
body .nsf-wrap .nsf-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    border: 1px solid var(--nsf-accent) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #171717 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.elementor .nsf-wrap .nsf-chip:hover,
.elementor .nsf-wrap .nsf-chip:focus,
body .nsf-wrap .nsf-chip:hover,
body .nsf-wrap .nsf-chip:focus {
    background: var(--nsf-accent) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.elementor .nsf-wrap .nsf-chip-x,
body .nsf-wrap .nsf-chip-x {
    font-size: 16px !important;
    line-height: 1 !important;
}

/* First-level labels wrap on tablet instead of being clipped. */
.elementor-widget:has(.nsf-wrap),
.elementor-widget-container:has(.nsf-wrap),
.elementor-column:has(.nsf-wrap) {
    overflow: visible !important;
}

@media (min-width: 1025px) {
    .elementor .nsf-wrap,
    body .nsf-wrap {
        overflow: visible !important;
    }
}

/* Beat Elementor kit button hover (often red) on the mobile/tablet filter CTA. */
button.nsf-mobile-open:hover,
button.nsf-mobile-open:focus,
button.nsf-mobile-open:focus-visible,
button.nsf-mobile-open:active,
.elementor button.nsf-mobile-open:hover,
.elementor button.nsf-mobile-open:focus,
.elementor button.nsf-mobile-open:focus-visible,
.elementor button.nsf-mobile-open:active,
body .nsf-mobile-open:hover,
body .nsf-mobile-open:focus,
body .nsf-mobile-open:focus-visible,
body .nsf-mobile-open:active {
    background: #000 !important;
    background-color: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
    box-shadow: none !important;
}

.elementor .nsf-wrap .nsf-category-row,
body .nsf-wrap .nsf-category-row {
    align-items: center !important;
    height: auto !important;
    overflow: visible !important;
}

.elementor .nsf-wrap .nsf-category-folder,
.elementor .nsf-wrap .nsf-category-row > a,
body .nsf-wrap .nsf-category-folder,
body .nsf-wrap .nsf-category-row > a {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    height: auto !important;
    max-width: 100% !important;
    line-height: 1.25 !important;
}

.elementor .nsf-wrap button.nsf-category-toggle,
body .nsf-wrap button.nsf-category-toggle {
    flex: 0 0 38px !important;
}
