/* Stili comuni del nuovo design ASO: nav, tendine, hamburger, footer e
   bottom-nav. Caricato su tutte le pagine che usano header e footer nuovi. */

:root{
      --verde-chiaro:  #CEDBC3;
      --lilla-chiaro:  #E8D6EF;
      --bianco-panna:  #FFF9F2;
      --verde-bosco:   #20573D;   
      --grigio-testo:  #3a3a3a;
      --grigio-muted:  #6b7280;
      --grigio-bordo:  #e5e7eb;
    }
.ic{display:inline-flex;align-items:center;justify-content:center}
.ic svg{display:block}
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(249,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--lilla-chiaro);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%}
.nav-logo{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-decoration:none;}
.nav-logo-img{display:block;height:20px;width:auto;}
.nav-logo-payoff{display:block;height:7px;width:auto;}
.nav-links{ display: flex; align-items:center; gap: 2rem; list-style: none; }
.nav-links > li > a{
      font-size: .88rem; font-weight: 500;
      color: var(--grigio-testo); text-decoration: none;
      letter-spacing: .02em; transition: color .25s;
    }
.nav-links > li > a:hover{ color: var(--grigio-testo); opacity:.7; }
.nav-disabled{ color: var(--grigio-muted); opacity:.55; cursor:not-allowed; font-size:.88rem; font-weight:500; }
.nav-dropdown{ position: relative; list-style:none; }
.nav-dropdown-label{
      text-decoration:none; color:inherit; font-family:'DM Sans',sans-serif;
      font-size:.88rem; font-weight:500;
    }
.nav-dropdown-caret{
      background:none; border:none; cursor:pointer; padding:0 0 0 .3rem;
      display:inline-flex; align-items:center; color:inherit;
    }
.nav-caret svg{ transition: transform .2s; }
.nav-dropdown-caret[aria-expanded="true"] .nav-caret svg{ transform: rotate(180deg); }
.nav-dropdown-panel{
      position:absolute; top:100%; left:0; min-width:230px;
      background:var(--bianco-panna); border-top:3px solid var(--verde-chiaro);
      box-shadow:0 14px 34px rgba(0,0,0,.10);
      border-radius:0 0 .9rem .9rem; padding:.35rem 0;
      display:none; z-index:120;
    }
.nav-dropdown-panel.open{ display:block; }
.nav-dropdown-panel--lilla{ border-top-color: var(--lilla-chiaro); }
.nav-dropdown-panel a{
      display:block; padding:.85rem 1.4rem; font-size:.87rem; font-weight:500;
      color:var(--grigio-testo); text-decoration:none;
      border-bottom:1px solid rgba(0,0,0,.06); transition:background .2s;
    }
