/* Shared procedure-page fixes: keep mobile menu, heading weight and swipe cards consistent. */
h1,
h2,
h3,
.cp-hero__title,
.section-head h2,
.cp-how__copy h2,
.cp-safety__copy h2,
.cp-price-cat,
.cp-card h3,
.cp-step h3,
.sci-card h3,
.cmp-subhead,
.cmp-post h3,
.cmp-adv__h,
.cp-cta-band h2,
.cp-firstvisit__title,
.form-success strong {
  font-family: var(--display) !important;
  font-weight: 400 !important;
  font-synthesis: none !important;
  font-stretch: normal !important;
  letter-spacing: 0 !important;
  -webkit-text-stroke: 0 !important;
}

.swipe-dots {
  display: none;
}

@media (max-width: 1180px) {
  .topbar {
    background: rgba(252, 252, 251, 0.96) !important;
  }

  .topbar .nav.container {
    width: min(calc(100% - 32px), 1180px) !important;
    min-height: 64px !important;
    padding: 8px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, auto) 48px !important;
    grid-auto-rows: auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px 12px !important;
  }

  .topbar .nav-logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    order: initial !important;
    min-width: 0 !important;
  }

  .topbar .nav-logo img {
    width: 116px !important;
    max-width: 116px !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }

  .topbar .mobile-menu-toggle {
    position: absolute !important;
    top: 10px !important;
    right: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: auto !important;
    align-self: auto !important;
    order: initial !important;
    flex: none !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 1000 !important;
    border: 1px solid rgba(16, 75, 169, 0.18) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 10px 26px rgba(11, 27, 56, 0.12) !important;
    color: var(--blue) !important;
  }

  .topbar .mobile-menu-toggle__glyph {
    display: block !important;
    font-family: Arial, sans-serif !important;
    font-size: 27px !important;
    line-height: 1 !important;
    color: var(--blue) !important;
    transform: translateY(-1px) !important;
  }

  .topbar .mobile-menu-toggle__icon {
    display: none !important;
  }

  .topbar .nav-hours,
  .topbar .nav-city {
    display: none !important;
  }

  .topbar .nav-links {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    overflow: visible !important;
    padding: 10px 0 6px !important;
    border-top: 1px solid rgba(16, 75, 169, 0.12) !important;
    font-size: 20px !important;
    line-height: 1.04 !important;
  }

  .topbar.is-mobile-menu-open .nav-links {
    display: flex !important;
  }

  .topbar .nav-links > a,
  .topbar .nav-links .nav-dd__btn {
    width: 100% !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    padding: 9px 4px 7px !important;
  }

  .topbar .nav-links .nav-dd {
    width: 100% !important;
    display: block !important;
  }

  .topbar .nav-links .nav-dd__menu {
    position: static !important;
    display: none !important;
    min-width: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    padding: 4px 0 8px 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .topbar .nav-links .nav-dd.open .nav-dd__menu,
  .topbar .nav-links .nav-dd:focus-within .nav-dd__menu {
    display: block !important;
    transform: none !important;
  }

  .topbar .nav-links .nav-dd__menu a {
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    padding: 8px 12px 6px !important;
  }

  .section-head h2,
  .cp-how__copy h2,
  .cp-safety__copy h2,
  .cp-price-cat {
    font-size: clamp(38px, 8vw, 42px) !important;
    line-height: 1.04 !important;
  }

  .cp-reasons-grid,
  .cp-steps,
  .sci-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 4px 4px 20px !important;
    margin-left: -4px !important;
    margin-right: -4px !important;
    scrollbar-width: none !important;
  }

  .cp-reasons-grid::-webkit-scrollbar,
  .cp-steps::-webkit-scrollbar,
  .sci-grid::-webkit-scrollbar {
    display: none !important;
  }

  .cp-reasons-grid > *,
  .cp-steps > *,
  .sci-grid > * {
    flex: 0 0 84% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }

  .cp-card,
  .cp-step,
  .sci-card {
    min-height: 360px;
  }

  .fc-result-card {
    min-height: 230px;
  }

  .cp-price-table tbody td:not(:first-child):not(.cp-price-book-cell) {
    display: block !important;
    padding: 8px 0 !important;
    text-align: left !important;
  }

  .cp-price-table tbody td:not(:first-child):not(.cp-price-book-cell)::before {
    display: block !important;
    margin-bottom: 5px !important;
    color: rgba(16, 75, 169, 0.62) !important;
    font-family: var(--display) !important;
    font-size: 16px !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
  }

  .cp-price-value,
  .cp-price-time,
  .cp-price-amount {
    color: var(--blue) !important;
    white-space: normal !important;
  }

  .cp-price-value .rub,
  .cp-price-time .rub,
  .cp-price-amount .rub {
    display: inline !important;
    margin-left: 2px !important;
  }

  .swipe-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin: 12px 0 0;
  }

  .swipe-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(16, 75, 169, 0.22);
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
  }

  .swipe-dot.is-active {
    width: 26px;
    background: var(--blue);
  }

  .swipe-dot:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 4px;
  }
}
