/* Brands composition only. Typography, controls and cards inherit the site's UI kit. */
.bm-page { padding: var(--space-6) 0 var(--section-space-y); background: var(--color-bg-page); color: var(--color-text-primary); }
.bm-page [hidden] { display: none !important; }
.bm-page a:focus-visible, .bm-page summary:focus-visible, .bm-page [data-bm-list-toggle]:focus-visible { outline: 3px solid var(--color-border-focus); outline-offset: 4px; }
.bm-breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-7); font-size: var(--font-size-meta); line-height: var(--line-height-meta); color: var(--color-text-secondary); }
.bm-breadcrumbs a { color: inherit; }
.bm-city-notice { margin-bottom: var(--space-6); }
.bm-city-notice strong { display: block; margin-top: var(--space-2); }
.bm-unavailable.card-surface { padding: clamp(20px, 4vw, 48px); gap: var(--space-4); }
.bm-unavailable h1 { margin: 0; overflow-wrap: anywhere; }
.bm-unavailable p { max-width: 65ch; margin: 0; color: var(--color-text-secondary); }
.bm-unavailable .bm-final__actions { margin-top: var(--space-2); }
.bm-layout { display: grid; grid-template-columns: minmax(228px, 264px) minmax(0, 1fr); gap: 28px; align-items: start; }
.bm-content { min-width: 0; }
.bm-heading { margin-bottom: var(--space-6); }
.bm-heading h1 { margin-bottom: var(--space-4); line-height: 1.05; overflow-wrap: anywhere; }
.bm-heading p { max-width: 78ch; color: var(--color-text-secondary); }
.bm-sidebar { min-width: 0; }
.bm-sidebar__title.ui-heading-5 { margin: 0 0 var(--space-3); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border-soft); overflow-wrap: anywhere; }
.bm-sidebar .service-sidebar__summary, .bm-sidebar .service-sidebar__link { overflow-wrap: anywhere; }
.bm-sidebar .service-sidebar--service-page .bm-nav__all { font-size: var(--font-size-legal); text-decoration: underline; text-underline-offset: 3px; }
.bm-nav-shell > summary:focus-visible { outline-offset: -4px; }
/* Keep the canonical sidebar styles; only its outer mobile shell changes. */
@media not all and (max-width: 991.98px) {
  .bm-nav-shell { border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
  .bm-nav-shell[open] > summary { display: none; }
  .bm-nav-shell > .service-page__mobile-nav-body { padding: 0; }
}
.bm-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-3); margin-bottom: var(--space-5); }
.bm-fact { display: flex; align-items: center; gap: var(--space-3); background: var(--color-bg-surface); border: 1px solid var(--color-border-soft); border-radius: var(--radius-md); padding: var(--space-4); }
.bm-fact > i { flex-shrink: 0; color: var(--color-brand); font-size: 2rem; line-height: 1; }
.bm-fact > div { min-width: 0; overflow-wrap: anywhere; }
.bm-fact span { display: block; color: var(--color-text-secondary); font-size: var(--font-size-meta); line-height: var(--line-height-meta); }
.bm-fact strong { display: block; margin-top: var(--space-1); font-size: var(--font-size-body-3); line-height: var(--line-height-heading); }
.bm-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-5); }
.bm-hero--no-media { grid-template-columns: 1fr; }
.bm-hero--no-media .bm-form { max-width: 760px; width: 100%; }
.bm-form { padding: var(--space-6); background: var(--color-bg-surface); border: 1px solid var(--color-border-soft); border-radius: var(--radius-md); scroll-margin-top: 150px; min-width: 0; }
.bm-form h2 { margin-bottom: var(--space-2); text-wrap: balance; }
.bm-form > p { color: var(--color-text-secondary); margin-bottom: var(--space-4); }
.bm-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.bm-form label:not(.form-check-label) { display: block; font-size: var(--font-size-meta); margin: var(--space-3) 0 var(--space-2); font-weight: var(--font-weight-bold); }
.bm-form label small { font-size: inherit; font-weight: var(--font-weight-regular); color: var(--color-text-secondary); }
.bm-form input, .bm-form select { min-width: 0; width: 100%; font-size: var(--font-size-body-3); }
.bm-form .field-select { padding-right: var(--space-7); }
.bm-form .form-check { margin: var(--space-5) 0; }
.bm-form .form-check-input { width: 20px; min-width: 20px; height: 20px; }
.bm-form .form-check-label { color: var(--color-text-secondary); }
.bm-form .bm-call { width: 100%; margin-top: var(--space-3); }
.bm-form__vehicle { font-size: var(--font-size-meta); margin: var(--space-4) 0; }
.bm-page .btn { padding: var(--space-3) var(--space-4); line-height: var(--line-height-heading); white-space: normal; text-align: center; }
.bm-call { flex-wrap: wrap; column-gap: var(--space-2); row-gap: var(--space-1); }
.bm-media { margin: 0; position: relative; min-height: 360px; border-radius: var(--radius-md); overflow: hidden; background: var(--color-bg-surface-alt); }
.bm-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bm-media figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: var(--space-7) var(--space-5) var(--space-5); background: linear-gradient(transparent, rgba(0,0,0,.85)); color: var(--color-text-inverse); font-size: var(--font-size-body-1); line-height: var(--line-height-heading); }
.bm-benefits { border: 1px solid var(--color-border-default); border-radius: var(--radius-md); padding: var(--space-4); margin-top: var(--space-5); }
.bm-checks { list-style: none; padding: 0; margin: 0; }
.bm-checks li { display: flex; gap: var(--space-3); margin: var(--space-2) 0; line-height: var(--line-height-body); }
.bm-checks i { color: var(--color-brand); flex-shrink: 0; }
.bm-benefits .bm-checks { display: flex; gap: var(--space-5); justify-content: space-between; }
.bm-benefits li { flex: 1; font-size: var(--font-size-meta); }
.bm-section { margin: var(--space-9) 0; }
.bm-section > h2 { margin-bottom: var(--space-6); }
.bm-section > h3 { font-size: var(--font-size-heading-4); margin: var(--space-6) 0 var(--space-3); }
.bm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-3); }
.bm-card.card-surface { flex-direction: row; align-items: center; gap: var(--space-3); justify-content: space-between; padding: var(--space-4); color: inherit; text-decoration: none; font-size: var(--font-size-body-3); line-height: var(--line-height-meta); }
.bm-card span { min-width: 0; overflow-wrap: anywhere; }
.bm-card img { object-fit: contain; flex-shrink: 0; }
.bm-card i { color: var(--color-brand); flex-shrink: 0; }
.bm-search { display: block; max-width: 440px; margin: 0 0 var(--space-5); }
.bm-search input { margin-top: var(--space-2); }
.bm-list-controls { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); margin-top:var(--space-4); }
.bm-list-controls .bm-note { margin:0; }
.bm-list-controls .btn { max-width:100%; white-space:normal; }
.bm-prices { background: var(--color-bg-surface); border: 1px solid var(--color-border-soft); border-radius: var(--radius-md); overflow: hidden; }
.bm-prices__row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 100px; align-items: center; gap: var(--space-5); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--color-border-soft); font-size: var(--font-size-body-3); }
.bm-prices__row:last-child { border-bottom: 0; }
.bm-prices__row > a:first-child { color: inherit; text-decoration: none; }
.bm-prices__row > a:first-child:hover { color: var(--color-brand-active); }
.bm-prices__row strong { font-size: var(--font-size-meta); line-height: var(--line-height-meta); }
.bm-prices__action { font-size: var(--font-size-meta); color: var(--color-brand-active); padding: var(--space-2) 0; text-decoration: none; }
.bm-note { font-size: var(--font-size-meta); color: var(--color-text-secondary); margin: var(--space-3) 0 0; line-height: var(--line-height-meta); }
.bm-service-price { display: flex; justify-content: space-between; gap: var(--space-6); background: var(--color-bg-surface); padding: var(--space-5); border: 1px solid var(--color-border-soft); border-radius: var(--radius-md); margin-bottom: var(--space-5); }
.bm-service-price span { font-weight: var(--font-weight-bold); color: var(--color-brand-active); white-space: nowrap; }
.bm-story { line-height: var(--line-height-body); }
.bm-story p, .bm-story ul, .bm-story ol { max-width: 78ch; margin-bottom: var(--space-4); }
.bm-story li + li { margin-top: var(--space-2); }
.bm-story h2:not(:first-child), .bm-story h3, .bm-story h4 { margin: var(--space-7) 0 var(--space-4); font-family: var(--font-family-body); font-weight: var(--font-weight-bold); line-height: var(--line-height-heading); }
.bm-story h2:not(:first-child) { font-size: var(--font-size-heading-3); }
.bm-story h3 { font-size: var(--font-size-heading-4); }
.bm-story h4 { font-size: var(--font-size-heading-5); }
.bm-story img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.bm-story > :last-child { margin-bottom: 0; }
.bm-reviews, .bm-branches { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--space-4); }
.bm-branches { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.bm-branches-more { margin-top: var(--space-5); }
.bm-branches-more > summary { color: var(--color-brand-active); padding: var(--space-3) 0; cursor: pointer; }
.bm-branches-more[open] > summary { margin-bottom: var(--space-3); }
.bm-review, .bm-branch { background: var(--color-bg-surface); border: 1px solid var(--color-border-soft); border-radius: var(--radius-md); padding: var(--space-5); min-width: 0; }
.bm-review h3, .bm-branch h3 { margin-bottom: var(--space-3); }
.bm-branch { display: flex; flex-direction: column; align-items: start; gap: var(--space-2); }
.bm-branch h3 { margin-bottom: 0; }
.bm-branch p { color: var(--color-text-secondary); }
.bm-branch__phone { font-size: var(--font-size-body-3); font-weight: var(--font-weight-bold); color: var(--color-text-primary); margin-bottom: var(--space-3); }
.bm-branch .btn { width: 100%; margin-top: auto; }
.bm-review p { margin: 0; }
.bm-more { display: inline-flex; gap: var(--space-2); margin-top: var(--space-4); padding: var(--space-2) 0; font-size: var(--font-size-body-3); color: var(--color-brand-active); }
.bm-final { background: var(--color-bg-dark); color: var(--color-text-inverse); border-radius: var(--radius-md); padding: var(--space-7); margin-top: var(--space-9); }
.bm-final h2 { color: inherit; margin-bottom: var(--space-3); }
.bm-final__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.bm-page .faq-section { margin: var(--space-9) 0; padding: 0; }
.bm-page .faq-section .container { padding: 0; }
.bm-page .faq-section__title { font-size: var(--font-size-heading-2); line-height: var(--line-height-heading); margin-bottom: var(--space-6); }

@media (max-width: 1199.98px) {
  .bm-layout { grid-template-columns: minmax(212px, 236px) minmax(0, 1fr); gap: 24px; }
  .bm-form { padding: var(--space-5); }
  .bm-form__fields { grid-template-columns: 1fr; }
  .bm-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bm-fact:only-child { grid-column: 1 / -1; }
}
@media (max-width: 991.98px) {
  .bm-layout { grid-template-columns: 1fr; gap: 28px; }
  .bm-sidebar__title.ui-heading-5 { padding-bottom: 0; border-bottom: 0; }
  .bm-form__fields { grid-template-columns: 1fr; }
  .bm-prices__row { grid-template-columns: minmax(0, 1fr) 120px 100px; }
}
@media (max-width: 767.98px) {
  .bm-hero { grid-template-columns: 1fr; }
  .bm-form__fields { grid-template-columns: 1fr 1fr; }
  .bm-media { min-height: 260px; }
  .bm-benefits .bm-checks { display: block; }
  .bm-section, .bm-page .faq-section { margin: var(--space-7) 0; }
  .bm-section > h2 { margin-bottom: var(--space-5); font-size: var(--font-size-heading-3); }
  .bm-page .faq-section__title { margin-bottom: var(--space-5); font-size: var(--font-size-heading-3); }
}
@media (max-width: 575.98px) {
  .bm-page { padding-top: var(--space-4); }
  .bm-breadcrumbs { gap: var(--space-1) var(--space-2); font-size: var(--font-size-legal); margin-bottom: var(--space-6); }
  .bm-form__fields { grid-template-columns: 1fr; }
  .bm-facts { gap: var(--space-2); }
  .bm-fact { padding: var(--space-3); gap: var(--space-2); align-items: flex-start; flex-direction: column; }
  .bm-fact > i { font-size: 1.5rem; }
  .bm-fact strong { font-size: var(--font-size-meta); }
  .bm-fact span { font-size: var(--font-size-legal); }
  .bm-grid { grid-template-columns: 1fr 1fr; gap: var(--space-2); }
  .bm-card.card-surface { padding: var(--space-3); gap: var(--space-2); font-size: var(--font-size-meta); }
  .bm-card img { width: 40px; height: 32px; }
  .bm-card img ~ i { display: none; }
  .bm-prices__row { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-4); padding: var(--space-4); }
  .bm-prices__row > a:first-child { grid-column: 1 / -1; }
  .bm-prices__action { text-align: right; }
  .bm-service-price { flex-direction: column; gap: var(--space-3); }
  .bm-service-price span { white-space: normal; }
  .bm-final { padding: var(--space-6); }
  .bm-final h2 { font-size: var(--font-size-heading-3); }
  .bm-final__actions { flex-direction: column; }
}
@media (max-width: 359.98px) {
  .bm-facts { grid-template-columns: 1fr; }
  .bm-fact { flex-direction: row; }
}
