/* CSS FRAMEWORK
versione 5.3.0 by Newwave srl - http://www.newwwave-media.it/

-------------------------------------------------------------
-------------------------------------------------------------
	background-image: url(../img/xxx.png);
	_background-image: url(../common/img/transparent.gif);
	_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="common/img/xxx.png", sizingMethod="crop");
	background-repeat: no-repeat;
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section, menu,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
article, aside, figure, footer, header,
hgroup, nav, section { display:block; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }

pre {
padding: 15px;
white-space: pre; /* CSS2 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
word-wrap: break-word; /* IE */
}
/* align checkboxes, radios, text inputs with their label */
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { width: auto !important; }
.ie6 input { vertical-align: text-bottom; }
/* hand cursor on clickable input elements */
label, input[type=button], input[type=submit], button { cursor: pointer; }

:focus {
outline: 0;
}
/* bicubic resizing for non-native sized IMG:*/
.ie7 img { -ms-interpolation-mode: bicubic; }
.clearer {
     visibility: hidden;
     display: block;
     font-size: 0;
     clear: both;
     height: 0;
     }

/* Heading kerning pairs and ligatures */
h1, h2, h3 { text-rendering: optimizeLegibility; }

/* END RESET CSS */

#infocontent {
    width: 100px;
    height: 100px;
    position: absolute;
    top: -900px;
    left: -900px;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
    font-size: 10px;
}

#infocontent ul li {
    list-style-type: none;
}

#infocontent h3 a,
#infocontent ul li a {
    font-size: 10px;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
}



/* -------- STILI PROGETTO ------- */
:root {
    
    --main: #A49886;
    --main-dark: #453d30;
    --black: #000000;
    --white: #FFFFFF;
    --sand: #FEF7EC;
    --gray: #F2E9DD;
    
    --font-size-text: 16px;
    --font-size-title: 42px;
    
    --padd-y: 60px;
    --padd-y-2: calc(var(--padd-y) * 2);
    
    --transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
    scroll-behavior: auto;

    /* Type scale */
    --fs-13:  0.8125rem;
    --fs-15:  clamp(0.8125rem, 0.1042vw + 0.8125rem,     0.9375rem);  /* 13→15px */
    --fs-16:  1rem;
    --fs-18:  clamp(1rem,      0.5208vw + 0.5rem,      1.125rem);   /* 16→18px */
    --fs-20:  clamp(1rem,      0.625vw  + 0.5rem,      1.25rem);    /* 16→20px */
    --fs-24:  clamp(1rem,      0.8333vw + 0.5rem,      1.5rem);     /* 16→24px */
    --fs-32:  clamp(1.25rem,   0.8333vw + 1rem,          2rem);       /* 20→32px */
    --fs-42:  clamp(1.5rem,    1.3542vw + 1rem,        2.625rem);   /* 24→42px */
    --fs-120: clamp(3rem,      4.6875vw + 1.875rem,    7.5rem);     /* 48→120px */

    /* Gutter */
    --gutter-off:   max(2.5rem, 7.2917vw);    /* 140px @ 1920px → 70px per lato via BS calc(x*.5) */
    --gutter-half:  calc(var(--gutter-off) / 2);
    --gutter-in:    max(0.9375rem, 0.8125vw); /* gap colonne Bootstrap */
}

/* ── Layout: container-fluid + gutter custom ─────────────────────────────── */

.container-fluid {
    --bs-gutter-x: var(--gutter-off);
}

.container-fluid .row {
    --bs-gutter-x: var(--gutter-in);
}

::selection {
    background: #333;
    color: #fff;
}

::-moz-selection {
    background: #333;
    color: #fff;
}

/* ── Accessibility — EAA / WCAG 2.4.7 ───────────────────────────────────── */

/* Rimuove outline al click/tap, preserva per tastiera */
a:focus:not(:focus-visible) { outline: none; }

/* Focus ring globale — doppio anello, leggibile su qualsiasi sfondo */
:focus-visible {
    outline: 2px solid var(--white);
    outline-offset: 3px;
    box-shadow: 0 0 0 4px var(--main);
}

/* visually-hidden-focusable — Bootstrap purgato, ridefinito qui */
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Skip link */
.skip-link {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 99999;
    padding: 0.5rem 1.25rem;
    background: var(--main-dark);
    color: var(--white);
    font-size: var(--fs-13);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid var(--white);
}

#loader {
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10000;
    color: var(--black);
    background-color: var(--sand);

    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    
    transform-origin: bottom center;
    transform: scaleY(1);

    transition: transform .6s var(--transition-timing);
    -moz-transition: transform .6s var(--transition-timing);
    -webkit-transition: transform .6s var(--transition-timing);
    -o-transition: transform .6s var(--transition-timing);
}

#loader.nascosto {
    transform: scaleY(0);
    pointer-events: none;
    user-select: none;
}

#loader svg {
    width: max(100px, 20vw);
    height: auto;
    fill: currentColor;
    display: block;
    opacity: 1;
    transition: opacity .3s var(--transition-timing);
}

#loader.nascosto svg {
    opacity: 0;
}

@font-face {
    font-family: 'Frank Ruhl Libre';
    src: url('../fonts/FrankRuhlLibre-Bold.woff2') format('woff2'),
        url('../fonts/FrankRuhlLibre-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Frank Ruhl Libre';
    src: url('../fonts/FrankRuhlLibre-Regular.woff2') format('woff2'),
        url('../fonts/FrankRuhlLibre-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body {
	font-family: "Nunito Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
	font-weight: 400;
    color: var(--black);
    background-color: var(--sand);

    -webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.noscroll,
body.drawer-in,
#smooth-wrapper {
    overflow: hidden;
}

:root {
    --font-family-serif: 'Frank Ruhl Libre', serif;
}

.post-edit-link,
.post-edit-link:hover,
.post-edit-link:active {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 200;
    color: #fff !important;
    width: auto;
    height: auto;
    text-align: center;
    display: inline-flex;   
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    border-radius: 2px;
    padding: 17px 32px;
    background-color: var(--black);
    box-shadow: 0 0 16px rgba(0,0,0,.2);
}

a, a:hover, a:focus, a:active {
    color: inherit;
    text-decoration: none;
    outline: 0;
}

img:not([src]) {
   visibility: hidden; /* nascondo bordo su img senza 'src' */
}

.figure,
.img-full {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
}

.figure-bg,
.figure-bg::after,
.img-cover,
.img-contain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.img-contain {
    object-fit: contain;
}

.fig-llax {
    overflow: hidden;
}

.fig-llax img {
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
}

.btn,
.button,
.thwmscf-buttons .button-prev,
.thwmscf-buttons .button-next  {
    --bs-btn-padding-x: 1.6em;
    --bs-btn-padding-y: 0.7em;
    --bs-btn-font-size: 14px;
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: var(--black);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 1px;
    --bs-btn-border-color: var(--black);
    --bs-btn-border-radius: 0px;
    
    /* HOVER */
    --bs-btn-hover-color: var(--white);
    --bs-btn-hover-bg: var(--main);
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
    
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    position: relative;
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: 'Nunito Sans', sans-serif;
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    
    width: fit-content;
    min-width: 160px;
    text-transform: uppercase;
}

.btn-light {
    --bs-btn-color: var(--white);
    --bs-btn-border-color: var(--white);
    
    /* HOVER */
    --bs-btn-hover-color: var(--black);
    --bs-btn-hover-bg: var(--white);
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
}

.btn:hover,
.button:hover,
.thwmscf-buttons .button-prev:hover,
.thwmscf-buttons .button-next:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    text-decoration: none !important;
}

/*.single_add_to_cart_button,*/
/*.checkout-button,*/
/*.button[name="woocommerce_checkout_place_order"],*/
.woocommerce-Button:not(.woocommerce-form-register__submit) {
    /*--bs-btn-color: var(--white);
    --bs-btn-bg: var(--main);
    --bs-btn-border-color: var(--main);*/
    text-decoration: none !important;
}

.container {
    position: relative;
}

@keyframes bounceX {
  0% { 
	-webkit-transform: translateX(0);
	transform: translateX(0); 
  }
  50% { 
    -webkit-transform: translateX(-5%);
	transform: translateX(-5%);  
  }
  100% { 
    -webkit-transform: translateX(0);
	transform: translateX(0);  
  }
}


/* -------- HEADER ------- */
:root {
    --header-main-h: 60px;
    --header-top-h: 30px;
    --header-all-h: calc(var(--header-main-h) + var(--header-top-h));

    --drawer-border: 1px solid var(--sand);
}

#header {
    --icon-size: 20px;
    --header-color: var(--black);
    position: fixed;
    z-index: 1001;
    top: 0;
    left: 0;
    width: 100%;
    color: var(--header-color);
    will-change: transform;
    transition: transform .3s var(--transition-timing), color .3s var(--transition-timing), background .3s var(--transition-timing);
}

#header.header-white {
    --header-color: var(--white);
}

.drawer-in #header.header-white {
    --header-color: var(--black);
}

#header.headroom--unpinned {
    transform: translateY(calc(-1 * var(--header-all-h)));
}

#header.headroom--pinned:not(.headroom--top) {
    --header-color: var(--black);
    transform: translateY(calc(-1 * var(--header-top-h)));
    background-color: rgba(254, 247, 236, 0.98);
    border-bottom: 1px solid rgba(136, 136, 136, 0.1);
}

.drawer-in #header {
    background-color: var(--sand);
}

#header_top {
    height: var(--header-top-h);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    text-align: center;
    color: var(--black);
    font-size: 14px;
    font-weight: 600;
    line-height: 100%;
    background-color: var(--sand);
    border-bottom: 1px solid rgba(136, 136, 136, 0.1);
}

#header_top .swiper,
#header_top .swiper-slide {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}

#header_main {
    width: 100%;
    height: var(--header-main-h);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#header_main #brand {
    display: flex;
    width: auto;
    height: calc(var(--header-main-h) - 36px);
}

#header_main #brand svg {
    width: 100%;
    height: auto;
    fill: currentColor;
}

#hamburger {
    position: relative;
    display: inline-flex;
    align-items: center;
    column-gap: 10px;
}

#hamburger .hamburger-icon {
    position: relative;
    width: 36px;
    height: 36px;
    display: block;
    flex: 0 0 36px;
}

#hamburger .hamburger-icon span {
    position: absolute;
    width: 100%;
    height: 2px;
    display: block;
    border-radius: 2px;
    background-color: var(--header-color);
    transition: all .3s var(--transition-timing);
    transform: rotate(0);
}

#hamburger .hamburger-icon span:nth-child(1) {
    top: 38%;
}

#hamburger .hamburger-icon span:nth-child(2) {
    width: 70%;
    top: 60%;
}

.drawer-in #hamburger .hamburger-icon span:nth-child(1),
.drawer-in #hamburger .hamburger-icon span:nth-child(2) {
    top: 50%;
    width: 36px;
    transform: rotate(45deg);
}

.drawer-in #hamburger .hamburger-icon span:nth-child(2) {
    transform: rotate(-45deg);
}

.isNotTouchDevice #hamburger:hover .hamburger-icon span:nth-child(1) {
    width: 0;
}

.isNotTouchDevice #hamburger:hover .hamburger-icon span:nth-child(2) {
    width: 110%;
    top: 50%;
    transform: translateX(-5%);
}

#hamburger .hamburger-label {
    display: none;
    font-size: 15px;
    font-weight: 600;
    color: var(--header-color);
    line-height: 1;
}

@media (min-width: 992px) {
    #hamburger .hamburger-label-open { display: inline; }
    .drawer-in #hamburger .hamburger-label-open { display: none; }
    .drawer-in #hamburger .hamburger-label-close { display: inline; }
}

#header_main #cart_link,
#header_main #account_link {
    position: relative;
    width: var(--icon-size);
    height: var(--icon-size);
    display: block;
    margin-left: auto;
    color: var(--header-color);
}

#header_main #cart_link svg,
#header_main #account_link svg {
    width: 100%;
    height: auto;
    display: block;
}

#header_main #cart_link .cart-contents-count {
    position: absolute;
    top: -5px;
    right: -7px;
    font-size: 10px;
    display: inline-block;
}

#header_plh {
    height: var(--header-all-h);
    display: block;
}

.dropdown-lang,
#dropdownLang {
    font-size: 16px;
    font-weight: 600;
    line-height: 100%;
    text-transform: uppercase;
}

#dropdownLang {
    color: var(--header-color);
    border: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    column-gap: 8px;
    background-color: transparent;
}

#dropdownLang::after {
    display: none;
}

.dropdown-lang .dropdown-menu {
    --bs-dropdown-min-width: 0px;
    --bs-dropdown-font-size: 14px;
    --bs-dropdown-border-radius: 0px;
    --bs-dropdown-color: #333;
    --bs-dropdown-bg: var(--sand);
    --bs-dropdown-border-color: #e5ded2;
    --bs-dropdown-link-active-color: var(--black);
    --bs-dropdown-link-active-bg: transparent;
    --bs-dropdown-link-hover-bg: transparent;
}

/* -------- DRAWER ------- */
#drawer {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    color: var(--black);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding-top: var(--header-all-h);
    background-color: var(--sand);
    transition: all .6s var(--transition-timing) .15s;
    pointer-events: none;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
    font-family: var(--font-family-serif);
}

.drawer-in #drawer {
    pointer-events: all;
    clip-path: inset(0%);
    transition-delay: 0s;
}

#drawer_content {
    flex: 1 0 auto;
    opacity: 0;
    padding: 30px 0 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: opacity .6s var(--transition-timing);
}

.drawer-in #drawer_content {
    opacity: 1;
    transition-delay: .3s;
}

/* Grid 4 col desktop, stack mobile */
.drawer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 992px) {
    .drawer-grid {
        grid-template-columns: 3fr 2.5fr 2.5fr 4fr;
        column-gap: 48px;
        row-gap: 24px;
        align-items: start;
    }
}

/* COL 1 — menu grande serif */
.drawer-main-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: var(--font-family-serif);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    font-size: var(--fs-42);
}

.drawer-main-menu li {
    display: block;
}

.drawer-main-menu li + li {
    margin-top: 2px;
}

.drawer-main-menu li.separator-above {
    position: relative;
    padding-top: 16px;
    margin-top: 16px;
}

.drawer-main-menu li.separator-above::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 83%;
    height: 1px;
    background: rgba(0, 0, 0, 0.18);
}

.drawer-main-menu a {
    display: inline-block;
    color: inherit;
    transition: color .3s var(--transition-timing);
}

.drawer-main-menu a:hover {
    color: var(--main);
}

/* COL 2 — sub-list prodotti per categoria (desktop) */
@media (min-width: 992px) {
    .drawer-col-subs,
    .drawer-col-explore {
        padding-top: 10px;
    }
}

.drawer-col-subs .drawer-sub + .drawer-sub {
    margin-top: 32px;
}

.drawer-sub-label {
    font-family: 'Nunito Sans', sans-serif;
    font-size: var(--fs-16);
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--main);
    margin: 0 0 10px;
}

.drawer-sub-menu,
.drawer-explore-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: 'Nunito Sans', sans-serif;
    font-size: var(--fs-20);
    line-height: 1.8;
    font-weight: 400;
}

.drawer-sub-menu li,
.drawer-explore-menu li {
    padding: 1px 0;
}

.drawer-sub-menu li a,
.drawer-explore-menu li a {
    position: relative;
    display: inline-block;
    color: inherit;
}

.drawer-sub-menu li a::after,
.drawer-explore-menu li a::after {
    content: "";
    position: absolute;
    bottom: 0.2em;
    right: 0;
    display: block;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: all .3s var(--transition-timing);
}

.drawer-sub-menu li a:hover::after,
.drawer-explore-menu li a:hover::after {
    width: 100%;
    left: 0;
    right: unset;
}

/* COL 3 — Esplora */
.drawer-col-explore {
    margin-top: 24px;
}

@media (min-width: 992px) {
    .drawer-col-explore { margin-top: 0; }
}

/* COL 4 — lanci foto desktop */
.drawer-col-lanci {
    display: none;
}

@media (min-width: 992px) {
    .drawer-col-lanci {
        display: flex;
        flex-direction: column;
        gap: 22px;
    }
}

.drawer-lancio {
    display: block;
    color: inherit;
}

.drawer-lancio-figure {
    position: relative;
    margin: 0;
    width: 100%;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background-color: var(--main);
}

.drawer-lancio-figure img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s var(--transition-timing);
}

.drawer-lancio:hover .drawer-lancio-figure img {
    transform: scale(1.03);
}

.drawer-lancio-caption {
    margin-top: 10px;
    font-family: 'Frank Ruhl Libre', serif;
    font-style: normal;
    font-weight: 400;
    font-size: var(--fs-24);
    line-height: 1.5;
    color: rgba(0, 0, 0, 0.75);
}

