/** Shopify CDN: Minification failed

Line 1068:0 Unexpected "<"
Line 1089:1 Unexpected ">"

**/
/* Custom Reaven — regole di tema custom, caricato da layout/theme.liquid dopo base.css.
   Riscrittura pulita del vecchio blocco XKDIGITAL in fondo a base.css (15.2):
   portate solo le regole effettivamente attive e ancora necessarie.
   NON portati: filter invert (inutili con gli schemi bianco/nero), regole con
   template-ID hardcoded, esperimenti commentati. */

/* La ricerca e' disattivata sullo store: nasconde l'icona nell'header.
   Rimuovere questa regola quando/se la search viene riattivata. */
.header__icon--search {
  display: none !important;
}

/* Nasconde i selettori lingua/paese nel menu drawer mobile
   (la localizzazione resta disponibile nel footer). */
.menu-drawer__localization {
  display: none !important;
  visibility: hidden !important;
}

/* Lista policy/link nel footer: niente bullet, leggero rientro. */
.footer .list-unstyled li {
  list-style-type: none !important;
  padding-left: 10px;
}

.footer .list-unstyled li::before {
  content: none !important;
}

/* Nasconde il nome variante selezionata sotto il titolo prodotto
   (legend "Colore: Nero" dello swatch picker) mantenendola accessibile
   agli screen reader. Richiesta cliente restyling 2026. */
.product-form__input--swatch > legend.form__label {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

/* <picture> dentro .banner__media (immagine mobile alternativa del banner):
   replica lo stile che base.css applica ai figli diretti di .media,
   che un wrapper <picture> altrimenti spezzerebbe. */
.media > picture {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
}

.media > picture > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center center;
}

/* --------------------------------------------------------------
   Custom Reaven — restyling 2026: card collezione stile fivefourfive
   Riga titolo|prezzo affiancati, colorway MAIUSCOLA sotto, testo a filo immagine
   -------------------------------------------------------------- */
.card__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.8rem;
}

.card__row .card__heading {
  margin: 0;
}

.card__row .price {
  margin: 0;
  flex-shrink: 0;
}

.card__colorway {
  margin: 0.3rem 0 0;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  text-transform: none;
  color: rgba(var(--color-foreground), 0.55);
}


/* --------------------------------------------------------------
   Custom Reaven — restyling 2026: hero, card e featured collection
   allineati alla proposta design approvata
   -------------------------------------------------------------- */

/* Hero: gradiente scuro dal basso (al posto della tinta piatta di Dawn) per testo e CTA bianchi leggibili */
.banner .banner__media::after {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0) 55%);
  opacity: 1;
}

/* Card prodotto: fondo grigio chiaro dietro i cutout, titolo medium */
/* Specificità > Dawn `.card__inner.color-scheme-1 { background: transparent }` (component-card.css, caricato dopo);
   solo card prodotto con immagine: niente riquadro su collection/blog card o card senza foto */
.product-card-wrapper .card--standard.card--media > .card__inner.color-scheme-1 {
  background-color: rgba(var(--color-foreground), 0.04);
  /* raggiatura minima: toglie lo spigolo senza far sembrare la card un bottone */
  border-radius: 0.6rem;
  overflow: hidden;
}

/* Titolo card prodotto: unico peso bold del sito (il resto sta a 400 Light) */
.card__row .card__heading {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.05em;
}

/* Featured collection: "Visualizza tutto" come link in alto a destra, niente bottone centrato sotto la griglia */
.collection__title.title-wrapper-with-link .collection__view-all-inline {
  flex-shrink: 0;
  margin-left: 2rem;
}

.collection:has(.collection__view-all-inline) .collection__view-all {
  display: none;
}

/* Griglia categorie: placeholder senza illustrazione (hint solo nell'editor) */
.category-grid__placeholder-hint {
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  text-transform: none;
  color: rgba(var(--color-foreground), 0.45);
  text-align: center;
  padding: 0 1rem;
}

