/* MVC navigation feedback and accessibility refinements. */
/* Navigation feedback stays visible without covering or disabling the page. */
.page-loading { position: fixed; top: max(16px, env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); z-index: 1000; display: flex; align-items: center; gap: 10px; padding: 12px 20px; max-width: calc(100vw - 32px); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: #0f0324; color: #fff; box-shadow: 0 4px 20px rgba(15,3,36,.25); font: 600 14px/1.4 var(--font); white-space: nowrap; pointer-events: none; }
.page-loading[hidden] { display: none; }
.page-loading::before { content: ''; flex: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: page-loading-spin .8s linear infinite; }
@keyframes page-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .page-loading::before { animation: none; } }
@media print { .page-loading { display: none; } }

.nav__link[aria-current="page"], .dropdown a[aria-current="page"] { text-decoration: underline; text-underline-offset: .2em; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1; transform: none; } }
@media print { .reveal { opacity: 1 !important; transform: none !important; } .page-loading, .mv-backtop { display: none !important; } }

/* Search controls share the site's orange rollover and page-jump link styling. */
.wc-search-open, .wc-search button {
    transition: background-color .18s, color .18s, border-color .18s;
}
.wc-search-open:is(:hover, :focus-visible), .wc-search button:is(:hover, :focus-visible) {
    background: var(--orange);
    color: var(--ink);
    border-color: var(--orange);
}
.wc-search nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}
.wc-search nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #7052f24d;
    background: #f0ecff;
    color: var(--ink);
    font-size: 12px;
    line-height: 1.4;
    text-decoration: none;
    transition: background-color .18s, color .18s, border-color .18s;
}
.wc-search nav a:is(:hover, :focus-visible) {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
}
@media (max-width: 600px) {
    .wc-search nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wc-search nav a { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .wc-search-open, .wc-search button, .wc-search nav a { transition: none; }
}