/* Mobile root list: voci main con freccia, voci Esplora compatte */
@media (max-width: 991.98px) {
    .drawer-main-menu {
        font-size: clamp(24px, 6vw, 32px);
    }

    .drawer-main-menu li {
        border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    }

    .drawer-main-menu li + li {
        margin-top: 0;
    }

    .drawer-main-menu li.separator-above {
        border-top: none;
        margin-top: 0;
        padding-top: 0;
    }

    .drawer-main-menu li.separator-above::before {
        display: none;
    }

    .drawer-main-menu a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 16px 0;
        width: 100%;
    }

    /* Freccia su voci che aprono pannello */
    .drawer-main-menu .has-panel > a::after {
        content: "";
        width: 8px;
        height: 8px;
        border-top: 1.5px solid currentColor;
        border-right: 1.5px solid currentColor;
        transform: rotate(45deg);
        flex-shrink: 0;
    }

    .drawer-col-explore {
        margin-top: 28px;
    }

    .drawer-explore-menu {
        font-size: 17px;
    }

    .drawer-explore-menu li {
        padding: 8px 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }
}

/* Pannelli mobile slide-in categorie */
.drawer-mobile-panels {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
}

.drawer-mobile-panel {
    position: absolute;
    inset: 0;
    top: var(--header-all-h, 0);
    background-color: var(--sand);
    padding: 24px max(24px, 5vw) 120px;
    transform: translateX(100%);
    transition: transform .35s var(--transition-timing);
    overflow-y: auto;
    pointer-events: none;
    visibility: hidden;
}

.drawer-mobile-panel.is-open {
    transform: translateX(0);
    pointer-events: all;
    visibility: visible;
}

.drawer-panel-back {
    display: inline-flex;
    align-items: center;
    column-gap: 8px;
    background: transparent;
    border: 0;
    padding: 8px 0 18px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.6);
    cursor: pointer;
}

.drawer-panel-back svg {
    display: block;
}

.drawer-mobile-sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: var(--font-family-serif);
    font-size: clamp(22px, 5.5vw, 28px);
    line-height: 1.2;
}

.drawer-mobile-sub-menu li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.drawer-mobile-sub-menu li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    color: inherit;
}

.drawer-mobile-sub-menu li a::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
    flex-shrink: 0;
}

/* Footer band 100% width — warm taupe (Figma) */
.drawer-footer {
    flex: 0 0 auto;
    background-color: #9c9082;
    color: #fff;
    padding: 18px 0;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 14px;
}

/* Cursor custom (.follower) coperto da drawer aperto */
.drawer-in .cursor,
.drawer-in .follower {
    display: none !important;
}

.drawer-footer-row {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (min-width: 992px) {
    .drawer-footer-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
    }
}

.drawer-footer-contacts {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 15px;
    line-height: 1.45;
}

@media (min-width: 992px) {
    .drawer-footer-contacts {
        flex-direction: row;
        column-gap: 48px;
    }
}

.drawer-footer-contacts small {
    color: rgba(255, 255, 255, 0.62);
    font-size: inherit;
    margin-right: 4px;
}

.drawer-footer-side {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

@media (min-width: 992px) {
    .drawer-footer-side {
        justify-content: flex-end;
        gap: 24px;
    }
}

.drawer-footer .socials {
    --drawer-border: none;
}

.drawer-footer .social-link {
    color: var(--white, #fff);
}

/* Lang pill mobile (resta nel footer dark) */
.drawer-lang-pill {
    list-style: none;
    display: inline-flex;
    padding: 4px;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.drawer-lang-pill .lang-link {
    --link-size: 36px;
    width: var(--link-size);
    height: var(--link-size);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.85);
    border-radius: var(--link-size);
    overflow: hidden;
    text-decoration: none;
}

.drawer-lang-pill .lang-link.active {
    color: var(--main-dark, #453D30);
    background-color: var(--white, #fff);
}

.socials {
    display: inline-flex;
}

.socials ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    /*column-gap: 12px;
    row-gap: 12px;*/
}

.social-link {
    --icon-size: 36px;
    width: var(--icon-size);
    height: var(--icon-size);
    /*border-radius: 50%;
    border: var(--drawer-border);*/
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    overflow: hidden;
}

.social-link svg {
    width: 50%;
    height: auto;
    display: block;
    fill: currentColor;
}

.social-link:hover svg {
    opacity: 0.8;
}

/* -------- FOOTER ------- */
#footer {
    --drawer-border: 1px solid var(--white);
    color: var(--white);
    font-family: var(--font-family-serif);
    background-color: var(--main);
}

#footer_main {
    font-size: var(--font-size-text);
    line-height: 150%;
    padding: 70px 0;
    border-bottom: 1px solid #817769;
}

#footer_main .footer-nav {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    font-weight: 300;
    line-height: 120%;
    letter-spacing: 0.02em;
}

#footer_main #footer_1 .footer-nav {
    font-weight: 800;
}

#footer_main .footer-nav .newsletter {
    margin-top: 14px;
    text-decoration: underline;
}

#footer_brand {
    width: 100%;
    max-width: 180px;
    height: auto;
    fill: var(--white);
    display: block;
}

#footer_copyright {
    font-size: 13px;
    padding: 18px 0;
    color: currentColor;
}

#footer_socials {
    padding: 40px 0;
    background-color: #817769;
}

#footer_nwsl {}

#footer_nwsl .gform_wrapper.gravity-theme .gform_body {
    padding-bottom: 12px;
    border-bottom: 1px solid var(--white);
}

#footer_nwsl .gform_wrapper.gravity-theme .gform_required_legend,
#footer_nwsl .gform_wrapper.gravity-theme .gfield_required {
    display: none;
}

#footer_nwsl .gform_wrapper.gravity-theme .gfield.gfield--width-five-sixths {
    -ms-grid-column-span: 10;
    grid-column: span 10;
}

#footer_nwsl .gform_wrapper.gravity-theme .gfield.gfield--width-one-sixth {
    -ms-grid-column-span: 2;
    grid-column: span 2;
}

#footer_nwsl .gform_wrapper.gravity-theme .gfield_label {
    font-weight: 700;
}

#footer_nwsl .gform_wrapper.gravity-theme input[type=text] {
    appearance: none;
    border: 0;
    padding: 0;
    color: var(--white);
    height: 32px;
    background-color: transparent;
}

#footer_nwsl ::-webkit-input-placeholder {
    color: var(--white);
    opacity: 1;
}

#footer_nwsl ::placeholder {
    color: var(--white);
    opacity: 1;
}

#footer_nwsl .gform_wrapper.gravity-theme input[type=submit] {
    appearance: none;
    border: 0;
    padding: 0;
    font-size: 0;
    border-radius: 0;
    width: 100%;
    height: 32px;
    background: no-repeat right center / contain;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='11' height='19' fill='none' viewBox='0 0 11 19'%3e%3cpath stroke='%23ffffff' d='m1 1 9 8.5L1 18' /%3e%3c/svg%3e")
}

#footer_nwsl .gform_wrapper.gravity-theme .gform_footer {
    display: none;
}

#footer_logos {
    color: var(--black);
    font-size: 12px;
    line-height: 120%;
    padding-top: 30px;
    padding-bottom: calc(30px + env(safe-area-inset-bottom));
    background-color: var(--sand);
    overflow: hidden;
}

#footer_logos .figure {
    height: 50px;
    object-fit: cover;
    mix-blend-mode: multiply;
    pointer-events: none;
    user-select: none;
}


/* -------- PAGE ------- */
.title {
    position: relative;
    font-size: var(--font-size-title);
    font-weight: 400;
    line-height: 110%;
    font-family: var(--font-family-serif);
}

.title-sm {
    font-size: calc(var(--font-size-title) * 0.62);
}

.title-md {
    font-size: calc(var(--font-size-title) * 0.78);
}

.title strong {
    color: var(--main);
    font-weight: 400;
    /*text-transform: uppercase;*/
}

.title + .text {
    margin-top: 2em;
}

.title + .text-lg {
    margin-top: 1.5em;
}

.text {
    position: relative;
    font-size: var(--font-size-text); /* 16 */
    font-weight: 300;
    line-height: 150%;
}

.text-em {
    font-family: var(--font-family-serif);
    font-weight: 400;
    line-height: 140%;
}

.text + .text {
    padding-top: 3em;
}

.text p + p,
.text p + ul,
.text ul + p,
.text ul + ul {
    padding-top: 1.4em;
}

.text ul,
.text ol {
    padding-left: 1.4em;
}

.text a:hover {
    text-decoration: underline;
}

.text strong {
    font-weight: 600;
}

.text h1,
.text h2,
.text h3,
.text h4,
.text h5,
.text h6 {
    font-size: 113%;
    font-weight: 400;
    line-height: 120%;
    padding: 1.4em 0 0.2em;
    letter-spacing: 0.02em;
    font-family: var(--font-family-serif);
}

.text + .btn,
.title + .btn {
    margin-top: 3em; 
}

#page_intro {
    position: relative;
    padding-top: 220px;
    text-align: center;
}

#page_intro .title {
    position: relative;
    z-index: 1;
    font-size: calc(var(--font-size-title) * 1.2);
}

/*
#page_intro .title-marquee {
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 50%;
    font-family: var(--font-family-serif);
    font-size: calc(var(--font-size-title) * 3.43);
    text-align: center;
    line-height: 100%;
    font-weight: 700;
    color: var(--gray);
    word-break: keep-all;
    white-space: nowrap;
    transform: translateX(-50%);
    user-select: none;
    text-transform: uppercase;
}
*/
#page_intro .section-marquee {
    position: relative;
    margin-bottom: calc(var(--padd-y) * -1.25);
}

#page_intro + #page_intro_image {
    margin-top: 90px;
}

#page_intro_image {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
}

#page {
    padding: 120px 0;
}


/* -------- FLEX ------- */
.section-marquee {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    overflow: visible;
    width: 100%;
    user-select: none;
    opacity: 0.2;
    --stroke-color: var(--black);
    user-select: none;
    pointer-events: none;
}

.section-marquee span {
    font-family: var(--font-family-serif);
    font-size: calc(var(--font-size-title) * 4);
    line-height: 100%;
    font-weight: 700;
    word-break: keep-all;
    white-space: nowrap;
    text-transform: uppercase;
    display: block;
    color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: var(--stroke-color);
}

#page_flex {
    position: relative;
    padding-bottom: var(--padd-y);
}

#page_flex_intro {
    padding-top: var(--padd-y-2);
}

.layout {
    padding: var(--padd-y) 0;
}

.layout:first-of-type {
    padding-top: var(--padd-y-2);
}

.layout-content + .layout-accordion {
    padding-top: 0;    
    margin-top: calc(var(--padd-y) * -0.66);
}

.layout-title {
    padding-bottom: 0;
}

.figure-slice {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    overflow: hidden;
}

.alternate .row-alternate + .row-alternate {
    padding-top: var(--padd-y);
}

.alternate .title-md {
    margin-bottom: var(--padd-y);
}

.alternate .alternate-content {
    padding: var(--padd-y) 0;
    min-height: 25vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.alternate.rows-alternate .alternate-content {
    padding: 0;
    min-height: 100%;
}

.alternate .alternate-content .title {
   /* text-transform: uppercase; */
}

.figures-2 .figure,
.alternate .figure-alternate {
    height: 0;
    padding-top: 133%;
    user-select: none;
    pointer-events: none;
}

.accordion {
    --bs-accordion-color: var(--black);
    --bs-accordion-bg: transparent;
    
    --bs-accordion-border-width: 0px;
    --bs-accordion-border-radius: 0px;
    --bs-accordion-inner-border-radius: 0px;
    --bs-accordion-btn-padding-x: 0px;
    --bs-accordion-btn-padding-y: 1.5rem;
    
    --bs-accordion-btn-color: var(--black);
    --bs-accordion-btn-bg: transparent;
    
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M10.86 0H9v9H0v1.86h9v8.854h1.86V10.86h8.855V9H10.86V0Z'/%3e%3c/svg%3e");
    
    --bs-accordion-btn-icon-width: 20px;
    --bs-accordion-btn-icon-transform: rotate(-90deg);
    
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M9 0h1.86v19.714H9z'/%3e%3c/svg%3e");
    
    --bs-accordion-btn-focus-border-color: transparent;
    --bs-accordion-btn-focus-box-shadow: none;
    
    --bs-accordion-body-padding-x: 0px;
    --bs-accordion-body-padding-y: 1rem;
    
    --bs-accordion-active-color: var(--black);
    --bs-accordion-active-bg: transparent;
}

.accordion .accordion-item {
    border-bottom: 1px solid var(--black);
}

.accordion .accordion-button {
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    column-gap: 1em;
}

.accordion .accordion-button .figure-icon {
    width: 2em;
    height: 2em;
    display: block;
    mix-blend-mode: darken;
}

.accordion .accordion-body {
    padding-top: 0px;
    padding-bottom: 3rem;
}

.products-rel,
.ctas-rep {
    position: relative;
/*    overflow: hidden;*/
}

.products-rel .section-marquee {
    position: relative;
    margin-bottom: calc(var(--padd-y) * -1.5);
}

.products-rel ul,
.ctas-rep ul {
    list-style: none;
    padding: 0;
}

.products-rel ul li,
.ctas-rep ul li {
    position: relative;
/*    border-bottom: 1px solid var(--black)*/
}


.products-rel ul li .line,
.ctas-rep ul li .line {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    display: block;
    background-color: var(--black);
}

.products-rel ul .rel-prod-link,
.ctas-rep ul .cta-link {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 26px 0;
    color: var(--black);
    font-family: var(--font-family-serif);
    font-size: calc(var(--font-size-title) * 0.63);
    font-weight: 400;
    line-height: 100%;
    transition: color 300ms ease-in;
}

.products-rel ul .rel-prod-link:hover,
.ctas-rep ul .cta-link:hover {
    color: var(--main);
    text-decoration: none;
    z-index: 1;
}

.products-rel ul .rel-prod-link::after,
.ctas-rep ul .cta-link::after {
    content: "";
    position: relative;
    width: 16px;
    height: 32px;
    background: no-repeat center / contain;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='11' height='19' fill='none' viewBox='0 0 11 19'%3e%3cpath stroke='%23000000' d='m1 1 9 8.5L1 18' /%3e%3c/svg%3e");
}

.products-rel .rel-prod-link-wrapper,
.products-rel .cta-link-wrapper {
    position: relative;
}

.products-rel .rel-prod-link .figure {
    display: none
}

.products-rel .rel-prod-link .figure .img-contain {
    object-position: left center
}

.products-rel .btn {
    margin-top: var(--padd-y);
}

.isNotTouchDevice .products-rel .rel-prod-link .figure {
    --figure-size: 250px;
    display: block;
    position: absolute;
    z-index: 1;
    top: calc(50% - var(--figure-size) * 0.6);
    left: calc(100% + 12px);
    width: calc(var(--figure-size) * 0.5);
    height: var(--figure-size);
    opacity: 0;
    will-change: opacity;
    transition: opacity .3s ease-in;
    pointer-events: none;
    user-select: none
}

.isNotTouchDevice .products-rel .rel-prod-link:hover .figure {
    opacity: 1
}



/* -------- FRONT PAGE ------- */
#front_hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    color: #fff;
    padding: 8vw 0;
    background-color: var(--main);
    overflow: hidden;
}

#front_hero .section-marquee {
    --stroke-color: var(--white);
    position: relative;
    left: -8vw;
    margin-bottom: calc(var(--padd-y) * -1.5);
}

#front_hero .figure-bg::after {
    content: "";
    opacity: 0.75;
    background: linear-gradient(57deg, #000 0%, rgba(0, 0, 0, 0) 100%);
    mix-blend-mode: multiply;
}

#front_about {
    position: relative;
    overflow: hidden;
}

#brand_bg {
    position: absolute;
    top: 0;
    right: -12%;
    width: 80%;
    min-width: 480px;
    height: 100%;
    transform: rotate(7deg);
}

#brand_bg svg {
    width: 100%;
    display: block;
}

#brand_bg svg path {
    display: none;
    fill: none;
}

#brand_bg svg path.brand-head {
    display: block;
    stroke-width: 0.01em;
    stroke: var(--main);
    opacity: 0.22;
}

#front_about + .products-rel {
    padding-bottom: var(--padd-y-2);
}

#front_lines {
    overflow: hidden;
    background-color: var(--black);
}

#front_lines .section-marquee {
    --stroke-color: var(--white);
    position: relative;
    margin-bottom: calc(var(--padd-y) * -1.5);
    left: -8vw;
}

#front_lines .section-line {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: var(--black);
    overflow: hidden;
}

#front_lines .section-line .figure-bg::after {
    content: "";
    opacity: 0.45;
    background-color: var(--black);
    mix-blend-mode: multiply;
}

