/* RAY MOBILE SEARCH CENTER + PRESSED BUTTONS 20260715
   Точечно исправляет только мобильное окно поиска и подсветку нажатий. */

@media (max-width: 767px) {
  html.rm-search-open-html,
  body.rm-search-open-body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  /* Окно поиска всегда выше хедера и центрировано относительно экрана. */
  .rm-search-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483646 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding:
      max(78px, env(safe-area-inset-top))
      14px
      max(96px, calc(env(safe-area-inset-bottom) + 76px))
      14px !important;
    overflow: hidden !important;
    background: rgba(41, 25, 33, .66) !important;
    -webkit-backdrop-filter: blur(9px) !important;
    backdrop-filter: blur(9px) !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
  }

  .rm-search-overlay.is-open {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .rm-search-overlay .rm-search-card {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: min(430px, 100%) !important;
    max-width: 430px !important;
    max-height: min(520px, calc(100dvh - 190px)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 24px 18px 20px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border: 1px solid rgba(111, 21, 59, .14) !important;
    border-radius: 24px !important;
    background: #fff !important;
    color: #2f252a !important;
    box-shadow: 0 28px 72px rgba(29, 13, 21, .34) !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .rm-search-overlay .rm-search-close {
    position: fixed !important;
    z-index: 2147483647 !important;
    top: max(16px, env(safe-area-inset-top)) !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(111, 21, 59, .16) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #70163a !important;
    box-shadow: 0 9px 28px rgba(35, 15, 24, .22) !important;
    box-sizing: border-box !important;
  }

  .rm-search-overlay .rm-search-close i {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .rm-search-overlay #search,
  .rm-search-overlay form,
  .rm-search-overlay .input-group {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .rm-search-overlay input[name="search"],
  .rm-search-overlay input[type="search"],
  .rm-search-overlay input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 2px solid rgba(151, 34, 83, .38) !important;
    border-radius: 17px !important;
    background: #fff !important;
    color: #2f252a !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    outline: none !important;
  }

  .rm-search-overlay input:focus {
    border-color: #a91455 !important;
    box-shadow: 0 0 0 4px rgba(169, 20, 85, .10) !important;
  }

  .rm-search-overlay .rm-live-search-results {
    max-height: min(300px, calc(100dvh - 330px)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Единая заметная подсветка нажатия в мобильном нижнем меню. */
  .ray-mobile-bottom-nav a,
  .ray-mobile-bottom-nav button {
    border-radius: 15px !important;
    transition:
      background-color .14s ease,
      color .14s ease,
      transform .10s ease,
      box-shadow .14s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .ray-mobile-bottom-nav a:active,
  .ray-mobile-bottom-nav button:active,
  .ray-mobile-bottom-nav a.ray-ui-pressed,
  .ray-mobile-bottom-nav button.ray-ui-pressed,
  .ray-mobile-bottom-nav a.ray-ui-active,
  .ray-mobile-bottom-nav button.ray-ui-active {
    background: #fde8ef !important;
    color: #8f0d46 !important;
    box-shadow: inset 0 0 0 1px rgba(143, 13, 70, .10) !important;
    transform: scale(.96) !important;
  }

  .ray-mobile-bottom-nav a.ray-ui-active,
  .ray-mobile-bottom-nav button.ray-ui-active {
    transform: none !important;
  }

  /* Подсветка всех интерактивных кнопок мобильного хедера. */
  .rm-header .ray-mobile-phone-open,
  .rm-header .rm-burger,
  .rm-header .ray-home-mobile-title,
  .rm-header .rm-search-open,
  .rm-header .rm-icon-btn {
    transition:
      background-color .14s ease,
      color .14s ease,
      transform .10s ease,
      box-shadow .14s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .rm-header .ray-mobile-phone-open:active,
  .rm-header .rm-burger:active,
  .rm-header .ray-home-mobile-title:active,
  .rm-header .rm-search-open:active,
  .rm-header .rm-icon-btn:active,
  .rm-header .ray-ui-pressed,
  .rm-header .ray-ui-active {
    background: #fde8ef !important;
    color: #8f0d46 !important;
    box-shadow:
      inset 0 0 0 1px rgba(143, 13, 70, .12),
      0 7px 19px rgba(91, 20, 48, .11) !important;
    transform: scale(.95) !important;
  }

  .rm-header .ray-ui-active {
    transform: none !important;
  }
}

@media (max-width: 370px) {
  .rm-search-overlay {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .rm-search-overlay .rm-search-card {
    padding: 20px 14px 17px !important;
    border-radius: 20px !important;
  }
}
