/** Shopify CDN: Minification failed

Line 276:2 Unexpected "{"
Line 276:3 Expected identifier but found "%"
Line 277:37 Expected identifier but found whitespace
Line 279:29 Expected identifier but found whitespace
Line 280:3 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:copyright-bar (INDEX:7) */
/* Copyright e credits ravvicinati, separati da un pallino.

     Il contenitore ha gap 2.5rem da 768px in su: troppo, una volta che i due
     gruppi sono separati da un segno. Si porta allo stesso 0.625rem gia' usato
     sotto quella soglia, cosi' il pallino resta equidistante dai due testi:
     0.625rem dal gap a sinistra, altrettanti dal margine a destra. */
  /* .kt-rte in piu nel selettore: il tema porta il gap a 2.5rem dentro una
     media query da 768px, e a parita di peso vincerebbe lei. Con una classe
     aggiuntiva la precedenza e nostra senza dipendere dall ordine dei file. */
  .kt-footer-bottom__links .kt-copyright.kt-rte {
    gap: 0.625rem;
  }

  .kt-copyright .kt-credits::before {
    content: "·";
    /* seconda dichiarazione: stesso pallino ma con testo alternativo vuoto, cosi'
       i lettori di schermo non lo annunciano. I browser che non la conoscono
       ignorano questa riga e tengono quella sopra. */
    content: "·" / "";
    margin-inline-end: 0.625rem;
  }

  /* Sotto i 768px i due gruppi vanno a capo uno sotto l'altro: il pallino
     aprirebbe la seconda riga, quindi sparisce. */
  @media screen and (max-width: 767px) {
    .kt-copyright .kt-credits::before {
      content: none;
      margin-inline-end: 0;
    }
  }
/* END_SECTION:copyright-bar */

/* START_SECTION:drawer-navigation (INDEX:10) */
/*
    Spaziatura uniforme fra le voci del menu mobile.
    Solo i link che aprono una schermata hanno la classe .kt-link-arrow, che in
    theme.css li rende inline-flex. Tutti gli altri (il terzo livello e i
    "Vedi tutto") restano <a> inline, e un inline ignora il padding verticale:
    risultavano visibilmente piu' stretti. Qui li allineiamo alla resa
    maggiore, che e' quella dei link con freccia.
  */
  mobile-navigation .kt-site-nav li > a.kt-menu-link {
    display: inline-flex;
    align-items: flex-start;
    width: 100%;
  }

  /* Menu mobile a schermate (wireframe 2.4): "Vedi tutto" e gruppi di terzo livello */
  .kt-menu-view-all {
    margin-bottom: 0.4em;
  }

  .kt-menu-group-title {
    margin-top: 1.4em;
    margin-bottom: 0.2em;
    opacity: 0.55;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }

  .kt-menu-view-all + .kt-menu-group-title,
  .kt-menu-group-title:first-child {
    margin-top: 0.6em;
  }

  /* Riga azioni: Account · Cerca · Lingua */
  .kt-drawer-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    /* il padding laterale arriva gia' da .kt-sidebar__footer */
    padding-bottom: var(--sidebar-gutter);
    margin-bottom: var(--sidebar-gutter);
    border-bottom: 1px solid var(--color-scheme-text-opacity-15);
  }

  .kt-drawer-actions__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.5rem 0.875rem;
    border: 1px solid var(--color-scheme-text-opacity-15);
    border-radius: var(--border-radius-buttons);
    color: var(--color-scheme-text);
    line-height: 1;
    cursor: pointer;
  }

  .kt-drawer-actions__icon {
    display: flex;
    --icon-width: min(1em, 16px);
  }

  .kt-drawer-actions__icon svg {
    width: var(--icon-width);
    height: auto;
  }

  .kt-drawer-actions__item--locale {
    padding-block: 0.35rem;
  }

  /* il form lingua dentro la pillola non deve portarsi dietro i margini del footer */
  .kt-drawer-actions__item--locale .kt-localization-form,
  .kt-drawer-actions__item--locale .kt-localization-form__item {
    margin: 0;
  }

  .kt-sidebar__logo {
    display: block;
    width: var(--drawer-logo-width, 100%);
    margin-bottom: var(--sidebar-gutter);
  }

  .kt-sidebar__logo img {
    display: block;
    width: 100%;
    height: auto;
  }