#front_lines .section-line .figure {
    position: relative;
    z-index: 2;
    min-height: 460px;
    width: 100%;
    user-select: none;
    pointer-events: none;
}

#front_lines .section-line-wrapper {
    padding: var(--padd-y) 0;
}

#front_lines .section-line .text {
    font-family: var(--font-family-serif);
}

#front_lines + #awards_grid {
    padding-top: var(--padd-y-2);
}



/* -------- ABOUT ------- */
#awards_grid {
    padding-bottom: var(--padd-y-2);
    overflow: hidden;
}

#awards_grid .section-marquee {
    position: relative;
    margin-bottom: calc(var(--padd-y) * -1.5);
}

#awards_grid ul {
    list-style: none;
    width: 100%;
    display: grid;
    grid-auto-columns: 1fr;
    grid-column-gap: 0em;
    grid-row-gap: 0em;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    padding-top: var(--padd-y);
}

#awards_grid ul li {
    position: relative;
    height: auto;
    padding: 8%;
    border-bottom: 1px solid #8F8F8F;
    border-right: 1px solid #8F8F8F;
    margin-bottom: -1px;
    margin-right: -1px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#awards_grid .awards-grid-link {
    text-align: center;
    font-size: var(--font-size-text);
    font-weight: 800;
    line-height: 120%;
    text-transform: uppercase;
}

#awards_grid .awards-grid-link:hover {
    color: var(--main);
}

#awards_grid .figure {
    padding-top: 50%;
    pointer-events: none;
    user-select: none;
    background-color: var(--sand);
}

#awards_grid .figure .img-cover {
    object-fit: scale-down;
    mix-blend-mode: multiply;
}

#timeline {
    position: relative;
    color: var(--white);
    background-color: var(--black);
    padding: var(--padd-y-2) 0;
    overflow: hidden;
}

#timeline #brand_bg svg path.brand-head {
    stroke: var(--white);
}

#timeline .swiper {
    overflow: visible;
    padding-top: var(--padd-y);
}

#timeline .swiper-nav {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    column-gap: 20px;
    margin-bottom: 30px;
}

#timeline .swiper-button-next,
#timeline .swiper-button-prev {
    position: relative;
    top: unset;
    bottom: unset;
    right: unset;
    left: unset;
    margin: 0;
    width: 28px;
    height: 8px;
    background: no-repeat center / contain;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='29' height='8' fill='none' viewBox='0 0 29 8'%3e%3cpath fill='%23ffffff' d='M28.354 4.354a.5.5 0 0 0 0-.708L25.172.464a.5.5 0 1 0-.707.708L27.293 4l-2.828 2.828a.5.5 0 1 0 .707.708l3.182-3.182ZM0 4.5h28v-1H0v1Z'/%3e%3c/svg%3e");
}

#timeline .swiper-button-prev {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='29' height='8' fill='none' viewBox='0 0 29 8'%3e%3cpath fill='%23ffffff' d='M.646 3.646a.5.5 0 0 0 0 .708l3.182 3.182a.5.5 0 1 0 .708-.708L1.707 4l2.829-2.828a.5.5 0 1 0-.708-.708L.646 3.646ZM29 3.5H1v1h28v-1Z'/%3e%3c/svg%3e");
}

#timeline .swiper-button-next::after,
#timeline .swiper-button-prev::after {
    display: none;
}

#timeline .time-card .title {
    font-family: var(--font-family-serif);
    font-size: calc(var(--font-size-title) * 0.58);
    font-weight: 400;
    line-height: 120%;
}

#timeline .time-card .figure {
    width: 100%;
    height: 0;
    padding-top: 75%;
    margin: 24px 0;
    background-color: #eee;
    pointer-events: none;
    user-select: none;
}

#timeline + .ctas-rep {
    padding: var(--padd-y-2) 0;
}


/* -------- AWARDS ------- */
#awards_intro {
    position: relative;
    padding: var(--padd-y-2) 0;
}

#awards_intro .section-marquee {
    position: relative;
    left: -8vw;
    margin-bottom: calc(var(--padd-y) * -1.25);
}

#awards_list {}

#awards_list ul {
    list-style: none;
}

#awards_list .award-item {
    color: #000;
    font-size: var(--font-size-text);
    font-weight: 400;
    line-height: 110%;
}

#awards_list .award-item + .award-item {
    padding-top: var(--padd-y);
}


#awards_list .award-item .award-title {
    font-size: 125%;
    font-weight: 700;
    line-height: 110%;
}


#awards_list .award-oil-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 12px;
    margin-top: 1.2em;
}

#awards_list .award-oil-list a:hover {
    position: relative;
    margin-bottom: 0.02em;
}

#awards_list .award-oil-list a::after {
    content: "";
    position: absolute;
    bottom: 0em;
    left: unset;
    right: 0;
    display: block;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: all .3s var(--transition-timing);
}

#awards_list .award-oil-list a:hover::after {
    width: 100%;
    left: 0;
    right: unset;
}

#awards_list .award-item .figure {
    padding-top: 100%;
/*    background-color: var(--white);*/
    border: 1px solid #8F8F8F;
    background-color: var(--sand);
}

#awards_list .award-item .figure .img-cover {
    object-fit: scale-down;
    mix-blend-mode: multiply;
}


/* -------- SHOP ------- */
.products {
/*
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
*/
    --bs-gutter-x: 0px;
    --bs-gutter-y: 0px;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    overflow: hidden;
    margin-left: -0.25vw;
    margin-right: -0.25vw;
    margin-top: -0.5vw;
}

.products .product {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    padding: 0.5vw 0.5vw 45px;
}

.products .product a {
    display: block;
    /*text-align: center;*/
    height: 100%;
    will-change: filter;
    transition: filter 150ms ease-in;
}

.products .product a:hover {
    filter: brightness(0.95);
}

.products .product a .stock {
    position: absolute;
    top: max(12px,0.5vw);
    right: 0.5vw;
    padding: 0.5em 1em;
    font-size: 12px;
    font-weight: 700;
    color: var(--sand);
    background-color: var(--main-dark);
}

.products .product a .archive-figure {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 120%;
    margin-bottom: 18px;
    pointer-events: none;
    user-select: none;
    background-color: var(--gray);
}

/*.products .product a:hover .archive-figure {
    transform: scale(1.02);
}*/

.products .product a .archive-figure img {
    position: absolute;
    top: 0;
    left: 25%;
    width: 50%;
    height: 100%;
    object-fit: contain;
}

.products .product a .woocommerce-loop-product__title {
    font-size: 28px;
    font-weight: 700;
    line-height: 120%;
    font-family: var(--font-family-serif);
}

.products .product a .archive-price {
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    color: var(--main-dark);
    margin-top: 0.4em;
}

.products .product a .archive-link {
    display: inline-block;
	color: #000;
	font-weight: 600;
    font-size: 14px;
    line-height: 120%;
    margin-top: 1.4em;
    border: 1px solid #000;
    padding: 0.6em 1em 0.5em;
	background-color: transparent;
    transition: all 150ms ease-in;
}

.products .product a .archive-link:hover {
	color: #fff;
	background-color: #000;
}

#shop_filters {
    background-color: var(--gray);
}

#shop_filters .product-search-filter-terms-heading {
    display: block;
    font-size: 17px;
    letter-spacing: 0.02em;
    margin-bottom: 12px;
    font-weight: 700;
    line-height: 120%;
    font-family: var(--font-family-serif);
}

#shop_filters .product-search-filter-terms {
    padding: 24px 12px;
    border-bottom: 2px solid var(--sand);
}

#product-search-filter-attribute-0:not(:has(ul > li)),
#product-search-filter-attribute-1:has(#product-search-filter-attribute-heading-1:empty),
#product-search-filter-attribute-2:not(:has(ul > li)) {
    display: none;
}

#shop_filters .nav-back {
    display: none;
}

#shop_filters li {
    font-size: 17px;
    font-weight: 400;
    line-height: 110%;
    font-family: var(--font-family-serif);
}

#shop_filters li + li {
    margin-top: 4px;
}

#shop_filters li.current-cat,
#shop_filters li.current-attribute {
    color: var(--main);
}

#shop_filters li.current-cat > a:after,
#shop_filters li.current-attribute > a:after {
    content: " ×";
    font-size: 15px;
    font-weight: 800;
}

#shop_filters .selectize-input {
    padding: 10px 0 0;
    border-radius: 0;
    border: 0;
    background-color: transparent;
    box-shadow: none;
}

#shop_filters .selectize-control .selectize-input>div {
    color: var(--white);
    background-color: var(--main);
    padding: 4px 8px;
    border-radius: 25px;
    font-weight: 700;
}

#shop_filters .selectize-dropdown {
    border: 0;
    border-radius: 0;
}

#shop_filters .product-search-filter-pa_intensita li a {
    font-size: 0;
    height: 24px;
    width: 100%;
    display: block;
    background: no-repeat left center / contain;
    opacity: 0.83;
    transition: opacity 300ms ease-in;
}

#shop_filters .product-search-filter-pa_intensita:has(li.current-attribute) li:not(.current-attribute) a {
    opacity: 0.43;
}

#shop_filters .product-search-filter-pa_intensita li a:hover,
#shop_filters .product-search-filter-pa_intensita li.current-attribute a {
    opacity: 1;
}

#shop_filters .product-search-filter-pa_intensita li.current-attribute > a:after {
    margin-left: 140px;
}

#shop_filters .product-search-filter-pa_intensita li[data-term="32"] a {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='134' height='24' fill='none' viewBox='0 0 134 24'%3e%3cpath fill='%233E4127' d='M19.104 8.22C16.425 1.999 10.174-1.556 5.263.666c-4.912 2-6.698 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM7.272 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.446-2.667 2.456-3.778C7.049.443 9.28.443 9.95 1.332c.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111Z'/%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M30.52 4.837c-.084-.9.97-2.135 2.645-3.06a7.318 7.318 0 0 1 .78-.374c1.19-.484 2.376-.6 3.206-.39.41.103.732.285.925.541.893.667-.446 2.222-2.455 3.333-2.01 1.111-4.242 1.334-4.912.445a.954.954 0 0 1-.19-.495ZM29.516 4.6c.751-1.505 1.85-2.737 3.257-3.53a7.34 7.34 0 0 1 .837-.405A7.6 7.6 0 0 1 37.295.02c4.011.276 8.119 3.466 10.158 8.202 2.679 6.222.893 13.11-4.019 15.11-4.911 2.223-11.162-1.333-13.841-7.555-1.69-3.925-1.603-8.115-.076-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.65 6.465 1.257 2.92 1.453 5.97.788 8.488-.665 2.52-2.165 4.446-4.266 5.302l-.018.007-.017.008c-2.105.952-4.56.698-6.862-.575-2.303-1.274-4.39-3.543-5.649-6.465-1.257-2.92-1.453-5.97-.788-8.489a10.5 10.5 0 0 1 .267-.86c.339.395.795.615 1.236.73.478.124 1.005.142 1.53.093 1.05-.098 2.242-.48 3.349-1.093 1.074-.594 2.036-1.34 2.622-2.095.286-.369.555-.831.617-1.346a1.696 1.696 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M45.998 18.298s.889-7.941-5.327-14.118l.666-.882c.222 0 7.547 6.617 4.661 15Z'/%3e%3c/g%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M58.868 4.837c-.084-.9.97-2.135 2.645-3.06.249-.138.5-.258.752-.362l.029-.012c1.189-.484 2.376-.6 3.206-.39.41.103.732.285.925.541.893.667-.447 2.222-2.456 3.333-2.01 1.111-4.242 1.334-4.911.445a.954.954 0 0 1-.19-.495ZM57.866 4.6c.75-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405A7.6 7.6 0 0 1 65.644.02c4.011.276 8.118 3.466 10.157 8.202 2.68 6.222.893 13.11-4.018 15.11-4.912 2.223-11.163-1.333-13.842-7.555-1.69-3.925-1.603-8.115-.075-11.176Zm9.697-3.185a9.93 9.93 0 0 1 1.67.736c2.305 1.274 4.392 3.543 5.65 6.465 1.257 2.92 1.453 5.97.788 8.488-.664 2.52-2.164 4.446-4.265 5.302l-.018.007-.017.008c-2.105.952-4.56.698-6.862-.575-2.304-1.274-4.39-3.543-5.649-6.465-1.257-2.92-1.453-5.97-.789-8.489.078-.295.167-.581.268-.86.338.395.794.615 1.235.73.479.124 1.006.142 1.53.093 1.05-.098 2.242-.48 3.35-1.093 1.074-.594 2.035-1.34 2.621-2.095.287-.369.555-.831.618-1.346a1.696 1.696 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M74.347 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M87.216 4.837c-.083-.9.971-2.135 2.646-3.06a7.318 7.318 0 0 1 .78-.374c1.19-.484 2.376-.6 3.206-.39.41.103.733.285.925.541.893.667-.446 2.222-2.455 3.333-2.01 1.111-4.242 1.334-4.912.445a.954.954 0 0 1-.19-.495ZM86.214 4.6c.751-1.505 1.85-2.737 3.257-3.53a7.34 7.34 0 0 1 .837-.405A7.6 7.6 0 0 1 93.992.02c4.012.276 8.119 3.466 10.158 8.202 2.679 6.222.893 13.11-4.019 15.11-4.911 2.223-11.162-1.333-13.84-7.555-1.69-3.925-1.604-8.115-.077-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.649 6.465 1.258 2.92 1.454 5.97.789 8.488-.664 2.52-2.164 4.446-4.266 5.302l-.017.007-.018.008c-2.104.952-4.559.698-6.861-.575-2.304-1.274-4.391-3.543-5.65-6.465-1.257-2.92-1.453-5.97-.788-8.489a10.5 10.5 0 0 1 .267-.86c.339.395.795.615 1.236.73.478.124 1.005.142 1.53.093 1.05-.098 2.242-.48 3.349-1.093 1.074-.594 2.036-1.34 2.622-2.095.286-.369.555-.831.618-1.346a1.695 1.695 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M102.696 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M115.565 4.837c-.083-.9.971-2.135 2.646-3.06.248-.138.5-.258.751-.362l.029-.012c1.189-.484 2.376-.6 3.206-.39.409.103.732.285.925.541.893.667-.446 2.222-2.456 3.333-2.009 1.111-4.241 1.334-4.911.445a.944.944 0 0 1-.19-.495Zm-1.002-.237c.751-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405a7.6 7.6 0 0 1 3.684-.646c4.011.276 8.119 3.466 10.157 8.202 2.679 6.222.893 13.11-4.018 15.11-4.912 2.223-11.162-1.333-13.841-7.555-1.69-3.925-1.604-8.115-.076-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.649 6.465 1.257 2.92 1.453 5.97.789 8.488-.665 2.52-2.165 4.446-4.266 5.302l-.018.007-.017.008c-2.105.952-4.559.698-6.862-.575-2.304-1.274-4.391-3.543-5.649-6.465-1.257-2.92-1.453-5.97-.789-8.489.078-.295.167-.581.268-.86.339.395.794.615 1.235.73.479.124 1.006.142 1.53.093 1.05-.098 2.243-.48 3.349-1.093 1.075-.594 2.036-1.34 2.622-2.095.287-.369.555-.831.618-1.346a1.692 1.692 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M131.044 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3c/svg%3e");
}

