/* Famyro Area Guide — shared top bar v2.1 */
:root{--home-cream:#f8f5ea;--home-ink:#062d21;--home-soft-green:#e9fff4;--home-green-bright:#00e884}
body.menu-open{overflow:hidden}
.topbar-shell{position:sticky;top:0;z-index:1000;padding:16px clamp(18px,2.7vw,42px) 0;background:linear-gradient(to bottom,rgba(248,245,234,.98),rgba(248,245,234,.92) 76%,transparent)}
.site-header{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:82px;max-width:1480px;margin:0 auto;padding:10px 14px 10px 30px;border:1px solid #dfe5df;border-radius:26px;background:#fff;box-shadow:0 15px 30px rgba(8,44,32,.08)}
.logo{display:inline-flex;align-items:center}.logo img{display:block;width:235px;height:auto}
.desktop-nav{display:flex;justify-content:center;align-items:center;gap:10px;padding-inline:24px}.desktop-nav .guide-menu{margin-right:34px}
.desktop-nav>a,.guide-menu-trigger{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding-inline:18px;border:0;border-radius:18px;background:transparent;color:var(--home-ink);font:800 18px/1 var(--famyro-font-heading,Poppins,sans-serif);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.desktop-nav>a:hover,.desktop-nav>a:focus-visible,.guide-menu-trigger:hover,.guide-menu-trigger:focus-visible,.guide-menu-trigger.is-current,[data-nav-active="guide"] [data-nav-item="guide"],[data-nav-item="guide"][aria-current="page"]{background:var(--home-soft-green);color:#007b49}
.nav-icon{display:inline-grid;place-items:center;width:24px;color:#00a960}.nav-icon img{display:block;width:100%;height:100%;object-fit:contain}.nav-icon svg,.menu-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.guide-chevron{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .2s ease}.guide-menu-trigger[aria-expanded=true] .guide-chevron{transform:rotate(180deg)}
.topbar-actions{display:flex;align-items:center;gap:18px}.header-login{color:var(--home-ink);font:800 18px/1 var(--famyro-font-heading,Poppins,sans-serif);text-decoration:none}.register-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:184px;min-height:58px;padding:0 25px;border:2px solid var(--home-ink);border-radius:17px;background:var(--home-green-bright);color:var(--home-ink);box-shadow:5px 6px 0 var(--home-ink);font:800 17px/1 var(--famyro-font-heading,Poppins,sans-serif);text-decoration:none}.register-button:hover,.register-button:focus-visible{transform:translate(2px,2px);box-shadow:3px 4px 0 var(--home-ink)}
.guide-menu{position:relative}.guide-menu-panel{position:absolute;top:calc(100% + 20px);left:0;width:min(650px,76vw);padding:30px 28px 28px;border:1.5px solid var(--home-ink);border-radius:24px;background:#fff;box-shadow:10px 12px 0 var(--home-ink)}.guide-menu-panel[hidden]{display:none}.guide-menu-eyebrow{margin:0 0 8px;color:#00824e;font:900 14px/1.2 var(--famyro-font-heading,Poppins,sans-serif);letter-spacing:.12em;text-transform:uppercase}.guide-menu-title{margin:0 0 24px;font:900 clamp(24px,2.3vw,31px)/1.1 var(--famyro-font-heading,Poppins,sans-serif)}.guide-menu-columns{display:grid;grid-template-columns:1.05fr .95fr}.guide-menu-links{display:grid;gap:16px;padding-right:34px}.guide-category-link{display:flex;align-items:center;gap:13px;color:var(--home-ink);font:800 18px/1.2 var(--famyro-font-heading,Poppins,sans-serif);text-decoration:none}.guide-coming-list{display:grid;gap:30px;padding-left:36px;border-left:1px solid #d9dfdc}.guide-coming-row{display:flex;justify-content:space-between;align-items:center;gap:18px;color:#63776f;font:800 18px/1.12 var(--famyro-font-heading,Poppins,sans-serif)}.guide-coming-row span{padding:6px 11px;border:1px solid #cdd6d1;border-radius:999px;font-size:13px;white-space:nowrap}.guide-menu-all{display:inline-flex;margin-top:30px;color:#00824e;font:600 17px/1 var(--famyro-font-heading,Poppins,sans-serif);text-decoration:none}.mobile-menu-toggle,.mobile-menu-panel{display:none}
@media(min-width:981px){.topbar-shell,.site-header,.logo img,.desktop-nav>a,.guide-menu-trigger,.register-button{transition:padding .24s ease,min-height .24s ease,max-width .24s ease,width .24s ease,font-size .24s ease,border-radius .24s ease,box-shadow .24s ease,transform .24s ease}.topbar-shell.is-compact{padding-top:8px}.topbar-shell.is-compact .site-header{min-height:68px;max-width:1370px;padding:7px 12px 7px 24px;border-radius:22px;box-shadow:0 12px 24px rgba(8,44,32,.09)}.topbar-shell.is-compact .logo img{width:205px}.topbar-shell.is-compact .desktop-nav>a,.topbar-shell.is-compact .guide-menu-trigger{min-height:42px;padding-inline:15px;font-size:16px}.topbar-shell.is-compact .register-button{min-width:166px;min-height:50px;border-radius:15px;font-size:16px}.topbar-shell.is-compact .header-login{font-size:17px}}
@media(max-width:1280px) and (min-width:981px){.desktop-nav{gap:8px}.desktop-nav .guide-menu{margin-right:22px}.desktop-nav>a,.guide-menu-trigger{font-size:16px}.logo img{width:195px}.register-button{min-width:160px}}
@media(max-width:980px){.topbar-shell{padding:10px 14px 0}.site-header{grid-template-columns:1fr auto;min-height:66px;padding:7px 8px 7px 20px;border-radius:20px}.logo img{width:170px}.desktop-nav,.topbar-actions{display:none}.mobile-menu-toggle{display:grid;place-content:center;width:50px;height:50px;padding:0;border:2px solid var(--home-ink);border-radius:14px;background:#00c879;box-shadow:3px 4px 0 var(--home-ink);cursor:pointer}.mobile-menu-toggle span{width:21px;height:2.5px;margin:2.5px 0;border-radius:4px;background:#fff;transition:transform .2s ease,opacity .2s ease}.mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mobile-menu-panel{position:absolute;top:calc(100% + 9px);right:0;left:0;display:grid;max-height:calc(100vh - 100px);overflow-y:auto;padding:14px;border:1.5px solid var(--home-ink);border-radius:20px;background:#fff;box-shadow:7px 8px 0 var(--home-ink)}.mobile-menu-panel[hidden]{display:none}.mobile-menu-panel>a,.guide-mobile-menu>summary{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:51px;padding:0 12px;border-bottom:1px solid #e4e9e6;color:var(--home-ink);font:800 17px/1.2 var(--famyro-font-heading,Poppins,sans-serif);text-decoration:none;cursor:pointer}.guide-mobile-menu>summary{justify-content:space-between;list-style:none}.guide-mobile-menu>summary::-webkit-details-marker{display:none}.guide-mobile-menu[open]>summary{border-radius:13px;background:var(--home-soft-green);color:#00824e}.guide-mobile-panel{display:grid;gap:8px;padding:10px 8px 14px}.guide-mobile-panel a,.mobile-coming{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 11px;border-radius:10px;color:var(--home-ink);font:700 15px/1.2 var(--famyro-font-heading,Poppins,sans-serif);text-decoration:none}.mobile-coming{color:#6b7b74}.mobile-coming small{padding:4px 8px;border:1px solid #cfd8d3;border-radius:999px}.mobile-all-guides{color:#00824e!important;font-weight:600!important}.mobile-menu-panel .register-button{justify-content:center;min-height:52px;margin-top:12px}}
@media(max-width:430px){.topbar-shell{padding-inline:10px}.site-header{padding-left:16px}.logo img{width:155px}.mobile-menu-toggle{width:46px;height:46px;border-radius:12px}.mobile-menu-panel{padding:12px;border-radius:18px;box-shadow:5px 6px 0 var(--home-ink)}}
@media(prefers-reduced-motion:reduce){.topbar-shell,.site-header,.logo img,.desktop-nav>a,.guide-menu-trigger,.register-button,.mobile-menu-toggle span{transition:none}}

@media(min-width:981px){[data-nav-active="guide"] [data-nav-item="guide"],[data-nav-item="guide"][aria-current="page"]{background:var(--home-soft-green)!important;color:#007b49!important}[data-nav-active="guide"] [data-nav-item="guide"] .nav-icon,[data-nav-item="guide"][aria-current="page"] .nav-icon{color:#00a960!important}}

/* Step 04.8B — definitive shared active state for the Guide area.
   This rule belongs only to the shared header and applies on every /guide/ page. */
@media (min-width:981px){
  .topbar-shell[data-nav-active="guide"] .site-header .desktop-nav .guide-menu > .guide-menu-trigger[data-nav-item="guide"],
  .topbar-shell .site-header .desktop-nav .guide-menu > .guide-menu-trigger[data-nav-item="guide"][aria-current="page"]{
    background-color:#e9fff4 !important;
    color:#007b49 !important;
  }
  .topbar-shell[data-nav-active="guide"] .site-header .desktop-nav .guide-menu > .guide-menu-trigger[data-nav-item="guide"] .nav-icon,
  .topbar-shell .site-header .desktop-nav .guide-menu > .guide-menu-trigger[data-nav-item="guide"][aria-current="page"] .nav-icon{
    color:#00a960 !important;
  }
}

/* v5.2 — legacy categories shown as coming soon */
.guide-category-link.is-coming{cursor:default;opacity:.72}.guide-category-link.is-coming small{margin-left:auto;padding:3px 7px;border-radius:999px;background:#fff4c7;color:#765900;font-size:10px;font-weight:800}.guide-category-link.is-coming:hover{transform:none;background:transparent}

/* v6.21 — Shared header isolation
   Keeps the Guide mega menu visually identical on Home, category and article pages,
   regardless of page-specific typography or component stylesheets. */
.topbar-shell,
.topbar-shell * {
  box-sizing: border-box;
}

.topbar-shell .guide-menu-panel p,
.topbar-shell .guide-menu-panel a,
.topbar-shell .guide-menu-panel span,
.topbar-shell .guide-menu-panel small,
.topbar-shell .guide-menu-panel button {
  font-family: var(--famyro-font-heading, Poppins, sans-serif);
}

.topbar-shell .guide-menu-panel p {
  padding: 0;
}

.topbar-shell .guide-menu-panel .guide-menu-eyebrow {
  margin: 0 0 8px;
  color: #00824e;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.topbar-shell .guide-menu-panel .guide-menu-title {
  margin: 0 0 24px;
  color: var(--home-ink);
  font-size: clamp(24px, 2.3vw, 31px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
}

@media (min-width: 981px) {
  .topbar-shell .guide-menu-panel .guide-menu-title {
    white-space: nowrap;
  }
}

.topbar-shell .guide-menu-panel .guide-category-link,
.topbar-shell .guide-menu-panel .guide-menu-all {
  text-decoration: none;
}

.topbar-shell .guide-menu-panel .guide-category-link {
  margin: 0;
  padding: 0;
  color: var(--home-ink);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
}

.topbar-shell .guide-menu-panel .guide-category-link small {
  margin-left: auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff4c9;
  color: #8a6c13;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
}

.topbar-shell .guide-menu-panel .guide-coming-row {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: normal;
  text-transform: none;
}

.topbar-shell .guide-menu-panel .guide-coming-row span {
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
}

.topbar-shell .guide-menu-panel .guide-menu-all {
  padding: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
}

/* v6.22 — Shared hover interaction for active Guide mega-menu links.
   Centralized here so Home, categories and articles behave identically. */
@media (min-width:981px) {
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming),
  .topbar-shell .guide-menu-panel .guide-menu-all {
    transition: color .18s ease, transform .18s ease;
    transform: translateX(0);
  }

  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming) .menu-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming) .nav-icon {
    transition: color .18s ease, transform .18s ease;
  }

  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):hover,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):focus-visible,
  .topbar-shell .guide-menu-panel .guide-menu-all:hover,
  .topbar-shell .guide-menu-panel .guide-menu-all:focus-visible {
    color: #00a960 !important;
    transform: translateX(7px);
  }

  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):hover .menu-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):hover .nav-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):focus-visible .menu-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):focus-visible .nav-icon {
    color: #00a960 !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming),
  .topbar-shell .guide-menu-panel .guide-menu-all,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming) .menu-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming) .nav-icon {
    transition: none;
  }
}

/* v6.23 — Force identical Guide mega-menu icon colors on every page.
   Some category styles were overriding bare SVG icons because they do not all use
   .menu-icon/.nav-icon wrappers. The shared header now owns every direct icon. */
.topbar-shell .guide-menu-panel .guide-category-link > svg,
.topbar-shell .guide-menu-panel .guide-category-link .menu-icon,
.topbar-shell .guide-menu-panel .guide-category-link .nav-icon {
  flex: 0 0 auto;
  color: #00a960 !important;
  fill: none !important;
  stroke: currentColor !important;
}

.topbar-shell .guide-menu-panel .guide-category-link > svg {
  width: 24px;
  height: 24px;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: color .18s ease, transform .18s ease;
}

@media (min-width:981px) {
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):hover > svg,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):focus-visible > svg,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):hover .menu-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):hover .nav-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):focus-visible .menu-icon,
  .topbar-shell .guide-menu-panel .guide-category-link:not(.is-coming):focus-visible .nav-icon {
    color: #00a960 !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .topbar-shell .guide-menu-panel .guide-category-link > svg {
    transition: none;
  }
}

