/* Aroldo · testata fissa che si riduce, mega menu, menu mobile a tutto schermo, icone social */
:root {
  --aro-head-h: 5rem;
  --aro-page: 76rem;
  --aro-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Contenitore fisso */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, 0.97); border-bottom: 1px solid transparent; transition: border-color 300ms var(--aro-ease); }
.wp-site-blocks > header.wp-block-template-part.is-small { border-bottom-color: var(--wp--preset--color--sand-soft); }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 0px); }
.aro-header > * + * { margin-block-start: 0; }

/* Barra */
.aro-header .aro-wrap { width: 100%; max-width: var(--aro-page); margin-inline: auto; padding-inline: 1.5rem; box-sizing: border-box; }
@media (min-width: 48rem) { .aro-header .aro-wrap { padding-inline: 3rem; } }
.aro-bar { display: flex !important; align-items: center; justify-content: space-between; gap: 1.5rem; height: var(--aro-head-h); transition: height 300ms var(--aro-ease); }
.is-small .aro-bar { height: 3.5rem; }
.aro-logo { display: block; flex: none; }
.aro-logo img { display: block; height: 3.15rem; width: auto; transition: height 300ms var(--aro-ease); }
.is-small .aro-logo img { height: 2.25rem; }

/* Voci principali (solo desktop) */
.aro-header .aro-nav { display: none !important; margin-left: auto; }
.aro-nav .wp-block-navigation__container { gap: 2rem; }
.aro-nav .wp-block-navigation-item__content, .aro-mobile-list .wp-block-navigation-item__content {
  text-decoration: none; text-transform: uppercase; white-space: nowrap;
}
.aro-nav .wp-block-navigation-item__content {
  font-size: 0.8125rem; letter-spacing: 0.1em; padding-block: 0.5rem;
  background: linear-gradient(var(--wp--preset--color--olive), var(--wp--preset--color--olive)) left bottom / 0 1px no-repeat;
  transition: background-size 800ms var(--aro-ease);
}
.aro-nav .wp-block-navigation-item__content:hover, .aro-nav .wp-block-navigation-item__content[aria-expanded="true"] { background-size: 100% 1px; }
.aro-nav .wp-block-navigation-item:nth-last-child(2) .wp-block-navigation-item__content { font-weight: 600; color: var(--wp--preset--color--olive-deep); }
.aro-burger { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin-right: -0.5rem; color: inherit; text-decoration: none; }
.aro-burger svg, .aro-mobile-menu__close svg { display: block; width: 1.75rem; height: 1.75rem; }
@media (min-width: 56rem) { .aro-header .aro-nav { display: flex !important; } .aro-header .aro-burger { display: none !important; } }

