/* Мобильная вёрстка содержимого страниц (до 767px), 21-23.10.2026. Отделено от mobile-v2.css (шапка, первый экран, плавающие кнопки, акция, крошки) 23.10:
   подключается в header.php на всех страницах, кроме /lp/ (рекламные копии остаются со старой вёрсткой содержимого). */
/* главная: блок "5 филиалов / 50 переездов / 363 дня / >190 писем" на телефоне - сетка 2x2 (22.10.2026) */
@media (max-width: 767px) {
  .home-facts { padding-top: 16px !important; padding-bottom: 16px !important; }
  .home-facts .row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; text-align: left !important; }
  .home-facts .row > div { max-width: none; width: auto; padding: 12px; margin: 0 !important; background: #F8F4F1; border-radius: 12px; }
  .home-facts .row > div img { height: 24px; width: auto; max-width: 28px; object-fit: contain; margin: 0 0 8px !important; display: block; }
  .home-facts .row > div b { display: block; font-size: 16px; line-height: 1.2; margin-bottom: 4px; text-wrap: balance; }
  .home-facts .row > div br { display: none; }
  .home-facts .row > div .gray { display: block; font-size: 13px; line-height: 1.35; }
}

/* главная: блок услуг стопкой карточек (22.10.2026), правила как на s-pereezdom/dveri-tut:
   пирамида к открытой, перекрытие 14px, свёрнутая 62px, открыта ровно одна */