/* Card: titolo e prezzo alla stessa misura (14px desktop / 13px mobile, come nella proposta) */
.card__row .card__heading,
.card__row .card__heading.h5,
.card__row .price,
.card__row .price .price-item {
  font-size: 1.3rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

@media screen and (min-width: 750px) {
  .card__row .card__heading,
  .card__row .card__heading.h5,
  .card__row .price,
  .card__row .price .price-item {
    font-size: 1.4rem;
  }
}

.card__row .price {
  font-weight: 400;
}

/* Hero: occhiello leggibile sopra la CTA (come nella proposta) */
.banner__box .banner__text.caption-with-letter-spacing {
  font-size: 1.3rem;
  letter-spacing: 0.2em;
}

/* Featured collection: il wrapper del titolo resta centrato come page-width
   (title-wrapper-with-link di Dawn azzera i margini laterali) */
.collection__title.title-wrapper-with-link {
  margin-left: auto;
  margin-right: auto;
}

/* Mobile: se titolo e link non stanno sulla stessa riga, il link va a capo (allineato a destra) */
.collection__title.title-wrapper-with-link {
  flex-wrap: wrap;
  row-gap: 0.8rem;
}

.collection__title.title-wrapper-with-link .collection__view-all-inline {
  margin-left: auto;
}

/* Featured collection: con il link inline l'h2 non è più :only-child e Dawn gli dà margin-bottom 1rem
   (template-collection.css) — a >=750px lo azzero così titolo e link stanno sulla stessa baseline */
@media screen and (min-width: 750px) {
  .collection .collection__title.title-wrapper-with-link .title {
    margin-bottom: 0;
  }
}

/* --------------------------------------------------------------
   Custom Reaven — header: logo a sinistra, menu centrato, icone a destra
   (Dawn middle-left mette il menu accanto al logo: qui la colonna centrale è centrata)
   -------------------------------------------------------------- */
@media screen and (min-width: 990px) {
  .header--middle-left:not(.drawer-menu) {
    grid-template-columns: 1fr auto 1fr;
  }

  .header--middle-left:not(.drawer-menu) .header__inline-menu {
    justify-self: center;
  }

  .header--middle-left .header__icons {
    justify-self: end;
  }
}

/* Testata collezione: titolo a sinistra, conteggio a destra.
   Nota: il font heading del tema è Instrument Sans 400
   (settings.type_header_font = instrument_sans_n4 -> --font-heading-weight: 400,
   applicato da base.css a h1/.h1). Qui il peso 700 è forzato SOLO sul titolo
   collezione, con selettore a 2 classi perche' component-collection-hero.css
   viene caricato dopo custom.css. */
.collection-hero__title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  padding: 2.4rem 0 1.6rem;
}

