/**
 * Responsive Stylesheet for f-pm.ru
 * STRICTLY ISOLATED TO RESPONSIVE BREAKPOINTS (<= 1024px)
 * Desktop version (> 1024px) is NOT altered.
 */

/* Desktop defaults: mobile-only elements are completely hidden */
.fpm-burger-btn,
.fpm-backdrop,
.fpm-left-drawer {
  display: none !important;
}

/* ==========================================================================
   TABLET & MOBILE SCREENS (max-width: 1024px)
   ========================================================================== */
@media (max-width: 1024px) {

  /* Global Strict Canvas & Overflow Lock to eliminate any page-level horizontal offset */
  html, body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-text-size-adjust: 100%;
  }

  /* Lock background page scroll when drawer is open */
  html.fpm-drawer-opened,
  body.fpm-drawer-opened {
    overflow: hidden !important;
    height: 100vh !important;
    height: 100dvh !important;
  }

  #content,
  .main,
  .div,
  .section {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .rectangle-184,
  .rectangle-182 {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  /* --------------------------------------------------------------------------
     1. Header (Sticky Top, Full-Width Edge-to-Edge, Logo Left, Burger Right)
     -------------------------------------------------------------------------- */
  html body #content .header,
  html body div.header,
  div.header,
  .header {
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    position: sticky !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 20px !important;
    background: #ffffff !important;
    z-index: 1000 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
  }

  html body #content .header .header-content,
  .header-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  /* Logo on Left */
  .nav-container {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .fpm-header-logo-link {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .fpm-header-logo-link img,
  .logo_top {
    max-height: 38px !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
  }

  /* Hamburger button on Right */
  .fpm-burger-btn {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 32px !important;
    height: 22px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    order: 2 !important;
    margin-left: auto !important;
    z-index: 1002 !important;
  }

  .fpm-burger-btn span {
    display: block !important;
    width: 100% !important;
    height: 3px !important;
    background-color: #00a0dd !important;
    border-radius: 3px !important;
    transition: all 0.3s ease !important;
  }

  .fpm-burger-btn.is-active span:nth-child(1) {
    transform: translateY(9.5px) rotate(45deg) !important;
  }
  .fpm-burger-btn.is-active span:nth-child(2) {
    opacity: 0 !important;
  }
  .fpm-burger-btn.is-active span:nth-child(3) {
    transform: translateY(-9.5px) rotate(-45deg) !important;
  }

  /* Hide Desktop Nav & Actions inside .header */
  .header > .header-content > .nav-container > .services-dropdown,
  .header > .header-content > .nav-container > .nav-links,
  .header > .header-content > .header-actions {
    display: none !important;
  }

  /* --------------------------------------------------------------------------
     2. Unified 2-Screen Drill-Down Mobile Left Drawer
     -------------------------------------------------------------------------- */
  .fpm-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(15, 23, 42, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 9998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    touch-action: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  .fpm-backdrop.is-open {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .fpm-left-drawer {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    transform: translateX(-100%) !important;
    width: 350px !important;
    max-width: 88vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    background: #ffffff !important;
    box-shadow: 10px 0 35px rgba(0, 0, 0, 0.2) !important;
    z-index: 9999 !important;
    overflow: hidden !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .fpm-left-drawer.is-open {
    transform: translateX(0) !important;
  }

  .fpm-drawer-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
    height: 68px !important;
    box-sizing: border-box !important;
  }

  .fpm-drawer-logo img {
    max-height: 36px !important;
    width: auto !important;
  }

  .fpm-drawer-close {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
  }

  .fpm-drawer-close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
  }

  /* Panels Slider: Strict full height with internal scroll */
  .fpm-drawer-panels-wrapper {
    flex: 1 !important;
    width: 100% !important;
    height: calc(100% - 68px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .fpm-drawer-panels {
    display: flex !important;
    width: 200% !important;
    height: 100% !important;
    min-height: 0 !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .fpm-left-drawer.show-services .fpm-drawer-panels {
    transform: translateX(-50%) !important;
  }

  .fpm-panel {
    width: 50% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  /* Dedicated Touch Scrolling container with overscroll containment */
  .fpm-panel-scroll {
    flex: 1 !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  /* Clean Flat Nav Rows (Screen 1) */
  .fpm-clean-nav {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .fpm-nav-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    text-align: left !important;
    font-family: inherit !important;
  }

  .fpm-nav-row:hover,
  .fpm-nav-row:active {
    background: #f8fafc !important;
    color: #00a0dd !important;
  }

  .fpm-row-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .fpm-row-icon-box {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    background: #e0f2fe !important;
    border-radius: 8px !important;
  }

  .fpm-row-icon {
    width: 16px !important;
    height: 16px !important;
  }

  .fpm-row-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
  }

  .fpm-row-right {
    display: flex !important;
    align-items: center !important;
    color: #00a0dd !important;
  }

  .fpm-chevron-right {
    color: #00a0dd !important;
  }

  /* Screen 2 Subpanel with Clean Borderless Back Button */
  .fpm-subpanel-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 20px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    flex-shrink: 0 !important;
  }

  .fpm-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: transparent !important;
    border: none !important;
    padding: 4px 6px 4px 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #00a0dd !important;
    cursor: pointer !important;
    box-shadow: none !important;
    border-radius: 6px !important;
    transition: all 0.2s !important;
  }

  .fpm-back-btn:hover {
    color: #0284c7 !important;
  }

  .fpm-subpanel-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
  }

  .fpm-services-list-container {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .fpm-services-list-container .services-dropdown {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    height: auto !important;
    margin: 0 !important;
  }

  .fpm-services-list-container .services-dropdown > .flex,
  .fpm-services-list-container .services-dropdown > .dropdown-icon {
    display: none !important;
  }

  .fpm-services-list-container .dropdown-content {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .fpm-services-list-container .dropdown-item {
    padding: 14px 20px !important;
    display: flex !important;
    align-items: center !important;
    color: #334155 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-radius: 0 !important;
    transition: all 0.2s ease !important;
  }

  .fpm-services-list-container .dropdown-item:hover {
    background: #f0f9ff !important;
    color: #00a0dd !important;
  }

  .fpm-services-list-container .service-text {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-weight: 500 !important;
  }

  .fpm-services-list-container .checkbox-icon1 {
    width: 18px !important;
    height: 18px !important;
  }

  /* Bottom Contacts & CTA inside Drawer */
  .fpm-drawer-bottom-card {
    margin-top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 20px 20px 28px !important;
    box-sizing: border-box !important;
  }

  .fpm-contacts-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .fpm-contact-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .fpm-contact-item:hover {
    background: #f1f5f9 !important;
  }

  .fpm-max-item {
    justify-content: center !important;
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1d4ed8 !important;
  }

  .fpm-max-item img {
    width: 20px !important;
    height: 20px !important;
  }

  /* ORDER BUTTON: Strictly 100% Full Width (High Specificity) */
  html body .fpm-left-drawer .order-button,
  html body .fpm-left-drawer button.order-button,
  html body .fpm-left-drawer .fpm-cta-btn-full,
  button.fpm-cta-btn-full,
  .fpm-cta-btn-full {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 16px !important;
    background: #22c55e !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    text-align: center !important;
    transition: background 0.2s ease !important;
    box-shadow: 0 4px 14px rgba(34, 197, 94, 0.25) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  .fpm-cta-btn-full:hover {
    background: #16a34a !important;
  }

  /* Modal popup z-index */
  .modal-overlay2 {
    z-index: 100000 !important;
  }

  /* --------------------------------------------------------------------------
     3. Footer Overhaul (Correct Margins, Symmetrical 20px Padding, No 100px gap)
     -------------------------------------------------------------------------- */
  .services-divider,
  .services-divider1 {
    margin: 24px auto !important;
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    border-top: 1px solid #e2e8f0 !important;
    display: block !important;
  }

  html body #content .services-container,
  html body div.services-container,
  div.services-container,
  .services-container {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 0 20px !important;
    box-sizing: border-box !important;
  }

  html body #content .services-title,
  .services-title {
    font-size: 24px !important;
    text-align: left !important;
    margin: 0 0 24px 20px !important;
    padding: 0 !important;
    font-weight: 700 !important;
  }

  html body #content .services-grid,
  .services-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 20px !important;
    width: calc(100% - 40px) !important;
    box-sizing: border-box !important;
    margin: 0 20px 24px 20px !important;
    padding: 0 !important;
  }

  @media (max-width: 640px) {
    html body #content .services-grid,
    .services-grid {
      grid-template-columns: 1fr !important;
      gap: 12px !important;
      margin: 0 20px 24px 20px !important;
    }
  }

  .service-item {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: #1e293b !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
  }

  .service-item:hover {
    color: #00a0dd !important;
  }

  .service-text {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  /* Contact Section: Clean padding, no 145px gap */
  html body #content .contact-section,
  html body div.contact-section,
  div.contact-section,
  .contact-section {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 20px 30px !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  html body #content .contact-container,
  html body div.contact-container,
  div.contact-container,
  .contact-container {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    align-items: stretch !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Full Width Interactive Map */
  #mapContainer,
  #mapContainer > div,
  .map-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    height: 340px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
    position: relative !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #mapContainer iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 340px !important;
    border: none !important;
    display: block !important;
  }

  /* Centered Footer Disclaimer & Links */
  html body #content .footer-disclaimer,
  .footer-disclaimer {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 30px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 14px !important;
    box-sizing: border-box !important;
  }

  .footer-disclaimer .footer-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    left: 0 !important;
    top: 0 !important;
  }

  .footer-disclaimer .disclaimer-text {
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  .footer-disclaimer .disclaimer-text p,
  .footer-disclaimer .disclaimer-text span {
    text-align: center !important;
    margin: 0 auto !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #64748b !important;
  }

  .footer-disclaimer .footer_menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 4px !important;
  }

  .footer-disclaimer .footer_menu a.service-text {
    text-align: center !important;
    justify-content: center !important;
    display: inline-block !important;
    color: #0f172a !important;
    font-size: 14px !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }

  .footer-disclaimer .footer_menu a.service-text:hover {
    color: #00a0dd !important;
  }
}


/* Mobile footer alignment */
@media (max-width: 767px) {
  .fpm-services-list-container .dropdown-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  .fpm-services-list-container .dropdown-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .additional-phones {
    margin: 0 !important;
    min-height: 0 !important;
  }
  .additional-phones:has(.phone-mobile a[href="tel:"]):has(.phone-additional:empty),
  .additional-phones:has(.phone-mobile:empty):has(.phone-additional:empty) {
    display: none !important;
  }
}


/* Footer layout refinement: tablet and mobile */
@media (max-width: 1024px) {
  html body #content .services-title, .services-title {
    margin-left: 30px !important;
  }
  html body #content .services-grid, .services-grid {
    width: calc(100% - 60px) !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .fpm-services-list-container .dropdown-content {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .fpm-services-list-container .dropdown-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #mapContainer iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #content .map-column, .map-column {
    gap: 0 !important;
    padding: 0 !important;
  }
  html body #content .map-container, .map-container {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }
  html body #content .map-wrapper, .map-wrapper, #mapContainer {
    width: 100% !important;
    height: 360px !important;
    min-height: 360px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  #mapContainer iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .additional-phones {
    margin: 0 !important;
    min-height: 0 !important;
  }
  .additional-phones:has(.phone-mobile a[href^=tel]):has(.phone-additional:empty),
  .additional-phones:has(.phone-mobile:empty):has(.phone-additional:empty) {
    display: none !important;
  }
}
@media (max-width: 767px) {
  html body #content .map-wrapper, .map-wrapper, #mapContainer {
    height: 320px !important;
    min-height: 320px !important;
    border-radius: 14px !important;
  }
}


/* Preserve desktop footer spacing */
@media (min-width: 1025px) {
  html body #content .email-address, .email-address {
    margin-top: initial !important;
    margin-bottom: initial !important;
  }
  html body #content .physical-address, .physical-address {
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    width: 460px !important;
    max-width: none !important;
  }
}


/* Mobile drawer contact card redesign */
@media (max-width: 1024px) {
  html body .fpm-left-drawer .fpm-contacts-list,
  .fpm-left-drawer .fpm-contacts-list {
    gap: 8px !important;
    width: 100% !important;
  }
  html body .fpm-left-drawer .fpm-max-item img,
  .fpm-left-drawer .fpm-max-item img {
    width: 20px !important;
    height: 20px !important;
  }
  .fpm-left-drawer .fpm-drawer-bottom-card {
    padding: 14px 16px 18px !important;
    gap: 10px !important;
    background: #f8fbff !important;
    border-top: 1px solid #dbeafe !important;
    box-sizing: border-box !important;
  }
  .fpm-left-drawer .fpm-contact-item {
    min-height: 44px !important;
    padding: 10px 12px !important;
    gap: 10px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }
  .fpm-left-drawer .fpm-contact-item svg { flex: 0 0 20px !important; }
  .fpm-left-drawer .fpm-max-item {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #0284c7 !important;
  }
  .fpm-left-drawer .fpm-cta-btn-full {
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 14px rgba(34, 197, 94, 0.22) !important;
  }
}
@media (max-width: 767px) {
  .fpm-left-drawer .fpm-drawer-bottom-card {
    padding: 12px 14px 16px !important;
    gap: 8px !important;
  }
  .fpm-left-drawer .fpm-contact-item {
    min-height: 42px !important;
    padding: 9px 11px !important;
  }
}


/* Fixed mobile/tablet header */
@media (max-width: 1024px) {
  html body #content .header, html body div.header, div.header, .header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 68px !important;
    z-index: 10000 !important;
  }
  html body #content, #content {
    padding-top: 68px !important;
    box-sizing: border-box !important;
  }
  .fpm-left-drawer .fpm-drawer-bottom-card {
    padding: 14px 16px 18px !important;
    gap: 10px !important;
    background: #f8fbff !important;
    border-top: 1px solid #dbeafe !important;
  }
  .fpm-left-drawer .fpm-contacts-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .fpm-left-drawer .fpm-contact-item span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .fpm-left-drawer .fpm-max-item {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    min-height: 44px !important;
  }
  .fpm-left-drawer .fpm-cta-btn-full {
    grid-column: 1 / -1 !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border-radius: 12px !important;
  }
}
@media (max-width: 767px) {
  .fpm-left-drawer .fpm-drawer-bottom-card {
    padding: 12px 14px 16px !important;
    gap: 8px !important;
  }
  .fpm-left-drawer .fpm-contact-item {
    min-height: 44px !important;
    padding: 9px 10px !important;
  }
}

@media (max-width: 1024px) {
  .fpm-left-drawer .fpm-contact-item {
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 10px 11px !important;
    gap: 8px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 767px) { .fpm-left-drawer .fpm-contact-item { min-height: 44px !important; padding: 9px 10px !important; } }


/* Radical mobile drawer contact panel */
@media (max-width: 1024px) {
  .fpm-left-drawer .fpm-contacts-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}
@media (max-width: 767px) {
  .fpm-left-drawer .fpm-drawer-bottom-card {
    padding: 16px 14px 18px !important;
  }
  .fpm-left-drawer .fpm-contact-item {
    min-height: 46px !important;
    padding: 9px 10px !important;
  }
}
@media (max-width: 1024px) {
  .fpm-left-drawer .fpm-drawer-bottom-card { background: linear-gradient(145deg,#0f172a,#123b56) !important; border: 0 !important; border-radius: 20px 20px 0 0 !important; padding: 18px 16px 20px !important; gap: 10px !important; }
  .fpm-left-drawer .fpm-contact-item { min-height: 48px !important; padding: 10px 11px !important; border: 1px solid rgba(186,230,253,.35) !important; border-radius: 14px !important; background: rgba(255,255,255,.1) !important; color: #fff !important; box-shadow: none !important; }
  .fpm-left-drawer .fpm-cta-btn-full { grid-column: 1 / -1 !important; min-height: 50px !important; height: 50px !important; margin: 0 !important; border-radius: 14px !important; font-size: 15px !important; box-shadow: 0 8px 18px rgba(34,197,94,.32) !important; }
}


/* Flat contact rows in mobile drawer */
@media (max-width: 1024px) {
  .fpm-left-drawer .fpm-contacts-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .fpm-left-drawer .fpm-contact-item svg {
    flex: 0 0 20px !important;
    stroke: #7dd3fc !important;
  }
  .fpm-left-drawer .fpm-cta-btn-full {
    grid-column: 1 !important;
    margin-top: 4px !important;
  }
}
  .fpm-left-drawer .fpm-max-item {
    grid-column: 1 !important;
    justify-content: center !important;
    margin-top: 4px !important;
    padding: 10px 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: rgba(224,242,254,.14) !important;
  }


/* Light contact panel refresh */
@media (max-width: 1024px) {
  html body .fpm-left-drawer .fpm-cta-btn-full {
    min-height: 48px !important;
    height: 48px !important;
    margin-top: 6px !important;
    border: 0 !important;
    border-radius: 13px !important;
  }
}
@media (max-width: 767px) {
  html body .fpm-left-drawer .fpm-drawer-bottom-card {
    padding: 16px 20px 18px !important;
    border-radius: 22px 22px 0 0 !important;
  }
}

@media (max-width: 1024px) {
  .fpm-left-drawer .fpm-drawer-bottom-card { background: linear-gradient(180deg,#fff,#f3f9fd) !important; border: 0 !important; border-radius: 24px 24px 0 0 !important; padding: 18px 16px 20px !important; }
  html body .fpm-left-drawer .fpm-contact-item svg { flex: 0 0 34px !important; width: 34px !important; height: 34px !important; padding: 7px !important; box-sizing: border-box !important; border-radius: 50% !important; background: #e0f2fe !important; stroke: #0284c7 !important; }
  html body .fpm-left-drawer a.fpm-contact-item { display: flex !important; width: 100% !important; min-height: 46px !important; padding: 6px 0 !important; border: 0 !important; border-width: 0 !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important; color: #0f172a !important; }
  html body .fpm-left-drawer .fpm-max-item { grid-column: 1 / -1 !important; justify-content: center !important; min-height: 44px !important; margin-top: 6px !important; padding: 10px 14px !important; border: 0 !important;
    border-radius: 12px !important; background: #e0f2fe !important; color: #0369a1 !important; }
}


/* Match drawer contact area to navigation styling */
@media (max-width: 1024px) {
  html body .fpm-left-drawer .fpm-contacts-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
  }
  html body .fpm-left-drawer .fpm-cta-btn-full {
    width: calc(100% - 40px) !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 12px 20px 0 !important;
    border-radius: 10px !important;
  }
}

@media (max-width: 1024px) {
  .fpm-left-drawer .fpm-drawer-bottom-card { padding: 0 20px 16px !important; gap: 0 !important; background: #fff !important; border: 0 !important; border-radius: 0 !important; }
  html body .fpm-left-drawer a.fpm-contact-item { min-height: 50px !important; padding: 8px 20px !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: inset 0 -1px 0 #f1f5f9 !important; color: #0f172a !important; }
  html body .fpm-left-drawer a.fpm-contact-item svg { flex: 0 0 30px !important; width: 30px !important; height: 30px !important; padding: 6px !important; border-radius: 50% !important; background: #e0f2fe !important; stroke: #0284c7 !important; }
  html body .fpm-left-drawer a.fpm-max-item { grid-column: 1 !important; justify-content: flex-start !important; min-height: 50px !important; margin: 0 !important; padding: 8px 20px !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; color: #0284c7 !important; }
}

/* Homepage mobile/tablet */
@media(max-width:1024px){#content .hero-container{width:100%;padding:84px 20px 48px;box-sizing:border-box}#content .content-wrapper{width:100%;max-width:760px}#content .heading-1-fpm{text-align:center;width:100%}#content .heading-1-fpm img{max-width:68vw;height:auto}#content .heading-1-fpm h1{font-size:clamp(40px,8vw,68px)!important;line-height:1.05}#content .div2{width:100%;max-width:620px;margin:24px auto 0;text-align:center;font-size:clamp(18px,3vw,24px);line-height:1.35}#content .slider-container{width:100%;padding:0 8px;box-sizing:border-box}#content .service-cards_main{gap:14px;margin:0;touch-action:pan-y}#content .service-card{min-width:clamp(190px,32vw,260px);box-sizing:border-box}#content .service-title{font-size:clamp(15px,2vw,18px);line-height:1.25}#content .achievements-container{width:100%;padding:0 20px;box-sizing:border-box}#content .achievements-grid{width:100%;gap:16px}#content .achievement-card{min-height:0;height:auto;padding:22px 20px;box-sizing:border-box}#content .achievement-icon{width:72px;height:72px;object-fit:contain}#content .achievement-text{font-size:clamp(16px,2.2vw,20px);line-height:1.3}}
@media(max-width:639px){#content .hero-container{padding:76px 16px 36px}#content .heading-1-fpm h1{font-size:clamp(34px,10vw,48px)!important}#content .heading-1-fpm img{max-width:58vw}#content .div2{margin-top:18px;font-size:18px}#content .slider-container{padding:0}#content .service-card{min-width:calc(100vw - 56px);max-width:calc(100vw - 56px)}#content .achievements-container{padding:0 16px}#content .achievements-grid{grid-template-columns:1fr!important;gap:14px}#content .achievement-card{padding:20px 18px}#content .achievement-icon{width:64px;height:64px}}
@media(min-width:640px) and (max-width:1024px){#content .achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}

/* Homepage mobile fixes: Bitrix admin panel, slider and compact teasers */
@media (max-width:1024px){
  html body #content .hero-container{padding-top:36px;padding-bottom:24px;min-height:0}
  html body #content .slider-container{display:block!important;overflow:hidden!important;visibility:visible!important}
  html body #content .service-cards_main{display:flex!important;visibility:visible!important;overflow:visible!important}
}
@media (max-width:639px){
  html body #content .hero-container{padding:28px 16px 20px}
  html body #content .heading-1-fpm{margin:0!important}
  html body #content .div2{margin-top:12px!important;margin-bottom:12px!important}
  html body #content .slider-container{margin-top:8px!important}
  html body #content .achievements-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  html body #content .achievement-card{display:flex;align-items:center;gap:16px;padding:16px 18px!important;min-height:0!important;border-radius:18px}
  html body #content .achievement-icon{flex:0 0 58px;width:58px!important;height:58px!important;margin:0!important}
  html body #content .achievement-text{margin:0!important;text-align:left;line-height:1.25;font-size:16px}
}
@media (max-width:1024px){
  html body:has(#bx-panel) #content{padding-top:108px!important}
  html body:has(#bx-panel) #content .header{top:40px!important}
}

/* Mobile slider visibility, banner spacing and horizontal teasers */
@media (max-width:1024px){
  html body #content .hero-container{padding-top:46px!important}
  html body #content .div2{margin-left:auto!important;margin-right:auto!important;padding-left:18px!important;padding-right:18px!important;max-width:680px!important;box-sizing:border-box}
  html body #content .slider-container{display:block!important;opacity:1!important;height:auto!important;min-height:120px}
  html body #content .service-cards_main{display:flex!important;visibility:visible!important;opacity:1!important;transform:translateX(0);}
}
@media (max-width:639px){
  html body #content .hero-container{padding-top:34px!important;padding-bottom:18px!important}
  html body #content .heading-1-fpm{margin-top:0!important}
  html body #content .div2{padding-left:20px!important;padding-right:20px!important}
  html body #content .service-cards_main{min-height:126px;align-items:stretch}
  html body #content .service-card{min-width:calc(100vw - 64px)!important;max-width:calc(100vw - 64px)!important}
  html body #content .achievement-card{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;gap:16px!important;padding:16px 18px!important}
  html body #content .achievement-icon{flex:0 0 58px!important;margin:0!important}
  html body #content .achievement-text{flex:1 1 auto!important;margin:0!important;text-align:left!important}
}

/* Final mobile cleanup: neutralize legacy .390 rules and keep carousel interactive */
@media (max-width:1024px){
  html body #content .390{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;margin-top:24px!important;padding-left:20px!important;padding-right:20px!important;box-sizing:border-box!important}
  html body #content .hero-container{padding-top:58px!important}
  html body #content .service-cards_main{transform:none;will-change:transform;cursor:grab;touch-action:pan-y}
  html body #content .service-card{flex:0 0 auto!important}
}
@media (max-width:639px){
  html body #content .heading-1-fpm{padding-top:18px!important}
  html body #content .390{margin-top:18px!important;padding-left:20px!important;padding-right:20px!important}
  html body #content .achievement-card{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important}
  html body #content .achievement-text{margin:0!important;text-align:left!important}
}

/* Mobile slider sizing and controls */
@media (min-width:640px) and (max-width:1024px){
  html body #content .hero-container{padding-top:12px!important}
}
@media (max-width:639px){
  html body #content .hero-container{padding-top:48px!important}
  html body #content .390{width:100%!important;max-width:100%!important;padding-left:24px!important;padding-right:24px!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
  html body #content .service-cards_main{gap:10px!important}
  html body #content .service-card{min-width:196px!important;max-width:196px!important;height:142px!important;padding:12px 13px!important}
  html body #content .service-icon{width:34px!important;height:34px!important;margin-bottom:10px!important}
  html body #content .service-title{font-size:14px!important;line-height:1.2!important}
  html body #content .prev-button_service,html body #content .next-button_service{display:flex!important;position:absolute!important;z-index:20!important;top:50%!important;transform:translateY(-50%)!important;width:36px!important;height:36px!important;border-radius:50%!important;align-items:center!important;justify-content:center!important;background:#fff!important;box-shadow:0 2px 8px rgba(0,0,0,.18)!important;border:1px solid #d9e2ed!important;padding:0!important}
  html body #content .prev-button_service{left:4px!important}
  html body #content .next-button_service{right:4px!important}
  html body #content .prev-button_service img,html body #content .next-button_service img{width:16px!important;height:16px!important}
}

/* Mobile frame cleanup and precise carousel alignment */
@media (max-width:1024px){
  html body #content .frame-12,html body #content .frame-13,html body #content .390{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;margin-top:24px!important;margin-bottom:24px!important;padding-left:20px!important;padding-right:20px!important;box-sizing:border-box!important}
}
@media (max-width:639px){
  html body #content .frame-12,html body #content .frame-13,html body #content .390{margin-top:16px!important;margin-bottom:16px!important;padding-left:24px!important;padding-right:24px!important}
  html body #content .heading-1-fpm{padding-top:26px!important}
  html body #content .service-cards_main{gap:10px!important;margin-left:0!important;margin-right:0!important}
  html body #content .service-card{min-width:196px!important;max-width:196px!important}
}

/* Root mobile frame normalization */
@media (max-width:1024px){
  html body #content .frame-12,html body #content .frame-13,html body #content .390{width:100%!important;max-width:100%!important;margin:24px 0!important;padding:0 20px!important;box-sizing:border-box!important;overflow:visible!important}
}
@media (max-width:639px){
  html body #content .frame-12,html body #content .frame-13,html body #content .390{margin:16px 0!important;padding:0 24px!important}
}

/* Reduce blank space above homepage headline */
@media (max-width:1024px){
  html body #content .hero-container{padding-top:18px!important;margin-top:0!important}
}
@media (max-width:639px){
  html body #content .hero-container{padding-top:12px!important}
}

/* Unified mobile/tablet breakpoints */
@media (min-width:768px) and (max-width:1024px){
  html body #content .hero-container{padding-top:0!important;padding-bottom:24px!important}
  html body #content .frame-12,html body #content .frame-13,html body #content .390{margin-top:0!important;margin-bottom:24px!important;padding-left:24px!important;padding-right:24px!important}
  html body #content .service-cards_main{gap:20px!important;flex-wrap:nowrap!important}
  html body #content .service-card{flex:0 0 calc((100% - 60px)/4)!important;min-width:0!important;max-width:none!important}
}
@media (max-width:767px){
  html body #content .hero-container{padding-top:0!important;padding-bottom:16px!important}
  html body #content .frame-12,html body #content .frame-13,html body #content .390{margin-top:0!important;margin-bottom:16px!important;padding-left:24px!important;padding-right:24px!important}
  html body #content .service-card{flex:0 0 196px!important;min-width:196px!important;max-width:196px!important}
}

/* Verified mobile/tablet spacing and carousel edge alignment */
@media (min-width:768px) and (max-width:1024px){
  html body #content .hero-container{padding-top:0!important;margin-top:0!important}
  html body #content .frame-13,html body #content .frame-12{margin-top:0!important;padding-top:0!important}
  html body #content .service-cards_main{padding-left:0!important;margin-left:0!important}
}
@media (max-width:767px){
  html body #content .hero-container{padding-top:0!important;margin-top:0!important}
  html body #content .frame-13,html body #content .frame-12{margin-top:0!important;padding-top:0!important}
  html body #content .frame-13>.390,html body #content .frame-12>.390,html body #content .390{width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;text-align:left!important;box-sizing:border-box!important}
  html body #content .service-cards_main{padding-left:0!important;margin-left:0!important;overflow:visible!important}
}

/* Carousel edge controls and description separation */
@media (max-width:1024px){
  html body #content .hero-container{padding-top:0!important}
  html body #content .slider-container{padding-bottom:58px!important;margin-bottom:18px!important;overflow:visible!important}
  html body #content .service-cards_main{margin-left:-96px!important;padding-left:0!important}
  html body #content .frame-13,html body #content .frame-12,html body #content .390{position:relative!important;z-index:2!important;clear:both!important;margin-top:24px!important}
  html body #content .prev-button_service,html body #content .next-button_service{top:auto!important;bottom:10px!important;transform:none!important}
}
@media (max-width:767px){
  html body #content .frame-13,html body #content .frame-12,html body #content .390{margin-top:20px!important;padding-left:24px!important;padding-right:24px!important}
  html body #content .slider-container{margin-bottom:10px!important}
  html body #content .service-cards_main{margin-left:-96px!important}
}

/* Keep description below service carousel */
@media (max-width:1024px){
  html body #content .frame-13,html body #content .frame-12{display:block!important;position:relative!important;z-index:2!important;margin-top:88px!important;clear:both!important}
}
@media (max-width:767px){
  html body #content .frame-13,html body #content .frame-12{margin-top:76px!important}
}

/* Force desktop-style carousel arrows below cards */
@media (max-width:1024px){
  html body #content .slider-container{padding-bottom:88px!important;position:relative!important}
  html body #content .prev-button_service,html body #content .next-button_service{display:flex!important;visibility:visible!important;opacity:1!important;top:auto!important;bottom:16px!important;transform:none!important;z-index:100!important;width:38px!important;height:38px!important}
  html body #content .prev-button_service{left:calc(50% - 48px)!important;right:auto!important}
  html body #content .next-button_service{right:calc(50% - 48px)!important;left:auto!important}
}
@media (max-width:767px){html body #content .slider-container{padding-bottom:82px!important}}

/* Align first visible service card to the viewport edge */
@media (max-width:1024px){html body #content .service-cards_main{margin-left:-145px!important}}
@media (max-width:767px){html body #content .service-cards_main{margin-left:-145px!important}}

/* Mobile drawer contact alignment and compact CTA */
@media (max-width:1024px){
  html body #content .contact-info-wrapper{padding-left:20px!important;padding-right:20px!important;box-sizing:border-box!important}
  html body #content .contact-info-wrapper .contact-info-block{padding-left:0!important;padding-right:0!important;gap:10px!important}
  html body #content .contact-info-wrapper a[href^="tel:"],html body #content .contact-info-wrapper a[href^="mailto:"]{display:flex!important;align-items:center!important;gap:12px!important;padding-left:0!important;margin-left:0!important;min-height:42px!important}
  html body #content .contact-info-wrapper a[href^="tel:"]::before,html body #content .contact-info-wrapper a[href^="mailto:"]::before{content:"";display:inline-block;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e8f5fc center/16px 16px no-repeat}
  html body #content .contact-info-wrapper a[href^="tel:"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a1df' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.8 2.1z'/%3E%3C/svg%3E")}
  html body #content .contact-info-wrapper a[href^="mailto:"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a1df' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
  html body #content .contact-info-wrapper .call-button,html body #content .contact-info-wrapper button{max-width:calc(100% - 20px)!important;min-height:46px!important;height:46px!important;margin-left:0!important;margin-right:0!important;border-radius:12px!important;font-size:14px!important}
}

/* Final mobile menu contact visual alignment */
@media (max-width:1024px){
  html body #content .contact-info-wrapper{padding-left:20px!important;padding-right:20px!important}
  html body #content .contact-info-wrapper .contact-info-block{margin-left:-14px!important;width:calc(100% + 14px)!important}
  html body #content .contact-info-wrapper a[href^="tel:"]::before,html body #content .contact-info-wrapper a[href^="mailto:"]::before{background-color:transparent!important;border-radius:0!important;width:24px!important;height:24px!important;flex-basis:24px!important;background-size:20px 20px!important}
  html body #content .contact-info-wrapper .call-button,html body #content .contact-info-wrapper>button{width:280px!important;max-width:calc(100% - 20px)!important;margin-left:0!important;margin-right:auto!important;min-height:44px!important;height:44px!important;border-radius:10px!important;font-size:13px!important}
  html body #content .slider-container{position:relative!important;padding-bottom:88px!important}
  html body #content .prev-button_service,html body #content .next-button_service{top:auto!important;bottom:18px!important;transform:none!important}
}

/* Real mobile drawer selectors discovered in DOM */
@media (max-width:1024px){
  html body #content .fpm-cta-btn-full{width:280px!important;max-width:calc(100% - 40px)!important;height:44px!important;min-height:44px!important;margin-left:20px!important;margin-right:0!important;border-radius:10px!important;font-size:13px!important}
  html body #content ._7-8634-36-38-15-order-f-pm-ru-span,html body #content ._7-8634-36-38-15-order-f-pm-ru-span2{display:flex!important;align-items:center!important;gap:12px!important;padding-left:20px!important;margin-left:0!important;min-height:42px!important}
  html body #content ._7-8634-36-38-15-order-f-pm-ru-span:before,html body #content ._7-8634-36-38-15-order-f-pm-ru-span2:before{content:"";display:inline-block;flex:0 0 24px;width:24px;height:24px;background-position:center;background-repeat:no-repeat;background-size:20px 20px}
  html body #content ._7-8634-36-38-15-order-f-pm-ru-span:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a1df' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.8 2.1z'/%3E%3C/svg%3E")}
  html body #content ._7-8634-36-38-15-order-f-pm-ru-span2:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a1df' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
}

/* Correct actual drawer dimensions and navigation alignment */
@media (max-width:1024px){
  html body #content .fpm-cta-btn-full{box-sizing:border-box!important;width:280px!important;max-width:calc(100% - 40px)!important;margin-left:20px!important;padding-left:12px!important;padding-right:12px!important}
  html body #content ._7-8634-36-38-15-order-f-pm-ru-span,html body #content ._7-8634-36-38-15-order-f-pm-ru-span2{padding-left:5px!important;margin-left:0!important}
}

/* Correct selector names: drawer is outside #content; description class is _390 */
@media (max-width:1024px){
  html body .fpm-cta-btn-full{box-sizing:border-box!important;width:280px!important;max-width:calc(100% - 40px)!important;height:44px!important;min-height:44px!important;margin-left:20px!important;margin-right:0!important;padding:0 12px!important;border-radius:10px!important;font-size:13px!important}
  html body ._7-8634-36-38-15-order-f-pm-ru-span,html body ._7-8634-36-38-15-order-f-pm-ru-span2{display:flex!important;align-items:center!important;gap:12px!important;padding-left:5px!important;margin-left:0!important;min-height:42px!important;box-sizing:border-box!important}
  html body ._7-8634-36-38-15-order-f-pm-ru-span:before,html body ._7-8634-36-38-15-order-f-pm-ru-span2:before{content:"";display:inline-block;flex:0 0 24px;width:24px;height:24px;background-position:center;background-repeat:no-repeat;background-size:20px 20px}
  html body ._390{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box!important;text-align:left!important}
}
@media (max-width:767px){html body .fpm-cta-btn-full{width:280px!important;max-width:calc(100% - 40px)!important;margin-left:20px!important}html body ._390{padding-left:24px!important;padding-right:24px!important}}


/* ============================================================================
   ADAPTIVE v2 — Inter web, 2026-09-03
   Адаптив внутренних страниц, планшета и телефона.

   Брейкпоинты:
     <= 1024px   планшет и всё, что уже
     768..1024px только планшет
     <= 767px    телефон
   responsive.css подключается последним, поэтому !important стоит только там,
   где он уже стоит в исходном правиле и иначе его не перебить.
   ============================================================================ */

/* --- A. Общее ------------------------------------------------------------ */
@media (max-width: 1024px) {
  html body #content img,
  html body #content svg:not(.fpm-icon) {
    max-width: 100%;
  }
}

/* --- B. Блок контактов в футере (есть на всех страницах) ------------------ */
@media (max-width: 1024px) {
  html body #content .contact-container,
  .contact-container {
    flex-direction: column;
    gap: 0 !important;
    row-gap: 0 !important;
  }
  .contact-info2,
  .map-column {
    width: 100%;
    margin-left: 0;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  html body #content .contact-info-wrapper,
  .contact-info-wrapper {
    width: 100%;
    margin-top: 36px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* 1. Плашка выбора города/офиса */
  .navigation-dropdown {
    width: 100% !important;
    margin: 0 0 22px 0 !important;
  }
  html body #content .contact-info-wrapper .office-button,
  .contact-section .office-button,
  .office-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    border-radius: 14px !important;
    background-color: #00a0dd !important;
    padding: 12px 20px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border: 0 !important;
    cursor: pointer !important;
    text-align: center !important;
  }
  html body #content .contact-info-wrapper .office-name,
  .office-button .office-name,
  .office-name {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.3px !important;
    font-family: 'TildaSans', -apple-system, BlinkMacSystemFont, Roboto, sans-serif !important;
  }

  /* 2. Контактная колонка */
  html body #content .contact-info-wrapper .contact-details2,
  .contact-details2 {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 18px !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
  }
  html body #content .contact-info-wrapper .contact-info-block,
  .contact-info-block {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #content .contact-info-wrapper .phone-main,
  .phone-main {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.15 !important;
  }
  html body #content .contact-info-wrapper .phone-main > a,
  .phone-main > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 42px !important;
    height: 42px !important;
  }
  html body #content .contact-info-wrapper .phone-main > a img,
  .phone-main > a img {
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    object-fit: contain !important;
    display: block !important;
  }
  html body #content .contact-info-wrapper .phone-number1,
  .phone-number1 {
    font-size: clamp(24px, 7vw, 32px) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    flex-shrink: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .phone-number1 a,
  .phone-number-color {
    font-size: inherit !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    color: #000000 !important;
  }

  /* 3. Адресный блок */
  html body #content .contact-info-wrapper .address-block,
  .address-block {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #content .contact-info-wrapper .email-address,
  .email-address {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #content .contact-info-wrapper .email-address a,
  .email-address a {
    font-size: 18px !important;
    color: #000000 !important;
    text-decoration: none !important;
  }
  html body #content .contact-info-wrapper .physical-address,
  .physical-address {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #1f2937 !important;
  }
  .map-column2,
  .map-container,
  .map-wrapper {
    width: 100%;
    max-width: 100%;
  }

  /* 4. Кнопка «Позвоните нам!» в футере */
  html body #content .contact-info-wrapper .call-button,
  html body #content .contact-info-wrapper > .call-button,
  html body #content .call-button,
  .call-button {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 56px !important;
    padding: 12px 24px !important;
    border-radius: 14px !important;
    background-color: #00a0dd !important;
    gap: 12px !important;
    box-sizing: border-box !important;
    margin: 0 0 36px 0 !important;
    cursor: pointer !important;
    border: 0 !important;
    text-align: center !important;
  }
  html body #content .contact-info-wrapper .call-button .call-icon-wrapper,
  html body #content .call-button .call-icon-wrapper,
  .call-button .call-icon-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #content .contact-info-wrapper .call-button img,
  html body #content .call-button img,
  .call-button img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #content .contact-info-wrapper .call-button .call-text,
  html body #content .call-button .call-text,
  .call-button .call-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 2px 0 0 0 !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-family: TildaSans, -apple-system, BlinkMacSystemFont, Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    text-align: center !important;
  }
}

/* --- C. /services/ — сетка карточек услуг --------------------------------- */
@media (max-width: 1024px) {
  .grid-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: auto;
    max-width: 100%;
    margin-left: 20px;
    margin-right: 20px;
    grid-gap: 16px;
  }
  .service-card2 {
    width: auto;
    min-width: 0;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 22px 18px !important;
    box-sizing: border-box !important;
    height: 350px !important;
  }
  html body #content .service-card2 .service-icon,
  .service-card2 .service-icon {
    width: 84px !important;
    height: 84px !important;
    margin: 0 auto 14px auto !important;
    display: block !important;
    object-fit: contain !important;
  }
  .service-title1 {
    margin: 0 0 12px 0 !important;
    text-align: center !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #fff !important;
  }
  .service-description {
    max-width: 100%;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 14.5px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    color: rgba(255, 255, 255, 0.95) !important;
  }
}
@media (max-width: 767px) {
  .grid-container {
    grid-template-columns: minmax(0, 1fr);
    margin-left: 16px;
    margin-right: 16px;
    grid-gap: 14px;
  }
  .service-card2 {
    padding: 24px 20px !important;
  }
}

/* --- D. /services/<услуга>/ — детальная ----------------------------------- */

/* Фон героя — фото 2000x667 весом 986 КБ. Пока оно грузится (на телефоне это
   секунды), белый H1 висит на белом фоне и не читается. Подложка подобрана
   под средний цвет фото с затемнением, чтобы текст читался всегда. */
.hero-container {
  background-color: #2077ae;
}

@media (max-width: 1024px) {
  /* Белый текст поверх фото даёт контраст 3.37:1 — ниже нормы WCAG AA.
     Затемнение на 25 % поднимает до 4.87:1. */
  .hero-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(8, 35, 59, 0.25);
    pointer-events: none;
  }
  .hero-container > .content-wrapper {
    position: relative;
    z-index: 1;
  }

  /* 1. Герой детальной страницы и всех внутренних страниц с .hero-container */
  html body #content .artistic-translation .hero-container,
  html body #content .hero-container {
    padding-top: 22px !important;
    padding-bottom: 32px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .artistic-translation .content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .artistic-translation .main-heading {
    font-size: clamp(26px, 7.5vw, 34px) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 18px 0 !important;
    text-align: center !important;
    width: 100% !important;
    color: #ffffff !important;
  }
  .artistic-translation .description-text {
    width: 100% !important;
    max-width: 94% !important;
    margin: 0 auto 28px auto !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    color: rgba(255, 255, 255, 0.95) !important;
  }
  .artistic-translation .cta-button {
    margin: 0 auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 280px !important;
    height: 52px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  /* Страницы без баннера героя (напр. /contacts/) */
  html body #content > .header + .services-container {
    padding-top: 24px !important;
  }

  /* 2. Заголовки разделов на детальной: равномерные отступы сверху и снизу */
  .translators-title,
  .section-title {
    font-size: clamp(24px, 6.5vw, 30px) !important;
    line-height: 1.25 !important;
    margin-top: 24px !important;
    margin-bottom: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }
  .comparison-title {
    font-size: clamp(24px, 6.5vw, 30px) !important;
    line-height: 1.25 !important;
    margin-top: 24px !important;
    margin-bottom: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }
  /* Заголовок «Примеры» внутри .language-comparison */
  .language-comparison > .comparison-title {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .comparison-header {
    margin-bottom: 0 !important;
  }
  .tag-lists,
  .tag-list {
    margin-bottom: 0 !important;
  }
  .comparison-content {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    gap: 16px !important;
  }
  .cost-terms-title {
    font-size: clamp(24px, 6.5vw, 30px) !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }
  .partners-title {
    font-size: clamp(24px, 6.5vw, 30px) !important;
    line-height: 1.25 !important;
    margin-top: 24px !important;
    margin-bottom: 20px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  /* 3. Двухколоночные и текстовые блоки детальной: полная ширина, ровные отступы */
  .language-comparison.literary_translation,
  .translators-container,
  .language-comparison,
  .cost-terms-container,
  .formatting-section,
  .formatting-section .content-wrapper1,
  .formatting-section .content-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .cost-terms-container {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .cost-terms-content {
    gap: 14px !important;
  }
  .cost-terms-description {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }
  .partners-section_services {
    margin-top: 0 !important;
    padding-top: 10px !important;
  }
  .translators-left,
  .translators-right,
  .cost-terms-content,
  .title-column,
  .text-column,
  .text-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .translators-cta {
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 0 24px 0 !important;
    display: block !important;
    height: 48px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }
  .translators-description,
  .text-content p,
  .cost-terms-description {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }
  .criteria-list,
  .bullet-list,
  .criteria-list_price {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
  }
  .criteria-item,
  .bullet-item,
  .criteria-item_price {
    width: auto !important;
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
  }

  /* 4. Карточки примеров (.language-card) — не вылезают за правый край */
  .language-cards {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .language-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 24px 20px !important;
    margin: 0 0 20px 0 !important;
    border-radius: 24px !important;
  }
  .language-card p,
  .language-card .language-text {
    font-size: 15px !important;
    line-height: 1.35 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 14px !important;
  }
  .language-card .quote-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 14px 0 !important;
    align-items: baseline !important;
  }
  .language-card .quote {
    font-size: 14.5px !important;
    word-break: break-word !important;
    display: inline-block !important;
  }
  .language-card .quote-context {
    font-size: 14.5px !important;
  }

  /* 4.1 Карточки технической спецификации (.spec-card, напр. /services/technical_translation/) */
  .spec-cards-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 32px 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
  .spec-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    padding: 24px 20px !important;
    border-radius: 20px !important;
    margin: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  }
  .language-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
  }
  .language-flag {
    width: 24px !important;
    height: auto !important;
  }
  .language-name {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 !important;
  }
  .spec-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  .spec-section {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin-bottom: 16px !important;
    gap: 4px !important;
  }
  .spec-label {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 4px 0 !important;
    font-weight: 600 !important;
    color: #111827 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
  .spec-value {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
    color: rgba(17, 24, 39, 0.8) !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  /* 5. Карточки статистики */
  .stats-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
  }
  .stat-card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 22px 18px !important;
    box-sizing: border-box !important;
  }
  .stat-number,
  .stat-description {
    width: auto !important;
    max-width: 100% !important;
  }

  /* 6. Блок сопутствующих услуг (.translation-services-wrapper) */
  .translation-services-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    padding: 36px 20px !important;
    box-sizing: border-box !important;
  }
  .service-row1 {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
  }
  .service-card3 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    border-radius: 20px !important;
    margin: 0 !important;
  }
  .service-card3 .service-icon {
    width: 36px !important;
    height: 36px !important;
    margin: 0 0 16px 0 !important;
    display: block !important;
  }
  .service-card3 img[src=""],
  .service-card3 img:not([src]),
  .service-card3 img:not([src*="/upload/"]) {
    display: none !important;
  }
  .service-card3 .service-title2,
  .service-title2 {
    position: static !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    margin: 0 0 12px 0 !important;
    display: block !important;
  }
  .service-description1 {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 0 0 18px 0 !important;
  }
  .service-card3 .order-button2,
  .order-button2 {
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    box-sizing: border-box !important;
  }

  /* Теги языков */
  .tag {
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .tag-list,
  .tag-lists {
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media (max-width: 767px) {
  .language-comparison,
  .translators-container,
  .cost-terms-container,
  .partners-section_services,
  .partners-logo-container,
  .services-grid,
  .comparison-header {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* --- E. /price/ — калькулятор и таблицы цен ------------------------------- */
@media (max-width: 1024px) {
  .pricing {
    width: auto;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
  .pricing-header {
    width: 100%;
    max-width: 100%;
    gap: 24px;
    margin-left: 0 !important;
  }
  .pricing-header-left,
  .pricing-header-right {
    width: 100%;
    max-width: 100%;
  }
  /* Сетки grid1/grid2 держат детей жёсткими grid-column/grid-row и height:415px.
     На мобильном переводим контейнер в flex-колонку — раскладка grid перестаёт
     действовать вместе с расстановкой детей. */
  .pricing-table,
  .pricing-table.grid1,
  .pricing-table.grid2 {
    display: flex;
    flex-direction: column;
    height: auto;
    gap: 20px;
    width: auto;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .pricing-table-section,
  .pricing-table-column,
  .pricing-table-column-inner,
  .pricing-table-column-right,
  .pricing-table-column-prices,
  .pricing-table-ancient-column,
  .pricing-table-ancient-column-right,
  .pricing-table-ancient-column-inner,
  .pricing-table-ancient-column-other {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
  }
  .pricing-table-inner {
    width: 100%;
    max-width: 100%;
  }
  /* Названия языков и цены — две независимые колонки с одинаковым ритмом
     строк (16px строка + 8px отступ). Расходятся они только по стартовой
     точке: над названиями стоит заголовок категории, высота которого на
     узком экране меняется. Прижимаем колонку цен к низу — низ у колонок
     общий, ритм одинаковый, поэтому строки совпадают при любой высоте
     заголовка. */
  .pricing-table-prices,
  .pricing-table-ancient-prices,
  .pricing-table-footer-prices {
    margin-top: auto;
  }

  /* Пропорции колонок: названиям отдаём всё свободное место, ценам —
     ровно по содержимому. Декоративный маркер 35px и отступ 22px
     съедали 57px из 375 — ужимаем. */
  .pricing-table-section > .pricing-table-column:first-child {
    flex: 1 1 auto;
    /* Пол по ширине: в секции «Древние языки» вместо цен стоит длинное
       текстовое примечание, и без этого колонка названий схлопывалась
       до ширины заголовка. */
    min-width: 52%;
  }
  /* Колонка цен должна быть по содержимому, иначе space-between разносит
     числа по краям секции и первое из них ложится на названия. */
  .pricing-table-section > .pricing-table-column:last-child,
  .pricing-table-column-prices {
    flex: 0 1 auto;
    min-width: 0;
    width: auto;
    max-width: none;
    margin-left: 12px;
  }
  /* Примечание «а также многие другие…» в исходнике position:relative
     со сдвигом и width:232px — вылезало на колонку названий. */
  .pricing-table-other-description {
    position: static;
    left: auto;
    width: auto;
    max-width: 100%;
  }
  .pricing-table-prices,
  .pricing-table-ancient-prices,
  .pricing-table-footer-prices {
    width: auto;
    max-width: none;
  }
  .pricing-table-price-row,
  .pricing-table-ancient-price-row,
  .pricing-table-footer-price-row {
    justify-content: flex-end;
  }
  .pricing-table-price-row > *,
  .pricing-table-ancient-price-row > *,
  .pricing-table-footer-price-row > * {
    min-width: 34px;
    text-align: right;
  }
  .pricing-table-list,
  .pricing-table-right-list,
  .pricing-table-ancient-list,
  .pricing-table-other-list {
    gap: 10px;
  }
  [class*="pricing-table-marker-"] {
    width: 6px;
    flex: 0 0 6px;
    border-radius: 3px;
  }
  .pricing-table-price-row,
  .pricing-table-ancient-price-row,
  .pricing-table-footer-price-row {
    gap: 18px;
  }
  .pricing-table-item,
  .pricing-table-items > *,
  .pricing-table-right-items > * {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .pricing-table-list,
  .pricing-table-items,
  .pricing-table-prices,
  .pricing-table-right-list,
  .pricing-table-rare-list,
  .pricing-table-ancient-list,
  .pricing-table-ancient-prices,
  .pricing-table-footer-prices {
    white-space: normal;
  }
  .pricing-table-ancient,
  .pricing-table-ancient-content,
  .pricing-table-other-content {
    width: auto;
    max-width: 100%;
    margin-left: 0;
  }
  .pricing-table-other-description {
    width: auto;
    max-width: 100%;
  }
  .pricing-table-footer {
    margin-right: 0;
    gap: 16px;
  }
  .pricing-table-section {
    width: auto;
    max-width: 100%;
  }
  .pricing-table-category {
    width: auto;
    max-width: 100%;
    font-size: 24px;
    line-height: 1.25;
  }
  .pricing-table-rare-list {
    font-size: 15px !important;
    margin-right: 0;
    line-height: 1.45;
  }
  .calculator-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    padding: 20px 16px !important;
    box-sizing: border-box !important;
    height: auto !important;
  }
  /* Номер шага — компактный круг с ровным центрированием */
  .card-number {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    max-height: 52px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin: 8px auto 14px auto !important;
    border-radius: 50%;
    font-size: 22px !important;
  }
  .card-title {
    font-size: 20px !important;
    line-height: 1.25 !important;
    margin-bottom: 18px !important;
  }
  .card-title.no-marg {
    margin-bottom: 8px !important;
  }
  .checkbox-group {
    margin-bottom: 12px !important;
  }
  .checkbox-wrapper {
    margin-bottom: 10px !important;
  }
  .checkbox-wrapper:last-child {
    margin-bottom: 0 !important;
  }
  .form-label_p {
    margin-top: 16px !important;
  }
  .card-4 .disclaimer {
    margin-top: 8px !important;
    margin-bottom: 16px !important;
  }
  .card-4 .submit-button {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
  .card-4 {
    height: auto !important;
  }
  .calculator-grid .swiper-slide {
    height: auto !important;
    display: flex !important;
  }
}
@media (max-width: 767px) {
  .pricing {
    padding-left: 16px;
    padding-right: 16px;
  }
  .pricing-table-category {
    font-size: 21px;
  }
}

/* --- F. /projects/ — карточки проектов ------------------------------------ */
@media (max-width: 1024px) {
  /* В исходнике .translation-container получает max-width:min-content !important
     (@max-width:1515px) и margin 30px !important — из-за этого раздел ужимается
     до ширины самой узкой карточки. Перебиваем с той же силой. */
  .translation-container {
    width: auto;
    max-width: 100% !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    box-sizing: border-box;
  }
  .translation-section {
    width: 100%;
    max-width: 100%;
  }
  .cards-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
  }
  .translation-card1 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
  .card-title_projects {
    font-size: 18px !important;
    line-height: 1.3;
  }
  .language-selector {
    width: auto;
    max-width: 100%;
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .cards-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .translation-container {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}

/* --- G. Главная ----------------------------------------------------------- */
@media (max-width: 1024px) {
  /* Контейнеры главной унаследовали от десктопа width в px при box-sizing:
     content-box, часть — отрицательные margin. Возвращаем нормальный поток. */
  /* В исходнике у части контейнеров стоит width:100% !important вместе с
     margin:30px !important — вместе это всегда шире вьюпорта. Гасим ширину
     с той же силой, отступы задаём ниже. */
  .examples-section,
  .frame-13,
  .frame-131,
  .calculator-section,
  .examples-container,
  .partners-container,
  .achievements-container,
  .slider-container {
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  /* .partners-section — flex-колонка с align-items:start, из-за чего
     вложенный контейнер сжимается по содержимому. */
  .partners-section {
    align-items: stretch;
  }
  .achievements-grid {
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .examples-container {
    margin-left: 0;
    margin-right: 0;
  }
  .frame-13 {
    margin-right: 30px;
  }
  .partners-container {
    width: 100%;
  }
  /* Ряд логотипов партнёров: в исходнике width:914px и margin-right:-631px. */
  .logo-container {
    width: auto;
    max-width: 100%;
    margin-right: 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 28px;
  }
  .logo-container1 {
    width: auto;
    max-width: 100%;
  }
  /* Карусель услуг: снимаем сдвиг -145px/-96px из прежнего слоя.
     Там селектор html body #content — повторяем его, иначе не перебить. */
  html body #content .service-cards_main,
  .service-cards_main {
    width: auto;
    max-width: 100%;
    margin-left: 0 !important;
  }
  /* Заголовки и единые вертикальные отступы секций на мобильных */
  .examples-heading {
    font-size: clamp(26px, 7vw, 40px);
    line-height: 1.12;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }
  .examples-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .examples-container {
    padding-top: 32px !important;
    padding-bottom: 36px !important;
  }
  /* «Современные инструменты» — инлайновый style="font-size:60px",
     перебить можно только !important. */
  .frame-131 > div[style] {
    font-size: clamp(26px, 7vw, 40px) !important;
    line-height: 1.12;
    margin-bottom: 20px !important;
  }
  .frame-13 {
    margin-top: 36px !important;
    margin-bottom: 36px !important;
  }
  .frame-131 {
    margin-top: 36px !important;
    margin-bottom: 36px !important;
  }
  .calculator-heading {
    font-size: clamp(24px, 6.4vw, 36px);
    line-height: 1.15;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }
  .calculator-section {
    padding-top: 36px !important;
  }
  .partners-title {
    font-size: clamp(22px, 5.8vw, 30px);
    line-height: 1.2;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }
  .partners-section {
    padding-top: 36px !important;
  }
  .services-title {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }
  html body #content .services-grid,
  .services-grid {
    margin-bottom: 0 !important;
  }
  html body #content .contact-section,
  .contact-section {
    padding-top: 0 !important;
  }
  /* Главный баннер: FPM сверху одной строкой, ниже Бюро переводов */
  html body #content .heading-1-fpm,
  .heading-1-fpm {
    left: 0;
    text-align: center !important;
    padding-top: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .fpm-heading-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
  }
  .fpm-heading-sep {
    display: none !important;
  }
  html body #content .heading-1-fpm h1,
  .heading-1-fpm h1 {
    display: block !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: clamp(26px, 7.5vw, 36px) !important;
    line-height: 1.15 !important;
    color: #6d6d6d !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #content .heading-1-fpm img,
  .heading-1-fpm img {
    display: block !important;
    margin: 0 auto !important;
    max-width: 170px !important;
    width: auto !important;
    height: auto !important;
  }
  html body #content .div2,
  .div2 {
    margin-top: 14px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
  }
  html body #content .slider-container,
  .slider-container {
    margin-top: 0 !important;
  }
}
@media (max-width: 767px) {
  .frame-13 {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .examples-section,
  .frame-131,
  .calculator-section {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}

/* --- H. Мелочи ------------------------------------------------------------ */
@media (max-width: 1024px) {
  .grecaptcha-badge {
    visibility: hidden;
  }
}

/* --- I. Десктоп: шапка на всю ширину без обрезания по краям -------------- */
@media (min-width: 1025px) {
  html body #content .header,
  html body .header,
  .header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
  }
  .header-content {
    width: 100% !important;
    max-width: 1640px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    box-sizing: border-box !important;
  }
}

/* --- J. Правки по замечаниям 2026-09-03 ----------------------------------- */

@media (max-width: 1024px) {

  /* J2. Логотипы партнёров обрезались справа: .logo-wrapper — грид
     из трёх колонок по 179px (537px) в контейнере 215px. */
  /* У .partners-section padding 0 80px, у .logo-container1 ещё 0 15px —
     на 375px под логотипы оставалось 185px из 375. */
  .partners-section {
    width: 100% !important;
    max-width: 100%;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 16px !important;
    box-sizing: border-box;
  }
  .services-container {
    padding-top: 0 !important;
  }
  .services-container .services-divider {
    margin-top: 8px !important;
    margin-bottom: 18px !important;
  }
  .partners-container,
  .logo-container1 {
    width: 100% !important;
    max-width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }
  .logo-wrapper {
    width: 100% !important;
    max-width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
    justify-items: center;
    align-items: center;
  }
  /* .logo_wrap в исходнике max-width:179px !important (@max-width:1355px) —
     логотипы не помещались в ячейку и вылезали за экран. */
  .logo-wrapper img,
  .logo_wrap {
    max-width: 100% !important;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  /* J3. Стрелки каруселей вылезали за правый край и ложились на контент.
     Ставим их под карусель по центру. */
  /* Стрелки ставим под карусель и центрируем через transform — тогда пара
     остаётся по центру независимо от того, какого размера кнопки задал
     исходный стиль. */
  .swiper-container {
    position: relative;
    padding-bottom: 78px;
  }
  .swiper-container > .swiper-button-prev,
  .swiper-container > .swiper-button-next {
    position: absolute !important;
    top: auto !important;
    bottom: 6px !important;
    right: auto !important;
    left: 50% !important;
    margin: 0 !important;
  }
  .swiper-container > .swiper-button-prev {
    transform: translateX(calc(-100% - 6px)) !important;
  }
  .swiper-container > .swiper-button-next {
    transform: translateX(6px) !important;
  }

  /* Калькулятор: стрелки листания с одинаковым расстоянием сверху и снизу */
  .calculator-section {
    padding-bottom: 24px !important;
  }
  .calculator-card {
    margin-bottom: 0 !important;
  }
  .calculator-grid.swiper {
    padding-bottom: 96px !important;
  }
  .swiper-button-prev1,
  .swiper-button-next1 {
    top: auto !important;
    bottom: 16px !important;
    left: 50% !important;
    right: auto !important;
    margin: 0 !important;
  }
  .swiper-button-prev1 {
    transform: translateX(calc(-100% - 6px)) !important;
  }
  .swiper-button-next1 {
    transform: translateX(6px) !important;
  }
  .swiper-button-prev::after,
  .swiper-button-next::after,
  .swiper-button-prev1::after,
  .swiper-button-next1::after {
    font-size: 18px;
  }
}

/* --- K. Правки по замечаниям (вторая серия) ------------------------------- */

@media (max-width: 1024px) {

  /* K1. Отступ перед «Современные инструменты» и блоками преимуществ */
  html body #content .frame-13,
  html body #content .frame-12,
  .frame-13,
  .frame-12 {
    margin-top: 36px !important;
    margin-bottom: 36px !important;
  }
  html body #content .frame-131,
  .frame-131 {
    margin-top: 36px !important;
    margin-bottom: 36px !important;
  }

  /* K2. Стрелки каруселей рисовались шрифтом swiper-icons: глифы «prev» и
     «next» в нём имеют разные боковые отступы, из-за чего пара выглядела
     несимметрично. Рисуем шевроны рамками — они зеркальны по построению. */
  .swiper-button-prev::after,
  .swiper-button-next::after,
  .swiper-button-prev1::after,
  .swiper-button-next1::after {
    content: "" !important;
    display: none !important;
  }
  .swiper-button-prev,
  .swiper-button-next,
  .swiper-button-prev1,
  .swiper-button-next1 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .swiper-button-prev::before,
  .swiper-button-next::before,
  .swiper-button-prev1::before,
  .swiper-button-next1::before {
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    border-style: solid;
    border-color: #1f2937;
    border-width: 2.5px 2.5px 0 0;
    border-radius: 1px;
  }
  .swiper-button-prev::before,
  .swiper-button-prev1::before {
    transform: rotate(-135deg);
    margin-left: 4px;
  }
  .swiper-button-next::before,
  .swiper-button-next1::before {
    transform: rotate(45deg);
    margin-right: 4px;
  }

  /* Стрелки у ряда услуг — картинки arrow-left.svg / arrow-right.svg.
     Сами файлы зеркальны (16x28), но в разметке им задана ширина 26px:
     шеврон растягивается по горизонтали и пара выглядит кривой.
     Возвращаем собственные пропорции. */
  /* Прежний слой ужимал их до 16x16 селектором html body #content —
     SVG 16x28 сплющивался. Повторяем специфичность. */
  html body #content .prev-button_service img,
  html body #content .next-button_service img,
  .prev-button_service img,
  .next-button_service img {
    width: 13px !important;
    height: 23px !important;
    object-fit: contain !important;
  }
}

/* K3. Карусель услуг на телефоне.
   В footer.php она инициализируется с loop:true при двух слайдах и
   slidesPerView:1 — связка ломкая: после свайпа пальцем Swiper оставляет
   wrapper на дробном смещении, и левый отступ карточек нарастает от свайпа
   к свайпу. На телефоне отказываемся от горизонтальной прокрутки: оба слайда
   становятся одной вертикальной лентой, все 12 карточек доступны скроллом.
   На планшете 768–1024 карусель остаётся. */
/* K3. Swiper container styles normalized */
@media (max-width: 767px) {
  .swiper-container {
    padding-bottom: 0;
  }
}

/* --- L. Полное выравнивание симметрии отступов (слева = справа) ----------- */

@media (max-width: 1024px) {

  /* L1. Блоки преимуществ: убираем старые сдвиги margin-left: 13px и 3px */
  html body #content .frame-13 ._390,
  html body #content .frame-131 ._390,
  .frame-13 ._390,
  .frame-131 ._390 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* L2. Текстовые описания: убираем асимметричные правые отступы */
  .partners-description,
  .calculator-description {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* L3. Сетка и заголовок услуг: единые симметричные боковые отступы по 20px */
  html body #content .services-title,
  .services-title {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  html body #content .services-grid,
  .services-grid {
    width: calc(100% - 40px) !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    margin-bottom: 0 !important;
  }
}

/* --- M. Единый вид стрелок и устранение наплыва на текст ------------------ */

@media (max-width: 1024px) {

  /* M1. Сброс margin-top: -80px у .frame-13 ._390 — текст больше не наплывает на кнопки */
  html body #content .frame-13 ._390,
  .frame-13 ._390 {
    margin-top: 0 !important;
  }
  html body #content .frame-13,
  .frame-13 {
    margin-top: 28px !important;
  }

  /* M2. Позиционирование стрелок верхнего слайдера по центру под карточками */
  .slider-container {
    position: relative !important;
    padding-bottom: 74px !important;
    margin-bottom: 0 !important;
  }
  html body #content .prev-button_service,
  html body #content .next-button_service,
  .prev-button_service,
  .next-button_service {
    top: auto !important;
    bottom: 14px !important;
    left: 50% !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 100 !important;
  }
  html body #content .prev-button_service,
  .prev-button_service {
    transform: translateX(calc(-100% - 6px)) !important;
  }
  html body #content .next-button_service,
  .next-button_service {
    transform: translateX(6px) !important;
  }

  /* M3. Единый вид всех стрелок на странице (48x48, круг, тень, одинаковый шеврон) */
  html body #content .prev-button_service,
  html body #content .next-button_service,
  .prev-button_service,
  .next-button_service,
  html body #content .swiper-button-prev1,
  html body #content .swiper-button-next1,
  .swiper-button-prev1,
  .swiper-button-next1 {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  /* Скрываем картинки и псевдоэлементы прежних реализаций */
  html body #content .prev-button_service img,
  html body #content .next-button_service img,
  .prev-button_service img,
  .next-button_service img {
    display: none !important;
  }
  .swiper-button-prev1::after,
  .swiper-button-next1::after {
    content: "" !important;
    display: none !important;
  }

  /* Единый четкий шеврон через ::before */
  .prev-button_service::before,
  .next-button_service::before,
  .swiper-button-prev1::before,
  .swiper-button-next1::before {
    content: "" !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-style: solid !important;
    border-color: #1f2937 !important;
    border-width: 2.5px 2.5px 0 0 !important;
    border-radius: 1px !important;
  }
  .prev-button_service::before,
  .swiper-button-prev1::before {
    transform: rotate(-135deg) !important;
    margin-left: 3px !important;
    margin-right: 0 !important;
  }
  .next-button_service::before,
  .swiper-button-next1::before {
    transform: rotate(45deg) !important;
    margin-right: 3px !important;
    margin-left: 0 !important;
  }
}



/* ============================================================================
   N. ПОЛНЫЙ АДАПТИВ ВСЕХ ОСТАВШИХСЯ СЕКЦИЙ И СТРАНИЦ САЙТА
   ============================================================================ */

@media (max-width: 1024px) {

  /* N1. Страница «Вакансии» (/vacancies/) */
  html body #content .vacancies-section,
  .vacancies-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 30px 20px 50px !important;
    box-sizing: border-box !important;
  }
  .vacancies-section .content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .vacancies-section .section-title {
    font-size: clamp(26px, 6.5vw, 36px) !important;
    line-height: 1.2 !important;
    margin: 0 0 16px 0 !important;
    width: 100% !important;
  }
  .vacancies-section .section-description {
    font-size: clamp(15px, 3vw, 18px) !important;
    line-height: 1.45 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    max-width: 100% !important;
    color: #4b5563 !important;
  }
  .job-listings {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .job-row,
  .job-row2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    height: auto !important;
  }
  .job-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px !important;
    padding: 20px 18px !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 !important;
  }
  .job-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .job-title {
    font-size: 18px !important;
    line-height: 1.3 !important;
    color: #00a0dd !important;
    font-weight: 700 !important;
    margin-bottom: 6px !important;
  }
  .job-salary {
    font-size: 16px !important;
    color: #111827 !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  .job-icon {
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
  }
  .job-content {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    color: #4b5563 !important;
    margin-top: 10px !important;
    border-top: 1px solid #f3f4f6 !important;
    padding-top: 12px !important;
  }
  .additional-info {
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #4b5563 !important;
    margin-top: 30px !important;
    padding: 0 !important;
    max-width: 100% !important;
  }

  /* N2. Страница «Блог» — список статей (/blog/) */
  .advices-section {
    padding: 24px 0 40px !important;
    width: 100% !important;
  }
  .advices-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }
  .advices-section .section-title {
    font-size: clamp(26px, 6.5vw, 36px) !important;
    line-height: 1.2 !important;
    margin: 0 0 20px 0 !important;
  }
  .advices-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .advice-card {
    border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .advice-image {
    height: 180px !important;
    width: 100% !important;
  }
  .advice-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .advice-content {
    padding: 18px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
  }
  .advice-category {
    font-size: 11px !important;
    padding: 4px 10px !important;
    margin-bottom: 10px !important;
    align-self: flex-start !important;
  }
  .advice-title {
    margin: 0 0 10px 0 !important;
  }
  .advice-title a {
    font-size: 17px !important;
    line-height: 1.35 !important;
  }
  .advice-preview {
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #6b7280 !important;
  }

  /* N3. Детальная страница статьи (/blog/<статья>/) */
  .article-detail {
    padding: 24px 0 40px !important;
    width: 100% !important;
  }
  .article-detail .services-container {
    padding: 0 20px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .article-detail__header {
    margin-bottom: 20px !important;
    padding-bottom: 14px !important;
  }
  .article-detail__title {
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.25 !important;
    margin: 0 0 10px 0 !important;
    color: #111827 !important;
  }
  .article-detail__date {
    font-size: 14px !important;
    color: #9ca3af !important;
  }
  .article-detail__image {
    margin: 0 0 24px 0 !important;
    width: 100% !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }
  .article-detail__image img {
    width: 100% !important;
    height: auto !important;
    max-height: 380px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 14px !important;
  }
  .article-detail__content {
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: #374151 !important;
  }
  .article-detail__content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 10px !important;
  }
  .back-button {
    float: none !important;
    display: inline-block !important;
    margin-top: 24px !important;
  }
  .button-article {
    width: 100% !important;
    max-width: 220px !important;
    margin: 0 !important;
    height: 48px !important;
    border-radius: 12px !important;
  }
  .bx-breadcrumb {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  /* N4. Модальные окна проектов (/projects/) */
  .modal-overlay {
    padding: 16px !important;
    box-sizing: border-box !important;
    z-index: 100000 !important;
  }
  .modal-content {
    width: 100% !important;
    max-width: 680px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 24px 18px !important;
    margin: auto !important;
    box-sizing: border-box !important;
    border-radius: 18px !important;
    position: relative !important;
  }
  .aviation-container {
    padding: 0 !important;
    width: 100% !important;
  }
  .project-description {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin-bottom: 16px !important;
  }
  .section-headers {
    display: none !important;
  }
  .content-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }
  .original-column,
  .translation-column {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .original-column::before {
    content: "Фрагмент оригинала";
    display: block;
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 8px;
    color: #111827;
  }
  .translation-column::before {
    content: "Перевод";
    display: block;
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 8px;
    color: #00a0dd;
  }
  .original-image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  .translation-content {
    padding: 14px 12px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }
  .translation-text {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
  .close-modal {
    top: 10px !important;
    right: 14px !important;
    font-size: 28px !important;
    line-height: 1 !important;
    z-index: 10 !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .office-button2 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    border-radius: 12px !important;
  }

  /* N5. Модальное окно заявки «Заказать перевод» */
  .modal-overlay2 {
    padding: 16px !important;
    box-sizing: border-box !important;
  }
  .modal-content2 {
    width: 100% !important;
    max-width: 420px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 20px !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    position: relative !important;
  }
  .modal-content2 .close-icon,
  .modal-content2 .close-modal2 {
    position: absolute !important;
    top: 12px !important;
    right: 14px !important;
    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    border: none !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #6b7280 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    z-index: 10 !important;
  }
  .modal-content2 .modal-header {
    margin-bottom: 18px !important;
    padding-right: 32px !important;
  }
  .modal-content2 .modal-title {
    font-size: 22px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    color: #111827 !important;
    font-weight: 700 !important;
  }
  .modal-content2 .form-group {
    margin-bottom: 14px !important;
    width: 100% !important;
  }
  .modal-content2 .form-input {
    width: 100% !important;
    height: 48px !important;
    box-sizing: border-box !important;
    padding: 10px 16px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
  }
  .modal-content2 .form-textarea {
    width: 100% !important;
    height: 90px !important;
    box-sizing: border-box !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    font-family: 'TildaSans', Arial, sans-serif !important;
    resize: vertical !important;
  }
  .modal-content2 .checkbox_form {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin: 12px 0 16px !important;
  }
  .modal-content2 .submit-button2 {
    width: 100% !important;
    height: 48px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    margin: 0 !important;
  }

  /* N6. Всплывающие уведомления и калькулятор */
  .notification {
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    padding: 12px 16px !important;
  }
  .error-notification {
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
    padding: 10px 16px !important;
  }
  .error-message {
    white-space: normal !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
  }
  .calculator-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .calculator-card {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 767px) {
  .advices-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body #content .vacancies-section,
  .vacancies-section {
    padding: 20px 16px 40px !important;
  }
  .article-detail .services-container {
    padding: 0 16px !important;
  }
  .advices-container {
    padding: 0 16px !important;
  }
}


/* ==========================================================================
   Section P. TARGETED FIXES FOR 8 USER ITEMS
   ========================================================================== */

/* P1. МОДАЛЬНАЯ ФОРМА ("Заказать перевод"): Единая ширина всех полей и стильный чекбокс */
html body .modal-content2,
.modal-content2 {
  max-width: 440px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 28px 26px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
}

html body .modal-content2 #order-form,
.modal-content2 #order-form {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

html body .modal-content2 .form-group,
.modal-content2 .form-group {
  width: 100% !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
}

html body .modal-content2 .form-input,
.modal-content2 .form-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  box-sizing: border-box !important;
  padding: 10px 18px !important;
  border-radius: 15px !important;
  border: 2px solid #bababa !important;
  color: #111827 !important;
  background: #ffffff !important;
  font-family: 'TildaSans', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  outline: none !important;
  margin: 0 !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

html body .modal-content2 .form-textarea,
.modal-content2 .form-textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 96px !important;
  box-sizing: border-box !important;
  padding: 12px 18px !important;
  border-radius: 15px !important;
  border: 2px solid #bababa !important;
  color: #111827 !important;
  background: #ffffff !important;
  font-family: 'TildaSans', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  outline: none !important;
  margin: 0 !important;
  resize: vertical !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

html body .modal-content2 .form-input:focus,
html body .modal-content2 .form-textarea:focus,
.modal-content2 .form-input:focus,
.modal-content2 .form-textarea:focus {
  border-color: #00a0dd !important;
  box-shadow: 0 0 0 3px rgba(0, 160, 221, 0.15) !important;
}

html body .modal-content2 .form-input::placeholder,
html body .modal-content2 .form-textarea::placeholder,
.modal-content2 .form-input::placeholder,
.modal-content2 .form-textarea::placeholder {
  color: #9ca3af !important;
}

/* Чекбокс согласия: современный, ровный, аккуратный */
html body .modal-content2 .checkbox_form,
.modal-content2 .checkbox_form {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 10px 0 18px 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

html body .modal-content2 .checkbox_form .checkbox-input,
.modal-content2 .checkbox_form .checkbox-input {
  -webkit-appearance: none !important;
  appearance: none !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 1px 0 0 0 !important;
  padding: 0 !important;
  border: 2px solid #00a0dd !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

html body .modal-content2 .checkbox_form .checkbox-input:checked,
.modal-content2 .checkbox_form .checkbox-input:checked {
  background-color: #00a0dd !important;
  border-color: #00a0dd !important;
}

html body .modal-content2 .checkbox_form .checkbox-input:checked::after,
.modal-content2 .checkbox_form .checkbox-input:checked::after {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 5px !important;
  width: 5px !important;
  height: 9px !important;
  border: solid #ffffff !important;
  border-width: 0 2.5px 2.5px 0 !important;
  transform: rotate(45deg) !important;
  display: block !important;
}

html body .modal-content2 .checkbox_form span,
.modal-content2 .checkbox_form span {
  flex: 1 1 auto !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #6b7280 !important;
  font-family: 'TildaSans', Arial, sans-serif !important;
}

html body .modal-content2 .checkbox_form span a,
.modal-content2 .checkbox_form span a {
  color: #00a0dd !important;
  text-decoration: underline !important;
}

html body .modal-content2 .submit-button2,
.modal-content2 .submit-button2 {
  width: 100% !important;
  max-width: 100% !important;
  height: 50px !important;
  margin: 0 !important;
  border-radius: 15px !important;
  background-color: #00a0dd !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s !important;
}

html body .modal-content2 .submit-button2:hover,
.modal-content2 .submit-button2:hover {
  background-color: #0284c7 !important;
}

/* P2. МОБИЛЬНОЕ МЕНЮ: Отступ сверху кнопки, уменьшенный размер кнопки, стильные иконки */
.fpm-contact-icon-badge {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%) !important;
  border: 1px solid rgba(186, 230, 253, 0.7) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0284c7 !important;
  box-shadow: 0 2px 6px rgba(2, 132, 199, 0.08) !important;
  box-sizing: border-box !important;
}

.fpm-contact-icon-badge img {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
}

html body #content .fpm-left-drawer #fpmMobileOrderBtn,
html body .fpm-left-drawer #fpmMobileOrderBtn,
#fpmMobileOrderBtn {
  margin-top: 8px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 210px !important;
  max-width: 85% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #25d366 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25) !important;
  border: none !important;
  cursor: pointer !important;
}

/* P3. ГЛАВНЫЙ СЛАЙДЕР УСЛУГ: Снятие отрицательного сдвига и отступы по краям */
@media (max-width: 1024px) {
  html body #content .slider-container,
  .slider-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  html body #content .service-cards_main,
  .service-cards_main {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 767px) {
  html body #content .slider-container,
  .slider-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body #content .service-cards_main,
  .service-cards_main {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* P4. «СОВРЕМЕННЫЕ ИНСТРУМЕНТЫ»: 2 колонки логотипов на мобиле и планшетах */
@media (max-width: 1024px) {
  html body #content .frame-131 .logo-container,
  .frame-131 .logo-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px 24px !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 28px auto 0 !important;
    justify-items: center !important;
    align-items: center !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }
  html body #content .frame-131 .logo-container .logo,
  .frame-131 .logo-container .logo {
    max-width: 140px !important;
    width: 100% !important;
    height: auto !important;
    max-height: 48px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
  }
}
@media (max-width: 640px) {
  html body #content .frame-131 .logo-container,
  .frame-131 .logo-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px 14px !important;
    max-width: 360px !important;
  }
  html body #content .frame-131 .logo-container .logo,
  .frame-131 .logo-container .logo {
    max-width: 120px !important;
    max-height: 42px !important;
  }
}

/* P5. РАЗНОЦВЕТНЫЕ КАРТОЧКИ УСЛУГ (12 шт): Возврат горизонтального свайпера */
@media (max-width: 1024px) {
  #swiper-layout.swiper-container,
  .swiper-container#swiper-layout {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
    padding-bottom: 56px !important;
    box-sizing: border-box !important;
  }
  #swiper-layout .swiper-wrapper,
  .swiper-container#swiper-layout > .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transform: translate3d(0px, 0, 0);
  }
  #swiper-layout .swiper-slide,
  .swiper-container#swiper-layout > .swiper-wrapper > .swiper-slide {
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    margin-bottom: 0 !important;
  }
  #swiper-layout .grid-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #swiper-layout .swiper-button-prev,
  #swiper-layout .swiper-button-next,
  .swiper-container#swiper-layout > .swiper-button-prev,
  .swiper-container#swiper-layout > .swiper-button-next {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    top: auto !important;
    bottom: 8px !important;
    z-index: 20 !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
  }
  #swiper-layout .swiper-button-prev,
  .swiper-container#swiper-layout > .swiper-button-prev {
    left: calc(50% - 50px) !important;
    right: auto !important;
  }
  #swiper-layout .swiper-button-next,
  .swiper-container#swiper-layout > .swiper-button-next {
    right: calc(50% - 50px) !important;
    left: auto !important;
  }
}
@media (max-width: 640px) {
  #swiper-layout .grid-container {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* P7. КАЛЬКУЛЯТОР СТОИМОСТИ: полная ширина карточек без сжатия */
@media (max-width: 1499px) {
  .calculator-grid.swiper,
  .calculator-section .swiper {
    position: relative !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 70px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
  .calculator-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html body #content .swiper-button-prev1,
  html body #content .swiper-button-next1,
  .swiper-button-prev1,
  .swiper-button-next1 {
    top: auto !important;
    bottom: 16px !important;
    left: 50% !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 20 !important;
    display: flex !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
  }
  html body #content .swiper-button-prev1,
  .swiper-button-prev1 {
    transform: translateX(calc(-100% - 10px)) !important;
  }
  html body #content .swiper-button-next1,
  .swiper-button-next1 {
    transform: translateX(10px) !important;
  }
}

/* P8. ДЕСКТОПНАЯ ШАПКА (> 1819px): Блок контактов на одной строке без переноса */
@media (min-width: 1819px) {
  html body .header-content,
  .header-content {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1820px !important;
    margin: 0 auto !important;
  }
  html body .header-content > *,
  .header-content > * {
    flex-shrink: 0 !important;
  }
  html body .header-actions,
  .header-actions {
    flex-shrink: 0 !important;
    flex-wrap: nowrap !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
  }
  html body .contact-details,
  .contact-details {
    display: flex !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
}


/* P2.1. Убираем боковые паддинги (слева и справа) у элементов контактов мобильного меню */
html body .fpm-left-drawer a.fpm-contact-item,
html body .fpm-left-drawer a.fpm-max-item,
html body .fpm-left-drawer .fpm-contact-item,
.fpm-left-drawer a.fpm-contact-item,
.fpm-left-drawer .fpm-contact-item {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding: 8px 0 !important;
}


/* ==========================================================================
   ФИНАЛЬНЫЕ ПРАВКИ ПО ЗАДАЧАМ ПОЛЬЗОВАТЕЛЯ
   ========================================================================== */

/* 1. ГЛАВНЫЙ СЛАЙДЕР В БАННЕРЕ: отображение ровно по 2 карточки на моб. устройствах с чистыми белыми полями */
@media (max-width: 1024px) {
  html body #content .slider-container,
  .slider-container {
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
  }
  html body #content .service-cards_main,
  .service-cards_main {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 10px !important;
    display: flex !important;
  }
  html body #content .service-card,
  .service-card {
    flex: 0 0 calc((100% - 10px) / 2) !important;
    width: calc((100% - 10px) / 2) !important;
    min-width: calc((100% - 10px) / 2) !important;
    max-width: calc((100% - 10px) / 2) !important;
    box-sizing: border-box !important;
    padding: 14px 12px !important;
    height: auto !important;
    min-height: 140px !important;
  }
  html body #content .service-card .service-icon {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 10px !important;
  }
  html body #content .service-card .service-title {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
}

/* 2. КЛИКАБЕЛЬНОСТЬ КАРТОЧЕК В БАННЕРЕ НА ВСЕХ УСТРОЙСТВАХ (включая десктоп) */
.service-card {
  position: relative !important;
  cursor: pointer !important;
}
.service-card a::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 5 !important;
}

/* 3. СЛАЙДЕР 12 ЦВЕТНЫХ УСЛУГ (#swiper-layout) */
#swiper-layout.services-swiper-block {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 46px 20px 46px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}
#swiper-layout .swiper-wrapper {
  display: flex !important;
  flex-direction: row !important;
  transform: translate3d(0px, 0px, 0px);
}
#swiper-layout .swiper-slide {
  height: auto !important;
  display: flex !important;
  box-sizing: border-box !important;
}
#swiper-layout .service-card2 {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}
#swiper-layout .services-swiper-button-prev,
#swiper-layout .services-swiper-button-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 25 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}
#swiper-layout .services-swiper-button-prev {
  left: 4px !important;
  right: auto !important;
}
#swiper-layout .services-swiper-button-next {
  right: 4px !important;
  left: auto !important;
}
#swiper-layout .services-swiper-button-prev.swiper-button-disabled,
#swiper-layout .services-swiper-button-next.swiper-button-disabled {
  opacity: 0.25 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* 5. ДЕТАЛЬНАЯ КАРТОЧКА УСЛУГ: устранение наложения белого фона на серый achievements-container */
.language-comparison {
  margin-bottom: 0 !important;
}
.translators-container {
  padding-bottom: 36px !important;
}
.achievements-container {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 0 !important;
}

/* 6. МОБИЛЬНОЕ МЕНЮ: полный откат значков контактов к исходному виду */
html body .fpm-left-drawer .fpm-contact-icon-badge,
.fpm-contact-icon-badge {
  background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%) !important;
  border: 1px solid rgba(186, 230, 253, 0.7) !important;
  color: #0284c7 !important;
  box-shadow: 0 2px 6px rgba(2, 132, 199, 0.08) !important;
}
html body .fpm-left-drawer .fpm-contact-icon-badge svg,
.fpm-contact-icon-badge svg {
  stroke: #0284c7 !important;
  color: #0284c7 !important;
}
html body .fpm-left-drawer .fpm-contact-icon-badge img,
.fpm-contact-icon-badge img {
  filter: none !important;
  opacity: 1 !important;
}


/* ==========================================================================
   ПРАВКИ ПО ЗАМЕЧАНИЯМ (ШАГ 2)
   ========================================================================== */

/* 1. Модальное окно: гарантированная видимость без блокировки display */
.modal-overlay2:not(.hidden) {
  display: flex !important;
}
.modal-overlay2.hidden {
  display: none !important;
}

/* 2. Логотипы партнёров на детальной странице услуги (меньше на моб./планшетах) */
@media (max-width: 1024px) {
  .partners-section_services {
    padding: 36px 16px !important;
  }
  .partners-section_services .partners-title {
    font-size: 26px !important;
    margin-bottom: 20px !important;
  }
  .partners-section_services .partners-logo-container {
    padding: 0 10px !important;
    gap: 20px 28px !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .partners-section_services .partner-logo,
  .partners-section_services .partner-logo-anj,
  .partners-section_services .partner-logo-mif {
    max-width: 125px !important;
    max-height: 46px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

@media (max-width: 640px) {
  .partners-section_services {
    padding: 24px 10px !important;
  }
  .partners-section_services .partners-title {
    font-size: 22px !important;
    margin-bottom: 14px !important;
  }
  .partners-section_services .partners-logo-container {
    padding: 0 6px !important;
    gap: 16px 20px !important;
  }
  .partners-section_services .partner-logo,
  .partners-section_services .partner-logo-anj,
  .partners-section_services .partner-logo-mif {
    max-width: 100px !important;
    max-height: 36px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* 3. Блок сопутствующих услуг: горизонтальный слайдер на мобильных и планшетах */
@media (max-width: 1024px) {
  .translation-services-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .translation-services1 {
    display: flex !important;
    overflow-x: auto !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
  .translation-services1::-webkit-scrollbar {
    display: none !important;
  }
  .service-row1 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    width: max-content !important;
    margin-bottom: 0 !important;
  }
  .service-card3 {
    flex: 0 0 280px !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: auto !important;
    min-height: 290px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }
  .slider-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
  }
  .slider-button img {
    width: 14px !important;
    height: 14px !important;
    object-fit: contain !important;
  }
  .slider-button.prev {
    left: 4px !important;
  }
  .slider-button.next {
    right: 4px !important;
  }
}

/* 4. Примеры работ: полная ширина и точное центрирование стрелок */
@media (max-width: 1024px) {
  .examples-slider {
    padding: 0 6px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .examples-slider .slick-prev,
  .examples-slider .slick-next {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
    z-index: 25 !important;
    border: none !important;
  }
  .examples-slider .slick-prev {
    left: 4px !important;
  }
  .examples-slider .slick-next {
    right: 4px !important;
  }
  .examples-slider .slick-prev:before,
  .examples-slider .slick-next:before {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    margin: 0 auto !important;
  }
}

/* 5. Калькулятор на главной и на странице Цены (/price/):
   - стрелки навигации строго по краям (слева и справа)
   - ширина элементов калькулятора НЕ уменьшается, поля не сжимаются */
@media (max-width: 1499px) {
  .calculator-grid.swiper,
  .calculator-section .swiper,
  form[name="CALCULATOR"] .calculator-grid.swiper {
    position: relative !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 24px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .calculator-card,
  form[name="CALCULATOR"] .calculator-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html body #content .swiper-button-prev1,
  html body #content .swiper-button-next1,
  .swiper-button-prev1,
  .swiper-button-next1 {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    bottom: auto !important;
    z-index: 30 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18) !important;
    cursor: pointer !important;
    margin: 0 !important;
  }
  html body #content .swiper-button-prev1,
  .swiper-button-prev1 {
    left: 4px !important;
    right: auto !important;
  }
  html body #content .swiper-button-next1,
  .swiper-button-next1 {
    right: 4px !important;
    left: auto !important;
  }
  .swiper-button-prev1.swiper-button-disabled,
  .swiper-button-next1.swiper-button-disabled {
    opacity: 0.25 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
  }
}


/* ==========================================================================
   КОМПЛЕКСНЫЙ ПАКЕТ ПРАВОК (ШАГ 6)
   ========================================================================== */

/* 0. МОДАЛЬНЫЕ ОКНА: ПОВЕРХ ФИКСИРОВАННОЙ ШАПКИ САЙТА */
.modal-overlay {
  z-index: 999999 !important;
}
.modal-overlay .modal-content {
  z-index: 1000000 !important;
  position: relative !important;
}

/* 1. ВЫРАВНИВАНИЕ ВЫСОТЫ ТИЗЕРОВ НА ВСЕХ РАЗРЕШЕНИЯХ ДО 1024px (ВКЛЮЧАЯ < 717px) */
@media (min-width: 718px) and (max-width: 1024px) {
  html body #content .achievements-grid,
  .achievements-grid {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
  }
  html body #content .achievement-item,
  .achievements-grid .achievement-item,
  .achievement-item {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
  }
  html body #content .achievement-card,
  .achievements-grid .achievement-card,
  .achievement-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 22px 16px !important;
    box-sizing: border-box !important;
  }
  html body #content .achievement-text,
  .achievements-grid .achievement-text,
  .achievement-text {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 12px 0 0 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 717px) {
  html body #content .achievements-grid,
  .achievements-grid {
    align-items: stretch !important;
  }
  html body #content .achievement-item,
  .achievements-grid .achievement-item,
  .achievement-item {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
  }
  html body #content .achievement-card,
  .achievements-grid .achievement-card,
  .achievement-card {
    height: 100% !important;
    min-height: 80px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  html body #content .achievement-text,
  .achievements-grid .achievement-text,
  .achievement-text {
    flex: 1 1 auto !important;
  }
}

/* 2. ВЕРХНИЙ СЛАЙДЕР УСЛУГ В БАННЕРЕ (РЕЗИНОВАЯ АДАПТАЦИЯ 2-3-4-5 ЭЛЕМЕНТОВ) */
@media (max-width: 640px) {
  html body #content .slider-container,
  .slider-container {
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
  }
  html body #content .service-cards_main,
  .service-cards_main {
    gap: 10px !important;
    display: flex !important;
  }
  html body #content .service-card,
  .service-card {
    flex: 0 0 calc((100% - 10px) / 2) !important;
    width: calc((100% - 10px) / 2) !important;
    min-width: calc((100% - 10px) / 2) !important;
    max-width: calc((100% - 10px) / 2) !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 140px !important;
  }
}

@media (min-width: 641px) and (max-width: 800px) {
  html body #content .slider-container,
  .slider-container {
    overflow: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  html body #content .service-cards_main,
  .service-cards_main {
    gap: 12px !important;
    display: flex !important;
  }
  html body #content .service-card,
  .service-card {
    flex: 0 0 calc((100% - 24px) / 3) !important;
    width: calc((100% - 24px) / 3) !important;
    min-width: calc((100% - 24px) / 3) !important;
    max-width: calc((100% - 24px) / 3) !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 140px !important;
  }
}

@media (min-width: 801px) and (max-width: 1050px) {
  html body #content .slider-container,
  .slider-container {
    overflow: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  html body #content .service-cards_main,
  .service-cards_main {
    gap: 14px !important;
    display: flex !important;
  }
  html body #content .service-card,
  .service-card {
    flex: 0 0 calc((100% - 42px) / 4) !important;
    width: calc((100% - 42px) / 4) !important;
    min-width: calc((100% - 42px) / 4) !important;
    max-width: calc((100% - 42px) / 4) !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 140px !important;
  }
}

@media (min-width: 1051px) and (max-width: 1280px) {
  html body #content .slider-container,
  .slider-container {
    overflow: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  html body #content .service-cards_main,
  .service-cards_main {
    gap: 14px !important;
    display: flex !important;
  }
  html body #content .service-card,
  .service-card {
    flex: 0 0 calc((100% - 56px) / 5) !important;
    width: calc((100% - 56px) / 5) !important;
    min-width: calc((100% - 56px) / 5) !important;
    max-width: calc((100% - 56px) / 5) !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 140px !important;
  }
}

/* 3. БЛОК 12 РАЗНОЦВЕТНЫХ УСЛУГ (#swiper-layout): 1 НА МОБИЛКЕ, 2 НА ПЛАНШЕТАХ */
#swiper-layout.services-swiper-block,
#swiper-layout.swiper,
#swiper-layout.swiper-container,
.swiper-container#swiper-layout {
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 auto !important;
}

@media (min-width: 641px) and (max-width: 1024px) {
  #swiper-layout.services-swiper-block,
  #swiper-layout.swiper,
  #swiper-layout.swiper-container,
  .swiper-container#swiper-layout {
    padding: 0 46px 20px 46px !important;
  }
  #swiper-layout .services-swiper-button-prev {
    left: 2px !important;
    right: auto !important;
  }
  #swiper-layout .services-swiper-button-next {
    right: 2px !important;
    left: auto !important;
  }
}

@media (max-width: 640px) {
  #swiper-layout.services-swiper-block,
  #swiper-layout.swiper,
  #swiper-layout.swiper-container,
  .swiper-container#swiper-layout {
    padding: 0 40px 20px 40px !important;
  }
  #swiper-layout .services-swiper-button-prev {
    left: 0 !important;
    right: auto !important;
  }
  #swiper-layout .services-swiper-button-next {
    right: 0 !important;
    left: auto !important;
  }
}

#swiper-layout .swiper-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

#swiper-layout .swiper-slide {
  height: auto !important;
  display: flex !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

#swiper-layout .service-card2 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  height: 100% !important;
  min-height: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* 5. СТРАНИЦА «ЦЕНЫ» (/price/): СТРОКИ ГОРИЗОНТАЛЬНЫЕ, РЕДКИЕ ЯЗЫКИ НЕ ВЫЛЕЗАЮТ, УБРАН ОТСТУП СНИЗУ */
.pricing-section {
  padding-bottom: 30px !important;
}
@media (max-width: 768px) {
  .pricing-section {
    padding-bottom: 20px !important;
  }
}

@media (max-width: 1200px) {
  .pricing {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  .pricing-header {
    width: 100% !important;
    max-width: 100% !important;
    margin: 30px 0 20px 0 !important;
    display: flex !important;
  }
  .pricing-header-right {
    display: none !important;
  }
  .pricing-header-left {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .pricing-table,
  .pricing-table.grid1,
  .pricing-table.grid2 {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    gap: 28px !important;
    margin: 0 0 28px 0 !important;
  }
  .pricing-table-section {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    width: 100% !important;
    max-width: 100% !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 24px !important;
    box-sizing: border-box !important;
  }
  .pricing-table-column:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .pricing-table-column:last-child {
    flex: 0 0 auto !important;
    min-width: 120px !important;
    margin-left: 12px !important;
  }
  .pricing-table-prices {
    margin-top: auto !important;
  }
  .pricing-table-category {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 24px !important;
    margin-bottom: 16px !important;
  }
}

@media (max-width: 640px) {
  .pricing-table-section {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 10px !important;
  }
  .pricing-table-column:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .pricing-table-column:last-child {
    flex: 0 0 auto !important;
    min-width: 100px !important;
    margin-left: 8px !important;
  }
  .pricing-table-prices {
    margin-top: auto !important;
  }
  .pricing-table-category {
    font-size: 19px !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    white-space: normal !important;
  }
}

/* Блок «Другие редкие языки» (id="item-3"): адаптивная ширина 100% и естественный перенос текста */
#item-3.pricing-table-section,
.pricing-table-section:has(.pricing-table-rare-list) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#item-3 .pricing-table-column,
.pricing-table-section:has(.pricing-table-rare-list) .pricing-table-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
#item-3 .pricing-table-inner,
.pricing-table-section:has(.pricing-table-rare-list) .pricing-table-inner {
  width: 100% !important;
  max-width: 100% !important;
}
#item-3 .pricing-table-list,
.pricing-table-section:has(.pricing-table-rare-list) .pricing-table-list {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#item-3 .pricing-table-items,
.pricing-table-section:has(.pricing-table-rare-list) .pricing-table-items {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.pricing-table-rare-list,
#item-3 .pricing-table-rare-list {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  white-space: normal !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* Кнопка «Скачать прайс» */
.pricing-download-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 380px !important;
  margin: 40px auto 0 auto !important;
  padding: 14px 24px !important;
  border-radius: 12px !important;
  background-color: #00a0dd !important;
  color: #010101 !important;
  cursor: pointer !important;
  position: static !important;
  box-sizing: border-box !important;
}
.pricing-download-button .pricing-download-image,
.pricing-download-image {
  position: static !important;
  margin: 0 !important;
  left: auto !important;
  top: auto !important;
  width: 20px !important;
  height: 20px !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
}
.pricing-download-label {
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* 6. БЛОК «НАШИ ПАРТНЕРЫ» НА ГЛАВНОЙ: 4 ЛОГОТИПА В РЯД НА ПЛАНШЕТАХ */
@media (min-width: 641px) and (max-width: 1024px) {
  .logo-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px 30px !important;
    justify-items: center !important;
    align-items: center !important;
    width: 100% !important;
  }
  .logo_wrap {
    max-width: 100% !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }
}
@media (max-width: 640px) {
  .logo-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 30px !important;
    justify-items: center !important;
    align-items: center !important;
    width: 100% !important;
  }
  .logo_wrap {
    max-width: 100% !important;
    max-height: 42px !important;
    object-fit: contain !important;
  }
}

/* 7. «ВЫЧИТКА НОСИТЕЛЕМ ЯЗЫКА» НА ДЕТАЛЬНОЙ СТРАНИЦЕ УСЛУГИ (641px - 1024px) */
@media (min-width: 641px) and (max-width: 1024px) {
  .tag-lists {
    margin-top: 24px !important;
  }
  .tag-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px 10px !important;
    width: 100% !important;
  }
  .tag {
    height: auto !important;
    min-height: 38px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.1px !important;
    border-radius: 8px !important;
    text-align: center !important;
    white-space: normal !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 8. КАЛЬКУЛЯТОР СТОИМОСТИ: СТРЕЛКИ СНИЗУ ПОД СЛАЙДЕРОМ ПО ЦЕНТРУ */
.calculator-grid.swiper {
  padding-bottom: 74px !important;
  position: relative !important;
}
html body #content .swiper-button-prev1,
html body #content .swiper-button-next1,
.swiper-button-prev1,
.swiper-button-next1 {
  top: auto !important;
  bottom: 16px !important;
  left: 50% !important;
  right: auto !important;
  margin: 0 !important;
  position: absolute !important;
  z-index: 25 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
}
html body #content .swiper-button-prev1,
.swiper-button-prev1 {
  transform: translateX(calc(-100% - 10px)) !important;
}
html body #content .swiper-button-next1,
.swiper-button-next1 {
  transform: translateX(10px) !important;
}
.swiper-button-prev1 img,
.swiper-button-next1 img {
  width: 14px !important;
  height: 14px !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
}
.swiper-button-prev1:after,
.swiper-button-next1:after {
  font-size: 14px !important;
  font-weight: bold !important;
  color: #333333 !important;
}

/* 9. ЕДИНЫЙ КОМПАКТНЫЙ СТИЛЬ ОСТАЛЬНЫХ СТРЕЛОК НАВИГАЦИИ */
html body #content .slider-button,
html body #content .slider-button.prev,
html body #content .slider-button.next,
.slider-button,
.slider-button.prev,
.slider-button.next,
.services-swiper-button-prev,
.services-swiper-button-next,
.prev-button_service,
.next-button_service {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 25 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* 10. МОДАЛЬНОЕ ОКНО НА СТРАНИЦЕ ПРОЕКТЫ - ПОВЕРХ ФИКСИРОВАННОЙ ШАПКИ САЙТА */
.modal-overlay,
#modal-overlay,
.modal-overlay2,
div[id^="modal-overlay"] {
  z-index: 999999 !important;
}
.modal-overlay .modal-content,
#modal-overlay .modal-content,
.modal-overlay2 .modal-content,
.modal-content {
  z-index: 1000000 !important;
  position: relative !important;
}

/* =========================================================================
   ИДЕАЛЬНЫЙ БЛОК СЛАЙДЕРА «ПРИМЕРЫ РАБОТ» (ДЕКСТОП ПО СКРИНШОТУ 4 + АДАПТИВ)
   ========================================================================= */

/* Базовые свойства ленты Slick для плавного непрерывного скролла */
.examples-slider .slick-track {
  width: max-content !important;
  display: block !important;
}

.examples-slider .slick-track:before,
.examples-slider .slick-track:after {
  content: '' !important;
  display: table !important;
}

.examples-slider .slick-track:after {
  clear: both !important;
}

.examples-slider .slick-slide {
  float: left !important;
  height: auto !important;
  min-height: 1px !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}


/* 2. ПЛАНШЕТ (641px - 1024px): ровно 2 активных элемента, выравнивание по левому краю */
@media (min-width: 641px) and (max-width: 1024px) {
  .examples-slider {
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .examples-slider .slick-list {
    overflow: hidden !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .examples-slider .example-card {
    border-radius: 30px !important;
    background-color: #f8fafc !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 472px !important;
    height: auto !important;
    position: relative !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    padding: 1px 22px 21px 25px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .examples-slider .slick-slide {
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  .examples-slider .example-card .details-button,
  .examples-slider .details-button {
    font-weight: 600 !important;
    color: #fff !important;
    background-color: #00a0dd !important;
    border-radius: 15px !important;
    padding: 16px !important;
    text-align: center !important;
    position: absolute !important;
    bottom: 30px !important;
    left: 25px !important;
    right: 25px !important;
    cursor: pointer !important;
    border: none !important;
    width: auto !important;
    display: block !important;
  }
  .examples-slider .slick-prev,
  .examples-slider .slick-next {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    z-index: 25 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }
  .examples-slider .slick-prev { left: 4px !important; right: auto !important; }
  .examples-slider .slick-next { right: 4px !important; left: auto !important; }
  .examples-slider .slick-prev:before {
    content: '' !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    background: url('/autohtml-project/arrow-right.svg') no-repeat center center !important;
    background-size: contain !important;
    margin: 0 auto !important;
    opacity: 0.85 !important;
  }
  .examples-slider .slick-next:before {
    content: '' !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    background: url('/autohtml-project/arrow-left.svg') no-repeat center center !important;
    background-size: contain !important;
    margin: 0 auto !important;
    opacity: 0.85 !important;
  }
}

/* 3. МОБИЛЬНЫЕ (до 640px): 1 активный элемент, выравнивание по левому краю */
@media (max-width: 640px) {
  .examples-slider {
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .examples-slider .slick-list {
    overflow: hidden !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .examples-slider .example-card {
    border-radius: 30px !important;
    background-color: #f8fafc !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 500px !important;
    height: auto !important;
    position: relative !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    padding: 26px 28px 95px 28px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .examples-slider .example-type {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
  .examples-slider .example-title {
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #4b5563 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    height: auto !important;
    min-height: auto !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
  .examples-slider .block_lang {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 14px 16px 12px 16px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06) !important;
  }
  .examples-slider .slick-slide {
    padding: 20px 25px !important;
    box-sizing: border-box !important;
    transform: scale(1.0);
  }
  .examples-slider .example-card .details-button,
  .examples-slider .details-button {
    font-weight: 600 !important;
    color: #fff !important;
    background-color: #00a0dd !important;
    border-radius: 15px !important;
    padding: 15px !important;
    text-align: center !important;
    position: absolute !important;
    bottom: 24px !important;
    left: 28px !important;
    right: 28px !important;
    cursor: pointer !important;
    border: none !important;
    width: calc(100% - 56px) !important;
    box-sizing: border-box !important;
    display: block !important;
  }
  .examples-slider .slick-prev,
  .examples-slider .slick-next {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    z-index: 25 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }
  .examples-slider .slick-prev { left: -16px !important; right: auto !important; }
  .examples-slider .slick-next { right: -16px !important; left: auto !important; }
  .examples-slider .slick-prev:before {
    content: '' !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    background: url('/autohtml-project/arrow-right.svg') no-repeat center center !important;
    background-size: contain !important;
    margin: 0 auto !important;
    opacity: 0.85 !important;
  }
  .examples-slider .slick-next:before {
    content: '' !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    background: url('/autohtml-project/arrow-left.svg') no-repeat center center !important;
    background-size: contain !important;
    margin: 0 auto !important;
    opacity: 0.85 !important;
  }
}

/* =========================================================================
   ДОПОЛНЕНИЯ STEP 7 (БЕЗ ИЗМЕНЕНИЙ):
   - Блок разноцветных услуг: ровно 2 элемента на планшетах (641px - 1024px)
   - Кнопки калькулятора: опущены ниже карточки
   - Модальное окно проектов поверх шапки
   - Единый стиль кнопок навигации
   ========================================================================= */

/* Блок разноцветных услуг на планшетах (641px - 1024px): ровно 2 активных элемента в ряд */
@media (min-width: 641px) and (max-width: 1024px) {
  #swiper-layout {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
    padding: 0 44px !important;
    box-sizing: border-box !important;
  }
  #swiper-layout .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    box-sizing: border-box !important;
  }
  #swiper-layout .swiper-slide {
    width: calc((100% - 20px) / 2) !important;
    max-width: calc((100% - 20px) / 2) !important;
    min-width: calc((100% - 20px) / 2) !important;
    flex: 0 0 calc((100% - 20px) / 2) !important;
    margin-right: 20px !important;
    height: auto !important;
    display: flex !important;
    box-sizing: border-box !important;
  }
  #swiper-layout .service-card2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Кнопки калькулятора: опущены ниже белой карточки */
html body #content .swiper-button-prev1,
html body #content .swiper-button-next1,
.swiper-button-prev1,
.swiper-button-next1 {
  top: auto !important;
  bottom: -24px !important;
  left: 50% !important;
  right: auto !important;
  margin: 0 !important;
  position: absolute !important;
  z-index: 25 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
}

html body #content .swiper-button-prev1,
.swiper-button-prev1 {
  transform: translateX(calc(-100% - 10px)) !important;
}

html body #content .swiper-button-next1,
.swiper-button-next1 {
  transform: translateX(10px) !important;
}

.swiper-button-prev1 img,
.swiper-button-next1 img {
  width: 14px !important;
  height: 14px !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
}

.swiper-button-prev1:after,
.swiper-button-next1:after {
  font-size: 14px !important;
  font-weight: bold !important;
  color: #333333 !important;
}

.calculator-grid.swiper,
.calculator-grid {
  overflow: visible !important;
  padding-bottom: 24px !important;
}

.calculator-section {
  padding-bottom: 54px !important;
  overflow: visible !important;
}

/* Единый стиль кнопок навигации */
html body #content .slider-button,
html body #content .slider-button.prev,
html body #content .slider-button.next,
.slider-button,
.slider-button.prev,
.slider-button.next,
.services-swiper-button-prev,
.services-swiper-button-next,
.prev-button_service,
.next-button_service {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 25 !important;
}

/* Модальное окно проектов поверх шапки */
.modal-overlay,
#modal-overlay,
.modal-overlay2,
div[id^="modal-overlay"] {
  z-index: 999999 !important;
}
.modal-overlay .modal-content,
#modal-overlay .modal-content,
.modal-overlay2 .modal-content,
.modal-content {
  z-index: 1000000 !important;
  position: relative !important;
}

/* =========================================================================
   ДОПОЛНЕНИЯ STEP 9:
   - Десктопные стили для услуг и разноцветных блоков на экранах от 1025px до 1280px+
   ========================================================================= */
@media (min-width: 1025px) {
  #grid-layout {
    display: block !important;
  }
  #swiper-layout {
    display: none !important;
  }
}

/* =========================================================================
   Плавающие кнопки для мобильной версии (MAX + Звонок)
   ========================================================================= */
.fpm-floating-actions {
  display: none;
}

@media (max-width: 768px) {
  .fpm-floating-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    position: fixed !important;
    right: 18px !important;
    bottom: 30px !important;
    z-index: 99999 !important;
  }

  .fpm-fab-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22) !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    box-sizing: border-box !important;
  }

  .fpm-fab-btn:active {
    transform: scale(0.92) !important;
  }

  .fpm-fab-max {
    background: linear-gradient(135deg, #44ccff 0%, #5533ee 66%, #9933dd 100%) !important;
  }

  .fpm-fab-call {
    background-color: #e4d7c5 !important;
  }

  .fpm-fab-icon-phone {
    width: 28px !important;
    height: 28px !important;
    stroke: #ffffff !important;
    display: block !important;
  }

  .header .footer-logo,
  .fpm-header-logo-link .footer-logo {
    width: 60px !important;
    height: 24px !important;
    object-fit: cover !important;
    object-position: left center !important;
    display: block !important;
  }
}

