/* Shared calculator navigation and local search. */
.site-header .nav-shell { max-width:1240px; }
.site-header .header-controls { gap:10px; }
.site-header .primary-nav { gap:18px; }
.site-header .primary-nav a { font-size:.85rem; }
.site-search-link { display:inline-flex; gap:7px; align-items:center; justify-content:center; min-height:42px; padding:8px 10px; color:var(--ink); font-size:.82rem; font-weight:600; white-space:nowrap; border:1px solid var(--line-strong); border-radius:6px; text-decoration:none; }
.site-search-link:hover { background:var(--blue-soft); border-color:var(--blue); }
.site-search-link svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; flex:none; }
.site-header .primary-nav a.nav-calculator[aria-current] { color:var(--blue-dark); }
.home-links .home-calculator { color:var(--blue-dark); font-weight:650; }
body.search-open { overflow:hidden; }
.wsi-search-dialog { width:min(760px,calc(100% - 32px)); max-height:calc(100dvh - 64px); padding:0; border:1px solid var(--line-strong); border-radius:12px; color:var(--ink); background:var(--paper); box-shadow:var(--shadow); overflow:auto; }
.wsi-search-dialog:not([open]) { display:none; }
.wsi-search-dialog::backdrop { background:rgba(7,16,31,.62); }
.search-inner { padding:28px 30px; }
.search-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.search-heading h2 { font-size:1.6rem; margin:0; }
.search-button { min-height:44px; padding:9px 14px; background:var(--paper); color:var(--ink); border:1px solid var(--line-strong); border-radius:5px; cursor:pointer; font:inherit; font-size:.87rem; }
.search-button:hover { background:var(--blue-soft); border-color:var(--blue); }
.search-form label { display:block; color:var(--ink); font-size:.88rem; font-weight:600; margin-bottom:8px; }
.search-form-row { display:flex; gap:10px; }
.search-form input[type=search] { width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid var(--line-strong); border-radius:5px; background:var(--paper); color:var(--ink); font:inherit; font-size:1rem; }
.search-form-row button { flex:none; }
.search-help, .search-status { font-size:.82rem; color:var(--ink-soft); margin:10px 0 0; }
.search-status { min-height:1.5em; margin-top:18px; }
.search-result-list { list-style:none; padding:0; margin:12px 0 0; }
.search-result-list li { border-top:1px solid var(--line); padding:18px 0; }
.search-result-list .search-category { font-size:.73rem; color:var(--ink-soft); margin:0 0 6px; }
.search-result-list h3 { margin:0 0 7px; font-size:1.08rem; line-height:1.4; }
.search-result-list h3 a { color:var(--blue-dark); text-decoration:none; }
.search-result-list h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.search-result-list article > p:last-child { font-size:.86rem; line-height:1.6; margin:0; }
.search-footer { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); font-size:.85rem; }
.search-prompt { margin:20px 0 12px; font-size:.9rem; color:var(--ink); }
.search-starters { display:grid; grid-template-columns:1fr 1fr; gap:0 26px; }
.search-starters a { padding:16px 0; border-top:1px solid var(--line); text-decoration:none; }
.search-starters a strong { display:block; font-size:.94rem; font-weight:600; color:var(--blue-dark); }
.search-starters a:hover strong { text-decoration:underline; }
.search-starters a span { display:block; font-size:.8rem; color:var(--ink-soft); margin-top:5px; }
.search-empty { padding:15px 0; font-size:.9rem; }
.search-empty button { font:inherit; padding:3px; color:var(--blue-dark); border:0; border-bottom:1px solid currentColor; background:none; cursor:pointer; }
.search-page [hidden] { display:none!important; }
.search-page .search-form { max-width:840px; }
.search-page .search-result-list { max-width:880px; }
.search-browse-list { padding-left:21px; }
.search-browse-list li { padding:6px 0; font-size:.94rem; }
@media (max-width:1120px) {
 .site-header .menu-toggle { display:block; }
 .site-header .primary-nav { position:absolute; left:14px; right:14px; top:calc(100% + 8px); display:none; padding:10px; flex-direction:column; align-items:stretch; gap:2px; background:var(--paper); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); max-height:calc(100dvh - 100px); overflow:auto; }
 .site-header .primary-nav.is-open { display:flex; }
 .site-header .primary-nav a { padding:11px 12px; border-radius:6px; font-size:.94rem; }
 .site-header .primary-nav a:hover { background:var(--blue-soft); }
 .site-header .nav-shell { gap:18px; }
}
@media (min-width:1121px) { .site-header .menu-toggle { display:none; } }
@media (max-width:760px) {
 .site-search-link > span { display:none; }
 .site-search-link { width:40px; padding:9px; }
 .site-header .header-controls { gap:8px; }
}
@media (max-width:480px) {
 .site-header .brand-name { display:none; }
 .wsi-search-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 24px); border-radius:8px; }
 .search-inner { padding:20px; }
 .search-starters { grid-template-columns:1fr; }
 .search-form-row { flex-wrap:wrap; }
 .search-form-row input { flex:1 0 100%; }
 .search-form-row button { width:100%; }
}
@media print { .site-search-link, .wsi-search-dialog { display:none!important; } }
