/* Shared across public routes so navigation never changes the logo size.
   The layout box stays unchanged, preserving the header and search position. */
.filter-panel .btn-primary{background:#1f63cf}
.filter-panel .btn-primary:hover{background:#1c59bb;filter:none}
.site-header .site-brand__wordmark {
    transform: scale(1.1);
    transform-origin: left center;
}
@media (min-width: 371px) and (max-width: 385px) {
    .site-header .site-brand__wordmark { transform: scale(1.05); }
}
.site-footer{padding:28px 0}
.site-footer__inner{align-items:center;gap:28px 48px}
.site-footer__credit{display:flex;align-items:center;gap:20px;min-width:0}
.site-footer__team{display:flex;align-items:center;gap:16px;color:#e3edf9;font-size:14px;font-weight:500;line-height:1.5}
.site-footer__team>span{max-width:210px;min-width:0}
.site-footer__partner{display:inline-flex;align-items:center;width:220px;flex:0 0 220px;border-radius:4px}
.site-footer__partner img{display:block;width:100%;height:auto}
.site-footer__copyright{font-size:12px;color:#9cb4d0;line-height:1.4;white-space:nowrap}
.site-footer__links{align-items:center;justify-content:flex-end;font-size:13px;line-height:1.5}
@media(max-width:1200px){.site-footer__inner{flex-direction:column;align-items:flex-start;gap:24px}.site-footer__links{width:100%;gap:12px 20px;justify-content:flex-end}}
@media(max-width:700px){.site-footer__team{font-size:13px;gap:12px}.site-footer__team>span{max-width:160px}.site-footer__partner{width:170px;flex-basis:170px;min-width:0}}

/* The compact header search shares the Login button's height. */
.site-header__actions { display:flex; align-items:center; gap:12px; }
.site-header-search { display:flex; align-items:center; width:190px; height:46px; box-sizing:border-box; margin:0; padding:0; border:1px solid #d3deec; border-radius:10px; background:#fff; color:#17314f; }
.site-header-search input { width:100%; min-width:0; height:100%; margin:0; padding:0 0 0 14px; border:0; border-radius:10px 0 0 10px; background:transparent; color:#17314f; font:inherit; font-size:15px; }
.site-header-search input::placeholder { color:#52667c; opacity:1; }
.site-header-search button { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-height:0; margin:0; padding:0; border:0; border-radius:0 9px 9px 0; background:transparent; color:#17314f; cursor:pointer; box-shadow:none; }
.site-header-search button:hover { background:#edf3fb; }
.site-header-search:focus-within { outline:2px solid #82b1ff; outline-offset:3px; }
.site-header-search input:focus { outline:none; }
.site-header-search button:focus-visible { outline:2px solid #1f63cf; outline-offset:-4px; }
@media(max-width:1100px) { .site-header-search { width:170px; } }
@media(max-width:640px) {
    .site-header__actions { display:contents; }
    .site-header__cta { margin-left:auto; }
    .site-header-search { order:3; width:100%; height:42px; }
    .site-header-search button { height:40px; }
    .site-nav { order:4; }
}
@media(max-width:640px) {
    .site-header__inner { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding-top:10px;padding-bottom:10px; }
    .site-brand { grid-column:1;grid-row:1;min-width:0; }
    .site-header__cta { grid-column:2;grid-row:1;margin:0;min-height:44px; }
    .site-header-search { grid-column:1/-1;grid-row:2;height:46px; }
    .site-header-search button { height:44px; }
    .site-nav { grid-column:1/-1;grid-row:3;min-width:0;width:100%;gap:18px;flex-wrap:nowrap;padding:0; }
    .site-nav a { display:inline-flex;align-items:center;min-height:44px;font-size:13px; }
}
