/* Local archive controls replace WordPress runtime behavior. */
.archive-primary-nav { position:relative; }
.archive-primary-nav ul { list-style:none; padding:0; margin:0; gap:1.5rem; }
.archive-desktop-menu ul { display:flex; }
.archive-mobile-menu { display:none; }
.archive-language-toggle { display:inline-flex; align-items:center; justify-content:center; background:#203a98; color:#fff!important; padding:.65rem 1.25rem; font-size:1rem; font-weight:700; text-decoration:none; white-space:nowrap; min-height:44px; box-sizing:border-box; }
.archive-language-toggle:hover { background:#14276b; }
a:focus-visible, summary:focus-visible { outline:3px solid #c73142; outline-offset:4px; }
img { max-width:100%; }
@media(max-width:767px) {
 .archive-desktop-menu { display:none; }
 .archive-mobile-menu { display:block; }
 .archive-mobile-menu summary { cursor:pointer; padding:.65rem .3rem; min-height:44px; box-sizing:border-box; }
 .archive-mobile-menu ul { position:absolute; left:0; top:100%; z-index:20; min-width:12rem; padding:1rem; background:#e3e8f3; box-shadow:0 4px 16px #0003; display:flex; flex-direction:column; align-items:stretch; gap:.5rem; }
 .archive-mobile-menu a { display:block; padding:.4rem; }
 header > .wp-block-group { padding-left:20px!important; padding-right:20px!important; }
 header .custom-logo { width:min(300px,75vw); height:auto; }
 header > .wp-block-group > .wp-block-group { gap:1rem; flex-wrap:wrap; padding-block:1.25rem!important; }
 .archive-language-toggle { padding:.55rem .8rem; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; scroll-behavior:auto!important; transition:none!important; } }
.archive-skip { position:fixed; left:1rem; top:-10rem; z-index:100; padding:.75rem 1rem; background:#fff; color:#1035a2; }
.archive-skip:focus { top:1rem; }
.archive-search-link { margin:0; padding:0 1.5rem 2rem; text-align:center; background:#e3e8f3; }
.archive-generated-content { min-height:35vh; }
.archive-search label { display:block; margin-bottom:.5rem; font-weight:bold; }
.archive-search > div { display:flex; flex-wrap:wrap; gap:.75rem; }
.archive-search input { min-width:0; flex:1; padding:.75rem; font:inherit; border:1px solid #1035a2; border-radius:0; }
.archive-search button { background:#203a98; color:#fff; border:0; padding:.75rem 1.25rem; font:inherit; cursor:pointer; }
.archive-search-results { padding-left:1.5rem; }
.archive-search-results li { margin-bottom:1.5rem; }
.archive-search-results a { font-size:1.25rem; font-weight:bold; }
.archive-search-results p { margin-top:.5rem; }
input:focus-visible, button:focus-visible { outline:3px solid #c73142; outline-offset:4px; }
