/* BFA DESIGN — PAGE LAYOUTS
 * Only scoped presentation for existing Django templates. No copy or data changes.
 * Loaded last, after original custom.css and bfa-design.css.
 */

/* Exception pages: keep their lone recovery action at the shared touch height. */
body:is(.bfa-page--not-found, .bfa-page--partner-stub) main .btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Shared: compact, legible desktop/mobile headers and numeric tables */
body.bfa-design main { min-width: 0; }
body.bfa-design .table-responsive { border-radius: 12px; border: 1px solid #dce1df; }
body.bfa-design table.table {
  margin-bottom: 0;
  --bs-table-bg: transparent;
  --bs-table-color: #172c3c;
  --bs-table-border-color: #e5e8e4;
}
body.bfa-design .table th {
  background: #e9ede9;
  color: #334b58;
  font-size: .85rem;
  font-weight: 780;
  padding: .82rem 1rem;
}
body.bfa-design .table td { vertical-align: middle; padding: .86rem 1rem; }
body.bfa-design .table tr:hover td { background: #fafbf8; }
body.bfa-design .list-group-item {
  border-color: #dce1df;
  color: #172c3c;
  background: #fff;
}
body.bfa-design .list-group-item:hover { background: #f2f4f1; }
body.bfa-design .alert-light {
  background: #fff;
  color: #283b45;
  border-color: #dce1df !important;
}
body.bfa-design .rounded-4 { border-radius: 14px !important; }

/* Home: reading-first hero + broad search desk; inherited copy intact */
body.bfa-page--home .hero {
  position: relative;
  overflow: visible;
  padding-top: clamp(3rem, 6vw, 6rem) !important;
  padding-bottom: clamp(3rem, 5vw, 5rem) !important;
}
body.bfa-page--home .hero .col-lg-10 { width: min(100%, 1080px); }
body.bfa-page--home .hero h1 {
  max-width: 870px;
  font-size: clamp(2.65rem, 5vw, 4.8rem);
  line-height: 1.08;
}
body.bfa-page--home .hero .lead { font-size: clamp(1.08rem, 1.4vw, 1.27rem); }
body.bfa-page--home #search-area {
  margin-top: 2.4rem;
  padding: clamp(1.35rem, 3vw, 2.35rem) !important;
  text-align: left;
}
body.bfa-page--home #search-area h2 {
  color: #172c3c;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
  text-align: left !important;
  padding-bottom: .7rem;
  margin-bottom: 1.2rem !important;
  border-bottom: 1px solid #edf0eb;
}
body.bfa-page--home #search-area .row { --bs-gutter-x: 1rem; }
body.bfa-page--home #search-area .form-label { display: inline-block; margin-bottom: .45rem; }
body.bfa-page--home #home-search-go {
  min-height: 48px;
  border-radius: 9px;
  width: 100%;
}
body.bfa-page--home .trust-metrics {
  grid-template-rows: auto auto;
  align-items: stretch;
}
body.bfa-page--home .trust-metrics .bento-item-large {
  background: #e8ece6;
  position: relative;
}
body.bfa-page--home .trust-metrics .bento-item-large::after {
  content: "";
  position: absolute;
  top: 23px;
  bottom: 23px;
  right: 23px;
  width: 3px;
  border-radius: 6px;
  background: #b65f38;
  opacity: .8;
}
body.bfa-page--home .bento-graph { opacity: .55; }
body.bfa-page--home .brands-table-container { box-shadow: 0 8px 28px #172c3c0b; }
body.bfa-page--home .steps-timeline { gap: 18px; }
body.bfa-page--home .step {
  padding: 30px 26px;
  min-width: 0;
  flex: 1 1 240px;
}
body.bfa-page--home .step h3 { color: #172c3c; }
body.bfa-page--home .step-arrow { display: none; }

/* All regions: directory page, not an advert landing */
body.bfa-page--catalog main > h1,
body.bfa-page--catalog main > .display-4 { font-family: Georgia, "Times New Roman", serif; }
body.bfa-page--catalog .osago-regions-intro {
  background: #e9ede8 !important;
  border: 1px solid #cedbd6 !important;
  border-left: 5px solid #b65f38 !important;
  border-radius: 15px !important;
}
body.bfa-page--catalog .osago-regions-intro .benefit-card {
  background: #fff;
  border: 1px solid #dce1df;
  border-top: 1px solid #dce1df !important;
}
body.bfa-page--catalog .region-card-inner {
  height: 100%;
  border-left: 3px solid transparent;
}
body.bfa-page--catalog .region-card-inner:hover { border-left-color: #b65f38; }
body.bfa-page--catalog .region-icon {
  color: #1d3c50;
  background: #eef1eb;
  border-radius: 9px;
}
body.bfa-page--catalog .region-card-title-link { font-weight: 720; }
body.bfa-page--catalog .region-profile-badge { font-size: .76rem; font-weight: 650; }
body.bfa-page--catalog #regionSearch { border-left: 1px solid #cbd4d3 !important; }
body.bfa-page--catalog #regionsGrid .region-card { min-width: 0; }
body.bfa-page--catalog #regionsGrid .card-body { padding: 1.2rem; }

/* Region: locally useful directory, stats + city list */
body.bfa-page--region .hero,
body.bfa-page--city .hero {
  text-align: left !important;
  background: linear-gradient(115deg, #f3efe6, #fcfaf5) !important;
}
body.bfa-page--region .hero .container,
body.bfa-page--city .hero .container { max-width: 1140px; }
body.bfa-page--region .hero h1,
body.bfa-page--city .hero h1 {
  margin-inline: 0;
  max-width: 1000px;
}
body.bfa-page--region .hero .lead,
body.bfa-page--city .hero .lead {
  margin-inline: 0;
  max-width: 890px;
}
body.bfa-page--region .hero .d-flex.justify-content-center,
body.bfa-page--city .hero .d-flex.justify-content-center { justify-content: flex-start !important; }
body.bfa-page--region .search-panel { max-width: 100%; }
body.bfa-page--region #city-search {
  border-radius: 0 9px 9px 0;
  min-height: 52px;
}
body.bfa-page--region .city-card-inner {
  border-left: 3px solid transparent;
  gap: .5rem;
  padding: 1.35rem !important;
}
body.bfa-page--region .city-card-inner:hover { border-left-color: #b65f38; }
body.bfa-page--region .city-price-badge {
  padding: .4rem .62rem;
  display: inline-flex;
  gap: .4rem;
  align-items: baseline;
  max-width: 100%;
}
body.bfa-page--region #region-city-comparison .table-responsive { margin-top: .7rem; }
body.bfa-page--region .similar-regions-section {
  background: #ecefe9;
  border: 1px solid #dce1df;
  border-radius: 14px;
  padding: 1.7rem !important;
}

/* City: practical filters and comparison, not brochure components */
body.bfa-page--city .filters-section {
  background: #fff;
  border: 1px solid #dce1df;
  border-left: 4px solid #1d3c50;
  padding: clamp(18px, 3vw, 28px) !important;
}
body.bfa-page--city .filter-form { gap: 16px; }
body.bfa-page--city #model-search,
body.bfa-page--city #sort-select,
body.bfa-page--city #price-filter { min-height: 48px; }
body.bfa-page--city .filters-section .btn { min-height: 44px; }
body.bfa-page--city .compare-panel {
  border-top: 4px solid #b65f38;
  padding: clamp(18px, 2.5vw, 28px);
}
body.bfa-page--city .compare-panel .table-responsive { overflow-y: hidden; }
body.bfa-page--city #compare-table-body td { vertical-align: middle; }
body.bfa-page--city #compare-clear { min-height: 44px; }
body.bfa-page--city .model-compare-toggle,
body.bfa-page--model .alert .btn-sm,
body.bfa-page--model-hub .list-group-item .btn-sm {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.bfa-page--city .compare-chip { min-height: 44px; }
body.bfa-page--city .model-card {
  border: 1px solid #dce1df;
  box-shadow: 0 3px 12px #172c3c08;
  overflow: hidden;
}
body.bfa-page--city .model-card-link { gap: .85rem; }
body.bfa-page--city .model-card-copy { min-width: 0; }
body.bfa-page--city .model-card-link .model-card-title { font-weight: 740; }
body.bfa-page--city .model-card-link .model-card-price { font-size: .98rem; }
body.bfa-page--city .model-card-arrow { color: #b65f38; }
body.bfa-page--city .advantage-tag { color: var(--bfa-navy) !important; }
body.bfa-page--city .advantage-item:hover .advantage-tag {
  background: var(--bfa-navy) !important;
  color: #fff !important;
}
body.bfa-page--city .model-card > .model-compare-toggle { border-radius: 8px; }
body.bfa-page--city .model-compare-toggle[aria-pressed="true"] {
  background: #1d3c50;
  color: #fff;
}
body.bfa-page--city .car-icon { font-size: 0 !important; }
body.bfa-page--city .car-icon::before {
  content: "\f1b9";
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.25rem;
  line-height: 1;
  color: #1d3c50;
}
body.bfa-page--city .compare-dock {
  background: #162f40;
  border-top: 2px solid #b65f38;
}
body.bfa-page--city .compare-dock-copy { color: #f7f5ef; }
body.bfa-page--city #compare-dock-clear {
  color: #fff;
  border-color: #b7c7cf;
}
body.bfa-page--city #compare-dock-clear:hover,
body.bfa-page--city #compare-dock-clear:active {
  color: #fff;
  background-color: #496273;
  border-color: #dce5e9;
}
body.bfa-page--city #compare-open {
  background: var(--bfa-warm) !important;
  border-color: var(--bfa-warm) !important;
  color: #fff !important;
}
body.bfa-page--city #compare-open:hover:not(:disabled) {
  background: var(--bfa-warm-hover) !important;
  border-color: var(--bfa-warm-hover) !important;
}
body.bfa-page--city:has(#compare-dock:not(.d-none)) {
  padding-bottom: 8rem;
}

/* City + model: evidence panel with prominent data grid */
body.bfa-design.bfa-page--model .hero.bg-primary,
body.bfa-design.bfa-page--model-hub .hero.bg-primary {
  background: linear-gradient(125deg, #1c3c50 0%, #102a38 100%) !important;
  border-bottom: 4px solid #b65f38;
  color: #fff !important;
}
body.bfa-page--model .hero h1,
body.bfa-page--model .hero h2,
body.bfa-page--model .hero h3,
body.bfa-page--model .hero .lead,
body.bfa-page--model-hub .hero h1,
body.bfa-page--model-hub .hero h2,
body.bfa-page--model-hub .hero h3,
body.bfa-page--model-hub .hero .lead { color: #fff !important; }
body.bfa-page--model .hero .opacity-75,
body.bfa-page--model-hub .hero .opacity-75 { color: #dfebef !important; }
body.bfa-page--model .hero .hero-benefit-chip,
body.bfa-page--model-hub .hero .hero-benefit-chip {
  background: #ffffff19;
  border-color: #ffffff45;
  color: #fff !important;
}
body.bfa-page--model .hero .hero-benefit-chip i,
body.bfa-page--model-hub .hero .hero-benefit-chip i { color: #ffd3ae !important; }
body.bfa-page--model .hero .btn-light { color: #172c3c; background: #fff; }
body.bfa-page--model .seo-panel { border-top: 4px solid #b65f38; }
body.bfa-page--model .seo-blocks { gap: 14px; }
body.bfa-page--model .seo-block {
  --accent-color: #1d3c50 !important;
  min-width: 0;
  background: #fff;
  border: 1px solid #dce1df;
  border-top: 3px solid #b65f38;
  box-shadow: none;
}
body.bfa-page--model .seo-block::before { background: #b65f38; }
body.bfa-page--model .seo-block .block-icon { color: #1d3c50 !important; }
body.bfa-page--model .seo-block .block-title { color: #172c3c; }
body.bfa-page--model .data-uniqueness-section {
  background: #eef0eb;
  border-radius: 12px;
  border: 1px solid #dce1df;
  padding: clamp(15px, 2.5vw, 26px);
}
body.bfa-page--model .seo-bottom { flex-wrap: wrap; }
body.bfa-page--model .regional-model-links .list-group {
  border: 1px solid #dce1df;
  box-shadow: none !important;
}
body.bfa-page--model .model-data-faq { padding: 1.5rem !important; }
body.bfa-page--model .seo-mini-faq .mini-faq-item { border-bottom-color: #dce1df; }

/* Model hubs index: airy searchable index */
body.bfa-page--model-index #model-hub-list { --bs-gutter-x: .85rem; --bs-gutter-y: .85rem; }
body.bfa-page--model-index #model-hub-list [data-model-hub-item] {
  background: #fff;
  border: 1px solid #dce1df !important;
  border-left: 3px solid #b65f38 !important;
  border-radius: 10px !important;
  color: #172c3c;
  min-width: 0;
  transition: background-color .15s ease;
}
body.bfa-page--model-index #model-hub-list [data-model-hub-item]:hover {
  background: #f2f4ef;
  color: #1d3c50;
}
body.bfa-page--model-index #model-hub-list [data-model-hub-item][hidden] {
  display: none !important;
}
body.bfa-page--model-index #model-hub-filter { min-height: 48px; }
body.bfa-page--model-index #model-hub-filter-status { color: #5e6b70; }
body.bfa-page--model-hub .table-responsive { box-shadow: 0 4px 18px #172c3c0b; }
body.bfa-page--model-hub .list-group-item { border-left: 3px solid transparent; }
body.bfa-page--model-hub .list-group-item:hover { border-left-color: #b65f38; }

/* Short-term landing: organized editorial explainers */
body.bfa-page--short-term .hero {
  text-align: left !important;
  background: #f3efe7 !important;
}
body.bfa-page--short-term .hero h1,
body.bfa-page--short-term .hero .lead { margin-inline: 0; }
body.bfa-page--short-term main .card {
  border-left: 4px solid #b65f38;
  background: #fff;
  box-shadow: 0 4px 16px #172c3c0b;
}
body.bfa-page--short-term main > section { scroll-margin-top: 24px; }
body.bfa-page--short-term main .table-responsive { margin-top: .75rem; }

/* Source and legal documents: strong reading hierarchy, no copy edits */
body.bfa-page--sources .hero {
  text-align: left !important;
  padding-block: 3.3rem !important;
  background: #edece6 !important;
}
body.bfa-page--sources .hero h1,
body.bfa-page--sources .hero .lead { margin-inline: 0; }
body.bfa-page--sources main {
  max-width: 1050px;
  font-size: 1rem;
}
body.bfa-page--sources main > section { margin-bottom: 2rem; }
body.bfa-page--sources main h2,
body.bfa-page--legal main h2 { margin: 2rem 0 1.05rem; }
body.bfa-page--sources main li,
body.bfa-page--legal main li { margin-bottom: .65rem; }
body.bfa-page--sources main .card { border-top: 4px solid #1d3c50; }
body.bfa-page--legal main.container {
  max-width: 920px;
  background: #fff;
  border: 1px solid #dce1df;
  border-top: 5px solid #1d3c50;
  border-radius: 14px;
  margin-top: 2rem;
  margin-bottom: 3rem;
  padding: clamp(23px, 4vw, 52px) !important;
  box-shadow: 0 8px 30px #172c3c09;
}
body.bfa-page--legal main h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.2vw, 3rem);
  overflow-wrap: anywhere;
  margin-bottom: 1.3rem;
}
body.bfa-page--legal main h3 { margin: 1.5rem 0 .75rem; font-size: 1.16rem; }
body.bfa-page--legal main p { max-width: 78ch; line-height: 1.78; }
body.bfa-page--legal main a { overflow-wrap: anywhere; }
body.bfa-page--legal main hr { opacity: .15; }
body.bfa-page--not-found main {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #dce1df;
  max-width: 750px;
  margin-block: 4rem;
  padding: clamp(32px, 5vw, 70px) !important;
}

/* Accessible compact layout */
@media (max-width: 991.98px) {
  body.bfa-page--home .hero { padding-block: 3.25rem !important; }
  body.bfa-page--home .hero h1 { font-size: clamp(2.25rem, 5.5vw, 3.4rem); }
  body.bfa-page--region .hero,
  body.bfa-page--city .hero { padding-block: 2.75rem !important; }
}
@media (max-width: 767.98px) {
  body.bfa-page--home .hero { padding-block: 2.4rem !important; }
  body.bfa-page--home .hero h1 { font-size: clamp(2rem, 7.7vw, 2.75rem); }
  body.bfa-page--city .hero h1 { font-size: clamp(1.5rem, 6vw, 2.5rem); }
  body.bfa-page--model .bfa-model-hero-side .btn-lg {
    font-size: 1rem;
    line-height: 1.35;
    padding-inline: .5rem;
  }
  body.bfa-page--home #search-area h2 { font-size: 1.25rem; }
  body.bfa-page--catalog .osago-regions-intro { padding: 1.25rem !important; }
  body.bfa-page--region .hero .btn,
  body.bfa-page--city .hero .btn { width: 100%; }
  body.bfa-page--region .similar-regions-section { padding: 1rem !important; }
  body.bfa-page--city .filters-section { padding: 1rem !important; }
  body.bfa-page--city .compare-panel { padding: 1rem; }
  body.bfa-page--city .model-card-link { gap: .65rem; }
  body.bfa-page--model .seo-blocks { grid-template-columns: 1fr; }
  body.bfa-page--model .seo-bottom { flex-direction: column; }
  body.bfa-page--model .seo-bottom > * { width: 100%; }
  body.bfa-page--model .model-data-faq { padding: .85rem !important; }
  body.bfa-page--model-index #model-hub-list { --bs-gutter-x: .4rem; }
  body.bfa-page--legal main.container { border-radius: 0; margin-top: 1rem; margin-bottom: 1.25rem; }
  body.bfa-page--not-found main { margin-block: 1.75rem; }
}
@media (max-width: 575.98px) {
  body.bfa-page--legal main h1 { font-size: 1.75rem; }
  body.bfa-page--model-index #model-hub-list [data-model-hub-item] {
    align-items: flex-start !important;
    flex-direction: column;
    gap: .25rem !important;
  }
  body.bfa-page--model-index #model-hub-list [data-model-hub-item] > strong,
  body.bfa-page--model-index #model-hub-list [data-model-hub-item] > span {
    width: 100%;
    text-align: left !important;
  }
}
@media (max-width: 359.98px) {
  body.bfa-page--legal main.container { padding-inline: 16px !important; }
  body.bfa-page--legal main h1 { font-size: 1.4rem; }
}
@media (max-width: 768px) {
  body.bfa-page--city .cities-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  body.bfa-page--catalog .osago-regions-intro .btn {
    white-space: nowrap;
    padding-inline: .25rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.bfa-page--model-index #model-hub-list [data-model-hub-item] { transition: none; }
}


/* DESIGN V2 — structural changes to the four busiest templates.
   These classes are applied to existing untouched text and Django variables. */

/* Home: editorial story on the left, working catalogue search on the right */
body.bfa-page--home .bfa-home-hero-grid {
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
}
body.bfa-page--home .hero .container { max-width: 1280px; }
body.bfa-page--home .bfa-home-hero-content {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(30px, 4vw, 65px);
  text-align: left;
}
body.bfa-page--home .bfa-home-intro {
  min-width: 0;
  align-self: center;
}
body.bfa-page--home .bfa-home-intro h1 {
  font-size: clamp(2.5rem, 3.65vw, 3.9rem);
  line-height: 1.08;
  margin-inline: 0;
  max-width: 700px;
  text-align: left;
}
body.bfa-page--home .bfa-home-intro .lead {
  text-align: left;
  margin-inline: 0;
  max-width: 56ch;
}
body.bfa-page--home .bfa-home-intro .hero-price {
  max-width: 100%;
  white-space: normal;
  font-size: 1.08rem !important;
}
body.bfa-page--home #search-area {
  margin-top: 0;
  width: 100%;
  min-width: 0;
  padding: clamp(22px, 2.5vw, 36px) !important;
  box-shadow: 0 19px 48px #172c3c1e !important;
}
body.bfa-page--home #search-area .row > .col-md-3 {
  width: 50%;
}
body.bfa-page--home #search-area label { font-size: .88rem; }
body.bfa-page--home #search-area .form-select { width: 100%; min-width: 0; }
body.bfa-page--home #search-area #home-search-go { min-height: 52px; }

/* Region: search and price range act as one coherent overview */
body.bfa-page--region .bfa-region-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(285px, .85fr);
  gap: clamp(18px, 2vw, 30px);
  align-items: stretch;
  margin-top: -25px;
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
}
body.bfa-page--region .bfa-region-search,
body.bfa-page--region .bfa-region-stats { min-width: 0; }
body.bfa-page--region .bfa-region-search > section,
body.bfa-page--region .bfa-region-stats > section {
  height: 100%;
  padding: 0 !important;
  background: transparent !important;
}
body.bfa-page--region .bfa-region-search > section > .container {
  height: 100%;
  padding: 0;
  max-width: none;
}
body.bfa-page--region .bfa-region-search .search-panel {
  height: 100%;
  margin: 0;
  border-top-width: 4px !important;
  border-top-color: #b65f38 !important;
  box-shadow: 0 12px 28px #172c3c14 !important;
}
body.bfa-page--region .bfa-region-stats > section {
  background: #e9ede7 !important;
  border: 1px solid #cbd7d2;
  border-radius: 14px;
  padding: 16px !important;
}
body.bfa-page--region .bfa-region-stats .row { display: flex; gap: 10px 0; }
body.bfa-page--region .bfa-region-stats .col-md-4 { width: 100%; }
body.bfa-page--region .bfa-region-stats .card {
  box-shadow: none !important;
  border-color: #d9e1dc;
  padding: .65rem .9rem !important;
}
body.bfa-page--region .bfa-region-stats strong {
  font-size: clamp(1.25rem, 1.55vw, 1.65rem);
  color: #1d3c50;
}
body.bfa-page--region .bfa-region-stats p { font-size: .78rem; line-height: 1.55; }

/* City: editorial explanation follows the interactive directory, not precedes it */
body.bfa-page--city .bfa-city-workspace {
  display: grid;
  grid-template-columns: minmax(235px, .32fr) minmax(0, 1fr);
  grid-template-areas: "filter results" "compare compare";
  align-items: start;
  column-gap: clamp(15px, 2.2vw, 28px);
  row-gap: 18px;
}
body.bfa-page--city .bfa-city-workspace > .filters-section {
  grid-area: filter;
  margin: 0 !important;
  position: sticky;
  top: 18px;
  padding: 20px !important;
}
body.bfa-page--city .bfa-city-workspace:has(> .compare-panel:not(.d-none)) > .filters-section {
  position: static;
}
body.bfa-page--city .bfa-city-workspace .filter-form {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
body.bfa-page--city .bfa-city-workspace .filter-form > * { width: 100%; min-width: 0; }
body.bfa-page--city .bfa-city-workspace .filter-actions { grid-column: auto; }
body.bfa-page--city .bfa-city-workspace .filter-form .d-flex.align-items-end {
  flex-wrap: wrap;
  align-items: stretch !important;
}
body.bfa-page--city .bfa-city-workspace .filter-form .d-flex.align-items-end > .btn {
  flex: 1 1 145px;
}
body.bfa-page--city .bfa-city-workspace > .bfa-city-model-results {
  grid-area: results;
  min-width: 0;
}
body.bfa-page--city .bfa-city-workspace > .compare-panel {
  grid-area: compare;
  min-width: 0;
  margin: 0 !important;
  scroll-margin-top: 20px;
}
body.bfa-page--city .bfa-city-model-results .models-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}
body.bfa-page--city .bfa-city-workspace + section > .seo-panel {
  margin-top: 32px;
}

/* Model: actionable summary and price evidence use separate columns */
body.bfa-page--model .bfa-model-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(290px, .72fr);
  gap: clamp(20px, 4vw, 64px);
  align-items: center;
  text-align: left;
}
body.bfa-page--model .bfa-model-hero-summary h1 {
  margin-inline: 0;
  font-size: clamp(2.3rem, 4vw, 4rem);
  max-width: 860px;
}
body.bfa-page--model .bfa-model-hero-summary .lead {
  margin-inline: 0;
  max-width: 750px;
}
body.bfa-page--model .bfa-model-hero-side {
  border: 1px solid #ffffff36;
  background: #ffffff10;
  border-radius: 15px;
  padding: clamp(20px, 2.4vw, 32px);
  min-width: 0;
}
body.bfa-page--model .bfa-model-hero-side .hero-benefits {
  margin-top: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .55rem;
}
body.bfa-page--model .bfa-model-hero-side .hero-benefit-chip {
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.bfa-page--model .bfa-model-hero-side .btn { width: 100%; }
body.bfa-page--model .bfa-model-evidence-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .35fr);
  gap: clamp(20px, 2vw, 32px);
  align-items: start;
}
body.bfa-page--model .bfa-model-evidence-main { min-width: 0; }
body.bfa-page--model .bfa-model-evidence-sidebar {
  min-width: 0;
  background: #eef0eb;
  border: 1px solid #d5ded9;
  border-radius: 12px;
  padding: 17px;
}
body.bfa-page--model .bfa-model-evidence-sidebar .seo-mini-faq { margin-top: 0; }
body.bfa-page--model .bfa-model-evidence-sidebar .mini-faq-list { display: block; }
body.bfa-page--model .bfa-model-evidence-sidebar .mini-faq-item { min-width: 0; }
body.bfa-page--model .bfa-model-evidence-sidebar a { overflow-wrap: anywhere; }

/* Responsive: one column, original document order remains useful */
@media (max-width: 991.98px) {
  body.bfa-page--home .bfa-home-hero-content { grid-template-columns: 1fr; gap: 28px; }
  body.bfa-page--home .bfa-home-intro h1 { max-width: 850px; }
  body.bfa-page--region .bfa-region-dashboard { grid-template-columns: 1fr; margin-top: 20px; }
  body.bfa-page--region .bfa-region-stats .row { flex-direction: row; }
  body.bfa-page--region .bfa-region-stats .col-md-4 { width: 33.333333%; }
  body.bfa-page--model .bfa-model-hero-shell { grid-template-columns: 1fr; gap: 12px; }
  body.bfa-page--model .bfa-model-hero-side { max-width: 780px; }
  body.bfa-page--model .bfa-model-hero-side .hero-benefits { flex-direction: row; }
  body.bfa-page--model .bfa-model-hero-side .btn { width: auto; }
  body.bfa-page--model .bfa-model-evidence-layout { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  body.bfa-page--home #search-area .row > .col-md-3 { width: 100%; }
  body.bfa-page--home .bfa-home-intro h1 { font-size: clamp(2.05rem, 8vw, 2.7rem); }
  body.bfa-page--region .bfa-region-stats .row { gap: 8px 0; }
  body.bfa-page--region .bfa-region-stats .col-md-4 { width: 100%; }
  body.bfa-page--city .bfa-city-workspace {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "filter" "results" "compare";
    gap: 14px;
  }
  body.bfa-page--city .bfa-city-workspace > .filters-section { position: static; top: auto; }
  body.bfa-page--city .bfa-city-workspace .filter-form { gap: 10px; }
  body.bfa-page--city .bfa-city-model-results .models-grid { grid-template-columns: 1fr; }
  body.bfa-page--model .bfa-model-hero-side { padding: 15px; }
  body.bfa-page--model .bfa-model-hero-side .hero-benefits { flex-direction: column; }
  body.bfa-page--model .bfa-model-hero-side .btn { width: 100%; }
  body.bfa-page--model .bfa-model-evidence-sidebar { padding: 15px; }
}


/* DESIGN V2 — specialist templates */
body.bfa-page--catalog .osago-regions-intro > .row {
  margin-top: 1.1rem;
  --bs-gutter-x: .85rem;
  --bs-gutter-y: .85rem;
}
body.bfa-page--catalog .osago-regions-intro > .row > .col {
  width: 50%;
  flex: 0 0 50%;
}
body.bfa-page--catalog .osago-regions-intro .benefit-card { height: 100%; }
body.bfa-page--catalog .final-cta {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}
body.bfa-page--catalog #regionsGrid { --bs-gutter-x: 1rem; }
body.bfa-page--catalog #regionsGrid .region-card { margin-bottom: 1rem !important; }

body.bfa-page--model-index .bfa-model-index-controls {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  align-items: end;
  gap: 1.5rem;
  background: #e9eeea;
  border: 1px solid #d8e0da;
  border-left: 4px solid #b65f38;
  border-radius: 14px;
  padding: clamp(18px, 2.5vw, 30px);
  margin-bottom: 1.6rem;
}
body.bfa-page--model-index .bfa-model-index-controls .alert {
  margin-bottom: 0;
  background: transparent;
  border: 0 !important;
  box-shadow: none;
  padding: 0;
}
body.bfa-page--model-index .bfa-model-index-controls > .row {
  margin-bottom: 0 !important;
  --bs-gutter-x: .85rem;
}
body.bfa-page--model-index .bfa-model-index-controls .col-lg-5 { width: 100%; }
body.bfa-page--model-index .bfa-model-index-controls .col-md-5 { width: 100%; }

body.bfa-page--short-term .bfa-short-term-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .86fr);
  align-items: start;
  gap: clamp(20px, 3vw, 48px);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
body.bfa-page--short-term .bfa-short-term-overview > section { margin-bottom: 0 !important; }
body.bfa-page--short-term .bfa-short-term-overview > section:nth-child(1) {
  padding: clamp(18px, 2vw, 30px);
  border-radius: 14px;
  background: #e9ede7;
  border: 1px solid #d7e0d9;
}
body.bfa-page--short-term .bfa-short-term-overview > section:nth-child(2) .row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}
body.bfa-page--short-term .bfa-short-term-overview > section:nth-child(2) .col-md-4 {
  width: 100%;
  padding: 0;
}
body.bfa-page--short-term .bfa-short-term-overview .card {
  padding: clamp(18px, 2vw, 24px) !important;
  box-shadow: none;
}

@media (max-width: 991.98px) {
  body.bfa-page--catalog #regionsGrid .region-card .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  body.bfa-page--model-index .bfa-model-index-controls { grid-template-columns: 1fr; gap: 1rem; }
  body.bfa-page--short-term .bfa-short-term-overview { grid-template-columns: 1fr; gap: 1.2rem; }
}
@media (max-width: 575.98px) {
  body.bfa-page--catalog .osago-regions-intro > .row > .col { width: 100%; flex: 0 0 100%; }
  body.bfa-page--model-index .bfa-model-index-controls { padding: 16px; }
}

@media (max-width: 359.98px) {
  body.bfa-page--catalog #regionSearch { padding-inline: .375rem; }
  body.bfa-page--catalog #regionSearch::placeholder { font-size: .875rem; }
  body.bfa-page--model-index #model-hub-filter {
    padding-inline: .5rem;
  }
  body.bfa-page--model-index #model-hub-filter::placeholder {
    font-size: .875rem;
  }
  body.bfa-page--home .hero-price.fs-4 {
    gap: .3rem;
    padding: .55rem .65rem;
    white-space: normal;
    min-width: 0;
    font-size: .9rem !important;
  }
  body.bfa-page--home .hero-price.fs-4 > i { margin-right: 0 !important; }
}

@media (max-width: 767.98px) {
  body.bfa-page--model .bfa-model-hero-summary h1 { font-size: clamp(1.5rem, 6vw, 2.5rem); }
  body.bfa-page--short-term .hero h1 { font-size: clamp(1.5rem, 7vw, 2.5rem); }
  body.bfa-page--short-term .hero .lead { font-size: clamp(1rem, 2.6vw, 1.25rem); line-height: 1.5; }
}

@media (max-width: 991.98px) {
  body.bfa-page--region .hero h1 { font-size: clamp(1.65rem, 5.5vw, 2.5rem); }
  body.bfa-page--region .hero .lead,
  body.bfa-page--city .hero .lead { font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.5; }
}

@media (max-width: 767.98px) {
  body.bfa-page--sources .hero h1 { font-size: clamp(1.75rem, 6vw, 2.35rem); }
  body.bfa-page--model-index .hero h1 { font-size: clamp(1.75rem, 6vw, 2.5rem); }
  body.bfa-page--model-hub .hero h1 { font-size: clamp(1.75rem, 6vw, 2.5rem); }
}

@media (max-width: 575.98px) {
  body.bfa-design .breadcrumb { column-gap: .55rem; row-gap: .25rem; }
  body.bfa-design .breadcrumb-item { padding-left: 0; }
  body.bfa-design .breadcrumb-item + .breadcrumb-item::before { content: none; }
}

/* Keep compact links comfortable to tap on phones and tablets. */
@media (max-width: 991.98px) {
  body.bfa-design a.btn-sm,
  body.bfa-design button.btn-sm {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}


/* BFA HOME MVP — first screen and quick navigation only.
   Scoped to the home page; the catalog selector and other URLs remain untouched. */
body.bfa-page--home .bfa-home-eyebrow {
  display: inline-flex;
  align-items: center;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bfa-warm, #b65f38);
}
body.bfa-page--home .bfa-home-intro h1 {
  max-width: 670px;
  font-size: clamp(2.45rem, 3.8vw, 4rem);
  line-height: 1.09;
  letter-spacing: -.04em;
}
body.bfa-page--home .bfa-home-jump-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
}
body.bfa-page--home .bfa-home-jump-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .6rem .82rem;
  border: 1px solid #c9d4d1;
  border-radius: 9px;
  background: #fff;
  color: #1d3c50;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 700;
}
body.bfa-page--home .bfa-home-jump-links a:hover {
  border-color: #b65f38;
  color: #8b4123;
  background: #fcf7f0;
}
body.bfa-page--home .bfa-home-jump-links a:focus-visible {
  outline: 3px solid #b65f38;
  outline-offset: 2px;
}
body.bfa-page--home #search-area {
  border-top: 5px solid #b65f38 !important;
}
body.bfa-page--home #search-area .form-select {
  min-height: 52px;
}
body.bfa-page--home .bento-item-large .bento-text { max-width: 46ch; }
body.bfa-page--home .bento-item a { color: #1d3c50; text-underline-offset: 3px; }
@media (max-width: 767.98px) {
  body.bfa-page--home .bfa-home-intro h1 {
    font-size: clamp(2.05rem, 8vw, 2.75rem);
  }
  body.bfa-page--home .bfa-home-jump-links { gap: .5rem; }
  body.bfa-page--home .bfa-home-jump-links a {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
    font-size: .85rem;
  }
}