#shop_filters .product-search-filter-pa_intensita li[data-term="33"] a {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='134' height='24' fill='none' viewBox='0 0 134 24'%3e%3cpath fill='%233E4127' d='M19.104 8.22C16.425 1.999 10.174-1.556 5.263.666c-4.912 2-6.698 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM7.272 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.446-2.667 2.456-3.778C7.049.443 9.28.443 9.95 1.332c.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111ZM47.453 8.22c-2.68-6.222-8.93-9.777-13.842-7.555-4.911 2-6.697 8.889-4.018 15.111 2.679 6.222 8.93 9.778 13.841 7.556 4.912-2 6.698-8.89 4.019-15.111ZM35.62 4.888c-2.01 1.111-4.242 1.111-4.689.445-.67-.89.447-2.667 2.456-3.778C35.398.443 37.63.443 38.3 1.332c.67.889-.67 2.444-2.68 3.555Zm10.715 13.778s.894-8-5.357-14.222l.67-.889c.222 0 7.59 6.667 4.688 15.111Z'/%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M58.868 4.837c-.084-.9.97-2.135 2.645-3.06.249-.138.5-.258.752-.362l.029-.012c1.189-.484 2.376-.6 3.206-.39.41.103.732.285.925.541.893.667-.447 2.222-2.456 3.333-2.01 1.111-4.242 1.334-4.911.445a.954.954 0 0 1-.19-.495ZM57.866 4.6c.75-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405A7.6 7.6 0 0 1 65.644.02c4.011.276 8.118 3.466 10.157 8.202 2.68 6.222.893 13.11-4.018 15.11-4.912 2.223-11.163-1.333-13.842-7.555-1.69-3.925-1.603-8.115-.075-11.176Zm9.697-3.185a9.93 9.93 0 0 1 1.67.736c2.305 1.274 4.392 3.543 5.65 6.465 1.257 2.92 1.453 5.97.788 8.488-.664 2.52-2.164 4.446-4.265 5.302l-.018.007-.017.008c-2.105.952-4.56.698-6.862-.575-2.304-1.274-4.39-3.543-5.649-6.465-1.257-2.92-1.453-5.97-.789-8.489.078-.295.167-.581.268-.86.338.395.794.615 1.235.73.479.124 1.006.142 1.53.093 1.05-.098 2.242-.48 3.35-1.093 1.074-.594 2.035-1.34 2.621-2.095.287-.369.555-.831.618-1.346a1.696 1.696 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M74.347 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M87.216 4.837c-.083-.9.971-2.135 2.646-3.06a7.318 7.318 0 0 1 .78-.374c1.19-.484 2.376-.6 3.206-.39.41.103.733.285.925.541.893.667-.446 2.222-2.455 3.333-2.01 1.111-4.242 1.334-4.912.445a.954.954 0 0 1-.19-.495ZM86.214 4.6c.751-1.505 1.85-2.737 3.257-3.53a7.34 7.34 0 0 1 .837-.405A7.6 7.6 0 0 1 93.992.02c4.012.276 8.119 3.466 10.158 8.202 2.679 6.222.893 13.11-4.019 15.11-4.911 2.223-11.162-1.333-13.84-7.555-1.69-3.925-1.604-8.115-.077-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.649 6.465 1.258 2.92 1.454 5.97.789 8.488-.664 2.52-2.164 4.446-4.266 5.302l-.017.007-.018.008c-2.104.952-4.559.698-6.861-.575-2.304-1.274-4.391-3.543-5.65-6.465-1.257-2.92-1.453-5.97-.788-8.489a10.5 10.5 0 0 1 .267-.86c.339.395.795.615 1.236.73.478.124 1.005.142 1.53.093 1.05-.098 2.242-.48 3.349-1.093 1.074-.594 2.036-1.34 2.622-2.095.286-.369.555-.831.618-1.346a1.695 1.695 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M102.696 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M115.565 4.837c-.083-.9.971-2.135 2.646-3.06.248-.138.5-.258.751-.362l.029-.012c1.189-.484 2.376-.6 3.206-.39.409.103.732.285.925.541.893.667-.446 2.222-2.456 3.333-2.009 1.111-4.241 1.334-4.911.445a.944.944 0 0 1-.19-.495Zm-1.002-.237c.751-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405a7.6 7.6 0 0 1 3.684-.646c4.011.276 8.119 3.466 10.157 8.202 2.679 6.222.893 13.11-4.018 15.11-4.912 2.223-11.162-1.333-13.841-7.555-1.69-3.925-1.604-8.115-.076-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.649 6.465 1.257 2.92 1.453 5.97.789 8.488-.665 2.52-2.165 4.446-4.266 5.302l-.018.007-.017.008c-2.105.952-4.559.698-6.862-.575-2.304-1.274-4.391-3.543-5.649-6.465-1.257-2.92-1.453-5.97-.789-8.489.078-.295.167-.581.268-.86.339.395.794.615 1.235.73.479.124 1.006.142 1.53.093 1.05-.098 2.243-.48 3.349-1.093 1.075-.594 2.036-1.34 2.622-2.095.287-.369.555-.831.618-1.346a1.692 1.692 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M131.044 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3c/svg%3e");
}

#shop_filters .product-search-filter-pa_intensita li[data-term="34"] a {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='134' height='24' fill='none' viewBox='0 0 134 24'%3e%3cpath fill='%233E4127' d='M19.104 8.22C16.425 1.999 10.174-1.556 5.263.666c-4.912 2-6.698 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM7.272 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.446-2.667 2.456-3.778C7.049.443 9.28.443 9.95 1.332c.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111ZM47.453 8.22c-2.68-6.222-8.93-9.777-13.842-7.555-4.911 2-6.697 8.889-4.018 15.111 2.679 6.222 8.93 9.778 13.841 7.556 4.912-2 6.698-8.89 4.019-15.111ZM35.62 4.888c-2.01 1.111-4.242 1.111-4.689.445-.67-.89.447-2.667 2.456-3.778C35.398.443 37.63.443 38.3 1.332c.67.889-.67 2.444-2.68 3.555Zm10.715 13.778s.894-8-5.357-14.222l.67-.889c.222 0 7.59 6.667 4.688 15.111ZM75.801 8.22C73.122 1.999 66.871-1.556 61.96.666c-4.912 2-6.697 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM63.97 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.447-2.667 2.456-3.778 2.009-1.111 4.241-1.111 4.911-.222.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111Z'/%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M87.216 4.837c-.083-.9.971-2.135 2.646-3.06a7.318 7.318 0 0 1 .78-.374c1.19-.484 2.376-.6 3.206-.39.41.103.733.285.925.541.893.667-.446 2.222-2.455 3.333-2.01 1.111-4.242 1.334-4.912.445a.954.954 0 0 1-.19-.495ZM86.214 4.6c.751-1.505 1.85-2.737 3.257-3.53a7.34 7.34 0 0 1 .837-.405A7.6 7.6 0 0 1 93.992.02c4.012.276 8.119 3.466 10.158 8.202 2.679 6.222.893 13.11-4.019 15.11-4.911 2.223-11.162-1.333-13.84-7.555-1.69-3.925-1.604-8.115-.077-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.649 6.465 1.258 2.92 1.454 5.97.789 8.488-.664 2.52-2.164 4.446-4.266 5.302l-.017.007-.018.008c-2.104.952-4.559.698-6.861-.575-2.304-1.274-4.391-3.543-5.65-6.465-1.257-2.92-1.453-5.97-.788-8.489a10.5 10.5 0 0 1 .267-.86c.339.395.795.615 1.236.73.478.124 1.005.142 1.53.093 1.05-.098 2.242-.48 3.349-1.093 1.074-.594 2.036-1.34 2.622-2.095.286-.369.555-.831.618-1.346a1.695 1.695 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M102.696 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M115.565 4.837c-.083-.9.971-2.135 2.646-3.06.248-.138.5-.258.751-.362l.029-.012c1.189-.484 2.376-.6 3.206-.39.409.103.732.285.925.541.893.667-.446 2.222-2.456 3.333-2.009 1.111-4.241 1.334-4.911.445a.944.944 0 0 1-.19-.495Zm-1.002-.237c.751-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405a7.6 7.6 0 0 1 3.684-.646c4.011.276 8.119 3.466 10.157 8.202 2.679 6.222.893 13.11-4.018 15.11-4.912 2.223-11.162-1.333-13.841-7.555-1.69-3.925-1.604-8.115-.076-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.649 6.465 1.257 2.92 1.453 5.97.789 8.488-.665 2.52-2.165 4.446-4.266 5.302l-.018.007-.017.008c-2.105.952-4.559.698-6.862-.575-2.304-1.274-4.391-3.543-5.649-6.465-1.257-2.92-1.453-5.97-.789-8.489.078-.295.167-.581.268-.86.339.395.794.615 1.235.73.479.124 1.006.142 1.53.093 1.05-.098 2.243-.48 3.349-1.093 1.075-.594 2.036-1.34 2.622-2.095.287-.369.555-.831.618-1.346a1.692 1.692 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M131.044 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3c/svg%3e");
}

#shop_filters .product-search-filter-pa_intensita li[data-term="35"] a {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='134' height='24' fill='none' viewBox='0 0 134 24'%3e%3cpath fill='%233E4127' d='M19.104 8.22C16.425 1.999 10.174-1.556 5.263.666c-4.912 2-6.698 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM7.272 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.446-2.667 2.456-3.778C7.049.443 9.28.443 9.95 1.332c.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111ZM47.453 8.22c-2.68-6.222-8.93-9.777-13.842-7.555-4.911 2-6.697 8.889-4.018 15.111 2.679 6.222 8.93 9.778 13.841 7.556 4.912-2 6.698-8.89 4.019-15.111ZM35.62 4.888c-2.01 1.111-4.242 1.111-4.689.445-.67-.89.447-2.667 2.456-3.778C35.398.443 37.63.443 38.3 1.332c.67.889-.67 2.444-2.68 3.555Zm10.715 13.778s.894-8-5.357-14.222l.67-.889c.222 0 7.59 6.667 4.688 15.111ZM75.801 8.22c-2.678-6.222-8.93-9.777-13.84-7.555-4.912 2-6.698 8.889-4.02 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM63.97 4.888c-2.009 1.111-4.241 1.111-4.688.445-.67-.89.447-2.667 2.456-3.778 2.01-1.111 4.242-1.111 4.911-.222.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111ZM104.15 8.22c-2.679-6.222-8.93-9.777-13.842-7.555-4.91 2-6.697 8.889-4.018 15.111 2.679 6.222 8.93 9.778 13.841 7.556 4.912-2 6.698-8.89 4.019-15.111ZM92.318 4.888c-2.01 1.111-4.242 1.111-4.689.445-.67-.89.447-2.667 2.456-3.778 2.01-1.111 4.242-1.111 4.912-.222.67.889-.67 2.444-2.68 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111Z'/%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M115.565 4.837c-.083-.9.971-2.135 2.646-3.06.248-.138.5-.258.751-.362l.029-.012c1.189-.484 2.376-.6 3.206-.39.409.103.732.285.925.541.893.667-.446 2.222-2.456 3.333-2.009 1.111-4.241 1.334-4.911.445a.944.944 0 0 1-.19-.495Zm-1.002-.237c.751-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405a7.6 7.6 0 0 1 3.684-.646c4.011.276 8.119 3.466 10.157 8.202 2.679 6.222.893 13.11-4.018 15.11-4.912 2.223-11.162-1.333-13.841-7.555-1.69-3.925-1.604-8.115-.076-11.176Zm9.697-3.185a9.94 9.94 0 0 1 1.671.736c2.304 1.274 4.391 3.543 5.649 6.465 1.257 2.92 1.453 5.97.789 8.488-.665 2.52-2.165 4.446-4.266 5.302l-.018.007-.017.008c-2.105.952-4.559.698-6.862-.575-2.304-1.274-4.391-3.543-5.649-6.465-1.257-2.92-1.453-5.97-.789-8.489.078-.295.167-.581.268-.86.339.395.794.615 1.235.73.479.124 1.006.142 1.53.093 1.05-.098 2.243-.48 3.349-1.093 1.075-.594 2.036-1.34 2.622-2.095.287-.369.555-.831.618-1.346a1.692 1.692 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M131.044 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3c/svg%3e");
}

#shop_filters .product-search-filter-pa_intensita li[data-term="36"] a {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='134' height='24' fill='none' viewBox='0 0 134 24'%3e%3cpath fill='%233E4127' d='M19.104 8.22C16.425 1.999 10.174-1.556 5.263.666c-4.912 2-6.698 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM7.272 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.446-2.667 2.456-3.778C7.049.443 9.28.443 9.95 1.332c.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111ZM47.453 8.22c-2.68-6.222-8.93-9.777-13.842-7.555-4.911 2-6.697 8.889-4.018 15.111 2.679 6.222 8.93 9.778 13.841 7.556 4.912-2 6.698-8.89 4.019-15.111ZM35.62 4.888c-2.01 1.111-4.242 1.111-4.689.445-.67-.89.447-2.667 2.456-3.778C35.398.443 37.63.443 38.3 1.332c.67.889-.67 2.444-2.68 3.555Zm10.715 13.778s.894-8-5.357-14.222l.67-.889c.222 0 7.59 6.667 4.688 15.111ZM75.801 8.22c-2.678-6.222-8.93-9.777-13.84-7.555-4.912 2-6.698 8.889-4.02 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM63.97 4.888c-2.009 1.111-4.241 1.111-4.688.445-.67-.89.447-2.667 2.456-3.778 2.01-1.111 4.242-1.111 4.911-.222.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111ZM104.15 8.22c-2.679-6.222-8.93-9.777-13.842-7.555-4.91 2-6.697 8.889-4.018 15.111 2.679 6.222 8.93 9.778 13.841 7.556 4.912-2 6.698-8.89 4.019-15.111ZM92.318 4.888c-2.01 1.111-4.242 1.111-4.689.445-.67-.89.447-2.667 2.456-3.778 2.01-1.111 4.242-1.111 4.912-.222.67.889-.67 2.444-2.68 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111ZM132.498 8.22c-2.679-6.222-8.93-9.777-13.841-7.555-4.911 2-6.697 8.889-4.018 15.111 2.679 6.222 8.929 9.778 13.841 7.556 4.911-2 6.697-8.89 4.018-15.111Zm-11.832-3.333c-2.009 1.111-4.241 1.111-4.688.445-.67-.89.447-2.667 2.456-3.778 2.009-1.111 4.242-1.111 4.911-.222.67.889-.669 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111Z'/%3e%3c/svg%3e");
}

#shop_filters .product-search-filter-reset-form {
    padding: 12px 10px;
}

#shop_filters .selectize-control.multi .selectize-input.has-items {
    padding: 0;
}

#shop_filters .product-search-filter-reset-clear {
    border-radius: 0;
    padding: 0;
    border: 0;
    color: var(--main-dark);
    display: block;
    width: 100%;
    background: transparent !important;
    font-weight: 700;
    text-align: center;
}

#shop_filters .product-search-filter-reset-clear::after {
    content: " ×";
}

/* ─── Filter panel — accordion custom ─────────────────────────── */
.filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--fp-header-gap);
    font-weight: 400;
    font-size: var(--fs-20);
}

.filter-group {
    border-bottom: 1px solid #E0D9D0;
}

.filter-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.25rem 0;
    background: none;
    border: 0;
    font-family: var(--font-family-serif);
    font-weight: 600;
    font-size: var(--fs-20);
    color: var(--black);
    cursor: pointer;
    text-align: left;
}

.filter-chevron {
    flex-shrink: 0;
    width: 0.8125em;
    height: auto;
    transform: rotate(180deg);
    transition: transform 0.2s;
}

.filter-group-header[aria-expanded="true"] .filter-chevron {
    transform: rotate(0deg);
}

.filter-group-body {
    padding: 0 0 2.0625rem;
}

.filter-checklist {
    list-style: none;
    margin: 0;
    padding: 0;
}

.filter-checklist--2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

.filter-check-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 1rem;
}

.filter-check-text {
    font-family: var(--font-family-serif);
    font-weight: 400;
}

input[type="checkbox"].filter-check {
    flex-shrink: 0;
    appearance: none;
    -webkit-appearance: none;
    width: 1.125em !important;
    height: 1.125em;
    border: 1.5px solid var(--black);
    border-radius: 0;
    background: transparent;
    cursor: pointer;
}

input[type="checkbox"].filter-check:checked {
    background-color: var(--black);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8' fill='none'%3E%3Cpath d='M1 3.5L4 6.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
}

/* Intensità — icone olive */
.intensity-olives {
    display: flex;
    gap: 3px;
    align-items: center;
}

.intensity-olive {
    display: block;
    width: 16px;
    height: 18px;
    background: no-repeat center / contain;
}

.intensity-olive--fill {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='24' fill='none' viewBox='0 0 21 24'%3e%3cpath fill='%233E4127' d='M19.104 8.22C16.425 1.999 10.174-1.556 5.263.666c-4.912 2-6.698 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM7.272 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.446-2.667 2.456-3.778C7.049.443 9.28.443 9.95 1.332c.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111Z'/%3e%3c/svg%3e");
}

.intensity-olive--empty {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='24' fill='none' viewBox='0 0 21 24'%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M2.17 4.837c-.083-.9.972-2.135 2.646-3.06a7.324 7.324 0 0 1 .78-.374c1.19-.484 2.377-.6 3.206-.39.41.103.733.285.926.541.893.667-.447 2.222-2.456 3.333-2.01 1.111-4.242 1.334-4.911.445a.954.954 0 0 1-.19-.495Zm-1-.237c.75-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405A7.6 7.6 0 0 1 8.947.02c4.011.276 8.118 3.466 10.157 8.202 2.68 6.222.893 13.11-4.018 15.11-4.912 2.223-11.163-1.333-13.842-7.555C-.446 11.851-.359 7.661 1.17 4.6Zm9.697-3.185a9.93 9.93 0 0 1 1.67.736c2.305 1.274 4.391 3.543 5.65 6.465 1.257 2.92 1.453 5.97.788 8.488-.664 2.52-2.164 4.446-4.265 5.302l-.018.007-.018.008c-2.104.952-4.559.698-6.861-.575-2.304-1.274-4.391-3.543-5.65-6.465C.907 12.46.71 9.41 1.375 6.892c.078-.295.167-.581.268-.86.338.395.794.615 1.235.73.478.124 1.005.142 1.53.093 1.05-.098 2.242-.48 3.349-1.093 1.074-.594 2.036-1.34 2.622-2.095.287-.369.555-.831.618-1.346a1.696 1.696 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M17.65 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3c/svg%3e");
}

