/* Global template parts only; no page composition. */
.wa-header {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0 40px;
    padding: 20px var(--wp--custom--page-gutter);
    color: var(--wp--preset--color--ink);
    line-height: normal;
}
.wa-header > * { margin-block: 0; }
.wa-header__identity { font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.wa-header a, .wa-footer a {
    color: inherit;
    text-decoration: none;
    position: relative;
}
.wa-header a:hover, .wa-footer a:hover { color: var(--wp--preset--color--reference-blue); text-decoration: underline; }
nav.wa-header__navigation { font-size: 14.5px; font-weight: 400; color: var(--wp--preset--color--support); }
.wa-header__navigation .wp-block-navigation__container { gap: 26px; flex-wrap: nowrap; }
.wa-header a::before, .wa-menu-toggle::before {
    content: "";
    position: absolute;
    inset-inline: -4px;
    top: 50%;
    min-height: 44px;
    height: 100%;
    transform: translateY(-50%);
}
nav.wa-header__navigation .wp-block-navigation-item a:is([aria-current="page"], [aria-current="true"]) {
    color: var(--wp--preset--color--reference-blue);
    font-weight: 500;
    text-decoration: underline;
}
.home nav.wa-header__navigation a[href="/contatto/"] {
    color: var(--wp--preset--color--reference-blue);
    font-weight: 500;
}
.wa-menu-toggle { display: none; }
footer.wp-block-template-part { margin-block: 0; }
.wa-footer {
    padding: var(--wa-footer-gap, clamp(3.25rem, calc(2.321429rem + 3.809524vw), 5.75rem)) var(--wp--custom--page-gutter) 44px;
    color: var(--wp--preset--color--ink);
    line-height: normal;
}
.wa-footer__grid {
    border-top: 1px solid var(--wp--preset--color--border);
    padding-top: 30px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}
.wa-footer__grid > *, .wa-footer p { margin-block: 0; }
.wa-footer__name { font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.wa-footer__description { font-size: 15px; color: var(--wp--preset--color--secondary); margin-top: 6px !important; }
.wa-footer__social, .wa-footer__legal { display: flex; flex-direction: column; gap: 9px; }
.wa-footer__social, .wa-footer__tool, .wa-footer__legal { font-size: 15.5px; }
.wa-footer__legal { color: var(--wp--preset--color--secondary); }
.wa-footer a::before {
    content: "";
    position: absolute;
    inset: -3px 0;
    min-height: 24px;
}
.skip-link:focus {
    clip: auto;
    clip-path: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 20px;
    inset: 8px auto auto 8px;
    background: var(--wp--preset--color--background);
    color: var(--wp--preset--color--reference-blue);
    font: inherit;
    z-index: 100;
}
@media (max-width: 44.999rem) {
    .wa-header { padding-block: 18px; gap: 0 16px; }
    .wa-header__identity { font-size: 14.5px; letter-spacing: normal; }
    .js .wa-menu-toggle {
        display: block;
        position: relative;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: .1em;
        text-transform: uppercase;
        line-height: normal;
        color: var(--wp--preset--color--reference-blue);
        padding: 11px 0;
        background: transparent;
        border: 0;
        cursor: pointer;
    }
    nav.wa-header__navigation { grid-column: 1 / -1; margin-top: 18px; font-size: 16px; width: 100%; }
    .js .wa-header:not(.wa-menu-open) nav.wa-header__navigation { display: none; }
    .wa-header__navigation .wp-block-navigation__container { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
    .wa-header__navigation .wp-block-navigation-item { width: 100%; border-top: 1px solid var(--wp--preset--color--border); }
    .wa-header__navigation .wp-block-navigation-item__content { display: block; padding: 12px 0; min-height: 44px; }
    .wa-header__navigation a::before { content: none; }
    .wa-footer { padding-bottom: 40px; }
    .wa-footer__grid { display: block; padding-top: 24px; }
    .wa-footer__name { font-size: 19px; }
    .wa-footer__description { font-size: 14.5px; margin-top: 5px !important; margin-bottom: 22px !important; }
    .wa-footer__social, .wa-footer__legal { gap: 0; }
    .wa-footer__social, .wa-footer__tool { font-size: 16px; }
    .wa-footer a { display: block; padding-block: 12px; }
    .wa-footer a::before { content: none; }
    .wa-footer__tool { margin-bottom: 14px; }
    .wa-footer__legal > p:last-child { padding-block: 12px; }
}
/* Editor: parts remain editable; the mobile disclosure is frontend-only. */
.editor-styles-wrapper .wa-menu-toggle { display: none; }
.editor-styles-wrapper nav.wa-header__navigation,
.js .editor-styles-wrapper .wa-header nav.wa-header__navigation { display: flex; }
.editor-styles-wrapper .is-root-container:has(.wa-header, .wa-footer) { padding-inline: 0; }

/* M10R2: one brand link, decorative mark beside real HTML text. */
.wa-header__identity { display: flex; }
.wa-header__identity > a { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.wa-header__mark { display: block; width: 24px; height: 24px; aspect-ratio: 1; flex: none; }
@media (max-width: 44.999rem) { .wa-header__mark { width: 22px; height: 22px; } }

/* M10R4: secondary legal identity, natural wrapping below the footer grid. */
.wa-footer .wa-footer__copyright { margin-top: calc(2 * var(--wp--preset--spacing--md)); text-align: left; font-size: 15px; line-height: 1.6; color: var(--wp--preset--color--secondary); }
.wa-footer .wa-footer__copyright a { display: inline; padding: 0; text-decoration: underline; }
.wa-footer__copyright > span:last-child { white-space: nowrap; }