/* END_SECTION:drawer-navigation */

/* START_SECTION:locale-suggestion (INDEX:23) */
.kt-locale-suggestion {
    position: fixed;
    z-index: 120;
    inset-inline: 0;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem 1.25rem;
    padding: 0.875rem 1.25rem;
    background-color: var(--color-scheme-background);
    color: var(--color-scheme-text);
    border-top: 1px solid var(--color-scheme-text-opacity-15);
  }

  .kt-locale-suggestion[hidden] {
    display: none;
  }

  .kt-locale-suggestion__text {
    margin: 0;
  }

  .kt-locale-suggestion__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .kt-locale-suggestion__form {
    display: none;
  }

  @media screen and (max-width: 767px) {
    .kt-locale-suggestion {
      flex-direction: column;
      align-items: stretch;
      text-align: center;
    }

    .kt-locale-suggestion__actions {
      justify-content: center;
    }
  }
/* END_SECTION:locale-suggestion */

/* CSS from block stylesheet tags */
/* START_BLOCK:_article-thumbnail (INDEX:71) */
/* Esce dalla colonna di lettura e arriva ai bordi pagina.
     margin-inline-start: 50% porta il bordo sinistro al centro del contenitore,
     che e' centrato in pagina; translateX(-50%) lo riporta indietro di meta'
     larghezza finestra, quindi a filo bordo. Si usa --window-width (impostata
     su :root da section-header.js come document.body.clientWidth) invece di
     100vw: quest'ultima include la barra di scorrimento e creerebbe scroll
     orizzontale. */
  .kt-article-thumbnail--full-bleed {
    width: var(--window-width, 100vw);
    max-width: none;
    margin-inline-start: 50%;
    transform: translateX(-50%);
  }
/* END_BLOCK:_article-thumbnail */

/* START_BLOCK:_links_card (INDEX:112) */
/* Etichette lunghe: evitare che una parola venga spezzata a meta'.

     Il titolo eredita word-break: break-word, quindi quando la parola piu'
     lunga non ci sta viene tagliata e sulla seconda riga resta un moncone
     ("pantalon" + "i"). Non e' il ritorno a capo il problema, ma il punto in
     cui avviene: deve cadere tra una parola e l'altra.

     Condizione da rispettare: lo spazio disponibile deve essere almeno quanto
     la parola piu' lunga. "pantaloni" chiede circa 3,95px per ogni px di
     corpo, cioe' 255px a 64,5px e 200px a 50,5px. Il rientro di
     --gutter-regular per lato mangiava 60px ed era proprio quello a far
     mancare lo spazio sotto i ~1360px: qui viene restituito al titolo, mentre
     il resto del riquadro lo conserva.

     word-break: normal impedisce in ogni caso la spezzatura dentro la parola:
     nel caso limite il testo sborda di pochi pixel invece di lasciare un
     moncone, che e' il difetto segnalato dal cliente. */
  .kt-links-card--keep-words .kt-links-card__title {
    margin-inline: calc(var(--gutter-regular) * -1);
  }

  .kt-links-card--keep-words .kt-links-card__title > * {
    word-break: normal;
    overflow-wrap: normal;
  }
/* END_BLOCK:_links_card */

/* START_BLOCK:_product-add_to_cart (INDEX:124) */
/* Richiesta cliente: via il link "Altre opzioni di pagamento" sotto il bottone
     di acquisto rapido. Lo inserisce lo script di Shopify dentro
     .shopify-payment-button dopo il caricamento, quindi non esiste nel markup
     del tema e l'unica leva possibile e' nasconderlo via CSS. */
  .shopify-payment-button__more-options {
    display: none !important;
  }
/* END_BLOCK:_product-add_to_cart */

