/* Реальные страницы услуг: общие дополнения к существующим компонентам. */
.service-content-page .logo { white-space: nowrap; flex-shrink: 0; }
.service-content-page .nav-link { white-space: nowrap; }
.service-content-page .service-hero .hero-bg img { filter: brightness(.72) contrast(1.04); }
.service-content-page .service-hero .hero-overlay { z-index: 1; background: linear-gradient(90deg, rgba(18,22,32,.6), rgba(18,22,32,.58) 60%, rgba(18,22,32,.12)); }
.service-content-page .service-title-tail { white-space: nowrap; }
.service-content-page .service-hero .hero-content { max-width: 800px; }
.service-content-page .service-hero .hero-text { max-width: 660px; color: var(--text-dark-secondary); }
.service-content-page .service-hero-facts { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 28px; color: var(--text-dark-secondary); font-size: .85rem; }
.service-content-page .service-hero-facts li { display: inline-flex; align-items: center; gap: 9px; }
.service-content-page .service-hero-facts li::before { content: ''; width: 5px; height: 5px; background: var(--accent-gold); flex-shrink: 0; }
.service-content-page .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.service-content-page .service-after-table { margin-top: 24px; text-align: center; color: var(--text-light-subtle); }
.service-content-page .service-block-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 28px; }
.service-content-page .service-block-actions--left { justify-content: flex-start; }
.service-content-page .service-equipment-types { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 32px; margin-bottom: 32px; color: var(--text-dark-secondary); }
.service-content-page .service-centered-copy { margin-top: 30px; text-align: center; }
.service-content-page .steps-grid--four { list-style: none; }
.service-content-page .service-copy-intro { margin-bottom: 26px; }
.service-content-page .service-case { align-items: center; }
.service-content-page .service-case-photo { position: relative; display: block; border-radius: var(--radius-card); overflow: hidden; }
.service-content-page .service-case-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.service-content-page .service-photo-hint { position: absolute; right: 12px; bottom: 12px; padding: 8px 12px; background: var(--bg-dark-card); color: var(--text-dark-theme); border-radius: var(--radius-control); font-size: .8rem; }
.service-content-page .service-case figcaption { color: var(--text-light-subtle); font-size: .8rem; margin-top: 12px; }
.service-content-page .service-photo-dialog { width: min(1100px, calc(100% - 32px)); }
.service-content-page .service-photo-dialog img { width: 100%; height: auto; max-height: calc(100dvh - 180px); object-fit: contain; }
.service-content-page .service-contact-note { margin-top: 24px; font-size: .9rem; }
.service-content-page .service-contact-schedule { margin-top: 10px; font-size: .85rem; color: var(--text-light-subtle); }
.service-content-page .footer-nav-link { overflow-wrap: anywhere; }
.service-mobile-cta { display: none; }
.service-mobile-cta[hidden] { display: none !important; }
@media (max-width: 768px) {
  .service-content-page .service-title-tail { white-space: normal; }
  .service-content-page[data-page-id="repair"] .service-hero .hero-title { font-size: clamp(1.75rem, 8vw, 2.2rem); line-height: 1.12; }
  .service-content-page .hero-cta-first { display: flex; flex-direction: column; }
  .service-content-page .hero-cta-first > nav { order: 0; }
  .service-content-page .hero-cta-first .hero-divider { order: 1; }
  .service-content-page .hero-cta-first .hero-title { order: 2; }
  .service-content-page .hero-cta-first .hero-subtitle { order: 3; }
  .service-content-page .hero-cta-first .hero-actions { order: 4; margin-top: 4px; }
  .service-content-page .hero-cta-first .hero-text { order: 5; margin-top: 24px; margin-bottom: 0; }
  .service-content-page .hero-cta-first .service-hero-facts { order: 6; }
  .service-content-page .service-hero .hero-bg img { object-position: 68% center; filter: brightness(.4); }
  .service-content-page .service-formats-table { overflow: visible; border: 0; border-radius: 0; }
  .service-content-page .service-formats-table table, .service-content-page .service-formats-table tbody { display: block; }
  .service-content-page .service-formats-table thead { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
  .service-content-page .service-formats-table tr { display: block; margin-bottom: 18px; border: 1px solid var(--border-light); border-radius: var(--radius-card); overflow: hidden; }
  .service-content-page .service-formats-table :is(th,td) { display: block; width: auto; min-width: 0; padding: 18px 22px; }
  .service-content-page .service-formats-table td::before { content: attr(data-label); display: block; color: var(--text-light-theme); font-weight: 600; margin-bottom: 6px; }
  .service-content-page .service-block-actions .btn { max-width: 100%; }
  .service-content-page .service-hero-facts { gap: 10px 20px; }
  .service-content-page[data-page-id="repair"]:has(.service-mobile-cta) { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
  .service-mobile-cta { position: fixed; z-index: 1100; inset: auto 0 0; display: block; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(17, 23, 34, .97); border-top: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 -8px 28px rgba(0, 0, 0, .2); }
  .service-mobile-cta .btn { display: flex; width: 100%; min-height: 50px; justify-content: center; padding: 12px 20px; font-size: .9rem; }
  .service-content-page:has(.nav-list.active) .service-mobile-cta,
  .service-content-page:has(.contact-form :is(input, textarea):focus) .service-mobile-cta { display: none; }
}
.service-content-page #known-model { scroll-margin-top: 110px; }
