/* Header (SiteHeader.jsx): bianco, sticky, filetto in basso. Menu completo da 1180px; sotto, WhatsApp + pulsante del menu mobile. */
@layer sections {
  .site-header {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px); /* sotto la barra di amministrazione, se c'è */
    z-index: 70;
    padding-inline: var(--gutter-header);
    border-bottom: 1px solid var(--border-default);
    background: var(--surface-page);
  }

  .site-header__bar {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: var(--container-header);
    height: var(--header-h);
    min-height: 72px;
    margin-inline: auto;
  }

  .site-header__logo {
    flex: none;
    display: flex;
    & img { width: auto; height: clamp(40px, 3.4vw, 50px); }
  }

  .site-header__nav { margin-inline: auto; }

  .site-header__menu {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
  }

  .site-header__item { position: relative; }

  .site-header__link {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: var(--hit-min);
    padding: 10px 14px;
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--text-strong);
    font-family: inherit;
    font-size: var(--fs-ui);
    font-weight: var(--fw-medium);
    text-decoration: none;
    transition: background-color var(--dur-fast), color var(--dur-fast);

    &:hover,
    &[aria-expanded="true"],
    &[aria-current="page"] { background: var(--surface-soft); color: var(--text-brand); }
    &[aria-current="page"] { font-weight: var(--fw-bold); }
  }

  .site-header__chevron { transition: transform var(--dur-fast); }
  .site-header__link[aria-expanded="true"] .site-header__chevron { transform: rotate(180deg); }

  /* Tendina: aperta da dropdown.js (is-open); senza JS si apre con il focus da tastiera o al clic */
  .site-header__sub {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 60;
    padding-top: 12px;
    transform: translateX(-50%);
    white-space: normal;
  }

  .site-header__item--has-sub {
    &.is-open > .site-header__sub { display: block; }
    &:where(html:not(.js) *):focus-within > .site-header__sub { display: block; }
  }

  .site-header__services {
    display: flex;
    flex-direction: column;
    width: 400px;
    padding: 8px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-page);
    box-shadow: var(--shadow-pop);
  }

  .site-header__service {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px;
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: background-color var(--dur-fast);

    &:hover, &[aria-current="page"] { background: var(--surface-soft); }
  }

  .site-header__service-icon {
    flex: none;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-pill);
    background: var(--surface-cream);
    color: var(--text-brand);
  }

  .site-header__service-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: var(--lh-ui);
  }

  .site-header__service-title { color: var(--text-brand); font-size: 17px; font-weight: var(--fw-bold); }
  .site-header__service-desc { color: var(--text-muted); font-size: var(--fs-small); }

  .site-header__actions {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .site-header__phone {
    color: var(--text-brand);
    font-size: var(--fs-ui);
    font-weight: var(--fw-semibold);
    text-decoration: none;
    white-space: nowrap;
    &:hover { color: var(--link-hover); }
  }

  /* Pulsante del menu mobile: icona "menu" o "chiudi" secondo lo stato */
  .site-header__toggle {
    display: none;
    &[aria-expanded="true"] .site-header__toggle-open,
    &[aria-expanded="false"] .site-header__toggle-close { display: none; }
  }

  @media (max-width: 1179px) {
    .site-header__nav,
    .site-header__phone,
    .site-header__cta { display: none; }

    .site-header__actions { gap: 8px; margin-left: auto; }
    .site-header__toggle { display: grid; }
  }
}
