/* BIOCARD: калькулятор курьерской доставки (calc/calc.php, calc/calc.js). Цвета — фирменные токены сайта. */
.bcc { --bcc-b: #7C1623; --bcc-b2: #9C1F30; --bcc-line: #e8dede; --bcc-field: #d9cccd; --bcc-soft: #faf7f7; --bcc-text: #262626; --bcc-mute: #5f5557; }
.bcc, .bcc-dlg { font-variant-numeric: tabular-nums; }
.bcc-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; font-size: 13px; line-height: 1.3; color: var(--bcc-mute); font-weight: 400; }
.bcc-f > span { font-weight: 600; color: #3b3335; }
.bcc select, .bcc input[type="number"], .bcc-dlg input:not([type="checkbox"]), .bcc-dlg select, .bcc-dlg textarea {
	width: 100%; height: 46px; box-sizing: border-box; margin: 0; padding: 0 12px; border: 1px solid #d9cccd; border-radius: 6px;
	background: #fff; color: #262626; font: inherit; font-size: 16px; line-height: 1.2; box-shadow: none; }
.bcc select { padding-right: 34px; appearance: none; -webkit-appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237C1623' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center; }
.bcc-dlg textarea { height: auto; min-height: 64px; padding: 10px 12px; resize: vertical; }
.bcc select:focus, .bcc input:focus, .bcc-dlg input:focus, .bcc-dlg select:focus, .bcc-dlg textarea:focus { outline: none; border-color: #7C1623; box-shadow: 0 0 0 3px rgba(124, 22, 35, .15); }
.bcc input::placeholder, .bcc-dlg input::placeholder, .bcc-dlg textarea::placeholder { color: #9a8f91; }
.bcc .btn-biocard, .bcc-dlg .btn-biocard { margin: 0; cursor: pointer; }
.bcc .btn-biocard[disabled] { opacity: .45; cursor: default; }
.bcc-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.bcc-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 16px; margin-top: 12px; }
.bcc-ck { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 10px; font-size: 15px; line-height: 1.4; color: #262626; font-weight: 400; cursor: pointer; }
.bcc-ck input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #7C1623; }
.bcc-ck span { flex: 1 1 auto; }
.bcc-ck b { flex: none; color: #7C1623; font-weight: 700; white-space: nowrap; }

/* Полная версия: форма слева, итог справа (закреплён при прокрутке). */
.bcc-full { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.bcc-form { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.bcc-set { margin: 0; padding: 16px 18px 6px; border: 1px solid #e8dede; border-radius: 8px; min-width: 0; }
.bcc-set legend { padding: 0 6px; margin-left: -6px; font-size: 15px; font-weight: 700; color: #262626; }
.bcc-set legend small { font-weight: 400; color: #5f5557; font-size: 13px; }
.bcc-dims { display: flex; align-items: center; gap: 8px; }
.bcc-dims span { color: #5f5557; }
.bcc-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 12px 0 0; font-size: 13px; color: #5f5557; }
.bcc-chips button { height: 32px; padding: 0 12px; border: 1px solid #d9cccd; border-radius: 16px; background: #fff; color: #7C1623; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.bcc-chips button:hover, .bcc-chips button.is-on { border-color: #7C1623; background: #7C1623; color: #fff; }
.bcc-hint { margin: 10px 0 10px; font-size: 13px; line-height: 1.45; color: #5f5557; }
.bcc-out { position: sticky; top: 16px; padding: 22px 22px 20px; background: #fff; border: 1px solid #e8dede; border-top: 3px solid #7C1623; border-radius: 0 0 8px 8px; box-shadow: 0 12px 32px rgba(60, 20, 26, .07); }
.bcc-route { font-size: 15px; line-height: 1.4; color: #262626; font-weight: 600; }
.bcc-sum { margin: 10px 0 2px; font-size: 40px; line-height: 1.1; font-weight: 800; color: #7C1623; }
.bcc-sum small { font-size: 15px; font-weight: 600; color: #5f5557; }
.bcc-vat { font-size: 15px; color: #3b3335; min-height: 1.4em; }
.bcc-lines { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px dashed #e0d3d4; }
.bcc-lines li { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 6px; padding: 0; font-size: 14px; line-height: 1.4; color: #3b3335; }
.bcc-lines li::before { content: none; }
.bcc-lines b { white-space: nowrap; color: #262626; }
.bcc-weight { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: #5f5557; }
.bcc-incl { margin: 12px 0 16px; padding: 10px 12px; background: #faf7f7; border-radius: 6px; font-size: 13.5px; line-height: 1.45; color: #3b3335; }
.bcc-out .bcc-order { width: 100%; }
.bcc-disc { margin: 12px 0 0; font-size: 12.5px; line-height: 1.45; color: #5f5557; }
.bcc-disc a { color: #7C1623; }

/* Компактная полоса на главной: заголовок · куда · вес · цена · «Оформить». */
.bcc-compact { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(170px, 1fr) 104px minmax(150px, auto) auto; grid-template-areas: "t to w res btn" "t links links links links"; align-items: end; gap: 6px 16px; }
.bcc-c-title { grid-area: t; display: flex; flex-direction: column; gap: 3px; align-self: center; min-width: 0; }
.bcc-c-title b { font-size: 18px; line-height: 1.25; color: #7C1623; }
.bcc-c-title span { font-size: 13.5px; line-height: 1.35; color: #444; }
.bcc-c-to { grid-area: to; }
.bcc-c-w { grid-area: w; }
.bcc-c-res { grid-area: res; display: flex; flex-direction: column; justify-content: center; min-height: 46px; padding: 0 4px; }
.bcc-c-sum { font-size: 24px; line-height: 1.1; font-weight: 800; color: #7C1623; white-space: nowrap; }
.bcc-c-res small { font-size: 12.5px; color: #5f5557; white-space: nowrap; }
.bcc-compact .bcc-order { grid-area: btn; height: 46px; min-width: 150px; padding: 0 22px; white-space: nowrap; }
.bcc-c-links { grid-area: links; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; line-height: 1.35; color: #5f5557; }
.bcc-c-more, .bcc-link { color: #7C1623; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.bcc-c-more:hover, .bcc-link:hover { color: #9C1F30; }

/* Окно заявки. */
.bcc-dlg { width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 10px; box-shadow: 0 24px 64px rgba(21, 23, 28, .35); color: #262626; overflow: auto; }
.bcc-dlg::backdrop { background: rgba(21, 16, 17, .55); }
.bcc-dlg.bcc-dlg-fallback { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 100000; }
.bcc-dlg-in { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 26px 26px 22px; }
.bcc-dlg h2 { margin: 0; padding-right: 36px; font-size: 22px; line-height: 1.25; color: #262626; text-transform: none; }
.bcc-dlg-x { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: #5f5557; font-size: 28px; line-height: 1; cursor: pointer; }
.bcc-dlg-x:hover { background: #faf7f7; color: #7C1623; }
.bcc-dlg-sum { padding: 10px 12px; background: #faf7f7; border-left: 3px solid #7C1623; border-radius: 4px; font-size: 14.5px; line-height: 1.45; font-weight: 600; color: #3b3335; }
.bcc-dlg-sum:empty { display: none; }
.bcc-dlg .bcc-f { color: #5f5557; }
.bcc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.bcc-err { margin: 0; padding: 10px 12px; background: #fdf0f1; border-radius: 6px; color: #8f1d2c; font-size: 14px; }
.bcc-send { width: 100%; }
.bcc-consent { margin: 0; font-size: 12.5px; line-height: 1.45; color: #5f5557; }
.bcc-consent a { color: #7C1623; }
.bcc-ok p { margin: 0; font-size: 15.5px; line-height: 1.5; }
.bcc-ok .btn-biocard { align-self: flex-start; min-width: 160px; }

/* Таблица тарифа на /services/tarify/. */
.bcc-tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e8dede; border-radius: 8px; background: #fff; }
.bcc-tbl { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14px; line-height: 1.35; }
.bcc-tbl th, .bcc-tbl td { padding: 9px 12px; border-bottom: 1px solid #f0e7e8; text-align: right; white-space: nowrap; }
.bcc-tbl th:first-child, .bcc-tbl td:first-child { text-align: left; white-space: normal; }
.bcc-tbl thead th { position: sticky; top: 0; background: #faf7f7; font-size: 12.5px; font-weight: 700; color: #3b3335; vertical-align: bottom; white-space: normal; }
.bcc-tbl tbody tr:hover { background: #fdf8f8; }
.bcc-tbl td:nth-child(3) { font-weight: 700; color: #262626; }
.bcc-tbl button { padding: 0; border: 0; background: none; color: #7C1623; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.bcc-tbl-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 12px; }
.bcc-tbl-tools input { width: min(320px, 100%); height: 44px; box-sizing: border-box; padding: 0 12px; border: 1px solid #d9cccd; border-radius: 6px; font: inherit; font-size: 16px; }
.bcc-tbl-tools input:focus { outline: none; border-color: #7C1623; box-shadow: 0 0 0 3px rgba(124, 22, 35, .15); }
.bcc-tbl-tools span { font-size: 13px; color: #5f5557; }
.bcc-details { margin-top: 18px; }
.bcc-details > summary { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 22px; border: 1px solid #7C1623; color: #7C1623; font-size: 13px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; cursor: pointer; list-style: none; }
.bcc-details > summary::-webkit-details-marker { display: none; }
.bcc-details > summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.bcc-details[open] > summary::after { transform: rotate(-135deg) translateY(-1px); }
.bcc-details[open] > summary { margin-bottom: 16px; background: #7C1623; color: #fff; }
.bcc-details > summary:focus-visible { outline: 3px solid rgba(124, 22, 35, .35); outline-offset: 2px; }

@media (max-width: 1199px) {
	.bcc-compact { grid-template-columns: minmax(170px, 1fr) 104px minmax(140px, auto) auto; grid-template-areas: "t t t t" "to w res btn" "links links links links"; }
	.bcc-c-title { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
}
@media (max-width: 991px) {
	.bcc-full { grid-template-columns: 1fr; }
	.bcc-out { position: static; }
}
@media (max-width: 767px) {
	.bcc-grid3 { grid-template-columns: 1fr 1fr; }
	.bcc-grid3 .bcc-f:last-child { grid-column: 1 / -1; }
	.bcc-sum { font-size: 34px; }
	.bcc-compact { grid-template-columns: minmax(0, 1fr) 96px; grid-template-areas: "t t" "to w" "res btn" "links links"; gap: 8px 12px; }
	.bcc-c-title { flex-direction: column; gap: 2px; }
	.bcc-c-title b { font-size: 16px; }
	.bcc-c-title span { display: none; }
	.bcc-compact .bcc-order { min-width: 0; width: 100%; }
	.bcc-c-links { flex-direction: column; gap: 4px; }
	.bcc-dlg-in { padding: 22px 16px 18px; }
	.bcc-dlg .bcc-grid2 { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
	.bcc-grid2 { grid-template-columns: 1fr; }
	.bcc-full .bcc-grid2:nth-child(2) { grid-template-columns: minmax(0, 1fr) 96px; }
	.bcc-dims input { padding: 0 8px; }
}
@media (prefers-reduced-motion: reduce) { .bcc-details > summary::after { transition: none; } }
.bcc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bcc-h3 { margin: 28px 0 10px; font-size: 18px; font-weight: 700; color: #262626; }
.bcc-extras { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; }
.bcc-extras li { position: relative; margin: 0; padding: 0 0 0 16px; font-size: 14.5px; line-height: 1.5; color: #3b3335; }
.bcc-extras li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: #7C1623; }
.bcc-extras b { color: #7C1623; white-space: nowrap; }
@media (max-width: 767px) { .bcc-extras { grid-template-columns: 1fr; } }

/* v2 (22.09.2026, проверка экран за экраном): на телефоне и планшете цена сразу после города и веса, а не под всей формой;
   выключку по ширине (решение CEO, brand-fixes.css) не трогаем;
   кнопка «Оформить» в полосе главной на телефоне — по ширине текста. */
@media (max-width: 991px) {
	.bcc-full { display: flex; flex-direction: column; gap: 18px; }
	.bcc-form { display: contents; }
	.bcc-form > .bcc-grid2 { order: 1; }
	.bcc-out { order: 2; }
	.bcc-form > .bcc-set { order: 3; }
}
@media (max-width: 767px) {
	.bcc-compact { grid-template-columns: minmax(0, 1fr) minmax(96px, auto); }
	.bcc-compact .bcc-order { padding: 0 18px; }
}
@media (max-width: 420px) {
	.bcc-dims { gap: 6px; }
	.bcc-dims input { font-size: 15px; }
}

/* v4: на телефоне колонка «Город» таблицы остаётся на месте, цены прокручиваются вбок. */
@media (max-width: 767px) {
	.bcc-tbl th:first-child, .bcc-tbl td:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 #f0e7e8; }
	.bcc-tbl thead th:first-child { z-index: 2; background: #faf7f7; }
}

/* v5 (22.09.2026, тариф сборных грузов): переключатель «Курьерская / Сборный груз» в полосе главной,
   полный расчёт сборного груза, таблица тарифа сборки. */
.bcc [hidden] { display: none !important; }
.bcc-seg { display: inline-flex; align-self: flex-start; gap: 2px; margin: 6px 0 2px; padding: 3px; border: 1px solid #d9cccd; border-radius: 20px; background: #fff; }
.bcc-seg button { height: 30px; margin: 0; padding: 0 14px; border: 0; border-radius: 16px; background: transparent; color: #7C1623; font: inherit; font-size: 13px; font-weight: 600; line-height: 30px; white-space: nowrap; cursor: pointer; }
.bcc-seg button:hover { background: #faf7f7; }
.bcc-seg button.is-on { background: #7C1623; color: #fff; }
.bcc-seg button:focus-visible { outline: 3px solid rgba(124, 22, 35, .35); outline-offset: 1px; }
.bcc-static { display: flex; align-items: center; height: 46px; box-sizing: border-box; padding: 0 12px; border: 1px dashed #d9cccd; border-radius: 6px; background: #faf7f7; color: #3b3335; font-size: 16px; line-height: 1.2; }
.bcc-grid3.bcc-grid3-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bcc-tbl-ltl td:nth-child(3) { font-weight: 400; }
.bcc-tbl-ltl td:nth-child(2), .bcc-tbl-ltl td:nth-child(4) { font-weight: 700; color: #262626; }
@media (max-width: 1199px) {
	.bcc-seg { margin: 0; align-self: center; }
}
@media (max-width: 767px) {
	.bcc-grid3-2 .bcc-f:last-child { grid-column: auto; }
	.bcc-c-res small { white-space: normal; }
	.bcc-seg { align-self: flex-start; margin: 4px 0 0; }
}
.bcc-tbl-sklad { min-width: 560px; }
.bcc-tbl-sklad td:nth-child(3) { font-weight: 400; }
.bcc-extras-sklad { margin-top: 18px; }
.bcc-ltl-cards { margin-top: 28px; }
@media (max-width: 767px) { .bcc-tbl-sklad th:first-child, .bcc-tbl-sklad td:first-child { min-width: 170px; } }
/* v6: на планшете и телефоне поля полного расчёта — во всю ширину (align-items от десктопной сетки их сжимал);
   диапазоны температур не рвутся после многоточия. */
@media (max-width: 991px) { .bcc-full { align-items: stretch; } }
.bcc-nw { white-space: nowrap; }
/* v7: ставки склада на телефоне — карточками: услуга, под ней три цены с подписью режима (таблица в 4 колонки не помещалась). */
@media (max-width: 767px) {
	.bcc-tbl-wrap:has(.bcc-tbl-sklad) { overflow: visible; }
	.bcc-tbl.bcc-tbl-sklad { min-width: 0; }
	.bcc-tbl-sklad thead { display: none; }
	.bcc-tbl-sklad, .bcc-tbl-sklad tbody { display: block; }
	.bcc-tbl-sklad tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 10px; padding: 12px 14px; border-bottom: 1px solid #f0e7e8; }
	.bcc-tbl-sklad tr:last-child { border-bottom: 0; }
	.bcc-tbl-sklad td, .bcc-tbl-sklad td:first-child { position: static; min-width: 0; padding: 0; border: 0; box-shadow: none; background: none; text-align: left; white-space: normal; }
	.bcc-tbl-sklad td:first-child { grid-column: 1 / -1; margin-bottom: 4px; font-weight: 600; color: #262626; }
	.bcc-tbl-sklad td[data-label] { font-size: 16px; font-weight: 700; color: #262626; }
	.bcc-tbl-sklad td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 12px; font-weight: 400; color: #5f5557; white-space: nowrap; }
}

/* v8 (22.09.2026, замечания CEO и коллег): кнопка «Рассчитать» в полосе главной — в полный расчёт с городом и весом
   («провалиться в расчёт»), «Оформить» рядом контуром; крестик окна заявки — поверх заголовка (анимация появления
   заголовков brand-motion.js давала h2 will-change и слой поверх крестика: клик уходил в заголовок); внутри
   калькулятора и окна анимации появления нет; на сенсорных экранах снятая кнопка габаритов не остаётся красной. */
.bcc-dlg-x { z-index: 3; }
html.bm-motion .bcc-dlg .bm-reveal, html.bm-motion .bcc .bm-reveal { opacity: 1; transform: none; transition: none; will-change: auto; }
.bcc-c-btns { grid-area: btn; display: flex; gap: 8px; }
.bcc-compact .bcc-c-btns .btn-biocard { width: auto; min-width: 0; height: 46px; margin: 0; padding: 0 18px; font-size: 15px; white-space: nowrap; text-decoration: none; }
.bcc-compact .bcc-calc { min-width: 150px; }
.bcc-compact .bcc-calc:hover, .bcc-compact .bcc-calc:focus { text-decoration: none; }
.bcc-compact .bcc-order { background: #fff; color: #7C1623; }
.bcc-compact .bcc-order:hover { background: #7C1623; color: #fff; }
@media (max-width: 767px) {
	.bcc-compact { grid-template-areas: "t t" "to w" "res res" "btn btn" "links links"; }
	.bcc-compact .bcc-c-btns .btn-biocard { flex: 1 1 0; padding: 0 10px; }
	.bcc-compact .bcc-calc { min-width: 0; }
}
@media (hover: none) { .bcc-chips button:hover:not(.is-on) { border-color: #d9cccd; background: #fff; color: #7C1623; } }
/* v9: на планшете (768–991) кнопки «Рассчитать» и «Оформить» — отдельной строкой под городом, весом и ценой. */
@media (min-width: 768px) and (max-width: 991px) {
	.bcc-compact { grid-template-columns: minmax(0, 1fr) 104px minmax(140px, auto); grid-template-areas: "t t t" "to w res" "btn btn btn" "links links links"; }
	.bcc-compact .bcc-c-btns .btn-biocard { flex: 1 1 0; }
}

/* v10 (22.09.2026): «по оферте» под ценой и выбор пути в окне заявки — оферта / договор / сначала вопрос. */
.bcc-offer { margin: 14px 0 12px; padding: 10px 12px; background: #faf7f7; border-radius: 6px; font-size: 13.5px; line-height: 1.45; color: #3b3335; }
.bcc-offer b { color: #7C1623; font-weight: 700; }
.bcc-offer a, .bcc-pth-d a { color: #7C1623; }
/* 25.09.2026, окно в два шага (CEO: «в два этапа… иначе мы будем пугать клиентов»): путь — три плитки в ряд, под ними
   описание выбранного (по data-path формы). Кружок радиокнопки спрятан, но в фокусе клавиатуры остаётся: стрелки
   переключают путь, рамка фокуса — на плитке. */
.bcc-path { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.bcc-path legend { margin: 0 0 2px; padding: 0; font-size: 13px; font-weight: 600; color: #3b3335; }
.bcc-pths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.bcc-pth { position: relative; display: flex; flex-direction: column; gap: 2px; min-width: 0; margin: 0; padding: 9px 12px; border: 1px solid #d9cccd; border-radius: 8px; background: #fff; cursor: pointer; font-weight: 400; }
.bcc-pth input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.bcc-pth-t { font-size: 15px; line-height: 1.3; font-weight: 700; color: #262626; }
.bcc-pth-s { font-size: 12.5px; line-height: 1.35; color: #5f5557; }
.bcc-pth:hover { border-color: rgba(124, 22, 35, .45); }
.bcc-pth.is-on { border-color: #7C1623; background: #faf7f7; box-shadow: inset 0 0 0 1px #7C1623; }
.bcc-pth.is-on .bcc-pth-s { color: #7C1623; }
.bcc-pth:focus-within { outline: 2px solid rgba(124, 22, 35, .35); outline-offset: 2px; }
.bcc-pth-d { display: none; margin: 0; font-size: 13px; line-height: 1.45; color: #5f5557; }
.bcc-dlg-in[data-path="offer"] .bcc-pth-d[data-for="offer"],
.bcc-dlg-in[data-path="contract"] .bcc-pth-d[data-for="contract"],
.bcc-dlg-in[data-path="ask"] .bcc-pth-d[data-for="ask"] { display: block; }
@media (max-width: 575px) {
	.bcc-pths { gap: 6px; }
	.bcc-pth { padding: 8px 9px; }
	.bcc-pth-t { font-size: 14px; }
	.bcc-pth-s { font-size: 12px; }
}
/* Ждём сервис тарифов: цена по таблице уже видна, но приглушена, пока не пришли точные цена и срок (обычно ~1 с). */
.bcc-wait [data-o="sum"] { opacity: .55; transition: opacity .2s; }
@media (prefers-reduced-motion: reduce) { .bcc-wait [data-o="sum"] { transition: none; } }

/* МТЭО (23.09.2026): индикативный калькулятор международных перевозок — calc/mteo.php, calc/mteo.js.
   «Индикатив» — статусный цвет «внимание» из стандарта (--warn #B45309, --warn-bg #FFF4E2), не второй фирменный. */
.bcm-badge { display: inline-block; margin: 0 0 10px; padding: 3px 10px; border-radius: 999px; background: #B45309; color: #fff; font-size: 12px; line-height: 1.5; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bcm-ind { margin: 12px 0 16px; padding: 10px 12px; background: #FFF4E2; border-left: 3px solid #B45309; border-radius: 4px; font-size: 13.5px; line-height: 1.45; color: #3b3335; }
.bcm-ind b { color: #262626; }
.bcm .bcc-seg { flex-wrap: wrap; border-radius: 20px; }
@media (max-width: 991px) {
	.bcm .bcc-form > .bcm-top { order: 1; }
}
@media (max-width: 420px) {
	.bcm.bcc-full .bcc-grid2:nth-child(2) { grid-template-columns: 1fr; }
	.bcm.bcc-full .bcc-grid2.bcm-wn { grid-template-columns: minmax(0, 1fr) 96px; }
	.bcm .bcc-seg button { padding: 0 10px; }
}
/* В шаблоне сайта legend плавает влево, а обтекание снимает только первый элемент после неё. Первой в «Дополнительно»
   МТЭО бывает скрытая строка рефрижератора — тогда таможня вставала справа от legend полоской в 6 px (телефон, 23.09). */
.bcm .bcc-set > :not(legend) { clear: left; }

/* v11 (23.09.2026, CEO: «расчёт МТЭО надо сделать и здесь тоже. Курьерка, сборка и МТЭО»): вкладка «Международная» в полосе
   на главной. Переключатель из трёх кнопок — 342 px, колонка заголовка не уже его (minmax(min-content, …)): иначе третья
   кнопка ложилась на поле «Маршрут». «Индикатив» у цены — плашка статусного цвета «внимание», как в полном расчёте МТЭО:
   на компьютере и планшете над ценой (строка не выше полей — высота полосы не меняется), на телефоне справа от цены. */
.bcc-compact .bcc-seg button { padding: 0 12px; }
.bcc-c-badge { align-self: flex-start; margin: 0 0 3px; padding: 0 8px; border-radius: 999px; background: #B45309; color: #fff; font-size: 10.5px; line-height: 17px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
@media (min-width: 1200px) {
	.bcc-compact { grid-template-columns: minmax(min-content, 1.25fr) minmax(170px, 1fr) 104px minmax(150px, auto) auto; }
}
@media (max-width: 767px) {
	.bcc-c-res { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 10px; }
	.bcc-c-res .bcc-c-sum { grid-row: 1; grid-column: 1; }
	.bcc-c-res .bcc-c-badge { grid-row: 1; grid-column: 2; justify-self: start; margin: 0; }
	.bcc-c-res small { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
	.bcc-compact .bcc-seg { display: flex; align-self: stretch; }
	.bcc-compact .bcc-seg button { flex: 1 1 auto; padding: 0 6px; font-size: 12.5px; }
}
@media (max-width: 359px) {
	/* 320 px: три кнопки не входят и мелким шрифтом — третья переносится на вторую строку во всю ширину */
	.bcc-compact .bcc-seg { flex-wrap: wrap; border-radius: 18px; }
	.bcc-compact .bcc-seg button { padding: 0 8px; font-size: 12px; }
}

/* МТЭО, 24.09.2026 (CEO: «калькулятор делай 1–3»): быстрый выбор страны, тот же груз другим видом, «Не входит в цену»,
   оценка ввозного НДС. На планшете и телефоне форма раскладывается через order — кнопки стран держим сразу под страной. */
.bcm-pop { margin: -6px 0 0; }
@media (max-width: 991px) {
	.bcm .bcc-form > .bcm-pop { order: 1; }
}
.bcm-alt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 8px 0 0; font-size: 14px; line-height: 1.45; color: #3b3335; }
.bcm-alt-p { white-space: nowrap; color: #262626; font-weight: 600; }
.bcm-alt-btn { padding: 0; border: 0; background: none; color: #7C1623; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bcm-alt-btn:hover, .bcm-alt-btn:focus-visible { color: #5E0F1B; }
.bcm-ex { margin: 8px 0 0; font-size: 13px; line-height: 1.45; color: #5f5557; }
.bcm-ex b { color: #3b3335; }
.bcm-val { margin: 2px 0 12px; }
.bcm-val small { font-weight: 400; color: #5f5557; }

/* 25.09.2026 (CEO: «опять неровная верстка», скриншот /services/tarify/). Подпись ряда кнопок («Термоконтейнер:»,
   «Типовые места:», «Быстрый выбор:») стояла в одной строке с кнопками — перенесённые кнопки уходили под подпись
   («SP-80», «Армения · ОАЭ · Турция» с края). Подпись — над кнопками, как у остальных полей. */
.bcc-chips > span:first-child { flex: 0 0 100%; margin-bottom: 2px; }
/* «Доплаты»: две колонки шли сеткой строк — короткий пункт слева ждал длинного справа, в колонке зияли пустоты.
   Теперь каждая колонка идёт своим потоком. */
@media (min-width: 768px) {
	.bcc-extras { display: block; columns: 2; column-gap: 28px; }
	.bcc-extras li { break-inside: avoid; margin-bottom: 8px; }
}
/* Шаг 1 окна заявки (25.09.2026): на пути «вопрос» ИНН не нужен — вместо него поле вопроса; компания по ИНН из ЕГРЮЛ —
   строкой под полем (calc/req.js → /inn.php), зелёная галочка — цвет «норма» из стандарта (--ok #1E8449). */
.bcc-dlg-in[data-path="ask"] .bcc-inn { display: none; }
.bcc-ask { display: none; }
.bcc-dlg-in[data-path="ask"] .bcc-ask { display: flex; }
.bcc-org { font-size: 13px; line-height: 1.4; color: #5f5557; font-weight: 400; }
.bcc-org.is-ok { color: #3b3335; }
.bcc-org.is-ok::before { content: "✓\00a0"; color: #1E8449; font-weight: 700; }
.bcc-org.is-bad { color: #8f1d2c; }
/* Шаг 2 «Банк для договора» — отдельная панель окна (calc/req.php, calc/req.js; CEO: «второе поле обязательным…
   чтобы это не пропускать»): БИК и счёт обязательно, подписант по доверенности, режим, комментарий; «Заявка
   отправлена» — после него. «Шаг 1 из 2» — над заголовком; на пути «вопрос» шаг один, подписи нет.
   Сетка с hidden должна прятаться, хотя .bcc-grid3 задаёт display: grid. */
.bcc-ok-h::before { content: ""; display: inline-block; width: 22px; height: 22px; margin-right: 10px; vertical-align: -3px; border-radius: 50%;
	background: #1E8449 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.bcc-step { margin: 0 0 -8px; font-size: 12.5px; line-height: 1.3; font-weight: 600; letter-spacing: .02em; color: #7C1623; }
.bcc-dlg-in[data-path="ask"] .bcc-step { display: none; }
.bcc-more-for { margin: 0; font-size: 14px; line-height: 1.45; color: #3b3335; }
/* «← Назад» рядом с главной кнопкой шага 2 — белая с бордовой рамкой, как «Оформить» в полосе калькулятора */
.bcc-nav { display: flex; gap: 10px; }
.bcc-nav .bcc-send { flex: 1 1 auto; width: auto; min-width: 0; }
.bcc-dlg .bcc-back { flex: none; width: auto; padding-left: 20px; padding-right: 20px; background: #fff; color: #7C1623; white-space: nowrap; }
.bcc-dlg .bcc-back:hover, .bcc-dlg .bcc-back:focus-visible { background: #7C1623; color: #fff; }
/* телефон: «Начать работу по оферте» рядом с «Назад» переносится в две строки — кнопки друг под другом, главная сверху */
@media (max-width: 575px) {
	.bcc-nav { flex-direction: column-reverse; }
	.bcc-nav .bcc-send, .bcc-dlg .bcc-back { flex: none; width: 100%; }
}
.bcc-req { display: grid; gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
/* заголовок шага — «Банк для договора», подпись группы полей остаётся для экранного диктора */
.bcc-req legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bcc-req [hidden] { display: none !important; }
.bcc-req .bcc-ck { margin: 0; }
.bcc-req .bcc-grid3 { margin-top: 0; }
.bcc-req-bank { margin: -4px 0 0; font-size: 13px; line-height: 1.45; color: #5f5557; }
.bcc-req-bank.is-ok { color: #3b3335; }
.bcc-req-bank.is-bad { color: #8f1d2c; }

/* v12 (26.09.2026, CEO: «чтобы у нас было курьерское, сборное, международная отправка и термоупаковка»): четвёртая вкладка
   «Термоупаковка» в полосе на главной. Четыре кнопки (~470 px) не входят в колонку заголовка — заголовок, переключатель и
   подпись встают строкой над полями на любой ширине (как было на 992–1199), поля и цена — одной строкой под ними.
   До 560 px переключатель — сеткой 2 × 2 во всю ширину. */
@media (min-width: 1200px) {
	.bcc-compact { grid-template-columns: minmax(170px, 1fr) 104px minmax(150px, auto) auto; grid-template-areas: "t t t t" "to w res btn" "links links links links"; }
	.bcc-c-title { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
	.bcc-seg { margin: 0; align-self: center; }
}
@media (max-width: 560px) {
	.bcc-compact .bcc-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-self: stretch; border-radius: 18px; }
	.bcc-compact .bcc-seg button { padding: 0 6px; font-size: 12.5px; }
}
@media (max-width: 359px) { .bcc-compact .bcc-seg button { font-size: 12px; } }
/* Проверка полей окна при вводе (29.09.2026, Н. Пахомов; calc/req.js): сообщение под полем и рамка — цветом ошибки окна,
   как «Проверьте ИНН» под полем ИНН; в фокусе — та же рамка с мягкой тенью. */
.bcc-ferr { font-size: 13px; line-height: 1.4; color: #8f1d2c; font-weight: 400; }
.bcc-dlg input[aria-invalid="true"], .bcc-dlg textarea[aria-invalid="true"] { border-color: #8f1d2c; }
.bcc-dlg input[aria-invalid="true"]:focus, .bcc-dlg textarea[aria-invalid="true"]:focus { border-color: #8f1d2c; box-shadow: 0 0 0 3px rgba(143, 29, 44, .15); }
/* v13 (02.10.2026, CEO: «калькулятор слишком большой… частями, чтобы не перегружать страницу клиента»): шаги полного расчёта курьерки —
   calc.php (секции .bcs), логика — calc.js (stepsInit). «Маршрут и режим» → «Груз» → «Дополнительно»; закрытый шаг — одна строка итога.
   Без скрипта шаги не сворачиваются: класс .bcs-on ставит calc.js, скрытие тел — атрибутом hidden, который он же снимает. */
.bcc-full[data-box] .bcc-form { gap: 12px; }
.bcs { min-width: 0; border: 1px solid var(--bcc-line); border-radius: 8px; background: #fff; scroll-margin-top: 84px; }
.bcs-h { margin: 0; padding: 0; font-size: inherit; line-height: inherit; text-transform: none; letter-spacing: 0; }
.bcs-hb { display: flex; align-items: center; gap: 12px; width: 100%; margin: 0; padding: 14px 18px; border: 0; border-radius: 8px; background: none; color: #262626; font: inherit; text-align: left; cursor: pointer; }
.bcs-hb:hover { background: var(--bcc-soft); }
.bcs-hb:focus-visible { outline: 3px solid rgba(124, 22, 35, .45); outline-offset: -3px; }
.bcs-n { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--bcc-field); border-radius: 50%; background: #fff; color: var(--bcc-b); font-size: 14px; font-weight: 700; line-height: 1; }
.bcs.is-open .bcs-n { border-color: var(--bcc-b); background: var(--bcc-b); color: #fff; }
.bcs.is-done:not(.is-open) .bcs-n { border-color: var(--bcc-b); font-size: 0; }
.bcs.is-done:not(.is-open) .bcs-n::before { content: ""; width: 10px; height: 5px; margin-top: -2px; border-left: 2px solid var(--bcc-b); border-bottom: 2px solid var(--bcc-b); transform: rotate(-45deg); }
.bcs-t { flex: none; font-size: 16px; font-weight: 700; line-height: 1.3; }
.bcs-sum { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; font-size: 14px; font-weight: 400; line-height: 1.3; color: var(--bcc-mute); }
.bcs.is-open .bcs-sum { display: none; }
.bcs.is-open .bcs-t { flex: 1 1 auto; }
.bcs-chev { flex: none; width: 9px; height: 9px; margin: 0 4px 3px 2px; border-right: 2px solid var(--bcc-b); border-bottom: 2px solid var(--bcc-b); transform: rotate(45deg); transition: transform .2s; }
.bcs.is-open .bcs-chev { margin-bottom: 0; margin-top: 4px; transform: rotate(-135deg); }
.bcs-b { padding: 2px 18px 18px; }
.bcs-b[hidden] { display: none !important; }
.bcs-nav { display: flex; margin-top: 14px; }
.bcs-next { min-width: 200px; }
.bcs-ckgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 28px; margin: 0 0 6px; }
.bcs-ckgrid .bcc-ck { margin: 0 0 8px; }
.bcs-b .bcc-grid3 { margin-top: 6px; }
.bcs-plain { padding: 0; border: 0; }
.bcs-plain legend { padding: 0; margin: 0 0 8px; float: none; width: auto; font-size: 14px; }
.bcs-b .bcc-grid2 + .bcb-regime { margin-top: 14px; }

/* карточка цены курьерки: пока цены нет — короткая, без «В цене» и «по оферте» (они появляются вместе с ценой) */
.bcc-full[data-box] .bcc-out { padding: 18px 20px 16px; }
.bcc-full[data-box]:not(.bcc-has) .bcc-incl, .bcc-full[data-box]:not(.bcc-has) .bcc-offer, .bcc-full[data-box]:not(.bcc-has) .bcc-vat { display: none; }
.bcc-full[data-box]:not(.bcc-has) .bcc-weight { margin: 4px 0 14px; font-size: 13.5px; }
.bcc-full[data-box] .bcc-incl { margin: 10px 0 12px; padding: 8px 10px; font-size: 13px; }
.bcc-full[data-box] .bcc-offer { margin: 10px 0 12px; padding: 8px 10px; font-size: 13px; }
.bcc-full[data-box] .bcc-disc { margin-top: 10px; font-size: 12px; }
@media (max-width: 991px) {
	.bcc-full[data-box] { gap: 12px; }
	.bcc-full[data-box] .bcc-form > .bcs[data-step="1"] { order: 1; }
	.bcc-full[data-box] .bcc-form > .bcs[data-step="2"] { order: 2; }
	.bcc-full[data-box] .bcc-out { order: 3; }
	.bcc-full[data-box] .bcc-form > .bcb-more { order: 4; }
	.bcc-full[data-box] .bcc-form > .bcs[data-step="3"] { order: 5; }
	.bcc-full[data-box] .bcc-form > .bcc-pack { order: 6; }
}
@media (max-width: 767px) { .bcs-ckgrid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 575px) {
	.bcs-hb { display: grid; grid-template-columns: 28px minmax(0, 1fr) 14px; grid-template-areas: "n t chev" "n sum chev"; column-gap: 12px; row-gap: 1px; align-items: center; padding: 12px 14px; }
	.bcs-n { grid-area: n; align-self: start; }
	.bcs-t { grid-area: t; }
	.bcs-sum { grid-area: sum; overflow: visible; white-space: normal; text-align: left; }
	.bcs-chev { grid-area: chev; justify-self: end; }
	.bcs.is-open .bcs-n { align-self: center; }
	.bcs-b { padding: 0 14px 16px; }
	.bcs-next { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .bcs-chev { transition: none; } }
/* v14 (02.10.2026): доводка шагов по снимкам стенда — отступ перед вопросом про режим; «Далее» компактнее и исчезает, когда «Груз» уже открыт (calc.js: bcs-went);
   пустая карточка цены на телефоне и планшете — две строки, без суммы, кнопки и оговорки (они появляются вместе с ценой). */
.bcs-b > .bcb-regime { margin-top: 14px; }
.bcs-nav .bcs-next { min-width: 0; height: 42px; padding: 0 26px; font-size: 14px; line-height: 1; }
.bcs-went .bcs-nav { display: none; }
@media (max-width: 991px) {
	.bcc-full[data-box]:not(.bcc-has) .bcc-out { padding: 14px 16px; }
	.bcc-full[data-box]:not(.bcc-has) .bcc-sum, .bcc-full[data-box]:not(.bcc-has) .bcc-order, .bcc-full[data-box]:not(.bcc-has) .bcc-disc { display: none; }
	.bcc-full[data-box]:not(.bcc-has) .bcc-route { margin-bottom: 2px; }
	.bcc-full[data-box]:not(.bcc-has) .bcc-weight { margin: 4px 0 0; }
}
@media (max-width: 575px) {
	.bcs-nav .bcs-next { height: 44px; }
}