/* v6.27 — Balanced 3 + 3 layout for the Guide mega menu.
   The first column contains the three topic categories; the second column
   groups Single, Coppia and Familiari. The existing shared markup is flattened
   with display:contents, so every page updates through header.css alone. */
@media (min-width:981px) {
  .topbar-shell .guide-menu-panel .guide-menu-columns {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: repeat(3, auto);
    column-gap: 72px;
    row-gap: 16px;
  }

  .topbar-shell .guide-menu-panel .guide-menu-columns::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: #d9dfdc;
    transform: translateX(-.5px);
  }

  .topbar-shell .guide-menu-panel .guide-menu-links,
  .topbar-shell .guide-menu-panel .guide-coming-list,
  .topbar-shell .guide-menu-panel .guide-menu-active-list {
    display: contents;
  }

  .topbar-shell .guide-menu-panel .guide-menu-links > .guide-category-link:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .topbar-shell .guide-menu-panel .guide-menu-links > .guide-category-link:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .topbar-shell .guide-menu-panel .guide-menu-links > .guide-category-link:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }

  .topbar-shell .guide-menu-panel .guide-menu-links > .guide-category-link:nth-child(4) {
    grid-column: 2;
    grid-row: 1;
  }

  .topbar-shell .guide-menu-panel .guide-coming-list > .guide-category-link:nth-child(1) {
    grid-column: 2;
    grid-row: 2;
  }

  .topbar-shell .guide-menu-panel .guide-coming-list > .guide-category-link:nth-child(2) {
    grid-column: 2;
    grid-row: 3;
  }
  /* v6.78 — Magazine: tutte le categorie sono attive.
     La seconda colonna non usa più la vecchia struttura "coming soon". */
  .topbar-shell .magazine-menu-panel .magazine-menu-active-list > .guide-category-link:nth-child(1) {
    grid-column: 2;
    grid-row: 1;
  }

  .topbar-shell .magazine-menu-panel .magazine-menu-active-list > .guide-category-link:nth-child(2) {
    grid-column: 2;
    grid-row: 2;
  }

  .topbar-shell .magazine-menu-panel .magazine-menu-active-list > .guide-category-link:nth-child(3) {
    grid-column: 2;
    grid-row: 3;
  }
}