@media (max-width: 767px) {
  .index2-promoservice.m-stack { display: flex; flex-direction: column; flex-wrap: nowrap; isolation: isolate; margin: 0; }
  .m-stack > div { position: relative; flex: none; max-width: 100%; width: 100%; padding: 0; margin: 0; }
  .m-stack > div + div { margin-top: -14px; }
  .m-stack .index2-promoservice-item {
    position: relative; height: 62px; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
    border-radius: 18px; overflow: hidden; cursor: pointer;
    background-size: cover !important; background-position: 72% 42% !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(41,31,38,.07), 0 10px 22px rgba(41,31,38,.14);
    transition: height .45s cubic-bezier(.2,.7,.2,1);
  }
  .m-stack .index2-promoservice-item.open { box-shadow: 0 0 0 2px #fff, 0 18px 36px rgba(41,31,38,.32); }
  .m-stack .index2-promoservice-item::before {
    content: ''; position: absolute; inset: 0; z-index: 0;
    background: linear-gradient(90deg, rgba(248,244,241,.9) 0%, rgba(248,244,241,.82) 50%, rgba(248,244,241,.7) 100%);
    transition: background .3s;
  }
  .m-stack .index2-promoservice-item.open::before { background: linear-gradient(90deg, rgba(31,23,29,.88) 0%, rgba(31,23,29,.66) 45%, rgba(31,23,29,.12) 100%); }
  .m-stack .m-st-txt { position: absolute; left: 16px; right: 60px; top: 13px; z-index: 1; }
  .m-stack .is-below .m-st-txt { top: 27px; }
  .m-stack .open .m-st-txt { top: 26px; }
  .m-stack .index2-promoservice-title { font-family: Roboto, "Open Sans", sans-serif; font-weight: 600; font-size: 17px; line-height: 22px; color: #291F26; text-transform: none; margin: 0; transition: color .3s; }
  .m-stack .index2-promoservice-title br { display: none; }
  .m-stack .open .index2-promoservice-title { font-family: FuturaDemiC, Roboto, sans-serif; font-size: clamp(19px, 5.4vw, 24px); line-height: 1.15; color: #fff; text-transform: uppercase; }
  .m-stack .index2-promoservice-item .btn { margin-top: 14px !important; opacity: 0; pointer-events: none; transition: opacity .3s .18s;
    background: rgba(255,255,255,.14) !important; border: 1px solid rgba(255,255,255,.55) !important; color: #fff !important; padding: 7px 16px !important; font-size: 14px !important; }
  .m-stack .open .btn { opacity: 1; pointer-events: auto; }
  .m-st-ch { position: absolute; right: 16px; top: 19px; z-index: 1; width: 24px; height: 24px; color: #FA8227; transition: transform .3s; }
  .m-stack .is-below .m-st-ch { top: 33px; }
  .m-stack .open .m-st-ch { transform: rotate(180deg); top: 26px; color: #fff; }
  /* 22.10 вечер: наши фото - предметы на светлом фоне, поэтому светлая схема вместо тёмной */
  .m-stack .index2-promoservice-item { background-color: #F8F4F1 !important; text-shadow: none !important; }
  .m-stack .index2-promoservice-item:not(.open) { background-image: none !important; }
  .m-stack .index2-promoservice-item::before, .m-stack .index2-promoservice-item.open::before { background: none !important; }
  .m-stack .index2-promoservice-item::after { display: none !important; }
  .m-stack .index2-promoservice-item.open { background-size: auto 78% !important; background-position: right 12px bottom 14px !important; background-repeat: no-repeat !important; }
  .m-stack .open .m-st-txt { right: 46%; }
  .m-stack .index2-promoservice-title, .m-stack .open .index2-promoservice-title { text-shadow: none !important; color: #291F26 !important; }
  .m-stack .open .index2-promoservice-title { font-size: 21px; text-transform: none; line-height: 1.15; }
  .m-stack .index2-promoservice-item .btn { background: #FA8227 !important; border: 0 !important; color: #fff !important; }
  .m-stack .open .m-st-ch { color: #FA8227; }
  .m-stack .index2-promoservice-item:focus-visible { outline: 3px solid #FA8227; outline-offset: 2px; }
  @media (prefers-reduced-motion: reduce) { .m-stack .index2-promoservice-item, .m-stack .index2-promoservice-item *, .m-stack .index2-promoservice-item::before { transition: none !important; } }
}

/* 22.10: превью видео на главной - у img жёсткая height=315, на телефоне кадр сплющивался */
@media (max-width: 767px) {
  .video-yt-link { display: block; border-radius: 12px; overflow: hidden; }
  .video-yt-link img { display: block; width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 555 / 315; object-fit: cover; }
}

/* 22.10: главная, "Слово генерального директора" по образцу Дениса (только телефон) */
@media (max-width: 767px) {
  .dir-sec { padding: 24px 0 !important; }
  .dir-sec > .container > .row { background: #F8F4F1; border-radius: 24px; margin: 0; padding: 26px 0 24px; overflow: hidden; }
  .dir-sec > .container > .row > [class*="col-"] { padding-left: 20px; padding-right: 20px; }
  .dir-sec .dir-photo-col { display: none !important; }
  .dir-m-eyebrow { font-size: 13px; line-height: 1.3; letter-spacing: .03em; text-transform: uppercase; color: #8C8580; margin-bottom: 16px; }
  .dir-m-grid { display: grid; grid-template-columns: minmax(0, 1fr) 38%; column-gap: 4px; }
  .dir-m-q { display: block; margin-bottom: 12px; }
  .dir-m-title { font-size: 21px; line-height: 1.25; margin-right: -24px; position: relative; z-index: 1; font-weight: 700; color: #2E2724; margin-bottom: 14px; text-wrap: balance; }
  .dir-m-lead { font-size: 15px; line-height: 1.45; color: #4D4642; margin: 0 0 18px; }
  .dir-m-more { display: inline-flex; align-items: center; gap: 12px; background: none; border: 0; padding: 0; color: #FA8227; font-size: 16px; cursor: pointer; }
  .dir-m-more-t { border-bottom: 1.5px solid #FA8227; padding-bottom: 3px; }
  .dir-m-more svg { transition: transform .2s; }
  .dir-m-more:focus { outline: none; }
  .dir-m-more:focus-visible { outline: 2px solid #FA8227; outline-offset: 4px; border-radius: 4px; }
  .dir-m-photo { position: relative; margin: 50px -20px 0 0; display: flex; align-items: flex-end; }
  .dir-m-photo::before { content: ""; position: absolute; top: -18px; right: 0; width: 46%; height: 64%; background: #FBD5B5; border-radius: 80px 0 0 80px; }
  .dir-m-photo img { position: relative; display: block; width: 100%; height: 100%; max-height: 400px; object-fit: cover; object-position: 50% 0; border-radius: 56px 0 0 72px; background: #EEF0F3; }
  .dir-sec .dir-full { display: none; font-style: normal !important; font-size: 15px !important; line-height: 1.6; color: #4D4642; margin: 18px 0 0; }
  .dir-sec.dir-open .dir-full { display: block; }
  .dir-sec.dir-open .dir-m-lead { display: none; }
  .dir-sec.dir-open .dir-m-more svg { transform: rotate(-90deg); }
  .dir-sign { display: flex; align-items: center; gap: 18px; margin-top: 22px; padding-top: 22px; border-top: 1px solid #E8DED6; }
  .dir-sign-ico { flex: 0 0 64px; height: 64px; border-radius: 50%; background: #F0E8E1; display: flex; align-items: center; justify-content: center; }
  .dir-sign .h4 { font-size: 20px; font-weight: 700; margin: 0 0 4px; color: #2E2724; }
  .dir-sign .gray { font-size: 15px; line-height: 1.4; display: block; }
}

/* 22.10: главная, "Сотрудничество с компанией" - карусель из 3 карточек (только телефон) */
@media (max-width: 767px) {
  .coop-sec > .bg-orange { padding-top: 32px !important; padding-bottom: 150px !important; }
  .coop-sec > .bg-orange h3 { font-size: 22px; line-height: 1.25; margin: 0; }
  .coop-sec > .container { margin-top: -122px !important; margin-bottom: 28px !important; }
  .coop-track { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 15px; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -15px; padding: 4px 15px 22px; gap: 12px; }
  .coop-track::-webkit-scrollbar { display: none; }
  .coop-track > [class*="col-"] { flex: 0 0 86%; max-width: 86%; padding: 0; margin: 0 !important; scroll-snap-align: start; display: flex; }
  .coop-track .white-block { padding: 20px 18px 18px !important; border-radius: 14px; box-shadow: 0 8px 18px rgba(120, 60, 10, .16); }
  .coop-track .font-24 { font-size: 20px; line-height: 1.2; margin-bottom: 8px !important; }
  .coop-track ul.ul-img-label { padding-left: 0; margin: 0 !important; }
  .coop-track ul.ul-img-label > li { padding: 5px 0 5px 34px; font-size: 15px; line-height: 1.4; }
  .coop-track ul.ul-img-label img { top: .45em; }
  .coop-dots { display: flex; justify-content: center; gap: 8px; margin-top: 2px; }
  .coop-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: #E6D9CE; transition: width .2s, background .2s; }
  .coop-dots button.on { width: 22px; background: #FA8227; }
  .coop-dots button:focus-visible { outline: 2px solid #FA8227; outline-offset: 3px; }
}

/* 22.10: блок "Полезно" (общий, inc-polezno.php) - вкладки на телефоне */
@media (max-width: 767px) {
  .pol-sec { padding: 32px 0 !important; }
  .pol-sec .h3 { margin-bottom: 16px !important; }
  .pol-tabs { display: flex; gap: 4px; padding: 4px; margin-bottom: 18px; background: #F8F4F1; border-radius: 12px; }
  .pol-tabs button { flex: 1 1 0; min-width: 0; padding: 9px 4px; border: 0; border-radius: 9px; background: transparent; color: #5A524D; font-size: 15px; line-height: 1.2; font-weight: 500; transition: background .2s, color .2s; }
  .pol-tabs button[aria-selected="true"] { background: #FA8227; color: #fff; }
  .pol-tabs button:focus { outline: none; }
  .pol-tabs button:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; }
  .pol-js .row > [class*="col-"] { display: none; margin-bottom: 0 !important; }
  .pol-js .row > [class*="col-"].pol-on { display: block; }
  .pol-js .row > [class*="col-"] > a.orange { display: none; }
  .pol-js .row > [class*="col-"] > a.orange + br { display: none; }
  .pol-js .pt-2 { padding-top: 0 !important; }
  .pol-js .last-news-item-img { border-radius: 12px; margin-bottom: 12px; }
  .pol-all { display: inline-block; margin-top: 12px; color: #FA8227 !important; font-size: 15px; border-bottom: 1.5px solid #FA8227; padding-bottom: 2px; }
}

/* 22.10: блок отзывов (общий inc-wearerekomedut-withtab.php) - компактная карусель на телефоне */
@media (max-width: 767px) {
  .rv-sec { padding: 22px 0 26px !important; }
  .rv-sec .tab-header { margin: 0 -15px; padding: 0 15px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .rv-sec .tab-header::-webkit-scrollbar { display: none; }
  .rv-sec .tab-header:after { left: 0; right: 0; bottom: 0; }
  .rv-sec .tab-header > a { flex: 0 0 auto; min-height: 44px; margin: 0 22px 0 0; font-size: 16px; white-space: nowrap; }
  .rv-sec .tab-header > a:last-of-type { margin-right: 0; }
  .rv-sec .tab-header > a.active { color: #FA8227; box-shadow: inset 0 -2px 0 #FA8227; }
  .rv-sec .tab-content { padding-top: 14px; }

  .rv-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
  .rv-title { font-size: 18px; line-height: 1.25; font-weight: 700; color: #3F3239; min-width: 0; }
  .rv-arrows { display: flex; gap: 8px; flex: 0 0 auto; }
  .rv-arrows button { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(69, 54, 64, .14); display: flex; align-items: center; justify-content: center; }
  .rv-arrows button:disabled { opacity: .4; box-shadow: none; }
  .rv-arrows button:focus { outline: none; }
  .rv-arrows button:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; }

  .rv-track { display: flex !important; align-items: flex-start; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -15px !important; padding: 4px 15px 10px !important; scroll-padding: 0 15px; }
  .rv-track::-webkit-scrollbar { display: none; }
  .rv-track .slick-arrow { display: none !important; }
  .rv-track > .slider-starreview-item, .rv-track > .slider-aboutreview-item { flex: 0 0 86%; max-width: 86%; min-width: 0; margin: 0 !important; scroll-snap-align: start; background: #fff; border-radius: 14px; box-shadow: 0 6px 16px rgba(69, 54, 64, .10); padding: 12px 14px 14px !important; min-height: 0 !important; text-align: left; }

  .rv-track .slider-starreview-item-img { position: relative !important; top: auto; left: auto; width: auto !important; height: auto !important; aspect-ratio: 16 / 9; margin: 0 0 12px; border-radius: 10px; overflow: hidden; background: #2E2622; }
  .rv-track .slider-starreview-item-img::before { content: ""; position: absolute; inset: -24px; background-image: var(--rv-bg); background-size: cover; background-position: center; filter: blur(16px) brightness(.8); transform: scale(1.1); }
  .rv-track .slider-starreview-item-img img { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; }
  .rv-track .slider-starreview-item-img.is-land img { object-fit: cover; }

  .rv-track .font-20 { font-size: 17px; line-height: 1.3; font-weight: 500; color: #3F3239; }
  .rv-track .form-row.mb-1, .rv-track .d-flex.mb-1 { margin-bottom: 4px !important; flex-wrap: nowrap; }
  .rv-track .slider-starreview-item .form-row { margin-left: 0; margin-right: 0; }
  .rv-track .slider-starreview-item .form-row > .col { padding-left: 0; }
  .rv-track .source-review-list img, .rv-track .col-auto img { max-height: 16px; }
  .rv-track .row.no-gutters, .rv-track .d-flex.flex-wrap { flex-wrap: wrap !important; align-items: center; justify-content: space-between; gap: 2px 10px; }
  .rv-track .reviewStars-input { font-size: 13px; flex: 0 0 auto; }
  .rv-track .gray.font-14 { font-size: 13px !important; white-space: nowrap; flex: 0 0 auto !important; max-width: none; }
  .rv-track hr { display: none; }
  .rv-track .slider-starreview-item-text, .rv-track .slider-aboutreview-item-text { margin-top: 10px; font-size: 14px; line-height: 20px; color: rgba(69, 54, 64, .9); position: relative; }
  .rv-track .slider-starreview-item-text.is-collapsible, .rv-track .slider-aboutreview-item-text.is-collapsible { max-height: 80px; overflow: hidden; }
  .rv-track .is-expanded .slider-starreview-item-text.is-collapsible, .rv-track .is-expanded .slider-aboutreview-item-text.is-collapsible { max-height: none; }
  .rv-track .slider-starreview-item-toggle, .rv-track .slider-aboutreview-item-toggle { display: inline-flex !important; width: auto !important; justify-content: flex-start; text-align: left; white-space: nowrap; margin-top: 8px; font-size: 13px; letter-spacing: .02em; }
  @media (max-width: 359px) { .rv-track .slider-starreview-item-toggle, .rv-track .slider-aboutreview-item-toggle { font-size: 12px; letter-spacing: 0; } }

  .rv-dots { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; margin: 4px 0 0; }
  .rv-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 4px; background: #D9CFC8; transition: width .2s, background .2s; }
  .rv-dots button.on { width: 20px; background: #FA8227; }

  .rv-sec .rv-all { margin-top: 14px; }
  .rv-sec .rv-all br { display: none; }
  .rv-sec .rv-all .btn-tab-header { display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px; border: 1.5px solid #FA8227; border-radius: 22px; color: #FA8227; font-size: 15px; line-height: 1.2; background: transparent; }
  .rv-sec .rv-all .btn-tab-header::after { content: ""; width: 7px; height: 7px; border-top: 2px solid #FA8227; border-right: 2px solid #FA8227; transform: rotate(45deg); }
}

/* 22.10: вкладки отзывов на iPhone "плавали" по вертикали (overflow-x:auto даёт и вертикальную прокрутку) и залипал hover-подчерк */
@media (max-width: 767px) {
  .rv-sec .tab-header { height: 46px; overflow-y: hidden; align-items: stretch; touch-action: manipulation; overscroll-behavior-x: contain; }
  .rv-sec .tab-header > a { height: 46px; min-height: 0; padding: 0; line-height: 1; align-items: center; }
  .rv-sec .tab-header > a:hover:not(.active), .rv-sec .tab-header > a:focus:not(.active) { color: #453640; box-shadow: none; }
}

/* 22.10: блок цен (общий inc-price-v2.php, 22 страницы) на телефоне: строки "подпись - цена", вкладки лентой, компактнее */
@media (max-width: 767px) {
  .tarif-wrap.black-theme > .orange-block { padding-top: 28px !important; }
  .tarif-wrap.black-theme > .orange-block > .container { padding-top: 0 !important; }
  .tarif-wrap .tarif-header { margin-bottom: 18px !important; }
  .tarif-wrap .tarif-header, .tarif-wrap .tarif-header * { font-size: 26px !important; line-height: 1.2 !important; margin-bottom: 0; }
  .tarif-wrap > .container.pb-5 { padding-bottom: 28px !important; }
  .tarif-wrap .tab-content { padding-top: 14px !important; }
  .tarif-wrap .tarif-footer { padding-bottom: 0 !important; margin-top: 18px; }

  .swipe-wrap .swipe { overflow-x: auto; overflow-y: hidden; padding-bottom: 0; margin: 0 -15px; padding-left: 15px; scrollbar-width: none; }
  .swipe-wrap .swipe::-webkit-scrollbar { display: none; }
  .swipe-wrap .swipe > .mb-2 { margin-bottom: 0 !important; }
  .swipe-wrap .tab-header { margin: 0; padding-right: 40px; height: 44px; align-items: stretch; }
  .swipe-wrap .tab-header > a { min-height: 0; height: 44px; margin: 0 20px 0 0 !important; padding: 0 !important; font-size: 16px !important; border-bottom: 0 !important; background-image: none !important; }
  .swipe-wrap .tab-header > a.active { box-shadow: inset 0 -2px 0 #FA8227 !important; }
  .swipe-wrap .tab-header > a:hover:not(.active) { box-shadow: none !important; }

  .tarif-table { font-size: 15px; }
  .tarif-table .tarif-table-row { padding: 12px 16px !important; }
  .tarif-table .tarif-table-row > div { padding: 0 !important; }
  .tarif-table .tarif-table-row > .col-12 { margin-bottom: 6px; }
  .tarif-table .tarif-table-row > .col-12.weight-500 { font-size: 16px; font-weight: 600; }
  .tarif-table .tarif-table-row > .col-12 + .col-12:not(.col-md) { font-size: 14px; opacity: .8; }
  .tarif-table .tarif-table-row > .col-12.col-md .tarif-data { font-size: 16px; font-weight: 600; }
  .tarif-table .tarif-table-row > .col:not(.col-12) { flex: 0 0 100%; max-width: 100%; display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 4px 0 !important; text-align: right; }
  .tarif-table .tarif-table-row > .col:not(.col-12) + .col:not(.col-12) { border-top: 1px dashed rgba(128, 128, 128, .28); }
  .tarif-table .tarif-mlabel { flex: 1 1 auto; text-align: left; font-size: 14px !important; font-weight: 400 !important; line-height: 1.35; opacity: .75; color: inherit !important; }
  .tarif-table .tarif-table-row > .col:not(.col-12) .tarif-data, .tarif-table .tarif-table-row > .col.tarif-data { white-space: nowrap; }
  .tarif-table .tarif-table-row > .col.tarif-data { font-size: 16px; }
  .tarif-wrap.black-theme .gray-dbl, .tarif-wrap.black-theme .tarif-table .gray { color: rgba(255, 255, 255, .72) !important; }
  .tarif-wrap .gray-dbl { font-size: 13px !important; line-height: 1.5; padding-left: 4px !important; padding-right: 4px !important; }
}
@media (max-width: 767px) {
  .tarif-table .tarif-table-row > .col:not(.col-12) { gap: 0 !important; }
  .tarif-table .tarif-mlabel { flex: 1 1 0 !important; min-width: 0; margin-right: 12px; opacity: 1 !important; font-family: Roboto, Arial, sans-serif !important; letter-spacing: 0 !important; }
  .tarif-wrap.black-theme .tarif-table .tarif-mlabel { color: rgba(255, 255, 255, .68) !important; }
  .tarif-wrap:not(.black-theme) .tarif-table .tarif-mlabel { color: #7A6F74 !important; }
  .tarif-table .tarif-table-row > .col.tarif-data > .orange { margin-left: 1px; }
}

/* 22.10: квартирный переезд, "Как проходит переезд: три этапа" (.kvp-3) - шагомер + карусель на телефоне */
@media (max-width: 767px) {
  .kvp-3 { padding: 30px 0 28px !important; }
  .kvp-3 .row.mb-5 { margin-bottom: 18px !important; }
  .kvp-3 h2 { font-size: 26px; line-height: 1.2; }
  .kvp-3 .row.mb-5 p { font-size: 15px; line-height: 1.5; }
  .kvp-3 .row.mb-5 p:last-child { margin-bottom: 0; }

  .st-steps { position: relative; display: flex; justify-content: space-between; margin: 0 0 16px; padding: 0; list-style: none; }
  .st-steps::before { content: ""; position: absolute; left: 16.6%; right: 16.6%; top: 17px; height: 2px; background: #E6DCD4; }
  .st-steps::after { content: ""; position: absolute; left: 16.6%; top: 17px; height: 2px; width: var(--st-fill, 0%); background: #FA8227; transition: width .3s; }
  .st-steps li { position: relative; z-index: 1; flex: 1 1 0; text-align: center; }
  .st-steps button { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; padding: 0 4px; border: 0; background: none; color: #8C8085; font-size: 13px; line-height: 1.25; }
  .st-steps .st-n { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff; border: 2px solid #E6DCD4; color: #8C8085; font-weight: 700; font-size: 16px; transition: background .2s, border-color .2s, color .2s; }
  .st-steps .is-done .st-n { border-color: #FA8227; color: #FA8227; }
  .st-steps .is-on .st-n { background: #FA8227; border-color: #FA8227; color: #fff; }
  .st-steps .is-on button { color: #3F3239; font-weight: 600; }
  .st-steps button:focus { outline: none; }
  .st-steps button:focus-visible .st-n { outline: 2px solid #FA8227; outline-offset: 3px; }

  .kvp-3 .card-deck.st-track { display: flex; flex-flow: row nowrap; align-items: flex-start; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 15px; overscroll-behavior-x: contain; scrollbar-width: none; margin: 0 -15px; padding: 2px 15px 12px; }
  .kvp-3 .card-deck.st-track::-webkit-scrollbar { display: none; }
  .kvp-3 .st-track > .card { flex: 0 0 86%; max-width: 86%; margin: 0 !important; scroll-snap-align: start; border-radius: 14px; box-shadow: 0 6px 18px rgba(69, 54, 64, .10); overflow: hidden; }
  .kvp-3 .st-track .card-img-top { aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
  .kvp-3 .st-track .card-body { padding: 14px 16px 16px; }
  .kvp-3 .st-track .card-title { font-size: 17px; line-height: 1.3; font-weight: 600; margin-bottom: 10px; }
  .kvp-3 .st-track .card-text { position: relative; padding-left: 16px; margin-bottom: 6px; font-size: 14.5px; line-height: 1.4; opacity: 1; color: #5A4F54; }
  .kvp-3 .st-track .card-text::before { content: ""; position: absolute; left: 2px; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: #FA8227; }
  .kvp-3 .st-track .card-label { top: 12px; left: 12px; transform: none; font-size: 14px; line-height: 1; padding: 7px 12px; border: 0; border-radius: 14px; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }
  .kvp-3 .st-track .card-label br { display: none; }
  .kvp-3 .text-center .btn-xl { margin-top: 14px; }
}
@media (max-width: 767px) {
  .kvp-3 .card-deck.st-track { transition: height .3s ease; }
  .kvp-3 h2 { text-wrap: balance; }
  @media (prefers-reduced-motion: reduce) { .kvp-3 .card-deck.st-track { transition: none; } }
}

/* 22.10: этапы - карточки одной высоты (по самой длинной), чтобы кнопка под каруселью не прыгала при листании */
@media (max-width: 767px) {
  .kvp-3 .card-deck.st-track { align-items: stretch; transition: none; }
  .kvp-3 .st-track > .card { display: flex; flex-direction: column; }
}
/* 22.10: этапы - в длинной карточке на телефоне 4 пункта + "Ещё N пунктов" */
@media (max-width: 767px) {
  .kvp-3 .st-track .card:not(.st-open) .card-text.st-extra { display: none; }
  .kvp-3 .st-more { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 0 16px; padding: 0; border: 0; background: none; color: #FA8227; font-size: 14.5px; font-weight: 600; }
  .kvp-3 .st-more::after { content: ""; width: 7px; height: 7px; border-right: 2px solid #FA8227; border-bottom: 2px solid #FA8227; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
  .kvp-3 .st-open .st-more::after { transform: rotate(-135deg) translateY(-2px); }
  .kvp-3 .st-more:focus { outline: none; }
  .kvp-3 .st-more:focus-visible { outline: 2px solid #FA8227; outline-offset: 3px; border-radius: 4px; }
}
/* 22.10: квартирный переезд - таблица сроков на телефоне компактнее (в первом столбце теперь ссылки на 1- и 2-комнатные) */
@media (max-width: 767px) {
  .table-responsive > .table.table-bordered.font-14 th, .table-responsive > .table.table-bordered.font-14 td { padding: 10px 10px; font-size: 14px; line-height: 1.35; vertical-align: top; }
  .table-responsive > .table.table-bordered.font-14 td:nth-child(2) { white-space: nowrap; }
}

/* 22.10: квартирный переезд - таблица сроков (.tbl-m-cards) на телефоне карточками; в HTML остаётся таблицей (GEO), на ПК как была */
@media (max-width: 767px) {
  .tbl-m-cards, .tbl-m-cards tbody, .tbl-m-cards tr, .tbl-m-cards td { display: block; border: 0 !important; }
  .tbl-m-cards { background: none; }
  .tbl-m-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .tbl-m-cards tbody { display: grid; gap: 10px; }
  .tbl-m-cards tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px; background: #fff; border-radius: 12px; box-shadow: 0 4px 14px rgba(69, 54, 64, .08); border: 1px solid #EFE8E3 !important; }
  .tbl-m-cards td { padding: 0 !important; font-size: 14px !important; line-height: 1.35; }
  .tbl-m-cards td:first-child { grid-column: 1 / -1; font-size: 16px !important; font-weight: 600; color: #3F3239; }
  .tbl-m-cards td:first-child a { color: #FA8227; }
  .tbl-m-cards td:not(:first-child) { background: #F8F4F1; border-radius: 8px; padding: 8px 10px !important; font-weight: 600; color: #3F3239; white-space: normal !important; }
  .tbl-m-cards td:not(:first-child)::before { display: block; font-size: 12px; font-weight: 400; color: #8C8085; margin-bottom: 2px; }
  .tbl-m-cards td:nth-child(2)::before { content: "Грузчиков"; }
  .tbl-m-cards td:nth-child(3)::before { content: "Срок"; }
  .table-responsive:has(> .tbl-m-cards) { overflow: visible; }
}

/* 22.10: "Как считается стоимость переезда" - вертикальная формула на телефоне (ТЗ Дениса) */
@media (max-width: 767px) {
  .cost-sec { padding-top: 28px !important; padding-bottom: 28px !important; }
  .cost-sec > .container { padding-top: 0 !important; padding-bottom: 0 !important; padding-left: 16px; padding-right: 16px; }
  .cost-sec h2 { font-size: 24px !important; line-height: 1.25; margin-bottom: 14px !important; }
  .cost-sec h2 + br, .cost-sec + br { display: none; }
  .cost-f { display: grid; gap: 8px; padding: 14px; background: #fff; border: 1px solid #EFE8E3; border-radius: 16px; box-shadow: 0 4px 14px rgba(69, 54, 64, .06); }
  .cost-f-row { display: grid; grid-template-columns: 20px 40px minmax(0, 1fr); column-gap: 8px; align-items: center; }
  .cost-f-sign { text-align: center; color: #FA8227; font-size: 22px; font-weight: 700; line-height: 1; }
  .cost-f-ico { width: 40px; height: 40px; border-radius: 10px; background: #FFF1E6; display: flex; align-items: center; justify-content: center; }
  .cost-f-ico img { width: 24px; height: 24px; object-fit: contain; filter: none !important; opacity: 1 !important; }
  .cost-f-txt { font-size: 15px; line-height: 1.35; color: #3F3239; }
  .cost-f-row.is-total { margin: 2px -6px 0; padding: 6px; border-radius: 12px; background: #FFF1E6; }
  .cost-f-row.is-total .cost-f-ico { background: #fff; }
  .cost-f-row.is-total .cost-f-txt { font-weight: 600; }
}

/* 22.10: кейсы (.cases-list, общий блок) на телефоне - вводная сверху, кейсы каруселью */
@media (max-width: 767px) {
  .cases-list > .row.cs-on { display: block; margin: 0 -15px; padding: 26px 0 24px; }
  .cs-on > .case-list-item.black { min-height: 0; padding: 0 20px 14px; }
  .cs-on > .case-list-item.black > br { display: none; }
  .cs-on > .case-list-item.black .font-32 { font-size: 24px !important; }
  .cs-on > .case-list-item.black .font-28 { font-size: 24px !important; margin: 6px 0 8px !important; }
  .cs-on > .case-list-item.black p.gray-dbl { font-size: 14px; line-height: 1.45; margin-bottom: 8px; }
  .cs-on > .case-list-item.black p.font-12 { margin-bottom: 0; font-weight: 600; }
  .cs-track { display: flex; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 15px; overscroll-behavior-x: contain; scrollbar-width: none; padding: 4px 15px 10px; }
  .cs-track::-webkit-scrollbar { display: none; }
  .cs-track > .case-list-item { flex: 0 0 84%; max-width: 84%; min-height: 0; height: 210px; padding: 16px 18px; margin: 0; border-radius: 14px; scroll-snap-align: start; align-items: flex-start; justify-content: flex-end; text-align: left; box-shadow: 0 6px 16px rgba(69, 54, 64, .18); overflow: hidden; }
  .cs-track > .case-list-item .font-20 { font-size: 18px !important; line-height: 1.25 !important; }
  .cs-track > .case-list-item > hr { margin: 10px 0 0; }
  .cs-track > .case-list-item > p:empty, .cs-track > .case-list-item > p.font-20 { display: none; }
  .cs-dots { display: flex; justify-content: center; gap: 7px; margin-top: 4px; }
  .cs-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 4px; background: #D9CFC8; transition: width .2s, background .2s; }
  .cs-dots button.on { width: 20px; background: #FA8227; }
}

/* 22.10: отзывы без вкладок (inc-wearerekomedut.php, "Нас рекомендуют!") - та же карусель, что на главной */
@media (max-width: 767px) {
  .rv-single > .container { padding-top: 22px !important; padding-bottom: 26px !important; }
  .rv-single .rv-h-moved { display: none; }
  .rv-single .rv-title { font-size: 20px; }
  .rv-single .mb-4 { margin-bottom: 0 !important; }
  .rv-all .btn-tab-header.btn-outline-orange { font-size: 15px !important; text-transform: none; letter-spacing: 0; }
}

/* 22.10: автопарк на телефоне - кнопки объёма + карусель карточек машин */
@media (max-width: 767px) {
  .sm-sec { padding-top: 26px !important; padding-bottom: 24px !important; }
  .sm-sec > .container { padding-top: 0 !important; }
  .sm-sec h2 { font-size: 24px !important; margin-bottom: 8px !important; }
  .sm-sec .pb-5.mb-5 { padding-bottom: 0 !important; margin-bottom: 14px !important; font-size: 14px; line-height: 1.5; }
  .sm-chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -15px 12px; padding: 0 15px; }
  .sm-chips::-webkit-scrollbar { display: none; }
  .sm-chips button { flex: 0 0 auto; padding: 8px 12px; border: 1px solid #E6DCD4; border-radius: 18px; background: #fff; color: #3F3239; font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
  .sm-chips button.on { background: #FA8227; border-color: #FA8227; color: #fff; }
  .sm-chips button:focus { outline: none; }
  .sm-chips button:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; }
  .row.sm-track { display: flex; flex-wrap: nowrap; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 15px; overscroll-behavior-x: contain; scrollbar-width: none; margin: 0 -15px; padding: 2px 15px 12px; }
  .row.sm-track::-webkit-scrollbar { display: none; }
  .sm-track > .specmashiny-item { flex: 0 0 86%; max-width: 86%; margin: 0 !important; padding: 12px 16px 16px !important; background: #fff; border-radius: 14px; box-shadow: 0 6px 16px rgba(69, 54, 64, .08); scroll-snap-align: start; display: flex; flex-direction: column; }
  .sm-track > .specmashiny-item > .text-center:first-child br { display: none; }
  .sm-track > .specmashiny-item > .text-center:first-child img { max-height: 104px; width: auto; max-width: 100%; margin-bottom: 8px; }
  .sm-track .specmashiny-item-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 6px 0 !important; font-size: 13px; line-height: 1.35; }
  .sm-track .specmashiny-item-row.bold { display: block; font-size: 15px; font-weight: 600; padding-bottom: 8px !important; color: #3F3239; }
  .sm-track .specmashiny-item-row > span:first-child { font-weight: 400 !important; color: #6F6469; }
  .sm-track .specmashiny-item-row > span:first-child br { display: none; }
  .sm-track .specmashiny-item-row > span + span { font-weight: 600 !important; font-size: 14px !important; color: #3F3239; white-space: nowrap; }
  .sm-track > .specmashiny-item > .text-center.pt-4 { padding-top: 12px !important; margin-top: auto; }
  .sm-track .service4link-item-btn { display: block; width: 100%; padding: 11px 0; border-radius: 22px; background: #FA8227; border-color: #FA8227; color: #fff !important; text-align: center; }
}

/* 22.10: "Что входит..." - аккордеон на телефоне */
@media (max-width: 767px) {
  .row.wi-acc { display: flex; flex-direction: column; gap: 8px; margin: 0; }
  .wi-acc > .wi-item { flex: 0 0 auto; max-width: 100%; width: 100%; margin: 0 !important; padding: 0; background: #fff; border: 1px solid #EFE8E3; border-radius: 14px; box-shadow: 0 3px 10px rgba(69, 54, 64, .05); overflow: hidden; cursor: default; }
  .wi-head { display: grid; grid-template-columns: 56px minmax(0, 1fr) 20px; align-items: center; gap: 12px; width: 100%; padding: 8px 14px 8px 8px; border: 0; background: none; text-align: left; color: #3F3239; }
  .wi-thumb { width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: #F3EEEA; }
  .wi-thumb img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0 !important; border-radius: 0 !important; }
  .wi-t { font-size: 15px; line-height: 1.3; font-weight: 600; }
  .wi-ch { width: 9px; height: 9px; border-right: 2px solid #FA8227; border-bottom: 2px solid #FA8227; transform: rotate(45deg) translateY(-3px); justify-self: center; transition: transform .25s; }
  .wi-item.is-open .wi-ch { transform: rotate(-135deg) translateY(-3px); }
  .wi-body { display: none; padding: 0 16px 14px; }
  .wi-item.is-open .wi-body { display: block; }
  .wi-item.is-open { border-color: #F6D9C2; box-shadow: 0 6px 16px rgba(250, 130, 39, .10); }
  .wi-tip { position: static !important; display: block !important; box-shadow: none !important; padding: 0 !important; background: none !important; font-size: 14px !important; line-height: 1.5; color: #5A4F54; font-weight: 400; }
  .wi-tip::after, .wi-tip::before { display: none !important; }
  .wi-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; color: #FA8227 !important; font-size: 14px; font-weight: 600; }
  .wi-more::after { content: ""; width: 6px; height: 6px; border-top: 2px solid #FA8227; border-right: 2px solid #FA8227; transform: rotate(45deg); }
  .wi-head:focus { outline: none; }
  .wi-head:focus-visible { outline: 2px solid #FA8227; outline-offset: -2px; border-radius: 14px; }
  section:has(> .container > .wi-acc) h2 { margin-bottom: 18px !important; font-size: 24px !important; }
}
@media (max-width: 767px) {
  .rv-merged > .container { padding-top: 18px !important; padding-bottom: 26px !important; }
  .rv-merged .tab-header { margin-top: 0 !important; }
}
@media (max-width: 767px) {
  .rv-merged .slider-starreview-area { margin: 0 !important; padding: 0 !important; }
  .rv-merged .rv-track { margin-bottom: 0 !important; }
}

/* 22.10: "Вопрос-ответ" на телефоне - компактный список, 5 вопросов + "Ещё N" */
@media (max-width: 767px) {
  .faq-sec { padding-top: 28px !important; padding-bottom: 28px; }
  .faq-sec > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
  .faq-sec .row.mb-4 { margin-bottom: 12px !important; }
  .faq-sec .row.mb-4 > .h2 { font-size: 26px !important; margin-bottom: 0 !important; }
  .faq-sec .row.mb-4 > .col-auto { display: none; }
  .faq-sec .faq-item { padding: 0 !important; border-bottom: 1px solid #EFE8E3 !important; }
  .faq-sec .faq-item > a.row { margin: 0; padding: 14px 0; flex-wrap: nowrap; }
  .faq-sec .faq-item > a.row > .col { padding: 0 12px 0 0; font-size: 16px !important; line-height: 1.35; font-weight: 600 !important; color: #3F3239; }
  .faq-sec .faq-item > a.row > .col-auto { padding: 0; }
  .faq-sec .faq-item > a.row > .col-auto i { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #FFF1E6; color: #FA8227; font-size: 20px !important; transition: transform .25s; }
  .faq-sec .faq-item > a[aria-expanded="true"] > .col-auto i { transform: rotate(180deg); }
  .faq-sec .faq-item.is-open { background: #FBF8F6; margin: 0 -15px; padding: 0 15px !important; }
  .faq-sec .faq-item .collapse, .faq-sec .faq-item .collapsing { margin-top: 0 !important; padding-right: 0 !important; font-size: 15px; line-height: 1.5; color: #5A4F54; }
  .faq-sec .faq-item .collapse.show { padding-bottom: 14px; }
  .faq-sec .faq:not(.faq-all) .faq-extra { display: none; }
  .faq-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; }
  .faq-more { padding: 10px 18px; border: 1.5px solid #FA8227; border-radius: 22px; background: none; color: #FA8227; font-size: 15px; font-weight: 600; }
  .faq-link { color: #FA8227 !important; font-size: 15px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
  .faq-link::after { content: ""; width: 6px; height: 6px; border-top: 2px solid #FA8227; border-right: 2px solid #FA8227; transform: rotate(45deg); }
  .faq-more:focus { outline: none; } .faq-more:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; }
}

/* 22.10: "Вам также может понадобиться" на телефоне - строки-ссылки: иконка в квадрате + название + стрелка */
@media (max-width: 767px) {
  .also-sec { padding-top: 26px !important; padding-bottom: 26px !important; }
  .also-sec .h3, .also-sec h2, .also-sec h3 { font-size: 24px !important; line-height: 1.25; margin-bottom: 14px !important; }
  .also-sec .row { flex-direction: column; gap: 8px; margin: 0 !important; }
  .also-sec .row > [class*="col-"] { flex: 0 0 auto; max-width: 100%; padding: 0; margin: 0 !important; }
  .also-sec .row > [class*="col-"] > a { display: grid; grid-template-columns: 48px minmax(0, 1fr) 14px; align-items: center; gap: 14px; padding: 10px 16px 10px 10px; background: #fff; border: 1px solid #EFE8E3; border-radius: 14px; box-shadow: 0 3px 10px rgba(69, 54, 64, .05); text-align: left; text-decoration: none !important; }
  .also-sec .row > [class*="col-"] > a::after { content: ""; width: 8px; height: 8px; border-top: 2px solid #FA8227; border-right: 2px solid #FA8227; transform: rotate(45deg); justify-self: center; }
  .also-sec .row > [class*="col-"] > a > img { width: 48px !important; height: 48px; padding: 10px; object-fit: contain; border-radius: 10px; background: #FFF1E6; margin: 0 !important; }
  .also-sec .row > [class*="col-"] > a > .h4, .also-sec .row > [class*="col-"] > a > div { font-size: 16px !important; line-height: 1.3; font-weight: 600; margin: 0 !important; color: #3F3239 !important; }
  .also-sec .row > [class*="col-"] > a > br { display: none; }
  .also-sec .row > [class*="col-"] > a:active { background: #FBF8F6; }
}
@media (max-width: 767px) { .also-sec .row + .row { margin-top: 8px !important; } }

/* 22.10: общая мобильная карусель (.mc-track) + переезд офиса: кейсы и "Мы профессионально управляем" */
@media (max-width: 767px) {
  .mc-track { display: flex; align-items: stretch; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 15px; overscroll-behavior-x: contain; scrollbar-width: none; margin: 0 -15px; padding: 4px 15px 10px; }
  .mc-track::-webkit-scrollbar { display: none; }
  .mc-track > * { flex: 0 0 84%; max-width: 84%; margin: 0 !important; scroll-snap-align: start; }
  .mc-dots { display: flex; justify-content: center; gap: 7px; margin-top: 4px; }
  .mc-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 4px; background: #D9CFC8; transition: width .2s, background .2s; }
  .mc-dots button.on { width: 20px; background: #FA8227; }

  .mc-cases-row { display: block; padding-bottom: 24px; }
  .mc-cases-row > .cases-v2-first { max-width: 100%; min-height: 0 !important; padding: 24px 20px 18px !important; }
  .mc-cases-row > .cases-v2-first img { max-height: 40px; }
  .mc-cases-row > .cases-v2-first .cases-v2-item-title { font-size: 24px !important; margin: 6px 0 !important; }
  .mc-cases-row > .cases-v2-first p { font-size: 14px; line-height: 1.45; margin-bottom: 10px; }
  .mc-cases { margin: 14px 0 0 !important; }
  .mc-cases > div { padding: 0; }
  .mc-cases .cases-v2-item { display: flex !important; flex-direction: column; justify-content: flex-end; height: 210px !important; min-height: 0 !important; padding: 16px 18px !important; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 16px rgba(69, 54, 64, .18); text-align: left; }
  .mc-cases .cases-v2-item-title { font-size: 17px !important; line-height: 1.3 !important; }
  .mc-cases .cases-v2-item-date:empty { display: none; }

  .mc-proc-sec { margin-top: 28px !important; margin-bottom: 28px !important; }
  .mc-proc-sec h2 { font-size: 24px !important; line-height: 1.25; margin-bottom: 14px !important; }
  .mc-proc > div { flex-basis: 82%; max-width: 82%; padding: 16px 18px !important; background: #fff; border: 1px solid #EFE8E3; border-radius: 14px; box-shadow: 0 4px 14px rgba(69, 54, 64, .06); }
  .mc-proc > div > .d-flex { display: flex !important; align-items: center; gap: 12px; margin-bottom: 8px; }
  .mc-proc > div > .d-flex img { width: 44px; height: 44px; padding: 9px; border-radius: 10px; background: #FFF1E6; object-fit: contain; }
  .mc-proc > div > .d-flex > div { margin: 0 !important; font-size: 17px !important; line-height: 1.25; }
  .mc-proc .ont-14 { font-size: 14px; line-height: 1.5; color: #6F6469 !important; }
}

/* 22.10: переезд офиса - цены каруселью, перечень услуг компактнее; кейсы - вводная ниже */
@media (max-width: 767px) {
  .op-sec { padding-top: 26px !important; padding-bottom: 26px !important; }
  .op-sec h2 { font-size: 24px !important; margin-bottom: 8px !important; }
  .op-sec .gray.font-14.pb-3 { font-size: 13.5px !important; line-height: 1.5; padding-bottom: 0 !important; }
  .op-sec .row > .col-12.mb-4 { margin-bottom: 14px !important; }
  .op-sec .sm-chips { margin-bottom: 10px; }
  .mc-oprice { margin-bottom: 0 !important; }
  .mc-oprice > div { padding: 0 !important; display: flex; }
  .mc-oprice .price-interactive-block { width: 100%; margin: 0; }
  .op-sec .mc-dots { margin-bottom: 16px; }
  .op-sec .price-interactive-servicelist-content { padding: 16px 16px 4px !important; }
  .op-sec .price-interactive-servicelist-content > .font-20 { font-size: 18px !important; margin-bottom: 4px !important; }
  .op-sec .price-interactive-servicelist-item { padding-top: 9px !important; padding-bottom: 9px !important; font-size: 14px !important; }
  .op-sec .col-md-5.pb-4 { padding-bottom: 0 !important; }

  .mc-cases-row > .cases-v2-first { padding: 18px 20px 16px !important; }
  .mc-cases-row > .cases-v2-first img { max-height: 32px; }
  .mc-cases-row > .cases-v2-first .cases-v2-item-title { font-size: 22px !important; margin: 4px 0 6px !important; }
  .mc-cases-row > .cases-v2-first p { font-size: 13.5px; margin-bottom: 10px !important; }
  .mc-cases-row > .cases-v2-first .btn { padding: 7px 18px; font-size: 14px; }
}
@media (max-width: 767px) {
  .mc-cases-row > .cases-v2-first.cases-v2-item { height: auto !important; justify-content: flex-start; gap: 0; }
}

/* 22.10: переезд офиса на телефоне - фотогалерея каруселью, благодарственные письма компактными карточками */
@media (max-width: 767px) {
  .mc-gal > a { flex-basis: 86%; max-width: 86%; display: block; }
  .mc-gal > a img { width: 100% !important; aspect-ratio: 4 / 3; object-fit: cover; margin: 0 !important; border-radius: 12px !important; display: block; }
  .gray-bg:has(.mc-gal) { padding-top: 26px !important; padding-bottom: 22px !important; }
  .gray-bg:has(.mc-gal) h3 { font-size: 22px !important; line-height: 1.25; }
  .gray-bg:has(.mc-gal) .pb-4 { padding-bottom: 12px !important; }

  .lt-sec { padding-top: 26px !important; padding-bottom: 26px !important; }
  .lt-sec > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
  .lt-sec .row > .col-12.mb-5 { margin-bottom: 10px !important; }
  .lt-sec .font-32 { font-size: 24px !important; }
  .lt-sec .gray.font-14 { font-size: 13.5px; line-height: 1.5; }
  .lt-sec .text-right { text-align: left !important; }
  .lt-sec .text-right .btn { padding: 0; border: 0; background: none !important; color: #FA8227 !important; font-size: 15px; font-weight: 600; }
  .lt-sec .text-right .btn::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 6px; border-top: 2px solid #FA8227; border-right: 2px solid #FA8227; transform: rotate(45deg) translateY(-2px); }
  .lt-chips { margin-top: 4px; margin-bottom: 12px; }
  .lt-track { display: flex !important; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 15px; overscroll-behavior-x: contain; scrollbar-width: none; margin: 0 -15px !important; padding: 2px 15px 10px; }
  .lt-track::-webkit-scrollbar { display: none; }
  .lt-track > div { flex: 0 0 88%; max-width: 88%; display: flex !important; flex-direction: row; align-items: stretch; scroll-snap-align: start; border: 1px solid #EFE8E3 !important; border-radius: 14px !important; overflow: hidden; background: #fff !important; box-shadow: 0 4px 14px rgba(69, 54, 64, .07); }
  .lt-track > div > .col-auto { flex: 0 0 96px; max-width: 96px; padding: 12px 0 12px 12px !important; background: #fff; }
  .lt-track > div > .col-auto img { width: 84px; height: 118px; object-fit: cover; object-position: top; border: 1px solid #EFE8E3; border-radius: 6px; display: block; }
  .lt-track > div > .col { padding: 12px 14px !important; min-width: 0; }
  .lt-track .otzyvy-corp-slider-item-logo { margin-bottom: 6px; }
  .lt-track .otzyvy-corp-slider-item-logo img { max-height: 24px; max-width: 120px; width: auto; }
  .lt-track .font-14.flex-grow-1 { font-size: 13.5px !important; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 6px; }
  .lt-track a.orange { font-size: 13px !important; font-weight: 600 !important; }
}
@media (max-width: 767px) { .lt-track > div.lt-off { display: none !important; } }
@media (max-width: 767px) {
  .mc-dots.mc-count > button { display: none; }
  .mc-dots.mc-count::after { content: attr(data-count); font-size: 13px; color: #8C8085; font-weight: 600; }
  .lt-track .font-14.flex-grow-1 { flex-grow: 0 !important; max-height: calc(1.4em * 4); }
  .lt-track > div > .col { justify-content: flex-start !important; }
  .lt-track .otzyvy-corp-slider-item-logo { text-align: left; }
  .lt-track > div > .col-auto { display: flex; align-items: flex-start; }
  .lt-sec .row .text-right { display: none; }
}
@media (max-width: 767px) {
  .lt-track { align-items: flex-start; }
  .lt-track .otzyvy-corp-slider-item-logo { display: block; height: auto !important; min-height: 0 !important; }
  .lt-track .otzyvy-corp-slider-item-logo img { margin: 0 !important; display: block; }
  .lt-track > div > .col > * { flex: 0 0 auto !important; }
}
@media (max-width: 767px) { .lt-track .otzyvy-corp-slider-item-thmb { height: auto !important; display: block; } }
/* 22.10: у .otzyvy-corp-slider в template_styles overflow:hidden - карусель писем не листалась */
@media (max-width: 767px) { .otzyvy-corp-slider.lt-track { overflow-x: auto !important; overflow-y: hidden !important; touch-action: pan-x pan-y; } }
/* 22.10: лишний отступ между вводным абзацем и следующим заголовком (три <br> + py-5 + mt-5) */
@media (max-width: 767px) {
  .intro-sec > .container { padding-top: 16px !important; padding-bottom: 8px !important; }
  .intro-sec > .container > br { display: none; }
  .intro-sec p:last-child { margin-bottom: 0; }
  section.after-intro.mt-5 { margin-top: 16px !important; }
}
/* 22.10: оранжевый блок с пунктами - плитки 2x2 на телефоне */
@media (max-width: 767px) {
  .bg-orange:has(.of-facts) { padding-top: 24px !important; }
  .bg-orange:has(.of-facts) > .container { padding-top: 0 !important; }
  .bg-orange:has(.of-facts) h2 { font-size: 24px !important; margin-bottom: 16px !important; }
  .row.of-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
  .of-facts > div { max-width: none; padding: 14px 10px 12px !important; background: rgba(255, 255, 255, .14); border-radius: 14px; }
  .of-facts .mb-3 { margin-bottom: 6px !important; }
  .of-facts svg, .of-facts .mb-3 img { width: 40px; height: 40px; }
  .of-facts .h4 { font-size: 17px !important; margin-bottom: 4px !important; }
  .of-facts p { font-size: 13px; line-height: 1.35; margin: 0; }
}

/* 22.10: "Основные этапы ..." (.zigzag-line) на телефоне - вертикальная линия этапов: кружок слева, текст справа */
@media (max-width: 767px) {
  section:has(> .container > .row.zigzag-line) { padding-top: 26px !important; padding-bottom: 20px !important; margin-top: 0 !important; }
  section:has(> .container > .row.zigzag-line) > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
  section:has(> .container > .row.zigzag-line) .h2 { font-size: 24px !important; line-height: 1.25; margin-bottom: 16px; }
  .row.zigzag-line { display: block; margin: 0; text-align: left !important; background: none !important; }
  .row.zigzag-line::before, .row.zigzag-line::after { display: none !important; }
  .row.zigzag-line > .zigzag-line-hr { display: none !important; }
  .row.zigzag-line > div { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; max-width: none; padding: 0 0 18px !important; margin: 0 !important; }
  .row.zigzag-line > div::after { content: ""; position: absolute; left: 23px; top: 52px; bottom: 4px; width: 2px; background: #F2D3BA; }
  .row.zigzag-line > div:last-of-type { padding-bottom: 0 !important; }
  .row.zigzag-line > div:last-of-type::after { display: none; }
  .row.zigzag-line .circle-num { grid-row: 1 / span 2; width: 48px !important; height: 48px !important; margin: 0 !important; display: flex; align-items: center; justify-content: center; }
  .row.zigzag-line .circle-num img { width: 24px !important; height: 24px; }
  .row.zigzag-line h3 { margin: 2px 0 4px !important; font-size: 17px !important; line-height: 1.3; text-align: left; }
  .row.zigzag-line p { margin: 0; font-size: 14px !important; line-height: 1.45; color: #6F6469; text-align: left; }
}
@media (max-width: 767px) {
  .row.zigzag-line { max-width: none !important; }
  .row.zigzag-line > div::before { display: none !important; }
  .row.zigzag-line > div::after { display: block !important; content: "" !important; position: absolute; left: 23px; right: auto; top: 54px; bottom: 6px; width: 0; border: 0; border-left: 2px dashed #F58220; opacity: .6; background: none; }
  .row.zigzag-line > div:last-of-type::after { display: none !important; }
}
/* 22.10: все фотогалереи (slider-incontent-2, gallery-pereezd-ofisa, gallery-inset) на телефоне одинаковые - карусель .mc-gal */
@media (max-width: 767px) {
  .mc-gal > a img { height: auto !important; max-width: none !important; }
  section:has(.mc-gal) { padding-top: 26px !important; padding-bottom: 22px !important; }
  section:has(.mc-gal) .h2, section:has(.mc-gal) h2, section:has(.mc-gal) h3 { font-size: 22px !important; line-height: 1.25; margin-bottom: 12px !important; }
  section:has(.mc-gal) .container.py-5, section:has(.mc-gal) .container.pt-5 { padding-top: 0 !important; padding-bottom: 0 !important; }
}
@media (max-width: 767px) { section > .mc-track { margin-left: 0 !important; margin-right: 0 !important; } section > .mc-track + .mc-dots { margin-bottom: 4px; } }
/* 22.10: "Почему стоит заказать..." - карточки как у офиса ("Мы профессионально управляем") */
@media (max-width: 767px) {
  .mc-why > div { display: grid !important; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; align-items: center; }
  .mc-why > div > .mb-3 { margin: 0 !important; }
  .mc-why > div > .mb-3 svg, .mc-why > div > .mb-3 img { width: 44px; height: 44px; display: block; }
  .mc-why > div > .h4 { margin: 0 !important; font-size: 17px !important; line-height: 1.25; }
  .mc-why > div > .h4 br { display: none; }
  .mc-why > div > p { grid-column: 1 / -1; margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: #6F6469 !important; }
  .mc-proc-sec.py-5 { padding-top: 26px !important; padding-bottom: 22px !important; }
  .mc-proc-sec h2 { margin-bottom: 14px !important; }
}
@media (max-width: 767px) {
  .mc-why > div { align-content: start; }
  .mc-why > div > p { opacity: 1 !important; color: #5F555A !important; }
}
/* 22.10: "Вам также может понадобиться" - пункт без ссылки (это текущая страница) на телефоне не показываем */
@media (max-width: 767px) { .also-sec .row > [class*="col-"]:not(:has(> a)) { display: none !important; } }
/* 23.10: "Сколько стоит сборка мебели в Москве" - цена на карточке, пункты плитками 2x2 */
@media (max-width: 767px) {
  .ph-sec { padding-top: 26px !important; padding-bottom: 26px !important; }
  .ph-sec > .container { padding-top: 0 !important; }
  .ph-sec .h3.mb-5 { font-size: 24px !important; line-height: 1.25; margin-bottom: 10px !important; }
  .ph-sec .gray.font-16.mb-5 { margin-bottom: 16px !important; padding-bottom: 0 !important; font-size: 15px !important; line-height: 1.5; }
  .ph-card { background: #FFF1E6; border-radius: 18px; padding: 18px 16px 16px; margin-bottom: 12px; }
  .ph-card .font-48 { font-size: 44px !important; line-height: 1.05; }
  .ph-card .h4 { margin: 2px 0 8px !important; font-size: 18px !important; }
  .ph-card .gray { margin: 0 !important; font-size: 13px; line-height: 1.4; }
  .row.ph-points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
  .ph-points > div { max-width: none; padding: 12px 10px !important; margin: 0 !important; background: #fff; border: 1px solid #EFE8E3; border-radius: 14px; font-size: 13px; line-height: 1.4; color: #5F555A; }
  .ph-points > div > .font-24 { font-size: 17px !important; margin-bottom: 4px !important; line-height: 1.2; }
}
@media (max-width: 767px) { .ph-card .gray { text-wrap: balance; } }
/* 23.10: "Что можно и нельзя хранить" - переключатель и пункты в две колонки */
@media (max-width: 767px) {
  .cs-sec { padding-top: 26px !important; padding-bottom: 22px; }
  .cs-sec h2 { font-size: 24px !important; margin-bottom: 14px !important; }
  .cs-switch { display: flex; gap: 6px; padding: 4px; margin-bottom: 12px; background: #fff; border: 1px solid #EFE8E3; border-radius: 14px; }
  .cs-switch button { flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 6px; border: 0; border-radius: 10px; background: none; color: #5A4F54; font-size: 15px; font-weight: 600; }
  .cs-switch .cs-i { width: 18px; height: 18px; border-radius: 50%; position: relative; flex: 0 0 18px; }
  .cs-switch .cs-ok .cs-i { background: #E3F4E6; } .cs-switch .cs-no .cs-i { background: #FBE4E1; }
  .cs-switch .cs-ok .cs-i::after { content: ""; position: absolute; left: 6px; top: 3px; width: 5px; height: 9px; border: solid #2E9E4F; border-width: 0 2px 2px 0; transform: rotate(45deg); }
  .cs-switch .cs-no .cs-i::before, .cs-switch .cs-no .cs-i::after { content: ""; position: absolute; left: 4px; top: 8px; width: 10px; height: 2px; background: #D9443A; transform: rotate(45deg); }
  .cs-switch .cs-no .cs-i::after { transform: rotate(-45deg); }
  .cs-switch button.cs-ok.on { background: #EAF6EC; color: #23753B; }
  .cs-switch button.cs-no.on { background: #FCEBE8; color: #B5352C; }
  .cs-switch button:focus { outline: none; } .cs-switch button:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; }
  .cs-col { margin-bottom: 0 !important; }
  .cs-col.cs-hide { display: none !important; }
  .cs-col > .white-bg { padding: 16px !important; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
  .cs-col > .white-bg > img, .cs-col > .white-bg > .h4, .cs-col > .white-bg > .gray { grid-column: 1 / -1; }
  .cs-col > .white-bg > img { display: none; }
  .cs-col > .white-bg > .h4 { font-size: 17px !important; line-height: 1.3; padding-top: 0 !important; margin: 0 !important; }
  .cs-col > .white-bg > .gray { font-size: 14px !important; line-height: 1.45; margin: 0 0 2px !important; }
  .cs-col > .white-bg > .d-flex { margin: 0 !important; align-items: center !important; font-size: 13.5px; line-height: 1.3; }
  .cs-col > .white-bg > .d-flex img { width: 22px; height: 22px; flex: 0 0 22px; }
  .cs-col > .white-bg > .d-flex > div { padding: 0 0 0 8px !important; }
}
@media (max-width: 767px) {
  .cs-col.cs-no > .white-bg { grid-template-columns: 1fr; gap: 8px; }
  .cs-col.cs-no > .white-bg > .d-flex { align-items: flex-start !important; font-size: 14px; line-height: 1.35; }
}
/* 23.10: лента вкладок .swipe-wrap - в Safari текст срезался из-за жёсткой высоты 44px: высота по содержимому */
@media (max-width: 767px) {
  .swipe-wrap .tab-header { height: auto !important; align-items: flex-end; }
  .swipe-wrap .tab-header > a { height: auto !important; min-height: 0 !important; padding: 10px 0 9px !important; line-height: 1.35 !important; display: block !important; }
  .swipe-wrap .swipe { padding-bottom: 1px; }
  .swipe-wrap + .tab-content { padding-top: 16px !important; }
}
/* 23.10: градиенты-подсказки по краям ленты вкладок закрывали низ текста */
@media (max-width: 767px) { .swipe-wrap::before, .swipe-wrap::after { display: none !important; } }
/* 23.10: "Наши услуги" - плитки 2 в ряд, как блок с цифрами на главной */
@media (max-width: 767px) {
  section:has(.svc-tiles) { padding-top: 26px !important; padding-bottom: 22px !important; }
  section:has(.svc-tiles) h2 { font-size: 24px !important; margin-bottom: 14px !important; }
  .row.svc-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
  .svc-tiles > .clearfix { display: none !important; }
  .svc-tiles > div { max-width: none; margin: 0 !important; padding: 14px 10px !important; background: #fff; border: 1px solid #EFE8E3; border-radius: 14px; font-size: 14px !important; line-height: 1.3; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; }
  .svc-tiles > div > br { display: none; }
  .svc-tiles > div > img { width: 44px; height: 44px; object-fit: contain; margin: 0 0 8px !important; }
}
/* 23.10: сборка мебели - преимущества слайдером из 3 карточек (ТЗ Дениса) */
@media (max-width: 767px) {
  .adv-sec { padding-top: 26px !important; padding-bottom: 24px !important; }
  .adv-sec h2 { font-size: 22px !important; line-height: 1.25; margin-bottom: 12px !important; }
  .adv-track { align-items: flex-start !important; transition: height .3s ease; }
  .adv-track > .adv-card { flex-basis: 88% !important; max-width: 88% !important; background: #fff; border-radius: 14px; box-shadow: 0 4px 14px rgba(69, 54, 64, .08); padding: 4px 14px; }
  .adv-it { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 12px 0; cursor: pointer; }
  .adv-it + .adv-it { border-top: 1px solid #F0E9E4; }
  .adv-ico { width: 42px; height: 42px; border-radius: 11px; background: #FFF1E6; display: flex; align-items: center; justify-content: center; }
  .adv-t { font-size: 15px; font-weight: 600; line-height: 1.3; color: #3F3239; margin-bottom: 3px; }
  .adv-d { margin: 0; font-size: 13.5px; line-height: 1.45; color: #7A6F74; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .adv-it.open .adv-d { display: block; -webkit-line-clamp: unset; overflow: visible; }
  .adv-more { padding: 0; margin-top: 3px; border: 0; background: none; color: #FA8227; font-size: 13px; font-weight: 600; }
  .adv-nav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 6px; }
  .adv-nav .mc-dots { margin: 0; }
  .adv-arr { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(69, 54, 64, .14); display: flex; align-items: center; justify-content: center; }
  .adv-arr:disabled { opacity: .4; box-shadow: none; }
  .adv-arr:focus { outline: none; } .adv-arr:focus-visible, .adv-more:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; }
  @media (prefers-reduced-motion: reduce) { .adv-track { transition: none; } }
}
@media (max-width: 767px) {
  .adv-sec h2 { font-size: 20px !important; margin-bottom: 10px !important; }
  .adv-it { padding: 10px 0; gap: 10px; grid-template-columns: 40px minmax(0, 1fr); }
  .adv-ico { width: 40px; height: 40px; }
  .adv-b { position: relative; padding-right: 22px; }
  .adv-t { margin-bottom: 2px; }
  .adv-more { position: absolute; top: 0; right: 0; width: 20px; height: 20px; margin: 0; font-size: 0 !important; color: transparent; }
  .adv-more::after { content: ""; position: absolute; left: 6px; top: 4px; width: 7px; height: 7px; border-right: 2px solid #FA8227; border-bottom: 2px solid #FA8227; transform: rotate(45deg); transition: transform .2s; }
  .adv-it.open .adv-more::after { transform: rotate(-135deg); top: 8px; }
  .adv-nav { margin-top: 2px; }
}
/* 23.10: склады - своя схема вместо виджета Яндекса с рекламой (inc-our-warehouse.php, все экраны) */
.wh-map svg { display: block; width: 100%; height: auto; }
.wh-list { list-style: none; counter-reset: wh; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.wh-list li { counter-increment: wh; position: relative; padding: 0 0 10px 40px; border-bottom: 1px solid #EFE8E3; font-size: 14px; line-height: 1.4; }
.wh-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.wh-list li::before { content: counter(wh); position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: #FA8227; color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.wh-list b { display: block; font-weight: 600; color: #3F3239; }
.wh-list span { display: block; color: #7A6F74; }
.wh-list a { display: inline-block; margin-top: 2px; color: #FA8227; font-weight: 600; }
/* 23.10: "Наши услуги" на хранении - список с галочками вместо плиток (казались кнопками) */
@media (max-width: 767px) {
  .row.svc-tiles { grid-template-columns: 1fr 1fr; gap: 0 14px; background: #fff; border-radius: 16px; padding: 6px 14px; }
  .svc-tiles > div { flex-direction: row !important; align-items: flex-start !important; text-align: left; border: 0 !important; border-radius: 0 !important; background: none !important; padding: 10px 0 !important; font-size: 14px !important; font-family: inherit !important; font-weight: 500; color: #3F3239; }
  .svc-tiles > div > img { display: none !important; }
  .svc-tiles > div::before { content: ""; flex: 0 0 18px; height: 18px; margin: 1px 8px 0 0; border-radius: 50%; background: #FFF1E6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%23FA8227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
}
/* 23.10: "Характеристики складов" (inc-characteristics-warehouses.php) - плитки 2x2, без нахлёста следующего блока */
@media (max-width: 767px) {
  section:has(> .container > .chr-tiles) { padding-top: 26px !important; padding-bottom: 22px !important; margin-bottom: 0 !important; }
  section:has(> .container > .chr-tiles) h2 { font-size: 24px !important; margin-bottom: 14px !important; }
  section:has(> .container > .chr-tiles) + * { margin-top: 0 !important; }
  .row.chr-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
  .chr-tiles > div { max-width: none; margin: 0 !important; padding: 12px 10px !important; background: rgba(255, 255, 255, .14); border-radius: 14px; font-size: 14px !important; line-height: 1.3; }
  .chr-tiles > div[style*="display:none"] { display: none !important; }
  .chr-tiles .hran-4-item-img img { width: 40px; height: 40px; object-fit: contain; margin-bottom: 6px !important; }
  .chr-tiles .hran-4-item-img { height: auto !important; min-height: 0 !important; margin: 0 !important; }
}
/* 23.10: "Характеристики складов" - белая карточка "Стоимость" (.hran-4-block) была абсолютной и наезжала на плитки: на телефоне в потоке под плитками */
@media (max-width: 767px) {
  section:has(> .container > .chr-tiles) > .hran-4-block { position: static !important; transform: none !important; width: auto !important; margin: 16px 0 0 !important; left: auto !important; right: auto !important; bottom: auto !important; padding: 18px 16px !important; background: #fff; color: #3F3239; border-radius: 16px; text-align: center; }
  section:has(> .container > .chr-tiles) > .hran-4-block .h3 { font-size: 20px !important; margin-bottom: 4px !important; }
  section:has(> .container > .chr-tiles) > .hran-4-block .font-24 { font-size: 20px !important; font-weight: 600; color: #FA8227; margin-bottom: 6px !important; }
  section:has(> .container > .chr-tiles) > .hran-4-block .font-24 br { display: none; }
  section:has(> .container > .chr-tiles) > .hran-4-block .gray { font-size: 13.5px !important; line-height: 1.45; }
  section:has(> .container > .chr-tiles) { padding-left: 15px; padding-right: 15px; }
  section:has(> .container > .chr-tiles) > .container { padding: 0; }
}
/* 23.10: "Наши услуги" на хранении - стопка карточек (как .m-stack на главной) */
@media (max-width: 767px) {
  .svc-stack { display: flex; flex-direction: column; }
  .svc-card { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; min-height: 64px; padding: 18px 18px 30px; margin-top: -16px; background: #F7F2EE; border-radius: 22px; box-shadow: 0 -6px 16px rgba(69, 54, 64, .08); cursor: pointer; transition: min-height .3s; }
  .svc-card:first-child { margin-top: 0; }
  .svc-t { font-size: 17px; font-weight: 700; line-height: 1.25; color: #3F3239; max-width: 60%; }
  .svc-ch { flex: 0 0 12px; width: 12px; height: 12px; margin-top: 4px; border-right: 2.5px solid #FA8227; border-bottom: 2.5px solid #FA8227; transform: rotate(45deg); transition: transform .25s; }
  .svc-card.open .svc-ch { transform: rotate(-135deg); margin-top: 9px; }
  .svc-img { display: none; position: absolute; right: 14px; bottom: 18px; width: 120px; height: 120px; object-fit: contain; }
  .svc-card.open { min-height: 168px; box-shadow: 0 -6px 18px rgba(69, 54, 64, .12), 0 8px 18px rgba(69, 54, 64, .10); background: #F5EEE8; }
  .svc-card.open .svc-img { display: block; }
  .svc-card:focus { outline: none; } .svc-card:focus-visible { outline: 3px solid #FA8227; outline-offset: 2px; }
  @media (prefers-reduced-motion: reduce) { .svc-card, .svc-ch { transition: none; } }
}
/* 23.10: "Наши услуги" на хранении - по ТЗ Дениса сетка 2x4: картинка услуги сверху, название по центру, без стрелок (заменяет стопку и список с галочками) */
@media (max-width: 767px) {
  section:has(> .container > .svc-tiles) { padding-left: 16px !important; padding-right: 16px !important; }
  section:has(> .container > .svc-tiles) > .container { padding: 0 !important; }
  .row.svc-tiles { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; align-items: stretch; margin: 0 !important; padding: 0 !important; background: none !important; border-radius: 0 !important; }
  .svc-tiles > .clearfix { display: none !important; }
  .svc-tiles > div { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start; min-width: 0; max-width: none; margin: 0 !important; padding: 12px 10px 14px !important; background: #fff !important; border: 0 !important; border-radius: 14px !important; box-shadow: 0 4px 14px rgba(69, 54, 64, .09); text-align: center; font-family: inherit !important; font-size: 14px !important; font-weight: 600; line-height: 1.3; color: #3F3239; overflow-wrap: break-word; hyphens: manual; }
  .svc-tiles > div::before { content: none !important; display: none !important; }
  .svc-tiles > div > br { display: none; }
  .svc-tiles > div > img { display: block !important; width: 100px; height: 100px; max-width: 100%; object-fit: contain; margin: 0 auto 8px !important; }
}
@media (max-width: 359px) {
  .svc-tiles > div > img { width: 84px; height: 84px; }
  .svc-tiles > div { font-size: 13px !important; }
}
/* 23.10: вкладки "Частным лицам / Организациям / Торговым компаниям" (хранение) на телефоне - пункты-ссылки видно как ссылки,
   формы телефон + e-mail в каждой вкладке скрыты, под вкладками одна кнопка "Перезвоните мне" (открывает #callback). JS-метка tf-sec */
@media (max-width: 767px) {
  .tf-sec .tab-pane > .row > .font-16.mb-4 a.dark,
  .tf-sec .tab-pane > .row > .font-16.mb-4 b > a,
  .tf-sec .tab-pane > .row > .font-16.mb-4 a > b { color: #FA8227 !important; }
  .tf-sec .tab-pane > .row > .font-16.mb-4 a.dark { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(250, 130, 39, .5); }
  .tf-sec .tab-pane > .row > .font-16.mb-4 a.dark::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 6px; border-right: 2px solid #FA8227; border-top: 2px solid #FA8227; transform: rotate(45deg); vertical-align: 2px; }
  .tf-sec .tab-pane .tf-off { display: none !important; }
  .tf-cta { display: block; width: 100%; max-width: 340px; margin: 4px auto 24px; text-align: center; }
}
@media (min-width: 768px) { .tf-cta { display: none !important; } }
/* 23.10: "Примеры расчета стоимости" на хранении - вкладки, без вытянутой фотографии, сумма крупно (JS-метки ce-row, ce-tabs) */
@media (max-width: 767px) {
  .ce-tabs { display: flex; gap: 4px; padding: 4px; margin: 0 0 14px; background: #fff; border-radius: 12px; }
  .ce-tabs button { flex: 1 1 0; min-width: 0; padding: 9px 4px; border: 0; border-radius: 9px; background: transparent; color: #5A524D; font-size: 15px; line-height: 1.2; font-weight: 500; -webkit-tap-highlight-color: transparent; }
  .ce-tabs button[aria-selected="true"] { background: #FA8227; color: #fff; }
  .ce-tabs button:focus { outline: none; } .ce-tabs button:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; }
  .ce-row > .ce-off { display: none !important; }
  .ce-row > div { margin-bottom: 0 !important; }
  .ce-row .hran-6-item { padding: 18px 18px 16px !important; border-radius: 16px; min-height: 0; }
  .ce-row .hran-6-item::before { display: none !important; }
  .ce-row .hran-6-item h3 { display: none; }
  .ce-row .ce-desc { margin: 0 0 12px; font-size: 15px; line-height: 1.45; color: #3F3239; }
  .ce-row .ce-desc span { display: block; }
  .ce-row .ce-desc span + span { margin-top: 6px; color: #7A6F74; }
  .ce-row .hran-6-item hr { display: none; }
  .ce-row .hran-6-item p.gray { margin: 0; padding: 12px 14px 0; background: #FFF4EA; border-radius: 12px 12px 0 0; font-size: 13px; line-height: 1.2; text-transform: none; }
  .ce-row .ce-total { margin: 0; padding: 4px 14px 12px; background: #FFF4EA; border-radius: 0 0 12px 12px; line-height: 1.3; }
  .ce-row .ce-total b { font-weight: 400; }
  .ce-row .ce-f { display: block; font-size: 14px; color: #5A524D; }
  .ce-row .ce-sum { display: block; margin-top: 2px; font-size: 22px; font-weight: 700; color: #FA8227; }
}
/* 23.10: "Примеры расчета" - по просьбе Дениса вернули фото: квадратная миниатюра слева от описания (исходники 302px, баннер на всю ширину был бы мыльным) */
@media (max-width: 767px) {
  .ce-row .hran-6-item::before { display: block !important; content: ""; position: static !important; float: left; width: 96px; height: 96px; margin: 2px 14px 10px 0; border-radius: 12px; background-size: cover !important; background-position: 50% 82% !important; }
  .ce-row .hran-6-item.two::before { background-position: 30% 70% !important; }
  .ce-row .ce-desc { overflow: hidden; }
  .ce-row .hran-6-item p.gray { clear: both; }
}
@media (max-width: 359px) {
  .ce-row .hran-6-item::before { width: 80px; height: 80px; margin-right: 12px; }
  .ce-row .ce-desc { font-size: 14px; }
}
/* 23.10: "Примеры расчета" - новые иллюстрации (/images/primer-rascheta-ofis.webp, -dom.webp, 1200x800) баннером сверху карточки вместо миниатюры из узких исходников */
@media (max-width: 767px) {
  .ce-row .hran-6-item { padding-top: 0 !important; overflow: hidden; }
  .ce-row .hran-6-item::before, .ce-row .hran-6-item.two::before { float: none; width: auto !important; height: auto !important; aspect-ratio: 2 / 1; margin: 0 -18px 14px !important; border-radius: 0 !important; background: #EDE7E2 url(/images/primer-rascheta-ofis.webp) 50% 70% / cover no-repeat !important; }
  .ce-row .hran-6-item.two::before { background-image: url(/images/primer-rascheta-dom.webp) !important; }
}
@media (max-width: 359px) { .ce-row .hran-6-item::before { width: auto; height: auto; margin-right: -18px; } }
/* 23.10: вкладки на хранении по ТЗ Дениса (JS hvList, метки hv-*): панель вкладок, белая карточка списка, строки сеткой иконка | текст | стрелка */
@media (max-width: 767px) {
  .tf-sec .swipe-wrap { margin: 0 0 12px; background: #F8F4F1; border-radius: 12px; overflow: hidden; }
  .tf-sec .swipe-wrap .swipe { margin: 0 !important; padding: 0 14px !important; overflow-x: auto; overscroll-behavior-x: contain; }
  .tf-sec .swipe-wrap .tab-header { flex-wrap: nowrap; padding-right: 0 !important; }
  .tf-sec .swipe-wrap .tab-header::after { display: none !important; }
  .tf-sec .swipe-wrap .tab-header > a { flex: 0 0 auto; white-space: nowrap; margin-right: 22px !important; padding: 12px 0 10px !important; color: #5A524D; font-size: 15px !important; }
  .tf-sec .swipe-wrap .tab-header > a:last-child { margin-right: 0 !important; }
  .tf-sec .swipe-wrap .tab-header > a.active { color: #FA8227 !important; box-shadow: inset 0 -2px 0 #FA8227 !important; }
  .tf-sec .swipe-wrap + .tab-content { padding-top: 0 !important; margin-bottom: 0 !important; }
  .tf-sec .tab-pane > .row > .hv-col { margin-bottom: 0 !important; }
  .hv-list { background: #fff; border-radius: 16px; box-shadow: 0 4px 16px rgba(69, 54, 64, .09); padding: 2px 14px; }
  .hv-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 20px; column-gap: 12px; align-items: center; padding: 12px 0; color: #3F3239 !important; text-decoration: none !important; }
  .hv-row + .hv-row { border-top: 1px solid #EFE8E3; }
  .hv-ic { width: 44px; height: 44px; border-radius: 10px; background: #FFF1E6; display: flex; align-items: center; justify-content: center; }
  .hv-ic img { width: 30px !important; height: auto !important; max-width: none; margin: 0 !important; mix-blend-mode: multiply; }
  .hv-t { font-size: 15.5px; font-weight: 600; line-height: 1.35; color: #3F3239; }
  .hv-link .hv-t { color: #3F3239; }
  .hv-link .hv-ar { justify-self: end; width: 9px; height: 9px; border-top: 2px solid #FA8227; border-right: 2px solid #FA8227; transform: rotate(45deg); margin-right: 4px; }
  .hv-row::after, .hv-link::after { content: none !important; display: none !important; }
  .hv-link:active { background: #FFF8F2; }
  .hv-link:focus-visible { outline: 2px solid #FA8227; outline-offset: 2px; border-radius: 8px; }
  .tf-sec .tab-pane > .row > .col-12.font-16:not(.hv-col):not(.tf-off) { margin-top: 14px; font-size: 15px !important; line-height: 1.5; text-align: left; }
  .tf-sec .tf-cta { display: block; width: 100%; max-width: none; margin: 16px 0 24px; padding: 13px 16px; border-radius: 12px; font-size: 16px; }
}
/* 23.10: галереи .mc-gal - единый вид на всех страницах: у gallery-inset (/gruzchiki/) ссылки с px-3 сужали и сдвигали фото; лишние отступы кнопки над заголовком и контейнера снизу */
@media (max-width: 767px) {
  .mc-gal > a { padding: 0 !important; }
  .container:has(> .mc-gal) > h3, .container:has(> .mc-gal) > .h2, .container:has(> .mc-gal) > h2 { padding-top: 8px !important; }
  .container:has(> .mc-gal) > .text-center.mb-5 { margin-bottom: 24px !important; }
  .container.pb-5:has(> .mc-gal) { padding-bottom: 0 !important; }
}
/* 23.10: "Мы не просто храним имущество..." (хранение) - аккордеон по ТЗ Дениса. Разметка .ha-* в /hranenie-imushestva/index.php.
   ПК: заголовки карточек скрыты, текст абзацами как раньше. Телефон: карточки свёрнуты, открыта максимум одна (JS haAcc) */
.ha-acc .ha-h { margin: 0 !important; padding: 0 !important; }
@media (min-width: 768px) {
  .ha-acc .ha-h { display: none; }
}
@media (max-width: 767px) {
  section:has(> .container .ha-acc) { padding-top: 28px !important; padding-bottom: 24px !important; }
  .ha-title { font-size: 24px !important; line-height: 1.25; margin-bottom: 16px !important; }
  .ha-acc { display: grid; gap: 10px; }
  .ha-item { background: #fff; border: 1px solid #EAE3DE; border-radius: 14px; transition: border-color .2s; }
  .ha-item.open { border-color: rgba(250, 130, 39, .55); }
  .ha-btn { display: grid; grid-template-columns: minmax(0, 1fr) 14px; align-items: center; column-gap: 12px; width: 100%; padding: 15px 16px; border: 0; background: none; text-align: left; font: inherit; font-size: 16.5px; font-weight: 700; line-height: 1.3; color: #3F3239; -webkit-tap-highlight-color: transparent; cursor: pointer; }
  .ha-btn::after { content: ""; width: 9px; height: 9px; margin: -4px 0 0 2px; border-right: 2px solid #B8ACA5; border-bottom: 2px solid #B8ACA5; transform: rotate(45deg); transition: transform .25s, border-color .2s; }
  .ha-item.open .ha-btn::after { transform: rotate(-135deg); margin-top: 4px; border-color: #FA8227; }
  .ha-btn:focus { outline: none; } .ha-btn:focus-visible { outline: 2px solid #FA8227; outline-offset: -2px; border-radius: 14px; }
  .ha-js .ha-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
  .ha-js .ha-item.open .ha-panel { grid-template-rows: 1fr; }
  .ha-in { overflow: hidden; min-height: 0; padding: 0 16px; }
  .ha-in > p:first-child { border-top: 1px solid #F0EAE6; padding-top: 12px; }
  .ha-in > p { margin: 0 0 10px; font-size: 15px !important; line-height: 1.55; color: #4A3F45; }
  .ha-in > p:last-child { margin-bottom: 16px; }
  .ha-js .ha-item:not(.open) .ha-in { visibility: hidden; transition: visibility 0s .3s; }
  @media (prefers-reduced-motion: reduce) { .ha-js .ha-panel, .ha-btn::after { transition: none; } }
}

@media (max-width: 767px) { .tarif-wrap .tarif-table .tarif-mlabel { display: block; } }