.nav-dropdown-panel a:last-child{ border-bottom:none; }
.nav-dropdown-panel a:hover{ background:var(--verde-chiaro); }
.nav-dropdown-panel--lilla a:hover{ background:var(--lilla-chiaro); }
@media (min-width: 1101px) {
nav{ padding-bottom: 0; padding-left: 0; }
.folder-tabs{ align-self: flex-end; align-items: flex-end; gap: .4rem; margin-bottom: -1px; }
.folder-tabs li{ list-style: none; }
.folder-tabs > li > a:not(.nav-dropdown-label), .folder-tabs li.nav-dropdown, .folder-tabs .nav-disabled{
        position: relative; display: flex; align-items: center;
        padding: .65rem 1.4rem .6rem; margin: 0;
        font-size: .84rem; font-weight: 600; letter-spacing: .02em;
        text-decoration: none;
        border: 1.5px solid var(--verde-chiaro); border-bottom: none;
        border-radius: .8rem .8rem 0 0;
        background: var(--verde-chiaro);
        color: var(--grigio-testo);
        box-shadow: 0 2px 4px rgba(0,0,0,.05);
        transform: scale(1) translateY(0);
        transition: transform .22s ease, background .22s, color .22s, box-shadow .22s, border-color .22s;
      }
.folder-tabs .nav-disabled{ cursor:not-allowed; }
.folder-tabs li:nth-child(odd) > a, .folder-tabs li:nth-child(odd).nav-dropdown, .folder-tabs li:nth-child(odd) .nav-disabled{
        background: var(--verde-chiaro); border-color: var(--verde-chiaro);
      }
.folder-tabs li:nth-child(even) > a, .folder-tabs li:nth-child(even).nav-dropdown, .folder-tabs li:nth-child(even) .nav-disabled{
        background: var(--lilla-chiaro); border-color: var(--lilla-chiaro);
      }
.folder-tabs > li > a:not(.nav-dropdown-label):hover, .folder-tabs > li > a:not(.nav-dropdown-label):focus-visible, .folder-tabs li.nav-dropdown:hover, .folder-tabs li.nav-dropdown:focus-within{ border-color: var(--grigio-testo); z-index: 4; }
.folder-tabs > li > a:not(.nav-dropdown-label).active, .folder-tabs li.nav-dropdown.active{
        background: var(--bianco-panna);
        color: var(--grigio-testo);
        border: 1.5px solid var(--grigio-testo); border-bottom: none;
        transform: scale(1.08) translateY(-3px);
        z-index: 5;
        font-weight: 700;
        box-shadow: 0 -4px 12px rgba(0,0,0,.08);
      }
.nav-dropdown-panel{ margin-top: 1px; }
}
.footer-main{background:var(--bianco-panna);border-top:1px solid var(--grigio-bordo);color:var(--grigio-testo);padding:3.5rem 5% 0}
.footer-grid{display:grid;grid-template-columns:2fr 1.5fr 1.5fr;gap:3rem;max-width:1100px;margin:0 auto;padding-bottom:2.5rem}
.footer-brand-logo{display:block;text-decoration:none;margin-bottom:1.6rem;}
.footer-brand-logo-img{display:block;width:100%;max-width:250px;height:auto;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;margin-top:.4rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grigio-muted);margin-bottom:1rem}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem}
.footer-nav-list a{color:var(--grigio-testo);text-decoration:none;transition:color .2s}
.footer-nav-list a:hover{color:var(--grigio-muted)}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem}
.footer-info-item svg{flex-shrink:0;color:var(--grigio-testo);margin-top:.15rem}
.footer-bottom{border-top:1px solid var(--grigio-bordo);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:var(--grigio-muted)}
.footer-bottom-links{display:flex;gap:1.4rem}
.footer-bottom-links a{color:var(--grigio-muted);text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:var(--grigio-testo)}
@media(max-width:820px){
.footer-grid{grid-template-columns:1fr;gap:2rem}
.footer-bottom{flex-direction:column;text-align:center}
}
.nav-hamburger{
      display: none; flex-direction: column; gap: 5px;
      cursor: pointer; background: none; border: none;
      padding: .4rem; border-radius: .4rem; transition: background .2s;
    }