/* v7.95 — Guide mega menu: reuse the six approved Home Guide PNG icons. */
.topbar-shell .guide-menu-panel:not(.magazine-menu-panel) .guide-category-link .guide-topic-icon{
  width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  overflow:visible;
  color:inherit!important;
  fill:initial!important;
  stroke:initial!important;
}
.topbar-shell .guide-menu-panel:not(.magazine-menu-panel) .guide-category-link .guide-topic-icon img{
  display:block;
  width:26px;
  height:26px;
  object-fit:contain;
  transform:translateZ(0);
  transition:transform .18s ease,filter .18s ease;
}
@media (min-width:981px){
  .topbar-shell .guide-menu-panel:not(.magazine-menu-panel) .guide-category-link:hover .guide-topic-icon img,
  .topbar-shell .guide-menu-panel:not(.magazine-menu-panel) .guide-category-link:focus-visible .guide-topic-icon img{
    transform:translateY(-1px) scale(1.08);
    filter:drop-shadow(0 3px 5px rgba(6,45,33,.12));
  }
}
@media (max-width:980px){
  .topbar-shell .guide-mobile-panel .guide-topic-mobile-icon{
    width:36px;
    height:36px;
    display:inline-grid;
    place-items:center;
    overflow:visible;
    color:inherit!important;
    fill:initial!important;
    stroke:initial!important;
  }
  .topbar-shell .guide-mobile-panel .guide-topic-mobile-icon img{
    display:block;
    width:30px;
    height:30px;
    object-fit:contain;
  }
}
@media (prefers-reduced-motion:reduce){
  .topbar-shell .guide-menu-panel:not(.magazine-menu-panel) .guide-category-link .guide-topic-icon img{transition:none}
}