/* START_BLOCK:_product-complementary (INDEX:129) */
/* Il blocco si carica solo quando entra nel campo visivo: fino a quel momento
     <product-recommendations> e' vuoto e alto 0px, quindi il suo rettangolo di
     intersezione e' vuoto.

     Chrome considera comunque "visibile" un elemento con area nulla e fa partire
     il caricamento; WebKit storicamente no. E' la spiegazione piu' probabile del
     fatto che su iOS recenti il blocco non compaia mai, senza alcun errore:
     l'osservatore non scatta, la richiesta non parte, l'elemento resta vuoto.

     Un pixel basta a rendere il rettangolo non vuoto. A caricamento avvenuto
     l'elemento e' alto centinaia di pixel, quindi non cambia nulla a vista.
     Il selettore e' sull'elemento e non sulla classe perche' lo stesso
     componente alimenta anche la sezione "potrebbe piacerti anche". */
  product-recommendations {
    display: block;
    min-height: 1px;
  }
/* END_BLOCK:_product-complementary */

/* START_BLOCK:article-section-cta (INDEX:170) */
article-section-cta {
    display: none;
  }

  .kt-article-section-cta {
    margin-block: var(--gutter-small, 0.75rem) var(--gutter-regular, 1.5rem);
  }
/* END_BLOCK:article-section-cta */

/* START_BLOCK:photo-slider (INDEX:186) */
.kt-photo-slider {
    position: relative;
    width: 100%;
  }

  {% comment %}
    Le slide sono i blocchi immagine: dentro al carosello devono occupare tutta
    la larghezza una per volta, mentre la loro larghezza in percentuale resta
    quella scelta nel blocco.
  {% endcomment %}
  .kt-photo-slider__slider .kt-css-slider-container {
    display: flex;
  }

  .kt-photo-slider__slider .kt-media-content {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .kt-photo-slider__navigation {
    display: block;
    margin-block-start: 0.75rem;
  }

  .kt-photo-slider__navigation .kt-css-slider-navigation-container {
    justify-content: center;
  }
/* END_BLOCK:photo-slider */

/* START_BLOCK:size-table (INDEX:188) */
.kt-size-table-block {
    width: 100%;
  }

  .kt-size-table__caption {
    margin: 0 0 0.5em;
  }

  /* su mobile una tabella a sei colonne non ci sta: scorre in orizzontale */
  .kt-size-table__scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .kt-size-table__scroll:focus-visible {
    outline: 2px solid var(--color-scheme-text);
    outline-offset: 2px;
  }

  .kt-size-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
  }

  .kt-size-table th,
  .kt-size-table td {
    padding: 0.55em 0.9em;
    /* dichiarato sulle celle: il tema allinea a sinistra la table dentro .kt-rte
       con piu specificita, ma un valore ereditato perde contro uno diretto. */
    text-align: center;
    border-bottom: 1px solid var(--color-scheme-text-opacity-15);
    white-space: nowrap;
    vertical-align: top;
  }

  .kt-size-table thead th {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    border-bottom-width: 2px;
  }

  /* la prima colonna resta visibile mentre si scorre */
  .kt-size-table th[scope='row'] {
    position: sticky;
    left: 0;
    background-color: var(--color-scheme-background);
    font-weight: 600;
  }

  .kt-size-table thead th:first-child {
    position: sticky;
    left: 0;
    background-color: var(--color-scheme-background);
  }

  .kt-size-table__main,
  .kt-size-table__alt {
    display: block;
  }

  .kt-size-table__alt {
    opacity: 0.55;
    font-size: 0.85em;
  }
/* END_BLOCK:size-table */

