/*
 * La testata quando il menu sta nel cassetto (schermi stretti).
 *
 * Questo foglio non ha dentro nessuna media query: la soglia la decide il
 * tema quando lo carica (attributo «media» del tag), dall impostazione
 * «Il menu diventa a scomparsa sotto». Cosi lo stesso tema puo passare al
 * menu col pulsante a 900, a 1200 o a 1400 pixel a seconda di quante voci
 * ha il negozio, senza riscrivere una riga di CSS.
 */


  :root { --iw-altezza-testata: 60px; }

  .iw-testata__riga,
  .iw-testata--centrata .iw-testata__riga {
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "apri logo azioni";
    gap: var(--iw-spazio-2);
    padding-top: 0;
  }
  .iw-testata .iw-testata__apri { display: inline-grid; justify-self: start; }
  .iw-menu .iw-menu__chiudi { display: inline-grid; position: absolute; top: var(--iw-spazio-2); right: var(--iw-spazio-3); }
  /*
   * Le icone si stringono: restano bersagli da dito (40 px, sopra i 24 del
   * minimo) ma la colonna di destra si accorcia e il logo si allarga. Con
   * quattro icone da 44 e quattro spazi il logo restava a 110 px su 390.
   */
  .iw-testata__azioni { gap: 0; }
  .iw-testata__azioni .iw-azione { width: 40px; }
  /* la riga in alto col selettore della lingua: col menu nel cassetto la lingua sta in fondo al cassetto (vedi base.css) */
  .iw-servizio:has(.iw-lingue) { display: none; }
  .iw-testata__logo { text-align: center; }
  .iw-testata .custom-logo { max-height: 36px; margin-inline: auto; }
  /* «Logo sul telefono: a sinistra»: pulsante del menu e logo vicini, le icone a destra */
  .iw-testata--logo-sx .iw-testata__riga { grid-template-columns: auto minmax(0, 1fr) auto; }
  .iw-testata--logo-sx .iw-testata__logo { text-align: left; }
  .iw-testata--logo-sx .custom-logo { margin-inline: 0; }
  /* un nome lungo non va a capo spezzato ("IAWEB E- / COMMERCE"): una riga, poi i puntini */
  .iw-testata__nome { display: block; overflow: hidden; font-size: 1.05rem; white-space: nowrap; text-overflow: ellipsis; }

  .iw-menu,
  .iw-testata--centrata .iw-menu {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    /*
     * Il cassetto copre anche la testata: prima le restava sotto e doveva
     * lasciarle lo spazio in cima con un imbottitura, cosi la prima voce
     * partiva a 140 px dall alto e la × finiva in mezzo al nulla. Coprendola
     * il menu ha la sua × in alto a sinistra e comincia subito.
     */
    z-index: 80;
    width: min(86vw, 360px);
    margin: 0;
    padding: 0;
    overflow-y: hidden;
    background: var(--iw-superficie);
    border: 0;
    box-shadow: var(--iw-ombra);
    transform: translateX(-105%);
    transition: transform 220ms ease;
  }
  .iw-menu-aperto { overflow: hidden; }
  /*
   * Il cassetto e figlio della testata, e la testata e posizionata: lo strato
   * del cassetto vale dentro quello di lei. Per stare sopra il velo deve
   * salire la testata, non il cassetto.
   */
  .iw-menu-aperto .iw-testata { z-index: 80; }
  .iw-menu-aperto .iw-menu { transform: none; }
  /* il velo copre anche la testata: aperto il menu, dietro non si tocca niente */
  .iw-menu-aperto::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 75;
    background: rgb(0 0 0 / 0.35);
  }
  .iw-menu__lista { flex-direction: column; align-items: stretch; gap: 0; }
  .iw-menu a { padding: var(--iw-spazio-4) var(--iw-spazio-1); font-size: 1.05rem; border-bottom: 1px solid var(--iw-bordo); }
  .iw-menu .sub-menu {
    position: static;
    min-width: 0;
    padding: 0 0 0 var(--iw-spazio-4);
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .iw-menu .sub-menu a { font-size: 0.95rem; border-radius: 0; }


  .iw-menu .menu-item-has-children { display: grid; grid-template-columns: minmax(0, 1fr) 48px; align-items: stretch; }
  .iw-menu .menu-item-has-children > a { grid-column: 1; }
  /* niente riga di separazione sul pulsante: ce l ha gia la voce, e le due
     non erano allineate (una arrivava al bordo, l altra si fermava prima) */
  .iw-menu__sotto { display: grid; grid-column: 2; place-items: center; width: 48px; padding: 0; border: 0; background: none; color: var(--iw-testo-tenue); cursor: pointer; }
  .iw-menu__sotto svg { width: 20px; height: 20px; transition: transform var(--iw-transizione); }
  .iw-menu__voce--aperta > .iw-menu__sotto svg { transform: rotate(180deg); }
  .iw-menu .menu-item-has-children > .sub-menu,
  .iw-menu .menu-item-has-children > .iw-mega__pannello { display: none; grid-column: 1 / -1; }
  .iw-menu .iw-menu__voce--aperta > .sub-menu,
  .iw-menu .iw-menu__voce--aperta > .iw-mega__pannello { display: block; }
  .iw-mega__pannello .iw-contenitore { padding: 0; }
  .iw-mega__griglia { display: block; }
  /* stesso stacco dei sottomenu normali: i rami con il mega menu (Abbigliamento)
     aprivano le loro voci incollate sotto la madre */
  .iw-menu .iw-mega__colonne { position: static; min-width: 0; margin: 4px 0 0; padding: 4px 0 12px; border: 0; box-shadow: none; opacity: 1; visibility: inherit; transform: none; list-style: none; }
  .iw-menu .iw-mega__colonne > li > a { min-height: 44px; display: flex; align-items: center; padding: 0 0 0 14px; border: 0; color: var(--iw-testo-tenue); font-size: 0.95rem; }
  .iw-menu .iw-mega__colonne .sub-menu { margin: 0; padding: 0 0 4px var(--iw-spazio-4); }
  .iw-menu .iw-mega__promo { display: none; }

/* ------------------------------------------- il cassetto del menu, dentro
 *
 * Tre pezzi: testa ferma con la ×, corpo che scorre, e in fondo il blocco
 * dei contatti. Le righe sono alte 56 e si toccano comode: il «+» ha la sua
 * area da 44, il resto della riga apre la pagina.
 */
.iw-menu { display: flex; flex-direction: column; }
/* la × sta a sinistra, dov e il pollice che ha appena aperto il menu */
.iw-menu__testa {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 10px 8px;
}
/* stesso peso della regola che la piazzava in alto a destra, se no vince quella */
.iw-menu .iw-menu__chiudi { position: static; top: auto; right: auto; margin: 0; }
.iw-menu__corpo { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

.iw-menu__lista { padding-inline: 16px; }
.iw-menu__lista > li + li { border-top: 1px solid var(--iw-bordo); }
.iw-menu__lista > li { border-bottom: 0; }
.iw-menu__lista > li > a { min-height: 56px; display: flex; align-items: center; padding: 0; font-weight: 500; }
.iw-menu__sotto { width: 44px; height: 44px; right: 0; }
.iw-menu .menu-item-has-children { grid-template-columns: minmax(0, 1fr) 44px; }
/*
 * Le sottovoci: staccate dalla voce che le apre e rientrate. Senza lo stacco
 * «Donna» sembrava incollata sotto «Abbigliamento» e non si capiva piu quale
 * fosse il ramo e quale il figlio.
 */
.iw-menu .sub-menu { margin-top: 4px; padding: 4px 0 12px; }
.iw-menu .sub-menu a { min-height: 44px; padding: 0 0 0 14px; border: 0; color: var(--iw-testo-tenue); font-size: 0.95rem; }
.iw-menu .sub-menu a:hover { color: var(--iw-testo); }
/* la voce aperta si stacca anche sopra: il filo la separa dal ramo precedente */
.iw-menu .iw-menu__voce--aperta > a { font-weight: 600; }

/* ------------------------------------------------- «Serve aiuto?» in fondo */
.iw-menu__aiuto { padding: 22px 16px 0; border-top: 1px solid var(--iw-bordo); margin-top: 8px; }
.iw-menu__aiuto-titolo {
  margin: 0 0 12px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--iw-testo-tenue);
}
/*
 * «.iw-menu» davanti apposta: in base.css c e «.iw-menu a { display: block }»,
 * che pesa piu di una classe da sola e vinceva. La griglia c era e non si
 * applicava: l icona finiva sopra la scritta invece che di fianco.
 */
.iw-menu .iw-menu__aiuto-carta {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 12px 14px;
  border: 1px solid var(--iw-bordo);
  border-radius: var(--iw-raggio);
  color: var(--iw-testo);
  text-decoration: none;
}
.iw-menu__aiuto-carta + .iw-menu__aiuto-carta { margin-top: 10px; }
.iw-menu .iw-menu__aiuto-carta:hover { border-color: var(--iw-testo); }
/* colonna fissa per l icona: con o senza la riga sotto il testo parte sempre
   dallo stesso punto, e le carte restano alte uguali */
.iw-menu .iw-menu__aiuto-carta .iw-icona { width: 22px; height: 22px; color: var(--iw-accento); justify-self: center; }
.iw-menu__aiuto-testo { display: grid; gap: 2px; min-width: 0; font-size: 0.9375rem; line-height: 1.3; }
.iw-menu__aiuto-testo span { color: var(--iw-testo-tenue); font-size: 0.8125rem; }

/* --------------------------------------------- «Link utili» in fondo al menu */
.iw-menu__utili { padding: 18px 16px calc(24px + env(safe-area-inset-bottom, 0px)); }

/* il blocco dei contatti sopra non deve piu tenersi lo spazio di fondo pagina */

.iw-menu__utili-lista {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* le regole delle voci di menu qui non valgono: queste non sono rami del catalogo */
.iw-menu .iw-menu__utili-lista li { border: 0; }
.iw-menu .iw-menu__utili-lista a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  color: var(--iw-testo-tenue);
  font-size: 0.9375rem;
}
.iw-menu .iw-menu__utili-lista a:hover { color: var(--iw-testo); }

/* i social chiudono il cassetto */
/* centrati: in fondo al cassetto sono una firma, non un elenco da leggere */
.iw-menu__utili .iw-social { justify-content: center; margin: 20px 0 0; }
.iw-menu__utili .iw-social__link { width: 40px; height: 40px; }
.iw-menu__utili .iw-social .iw-icona { width: 20px; height: 20px; }