/* Filter footer */
.filter-footer {
    display: flex;
    gap: 0.75rem;
    margin-top: auto;
    background: var(--sand);
}

.filter-cancel,
.filter-submit {
    flex: 1;
    padding: 1.1em 0.5rem;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    border: 1px solid var(--black);
    line-height: 1;
}

.filter-cancel {
    background: none;
    color: var(--black);
}

.filter-submit {
    background: var(--black);
    color: #fff;
}

.filter-submit:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
/* ─────────────────────────────────────────────────────────────── */

/* ── Shop bar ────────────────────────────────────────────────── */
#shop_bar {
    background-color: #80786B;
    margin-top: clamp(2rem, 4.1667vw, 5rem); /* 40→80px */
}

.shop-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--fs-24) 0;
}

.shop-bar-cats {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.shop-bar-cat,
.shop-bar-menu a {
    color: var(--white);
    font-size: var(--fs-18);
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s var(--transition-timing);
}

.shop-bar-cat:hover,
.shop-bar-menu a:hover {
    opacity: 0.65;
}

.shop-bar-cat.active,
.shop-bar-menu li.current-menu-item > a,
.shop-bar-menu li.current-product-ancestor > a {
    text-decoration: underline;
    text-underline-offset: 3px;
    color: var(--white);
}

.shop-bar-sep {
    display: inline-block;
    width: 0;
    height: 1.2em;
    border-left: 1.5px solid #fff;
    opacity: 0.5;
}

.shop-bar-menu {
    display: flex;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.shop-filter-toggle {
    background: none;
    border: none;
    color: var(--white);
    font-size: var(--fs-18);
    font-weight: 500;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: opacity 0.2s var(--transition-timing);
}

.shop-filter-toggle:hover {
    opacity: 0.65;
}

/* ── Shop intro text ─────────────────────────────────────────── */
.shop-intro-text {
    max-width: 52ch;
    margin: 24px auto 0;
    font-family: var(--font-family-serif);
    font-weight: 400;
    font-size: var(--fs-24);
    line-height: 1.4;
    text-align: center;
    text-wrap: balance;
}

#page_intro.page-intro-shop .title {
    font-size: var(--fs-120);
}

/* ── Shop result count ───────────────────────────────────────── */
.shop-result-count {
    margin-bottom: 28px;
    min-height: 2em; /* prevent CLS when YITH sets woocommerce-result-count display:none during AJAX */
}

#page.page-shop {
    padding-top: 28px;
}

.shop-result-count .woocommerce-result-count {
    font-size: var(--fs-16);
    font-weight: 600;
    margin: 0;
}

/* sub-bar toggle: hidden on desktop, shown on mobile via media query below */
.shop-filter-toggle-sub { display: none; }

@media (max-width: 991.98px) {
    /* bar toggle: hidden on mobile (appears in sub-bar instead) */
    .shop-filter-toggle-bar { display: none; }
    /* sub-bar toggle: shown on mobile */
    .shop-filter-toggle-sub { display: flex; }

    /* cats: horizontal scroll, no wrap */
    .shop-bar-inner {
        position: relative;
    }
    .shop-bar-cats {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .shop-bar-cats::-webkit-scrollbar { display: none; }
    .shop-bar-cat,
    .shop-bar-sep,
    .shop-bar-menu,
    .shop-bar-menu li,
    .shop-bar-menu a {
        white-space: nowrap;
        flex-shrink: 0;
    }
    /* gradient overlays — toggled via JS (.fade-left / .fade-right on .shop-bar-inner) */
    .shop-bar-inner::before,
    .shop-bar-inner::after {
        content: '';
        position: absolute;
        top: 0; bottom: 0;
        width: 3rem;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.15s;
        z-index: 1;
    }
    .shop-bar-inner::before {
        left: 0;
        background: linear-gradient(to right, #80786B, transparent);
    }
    .shop-bar-inner::after {
        right: 0;
        background: linear-gradient(to left, #80786B, transparent);
    }
    .shop-bar-inner.fade-left::before  { opacity: 1; }
    .shop-bar-inner.fade-right::after  { opacity: 1; }

    /* result count row: count left, toggle right */
    .shop-result-count {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid rgba(0, 0, 0, 0.12);
        padding-bottom: 16px;
        margin-bottom: 24px;
    }
    .shop-result-count .shop-filter-toggle {
        color: var(--black);
        font-size: var(--fs-16);
    }
    .shop-result-count .shop-filter-toggle svg path {
        fill: currentColor;
    }
}

/* ── Shop filter overlay ─────────────────────────────────────── */
#shop_filter_overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    pointer-events: none;
    visibility: hidden;
    transition: visibility 0s linear 0.5s;
}

#shop_filter_overlay.filter-open {
    pointer-events: auto;
    visibility: visible;
    transition-delay: 0s;
}

#shop_filter_overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

#shop_filter_overlay.filter-open::before {
    opacity: 1;
}

#shop_filter_panel {
    --fp-pad-x: clamp(24px, 5vw, 120px);
    --fp-pad-y: clamp(24px, 3.646vw, 70px);
    --fp-header-gap: clamp(32px, 5.208vw, 100px);
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: clamp(420px, 40.625vw, 780px);
    background: var(--sand);
    overflow-y: auto;
    padding: var(--fp-pad-y) var(--fp-pad-x);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#shop_filter_overlay.filter-open #shop_filter_panel {
    transform: translateX(0);
    opacity: 1;
}

@media (max-width: 575px) {
    #shop_filter_panel {
        width: 100%;
    }
}

.shop-filter-close {
    position: relative;
    background: none;
    border: none;
    padding: 0;
    font-size: 22px;
    cursor: pointer;
    color: var(--black);
    line-height: 1;
}

.shop-filter-close::after {
    content: '';
    position: absolute;
    inset: -12px;
}


/* -------- CART DRAWER ------- */

#cart_drawer_overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    pointer-events: none;
    visibility: hidden;
    transition: visibility 0s linear 0.5s;
}

#cart_drawer_overlay.cart-drawer-open {
    pointer-events: auto;
    visibility: visible;
    transition-delay: 0s;
}

#cart_drawer_overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

#cart_drawer_overlay.cart-drawer-open::before {
    opacity: 1;
}

#cart_drawer_panel {
    --fp-pad-x: clamp(24px, 5vw, 120px);
    --fp-pad-y: clamp(24px, 3.646vw, 70px);
    --fp-header-gap: clamp(32px, 5.208vw, 100px);
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: clamp(420px, 40.625vw, 780px);
    background: var(--sand);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: var(--fp-pad-y) var(--fp-pad-x) 0;
    transform: translateX(100%);
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#cart_drawer_overlay.cart-drawer-open #cart_drawer_panel {
    transform: translateX(0);
    opacity: 1;
}

@media (max-width: 575px) {
    #cart_drawer_panel {
        width: 100%;
    }
}

/* Body — fragment wrapper, flex column */
#cart_drawer_body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 0;
}

.cart-drawer-empty {
    font-family: var(--font-family-serif);
    font-size: 1rem;
    text-align: center;
    padding: 3rem 0;
    color: var(--black);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
}

/* Items list — scrollable */
.cart-drawer-items-wrap {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.cart-drawer-items-wrap::before,
.cart-drawer-items-wrap::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 3rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 1;
}

.cart-drawer-items-wrap::before {
    top: 0;
    background: linear-gradient(to bottom, #FEF7EC, transparent);
}

.cart-drawer-items-wrap::after {
    bottom: 0;
    background: linear-gradient(to top, #FEF7EC, transparent);
}

.cart-drawer-items-wrap.fade-top::before    { opacity: 1; }
.cart-drawer-items-wrap.fade-bottom::after  { opacity: 1; }

.cart-drawer-items {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    scrollbar-width: none;
}

.cart-drawer-items::-webkit-scrollbar { display: none; }

.cart-drawer-item {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid #E0D9D0;
}

.cart-drawer-item__thumb {
    flex-shrink: 0;
    width: 72px;
    display: block;
}

.cart-drawer-item__thumb img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.cart-drawer-item__body {
    flex: 1;
    min-width: 0;
}

.cart-drawer-item__name {
    display: block;
    font-family: var(--font-family-serif);
    font-weight: 400;
    font-size: 0.9375rem;
    color: var(--black);
    text-decoration: none;
    line-height: 1.3;
}

.cart-drawer-item__variation {
    font-size: 0.75rem;
    color: #888;
    margin-top: 0.2rem;
}

/* Qty controls */
.cart-drawer-item__qty-ctrl {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 0.625rem;
    border: 1px solid #E0D9D0;
    width: fit-content;
}

.cart-drawer-qty-btn {
    width: 1.75rem;
    height: 1.75rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    color: var(--black);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.15s;
}

.cart-drawer-qty-btn:hover {
    background: rgba(0,0,0,0.05);
}

.cart-drawer-qty-input {
    width: 2.25rem;
    height: 1.75rem;
    border: none;
    border-left: 1px solid #E0D9D0;
    border-right: 1px solid #E0D9D0;
    text-align: center;
    font-size: 0.875rem;
    font-family: var(--font-family-serif);
    background: transparent;
    -moz-appearance: textfield;
}

.cart-drawer-qty-input::-webkit-inner-spin-button,
.cart-drawer-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.cart-drawer-item__qty-static {
    font-size: 0.875rem;
    font-family: var(--font-family-serif);
    margin-top: 0.4rem;
    display: block;
}

/* Right column: remove + price */
.cart-drawer-item__right {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
}

.cart-drawer-item__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.125rem;
    line-height: 1;
    color: var(--black);
    text-decoration: none;
    opacity: 0.4;
    transition: opacity 0.2s;
}

.cart-drawer-item__remove:hover {
    opacity: 1;
}

.cart-drawer-item.is-loading {
    opacity: 0.35;
    pointer-events: none;
    transition: opacity 0.15s;
}

.cart-drawer-coupon-apply.is-loading {
    opacity: 0.5;
    cursor: wait;
}

.cart-drawer-item__price {
    font-size: 0.875rem;
    font-family: var(--font-family-serif);
    color: var(--black);
}

/* Coupon form */
.cart-drawer-coupon {
    flex-shrink: 0;
    padding: 1rem 0;
    border-bottom: 1px solid #E0D9D0;
}

.cart-drawer-coupon-row {
    display: flex;
    gap: 0.5rem;
}

.cart-drawer-coupon-input {
    flex: 1;
    height: 2.375rem;
    padding: 0 0.75rem;
    border: 1px solid #E0D9D0;
    background: transparent;
    font-family: var(--font-family-serif);
    font-size: 0.875rem;
    color: var(--black);
    outline: none;
}

.cart-drawer-coupon-input::placeholder {
    color: #B5A898;
}

.cart-drawer-coupon-apply {
    height: 2.375rem;
    padding: 0 1rem;
    background: none;
    border: 1px solid var(--black);
    font-family: 'Nunito Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    white-space: nowrap;
    color: var(--black);
    transition: background 0.15s, color 0.15s;
}

.cart-drawer-coupon-apply:hover {
    background: var(--black);
    color: #fff;
}

.cart-drawer-coupon-notice {
    margin-top: 0.5rem;
    font-size: 0.8rem;
    font-family: var(--font-family-serif);
}

.cart-drawer-coupon-notice .notice-error   { color: #c62828; }
.cart-drawer-coupon-notice .notice-success { color: #2e7d32; }

/* Totals breakdown */
.cart-drawer-totals {
    flex-shrink: 0;
    padding: 0.75rem 0 0;
}

.cart-drawer-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0;
    font-family: var(--font-family-serif);
    font-size: 0.9375rem;
    color: var(--black);
}

.cart-drawer-totals-row--discount {
    color: #2e7d32;
}

.cart-drawer-totals-row--total {
    font-weight: 600;
    font-size: var(--fs-20);
    padding: 0.75rem 0 0;
    border-top: 1px solid #E0D9D0;
    margin-top: 0.25rem;
}

.cart-drawer-coupon-tag {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cart-drawer-remove-coupon {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    color: inherit;
    padding: 0;
    opacity: 0.6;
    transition: opacity 0.15s;
}

.cart-drawer-remove-coupon:hover {
    opacity: 1;
}

/* Actions — push to bottom */
.cart-drawer-actions {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem 0 var(--fp-pad-y);
    background: var(--sand);
}

.cart-drawer-checkout,
.cart-drawer-view-cart {
    display: block;
    padding: 1.1em 0.5rem;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    border: 1px solid var(--black);
}

.cart-drawer-checkout {
    background: var(--black);
    color: #fff;
    transition: background 0.3s var(--transition-timing), border-color 0.3s var(--transition-timing);
}

.cart-drawer-checkout:hover {
    background: var(--main-dark);
    border-color: var(--main-dark);
    color: #fff;
}

.cart-drawer-view-cart {
    background: none;
    color: var(--black);
    transition: border-color 0.3s var(--transition-timing), color 0.3s var(--transition-timing);
}

.cart-drawer-view-cart:hover {
    border-color: var(--main-dark);
    color: var(--main-dark);
}


/* -------- PRODUCTS GRID ------- */

.products-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
    align-items: start;
}

@media (min-width: 576px) {
    .products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; align-items: stretch; }
}
@media (min-width: 992px) {
    .products-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1400px) {
    .products-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Card */
.product-card__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: transparent;
    transition: background 0.3s var(--transition-timing);
}

.product-card__inner:hover,
.product-card__inner:focus-within {
    background: #F1E9DE;
}

/* Media */
.product-card__media {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--gray);
}

.product-card__img-link {
    display: block;
    position: absolute;
    inset: 0;
}

.product-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product-card__img--default {
    object-fit: contain;
}

.product-card__img--hover {
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card__inner:hover .product-card__img--hover,
.product-card__inner:focus-within .product-card__img--hover {
    opacity: 1;
}

/* Badge */
.product-card__badge {
    position: absolute;
    top: 1.25em;
    left: 1.25em;
    z-index: 1;
    background: var(--white);
    color: var(--black);
    font-size: var(--fs-16);
    font-weight: 600;
    line-height: 1.4;
    padding: 0.375em 0.625em;
}

/* Body */
.product-card__body {
    flex: 1;
    padding: clamp(0.625rem, 0.625vw + 0.5rem, 1.25rem); /* 10→20px */
}

.product-card__tags {
    font-size: var(--fs-15);
    font-weight: 600;
    color: var(--main);
    margin: 0 0 1.2em; /* 18px@1920 relativo a --fs-15 */
    line-height: 1.2;
}

.product-card__title {
    font-size: var(--fs-32);
    font-weight: 700;
    color: #000;
    margin: 0 0 0.4375em; /* 14px@1920 relativo a --fs-32 */
    line-height: 1.143;
}

.product-card__title a {
    text-decoration: none;
    color: inherit;
}

.product-card__title a:hover {
    text-decoration: underline;
}

.product-card__meta {
    font-size: clamp(0.75rem, 0.625vw + 0.5rem, 1.25rem); /* 12→20px */
    font-weight: 400;
    color: #000;
    margin: 0 0 2.5em; /* 50px@1920 relativo a meta fs */
    line-height: 1.2;
}

.product-card__sep { color: var(--main); }

/* Switch — grid-area stacking: summary + hover-body same cell, height = hover-body (no accordion) */
.product-card__switch {
    display: grid;
}

.product-card__summary,
.product-card__hover-body {
    grid-area: 1 / 1;
    align-self: start;
    transition: opacity 0.25s var(--transition-timing);
}

/* Summary (default) */
.product-card__summary {
    display: flex;
    align-items: center;
    gap: 1.1em;
    font-size: var(--fs-18);
    opacity: 1;
    pointer-events: auto;
}

.product-card__min-price {
    color: #7C7C7C;
}

.product-card__inner:hover .product-card__summary,
.product-card__inner:focus-within .product-card__summary,
body.isTouchDevice .product-card__summary {
    opacity: 0;
    pointer-events: none;
}

/* Hover body (default hidden) */
.product-card__hover-body {
    opacity: 0;
    pointer-events: none;
}

.product-card__inner:hover .product-card__hover-body,
.product-card__inner:focus-within .product-card__hover-body,
body.isTouchDevice .product-card__hover-body {
    opacity: 1;
    pointer-events: auto;
}


/* Format pills */
.product-card__formats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
    margin: 0 0 2.846em;
}