/* START_BLOCK:stretch-level (INDEX:191) */
.kt-stretch-level {
    --stretch-level-marker-size: 10px;
    --stretch-level-tick-height: 15px;
  }

  .kt-stretch-level__track {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: var(--stretch-level-color, currentColor);
  }

  .kt-stretch-level__track::before,
  .kt-stretch-level__track::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 1px;
    height: var(--stretch-level-tick-height);
    background-color: var(--stretch-level-color, currentColor);
    transform: translateY(-50%);
  }

  .kt-stretch-level__track::before {
    inset-inline-start: 0;
  }

  .kt-stretch-level__track::after {
    inset-inline-end: 0;
  }

  .kt-stretch-level__marker {
    position: absolute;
    top: 50%;
    inset-inline-start: calc(
      var(--stretch-level-marker-size) / 2 +
      (100% - var(--stretch-level-marker-size)) * var(--stretch-level-position, 0) / 100
    );
    width: var(--stretch-level-marker-size);
    height: var(--stretch-level-marker-size);
    border-radius: 50%;
    background-color: var(--stretch-level-color, currentColor);
    transform: translate(-50%, -50%);
  }

  html[dir="rtl"] .kt-stretch-level__marker {
    transform: translate(50%, -50%);
  }

  .kt-stretch-level__labels {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 0.625rem;
    margin-top: 0.875rem;
  }

  .kt-stretch-level__label:last-child {
    text-align: end;
  }
/* END_BLOCK:stretch-level */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:product-card-track (INDEX:241) */
.kt-product-image__track {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.kt-product-image__slide {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.kt-product-image__slide:nth-child(n+3) {
  display: none;
}

.kt-product-image__slide--secondary {
  opacity: 0;
  visibility: hidden;
  transition: opacity 175ms linear, visibility 175ms linear;
}

.no-touchevents .kt-product-image:hover .kt-product-image__slide--secondary {
  opacity: 1;
  visibility: visible;
}

.no-touchevents .kt-product-image__has-secondary--png:hover .kt-product-image__slide--primary {
  opacity: 0;
  visibility: hidden;
  transition: opacity 175ms linear, visibility 175ms linear;
}

.kt-product-image__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: var(--poster-position, center);
}

.no-touchevents .kt-product-image:hover .kt-product-image__video,
.kt-product-image__video--ready {
  background-image: var(--poster, none);
}

.kt-product-image__video-media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--poster-position, center);
}

.kt-product-image__dots {
  display: none;
}

.kt-product-image__dot {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background: rgb(255, 255, 255);
  opacity: 0.5;
  transition: opacity 175ms linear;
}

.kt-product-image__dot.kt-active {
  opacity: 1;
}

body.touchevents .kt-product-image__track {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

body.touchevents .kt-product-image__track::-webkit-scrollbar {
  width: 0;
  height: 0;
}

body.touchevents .kt-product-image__slide {
  display: block;
  position: relative;
  flex: 0 0 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  opacity: 1;
  visibility: visible;
}

body.touchevents .kt-product-image:has(.kt-product-image__track) .kt-product-image__link {
  pointer-events: none;
}

body.touchevents .kt-product-image__dots {
  display: flex;
  position: absolute;
  bottom: 0.625rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 11;
  gap: 0.375rem;
  padding: 0.3125rem 0.4375rem;
  border-radius: 6.25rem;
  background: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}

/* dentro un carosello lo scroll orizzontale appartiene alla sezione: la traccia resta ferma */
body.touchevents .kt-css-slider-holder .kt-product-image__track {
  display: block;
  overflow: hidden;
}

body.touchevents .kt-css-slider-holder .kt-product-image__slide {
  position: absolute;
  flex: none;
}

body.touchevents .kt-css-slider-holder .kt-product-image__slide:nth-child(n+3) {
  display: none;
}

body.touchevents .kt-css-slider-holder .kt-product-image__slide--secondary {
  opacity: 0;
  visibility: hidden;
}

body.touchevents .kt-css-slider-holder .kt-product-image__dots {
  display: none;
}
/* END_SNIPPET:product-card-track */

/* START_SNIPPET:product-card-video (INDEX:242) */
.kt-product-card-video {
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: var(--poster-position, center);
}

.kt-product-card-video__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--poster-position, center);
}

@media (hover: hover) and (pointer: fine) {
  .kt-product-image:hover .kt-product-card-video {
    background-image: var(--poster, none);
  }
}
/* END_SNIPPET:product-card-video */