/* Sitewide link color, excluding the active theme's header and footer and the sharing controls. */
body a:is(:link, :visited):not(#wpadminbar a, .site-header a, .site-footer a, .fase-share-bar a) {
    color: #006CFD !important;
}

/* Consistent hover and keyboard feedback for content links. */
body a:not(#wpadminbar a, header a, footer a, .site-header a, .site-footer a, #fase-header a, #fase-footer a, .fase-share-bar a):hover,
body a:not(#wpadminbar a, header a, footer a, .site-header a, .site-footer a, #fase-header a, #fase-footer a, .fase-share-bar a):focus-visible {
    color: #004DB3 !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .15em;
}

/* Desktop keeps only a magnifier in the header; mobile reveals the field inside the open menu. */
header .fase-navigation-search { position: relative; min-width: 0; }
header .fase-navigation-search__toggle {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
header .fase-navigation-search__toggle:hover { color: #006CFD; }
header .fase-navigation-search__toggle:focus-visible,
header .fase-navigation-search__close:focus-visible { outline: 3px solid #006CFD; outline-offset: 2px; }
header .fase-navigation-search__toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; }
header .fase-navigation-search__panel {
    position: absolute;
    z-index: 1000;
    top: calc(100% + 8px);
    right: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    width: min(340px, calc(100vw - 32px));
    padding: 8px;
    border: 1px solid #d4dbe4;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px #17203324;
}
header .fase-navigation-search__panel[hidden] { display: none !important; }
header .fase-site-search {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
    width: 260px;
    max-width: 100%;
    padding: 4px 6px 4px 12px;
    border: 1px solid #d4dbe4;
    border-radius: 7px;
    background: #fff;
}
header .fase-site-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 7px 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #172033;
    font: inherit;
}
header .fase-site-search input[type="search"]:focus-visible { outline: 2px solid #006CFD; outline-offset: 2px; }
header .fase-site-search button {
    display: inline-grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: #006CFD;
    color: #fff;
    cursor: pointer;
}
header .fase-site-search button:hover,
header .fase-site-search button:focus-visible { background: #004DB3; }
header .fase-site-search button:focus-visible { outline: 3px solid #172033; outline-offset: 2px; }
header .fase-site-search svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; }
header .fase-navigation-search__close {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #172033;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
header .wp-block-navigation__responsive-container-content > .fase-navigation-search { order: 1; margin-inline-start: auto; }
header .wp-block-navigation__responsive-container-content > ul { order: 0; }
@media (max-width: 599px) {
    header .wp-block-navigation__responsive-container-content > .fase-navigation-search { order: 4; width: 100%; margin: 18px 0 0; }
    header .fase-navigation-search__toggle,
    header .fase-navigation-search__close { display: none; }
    header .fase-navigation-search__panel,
    header .fase-navigation-search__panel[hidden] { position: static; display: block !important; width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    header .fase-site-search { width: 100%; }
    header .fase-header-search-desktop { display: none; }
}