.product-card__format {
    font-size: var(--fs-13);
    font-weight: 500;
    line-height: 1;
    padding: 0.7em 0.1em;
    border: 1px solid #7C7C7C;
    background: transparent;
    color: #7C7C7C;
    cursor: pointer;
    text-align: center;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.product-card__format.is-active {
    background: var(--black);
    color: var(--white);
    border-color: var(--black);
}

.product-card__format:not(:disabled):hover {
    background: var(--black);
    color: var(--white);
    border-color: var(--black);
}

.product-card__format:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Price */
.product-card__price-wrap {
    display: flex;
    align-items: baseline;
    gap: 1.1em;
    font-size: var(--fs-18);
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.product-card__price-detail {
    color: #7C7C7C;
}

/* ATC button — nascosto su desktop, visibile solo al hover */
body.isNotTouchDevice .product-card__atc {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s var(--transition-timing);
}

body.isNotTouchDevice .product-card__inner:hover .product-card__atc,
body.isNotTouchDevice .product-card__inner:focus-within .product-card__atc {
    opacity: 1;
    pointer-events: auto;
}

/* ATC button — edge-to-edge (fuori da .product-card__body) */
.product-card__atc {
    display: block;
    width: 100%;
    padding: 14px 16px;
    background: var(--black);
    color: var(--white);
    font-size: var(--fs-13);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background 0.2s var(--transition-timing);
}

.product-card__atc:hover,
.product-card__atc:focus-visible {
    background: var(--main-dark);
    color: var(--white);
}

.product-card__atc:disabled {
    opacity: 0.6;
    cursor: wait;
}

.product-card__atc--notify.is-notified {
    opacity: 0.55;
    cursor: default;
    pointer-events: none;
}


/* -------- SINGLE PRODUCT ------- */
#single_product_intro {
    position: relative;
    padding-bottom: var(--padd-y);
}

#single_product_intro .section-marquee {
    top: calc(34vh - var(--header-all-h));
}

#single_product_intro_figure {
    position: relative;
    min-height: 460px;
    user-select: none;
    pointer-events: none;
}

#single_product_intro_title {
    padding: calc(var(--padd-y) * 0.5) 0;
}

#single_product_intro_title .title {
    font-size: var(--font-size-title);
    /*font-size: calc(var(--font-size-title) * 0.85);
    text-transform: uppercase;*/
    max-width: 12ch;
    text-wrap: balance;
}

#single_product_intro_title .product-card__meta {
    font-weight: 600;
    font-size: 15px;
    line-height: 20px;
    color: #A49886;
    margin: 1.4em 0 0;
}

#single_product_intro_accordion {
    padding-top: var(--padd-y);
}


#single_product_intro_accordion .figure-item {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
}

#single_product_intro .pa-intensity {
    display: flex;
    flex-direction: row;
    column-gap: 5px;
    list-style: none;
    margin-top: 0.5em;
}

#single_product_intro .pa-intensity .intensity-item {
    width: 21px;
    height: 24px;
    display: block;
    background: no-repeat center / contain;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='24' fill='none' viewBox='0 0 21 24'%3e%3cg fill='%238F8F8F'%3e%3cpath fill-rule='evenodd' d='M2.17 4.837c-.083-.9.972-2.135 2.646-3.06a7.324 7.324 0 0 1 .78-.374c1.19-.484 2.377-.6 3.206-.39.41.103.733.285.926.541.893.667-.447 2.222-2.456 3.333-2.01 1.111-4.242 1.334-4.911.445a.954.954 0 0 1-.19-.495Zm-1-.237c.75-1.505 1.85-2.737 3.257-3.53.268-.152.547-.287.837-.405A7.6 7.6 0 0 1 8.947.02c4.011.276 8.118 3.466 10.157 8.202 2.68 6.222.893 13.11-4.018 15.11-4.912 2.223-11.163-1.333-13.842-7.555C-.446 11.851-.359 7.661 1.17 4.6Zm9.697-3.185a9.93 9.93 0 0 1 1.67.736c2.305 1.274 4.391 3.543 5.65 6.465 1.257 2.92 1.453 5.97.788 8.488-.664 2.52-2.164 4.446-4.265 5.302l-.018.007-.018.008c-2.104.952-4.559.698-6.861-.575-2.304-1.274-4.391-3.543-5.65-6.465C.907 12.46.71 9.41 1.375 6.892c.078-.295.167-.581.268-.86.338.395.794.615 1.235.73.478.124 1.005.142 1.53.093 1.05-.098 2.242-.48 3.349-1.093 1.074-.594 2.036-1.34 2.622-2.095.287-.369.555-.831.618-1.346a1.696 1.696 0 0 0-.13-.906Z' clip-rule='evenodd'/%3e%3cpath d='M17.65 18.298s.888-7.941-5.328-14.118l.666-.882c.222 0 7.548 6.617 4.662 15Z'/%3e%3c/g%3e%3c/svg%3e");
}

#single_product_intro .pa-intensity .intensity-item.fill {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='24' fill='none' viewBox='0 0 21 24'%3e%3cpath fill='%233E4127' d='M19.104 8.22C16.425 1.999 10.174-1.556 5.263.666c-4.912 2-6.698 8.889-4.019 15.111 2.68 6.222 8.93 9.778 13.842 7.556 4.911-2 6.697-8.89 4.018-15.111ZM7.272 4.888c-2.01 1.111-4.242 1.111-4.688.445-.67-.89.446-2.667 2.456-3.778C7.049.443 9.28.443 9.95 1.332c.67.889-.67 2.444-2.679 3.555Zm10.716 13.778s.893-8-5.358-14.222l.67-.889c.223 0 7.59 6.667 4.688 15.111Z'/%3e%3c/svg%3e");
}

#single_product_intro_info {
/*    margin-bottom: calc(34vh - var(--header-all-h));*/
}

#single_product_awards {
    position: relative;
    padding-top: var(--padd-y);
    overflow: hidden;
}

#single_product_awards .swiper {
    --swiper-theme-color: #7c7c7c;
    height: 400px;
/*    height: calc(50vh - var(--header-all-h));*/
    mix-blend-mode: darken;
}

#single_product_awards .swiper-button-next,
#single_product_awards .swiper-button-prev {
    --swiper-navigation-size: 49px;
    --swiper-navigation-sides-offset: 0px;
    width: var(--swiper-navigation-size);
    height: var(--swiper-navigation-size);
    border: 1px solid var(--swiper-theme-color);
    border-radius: var(--swiper-navigation-size);
}

#single_product_awards .swiper-button-next:after,
#single_product_awards .swiper-button-prev:after {
    content: "";
    width: 100%;
    height: 100%;
    background: no-repeat center / 12px auto;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='11' height='19' fill='none' viewBox='0 0 11 19'%3e%3cpath stroke='%237C7C7C' d='m1 1 9 8.5L1 18' /%3e%3c/svg%3e");
}

#single_product_awards .swiper-button-prev:after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='11' height='19' fill='none' viewBox='0 0 11 19'%3e%3cpath stroke='%237C7C7C' d='M10 18 1 9.5 10 1' /%3e%3c/svg%3e");
}

#single_product_awards .swiper-slide {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

#single_product_awards .award-figure {
    width: 100%;
    height: 0;
    padding-top: 52%;
    pointer-events: none;
    user-select: none;
    background-color: var(--sand);
}

#single_product_awards .award-figure .img-cover {
    object-fit: scale-down;
    mix-blend-mode: multiply;
}

#single_product_awards ul {
    list-style: none;
    font-size: calc(var(--font-size-text) * 1.37);
}

#single_product_awards .awards-title {
    font-weight: 700;
    line-height: 120%;
}

#single_product_awards .awards-text {
    font-family: var(--font-family-serif);
    font-weight: 400;
    line-height: 120%;
}

#single_product_shop,
.single-product-buy-inline {
    position: relative;
    padding: var(--padd-y-2) 0;
}

.single-product-buy-inline {
    padding: var(--padd-y) 0 0;
    max-width: 440px;
}

/* Labels left-aligned, bold */
.single-product-buy-inline .variations .label,
.single-product-buy-inline .quantity .qty-label {
    font-size: 18px;
    font-weight: 700;
}


#single_product_shop .title {
    font-size: calc(var(--font-size-title) * 0.85);
}

#single_product_shop .subtitle {
    color: #7c7c7c;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}

#single_product_shop .reset_variations,
.single-product-buy-inline .reset_variations {
    display: none !important;
}

#single_product_shop .variations,
.single-product-buy-inline .variations {
    width: 100%;
}

#single_product_shop .variations tr,
#single_product_shop .quantity,
.single-product-buy-inline .variations tr,
.single-product-buy-inline .quantity {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 20px;
}

#single_product_shop .variations .label,
#single_product_shop .quantity .qty-label,
.single-product-buy-inline .variations .label,
.single-product-buy-inline .quantity .qty-label {
    flex: 0 0 auto;
    width: 140px;
    font-size: 18px;
    font-weight: 700;
    line-height: 170%;
    letter-spacing: 0.02em;
    /*text-transform: uppercase;*/
}

#single_product_shop .variations .value,
.single-product-buy-inline .variations .value {
    width: 100%;
}

#single_product_shop .quantity input.qty,
#single_product_shop .variations .value select,
.single-product-buy-inline .quantity input.qty,
.single-product-buy-inline .variations .value select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align-last: center;
    width: 100%;
    min-height: 50px;
    color: #7c7c7c;
    font-size: 18px;
    font-weight: 400;
    line-height: 150%;
    text-align: center;
    text-transform: uppercase;
    background-color: transparent;
    padding: 8px 20px;
    /*border-radius: 50px;*/
    border-radius: 0px;
    border: 1px solid #7c7c7c;
}

/* [NW 6.1 - 2026-04-17] Varianti formato come pulsanti */
#single_product_shop .variations .value select.nw-variant-hidden,
#single_product_shop select.nw-variant-hidden,
.single-product-buy-inline .variations .value select.nw-variant-hidden,
.single-product-buy-inline select.nw-variant-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    min-height: 0 !important;
}
.nw-variant-options {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    width: 100%;
}
.nw-variant-options li {
    min-width: 0;
}
.nw-variant-options .nw-variant-btn {
    width: 100%;
    min-height: auto;
    padding: 0.7em 0.1em;
    color: #7C7C7C;
    font-size: var(--fs-13);
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-transform: none;
    background: transparent;
    border: 1px solid #7C7C7C;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.nw-variant-options .nw-variant-btn:not(:disabled):hover,
.nw-variant-options .nw-variant-btn.is-active {
    background: var(--black);
    color: var(--white);
    border-color: var(--black);
}
.nw-variant-options .nw-variant-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

#single_product_shop .nw-variant-options .nw-variant-btn,
.single-product-buy-inline .nw-variant-options .nw-variant-btn {
    font-size: var(--fs-16);
}

#single_product_shop .nw-variant-options {
    grid-template-columns: repeat(2, 1fr);
}

#single_product_shop .single_variation_wrap,
.single-product-buy-inline .single_variation_wrap {
    position: relative;
}

#single_product_shop .single_variation_wrap .woocommerce-variation-price,
.single-product-buy-inline .single_variation_wrap .woocommerce-variation-price {
    color: var(--black);
    font-size: 39px;
    font-weight: 800;
    line-height: 120%;
    text-align: right;
}

#single_product_shop .single_variation_wrap .woocommerce-variation-price .price-more-info,
.single-product-buy-inline .single_variation_wrap .woocommerce-variation-price .price-more-info {
    color: var(--black);
    font-size: 15px;
    font-weight: 400;
    line-height: 120%;
}

#single_product_shop .single_add_to_cart_button,
.single-product-buy-inline .single_add_to_cart_button {
    margin-top: 30px;
    width: 100%;
}

#single_product_shop .single_add_to_cart_button.wc-variation-is-unavailable,
.single-product-buy-inline .single_add_to_cart_button.wc-variation-is-unavailable {
    display: none;
    opacity: 0.4;
    cursor: not-allowed;
}

.woocommerce-variation-availability .stock.out-of-stock {
    color: var(--black);
    font-size: 18px;
    font-weight: 400;
    line-height: 120%;
    text-align: center;
    background-color: #efe4d5;
    padding: 20px;
    margin-top: 35px;
    border-radius: 6px;
    width: 100%;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    border: 0;
    color: var(--black);
    background-color: #efe4d5;
    padding: 20px;
    /*border-radius: 8px;*/
    border-radius: 0px;
    font-family: var(--font-family-serif);
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    display: none;
}

#single_product_rel {
    padding-bottom: var(--padd-y-2)
}



/* -------- CART ------- */
.woocommerce table.shop_table {
    /*border-radius: 8px;*/
    border-radius: 0px;
}

.cart_item .product-thumbnail {
    max-width: 50px;
}

#add_payment_method #payment,
.woocommerce-cart #payment {
    border: 0;
    /*border-radius: 8px;*/
    border-radius: 0px;
    color: var(--black);
    background-color: #efe4d5;
}

.woocommerce-checkout #payment {
    border: 0;
    color: var(--black);
    border-top: 1px solid #ccc;
    padding-top: 15px;
    background-color: transparent;
    border-radius: 0;
}

.woocommerce-form-coupon-toggle + p {
    font-size: 14px;
}

.button[name=apply_coupon] {
    border: 0;
    padding: 13px 0 0;
    text-transform: none;
    text-decoration: underline;
}

#payment ul.payment_methods li input {
    vertical-align: middle !important;
    filter: grayscale(1);
}

#payment li.payment_method_stripe_cc .wc-stripe-card-icons-container img.wc-stripe-card-icon {
    max-width: 30px;
}

#cart_product_rel + .return-to-shop {
    text-align: center;
}

.woocommerce table.shop_table {
	border: none;
}

.woocommerce table.cart td.actions {
	padding-top: 35px;
}

.woocommerce table.shop_table td.product-name a {
	font-weight: bold;
}

.woocommerce table.shop_table td.product-name a:hover {
	text-decoration: underline;
}

.woocommerce .cart-collaterals,
.woocommerce table.shop_table,
.cart_totals .wc-proceed-to-checkout {
	text-align: right;
}

.cart_totals .shipping_text {
    text-align: left;
}

.cart_totals .wc-proceed-to-checkout a {
    width: 100%;
}

.woocommerce table.shop_table td small {
	font-size: 12px;
	font-style: italic;
	font-weight: 300;
	display: block;
}

.cart_totals {
	background-color: #efe4d5;
	padding: 20px;
	margin-top: 35px;
	border-radius: 0px;
	width: auto !important;
	min-width: 280px;
}

.cart_totals h2 {
	margin-bottom: 10px;
}


.cart_totals .shipping_text {
	margin-bottom: 25px;
	border-top: 1px var(--main) solid;
	border-bottom: 1px var(--main) solid;
	padding: 15px;
	font-style: italic;
}


/* [NW 5.2 - 2026-04-17] Box coupon sopra a .cart_totals in colonna dx.
   Form renderizzato da nw_cart_coupon_box() via hook woocommerce_cart_collaterals (prio 5).
   Il parent .cart-collaterals diventa flex column align-end per impilare i figli. */
.cart-coupon-box {
	margin: 0 0 25px;
	padding: 0 0 25px;
	border-bottom: 1px solid var(--main);
	text-align: right;
}

.cart-coupon-box h2 {
	margin-bottom: 10px;
	text-align: right;
}

.cart-coupon-box label.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.cart-coupon-box .coupon {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
}

.cart-coupon-box #coupon_code {
	display: block;
	width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 4px 14px;
	color: #333;
	font-size: 16px;
	font-weight: 400;
	line-height: 120%;
	background-color: transparent;
	border: 1px solid #7c7c7c;
	border-radius: 0;
}

.cart-coupon-box #coupon_code::placeholder {
	color: #7c7c7c;
}

.cart-coupon-box .button[name="apply_coupon"] {
	width: 100%;
	min-width: 0;
	padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
	border: 1px solid var(--black);
	text-transform: uppercase;
	text-decoration: none;
}


/* -------- CHECKOUT ------- */
.woocommerce-checkout {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.woocommerce-checkout #order_review_heading {
    display: none;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-checkout-review-order {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}

.woocommerce-checkout .woocommerce-checkout-review-order {
	margin-top: 25px;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    width: 100%;
    float: none;
}

.woocommerce form .form-row .required {
    color: var(--main);
}

.woocommerce form .form-row label:not(.checkbox) {
    font-weight: 800;
    color: initial;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    min-height: 40px;
    color: #7c7c7c;
    font-size: 16px;
    font-weight: 400;
    line-height: 120%;
    text-align: left;
    background-color: transparent;
    padding: 4px;
    /*border-radius: 8px;*/
    border-radius: 0px;
    border: 1px solid #7c7c7c !important;
    margin-bottom: 0.8em;
    height: auto;
}

.woocommerce-form-login .form-row,
.checkout_coupon.woocommerce-form-coupon .form-row {
	float: none !important;
	width: 100% !important;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: block;
	margin-bottom: 25px !important;
}

.woocommerce .woocommerce-form-login .form-row-first,
.checkout_coupon.woocommerce-form-coupon .form-row-first {
	margin-top: 25px;
}

.woocommerce .wc-social-login.form-row-wide p {
	margin-bottom: 25px;
}

.woocommerce #customer_login .wc-social-login {
	margin-top: 35px;
}