.collection-hero__title-row .collection-hero__title {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.collection-hero__count {
  margin: 0;
  font-size: 1.3rem;
  color: rgba(var(--color-foreground), 0.6);
  flex-shrink: 0;
}

@media screen and (min-width: 750px) {
  .collection-hero__title-row {
    padding: 4rem 0 2.2rem;
  }

  .collection-hero__title-row .collection-hero__title {
    font-size: 4rem;
  }
}

/* Con immagine collezione la spaziatura la gestisce già il text-wrapper */
.collection-hero--with-image .collection-hero__title-row {
  padding: 0;
}

/* La barra filtri deve attaccarsi alla testata: niente `.section + .section`
   fra main-collection-banner e main-collection-product-grid */
.section:has(.collection-hero) + .section {
  margin-top: 0;
}

.collection-hero__text-wrapper {
  width: 100%;
}

/* --------------------------------------------------------------
   Custom Reaven — restyling 2026: tipografia globale allineata al mockup
   (body 14/13px, letter-spacing 0.02em, bottoni 14px medium, titoli -0.01em)
   -------------------------------------------------------------- */
body {
  font-size: 1.3rem;
  letter-spacing: 0.02em;
}

@media screen and (min-width: 750px) {
  body {
    font-size: 1.4rem;
  }
}

h1, h2, h3, .h0, .h1, .h2, .h3, .hxl {
  letter-spacing: -0.01em;
}

.button,
.shopify-challenge__button,
.customer button {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  min-height: calc(5rem + var(--buttons-border-width) * 2);
}

/* Marquee da bordo a bordo (non limitato al page-width).
   Specificità sopra `body:has(.section-header .header:not(.drawer-menu)) .utility-bar .page-width` di base.css */
body .utility-bar:has(.announcement-bar--continuous) .utility-bar__grid.page-width,
body:has(.section-header .header:not(.drawer-menu)) .utility-bar:has(.announcement-bar--continuous) .utility-bar__grid.page-width {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.announcement-bar--continuous .announcement-bar__message {
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Header: proporzioni del mockup (76px, logo 38px, voci 13px) */
@media screen and (min-width: 990px) {
  .header__menu-item {
    font-size: 1.3rem;
    letter-spacing: 0.02em;
    padding: 1rem 1.7rem;
    color: rgb(var(--color-foreground));
  }

  .header__menu-item:hover span {
    text-decoration: none;
  }

  .header__active-menu-item,
  details[open] > .header__menu-item > span {
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 0.5rem;
  }

  .header__menu-item .icon-caret,
  .header__menu-item .svg-wrapper svg {
    width: 1.1rem;
    height: 1.1rem;
  }
}

/* Header mobile: hamburger · logo centrato · carrello (account nel drawer).
   Dawn usa 4 aree (left-icons search heading icons): colonne esterne uguali → logo davvero al centro */
@media screen and (max-width: 989px) {
  /* Dawn: con account+menu le aree sono 4 (left-icons search heading icons), altrimenti 3 */
  .header.header--mobile-center {
    grid-template-columns: 1fr auto 1fr;
  }

  .header.header--mobile-center.header--has-account.header--has-menu:not(.header--mobile-left):not(.header--has-app) {
    grid-template-columns: 1fr auto auto 1fr;
  }

  .header--mobile-center .header__heading {
    justify-self: center;
  }

  .header__icons > .header__icon--account {
    display: none;
  }

  .header__heading-logo-wrapper {
    width: 5.4rem;
  }
}

/* --------------------------------------------------------------
   Custom Reaven — footer approvato (mockup Footer.dc.html / FooterMobile.dc.html)

   Struttura Dawn: `.footer__content-top` contiene `.footer__blocks-wrapper`
   (logo, tagline, Shop, Info) e, come fratello, `.footer-block--newsletter`.
   Con `display: contents` sul wrapper tutti i blocchi diventano figli della
   stessa griglia: la colonna sinistra (logo → tagline → newsletter + social)
   e le due colonne di link si allineano come nel mockup senza toccare il DOM.

   Le classi `footer-block--image` / `--text` / `--no-heading` sono aggiunte da
   sections/footer.liquid (Dawn ne emette una solo per i blocchi link_list).

   NOTA SPECIFICITÀ: section-footer.css è caricato dentro la sezione, quindi DOPO
   custom.css. Le regole qui usano il prefisso `.footer` (e talvolta un livello in
   più) per vincere a parità di sorgente senza ricorrere a !important.
   -------------------------------------------------------------- */

/* --- Logo ---------------------------------------------------- */
/* L'asset è il logo nero su trasparente usato nell'header: col footer in
   scheme-1 (bianco) resta nero. Se il footer torna scuro, riaggiungere qui
   `filter: brightness(0) invert(1);` per renderlo bianco. */
.footer .footer-block--image img {
  width: 10.4rem;
}

.footer .footer-block--image .footer-block__image-wrapper {
  margin-bottom: 0;
}

/* Allineato a sinistra anche sotto i 750px (Dawn centra i blocchi image su mobile) */
.footer .footer-block--image .footer-block-image,
.footer .footer-block--image .footer-block-image.center,
.footer .footer-block--image .footer-block-image.right {
  justify-content: flex-start;
}

/* --- Tagline (blocco text senza intestazione) ----------------- */
.footer .footer-block--text.footer-block--no-heading .footer-block__details-content {
  margin-bottom: 0;
  max-width: 32rem;
  font-size: 1.3rem;
  line-height: 1.6;
  color: rgba(var(--color-foreground), 0.65);
}

.footer .footer-block--text.footer-block--no-heading .footer-block__details-content.rte p {
  margin: 0;
  line-height: 1.6;
}

/* --- Intestazioni micro delle colonne + etichetta newsletter --- */
.footer .footer-block__heading,
.footer .footer-block--newsletter .footer-block__heading {
  font-size: 1.1rem;
  letter-spacing: 0.14em;
  text-transform: none;
  color: rgba(var(--color-foreground), 0.5);
  margin-bottom: 1.6rem;
}

.footer .footer-block--newsletter .footer-block__heading {
  margin-bottom: 1rem;
}

/* --- Colonne di link ------------------------------------------ */
.footer .footer-block--text:not(.footer-block--no-heading) .footer-block__details-content {
  margin-bottom: 0;
}

/* I link sono separati da <br> in un unico <p>: la distanza verticale (1.1rem)
   la dà la line-height (1.3rem di testo + 1.1rem di spazio). */
.footer .footer-block--text:not(.footer-block--no-heading) .footer-block__details-content.rte p {
  margin: 0;
  line-height: 2.4rem;
}

.footer .footer-block__details-content.rte a,
.footer .footer-block__details-content .list-menu__item--link {
  font-size: 1.3rem;
  text-decoration: none;
  color: rgb(var(--color-foreground));
}

.footer .footer-block__details-content.rte a:hover,
.footer .footer-block__details-content .list-menu__item--link:hover {
  color: rgb(var(--color-foreground));
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

/* --- Newsletter e social -------------------------------------- */
.footer .footer-block--newsletter .newsletter-form__field-wrapper .field {
  /* bordo bianco 40% (il tema usa 55% sugli input) */
  --inputs-border-opacity: 0.4;

  min-height: 4.8rem;
}

.footer .footer__list-social .list-social__item .icon {
  width: 2rem;
  height: 2rem;
}

/* --- Riga servizi: Paese/valuta a sinistra, pagamenti a destra --- */
.footer .footer__content-bottom {
  border-top: 0.1rem solid rgba(var(--color-foreground), 0.18);
  padding-top: 2.2rem;
}

.footer .footer__content-bottom-wrapper {
  align-items: center;
}

.footer .footer__localization {
  padding: 0;
  justify-content: flex-start;
}

.footer .footer__localization .localization-form {
  padding: 0;
  margin: 0;
}

/* Etichetta "Paese/Area geografica": nascosta visivamente, resta per gli screen
   reader (è referenziata da aria-describedby del selettore). */
.footer .footer__localization h2 {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.footer .footer__localization .disclosure__button.localization-form__select {
  --inputs-border-opacity: 0.4;

  width: max-content;
  height: 3.6rem;
  min-height: 3.6rem;
  margin: 0;
  padding: 0 3.4rem 0 1.4rem;
  font-size: 1.2rem;
  background-color: transparent;
}

.footer .footer__localization .localization-form__select .icon-caret {
  right: 1.4rem;
}

.footer .footer__column--info {
  padding-left: 0;
  padding-right: 0;
}

.footer .footer__payment {
  margin-top: 0;
}

/* --- Riga credits (contenuti invariati, solo restilizzata) ------ */
.footer .footer__content-bottom .footer__content-bottom-wrapper .footer__copyright {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem 2.4rem;
  width: 100%;
  margin-top: 2.2rem;
  padding-top: 1.8rem;
  border-top: 0.1rem solid rgba(var(--color-foreground), 0.18);
  text-align: left;
}

.footer .footer__copyright .policies {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 2.4rem;
  margin: 0;
  padding: 0;
}

/* Annulla il rientro generico `.footer .list-unstyled li` di questo file */
.footer .footer__copyright .policies li {
  padding-left: 0;
}

.footer .footer__copyright,
.footer .footer__copyright .copyright__content,
.footer .footer__copyright .copyright__content a {
  font-size: 1.1rem;
  color: rgba(var(--color-foreground), 0.5);
}

.footer .footer__copyright .copyright__content a:hover {
  color: rgb(var(--color-foreground));
}

/* --------------------------------------------------------------
   Desktop / tablet (>= 750px): due zone affiancate
   colonna 1 = brand + newsletter, colonna 2 = spaziatore elastico,
   colonne 3 e 4 = i due elenchi di link, allineati a destra.
   -------------------------------------------------------------- */
@media screen and (min-width: 750px) {
  .footer .footer__content-top {
    display: grid;
    grid-template-columns: minmax(24rem, 34rem) minmax(3rem, 1fr) auto auto;
    align-items: start;
    column-gap: 0;
    row-gap: 2.2rem;
    padding-bottom: 6.4rem;
  }

  .footer .footer__content-top .footer__blocks-wrapper {
    display: contents;
  }

  /* I blocchi non sono più figli di `.grid`: via larghezze e spaziature di Dawn */
  .footer .footer__content-top .footer-block.grid__item {
    width: auto;
    max-width: none;
    margin: 0;
    padding-left: 0;
  }

  .footer .footer__content-top .footer-block--image {
    grid-column: 1;
    grid-row: 1;
  }

  .footer .footer__content-top .footer-block--text.footer-block--no-heading {
    grid-column: 1;
    grid-row: 2;
  }

  .footer .footer__content-top .footer-block--newsletter {
    grid-column: 1;
    grid-row: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
    margin: 0;
    text-align: left;
  }

  /* Primo blocco text con intestazione = Shop */
  .footer .footer__content-top .footer-block--text:not(.footer-block--no-heading) {
    grid-column: 3;
    grid-row: 1 / span 3;
    align-self: start;
    padding-right: 2.4rem;
  }

  /* Ogni blocco text con intestazione successivo = Info (ultima colonna) */
  .footer
    .footer__content-top
    .footer-block--text:not(.footer-block--no-heading)
    ~ .footer-block--text:not(.footer-block--no-heading) {
    grid-column: 4;
    padding-right: 0;
    padding-left: 2.4rem;
  }

  .footer .footer-block--newsletter .footer-block__newsletter {
    flex-grow: 0;
    width: 100%;
    max-width: 32rem;
    margin: 0;
    text-align: left;
  }

  .footer .footer-block--newsletter .newsletter-form {
    max-width: 32rem;
    margin: 0;
  }

  .footer .footer-block--newsletter .newsletter-form__field-wrapper {
    max-width: 32rem;
  }

  /* Le icone social hanno 1.1rem di padding: il margine negativo le porta a filo */
  .footer .footer-block--newsletter .footer__list-social.list-social {
    justify-content: flex-start;
    margin: 0 0 0 -1.1rem;
  }
}

/* Desktop pieno (>= 990px): misure del mockup 1440 */
@media screen and (min-width: 990px) {
  .footer .footer__content-top {
    grid-template-columns: 38rem minmax(4rem, 1fr) auto auto;
  }

  .footer .footer__content-top .footer-block--text:not(.footer-block--no-heading) {
    padding-right: 4.4rem;
  }

  .footer
    .footer__content-top
    .footer-block--text:not(.footer-block--no-heading)
    ~ .footer-block--text:not(.footer-block--no-heading) {
    padding-left: 4.4rem;
  }
}

/* --------------------------------------------------------------
   Mobile (<= 749px): tutto in colonna, Shop e Info affiancate
   -------------------------------------------------------------- */
@media screen and (max-width: 749px) {
  /* Dawn scala di 0.75 margin/padding della sezione: qui servono i valori del
     mockup (64px sopra il footer, 48px/24px di padding interno).
     `body` alza la specificità sopra lo <style> inline della sezione. */
  body .footer {
    margin-top: 6.4rem;
    padding-top: 4.8rem;
    padding-bottom: 2.4rem;
  }

  .footer .page-width,
  .footer .footer__content-top.page-width {
    padding-left: 1.8rem;
    padding-right: 1.8rem;
  }

  .footer .footer__content-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2.4rem;
    row-gap: 1.8rem;
    padding-bottom: 4rem;
  }

  .footer .footer__content-top .footer__blocks-wrapper {
    display: contents;
  }

  .footer .footer__content-top .footer-block.grid__item {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .footer .footer__content-top .footer-block--image {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .footer .footer-block--image img {
    width: 9.2rem;
  }

  .footer .footer__content-top .footer-block--text.footer-block--no-heading {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .footer .footer-block--text.footer-block--no-heading .footer-block__details-content {
    max-width: none;
  }

  /* La newsletter è l'ultimo elemento nel DOM ma va sopra le colonne di link */
  .footer .footer__content-top .footer-block--newsletter {
    grid-column: 1 / -1;
    grid-row: 3;
    align-items: flex-start;
    gap: 1.8rem;
    margin: 0.8rem 0 0;
  }

  .footer .footer__content-top .footer-block--text:not(.footer-block--no-heading) {
    grid-column: 1;
    grid-row: 4;
    margin-top: 2.2rem;
  }

  .footer
    .footer__content-top
    .footer-block--text:not(.footer-block--no-heading)
    ~ .footer-block--text:not(.footer-block--no-heading) {
    grid-column: 2;
  }

  .footer .footer-block--newsletter .footer-block__newsletter {
    width: 100%;
    max-width: none;
    justify-content: flex-start;
    text-align: left;
  }

  .footer .footer-block--newsletter .newsletter-form,
  .footer .footer-block--newsletter .newsletter-form__field-wrapper {
    width: 100%;
    max-width: none;
  }

  .footer .footer-block--newsletter .footer__list-social.list-social {
    justify-content: flex-start;
    margin: 0 0 0 -1.1rem;
  }

  /* Riga servizi: selettore a tutta larghezza, badge pagamento a capo */
  .footer .footer__content-bottom {
    padding-top: 2rem;
    padding-left: 0;
    padding-right: 0;
  }

  .footer .footer__content-bottom-wrapper {
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: 1.6rem;
  }

  .footer .footer__localization {
    width: 100%;
  }

  .footer .footer__localization .localization-form,
  .footer .footer__localization .disclosure {
    width: 100%;
  }

  .footer .footer__localization .disclosure__button.localization-form__select {
    width: 100%;
    height: 4rem;
    min-height: 4rem;
  }

  .footer .footer__column--info {
    align-items: flex-start;
    padding-top: 0;
  }

  .footer .footer__payment .list-payment {
    justify-content: flex-start;
    padding-top: 0;
  }

  /* Credits in colonna: prima le policy, poi il copyright */
  .footer .footer__content-bottom .footer__content-bottom-wrapper .footer__copyright {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1.8rem;
    padding-top: 1.6rem;
  }

  .footer .footer__copyright .policies {
    order: -1;
    gap: 0.6rem 1.8rem;
  }
}

/* ============================================================
   PROVA FONT — Neue Haas Display (Custom Reaven, 2026-09-09)
   *** DISATTIVATO il 2026-09-11 ***
   Questo blocco sovrascriveva famiglia, stile e pesi scelti nelle
   impostazioni tema, quindi cambiare font da Shopify non aveva alcun
   effetto. È commentato per lasciare il tema libero: ora il font è
   quello impostato in Tema > Tipografia e il cliente può provarne
   altri dal pannello.
   PER RIATTIVARLO: togliere le due righe di commento che racchiudono
   la regola :root qui sotto. I @font-face e i 4 file
   neue-haas-display-*.woff2 sono ancora in layout/theme.liquid e in
   assets: restano inerti finché nessuno usa la famiglia, quindi il
   browser non li scarica.
   NOTA se riattivi: pesi disponibili 300 Thin · 400 Light · 700 Bold ·
   900 Black (il 500 Medium manca, le richieste a 500 ricadono sul 400).
   ============================================================ */
/*
:root {
  --font-heading-family: 'Neue Haas Display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-heading-style: normal;
  --font-heading-weight: 400;
  --font-body-family: 'Neue Haas Display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 700;
}
*/

/* ============================================================
   PRIMA LETTERA MAIUSCOLA (Custom Reaven, 2026-09-11)
   Il sito lascia l'all-caps e passa a capitalize: va maiuscola la
   prima lettera di ogni parola, il resto resta come è scritto in
   Shopify (capitalize non abbassa le maiuscole già digitate).
   Restano volutamente in uppercase le micro-etichette — occhiello
   del marquee, intestazioni footer, colorway, hint categorie —
   dove il maiuscolo è scelta tipografica e non l'esperimento
   all-caps. Unica eccezione: i campi di input, dove il testo
   digitato resta come lo scrive l'utente.
   ============================================================ */
body {
  text-transform: none;
}

input,
textarea,
select {
  text-transform: none;
}

/* ============================================================
   TRACKING GLOBALE (Custom Reaven, 2026-09-09, sfoltito il 2026-09-11)
   Era "FONT PIÙ PICCOLO E STRETTO", nato dopo il passaggio all'all-caps.
   Col sito tornato in capitalize le misure sono state riportate a quelle
   pre-uppercase (--font-heading-scale di nuovo a 1.00 dalle impostazioni
   tema, card 13/14px, titolo collezione 30/40px, colorway 11px, occhiello
   hero 13px): qui restano la spaziatura, il corpo a 14/15px e il titolo
   scheda prodotto, tenuto apposta a 23/24px.
   ============================================================ */
body {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
}

@media screen and (min-width: 750px) {
  body {
    font-size: 1.5rem;
  }
}

/* Bottoni e occhielli: tracking dimezzato */
.button {
  letter-spacing: 0.05rem;
}

.caption-with-letter-spacing {
  letter-spacing: 0.08rem;
}

/* Menu header più compatto */
.header__inline-menu .header__menu-item {
  font-size: 1.3rem;
  letter-spacing: 0.03rem;
}

.card__colorway {
  letter-spacing: 0.06em;
}

/* Titolo scheda prodotto: misura contenuta, non l'h1 pieno di Dawn (30/40px) */
.product__info-container .product__title h1,
.product__info-container .product__title .h1 {
  font-size: 2.3rem;
  letter-spacing: 0.06em;
}

@media screen and (min-width: 750px) {
  .product__info-container .product__title h1,
  .product__info-container .product__title .h1 {
    font-size: 2.4rem;
  }
}

/* Occhiello hero: tracking ridotto */
.banner__box .banner__text.caption-with-letter-spacing {
  letter-spacing: 0.1em;
}

/* ============================================================
   TRACKING MOBILE (Custom Reaven, 2026-09-11)
   Dopo maiuscolo + Neue Haas 700 il testo su telefono risultava
   compresso: sotto i 750px il letter-spacing torna ai valori che
   c'erano prima del blocco "FONT PIÙ PICCOLO E STRETTO" (occhielli,
   colorway, hero) e corpo/bottoni/card vengono allargati per stare
   in scala. Desktop invariato.
   PER TORNARE INDIETRO: eliminare questo blocco.
   ============================================================ */
@media screen and (max-width: 749px) {
  body {
    letter-spacing: 0.14rem;
  }

  .button,
  .shopify-challenge__button,
  .customer button {
    letter-spacing: 0.1rem;
  }

  /* Occhielli: tracking pieno di Dawn (era 0.08rem) */
  .caption-with-letter-spacing {
    letter-spacing: 0.13rem;
  }

  /* Card: titolo e prezzo respirano come il resto del testo (erano 0.02em) */
  .card__row .card__heading,
  .card__row .card__heading.h5,
  .card__row .price,
  .card__row .price .price-item {
    letter-spacing: 0.06em;
  }

  /* Colorway: tracking pre-restringimento */
  .card__colorway {
    letter-spacing: 0.08em;
  }

  /* Occhiello hero: tracking pre-restringimento */
  .banner__box .banner__text.caption-with-letter-spacing {
    letter-spacing: 0.2em;
  }

  /* Menu drawer mobile: component-menu-drawer-accordion.css è caricato
     dentro l'header, quindi DOPO custom.css — serve un livello di
     specificità in più per vincere a parità di sorgente. */
  .menu-drawer .menu-drawer__menu-item,
  .menu-drawer .menu-drawer__account {
    letter-spacing: 0.08em;
  }
}

/* ============================================================
   SCRITTA VARIANTE PIÙ PICCOLA (Custom Reaven, 2026-09-11)
   Pulsanti taglia/colore, etichette ("SIZE", "QUANTITÀ") e nome
   colorway della scheda prodotto: un paio di punti in meno per
   stare in scala col resto della tipografia ridotta.
   Selettori con .product__info-container davanti perche'
   component-product-variant-picker.css e' caricato DOPO custom.css.
   PER TORNARE INDIETRO: eliminare questo blocco.
   ============================================================ */

/* Pulsanti variante: 12px (erano 14px), pillola più compatta */
.product__info-container .product-form__input--pill input[type='radio'] + label {
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  padding: 0.8rem 1.6rem;
}

/* Etichette "SIZE" / "QUANTITÀ": 11px (erano 13px) */
.product__info-container .product-form__input .form__label,
.product__info-container .product-form__quantity .form__label,
.product__info-container .product-form__input legend.form__label {
  font-size: 1.1rem;
  letter-spacing: 0.06em;
}

/* Nome colorway sopra i colori collegati: 12px (alzato su richiesta) */
.product__info-container .product-colorways .product-colorways__label {
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
}

/* ============================================================
   SIZE CHART — PNG bianchi resi neri (Custom Reaven, 2026-09-11)
   La tabella taglie è una riga a fisarmonica (collapsible_tab) che
   stampa il contenuto della pagina collegata al metafield
   custom.size_chart. Le immagini sono line art bianca su trasparente:
   su fondo chiaro risultavano invisibili. invert(1) le porta a nero e
   lascia intatta la trasparenza.
   Il filtro è limitato alle immagini dentro le righe a fisarmonica
   della scheda prodotto — oggi le contiene solo Size Chart. Se domani
   ne aggiungi altrove, va ristretto a
   [id^="ProductAccordion-collapsible-row-2-"] img.
   ============================================================ */
.product__accordion .accordion__content img {
  filter: invert(1);
}

/* ============================================================
   CONTEGGIO PRODOTTI NASCOSTO (Custom Reaven, 2026-09-15)
   Richiesta cliente: niente "N Prodotti" da nessuna parte —
   testata collezione, barra filtri (mobile e desktop) e ricerca.
   Gli elementi restano nel DOM (facets.js li aggiorna via id):
   si nascondono e basta. PER TORNARE INDIETRO: eliminare il blocco.
   ============================================================ */
.collection-hero__count,
.facets-container-drawer > .product-count,
.product-count,
.product-count-vertical,
.mobile-facets__count {
  display: none !important;
}

/* Badge "Coming Soon" dell'app SB (coming soon / back in stock).
   1) L'app appiccica l'etichetta a QUALSIASI link verso un prodotto coming
      soon (logo, voci di menu, drawer, barra annunci): qui si nasconde
      ovunque e si riabilita SOLO dentro le card prodotto.
   2) Angoli raggiati come il fondo grigio della card (0.6rem).
   L'app inietta il suo CSS, quindi serve !important. */
body span.sb-collection-csp-label {
  display: none !important;
}

.card-wrapper span.sb-collection-csp-label,
.product-card-wrapper span.sb-collection-csp-label {
  display: inline-flex !important;
}

<<<<<<< HEAD
=======
/* Countdown dell'app (span.show_available_date): stesso vizio del badge,
   spuntava anche sotto il logo nell'header. Solo nelle card. */
body span.show_available_date {
  display: none !important;
}

/* L'header e' il posto dove l'app lo reinfila con piu' insistenza (dentro il
   link del logo): classe ripetuta x3 = specificita' 0-4-0, imbattibile per
   qualsiasi regola ragionevole dell'app. */
.header-wrapper .show_available_date.show_available_date.show_available_date,
.header-wrapper .sb-collection-csp-label.sb-collection-csp-label.sb-collection-csp-label {
  display: none !important;
}

.card-wrapper span.show_available_date,
.product-card-wrapper span.show_available_date {
  display: inline-block !important;
}

>>>>>>> 857f44b (Badge cfcfcf 60% a strato unico; countdown app solo nelle card; viste dense pulite)
/* Un SOLO strato di colore: #cfcfcf al 60% sul contenitore esterno,
   etichetta interna trasparente (i due sfondi sovrapposti creavano la
   doppia tinta). Specificità alta: l'app inietta il suo <style> dopo
   custom.css con !important e a parità di importanza vince chi ne ha di più. */
.sb-collection-csp-label,
.sb-collection-csp-label .csp-badge-lbl,
.collection-coming-soon-label {
  border-radius: 0.6rem !important;
  overflow: hidden;
}

.card-wrapper span.sb-collection-csp-label.collection-coming-soon-label,
.product-card-wrapper span.sb-collection-csp-label.collection-coming-soon-label {
  background: rgba(207, 207, 207, 0.6) !important;
  background-image: none !important;
  border-radius: 0.6rem !important;
  overflow: hidden !important;
}

.card-wrapper .sb-collection-csp-label span.csp-badge-lbl,
.product-card-wrapper .sb-collection-csp-label span.csp-badge-lbl {
  background: transparent !important;
  background-image: none !important;
}

/* ============================================================
   SCHEDA PRODOTTO SENZA BADGE/COUNTDOWN DELL'APP (2026-09-15)
   Le card di "Complete Your Look" sono card-wrapper come quelle
   delle collezioni, quindi ereditavano badge e timer; il timer
   inoltre sborda su Size Chart e paginazione (bug dell'app).
   Qui sotto tutto spento dentro la scheda prodotto: sulle griglie
   collezione restano. Selettori DOPO le eccezioni "solo card":
   a parita' di specificita' vince chi viene dopo.
   ============================================================ */
.product span.sb-collection-csp-label,
.product span.show_available_date,
.complementary-products span.sb-collection-csp-label,
.complementary-products span.show_available_date,
.quick-add-modal span.sb-collection-csp-label,
.quick-add-modal span.show_available_date {
  display: none !important;
}
