/* Финансовая иллюстрация в обложке; остальные стили взяты из образца. */
.cover {
  background-image: linear-gradient(0deg, rgba(4,17,45,.68) 0%, rgba(4,17,45,0) 36%), linear-gradient(90deg, rgba(4,17,45,.38) 0%, rgba(4,17,45,.20) 48%, rgba(4,17,45,.04) 100%), url('assets/finance-services-hero-v2.png');
}
.cover .hero-action-secondary:disabled { cursor: default; opacity: 1; }
.cover .hero-action-secondary:disabled:hover { filter: none; }

/* Обзор ниши: фотографический материал ограничен своей колонкой. */
:is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-visual { overflow: hidden; border-radius: 16px; }
:is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-visual img { width: 100%; height: 100%; max-width: 100%; object-fit: cover; object-position: 72% center; transform: none; }
:is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-tiles article:not(.direction-block-share) { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; }
:is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-tiles article:not(.direction-block-share) b { overflow-wrap: normal; font-size: 17px; }
:is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-tiles strong small { font-size: 15px; letter-spacing: normal; }
@media (max-width: 800px) {
  :is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-visual { height: 240px; }
  :is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-stages b, :is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-stages small { min-width: 0; overflow-wrap: anywhere; }
  :is(#niche-overview,#banks-overview,#insurance-overview,#mfo-overview,#media-overview) .direction-share-row span { overflow-wrap: anywhere; }
}

/* Геометрия поискового экрана соответствует эталону на презентационных размерах. */
#banks-search-answers .search-blocks { margin: 10px 0; gap: 14px; }
#banks-search-answers .search-block-card { padding: 10px 16px; }
#banks-search-answers .search-block-card strong { font-size: 36px; margin: 4px 0 0; }
#banks-search-answers .search-block-card p { margin: 2px 0; font-size: 14px; }
#banks-search-answers .search-progress { margin-top: 7px; }
#banks-search-answers .search-example-grid { gap: 14px; }
#banks-search-answers .search-example { min-width: 0; padding: 12px 16px; }
#banks-search-answers .search-example-head img { width: 22px; height: 22px; }
#banks-search-answers .search-example-head small { margin: 0 0 0 auto; font-size: 12px; }
#banks-search-answers .search-example-query { margin: 8px 0; font-size: 14px; }
#banks-search-answers .inline-conclusion { margin-top: 10px; padding: 10px 16px; }
@media (min-width: 801px) { #banks-search-answers .search-example-answer { height: 150px; } }
@media (min-width: 801px) and (max-height: 740px) {
  #banks-search-answers { padding-top: 8px; padding-bottom: 15px; }
  #banks-search-answers .search-example-answer { height: 120px; }
}

:is(#banks-ai-sources,#market-ai-overview) .model-matrix-layout { display: block; }
:is(#banks-ai-sources,#market-ai-overview) .source-type-table { width: 100%; min-width: 900px; }
:is(#banks-ai-sources,#market-ai-overview) .source-type-table th, :is(#banks-ai-sources,#market-ai-overview) .source-type-table td { padding: 8px 10px; }
:is(#banks-ai-sources,#market-ai-overview) .source-table-scroll { overflow-x: auto; }
:is(#banks-ai-sources,#market-ai-overview) .inline-conclusion { display: flex; gap: .35em; }
:is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) .model-matrix-layout { display: block; }
:is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) .source-type-table { width: 100%; min-width: 900px; }
:is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) .source-type-table th, :is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) .source-type-table td { padding: 8px 10px; }
:is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) .source-table-scroll { overflow-x: auto; }
:is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) .inline-conclusion { display: flex; gap: .35em; }
#market-search-overview .model-matrix-layout { display: block; }
#market-search-overview .source-type-table { width: 100%; min-width: 600px; }
#market-search-overview .source-type-table th, #market-search-overview .source-type-table td { padding: 12px 14px; }
#market-search-overview .source-table-scroll { overflow-x: auto; }
#market-search-overview .inline-conclusion { display: flex; gap: .35em; }

html[data-theme="dark"] #banks-question .quiz-option { background: #1d2b41; color: #f4f7ff; border-color: #526783; }
html[data-theme="dark"] #banks-question .quiz-option[aria-pressed="true"] { background: #1b3faa; border-color: #94b4ff; }
html[data-theme="dark"] :is(#banks-ai-sources,#market-ai-overview) img[src$="/chatgpt.svg"],
html[data-theme="dark"] :is(#banks-ai-sources,#market-ai-overview) img[src$="/gigachat.svg"],
html[data-theme="dark"] :is(#banks-ai-sources,#market-ai-overview) img[src$="/perplexity.svg"] { filter: invert(1); }
html[data-theme="dark"] :is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) img[src$="/chatgpt.svg"],
html[data-theme="dark"] :is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) img[src$="/gigachat.svg"],
html[data-theme="dark"] :is(#insurance-ai-sources,#mfo-ai-sources,#media-ai-sources) img[src$="/perplexity.svg"] { filter: invert(1); }

.bank-cjm-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.bank-cjm-cards article { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.bank-cjm-cards span { display: block; color: var(--muted); font-size: 17px; }
.bank-cjm-cards strong { display: block; margin-top: 12px; font-size: 38px; color: var(--blue); }
.bank-cjm-cards p { margin: 6px 0 0; }
:is(#banks-ai-cjm,#insurance-ai-cjm,#mfo-ai-cjm,#media-ai-cjm) .inline-conclusion { display: flex; gap: .35em; }
html[data-theme="dark"] :is(#banks-ai-cjm,#insurance-ai-cjm,#mfo-ai-cjm,#media-ai-cjm) .market-channel-icons img[src$="/chatgpt.svg"],
html[data-theme="dark"] :is(#banks-ai-cjm,#insurance-ai-cjm,#mfo-ai-cjm,#media-ai-cjm) .market-channel-icons img[src$="/gigachat.svg"],
html[data-theme="dark"] :is(#banks-ai-cjm,#insurance-ai-cjm,#mfo-ai-cjm,#media-ai-cjm) .market-channel-icons img[src$="/perplexity.svg"] { filter: invert(1); }
@media (max-width: 800px) { .bank-cjm-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } .bank-cjm-cards article { padding: 14px; } .bank-cjm-cards strong { font-size: 28px; } }

.finance-search .search-blocks { margin: 10px 0; gap: 14px; }
.finance-search .search-block-card { padding: 10px 16px; }
.finance-search .search-block-card strong { font-size: 36px; margin: 4px 0 0; }
.finance-search .search-block-card p { margin: 2px 0; font-size: 14px; }
.finance-search .search-progress { margin-top: 7px; }
.finance-search .search-example-grid { gap: 14px; }
.finance-search .search-example { min-width: 0; padding: 12px 16px; }
.finance-search .search-example-head img { width: 22px; height: 22px; }
.finance-search .search-example-head small { margin: 0 0 0 auto; font-size: 12px; }
.finance-search .search-example-query { margin: 8px 0; font-size: 14px; }
.finance-search .inline-conclusion { margin-top: 10px; padding: 10px 16px; }
@media (min-width: 801px) { .finance-search .search-example-answer { height: 150px; } }
@media (min-width: 801px) and (max-height: 740px) { .finance-search { padding-top: 8px; padding-bottom: 15px; } .finance-search .search-example-answer { height: 120px; } }

#banks-ai-models .model-matrix-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,280px); gap: 20px; }
#banks-ai-models .bank-model-filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0; }
#banks-ai-models .bank-model-filters label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; }
#banks-ai-models select, #banks-ai-models input { min-height: 38px; max-width: 200px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; }
#banks-ai-models select:focus-visible, #banks-ai-models input:focus-visible, #banks-ai-models .bank-model-pagination button:focus-visible { outline: 3px solid #789cff; outline-offset: 2px; }
#banks-ai-models .bank-model-explanation { color: var(--muted); font-size: 14px; line-height: 1.3; margin: 8px 0; }
#banks-ai-models .bank-model-table { min-width: 820px; }
#banks-ai-models .bank-model-table th:first-child { width: 200px; }
#banks-ai-models .bank-model-table td { text-align: center; font-variant-numeric: tabular-nums; }
#banks-ai-models .bank-model-table td strong, #banks-ai-models .bank-model-table td small { display: block; line-height: 1.15; }
#banks-ai-models .bank-model-table td small { font-size: 11px; color: var(--muted); margin-top: 2px; }
#banks-ai-models .bank-model-table tbody th { font-size: 14px; }
#banks-ai-models .bank-model-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 8px; font-size: 14px; }
#banks-ai-models .bank-model-pagination button { padding: 6px 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--text); cursor: pointer; }
#banks-ai-models .bank-model-pagination button:disabled { opacity: .45; cursor: default; }
#banks-ai-models .bank-model-empty { color: var(--muted); }
#banks-ai-models .market-compare b { font-size: 21px; white-space: nowrap; }
html[data-theme="dark"] #banks-ai-models img[src$="/chatgpt.svg"],
html[data-theme="dark"] #banks-ai-models img[src$="/gigachat.svg"],
html[data-theme="dark"] #banks-ai-models img[src$="/perplexity.svg"] { filter: invert(1); }
@media (max-width: 800px) { #banks-ai-models .bank-model-filters label { flex: 1 1 100%; justify-content: space-between; } #banks-ai-models input, #banks-ai-models select { flex: 1; } }
@media (max-width: 800px) { #banks-ai-models .model-matrix-layout { grid-template-columns: minmax(0,1fr); } }
@media (min-width: 801px) and (max-height: 740px) {
  #banks-ai-models { padding-top: 8px; padding-bottom: 24px; }
  #banks-ai-models .model-matrix-note { margin-top: 5px !important; font-size: 13px; line-height: 1.25; }
  #banks-ai-models .footnote { font-size: 13px; line-height: 1.25; }
}

#banks-ai-ranking .bank-rank-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,280px); gap: 20px; }
#banks-ai-ranking .bank-rank-panel { min-width: 0; }
#banks-ai-ranking .bank-rank-scroll { overflow-x: auto; }
#banks-ai-ranking .bank-rank-scroll:focus-visible, #banks-ai-ranking .bank-rank-toggle:focus-visible { outline: 3px solid #789cff; outline-offset: 3px; }
#banks-ai-ranking .bank-rank-table { border-collapse: collapse; width: 100%; min-width: 610px; }
#banks-ai-ranking .bank-rank-table th, #banks-ai-ranking .bank-rank-table td { padding: 3px 8px; border-bottom: 1px solid var(--line); text-align: right; font-size: 14px; }
#banks-ai-ranking .bank-rank-table th:nth-child(2), #banks-ai-ranking .bank-rank-table tbody th { text-align: left; }
#banks-ai-ranking .bank-rank-table th:first-child { width: 38px; }
#banks-ai-ranking .bank-rank-table tbody th small { margin-left: 8px; color: var(--muted); font-size: 11px; font-weight: 400; }
#banks-ai-ranking [hidden] { display: none !important; }
#banks-ai-ranking .bank-rank-toggle { border: 0; padding: 10px 0; background: transparent; color: var(--blue); font: inherit; font-weight: 600; cursor: pointer; }
#banks-ai-ranking .bank-rank-note { color: var(--muted); font-size: 13px; line-height: 1.3; margin: 4px 0 0; }
#banks-ai-ranking .market-reading { padding: 16px 20px; }
#banks-ai-ranking .market-reading h3 { font-size: 22px; margin: 8px 0 !important; }
#banks-ai-ranking .market-compare { margin: 10px 0; padding: 10px 0; }
#banks-ai-ranking .market-compare b { font-size: 21px; white-space: nowrap; }
#banks-ai-ranking .inline-conclusion { display: flex; gap: .35em; margin-top: 8px; }
html[data-theme="dark"] #banks-ai-ranking img[src$="/chatgpt.svg"],
html[data-theme="dark"] #banks-ai-ranking img[src$="/gigachat.svg"],
html[data-theme="dark"] #banks-ai-ranking img[src$="/perplexity.svg"] { filter: invert(1); }
@media (min-width: 801px) and (max-height: 740px) { #banks-ai-ranking { padding-top: 8px; padding-bottom: 22px; } #banks-ai-ranking .bank-rank-table th, #banks-ai-ranking .bank-rank-table td { padding-top: 3px; padding-bottom: 3px; } }
@media (max-width: 800px) { #banks-ai-ranking .bank-rank-layout { grid-template-columns: minmax(0,1fr); } }

.finance-rank .bank-rank-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,280px); gap: 20px; }
.finance-rank .bank-rank-panel { min-width: 0; }
.finance-rank .bank-rank-scroll { overflow-x: auto; }
.finance-rank .bank-rank-scroll:focus-visible, .finance-rank .bank-rank-toggle:focus-visible { outline: 3px solid #789cff; outline-offset: 3px; }
.finance-rank .bank-rank-table { border-collapse: collapse; width: 100%; min-width: 610px; }
.finance-rank .bank-rank-table th, .finance-rank .bank-rank-table td { padding: 3px 8px; border-bottom: 1px solid var(--line); text-align: right; font-size: 14px; }
.finance-rank .bank-rank-table th:nth-child(2), .finance-rank .bank-rank-table tbody th { text-align: left; }
.finance-rank .bank-rank-table th:first-child { width: 38px; }
.finance-rank .bank-rank-table tbody th small { margin-left: 8px; color: var(--muted); font-size: 11px; font-weight: 400; }
.finance-rank [hidden] { display: none !important; }
.finance-rank .bank-rank-toggle { border: 0; padding: 10px 0; background: transparent; color: var(--blue); font: inherit; font-weight: 600; cursor: pointer; }
.finance-rank .bank-rank-note { color: var(--muted); font-size: 13px; line-height: 1.3; margin: 4px 0 0; }
.finance-rank .market-reading { padding: 16px 20px; }
.finance-rank .market-reading h3 { font-size: 22px; margin: 8px 0 !important; }
.finance-rank .market-compare { margin: 10px 0; padding: 10px 0; }
.finance-rank .market-compare b { font-size: 21px; white-space: nowrap; }
.finance-rank .inline-conclusion { display: flex; gap: .35em; margin-top: 8px; }
html[data-theme="dark"] .finance-rank img[src$="/chatgpt.svg"],
html[data-theme="dark"] .finance-rank img[src$="/gigachat.svg"],
html[data-theme="dark"] .finance-rank img[src$="/perplexity.svg"] { filter: invert(1); }
@media (min-width: 801px) and (max-height: 740px) { .screen.finance-rank { padding-top: 8px; padding-bottom: 22px; } }
@media (max-width: 800px) { .finance-rank .bank-rank-layout { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 800px) {
  .cover {
    background-image: linear-gradient(90deg, rgba(4,17,45,.87) 0%, rgba(4,17,45,.70) 65%, rgba(4,17,45,.32) 100%), url('assets/finance-services-hero-v2.png');
  }
}
/* Источники в примере страхового вопроса: бренд и сайт показаны раздельно. */
.insurance-source-examples { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:8px; }
.insurance-source-examples span { display:inline-flex; align-items:center; gap:6px; color:var(--text); font-size:14px; font-weight:600; }
.insurance-source-examples img { display:block; width:18px; height:18px; object-fit:contain; border-radius:3px; background:#fff; }
