@charset "UTF-8";
/* bytecomp.ru — мобильная адаптация. Всё внутри @media, десктоп не затрагивается. */

#m-bar, #m-drawer, #m-shade { display: none; }

@media screen and (max-width: 767px) {

	/* Пока mobile.js не перестроил страницу (до m-ready), колонки стоят как на компьютере и спецпредложения оказываются
	   на первом экране — их ленивые картинки (~300 КБ) грузились сразу. Скрытые картинки браузер не грузит; после
	   перестройки они внизу страницы и грузятся, только когда до них долистают. */
	html:not(.m-ready) .spec .tovar .img img { display: none; }

	/* Всё привязано к html.m-ready — класс ставит mobile.js, без него стили не действуют */
	html.m-ready, .m-ready body { min-width: 0 !important; width: 100%; overflow-x: hidden; }
	.m-ready body { -webkit-text-size-adjust: 100%; padding-top: 52px; }
	/* У картинок в текстах размеры часто зашиты в HTML (style="width:700px; height:527px").
	   !important нужен, чтобы перебить такой inline-стиль: ширина ужимается под экран, а высота
	   пересчитывается по пропорциям картинки — иначе картинка сплющивается. */
	.m-ready .content img { max-width: 100% !important; height: auto !important; }

	/* ---------- Верхняя панель ---------- */
	#m-bar {
		display: flex; align-items: center; gap: 8px;
		position: fixed; top: 0; left: 0; right: 0; height: 52px; z-index: 1000;
		padding: 0 10px; box-sizing: border-box;
		background: linear-gradient(180deg, #006c9d 0%, #0183bd 100%); box-shadow: 0 2px 8px rgba(0,60,100,.25);
	}
	#m-bar .m-logo { display: flex; align-items: center; }
	#m-bar .m-logo img { height: 38px; width: auto; }   /* белый логотип img/logo-white.png */
	#m-bar .m-logo { margin-right: auto; }   /* логотип слева, трубка и корзина справа (роботик из панели убран 2026-10-23 — он теперь в баннере) */
	#m-bar .m-burger {
		width: 40px; height: 40px; padding: 10px 9px; border: 0; background: rgba(255,255,255,.18); border-radius: 10px;
		display: flex; flex-direction: column; justify-content: space-between; cursor: pointer;
	}
	#m-bar .m-burger span { display: block; height: 3px; background: #fff; border-radius: 2px; }
	#m-bar .m-phone, #m-bar .m-cab, #m-bar .m-cart {
		position: relative; width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,.18) no-repeat center;
		background-size: 22px 22px;
	}
	#m-bar .m-phone { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E"); }
	#m-bar .m-cart { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7.2 14.8 8.1 13h7.5c.8 0 1.4-.4 1.7-1l3.6-6.5-1.7-1-3.6 6.5H8.5L4.3 2H1v2h2l3.6 7.6L5.2 14c-.7 1.4.3 3 1.8 3h12v-2H7.4c-.1 0-.2-.1-.2-.2z'/%3E%3C/svg%3E"); }
	/* личный кабинет (2026-10-30): значок есть, только если в шапке страницы есть пункт td.cab-menu; .on — покупатель вошёл */
	#m-bar .m-cab { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0 2c-4.4 0-8 2.2-8 5v2h16v-2c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E"); }
	#m-bar .m-cab.on::after { content: ""; position: absolute; right: 5px; bottom: 5px; width: 9px; height: 9px; border: 2px solid #1346aa; border-radius: 50%; background: #2ecc71; }
	#m-bar .m-cart i {
		position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; box-sizing: border-box;
		background: #e30613; color: #fff; border-radius: 9px; font: bold 11px/18px arial; text-align: center; font-style: normal;
	}

	/* ---------- Выдвижное меню ---------- */
	#m-shade { position: fixed; inset: 52px 0 0 0; background: rgba(0,0,0,.4); z-index: 998; }
	#m-drawer {
		display: block; position: fixed; top: 52px; bottom: 0; left: 0; width: 86%; max-width: 340px; z-index: 999;
		background: #fff; overflow-y: auto; -webkit-overflow-scrolling: touch;
		transform: translateX(-105%); transition: transform .25s ease; box-shadow: 4px 0 12px rgba(0,0,0,.2);
	}
	.m-open #m-drawer { transform: none; }
	.m-open #m-shade { display: block; }
	.m-open body { overflow: hidden; }
	#m-drawer .m-drawer-in { padding: 6px 0 30px; font-family: arial, sans-serif; }
	#m-drawer .m-sec { border-bottom: 1px solid #e6e6e6; }
	#m-drawer .m-sec a { display: block; padding: 12px 16px; color: #006b9d; font-size: 15px; text-decoration: none; border-top: 1px solid #f2f2f2; }
	#m-drawer .m-sec a:active { background: #e8f4fa; }
	#m-drawer .m-title { padding: 16px 16px 6px; font-size: 12px; text-transform: uppercase; color: #888; letter-spacing: .5px; }
	#m-drawer .m-callback { display: block; margin: 14px 16px 4px; padding: 12px; background: #006b9d; color: #fff; text-align: center; border-radius: 6px; font-size: 15px; text-decoration: none; }
	#m-drawer .m-shop { padding: 8px 16px; font-size: 14px; }
	#m-drawer .m-shop a { color: #000; display: block; padding: 3px 0; }
	#m-drawer .m-shop .m-tel { color: #006b9d; font-weight: bold; text-decoration: none; }

	/* Блок контактов в меню — копия блока из шапки (header-contacts.css), крупнее под палец.
	   Стили полные: на страницах без шапки header-contacts.css не подключён. */
	:is(#m-drawer, #m-sheet-contacts) .m-ct { padding: 2px 14px 6px; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct {
		position: static; height: auto; padding: 0; display: block;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct * { box-sizing: border-box; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct a { text-decoration: none; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct svg { display: block; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-call {
		padding: 10px 12px 12px; border-radius: 16px; color: #fff;
		background: linear-gradient(180deg, #006c9d 0%, #0183bd 100%); box-shadow: 0 6px 16px rgba(0, 108, 157, .25);
	}
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-badge { display: flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(255, 255, 255, .92); white-space: nowrap; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-badge::after { content: ""; flex: 1; height: 1px; background: rgba(255, 255, 255, .35); }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-badge b { font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-badge svg { width: 13px; height: 13px; fill: #fff; flex: none; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-nums { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-nums a {
		flex: none; display: flex; align-items: center; justify-content: center; height: 44px; border-radius: 11px;
		background: rgba(255, 255, 255, .17); border: 1px solid rgba(255, 255, 255, .3);
		color: #fff; font-size: 19px; font-weight: 800; letter-spacing: .01em;
	}
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-nums a:active { background: rgba(255, 255, 255, .32); }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-call-bottom { display: flex; flex-direction: column; gap: 10px; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-hint { font-size: 12.5px; line-height: 1.3; opacity: .92; text-align: center; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-order {
		display: flex; align-items: center; justify-content: center; height: 40px; border-radius: 20px;
		background: #fff; color: #006c9d; font-size: 15px; font-weight: 700;
	}
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-chats-title {
		display: flex; align-items: center; gap: 7px; margin: 16px 0 6px 2px;
		font-size: 15px; font-weight: 800; color: #006c9d;
	}
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-chats-title svg { width: 16px; height: 16px; fill: #006c9d; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-finger { display: inline-block; font-size: 17px; animation: ct-bounce 1.6s ease-in-out infinite; }
	@keyframes ct-bounce { 0%, 100% { transform: translateY(-1px); } 50% { transform: translateY(3px); } }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-shop {
		display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; margin-top: 8px;
		padding: 6px 6px 6px 12px; border-radius: 13px; background: #f4f8fc; border: 1px solid #e3eaf3;
	}
	/* 13px — чтобы «Чугунова, 18Б» целиком помещалась рядом с четырьмя значками и на iPhone (шрифт там шире) */
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-addr { color: #16365f; font-size: 13px; font-weight: 600; line-height: 1.25; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-addr small { display: block; color: #6b7a8f; font-weight: 500; font-size: 12px; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-icons { display: flex; align-items: center; gap: 6px; flex: none; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-ico { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-ico svg { width: 18px; height: 18px; fill: #fff; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-wa { background: #25d366; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-tg { background: #fff; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-tg svg { width: 34px; height: 34px; fill: #27a6e5; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-max img { width: 34px; height: 34px; border-radius: 10px; display: block; }
	/* очень узкие телефоны (320px): значки и шрифт меньше, чтобы «Чугунова, 18Б» влезла в строку — номер дома
	   от улицы не отрывается никогда (неразрывный пробел ставит banner.js, addrNoWrap) */
	@media (max-width: 359px) {
		:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-shop { gap: 6px; padding-left: 10px; }
		:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-addr { font-size: 12px; }
		:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-icons { gap: 4px; }
		:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-ico, :is(#m-drawer, #m-sheet-contacts) .m-ct .ct-max img, :is(#m-drawer, #m-sheet-contacts) .m-ct .ct-tg svg { width: 28px; height: 28px; }
		:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-ico svg { width: 16px; height: 16px; }
		:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-tg svg { width: 28px; height: 28px; }   /* у Telegram значок — весь кружок */
	}
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-map { background: #e3edf7; }
	:is(#m-drawer, #m-sheet-contacts) .m-ct .ct-map svg { fill: #006c9d; }

	/* ---------- Шапка ---------- */
	.m-ready .shapka { width: auto; position: static; }
	.m-ready .shapka .kv,
	.m-ready .shapka .logo,
	.m-ready .shapka .earth,
	.m-ready .shapka .menu,
	.m-ready .shapka > .pol2,
	.m-ready .shapka .slide .vk_group,
	.m-ready .shapka .slide .nout,
	.m-ready .shapka .slide .ten,
	.m-ready .shapka .slide .ie7 > .img { display: none !important; }
	.m-ready .shapka > p { display: none; }   /* пустой <p>&nbsp;</p> над поиском — 16px пустоты */
	.m-ready .shapka .slide { position: static; height: auto; border: 0; background: #fff; padding: 8px 12px; box-shadow: 0 1px 0 #e9eef3; }
	.m-ready .shapka .slide .ie7 { width: auto; }
	.m-ready .shapka .slide .ie7 > p { display: none; }
	/* Поиск: поле во всю ширину с кнопкой-лупой справа, под ним переключатель «Товары / Артикул» (строит mobile.js).
	   Шрифт поля 16px — иначе iPhone увеличивает страницу */
	.m-ready .shapka .slide .full_search { width: auto; position: relative; margin: 0; padding: 0; }
	.m-ready .full_search form {
		display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .full_search .search1 {
		flex: 1; min-width: 0; height: 46px; margin: 0; padding: 0 50px 0 0; box-sizing: border-box; position: relative;
		display: flex; align-items: center; overflow: hidden;
		background: #f1f4f7; border: 1px solid transparent; border-radius: 12px; transition: border-color .15s, background .15s;
	}
	.m-ready .full_search .search1:focus-within { background: #fff; border-color: #0183bd; box-shadow: 0 0 0 3px rgba(1,131,189,.12); }
	.m-ready .full_search .search1 label { display: none; }   /* заменён placeholder'ом в mobile.js */
	.m-ready .full_search .search1 input {
		flex: 1; min-width: 0; float: none; width: auto; height: 100%; margin: 0; padding: 0 8px 0 14px; box-sizing: border-box;
		border: 0; outline: none; background: none; box-shadow: none;
		font-size: 16px; line-height: 1.2; font-family: inherit; color: #1d1d1f;
	}
	.m-ready .full_search .search1 input::placeholder { color: #8a96a3; }
	/* Режим поиска — плашка «Товары ▾» в начале поля, поверх неё прозрачный select сайта (mobile.js) */
	.m-ready .full_search .search1 select { display: none; }
	.m-ready .full_search .m-mode {
		flex: none; position: relative; display: flex; align-items: center; gap: 4px; height: 34px; margin: 0 0 0 6px; padding: 0 9px 0 11px;
		border-radius: 9px; background: #e3eef5; color: #006b9d; font: 600 14px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .full_search .m-mode::after {
		content: ""; width: 7px; height: 7px; margin: -4px 0 0 2px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg);
	}
	.m-ready .full_search .search1 .m-mode select {
		display: block; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0;
		opacity: 0; font-size: 16px; cursor: pointer; -webkit-appearance: none; appearance: none;
	}
	/* «Найти» — квадратная кнопка с лупой внутри поля справа */
	.m-ready .full_search .search2 { position: absolute; top: 4px; right: 4px; flex: none; width: auto; height: auto; margin: 0; }
	.m-ready .full_search .search2 input {
		display: block; width: 40px; height: 38px; margin: 0; padding: 0; border: 0; border-radius: 9px; cursor: pointer;
		font-size: 0; color: transparent; -webkit-appearance: none; appearance: none;
		background-color: #006b9d;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E");
		background-position: center; background-size: 20px; background-repeat: no-repeat;
	}
	.m-ready .full_search .search2 input:active { background-color: #00577f; }

	/* ---------- Колонки контента ---------- */
	.m-ready .content, .m-ready .footer { width: auto; }
	.m-ready .content > table, .m-ready .content > table > tbody { display: block; width: 100%; }
	.m-ready .content > table > tbody > tr { display: flex; flex-direction: column; }
	.m-ready .content > table > tbody > tr > td { display: block; width: auto !important; padding: 0 10px; box-sizing: border-box; }
	.m-ready .content > table > tbody > tr > td.right { order: 2; }
	.m-ready .content > table > tbody > tr > td.left { order: 3; }
	.m-ready .content td.left .catalog,
	.m-ready .content td.left .catalog2 { display: none; }   /* дублируются в выдвижном меню */

	.m-ready .content .danger1, .m-ready .content .danger, .m-ready .content .center { width: auto; margin-left: 0; margin-right: 0; }
	.m-ready .content .danger1 { text-align: left; }
	.m-ready .content table table { max-width: 100%; }
	.m-ready .content a { overflow-wrap: anywhere; }   /* длинные URL в текстах новостей и акций */

	/* Правая колонка: спецпредложения и новости во всю ширину */
	.m-ready .spec, .m-ready .news, .m-ready .spec .zag { width: auto; }
	.m-ready .spec .zag .img { display: none; }   /* старая пиксельная стрелка str_s.png — на телефоне выглядела серым обрывком */
	.m-ready .spec .zag { height: auto; padding: 8px 0 6px 10px; box-sizing: border-box; }   /* высоту 32px давала стрелка; без неё «предложения» подрезалось карточками */

	/* Спецпредложения: сетка 2×N из одинаковых карточек.
	   Карточки в одной строке одной высоты (stretch); картинка — окно фиксированной высоты, название и описание —
	   целиком, без обрезки, низ с ценой прижат к краю. Строки сетки — по своей самой высокой карточке
	   (не 1fr: длинный текст не должен растягивать все строки). */
	.m-ready .spec { border: 1px solid #e6e6e6; border-radius: 10px; padding: 0 8px 10px; margin-top: 15px; }
	.m-ready .spec .ygol_v, .m-ready .spec .ygol_n, .m-ready .spec .ten1, .m-ready .spec .tovar .dashed { display: none; }
	.m-ready .m-spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
	.m-ready .m-spec-grid > .tovar {
		display: flex; flex-direction: column; min-width: 0; overflow: hidden;
		background: #fff; border: 1px solid #e3e8ee; border-radius: 10px; box-shadow: 0 1px 4px rgba(0,0,0,.08);
	}
	.m-ready .m-spec-grid .tovar .img {
		width: auto; height: 130px; margin: 0; border: 0; border-bottom: 1px solid #eef1f4; border-radius: 0;
		display: flex; align-items: center; justify-content: center; background: #fff; flex: none;
	}
	.m-ready .m-spec-grid .tovar .img a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
	.m-ready .m-spec-grid .tovar .img img { width: auto; max-width: 100% !important; max-height: 122px; padding: 0; object-fit: contain; }
	.m-ready .m-spec-grid .tovar .title {
		padding: 8px 8px 0; font-size: 13px; line-height: 1.3; text-align: left; font-weight: bold;
		flex: none;   /* целиком: раньше резался на 3 строках, из 4-й торчал верх «Й» */
	}
	.m-ready .m-spec-grid .tovar .title a { text-decoration: none; color: #006b9d; }
	.m-ready .m-spec-grid .tovar .opis {
		padding: 4px 8px 0; font-size: 11px; line-height: 1.35; color: #666; text-align: left;
		flex: none;   /* целиком, как и название: раньше обрезалось на 2 строках многоточием */
	}
	.m-ready .m-spec-grid .tovar .opis * { text-align: left !important; font-size: inherit !important; color: inherit; display: inline; }
	.m-ready .m-spec-grid .tovar .podrb {
		margin-top: auto; padding: 8px 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 4px;
	}
	.m-ready .m-spec-grid .tovar .podrb .clear { display: none; }
	.m-ready .m-spec-grid .tovar .podrb .shop {
		float: none; width: auto; height: auto; margin: 0; padding: 0; background: none; line-height: 1.2; white-space: nowrap;
	}
	.m-ready .m-spec-grid .tovar .podrb .buy { float: none; margin: 0 0 0 auto; padding: 0; height: auto; background: none; line-height: 1.2; }
	.m-ready .m-spec-grid .tovar .podrb .buy a {
		display: inline-block; padding: 5px 10px; border-radius: 14px; background: #e8f4fa; color: #006b9d;
		font-size: 12px; text-decoration: none; white-space: nowrap;
	}
	.m-ready .news .print { height: auto; min-height: 43px; }
	.m-ready .news .text { height: auto; max-height: 45px; }

	/* Не нужны в мобильной версии: «Отзывы клиентов», «Наши новости», «E-mail рассылка» */
	.m-ready .content .info:has(.full_otzyv),
	.m-ready .content .catalog3:has(.email_send),
	.m-ready .content .news { display: none !important; }

	/* Главная: «Специальные предложения» перенесены скриптом между «Важной информацией» и «Сегодня в продаже» */
	.m-ready .spec.m-spec-main { margin: 10px 0 20px; }

	/* Плашка «Подождите, ваш поисковый запрос обрабатывается» */
	.m-ready .moment {
		position: fixed; top: 40%; left: 12px; right: 12px; width: auto; height: auto; margin: 0;
		padding: 18px 14px; font-size: 17px; line-height: 1.35; box-sizing: border-box; z-index: 1001;
	}
	/* GIF-колёсико замирает, пока браузер грузит следующую страницу, — заменяем CSS-анимацией
	   (вращение transform идёт в отдельном потоке и не останавливается во время загрузки) */
	.m-ready .moment img { display: none; }
	.m-ready .moment::before {
		content: ""; display: inline-block; width: 22px; height: 22px; margin-right: 10px; vertical-align: -4px;
		border: 3px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%;
		animation: m-spin .8s linear infinite; will-change: transform;
	}
	@keyframes m-spin { to { transform: rotate(360deg); } }

	/* Левая колонка (теперь внизу): полезная информация, способы оплаты */
	.m-ready .content .info, .m-ready .content .info .text, .m-ready .content .info .text2 { width: auto; }
	.m-ready .content .info .zag { margin-left: 10px; }
	.m-ready .content .info .text2 .youtube { width: auto; margin: 0 auto; }
	.m-ready .content .info .text2 .youtube iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
	.m-ready .content .info .text2 .youtube p { text-align: left; }

	/* «Наш рейтинг на Яндекс Картах» (banner.js → yandexReviews(), класс .yr-m): магазины, рейтинг из виджета, кнопка отзыва */
	.m-ready .content .yr-m { padding-bottom: 12px; }
	.m-ready .content .yr-m .yr-tabs { display: flex; gap: 6px; margin: 10px 12px 8px; }
	.m-ready .content .yr-m .yr-tabs button {
		flex: 1 1 0;
		min-width: 0;
		padding: 8px 2px;
		border: 1px solid #c9d8f5;
		border-radius: 999px;
		background: #eef4ff;
		color: #1346aa;
		font: 600 13.5px/1.2 inherit;
		-webkit-appearance: none;
	}
	.m-ready .content .yr-m .yr-tabs button.on { border-color: #1346aa; background: #1346aa; color: #fff; }
	.m-ready .content .yr-m .yr-frame { margin: 0 12px; border-radius: 12px; overflow: hidden; }
	.m-ready .content .yr-m .yr-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
	.m-ready .content .yr-m a.yr-add {
		display: block;
		margin: 10px 12px 0;
		padding: 12px;
		border-radius: 12px;
		background: #fc3f1d;
		color: #fff !important;
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		text-decoration: none;
	}
	.m-ready .content .yr-m .yr-all { display: block; margin: 10px 12px 0; color: #1346aa; font-size: 14px; font-weight: 700; text-align: center; }
	.m-ready .content .catalog3 { width: auto; margin-left: 0; }

	/* ---------- Карточки товаров ---------- */
	.m-ready .vivod { width: auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
	.m-ready .vivod .tovar { width: 49%; float: none; margin: 0 0 10px; box-sizing: border-box; }
	.m-ready .vivod .tovar .img,
	.m-ready .vivod .tovar .title,
	.m-ready .vivod .tovar .podrb,
	.m-ready .vivod .tovar .dashed { width: auto; }

	/* ---------- /catalogs: карточки магазинов ---------- */
	.m-ready .borderrr { min-width: 0; height: auto; border-width: 4px; margin: 12px 0; }
	.m-ready .borderrr .positiona { inset: -4px; }
	.m-ready .borderrr table td { height: auto; font-size: 15px; padding: 8px; }
	.m-ready .borderrr table .img, .m-ready .borderrr table .img img { width: 110px; }
	.m-ready .borderrr table .td p[align=right] { font-size: 11px !important; }

	/* ---------- /catalog: списки категорий ---------- */
	.m-ready .catalogs .block { float: none; width: auto; margin: 0 0 10px; }
	.m-ready .catalogs .block ul li a { display: inline-block; padding: 5px 0; font-size: 15px; }

	/* ---------- Список товаров категории (.catalogs .table) ---------- */
	.m-ready .catalogs .table, .m-ready .catalogs .table > tbody { display: block; width: 100%; }
	.m-ready .catalogs .table tr { display: block; }
	.m-ready .catalogs .table tr:has(> td.naimen) {
		display: grid; grid-template-columns: 60px 1fr auto auto; grid-template-rows: auto auto;
		align-items: center; column-gap: 4px; border-bottom: 1px solid #ddd; padding: 6px 0;
	}
	.m-ready .catalogs .table tr:has(> td.naimen) > td { display: block; border: 0; padding: 0; background: none; width: auto; min-width: 0; max-width: none; height: auto; }
	.m-ready .catalogs .table tr > td.img { grid-row: 1 / span 2; grid-column: 1; text-align: center; }
	.m-ready .catalogs .table tr > td.img img { max-width: 56px !important; max-height: 56px; width: auto; }
	.m-ready .catalogs .table tr > td.naimen { grid-row: 1; grid-column: 2 / span 3; font-size: 13px; line-height: 1.3; }
	.m-ready .catalogs .table tr > td.pr,
	.m-ready .catalogs .table tr > td.pr2 { grid-row: 2; grid-column: 2 / span 2; justify-self: end; padding: 4px 8px 0 0; }
	.m-ready .catalogs .table tr > td.pr1 { display: none !important; }   /* «руб» — теперь знак ₽ в самой цене */
	.m-ready .catalogs .table tr > td.kr,
	.m-ready .catalogs .table tr > td.gdevnal { grid-row: 2; grid-column: 4; padding-top: 4px; }
	/* «В наличии / Гагарина 2» рядом с кнопкой «в корзину» — слева под названием, иначе они в одной ячейке и налезают друг на друга */
	.m-ready .catalogs .table tr:has(> td.kr) > td.gdevnal { grid-column: 2; justify-self: start; font-size: 11px; line-height: 1.2; }
	/* Результаты поиска — плотнее: кнопка «в корзину» справа на всю высоту строки, цена сразу под названием
	   (если вместо кнопки текст «временно заказать нельзя» — раскладка как выше) */
	.m-ready .catalogs .table tr.fsearch { padding: 4px 0; }
	.m-ready .catalogs .table tr.fsearch:has(> td.kr a.btnPrint) > td.naimen { grid-column: 2 / span 2; }
	.m-ready .catalogs .table tr.fsearch:has(> td.kr a.btnPrint) > td.pr { padding-top: 0; }
	.m-ready .catalogs .table tr.fsearch:has(> td.kr a.btnPrint) > td.kr { grid-row: 1 / span 2; align-self: center; padding: 0 0 0 6px; }
	.m-ready .catalogs .table tr.fsearch > td.kr > p:has(> a.btnPrint) { display: none; }   /* подпись «в корзину» — кнопки с тележкой достаточно, название получает ширину */
	/* Товары в наличии (в поиске — первыми, без .fsearch): есть ячейка «В наличии / Гагарина 2», раньше она стояла
	   в одной клетке с тележкой и тележка закрывала текст. Теперь: тележка справа на всю высоту, под названием — магазин слева, цена справа */
	.m-ready .catalogs .table tr:has(> td.gdevnal):has(> td.kr a.btnPrint) > td.naimen { grid-column: 2 / span 2; }
	.m-ready .catalogs .table tr:has(> td.gdevnal) > td.gdevnal { grid-row: 2; grid-column: 2; justify-self: start; align-self: center; padding: 4px 6px 0 0; font-size: 11px; line-height: 1.25; }
	.m-ready .catalogs .table tr:has(> td.gdevnal) > td.pr { grid-column: 3; }
	.m-ready .catalogs .table tr:has(> td.gdevnal):has(> td.kr a.btnPrint) > td.kr { grid-row: 1 / span 2; align-self: center; padding: 0 0 0 6px; }
	.m-ready .catalogs .table tr:has(> td.gdevnal) > td.kr > p:has(> a.btnPrint) { display: none; }
	.m-ready .catalogs .table tr:hover .pr { font-size: 16px; }
	.m-ready .catalogs .table td[colspan] { display: block; }

	/* Фильтр по цене над списком товаров «на заказ» */
	.m-ready .search_price, .m-ready .search_price .formCost, .m-ready .search_price form,
	.m-ready .search_price .label1, .m-ready .search_price .checkbox { width: auto !important; max-width: 100%; margin-left: 0; margin-right: 0; }
	.m-ready .search_price label { white-space: normal; }
	.m-ready .tpl > .checkbox { width: auto; text-align: left; }

	/* Карточка фильтра .m-pricef (собирает mobile.js): заголовок + «Сбросить», ползунок, поля «от — до», галочка */
	.m-ready .m-pricef {
		margin: 6px 0 14px; padding: 14px 16px 12px; background: #fff; border: 1px solid #e3e8ee; border-radius: 14px;
		box-shadow: 0 2px 10px rgba(0,0,0,.06); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
		text-align: left;
	}
	.m-ready br.clear:has(+ .m-pricef), .m-ready .m-pricef + br.clear { display: none; }
	.m-ready .m-pricef-head { display: flex; align-items: baseline; justify-content: space-between; }
	.m-ready .m-pricef-head span { font-size: 16px; font-weight: 600; color: #1d1d1f; }
	.m-ready .m-pricef-head a { font-size: 14px; color: #006b9d; text-decoration: none; }
	.m-ready .m-pricef .search_price, .m-ready .m-pricef .formCost, .m-ready .m-pricef form { float: none; height: auto; padding: 0; margin: 0; }
	.m-ready .m-pricef .sbros_fil { display: none; }

	/* Ползунок: картинки-спрайты плагина заменены простой полосой и круглыми ручками.
	   Ручки стоят по краям (left 0% / 100%) и выступают на полширины — отсюда боковой отступ у .jslider */
	.m-ready .m-pricef-slider { padding: 30px 12px 6px; }
	.m-ready .m-pricef .jslider { width: 100%; height: 24px; font-family: inherit; }
	.m-ready .m-pricef .jslider table { width: 100%; }
	.m-ready .m-pricef .jslider-bg { top: 9px; }
	.m-ready .m-pricef .jslider-bg i { height: 6px; background: none; border-radius: 3px; }
	.m-ready .m-pricef .jslider-bg i.l { left: 0; width: 100%; background: #dde6ee; }
	.m-ready .m-pricef .jslider-bg i.f, .m-ready .m-pricef .jslider-bg i.r { display: none; }
	.m-ready .m-pricef .jslider-bg i.v { background: #0183bd; }
	.m-ready .m-pricef .jslider-pointer {
		width: 24px; height: 24px; margin-left: -12px; top: 0; box-sizing: border-box;
		background: #fff; border: 2px solid #0183bd; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.25);
	}
	.m-ready .m-pricef .jslider-pointer-hover { border-color: #006c9d; }
	/* подписи над ручками: «35 110 руб» → «35 110 ₽» (текст «руб» плагин пишет без тега — гасим его font-size: 0) */
	.m-ready .m-pricef .jslider-value { top: -24px; padding: 0; background: none; font-size: 0; line-height: 16px; white-space: nowrap; }
	.m-ready .m-pricef .jslider-value span { font-size: 13px; color: #555; }
	.m-ready .m-pricef .jslider-value span::after { content: "\00a0\20BD"; }
	.m-ready .m-pricef .jslider-label { display: none !important; }   /* серые подписи границ шкалы при перетаскивании — лишние */
	.m-ready .m-pricef .jslider-value:not(.jslider-value-to) { margin-left: -12px !important; }
	.m-ready .m-pricef .jslider-value-to { margin-right: -12px; }

	/* Поля «от — до»: шрифт 16px, иначе iPhone увеличивает страницу при вводе */
	.m-ready .m-pricef-inputs { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
	.m-ready .m-pricef-inputs label { flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px;
		height: 42px; padding: 0 12px; box-sizing: border-box; border: 1px solid #cfd8e0; border-radius: 10px; background: #f7f9fb; }
	.m-ready .m-pricef-inputs label:focus-within { border-color: #0183bd; background: #fff; }
	.m-ready .m-pricef-inputs label span { font-size: 14px; color: #888; }
	.m-ready .m-pricef-inputs input { flex: 1; min-width: 0; width: auto; height: auto; margin: 0; padding: 0;
		border: 0; background: none; outline: none; font-size: 16px; line-height: 1.2; font-family: inherit; font-weight: 500; color: #1d1d1f; text-align: left; }
	.m-ready .m-pricef-dash { color: #999; }

	.m-ready .m-pricef > .checkbox { width: auto; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px solid #eef1f4; float: none; }
	.m-ready .m-pricef > .checkbox label { width: auto; float: none; text-align: left; display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.35; color: #333; cursor: pointer; }
	.m-ready .m-pricef > .checkbox input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: #0183bd; }

	/* ---------- Карточка товара (.tovars) ---------- */
	.m-ready .tovars > table, .m-ready .tovars > table > tbody,
	.m-ready .tovars > table > tbody > tr, .m-ready .tovars > table > tbody > tr > td { display: block; width: auto !important; height: auto; }
	.m-ready .tovars > table > tbody > tr > td.mintov { display: none; }

	/* Первый экран: путь, название, фото, цена и наличие (и по возможности «Купить») — без прокрутки.
	   Заголовок «Каталог товаров / г. Раменское, ул. Чугунова 18Б» над карточкой дублирует путь — скрыт. */
	.m-ready td:has(> .tovars) > .center { display: none; }
	.m-ready .tovars { padding-top: 0; }
	.m-ready .content:has(.tovars) > p:first-child { display: none; }   /* пустой <p>&nbsp;</p> перед карточкой — лишние 16px */

	/* Путь: «Каталоги › Раменское, Чугунова 18Б › Товары новые › …» — серым, текущий раздел выделен;
	   переносится только между частями пути */
	.m-ready .tovars > .forum_a { margin: 10px 0 8px; }
	.m-ready .m-crumbs {
		display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; padding: 0;
		font: 13px/18px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .m-crumbs a { white-space: nowrap; color: #6b7a8f; text-decoration: none; }
	.m-ready .m-crumbs a:last-child { color: #006b9d; font-weight: 600; }
	/* стрелка-разделитель — часть следующего пункта, чтобы при переносе не оставалась в конце строки */
	.m-ready .m-crumbs a + a::before {
		content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 7px 1px 1px; vertical-align: middle;
		border: solid #b3bfcc; border-width: 1.5px 1.5px 0 0; transform: rotate(45deg);
	}

	/* Название товара */
	.m-ready .tovars .nazvan {
		padding: 0; border: 0; text-align: left; color: #1d1d1f; overflow-wrap: break-word;
		font: 600 14.5px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}

	/* Фото: квадрат на всю ширину карточки (100vw − 60px — поля страницы и карточки), не больше 420px.
	   Раньше высота подгонялась под экран (цена и кнопка на первом экране), и на телефоне с панелями браузера фото были крошечными */
	.m-ready .tovars td.bigimages { text-align: center; padding: 8px 0 0; }
	.m-ready .tovars td.bigimages a { display: block; line-height: 0; }
	.m-ready .tovars td.bigimages img { width: auto; max-width: 100%; max-height: min(calc(100vw - 60px), 420px); }
	.m-ready .tovars td.bigimages a.tovimg > img { width: min(100%, 420px); height: auto; aspect-ratio: 1; object-fit: contain; }

	/* Несколько фото: лента листается пальцем (по одному фото), счётчик «1 / 6» в углу и точки под фото.
	   Точки — под фото */
	.m-ready .m-gallery { position: relative; }
	.m-ready .m-gal-track {
		display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
		--m-gal-h: min(calc(100vw - 60px), 420px);
	}
	.m-ready .m-gal-track::-webkit-scrollbar { display: none; }
	.m-ready .tovars td.bigimages .m-gal-track > a {
		flex: 0 0 100%; display: flex; align-items: center; justify-content: center;
		height: var(--m-gal-h); scroll-snap-align: center; scroll-snap-stop: always;
	}
	.m-ready .tovars td.bigimages .m-gal-track img { width: auto; max-width: 100%; height: var(--m-gal-h); max-height: var(--m-gal-h); }
	.m-ready .m-gal-count {
		position: absolute; top: 0; right: 0; display: flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 12px;
		background: rgba(29,29,31,.6); color: #fff; pointer-events: none;
		font: 600 12px/16px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .m-gal-count::before {
		content: ""; width: 14px; height: 14px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 3 7.2 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.2L15 3H9zm3 5a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.m-ready .m-gal-dots { display: flex; justify-content: center; gap: 6px; height: 6px; margin-top: 8px; line-height: 0; }
	.m-ready .m-gal-dots i { width: 6px; height: 6px; border-radius: 3px; background: #cfd8e0; transition: width .2s, background .2s; }
	.m-ready .m-gal-dots i.m-on { width: 16px; background: #0183bd; }
	/* Блок покупки: цена → большая кнопка «Купить» → наличие (просто текст) → способы оплаты → доставка.
	   Шрифт системный: Tahoma, заданной сайтом, на iPhone нет — браузер подставлял Times с засечками. */
	.m-ready .tovars td.kupit {
		display: flex !important; flex-direction: column;
		margin: 8px 0 12px; padding: 14px 16px 16px; background: #fff; border: 1px solid #e3e8ee; border-radius: 14px;
		box-shadow: 0 2px 10px rgba(0,0,0,.06); text-align: left;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .tovars td.kupit > div { width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
	.m-ready .tovars td.kupit .korzina { padding: 0 0 4px; }
	.m-ready .tovars td.kupit .m-price-note { margin-top: 6px; font-size: 12px; line-height: 1.35; font-weight: normal; color: #777; }
	.m-ready .tovars td.kupit .korzina .jQtooltip { font-size: inherit; }
	/* Наличие — сразу под ценой, выше кнопки «Купить» (чтобы цена с количеством были на первом экране) */
	.m-ready .tovars td.kupit > * { order: 3; }
	.m-ready .tovars td.kupit > .korzina { order: 1; }
	.m-ready .tovars td.kupit > .kolvo, .m-ready .tovars td.kupit > .in_stock, .m-ready .tovars td.kupit > .not_available { order: 2; margin-top: 4px !important; }

	/* Кнопка «Купить» (и «Сообщить о поступлении» — .buy2) */
	.m-ready .tovars td.kupit .buy, .m-ready .tovars td.kupit .buy2 { height: auto; margin: 12px 0 0; padding: 0; background: none; }
	.m-ready .tovars td.kupit .buy a, .m-ready .tovars td.kupit .buy2 a {
		display: flex !important; align-items: center; justify-content: center; gap: 10px;
		width: auto !important; height: 54px; padding: 0 16px !important; box-sizing: border-box; border-radius: 14px;
		background: linear-gradient(180deg, #0a86d1 0%, #006b9d 100%); color: #fff; text-decoration: none;
		font: 600 18px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
		box-shadow: 0 4px 12px rgba(0,107,157,.35); transition: transform .1s, box-shadow .1s;
		-webkit-tap-highlight-color: transparent;
	}
	.m-ready .tovars td.kupit .buy a::before {
		content: ""; width: 22px; height: 22px; flex: none;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7.2 14.8 8.1 13h7.5c.8 0 1.4-.4 1.7-1l3.6-6.5-1.7-1-3.6 6.5H8.5L4.3 2H1v2h2l3.6 7.6L5.2 14c-.7 1.4.3 3 1.8 3h12v-2H7.4c-.1 0-.2-.1-.2-.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.m-ready .tovars td.kupit .buy2 a { background: linear-gradient(180deg, #ef4a55 0%, #d42d39 100%); box-shadow: 0 4px 12px rgba(212,45,57,.3); font-size: 15px; }
	.m-ready .tovars td.kupit .buy a:active, .m-ready .tovars td.kupit .buy2 a:active { transform: scale(.98); box-shadow: 0 2px 6px rgba(0,107,157,.3); }
	.m-ready .tovars td.kupit .buy:hover, .m-ready .tovars td.kupit .buy2:hover { opacity: 1; }

	/* Наличие — обычный текст с цветной точкой */
	.m-ready .tovars td.kupit .kolvo, .m-ready .tovars td.kupit .in_stock, .m-ready .tovars td.kupit .not_available {
		margin: 12px 0 0; padding: 0 0 0 16px; background: none; border-radius: 0; position: relative;
		text-align: left; color: #333; font: 15px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .tovars td.kupit .kolvo::before {
		content: ""; position: absolute; left: 0; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: #2ea44f;
	}
	.m-ready .tovars td.kupit .kolvo.m-avail-order::before { background: #f29b18; }
	.m-ready .tovars td.kupit .kolvo.m-avail-no::before { background: #d42d39; }
	.m-ready .tovars td.kupit .kolvo p { display: inline; padding: 0; font: inherit; color: inherit; }
	.m-ready .tovars td.kupit .kolvo p + p::before { content: " "; }
	/* «есть под заказ» и «срок доставки уточняйте» — два предложения, каждое своей строкой */
	.m-ready .tovars td.kupit .kolvo.m-avail-order p { display: block; }
	.m-ready .tovars td.kupit .kolvo.m-avail-order p + p { margin-top: 2px; }
	.m-ready .tovars td.kupit .kolvo.m-avail-order p + p::before { content: none; }
	/* «· 1 шт.» и адрес магазина не разрываем: иначе «шт.» уезжает одно на следующую строку */
	.m-ready .tovars td.kupit .kolvo.m-avail-yes { font-size: 14px; }
	.m-ready .tovars td.kupit .kolvo .kol-vo { font-weight: 600; white-space: nowrap; }
	.m-ready .tovars td.kupit .kolvo .kol-vo::before { content: "\00a0\00B7\00a0" !important; font-weight: normal; color: #999; }
	.m-ready .tovars td.kupit .kolvo a { color: #006b9d; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
	.m-ready .tovars td.kupit .kolvo b { font-weight: normal; color: #666; }

	/* Способы оплаты и доставка */
	.m-ready .tovars td.kupit .sposoboplati { height: auto; margin: 14px 0 0; background: none; }
	.m-ready .tovars td.kupit .vni_cena { margin: 12px 0 0; padding: 0; font-size: 13px; line-height: 1.4; color: #555; text-align: left; }
	.m-ready .tovars td.kupit .vni_cena br { display: none; }
	.m-ready .tovars td.kupit .vni_cena a { display: inline-block; margin-top: 6px; color: #006b9d; font-size: 14px; }
	.m-ready .tovars td.kupit .vni_cena a span { color: inherit; }
	.m-ready .tovars td.mnenrav, .m-ready .tovars td.slpr, .m-ready .tovars td.podherknyt { text-align: center; }
	.m-ready .tovars table table { width: 100% !important; }

	/* «Поделиться» — белая карточка: подпись слева, плитки справа (плитки строит productShare() в mobile.js) */
	.m-ready .content .tovars td.mnenrav { padding: 18px 0 0 !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
	.m-ready .content .tovars td.mnenrav b { font-size: 14px; font-weight: 600; color: #555; }
	.m-ready .content .tovars td.mnenrav.m-share {
		display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
		margin-top: 16px; padding: 12px 12px 12px 18px !important; box-sizing: border-box;
		border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #e3eaf6, 0 4px 14px rgba(14, 49, 132, .06);
	}
	.m-ready .content .tovars td.mnenrav.m-share > b { color: #0e3184; font-size: 15px; }
	.m-ready .m-share-btns { display: flex; gap: 10px; }
	.m-ready .m-share-btns a {
		display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; overflow: hidden;
		-webkit-tap-highlight-color: transparent; transition: transform .12s;
	}
	.m-ready .m-share-btns a:active { transform: scale(.92); }
	.m-ready .m-share-btns svg { display: block; width: 100%; height: 100%; margin: 0; }
	.m-ready .m-share-btns a.m-share-odnoklassniki { background: #ee8208; }
	.m-ready .m-share-btns a.m-share-odnoklassniki svg,
	.m-ready .m-share-btns a.m-share-more svg { width: 26px; height: 26px; }
	.m-ready .m-share-btns a.m-share-more { background: #eef4ff; box-shadow: inset 0 0 0 1px #c9d8f5; }
	/* пустая строка с декоративной .podherknyt (на десктопе — линии слева и снизу) у товаров без «Пред./След. товар» —
	   на телефоне была голубой «скобкой» */
	.m-ready .tovars tr:has(> td.podherknyt):not(:has(> td.slpr)) { display: none !important; }

	/* «ВНИМАНИЕ!!!» под карточкой товара (div.day_nix из админки, красная рамка) → жёлтая плашка со значком (productNote()) */
	.m-ready .content .day_nix.m-note {
		position: relative; margin: 18px 20px 6px; padding: 14px 16px 14px 56px; box-sizing: border-box;   /* по краям — как карточки характеристик */
		border: 0; border-radius: 18px; background: #fff8eb; box-shadow: inset 0 0 0 1px #f6dcaa;
		color: #5c4a2a; font-size: 14px; line-height: 1.45; text-align: left;
	}
	.m-ready .content .day_nix.m-note::before {
		content: "!"; position: absolute; left: 14px; top: 14px; width: 30px; height: 30px; border-radius: 50%;
		display: grid; place-items: center; background: linear-gradient(180deg, #f7b23b 0%, #e58e0c 100%);
		box-shadow: 0 3px 10px rgba(229, 142, 12, .35); color: #fff; font: 800 17px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .content .day_nix.m-note p { margin: 0; padding: 0; font-size: inherit; line-height: inherit; color: inherit; }
	.m-ready .content .day_nix.m-note p + p { margin-top: 3px; }
	.m-ready .content .day_nix.m-note .nix_red { display: block; padding-top: 5px; color: #9a5b00; font-size: 15px; font-weight: 700; text-transform: none; }

	/* Пред. / След. товар: две кнопки во всю ширину. Пустая ячейка слева и декоративная .podherknyt
	   (на десктопе — линии слева и снизу, на телефоне выглядела пустой рамкой) скрыты */
	.m-ready .tovars tr:has(> td.slpr) > td:not(.slpr) { display: none !important; }
	.m-ready .tovars tr:has(> td.slpr) { border: 0 !important; }   /* синяя линия под строкой — тоже десктопная */
	.m-ready .tovars td.slpr { display: flex !important; gap: 10px; padding: 16px 0 8px; }
	.m-ready .tovars td.slpr a {
		flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 8px;
		height: 44px; padding: 0 10px; box-sizing: border-box; border: 1px solid #cfd8e0; border-radius: 12px;
		background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.05); color: #006b9d; text-decoration: none;
		font: 500 14px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .tovars td.slpr a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.m-ready .tovars td.slpr a:active { background: #e8f4fa; }
	.m-ready .tovars td.slpr a.m-nav-prev::before, .m-ready .tovars td.slpr a.m-nav-next::after {
		content: ""; flex: none; width: 7px; height: 7px; border: solid currentColor; border-width: 0 0 2px 2px;
	}
	.m-ready .tovars td.slpr a.m-nav-prev::before { transform: rotate(45deg); margin-left: 3px; }
	.m-ready .tovars td.slpr a.m-nav-next::after { transform: rotate(-135deg); margin-right: 3px; }
	@media (max-width: 359px) {
		.m-ready .tovars td.slpr { gap: 8px; }
		.m-ready .tovars td.slpr a { gap: 6px; padding: 0 6px; font-size: 13px; }
	}

	/* Характеристики — карточка: заголовки разделов на голубом фоне, строки «название — значение» с тонкими разделителями */
	.m-ready .xarakteris { width: auto !important; box-sizing: border-box; padding: 8px 20px 0 !important; }   /* те же поля, что у карточки товара выше */
	.m-ready .xarakteris > table {
		width: 100% !important; table-layout: fixed; overflow-wrap: break-word; border-collapse: separate; border-spacing: 0; overflow: hidden;
		border: 1px solid #e3e8ee; border-radius: 14px; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.06);
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .xarakteris td { border: 0 !important; border-top: 1px solid #eef1f4 !important; padding: 9px 12px !important;
		font-size: 14px; line-height: 1.35; vertical-align: top; text-align: left; }
	.m-ready .xarakteris tr:first-child td { border-top: 0 !important; }
	.m-ready .xarakteris tr.zagol td { background: #eef5f9; color: #006b9d; font-size: 15px; font-weight: 600; padding: 10px 12px !important; }
	.m-ready .xarakteris tr.pere td:first-child { width: 45%; color: #666; }
	.m-ready .xarakteris tr.pere td:last-child { color: #1d1d1f; }
	@media (max-width: 359px) {
		.m-ready .xarakteris td { font-size: 13px; padding: 8px 10px !important; }
		.m-ready .xarakteris tr.pere td:first-child { width: 42%; }
	}
	.m-ready .komplektaciya { padding: 14px 20px !important; }
	.m-ready .komplektaciya p, .m-ready .komplektaciya a { font-size: 13px; line-height: 1.4; color: #777; }

	/* ---------- /na_zakaz: три колонки категорий → одна ---------- */
	.m-ready .zakaz_nix .float_nix { float: none; width: auto !important; margin: 0; }
	.m-ready .zakaz_nix .nix_block { width: auto !important; margin: 0 0 10px; }
	.m-ready .zakaz_nix .nix_spisok li a { display: inline-block; padding: 4px 0; font-size: 15px; }

	/* Выравнивание по ширине на узком экране даёт «дыры» между словами */
	.m-ready .m-left { text-align: left !important; }

	/* ---------- Корзина и оформление заказа ---------- */
	/* Корзина (/buy): строка товара → карточка
	   [ название                                 ]
	   [ – 1 +   Цена 4340   Сумма 4340   удалить ] */
	.m-ready table.basket, .m-ready table.basket > tbody { display: block; width: 100%; }
	.m-ready table.basket tr.tr { display: none; }   /* заголовок таблицы */
	.m-ready table.basket tr:has(> td.naime) {
		display: grid; grid-template-columns: auto 1fr 1fr auto; align-items: center; column-gap: 6px;
		padding: 8px 0; border-bottom: 1px solid #ccc;
	}
	.m-ready table.basket tr:has(> td.naime) > td { display: block; width: auto; padding: 2px 0; }
	.m-ready table.basket td.nomer { display: none !important; }
	.m-ready table.basket td.naime { grid-column: 1 / -1; font-size: 14px; padding-bottom: 6px !important; }
	.m-ready table.basket td.kolvo { white-space: nowrap; }
	.m-ready table.basket td.kolvo .minus { margin-top: 3px; }
	.m-ready table.basket td.kolvo .minplu { width: 42px; height: 22px; }
	.m-ready table.basket td.kolvo .inp2 { height: 20px; line-height: 20px; padding: 0 4px; }
	.m-ready table.basket td.kolvo .inp2 input { height: 18px; font-size: 16px; text-align: center; }
	.m-ready table.basket td.cena { font-size: 14px; }
	.m-ready table.basket td.cena::before { display: block; font-size: 10px; font-weight: normal; color: #888; }
	.m-ready table.basket td.cena:nth-child(4)::before { content: "\0426\0435\043D\0430"; }          /* «Цена» */
	.m-ready table.basket td.cena:nth-child(5)::before { content: "\0421\0443\043C\043C\0430"; }     /* «Сумма» */
	.m-ready table.basket td.delete { padding: 0 !important; }
	.m-ready table.basket tr.itogo2 { display: flex; align-items: center; justify-content: flex-end; gap: 10px; border: 0; }
	.m-ready table.basket tr.itogo2 > td { display: block; width: auto; padding: 15px 0 !important; }
	.m-ready table.basket tr.itogo2 > td:empty,
	.m-ready table.basket tr.itogo2 > td:not([class]) { display: none; }
	.m-ready .skidka { margin-left: 0; margin-right: 0; }
	.m-ready .promokod p input[type="text"] { width: 100%; max-width: 280px; box-sizing: border-box; font-size: 16px; }

	/* Кнопки внизу корзины и шагов: «Вперёд» — главная (сверху, на всю ширину), «Назад» — второстепенная под ней */
	.m-ready .send_zakaz {
		width: auto; height: auto; margin: 16px 0; padding: 0;
		display: flex; flex-direction: column-reverse; gap: 10px; align-items: stretch;
	}
	.m-ready .send_zakaz span {
		display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; padding: 0 16px; height: 52px;
		border-radius: 14px; border: 0; line-height: 1.2; text-align: center; white-space: nowrap; cursor: pointer;
		font: 600 17px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
		background: linear-gradient(180deg, #0a86d1 0%, #006b9d 100%); color: #fff; box-shadow: 0 4px 12px rgba(0,107,157,.3);
		-webkit-tap-highlight-color: transparent;
	}
	.m-ready .send_zakaz span:hover { border: 0; }
	.m-ready .send_zakaz span:active { transform: scale(.98); }
	.m-ready .send_zakaz span img { display: none; }   /* старые картинки-стрелки → текстовые стрелки ниже */
	.m-ready .send_zakaz span.m-btn-next::after { content: "\2192"; font-weight: 400; }
	.m-ready .send_zakaz span.m-btn-back::before { content: "\2190"; font-weight: 400; }
	.m-ready .send_zakaz span.m-btn-back {
		height: 44px; background: #fff; color: #006b9d; border: 1px solid #cfe0ea; box-shadow: none; font-size: 15px; font-weight: 500;
	}
	.m-ready .send_zakaz span.m-btn-back img { opacity: .6; filter: brightness(0.3); }
	.m-ready .send_zakaz span.m-btn-final { background: linear-gradient(180deg, #34b45a 0%, #23913f 100%); box-shadow: 0 4px 12px rgba(35,145,63,.35); }

	/* ---------- Оформление заказа: шаги 1–4 ---------- */
	.m-ready .content .shag { font-size: 0; text-decoration: none; margin: 4px 0 8px; }   /* текст «Шаг 1 из 4» заменён прогрессом */
	.m-ready .m-steps { display: flex; gap: 4px; }
	.m-ready .m-step { flex: 1; min-width: 0; text-align: center; }
	.m-ready .m-step-bar { display: block; height: 4px; border-radius: 2px; background: #e1e6eb; }
	.m-ready .m-step-done .m-step-bar { background: #7fb7d6; }
	.m-ready .m-step-cur .m-step-bar { background: #006b9d; }
	.m-ready .m-step-name {
		display: block; margin-top: 6px; color: #8a96a0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
		font: 500 11px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .m-step-cur .m-step-name { color: #006b9d; font-weight: 700; }

	/* Блоки шагов: вместо пунктирной рамки с «висящим» заголовком — карточка, заголовок обычной строкой сверху */
	.m-ready .content .buy_1 { margin-top: 12px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
	.m-ready .content .buy_1 .buy_1_nal {
		margin: 0 0 14px; padding: 0 0 6px; border: 1px solid #e3e8ee; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.05);
		background: #fff; overflow: hidden;
	}
	.m-ready .content .buy_1 .buy_1_nal .buy_1_zag {
		position: static; display: block; height: auto; margin: 0; padding: 14px 14px 12px; border: 0;
		border-bottom: 1px solid #eef1f4; border-radius: 0; background: #f7f9fb;
		font-size: 16px; line-height: 1.35; font-weight: 700; color: #1d1d1f;
	}
	.m-ready .content .buy_1 .buy_1_nal .buy_1_zag b { text-transform: none; }
	.m-ready .content .buy_1 .buy_1_nal .buy_1_zag img { width: 22px; height: 22px !important; vertical-align: -5px; margin-right: 6px; }
	.m-ready .content .buy_1 .buy_1_nal .buy_1_zag a { font-weight: 600; }

	/* Пункты выбора: кружок на уровне первой строки, текст — справа колонкой */
	.m-ready .content .buy_1 .buy_1_str { margin: 0; padding: 0; border-bottom: 1px solid #f0f2f5; }
	.m-ready .content .buy_1 .buy_1_str:last-child { border-bottom: 0; }
	.m-ready .content .buy_1 .buy_1_str label {
		display: grid; grid-template-columns: 26px 1fr; column-gap: 10px; align-items: start;
		padding: 14px; cursor: pointer; -webkit-tap-highlight-color: transparent;
	}
	.m-ready .content .buy_1 .buy_1_str label:has(input:checked) { background: #eef7fc; }
	.m-ready .content .buy_1 .buy_1_str .buy_radio {
		position: static; width: auto; height: auto; margin: 0; grid-row: 1 / span 2; grid-column: 1; padding-top: 1px;
	}
	.m-ready .content .buy_1 .buy_1_str .buy_radio input { width: 20px; height: 20px; margin: 0; accent-color: #006b9d; }
	.m-ready .content .buy_1 .buy_1_str .buy_1_zagolovok {
		grid-column: 2; padding: 0; font-size: 15px; line-height: 1.35; font-weight: 600; color: #1d1d1f;
	}
	.m-ready .content .buy_1 .buy_1_str .buy_1_zagolovok a { font-weight: 500; }
	.m-ready .content .buy_1 .buy_1_str .buy_1_opis {
		grid-column: 2; padding: 4px 0 0; font-size: 13px; line-height: 1.4; color: #5f6b75;
	}
	.m-ready .content .buy_1 .buy_1_str .buy_1_opis span { font-size: 14px; color: #d42d39; }
	/* Не айфонам (Android и др.) сайт отдаёт div.buy_1_kvadrat вместо радиокнопок, выбранный — .buy_1_hover:
	   квадрат растягиваем на всю строку, кружок — ::before, текст пропускает касания к нему (кроме ссылок) */
	.m-ready .content .buy_1 .buy_1_str:has(> .buy_1_kvadrat) { position: relative; padding: 14px 14px 14px 50px; -webkit-tap-highlight-color: transparent; }
	.m-ready .content .buy_1 .buy_1_str:has(> .buy_1_hover) { background: #eef7fc; }
	.m-ready .content .buy_1 .buy_1_str .buy_1_kvadrat,
	.m-ready .content .buy_1 .buy_1_str .buy_1_kvadrat:hover {
		position: absolute; inset: 0; z-index: 0; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; background: none;
	}
	.m-ready .content .buy_1 .buy_1_str .buy_1_kvadrat .buy_1_img { display: none; }
	.m-ready .content .buy_1 .buy_1_str .buy_1_kvadrat::before {
		content: ""; position: absolute; left: 15px; top: 15px; box-sizing: border-box; width: 20px; height: 20px;
		border: 2px solid #9aa5b1; border-radius: 50%; background: #fff;
	}
	.m-ready .content .buy_1 .buy_1_str .buy_1_kvadrat.buy_1_hover::before { border: 6px solid #006b9d; }
	.m-ready .content .buy_1 .buy_1_str .buy_1_kvadrat ~ div { position: relative; z-index: 1; pointer-events: none; }
	.m-ready .content .buy_1 .buy_1_str .buy_1_kvadrat ~ div a { pointer-events: auto; }
	.m-ready .content .buy_1 .buy_1_ico { padding: 12px 14px 8px; text-align: left; }

	/* Шаг 3: контакты — подпись над полем, пример под ним */
	.m-ready .content table.buy_contacts, .m-ready .content table.buy_contacts > tbody,
	.m-ready .content table.buy_contacts > tbody > tr, .m-ready .content table.buy_contacts > tbody > tr > td { display: block; width: auto !important; }
	.m-ready .content table.buy_contacts { margin: 0; padding: 4px 14px 10px; box-sizing: border-box; }
	.m-ready .content table.buy_contacts tr { padding: 8px 0; }
	.m-ready .content table.buy_contacts tr td { padding: 0; text-align: left; }
	.m-ready .content table.buy_contacts .td_obyaz { text-align: left; color: #5f6b75; padding: 6px 0 0; }
	.m-ready .content table.buy_contacts .buy_cont_td { padding: 0 0 6px; font-size: 14px; font-weight: 600; color: #1d1d1f; }
	.m-ready .content table.buy_contacts input.text, .m-ready .content table.buy_contacts textarea {
		width: 100% !important; box-sizing: border-box; height: 46px; padding: 0 12px; border: 1px solid #cfd8e0; border-radius: 10px;
		font: 16px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; background: #fff;
	}
	.m-ready .content table.buy_contacts textarea { height: 96px; padding: 10px 12px; }
	.m-ready .content table.buy_contacts input.text:focus, .m-ready .content table.buy_contacts textarea:focus {
		outline: 0; border-color: #0a86d1; box-shadow: 0 0 0 3px rgba(10,134,209,.15);
	}
	.m-ready .content table.buy_contacts .buy_naprimer { padding: 4px 0 0; font-size: 12px; color: #8a96a0; }
	.m-ready .content table.buy_contacts .buy_naprimer:empty { display: none; }
	.m-ready .content table.buy_contacts .buy_error { padding: 4px 0 0; font-size: 13px; }
	.m-ready .content table.buy_contacts .buy_error:empty { display: none; }
	.m-ready .content table.buy_contacts .buy_email { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.4; color: #5f6b75; }
	.m-ready .content table.buy_contacts .buy_email input { width: 20px; height: 20px; flex: none; margin: 0; accent-color: #006b9d; }

	/* Шаг 4: проверка заказа */
	.m-ready .content .shag_finish {
		margin: 4px 0 0; padding: 12px 14px; border: 0; border-radius: 12px; background: #fff4e5; color: #8a4b00;
		font: 500 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; text-align: left;
	}
	.m-ready .content .buy_1 table.basket { padding: 0 14px; box-sizing: border-box; }
	.m-ready table.basket td.kolvo:not(:has(input))::before { content: "\041A\043E\043B-\0432\043E"; display: block; font-size: 10px; color: #888; }   /* «Кол-во» */
	.m-ready table.basket td.kolvo:not(:has(input)) { font-size: 15px; font-weight: 600; }
	.m-ready .content .buy_1 .buy_1_nal .buy_1_dostavka, .m-ready .content .buy_1 .buy_1_nal .buy_1_oplata {
		float: none; height: auto; margin: 0; padding: 10px 14px 0 46px; background-position: 14px 12px; background-size: 22px;
		font-size: 13px;
	}
	.m-ready .content .buy_1 .buy_1_nal .buy_1_dostavka p, .m-ready .content .buy_1 .buy_1_nal .buy_1_oplata p { line-height: 1.4; }
	.m-ready .content .buy_1 .buy_1_nal .buy_1_itogo {
		display: flex; justify-content: space-between; align-items: baseline; margin: 10px 14px 4px; padding: 12px 0 6px;
		border-top: 1px solid #eef1f4; text-align: left;
	}
	.m-ready .content .buy_1 .buy_1_itogo .m-itogo-label { color: #5f6b75; font-size: 15px; font-weight: 600; }
	.m-ready .content .buy_1 .buy_1_nal .buy_1_itogo .m-price { font-size: 22px; color: #1d1d1f; }
	.m-ready .content .buy_1 table.cart_user .m-price { font-size: 20px; }
	.m-ready .content .buy_1 table.cart_user, .m-ready .content .buy_1 table.cart_user > tbody,
	.m-ready .content .buy_1 table.cart_user > tbody > tr, .m-ready .content .buy_1 table.cart_user > tbody > tr > td { display: block; width: auto !important; }
	.m-ready .content .buy_1 table.cart_user { margin: 0; padding: 6px 14px 8px; }
	.m-ready .content .buy_1 table.cart_user tr { padding: 6px 0; }
	.m-ready .content .buy_1 table.cart_user td { padding: 0; text-align: left; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
	.m-ready .content .buy_1 table.cart_user .cart_user_td { font-size: 12px; font-weight: 500; color: #8a96a0; text-align: left; }
	.m-ready .content .buy_1 table.cart_user hr { border: 0; border-top: 1px solid #eef1f4; margin: 4px 0; }

	/* ---------- Формы (.sobrat): подпись над полем ---------- */
	.m-ready table.sobrat, .m-ready table.sobrat > tbody, .m-ready table.sobrat > tbody > tr,
	.m-ready table.sobrat > tbody > tr > td { display: block; width: auto !important; }
	.m-ready table.sobrat td { padding: 3px 0; }
	.m-ready table.sobrat td.td { text-align: left; padding-top: 10px; }
	.m-ready table.sobrat td.cen { text-align: center; }
	.m-ready table.sobrat .byselect { max-width: 100%; }
	.m-ready .input { height: 40px; }
	.m-ready .inp1, .m-ready .inp3 { display: none; }
	.m-ready .inp2 { left: 0; right: 0; height: 38px; line-height: 38px; border: 1px solid #d8d7d7; border-radius: 4px; padding: 0 8px; }
	.m-ready .inp2 p label { top: 0; height: 38px; line-height: 38px; font-size: 13px; }
	.m-ready .inp2 input { height: 36px; font-size: 16px; }    /* 16px — iOS не зумит поле при фокусе */
	.m-ready .textarea { border-radius: 4px; }
	.m-ready .textarea .lv, .m-ready .textarea .rv, .m-ready .textarea .ln, .m-ready .textarea .rn { display: none; }
	.m-ready .textarea .padding textarea { font-size: 16px; box-sizing: border-box; }
	.m-ready .textarea p label { font-size: 13px; right: 9px; }
	.m-ready .submit .inp4, .m-ready .submit .inp6 { display: none; }
	.m-ready .submit .inp5 { height: auto; padding: 10px 18px; border-radius: 6px; }
	.m-ready .submit .inp5 input, .m-ready .submit .inp5 div { font-size: 16px; }

	/* ---------- Страницы без шапки сайта: /zvonok (на компьютере — всплывающее окно 394×465) ---------- */
	.m-popup body { width: auto !important; height: auto !important; border: 0; font-family: arial, sans-serif; }
	.m-popup h1 { font-size: 22px; padding: 12px 10px; box-sizing: border-box; }
	.m-popup .div_error { height: auto; min-height: 10px; }
	.m-popup .vajno { font-size: 13px; padding: 0 12px; line-height: 1.35; }
	.m-popup form > table, .m-popup form > table > tbody,
	.m-popup form > table > tbody > tr, .m-popup form > table > tbody > tr > td { display: block; width: auto !important; }
	.m-popup form > table { margin-top: 10px; padding: 0 12px; box-sizing: border-box; }
	.m-popup form > table td { padding: 3px 0; font-size: 15px; }
	.m-popup form > table td.td_1 { text-align: left; padding-top: 12px; line-height: 1.3; }
	.m-popup form > table td input, .m-popup form > table td select, .m-popup form > table td textarea {
		width: 100%; box-sizing: border-box; font-size: 16px; padding: 8px 10px; border-radius: 4px;
	}
	.m-popup form > table td select { background: #fff; color: #000; -webkit-appearance: none; appearance: none; }
	.m-popup form > table td textarea { min-height: 110px; }
	.m-popup .g-recaptcha.right, .m-popup .smart-captcha { float: none; margin: 12px 0 0; }
	.m-popup .submit { text-align: center; margin: 16px 12px 30px; }
	.m-popup .submit input { width: 100%; max-width: 320px; height: 46px; line-height: 46px; font-size: 17px; -webkit-appearance: none; }

	.m-popup img { max-width: 100% !important; height: auto !important; }
	.m-popup #m-bar .m-logo img { height: 38px !important; width: auto !important; }   /* окно, открытое напрямую: логотип растягивался на всю ширину */
	/* У страниц-окон ширина зашита под компьютер (body 890px, блоки 600/560px) — ни один блок не шире экрана */
	.m-popup body { min-width: 0 !important; overflow-x: hidden; }
	.m-popup body * { max-width: 100% !important; box-sizing: border-box; }
	.m-popup body iframe[src*="recaptcha"] { max-width: none !important; }
	.m-popup ul, .m-popup ol { padding-left: 22px; }

	/* Контакты магазина: ссылки на карты (перенесены скриптом под таблицу) — кнопками */
	.m-popup td.m-maps { padding-top: 10px !important; }
	.m-popup td.m-maps p { display: inline-block; margin: 0 8px 8px 0; padding: 0; }
	.m-popup td.m-maps a {
		display: inline-block; padding: 8px 12px; border-radius: 18px; background: #e8f4fa; color: #006b9d;
		font-size: 14px; text-decoration: none;
	}
	.m-popup td.m-maps a span { font-weight: bold; }
	/* Страница «Контакты» (/koordinaty): по каждому магазину — заголовок, фото, карта, карточка с адресом/телефоном/временем,
	   кнопки карт проезда. На сайте это две таблицы (фото | карта и Адрес/Телефон/Время | ссылки на карты, rowspan). */
	/* каждый магазин — одна карточка: синяя полоса с адресом, фото, карта, контакты */
	.m-ready .content .contacts {
		/* -18px: страница даёт по 30 px полей с каждой стороны — карточке оставляем 12 px до края экрана */
		margin: 0 -18px 22px; background: #fff; border: 1px solid #dfe8f1; border-radius: 18px; overflow: hidden;
		box-shadow: 0 6px 18px rgba(0, 60, 100, .10);
	}
	/* почта и реквизиты над магазинами (на сайте прижаты вправо) */
	.m-ready .content p.email { text-align: left; margin: 0 14px; padding: 4px 0; font-size: 14px; line-height: 1.4 !important; }
	.m-ready .content p.email a { color: #006c9d; font-weight: 600; word-break: break-word; }
	/* только подпись магазина; вложенный span.addr-nw (addrNoWrap) — не блок, иначе «:» уезжает на отдельную строку */
	.m-ready .content p.email > span { display: block; color: #555; }
	.m-ready .content p.email + .contacts, .m-ready .content p.email ~ .contacts:first-of-type { margin-top: 18px; }
	.m-ready .content .contacts table.kontakti, .m-ready .content .contacts table.kontakti tbody,
	.m-ready .content .contacts table.kontakti tr, .m-ready .content .contacts table.kontakti td {
		display: block; width: auto !important; height: auto !important; padding: 0; border: 0;
	}
	/* адрес-заголовок — в одну строку: шрифт от ширины экрана (на 375 px ≈ 16.5 px), без переноса */
	.m-ready .content .contacts td.bawt h1 {
		margin: 0; padding: 11px 12px; font-size: min(18px, 4.2vw); line-height: 1.25; text-align: left; color: #fff;
		background: linear-gradient(180deg, #006c9d 0%, #0183bd 100%);
		white-space: nowrap; letter-spacing: -.01em;
	}
	.m-ready .content .contacts td.img img { display: block; width: 100% !important; height: auto !important; border-radius: 0; }
	.m-ready .content .contacts td.yandex { margin: 0; border-top: 2px solid #fff; }
	.m-ready .content .contacts td.yandex .height_div,
	.m-ready .content .contacts td.yandex [id^="YMapsID"] { width: 100% !important; height: 250px !important; }
	.m-ready .content .contacts td.yandex .height_div { overflow: hidden; }
	/* карта Яндекса собирается из кусочков 256×256 — правило «картинка не шире экрана» её ломает (серый фон) */
	.m-ready .content .yandex *, .m-ready .content .yandex img { max-width: none !important; }
	/* метка магазина на карте: Яндекс больше не отдаёт картинки старого API (placemarks/pmblm*.png → 404) — рисуем свою.
	   Картинка 28×29, точка привязки (8, 27) — остриё метки там же */
	.m-ready img[src*="/placemarks/pmblm"] {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 29'%3E%3Cpath d='M8 28S1 17.5 1 10.5a7 7 0 0 1 14 0C15 17.5 8 28 8 28z' fill='%23e53935' stroke='%23fff' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='10.5' r='2.7' fill='%23fff'/%3E%3C/svg%3E");
		width: 28px !important; height: 29px !important;
	}
	.m-ready .content .contacts .zag {
		margin: 0; padding: 14px 14px 16px; border: 0 !important; border-top: 1px solid #e3eaf3 !important; border-radius: 0; background: #f7fafd;
		font-size: 15px;
	}
	.m-ready .content .contacts .zag table { display: block; width: auto !important; }
	.m-ready .content .contacts .zag tbody { display: grid; grid-template-columns: max-content 1fr; gap: 8px 12px; align-items: baseline; }
	.m-ready .content .contacts .zag tr { display: contents; }
	.m-ready .content .contacts .zag td { display: block; padding: 0 !important; width: auto !important; line-height: 1.35; text-align: left; }
	.m-ready .content .contacts .zag td span { color: #6b7a8f; font-weight: 600; font-size: 13.5px; }
	.m-ready .content .contacts .zag td a[href^="tel:"] { color: #006c9d; font-weight: 700; text-decoration: none; }
	.m-ready .content .contacts .zag td[rowspan] { grid-column: 1 / -1; order: 9; display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
	.m-ready .content .contacts .zag td[rowspan] p { margin: 0; padding: 0; }
	.m-ready .content .contacts .zag td[rowspan] a {
		display: flex; align-items: center; justify-content: center; height: 40px; border-radius: 20px;
		background: #fff; border: 1px solid #cfe0ee; color: #006c9d; font-size: 13.5px; text-decoration: none; white-space: nowrap;
	}
	.m-ready .content .contacts .zag td[rowspan] a span { color: #006c9d; font-size: 13.5px; font-weight: 700; margin-left: 4px; }

	/* Контакты магазина: на сайте фото и карта стоят рядом (contacts.css, 2026-10-22) — на телефоне друг под другом */
	.m-popup .contacts .maps { display: block; height: auto; }
	.m-popup .contacts .maps .img { width: 100% !important; height: auto; margin: 0 0 10px !important; }
	.m-popup .contacts .maps .img img { height: auto !important; object-fit: initial; }
	.m-popup .contacts .maps .yandex { width: 100% !important; height: 260px; margin: 0 !important; overflow: hidden; }
	/* карта Яндекса собирается из кусочков 256×256 — правила «картинка не шире экрана» её ломают (серый фон) */
	.m-popup .yandex *, .m-popup .yandex img { max-width: none !important; }
	.m-popup .yandex img { height: auto !important; }

	/* Внутри нашего окна заголовок уже есть в синей полосе сверху — дубль на странице прячем */
	.m-frame body > h1, .m-frame .sposob_dostavki > .zag { display: none; }

	/* Внутри всплывающего окна — без отступа под верхнюю панель (её там нет) */
	.m-frame body { padding-top: 0; }

	.m-ready #preview { display: none !important; }   /* подсказка-фото по наведению (см. noHoverPreview в mobile.js) */

	/* ---------- Своё всплывающее окно на весь экран (вместо fancybox) ---------- */
	#m-modal {
		position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 3000;
		display: flex; flex-direction: column; background: #fff;
	}
	#m-modal .m-modal-head {
		flex: none; display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 6px 0 14px;
		background: #006b9d; color: #fff; box-sizing: border-box;
	}
	#m-modal .m-modal-title {
		flex: 1; min-width: 0; font: bold 16px/1.2 arial, sans-serif;
		white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	}
	#m-modal .m-modal-close {
		flex: none; width: 44px; height: 44px; border: 0; border-radius: 22px; background: rgba(255,255,255,.18);
		color: #fff; font: 30px/44px arial, sans-serif; padding: 0; cursor: pointer;
	}
	#m-modal .m-modal-body { flex: 1; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }
	#m-modal iframe { display: block; width: 100%; height: 100%; border: 0; }
	.m-modal-open body { overflow: hidden; }

	/* ---------- Ценники (разметку <span class="m-price"> строит mobile.js) ---------- */
	.m-ready .m-price {
		display: inline-flex; align-items: baseline; white-space: nowrap; color: #1d1d1f;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
		font-variant-numeric: tabular-nums; letter-spacing: -0.01em; line-height: 1.1;
	}
	/* !important: старые правила сайта задают размер всем span внутри блока цены (.korzina span { font-size: 28px }) */
	.m-ready .m-price .m-num { font-weight: 700; font-size: 1em !important; color: inherit !important; }
	.m-ready .m-price .m-cur { font-weight: 600; font-size: 0.82em !important; margin-left: 0.12em; color: inherit !important; opacity: .85; }

	/* размеры по местам */
	.m-ready .tovars .korzina { width: auto; height: auto; background: none; padding: 0 0 10px; margin: 0; text-align: left; line-height: 1; }
	.m-ready .tovars .korzina .m-price { font-size: 32px; }
	/* Плитки «Сегодня в продаже»: низ одной строкой — цена слева, «в корзину» справа */
	.m-ready .content .vivod .tovar .podrb { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 6px 8px 8px; margin: 0; }
	.m-ready .content .vivod .tovar .podrb .clear { display: none; }
	.m-ready .content .vivod .tovar .podrb .shop {
		float: none; width: auto; height: auto; margin: 0; padding: 0; background: none; line-height: 1.2; white-space: nowrap;
	}
	.m-ready .content .vivod .tovar .podrb .shop .m-price { font-size: 18px; }
	.m-ready .content .vivod .tovar .podrb .buy { float: none; margin: 0; padding: 0; height: auto; background: none; line-height: 1.2; }
	.m-ready .content .vivod .tovar .podrb .buy a {
		display: inline-block; padding: 6px 10px; border-radius: 14px; background: #006b9d; color: #fff;
		font-size: 12px; text-decoration: none; white-space: nowrap;
	}
	.m-ready .m-spec-grid .tovar .podrb .shop .m-price { font-size: 17px; color: #e30613; }   /* спецпредложение — красным */
	.m-ready .catalogs .table td.pr .m-price, .m-ready .catalogs .table td.pr2 .m-price { font-size: 17px; }
	.m-ready .catalogs .table tr:hover .pr { font-size: inherit; color: inherit; }
	.m-ready table.basket td.cena .m-price { font-size: 15px; }
	.m-ready table.basket td.itogo1 .m-price { font-size: 20px; }

	/* ---------- Способы оплаты (разметку .m-pay строит mobile.js вместо старых логотипов) ---------- */
	/* Две строки белых плашек с тонкой рамкой (как в блоках оплаты у крупных магазинов).
	   Плашки в строке делят ширину поровну (карты — шире) и сжимаются, а не переносятся на третью строку. */
	.m-ready .m-pay { display: flex; flex-direction: column; gap: 6px; }
	.m-ready .m-pay-row { display: flex; gap: 6px; }
	.m-ready .m-pay-chip {
		flex: 1 1 0; min-width: 0; height: 32px; padding: 0 6px; box-sizing: border-box;
		display: flex; align-items: center; justify-content: center;
		background: #fff; border: 1px solid #e1e4e8; border-radius: 8px;
	}
	.m-ready .m-pay-chip.m-pay-wide { flex-grow: 1.7; }
	.m-ready .m-pay-chip img {
		display: block; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 18px !important;
		object-fit: contain;
	}
	.m-ready .m-pay-chip.m-pay-cash {
		padding: 0 3px; color: #1d7a3a; white-space: nowrap; letter-spacing: -0.01em;
		font: 600 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	@media (max-width: 359px) { .m-ready .m-pay-chip.m-pay-cash { font-size: 11.5px; } }
	/* блок «Способы оплаты» в колонке — крупнее */
	.m-ready .content .sposob_money { padding: 12px 0 4px 16px; }
	.m-ready .content .sposob_money .m-pay-link { text-decoration: none; display: block; }
	.m-ready .content .sposob_money .m-pay, .m-ready .content .sposob_money .m-pay-row { gap: 8px; }
	.m-ready .content .sposob_money .m-pay-chip { height: 42px; }
	.m-ready .content .sposob_money .m-pay-chip img { max-height: 24px !important; }
	.m-ready .content .sposob_money .m-pay-chip.m-pay-cash { font-size: 15px; }

	/* ---------- Подвал ---------- */
	/* Подвал — компактная синяя полоса в цвет меню; справа место под круглую кнопку чата */
	.m-ready .footer {
		height: auto; margin-top: 18px; padding: 16px 92px 18px 18px; color: #fff;
		background: linear-gradient(180deg, #006c9d 0%, #0183bd 100%);
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-ready .footer .pol2 { display: none; }
	.m-ready .footer table, .m-ready .footer tbody, .m-ready .footer tr, .m-ready .footer td {
		display: block; width: auto !important; height: auto !important; padding: 0; text-align: left; background: none;
	}
	.m-ready .footer td.center { display: none; }
	.m-ready .footer .left p, .m-ready .footer .right p { padding: 0; margin: 0; }
	.m-ready .footer .left p:first-child { font-size: 15px; font-weight: 700; line-height: 1.35; }
	.m-ready .footer .left p + p { font-size: 13px; line-height: 1.35; opacity: .85; }
	.m-ready .footer .right p:empty { display: none; }
	.m-ready .footer td.ft-empty { display: none; }   /* без «Разработка сайта - ZNTeam» правая ячейка пустая — и линии над ней не нужно */
	.m-ready .footer .right { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .25); }
	.m-ready .footer .right a { color: rgba(255, 255, 255, .8); font-size: 12px; text-decoration: none; }

	/* ---------- Главная: кнопки «Товары», «Услуги», «Контакты» и их окна (homeButtons() в mobile.js) ---------- */
	/* Жёлтые (#ffd84d — как звезда и «доставим сразу» в баннере), чтобы сразу бросались в глаза на белом и синем */
	#m-home-btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0 2px; }
	#m-home-btns .m-hb {
		position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px;
		min-width: 0; min-height: 86px; margin: 0; padding: 10px 4px 9px; box-sizing: border-box;
		border: 0; border-radius: 16px; cursor: pointer; color: #06215e;
		background: linear-gradient(135deg, #ffe46b 0%, #ffd23f 45%, #ffb81c 100%);
		box-shadow: 0 6px 18px rgba(255, 170, 0, .38), inset 0 -2px 0 rgba(160, 90, 0, .18);
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
		-webkit-tap-highlight-color: transparent; transition: transform .12s;
	}
	#m-home-btns .m-hb:active { transform: scale(.96); }
	/* блик пробегает по кнопкам слева направо раз в несколько секунд */
	#m-home-btns .m-hb::after {
		content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 50%; pointer-events: none;
		background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .65), transparent); transform: skewX(-20deg);
		animation: m-cat-shine 4.5s ease-in-out 1s infinite;
	}
	#m-home-btns .m-hb:nth-child(2)::after { animation-delay: 1.25s; }
	#m-home-btns .m-hb:nth-child(3)::after { animation-delay: 1.5s; }
	@keyframes m-cat-shine { 0% { left: -60%; } 22%, 100% { left: 130%; } }
	@media (prefers-reduced-motion: reduce) { #m-home-btns .m-hb::after { display: none; } }
	/* значки — белым на тёмно-синем квадрате; у «Товаров» четыре плитки, одна жёлтая */
	#m-home-btns .m-hb-ico {
		flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; box-sizing: border-box;
		border-radius: 12px; background: #0e3184; color: #fff; box-shadow: 0 2px 6px rgba(14, 49, 132, .35);
	}
	#m-home-btns .m-hb-ico svg { width: 22px; height: 22px; display: block; }
	#m-home-btns .m-hb-fill svg { fill: #fff; }
	#m-home-btns .m-hb-tiles { display: grid; grid-template: 1fr 1fr / 1fr 1fr; align-items: stretch; justify-content: stretch; gap: 4px; padding: 10px; }
	#m-home-btns .m-hb-tiles i { border-radius: 3px; background: #fff; }
	#m-home-btns .m-hb-tiles i:first-child { background: #ffd84d; }
	#m-home-btns .m-hb b { font-size: 16.5px; line-height: 1.15; font-weight: 800; letter-spacing: .01em; white-space: nowrap; }
	@media (max-width: 359px) {
		#m-home-btns { gap: 6px; }
		#m-home-btns .m-hb { min-height: 80px; border-radius: 14px; }
		#m-home-btns .m-hb-ico { width: 36px; height: 36px; }
		#m-home-btns .m-hb-tiles { padding: 9px; }
		#m-home-btns .m-hb b { font-size: 14.5px; letter-spacing: 0; }   /* на 320px «Контакты» — в ширину кнопки */
	}

	/* Услуги — плитки в два столбца (на 320px — в один), первая «Все услуги и цены» во всю ширину */
	.m-sheet .m-srv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.m-sheet .m-srv {
		display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 58px; padding: 8px 8px 8px 9px; box-sizing: border-box;
		border-radius: 14px; border: 1px solid #c9d8f5; background: #eef4ff; color: #0e1f45; text-decoration: none;
		font-size: 13.5px; font-weight: 700; line-height: 1.2;
	}
	.m-sheet .m-srv:active { transform: scale(.97); }
	.m-sheet .m-srv-ico {
		flex: none; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px;
		border-radius: 10px; background: linear-gradient(180deg, #1346aa 0%, #0e3184 100%); color: #fff;
	}
	.m-sheet .m-srv-ico svg { width: 20px; height: 20px; display: block; }
	.m-sheet .m-srv-all { grid-column: 1 / -1; position: relative; padding-right: 40px; background: linear-gradient(160deg, #1346aa 0%, #0e3184 55%, #06215e 100%); border-color: #00b4ff; color: #fff; font-size: 16px; box-shadow: 0 0 10px rgba(0, 160, 255, .3); }
	.m-sheet .m-srv-all .m-srv-ico { background: #00b4ff; color: #06215e; }
	.m-sheet .m-srv-all::after {
		content: ""; position: absolute; right: 14px; top: 50%; width: 20px; height: 20px; margin-top: -10px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	@media (max-width: 359px) { .m-sheet .m-srv-grid { grid-template-columns: 1fr; } }

	/* Контакты — окно во весь экран, заголовок остаётся сверху при прокрутке */
	#m-sheet-contacts .m-cat-box { top: 10px; max-height: none; }
	#m-sheet-contacts .m-cat-head { position: sticky; top: -8px; z-index: 2; margin: 0 -14px 10px; padding: 4px 14px 8px; background: #fff; }
	#m-sheet-contacts .m-ct { padding: 0; }
	#m-sheet-contacts .m-ct .ct-map { display: none; }   /* «Как добраться» — в карточках магазинов ниже */
	#m-sheet-contacts .m-ct .ct-addr { color: #0e1f45 !important; }   /* theme.css красит адрес светлым (!important) — для тёмной шапки */
	/* в цветах сайта: «Единый номер» — тёмно-синий с неоновой рамкой, как баннер и шапка; строки магазинов — светло-синие */
	#m-sheet-contacts .m-ct .ct-call {
		background: linear-gradient(160deg, #1346aa 0%, #0e3184 55%, #06215e 100%); border: 1px solid rgba(0, 180, 255, .6);
		box-shadow: 0 0 14px rgba(0, 160, 255, .3), inset 0 0 12px rgba(0, 160, 255, .15);
	}
	#m-sheet-contacts .m-ct .ct-nums a { background: rgba(0, 150, 255, .14); border-color: rgba(0, 180, 255, .45); }
	#m-sheet-contacts .m-ct .ct-nums a:active { background: rgba(0, 170, 255, .3); }
	#m-sheet-contacts .m-ct .ct-order { background: #00b4ff; color: #06215e !important; }
	#m-sheet-contacts .m-ct .ct-chats-title { color: #1346aa; }
	#m-sheet-contacts .m-ct .ct-chats-title svg { fill: #1346aa; }
	#m-sheet-contacts .m-ct .ct-shop { background: #eef4ff; border-color: #c9d8f5; }
	#m-sheet-contacts .m-ct .ct-addr small { color: #5a6b8c; }
	#m-sheet-contacts .m-shops-title { margin: 22px 2px 8px; font-size: 15px; font-weight: 800; color: #1346aa; }
	#m-sheet-contacts .m-shop { margin: 0 0 12px; padding: 10px; border-radius: 16px; background: #eef4ff; border: 1px solid #c9d8f5; }
	#m-sheet-contacts .m-shop-pics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	#m-sheet-contacts .m-shop-pics img, #m-sheet-contacts .m-shop-map {
		display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 11px; background: #dde6f0;
	}
	#m-sheet-contacts .m-shop-map { overflow: hidden; }
	#m-sheet-contacts .m-shop-map img { height: 100%; border-radius: 0; }
	#m-sheet-contacts .m-shop-addr { margin: 10px 2px 6px; color: #0e1f45; font-size: 17px; font-weight: 800; line-height: 1.25; }
	#m-sheet-contacts .m-shop-addr small { display: block; color: #5a6b8c; font-size: 12.5px; font-weight: 600; }
	#m-sheet-contacts .m-shop-addr .addr-nw { white-space: nowrap; }
	#m-sheet-contacts .m-shop-hours { display: flex; align-items: flex-start; gap: 8px; margin: 0 2px 10px; color: #2b3a55; font-size: 14.5px; line-height: 1.4; }
	#m-sheet-contacts .m-shop-hours svg { flex: none; width: 18px; height: 18px; margin-top: 1px; color: #00b4ff; }
	#m-sheet-contacts .m-shop-acts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	#m-sheet-contacts .m-shop-acts a {
		display: flex; align-items: center; justify-content: center; gap: 7px; height: 46px; border-radius: 12px;
		font-size: 15px; font-weight: 700; text-decoration: none;
	}
	#m-sheet-contacts .m-shop-acts svg { flex: none; width: 19px; height: 19px; }
	#m-sheet-contacts .m-shop-acts span { display: flex; flex-direction: column; line-height: 1.1; }
	#m-sheet-contacts .m-shop-acts small { font-size: 12px; font-weight: 600; opacity: .85; }
	#m-sheet-contacts .m-shop-call { background: linear-gradient(180deg, #1346aa 0%, #0e3184 100%); color: #fff; box-shadow: 0 0 10px rgba(0, 160, 255, .3); }
	#m-sheet-contacts .m-shop-call svg { fill: #fff; }
	#m-sheet-contacts .m-shop-route { background: #fff; color: #1346aa; border: 1px solid #00b4ff; }
	#m-sheet-contacts .m-shop-acts a:active { transform: scale(.97); }
	/* пока карточки загружаются в первый раз */
	#m-sheet-contacts .m-shop-wait {
		height: 300px; box-sizing: border-box; border: 0;
		background: linear-gradient(100deg, #e3ecfb 30%, #f3f7ff 50%, #e3ecfb 70%) 0 0 / 300% 100%; animation: m-shop-wait 1.2s linear infinite;
	}
	@keyframes m-shop-wait { from { background-position: 100% 0; } to { background-position: 0 0; } }
	#m-sheet-contacts .m-shops-err {
		display: block; padding: 14px; border-radius: 14px; background: #1346aa; color: #fff;
		text-align: center; font-size: 16px; font-weight: 700; text-decoration: none;
	}

	/* окно выбора — снизу экрана, поверх затемнения */
	.m-sheet { display: none; }
	.m-cat-open .m-sheet.m-on { display: block; position: fixed; inset: 0; z-index: 1100; }
	.m-cat-open body { overflow: hidden; }
	.m-cat-open #dive-widget-root { display: none !important; }   /* круглая кнопка чата DiveChat закрывала вторую карточку */
	.m-sheet .m-cat-shade { position: absolute; inset: 0; background: rgba(4, 18, 52, .55); animation: m-cat-fade .2s; }
	.m-sheet .m-cat-box {
		position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 14px calc(18px + env(safe-area-inset-bottom)); box-sizing: border-box;
		background: #fff; border-radius: 20px 20px 0 0; box-shadow: 0 -8px 30px rgba(0, 0, 0, .25); animation: m-cat-up .25s ease-out;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}
	.m-sheet .m-cat-box { max-height: calc(100% - 24px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	.m-sheet .m-cat-box::before { content: ""; display: block; width: 40px; height: 5px; margin: 0 auto 6px; border-radius: 3px; background: #d5dce6; }
	@keyframes m-cat-up { from { transform: translateY(100%); } to { transform: none; } }
	@keyframes m-cat-fade { from { opacity: 0; } to { opacity: 1; } }
	.m-sheet .m-cat-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 10px; }
	.m-sheet .m-cat-head b { font-size: 20px; font-weight: 800; color: #0e3184; }
	.m-sheet .m-cat-x {
		width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
		background: #eef2f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23506080' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 16px no-repeat;
	}
	.m-sheet .m-cat-opt {
		display: flex; align-items: center; gap: 14px; margin: 0 0 10px; padding: 14px 44px 14px 14px; position: relative;
		border-radius: 16px; text-decoration: none; color: #0e1f45; border: 1px solid #dbe5f3; background: #f6f9ff;
	}
	.m-sheet .m-cat-opt:active { transform: scale(.985); }
	.m-sheet .m-cat-opt::after {
		content: ""; position: absolute; right: 14px; top: 50%; width: 20px; height: 20px; margin-top: -10px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e3184' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.m-sheet .m-cat-pic { flex: none; width: 52px; height: 52px; border-radius: 14px; background: center / 28px no-repeat; }
	/* в наличии — зелёный: пакет с галочкой; на заказ — синий: грузовик */
	.m-sheet .m-cat-now { border-color: #bfe6cc; background: #f1fbf4; }
	.m-sheet .m-cat-now .m-cat-pic { background-color: #1fa851; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3Cpath d='m9.5 14 2 2 3.5-4'/%3E%3C/svg%3E"); }
	.m-sheet .m-cat-ord .m-cat-pic { background-color: #1673d6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2z'/%3E%3Cpath d='M13 9h4l3 3v4h-7z'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
	.m-sheet .m-cat-t { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
	.m-sheet .m-cat-t b { font-size: 18px; font-weight: 800; line-height: 1.2; }
	.m-sheet .m-cat-t small { font-size: 14px; line-height: 1.3; color: #55627a; }
}