/* v6.79 — Magazine mega menu: reuse the six approved Home topic PNG icons. */
.topbar-shell .magazine-menu-panel .guide-category-link .magazine-topic-icon{
  width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  overflow:visible;
  color:inherit!important;
  fill:initial!important;
  stroke:initial!important;
}
.topbar-shell .magazine-menu-panel .guide-category-link .magazine-topic-icon img{
  display:block;
  width:26px;
  height:26px;
  object-fit:contain;
  transform:translateZ(0);
  transition:transform .18s ease,filter .18s ease;
}
@media (min-width:981px){
  .topbar-shell .magazine-menu-panel .guide-category-link:hover .magazine-topic-icon img,
  .topbar-shell .magazine-menu-panel .guide-category-link:focus-visible .magazine-topic-icon img{
    transform:translateY(-1px) scale(1.08);
    filter:drop-shadow(0 3px 5px rgba(6,45,33,.12));
  }
}
@media (max-width:980px){
  .topbar-shell .guide-mobile-panel .magazine-topic-mobile-icon{
    width:30px;
    height:30px;
    display:inline-grid;
    place-items:center;
    overflow:visible;
    color:inherit!important;
    fill:initial!important;
    stroke:initial!important;
  }
  .topbar-shell .guide-mobile-panel .magazine-topic-mobile-icon img{
    display:block;
    width:30px;
    height:30px;
    object-fit:contain;
  }
}
@media (prefers-reduced-motion:reduce){
  .topbar-shell .magazine-menu-panel .guide-category-link .magazine-topic-icon img{transition:none}
}