.lost_password a {
	text-decoration: underline;
}

.lost_password a:hover {
	text-decoration: none;
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    margin-bottom: 45px;
    padding: 0 0 15px;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    /*border-radius: 8px;*/
    border-radius: 0px;
    background-color: var(--sand);
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

#createaccount + span {
    font-weight: 700;
}

#page .woocommerce .woocommerce-form.woocommerce-form-register.register .woocommerce-privacy-policy-text {
	font-size: 12px;
	line-height: 120%;
	margin-bottom: 25px;
	margin-top: 5px;
}

.woocommerce .woocommerce-checkout .col2-set .col-1,
.woocommerce .woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
}

.woocommerce .woocommerce-checkout .col2-set .col-1 {
    margin-bottom: 30px;
}

#thwmscf_wrapper #thwmscf-tabs .thwmscf-tab-icon {
	color: #999;
	background-color: var(--sand);
	border-color: #999;
}

.thwmscf-content {
	width: 100%;
}

#thwmscf_wrapper #thwmscf-tabs .active .thwmscf-tab-icon {
	color: #fff;
	background-color: #000;
	border: #000;
}

#coupon_code {
    margin-top: 7px;
	border-color: #7c7c7c;
}

.woocommerce-info a {
	text-decoration: underline !important;
    font-weight: 700;
}

.woocommerce-info a:hover {
	text-decoration: none !important;
}

.thwmscf-wrapper #payment .place-order {
	text-align: left;
}

.thwmscf-buttons .button-prev.thwmscf-first-prev,
.thwmscf-buttons .button-next.thwmscf-last-next,
.thwmscf-buttons .button-prev.thwmscf-first-prev:hover,
.thwmscf-buttons .button-next.thwmscf-last-next:hover {
	border-color: #999;
	color: #999;
	background-color: var(--sand);
}

.checkout-coupon-toggle {
	display: none !important;
}

.coupon-form {
	display: block !important;
}

.thwmscf-tab-panel h3,
.wpmc-step-item h3 {
	margin-bottom: 25px;
}

#payment .woocommerce-privacy-policy-text,
#payment .validate-required {
    text-align: left;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    margin-top: 30px;
    width: 100%;
    float: none;
}


/* -------- ACCOUNT ------- */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    /*border-radius: 8px;*/
    border-radius: 0px;
    border: 1px solid #e5ded2;
}

/* WPC Back in Stock — My Account table */
.wpcbs-my-account-content table.shop_table {
    margin-top: 2rem;
}
.wpcbs-my-account-content table.shop_table th,
.wpcbs-my-account-content table.shop_table td {
    text-align: left;
    padding: 1em 0;
}
.wpcbs-unsubscribe-button {
    color: currentcolor !important;
}
.wpcbs-status-badge {
    background: transparent !important;
    border: 1px solid;
    color: currentColor !important;
}
.wpcbs-my-account-content .woocommerce-orders-table__cell br {
    display: none;
}

.woocommerce-MyAccount-navigation {
    position: relative;
    margin-bottom: var(--padd-y);
    border-bottom: 1px solid #e5ded2;
}

/*
.woocommerce-MyAccount-navigation::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 62px;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--sand));
}
*/

.woocommerce-MyAccount-navigation ul {
    border: 0;
    color: var(--black);
    background-color: transparent;
    padding: 0 0 12px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    column-gap: 20px;
    row-gap: 12px;
    overflow-x: auto;
/*    padding-right: 62px;*/
    
    background-image: 
	
    /* Shadows */ 
    linear-gradient(to right, var(--sand), var(--sand)),
    linear-gradient(to right, var(--sand), var(--sand)),
  
    /* Shadow covers */ 
    linear-gradient(to right, rgba(0,0,0,.25), rgba(255,255,255,0)),
    linear-gradient(to left, rgba(0,0,0,.25), rgba(255,255,255,0));   

    background-position: left center, right center, left center, right center;
	background-repeat: no-repeat;
	background-color: var(--sand);
	background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
	
	/* Opera doesn't support this in the shorthand */
	background-attachment: local, local, scroll, scroll;
}

.woocommerce-MyAccount-navigation ul li {
    flex: 0 0 auto;
}

.woocommerce-MyAccount-navigation ul a {
    color: var(--black);
    font-size: 18px;
    font-weight: 800;
    line-height: 110%;
    /*text-transform: uppercase;*/
}

.woocommerce-MyAccount-navigation ul a:hover {
    text-decoration: none;
}

.woocommerce-MyAccount-navigation ul .is-active a {
    color: var(--main);
}

.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-left: auto;
}

.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--customer-logout a {
    font-size: 16px;
    font-weight: 700;
    text-transform: capitalize;
    text-decoration: underline;
}

.woocommerce-Addresses .title {
    font-size: calc(var(--font-size-text) * 2);
    font-weight: 800;
    line-height: 110%;
    margin-bottom: 30px;
}

.woocommerce-Addresses .title .edit {
    font-size: var(--font-size-text);
    font-weight: 700;
    line-height: 110%;
    text-decoration: underline;
}

.woocommerce-MyAccount-content #add_payment_method #payment {
    padding: 30px;
}

.woocommerce-MyAccount-content .wc-social-login-profile {
    margin-top: var(--padd-y);
}

.woocommerce-MyAccount-content .wc-social-login-profile .js-show-available-providers {
    font-weight: 700;
    text-decoration: underline;
}

.woocommerce table.shop_table.wc-social-login-linked-profiles {
    text-align: left;
    margin: 30px 0 60px;
}

.woocommerce-form-login-toggle a,
.woocommerce-form-coupon-toggle a {
	text-decoration: underline;
}

.woocommerce-form-login-toggle a:hover,
.woocommerce-form-coupon-toggle a:hover {
	text-decoration: none;
}

.wpmc-step-item {
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
}

.wpmc-step-review {
	padding-left: 0;
	padding-right: 0;
}

.wpmc-tabs-wrapper .wpmc-tab-item.current .wpmc-tab-number {
	background: #000;
	color: #fff !important;
}

#checkout_coupon .checkout_coupon.woocommerce-form-coupon {
	display: block !important;
}

.woocommerce-form-coupon-toggle {
	display: none !important;
}

.woocommerce-input-wrapper textarea#billing_wooccm13 {
	min-height: 120px;
}

/* -------- MAPS ------- */
#maps_page {
    margin-top: var(--header-all-h);
}

#bigMaps {
    position: relative;
    width: 100%;
    height: 60vh;
    overflow: hidden;
}

#maps_aside {
    display: none;
}

#aside_detail {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 100%;
    width: 100%;
    height: 100%;
    z-index: 2;
    overflow-y: auto;
    background-color: var(--sand);
    will-change: transform;
    transform: translateX(-100%);
    transition: transform 0.5s cubic-bezier(0.25,0.74,0.22,0.99);
}

#aside_detail.in {
    transform: translateX(0);
    box-shadow: rgba(0,0,0,0.3) 0px 1px 4px -1px;
}

#aside_detail #aside_detail_header {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 50%;
}

#aside_detail #aside_detail_header::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135.02deg, rgba(0, 0, 0, 0.6) 4%, rgba(0, 0, 0, 0) 47%);
}

#aside_detail #back_link {
    font-weight: 600;
    font-size: 11px;
    line-height: 124%;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--black);
    display: inline-block;
}

#aside_detail .aside-info {
    padding: 20px;
}

#aside_detail #aside_detail_title {
    margin-bottom: 13px;
    /*text-transform: uppercase;*/
}

#bigMaps #maps {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    color: #D9E2E8;
    height: 100%;
    background-color: #D9E2E8;
}

#bigMaps #maps .big-map {
    width: 100%;
    height: 100%;
    border: 0;
    margin: 0;
}


#bigMaps #maps .big-map > div {
    background-color: #D9E2E8 !important
}

#bigMaps #close_maps {
    user-select: none;
    position: absolute;
    z-index: 1;
    top: 21px;
    right: 11px;
    width: 40px;
    height: 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

#bigMaps #close_maps svg {
    width: 16px;
    height: auto;
}

.nw-maps .gm-style .gm-style-iw-chr {
    display: none !important;
}

.nw-maps .gm-style .gm-style-iw-c {
    padding: 0;
    margin: 0;
    border-radius: 10px;
    box-shadow: 0px 4px 20px rgb(0 0 0 / 25%);
    max-width: 75vw !important;
    width: 240px;
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: "Nunito Sans", sans-serif;
    font-weight: 300;
}

.nw-maps .gm-style .gm-style-iw-c > div,
.nw-maps .gm-style .gm-style-iw-c > div > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: auto;
}

.nw-maps .gm-style .gm-style-iw-c .infowindow-trigger {
    position: absolute;
    width: 95%;
    height: 100%;
    z-index: 1;
    display: block;
    cursor: pointer;
    color: var(--black);
}

.nw-maps .gm-style .gm-style-iw-c .txt-wrp {
    padding-left: 15px;
    color: var(--black);
}

.nw-maps .gm-style .gm-style-iw-c .txt-wrp .marker-tt {
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    font-family: var(--font-family-serif);
    /*text-transform: uppercase;*/
}

.nw-maps .gm-style .gm-style-iw-c .txt-wrp .marker-text {
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
}

.nw-maps .gm-style .gm-style-iw-c .txt-wrp .marker-link {
    width: 28px;
    height: 28px;
    display: block;
    margin-top: 6px;
    background: url(../img/icon-link.svg) no-repeat right center / 28px auto;
}

.store-infowindow {
    padding: 0 1rem;
    min-width: 140px;
}
.store-iw-name {
    font-size: var(--fs-14);
    font-weight: 700;
    font-family: var(--font-family-serif);
    color: var(--main-dark);
    line-height: 1.3;
    margin-bottom: 2px;
}
.store-iw-location {
    font-size: var(--fs-13);
    color: var(--main-dark);
    opacity: 0.6;
}



/* -------- CONTACTS ------- */
.form-wrapper {
    display: block;
    padding: 36px 24px;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.form .gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 22px;
}

.form .gform_required_legend {
    display: none;
}

.form .gform_wrapper.gravity-theme input[type=month],
.form .gform_wrapper.gravity-theme input[type=tel],
.form .gform_wrapper.gravity-theme input[type=text],
.form .gform_wrapper.gravity-theme select,
.form .gform_wrapper.gravity-theme .gfield textarea {
    appearance: none;
    font-weight: 400;
    font-size: 16px;
    line-height: 188%;
    color: currentColor;
    border-radius: 2px;
    padding: 12px;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.20);
    background-color: transparent;
}

.form .gform_wrapper.gravity-theme select {
    padding-right: 26px !important;
    background: url("data:image/svg+xml,%3Csvg width='15' height='9' viewBox='0 0 15 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7.73723 8L14.4745 1' stroke='black' stroke-opacity='0.5'/%3E%3C/svg%3E%0A") no-repeat right 8px center / 15px 9px;
}

.form .gform_wrapper.gravity-theme .gfield textarea {
    height: 125px;
    resize: none;
}

.form .gform_wrapper.gravity-theme .gfield_consent_description {
    border: 0;
    color: #000;
    font-size: 10px;
    font-weight: 400;
    line-height: 160%;
}

.form .gform_wrapper.gravity-theme .gfield_consent_description a {
    text-decoration: underline;
}

.form .gform_wrapper.gravity-theme .ginput_container_consent {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 12px;
    font-size: 11px;
}

.form .gform_wrapper.gravity-theme .ginput_container_consent .gfield_required {
    display: none;
}

.form .gform_wrapper.gravity-theme .gform_footer .gform-button--width-full {
    --bs-btn-color: var(--white);
    --bs-btn-bg: var(--main);
    --bs-btn-border-color: var(--main);
    margin-top: 36px;
}

.form .gform_wrapper.gravity-theme .gform_footer .gform-button--width-full:hover {
    opacity: 0.85;
}

.form .gform_wrapper.gravity-theme .gform_validation_errors {
    padding: 0;
    border: 0;
    box-shadow: none;
    background-color: transparent;
    margin-bottom: 30px;
}

.form .gform_wrapper.gravity-theme .gfield_validation_message,
.form .gform_wrapper.gravity-theme .validation_message {
    padding: 0;
    border: 0;
    background-color: transparent;
    font-size: 12px;
    font-weight: 600;
}


/* -------- CURSOR ------- */
.cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--sand);
    z-index: 1013;
    user-select: none;
    pointer-events: none;
    mix-blend-mode: difference;
    transform: scale(0);
}

.follower {
    position: fixed;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 1px solid #424242;
    opacity: 0;
    user-select: none;
    pointer-events: none;
    mix-blend-mode: difference;
    z-index: 1012;
    transform: scale(0);
}


.woocommerce .woocommerce-order .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
	margin-bottom: 25px;
	font-weight: bold;
}

.woocommerce .woocommerce-order .woocommerce-column--billing-address,
.woocommerce .woocommerce-order .woocommerce-column--shipping-address {
	float: right;
	width: auto;
	margin-left: 5vw;
}


.woocommerce .woocommerce-order td.product-name .wc-item-meta .wc-item-meta-label {
	float: none;
}

.woocommerce-order .woocommerce-customer-details,
.woocommerce .woocommerce-order .woocommerce-customer-details address,
.woocommerce .woocommerce-order .woocommerce-order-details__title {
	text-align: right;
}

.woocommerce .woocommerce-order table.shop_table td {
	vertical-align: top;
	line-height: 160%;
}

.woocommerce .woocommerce-order .woocommerce-customer-details address {
	border: none;
	border-radius: 0;
}

.woocommerce .optional,
.woocommerce .required {
	display: none !important;
}

.woocommerce .validate-required label::after,
.woocommerce .form-row:has([data-required="1"]) label::after {
	content: '*';
    font-size: 90%;
    color: #888;
}

.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
    width: 100%;
}

.payment_box.payment_method_ppcp {
    display: none !important;
}


/* -------- SOCIAL LOGIN ------- */
.button-social-login {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.76 !important;
    padding: 6px 45px !important;
    background-color: transparent !important;
    color: #000 !important;
    border-radius: 50px !important;
    border: 1px solid currentColor !important;
    margin-right: 1em !important;
}

.button-social-login .si {
    width: 1em !important;
    height: 1em !important;
    background-color: transparent !important;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain !important;
}


/* -------- POPUP ------- */
#popup {
    position: fixed;
    z-index: 100;
    bottom: 5px;
    left: 0;
    width: 94%;
    max-width: 350px;
    background-color: #fff;
    border-top: 3px solid var(--main);
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-content: center;
    box-shadow: 0 0 26px rgb(0 0 0 / 0.5);
    height: 270px;
    left: 3%;
    top: calc(50% - 100px);
}

#popup #popClose {
    position: absolute;
    top: 0;
    right: 0;
    width: 26px;
    height: 26px;
    line-height: 21px;
    font-size: 24px;
    text-align: center;
    display: block;
    color: #fff;
    font-weight: 400;
    background-color: var(--main);
}

#popup .figure {
    /*-ms-flex: 0 0 30%;
    flex: 0 0 30%;*/
    width: 100%;
    /*max-width: 30%;*/
    display: block;
    background: #ddd no-repeat center / cover;
}

#popup .pop-cnt {
    font-size: 14px;
    padding: 15px;
    padding-top: 45px;
}

#popup .pop-tt {
    padding-right: 15px;
    font-weight: 700;
    font-size: 110%;
    margin-bottom: 5px;
}

#popup .pop-link {
    margin-top: 10px;
    color: #e53677;
    font-weight: 700;
    display: inline-block;
}

/* -------- MEDIA QUERY ------- */
@media screen and (min-width:576px) {

    .products .product {
        width: 50%;
    }

    .products .product a .woocommerce-loop-product__title {
        font-size: min(max(20px,1.46vw),28px);
    }

    .products .product a .archive-price {
        font-size: min(max(14px,0.83vw),16px);
    }
}


@media screen and (min-width:768px) and (min-height:415px) {
    :root {
        --font-size-title: 46px;
    }

/*    .title-sm {
        font-size: calc(var(--font-size-title) * 0.5);
    }*/
	
	#drawer_content {
		padding-bottom: 40px;
	}
    
    .products .product {
        width: 33.33333333%;
    }
    
    #single_product_intro_title {
        padding: var(--padd-y) 0;
    }
    
    #single_product_intro_figure,
    #single_product_intro_title {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
/*        min-height: calc(100vh - var(--header-all-h));*/
        min-height: 100vh;
    }
    
    #single_product_intro_figure {
