/* Общие цвета, навигация и действия публичных страниц. */
body.filkos-public {
  --fk-brand-action: #fdd700;
  --fk-brand-hover: #ffe45b;
  margin: 0;
  background-color: var(--finance-bg) !important;
  color: var(--finance-text);
}
.filkos-public #header.fk-site-header {
  position: relative !important;
  inset: auto !important;
  z-index: 30;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background: #101318;
  border: 0;
  border-bottom: 1px solid var(--finance-border);
  box-shadow: none !important;
}
.fk-site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
  min-height: 66px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 8px 20px;
}
.fk-site-brand { flex: 0 0 auto; display: block; }
.fk-site-brand img { display: block; width: clamp(122px, 15vw, 148px); height: auto; }
.filkos-public #header.fk-site-header .fk-site-nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.2vw, 28px);
  margin: 0;
  padding: 0;
  font-size: 14px;
}
.filkos-public #header.fk-site-header .fk-site-nav a { color: var(--finance-text); text-decoration: none; }
.filkos-public #header.fk-site-header .fk-site-nav a:hover { text-decoration: underline; text-underline-offset: 3px; }
.fk-site-sections { position: relative; margin: 0; }
.fk-site-sections > summary {
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid var(--finance-border);
  border-radius: 9px;
  background: var(--finance-panel);
  color: var(--finance-text);
  cursor: pointer;
  white-space: nowrap;
}
.fk-site-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  box-sizing: border-box;
  width: min(780px, calc(100vw - 40px));
  max-height: min(72vh, 550px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 18px;
  gap: 16px;
  border: 1px solid var(--finance-border);
  border-radius: 14px;
  background: var(--finance-panel);
  box-shadow: 0 12px 32px #0008;
}
.fk-site-menu strong { display: block; margin: 0 0 6px; }
.filkos-public .fk-site-header .fk-site-menu a { display: block; padding: 6px 0; color: var(--finance-muted); line-height: 1.25; }
.fk-related-catalogs { margin: 14px 0; }
.fk-related-catalogs a { display: inline-flex; padding: 8px 12px; border: 1px solid var(--finance-border); border-radius: 9px; background: var(--finance-panel); }

.filkos-public #columns {
  margin-top: 0 !important;
  padding-top: 18px;
  background: var(--finance-bg);
  color: var(--finance-text);
}
.filkos-public :is(.fr-home, .filkos-refresh, .city-reading) { color: var(--finance-text); }
.filkos-public .filkos-refresh .fr-hero {
  background: linear-gradient(130deg, #232a33, #161a20);
  border: 1px solid var(--finance-border);
  color: var(--finance-text);
}
.filkos-public .filkos-refresh .fr-eyebrow,
.filkos-public :is(.city-eyebrow, .city-small, .fr-source) { color: var(--finance-muted); }
.filkos-public .filkos-refresh :is(.fr-panel, .fr-offer),
.filkos-public #columns :is(.anons_block, .pagewrapper, .calculation_block, .article-block),
.filkos-public #columns .columns_two :is(.block, .block-nav, .anketabanner),
.filkos-public :is(#footer, .menu_down) {
  background: var(--finance-panel);
  border-color: var(--finance-border);
  color: var(--finance-text);
  box-shadow: none;
}
.filkos-public #footer .footer { background: var(--finance-panel); color: var(--finance-text); }
.filkos-public #columns :is(.anons_block h1, .mh3, .content h2, .content h3),
.filkos-public #footer :is(p, a, li),
.filkos-public .menu_down--button-desc a { color: var(--finance-text); }
.filkos-public #columns .content :is(p, li, dd, td) { color: var(--finance-text); }
.filkos-public #columns .content :is(th, td),
.filkos-public .city-reading :is(th, td) { border-color: var(--finance-border); }
.filkos-public #columns .content th { background: var(--finance-control); color: var(--finance-text); }
.filkos-public #columns :is(.bread_crumb, .anons_block p) { color: var(--finance-muted); }
.filkos-public #columns :is(.content, .anons_block, .bread_crumb) a,
.filkos-public .filkos-refresh a:not(.fr-button) { color: #87ccf7; }
.filkos-public .filkos-refresh :is(.fr-form input, .fr-note, .fr-psk),
.filkos-public :is(.city-region, .city-notice) {
  background: var(--finance-control);
  border-color: var(--finance-border);
  color: var(--finance-text);
}
.filkos-public .filkos-refresh .fr-psk strong { color: var(--finance-text); }

.filkos-public .fk-partners.fk-partners--horizontal .fk-partners-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.filkos-public .fk-partners.fk-partners--horizontal { min-width: 0; }
.filkos-public .fk-partners--horizontal .fk-card-logo { background: #fff; }
.filkos-public .fk-partners--horizontal .fk-partners-card .fk-ad { white-space: normal; overflow-wrap: anywhere; overflow: visible; }
.filkos-public .fk-partners--horizontal .fk-card-risk { white-space: normal; }
.filkos-public .fk-partners--horizontal .fk-partners-card:has(.fk-card-risk):not(:has(.fk-card-legal)) .fk-card-risk { grid-column: 1 / -1; }
.filkos-public .fk-partners.fk-partners--horizontal :is(.fk-offer-button, .fk-compare-apply),
.filkos-public .filkos-refresh .fr-button:not(.fr-button-secondary),
.filkos-public .city-button,
.filkos-public #columns .anketabanner button {
  background: var(--fk-brand-action);
  border-color: var(--fk-brand-action);
  color: #191707;
}
.filkos-public .fk-partners.fk-partners--horizontal :is(.fk-offer-button, .fk-compare-apply):hover,
.filkos-public .filkos-refresh .fr-button:not(.fr-button-secondary):hover,
.filkos-public .city-button:hover,
.filkos-public #columns .anketabanner button:hover { background: var(--fk-brand-hover); color: #191707; }
.filkos-public .fk-partners.fk-partners--horizontal .fk-tray-show,
.filkos-public .filkos-refresh .fr-button.fr-button-secondary {
  background: var(--finance-control);
  border-color: var(--finance-border);
  color: var(--finance-text);
}

@media (max-width: 720px) {
  .fk-site-header-inner { min-height: 58px; padding: 8px 16px; }
  .fk-site-desktop-link { display: none; }
  .fk-site-menu { width: calc(100vw - 32px); grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; gap: 14px; }
  .filkos-public #columns { padding-top: 10px; }
}