/* ===== Mobile header consolidated v6.77 ===== */
/* Famyro Area Guide — shared mobile header v2.0 */
@media (max-width: 980px) {
  .topbar-shell {
    padding: 10px 14px 0;
  }

  .site-header {
    grid-template-columns: 1fr auto;
    min-height: 66px;
    padding: 7px 8px 7px 20px;
    border-radius: 20px;
  }

  .logo img { width: 145px; }
  .desktop-nav,
  .topbar-actions { display: none; }

  .mobile-menu-toggle {
    display: grid;
    place-content: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 2px solid var(--home-ink, #062d21);
    border-radius: 14px;
    background: #00d989;
    box-shadow: 3px 4px 0 var(--home-ink, #062d21);
    cursor: pointer;
  }

  .mobile-menu-toggle span {
    width: 21px;
    height: 2.5px;
    margin: 2.5px 0;
    border-radius: 4px;
    background: var(--home-ink, #062d21);
    transition: transform .2s ease, opacity .2s ease;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

  .mobile-menu-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    display: grid;
    gap: 4px;
    max-height: calc(100vh - 104px);
    overflow-y: auto;
    padding: 12px;
    border: 2px solid var(--home-ink, #062d21);
    border-radius: 20px;
    background: #fff;
    box-shadow: 7px 8px 0 var(--home-ink, #062d21);
  }

  .mobile-menu-panel[hidden] { display: none; }

  .guide-mobile-menu { margin: 0; }

  .guide-mobile-menu > summary,
  .mobile-menu-panel > a:not(.register-button) {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 54px;
    padding: 0 14px;
    border: 0;
    border-radius: 12px;
    color: var(--home-ink, #062d21);
    font: 700 18px/1.2 var(--famyro-font-heading, "FamyroPoppins", Poppins, sans-serif);
    text-decoration: none;
  }

  .guide-mobile-menu > summary {
    justify-content: flex-start;
    list-style: none;
    background: var(--home-soft-green, #e9fff4);
    cursor: pointer;
  }

  .guide-mobile-menu > summary::-webkit-details-marker { display: none; }

  .guide-mobile-menu > summary .guide-chevron {
    width: 17px;
    margin-left: auto;
    transition: transform .2s ease;
  }

  .guide-mobile-menu[open] > summary .guide-chevron { transform: rotate(180deg); }

  .mobile-menu-panel .nav-icon {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    color: #00a960;
  }

  .mobile-menu-panel .nav-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .guide-mobile-panel {
    display: grid;
    gap: 2px;
    padding: 8px 10px 10px 43px;
  }

  .guide-mobile-panel a {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0 4px;
    border-radius: 8px;
    color: var(--home-ink, #062d21);
    font: 650 14px/1.25 var(--famyro-font-heading, "FamyroPoppins", Poppins, sans-serif);
    text-decoration: none;
  }

  .guide-mobile-panel a:hover,
  .guide-mobile-panel a:focus-visible,
  .mobile-menu-panel > a:not(.register-button):hover,
  .mobile-menu-panel > a:not(.register-button):focus-visible {
    background: #f1fbf6;
    color: #00824e;
    outline: none;
  }

  .guide-mobile-panel .mobile-all-guides {
    margin-top: 4px;
    color: #00824e;
    font-weight: 700;
  }

  .mobile-menu-panel > .mobile-login {
    min-height: 48px;
    padding-left: 14px;
  }

  .mobile-menu-panel .register-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin-top: 4px;
    border: 2px solid var(--home-ink, #062d21);
    border-radius: 14px;
    background: #00e884;
    color: var(--home-ink, #062d21);
    font: 800 17px/1.2 var(--famyro-font-heading, "FamyroPoppins", Poppins, sans-serif);
    text-decoration: none;
    box-shadow: 4px 5px 0 var(--home-ink, #062d21);
  }

  body.menu-open { overflow: hidden; }
}

@media (max-width: 430px) {
  .topbar-shell { padding-inline: 10px; }
  .site-header { padding-left: 16px; }
  .logo img { width: 132px; }
  .mobile-menu-toggle { width: 46px; height: 46px; border-radius: 12px; }
  .mobile-menu-panel {
    padding: 10px;
    border-radius: 18px;
    box-shadow: 5px 6px 0 var(--home-ink, #062d21);
  }
  .guide-mobile-menu > summary,
  .mobile-menu-panel > a:not(.register-button) {
    min-height: 52px;
    padding-inline: 12px;
    font-size: 17px;
  }
  .guide-mobile-panel { padding-left: 39px; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu-toggle span,
  .guide-mobile-menu > summary .guide-chevron { transition: none; }
}


/* v6.83 — spaziatura reale mega menu e peso categorie */
.guide-menu-title {
  margin-bottom: 40px !important;
}

.guide-category-link {
  font-weight: 650 !important;
}

/* v6.95 — bagliore passante sul pulsante Iscriviti gratis */
.register-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.register-button::after {
  content: "";
  position: absolute;
  top: -35%;
  left: -48%;
  z-index: 1;
  width: 34%;
  height: 170%;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, .10) 24%,
    rgba(255, 255, 255, .72) 50%,
    rgba(255, 255, 255, .10) 76%,
    rgba(255, 255, 255, 0) 100%
  );
  filter: blur(.5px);
  transform: skewX(-18deg);
  opacity: 0;
  animation: registerButtonShine 5.8s ease-in-out infinite;
}

@keyframes registerButtonShine {
  0%, 64% {
    left: -48%;
    opacity: 0;
  }
  67% {
    opacity: .9;
  }
  74% {
    left: 118%;
    opacity: .65;
  }
  77%, 100% {
    left: 118%;
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .register-button::after {
    animation: none;
    opacity: 0;
  }
}

/* v7.09 — logo ridimensionato come nello stato compatto.
   Il logo mantiene la stessa misura equilibrata sia a pagina in alto sia
   durante lo scroll, evitando l’effetto sovradimensionato della v7.08. */
.logo img {
  width: 190px;
  max-width: none;
}

@media (min-width: 981px) {
  .topbar-shell.is-compact .logo img {
    width: 190px;
  }
}

@media (max-width: 1280px) and (min-width: 981px) {
  .logo img,
  .topbar-shell.is-compact .logo img {
    width: 180px;
  }
}

@media (max-width: 980px) {
  .logo img {
    width: 180px;
  }
}

@media (max-width: 430px) {
  .logo img {
    width: 165px;
  }
}

/* v7.31 — focus visibile sui controlli interattivi dell'header */
.topbar-shell .guide-menu-trigger:focus-visible,
.topbar-shell .mobile-menu-toggle:focus-visible,
.topbar-shell .guide-mobile-menu > summary:focus-visible{
  outline:3px solid #00a960;
  outline-offset:4px;
}

.topbar-shell .mobile-menu-toggle:focus-visible,
.topbar-shell .guide-mobile-menu > summary:focus-visible{
  border-radius:12px;
  background:#e9fff4;
}

/* v7.43 — ripristino bottone desktop "Inizia Gratis" su una riga con shine visibile */
.register-button{
  white-space:nowrap;
  flex-wrap:nowrap;
}
.register-button span[aria-hidden]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
}
@media (min-width:981px){
  .topbar-actions .register-button{
    flex:0 0 auto;
    width:auto;
    max-width:none;
    min-width:208px;
    padding-inline:28px;
    gap:14px;
  }
  .topbar-shell.is-compact .topbar-actions .register-button{
    min-width:198px;
    padding-inline:24px;
    gap:12px;
  }
}
.register-button::after{
  width:38%;
  animation:registerButtonShine 5s ease-in-out infinite;
}

/* v7.44 — CTA desktop compatta, contenuta nella top bar e sempre su una riga */
@media (min-width:981px){
  .topbar-actions{
    min-width:0;
    gap:14px;
  }
  .topbar-actions .register-button{
    flex:0 0 auto;
    min-width:184px;
    min-height:56px;
    padding-inline:22px;
    gap:11px;
    white-space:nowrap;
  }
  .topbar-shell.is-compact .topbar-actions .register-button{
    min-width:174px;
    min-height:50px;
    padding-inline:19px;
    gap:10px;
  }
}
@media (max-width:1280px) and (min-width:981px){
  .topbar-actions{
    gap:10px;
  }
  .topbar-actions .register-button,
  .topbar-shell.is-compact .topbar-actions .register-button{
    min-width:166px;
    padding-inline:17px;
    gap:9px;
    font-size:16px;
  }
}

/* v7.45 — mega menu: categorie più leggere e puntino prima dell'eyebrow */
.topbar-shell .guide-menu-panel .guide-category-link{
  font-weight:600 !important;
}
.topbar-shell .guide-menu-panel .guide-menu-eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
}
.topbar-shell .guide-menu-panel .guide-menu-eyebrow::before{
  content:"";
  width:10px;
  height:10px;
  flex:none;
  border-radius:50%;
  background:#00a960;
  box-shadow:0 0 0 5px rgba(0,169,96,.12);
}

/* v7.86 — navigazione globale condivisa Guide + Magazine */
@media (min-width:981px){
  .desktop-nav{
    gap:8px;
    padding-inline:18px;
  }
  .desktop-nav .guide-menu{
    margin-right:0;
  }
  .desktop-nav .guide-menu-trigger{
    padding-inline:15px;
  }
  .topbar-shell[data-nav-active="guide"] .guide-menu-trigger[data-nav-item="guide"],
  .topbar-shell[data-nav-active="magazine"] .guide-menu-trigger[data-nav-item="magazine"]{
    background:var(--home-soft-green)!important;
    color:#007b49!important;
  }
  .topbar-shell[data-nav-active="guide"] .guide-menu-trigger[data-nav-item="guide"] .nav-icon,
  .topbar-shell[data-nav-active="magazine"] .guide-menu-trigger[data-nav-item="magazine"] .nav-icon{
    color:#00a960!important;
  }
  .nav-menu .guide-menu-panel{
    z-index:20;
  }
  .magazine-menu-panel{
    width:min(760px,calc(100vw - 48px));
  }
  .discover-menu-panel{
    left:auto;
    right:0;
    width:min(360px,76vw);
  }
  .discover-menu-panel .guide-menu-title{
    max-width:300px;
  }
  .discover-menu-links{
    display:grid;
    gap:15px;
  }
  .discover-menu-links .guide-category-link{
    justify-content:space-between;
  }
}

.topbar-shell .guide-coming-row{
  color:#63776f;
}

@media (max-width:980px){
  .mobile-nav-section.is-current>summary{
    border-radius:13px;
    background:var(--home-soft-green);
    color:#00824e;
  }
  .mobile-nav-section.is-current>summary .nav-icon{
    color:#00a960;
  }
  .mobile-menu-panel>.guide-mobile-menu+ .guide-mobile-menu{
    margin-top:2px;
  }
}

@media (max-width:1180px) and (min-width:981px){
  .site-header{
    padding-left:22px;
  }
  .logo img,
  .topbar-shell.is-compact .logo img{
    width:168px;
  }
  .desktop-nav{
    gap:3px;
    padding-inline:10px;
  }
  .desktop-nav .guide-menu-trigger,
  .topbar-shell.is-compact .desktop-nav .guide-menu-trigger{
    min-height:42px;
    padding-inline:11px;
    gap:7px;
    font-size:15px;
  }
  .desktop-nav .nav-icon{
    width:21px;
  }
  .desktop-nav .nav-icon svg{
    width:21px;
    height:21px;
  }
  .topbar-actions{
    gap:9px;
  }
  .header-login,
  .topbar-shell.is-compact .header-login{
    font-size:16px;
  }
  .topbar-actions .register-button,
  .topbar-shell.is-compact .topbar-actions .register-button{
    min-width:158px;
    padding-inline:15px;
    font-size:15px;
  }
}


/* v7.87 — sottomenu mobile premium condiviso Guide + Magazine + Scopri */
@media (max-width:980px){
  .mobile-menu-panel .guide-mobile-menu>summary{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) 20px;
    align-items:center;
    gap:12px;
    min-height:60px;
    padding:9px 15px;
    background:#e9fff4;
    color:#006f45;
    font-family:var(--famyro-font-heading,"FamyroPoppins",Poppins,sans-serif);
    font-size:19px;
    font-weight:700;
    line-height:1.15;
  }
  .mobile-menu-panel .guide-mobile-menu>summary .guide-mobile-label{
    display:block;
    min-width:0;
    text-align:center;
    white-space:nowrap;
  }
  .mobile-menu-panel .guide-mobile-menu>summary .nav-icon{
    width:29px;
    height:29px;
    flex:0 0 29px;
  }
  .mobile-menu-panel .guide-mobile-panel{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:9px 6px 13px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem,
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:50px;
    margin:0;
    padding:5px 9px;
    border:0;
    border-radius:12px;
    font-family:var(--famyro-font-heading,"FamyroPoppins",Poppins,sans-serif);
    font-size:17px;
    font-weight:600;
    line-height:1;
    letter-spacing:-.012em;
    text-align:left;
    white-space:nowrap;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    align-items:center;
    gap:11px;
    color:var(--home-ink,#062d21);
    text-decoration:none;
    transition:background-color .18s ease,color .18s ease,transform .18s ease;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    color:#60716b;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:11px;
    min-height:52px;
    margin-top:5px;
    color:#008650!important;
    font-weight:650!important;
    text-decoration:none;
    transition:background-color .18s ease,color .18s ease,transform .18s ease;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-label{
    display:block;
    min-width:0;
    overflow:visible;
    text-align:left;
    white-space:nowrap;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border:1px solid rgba(0,169,96,.13);
    border-radius:10px;
    background:linear-gradient(145deg,#effcf5,#e2f8ec);
    color:#00985a;
    box-shadow:0 4px 10px rgba(6,45,33,.045);
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon svg{
    display:block;
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming small{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:22px;
    padding:3px 6px;
    border:1px solid #d5dfda;
    border-radius:7px;
    background:#fbfcfb;
    color:#718079;
    font-family:var(--famyro-font-heading,"FamyroPoppins",Poppins,sans-serif);
    font-size:10px;
    font-weight:600;
    line-height:1;
    letter-spacing:0;
    white-space:nowrap;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-arrow{
    color:#008650;
    font-size:18px;
    font-weight:500;
    line-height:1;
    transition:transform .18s ease;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem:hover,
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem:focus-visible,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:hover,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:focus-visible{
    background:#f1fbf6;
    color:#008650!important;
    transform:translateX(3px);
    outline:none;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem:hover .mobile-item-icon,
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem:focus-visible .mobile-item-icon,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:hover .mobile-item-icon,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:focus-visible .mobile-item-icon{
    border-color:rgba(0,169,96,.22);
    background:#dcf8e9;
    transform:scale(1.04);
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:hover .mobile-item-arrow,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:focus-visible .mobile-item-arrow{
    transform:translateX(3px);
  }
}
@media (max-width:430px){
  .mobile-menu-panel .guide-mobile-menu>summary{
    grid-template-columns:29px minmax(0,1fr) 18px;
    min-height:56px;
    padding:8px 12px;
    gap:10px;
    font-size:18px;
  }
  .mobile-menu-panel .guide-mobile-menu>summary .nav-icon{
    width:27px;
    height:27px;
  }
  .mobile-menu-panel .guide-mobile-panel{
    gap:2px;
    padding:7px 4px 11px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem,
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    min-height:47px;
    padding:4px 7px;
    font-size:15.5px;
    font-weight:600;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem{
    grid-template-columns:31px minmax(0,1fr);
    gap:9px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    grid-template-columns:31px minmax(0,1fr) auto;
    gap:8px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon{
    width:31px;
    height:31px;
    border-radius:9px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon svg{
    width:17px;
    height:17px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming small{
    min-height:20px;
    padding:3px 5px;
    font-size:9px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-arrow{
    font-size:16px;
  }
}
@media (max-width:350px){
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem,
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    font-size:14.5px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming small{
    font-size:8.5px;
    padding-inline:4px;
  }
}
@media (prefers-reduced-motion:reduce){
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides,
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon,
  .mobile-menu-panel .guide-mobile-panel .mobile-item-arrow{
    transition:none;
  }
}


/* v7.88 — Mobile submenu: testi e icone più grandi, icone senza box/contorno */
@media (max-width:980px){
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem,
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    min-height:54px;
    font-size:19px;
    font-weight:600;
    line-height:1.08;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem{
    grid-template-columns:32px minmax(0,1fr);
    gap:13px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    grid-template-columns:32px minmax(0,1fr) auto;
    gap:12px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon{
    width:32px;
    height:32px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#00985a;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon svg{
    width:25px;
    height:25px;
    stroke-width:1.9;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    font-weight:600!important;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem:hover .mobile-item-icon,
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem:focus-visible .mobile-item-icon,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:hover .mobile-item-icon,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides:focus-visible .mobile-item-icon{
    border-color:transparent;
    background:transparent;
    transform:translateX(1px) scale(1.07);
  }
}
@media (max-width:430px){
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem,
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    min-height:52px;
    font-size:18px;
    font-weight:600;
    line-height:1.08;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem{
    grid-template-columns:30px minmax(0,1fr);
    gap:11px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:10px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon{
    width:22px;
    height:22px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon svg{
    width:24px;
    height:24px;
  }
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming small{
    font-size:9px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-arrow{
    font-size:18px;
  }
}
@media (max-width:350px){
  .mobile-menu-panel .guide-mobile-panel>.mobile-subitem,
  .mobile-menu-panel .guide-mobile-panel>.mobile-coming,
  .mobile-menu-panel .guide-mobile-panel>.mobile-all-guides{
    font-size:16.5px;
  }
  .mobile-menu-panel .guide-mobile-panel .mobile-item-icon svg{
    width:22px;
    height:22px;
  }
}

/* v7.95 — Guide mobile: size Home Guide PNG icons inside the existing icon slots. */
@media (max-width:980px){
  .mobile-menu-panel .guide-mobile-panel .guide-topic-mobile-icon img{
    display:block;
    width:26px;
    height:26px;
    object-fit:contain;
  }
}
@media (max-width:430px){
  .mobile-menu-panel .guide-mobile-panel .guide-topic-mobile-icon img{
    width:24px;
    height:24px;
  }
}
@media (max-width:350px){
  .mobile-menu-panel .guide-mobile-panel .guide-topic-mobile-icon img{
    width:22px;
    height:22px;
  }
}

/* v7.92 — Magazine mobile: size Home topic PNGs inside the existing icon slots. */
@media (max-width:980px){
  .mobile-menu-panel .guide-mobile-panel .magazine-topic-mobile-icon img{
    display:block;
    width:26px;
    height:26px;
    object-fit:contain;
  }
}
@media (max-width:430px){
  .mobile-menu-panel .guide-mobile-panel .magazine-topic-mobile-icon img{
    width:24px;
    height:24px;
  }
}
@media (max-width:350px){
  .mobile-menu-panel .guide-mobile-panel .magazine-topic-mobile-icon img{
    width:22px;
    height:22px;
  }
}

/* v7.96 — Famyro institutional menu (Chi siamo / Staff / Contatti). */
@media (min-width:981px){
  .topbar-shell[data-nav-active="famyro"] .guide-menu-trigger[data-nav-item="famyro"]{
    background:var(--home-soft-green)!important;
    color:#007b49!important;
  }
  .topbar-shell[data-nav-active="famyro"] .guide-menu-trigger[data-nav-item="famyro"] .nav-icon{
    color:#00a960!important;
  }
  .famyro-menu-panel{
    left:auto;
    right:0;
    width:min(410px,76vw);
  }
  .famyro-menu-panel .guide-menu-title{
    max-width:330px;
    margin-bottom:20px;
  }
  .famyro-menu-links{
    display:grid;
    gap:8px;
  }
  .famyro-menu-link{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:13px 14px;
    border-radius:14px;
    color:var(--home-ink);
    text-decoration:none;
    transition:background-color .18s ease,color .18s ease,transform .18s ease;
  }
  .famyro-menu-link__icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
  }
  .famyro-menu-link__icon img{
    display:block;
    width:36px;
    height:36px;
    object-fit:contain;
  }
  .famyro-menu-link__copy{
    display:grid;
    gap:4px;
  }
  .famyro-menu-link strong{
    font-size:16px;
    font-weight:700;
    line-height:1.2;
  }
  .famyro-menu-link small{
    color:#63776f;
    font-size:12px;
    font-weight:500;
    line-height:1.35;
  }
  .famyro-menu-link__arrow{
    color:#00824e;
    font-size:19px;
    transition:transform .18s ease;
  }
  .famyro-menu-link:hover,
  .famyro-menu-link:focus-visible{
    background:#e9fff4;
    color:#007b49;
    transform:translateX(3px);
    outline:none;
  }
  .famyro-menu-link:hover .famyro-menu-link__arrow,
  .famyro-menu-link:focus-visible .famyro-menu-link__arrow{
    transform:translateX(3px);
  }
}

@media (max-width:980px){
  .mobile-menu-panel .guide-mobile-panel a[href="/chi-siamo/"],
  .mobile-menu-panel .guide-mobile-panel a[href="/staff-famyro/"],
  .mobile-menu-panel .guide-mobile-panel a[href="/contatti/"]{
    transition:background-color .18s ease,color .18s ease,transform .18s ease;
  }
  .mobile-menu-panel .guide-mobile-panel a[href="/chi-siamo/"]:hover,
  .mobile-menu-panel .guide-mobile-panel a[href="/staff-famyro/"]:hover,
  .mobile-menu-panel .guide-mobile-panel a[href="/contatti/"]:hover,
  .mobile-menu-panel .guide-mobile-panel a[href="/chi-siamo/"]:focus-visible,
  .mobile-menu-panel .guide-mobile-panel a[href="/staff-famyro/"]:focus-visible,
  .mobile-menu-panel .guide-mobile-panel a[href="/contatti/"]:focus-visible{
    background:#e9fff4;
    color:#007b49;
    transform:translateX(2px);
    outline:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .famyro-menu-link,
  .famyro-menu-link__arrow,
  .mobile-menu-panel .guide-mobile-panel a[href="/chi-siamo/"],
  .mobile-menu-panel .guide-mobile-panel a[href="/staff-famyro/"],
  .mobile-menu-panel .guide-mobile-panel a[href="/contatti/"]{
    transition:none;
  }
}


/* v7.88 — titoli compatti mega menu Magazine + Scopri */
.topbar-shell .magazine-menu-panel .guide-menu-title,
.topbar-shell .discover-menu-panel .guide-menu-title {
  font-size: clamp(20px, 1.55vw, 22px);
  line-height: 1.18;
  margin-bottom: 28px !important;
}

@media (min-width: 981px) {
  .topbar-shell .magazine-menu-panel .guide-menu-title,
  .topbar-shell .discover-menu-panel .guide-menu-title {
    white-space: normal;
    text-wrap: balance;
  }

  .topbar-shell .magazine-menu-panel .guide-menu-title {
    max-width: 560px;
  }

  .topbar-shell .discover-menu-panel .guide-menu-title {
    max-width: 270px;
  }
}

/* v7.89 — Magazine mega menu desktop: width and column spacing tightened after shorter heading */
@media (min-width:981px){
  .topbar-shell .magazine-menu-panel{
    width:min(620px,calc(100vw - 48px));
  }

  .topbar-shell .magazine-menu-panel .guide-menu-columns{
    column-gap:44px;
  }
}

/* v7.90 — Magazine mega menu desktop: ulteriore riduzione della larghezza */
@media (min-width:981px){
  .topbar-shell .magazine-menu-panel{
    width:min(560px,calc(100vw - 48px));
  }
}


/* v7.128 — Discover mega menu: landing icons + highlighted hover rows. */
@media (min-width:981px){
  .topbar-shell .discover-menu-panel .discover-menu-links{
    gap:7px;
  }

  .topbar-shell .discover-menu-panel .discover-menu-link{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    width:100%;
    padding:11px 12px;
    border-radius:13px;
    transition:background-color .18s ease,color .18s ease,transform .18s ease;
  }

  .topbar-shell .discover-menu-panel .discover-menu-link__main{
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
  }

  .topbar-shell .discover-menu-panel .discover-menu-link__icon{
    display:grid;
    place-items:center;
    flex:0 0 27px;
    width:27px;
    height:27px;
    color:#00a960;
    transition:color .18s ease,transform .18s ease;
  }

  .topbar-shell .discover-menu-panel .discover-menu-link__icon svg{
    display:block;
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .topbar-shell .discover-menu-panel .discover-menu-link__arrow{
    color:#00824e;
    font-size:19px;
    line-height:1;
    transition:color .18s ease,transform .18s ease;
  }

  .topbar-shell .discover-menu-panel .discover-menu-link:hover,
  .topbar-shell .discover-menu-panel .discover-menu-link:focus-visible{
    background:#e9fff4;
    color:#007b49 !important;
    transform:translateX(3px) !important;
    outline:none;
  }

  .topbar-shell .discover-menu-panel .discover-menu-link:hover .discover-menu-link__icon,
  .topbar-shell .discover-menu-panel .discover-menu-link:focus-visible .discover-menu-link__icon{
    color:#00a960;
    transform:scale(1.05);
  }

  .topbar-shell .discover-menu-panel .discover-menu-link:hover .discover-menu-link__arrow,
  .topbar-shell .discover-menu-panel .discover-menu-link:focus-visible .discover-menu-link__arrow{
    color:#00a960;
    transform:translateX(3px);
  }
}

@media (prefers-reduced-motion:reduce){
  .topbar-shell .discover-menu-panel .discover-menu-link,
  .topbar-shell .discover-menu-panel .discover-menu-link__icon,
  .topbar-shell .discover-menu-panel .discover-menu-link__arrow{
    transition:none;
  }
}

