/* Только мобильный каталог: отдельный слой, не меняющий desktop services-mega. */
.mobile-services:not([open]) { display: none; }
.mobile-services[open] {
  position: fixed; inset: 0; display: flex; flex-direction: column;
  box-sizing: border-box; width: 100%; max-width: 100%; height: 100%; height: 100dvh; max-height: 100%;
  margin: 0; padding: 0; border: 0; overflow: hidden; background: #f5f2ed; color: #272130;
  font: 400 16px/1.45 Manrope, "Segoe UI", sans-serif;
}
.mobile-services *, .mobile-services *::before, .mobile-services *::after { box-sizing: border-box; }
.mobile-services::backdrop { background: rgba(36, 31, 49, .5); touch-action: none; }
.mobile-services button { font: inherit; cursor: pointer; }
.mobile-services svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mobile-services__header { flex: 0 0 auto; padding: calc(12px + env(safe-area-inset-top, 0px)) 20px 20px; background: #fffefc; border-bottom: 1px solid #e6dfd6; }
.mobile-services__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.mobile-services__back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 8px 0 0; border: 0; background: transparent; color: #514859; }
.mobile-services__close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ded7d0; border-radius: 50%; background: #fff; color: #272130; }
.mobile-services__header h2 { margin: 0; font: 550 30px/1.15 Manrope, "Segoe UI", sans-serif; letter-spacing: -.035em; color: #272130; }
.mobile-services__header p { margin: 8px 0 0; font-size: 14px; color: #736b77; }
.mobile-services__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; padding: 16px 16px calc(24px + env(safe-area-inset-bottom, 0px)); scrollbar-width: thin; }
.mobile-services__direction { margin: 0 0 10px; border: 1px solid #e2dbd3; border-radius: 14px; background: #fffefc; overflow: clip; }
.mobile-services__direction > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 62px; padding: 16px; list-style: none; cursor: pointer; font-weight: 600; text-align: left; }
.mobile-services__direction > summary::-webkit-details-marker { display: none; }
.mobile-services__direction > summary::marker { content: ""; }
.mobile-services__direction > summary svg { color: #817780; transition: transform .18s ease; }
.mobile-services__direction[open] > summary { color: #be4e23; background: #fff5ee; }
.mobile-services__direction[open] > summary svg { transform: rotate(180deg); color: #e66c37; }
.mobile-services__content { padding: 8px 16px 20px; }
.mobile-services__quick { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 22px; }
.mobile-services__quick > a, .mobile-services__quick > span { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: 8px 12px; border: 1px solid #ddd4cb; border-radius: 12px; font-size: 13px; line-height: 1.4; }
.mobile-services__group + .mobile-services__group { margin-top: 20px; padding-top: 16px; border-top: 1px solid #eae4dc; }
.mobile-services__group-title { margin: 0 0 8px; color: #736a75; font-size: 12px; font-weight: 650; letter-spacing: .045em; text-transform: uppercase; }
.mobile-services__group > a, .mobile-services__group > span { display: flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 15px; }
.mobile-services a { color: #33283b; text-decoration: none; overflow-wrap: anywhere; }
.mobile-services a[aria-current="page"] { color: #b54a21; font-weight: 650; }
.mobile-services__unavailable { color: #847b83; cursor: default; }
.mobile-services__empty { margin: 8px 4px; }
.mobile-services__empty a { text-decoration: underline; }
.mobile-services :focus-visible { outline: 2px solid #db642f; outline-offset: -3px; }
@media (max-width: 900px) {
  .mobile-menu-panel .mobile-services-trigger {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 50px;
    padding: 0; border: 0; border-bottom: 1px solid #eee9e3; border-radius: 0; background: transparent; color: #302638; font: 600 16px/1.4 Manrope, "Segoe UI", sans-serif; text-align: left; cursor: pointer;
  }
  .atri-mobile-dock-panel .mobile-services-trigger {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 0 14px;
    border: 0; border-radius: 11px; background: #f6f3ee; color: #302b34; font: 600 13px/1.4 Manrope, "Segoe UI", sans-serif; text-align: left; cursor: pointer;
  }
  .mobile-services-trigger::after { content: ""; flex: 0 0 8px; width: 8px; height: 8px; margin-right: 4px; border-top: 1.5px solid #e66c37; border-right: 1.5px solid #e66c37; transform: rotate(45deg); }
}
@media (min-width: 601px) and (max-width: 900px) {
  .mobile-services__header { padding-inline: 32px; }
  .mobile-services__body { padding-inline: 32px; }
}
@media (min-width: 901px) { .mobile-services[open] { display: none; } }
@media (prefers-reduced-motion: reduce) { .mobile-services__direction > summary svg { transition: none; } }