.nav-hamburger:hover{ background: var(--verde-chiaro); }
.nav-hamburger span{
      display: block; width: 24px; height: 2px;
      background: var(--grigio-testo); border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
.nav-hamburger.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2){ opacity: 0; }
.nav-hamburger.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 1100px) {
.nav-hamburger{ display: flex; }
.nav-links{
        display: none; position: fixed; top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98); backdrop-filter: blur(12px);
        flex-direction: column; align-items: stretch; gap: 0;
        padding: .5rem 0 1.5rem; border-bottom: 2px solid var(--verde-chiaro);
        z-index: 99; box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
.nav-links.open{ display: flex; }
.nav-links > li{ width: 100%; }
.nav-links > li > a, .nav-disabled{
        display: block; padding: .85rem 5%; font-size: 1rem;
        border-bottom: 1px solid var(--verde-chiaro);
      }
.nav-dropdown-label{ display:block; flex:1; padding: .85rem 5%; font-size:1rem; }
.nav-dropdown{ display:flex; align-items:center; border-bottom: 1px solid var(--verde-chiaro); }
.nav-dropdown-caret{ padding: .85rem 5% .85rem 0; }
.nav-dropdown-panel{
        position:static; box-shadow:none; border-top:none; border-radius:0;
        background:transparent; padding-left:1.2rem; margin-top:0;
      }
.nav-dropdown-panel a{ padding:.7rem 5%; border-bottom:1px solid rgba(0,0,0,.05); }
.nav-links > li:last-child > a{ border-bottom: none; }
.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:560px){
.footer-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
.bottom-nav{
        position:fixed;top:auto;bottom:0;left:0;right:0;z-index:300;
        background:rgba(249,247,242,.97);backdrop-filter:blur(14px);
        border-top:2px solid var(--verde-chiaro);
        display:flex;justify-content:space-around;align-items:stretch;
        height:calc(58px + env(safe-area-inset-bottom));
        padding-bottom:env(safe-area-inset-bottom)
      }
.bnav-tab{
        flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
        gap:3px;text-decoration:none;padding:.4rem .2rem;
        background:transparent;border:none;cursor:pointer;
        font-family:'DM Sans',sans-serif;transition:background .18s
      }
.bnav-tab svg{stroke:#6b7280;width:20px;height:20px;stroke-width:1.7;fill:none;transition:stroke .18s}
.bnav-tab span{font-size:.6rem;font-weight:500;color:#6b7280;letter-spacing:.02em;transition:color .18s;white-space:nowrap}
.bnav-tab:active{background:var(--verde-chiaro)!important}
.bnav-tab.bnav-active{background:var(--verde-chiaro)}
.bnav-tab.bnav-active svg{stroke:var(--grigio-testo)!important}
.bnav-tab.bnav-active span{color:var(--grigio-testo)!important;font-weight:700!important}
nav{padding:.6rem 4%!important}
.nav-logo{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-decoration:none;}
}
@media(min-width:769px){
.bottom-nav{display:none!important}
}

/* ─── Accedi / Profilo / Esci nell'header ─────────────────────── */
.aso-header-auth {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .95rem;
  border-radius: 100px;
  font-family: 'DM Sans', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  color: var(--grigio-testo, #3a3a3a);
  text-decoration: none;
  background: transparent;
  border: 1.5px solid transparent;
  transition: background .2s, border-color .2s;
  white-space: nowrap;
}
/* La barra e' gia' color panna: un accento chiaro sopra un fondo chiaro si
   notava appena. Si inverte su neutro scuro con testo panna, l'unico modo di
   avere un contrasto netto restando nei tre colori della palette. */
.aso-header-auth:hover,
.aso-header-auth:focus-visible {
  background: var(--grigio-testo, #3a3a3a);
  border-color: var(--grigio-testo, #3a3a3a);
  color: var(--bianco-panna, #FFF9F2);
}
.aso-header-auth svg { display: block; flex-shrink: 0; }

.aso-header-auth.is-logged-in {
  gap: .2rem;
  padding: 0;
  border: none;
  background: none;
}
.aso-header-auth.is-logged-in:hover { background: none; border-color: transparent; }

.aso-header-auth-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .85rem;
  border-radius: 100px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--grigio-testo, #3a3a3a);
  text-decoration: none;
  border: 1.5px solid transparent;
  transition: background .2s, border-color .2s;
  white-space: nowrap;
}
.aso-header-auth-link:hover,
.aso-header-auth-link:focus-visible {
  background: var(--lilla-chiaro, #E8D6EF);
  border-color: var(--grigio-testo, #3a3a3a);
}

@media (max-width: 1100px) {
  /* accanto all'hamburger lo spazio e' poco: resta solo l'icona */
  .aso-header-auth span,
  .aso-header-auth-link span { display: none; }
  .aso-header-auth,
  .aso-header-auth-link { padding: .4rem; }
}

/* La barra amministratore di WordPress sposta tutto in basso di 32px:
   la nav e' fissata in alto e finirebbe sotto la barra. */
body.admin-bar nav { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar nav { top: 46px; }
}
