.header-top-space { height: 20px; }
.header-bottom-space { height: 24px; }
.main-header.site-header { width: calc(100% - 32px); max-width: 1140px; margin-inline: auto; position: sticky; top: 12px; z-index: 60; background: #f3f6f9; border: 1px solid #edf0f4; border-radius: 14px; padding-inline: 22px; }
.main-header.site-header.fixed { position: fixed; border-radius: 0 0 14px 14px; box-shadow: 0 5px 24px #24154212; }
.site-header .header-bar { display: flex; align-items: center; gap: 16px; height: 88px; }
.site-header .main-logo { flex: none; margin: 0; }
.site-header .main-logo a, .site-header .main-logo img { display: block; width: 144px; height: 60px; }
.site-header .header-desktop-nav { flex: 1; min-width: 0; }
.site-header .header-main-menu { display: flex !important; align-items: center; justify-content: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.site-header .header-main-menu > li > a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 10px; border-radius: 8px; font-size: 15px; font-weight: 500; color: #494352; white-space: nowrap; }
.site-header .header-main-menu > li > a:hover { background: #eee9f6; color: #30216c; }
.site-header .header-actions { display: flex; align-items: center; flex: none; gap: 8px; }
.site-header .header-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 0 12px; border: 1px solid #e1dce9; border-radius: 10px; background: #fff; color: #30216c; font-size: 13px; font-weight: 500; cursor: pointer; }
.site-header .header-action:hover, .site-header .header-action[aria-expanded=true] { background: #ece6f6; border-color: #c8badf; }
.site-header .header-search-button { background: #30216c; color: #f7ec14; border-color: #30216c; }
.site-header .header-search-button:hover, .site-header .header-search-button[aria-expanded=true] { background: #44307f; border-color: #44307f; }
.site-header .header-social { display: none; align-items: center; gap: 0; flex: none; }
.site-header .header-social a { padding: 8px; }
.site-header .header-more-holder { position: relative; }
.site-header .header-more-button { border-color: transparent; background: transparent; }
.site-header .header-mobile-menu { display: none !important; position: static; }
.site-header .header-panel { position: absolute; z-index: 65; background: #fff; border: 1px solid #e4ddec; box-shadow: 0 14px 40px #23143a1c; border-radius: 14px; padding: 20px; max-height: calc(100dvh - 150px); max-height: min(75vh, calc(100dvh - 150px)); overflow-y: auto; overscroll-behavior: contain; }
.site-header .header-panel[hidden], .header-overlay[hidden] { display: none !important; }
.site-header .header-search-panel { left: 0 !important; right: 0 !important; top: calc(100% + 10px) !important; transform: none !important; margin: 0 !important; width: auto !important; max-width: none; visibility: visible; }
.site-header .header-desktop-panel { top: calc(100% + 20px); left: 0; width: 320px; }
.site-header .header-mobile-panel { inset-inline: 0; top: calc(100% + 10px); width: auto; }
.site-header .header-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.site-header .header-panel-heading h2 { margin: 0; color: #30216c; font-size: 16px; font-weight: 600; }
.site-header .header-panel-close { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; border: 1px solid #ede9f2; border-radius: 9px; background: #f7f5fa; color: #6e607e; font: 26px/1 sans-serif; cursor: pointer; }
.site-header .header-menu-links { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.site-header .header-menu-links a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 10px 12px; border: 1px solid #f0edf4; border-radius: 8px; background: #faf9fc; color: #51475e; font-size: 13px; line-height: 1.7; }
.site-header .header-menu-links a:hover { border-color: #d3c8e1; background: #f1ecf8; color: #30216c; }
.site-header .header-menu-links a span { color: #a799b6; font-size: 12px; }
.site-header .header-menu-separator { grid-column: 1 / -1; height: 1px; margin: 4px 0; background: #ede8f3; }
.site-header .header-search-field { display: flex; align-items: center; gap: 12px; border: 1px solid #d8cfe5; border-radius: 11px; padding: 6px; background: #fff; }
.site-header .header-search-field:focus-within { border-color: #715893; box-shadow: 0 0 0 3px #e8e1f2; }
.site-header .header-search-field > svg { flex: none; margin-inline-start: 10px; color: #9c8cab; }
.site-header #searchInput { width: 0; height: 44px; min-width: 0; flex: 1; border: 0; padding: 0; outline: none; background: transparent; color: #33273f; font: inherit; font-size: 16px; }
.site-header .header-search-submit { flex: none; min-height: 44px; padding: 0 24px; border: 0; border-radius: 8px; background: #30216c; color: #fff; font-size: 14px; font-weight: 500; cursor: pointer; }
.site-header .header-search-help { margin: 10px 2px 0; font-size: 12px; line-height: 1.8; color: #8a7d97; }
.site-header .header-search-shortcuts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #f0ebf5; }
.site-header .header-search-shortcuts > span { color: #978a9f; font-size: 12px; margin-inline-end: 4px; }
.site-header .header-search-shortcuts a { min-height: 36px; display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 7px; background: #f5f2fa; color: #6b5287; font-size: 12px; }
.header-overlay { position: fixed; inset: 0; z-index: 50; background: #21123440; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.header-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-header button:focus-visible, .site-header a:focus-visible { outline: 2px solid #6d4b97; outline-offset: 3px; }
@media (min-width: 1400px) { .site-header .header-social { display: flex; } }
@media (max-width: 1099px) {
 .site-header .header-desktop-nav, .site-header .header-main-menu { display: none !important; }
 .site-header .header-mobile-menu { display: block !important; }
 .site-header .header-actions { margin-inline-start: auto; }
 .site-header .header-mobile-panel .header-menu-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
}
@media (max-width: 767px) {
 .header-top-space { height: 16px; }
 .main-header.site-header { padding-inline: 16px; }
 .site-header .header-bar { height: 80px; gap: 12px; }
 .site-header .main-logo a, .site-header .main-logo img { width: 128px; height: 54px; }
 .site-header .header-panel { padding: 16px; max-height: calc(100dvh - 140px); }
 .site-header .header-search-button .header-action-label { display: none; }
 .site-header .header-search-submit { padding: 0 16px; }
 .site-header .header-search-field { gap: 8px; }
 .site-header .header-search-field > svg { display: none; }
 .site-header #searchInput { padding-inline-start: 8px; }
}
@media (max-width: 479px) { .site-header .header-menu-button .header-action-label { display: none; } }
@media (max-width: 359px) {
 .main-header.site-header { padding-inline: 12px; }
 .site-header .header-mobile-panel .header-menu-links { gap: 5px; }
 .site-header .header-menu-links a { padding: 9px; font-size: 12px; }
}
.site-search-page { padding-bottom: 40px; }
.search-breadcrumb { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; font-size: 12px; color: #8a7d97; }
.search-page-intro { background: #f5f3f9; border: 1px solid #e9e4f0; border-radius: 14px; padding: 24px; margin-bottom: 24px; }
.search-page-intro h1 { font-size: 24px; font-weight: 700; color: #30216c; margin: 0 0 18px; }
.search-page-form { display: flex; gap: 8px; max-width: 650px; }
.search-page-form input { min-width: 0; width: 0; flex: 1; height: 48px; padding: 0 14px; border: 1px solid #d9cfe5; border-radius: 9px; font-size: 16px; color: #3d3049; background: #fff; }
.search-page-form button { min-width: 68px; padding: 0 18px; min-height: 48px; border-radius: 9px; background: #30216c; color: #fff; font-size: 14px; }
.search-result-summary { margin: 16px 0 0; color: #8a7c97; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.search-result-summary strong { color: #59426f; font-weight: 500; }
.search-results-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-bottom: 30px; }
.search-result-card { min-width: 0; overflow: hidden; border-radius: 12px; border: 1px solid #e9e5ef; background: #fff; }
.search-result-image { display: block; aspect-ratio: 1.8; overflow: hidden; background: #f3f1f6; }
.search-result-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.search-result-content { padding: 16px; }
.search-result-content h2 { color: #40344c; font-size: 16px; line-height: 1.9; font-weight: 600; }
.search-result-content a:hover { color: #74579b; }
.search-result-content time { display: block; font-size: 12px; color: #9b90a4; margin-top: 14px; }
.search-no-results { text-align: center; padding: 40px 16px 60px; color: #9b8ba9; }
.search-no-results svg { margin: 0 auto 18px; }
.search-no-results h2 { font-size: 19px; color: #655273; margin-bottom: 10px; }
.search-no-results p { font-size: 14px; line-height: 1.9; }
.search-no-results a { display: inline-flex; align-items: center; min-height: 44px; color: #513973; font-size: 13px; margin-top: 18px; }
@media (max-width: 767px) { .search-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; } .search-page-intro { padding: 18px; } .search-result-content { padding: 12px; } .search-result-content h2 { font-size: 14px; } }
@media (max-width: 479px) { .search-results-grid { grid-template-columns: minmax(0,1fr); } }

.site-header .header-menu-cta { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 16px; border-radius: 9px; background: #30216c; color: #fff; font-size: 13px; font-weight: 500; }

@media (min-width: 768px) and (max-width: 1099px) { .site-header .header-mobile-panel .header-menu-links { grid-template-columns: repeat(3,minmax(0,1fr)); } }
