/* Нижняя панель: только телефон (до 760px) */
.wt-dock { display: none; }

/* Количество «− 1 +» — общий элемент */
.wt-qty { display: grid; grid-template-columns: 36px minmax(36px, 1fr) 36px; height: 46px; border: 1px solid var(--wt-field); border-radius: var(--wt-radius-sm); overflow: hidden; background: var(--wt-bg); }
.wt-qty button { padding: 0; border: 0; background: var(--wt-paper); color: var(--wt-ink); font-family: var(--wt-font); font-weight: 400; font-size: 24px; line-height: 1; cursor: pointer; }
.wt-qty button:disabled { color: var(--wt-field); cursor: default; }
.wt-qty input { width: 100%; min-width: 0; height: 100%; padding: 0; border: 0; background: var(--wt-bg); color: var(--wt-ink); text-align: center; font-family: var(--wt-font); font-weight: 700; font-size: 16px; line-height: 1; font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield; }
.wt-qty input::-webkit-inner-spin-button, .wt-qty input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.wt-qty input:focus { outline: none; }

@media (max-width: 760px) {
	body { padding-bottom: calc(var(--wt-dock-h) + 8px); } /* ничего не прячется под панелью */
	.wt-dock {
		display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--wt-z-panel);
		padding-bottom: env(safe-area-inset-bottom);
		background: var(--wt-bg); border-top: 1px solid var(--wt-line); box-shadow: var(--wt-shadow);
		font-family: var(--wt-font); color: var(--wt-ink);
	}
	body.wt-kb .wt-dock { display: none; } /* открыта клавиатура — панель не закрывает поле */

	.wt-dock__act { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 12px; border-bottom: 1px solid var(--wt-line); }
	.wt-dock__act[hidden] { display: none; }
	.wt-dock__act--cart { grid-template-columns: minmax(0, 1fr) auto; }
	.wt-dock__act .wt-qty { width: 112px; }
	.wt-dock__sum { min-width: 0; line-height: 1.2; text-align: center; }
	.wt-dock__act--cart .wt-dock__sum { text-align: left; }
	.wt-dock__sum b { display: block; font-size: 18px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
	.wt-dock__sum small { display: block; margin-top: 2px; overflow: hidden; color: var(--wt-muted); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
	.wt-dock__go { min-height: 46px; padding: 0 16px; white-space: nowrap; }

	.wt-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
	.wt-tabs__a {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
		min-height: 58px; padding: 8px 2px; color: var(--wt-muted); text-decoration: none;
		font-family: var(--wt-font); font-weight: 400; font-size: 12px; line-height: 1.1; -webkit-tap-highlight-color: transparent;
		touch-action: manipulation; -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; /* тап = переход сразу, без задержки и меню «скопировать ссылку» */
	}
	.wt-tabs__a * { pointer-events: none; } /* тап по иконке или подписи — всегда тап по ссылке */
	.wt-tabs__a:active { background: var(--wt-paper); } /* видно, что нажатие принято */
	.wt-tabs__a svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.wt-tabs__a[aria-current="page"] { color: var(--wt-primary); font-weight: 700; }
	.wt-tabs__a[aria-current="page"] svg { stroke-width: 2.2; }
	.wt-tabs__a--call { color: var(--wt-primary); }
	.wt-tabs__ico { position: relative; display: grid; place-items: center; }
	.wt-tabs__n {
		position: absolute; top: -6px; left: 15px; min-width: 18px; height: 18px; padding: 0 4px; box-sizing: content-box;
		border: 2px solid var(--wt-bg); border-radius: 9px; background: var(--wt-accent); color: var(--wt-on-accent);
		font-family: var(--wt-font); font-weight: 700; font-size: 12px; line-height: 18px; font-style: normal; text-align: center;
	}
	.wt-tabs__n[hidden] { display: none; }
}
/* Лист «Позвонить» — когда tel: заблокирован (сайт во фрейме) */
.wt-callsheet { position: fixed; inset: 0; z-index: var(--wt-z-modal); display: flex; align-items: flex-end; justify-content: center; background: var(--wt-backdrop); }
.wt-callsheet[hidden] { display: none; }
.wt-callsheet__box {
	position: relative; display: grid; gap: 12px; width: 100%; max-width: 420px; box-sizing: border-box;
	padding: 32px 16px calc(16px + env(safe-area-inset-bottom)); border-radius: var(--wt-radius) var(--wt-radius) 0 0;
	background: var(--wt-bg); box-shadow: var(--wt-shadow); font-family: var(--wt-font); color: var(--wt-ink); text-align: center;
}
.wt-callsheet__num { margin: 0; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; user-select: all; -webkit-user-select: all; }
.wt-callsheet__call { display: flex; align-items: center; justify-content: center; min-height: var(--wt-tap); text-decoration: none; }
.wt-callsheet__copy { min-height: var(--wt-tap); border: 1px solid var(--wt-line); border-radius: var(--wt-radius-sm); background: var(--wt-bg); color: var(--wt-ink); font: inherit; font-weight: 700; cursor: pointer; }
.wt-callsheet__x { position: absolute; top: 4px; right: 4px; width: 44px; height: 44px; border: 0; background: none; color: var(--wt-muted); font-size: 30px; line-height: 1; cursor: pointer; }
@media (min-width: 761px) { .wt-callsheet { align-items: center; } .wt-callsheet__box { border-radius: var(--wt-radius); } }

@media (max-width: 360px) { .wt-dock__sum b { font-size: 16px; } .wt-dock__act .wt-qty { width: 100px; } }