/* Mega menu (solo desktop) */
.aro-mega { display: none; }
@media (min-width: 56rem) {
  .aro-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--wp--preset--color--paper); border-bottom: 1px solid var(--wp--preset--color--sand-soft); }
  .aro-mega.is-open { display: block; }
}
.aro-mega__panel { display: none; padding-block: 2.5rem; }
.aro-mega__panel.is-open { display: block; animation: aro-mega-in 220ms var(--aro-ease); }
@keyframes aro-mega-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.aro-mega h3 { font-size: 1.375rem; line-height: 1.2; margin: 0 0 0.25rem; font-weight: 600; }
.aro-mega h3 a { text-decoration: none; }
.aro-mega h3 a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--olive); }
.aro-mega p { margin: 0; }
.aro-m-sub { color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.aro-m-link { margin-top: 1rem !important; font-weight: 600; font-size: 0.875rem; }
.aro-m-link a { color: var(--wp--preset--color--olive-deep); }
.aro-mega .aro-badge { display: inline-block; font-size: 0.875rem; font-weight: 600; background: var(--wp--preset--color--sand-soft); padding: 0 0.75rem; margin-bottom: 0.25rem; }
.aro-m-item { display: grid !important; grid-template-columns: 6rem minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.aro-m-item figure { margin: 0; }
.aro-m-item img { width: 6rem; height: 6rem; object-fit: cover; display: block; }
.aro-m-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.aro-mega .aro-m-list p { border-top: 1px solid var(--wp--preset--color--sand-soft); padding-block: 0.75rem; }
.aro-mega .aro-m-list a, .aro-m-cats a { text-decoration: none; }
.aro-mega .aro-m-list a:hover, .aro-m-cats a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--olive); }
.aro-m-cats { list-style: none; margin: 0; padding: 0; }
.aro-m-cats li { border-top: 1px solid var(--wp--preset--color--sand-soft); padding-block: 0.75rem; }
.aro-m-latest { list-style: none; margin: 0; padding: 0; }
.aro-m-latest li { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.aro-m-latest .wp-block-latest-posts__featured-image { margin: 0; }
.aro-m-latest img { width: 6rem !important; height: 6rem; object-fit: cover; }
.aro-m-latest a { font-weight: 600; font-size: 1.375rem; line-height: 1.2; text-decoration: none; }
.aro-m-latest time { display: block; color: var(--wp--preset--color--muted); font-size: 0.875rem; }

/* Griglia 12 colonne dentro i pannelli e classi colonna usate dalla testata */
@media (min-width: 56rem) {
  .aro-mega .aro-g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: start; }
  .aro-mega .aro-g12 > * { grid-column: var(--c, 1 / -1); }
}
.aro-c-1-5 { --c: 1 / 5; } .aro-c-1-6 { --c: 1 / 6; } .aro-c-1-8 { --c: 1 / 8; } .aro-c-5-9 { --c: 5 / 9; }
.aro-c-6-11 { --c: 6 / 11; } .aro-c-8-13 { --c: 8 / 13; } .aro-c-9-13 { --c: 9 / 13; } .aro-c-10-13 { --c: 10 / 13; }

/* Menu mobile a tutto schermo */
.aro-mobile-menu {
  display: none; position: fixed; inset: 0; z-index: 100; background: var(--wp--preset--color--sand); color: var(--wp--preset--color--ink);
  flex-direction: column; overflow-y: auto;
}
.aro-mobile-menu:target, .aro-mobile-menu.is-open { display: flex; }
.aro-mobile-menu__top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--aro-head-h); padding-inline: 1.5rem; flex: none; }
.aro-mobile-menu__top img { height: 2.5rem; width: auto; grid-column: 2; }
.aro-mobile-menu__close { grid-column: 3; justify-self: end; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin-right: -0.5rem; color: inherit; text-decoration: none; }
.aro-mobile-list { margin: auto 0; padding: 2rem 0; width: 100%; text-align: center; justify-content: center; }
.aro-mobile-list .wp-block-navigation__container { flex-direction: column; align-items: center; gap: 0.5rem; width: 100%; margin: 0; padding: 0; }
.aro-mobile-list .wp-block-navigation-item { width: 100%; justify-content: center; }
.aro-mobile-list .wp-block-navigation-item__content { text-align: center; }
.aro-mobile-list .wp-block-navigation-item__content {
  display: block; padding: 0.5rem 0; font-family: var(--wp--preset--font-family--display); font-weight: 200;
  font-size: clamp(1.1875rem, 5.4vw, 1.625rem); line-height: 1.2; letter-spacing: 0.1em;
}
.aro-mobile-menu__foot { flex: none; text-align: center; padding: 1.5rem 1.5rem 2rem; }
.aro-mobile-menu__foot .wp-block-social-links { justify-content: center; margin-bottom: 1rem; }
body.aro-menu-open { overflow: hidden; }
@media (min-width: 56rem) { .aro-mobile-menu { display: none !important; } }

/* Icone social */
.aro-social { gap: 0.5rem; }
.aro-social .wp-social-link a { padding: 0.5rem; }
.aro-social .wp-social-link svg { width: 1.375rem; height: 1.375rem; }
.aro-social.is-style-logos-only .wp-social-link { color: var(--wp--preset--color--ink); }
.aro-social .wp-social-link a:hover { color: var(--wp--preset--color--olive-deep); }

