/* BIOCARD: подбор термоконтейнера в калькуляторе курьерской доставки (calc/box.php, calc/box.js). Цвета — токены .bcc из calc.css. */
.bcb small { font-weight: 400; color: var(--bcc-mute, #5f5557); font-size: 12.5px; }
.bcb-regime { padding-bottom: 16px; }
.bcb-regime > .bcc-hint { margin: 2px 0 14px; }
.bcb { margin: 0; padding: 0; min-width: 0; }
.bcb-regime .bcb-seg { margin-bottom: 10px; }
.bcb-seg { display: flex; flex-wrap: wrap; gap: 8px; }
.bcb-seg button { height: 42px; padding: 0 18px; border: 1px solid #d9cccd; border-radius: 21px; background: #fff; color: #7C1623; font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.bcb-seg button:hover { border-color: #7C1623; }
.bcb-seg button[aria-pressed="true"] { border-color: #7C1623; background: #7C1623; color: #fff; }
.bcc [data-reg][hidden], .bcb [hidden], .bcb-regime [hidden], .bcb-more [hidden], .bcb-more[hidden] { display: none !important; }

/* Вкладки «Подобрать бокс / Знаю бокс / Не знаю размеры». */
.bcb-tabs { display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 0 0 16px; border-bottom: 1px solid #e8dede; }
.bcb-tabs button { margin: 0 0 -1px; padding: 10px 14px; border: 0; border-bottom: 3px solid transparent; background: none; color: #5f5557; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.bcb-tabs button:hover { color: #7C1623; }
.bcb-tabs button[aria-selected="true"] { color: #7C1623; border-bottom-color: #7C1623; }
.bcb-pane { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.bcb-pane .bcc-hint { margin: 0; }
.bcb-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.bcb-chk .bcb-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bcb-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.bcb-line { display: flex; flex-direction: column; gap: 8px; padding: 0 0 14px; }
.bcb-line + .bcb-line { padding-top: 14px; border-top: 1px dashed #e0d3d4; }
.bcb-line-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; color: #262626; }
.bcb-link { align-self: flex-start; margin: 0; padding: 4px 0; border: 0; background: none; color: #7C1623; font: inherit; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.bcb-link:hover { color: #9C1F30; }
.bcb-pane > .bcc-ck, .bcb-chk .bcc-ck { margin: 0; }
.bcb-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: #5f5557; }
.bcb-chips > span { flex: none; }
.bcb-chips button { height: 34px; padding: 0 13px; border: 1px solid #d9cccd; border-radius: 17px; background: #fff; color: #7C1623; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.bcb-chips button:hover, .bcb-chips button[aria-pressed="true"] { border-color: #7C1623; background: #7C1623; color: #fff; }
.bcb-chips button[aria-pressed="true"] small, .bcb-chips button:hover small { color: #f1dfe1; }
.bcb-boxes button, .bcb-unk button { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; height: auto; min-height: 50px; padding: 6px 14px; border-radius: 10px; text-align: left; line-height: 1.25; }
.bcb-boxes button b, .bcb-unk button b { font-size: 14.5px; }
.bcb-callout { margin: 0; padding: 12px 14px; border-left: 3px solid #7C1623; border-radius: 0 6px 6px 0; background: #faf7f7; font-size: 13.5px; line-height: 1.5; color: #3b3335; }
.bcb-chk { border: 1px solid #e8dede; border-radius: 8px; padding: 0 14px; background: #fff; }
.bcb-chk > summary { padding: 12px 0; cursor: pointer; font-size: 14.5px; font-weight: 600; color: #7C1623; }
.bcb-chk[open] > summary { border-bottom: 1px solid #f0e6e7; margin-bottom: 12px; }
.bcb-chk[open] { padding-bottom: 14px; display: flex; flex-direction: column; gap: 12px; }

/* Панель итога: плашка и ссылка «скопировать». */
.bcb-pill { display: inline-block; margin: 8px 0 0; padding: 3px 10px; border-radius: 12px; background: #e9f5ee; color: #1c6b3d; font-size: 12.5px; font-weight: 600; line-height: 1.4; }
.bcb-pill.warn { background: #fdf1e1; color: #8a4a05; }
.bcb-boxline { margin: 10px 0 0; font-size: 14.5px; line-height: 1.45; color: #262626; }
.bcb-boxline small { display: block; margin-top: 2px; }
.bcb-share { margin: 10px 0 0; text-align: center; }
.bcb-share .bcb-link { align-self: auto; }
.bcb-copied { margin-left: 8px; font-size: 13px; color: #1c6b3d; }
.bcb-banner { margin: 0 0 10px; padding: 8px 10px; border-radius: 6px; background: #fdf1e1; color: #5b3a07; font-size: 13px; line-height: 1.45; }
.bcb-banner .bcb-link { font-size: 13px; padding: 0; }

/* Блок под калькулятором: схема, подсказки, комментарий, вежливое предложение. */
.bcb-more { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.bcb-more h3 { margin: 0 0 8px; font-size: 16px; line-height: 1.3; color: #262626; text-transform: none; }
.bcb-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 20px; align-items: start; }
.bcb-row.one { grid-template-columns: minmax(0, 1fr); }
.bcb-figs { display: flex; flex-wrap: wrap; gap: 12px; }
.bcb-fig { margin: 0; flex: 1 1 200px; max-width: 320px; min-width: 0; }
.bcb-fig svg.bcv { width: 100%; height: auto; max-height: 250px; display: block; }
.bcb-fig figcaption { margin-top: 2px; font-size: 12.5px; line-height: 1.4; color: #5f5557; }
.bcb-ln { font-weight: 700; color: #262626; }
.bcb-free { margin: 10px 0 0; padding: 8px 10px; border-radius: 6px; background: #e9f5ee; color: #1c6b3d; font-size: 13.5px; line-height: 1.45; }
.bcb-tips { display: flex; flex-direction: column; gap: 8px; }
.bcb-tip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 12px; border: 1px solid #e8dede; border-radius: 8px; background: #fff; font-size: 14px; line-height: 1.45; color: #3b3335; }
.bcb-tip > span { flex: 1 1 260px; min-width: 0; }
.bcb-tip.err { border-color: #e7b9be; background: #fdf0f1; color: #6e1822; }
.bcb-tip.ok { border-color: #bfdcc9; background: #f0f8f3; color: #1c5a35; }
.bcb-btn { flex: none; height: 36px; padding: 0 14px; border: 1px solid #7C1623; border-radius: 6px; background: #fff; color: #7C1623; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.bcb-btn:hover { background: #7C1623; color: #fff; }
.bcb-cmt { padding: 12px 14px; border-radius: 8px; background: #faf7f7; }
.bcb-cmt h3 { margin-bottom: 4px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: #5f5557; }
.bcb-cmt p { margin: 0; font-size: 15px; line-height: 1.55; color: #262626; }
.bcb-how { border: 1px solid #e8dede; border-radius: 8px; padding: 0 14px; background: #fff; }
.bcb-how > summary { padding: 12px 0; cursor: pointer; font-size: 14.5px; font-weight: 600; color: #7C1623; }
.bcb-how[open] > summary { border-bottom: 1px solid #f0e6e7; }
.bcb-how ol { margin: 10px 0 12px; padding-left: 20px; font-size: 14px; line-height: 1.55; color: #3b3335; }
.bcb-scen { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; margin-top: 10px; }
.bcb-sc { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border: 1px solid #e8dede; border-radius: 8px; background: #fff; font-size: 13.5px; line-height: 1.35; }
.bcb-sc.mid { border-color: #c98a93; background: #fbf1f2; }
.bcb-sc b { font-size: 13px; }
.bcb-sc .sp { font-weight: 700; font-variant-numeric: tabular-nums; }
.bcb-note { margin: 0; font-size: 13.5px; line-height: 1.5; color: #5f5557; }

/* Вежливое предложение после расчёта (формулировка Б, решение CEO 01.10.2026): спокойная полоса, не всплывающее окно. */
.bcb-nudge { padding: 14px 16px; border: 1px solid #e0cdd0; border-left: 4px solid #7C1623; border-radius: 8px; background: #fffdfd; }
.bcb-nudge p { margin: 0; font-size: 15px; line-height: 1.5; color: #262626; }
.bcb-nudge-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.bcb-nudge-x { flex: none; width: 32px; height: 32px; margin: -6px -8px 0 0; border: 0; border-radius: 50%; background: none; color: #5f5557; font-size: 22px; line-height: 1; cursor: pointer; }
.bcb-nudge-x:hover { background: #faf7f7; color: #7C1623; }
.bcb-opts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.bcb-opt { height: 38px; padding: 0 16px; border: 1px solid #d9cccd; border-radius: 19px; background: #fff; color: #7C1623; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.bcb-opt:hover, .bcb-opt[aria-pressed="true"] { border-color: #7C1623; background: #7C1623; color: #fff; }
.bcb-ans { margin-top: 12px; padding-top: 12px; border-top: 1px dashed #e0d3d4; font-size: 14.5px; line-height: 1.55; color: #262626; }
.bcb-ans p { margin: 0 0 8px; }
.bcb-ans ul, .bcb-ans ol { margin: 0 0 8px; padding-left: 20px; }
.bcb-ans .bcb-btn { margin-top: 2px; }

/* Схема: ячейки появляются снизу вверх. */
.bcv-c { opacity: 0; animation: bcvIn .38s ease-out forwards; animation-delay: var(--d, 0ms); }
@keyframes bcvIn { from { opacity: 0; transform: translateY(var(--dy, -12px)); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .bcv-c { opacity: 1; animation: none; } }

@media (max-width: 900px) {
	.bcb-row { grid-template-columns: minmax(0, 1fr); }
	.bcb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.bcb-grid, .bcb-chk .bcb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bcb-tabs { gap: 0 4px; }
	.bcb-tabs button { flex: 1 1 auto; padding: 10px 8px; font-size: 14px; }
	.bcb-seg button { flex: 1 1 100%; }
	.bcb-boxes button, .bcb-unk button { flex: 1 1 calc(50% - 8px); }
	.bcb-opt { flex: 1 1 100%; }
	.bcb-btn { width: 100%; }
}

/* Телефон и планшет: порядок блоков курьерки задаёт calc.css v13 (шаги, цена, схема, «Дополнительно», упаковка). */
@media (max-width: 420px) {
	.bcc-full .bcc-grid2[data-reg="no"] { grid-template-columns: minmax(0, 1fr) 96px; }
}

/* клавиатурный фокус: в шаблоне сайта outline снят у всех элементов (template_styles.css), без этого блок не пройти Tab-ом (01.10.2026, разбор) */
.bcb-seg button:focus-visible,.bcb-tabs button:focus-visible,.bcb-chips button:focus-visible,.bcb button:focus-visible,.bcb summary:focus-visible,
.bcb-btn:focus-visible,.bcb-link:focus-visible,.bcb-opt:focus-visible,.bcb-share button:focus-visible,.bcb-nudge button:focus-visible{outline:3px solid rgba(124,22,35,.45);outline-offset:2px}
/* v3 (02.10.2026, CEO: «калькулятор слишком большой… частями»): компактные поля шага «Груз», вопрос про режим в шаге 1, схема и советы — свёрнутый блок
   с итоговой строкой, строка груза с температурой (грузы одной температуры укладываем вместе — calc/fitmix.js). */
.bcb-regime { min-width: 0; margin: 0; padding: 0; border: 0; }
.bcb-regime legend { float: none; display: block; width: auto; margin: 0 0 8px; padding: 0; font-size: 14px; font-weight: 600; line-height: 1.3; color: #3b3335; }
.bcb-regime .bcb-seg { margin: 0 0 8px; }
.bcb-regime > .bcc-hint { margin: 0; }
.bcb-seg button { height: 38px; padding: 0 16px; border-radius: 19px; font-size: 14px; }
.bcb-tabs { margin: 0 0 12px; }
.bcb-tabs button { padding: 8px 12px; font-size: 14.5px; }
.bcb-pane { gap: 12px; }
.bcb-chips { gap: 6px 8px; }
.bcb-chips button { height: 32px; padding: 0 12px; border-radius: 16px; font-size: 13px; }
.bcb-line { padding: 0 0 6px; }
.bcb-line + .bcb-line { padding-top: 12px; }
.bcb-line-h { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 14px; }
.bcb-line-h .bcb-link { margin-left: auto; }
.bcb-temp { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #5f5557; }
.bcb-line-h .bcb-temp select { width: auto; min-width: 150px; height: 36px; font-size: 14px; }
.bcb-ctl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 20px; }
.bcb-ctl .bcc-ck { margin: 0; font-size: 14px; }
.bcb-note.bcb-mixnote { margin: -4px 0 0; font-size: 13px; }
.bcb-save > summary { display: inline-block; padding: 2px 0; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; color: #7C1623; text-decoration: underline; text-underline-offset: 2px; }
.bcb-save > summary::-webkit-details-marker { display: none; }
.bcb-save[open] > summary { margin-bottom: 8px; }
.bcb-save .bcb-callout { margin: 0; }

/* Схема укладки, подсказки, комментарий — под шагом «Груз», свёрнуты; в заголовке — что внутри (сколько можно сэкономить или насколько заполнен бокс). */
.bcb-more { gap: 12px; }
.bcb-det { border: 1px solid #e8dede; border-radius: 8px; background: #fff; }
.bcb-det > summary { display: flex; align-items: center; gap: 12px; padding: 13px 16px; cursor: pointer; list-style: none; font-size: 15px; font-weight: 700; color: #262626; }
.bcb-det > summary::-webkit-details-marker { display: none; }
.bcb-det > summary::after { content: ""; flex: none; width: 9px; height: 9px; margin: 0 3px 3px 0; border-right: 2px solid #7C1623; border-bottom: 2px solid #7C1623; transform: rotate(45deg); transition: transform .2s; }
.bcb-det[open] > summary::after { margin-bottom: 0; margin-top: 4px; transform: rotate(-135deg); }
.bcb-det-t { flex: none; }
.bcb-det-s { flex: 1 1 auto; min-width: 0; text-align: right; font-size: 13.5px; font-weight: 600; color: #7C1623; }
.bcb-det > summary:focus-visible { outline: 3px solid rgba(124, 22, 35, .45); outline-offset: 2px; }
.bcb-det > [data-b-body] { display: flex; flex-direction: column; gap: 16px; padding: 4px 16px 16px; }
.bcb-sw { display: inline-block; width: 10px; height: 10px; margin: 0 5px 0 0; border-radius: 2px; background: #7C1623; }
.bcb-sw1 { background: #B45309; }
.bcb-sw2 { background: #3B6E8F; }
@media (prefers-reduced-motion: reduce) { .bcb-det > summary::after { transition: none; } }
@media (max-width: 640px) {
	.bcb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bcb-grid > :nth-child(5) { grid-column: span 2; }
	.bcb-chk .bcb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bcb-chk .bcb-grid > :nth-child(5) { grid-column: auto; }
	.bcb-line-h .bcb-temp { flex: 1 1 100%; order: 3; }
	.bcb-line-h .bcb-temp select { flex: 1 1 auto; }
	.bcb-det-s { font-size: 13px; }
	.bcb-det > summary { padding: 12px 14px; }
	.bcb-det > [data-b-body] { padding: 4px 14px 14px; }
}
/* v4 (02.10.2026): телефон — «Да/Нет» и вкладки в один ряд, «Схема укладки и советы» с заголовком в две строки, ответы вежливого предложения в два столбца. */
.bcb-det-s:empty { display: none; }
.bcb-grid input::placeholder, .bcb-grid2 input::placeholder { font-size: 14px; }
@media (max-width: 640px) {
	.bcb-regime .bcb-seg button { flex: 1 1 0; min-width: 0; padding: 0 8px; }
	.bcb-tabs { flex-wrap: nowrap; gap: 0; }
	.bcb-tabs button { flex: 1 1 auto; min-width: 0; padding: 8px 4px; font-size: 13px; line-height: 1.2; text-align: center; }
	.bcb-det > summary { flex-wrap: wrap; row-gap: 2px; }
	.bcb-det-t { flex: 1 1 0; min-width: 0; }
	.bcb-det > summary::after { order: 2; }
	.bcb-det-s { order: 3; flex: 1 1 100%; text-align: left; }
	.bcb-opts .bcb-opt { flex: 1 1 calc(50% - 4px); height: auto; min-height: 40px; padding: 6px 8px; font-size: 13.5px; line-height: 1.25; }
	[data-b-pane="pick"] .bcb-chips { font-size: 12.5px; }
	[data-b-pane="pick"] .bcb-chips button { height: 30px; padding: 0 9px; border-radius: 15px; font-size: 12.5px; }
}