/*
        position: -webkit-sticky;
        position: sticky;
        top: var(--header-all-h);
*/
    }
    
    .woocommerce-checkout #payment div.form-row {
	    padding: 0;
	    text-align: right;
	    font-size: 14px;
	    line-height: 130%;
    }
    
    #payment .validate-required {
	    padding: 0;
	    margin-top: 15px;
	    margin-bottom: 30px;
    }
    
    .woocommerce form.checkout_coupon {
	    display: block !important;
	    border: none;
	    background-color: #efe4d5;
	    margin-bottom: 50px;
    }
    
    .woocommerce form.checkout_coupon input.input-text {
	    color: #333;
    }
    
    .checkout.woocommerce-checkout h3 {
	    margin-bottom: 15px;
    }
    
    .woocommerce table.shop_table th {
	    /*text-transform: uppercase;*/
	    padding-bottom: 10px;
	    padding-top: 10px;
	    font-size: 15px;
    }
    
    
    
    .woocommerce-shipping-fields .shipping_address {
	    display: none;
    }
    
    .woocommerce-shipping-fields .shipping_address.visible {
	    display: block;
    }
    
    
    #awards_grid ul {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    #bigMaps {
        height: calc(100vh - var(--header-all-h));
    }
    
    #bigMaps #maps {
        left: 320px;
        width: calc(100% - 320px);
    }
    
    #maps_aside {
        position: relative;
        display: block;
        width: 340px;
        height: 100%;
        overflow-y: auto;
        padding: 16px 14px;
    }

    #maps_aside #pois {
        display: block;
    }

    #maps_aside .poi-item {
        padding: 20px 22px;
        border: 1px solid #E5E5E5;
        border-radius: 0;
        background-color: transparent;
        transition: border-color .2s var(--transition-timing), box-shadow .2s var(--transition-timing);
    }

    #maps_aside .poi-item + .poi-item {
        margin-top: 12px;
    }

    #maps_aside .poi-item:hover {
        border-color: var(--main-dark, #453D30);
        box-shadow: 0 2px 8px rgba(0,0,0,.06);
    }

    #maps_aside li .poi-link {
        display: block;
        width: 100%;
    }

    #maps_aside li .poi-link:hover {
        color: var(--main);
    }

    #maps_aside .poi-txt {
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(0,0,0,.08);
        font-size: 13px;
        line-height: 150%;
        color: rgba(0,0,0,.72);
    }

    #maps_aside .poi-txt:empty {
        display: none;
    }

    #maps_aside .poi-txt strong {
        font-weight: 600;
    }

    /* testo ACF inizia spesso con <strong>Nome store</strong>: nascosto per evitare duplicazione col poi-tt */
    #maps_aside .poi-txt > strong:first-child,
    #maps_aside .poi-txt > p:first-child strong:first-child,
    #maps_aside .poi-txt > strong:first-child + br {
        display: none;
    }
    
    #maps_aside .fig-wrp {
        flex: 0 0 25%;
        width: 25%;
    }
    
    #maps_aside .figure {
        width: 100%;
        height: 0;
        padding-top: 80%;
        background-color: #E5E5E5;
    }
    
    #maps_aside .txt-wrp {
        flex: 1 0 0%;
        width: 100%;
        max-width: 100%;
        /* arrow chevron rimosso: contenuto inline nella card */
    }
    
    #maps_aside .poi-tt {
        font-weight: 700;
        font-size: 22px;
        line-height: 130%;
        margin-bottom: 4px;
        color: var(--main-dark, #453D30);
        font-family: var(--font-family-serif);
    }
    
    #bigMaps #close_maps {
        top: 0;
        right: 0;
        box-shadow: rgb(0 0 0 / 30%) 0px 1px 4px -1px;
        border-radius: 2px;
    }
    
    #bigMaps #maps {
        height: 100%;
        top: 0;
    }
    
    .nw-maps .gm-style .gm-style-iw-c .gm-style-iw-d {
        margin-bottom: -12px !important;
    }
    
    #front_lines .section-line .figure {
        min-height: calc(100vh - var(--header-main-h) * 2);
    }
    
    #front_lines .section-marquee {
        left: -38vw;
    }

    #customer_login.col2-set {
        display: flex;
        flex-direction: row;
        column-gap: 30px;
    }

    #customer_login.col2-set::before,
    #customer_login.col2-set::after {
        display: none;
    }

    #customer_login.col2-set .col-1,
    #customer_login.col2-set .col-2 {
        flex: 1 0 0%;
    }
    
}


@media screen and (min-width:679px) {
	#customer_login .u-column1.col-1,
	#customer_login .u-column2.col-2 {
		width: 46% !important;
	}
	
	#popup {
	    max-width: 480px;
        width: 480px;
        height: 260px;
        left: calc(50% - 240px);
        top: calc(50% 130px);
    }
    
    #popup .pop-tt {
	    font-size: 140%;
	    margin-bottom: 15px;
	    line-height: 120%;
    }
    
    #popup .pop-cnt {
	    font-size: 14px;
	    line-height: 130%;
    }
    
}


@media screen and (min-width:992px) {
    :root {
        --font-size-title: 52px;
    }
    
    .text-lg {
        font-size: calc(var(--font-size-text) * 1.15);
    }
    
    .alternate .row,
    .figures-2 .row {
        --bs-gutter-x: var(--padd-y);
    }
    
    .figures-2 .mt-5 {
        margin-top: var(--padd-y) !important;
    }

    .collapse.dont-collapse-lg {
        display: block;
        height: auto !important;
        visibility: visible;
    }

    .footer-v-line {
        position: relative;
        top: -70px;
        display: block;
        width: 1px;
        height: calc(100% + 140px);
        margin: auto;
        background: #898989;
    }
    
    .cart_totals {
	    min-width: 460px;
    }
    
    #hamburger .hamburger-icon {
        width: 50px;
        flex-basis: 50px;
    }

    #hamburger .hamburger-icon span:nth-child(1) {
        top: 50%;
    }

    #hamburger .hamburger-icon span:nth-child(2) {
        top: 70%;
    }
    
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout .woocommerce-checkout-review-order {
        flex: 0 0 auto;
        width: 55%;
    }
    
    .woocommerce-checkout .woocommerce-checkout-review-order {
	    width: 38%;
	    margin-left: 6%;
	    background-color: #efe4d5;
	    padding: 20px;
	    /*border-radius: 8px;*/
        border-radius: 0px;
    }
    
}


@media screen and (min-width:1200px) {
    :root {
        --font-size-title: 70px;
        --padd-y: 90px;
    }
    
    #header {
        --icon-size: 22px;
    }
    
    .social-link {
        --icon-size: 42px;
    }
    
    .text-lg {
        font-size: calc(var(--font-size-text) * 1.37);
    }
    
    #bigMaps #maps {
        left: 442px;
        width: calc(100% - 442px);
    }
    
    #page.archive-maps {
        padding-top: 60px;
    }
    
    #maps_aside,
    #aside_detail {
        width: 442px;
    }
    
    #aside_detail .aside-info {
        padding: 45px 20px;
    }
    
}


@media screen and (min-width:1400px) {
    :root {
        --header-main-h: 70px;
    }
}


@media screen and (min-width:1600px) {
    :root {
        --padd-y: 100px;
        --font-size-title: 78px;
        --font-size-text: 17px;
    }
    
    .container {
        max-width: 1560px;
    }
    
    .isNotTouchDevice .products-rel .rel-prod-link .figure {
        --figure-size: 370px;
    }
    
    .btn.mt-5 {
        margin-top: 5rem !important;
    }
    
    .text + .btn,
    .title + .btn {
        margin-top: 5em; 
    }
}


@media screen and (min-width: 1860px) {
    :root {
        --font-size-title: 86px;
        --font-size-text: 18px;
    }
    
    .isNotTouchDevice .products-rel .rel-prod-link .figure {
        --figure-size: 400px;
    }
    
    .social-link {
        --icon-size: 52px;
    }
}



/* -------- EXTRA ------- */
/**
 * Swiper 10.0.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 8, 2023
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;overflow:clip;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}


/* fancyBox v3.5.7 */
body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}



/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/
.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}

/* spinner */
.spinner{width:50px;height:16px;text-align:center;font-size:10px;position:relative;top:30px;margin:-8px auto 100px}.spinner>div{background-color:currentColor;height:100%;width:1px;display:inline-block;-webkit-animation:1.2s ease-in-out infinite stretchdelay;animation:1.2s ease-in-out infinite stretchdelay}.spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.spinner .rect3{-webkit-animation-delay:-1s;animation-delay:-1s}.spinner .rect4{-webkit-animation-delay:-.9s;animation-delay:-.9s}.spinner .rect5{-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes stretchdelay{0%,100%,40%{-webkit-transform:scaleY(.4)}20%{-webkit-transform:scaleY(1)}}@keyframes stretchdelay{0%,100%,40%{transform:scaleY(.4);-webkit-transform:scaleY(.4)}20%{transform:scaleY(1);-webkit-transform:scaleY(1)}}
/* ── Back-in-stock notify modal ─────────────────────────────────────────── */
#nw-notify-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
}
#nw-notify-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}
.nw-notify-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.5);
}
.nw-notify-modal__dialog {
    position: relative;
    background: var(--white);
    padding: 2rem;
    width: min(90vw, 420px);
    z-index: 1;
}
.nw-notify-modal__close {
    position: absolute;
    top: .75rem;
    right: .75rem;
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: var(--gray, #7c7c7c);
}
.nw-notify-modal__title {
    font-size: var(--fs-16, 1rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 1.25rem;
}
.nw-notify-modal__form {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.nw-notify-modal__email {
    width: 100%;
    border: 1px solid #7c7c7c;
    padding: .65em .8em;
    font-size: var(--fs-14, .875rem);
    font-family: inherit;
    outline-offset: 2px;
}
.nw-notify-modal__submit {
    background: var(--black);
    color: var(--white);
    border: none;
    padding: .75em 1.5em;
    font-size: var(--fs-13, .8125rem);
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity .15s;
}
.nw-notify-modal__submit:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.nw-notify-modal__msg {
    margin-top: .75rem;
    font-size: var(--fs-13, .8125rem);
    padding: .5em .75em;
}
.nw-notify-modal__msg--success {
    color: #166534;
    background: #dcfce7;
}
.nw-notify-modal__msg--error {
    color: #7f1d1d;
    background: #fee2e2;
}
/* ─────────────────────────────────────────────────────────────────────────── */

/* ── Single product back-in-stock notify button ─────────────────────────── */
.nw-notify-single-wrap {
    margin-top: 1rem;
}
.nw-single-notify-btn {
    display: block;
    width: 100%;
    padding: .85em 1.5em;
    background: transparent;
    border: 1px solid var(--black);
    color: var(--black);
    font-size: var(--fs-13);
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.nw-single-notify-btn:hover {
    background: var(--black);
    color: var(--white);
}
.nw-single-notify-btn.is-notified {
    opacity: .55;
    cursor: default;
    pointer-events: none;
}

/* ── Store Locator ─────────────────────────────────────────────────────────── */
#store_locator {
    width: 100%;
    height: 100svh;
    display: flex;
    flex-direction: column;
}

.store-search-block {
    padding-top: var(--padd-y-2);
    padding-bottom: clamp(1.5rem, 4vw, 3rem);
}

.store-filters-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 1.25rem;
    justify-content: center;
}

.mobile-btns {
    display: none;
}

.store-view-btn {
    flex: 1;
    padding: 0.55em 1em;
    border: 1px solid var(--main-dark);
    background: transparent;
    color: var(--main-dark);
    font-family: inherit;
    font-size: var(--fs-15);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s var(--transition-timing), color 0.2s var(--transition-timing);
}

.store-view-btn.is-active {
    background: var(--main-dark);
    color: var(--white);
}

.store-filter-group {
    position: relative;
}

.store-filter-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0.45em 1em;
    border: 1px solid var(--main);
    background: transparent;
    color: var(--main-dark);
    font-family: inherit;
    font-size: var(--fs-15);
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s var(--transition-timing), border-color 0.2s var(--transition-timing), color 0.2s var(--transition-timing);
}

.store-filter-btn::after {
    content: '';
    display: inline-block;
    width: 0.4em;
    height: 0.4em;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s var(--transition-timing);
}

.store-filter-group.is-open .store-filter-btn::after {
    transform: rotate(-135deg) translateY(2px);
}

.store-filter-group.has-filters .store-filter-btn,
.store-filter-group.is-open .store-filter-btn {
    background: var(--main-dark);
    border-color: var(--main-dark);
    color: var(--white);
}

.store-filter-count {
    background: var(--sand);
    color: var(--main-dark);
    border-radius: 999px;
    padding: 0 0.45em;
    font-size: var(--fs-13);
    font-weight: 700;
    min-width: 1.4em;
    text-align: center;
    line-height: 1.6;
}

.store-filter-panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 190px;
    background: var(--white);
    border: 1px solid var(--gray);
    padding: 0.75rem 1rem;
    z-index: 100;
    display: none;
    flex-direction: column;
    gap: 0.6rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.store-filter-group.is-open .store-filter-panel {
    display: flex;
}

.store-filter-panel label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: var(--fs-15);
    color: var(--main-dark);
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
}

.store-filter-panel input[type="checkbox"] {
    accent-color: var(--main-dark);
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    cursor: pointer;
}

.store-search-input {
    display: block;
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    border: 0;
    border-bottom: 1px solid var(--main);
    background: transparent;
    padding: 0.5em 0;
    font-size: var(--fs-20);
    font-family: inherit;
    color: var(--main-dark);
    outline: none;
    text-align: left;
}

.store-search-input::placeholder {
    color: var(--main);
}

.store-locator-body {
    display: flex;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

.store-result-listing {
    width: 40%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

.store-result-listing::-webkit-scrollbar {
    display: none;
}

.store-result-count {
    font-size: var(--fs-13);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--main);
    padding: 0 1.5rem 1rem;
    flex-shrink: 0;
}

.store-list {
    list-style: none;
    padding: 0 1.5rem 2rem;
    margin: 0;
    overflow-y: auto;
    flex: 1;
    scrollbar-width: none;
}

.store-item {
    padding: 20px 22px;
    border: 1px solid #E5E5E5;
    background: var(--sand);
    cursor: pointer;
    transition: border-color 0.2s var(--transition-timing), box-shadow 0.2s var(--transition-timing);
}

.store-item + .store-item {
    margin-top: 12px;
}

.store-item:hover,
.store-item.is-active {
    border-color: var(--main-dark);
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.store-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.25rem;
}

.store-item-type {
    display: none;
}

.store-item-location {
    font-size: var(--fs-16);
    color: var(--main-dark);
}

.store-item-name-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}

.store-item-name {
    font-size: var(--fs-24);
    font-weight: 700;
    font-family: var(--font-family-serif);
    color: var(--main-dark);
    line-height: 1.4;
    margin-bottom: 0;
}

.store-item-type-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--main-dark);
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.4;
}

.store-item-detail {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,.08);
    font-size: 13px;
    line-height: 1.5;
    color: rgba(0,0,0,.72);
}

.store-item-detail:empty {
    display: none;
}

.store-item-detail strong {
    font-weight: 600;
}

.store-item-detail p {
    margin-bottom: 0.4em;
}

.store-item-detail p:last-child {
    margin-bottom: 0;
}

.store-item-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2rem;
}

.store-item-pill {
    display: inline-block;
    padding: 0.2em 0.75em;
    border-radius: 2px;
    font-size: var(--fs-13);
    background-color: var(--main);
    line-height: 1.6;
    white-space: nowrap;
    color: var(--white);
}


.store-map-section {
    flex: 1;
    position: relative;
}

#store_map {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Complianz placeholder bg → colore acqua mappa */
.store-map-section .cmplz-placeholder-element > div {
    background-color: #D9E2E8 !important;
}

#store_locator a[href^="https://maps.google.com/maps"],
#store_locator .gm-style-cc,
#contact-map a[href^="https://maps.google.com/maps"],
#contact-map .gm-style-cc {
    display: none !important;
}

/* Mobile */
@media (max-width: 991px) {
    #store_locator {
        height: auto;
    }

    .store-locator-body {
        flex-direction: column;
        overflow: visible;
    }

    .store-map-section {
        display: none;
    }

    #store_locator.show-map .store-map-section {
        display: block;
        min-height: 70svh;
        flex-shrink: 0;
    }

    #store_locator.show-map .store-result-listing {
        display: none;
    }

    .store-result-listing {
        width: 100%;
        border-right: none;
        height: auto;
        overflow: visible;
    }

    .store-result-count {
        padding-top: 0;
    }

    .store-list {
        overflow-y: visible;
    }

    .mobile-btns {
        display: flex;
        gap: 8px;
        margin-top: 1.25rem;
    }

    .store-filters-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .store-filter-group {
        width: 100%;
    }

    .store-filter-btn {
        width: 100%;
        justify-content: center;
    }
}
/* ─────────────────────────────────────────────────────────────────────────── */
/* ─────────────────────────────────────────────────────────────────────────── */