@media (prefers-reduced-motion: reduce) {
  .aro-mega__panel.is-open { animation: none; }
  * { transition-duration: 0.01ms !important; }
}


/* ---- Rifinitura: allineamento verticale e blocchi WooCommerce nella navigazione ---- */
.aro-header .aro-bar > * { margin-block: 0 !important; }
.aro-header .aro-nav { margin-block: 0 !important; align-self: center; }
.aro-nav .wp-block-navigation__container { align-items: center; }
.aro-nav .wp-block-woocommerce-customer-account, .aro-nav .wc-block-mini-cart, .aro-nav .wp-block-woocommerce-mini-cart { margin: 0; align-self: center; }
.aro-nav li:has(> a[href*="/carrello"]) { display: none; }
.aro-mobile-list .wp-block-woocommerce-customer-account, .aro-mobile-list .wc-block-mini-cart, .aro-mobile-list .wp-block-woocommerce-mini-cart { display: none !important; }
@media (max-width: 55.99rem) {
  .aro-header .aro-bar .wp-block-woocommerce-customer-account, .aro-header .aro-bar .wc-block-mini-cart, .aro-header .aro-bar .wp-block-woocommerce-mini-cart { display: none !important; }
}


/* ---- Round 3: icone account e carrello nel menu mobile ---- */
.aro-mobile-menu .wp-block-woocommerce-customer-account, .aro-mobile-menu .wc-block-mini-cart, .aro-mobile-menu .wp-block-woocommerce-mini-cart { display: none !important; }
.aro-mobile-menu__icons { display: flex; justify-content: center; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; }
.aro-mobile-menu__icons a { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; color: inherit; text-decoration: none; transition: color 180ms var(--aro-ease); }
.aro-mobile-menu__icons a:hover { color: var(--wp--preset--color--olive-deep); }
.aro-mobile-menu__icons svg { width: 1.5rem; height: 1.5rem; display: block; }

/* ---- Round 4: icone account e carrello anche nel menu desktop, menu mobile più compatto ---- */
.aro-bar-icons { display: none; }
@media (min-width: 56rem) {
  .aro-bar-icons { display: flex; align-items: center; gap: 0.25rem; margin-left: 1rem; flex: none; }
  .aro-header .aro-bar .wp-block-woocommerce-customer-account, .aro-header .aro-bar .wc-block-mini-cart, .aro-header .aro-bar .wp-block-woocommerce-mini-cart,
  .aro-nav .wp-block-woocommerce-customer-account, .aro-nav .wc-block-mini-cart, .aro-nav .wp-block-woocommerce-mini-cart { display: none !important; }
}
.aro-bar-icons a { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; color: inherit; text-decoration: none; transition: color 180ms var(--aro-ease); }
.aro-bar-icons a:hover { color: var(--wp--preset--color--olive-deep); }
.aro-bar-icons svg { width: 1.5rem; height: 1.5rem; display: block; }
.aro-mobile-list { margin: auto 0 0 !important; padding-bottom: 0.5rem !important; }
.aro-mobile-menu__icons { margin: 0 0 auto !important; padding-top: 0.5rem; }

/* ---- Selettore di lingua ---- */
.aro-langs { display: inline-flex; gap: 0.25rem; }
.aro-lang { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; height: 2.75rem; font-size: 0.8125rem; letter-spacing: 0.14em; text-decoration: none; color: inherit; }
.aro-lang:hover { color: var(--wp--preset--color--olive-deep); }
.aro-bar .wp-block-shortcode, .aro-bar .aro-langs { display: none; }
@media (min-width: 56rem) { .aro-bar .wp-block-shortcode { display: block; } .aro-bar .aro-langs { display: inline-flex; } }
.aro-mobile-menu__foot .aro-langs { justify-content: center; margin-bottom: 0.5rem; }
