/* Bezlimitik theme — Phase 3 visual shell, tightened in Phase 3.1.
   Design tokens reused from owner-approved static-prototypes-v1/assets/prototype.css
   (not copied from the old corp-cinar theme). Presentation only, no business logic.
   Visual Design Parity Procedure Step 1 (2026-07-10): --ink and body font-family/background
   corrected to production's measured values (Jost font, black text on white page) — see
   control/VISUAL_DESIGN_PARITY_PROCEDURE.md. --bg is kept as the muted-panel/chip background
   (still used by non-body components), not the page background, so body uses --white instead. */

:root {
	--accent: #EB5413;
	--accent-dark: #BC430F;
	--accent-darker: #A33A0D;
	--focus: var(--accent);
	--orange: #FFA573;
	--blue: #0073aa;
	--ink: #000000;
	--ink-soft: #5c6b7a;
	--line: #e4e9f0;
	--bg: #f6f8fb;
	--white: #fff;
	--radius: 12px;
	--button-radius: 32px;
	--shadow-sm: 0 1px 6px rgba(26, 35, 50, 0.04);
	--shadow: 0 2px 12px rgba(26, 35, 50, 0.06);
	--shadow-lg: 0 8px 28px rgba(26, 35, 50, 0.1);
	--container-width: 1440px;
	--header-h: 88px;
	--messenger: #dc2f2f;
	--site-legal-h: 35px; /* synced to .site-legal-strip height on mobile */
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; max-width: 100%; }

body {
	margin: 0;
	max-width: 100%;
	overflow-x: hidden;
	font-family: "Jost", sans-serif;
	color: var(--ink);
	background: var(--white);
	line-height: 1.5;
	font-size: 15px;
}

h1, h2, h3, h4 {
	line-height: 1.25;
	margin: 0 0 0.5em;
	font-weight: 600;
	color: #333;
}

a { color: var(--ink); text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; display: block; }

.container {
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 12px;
}

/* Buttons */
.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--accent-dark); /* T-353 P1-A: white-on-accent was 3.61:1 */
	color: #fff;
	border: none;
	border-radius: var(--button-radius);
	padding: 16px 32px;
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
}
.btn-primary:hover {
	background: var(--accent-darker);
	text-decoration: none;
	color: #fff;
}

.btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: var(--accent-dark); /* T-353 P1-A */
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	padding: 16px 4px;
}
.btn-secondary:hover { color: var(--accent-dark); text-decoration: underline; }

.btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #fff;
	color: var(--accent);
	border: 2px solid var(--accent);
	border-radius: var(--button-radius);
	padding: 14px 30px;
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
}
.btn-outline:hover { background: rgba(235, 84, 19, 0.06); color: var(--accent-dark); text-decoration: none; }

/* T-200: dedicated 404 page — production-shaped error hero with stable escape routes. */
.error-page {
	padding-top: 38px;
	padding-bottom: 88px;
}
.error-page .breadcrumbs { margin: 0 0 28px; }
.error-page__hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr);
	align-items: center;
	min-height: 430px;
	overflow: hidden;
	padding: 54px 64px;
	background: #fff4ef;
	border-radius: 24px;
}
.error-page__content { position: relative; z-index: 1; max-width: 610px; }
.error-page__eyebrow {
	margin: 0 0 10px;
	color: var(--accent);
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.error-page__title {
	max-width: 560px;
	margin: 0 0 18px;
	font-size: clamp(42px, 4.7vw, 72px);
	line-height: 1.04;
	color: #333;
}
.error-page__description {
	max-width: 560px;
	margin: 0;
	font-size: 18px;
	color: var(--ink-soft);
}
.error-page__actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.error-page__actions .btn-primary { min-height: 52px; }
.error-page__catalog-link {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 10px 2px;
	color: var(--accent-dark);
	font-size: 17px;
	font-weight: 700;
	border-bottom: 2px solid currentColor;
}
.error-page__catalog-link:hover { color: var(--accent); text-decoration: none; }
.error-page__visual { position: relative; z-index: 0; align-self: stretch; min-height: 320px; }
.error-page__visual svg { width: 100%; height: 100%; }
.error-page__visual-ring { fill: none; stroke: #ffd7c4; stroke-width: 16; stroke-dasharray: 8 18; }
.error-page__visual-signal { fill: none; stroke: var(--accent); stroke-width: 12; stroke-linecap: round; }
.error-page__visual-card { fill: #fff; stroke: #333; stroke-width: 10; }
.error-page__visual-chip { fill: #ffe0d1; stroke: var(--accent); stroke-width: 7; }
.error-page__visual-chip-lines { fill: none; stroke: var(--accent); stroke-width: 4; }
.error-page__visual-code { fill: #333; font: 700 86px "Jost", sans-serif; letter-spacing: 5px; }
.error-page__visual-break { fill: none; stroke: var(--accent); stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.error-page__visual-dot { fill: var(--accent); opacity: 0.28; }
.error-page__products { padding-top: 56px; }
.error-page__products-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 24px;
}
.error-page__products-header h2 { margin: 0; font-size: 32px; }
.error-page__products-all {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--accent-dark);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.error-page__products-all:hover { color: var(--accent); text-decoration: none; }
.error-page__products ul.products { margin: 0; }
.error-page__routes { padding-top: 58px; }
.error-page__routes h2 { margin: 0 0 24px; font-size: 32px; }
.error-page__route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.error-page__route {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	min-height: 128px;
	padding: 22px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: var(--shadow);
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.error-page__route:hover {
	transform: translateY(-2px);
	border-color: #ffc5a9;
	box-shadow: var(--shadow-lg);
	text-decoration: none;
}
.error-page__route-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	padding: 4px;
	background: #fff1ea;
	border-radius: 50%;
	color: var(--accent-dark);
	font-size: 14px;
	font-weight: 800;
}
.error-page__route strong,
.error-page__route small { display: block; }
.error-page__route strong { margin-bottom: 5px; font-size: 18px; color: #333; }
.error-page__route small { color: var(--ink-soft); font-size: 14px; line-height: 1.35; }
.error-page__route-arrow { color: var(--accent); font-size: 24px; font-weight: 700; }

@media (max-width: 900px) {
	.error-page__hero { grid-template-columns: 1fr 0.85fr; padding: 42px 36px; }
	.error-page__products { padding-top: 36px; }
	.error-page__products-header { align-items: flex-start; flex-direction: column; gap: 8px; }
	.error-page__products-header h2 { font-size: 26px; }
	.error-page__route-grid { grid-template-columns: 1fr; }
	.error-page__route { min-height: 104px; }
}

@media (max-width: 640px) {
	.error-page { padding-top: 30px; padding-bottom: 56px; }
	.error-page .breadcrumbs { margin-bottom: 20px; font-size: 13px; }
	.error-page__hero { display: flex; flex-direction: column; min-height: 0; padding: 32px 22px 16px; border-radius: 18px; }
	.error-page__content { width: 100%; text-align: center; }
	.error-page__eyebrow { margin-bottom: 8px; font-size: 14px; }
	.error-page__title { margin-bottom: 14px; font-size: 38px; }
	.error-page__description { font-size: 16px; }
	.error-page__actions { flex-direction: column; gap: 8px; margin-top: 24px; }
	.error-page__actions .btn-primary,
	.error-page__catalog-link { width: 100%; min-height: 50px; }
	.error-page__catalog-link { justify-content: center; border: 0; }
	.error-page__visual { width: 100%; min-height: 190px; max-height: 210px; margin-top: 2px; }
	.error-page__routes { padding-top: 38px; }
	.error-page__routes h2 { margin-bottom: 18px; font-size: 26px; }
	.error-page__route-grid { gap: 12px; }
	.error-page__route { grid-template-columns: 48px minmax(0, 1fr) auto; min-height: 96px; padding: 16px; gap: 12px; }
	.error-page__route-icon { width: 48px; height: 48px; font-size: 12px; }
	.error-page__route strong { font-size: 16px; }
	.error-page__route small { font-size: 13px; }
}

/* Header */

/*
 * T-071 (SF-01/09): production-shaped top utility bar (geo, address, messengers, mail, hours,
 * mini-cart), sitewide. Promoted from T-080's preview-only body-class-scoped rules (this is the
 * same selector set, unscoped). Colors measured via headless Chrome getComputedStyle() against
 * the live bezlimitik.ru header, 2026-07-11 (not eyeballed): white background, black text/icons,
 * #dc2f2f messenger accent, theme's existing --blue for the cart icon.
 */
.header-utility-bar {
	background: var(--white);
	font-size: 15px;
	color: var(--ink);
}
.header-utility-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 20px 12px;
}
.header-utility-bar__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--ink);
	text-decoration: none;
	flex-shrink: 0;
	white-space: nowrap;
}
a.header-utility-bar__item:hover { color: var(--accent); }
.header-utility-bar__icon { flex-shrink: 0; color: var(--ink); }
.header-utility-bar__messengers {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
.header-utility-bar__messenger {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-left: clamp(8px, 1.6vw, 24px);
	color: var(--messenger);
	text-decoration: none;
	font-weight: 700;
	font-size: 15px;
	white-space: nowrap;
}
.header-utility-bar__messenger:hover { color: var(--accent-dark); text-decoration: none; }
.header-utility-bar__messenger-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.header-utility-bar__messenger-icon svg {
	display: block;
	width: 24px;
	height: 24px;
}
.header-utility-bar__messenger--telegram .header-utility-bar__messenger-icon svg path,
.header-utility-bar__messenger--whatsapp .header-utility-bar__messenger-icon svg path {
	fill: var(--messenger);
}
.header-utility-bar__messenger--max .header-utility-bar__messenger-icon svg path:first-of-type {
	fill: var(--messenger);
}
.header-utility-bar__messenger--max .header-utility-bar__messenger-icon svg path:last-of-type {
	fill: #fff;
}
.header-utility-bar__messenger-label { line-height: 1; }
.header-utility-bar__cart {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ink);
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
}
.header-utility-bar__cart:hover { color: var(--accent); text-decoration: none; }
.header-utility-bar__cart-total { color: var(--ink); font-weight: 500; }
.header-utility-bar__cart-icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ink);
}
.header-utility-bar__cart-count {
	position: absolute;
	top: -6px;
	right: -8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}
/* T-322: author `display` must not override HTML [hidden] on empty cart. */
.header-utility-bar__cart-count[hidden] {
	display: none;
}

@media (max-width: 960px) {
	.header-utility-bar { display: none; }
}

.site-header {
	background: var(--white);
	border-bottom: 1px solid var(--line);
	position: sticky;
	top: 0;
	z-index: 100;
}
.site-header .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: var(--header-h);
	padding-top: 23px;
	padding-bottom: 16px;
	border-top: 1px solid rgba(235, 84, 19, 0.2);
}
.site-header__left {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1 1 auto;
	gap: 12px;
}
.main-nav {
	display: flex;
	justify-content: stretch;
	min-width: 0;
	flex: 1 1 auto;
}
.site-header__actions {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
	background: var(--white);
}
.mobile-header-actions { display: none; }
.logo {
	font-weight: 900;
	font-size: 26px;
	letter-spacing: -0.01em;
	color: var(--accent);
	text-decoration: none;
}
.logo:hover { text-decoration: none; }
.logo span { color: var(--orange); }
.logo img {
	display: block;
	width: 135px;
	height: 64px;
}

/* Phase 8.1 — target main nav (desktop mega-menu + mobile accordion). */
.main-nav-list {
	display: flex;
	gap: clamp(2px, 0.55vw, 10px);
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	flex-wrap: nowrap;
}
.main-nav-list > .nav-item {
	flex: 0 0 auto;
}

/* T-324 compact-desktop-nav band (1024-1199) superseded by T-494: the measured collision band
   is 1024-~1330, so desktop nav no longer activates until 1340 (see the 1339px band below) and
   this compact variant never renders. Removed rather than left dead. */
.nav-item { position: relative; }
.nav-item__parent-link {
	display: inline-flex;
	align-items: center;
	padding: 4px 2px 4px 8px;
	color: var(--ink);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.nav-item__parent-link:hover { color: var(--accent); text-decoration: none; }
.nav-link {
	display: inline-block;
	padding: 4px 10px;
	color: var(--ink);
	text-decoration: none;
	font-weight: 600;
	border-radius: 8px;
	white-space: nowrap;
}
.nav-link:hover { color: var(--accent); text-decoration: none; }
.nav-item__toggle {
	background: none;
	border: none;
	font: inherit;
	font-weight: 600;
	color: var(--ink);
	padding: 4px 10px;
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}
.nav-item__toggle:hover { color: var(--accent); }
.nav-item__toggle--icon { padding: 8px 9px 8px 4px; }
.nav-item--mega .nav-item__toggle::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	flex-shrink: 0;
}

.nav-link--pending {
	color: var(--ink-soft);
	cursor: default;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.nav-link--pending:hover { color: var(--ink-soft); }
.nav-link__soon {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ink-soft);
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 1px 6px;
}

/* Two-column "Тарифы на интернет" dropdown — owner-mandated structure, control/OWNER_QUEUE.md [5] */
.nav-item--mega .mega {
	position: absolute;
	top: 100%;
	left: 0;
	display: none;
	align-items: start;
	gap: 0;
	min-width: 440px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 0 0 var(--radius) var(--radius);
	box-shadow: var(--shadow-lg);
	padding: 18px 8px;
	z-index: 110;
	max-width: calc(100vw - 24px);
	transform: translateX(var(--mega-shift-x, 0px));
}
/* T-368: open state is JS-driven (`.is-open`, mouseenter/leave + a short close delay) plus
   `:focus-within` for keyboard — not a raw `:hover`, so a delayed close doesn't get undone the
   instant the browser's own hover pseudo-class clears. See assets/js/main.js. */
.nav-item--mega:focus-within .mega,
.nav-item--mega.is-open .mega {
	display: flex;
}
.mega-col {
	flex: 1 1 0;
	min-width: 0; /* allow shrink so long titles wrap inside the column */
	padding: 0 16px;
}
/* OWNER 2026-07-20: subtle column structure without heavy cards */
.mega-col + .mega-col {
	border-left: 1px solid var(--line);
}
/* Phase 8.3 — single-column dropdown (О нас), narrower than the two-column mega */
.mega--single { min-width: 220px; }
.mega--single .mega-col { flex: 1 1 auto; min-width: 180px; }
.mega-col-head {
	/* Parent: larger/heavier than leaves (was inverted: 12px head vs 14px leaves). */
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	text-transform: none;
	letter-spacing: 0.01em;
	margin-bottom: 12px;
	padding-bottom: 9px;
	border-bottom: 2px solid var(--ink);
	white-space: normal;
	overflow-wrap: break-word;
	line-height: 1.25;
}
a.mega-col-head--link {
	display: block;
	text-decoration: none;
	color: var(--ink);
}
a.mega-col-head--link:hover {
	color: var(--accent);
	text-decoration: none;
}

.mega-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mega-col li a,
.mega-col li .nav-link,
.mega-col li .nav-link--pending {
	display: block;
	padding: 8px 8px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ink-soft);
	/* Override top-bar .nav-link { white-space: nowrap } — equipment titles overflowed columns. */
	white-space: normal;
	overflow-wrap: break-word;
	line-height: 1.35;
	/* T-368: clamp long leaf labels to 2 lines instead of growing the column unpredictably. */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mega-col li a:hover { background: var(--bg); color: var(--accent); font-weight: 600; text-decoration: none; }

/* T-368: narrower viewports compress before anything is allowed to clip/scroll horizontally. */
@media (max-width: 1280px) {
	.nav-item--mega .mega { padding: 16px 6px; }
	.mega-col { padding: 0 14px; }
	.mega-col li a, .mega-col li .nav-link, .mega-col li .nav-link--pending { font-size: 12.5px; padding: 6px 7px; }
}
@media (max-width: 1100px) {
	.nav-item--mega .mega { padding: 14px 4px; }
	.mega-col { padding: 0 12px; }
	.mega-col-head { font-size: 13px; margin-bottom: 10px; padding-bottom: 7px; }
}

/*
 * T-380: the T-368 2-line clamp above was tuned for short intent labels (internet/calls mega)
 * and cuts equipment leaf names ("4G модемы с Wi-Fi точкой доступа", "Антенны 4G/LTE со
 * встроенным модемом") mid-word with an ellipsis — losing the point of a full product-map
 * menu. Scoped to the equipment mega only: drop the clamp so labels wrap to full height, and
 * widen columns so wrapped text still reads decently instead of going ragged-narrow.
 */
.nav-item--equipment .mega {
	min-width: 900px;
}
.nav-item--equipment .mega-col {
	flex: 1 1 170px;
}
.nav-item--equipment .mega-col li a,
.nav-item--equipment .mega-col li .nav-link,
.nav-item--equipment .mega-col li .nav-link--pending {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}
@media (max-width: 1280px) {
	.nav-item--equipment .mega { min-width: 760px; }
}
@media (max-width: 1100px) {
	.nav-item--equipment .mega { min-width: 640px; }
}

/* Burger — hidden on desktop */
.burger {
	display: none;
	background: none;
	border: none;
	padding: 8px;
	cursor: pointer;
}
.burger__box { display: flex; flex-direction: column; gap: 4px; width: 22px; }
.burger__box span { display: block; height: 2px; background: var(--ink); border-radius: 2px; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* T-319: keyboard skip to main content. */
.skip-link:focus,
.skip-link:focus-visible {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	overflow: visible;
	padding: 12px 16px;
	border-radius: 10px;
	background: var(--accent);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.skip-link:focus:hover,
.skip-link:focus-visible:hover {
	color: #fff;
	text-decoration: none;
}

/* Mobile accordion nav — collapsed by default (fixes Phase 6 "too tall" header issue) */
.mobile-nav { display: none; }

.header-search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	background: var(--accent);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 0 18px;
	font-size: 15px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	white-space: nowrap;
	cursor: not-allowed;
	opacity: 0.95;
}
.header-search__icon { flex-shrink: 0; width: 24px; height: 24px; }
.header-search__label { line-height: 1; }

.header-cta {
	background: var(--accent);
	color: #fff;
	border-radius: 999px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.header-cta:hover { background: var(--accent-dark); color: #fff; text-decoration: none; }

.header-phone-group {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-right: 18px;
}
.header-phone {
	display: inline-flex;
	align-items: center;
	color: var(--ink);
	text-decoration: none;
	flex-shrink: 0;
	text-align: right;
}
.header-phone-group .header-phone { margin-right: 0; }
.header-phone--secondary { font-size: 13px; color: var(--ink-soft); }
.header-phone--secondary:hover { color: var(--accent); }
.header-phone:hover { color: var(--accent); text-decoration: none; }
.header-phone__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: flex-end;
}
.header-phone__number {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.26;
	color: var(--ink);
	white-space: nowrap;
}
.header-phone__note {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--ink-soft);
	opacity: 0.6;
	white-space: nowrap;
}

/* Mobile header — compact row: logo + burger only, everything else moves into the
   accordion panel below. Fixes the Phase 6 "mobile header too tall" issue by not
   dumping the full desktop nav/phone/CTA inline. */
.faq-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.faq-item {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 4px 18px;
}
.faq-item__question {
	cursor: pointer;
	list-style: none;
	padding: 14px 28px 14px 0;
	font-weight: 700;
	color: var(--ink);
	position: relative;
}
.faq-item__question::-webkit-details-marker {
	display: none;
}
.faq-item__question::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 12px;
	font-size: 22px;
	font-weight: 400;
	color: var(--accent);
}
.faq-item[open] .faq-item__question::after {
	content: "\2212";
}
.faq-item__answer {
	padding: 0 0 16px;
}
.faq-item__answer p {
	color: var(--ink-soft);
	margin: 0 0 10px;
}
.faq-item__answer p:last-child {
	margin-bottom: 0;
}
.faq-item__answer ul {
	margin: 0;
	padding-left: 20px;
	color: var(--ink-soft);
	line-height: 1.7;
}

/* T-173 / HB-C: one production-shaped FAQ component across all templates. */
.site-faq { background: #fff; }
.site-faq__intro {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(310px, 1fr);
	gap: 42px;
	align-items: start;
	margin-bottom: 50px;
}
.site-faq__copy h2 {
	margin: 0 0 24px;
	font-size: 40px;
	line-height: 1.2;
	font-weight: 600;
	color: #000;
	text-transform: uppercase;
}
.site-faq__copy p {
	max-width: 760px;
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 1.6;
	color: #000;
}
.site-faq__contacts {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto;
	grid-template-rows: auto auto auto;
	column-gap: 18px;
	row-gap: 4px;
	align-items: center;
	padding-top: 6px;
}
.site-faq__phone,
.site-faq__email { grid-column: 1; color: #000; text-decoration: none; }
.site-faq__phone { grid-row: 1; font-size: 20px; font-weight: 700; }
.site-faq__email { grid-row: 2; align-self: start; font-size: 16px; }
.site-faq__messengers {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	gap: 10px;
}
.site-faq__messenger {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border: 2px dashed currentColor;
	border-radius: 50%;
	background: transparent;
}
.site-faq__messenger--telegram { color: #20a0e1; }
.site-faq__messenger--whatsapp { color: #51c85d; }
.site-faq__messenger .messenger-icon { fill: currentColor; }
.site-faq__ask {
	grid-column: 1 / -1;
	grid-row: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	margin-top: 18px;
	padding: 12px 24px;
	border: 0;
	border-radius: 32px;
	background: #eb5413;
	color: #fff;
	font: inherit;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}
.site-faq__ask:hover,
.site-faq__ask:focus-visible { background: #c8420b; transform: translateY(-1px); }
.site-faq__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 16px 20px;
}
.site-faq__list .faq-item {
	border: 0;
	border-radius: 32px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(29, 29, 29, 0.12);
	padding: 0 24px;
	overflow: hidden;
}
.site-faq__list .faq-item__question {
	min-height: 92px;
	display: flex;
	align-items: center;
	padding: 18px 36px 18px 0;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 500;
}
.site-faq__list .faq-item__question::after {
	top: 50%;
	color: #ef3124;
	font-size: 26px;
	transform: translateY(-50%);
}
.site-faq__list .faq-item__answer { padding: 0 12px 22px 0; }
.site-faq__list .faq-item__answer p { color: #333; line-height: 1.6; }
.site-faq__list .faq-item[open] .faq-item__question::after { transform: translateY(-50%); }

.review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.home-reviews__all-wrap {
	margin-top: 20px;
}
.review-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.review-card__meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}
.review-card__name {
	font-weight: 700;
	color: var(--ink);
}
.review-card__date {
	font-size: 13px;
	color: var(--ink-soft);
	white-space: nowrap;
}

.review-card__scenario {
	margin: 0 0 8px;
	color: var(--ink-soft);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.35;
}
.review-card__text {
	color: var(--ink-soft);
	margin: 0;
	line-height: 1.6;
	font-size: 14px;
}
.review-card__rating {
	display: block;
	margin: 2px 0 0;
	line-height: 0;
}
.review-card__rating img {
	display: block;
	width: 90px;
	height: 16px;
}
.review-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 32px;
}
.review-section-header h2 {
	margin: 0;
}
.review-rating-badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	padding: 10px 14px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--white);
	color: var(--ink);
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.06);
}
.review-rating-badge__source {
	width: 40px;
	height: 40px;
	display: block;
}
.review-rating-badge__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.review-rating-badge__score {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 18px;
	line-height: 1.1;
	font-weight: 700;
	color: var(--ink);
	white-space: nowrap;
}
.review-rating-badge__star {
	width: 20px;
	height: 20px;
	display: inline-flex;
}
.review-rating-badge__label {
	font-size: 13px;
	line-height: 1.2;
	color: var(--ink-soft);
	white-space: nowrap;
}
.review-trust-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
}
.review-trust-strip .review-rating-badge {
	padding: 8px 12px;
	border-radius: 14px;
	box-shadow: none;
}
.review-trust-strip .review-rating-badge__source {
	width: 32px;
	height: 32px;
}
.review-trust-strip__link {
	color: var(--accent);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
}
.review-trust-strip__link:hover { color: var(--accent-dark); }
.review-trust-strip--product { align-self: flex-start; }
.review-trust-strip--checkout {
	margin: 0 0 12px;
	padding: 12px 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--white);
}


/* T-header-overlap: 1340–1599 desktop nav is tight; compact so phone/search
   cannot slide over menu items when Jost is late/fallback font is wider. */
@media (min-width: 1340px) and (max-width: 1599px) {
	.site-header .inner { gap: 10px; }
	.site-header__left { gap: 8px; }
	.logo img { width: 118px; height: auto; }
	.main-nav-list { font-size: 14px; gap: 2px; }
	.nav-item__parent-link { padding: 4px 0 4px 6px; }
	.nav-item__toggle--icon { padding: 8px 6px 8px 2px; }
	.header-phone-group { margin-right: 10px; }
	.header-phone__note { display: none; }
	.header-phone__number { font-size: 16px; }
	.header-search { padding: 0 14px; min-height: 44px; font-size: 14px; }
}

@media (max-width: 1339px) {
	/* T-316/T-494: keep drawer through the measured header-collision band (1024-~1330);
	   desktop nav only fits cleanly from 1340px (see the min-width:1340px band below). */
	.site-header .inner {
		min-height: 71px;
		height: 71px;
		padding-top: 0;
		padding-right: max(15px, calc((100vw - 768px) / 2));
		padding-bottom: 0;
		padding-left: max(15px, calc((100vw - 768px) / 2));
		border-top: none;
		flex-wrap: nowrap;
		gap: 4px;
	}
	.site-header__left { gap: 0; flex: 0 0 96px; margin-left: 14px; }
	.site-header__left .logo img { width: 96px; height: auto; }
	.main-nav,
	.site-header > .inner > .site-header__actions {
		display: none;
	}
	.burger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		color: var(--accent);
		flex: 0 0 44px;
	}
	.burger__box { width: 24px; gap: 5px; }
	.burger__box span { background: currentColor; }
	.mobile-header-actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 0;
		margin-left: auto;
	}
	.mobile-header-action {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		color: var(--accent);
		text-decoration: none;
		flex: 0 0 44px;
	}
	/* T-366: the messenger trio (not the phone action) must share the site-wide messenger red;
	   MAX already got this via its own later rule, WA/TG were inheriting the accent orange
	   above instead. */
	.mobile-header-action--max,
	.mobile-header-action--whatsapp,
	.mobile-header-action--telegram {
		color: var(--messenger);
	}
	.mobile-header-action::before {
		content: "";
		position: absolute;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: #fff0e9;
		z-index: -1;
	}
	.mobile-header-action { position: relative; isolation: isolate; }
	.mobile-header-action:hover { color: var(--accent-dark); text-decoration: none; }
	.mobile-header-action svg { display: block; fill: currentColor; }

	.mobile-nav {
		display: flex;
		position: fixed;
		top: 72px;
		bottom: 0;
		left: 0;
		width: min(300px, 100vw);
		max-height: calc(100dvh - 72px);
		flex-direction: column;
		background: var(--white);
		box-shadow: 12px 0 32px rgba(37, 24, 20, 0.2);
		z-index: 132;
		visibility: hidden;
		transform: translateX(-100%);
		transition: transform 180ms ease, visibility 180ms step-end;
		/* T-164 MM-08: notch-safe padding — drawer is anchored to the device's left edge. */
		padding-left: env(safe-area-inset-left, 0);
	}
	.mobile-nav.is-open {
		visibility: visible;
		transform: translateX(0);
		transition: transform 180ms ease, visibility 0s step-start;
	}
	.mobile-nav__bar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 54px;
		padding: 0 12px 0 20px;
		border-bottom: 1px solid var(--line);
		flex: 0 0 54px;
	}
	.mobile-nav__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--ink);
		font-size: 32px;
		line-height: 1;
		cursor: pointer;
	}
	.mobile-nav > nav { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
	.mobile-nav-overlay {
		display: block;
		position: fixed;
		inset: 72px 0 0;
		background: rgba(28, 22, 20, 0.48);
		z-index: 131;
		opacity: 0;
		visibility: hidden;
		transition: opacity 180ms ease, visibility 180ms step-end;
	}
	body.mobile-nav-open { overflow: hidden; }
	body.mobile-nav-open .mobile-nav-overlay {
		opacity: 1;
		visibility: visible;
		transition: opacity 180ms ease, visibility 0s step-start;
	}
	.mobile-nav-list { list-style: none; margin: 0; padding: 8px 16px; }
	.mobile-nav-item { border-bottom: 1px solid var(--line); }
	.mobile-nav-item:last-child { border-bottom: none; }
	.mobile-nav-item .nav-link,
	.mobile-nav-item .nav-link--pending {
		display: block;
		padding: 14px 4px;
	}
	.mobile-nav-item__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		background: none;
		border: none;
		font: inherit;
		font-weight: 600;
		color: var(--ink);
		padding: 14px 4px;
		cursor: pointer;
	}
	.mobile-nav-item__row { display: flex; align-items: stretch; }
	.mobile-nav-item__parent-link {
		display: flex;
		align-items: center;
		flex: 1 1 auto;
		padding: 14px 4px;
		color: var(--ink);
		font-weight: 600;
		text-decoration: none;
	}
	.mobile-nav-item__toggle--icon { width: 48px; flex: 0 0 48px; justify-content: center; padding: 14px 4px; }
	/* Pending-parent rows use a full-width toggle; pin + in the same 48px column as icon toggles. */
	.mobile-nav-item__toggle:not(.mobile-nav-item__toggle--icon) {
		padding-right: 0;
	}
	.mobile-nav-item__toggle::after {
		content: "+";
		font-size: 18px;
		color: var(--ink-soft);
	}
	.mobile-nav-item__toggle:not(.mobile-nav-item__toggle--icon)::after {
		flex: 0 0 48px;
		width: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.mobile-nav-item--group.is-open .mobile-nav-item__toggle::after { content: "\2212"; }
	.mobile-nav-panel { display: none; padding: 0 4px 12px; }
	.mobile-nav-item--group.is-open .mobile-nav-panel { display: block; }
	.mobile-nav.is-submenu-open .mobile-nav-list > .mobile-nav-item:not(.is-open) { display: none; }
	.mobile-nav.is-submenu-open .mobile-nav-item.is-open { border-bottom: 0; }
	.mobile-nav.is-submenu-open .mobile-nav-item.is-open > .mobile-nav-item__row,
	.mobile-nav.is-submenu-open .mobile-nav-item.is-open > .mobile-nav-item__toggle { display: none; }
	.mobile-nav-back {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 44px;
		padding: 6px 0;
		border: 0;
		background: transparent;
		color: var(--accent);
		font: inherit;
		font-weight: 600;
		cursor: pointer;
	}
	.mobile-nav-panel__title { margin: 2px 0 16px; font-size: 20px; font-weight: 700; }
	/* Unified group/leaf hierarchy: same head style whether label or hub link. */
	.mobile-nav-group {
		margin: 0 0 18px;
		padding: 0 0 14px;
		border-bottom: 1px solid var(--line);
	}
	.mobile-nav-group:last-child {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	/* Same visual for label heads and hub-link heads (no arrow delta; matches desktop mega). */
	.mobile-nav-group__head,
	.mobile-nav-group__head--link {
		display: block;
		margin: 0 0 6px;
		padding: 6px 4px;
		color: var(--ink);
		font-size: 16px;
		font-weight: 700;
		line-height: 1.3;
		text-transform: none;
		letter-spacing: 0;
		text-decoration: none;
	}
	.mobile-nav-group__head--link:hover { color: var(--accent); }
	.mobile-nav-group ul { list-style: none; margin: 0; padding: 0; }
	.mobile-nav-item .mobile-nav-group li .nav-link,
	.mobile-nav-item .mobile-nav-group li .nav-link--pending {
		padding: 9px 4px 9px 14px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.35;
		color: var(--ink-soft);
		white-space: normal;
	}
	.mobile-nav-item .mobile-nav-group li .nav-link:hover {
		color: var(--accent);
		font-weight: 500;
	}

	.mobile-nav-actions {
		display: flex;
		flex-direction: column;
		gap: 14px;
		padding: 16px;
		padding-bottom: max(16px, env(safe-area-inset-bottom, 0));
		border-top: 1px solid var(--line);
	}
	.mobile-nav-actions .mobile-nav-callback { width: 100%; }
	.mobile-nav-phones { display: flex; flex-direction: column; gap: 6px; }
	.mobile-nav-actions .header-phone { display: inline-flex; }
	.mobile-nav-email {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		color: var(--ink);
		text-decoration: none;
	}
	.mobile-nav-email:hover { color: var(--accent); text-decoration: none; }
	.mobile-nav-email__icon { flex-shrink: 0; color: var(--ink-soft); }
}

/* T-163: sitewide fixed bottom Catalog/Search/Cart bar, mobile only (prod's
   `.mobile_function_panel` parity target). Stacks above `.site-legal-strip`; hidden while the
   drawer is open (its own overlay takes over the same area) and on single-product templates
   (`.product-sticky-purchase` already occupies the same bottom offset there). */
.mobile-tab-bar { display: none; }

@media (max-width: 900px) {
	.mobile-tab-bar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: var(--site-legal-h);
		z-index: 130;
		background: var(--white);
		border-top: 1px solid var(--line);
		box-shadow: 0 -6px 20px rgba(13, 43, 94, .1);
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
	body.mobile-nav-open .mobile-tab-bar,
	body.single-product .mobile-tab-bar { display: none; }
	.mobile-tab-bar__item {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		min-height: 56px;
		padding: 8px 4px;
		border: 0;
		background: transparent;
		color: var(--ink);
		font: inherit;
		font-size: 12px;
		font-weight: 600;
		text-decoration: none;
		cursor: pointer;
	}
	.mobile-tab-bar__item:hover { color: var(--accent); text-decoration: none; }
	.mobile-tab-bar__item:disabled { color: var(--ink-soft); cursor: not-allowed; }
	.mobile-tab-bar__icon { display: block; }
	.mobile-tab-bar__icon-wrap { position: relative; display: inline-flex; }
	.mobile-tab-bar__cart-count {
		position: absolute;
		top: -6px;
		right: -10px;
		min-width: 16px;
		height: 16px;
		padding: 0 3px;
		border-radius: 999px;
		background: var(--accent-dark); /* T-353 P1-A */
		color: #fff;
		font-size: 10px;
		font-weight: 700;
		line-height: 16px;
		text-align: center;
	}
	.mobile-tab-bar__label { line-height: 1.1; }

	.site-footer { padding-bottom: 88px; }
	body.single-product .site-footer { padding-bottom: 24px; }
}

@media (min-width: 1340px) {
	/* T-325/T-494: match T-316/T-494 drawer band — overlay stays available through 1339px. */
	.mobile-nav-overlay { display: none; }
}

@media (max-width: 1339px) and (prefers-reduced-motion: reduce) {
	.mobile-nav,
	.mobile-nav-overlay { transition: none; }
}

/* Footer — light theme, matches production's measured footer tokens
   (background rgb(248,241,241), text rgb(154,157,158)); previously an inverted
   dark theme never sourced from production, see VISUAL_DESIGN_PARITY_PROCEDURE.md Step 2. */
.site-footer {
	background: #f8f1f1;
	color: #9a9d9e;
	margin-top: 40px;
	/* Clear fixed .site-legal-strip (desktop had only 24px — copyright/policy sat under the bar) */
	padding: 44px 0 calc(var(--site-legal-h, 35px) + 24px);
	font-size: 14px;
}
.site-footer a { color: var(--ink); }
.site-footer a:hover { color: var(--accent); }
.footer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 28px;
	margin-bottom: 28px;
}
.footer-col h3,
.footer-col .footer-col-heading {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ink);
	margin-bottom: 14px;
}
.footer-logo { display: inline-block; margin-bottom: 18px; }
.footer-logo img { display: block; width: 124px; height: 64px; }
.footer-address,
.footer-hours,
.footer-phone,
.footer-email { margin: 0 0 8px; line-height: 1.55; color: var(--ink); }
.footer-hours { margin-bottom: 14px; }
.footer-phone a {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ink);
	text-decoration: none;
}
.footer-phone a:hover { color: var(--accent); }
.footer-action { margin: 0 0 14px; }
.site-footer .footer-action__link {
	display: inline-block;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--messenger);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	cursor: pointer;
}
.site-footer .footer-action__link:hover { color: var(--accent-dark); text-decoration: none; }
button.footer-action__link { text-align: left; }
.footer-about { margin: 0 0 14px; line-height: 1.55; color: var(--ink-soft); font-size: 14px; }
.footer-messengers { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.footer-messengers a,
.footer-messenger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--messenger);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}
.footer-messengers a:hover,
.footer-messenger:hover {
	background: var(--accent-dark);
	text-decoration: none;
}
.footer-messengers svg {
	display: block;
	fill: #fff;
	transition: transform .2s ease;
}
.footer-messengers a:hover svg { transform: translateY(-1px); }
.footer-messengers .messenger-icon--max { color: #fff; }
.footer-messengers .messenger-icon--max path:first-of-type { fill: #fff; }
.footer-messengers .messenger-icon--max path:last-of-type { fill: var(--messenger); }
.footer-messengers a:hover .messenger-icon--max path:last-of-type { fill: var(--accent-dark); }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin-bottom: 9px; line-height: 1.4; }
.footer-col .nav-link--pending {
	color: #c2c5c6;
}
.footer-col .nav-link--pending:hover { color: #c2c5c6; }
.footer-col .nav-link__soon {
	color: #c2c5c6;
	background: rgba(0, 0, 0, 0.04);
	border-color: rgba(0, 0, 0, 0.1);
}

/* T-192 / T-308 — mobile footer accordion: desktop uses a real heading (not a no-op button);
   disclosure-button semantics exist only at max-width 900px when JS adds .js-accordion. */
.footer-col-heading {
	margin: 0;
	color: var(--ink);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.footer-col-toggle {
	display: none;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ink);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-align: left;
	cursor: pointer;
}
.footer-col-toggle__arrow { display: none; }

@media (max-width: 900px) {
	.footer-col--accordion.js-accordion .footer-col-heading {
		display: none;
	}
	.footer-col--accordion.js-accordion .footer-col-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		min-height: 44px;
	}
	.footer-col--accordion.js-accordion .footer-col-toggle__arrow {
		display: block;
		flex: 0 0 auto;
		color: var(--ink);
		transform: rotate(0deg);
		transition: transform 0.2s ease;
	}
	.footer-col--accordion.js-accordion .footer-col-toggle[aria-expanded="true"] .footer-col-toggle__arrow {
		transform: rotate(180deg);
	}
	.footer-col--accordion.js-accordion .footer-col-content {
		overflow: hidden;
		max-height: 0;
		transition: max-height 0.3s ease;
	}
}
.footer-delivery {
	font-size: 13px;
	color: #9a9d9e;
	max-width: 60ch;
	line-height: 1.6;
}
.footer-bottom {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	padding-top: 16px;
	font-size: 13px;
	color: #9a9d9e;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: space-between;
}

@media (max-width: 720px) {
	.footer-bottom { flex-direction: column; }
}

/* Generic section shell (used by front-page preview) */
.section { padding-top: 48px; padding-bottom: 48px; }
.section--alt { background: var(--white); }
.section h2 { font-size: 26px; }
.home .section { padding-top: 72px; padding-bottom: 72px; }
.home .section h2 {
	font-size: 40px;
	line-height: 50px;
	margin-bottom: 41px;
}
.section-lead { color: var(--ink-soft); max-width: 60ch; }
/* P0-PR-1 pi=5 — "Оставьте заявку на подключение интернета" (prod-reference/p0-home, layout-form). */
.home-lead-form {
	--lead-band: #9f4939;
	position: relative;
	overflow: hidden;
	background: var(--lead-band);
	color: #fff;
	/* T-216: pinned to the value the front page already gets from ".home .section" (72px) --
	   category only had the generic ".section" 48px, since ".home .section" never matches a
	   category-archive body. Section padding is otherwise identical width/breakpoint-independent
	   between the two contexts once this is explicit, instead of leaking in via body class. */
	padding-top: 72px;
	padding-bottom: 72px;
}
.home-lead-form__inner {
	position: relative;
	display: block;
	min-height: 392px;
	padding-top: 56px;
	padding-bottom: 52px;
}
.home-lead-form__media {
	position: absolute;
	inset: 0 0 0 48%;
	overflow: hidden;
}
.home-lead-form__media::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, var(--lead-band) 0%, rgba(159, 73, 57, .78) 32%, rgba(159, 73, 57, .18) 100%);
}
.home-lead-form__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 38%;
}
.home-lead-form__content {
	position: relative;
	z-index: 1;
	width: min(940px, 72%);
}
/* T-216: font-size/line-height/margin-bottom pinned to explicit values (was clamp(34,3.2vw,48)
   + 1.08 + 28px) because the generic ".home .section h2" rule (higher specificity, front page
   body class only) was silently overriding those three properties on home but not on category --
   the two pages rendered different title metrics from what looked like one shared component.
   These values match what home already renders; category now gets the same title look
   regardless of body class, so there's no more hidden divergence between the two contexts. */
.home-lead-form__content .home-lead-form__title {
	max-width: 760px;
	margin: 0 0 41px;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	line-height: 50px;
	text-transform: uppercase;
}
.home-lead-form__intro { max-width: 720px; margin: -12px 0 22px; color: rgba(255,255,255,.9); font-size: 17px; line-height: 1.45; }

body.page-template-corp-cinar-home-preview .hero__price-anchor { margin-top: 18px; color: var(--ink); font-size: 18px; font-weight: 700; }
body.page-template-corp-cinar-home-preview .hero__proof { display: inline-flex; align-items: center; gap: 9px; margin-top: 8px; color: var(--ink); font-size: 14px; }
body.page-template-corp-cinar-home-preview .hero__proof strong { color: var(--accent-dark); font-size: 18px; }
body.page-template-corp-cinar-home-preview .home-equipment-catalog--preview-install { background: linear-gradient(180deg, #fff 0, #f8f3ee 100%); }
body.page-template-corp-cinar-home-preview .home-equipment-catalog__eyebrow { margin: 0 0 8px; color: var(--accent-dark); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.page-template-corp-cinar-home-preview .home-equipment-catalog__preview-title { margin-bottom: 8px; }
body.page-template-corp-cinar-home-preview .home-equipment-catalog__preview-lead { max-width: 720px; margin: 0 0 30px; color: var(--ink-soft); font-size: 17px; }
body.page-template-corp-cinar-home-preview .tariff-quiz__preview-next { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; background: var(--bg); }
body.page-template-corp-cinar-home-preview .tariff-quiz__preview-next span { flex: 1 1 300px; }
body.page-template-corp-cinar-home-preview .tariff-quiz__preview-next a { color: var(--accent-dark); font-weight: 700; }
.home-lead-form__row {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
	gap: 28px;
	align-items: end;
}
.home-lead-form__field span { color: #fff; font-size: 13px; text-transform: uppercase; }
.home-lead-form__field input {
	width: 100%;
	min-height: 54px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	box-shadow: none;
	font-size: 16px; /* T-353 P1-C iOS */
}
.home-lead-form__submit {
	min-height: 54px;
	padding: 13px 28px;
	border: 2px solid #fff;
	background: #fff;
	color: #713125;
	white-space: nowrap;
}
.home-lead-form__submit:hover { border-color: #fff; background: transparent; color: #fff; }
.home-lead-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	max-width: 780px;
	margin-top: 24px;
	font-size: 12px;
	color: #fff;
	line-height: 1.5;
}
.home-lead-form__consent input { margin-top: 3px; flex-shrink: 0; }
.home-lead-form__consent a { color: #fff; text-decoration: underline; }
.home-lead-form__status { color: #fff; margin-top: 16px; }
/* T-312: chip text needs its own dark color, not the white ancestor's `inherit`, or it
   renders white-on-near-white against the pale chip background regardless of the dark
   terracotta band behind it -- the chip itself is the contrast surface. */
.home-lead-form .ask-question-form__status--success { color: #1e7a34; }
.home-lead-form .ask-question-form__status--error { color: var(--messenger); }
.home-lead-form__submit--loading { opacity: .85; cursor: wait; }
.home-lead-form__submit--loading::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	vertical-align: middle;
	border: 2px solid rgba(113, 49, 37, .35);
	border-top-color: #713125;
	border-radius: 50%;
	animation: bezlimitik-ask-question-spin .7s linear infinite;
}
.home-lead-form [data-home-lead-form].ask-question-form--submitted .home-lead-form__field input,
.home-lead-form [data-home-lead-form].ask-question-form--submitted .home-lead-form__consent,
.home-lead-form [data-home-lead-form].ask-question-form--submitted .home-lead-form__submit {
	opacity: .65;
	pointer-events: none;
}
@media (max-width: 900px) {
	.home-lead-form__inner {
		min-height: 0;
		padding-top: 42px;
		padding-bottom: 42px;
	}
	.home-lead-form__media { inset: 0; }
	.home-lead-form__media::after { background: linear-gradient(90deg, rgba(159, 73, 57, .97), rgba(159, 73, 57, .84)); }
	.home-lead-form__content { width: 100%; }
	.home-lead-form__row {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.home-lead-form__content .home-lead-form__title { max-width: 680px; }
}
@media (max-width: 520px) {
	.home-lead-form__inner { padding-top: 34px; padding-bottom: 34px; }
	.home-lead-form__content .home-lead-form__title { margin-bottom: 24px; font-size: 29px; line-height: 1.12; }
	.home-lead-form__submit { width: 100%; }
	.home-lead-form__consent { margin-top: 18px; font-size: 11px; }
}

/* P0-PR-1 pi=6 — production-shaped equipment category catalog. */
.home-equipment-catalog__carousel {
	display: block;
}
.home-equipment-catalog__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
}
.home-equipment-catalog__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(29, 29, 29, 0.14);
	color: var(--ink);
	transition: transform .2s ease, box-shadow .2s ease;
	text-decoration: none;
}
.home-equipment-catalog__card:hover { color: var(--ink); text-decoration: none; transform: translateY(-3px); box-shadow: 0 10px 26px rgba(29, 29, 29, 0.2); }
.home-equipment-catalog__image { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; height: 210px; padding: 20px; background: var(--bg); }
.home-equipment-catalog__image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.home-equipment-catalog__info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-start;
	gap: 16px;
	padding: 24px;
	min-height: 0;
}
.home-equipment-catalog__title {
	flex: 0 1 auto;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}
.home-equipment-catalog__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	width: 100%;
	box-sizing: border-box;
	min-height: 46px;
	margin-top: auto;
	padding: 12px 18px;
	border: 1px solid var(--accent);
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}
.home-equipment-catalog__card:hover .home-equipment-catalog__button { border-color: var(--accent-dark); background: var(--accent-dark); color: #fff; }
.home-equipment-catalog__dots {
	display: none;
}
@media (max-width: 990px) {
	.home-equipment-catalog__grid {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 12px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
		padding: 6px 2px 10px;
		margin: 0 -2px;
	}
	.home-equipment-catalog__grid::-webkit-scrollbar {
		display: none;
	}
	.home-equipment-catalog__card {
		box-sizing: border-box;
		flex: 0 0 calc(100% - 36px);
		width: calc(100% - 36px);
		max-width: calc(100% - 36px);
		min-width: calc(100% - 36px);
		height: auto;
		min-height: 100%;
		align-self: stretch;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		transform: none;
	}
	.home-equipment-catalog__card:hover {
		transform: none;
	}
	.home-equipment-catalog__image {
		height: 168px;
		padding: 16px;
	}
	.home-equipment-catalog__info {
		gap: 14px;
		padding: 16px;
	}
	.home-equipment-catalog__title {
		font-size: 15px;
		line-height: 1.3;
	}
	.home-equipment-catalog__button {
		min-height: 44px;
		margin-top: auto;
		font-size: 12px;
	}
	.home-equipment-catalog__dots {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 7px;
		padding: 2px 0 0;
	}
	.home-equipment-catalog__dot {
		width: 7px;
		height: 7px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: rgba(29, 29, 29, 0.22);
		cursor: pointer;
		appearance: none;
		-webkit-appearance: none;
	}
	.home-equipment-catalog__dot[aria-current="true"] {
		background: var(--accent, #eb5413);
	}
	.home-equipment-catalog__dot:focus-visible {
		outline: 2px solid var(--accent, #eb5413);
		outline-offset: 2px;
	}
}

.home-products {
	background: var(--white);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.home-products__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 4px;
}
.home-products__header h2 { margin-bottom: 8px; }
.home-products__all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex: 0 0 auto;
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	background: var(--bg);
}
.home-products__all:hover {
	border-color: var(--accent);
	color: var(--accent-dark);
	text-decoration: none;
}

.offer-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}
.offer-tabs__tab {
	appearance: none;
	cursor: pointer;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--bg);
	color: var(--ink-soft);
	font-size: 15px;
	font-weight: 700;
	padding: 10px 20px;
}
.offer-tabs__tab.is-active {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--white);
}
.offer-tabs__panel { display: none; }
.offer-tabs__panel.is-active { display: block; }
.offer-tabs__more {
	margin-top: 20px;
	text-align: center;
}
.offer-tabs__more .home-products__all {
	display: inline-flex;
}

.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	margin-top: 24px;
}
.card-placeholder {
	background: var(--white);
	border: 1px solid var(--line);
	border-top: 3px solid var(--accent);
	border-radius: var(--radius);
	padding: 22px 20px;
	box-shadow: var(--shadow);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.card-placeholder:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-lg);
}
.card-placeholder h3 { font-size: 17px; margin-bottom: 8px; }
.card-placeholder p { font-size: 13px; color: var(--ink-soft); margin: 0; }
.article-index-card {
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(29, 29, 29, 0.14);
	color: var(--ink);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.article-index-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(29, 29, 29, 0.18);
	color: var(--ink);
	text-decoration: none;
}
.article-index-card__cover { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--bg); }
/* contain (not cover): several covers are brand-logo slides (square/wide, own solid bg) that
   cover crops into unreadable tight text; contain always shows the full image, letterboxed on
   var(--bg) when the source aspect isn't already ~3:2 -- near-invisible on the lifestyle photos,
   which are already close to 3:2. */
.article-index-card__cover img { width: 100%; height: 100%; object-fit: contain; display: block; }
.article-index-card__body { display: block; padding: 18px 20px 22px; }
.article-index-card__date { display: block; font-size: 12px; color: var(--ink-soft); margin-bottom: 6px; }
.article-index-card h3 { font-size: 16px; line-height: 1.3; margin: 0 0 8px; }
.article-index-card__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ink-soft);
}

/* Pagination -- the_posts_pagination() default markup, used on /stati/ (category.php). */
.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 32px;
	flex-wrap: wrap;
}
.nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: var(--button-radius);
	background: #fff;
	border: 1px solid var(--line);
	color: var(--ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.nav-links .page-numbers:hover {
	background: var(--bg);
	text-decoration: none;
	color: var(--ink);
}
.nav-links .page-numbers.current {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
	cursor: default;
}
.nav-links .page-numbers.dots {
	background: transparent;
	border: none;
	min-width: auto;
	padding: 0 4px;
	color: var(--ink-soft);
}
.nav-links .prev.page-numbers,
.nav-links .next.page-numbers {
	background: var(--accent-dark);
	border-color: var(--accent-dark);
	color: #fff;
	font-weight: 600;
}
.nav-links .prev.page-numbers:hover,
.nav-links .next.page-numbers:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

/* P0-PR-1 pi=12: production-shaped "Полезные материалы" cards. */
.home-materials { background: #fff; }
.home-materials h2 { margin-bottom: 33px; }
.home-materials__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-materials__card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 4px 18px rgba(29, 29, 29, 0.14); color: var(--ink); }
.home-materials__card:hover { color: var(--ink); text-decoration: none; }
.home-materials__image { display: block; height: 176px; overflow: hidden; }
.home-materials__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-materials__title { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 124px; padding: 28px 40px 32px; font-size: 16px; font-weight: 700; line-height: 1.25; text-transform: uppercase; }
.home-materials__arrow { display: flex; flex: 0 0 40px; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: #fff; transition: transform .3s ease, background-color .3s ease; }
.home-materials__card:hover .home-materials__arrow { transform: rotate(180deg); background: var(--accent-dark); }
@media (max-width: 990px) {
	.home-materials__grid { grid-template-columns: minmax(0, 1fr); }
	.home-materials__title { min-height: 0; padding: 24px; }
}
/* OWNER 2026-09-27: home showcase v2 — rubric, excerpt, hub button. */
.home-materials__card--v2 { transition: box-shadow .3s ease, transform .3s ease; }
.home-materials__card--v2:hover { box-shadow: 0 10px 28px rgba(29, 29, 29, 0.18); transform: translateY(-2px); }
.home-materials__card--v2 .home-materials__image { height: 200px; background: #f4f5f7; }
.home-materials__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 12px; padding: 24px 32px 32px; }
.home-materials__rubric { align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: rgba(235, 84, 19, 0.1); color: var(--accent-dark); font-size: 13px; font-weight: 700; line-height: 1.4; }
.home-materials__card--v2 .home-materials__title { min-height: 0; padding: 0; }
.home-materials__excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; color: #5b5b5b; font-size: 15px; line-height: 1.45; }
.home-materials__more { display: flex; justify-content: center; margin-top: 36px; }
@media (max-width: 990px) {
	.home-materials__body { padding: 20px 24px 24px; }
	.home-materials__card--v2 .home-materials__image { height: 180px; }
}
@media (max-width: 767px) {
	.home-materials__more .btn-primary { width: 100%; }
}
.card-placeholder__logo { display: block; height: 40px; margin-bottom: 14px; }
.card-placeholder__logo img { max-height: 100%; max-width: 140px; width: auto; height: auto; object-fit: contain; }
.card-placeholder--operator {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	gap: 18px;
	min-height: 132px;
	text-decoration: none;
	color: inherit;
}
.card-placeholder--operator:hover,
.card-placeholder--operator:focus-visible {
	text-decoration: none;
	color: inherit;
}
.card-placeholder--operator .card-placeholder__logo {
	margin-bottom: 0;
}
/* Explicit CTA — replaces grey text link; keeps site outline button language, compact for cards. */
.card-placeholder__cta.btn-outline {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	font-size: 13px;
	line-height: 1.2;
	text-align: center;
	pointer-events: none; /* whole card is the hit target */
}

/* Home hero — production layout (main_template_modern_2 + ms_odds), SF-20260711-02. */
.hero-shell {
	padding-top: 24px;
	padding-bottom: 0;
}
.hero-shell__card {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(26, 35, 50, 0.12);
	background: #fff;
}
.hero {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	min-height: 640px;
	background: #fff;
}
.hero__content {
	position: relative;
	z-index: 6;
	display: flex;
	align-items: center;
	flex: 1;
	min-height: 640px;
	padding: 48px 56px 126px;
}
.hero__media {
	position: absolute;
	top: 0;
	right: 0;
	width: 65%;
	height: 100%;
	overflow: hidden;
	padding-bottom: 126px;
	box-sizing: border-box;
}
.hero__photo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 42% 28%;
	filter: saturate(1.02) sepia(0.03) brightness(1.02);
	pointer-events: none;
}
.hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 5;
	background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 80%);
	pointer-events: none;
}
.hero__info {
	max-width: 560px;
	min-width: 0;
}
.hero h1 {
	margin: 0 0 18px;
	font-size: clamp(30px, 3.6vw, 46px);
	line-height: 1.08;
	font-weight: 700;
	color: var(--ink);
	text-transform: uppercase;
	letter-spacing: -0.01em;
}
.hero p {
	margin: 0 0 28px;
	max-width: 52ch;
	font-size: 16px;
	line-height: 1.55;
	color: var(--ink-soft);
}
.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	align-items: center;
}
.hero-actions .btn-primary {
	padding: 14px 28px;
	font-size: 14px;
	font-weight: 700;
}
.hero-actions .btn-secondary--outline {
	border: 2px solid var(--accent);
	background: #fff;
	color: var(--accent);
	border-radius: var(--button-radius);
	padding: 12px 26px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}
.hero-actions .btn-secondary--outline:hover {
	background: rgba(235, 84, 19, 0.06);
	color: var(--accent-dark);
	text-decoration: none;
}
.hero-usp {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 15;
	width: 100%;
	padding: 18px 24px 20px;
	background: var(--messenger, #dc2f2f);
	color: #fff;
}
.hero-usp__track {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px 16px;
}
.hero-usp__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
}
.hero-usp__number {
	flex-shrink: 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
}
.hero-usp__text {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}
.hero-usp__dots {
	display: none;
}

.usp-band {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	padding: 24px 0;
}
.usp-band__number {
	font-size: 32px;
	font-weight: 700;
	color: var(--accent);
	line-height: 1;
	margin-bottom: 8px;
}
.usp-band__text { color: var(--ink-soft); font-size: 15px; line-height: 1.4; }

@media (max-width: 990px) {
	.hero {
		min-height: 360px;
	}
	.hero__content {
		align-items: flex-start;
		min-height: 360px;
		/* T-367: reclaim the vertical room the dynamic OWNER-locked legal strip eats from the
		   fixed-bottom stack, so the hero CTAs stay clear of the cookie banner on short
		   viewports (375x812) without shrinking legal text or the banner itself. */
		padding: max(96px, calc(150px - (var(--site-legal-h, 35px) - 35px) - 6px)) 20px 118px;
	}
	.hero__media {
		top: 0;
		right: auto;
		left: 0;
		width: 100%;
		height: 40%;
		padding-bottom: 0;
	}
	.hero__photo {
		object-position: 72% 22%;
	}
	.hero__media::after {
		display: none;
	}
	.hero__media::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 5;
		background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
		pointer-events: none;
	}
	.hero__info {
		max-width: none;
		text-align: center;
	}
	.hero h1 {
		font-size: 27px;
		line-height: 1.12;
	}
	.hero p {
		font-size: 15px;
		font-weight: 300;
		margin-left: auto;
		margin-right: auto;
	}
	.hero-actions {
		justify-content: center;
	}
	.hero-actions .btn-primary,
	.hero-actions .btn-secondary--outline {
		width: 50%;
		justify-content: center;
	}
	.hero-usp {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 12px 0 10px;
	}
	.hero-usp__track {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
	}
	.hero-usp__track::-webkit-scrollbar {
		display: none;
	}
	.hero-usp__item {
		box-sizing: border-box;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		padding: 0 20px;
		align-items: center;
		justify-content: center;
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}
	.hero-usp__number {
		font-size: 32px;
		margin-right: 0;
	}
	.hero-usp__text {
		min-width: 0;
		max-width: 18em;
		font-size: 12px;
		line-height: 1.35;
		text-align: left;
	}
	.hero-usp__text br {
		display: revert;
	}
	.hero-usp__dots {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 7px;
		padding: 8px 0 0;
	}
	.hero-usp__dot {
		width: 7px;
		height: 7px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.4);
		cursor: pointer;
		appearance: none;
		-webkit-appearance: none;
	}
	.hero-usp__dot[aria-current="true"] {
		background: #fff;
	}
	.hero-usp__dot:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 2px;
	}
	.usp-band { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; }
}
@media (max-width: 480px) {
	.usp-band { grid-template-columns: 1fr; gap: 16px; }
}

@media (max-width: 720px) {
	.hero-shell {
		padding-top: 16px;
	}
	.hero-shell__card {
		border-radius: 16px;
	}
	.hero__content {
		/* T-367: same dynamic reclaim as the 990px rule above, kept in sync since this
		   breakpoint re-declares its own top padding. */
		padding: max(96px, calc(150px - (var(--site-legal-h, 35px) - 35px) - 6px)) 18px 96px;
	}
	.hero h1 {
		font-size: 27px;
		line-height: 1.12;
	}
	.hero-actions {
		flex-direction: column;
		width: 100%;
	}
	.hero-actions .btn-primary,
	.hero-actions .btn-secondary--outline {
		width: 100%;
		justify-content: center;
	}
	.hero-usp__text {
		min-width: 200px;
		font-size: 13px;
	}
	.section { padding-top: 32px; padding-bottom: 32px; }
	.home .section { padding-top: 32px; padding-bottom: 32px; }
	.home .section h2 {
		font-size: 27px;
		line-height: 33.75px;
		margin-bottom: 30px;
	}
	/* T-216 tracking reverify: keep the shared lead-form title out of the later generic home
	   heading override; category already receives these component-owned mobile values. */
	.home .home-lead-form__content .home-lead-form__title {
		margin-bottom: 24px;
		font-size: 29px;
		line-height: 1.12;
	}
	.home-products__header { align-items: flex-start; flex-direction: column; }
	.home-products__all { width: 100%; }
}

/* WooCommerce product loop — Phase 4 product card
   OWNER 2026-07-27: desktop default 3 columns (was 4). Mobile ≤1024 / ≤640 unchanged.
   Home showcase keeps 4-col below. Ribbons stay opt-in via ?card_grid=3hit. */
.products,
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	clear: none;
}

/* Home offer-tabs / home-products: 4-col ONLY on desktop.
   On tablet/phone cards stack vertically (1 col) — same as before the
   always-on 4-col rule leaked into mobile. */
@media (min-width: 1025px) {
	.home-products .products,
	.home-offer-tabs .products,
	.home .home-products .woocommerce ul.products,
	.home .home-offer-tabs .woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.home-products .products,
	.home-offer-tabs .products,
	.home .home-products .woocommerce ul.products,
	.home .home-offer-tabs .woocommerce ul.products {
		grid-template-columns: 1fr !important;
		gap: 16px;
	}
}

/* Confirmed via real rendered DOM inspection (Puppeteer): WooCommerce's own
   clearfix rule — `.woocommerce ul.products::before,::after{content:" ";
   display:table}` — generates real boxes that CSS Grid treats as actual grid
   items (a "phantom" first item), shifting every real product over by one
   grid cell and wrapping the last one to a new row. This was the true cause
   of the "first card in column 2 / last card drops to row 2" bug — not a
   float/list-item issue. Removing the generated content neutralizes it. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}

/* Neutralize WooCommerce core's classic float/percentage-width columns
   (woocommerce-layout.css sets width:22.05%/float:left on li.product at the
   same selector specificity; woocommerce-smallscreen.css additionally forces
   clear:both / float / width:48% on ≤768px via a higher-specificity
   [class*=columns-] attribute selector). !important beats specificity
   regardless of selector, so this reset wins in all of those cases.
   display:block is required because <li> defaults to display:list-item,
   which some browsers do not blockify reliably as a grid item — without
   this reset a product can silently drop out of the row (observed in
   Phase 4.2 owner visual check). */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: block !important;
	width: auto !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	min-width: 0 !important;
}

.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.first,
.woocommerce-page ul.products li.product.last {
	clear: none !important;
	float: none !important;
	margin: 0 !important;
}

.product-card { list-style: none; }
.product-card__inner {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.product-card__inner:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }

.product-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	aspect-ratio: 600 / 354;
	background: #f5f7fb;
	overflow: hidden;
	padding: 0;
}
.product-card__image img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

.product-card__image--cover img {
	height: 100%;
	max-height: none;
	object-fit: cover;
}

.product-card__body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.product-card__title { font-size: 16px; margin: 0; }
.product-card__title a { color: var(--ink); }
.product-card__title a:hover { color: var(--accent); text-decoration: none; }

/* T-256 -- OWNER [49] category card canon (V1 C2-clean / V2 C4). */
.product-card__operator { display: flex; align-items: center; min-height: 18px; }
.product-card__operator img { height: 18px; width: auto; max-width: 76px; object-fit: contain; object-position: left; }

.product-card__fee-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.product-card__fee-amount { font-size: 14px; font-weight: 700; color: var(--ink); }
.product-card__fee-label { font-size: 11px; color: var(--ink-soft); }

.product-card__sim-price-label {
	flex: 1 0 100%;
	font-size: 12px;
	font-weight: 400;
	color: var(--ink-soft);
	line-height: 1.2;
}

.stock-row { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; }
.stock-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex: none; }
.stock-row--in { color: #237a47; } /* T-353 P1-A: was 3.41:1 */
.stock-row--in .stock-dot { background: #237a47; }
.stock-row--oos { color: var(--ink-soft); }
.stock-row--oos .stock-dot { background: #97a1ad; }

.product-card__discount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: rgba(234, 119, 66, 0.1);
	color: #ad3b0a;
	font-size: 14px;
	font-weight: 500;
	padding: 4px 8px;
	margin-left: auto;
	flex: 0 0 auto;
}

/* T-288: label on its own row; keep sale figures from wrapping mid-number (1 / 000). */
.product-card__prices {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 10px;
}
.product-card__price-sim {
	font-size: 18px;
	font-weight: 800;
	color: var(--ink);
	display: inline-flex;
	align-items: baseline;
	flex-wrap: nowrap;
	gap: 8px;
	min-width: 0;
	max-width: 100%;
}
.product-card__price-sim del,
.product-card__price-sim ins,
.product-card__price-sim .woocommerce-Price-amount {
	white-space: nowrap;
}
.product-card__price-sim .woocommerce-Price-amount { font-weight: 800; }
.product-card__price-sim del { font-size: 14px; font-weight: 600; color: var(--ink-soft); }
.product-card__price-sim ins { text-decoration: none; }
.product-card__price-fee { font-size: 13px; color: var(--ink-soft); }

.product-card__note { font-size: 12px; color: var(--ink-soft); margin: 0; line-height: 1.4; }

.product-card__cta { margin-top: auto; padding-top: 8px; }
/* T-280: shared WC-button-specificity override for product-card CTA and product-hero CTA
   (WooCommerce's own `.woocommerce a.button` / `button.button.alt` rules otherwise win
   regardless of load order -- confirmed via computed style, button rendered Woo's default
   gray/purple until these !important properties were added). Layout-specific properties
   (size/padding/flex) stay on each selector below; only the identical override properties
   are merged here. */
.product-card__cta .button,
.product-hero__cta .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: var(--accent-dark) !important; /* T-353 P1-A */
	color: #fff !important;
	border: none !important;
	border-radius: var(--button-radius) !important;
	text-decoration: none;
	cursor: pointer;
}
.product-card__cta .button:hover,
.product-hero__cta .single_add_to_cart_button:hover {
	background: var(--accent-darker) !important;
	color: #fff !important;
}
.product-card__cta .button {
	width: 100%;
	padding: 12px 18px !important;
	font-size: 16px !important; /* T-353 P1-C */
	font-weight: 700 !important;
	text-transform: uppercase !important;
}
.product-card.outofstock .product-card__inner { opacity: 0.92; box-shadow: var(--shadow-sm); }
.product-card.outofstock .product-card__inner:hover { transform: none; }
.product-card__stock-badge { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; color: #8a4b12; }
.product-card--tariff-archived .product-card__inner { background: #f8fafc; border-color: #d8dee8; box-shadow: var(--shadow-sm); }
.product-card--tariff-archived .product-card__inner:hover { transform: none; }
.product-card__stock-badge--archived { color: #5f6875; }
.product-card__details-link.button { background: #fff !important; color: var(--ink-soft) !important; border: 1px solid var(--border, #d8dee8) !important; box-shadow: none !important; }
.product-card__details-link.button:hover { background: #f8fafc !important; color: var(--ink) !important; }



@media (max-width: 1024px) {
	.products,
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 640px) {
	.products,
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: 1fr;
		gap: 16px;
	}

/* Phase 4.4: square 1:1 image ate most of the first screen on a
	   full-width mobile card. Use a wider ratio (~200px tall at this
	   card width) instead of a fixed height — an explicit height here
	   triggered a paint bug in headless/software-rendered Chromium
	   (image color bled past its box into the card body below); a pure
	   aspect-ratio override, same as the working desktop rule, does not. */
	.product-card__image {
		aspect-ratio: 600 / 354;
	}
}

/* T-093 useful-services scenario quiz. */
.tariff-quiz { display: grid; gap: 20px; margin-top: 20px; }
.tariff-quiz fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.tariff-quiz legend { margin-bottom: 10px; font-size: 18px; font-weight: 700; }
.tariff-quiz__choices { display: flex; flex-wrap: wrap; gap: 10px; }
.tariff-quiz__choices label { cursor: pointer; }
.tariff-quiz__choices input { position: absolute; opacity: 0; pointer-events: none; }
.tariff-quiz__choices span { display: block; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.tariff-quiz__choices input:checked + span { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(35, 147, 228, .18); }
.tariff-quiz__choices input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 2px; }
.tariff-quiz__result { margin-top: 28px; }
.tariff-quiz__result .products { margin-top: 16px; }
/* quiz result CTAs: see .tariff-quiz__action* block below */
.tariff-quiz__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin-top: 22px; }
.tariff-quiz--teaser { margin-top: 16px; }
@media (max-width: 640px) {
	.tariff-quiz__choices { display: grid; grid-template-columns: 1fr 1fr; }
	.tariff-quiz__choices span { height: 100%; padding: 10px; }
	.tariff-quiz__actions > * { width: 100%; text-align: center; }
}

/* Shop page (woocommerce/archive-product.php) */
.shop-page { padding-top: 32px; }
.shop-breadcrumb {
	font-size: 15px;
	color: var(--ink);
	margin: 0 0 42px;
}
.shop-breadcrumb a { color: rgba(0, 0, 0, 0.7); }
.shop-breadcrumb a:hover { color: var(--accent); }
.shop-breadcrumb .breadcrumb-ellipsis { cursor: help; border-bottom: 1px dotted rgba(0, 0, 0, 0.35); }

.shop-title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
	margin: 27px 0;
}
.shop-title { font-size: 40px; margin: 0; }
.shop-title__count { font-size: 24px; font-weight: 400; color: var(--ink-soft); }
.shop-intro { color: var(--ink-soft); max-width: 60ch; margin: 0 0 16px; }

.shop-scenario-phrase {
	display: inline-block;
	background: rgba(235, 84, 19, 0.08);
	border: 1px solid rgba(235, 84, 19, 0.25);
	color: var(--ink);
	font-size: 14px;
	font-weight: 600;
	padding: 10px 16px;
	border-radius: 10px;
	margin: 0 0 24px;
	max-width: 60ch;
}

/* Phase 8.1 — operator quick-links on scenario hub pages (control/OWNER_QUEUE.md [5]) */
.shop-operator-quicklinks {
	font-size: 14px;
	color: var(--ink-soft);
	margin: -12px 0 24px;
}
.shop-operator-quicklinks a { color: var(--blue); font-weight: 600; }
.shop-operator-quicklinks a:hover { color: var(--accent); }

/* T-233: query-only hubs-short placement reviews on the MegaFon operator hub. */
.subcategory-cloud {
	margin: 0 0 28px;
	padding: 20px 22px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.subcategory-cloud--above { margin: 12px 0 24px; }
.subcategory-cloud--below { margin: 28px 0 0; }
.subcategory-cloud__title { margin: 0 0 14px; font-size: 20px; line-height: 1.25; }
.subcategory-cloud__items { display: flex; flex-wrap: wrap; gap: 10px; }
.subcategory-cloud__chip[hidden] { display: none; }
.subcategory-cloud__chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 9px 15px;
	border: 1px solid #d7d9df;
	border-radius: 999px;
	background: #f7f7f8;
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}
.subcategory-cloud__chip:hover,
.subcategory-cloud__chip:focus-visible { border-color: var(--accent); color: var(--accent); background: #fff8f4; text-decoration: none; }
.subcategory-cloud__toggle {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 10px 0 -8px;
	padding: 6px 2px;
	border: 0;
	background: transparent;
	color: var(--accent);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.subcategory-cloud__less { display: none; }
.subcategory-cloud__toggle[aria-expanded="true"] .subcategory-cloud__more { display: none; }
.subcategory-cloud__toggle[aria-expanded="true"] .subcategory-cloud__less { display: inline; }

@media (max-width: 640px) {
	.subcategory-cloud { padding: 18px 16px; margin-bottom: 24px; }
	.subcategory-cloud--below { margin-top: 24px; }
	.subcategory-cloud__title { font-size: 18px; }
	.subcategory-cloud__items { gap: 8px; }
	.subcategory-cloud__chip { padding: 9px 13px; font-size: 13px; }
}

/* Wave 2 dig: compact cross-operator chips on quiz matrix leaves. */
.category-cross-operators {
	margin: 20px 0 0;
	padding: 16px 18px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.category-cross-operators__title {
	margin: 0 0 12px;
	font-size: 18px;
	line-height: 1.25;
}
.category-cross-operators__items {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
@media (max-width: 640px) {
	.category-cross-operators { padding: 14px 14px; margin-top: 16px; }
	.category-cross-operators__title { font-size: 16px; }
	.category-cross-operators__items { gap: 8px; }
}

/* T-125: cross-operator unlimited alternatives on the high-traffic Yota hub. */
.yota-replacements {
	margin: 8px 0 32px;
	padding: 28px;
	background: #fff4ec;
	border: 1px solid #f5d3b8;
	border-radius: var(--radius);
}
.yota-replacements__header { max-width: 820px; margin-bottom: 24px; }
.yota-replacements__eyebrow {
	margin: 0 0 8px;
	color: var(--accent);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.yota-replacements__header h2 { margin: 0 0 10px; font-size: 30px; line-height: 1.15; }
.yota-replacements__header > p:last-child { margin: 0; color: var(--ink-soft); line-height: 1.5; }
.yota-replacements__products.products { margin: 0 0 20px; }
.yota-replacements__all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	border: 1px solid var(--accent);
	border-radius: var(--button-radius);
	color: var(--accent);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}
.yota-replacements__all:hover { background: var(--accent); color: var(--white); text-decoration: none; }

@media (max-width: 640px) {
	.yota-replacements { padding: 20px 16px; margin-bottom: 24px; }
	.yota-replacements__header h2 { font-size: 24px; }
	.yota-replacements__all { width: 100%; }
}

.shop-empty-state {
	text-align: center;
	padding: 48px 24px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	margin: 8px 0;
}
.shop-empty-state__title { font-size: 20px; margin: 0 0 8px; }
.shop-empty-state__text { color: var(--ink-soft); max-width: 50ch; margin: 0 auto 20px; }
.shop-empty-state__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--accent);
	color: #fff;
	border-radius: var(--button-radius);
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}
.shop-empty-state__cta:hover { background: var(--accent-dark); color: #fff; text-decoration: none; }
/* T-408: .content-page__body a (T-300) outranks the single-class rule above by specificity and
   repainted this button's text to var(--accent) -- the same orange as its own background,
   making the label invisible. Scope an override to win without touching the T-300 rule. */
.content-page__body .shop-empty-state__cta,
.content-page__body .shop-empty-state__cta:hover { color: #fff; text-decoration: none; }

.shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 33px;
	font-size: 15px;
	color: var(--ink);
}
.shop-toolbar .woocommerce-result-count { margin: 0; float: none; color: var(--ink-soft); }
.shop-toolbar .woocommerce-ordering {
	margin: 0;
	float: none;
	max-width: 100%;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}
.shop-toolbar__sort-label {
	font-size: 15px;
	font-weight: 400;
	color: var(--ink);
}
.shop-toolbar .woocommerce-ordering select {
	appearance: none;
	-webkit-appearance: none;
	border: none;
	border-radius: 0;
	padding: 0 18px 0 0;
	font-family: inherit; /* T-471: native select otherwise uses system UI font */
	font-size: 15px;
	color: var(--accent-dark); /* T-353 P1-A */
	background: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23EB5413' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
	cursor: pointer;
	max-width: 100%;
	min-width: 0;
}

@media (max-width: 640px) {
	.shop-title-row { margin: 12px 0 18px; }
	.shop-title { font-size: 27px; margin: 0; }
	.shop-title__count { font-size: 18px; }
	.shop-breadcrumb { font-size: 15px; margin: 0 0 24px; } /* T-505 / 2026-08-02: removed max-height/overflow clip — was hiding current page name in long bc_opt trails on mobile */
	.shop-page { padding-top: 20px; }
	/* flex-wrap was `nowrap`, written when the toolbar held only 2 children
	   (result count + sort). T-010 added a 3rd child (per-page selector),
	   and packing all 3 on one unwrapped row overflowed the 358px mobile
	   content width (measured 392px) -- confirmed via direct DOM measurement,
	   not a screenshot guess. `wrap` lets the per-page selector drop to its
	   own line instead of pushing the toolbar past the viewport edge. */
	.shop-toolbar { flex-wrap: wrap; margin: 0 0 33px; }
	.shop-toolbar__sort-label { display: none; }
	.shop-toolbar .woocommerce-ordering select,
	.shop-per-page__select {
		width: auto;
		min-height: 44px; /* T-353 P1-C */
		font-size: 16px;
		padding: 10px 22px 10px 0;
	}
}

/* Category-archive faceted filter sidebar + per-page selector (T-010,
   PHASE13_LAUNCH_PARITY_CHECKLIST.md category-page section). Production's real two-column
   layout: filter sidebar left, toolbar + product grid right. */
.shop-layout {
	display: flex;
	align-items: flex-start;
	gap: 32px;
}
.shop-main { flex: 1; min-width: 0; }

.shop-filters {
	flex: 0 0 260px;
	width: 260px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 20px;
}
.shop-filters__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 12px;
}
.shop-filters__title { font-size: 18px; margin: 0; }
.shop-filters__reset {
	font-size: 13px;
	color: var(--accent);
	text-decoration: none;
}
.shop-filters__reset:hover { text-decoration: underline; }

.shop-filters__group {
	border: none;
	border-top: 1px solid var(--line);
	margin: 0;
	padding: 14px 0;
}
.shop-filters__group:first-of-type { border-top: none; padding-top: 0; }
.shop-filters__group--range .shop-filters__group-title span { font-size: 14px; font-weight: 500; color: var(--ink); }
.shop-filters__fee-control { margin-top: 12px; }
.shop-filters__fee-slider {
	position: relative;
	height: 28px;
	margin: 0 8px 6px;
	--fee-from: 0%;
	--fee-to: 100%;
}
.shop-filters__fee-track {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(to right, var(--line) 0 var(--fee-from), var(--accent) var(--fee-from) var(--fee-to), var(--line) var(--fee-to) 100%);
	transform: translateY(-50%);
}
.shop-filters__fee-thumb {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}
.shop-filters__fee-thumb::-webkit-slider-runnable-track { height: 4px; background: transparent; }
.shop-filters__fee-thumb::-moz-range-track { height: 4px; background: transparent; }
.shop-filters__fee-thumb::-webkit-slider-thumb {
	width: 20px;
	height: 20px;
	margin-top: -8px;
	border: 2px solid var(--accent);
	border-radius: 50%;
	background: var(--white);
	box-shadow: 0 2px 6px rgba(13, 43, 94, .18);
	cursor: grab;
	pointer-events: auto;
	-webkit-appearance: none;
}
.shop-filters__fee-thumb::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: 2px solid var(--accent);
	border-radius: 50%;
	background: var(--white);
	box-shadow: 0 2px 6px rgba(13, 43, 94, .18);
	cursor: grab;
	pointer-events: auto;
}
.shop-filters__fee-thumb:focus-visible { outline: none; }
.shop-filters__fee-thumb:focus-visible::-webkit-slider-thumb { outline: 3px solid rgba(235, 84, 19, .28); outline-offset: 3px; }
.shop-filters__fee-thumb:focus-visible::-moz-range-thumb { outline: 3px solid rgba(235, 84, 19, .28); outline-offset: 3px; }
.shop-filters__range { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.shop-filters__range-input {
	width: 100%;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid var(--line);
	border-radius: 6px;
	font-size: 13px;
	font-family: inherit;
	color: var(--ink);
}
.shop-filters__range-sep { color: var(--ink-soft); flex-shrink: 0; }
.shop-filters__group-title {
	width: 100%;
	padding: 0;
	margin: 0;
}
.shop-filters__group-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ink);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}
.shop-filters__group-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.shop-filters__group-icon {
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.18s ease;
}
.shop-filters__group-toggle[aria-expanded="true"] .shop-filters__group-icon {
	transform: rotate(225deg) translate(-2px, -2px);
}
.shop-filters__group-panel { padding-top: 10px; }
.shop-filters__group-panel[hidden] { display: none; }
.shop-filters__option {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--ink-soft);
	padding: 4px 0;
	cursor: pointer;
}
.shop-filters__option input[type="checkbox"] { flex: 0 0 auto; margin: 0; }
.shop-filters__option-label { flex: 1; }
.shop-filters__count { color: var(--ink-soft); font-size: 12px; }
.shop-filters__additional {
	margin-top: 4px;
	padding-top: 14px;
	border-top: 1px dashed var(--line, #e2e2e2);
}
.shop-filters__additional-summary {
	cursor: pointer;
	font-size: 13px;
	color: var(--ink-soft);
	list-style: none;
}
.shop-filters__additional-summary::-webkit-details-marker { display: none; }
.shop-filters__additional-summary::before { content: '+ '; }
.shop-filters__additional[open] .shop-filters__additional-summary::before { content: '− '; }
.shop-filters__additional .shop-filters__group { margin-top: 10px; }
.shop-filters__submit {
	margin-top: 8px;
	width: 100%;
	background: var(--accent-dark); /* T-353 P1-A */
	color: #fff;
	border: none;
	border-radius: var(--button-radius);
	padding: 10px 16px;
	font-size: 16px; /* T-353 P1-C */
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

.shop-per-page {
	display: flex;
	align-items: center;
	gap: 6px;
}
.shop-per-page__label { font-size: 15px; color: var(--ink); }
.shop-per-page__select {
	appearance: none;
	-webkit-appearance: none;
	border: none;
	padding: 0 18px 0 0;
	font-family: inherit; /* T-471 */
	font-size: 15px;
	color: var(--accent-dark); /* T-353 P1-A */
	background: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23EB5413' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
	cursor: pointer;
}

@media (max-width: 900px) {
	.shop-layout { flex-direction: column; }
	.shop-filters { width: 100%; flex-basis: auto; }
}

@media (max-width: 640px) {
	.shop-per-page__label { display: none; }
}

/* T-190: mobile catalog filters — bottom-fixed "Фильтры" pill opening a bounded drawer
   instead of the always-open inline sidebar (T-196 CAT-M-01/02). Desktop is untouched:
   the toggle/overlay are display:none and `.shop-filters` keeps its normal sidebar layout
   above 900px. */
.shop-filters-toggle,
.shop-filters-overlay { display: none; }

@media (max-width: 900px) {
	.shop-filters-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		position: fixed;
		left: 16px;
		right: 16px;
		/* T-353 P1-B: clear legal + tab (56) + safe-area + gap; do not pad into the stack */
		bottom: calc(var(--site-legal-h, 35px) + 56px + env(safe-area-inset-bottom, 0px) + 12px);
		z-index: 125;
		min-height: 48px;
		padding: 12px 20px;
		background: var(--accent-dark); /* T-353 P1-A */
		color: #fff;
		border: none;
		border-radius: var(--button-radius);
		font: inherit;
		font-size: 16px; /* T-353 P1-C */
		font-weight: 700;
		text-transform: uppercase;
		box-shadow: 0 6px 20px rgba(13, 43, 94, .18);
		cursor: pointer;
	}
	body.mobile-nav-open .shop-filters-toggle,
	body.shop-filters-open .shop-filters-toggle,
	body.single-product .shop-filters-toggle { display: none; }
	.shop-filters-toggle__count {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 20px;
		height: 20px;
		padding: 0 5px;
		border-radius: 999px;
		background: #fff;
		color: var(--accent-dark); /* T-353 P1-A */
		font-size: 12px;
		font-weight: 800;
	}

	.shop-filters-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 140;
		background: rgba(13, 20, 32, .45);
	}
	.shop-filters-overlay[hidden] { display: none; }

	.shop-filters {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
		max-height: 85vh;
		z-index: 141;
		border-radius: 16px 16px 0 0;
		overflow-y: auto;
		visibility: hidden;
		transform: translateY(100%);
		transition: transform 0.22s ease, visibility 0.22s step-end;
		padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	}
	body.shop-filters-open .shop-filters {
		visibility: visible;
		transform: translateY(0);
		transition: transform 0.22s ease, visibility 0s step-start;
	}
	body.shop-filters-open { overflow: hidden; }
	/* T-328: reduced-motion must win over the drawer transition above. */
	@media (prefers-reduced-motion: reduce) {
		.shop-filters,
		.shop-filters-overlay,
		body.shop-filters-open .shop-filters { transition: none; }
	}
	.shop-filters__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border: none;
		background: transparent;
		color: var(--ink);
		font-size: 24px;
		line-height: 1;
		cursor: pointer;
	}

	/* CAT-M-02: bump disclosure/select touch targets to >=44x44 inside the drawer. */
	.shop-filters__group-toggle { min-height: 44px; }
	.shop-filters__group-icon { width: 10px; height: 10px; }
	.shop-filters__fee-slider { height: 44px; margin-bottom: 2px; }
	.shop-filters__fee-thumb { height: 44px; }
	.shop-filters__range-input { min-height: 44px; padding: 10px 12px; font-size: 16px; }
	.shop-filters__option { padding: 10px 0; min-height: 44px; }
	.shop-filters__option input[type="checkbox"] { width: 20px; height: 20px; }
}

@media (min-width: 901px) {
	.shop-filters__close { display: none; }
}

/* T-341: own-number hub filter tabs + H2 intro block. */
.own-number-hub-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
}

.own-number-hub-filter__tab {
	padding: 9px 18px;
	border: 1px solid var(--line);
	border-radius: var(--button-radius);
	background: var(--white);
	color: var(--ink-soft);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.own-number-hub-filter__tab:hover {
	border-color: var(--accent);
	color: var(--ink);
}

.own-number-hub-filter__tab.is-active {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

.own-number-hub-intro {
	max-width: 820px;
	margin: 0 0 32px;
}

.own-number-hub-intro__title {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ink);
	margin: 0 0 12px;
}

.own-number-hub-intro p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-soft);
	margin: 0 0 10px;
}

.category-seo-text {
	max-width: 980px;
	margin: 56px auto 0;
	padding-top: 48px;
	border-top: 1px solid var(--line);
	color: var(--ink);
}

.category-seo-text h2 {
	font-size: 40px;
	line-height: 50px;
	font-weight: 600;
	color: #333;
	margin: 41px 0 24px;
}

.category-seo-text p,
.category-seo-text li {
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink);
}

.category-seo-text p { margin: 0 0 18px; }

.category-seo-text ul {
	margin: 0 0 20px 22px;
	padding: 0;
}

.category-seo-text li + li { margin-top: 8px; }

/* T-115 pi=2: collapsed-by-default lower SEO text, mirroring the .home-seo-* mechanism
   and production's 390px hide_text block on category pages. */
.category-seo-text.is-collapsible .category-seo-text__body {
	position: relative;
	max-height: 390px;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.category-seo-text.is-collapsible:not(.is-expanded) .category-seo-text__body::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 120px;
	background: linear-gradient(0deg, #fff 19.65%, rgba(255, 255, 255, 0.1) 100%);
	content: "";
	pointer-events: none;
}

.category-seo-text.is-expanded .home-seo-toggle__arrow { transform: rotate(-90deg); }

.category-seo-text.is-expanded .home-seo-toggle__more { display: none; }

.category-seo-text.is-expanded .home-seo-toggle__less { display: inline; }

.category-faq {
	max-width: 100%;
	margin: 56px auto 0;
	padding-top: 48px;
	border-top: 1px solid var(--line);
}

.home-seo-text {
	max-width: 980px;
	margin: 0;
	color: var(--ink);
}

.home-seo-text p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink);
	margin: 0 0 18px;
}

.home-seo-text h3 {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 600;
	color: #333;
	margin: 32px 0 16px;
}

.home-seo-text ul {
	margin: 0 0 20px 22px;
	padding: 0;
}

.home-seo-text li {
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink);
}

.home-seo-text li + li { margin-top: 8px; }

.home-seo-section.is-collapsible .home-seo-text {
	position: relative;
	max-height: 390px;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.home-seo-section.is-collapsible:not(.is-expanded) .home-seo-text::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 120px;
	background: linear-gradient(0deg, #fff 19.65%, rgba(255, 255, 255, 0.1) 100%);
	content: "";
	pointer-events: none;
}

.home-seo-toggle {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 22px auto 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--accent);
	font: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 150%;
	text-transform: uppercase;
	cursor: pointer;
}

.home-seo-toggle:hover { opacity: 0.8; }

.home-seo-toggle__arrow {
	transform: rotate(90deg);
	transition: transform 0.2s;
}

.home-seo-section.is-expanded .home-seo-toggle__arrow { transform: rotate(-90deg); }

.home-seo-toggle__less,
.home-seo-section.is-expanded .home-seo-toggle__more { display: none; }

.home-seo-section.is-expanded .home-seo-toggle__less { display: inline; }

/* T-115 pi=4: prod consultation banner between FAQ and reviews; visual style comes from the
   shared home-consultation-banner__* rules, this wrapper only spaces it within .shop-page. */
.category-consultation-banner { margin-top: 56px; }

/* T-133: quiz teaser on operator/scenario hub "hole" categories. */
.category-quiz-teaser {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 24px 0 32px;
	padding: 28px 32px;
	border-radius: 16px;
	background: #fff4ef;
	border: 1px solid var(--line);
}

.category-quiz-teaser__copy h2 {
	margin: 0 0 6px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 700;
}

.category-quiz-teaser__copy p {
	margin: 0;
	color: var(--ink-soft);
	font-size: 15px;
}

.category-quiz-teaser__button { flex-shrink: 0; }

@media (max-width: 767px) {
	.category-quiz-teaser {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		padding: 22px;
	}
	.category-quiz-teaser__button { width: 100%; }
}

.category-device-links {
	margin: 56px 0 0;
	padding-top: 48px;
	border-top: 1px solid var(--line);
}

.category-device-links__title {
	font-size: 40px;
	line-height: 50px;
	font-weight: 600;
	text-align: center;
	margin: 0 0 41px;
}

.category-device-links__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.category-device-card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	min-height: 146px;
	padding: 24px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 8px;
	color: var(--ink);
	text-decoration: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.category-device-card:hover {
	border-color: rgba(235, 84, 19, 0.35);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
	color: var(--ink);
	text-decoration: none;
	transform: translateY(-2px);
}

.category-device-card__icon {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
}

.category-device-card__icon img {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.category-device-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.category-device-card__title {
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	color: #333;
}

.category-device-card__text {
	font-size: 15px;
	line-height: 22px;
	color: var(--ink-soft);
}

.category-reviews {
	margin: 56px 0 0;
	padding-top: 48px;
	border-top: 1px solid var(--line);
}

.category-reviews__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 32px;
}

.category-reviews__title {
	font-size: 40px;
	line-height: 50px;
	font-weight: 600;
	margin: 0 0 12px;
}

.category-reviews__lead {
	max-width: 680px;
	margin: 0;
	color: var(--ink-soft);
	font-size: 16px;
	line-height: 1.6;
}

.category-reviews__link {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 700;
	color: var(--accent);
	text-transform: uppercase;
	text-decoration: none;
}

.category-reviews__link:hover {
	color: var(--accent-dark);
	text-decoration: none;
}

.category-reviews__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px) {
	.category-device-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.category-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.category-seo-text {
		margin-top: 40px;
		padding-top: 36px;
	}

	.category-seo-text h2 {
		font-size: 27px;
		line-height: 33.75px;
		margin: 30px 0 18px;
	}

	.category-seo-text p,
	.category-seo-text li {
		font-size: 15px;
		line-height: 1.65;
	}

	.home-seo-text h3 {
		font-size: 20px;
		margin: 24px 0 12px;
	}

	.home-seo-text p,
	.home-seo-text li {
		font-size: 15px;
		line-height: 1.65;
	}

	.category-device-links,
	.category-reviews {
		margin-top: 40px;
		padding-top: 36px;
	}

	.category-device-links__title,
	.category-reviews__title {
		font-size: 27px;
		line-height: 33.75px;
		margin-bottom: 30px;
	}

	.category-reviews__header {
		display: block;
		margin-bottom: 24px;
	}

	.category-reviews__lead {
		font-size: 15px;
	}

	.category-reviews__link {
		display: inline-flex;
		margin-top: 16px;
	}

	.category-reviews__grid,
	.category-device-links__grid { grid-template-columns: 1fr; }

	.category-device-card {
		min-height: 0;
		padding: 20px;
	}
}

/* Single product (woocommerce/single-product.php) */
.product-page { padding-top: 32px; }

.product-hero {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	grid-template-areas: "media info";
	column-gap: 64px;
	margin: 20px 0 72px;
	align-items: start;
}

.product-hero__media {
	grid-area: media;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}
.product-hero__media-frame {
	position: relative;
	aspect-ratio: 4 / 3;
	max-height: 420px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
}
.product-hero__media-img {
	/* Fill padded box; aspect-ratio:auto beats HTML width/height attrs that inflate height */
	position: absolute;
	top: 16px;
	left: 16px;
	width: calc(100% - 32px);
	height: calc(100% - 32px);
	max-width: calc(100% - 32px);
	max-height: calc(100% - 32px);
	aspect-ratio: auto;
	object-fit: contain;
	object-position: center;
	padding: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease;
}
.product-hero__media-img.is-active { opacity: 1; visibility: visible; }

/* Hybrid C gallery lightbox (OWNER 2026-08-06) */
.product-hero__media[data-gallery-lightbox="1"] .product-hero__media-frame--zoomable {
	cursor: zoom-in;
}
.product-hero__media[data-gallery-lightbox="1"]:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 3px;
	border-radius: var(--radius);
}
.product-hero__zoom {
	appearance: none;
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 2;
	width: 40px;
	height: 40px;
	border: 1px solid var(--line);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	color: var(--ink);
	cursor: zoom-in;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.product-hero__zoom:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.product-hero__zoom:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}
.product-hero__zoom-icon {
	display: block;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-radius: 50%;
	position: relative;
}
.product-hero__zoom-icon::after {
	content: "";
	position: absolute;
	right: -5px;
	bottom: -3px;
	width: 7px;
	height: 2px;
	background: currentColor;
	transform: rotate(45deg);
	border-radius: 1px;
}

.product-gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 16px calc(16px + var(--site-legal-h, 35px));
	box-sizing: border-box;
}
.product-gallery-lightbox[hidden] {
	display: none !important;
}
.product-gallery-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 18, 25, 0.78);
}
.product-gallery-lightbox__panel {
	position: relative;
	z-index: 1;
	width: min(1100px, 100%);
	max-height: min(92vh, 920px);
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto 1fr;
	gap: 8px 4px;
	align-items: center;
}
.product-gallery-lightbox__top {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: #fff;
}
.product-gallery-lightbox__counter {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.product-gallery-lightbox__close {
	appearance: none;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}
.product-gallery-lightbox__close:hover {
	background: rgba(255, 255, 255, 0.24);
}
.product-gallery-lightbox__figure {
	margin: 0;
	grid-column: 2;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.product-gallery-lightbox__img {
	display: block;
	max-width: 100%;
	max-height: min(78vh, 820px);
	width: auto;
	height: auto;
	object-fit: contain;
	background: #fff;
	border-radius: 12px;
}
.product-gallery-lightbox__caption {
	margin: 0;
	max-width: 52rem;
	color: #f3f4f6;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}
.product-gallery-lightbox__nav {
	appearance: none;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	align-self: center;
}
.product-gallery-lightbox__nav:hover {
	background: rgba(255, 255, 255, 0.24);
}
.product-gallery-lightbox__nav[hidden] {
	visibility: hidden;
	pointer-events: none;
}
.product-gallery-lightbox__nav--prev { grid-column: 1; grid-row: 2; }
.product-gallery-lightbox__nav--next { grid-column: 3; grid-row: 2; }
body.product-gallery-lightbox-open {
	overflow: hidden;
}
@media (max-width: 700px) {
	.product-gallery-lightbox__panel {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto auto;
	}
	.product-gallery-lightbox__figure { grid-column: 1; }
	.product-gallery-lightbox__nav--prev,
	.product-gallery-lightbox__nav--next {
		grid-column: 1;
		grid-row: auto;
		justify-self: center;
	}
	.product-gallery-lightbox {
		padding-bottom: calc(24px + var(--site-legal-h, 35px) + 64px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.product-hero__media-img {
		transition: none;
	}
}

.product-hero__media-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
}
.product-hero__media-arrow {
	appearance: none;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--line);
	background: var(--white);
	color: var(--ink);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.product-hero__media-arrow:hover { border-color: var(--accent); color: var(--accent); }
.product-hero__media-dots { display: flex; align-items: center; gap: 8px; }
.product-hero__media-dot {
	appearance: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: var(--line);
	cursor: pointer;
}
.product-hero__media-dot.is-active { background: var(--accent); }
.product-hero__media-arrow:focus-visible,
.product-hero__media-dot:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

/* T-306: mobile hit areas; soft segmented tabs keep centered cells (OWNER 2026-07-31). */
@media (max-width: 900px) {
	.product-tabs__tab {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
	}
	.product-hero__media-arrow {
		position: relative;
		width: 44px;
		height: 44px;
		border: none;
		background: transparent;
		border-radius: 50%;
		z-index: 0;
	}
	/* keep the approved 32×32 circle as a non-interactive paint layer */
	.product-hero__media-arrow::before {
		content: "";
		position: absolute;
		inset: 6px;
		border-radius: 50%;
		border: 1px solid var(--line);
		background: var(--white);
		z-index: -1;
		pointer-events: none;
		transition: border-color 0.15s ease;
	}
	.product-hero__media-arrow:hover::before {
		border-color: var(--accent);
	}
	/* Visual 8px dots with ~8px gap; ::before expands tap target to ~44px without spreading layout. */
	.product-hero__media-dots {
		gap: 8px;
	}
	.product-hero__media-dot {
		position: relative;
		width: 8px;
		height: 8px;
		flex: 0 0 8px;
		background: var(--line);
	}
	.product-hero__media-dot.is-active {
		background: var(--accent);
	}
	.product-hero__media-dot::before {
		content: "";
		position: absolute;
		inset: -18px;
	}
	.product-hero__media-dot::after {
		content: none;
	}
}

.product-hero__info { grid-area: info; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.product-hero__title { font-size: 40px; line-height: 1.2; margin: 0; }
.product-partner { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-height: 34px; color: var(--ink-soft); font-size: 13px; }
.product-partner__label { white-space: nowrap; }
.product-partner__brand { display: inline-flex; align-items: center; gap: 7px; color: var(--partner-color, var(--ink)); }
.product-partner__brand strong { font-size: 14px; font-weight: 700; }
.product-partner__logo { display: block; width: 24px; height: 24px; object-fit: contain; }
.product-partner__monogram { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 5px; border-radius: 999px; background: var(--partner-color, var(--ink)); color: #fff; font-size: 9px; font-weight: 800; line-height: 1; }
.product-hero__sku { color: var(--ink-soft); font-size: 13px; }

.own-number-clarity {
  display: grid;
  gap: 3px;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--blue) 32%, white);
  border-radius: 10px;
  background: color-mix(in srgb, var(--blue) 8%, white);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.4;
}
.own-number-clarity strong { color: var(--blue); }
.own-number-clarity--transition {
  border-color: color-mix(in srgb, var(--accent) 38%, white);
  background: color-mix(in srgb, var(--accent) 8%, white);
}
.own-number-clarity--transition strong { color: var(--accent-dark); }
.own-number-fold {
  margin: 8px 0 0;
  padding: 0 0 0 18px;
  display: grid;
  gap: 4px;
  font-size: 13px;
  line-height: 1.4;
}
.own-number-fold a { color: inherit; text-decoration: underline; }
.own-number-twin {
  display: grid;
  gap: 3px;
  margin: 10px 0 0;
  padding: 10px 13px;
  border: 1px dashed color-mix(in srgb, var(--ink) 18%, white);
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.4;
}
.own-number-twin a { color: var(--accent); }
.own-number-regions {
  display: grid;
  gap: 3px;
  margin: 10px 0 0;
  padding: 10px 13px;
  border: 1px dashed color-mix(in srgb, var(--ink) 18%, white);
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.4;
}
.own-number-regions a { color: var(--accent); }
.own-number-regions__list {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.35;
  color: var(--ink-soft);
}
.product-hero__key-specs { border-top: 1px solid var(--line); }
.product-hero__key-spec { display: grid; grid-template-columns: minmax(140px, .42fr) minmax(0, 1fr); gap: 20px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.product-hero__key-spec span { color: var(--ink-soft); }
.product-hero__key-spec strong { font-weight: 500; overflow-wrap: anywhere; }

.product-hero__specs-link {
	font-size: 13px;
	color: var(--accent);
	text-decoration: underline;
	align-self: flex-start;
}
.product-hero__specs-link:hover { color: var(--accent-dark); }

.product-hero__prices {
	display: block;
	margin: 2px 0;
}
.product-hero__price-row {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 4px 18px;
	padding: 0;
}
.product-hero__price-row + .product-hero__price-row { border-top: 1px dashed var(--line); }
.product-hero__discount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: rgba(234, 119, 66, 0.1);
	color: #ad3b0a;
	font-size: 14px;
	font-weight: 500;
	padding: 4px 8px;
}
.product-hero__price-label {
	display: none;
	font-size: 12px;
	color: var(--ink-soft);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.product-hero__price-value { font-size: 23px; font-weight: 800; color: var(--ink); }
.product-hero__price-value .woocommerce-Price-amount { font-weight: 800; }
.product-hero__price-value del { margin-right: 12px; }

.product-price-explainer {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 2px;
	padding: 13px 15px;
	border: 1px solid #f3d99a;
	border-radius: 12px;
	background: #fff6e8;
	color: #6b4b12;
	font-size: 13px;
	line-height: 1.45;
}
.product-price-explainer__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
	font-weight: 800;
}
.product-price-explainer p { margin: 2px 0 0; }
.product-price-explainer strong { color: #4a3300; }

.product-hero__note { font-size: 13px; color: var(--ink-soft); margin: 0; }

/* T-198: purchase row (qty + primary + secondary) reads as one aligned band -- shared
   height/radius system so the WooCommerce quantity input, the accent primary button, and
   the ask-question secondary button no longer look like three unrelated controls. */
.product-hero__cta { display: flex; align-items: stretch; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.product-hero__cta .cart { display: flex; align-items: stretch; gap: 10px; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; }
.product-hero__cta .quantity .qty {
	width: 64px;
	height: 48px;
	padding: 0 10px;
	border: 1px solid var(--line);
	border-radius: 10px;
	font-size: 16px; /* T-353 P1-C */
	text-align: center;
	flex: 0 0 auto;
}
/* T-280: shared display/color/border override now lives with .product-card__cta
   .button above (~line 2326); this is the single-product-page instance's remaining
   layout-specific properties only. */
.product-hero__cta .single_add_to_cart_button {
	height: 48px;
	padding: 0 24px !important;
	font-size: 16px; /* T-353 P1-C */
	font-weight: 700;
	text-transform: uppercase;
	font-family: "Jost", sans-serif !important;
	flex: 1 1 200px;
}

/* Secondary "Задать вопрос" trigger: prod shows it as a muted grey-fill/bordered pill
   sharing the primary's height/radius system, not the site-wide text-link `.btn-secondary`
   style used elsewhere (footer/quiz/archived-replacement CTAs) -- scoped to this row only. */
.product-hero__cta .ask-question__trigger {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 20px !important;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #f4f4f4;
	color: var(--accent-dark); /* T-353 P1-A */
	font-size: 16px; /* T-353 P1-C */
	font-weight: 600;
	text-transform: none;
	text-decoration: none !important;
	white-space: normal;
	flex: 0 0 auto;
}
.product-hero__cta .ask-question__trigger:hover { background: #ececec; border-color: #cfcfcf; color: var(--accent-darker); }

@media (max-width: 480px) {
	.product-hero__cta .cart { flex-basis: 100%; }
	.product-hero__cta .single_add_to_cart_button { flex-basis: 100%; }
	.product-hero__cta .ask-question__trigger { flex: 1 1 100%; }
}

.product-sticky-purchase { display: none; }

/* T-227: owner-review T6 hero pilot. Every rule is exact-modifier scoped; catalog SIMs retain
   the shared T-224 presentation until a separate owner-approved rollout exists. */
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__info { gap: 11px; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__eyebrow { color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__trust-zone { gap: 8px 12px; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__rating { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; padding: 5px 9px; border: 1px solid #f2d9b2; border-radius: 8px; background: #fffaf2; color: var(--ink); font-size: 12px; line-height: 1.3; text-decoration: none; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__rating strong { color: #925100; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__rating span { color: var(--ink-soft); }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__rating b { color: var(--accent-dark); white-space: nowrap; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__price-label { display: block; flex-basis: 100%; margin-bottom: 1px; text-transform: none; letter-spacing: 0; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__fee-note { padding: 10px 12px; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__fee-note p { margin: 0; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__signals { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; font-weight: 650; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__stock { display: inline-flex; align-items: center; gap: 7px; color: #237a47; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__stock::before { width: 8px; height: 8px; border-radius: 50%; background: currentColor; content: ""; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__stock--oos { color: var(--accent-dark); }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta { display: grid; grid-template-columns: 58px minmax(0, 1fr) minmax(0, 1fr); gap: 9px; align-items: stretch; }
/* T-354: OOS T6 hero has no qty/buy — ask CTA must not sit in the 58px qty column. */
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--oos {
	grid-template-columns: minmax(0, 1fr);
	max-width: 360px;
}
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--oos .ask-question__trigger {
	width: 100%;
}
@media (max-width: 640px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--oos { max-width: none; }
}

/* T-416: ?intent=consult sole primary CTA — same single-column escape as OOS (T-354).
   Also restore primary orange styling: scoped .ask-question__trigger rules otherwise force
   the muted grey secondary look even when the trigger carries .btn-primary. */
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--consult,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--consult {
	grid-template-columns: minmax(0, 1fr);
	max-width: 360px;
}
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--consult .ask-question__trigger,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--consult .ask-question__trigger {
	width: 100%;
}
.product-hero__cta--consult .ask-question__trigger.btn-primary {
	background: var(--accent-dark);
	border: none;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
}
.product-hero__cta--consult .ask-question__trigger.btn-primary:hover {
	background: var(--accent-darker);
	border: none;
	color: #fff;
}

/* Archived PDP «Подобрать замену»: same single-column + primary CTA escape as T-416 consult.
   Without this, T6 3-col grid + text-link .btn-secondary leave an orange uppercase label. */
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--replacement,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--replacement {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	grid-template-columns: none;
	max-width: 520px;
}
.product-hero__cta--replacement .ask-question__trigger.btn-primary {
	background: var(--accent-dark);
	border: none;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
	height: 48px;
	padding: 0 20px !important;
	border-radius: 10px;
	flex: 1 1 auto;
	min-width: 180px;
}
.product-hero__cta--replacement .ask-question__trigger.btn-primary:hover {
	background: var(--accent-darker);
	border: none;
	color: #fff;
}
.product-hero__cta--replacement > a.btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 18px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #f4f4f4;
	color: var(--accent-dark);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none !important;
	text-transform: none;
	flex: 0 1 auto;
	white-space: nowrap;
}
.product-hero__cta--replacement > a.btn-secondary:hover {
	background: #ececec;
	border-color: #cfcfcf;
	color: var(--accent-darker);
	text-decoration: none !important;
}
@media (max-width: 640px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--replacement,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--replacement {
		max-width: none;
	}
	.product-hero__cta--replacement .ask-question__trigger.btn-primary,
	.product-hero__cta--replacement > a.btn-secondary {
		flex: 1 1 100%;
	}
}
@media (max-width: 640px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--consult,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--consult { max-width: none; }
}

.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .cart { display: contents; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .quantity,
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .single_add_to_cart_button,
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .ask-question__trigger { width: 100%; min-width: 0; height: 48px; margin: 0; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .quantity .qty { width: 100%; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .single_add_to_cart_button,
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .ask-question__trigger { padding: 0 10px !important; font-size: 16px; font-weight: 700; line-height: 1.15; text-align: center; text-transform: uppercase; white-space: normal; } /* T-353 P1-C */
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__guarantee { padding: 12px 14px; border: 1px solid #b9d7c4; border-radius: 10px; background: #f4faf6; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__guarantee strong { display: block; margin-bottom: 3px; font-size: 15px; line-height: 1.35; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__guarantee p { margin: 0; color: #3d5a48; font-size: 13px; line-height: 1.45; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__guarantee a { color: var(--accent-dark); font-weight: 700; }

/* T-375: device/hybrid-kit equipment PDP hero, same T6 shell/CSS pattern as the SIM pilot
   above but scoped to its own body class so no equipment styling leaks onto SIM pages and
   vice versa. Reuses the same t6-pilot__* class names (eyebrow/signals/guarantee) since the
   visual shell is intentionally identical — only the copy differs, handled in PHP. */
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__info { gap: 11px; }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__eyebrow { color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__signals { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; font-weight: 650; }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__stock { display: inline-flex; align-items: center; gap: 7px; color: #237a47; }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__stock::before { width: 8px; height: 8px; border-radius: 50%; background: currentColor; content: ""; }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__stock--oos { color: var(--accent-dark); }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__guarantee { padding: 12px 14px; border: 1px solid #b9d7c4; border-radius: 10px; background: #f4faf6; }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__guarantee strong { display: block; margin-bottom: 3px; font-size: 15px; line-height: 1.35; }
.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__guarantee p { margin: 0; color: #3d5a48; font-size: 13px; line-height: 1.45; }
@media (max-width: 640px) {
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__info { gap: 9px; }
	.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__signals { align-items: flex-start; flex-direction: column; gap: 5px; }
	.bezlimitik-t6-hero-device .product-hero--t6-device .t6-pilot__guarantee { padding: 10px 12px; }
}

/* T-398: device hero CTA row = same 3-col grid as SIM T6 (qty | buy | ask); compare is the panel below. */
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta { display: grid; grid-template-columns: 58px minmax(0, 1fr) minmax(0, 1fr); gap: 9px; align-items: stretch; }
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--oos {
	grid-template-columns: minmax(0, 1fr);
	max-width: 360px;
}
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--oos .ask-question__trigger { width: 100%; }
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .cart { display: contents; }
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .quantity,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .single_add_to_cart_button,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .ask-question__trigger { width: 100%; min-width: 0; height: 48px; margin: 0; }
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .quantity .qty { width: 100%; }
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .single_add_to_cart_button,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .ask-question__trigger { padding: 0 10px !important; font-size: 16px; font-weight: 700; line-height: 1.15; text-align: center; text-transform: uppercase; white-space: normal; }
@media (max-width: 640px) {
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta { grid-template-columns: 48px minmax(0, 1.2fr) minmax(0, 0.9fr); gap: 6px; }
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--oos,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--consult { grid-template-columns: minmax(0, 1fr); max-width: none; }
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .single_add_to_cart_button,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .ask-question__trigger {
		padding: 8px 16px !important;
		font-size: 13px;
		line-height: 1.25;
		white-space: normal;
		box-sizing: border-box;
		border-radius: 12px !important;
	}
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .single_add_to_cart_button,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .ask-question__trigger,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta .quantity .qty {
		height: 52px;
	}
}

/* T-229/T-234: three owner-review surfaces, isolated to the hidden T-227 pilot by its exact
   hero modifier. R1/R2 are intentionally desktop-only. On desktop JS exposes the intrinsic
   buy-column height through --t234-info-height: the media column consumes that exact height,
   so its content cannot protrude below the guarantee. R3 fills the resulting gallery viewport
   with a tall/square viewport; the rectangular SIM creative sits contained inside that window. */
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery { margin-top: 4px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fafafa; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery h2 { margin: 0 0 14px; font-size: 18px; line-height: 1.25; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery ol,
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery li { position: relative; min-width: 0; padding: 34px 10px 10px; border-radius: 9px; background: var(--white); color: var(--ink); font-size: 13px; line-height: 1.35; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery--steps ol { counter-reset: t229-step; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery--steps li { counter-increment: t229-step; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery--steps li::before { position: absolute; top: 9px; left: 10px; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--accent); color: var(--white); content: counter(t229-step); font-size: 11px; font-weight: 800; }
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery--kit li::before { position: absolute; top: 12px; left: 11px; width: 14px; height: 8px; border-bottom: 2px solid var(--accent); border-left: 2px solid var(--accent); content: ""; transform: rotate(-45deg); }
@media (min-width: 901px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot:is(.product-hero--t229-r1, .product-hero--t229-r2, .product-hero--t229-r3) .product-hero__media {
		height: var(--t234-info-height, auto);
		min-height: 0;
	}
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot:is(.product-hero--t229-r1, .product-hero--t229-r2, .product-hero--t229-r3) .product-hero__media-frame {
		flex: 1 1 0;
		min-height: 240px;
		max-height: none;
		aspect-ratio: auto;
	}
	/* OWNER skim: keep the tall/square R3 window, but seat the rectangular SIM creative
	   inside it (letterboxed) — do not full-bleed/stretch the card across the whole frame. */
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot.product-hero--t229-r3 .product-hero__media-frame {
		flex: 0 0 auto;
		height: calc(var(--t234-info-height) - 46px);
		background: var(--white);
	}
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot.product-hero--t229-r3 .product-hero__media-img {
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		width: auto;
		height: auto;
		max-width: calc(100% - 56px);
		max-height: calc(100% - 56px);
		padding: 0;
		object-fit: contain;
		object-position: center;
		transform: translate(-50%, -50%);
	}
}

@media (max-width: 640px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot { gap: 18px; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__info { gap: 9px; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__trust-zone { align-items: flex-start; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__rating { flex-basis: 100%; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__rating span { display: none; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__signals { align-items: flex-start; flex-direction: column; gap: 5px; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta { grid-template-columns: 48px minmax(0, 1.2fr) minmax(0, 0.9fr); gap: 6px; }
	/* T-416: consult has same specificity as the 3-col row — must re-assert single column here. */
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--oos,
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--consult { grid-template-columns: minmax(0, 1fr); }

	/* CTA label breathing room: was 0 4px — text hugged edges on wrap */
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .single_add_to_cart_button,
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .ask-question__trigger {
		padding: 8px 16px !important;
		font-size: 13px;
		line-height: 1.25;
		white-space: normal;
		box-sizing: border-box;
		border-radius: 12px !important;
	}
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .single_add_to_cart_button,
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .ask-question__trigger,
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta .quantity .qty {
		height: 52px;
	}
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t6-pilot__guarantee { padding: 10px 12px; }
}

@media (max-width: 900px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .t229-under-gallery { display: none; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot.product-hero--t229-r3 { align-items: start; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot.product-hero--t229-r3 .product-hero__media { height: auto; }
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot.product-hero--t229-r3 .product-hero__media-frame { flex: 0 1 auto; min-height: 0; max-height: none; aspect-ratio: 4 / 3; }
}

@media (max-width: 640px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot.product-hero--t229-r3 .product-hero__media-frame { aspect-ratio: 16 / 9; }
}

.product-hero__benefits {
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.product-hero__benefits li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-size: 13px;
	color: var(--ink-soft);
}
.product-hero__benefits li::before {
	content: "\2713";
	color: var(--accent);
	font-weight: 700;
	flex-shrink: 0;
}

.product-hero__upsell {
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px dashed var(--line);
}
.product-hero__upsell-title {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 700;
	color: var(--ink-soft);
	margin: 0 0 10px;
}
.product-hero__upsell-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.product-hero__upsell-item { flex: 1 1 140px; max-width: 180px; }
.product-hero__upsell-link {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 10px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	text-align: center;
}
.product-hero__upsell-link:hover { border-color: var(--accent); color: var(--ink); text-decoration: none; }
.product-hero__upsell-link img { border-radius: 6px; width: 100%; height: auto; }
.product-hero__upsell-name { font-size: 13px; font-weight: 600; }
.product-hero__upsell-price { font-size: 13px; color: var(--ink-soft); }

.product-hero__usage {
	grid-area: usage;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 16px 18px;
}
.product-hero__usage-title {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 700;
	color: var(--ink-soft);
	margin: 0 0 10px;
}
.product-hero__usage-chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.product-hero__usage-chips li {
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	color: var(--ink);
}

.product-details { display: flex; flex-direction: column; gap: 24px; margin-bottom: 40px; }

.product-tabs {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0 0 58px;
}
/* OWNER 2026-07-31: soft orange segmented tabs (promoted from ?tabs_ui=soft). */
.product-tabs__nav {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: stretch;
	gap: 4px;
	padding: 5px;
	margin: 0 0 24px;
	border: 1px solid rgba(0, 18, 56, 0.16);
	border-radius: 12px;
	background: #fff;
	box-shadow: inset 0 1px 2px rgba(0, 18, 56, 0.04);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.product-tabs__tab {
	appearance: none;
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 46px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid transparent;
	border-radius: 9px;
	background: transparent;
	color: #3a4660;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.25;
	text-align: center;
	text-transform: none;
	white-space: normal;
	cursor: pointer;
	box-shadow: none;
	transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.product-tabs__tab:hover {
	color: #001238;
	background: #f4f5f7;
}
.product-tabs__tab:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}
.product-tabs__tab.is-active {
	color: #001238;
	background: #ffe8de;
	border-color: rgba(240, 90, 34, 0.35);
	box-shadow: 0 1px 3px rgba(240, 90, 34, 0.18);
}
.product-tabs__tab.is-active:hover {
	color: #001238;
	background: #ffdfd0;
}
.product-tabs__panel { display: none; }
.product-tabs__panel.is-active { display: block; }

.product-tabs__panels {
	color: rgba(0, 18, 56, 0.82);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
}

.product-details__description { color: rgba(0, 18, 56, 0.82); line-height: 1.6; }
.product-details__description > :first-child { margin-top: 0; }
.product-details__description > :last-child { margin-bottom: 0; }
.product-details__description ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.product-details__description li {
	position: relative;
	margin: 0;
	padding: 0 0 0 28px;
	font-size: 14px;
	line-height: 1.55;
}
.product-details__description li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1px solid var(--accent);
	background: var(--white);
	box-shadow: inset 0 0 0 0 var(--accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23e85d04' d='M4.8 8.6 2.4 6.2l-.9.9 3.3 3.3 6.3-6.3-.9-.9z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 11px 11px;
}
.product-details__description p { margin: 0 0 16px; }

/* T-362: PDP content-table mobile containment. Post content on 6 published tariff
   products (127/248/250/252/266/268) embeds an inline <table>; wpautop mangles any
   <style> block authors put in post content into invalid CSS (literal "<br />" text
   inside the rules), so none of those per-post rules ever actually apply. Fix lives
   here instead, scoped to the two markup shapes actually in use. */
.product-details__description table {
	max-width: 100%;
	border-collapse: collapse;
}
.product-details__description table:not(.table-tariff) {
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #e5e7eb;
}
.product-details__description table:not(.table-tariff) th,
.product-details__description table:not(.table-tariff) td {
	white-space: nowrap;
}
.product-details__description table.table-tariff {
	width: 100%;
	max-width: 650px;
	margin: 0 auto 30px;
	font-size: 15px;
}
.product-details__description table.table-tariff th,
.product-details__description table.table-tariff td {
	border: 1px solid var(--accent);
	padding: 10px;
	text-align: left;
}
.product-details__description table.table-tariff th {
	background-color: var(--accent);
	color: var(--white);
	font-weight: 600;
}
@media (max-width: 768px) {
	.product-details__description table.table-tariff thead { display: none; }
	.product-details__description table.table-tariff tr {
		display: block;
		margin-bottom: 15px;
		border: 1px solid #ccc;
	}
	.product-details__description table.table-tariff td {
		display: flex;
		justify-content: space-between;
		padding: 8px 10px;
		border: none;
		border-bottom: 1px solid #eee;
	}
	.product-details__description table.table-tariff td::before {
		content: attr(data-label);
		font-weight: bold;
		color: #333;
	}
}

.product-details__delivery { color: rgba(0, 18, 56, 0.82); line-height: 1.6; }
.product-details__delivery > :first-child { margin-top: 0; }
.product-details__delivery > :last-child { margin-bottom: 0; }

.product-details__section {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 24px;
}
.product-details__section h2 { font-size: 40px; margin: 0 0 41px; }
.product-details__section p { color: var(--ink-soft); margin: 0; line-height: 1.5; }

.product-details__specs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.product-details__specs li {
	display: grid;
	grid-template-columns: minmax(160px, 0.34fr) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	font-size: 14px;
	padding: 10px 0;
	border-bottom: 1px solid var(--line);
}
.product-details__specs li:last-child { border-bottom: none; }
.product-details__specs li span:first-child { color: var(--ink-soft); }
.product-details__specs li span:last-child { font-weight: 500; color: var(--ink); text-align: left; line-height: 1.45; overflow-wrap: anywhere; }

.product-details__faq { display: flex; flex-direction: column; gap: 16px; }
.product-details__faq-item h3 { font-size: 15px; margin: 0 0 4px; }
.product-details__faq-item p { color: var(--ink-soft); margin: 0; font-size: 14px; line-height: 1.5; }

.product-landing { display: flex; flex-direction: column; gap: 24px; margin-bottom: 40px; }
.product-faq, .product-reviews { margin: 0 0 40px; }
.product-reviews .category-reviews__title { font-size: 40px; }
.product-reviews { padding: 0; }
@media (max-width: 767px) {
	.product-reviews .category-reviews__title { font-size: 30px; }
}
.product-landing__section {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 24px;
}
.product-landing__section h2 { font-size: 40px; margin: 0 0 41px; }
.product-landing__section ul,
.product-landing__section ol { margin: 0; padding-left: 20px; color: var(--ink-soft); line-height: 1.6; }
.product-landing__section .product-landing__feature-list { list-style: none; counter-reset: tariff-feature; margin: 0; padding: 0; display: flex; flex-direction: column; }
.product-landing__feature-list li {
	counter-increment: tariff-feature;
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
	color: var(--ink-soft);
	align-items: start;
}
.product-landing__feature-list li:last-child { border-bottom: none; padding-bottom: 0; }
.product-landing__feature-list li::before {
	content: counter(tariff-feature);
	grid-column: 1;
	grid-row: 1 / -1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
	font-size: 14px;
	font-weight: 700;
	flex-shrink: 0;
}
.product-landing__feature-list strong {
	grid-column: 2;
	display: block;
	margin: 0 0 6px;
	color: #333;
	font-size: 16px;
	line-height: 1.25;
}
.product-landing__feature-list span {
	grid-column: 2;
	display: block;
	color: var(--ink-soft);
	font-size: 14px;
	line-height: 1.5;
}
.product-landing__reviews-list { display: flex; flex-direction: column; gap: 16px; }
.product-landing__review {
	margin: 0;
	padding: 12px 16px;
	border-left: 3px solid var(--accent);
	background: var(--bg);
	border-radius: 6px;
}
.product-landing__review p { margin: 0 0 6px; color: var(--ink); line-height: 1.5; }
.product-landing__review cite { font-style: normal; font-size: 13px; color: var(--ink-soft); }

.product-related { margin-bottom: 40px; }
.product-related__title { font-size: 40px; margin: 0 0 41px; }

/* T-245 tariff line PDP block */
/* T-334 -- switch-without-SIM callout on same-line PDP block. */
.product-tariff-line__switch-note {
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #0f4f86;
	background: color-mix(in srgb, #1a6bb5 14%, #fff);
	border: 1px solid color-mix(in srgb, #1a6bb5 32%, transparent);
}
.product-tariff-line__lead--secondary {
	margin-top: -8px;
	color: color-mix(in srgb, var(--ink) 72%, transparent);
}
.product-tariff-line { margin-bottom: 40px; }

.product-tariff-line__title { font-size: 40px; margin: 0 0 12px; color: var(--ink); }
.product-tariff-line__lead {
	margin: 0 0 28px;
	max-width: 46rem;
	color: var(--ink-soft);
	line-height: 1.5;
	font-size: 16px;
}
.product-tariff-line__entry-badge {
	display: inline-block;
	margin: 0 0 8px;
	padding: 2px 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--accent);
	border: 1px solid var(--accent);
	border-radius: 4px;
	background: transparent;
}
@media (max-width: 900px) {
	.product-tariff-line__title { font-size: 28px; margin-bottom: 10px; }
	.product-tariff-line__lead { font-size: 15px; margin-bottom: 20px; }
}

.product-upsell { margin-bottom: 40px; }
.product-upsell h2 { font-size: 40px; margin: 0 0 41px; }

.product-landing__section .product-landing__steps-list { list-style: none; padding: 0; }
.product-landing__steps-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
	margin: 0 0 32px;
}
.product-landing__steps-header h2 { margin: 0; font-size: 32px; flex: 1 1 320px; }
.product-landing__steps-icon { display: inline-block; }
.product-landing__steps-intro { color: var(--ink-soft); line-height: 1.6; margin: 0; padding: 0; flex: 1 1 320px; max-width: 420px; }

.product-landing__steps-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
}
.product-landing__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	position: relative;
}
.product-landing__step-badge {
	position: absolute;
	top: 23px;
	left: calc(50% - 50px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
	font-size: 12px;
	font-weight: 700;
}
.product-landing__step-ring {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	border: 2px dashed var(--accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
}
.product-landing__step-icon { display: inline-flex; width: 28px; height: 28px; color: var(--accent); }
.product-landing__step-icon svg { width: 100%; height: 100%; }
.product-landing__steps-icon { display: inline-flex; width: 26px; height: 26px; color: var(--accent); vertical-align: -6px; }
.product-landing__steps-icon svg { width: 100%; height: 100%; }
.product-landing__step-title { font-size: 15px; color: var(--ink); line-height: 1.3; }
.product-landing__step-text { font-size: 13px; color: var(--ink-soft); line-height: 1.5; }

.archived-tariff-notice { padding: 20px; border: 1px solid #f0c7b5; border-radius: var(--radius); background: #fff6f1; }
.archived-tariff-notice__eyebrow { display: block; margin-bottom: 7px; color: var(--accent-dark); font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.archived-tariff-notice h2 { margin: 0 0 8px; font-size: 24px; line-height: 1.25; }
.archived-tariff-notice p { margin: 0; color: var(--ink-soft); line-height: 1.5; }
.product-hero__stock-notice { margin: 12px 0 0; padding: 10px 14px; border: 1px solid #f0c7b5; border-radius: var(--radius); background: #fff6f1; color: var(--accent-dark); font-size: 14px; font-weight: 700; }
.archived-tariff-replacements { margin: -32px 0 64px; }
.archived-tariff-replacements__header { max-width: 760px; margin-bottom: 28px; }
.archived-tariff-replacements__header h2 { margin: 0 0 8px; font-size: 40px; }
.archived-tariff-replacements__header p { margin: 0; color: var(--ink-soft); line-height: 1.5; }

/* Generic content pages: Phase 8.3 follow-up content/design pass. */
.content-page {
	padding-top: 32px;
	padding-bottom: 56px;
}
.content-page__header {
	max-width: 760px;
	margin: 0 0 26.8px;
	padding-top: 15.2px;
}
.content-page__title {
	font-size: 40px;
	line-height: 56px;
	letter-spacing: 0;
	margin: 26.8px 0;
}
.content-page__body {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.content-page__body > * {
	margin-top: 0;
	margin-bottom: 0;
}

/* T-300: in-body links need a visible affordance (coverage-map pages and other content pages). */
.content-page__body a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.content-page__body a:hover {
	color: var(--accent-dark);
}


/* Corporate tariffs page: crop baked-in SIM type labels from product thumbnails. */
.content-page--tarify-dlya-biznesa .content-section .product-card:not(.post-300):not(.post-298):not(.post-296):not(.post-197):not(.post-1697):not(.post-1818):not(.post-2094) .product-card__image img {
	width: 100%;
	height: 118%;
	max-height: none;
	object-fit: cover;
	object-position: center 72%;
}


/* Corporate tariffs page: match spacing before operator subheadings. */

/* Corporate tariffs cards: hide one-time SIM/connection price row. */

/* Corporate tariffs: Подробнее CTA matches catalog add-to-cart button color. */
.content-page--tarify-dlya-biznesa .product-card__cta .product-card__details-link.button {
	background: var(--accent-dark) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
}
.content-page--tarify-dlya-biznesa .product-card__cta .product-card__details-link.button:hover {
	background: var(--accent-darker) !important;
	color: #fff !important;
}
.content-page--tarify-dlya-biznesa .product-card__prices {
	display: none;
}
.content-page--tarify-dlya-biznesa .content-section .woocommerce + h3 {
	margin-top: 24px;
}
/* Corporate tariffs page: show four Megafon cards in one row on desktop. */
@media (min-width: 1200px) {
	.content-page--tarify-dlya-biznesa .content-section .products,
	.content-page--tarify-dlya-biznesa .content-section ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (max-width: 1199px) and (min-width: 768px) {
	.content-page--tarify-dlya-biznesa .content-section .products,
	.content-page--tarify-dlya-biznesa .content-section ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* T-408: in-body link color outranks .btn-primary and paints CTA text accent-on-accent.
   Keep primary buttons white and underlined inside content pages. */
.content-page__body a.btn-primary,
.content-page__body a.btn-primary:visited,
.content-page__body a.btn-primary:hover,
.content-page__body a.btn-primary:focus-visible {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* T-408 sibling: embedded product-card titles keep catalog ink/accent styling,
   not the T-300 body-link orange/underline treatment. */
.content-page__body .product-card__title a,
.content-page__body .product-card__title a:visited {
	color: var(--ink);
	text-decoration: none;
}
.content-page__body .product-card__title a:hover,
.content-page__body .product-card__title a:focus-visible {
	color: var(--accent);
	text-decoration: none;
}

/* T-297: search results listing */
.search-results__header { max-width: 760px; margin: 0 0 24px; }
.search-results__title {
	font-size: 40px;
	line-height: 1.2;
	margin: 12px 0 0;
}
.search-results__products { margin: 0 0 32px; }
.search-results__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.search-results__item { margin: 0; }
.search-results__link {
	display: block;
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	text-decoration: none;
}
.search-results__link:hover { border-color: var(--accent); color: var(--accent-dark); text-decoration: none; }
.search-results__item-title { display: block; font-weight: 700; margin-bottom: 4px; }
.search-results__item-excerpt { display: block; color: var(--ink-soft); font-size: 14px; line-height: 1.45; }
.search-results__empty { color: var(--ink-soft); font-size: 16px; line-height: 1.5; }
.search-results__empty a { color: var(--accent); text-decoration: underline; }
@media (max-width: 900px) {
	.search-results__title { font-size: 27px; }
}


/* Generic long-form article typography (reused by any imported/authored article content —
   not article-specific, so future content-workstream articles reuse it too). */
.article-body h2 { font-size: 28px; line-height: 1.3; margin: 0 0 16px; color: var(--ink); }
.article-body h3 { font-size: 20px; line-height: 1.3; margin: 24px 0 12px; color: var(--ink); }
.article-body p { color: var(--ink-soft); margin: 0 0 16px; line-height: 1.6; }
.article-body p:last-child { margin-bottom: 0; }
.article-body ul,
.article-body ol { margin: 0 0 16px; padding-left: 24px; color: var(--ink-soft); }
.article-body li { margin-bottom: 6px; }
.article-body a { color: var(--accent); }
.article-body img { max-width: 100%; height: auto; border-radius: var(--radius); display: block; margin: 0 0 16px; }
.article-body table { width: 100%; border-collapse: collapse; margin: 0 0 16px; font-size: 14px; }
.article-body th,
.article-body td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; }
.article-body th { background: var(--bg); font-weight: 600; }
.article-body section { display: block; }
.article-body__hero { margin: 0 0 24px; border-radius: var(--radius); overflow: hidden; }
.article-body__hero img { margin: 0; }

@media (max-width: 640px) {
	.article-body table,
	.article-body thead,
	.article-body tbody,
	.article-body th,
	.article-body td,
	.article-body tr { display: block; }
	.article-body thead { display: none; }
	.article-body tr { margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
	.article-body td { border: none; border-bottom: 1px solid var(--line); position: relative; padding-left: 45%; min-height: 20px; }
	.article-body td:last-child { border-bottom: none; }
	.article-body td::before { content: attr(data-label); position: absolute; left: 12px; top: 8px; width: 40%; font-weight: 600; color: var(--ink); }
}

/* T-169 -- single "stati" service-guide template: prod-parity two-column layout (article +
   TOC sidebar) plus a related-articles row, reusing .article-index-card from category.php. */
.article-layout { display: flex; align-items: flex-start; gap: 40px; }
.article-layout__main { flex: 1 1 0; min-width: 0; }
.article-layout__aside { flex: 0 0 260px; order: 1; }
.article-toc { position: static; padding: 20px; background: var(--bg); border-radius: var(--radius); }
.article-toc__title {
	font-weight: 600;
	margin-bottom: 12px;
	color: var(--ink);
	list-style: none;
	cursor: default;
}
.article-toc__title::-webkit-details-marker,
.article-toc__title::marker { display: none; content: none; }
.article-toc__list { list-style: none; margin: 0; padding: 0; flex-direction: column; gap: 10px; }
.article-toc[open] .article-toc__list { display: flex; }
.article-toc__list a { color: var(--ink-soft); font-size: 14px; line-height: 1.4; text-decoration: none; }
.article-toc__list a:hover { color: var(--accent); }
.article-related { margin-top: 48px; }
.article-related__title { font-size: 28px; line-height: 1.3; margin: 0 0 20px; color: var(--ink); }

@media (min-width: 761px) {
	.article-toc > .article-toc__list { display: flex; }
}

@media (max-width: 760px) {
	.article-layout { flex-direction: column; gap: 16px; }
	.article-layout__aside { flex-basis: auto; width: 100%; order: 0; }
	.article-toc { position: static; }
	.article-toc__title {
		position: relative;
		margin-bottom: 0;
		padding: 2px 28px 2px 0;
		cursor: pointer;
	}
	.article-toc[open] .article-toc__title { margin-bottom: 12px; }
	.article-toc__title::after {
		content: "+";
		position: absolute;
		right: 0;
		top: 0;
		font-size: 22px;
		font-weight: 400;
		color: var(--accent);
	}
	.article-toc[open] .article-toc__title::after { content: "\2212"; }
	.article-related { margin-top: 32px; }
	.article-related__title { font-size: 21px; }
}
.content-section {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px;
	box-shadow: var(--shadow);
}
.content-section h2 {
	font-size: 40px;
	line-height: 50px;
	margin-bottom: 41px;
}
.content-section h3 {
	font-size: 17px;
	margin-bottom: 8px;
}
.content-section p {
	color: var(--ink-soft);
	margin: 0 0 12px;
}
.content-section p:last-child { margin-bottom: 0; }
.content-section ul,
.content-section ol {
	margin: 0;
	padding-left: 20px;
	color: var(--ink-soft);
	line-height: 1.7;
}
.content-lead {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
	gap: 24px;
	align-items: stretch;
}
.content-lead__copy {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px;
	box-shadow: var(--shadow);
}
.content-lead__copy p {
	color: var(--ink-soft);
	margin: 0 0 14px;
	font-size: 16px;
}
.content-lead__copy p:last-child { margin-bottom: 0; }
/* T-266: prod shows an illustration next to the /garantii/ intro text (floated beside the
   H1/first paragraph). GF keeps its own copy/structure -- this only adds the image organically
   inside the existing copy block, it does not replace .content-aside's real guarantee stat. */
.content-lead__copy-img {
	float: right;
	width: 160px;
	height: auto;
	margin: 0 0 16px 20px;
}
.content-aside {
	background: var(--bg);
	color: var(--ink);
	border: 1px solid var(--line);
	border-top: 4px solid var(--accent);
	border-radius: var(--radius);
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	box-shadow: var(--shadow);
}
.content-aside__label {
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--accent-dark);
}
.content-aside__value {
	font-size: 26px;
	font-weight: 800;
	line-height: 1.15;
	color: var(--ink);
}
/* T-273: prod's about-menu hero right column is an illustration, not the dark "Фокус" card
   (.content-aside above) -- used only where post_content swaps in this markup (e.g. /company/). */
.content-lead__media {
	display: flex;
	align-items: center;
	justify-content: center;
}
.content-lead__media img {
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}
/* T-262: prod's benefits_in_numbers section is a full-bleed colored band with divided
   columns, not individual boxed cards -- match that look (prod-reference p1-about-menu/
   company/page.html data-pi=2, class "benefits_in_numbers colored second_color"). */
.content-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: var(--accent);
	border-radius: var(--radius);
	overflow: hidden;
}
.content-stat {
	padding: 28px 20px;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.28);
}
.content-stat:last-child {
	border-right: none;
}
.content-stat__value {
	display: block;
	font-size: 32px;
	font-weight: 800;
	color: var(--white);
	line-height: 1;
	margin-bottom: 8px;
}
.content-stat__label {
	color: rgba(255, 255, 255, 0.88);
	font-size: 14px;
}
.content-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.content-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
}
.content-card p {
	color: var(--ink-soft);
	margin: 0;
}
.content-card p + p {
	margin-top: 8px;
}
.content-card__note {
	font-size: 12px;
	line-height: 1.4;
}
.content-section__footnote {
	margin-top: 20px;
	font-size: 14px;
}
.content-card--link {
	display: block;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.content-card--link:hover {
	box-shadow: var(--shadow);
	border-color: var(--ink-soft);
}

/* P0-PR-1 pi=2 — "Немного о нас" (prod-reference/p0-home, section-system-layout-odds). */
.home-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
	gap: 48px;
	align-items: center;
}
.home-about__text p {
	color: var(--ink-soft);
	margin: 0 0 16px;
}
.home-about__lead {
	color: var(--accent-dark) !important;
	font-weight: 600;
}
.home-about__cta {
	margin-top: 24px;
}
.home-about__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--radius);
}
@media (max-width: 900px) {
	.home-about__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.home-about__media {
		order: -1;
	}
}

/* P0-PR-1 pi=3 — 4 карточки преимуществ (prod-reference/p0-home, simple_widjet qty_4). */
.home-advantages__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
}
.home-advantages__item {
	padding: 22px;
	border: 1px dashed #c4783a;
	border-radius: 18px;
	text-align: left;
}
.home-advantages__icon {
	display: block;
	margin-bottom: 16px;
}
.home-advantages__icon img {
	width: 56px;
	height: 56px;
}
.home-advantages__title {
	font-size: 17px;
	margin: 0 0 8px;
}
.home-advantages__text {
	color: var(--ink-soft);
	font-size: 14px;
	margin: 0;
}
@media (max-width: 900px) {
	.home-advantages__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
}
@media (max-width: 540px) {
	.home-advantages__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* T-094 — cost calculator widget (hub #calculator, category-archive and product-page embeds). */
.calc-widget {
	margin-top: 16px;
}
.calc-widget__heading {
	font-weight: 700;
	color: var(--ink);
	margin: 0 0 6px;
}
.calc-widget__intro {
	color: var(--ink-soft);
	margin: 0 0 14px;
}
.calc-form {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: flex-end;
}
.calc-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ink-soft);
	flex: 1 1 240px;
	min-width: 0;
}
.calc-form__field select {
	font: inherit;
	font-weight: 400;
	color: var(--ink);
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 10px 12px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.calc-form__submit {
	flex: 0 0 auto;
}
.calc-result {
	margin-top: 18px;
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 16px 18px;
}
.calc-result__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 8px;
	color: var(--ink-soft);
	font-size: 14px;
}
.calc-result__row:last-child {
	margin-bottom: 0;
}
.calc-result__row--total {
	color: var(--ink);
	font-weight: 700;
	font-size: 16px;
	padding-top: 8px;
	border-top: 1px dashed var(--line);
}
.calc-result__row--recurring {
	color: var(--accent);
	font-weight: 600;
}
.product-hero__calculator {
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px dashed var(--line);
}
.product-hero__calculator-title {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 700;
	color: var(--ink-soft);
	margin: 0 0 10px;
}
.product-hero__calculator .calc-form {
	flex-direction: column;
	align-items: stretch;
}
.category-calculator {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 24px;
	margin-top: 24px;
}
.category-calculator h2 {
	margin: 0 0 12px;
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.contact-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
}
.contact-card__label {
	display: block;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin-bottom: 8px;
}
.contact-card__value {
	font-size: 18px;
	font-weight: 700;
	color: var(--ink);
}
.contact-card__note {
	margin-top: 8px;
	color: var(--ink-soft);
	font-size: 14px;
}
.contact-section.section--alt { background: var(--white); }
.contact-section__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: stretch; }
.contact-section__details { min-width: 0; }
.contact-section__details .contact-card--wide { grid-column: 1 / -1; }
.contact-section__cta { margin-top: 18px; }
.contact-section__map { min-height: 410px; overflow: hidden; border-radius: 30px; box-shadow: var(--shadow); }
.contact-section__map iframe { display: block; width: 100%; height: 100%; min-height: 410px; border: 0; }
.contact-section__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.contact-section__header h2 { margin-bottom: 8px; }
.contact-section__all { color: var(--accent-dark); font-weight: 700; }
.contact-section__messengers {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}
.contact-section__messenger { display: inline-flex; align-items: center; gap: 7px; color: var(--messenger); font-weight: 700; text-decoration: none; }
.contact-section__messenger:hover { color: var(--accent-dark); text-decoration: none; }
/* T-366: base fill must match the site-wide messenger red, not the orange accent family
   (MAX's own more specific rule below already gets this right; WA/TG were falling through to
   the generic accent-dark fill here, splitting the row into two colors). */
.contact-section__messenger svg { fill: var(--messenger); }
.contact-section__messenger:hover svg { fill: var(--accent-dark); }
/* T-378: home is the canonical contacts-section look (plain divider, no card box) -- align
   the category variant to it and to its own sibling .category-reviews divider convention,
   instead of the mismatched rounded/background card treatment it had before. */
.category-contacts { margin: 56px 0 0; padding-top: 48px; border-top: 1px solid var(--line); }

.home-consultation-banner__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 44px;
	align-items: center;
	width: 100vw;
	min-height: 210px;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	padding: 36px max(46px, calc((100vw - var(--container-width)) / 2 + 46px));
	border-radius: 0;
	background: #f0783f;
}

.home-consultation-banner__inner::after {
	position: absolute;
	inset: 0;
	z-index: 0;
	content: "";
	background: linear-gradient(90deg, rgba(240, 120, 63, .82) 0%, rgba(240, 120, 63, .38) 50%, rgba(240, 120, 63, .75) 100%);
}

.home-consultation-banner__copy {
	position: relative;
	z-index: 2;
	max-width: 760px;
}

.home-consultation-banner__copy h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(32px, 3vw, 44px);
	font-weight: 700;
	line-height: 1.12;
	text-transform: uppercase;
}
.home-consultation-banner__button {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 28px;
	border: 0;
	border-radius: 999px;
	background: #dc2f2f;
	color: #fff;
	font: inherit;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}
.home-consultation-banner__button:hover { background: #b92323; color: #fff; }
.home-consultation-banner__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 760px) {
	.site-faq__intro {
		grid-template-columns: 1fr;
		gap: 22px;
		margin-bottom: 34px;
	}
	.site-faq__copy h2 { margin-bottom: 18px; font-size: 24px; }
	.site-faq__copy p { font-size: 15px; line-height: 1.6; }
	.site-faq__contacts { padding-top: 0; }
	.site-faq__messenger { width: 48px; height: 48px; }
	.site-faq__ask { margin-top: 16px; }
	.site-faq__list { grid-template-columns: 1fr; gap: 16px; }
	.site-faq__list .faq-item { padding: 0 20px; }
	.site-faq__list .faq-item__question { min-height: 92px; font-size: 15px; }
	.home-consultation-banner__inner {
		grid-template-columns: 1fr;
		gap: 24px;
		min-height: 278px;
		padding: 32px 24px;
		border-radius: 0;
		text-align: center;
	}
	.home-consultation-banner__inner::after { background: rgba(240, 120, 63, .66); }
	.home-consultation-banner__copy { margin: 0 auto; }
	.home-consultation-banner__copy h2 { font-size: 28px; line-height: 1.15; }
	.home-consultation-banner__button { justify-self: center; }
}
.content-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.content-table th,
.content-table td {
	border-bottom: 1px solid var(--line);
	padding: 12px 0;
	text-align: left;
	vertical-align: top;
}
.content-table th {
	width: 180px;
	color: var(--ink-soft);
	font-weight: 600;
	padding-right: 20px;
}

@media (max-width: 900px) {
	.product-hero {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"media"
			"info";
		gap: 34px;
	}
	.content-lead,
	.content-grid,
	.contact-grid,
	.review-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.contact-section__header { align-items: flex-start; flex-direction: column; }
	.contact-section__layout { grid-template-columns: 1fr; }
	.contact-section__map,
	.contact-section__map iframe { min-height: 320px; }
	.review-section-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}
	/* T-262: keep the stats band 2x2 on mobile (matches prod), not a single stacked column. */
	.content-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.content-stat { padding: 20px 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.28); }
	.content-stat:nth-child(2n) { border-right: none; }
	.content-stat:nth-last-child(-n+2) { border-bottom: none; }
	.product-landing__steps-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
	.product-landing__steps-header { flex-direction: column; gap: 16px; }
	/* Cursor 2026-07-31: column + flex:1 1 320px made h2/intro 320px tall (empty gap after title). */
	.product-landing__steps-header h2,
	.product-landing__steps-intro { flex: 0 0 auto; max-width: none; }
}

@media (max-width: 640px) {
	.product-page { padding-top: 20px; padding-bottom: 100px; }
	.product-hero { margin: 16px 0 16px; }
	.product-hero__media-frame { aspect-ratio: 16 / 9; max-height: none; }
	.product-hero__title { font-size: 28px; line-height: 1.2; margin: 0; }
	.product-partner { margin-top: -2px; }
	.review-trust-strip { align-items: flex-start; flex-direction: column; }
	.product-hero__key-spec { grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr); gap: 12px; }
	.product-hero__usage { padding: 12px 14px; }
	.product-hero__usage-title { font-size: 11px; margin-bottom: 8px; }
	.product-hero__usage-chips { gap: 6px; }
	.product-hero__usage-chips li { font-size: 11px; padding: 5px 10px; }
	.product-landing__steps-list { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.product-sticky-purchase {
		position: fixed;
		left: 0;
		right: 0;
		/* T-367: consume the measured OWNER-locked legal-strip height instead of the old fixed
		   35px so this lane doesn't overlap the wrapped legal copy on narrow phones. */
		bottom: var(--site-legal-h, 35px);
		z-index: 9998;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px 16px;
		padding-left: max(16px, env(safe-area-inset-left));
		padding-right: max(16px, env(safe-area-inset-right));
		border-top: 1px solid var(--line);
		background: var(--white);
		box-shadow: 0 -6px 20px rgba(13, 43, 94, .12);
	}
	.product-sticky-purchase__price { min-width: 0; color: var(--ink); line-height: 1.2; }
	.product-sticky-purchase__price > strong { display: block; font-size: 16px; font-weight: 800; white-space: nowrap; }
	.product-sticky-purchase__price small { display: block; margin-top: 3px; color: var(--ink-soft); font-size: 11px; line-height: 1.25; }
	.product-sticky-purchase__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		min-height: 42px;
		padding: 10px 16px;
		border-radius: var(--button-radius);
		background: var(--accent);
		color: var(--white);
		font-size: 13px;
		font-weight: 700;
		text-transform: uppercase;
		text-decoration: none;
	}
	.product-sticky-purchase__button:hover { background: var(--accent-dark); color: var(--white); text-decoration: none; }
	.product-details__section h2,
	.product-landing__section h2,
	.product-related__title,
	.product-upsell h2,
	.archived-tariff-replacements__header h2 { font-size: 27px; margin: 0 0 12px; }
	.archived-tariff-replacements { margin: 0 0 44px; }
	.archived-tariff-notice { padding: 16px; }
	.archived-tariff-notice h2 { font-size: 21px; }
	.product-tabs { padding: 0 0 45px; }
	.product-tabs__nav {
		gap: 3px;
		padding: 4px;
		border-radius: 10px;
	}
	.product-tabs__tab {
		padding: 9px 6px;
		font-size: 11px;
		min-height: 44px;
		border-radius: 8px;
		box-sizing: border-box;
	}
	.product-details__description ul { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.product-landing__feature-list li { grid-template-columns: 28px minmax(0, 1fr); gap: 10px; padding: 12px 0; }
	.product-landing__feature-list li::before { width: 28px; height: 28px; font-size: 13px; }
	.product-details__specs li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
	.product-details__specs li span:last-child { text-align: left; max-width: none; }
	.content-page { padding-top: 20px; padding-bottom: 40px; }
	.content-page__header { margin-bottom: 18.09px; padding-top: 12px; }
	.content-page__title { font-size: 27px; line-height: 32.4px; margin: 12px 0 18.09px; }
	.content-section h2 { font-size: 27px; line-height: 33.75px; margin-bottom: 30px; }
	.content-lead__copy-img { float: none; width: 100%; max-width: 220px; margin: 0 0 16px; display: block; }
	.calc-form { flex-direction: column; align-items: stretch; }
	.category-calculator { padding: 18px; }
	.content-section,
	.content-lead__copy,
	.content-aside,
	.content-card,
	.contact-card,
	.review-card {
		padding: 20px;
	}
	.category-contacts { margin-top: 40px; padding-top: 36px; }
	.content-table,
	.content-table tbody,
	.content-table tr,
	.content-table th,
	.content-table td {
		display: block;
		width: 100%;
	}
	.content-table th {
		border-bottom: none;
		padding-bottom: 4px;
	}
	.content-table td { padding-top: 0; }
	.faq-item { padding: 2px 14px; }
	.faq-item__question { padding: 12px 24px 12px 0; font-size: 15px; }
}

/* Sitewide legal notices (OWNER_QUEUE.md [11] — wording copied verbatim from production). */
/*
 * T-071 (SF-01/09): production's real always-visible 18+/126-ФЗ notice -- fixed bottom strip,
 * not the old top-of-body banner (`.legal-notice-bar`, removed). Matches production's measured
 * `.notification-bar` exactly: position fixed, bottom 0, 35px height, #eb5413 background, white
 * text, no dismiss control (same styling already used preview-only as `.ccp-age-disclaimer`).
 */
.site-legal-strip {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9998;
	height: 35px;
	background-color: var(--accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	text-align: center;
	padding: 0 16px;
	box-sizing: border-box;
}
.site-legal-strip p { margin: 0; max-width: 1100px; }

/*
 * Owner 2026-07-14: the 126-ФЗ disclaimer must be fully visible on mobile (no ellipsis
 * clip inside the locked 35px strip). Allow the strip to grow with wrapped text; --site-legal-h
 * is measured in main.js so .mobile-tab-bar / cookie banner stay stacked above it.
 */
@media (max-width: 900px) {
	.site-legal-strip {
		height: auto;
		min-height: 35px;
		padding: 8px 12px;
		align-items: center;
	}
	.site-legal-strip p {
		font-size: 11px;
		line-height: 1.35;
		white-space: normal;
		overflow: visible;
		text-overflow: unset;
		max-width: 100%;
	}
	.mobile-tab-bar { bottom: var(--site-legal-h); }
	.site-footer { padding-bottom: calc(var(--site-legal-h) + 72px); }
}

/* Sits above .site-legal-strip so the two fixed bottom elements don't overlap. */
.cookie-consent-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 35px;
	z-index: 9999;
	background: #1f2937;
	color: #f9fafb;
	padding: 16px;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, .2);
}
.cookie-consent-banner__content {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.cookie-consent-banner__text { margin: 0; font-size: 13px; line-height: 1.5; flex: 1 1 480px; }
.cookie-consent-banner__text a { color: #93c5fd; text-decoration: underline; }
.cookie-consent-banner__button {
	flex-shrink: 0;
	background: #2563eb;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.cookie-consent-banner__button:hover { background: #1d4ed8; }

@media (max-width: 640px) {
	.cookie-consent-banner__content { flex-direction: column; align-items: stretch; text-align: center; }
	/*
	 * .cookie-consent-banner__text's flex-basis (480px) is a *width* basis under the desktop
	 * row layout above. Once this breakpoint flips flex-direction to column, the same
	 * flex-basis applies to the main axis instead, which is now vertical -- reserving 480px of
	 * *height* for the text and inflating the whole fixed banner to ~564px tall on a 390px-wide
	 * phone (covering most of the viewport, including the hero CTA underneath). Reset it to auto
	 * so height is content-driven again, matching the desktop behavior'''s intent.
	 */
	.cookie-consent-banner__text { flex-basis: auto; }
	.cookie-consent-banner__button { width: 100%; }
	/*
	 * T-195: the verbatim compliance sentence (can't be shortened, OWNER_QUEUE.md [11]) wraps
	 * to 5-6 lines on narrow phones. Tighten padding/type so the banner's footprint shrinks
	 * enough to clear the hero CTAs on first load instead of covering them.
	 */
	.cookie-consent-banner { padding: 8px; }
	.cookie-consent-banner__content { gap: 6px; }
	.cookie-consent-banner__text { font-size: 11px; line-height: 1.25; }
	.cookie-consent-banner__button { padding: 6px 14px; font-size: 12px; }
}

/*
 * T-195: the cookie banner was hardcoded `bottom: 35px` (directly above `.site-legal-strip`)
 * on every viewport, which is also where `.mobile-tab-bar` (57px tall) and
 * `.product-sticky-purchase` (63px tall) independently anchor themselves -- before the
 * cookie is accepted, its z-index (9999) hides whichever of those is present. Stack it
 * above whichever bottom bar is actually on screen instead.
 */
@media (max-width: 900px) {
	/* tab bar (~57px) + measured legal strip */
	.cookie-consent-banner { bottom: calc(var(--site-legal-h) + 57px); }
	/* single-product: tab bar hidden — cookie sits just above the legal strip */
	body.single-product .cookie-consent-banner { bottom: var(--site-legal-h); }
}
@media (max-width: 640px) {
	/* sticky purchase bar (~63px) + legal strip */
	body.single-product .cookie-consent-banner { bottom: calc(var(--site-legal-h) + 63px); }
}

.ask-question__trigger {
	margin-top: 8px;
}

.ask-question-modal[hidden] { display: none; }
.ask-question-modal {
	position: fixed;
	inset: 0;
	/* Above .site-legal-strip (9998), cookie banner (9999), sticky purchase (9998). */
	z-index: 100200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.ask-question-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}
.ask-question-modal__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 420px;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--white);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	padding: 28px 24px 32px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.ask-question-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: var(--ink-soft);
}
.ask-question-modal__close:hover { color: var(--ink); }
.ask-question-modal__title {
	margin: 0 32px 4px 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--ink);
}
.ask-question-modal__product { margin: 0 0 16px; font-size: 13px; color: var(--ink-soft); }

/* Form A open: lock scroll; hide Jivo button + proactive bubbles completely. */
body.ask-question-open {
	overflow: hidden;
}
body.ask-question-open #jivo-iframe-container,
body.ask-question-open jdiv,
body.ask-question-open [class^="jivo"],
body.ask-question-open [id^="jivo"] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	opacity: 0 !important;
}

/* T-223/T-228 -- restrained dwell prompt, enabled only on the Warsaw greenfield host. */
.dwell-popup[hidden] { display: none; }
.dwell-popup { position: fixed; z-index: 10020; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
.dwell-popup__backdrop { position: absolute; inset: 0; background: rgba(25, 25, 25, .52); }
.dwell-popup__panel { position: relative; width: min(520px, 100%); padding: 30px; border-radius: 22px; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.22); }
.dwell-popup__close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #f3f3f3; color: var(--ink); font-size: 28px; line-height: 1; cursor: pointer; }
.dwell-popup__eyebrow { margin: 0 48px 8px 0; color: var(--accent-dark); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dwell-popup__title { margin: 0 42px 10px 0; font-size: clamp(24px, 4vw, 32px); line-height: 1.12; }
.dwell-popup__intro { margin: 0 0 16px; color: var(--ink-soft); font-size: 17px; }
.dwell-popup__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.dwell-popup__actions > * { flex: 1 1 190px; min-height: 48px; text-align: center; }
.dwell-popup__note { margin: 14px 0 0; color: var(--ink-soft); font-size: 12px; }
body.dwell-popup-open { overflow: hidden; }
@media (max-width: 560px) { .dwell-popup { align-items: flex-end; padding: 12px; } .dwell-popup__panel { padding: 24px 20px calc(20px + env(safe-area-inset-bottom)); border-radius: 22px 22px 16px 16px; } .dwell-popup__actions { display: grid; grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: no-preference) { .dwell-popup__panel { animation: dwell-popup-in .18s ease-out; } @keyframes dwell-popup-in { from { opacity: 0; transform: translateY(12px); } } }

/* T-221 -- first-party product comparison; selection persists locally, nav remains flag-off. */
.product-compare-toggle { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:7px; border:1px solid #d7d7d7; border-radius:10px; background:#fff; color:var(--ink); font:inherit; font-weight:600; cursor:pointer; }
.product-compare-toggle:hover,.product-compare-toggle[aria-pressed="true"] { border-color:var(--accent); background:#fff9d9; color:var(--accent-dark); }
.product-compare-toggle--card { width:100%; margin-top:8px; padding:9px 12px; }
.product-compare-toggle--pdp { flex:1 1 100%; padding:10px 18px; }
/* T-255 -- compare entry point for T6-hero PDPs, placed after the complete hero (place=C) so the approved hero markup/CSS stays untouched. */
.product-hero-compare-panel { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 0 28px; padding:16px 18px 20px; border:1px solid var(--line); border-radius:12px; background:#fafafa; color:var(--ink); }
.product-hero-compare-panel__copy { display:flex; align-items:center; gap:10px; min-width:0; }
.product-hero-compare-panel__copy svg { flex-shrink:0; }
.product-hero-compare-panel__copy strong { display:block; font-size:15px; line-height:1.25; }
.product-hero-compare-panel__copy small { display:block; margin-top:2px; color:#656565; font-size:12px; line-height:1.3; }
.product-compare-toggle--t6-hero-panel { min-height:42px; padding:8px 15px; white-space:nowrap; }
@media (max-width: 640px) {
	.product-hero-compare-panel { align-items:stretch; flex-direction:column; gap:12px; margin:14px 0 24px; padding:14px 14px 18px; }
	.product-compare-toggle--t6-hero-panel { width:100%; }
}
.product-compare-nav-trigger,.footer-compare-trigger { padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.footer-compare-trigger:hover { color:var(--accent); }
.product-compare-tray[hidden],.product-compare-modal[hidden],.product-compare-toast[hidden] { display:none; }
.product-compare-tray {
	position:fixed;
	z-index:10005;
	right:24px;
	bottom:calc(var(--site-legal-h, 35px) + 16px);
	display:flex;
	min-width:330px;
	max-width:min(420px, calc(100vw - 32px));
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:12px 14px;
	border:1px solid #e0e0e0;
	border-radius:16px;
	background:#fff;
	box-shadow:0 12px 42px rgba(0,0,0,.2);
}
.product-compare-tray__top { display:contents; }
.product-compare-tray__meta { min-width:0; flex:1 1 auto; }
.product-compare-tray__count { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.product-compare-tray__count strong { font-size:20px; line-height:1.1; }
.product-compare-tray__count span { font-size:15px; font-weight:600; }
.product-compare-tray__family { display:block; margin-top:2px; color:var(--ink-soft); font-size:12px; line-height:1.3; }
.product-compare-tray__clear {
	min-height:44px;
	padding:0 8px;
	border:0;
	background:transparent;
	color:var(--ink-soft);
	font:inherit;
	font-size:14px;
	font-weight:600;
	cursor:pointer;
	white-space:nowrap;
	flex:0 0 auto;
}
.product-compare-tray__open:disabled,
.product-compare-tray__open[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.product-compare-tray__open {
	min-height:44px;
	padding:10px 16px !important;
	border:0;
	border-radius:10px;
	font-size:14px !important;
	line-height:1.2;
	cursor:pointer;
	white-space:nowrap;
	flex:0 0 auto;
}
.product-compare-toast { position:fixed; z-index:10030; top:92px; left:50%; width:min(620px, calc(100% - 32px)); transform:translateX(-50%); padding:13px 18px; border-radius:12px; background:#252525; color:#fff; box-shadow:0 8px 30px rgba(0,0,0,.22); text-align:center; }
.product-compare-modal { position:fixed; z-index:10025; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; }
.product-compare-modal__backdrop { position:absolute; inset:0; background:rgba(25,25,25,.58); }
.product-compare-modal__panel { position:relative; width:min(1180px, 100%); max-height:calc(100dvh - 48px); overflow:hidden; border-radius:22px; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.25); }
.product-compare-modal__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 24px; border-bottom:1px solid #e8e8e8; }
.product-compare-modal__eyebrow { margin:0 0 3px; color:var(--accent-dark); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.product-compare-modal__title { margin:0; font-size:1.35rem; font-weight:700; letter-spacing:normal; text-transform:none; color:inherit; }
.site-search-overlay__title { margin:0; font-size:1.25rem; font-weight:700; }
.product-compare-modal__close { width:44px; height:44px; border:0; border-radius:50%; background:#f1f1f1; color:var(--ink); font-size:28px; cursor:pointer; }
.product-compare-modal__content { max-height:calc(100dvh - 150px); overflow:auto; padding:20px 24px 28px; }
.product-compare-hint,.product-compare-empty { margin:0 0 16px; padding:12px 14px; border-left:4px solid var(--accent); border-radius:8px; background:#fff9d9; }
.product-compare-table-wrap { width:100%; overflow-x:auto; }
.product-compare-table { width:100%; min-width:650px; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.product-compare-table th,.product-compare-table td { min-width:190px; padding:13px 14px; border-right:1px solid #e8e8e8; border-bottom:1px solid #e8e8e8; text-align:left; vertical-align:top; }
.product-compare-table tr > :first-child { position:sticky; left:0; z-index:1; width:155px; min-width:155px; background:#f7f7f7; font-weight:700; }
.product-compare-table thead th { background:#fff; }
.product-compare-table thead tr > :first-child { z-index:2; }
.product-compare-table thead img { display:block; width:100%; max-width:150px; height:110px; margin:0 auto 10px; object-fit:contain; }
.product-compare-table thead a { display:block; color:var(--ink); font-weight:700; line-height:1.25; }
.product-compare-remove { min-height:44px; margin-top:8px; padding:7px 0; border:0; background:transparent; color:var(--accent-dark); cursor:pointer; text-decoration:underline; }
body.product-compare-open { overflow:hidden; }
/* T-230: keep page content clear of the fixed compare tray */
body.product-compare-tray-on { padding-bottom:96px; }
@media (max-width:899px) {
	body.product-compare-tray-on { padding-bottom:calc(var(--site-legal-h, 35px) + 56px + 118px); }
	body.single-product.product-compare-tray-on { padding-bottom:calc(var(--site-legal-h, 35px) + 63px + 118px); }
	.product-compare-tray {
		right:10px;
		left:10px;
		bottom:calc(var(--site-legal-h, 35px) + 56px + 8px);
		min-width:0;
		max-width:none;
		flex-direction:column;
		align-items:stretch;
		gap:10px;
		padding:12px 12px 12px;
		border-radius:14px;
	}
	/* PDP: stack above sticky purchase (~63px), not the hidden tab bar */
	body.single-product .product-compare-tray {
		bottom:calc(var(--site-legal-h, 35px) + 63px + 8px);
	}
	.product-compare-tray__top {
		display:flex;
		align-items:flex-start;
		justify-content:space-between;
		gap:10px;
		width:100%;
	}
	.product-compare-tray__family { margin-top:3px; }
	.product-compare-tray__clear {
		min-height:44px;
		padding:0 2px;
		margin-top:-2px;
	}
	.product-compare-tray__open {
		width:100%;
		min-height:48px;
		padding:12px 14px !important;
		font-size:15px !important;
	}
	.product-compare-modal { align-items:stretch; padding:0; }
	.product-compare-modal__panel { max-height:100dvh; border-radius:0; }
	.product-compare-modal__header { padding:16px; }
	.product-compare-modal__content { max-height:calc(100dvh - 92px); padding:16px; }
	.product-compare-table th,.product-compare-table td { min-width:170px; padding:11px; }
	.product-compare-table tr > :first-child { width:120px; min-width:120px; }
}


.quiz-modal .ask-question-modal__panel { max-width: 560px; }
.quiz-modal .tariff-quiz { margin-top: 4px; }

/* T-201 -- first-party multi-step quiz. */
.tariff-quiz--v2 { position:relative; display:block; margin-top:24px; overflow:hidden; border:1px solid #e4e7eb; border-radius:24px; background:#fff; box-shadow:0 18px 55px rgba(35,43,56,.09); }
.tariff-quiz--v2 form { margin:0; }
.tariff-quiz__step { min-height:390px; padding:38px 42px 24px; }
.tariff-quiz__step[hidden], .tariff-quiz__footer[hidden] { display:none!important; }
.tariff-quiz__eyebrow { display:inline-block; margin-bottom:12px; color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tariff-quiz__step legend,.tariff-quiz__step h3 { display:block; width:100%; margin:0 0 10px; color:var(--ink); font-size:clamp(24px,3vw,34px); font-weight:800; line-height:1.15; }
.tariff-quiz__choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
.tariff-quiz__choices label { min-width:0; cursor:pointer; }
.tariff-quiz__choices input { position:absolute; width:1px; height:1px; opacity:0; }
.tariff-quiz__choices label>span { position:relative; display:flex; min-height:102px; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; padding:18px; border:2px solid #e6e8eb; border-radius:16px; background:#fff; transition:.18s; }
.tariff-quiz__choices label:hover>span { border-color:#f1a481; transform:translateY(-2px); }
.tariff-quiz__choices input:checked+span { border-color:var(--accent); box-shadow:0 0 0 3px rgba(235,84,19,.14); }
.tariff-quiz__choices input:focus-visible+span { outline:3px solid var(--accent); outline-offset:3px; }
.tariff-quiz__choices strong { font-size:17px; line-height:1.25; }
.tariff-quiz__choices small { color:var(--ink-soft); font-size:13px; }
.tariff-quiz__choices i { position:absolute; top:10px; right:10px; display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:var(--accent); color:#fff; font-size:13px; font-style:normal; opacity:0; }
.tariff-quiz__choices input:checked+span i { opacity:1; }
.tariff-quiz__choices--operators img { width:76px; height:32px; object-fit:contain; object-position:left; }
.tariff-quiz__choices--text,.tariff-quiz__choices--regions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tariff-quiz__splash { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr); align-items:center; gap:28px; background:linear-gradient(135deg,#fff 45%,#fff4ef); }
.tariff-quiz__splash p:not(.tariff-quiz__step-title) { max-width:570px; margin:0 0 24px; color:var(--ink-soft); font-size:17px; }
.tariff-quiz__splash .tariff-quiz__step-title { display:block; width:100%; max-width:none; margin:0 0 10px; color:var(--ink); font-size:clamp(24px,3vw,34px); font-weight:800; line-height:1.15; }
.tariff-quiz__splash-art { position:relative; display:grid; width:190px; height:190px; place-items:center; justify-self:center; border:3px dashed rgba(235,84,19,.35); border-radius:50%; color:var(--accent); }
.tariff-quiz__splash-art b { font-size:42px; transform:rotate(-7deg); }
.tariff-quiz__splash-art span { position:absolute; right:-8px; bottom:20px; padding:8px 12px; border-radius:99px; background:var(--ink); color:#fff; font-size:13px; }
.tariff-quiz__footer { position:sticky; bottom:0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; padding:16px 42px; border-top:1px solid #eceef0; background:#fff; }
.tariff-quiz__footer>div { display:grid; gap:5px; justify-items:center; color:var(--ink-soft); font-size:12px; }
.tariff-quiz__footer progress { width:min(260px,28vw); height:7px; accent-color:var(--accent); }
.tariff-quiz__back,.tariff-quiz__restart { min-height:44px; border:0; background:none; color:var(--accent); font-weight:700; cursor:pointer; text-decoration:underline; }
.tariff-quiz__back:hover,.tariff-quiz__restart:hover { color: var(--accent-dark); }
.tariff-quiz--v2 .tariff-quiz__result { min-height:0; margin:0; }

/* Quiz result next-steps (canon) */
.tariff-quiz__next {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	align-content: flex-start;
	flex: 0 0 auto;
	height: auto;
	min-height: 0;
	gap: 12px 20px;
	margin: 14px 0 18px;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--bg, #f7f5f2);
	border: 1px solid #ece7e1;
}
.tariff-quiz__result > .tariff-quiz__next { flex: 0 0 auto; height: auto; min-height: 0; }
.tariff-quiz__next-copy {
	flex: 1 1 280px;
	min-width: 0;
}
.tariff-quiz__next-copy strong {
	display: block;
	margin: 0 0 4px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
}
.tariff-quiz__next-copy span {
	display: block;
	color: var(--ink-soft);
	font-size: 14px;
	line-height: 1.4;
}
.tariff-quiz__next-contacts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	flex: 0 1 auto;
}
.tariff-quiz__next-phone {
	color: var(--accent-dark, #c45c26);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}
.tariff-quiz__next-phone:hover {
	color: var(--accent, #e8590c);
}
.tariff-quiz__next-ask.ask-question__trigger,
.tariff-quiz__next .tariff-quiz__next-ask {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 44px;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 1px solid var(--line, #dfe3e8);
	border-radius: 10px;
	background: #f4f4f4;
	color: var(--accent-dark, #c45c26);
	font-size: 15px;
	font-weight: 600;
	text-transform: none;
	text-decoration: none !important;
	white-space: nowrap;
	cursor: pointer;
}
.tariff-quiz__next-ask.ask-question__trigger:hover,
.tariff-quiz__next .tariff-quiz__next-ask:hover {
	background: #ececec;
	border-color: #cfcfcf;
	color: var(--accent-darker, #a8481f);
}
@media (max-width: 720px) {
	.tariff-quiz__next {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		flex: 0 0 auto;
		height: auto;
		min-height: 0;
		align-self: stretch;
		gap: 10px;
		padding: 12px 14px;
		margin: 12px 0 14px;
	}
	.tariff-quiz__next-copy {
		flex: 0 0 auto;
	}
	.tariff-quiz__next-contacts {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px 12px;
		width: 100%;
		flex: 0 0 auto;
		margin-top: 0;
	}
	.tariff-quiz__next-phone {
		display: inline-flex;
		align-items: center;
		flex: 0 1 auto;
		white-space: nowrap;
	}
	.tariff-quiz__next-ask.ask-question__trigger,
	.tariff-quiz__next .tariff-quiz__next-ask {
		display: inline-flex !important;
		flex: 0 1 auto;
		width: auto;
		min-width: 0;
	}
}

.tariff-quiz__result { padding:32px 42px 28px; }
.tariff-quiz__result>h3,.tariff-quiz__result>.tariff-quiz__step-title { margin:0; color:var(--ink); font-size:clamp(25px,3vw,34px); font-weight:800; line-height:1.15; }
.tariff-quiz__result>p { max-width:760px; color:var(--ink-soft); }
.tariff-quiz__result .products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:18px; }
.tariff-quiz__result .product-card { min-width:0; }
.tariff-quiz__result .product-card__body { padding:14px; }
.tariff-quiz__result .product-card__title { min-height:3.75em; line-height:1.25; }
.tariff-quiz__result .product-card__operator,
.tariff-quiz__result .product-card__fee-row { display:none; }
.tariff-quiz__result .product-card__prices { min-height:54px; align-content:flex-start; }
.tariff-quiz__result .product-card__note { min-height:2.8em; }
.tariff-quiz__result .product-card__cta { display:flex; min-height:82px; flex-direction:column; justify-content:flex-end; gap:6px; }
.tariff-quiz__result .product-card__cta .button { min-height:48px; }
.tariff-quiz__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 10px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #eceef0;
}
.tariff-quiz__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 0 12px;
	border-radius: 12px;
	box-sizing: border-box;
	font-family: "Jost", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.tariff-quiz__actions .ask-question__trigger {
	margin-top: 0 !important;
	width: 100%;
}
.tariff-quiz__action--primary {
	background: var(--accent);
	border: 2px solid var(--accent);
	color: #fff;
}
.tariff-quiz__action--primary:hover {
	background: var(--accent-dark, #d9480f);
	border-color: var(--accent-dark, #d9480f);
	color: #fff;
}
.tariff-quiz__action--secondary {
	background: #fff;
	border: 2px solid var(--accent);
	color: var(--accent);
	margin-top: 0 !important;
}
.tariff-quiz__action--secondary:hover {
	background: #fff4ef;
	color: var(--accent-dark, #d9480f);
	border-color: var(--accent-dark, #d9480f);
}
.tariff-quiz__action--ghost,
.tariff-quiz__actions .tariff-quiz__restart {
	min-height: 48px;
	border: 2px solid #dfe3e8;
	background: #f7f8fa;
	color: #3d4a57;
	font-weight: 700;
}
.tariff-quiz__action--ghost:hover,
.tariff-quiz__actions .tariff-quiz__restart:hover {
	color: var(--accent-dark, #d9480f);
	background: #fff;
	border-color: var(--accent);
}

.quiz-modal { z-index:10001; }
.quiz-modal .ask-question-modal__panel { width:min(1080px,calc(100vw - 32px)); max-width:1080px; max-height:calc(100vh - 32px); padding:0; overflow:auto; border-radius:24px; }
.quiz-modal .tariff-quiz { margin:0; border:0; box-shadow:none; }
.quiz-modal .ask-question-modal__close { z-index:3; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.94); }
@media(max-width:700px){
	.tariff-quiz__step{min-height:470px;padding:28px 18px 104px}.tariff-quiz__choices,.tariff-quiz__choices--text,.tariff-quiz__choices--regions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tariff-quiz__choices label>span{min-height:92px;padding:13px}.tariff-quiz__choices strong{font-size:15px}.tariff-quiz__choices--operators img{width:62px;height:27px}.tariff-quiz__splash{display:flex;min-height:560px;flex-direction:column-reverse;justify-content:center;text-align:center}.tariff-quiz__splash-art{width:142px;height:142px}.tariff-quiz__footer{right:0;bottom:0;left:0;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.quiz-modal .tariff-quiz__footer{position:absolute}.tariff-quiz__footer progress{width:92px}.tariff-quiz__footer .btn-primary{min-height:48px;padding:10px 14px}.quiz-modal{align-items:stretch;padding:0}.quiz-modal .ask-question-modal__panel{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0}.quiz-modal .tariff-quiz--v2{min-height:100dvh}.quiz-modal .tariff-quiz__step{min-height:calc(100dvh - 76px);overflow-y:auto}.tariff-quiz__result{padding:24px 16px calc(24px + env(safe-area-inset-bottom))}.quiz-modal .tariff-quiz__result{height:100dvh;overflow-y:auto}.tariff-quiz__result .products{grid-template-columns:1fr;gap:12px}.tariff-quiz__result .product-card__inner{display:flex;flex-direction:column;height:auto}.tariff-quiz__result .product-card__image{width:100%;aspect-ratio:600/354;min-height:0}.tariff-quiz__result .product-card__body{gap:6px;padding:12px}.tariff-quiz__result .product-card__title{min-height:0;font-size:15px}.tariff-quiz__result .product-card__note{display:none}.tariff-quiz__result .product-card__prices{min-height:0;gap:6px}.tariff-quiz__result .product-card__price-sim{font-size:16px}.tariff-quiz__result .product-card__discount{margin-left:0}.tariff-quiz__result .product-card__cta{min-height:0;padding-top:2px}.tariff-quiz__result .product-card__cta .button{min-height:44px;padding:9px 10px!important;font-size:12px!important}.tariff-quiz__actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;padding-top:12px}.tariff-quiz__actions .tariff-quiz__action,.tariff-quiz__actions>*{width:100%;justify-content:center;text-align:center}.tariff-quiz__actions .ask-question__trigger{margin-top:0;width:100%}
}

/* T-364 -- short-landscape modal (e.g. 844x390): the panel already has max-height + overflow:auto,
   but its flex child (.tariff-quiz--v2, overflow:hidden) gets an automatic minimum size of 0
   (flex items with overflow != visible ignore their content's intrinsic size), so it shrinks to
   fit and clips the result instead of letting the panel scroll. Switching it to overflow:visible
   in this short-height case restores its natural content height so the panel's own scroll takes
   over -- panel's border-radius/overflow:auto still bounds the visible box. Desktop's 700px+
   three-card layout and the portrait/inline rules above are untouched. */
@media (max-height:520px) and (min-width:701px) {
	.quiz-modal .tariff-quiz--v2 { overflow:visible; }
	.quiz-modal .tariff-quiz__result { padding:20px 32px 24px; }
}

/* Quiz modal mobile: compact steps + footer in flow (2026-08-05) */
@media (max-width: 700px) {
	.quiz-modal .ask-question-modal__panel {
		display: flex;
		flex-direction: column;
		min-height: 100dvh;
		max-height: 100dvh;
		overflow-x: hidden;
		overflow-y: auto;
	}
	.quiz-modal .tariff-quiz--v2 {
		display: flex;
		flex-direction: column;
		flex: 0 0 auto;
		min-height: 0;
		height: auto;
	}
	.quiz-modal .tariff-quiz--v2 form {
		display: flex;
		flex-direction: column;
		flex: 0 0 auto;
		min-height: 0;
	}
	.quiz-modal .tariff-quiz__step {
		min-height: 0 !important;
		height: auto;
		overflow: visible;
		padding: 24px 18px 16px;
	}
	.quiz-modal .tariff-quiz__splash {
		min-height: 0;
	}
	.quiz-modal .tariff-quiz__footer {
		position: static;
		right: auto;
		bottom: auto;
		left: auto;
		z-index: 5;
		margin-top: 4px;
		flex: 0 0 auto;
		box-shadow: none;
	}
	.quiz-modal .tariff-quiz__result {
		min-height: 0;
		height: auto;
	}
}


.ask-question-form {
	order: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
}
.ask-question-form__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ask-question-form__field { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--ink-soft); }
.ask-question-form__field input,
.ask-question-form__field textarea {
	font-family: "Jost", sans-serif;
	font-size: 16px; /* T-353 P1-C */
	color: var(--ink);
	padding: 10px 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	resize: vertical;
}
.ask-question-form__submit { margin-top: 4px; }
.ask-question-form__submit--loading { opacity: .8; cursor: wait; }
.ask-question-form__submit--loading::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	vertical-align: middle;
	border: 2px solid rgba(255, 255, 255, .5);
	border-top-color: #fff;
	border-radius: 50%;
	animation: bezlimitik-ask-question-spin .7s linear infinite;
}
@keyframes bezlimitik-ask-question-spin { to { transform: rotate(360deg); } }

/* T-250 -- success/error become visible chips (V3: inline banner, form stays in place); the
   default (loading) state keeps the original plain small-text treatment below. */
.ask-question-form__status { margin: 8px 0 0; font-size: 13px; color: var(--ink-soft); min-height: 1em; }
.ask-question-form__status--success,
.ask-question-form__status--error {
	margin: 8px 0 0;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}
.ask-question-form__status--success { background: #e9f7ec; color: #1e7a34; border: 1px solid #b7e4c2; }
.ask-question-form__status--error { background: #fdecea; color: var(--messenger); border: 1px solid #f3b9b4; }

/* T-250 V3 -- on success, fields grey out in place (messengers block stays visible below). */
.ask-question-form--submitted .ask-question-form__field input,
.ask-question-form--submitted .ask-question-form__field textarea,
.ask-question-form--submitted .ask-question-form__consent { opacity: .55; pointer-events: none; }

/* T-260/T-261 — shared PDN (required) + marketing (voluntary) consent checkbox, reused by the
   ask-question popup/shared modal, the home lead form (white-on-dark override below) and
   checkout (bezlimitik-checkout-consent below). */
.consent-checkbox { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.5; color: var(--ink-soft); cursor: pointer; }
.consent-checkbox input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent); }
.consent-checkbox a { color: inherit; text-decoration: underline; }
.ask-question-form__consent { margin: 2px 0; }
/* T-287: home/category lead form sits on terracotta — shared .consent-checkbox ink-soft was unreadable. */
.home-lead-form .consent-checkbox,
.home-lead-form .consent-checkbox a,
.home-lead-form .consent-checkbox span {
	color: #fff;
}
.home-lead-form .consent-checkbox a:hover,
.home-lead-form .consent-checkbox a:focus-visible {
	color: #fff;
	opacity: 0.92;
}

.ask-question-form__alt-label {
	display: none;
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--ink);
}
.ask-question-form__alt-label--custom {
	display: block;
}
.ask-question-modal__intro {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--ink);
	white-space: pre-line;
}
.ask-question-messengers { order: 2; }
.ask-question-messengers__label {
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--ink);
}
.ask-question-messengers__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}
.ask-question-messengers__list > li { min-width: 0; }
.ask-question-messengers__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 72px;
	padding: 10px 6px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff;
	color: var(--ink);
	text-decoration: none;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}
.ask-question-messengers__link:hover { border-color: var(--accent); text-decoration: none; }
.ask-question-messengers__icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: transparent;
	color: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 14px;
}
.ask-question-messengers__icon svg { display: block; width: 28px; height: 28px; fill: currentColor; }

/* MAX bullseye: outer disc = currentColor, inner cutouts = white (matches header). */
.messenger-icon--max path:first-of-type { fill: currentColor; }
.messenger-icon--max path:last-of-type { fill: #fff; }
.contact-section__messenger .messenger-icon--max,
.site-faq__messenger .messenger-icon--max,
.mobile-header-action .messenger-icon--max {
	display: block;
	color: var(--messenger);
}
.contact-section__messenger:hover .messenger-icon--max,
.site-faq__messenger:hover .messenger-icon--max,
.mobile-header-action:hover .messenger-icon--max {
	color: var(--accent-dark);
}
.ask-question-messengers__icon .messenger-icon--max {
	display: block;
	color: var(--accent);
}

.ask-question-messengers__note { display: block; font-size: 10px; color: var(--ink-soft); margin-top: 2px; text-align: center; }

@media (max-width: 640px) {
	.ask-question-modal {
		align-items: flex-end;
		padding: 0;
	}
	.ask-question-modal__panel {
		width: 100%;
		max-width: none;
		max-height: min(92dvh, calc(100vh - 8px));
		margin: 0;
		/* Extra bottom pad so consents + submit stay scrollable and not flush to sheet edge. */
		padding: 20px 16px calc(48px + env(safe-area-inset-bottom, 0px));
		border-radius: 16px 16px 0 0;
		gap: 0;
	}
	.ask-question-modal__title {
		margin: 0 36px 6px 0;
		font-size: 20px;
		font-weight: 800;
		line-height: 1.25;
	}
	.ask-question-modal__product { margin: 0 0 14px; font-size: 12px; line-height: 1.35; }
	.ask-question-form {
		order: 3;
		margin: 0;
		padding-top: 14px;
		padding-bottom: 8px;
		border-top: 1px solid var(--line);
		gap: 8px;
	}
	.ask-question-form__alt-label {
		display: block;
		font-size: 14px;
		font-weight: 400;
	}
	.ask-question-messengers {
		order: 1;
		margin: 0 0 4px;
	}
	.ask-question-messengers__label {
		margin: 0 0 10px;
		font-size: 14px;
		font-weight: 400;
	}
	.ask-question-messengers__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	.ask-question-messengers__link {
		min-height: 64px;
		padding: 12px 8px;
		font-size: 13px;
	}
	.ask-question-messengers__note { display: none; }
	.ask-question-form__field span { font-size: 12px; }
	.ask-question-form__field input,
	.ask-question-form__field textarea {
		/* Keep ≥16px so iOS does not zoom when the user later taps a field. */
		font-size: 16px;
		padding: 11px 12px;
	}
	.ask-question-form__submit { min-height: 48px; }
}

/* T-104: customer My Account presentation; Woo core owns endpoint behavior. */
.header-utility-bar__account, .mobile-nav-account { display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-weight:600; text-decoration:none; }
.header-utility-bar__account:hover, .mobile-nav-account:hover { color:var(--accent); text-decoration:none; }
.mobile-nav-account { padding:10px 0; }
.woocommerce-account.logged-in .content-page__body > .woocommerce { display:grid; grid-template-columns:minmax(190px,240px) minmax(0,1fr); gap:32px; align-items:start; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:8px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:11px 14px; border-radius:9px; color:var(--ink); font-weight:600; text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:rgba(235,84,19,.1); color:var(--accent-dark); }
.woocommerce-account .woocommerce-MyAccount-content { min-width:0; }
.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.lost_reset_password, .woocommerce-account .woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields { max-width:720px; margin:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.woocommerce-account .woocommerce form .form-row { margin-bottom:16px; }
.woocommerce-account .woocommerce form input.input-text { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; }
.woocommerce-account .woocommerce button.button, .woocommerce-account .woocommerce a.button { border-radius:var(--button-radius); background:var(--accent-dark); color:var(--white); font-family:"Jost",sans-serif; text-transform:uppercase; } /* T-353 P1-A */
.account-shortcuts { margin-top:24px; }
.account-shortcuts h2 { margin-bottom:8px; }
.account-shortcuts__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.account-shortcut { display:flex; flex-direction:column; gap:4px; padding:20px; border:1px solid var(--line); border-radius:var(--radius); color:var(--ink); text-decoration:none; }
.account-shortcut:hover { border-color:var(--accent); text-decoration:none; }
.account-shortcut span { color:var(--ink-soft); font-size:14px; }
.account-billing-link { margin-top:20px; }
@media (max-width:700px) {
	.woocommerce-account.logged-in .content-page__body > .woocommerce { grid-template-columns:1fr; gap:20px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
	.woocommerce-account .woocommerce-MyAccount-navigation a { padding:10px; }
	.account-shortcuts__grid { grid-template-columns:1fr; }
	.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.lost_reset_password, .woocommerce-account .woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields { padding:18px; }
}

/* T-134 -- guarantee badge distribution (product/category/checkout) */
.guarantee-badge {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 16px;
	background: #fff4ec;
	border: 1px solid #f5d3b8;
	border-radius: var(--radius);
	margin-top: 16px;
}
.guarantee-badge__icon { flex: 0 0 auto; color: var(--accent); margin-top: 1px; }
.guarantee-badge__text { font-size: 13px; line-height: 1.5; color: var(--ink); }
.guarantee-badge__link { color: var(--accent); text-decoration: underline; white-space: nowrap; margin-left: 4px; }
.guarantee-badge__link:hover { color: var(--accent-dark); }
.guarantee-badge--product { margin-top: 12px; max-width: 480px; }
/* T-198/T-199: compact "chip" form for the PDP hero -- same content/link, tighter
   padding/line-height so it reads as a short reassurance line under the CTA row instead
   of a full band competing with it for vertical space above the fold. */
.guarantee-badge--chip { padding: 9px 14px; }
.guarantee-badge--chip .guarantee-badge__text { font-size: 12px; line-height: 1.4; }
.guarantee-badge--category { margin: 16px 0 24px; }
/* T-190: `.guarantee-badge--bottom` only exists in the DOM below 900px (see
   `.shop-main .guarantee-badge--bottom` below); above that it stays display:none so desktop
   keeps the single top-of-page badge it already had. */
.guarantee-badge--bottom { display: none; }
@media (max-width: 900px) {
	.guarantee-badge--top { display: none; }
	.shop-main .guarantee-badge--bottom { display: flex; margin-top: 24px; }
}
.guarantee-badge--checkout { margin: 0 0 24px; }

/* Cart proceed CTA — primary orange.
   Stage/cart page uses WooCommerce Cart Block (wc-block-cart__submit-button),
   not classic a.checkout-button — block default is dark gray + orange text. */
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart a.wc-block-cart__submit-button.contained,
.wc-block-cart .wc-block-cart__submit-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 14px 20px !important;
	border: 0 !important;
	border-radius: var(--button-radius) !important;
	background: var(--accent-dark) !important;
	background-color: var(--accent-dark) !important;
	color: #fff !important;
	font: 700 15px/1.2 "Jost", sans-serif !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart a.wc-block-cart__submit-button.contained:hover,
.wc-block-cart .wc-block-cart__submit-button:hover {
	background: var(--accent-darker) !important;
	background-color: var(--accent-darker) !important;
	color: #fff !important;
	text-decoration: none !important;
}
.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-cart .wc-block-cart__submit-button .wc-block-components-button__text {
	color: #fff !important;
}
/* Classic shortcode cart fallback */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 14px 20px !important;
	border: 0 !important;
	border-radius: var(--button-radius) !important;
	background: var(--accent-dark) !important;
	color: #fff !important;
	font: 700 15px/1.2 "Jost", sans-serif !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart a.checkout-button.button:hover {
	background: var(--accent-darker) !important;
	color: #fff !important;
	text-decoration: none !important;
}

/* T-154 -- classic checkout presentation. WooCommerce/plugin code owns fields, validation,
   shipping, totals and payment; the theme only composes the storefront surface. */
.woocommerce-checkout .content-page { max-width: 1180px; margin: 0 auto; }
.woocommerce-checkout .content-page__body > .woocommerce { width: 100%; }
.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); grid-template-rows:auto 1fr; gap:16px 28px; align-items:start; }
.woocommerce-checkout form.checkout > .col2-set { grid-column:1; grid-row:1 / span 2; }
.woocommerce-checkout form.checkout > .col2-set .col-1,
.woocommerce-checkout form.checkout > .col2-set .col-2 { float:none; width:100%; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-column:2; grid-row:1; margin:0; }
.woocommerce-checkout form.checkout > #order_review { grid-column:2; grid-row:2; }
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review { padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading { font-size:24px; line-height:1.25; color:var(--ink); }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; }
.woocommerce-checkout .woocommerce form .form-row { float:none; width:100%; margin:0; }
.woocommerce-checkout .woocommerce form .form-row-wide { grid-column:span 1; }
.woocommerce-checkout .woocommerce form label { display:block; margin-bottom:6px; color:var(--ink); font-weight:600; }
.woocommerce-checkout .woocommerce form .optional { color:var(--ink-soft); font-weight:400; }
.woocommerce-checkout .woocommerce form input.input-text,
.woocommerce-checkout .woocommerce form textarea,
.woocommerce-checkout .woocommerce form select,
.woocommerce-checkout .select2-container .select2-selection--single { width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--ink); font:inherit; }
.woocommerce-checkout .select2-container .select2-selection--single { padding:9px 13px; }
.woocommerce-checkout .select2-container .select2-selection__rendered { padding:0; line-height:28px; }
.woocommerce-checkout .select2-container .select2-selection__arrow { min-height:46px; }
.woocommerce-checkout .woocommerce form textarea { min-height:108px; resize:vertical; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top:18px; }
.woocommerce-checkout .bezlimitik-checkout-contact { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.woocommerce-checkout .bezlimitik-checkout-contact h3 { margin:0 0 14px; font-size:20px; }
.woocommerce-checkout .bezlimitik-checkout-contact .woocommerce-form__label-for-checkbox { display:flex; align-items:flex-start; gap:10px; font-weight:400; }
.woocommerce-checkout .bezlimitik-checkout-contact input[type="checkbox"] { flex:0 0 20px; width:20px; height:20px; margin-top:2px; accent-color:var(--accent); }
.woocommerce-checkout .bezlimitik-checkout-consent { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:12px; }
.woocommerce-checkout .bezlimitik-checkout-consent .woocommerce-form__label-for-checkbox { display:flex; align-items:flex-start; gap:10px; font-weight:400; }
.woocommerce-checkout .bezlimitik-checkout-consent input[type="checkbox"] { flex:0 0 20px; width:20px; height:20px; margin-top:2px; accent-color:var(--accent); }

/* T-248 Step C — shipping-profile status chips (cart/checkout) + order breakdown (owner [80]/[84] Variant A). */
.bezlimitik-shipping-chip {
	display: inline-block;
	margin-top: 6px;
	padding: 4px 10px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--bg);
	font-size: 11px;
	line-height: 1.4;
	color: var(--ink-soft);
}
.bezlimitik-shipping-chip--salon,
.bezlimitik-shipping-chip--install { border-color: var(--accent); color: var(--accent); background: #fff8f4; }
.bezlimitik-mixed-cart-notice.woocommerce-info { margin-bottom: 18px; }
.bezlimitik-order-shipping-breakdown { margin-top: 32px; }
.bezlimitik-order-shipping-breakdown dl { display: flex; flex-direction: column; gap: 14px; margin: 16px 0 0; }
.bezlimitik-order-shipping-breakdown dt { font-weight: 700; margin-bottom: 4px; }
.bezlimitik-order-shipping-breakdown dd { margin: 0; color: var(--ink-soft); }
.woocommerce-checkout table.shop_table { width:100%; border-collapse:collapse; }
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td { padding:12px 8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.woocommerce-checkout table.shop_table td:last-child,
.woocommerce-checkout table.shop_table th:last-child { text-align:right; }
.woocommerce-checkout #payment { margin-top:20px; padding:18px; border-radius:12px; background:var(--bg); }
.woocommerce-checkout #payment ul.payment_methods { list-style:none; margin:0; padding:0; }
.woocommerce-checkout #payment .payment_box { margin:10px 0; padding:12px; border-radius:10px; background:var(--white); }
.woocommerce-checkout #payment .place-order { margin:18px 0 0; }
.woocommerce-checkout #place_order { width:100%; min-height:50px; border:0; border-radius:var(--button-radius); background:var(--accent); color:var(--white); font:700 15px/1 "Jost",sans-serif; text-transform:uppercase; cursor:pointer; }
.woocommerce-checkout #place_order:hover { background:var(--accent-dark); }
/* T-259 Step B (owner [89] Q3, 2026-07-17): login/coupon toggles read as quiet inline text,
   not bordered boxes -- trust/guarantee strip removed from checkout separately in functions.php. */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle { display:inline-block; margin:0 0 20px; vertical-align:top; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin:0; padding:0; border:0; border-radius:0; background:none; font-size:15px; color:var(--ink-soft); }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { content:none; }
.woocommerce-checkout .woocommerce-form-login-toggle + .woocommerce-form-coupon-toggle::before { content:"\00b7"; display:inline-block; margin:0 10px; color:var(--ink-soft); }
.woocommerce-checkout .woocommerce-info { margin:0 0 18px; padding:14px 18px; border:1px solid var(--line); border-radius:12px; background:var(--white); }
@media (max-width:900px) {
	.woocommerce-checkout form.checkout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; gap:18px; }
	.woocommerce-checkout form.checkout > .col2-set,
	.woocommerce-checkout form.checkout > #order_review_heading,
	.woocommerce-checkout form.checkout > #order_review { grid-column:1; grid-row:auto; }
}
@media (max-width:640px) {
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout #order_review { padding:18px 15px; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { grid-template-columns:minmax(0,1fr); }
	.woocommerce-checkout .woocommerce form .form-row-wide { grid-column:1; }
	.woocommerce-checkout .woocommerce-billing-fields h3,
	.woocommerce-checkout .woocommerce-additional-fields h3,
	.woocommerce-checkout #order_review_heading { font-size:21px; }
}

/* T-140 -- retention block on the 17 T-118 service-guide posts (category "stati"): closes the
   loop for readers who are already bezlimitik customers looking up how to use their service. */
.service-guide-retention {
	margin-top: 32px;
	padding: 18px 20px;
	background: #fff4ec;
	border: 1px solid #f5d3b8;
	border-radius: var(--radius);
}
.service-guide-retention__question { font-weight: 600; margin: 0 0 4px; color: var(--ink); }
.service-guide-retention__text { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--ink); }
.service-guide-retention__actions { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.service-guide-retention__link { color: var(--accent); text-decoration: underline; font-size: 14px; }
.service-guide-retention__link:hover { color: var(--accent-dark); }

.service-guide-conversion {
	margin-top: 20px;
	padding: 18px 20px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.service-guide-conversion__question { font-weight: 600; margin: 0 0 4px; color: var(--ink); }
.service-guide-conversion__text { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
.service-guide-conversion__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 22px;
	border-radius: var(--button-radius);
	background: var(--accent);
	color: var(--white);
	font-weight: 700;
	text-decoration: none;
}
.service-guide-conversion__link:hover { background: var(--accent-dark); }
.service-guide-conversion__actions { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }

/* T-032 (§4b C3) -- trust strip on the same service-guide posts, below the conversion/retention
   CTA blocks. Reuses .review-trust-strip (T-132/T-258) inside a matching card wrapper. */
.service-guide-trust {
	margin-top: 20px;
	padding: 18px 20px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.service-guide-trust__strip { margin-bottom: 10px; }
.service-guide-trust__text { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ink-soft); }

/* T-143 -- eSIM discovery on home, supported operator archives, and quiz results. */
.home-esim-discovery { padding-top: 0; }
.esim-promo {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	padding: 22px 24px;
	margin: 0 0 28px;
	border: 1px solid #f5d3b8;
	border-radius: var(--radius);
	background: linear-gradient(110deg, #fff4ec 0%, #fff 72%);
}
.esim-promo__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: var(--accent);
	color: var(--white);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .02em;
}
.esim-promo__title { margin: 0 0 4px; font-size: 22px; line-height: 1.2; }
.esim-promo__copy p { margin: 0; color: var(--ink-soft); line-height: 1.45; }
.esim-promo__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: var(--button-radius);
	background: var(--accent);
	color: var(--white);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.esim-promo__link:hover { background: var(--accent-dark); color: var(--white); text-decoration: none; }
.esim-promo--category { margin: 4px 0 28px; }
.esim-promo--quiz { grid-template-columns: auto minmax(0, 1fr); margin: 20px 0 4px; padding: 16px; }
.esim-promo--quiz .esim-promo__icon { width: 48px; height: 48px; border-radius: 13px; font-size: 13px; }
.esim-promo--quiz .esim-promo__title { font-size: 18px; }
.esim-promo--quiz .esim-promo__link { grid-column: 1 / -1; }

@media (max-width: 700px) {
	.esim-promo { grid-template-columns: auto minmax(0, 1fr); padding: 18px; gap: 14px; }
	.esim-promo__icon { width: 50px; height: 50px; border-radius: 14px; font-size: 13px; }
	.esim-promo__title { font-size: 19px; }
	.esim-promo__link { grid-column: 1 / -1; width: 100%; }
}

/* Keep the shared FAQ heading scale authoritative over generic section-heading rules. */
.site-faq .site-faq__copy h2 { font-size: 40px; }

@media (max-width: 760px) {
	.site-faq .site-faq__copy h2 { font-size: 24px; }
}

/* T-139 -- order-received ("thank you") page: activation checklist + link to Personal
   Account. Card visual reuses the .service-guide-retention / .guarantee-badge convention. */
.order-next-steps {
	margin-top: 32px;
	padding: 20px 24px;
	background: #fff4ec;
	border: 1px solid #f5d3b8;
	border-radius: var(--radius);
	max-width: 640px;
}
.order-next-steps__title { margin: 0 0 12px; font-size: 18px; color: var(--ink); }
.order-next-steps__list { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.order-next-steps__list li { font-size: 14px; line-height: 1.5; color: var(--ink); }
.order-next-steps__items { margin: 6px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.order-next-steps__items li { font-size: 14px; line-height: 1.45; }

.order-next-steps__link { color: var(--accent); text-decoration: underline; }
.order-next-steps__link:hover { color: var(--accent-dark); }
/* T-139 residual — dead-SIM help under thank-you checklist */
.order-next-steps__sim-help {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #f5d3b8;
}
.order-next-steps__sim-help-title {
	margin: 0 0 10px;
	font-size: 16px;
	color: var(--ink);
}
.order-next-steps__sim-help-list {
	margin: 0;
	padding-left: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.order-next-steps__sim-help-list li {
	font-size: 13px;
	line-height: 1.5;
	color: var(--ink);
}
.order-next-steps__sim-help-q {
	display: block;
	margin-bottom: 2px;
}
.order-next-steps__sim-help-a {
	display: block;
	color: var(--ink);
	opacity: 0.92;
}


/* T-thankyou-mobile-overview-20260828 — order-received mobile: stack overview, hide payment in strip, full-width shipping */
@media (max-width: 768px) {
	.woocommerce-order-received ul.order_details,
	.woocommerce-order-received .woocommerce-order-overview {
		display: flex;
		flex-direction: column;
		float: none;
		width: 100%;
		margin: 0 0 20px;
		padding: 0;
		gap: 0;
	}
	.woocommerce-order-received ul.order_details::before,
	.woocommerce-order-received ul.order_details::after {
		display: none;
	}
	.woocommerce-order-received ul.order_details li {
		float: none;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 10px 0;
		border-right: 0;
		border-bottom: 1px solid var(--line, #e8e4de);
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 12px;
		text-transform: none;
		font-size: 13px;
		line-height: 1.4;
		letter-spacing: 0;
	}
	.woocommerce-order-received ul.order_details li:last-of-type {
		border-bottom: 0;
	}
	.woocommerce-order-received ul.order_details li strong {
		display: inline;
		font-size: 15px;
		text-align: right;
		word-break: break-word;
	}
	.woocommerce-order-received ul.order_details .woocommerce-order-overview__payment-method {
		display: none;
	}
	.woocommerce-order-received table.shop_table tfoot tr.shipping th,
	.woocommerce-order-received table.shop_table tfoot tr.woocommerce-shipping-totals th {
		display: block;
		width: 100%;
		text-align: left;
		padding-bottom: 4px;
		border-bottom: 0;
	}
	.woocommerce-order-received table.shop_table tfoot tr.shipping td,
	.woocommerce-order-received table.shop_table tfoot tr.woocommerce-shipping-totals td {
		display: block;
		width: 100%;
		text-align: left;
		padding-top: 0;
		word-break: break-word;
	}
	.woocommerce-order-received .woocommerce-order-details {
		padding-bottom: 72px;
	}
}

/* T-202 — seasonal freeze conversion callout (OWNER [24]) */
.freeze-callout {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, #1a6bb5 28%, var(--line));
	border-radius: 10px;
	background: color-mix(in srgb, #1a6bb5 8%, var(--bg));
}
.freeze-callout__icon { flex: 0 0 auto; color: #1a6bb5; margin-top: 1px; }
.freeze-callout__title { display: block; font-size: 14px; line-height: 1.35; color: var(--ink); margin-bottom: 4px; }
.freeze-callout__text { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ink); }
.freeze-callout__link { color: var(--accent); text-decoration: underline; margin-left: 4px; white-space: nowrap; }
.freeze-callout__link:hover { color: var(--accent-dark); }
.freeze-callout--product { margin-top: 10px; max-width: 520px; }
.freeze-callout--category { margin: 0 0 20px; }
.freeze-chip {
	display: inline-flex;
	align-items: center;
	margin: 6px 0 2px;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #0f4f86;
	background: color-mix(in srgb, #1a6bb5 14%, #fff);
	border: 1px solid color-mix(in srgb, #1a6bb5 30%, transparent);
}
@media (max-width: 900px) {
	.freeze-callout--product { max-width: none; }
}


/* T-193 -- add-to-cart confirmation modal (prod parity). Same structural pattern as the
   ask-question modal (fixed overlay, centered panel, backdrop click + Escape + Tab-trap close)
   -- kept as its own block instead of reusing .ask-question-modal because content/CTAs differ
   (product thumb + two purchase actions vs. a contact form). */
.cart-added-modal[hidden] { display: none; }
.cart-added-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.cart-added-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}
.cart-added-modal__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 460px;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	background: var(--white);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	padding: 32px 28px 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}
.cart-added-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: var(--ink-soft);
}
.cart-added-modal__close:hover { color: var(--ink); }
.cart-added-modal__title {
	margin: 0;
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.cart-added-modal__product {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.cart-added-modal__thumb[hidden] { display: none; }
.cart-added-modal__thumb {
	max-width: 220px;
	max-height: 160px;
	object-fit: contain;
}
.cart-added-modal__name {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
	text-transform: uppercase;
}
.cart-added-modal__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	width: 100%;
}
.cart-added-modal__checkout,
.cart-added-modal__continue {
	flex: 1 1 200px;
}
@media (max-width: 640px) {
	.cart-added-modal__panel { padding: 26px 18px 22px; }
}

/* T-135 -- bundle-scenario chip (catalog card), same visual family as .freeze-chip. */
.bundle-chip {
	display: inline-flex;
	align-items: center;
	margin: 6px 6px 2px 0;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #1c6b3d;
	background: color-mix(in srgb, #2f9e57 14%, #fff);
	border: 1px solid color-mix(in srgb, #2f9e57 30%, transparent);
}
.own-number-chip--same_op {
  color: var(--blue);
  border-color: color-mix(in srgb, var(--blue) 38%, white);
  background: color-mix(in srgb, var(--blue) 10%, white);
}
.own-number-chip--transition {
  color: var(--accent-dark);
  border-color: color-mix(in srgb, var(--accent) 44%, white);
  background: color-mix(in srgb, var(--accent) 10%, white);
}

.bezlimitik-own-number-checkout {
  margin: 0 0 18px;
  padding: 16px;
  border: 2px solid color-mix(in srgb, var(--accent) 48%, white);
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 7%, white);
}
.bezlimitik-own-number-checkout legend {
  padding: 0 4px;
  color: var(--ink);
  font-weight: 700;
}
.bezlimitik-own-number-checkout .form-row { margin: 8px 0 0; }
.bezlimitik-own-number-checkout__hint,
.bezlimitik-own-number-checkout__mixed { margin: 5px 0 0; color: var(--ink-soft); }
.bezlimitik-own-number-checkout__mixed { color: var(--accent-dark); font-weight: 700; }

/* T-333 -- owner social marks on catalog cards (hit / choice). */
.hit-chip {
	display: inline-flex;
	align-items: center;
	margin: 6px 6px 2px 0;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--accent-dark);
	background: color-mix(in srgb, var(--accent) 12%, var(--white));
	border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
}
.choice-chip {
	display: inline-flex;
	align-items: center;
	margin: 6px 6px 2px 0;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--blue);
	background: color-mix(in srgb, var(--blue) 10%, var(--white));
	border: 1px solid color-mix(in srgb, var(--blue) 30%, transparent);
}

/* T-231 -- scenario-label chip (catalog card), canonical_plus_scenario mode badge; same visual family as .freeze-chip/.bundle-chip. */
.scenario-label-chip {
	display: inline-flex;
	align-items: center;
	margin: 0 0 6px;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #8a4b12;
	background: color-mix(in srgb, #e08a2b 14%, #fff);
	border: 1px solid color-mix(in srgb, #e08a2b 30%, transparent);
}

/* T-135 -- home "Готовые комплекты под задачу" scenario section. */
.home-bundle-scenarios__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-bundle-scenarios__card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(29, 29, 29, 0.14);
	color: var(--ink);
	transition: transform .2s ease, box-shadow .2s ease;
	text-decoration: none;
}
.home-bundle-scenarios__card:hover { color: var(--ink); text-decoration: none; transform: translateY(-3px); box-shadow: 0 10px 26px rgba(29, 29, 29, 0.2); }
.home-bundle-scenarios__label {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 1;
	padding: 4px 12px;
	border-radius: 999px;
	background: #1c6b3d;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.home-bundle-scenarios__image { display: flex; align-items: center; justify-content: center; height: 200px; padding: 20px; background: var(--bg); }
.home-bundle-scenarios__image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.home-bundle-scenarios__body { display: flex; flex: 1; flex-direction: column; padding: 20px 24px 24px; }
.home-bundle-scenarios__title { font-size: 17px; font-weight: 700; line-height: 1.35; }
.home-bundle-scenarios__text { margin-top: 10px; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.home-bundle-scenarios__price { margin-top: 14px; font-size: 18px; font-weight: 700; color: var(--ink); }
.home-bundle-scenarios__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-top: 14px;
	padding: 12px 18px;
	border: 1px solid var(--accent);
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}
.home-bundle-scenarios__card:hover .home-bundle-scenarios__button { border-color: var(--accent-dark); background: var(--accent-dark); color: #fff; }
@media (max-width: 990px) { .home-bundle-scenarios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .home-bundle-scenarios__grid { grid-template-columns: minmax(0, 1fr); } }


/* T-244 equipment upsell one-click */
.product-upsell__lead {
	margin: -24px 0 28px;
	max-width: 42rem;
	color: var(--ink-soft, #5b6470);
	font-size: 16px;
	line-height: 1.45;
}
.product-upsell__hint {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--ink-soft, #5b6470);
}
.product-upsell__add-combo {
	width: 100%;
}
.product-upsell__add-combo.is-added,
.product-upsell__add-combo:disabled {
	opacity: 0.75;
	cursor: default;
}
.product-card--upsell-oneclick .product-card__cta {
	margin-top: auto;
}
@media (max-width: 899px) {
	.product-upsell__lead {
		margin-top: -12px;
		font-size: 15px;
	}
}


/* T-240 mobile footer prod parity */
@media (max-width: 899px) {
	.site-footer {
		padding: 28px 0 calc(var(--site-legal-h, 0px) + 96px);
	}
	.footer-grid {
		grid-template-columns: 1fr;
		gap: 22px;
		margin-bottom: 20px;
	}
	.footer-about {
		margin-bottom: 12px;
		font-size: 14px;
	}
	.footer-hours {
		margin: 0 0 16px;
		font-size: 14px;
		line-height: 1.5;
		color: var(--ink);
	}
	.footer-messengers {
		gap: 12px;
		margin-top: 4px;
		margin-bottom: 8px;
	}
	.footer-messengers a,
	.footer-messenger {
		width: 44px;
		height: 44px;
	}
	.footer-col--contacts h3,
	.footer-col--contacts .footer-col-heading {
		margin-bottom: 12px;
	}
	.footer-phone a {
		font-size: 24px;
	}
	.footer-col--accordion h3,
	.footer-col--accordion .footer-col-heading {
		margin-bottom: 0;
	}
	.footer-bottom {
		padding-top: 18px;
		gap: 10px;
	}
}

/* T-310: below 352px hide 2 of 4 header quick-contacts (keep WhatsApp + phone); channels remain in drawer */
@media (max-width: 351px) {
	.mobile-header-action--max,
	.mobile-header-action--telegram {
		display: none;
	}
	.site-header__left {
		flex: 0 0 72px;
		margin-left: 8px;
	}
	.site-header__left .logo img {
		width: 72px;
	}
}

.mobile-nav-messengers {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.mobile-nav-messenger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 6px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	color: var(--ink);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
}
.mobile-nav-messenger:hover {
	color: var(--accent-dark);
	text-decoration: none;
	border-color: var(--accent);
}
.mobile-nav-messenger svg {
	display: block;
	fill: currentColor;
	flex: 0 0 auto;
}
.mobile-nav-messenger--max {
	color: var(--messenger);
}

/* T-348: coverage-map prod-parity tiles (karta-pokrytiya-*-v-moskve pages). */
.coverage-map {
	margin-top: 20px;
}
.coverage-map__frame {
	width: 100%;
	height: 560px;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f5f5;
}
.coverage-map__fallback {
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #f5f5f5;
}
.coverage-map__disclaimer {
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--ink-soft);
}

/* T-560: teaser/CTA above map, operator switcher, light cross-sell (T-557 report §D). */
.coverage-map__teaser {
	margin: 16px 0 0;
	font-size: 15px;
	line-height: 1.5;
}
.coverage-map__teaser a {
	font-weight: 600;
}
.coverage-map__switcher {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
}
.coverage-map__switcher-label {
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--ink-soft);
}
.coverage-map__switcher-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.coverage-map__switcher-item {
	margin: 0;
}
.coverage-map__switcher-link {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid var(--line);
	border-radius: var(--button-radius);
	color: var(--ink);
	text-decoration: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.coverage-map__switcher-link:hover,
.coverage-map__switcher-link:focus-visible {
	border-color: var(--accent);
	background: var(--bg);
}
.coverage-map__switcher-link img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}
/* T-564 visual polish + hierarchy / switcher cards / no-link titles */
.coverage-map__explain {
	margin-top: 16px;
	padding: 16px 18px;
	border-radius: 8px;
	background: var(--bg);
	border: 1px solid var(--line);
	color: var(--ink-soft);
	font-size: 15px;
	line-height: 1.55;
}
.coverage-map__explain p {
	margin: 0 0 0.65rem;
}
.coverage-map__explain p:last-child {
	margin-bottom: 0;
}

/* T-565: authored operator paragraph + FAQ directly below the map explanation. */
.coverage-map__seo {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 28px;
}
.coverage-map__seo > p {
	margin: 0;
	color: var(--ink-soft);
	line-height: 1.65;
}
.coverage-map__seo h2 {
	margin: 0;
	font-size: 28px;
	line-height: 1.25;
}
.coverage-map__seo .faq-list {
	gap: 10px;
}

.coverage-map__conversion {
	margin-top: 32px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

/* Hierarchy: lead = support copy; section titles = real headings */
.coverage-map__conversion-lead {
	margin: 0 0 8px;
	max-width: 40rem;
	font-size: 15px;
	line-height: 1.45;
	font-weight: 500;
	color: var(--ink-soft);
}
.coverage-map__section-title,
.coverage-map__cards-title,
.coverage-map__switcher-title,
.coverage-map__quiz .coverage-map__section-title {
	margin: 0 0 16px;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ink);
}
.coverage-map__cards-title {
	margin-top: 4px;
}

.coverage-map__cards {
	margin: 0 0 28px;
}
.coverage-map__cards .products,
.coverage-map__cards ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.coverage-map__cards-more {
	margin: 0;
}
.coverage-map__cards-more-link,
.content-page__body a.coverage-map__cards-more-link,
.content-page__body a.coverage-map__cards-more-link:visited {
	color: var(--accent) !important;
	font-weight: 600;
	text-decoration: none !important;
}
.coverage-map__cards-more-link:hover,
.content-page__body a.coverage-map__cards-more-link:hover {
	text-decoration: underline !important;
}

/* Catalog convention: title is ink, not body-link orange/underline */
.content-page__body .coverage-map__cards .product-card__title a,
.content-page__body .coverage-map__cards .product-card__title a:visited,
.content-page__body .coverage-map__cards .product-card__title a:hover,
.content-page__body .coverage-map__cards .product-card__title a:focus-visible,
.content-page__body .coverage-map__cards a.product-card__image,
.content-page__body .coverage-map__cards a.product-card__image:hover {
	color: var(--ink) !important;
	text-decoration: none !important;
}

.coverage-map__quiz.category-quiz-teaser {
	margin: 0 0 32px;
}
.coverage-map__quiz .coverage-map__section-title {
	margin-bottom: 6px;
	font-size: 22px;
}
.coverage-map__quiz-button,
.content-page__body button.coverage-map__quiz-button {
	color: #fff !important;
}

.coverage-map__equipment {
	margin: 0 0 28px;
}
.coverage-map__equipment-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.coverage-map__equipment-item {
	margin: 0;
	min-width: 0;
}
.coverage-map__equipment-card,
.content-page__body a.coverage-map__equipment-card,
.content-page__body a.coverage-map__equipment-card:visited {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(29, 29, 29, 0.14);
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.coverage-map__equipment-card:hover,
.coverage-map__equipment-card:focus-visible,
.content-page__body a.coverage-map__equipment-card:hover,
.content-page__body a.coverage-map__equipment-card:focus-visible {
	color: var(--ink) !important;
	text-decoration: none !important;
	transform: translateY(-3px);
	box-shadow: 0 10px 26px rgba(29, 29, 29, 0.2);
}
.coverage-map__equipment-image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 160px;
	padding: 16px;
	background: var(--bg);
}
.coverage-map__equipment-image img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.coverage-map__equipment-info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 14px;
	padding: 20px 22px 22px;
}
.coverage-map__equipment-card-title {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}
.coverage-map__equipment-card-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	width: 100%;
	box-sizing: border-box;
	min-height: 46px;
	margin-top: auto;
	padding: 12px 18px;
	border: 1px solid var(--accent);
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}
.coverage-map__equipment-card:hover .coverage-map__equipment-card-cta {
	border-color: var(--accent-dark);
	background: var(--accent-dark);
}

/* Operator coverage interlinking — expressive cards */
.coverage-map__switcher {
	margin-top: 8px;
	padding-top: 28px;
	border-top: 1px solid var(--line);
}
.coverage-map__switcher-title {
	margin-bottom: 6px;
}
.coverage-map__switcher-lead {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--ink-soft);
}
.coverage-map__switcher-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.coverage-map__switcher-item {
	margin: 0;
	min-width: 0;
}
.coverage-map__switcher-card,
.content-page__body a.coverage-map__switcher-card,
.content-page__body a.coverage-map__switcher-card:visited {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 88px;
	padding: 16px 18px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--line);
	box-shadow: 0 4px 14px rgba(29, 29, 29, 0.08);
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.coverage-map__switcher-card:hover,
.coverage-map__switcher-card:focus-visible,
.content-page__body a.coverage-map__switcher-card:hover,
.content-page__body a.coverage-map__switcher-card:focus-visible {
	border-color: rgba(235, 84, 19, 0.35);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
	color: var(--ink) !important;
	text-decoration: none !important;
	transform: translateY(-2px);
}
.coverage-map__switcher-logo {
	flex: 0 0 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--bg);
}
.coverage-map__switcher-logo img {
	display: block;
	width: 36px;
	height: 36px;
	object-fit: contain;
}
.coverage-map__switcher-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.coverage-map__switcher-name {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ink);
}
.coverage-map__switcher-cta {
	font-size: 13px;
	font-weight: 600;
	color: var(--accent);
}

/* legacy leftovers */
.coverage-map__switcher-label,
.coverage-map__switcher-link {
	display: none;
}
.coverage-map__crosssell {
	margin-top: 24px;
	padding: 18px 20px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--bg);
}
.coverage-map__crosssell-lead {
	margin: 0 0 12px;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ink);
}
.coverage-map__crosssell-link,
.content-page__body a.coverage-map__crosssell-link,
.content-page__body a.coverage-map__crosssell-link:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border-radius: var(--button-radius);
	background: var(--accent);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}

@media (max-width: 1024px) {
	.coverage-map__cards .products,
	.coverage-map__cards ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.coverage-map__equipment-list,
	.coverage-map__switcher-list {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}
@media (max-width: 640px) {
	.coverage-map__cards .products,
	.coverage-map__cards ul.products {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.coverage-map__section-title,
	.coverage-map__cards-title,
	.coverage-map__switcher-title {
		font-size: 20px;
	}
}

/* T-433: remove login/coupon/create-account chrome (owner lock) */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout #createaccount,
.woocommerce-checkout .create-account,
.woocommerce-cart .woocommerce-form-coupon-toggle {
	display: none !important;
}
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout .bezlimitik-checkout-contact {
	display: none !important;
}

/* T-432: Cart Block visual parity (prod-like soft cards) */
.woocommerce-cart .content-page,
.woocommerce-cart .wp-block-woocommerce-cart {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}
.woocommerce-cart .wp-block-woocommerce-cart-items-block,
.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
.woocommerce-cart .wc-block-components-sidebar {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 20px 22px;
	box-shadow: 0 8px 28px rgba(28, 20, 16, 0.04);
}
.woocommerce-cart .wc-block-cart {
	gap: 24px;
}
.woocommerce-cart .wc-block-cart-item__wrap,
.woocommerce-cart .wc-block-cart-items__row {
	border-bottom: 1px solid var(--line);
	padding: 16px 0;
}
.woocommerce-cart .wc-block-cart-items__row:last-child {
	border-bottom: 0;
}
.woocommerce-cart .wc-block-components-product-name {
	font: 600 17px/1.35 "Jost", sans-serif;
	color: var(--ink);
	text-decoration: none;
}
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-product-metadata {
	color: var(--ink-soft);
	font-size: 14px;
}
.woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--line);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}
.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	min-height: 40px;
	border: 0 !important;
	background: transparent !important;
	color: var(--ink) !important;
	font: 600 15px/1 "Jost", sans-serif !important;
}
.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	background: #fff4ec !important;
	color: var(--accent) !important;
}
.woocommerce-cart .wc-block-cart-item__remove-link,
.woocommerce-cart a.wc-block-cart-item__remove-link {
	color: var(--ink-soft) !important;
	font-size: 13px;
	text-decoration: underline;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--accent) !important;
}
.woocommerce-cart .wc-block-components-totals-wrapper,
.woocommerce-cart .wc-block-components-totals-item {
	font-size: 15px;
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font: 700 20px/1.3 "Jost", sans-serif;
	color: var(--ink);
}
.woocommerce-cart .wc-block-cart__submit-container {
	margin-top: 16px;
}
.woocommerce-cart .wc-block-cart-empty,
.woocommerce-cart .wc-block-cart__empty-cart__title,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	text-align: center;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.woocommerce-cart .wc-block-cart__empty-cart__products-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 14px 28px !important;
	border-radius: var(--button-radius) !important;
	background: var(--accent-dark) !important;
	color: #fff !important;
	font: 700 15px/1.2 "Jost", sans-serif !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}
@media (max-width: 781px) {
	.woocommerce-cart .wp-block-woocommerce-cart-items-block,
	.woocommerce-cart .wc-block-cart-items,
	.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
	.woocommerce-cart .wc-block-components-sidebar {
		padding: 16px;
		border-radius: 14px;
	}
}

/* T-432 checkout continuity */
.woocommerce-checkout #order_review {
	box-shadow: 0 8px 28px rgba(28, 20, 16, 0.04);
}
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
	min-height: 52px !important;
	border-radius: var(--button-radius) !important;
	background: var(--accent-dark) !important;
	color: #fff !important;
	font: 700 15px/1.2 "Jost", sans-serif !important;
	text-transform: uppercase !important;
	border: 0 !important;
}
.woocommerce-checkout #place_order:hover {
	background: var(--accent-darker) !important;
}

/* T-435: install lead form */
.install-lead-form__inner { max-width: 720px; }
.install-lead-form__title { margin: 0 0 8px; font-size: 28px; }
.install-lead-form__intro { margin: 0 0 20px; color: var(--ink-soft); }
.install-lead-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin-bottom: 16px; }
.install-lead-form__field--wide { grid-column: 1 / -1; }
.install-lead-form__grid select,
.install-lead-form__grid textarea,
.install-lead-form__grid input[type="text"],
.install-lead-form__grid input[type="tel"] {
	width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--line);
	border-radius: 10px; background: #fff; font: inherit;
}
.install-lead-form__grid textarea { min-height: 96px; resize: vertical; }
.install-lead-form__submit { margin-top: 12px; min-width: 220px; }
.install-lead-form__alt { margin-top: 14px; font-size: 14px; color: var(--ink-soft); }
.install-lead-form__callback { background: none; border: 0; padding: 0; color: var(--accent); text-decoration: underline; cursor: pointer; font: inherit; }
.install-lead-form__alt {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 8px;
	row-gap: 4px;
}
.install-lead-form__alt-lead,
.install-lead-form__alt-sep {
	flex: 0 0 auto;
}
.install-lead-form__phone {
	color: var(--accent);
	text-decoration: underline;
}
/* T-464: secondary fallbacks keep underline look; mobile hit box ≥44px (T-164/T-462 contract). */
@media (max-width: 900px) {
	.install-lead-form__phone,
	.install-lead-form__callback {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 10px 6px;
		box-sizing: border-box;
		line-height: 1.2;
	}
}
@media (max-width: 640px) {
	.install-lead-form__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   T-437 — prod-like one-page checkout («Оформление заказа»)
   Overrides T-154 two-column classic checkout when body.bzl-checkout-prod.
   ========================================================================== */
.bzl-checkout-prod .content-page { max-width: 1100px; margin: 0 auto; }
.bzl-checkout-prod .content-page__title,
.bzl-checkout-prod .entry-title,
.bzl-checkout-prod h1.page-title {
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 28px;
}
.bzl-checkout-prod form.checkout.bzl-checkout {
	display: block;
	grid-template-columns: none;
	gap: 0;
	max-width: 100%;
}
.bzl-checkout-prod form.checkout.bzl-checkout > .col2-set,
.bzl-checkout-prod #order_review_heading { display: none !important; }

/* —— line items —— */
.bzl-checkout-lines {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
}
.bzl-checkout-line {
	display: grid;
	grid-template-columns: 22px 72px minmax(0, 1.4fr) minmax(90px, .55fr) minmax(90px, .55fr) 120px minmax(110px, .7fr);
	align-items: center;
	gap: 14px 16px;
	padding: 18px 0;
	border-bottom: 1px solid var(--line);
}
.bzl-checkout-line__select {
	width: 18px;
	height: 18px;
	border: 2px solid #c9c9c9;
	border-radius: 50%;
	background: #fff;
	justify-self: center;
}
.bzl-checkout-line__thumb {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--line);
	background: #fff;
}
.bzl-checkout-line__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.bzl-checkout-line__title {
	display: block;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ink);
	text-decoration: none;
	text-transform: uppercase;
}
.bzl-checkout-line__title:hover { color: var(--accent); }
.bzl-checkout-line__label {
	display: block;
	font-size: 12px;
	color: var(--ink-soft);
	margin-bottom: 2px;
}
.bzl-checkout-line__price {
	font-size: 16px;
	font-weight: 600;
	color: var(--ink);
	white-space: nowrap;
}
.bzl-checkout-line__price--strong { font-weight: 800; }
.bzl-checkout-line__qty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 0;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}
.bzl-checkout-line__qty-btn {
	width: 34px;
	height: 34px;
	border: 0;
	background: transparent;
	color: var(--ink);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.bzl-checkout-line__qty-btn:hover { color: var(--accent); }
.bzl-checkout-line__qty-val {
	min-width: 28px;
	text-align: center;
	font-weight: 700;
	font-size: 15px;
}
.bzl-checkout-line__remove {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink-soft);
	text-decoration: none;
	white-space: nowrap;
}
.bzl-checkout-line__remove:hover { color: #d32f2f; }
.bzl-checkout-line__remove-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ffe5e5;
	color: #d32f2f;
	font-size: 16px;
	line-height: 1;
}

/* —— notice / total card —— */
.bzl-checkout-notice {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 16px 20px;
	margin: 8px 0 36px;
	padding: 18px 22px;
	border: 1px solid #f5d3b8;
	border-radius: 16px;
	background: #fff4ec;
	box-shadow: 0 8px 24px rgba(232, 120, 48, .08);
}
.bzl-checkout-notice.is-dismissed { display: none; }
.bzl-checkout-notice__dismiss {
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--accent);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.bzl-checkout-notice__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: var(--ink);
}
.bzl-checkout-notice__total {
	font-size: 28px;
	font-weight: 800;
	color: var(--ink);
	white-space: nowrap;
}
.bzl-checkout-notice__clear {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--accent);
	text-decoration: none;
	white-space: nowrap;
}
.bzl-checkout-notice__clear:hover { color: var(--accent-dark); }
.bzl-checkout-notice__clear-icon {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--accent) 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'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6'/%3E%3C/svg%3E") center/14px no-repeat;
}

/* —— customer fields —— */
.bzl-checkout-customer { margin: 0 0 28px; }
.bzl-checkout-customer__title {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--ink);
}
.bzl-checkout-prod .woocommerce-billing-fields,
.bzl-checkout-prod .woocommerce-additional-fields,
.bzl-checkout-prod #order_review {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}
.bzl-checkout-prod .woocommerce-billing-fields h3,
.bzl-checkout-prod .woocommerce-additional-fields h3,
.bzl-checkout-prod .woocommerce-shipping-fields { display: none; }
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px 16px;
}
.bzl-checkout-prod .woocommerce-additional-fields__field-wrapper {
	display: block;
	margin-top: 14px;
}
.bzl-checkout-prod .woocommerce form .form-row { float: none; width: 100%; margin: 0; }
.bzl-checkout-prod .woocommerce form .form-row-wide { grid-column: span 1; }
.bzl-checkout-prod #billing_address_1_field,
.bzl-checkout-prod #order_comments_field { grid-column: 1 / -1; }
.bzl-checkout-prod .woocommerce-additional-fields { margin-top: 0; }
.bzl-checkout-prod .woocommerce form label {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink);
}
.bzl-checkout-prod .woocommerce form .optional { color: var(--ink-soft); font-weight: 400; text-transform: none; letter-spacing: 0; }
.bzl-checkout-prod .woocommerce form input.input-text,
.bzl-checkout-prod .woocommerce form textarea,
.bzl-checkout-prod .woocommerce form select,
.bzl-checkout-prod .select2-container .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #d9d9d9;
	border-radius: 10px;
	background: #fff;
	color: var(--ink);
	font: inherit;
	box-shadow: none;
}
.bzl-checkout-prod .woocommerce form textarea { min-height: 96px; resize: vertical; }
.bzl-checkout-prod .bezlimitik-own-number-checkout { margin-top: 18px; }

/* —— payment + shipping row —— */
.bzl-checkout-review { margin-top: 8px; }
.bzl-checkout-methods {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 24px;
	margin: 0 0 28px;
	align-items: end;
}
.bzl-checkout-methods__label {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink);
}
.bzl-checkout-methods__select {
	width: 100%;
	min-height: 52px;
	padding: 12px 40px 12px 14px;
	border: 1px solid #d9d9d9;
	border-radius: 10px;
	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 fill='%23666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right 14px center/12px no-repeat;
	appearance: none;
	-webkit-appearance: none;
	font: inherit;
	color: var(--ink);
	cursor: pointer;
}
.bzl-checkout-review-table { display: none !important; }
.bzl-checkout-prod #payment {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
.bzl-checkout-payment__radios { display: none !important; }
.bzl-checkout-prod #payment .payment_box { display: none !important; }

/* —— place order —— */
.bzl-checkout-place {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 8px 0 0 !important;
	text-align: center;
}
.bzl-checkout-prod #place_order,
.bzl-checkout-place__btn {
	width: min(520px, 100%);
	min-height: 56px;
	margin: 0 auto;
	padding: 14px 32px;
	border: 0;
	border-radius: 999px;
	background: var(--accent);
	color: #fff !important;
	font: 800 16px/1 "Jost", sans-serif;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(232, 120, 48, .25);
}
.bzl-checkout-prod #place_order:hover {
	background: var(--accent-dark);
}
.bzl-checkout-prod .bezlimitik-checkout-consent {
	margin: 16px auto 0;
	max-width: 520px;
	text-align: left;
}
.bzl-checkout-prod .bezlimitik-checkout-consent__marketing { display: none; }
.bzl-checkout-prod .bezlimitik-checkout-consent .woocommerce-form__label {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ink);
}
.bzl-checkout-prod .bezlimitik-checkout-consent a { color: #1a73e8; }

.bzl-checkout-prod .woocommerce-form-login-toggle,
.bzl-checkout-prod .woocommerce-form-coupon-toggle { margin-bottom: 18px; }

@media (max-width: 960px) {
	.bzl-checkout-line {
		grid-template-columns: 22px 64px minmax(0, 1fr);
		grid-template-areas:
			"sel thumb meta"
			"sel thumb unit"
			"sel thumb sum"
			"qty qty remove";
	}
	.bzl-checkout-line__select { grid-area: sel; }
	.bzl-checkout-line__thumb { grid-area: thumb; }
	.bzl-checkout-line__meta { grid-area: meta; }
	.bzl-checkout-line__unit { grid-area: unit; }
	.bzl-checkout-line__sum { grid-area: sum; }
	.bzl-checkout-line__qty { grid-area: qty; justify-self: start; }
	.bzl-checkout-line__remove { grid-area: remove; justify-self: end; }
	.bzl-checkout-notice {
		grid-template-columns: 28px minmax(0, 1fr);
	}
	.bzl-checkout-notice__total,
	.bzl-checkout-notice__clear { grid-column: 2; }
	.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper,
	.bzl-checkout-methods { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.bzl-checkout-prod .content-page__title,
	.bzl-checkout-prod .entry-title,
	.bzl-checkout-prod h1.page-title { font-size: 24px; margin-bottom: 18px; }
	.bzl-checkout-customer__title { font-size: 18px; }
	.bzl-checkout-notice__total { font-size: 22px; }
}

/* T-437b — polish after owner screenshot QA */
.bzl-checkout-prod .content-page__body .bzl-checkout-line__remove,
.bzl-checkout-prod .content-page__body .bzl-checkout-line__remove:visited {
	color: var(--ink-soft);
	text-decoration: none;
}
.bzl-checkout-prod .content-page__body .bzl-checkout-line__remove:hover {
	color: #d32f2f;
	text-decoration: none;
}
.bzl-checkout-prod .woocommerce-message,
.bzl-checkout-prod .woocommerce-info:not(.bezlimitik-mixed-cart-notice) {
	/* one-page checkout: suppress add-to-cart / coupon banners above the form */
	display: none;
}

.bzl-checkout-prod .content-page__body .bzl-checkout-line__title,
.bzl-checkout-prod .content-page__body .bzl-checkout-line__title:visited {
	color: var(--ink);
	text-decoration: none;
}
.bzl-checkout-prod .content-page__body .bzl-checkout-line__title:hover {
	color: var(--accent);
	text-decoration: none;
}
.bzl-checkout-prod .bzl-checkout-line .bezlimitik-shipping-chip,
.bzl-checkout-prod .bzl-checkout-line .variation,
.bzl-checkout-prod .bzl-checkout-line dl.variation,
.bzl-checkout-prod .bzl-checkout-line .wc-item-meta {
	display: none !important;
}
.bzl-checkout-prod .woocommerce-privacy-policy-text,
.bzl-checkout-prod .woocommerce-terms-and-conditions,
.bzl-checkout-prod .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox:not(.bezlimitik-checkout-consent__pdn) {
	display: none !important;
}
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
}
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .form-row {
	min-width: 0;
}
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper label {
	min-height: 2.6em;
	line-height: 1.3;
}
.bzl-checkout-prod .woocommerce-additional-fields__field-wrapper {
	display: block !important;
	width: 100%;
	margin-top: 16px;
}
.bzl-checkout-prod #order_comments_field,
.bzl-checkout-prod #order_comments_field .woocommerce-input-wrapper {
	display: block;
	width: 100%;
	max-width: 100%;
	float: none;
}
.bzl-checkout-prod #order_comments {
	display: block;
	width: 100% !important;
	max-width: 100%;
	min-height: 110px !important;
	height: auto !important;
}
.bzl-checkout-prod .woocommerce form input.input-text {
	min-width: 0;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bzl-checkout-methods {
	margin: 8px 0 32px;
}
.bzl-checkout-prod .bzl-checkout-notice__dismiss {
	color: var(--accent);
}
.bzl-checkout-prod .bzl-checkout-line {
	margin-bottom: 0;
}
.bzl-checkout-prod .bzl-checkout-cart-panel {
	margin-bottom: 8px;
}
.bzl-checkout-prod .bezlimitik-own-number-checkout {
	margin-top: 20px;
	padding: 16px 18px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff;
}

/* T-437c — form alignment, rhythm, labels; notice dismiss keeps total */
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 14px 18px !important;
	align-items: start;
}
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .form-row,
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .form-row-first,
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .form-row-last,
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .form-row-wide {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
	min-width: 0;
}
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .form-row label {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 8px !important;
	min-height: 2.8em;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--ink);
}
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper {
	display: block !important;
	width: 100% !important;
	float: none !important;
}
.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper input.input-text {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}
/* Hidden address must not leave a grid hole */
.bzl-checkout-prod #billing_address_1_field.bezlimitik-address-hidden,
.bzl-checkout-prod #billing_address_1_field[style*="display: none"],
.bzl-checkout-prod #billing_address_1_field[hidden] {
	display: none !important;
}
.bzl-checkout-prod #billing_address_1_field:not(.bezlimitik-address-hidden) {
	grid-column: 1 / -1;
}
.bzl-checkout-prod .woocommerce-additional-fields label,
.bzl-checkout-prod .bzl-checkout-methods__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink);
}
.bzl-checkout-customer { margin: 0 0 20px; }
.bzl-checkout-customer__title { margin: 0 0 14px; }
.bzl-checkout-notice { margin: 10px 0 24px; }
.bzl-checkout-methods { margin: 4px 0 22px; gap: 14px 20px; }
.bzl-checkout-prod #place_order,
.bzl-checkout-place__btn {
	box-shadow: 0 4px 12px rgba(232, 120, 48, .18);
}
/* Dismiss only hides the copy — total + clear stay */
.bzl-checkout-notice.is-dismissed {
	display: grid !important;
}
.bzl-checkout-notice.is-dismissed .bzl-checkout-notice__text,
.bzl-checkout-notice.is-dismissed .bzl-checkout-notice__dismiss {
	display: none;
}
.bzl-checkout-notice.is-dismissed {
	grid-template-columns: minmax(0, 1fr) auto auto;
}
@media (max-width: 960px) {
	.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.bzl-checkout-prod .woocommerce-billing-fields__field-wrapper .form-row label {
		min-height: 0;
	}
}

/* T-437e — prod-like input “windows”
   Tokens from prod corp-cinar dynamic-styles:
   --input_height: 54px; --input_border_color: #b5b5b5; --input_border_radius: 32px
   Textarea on prod uses softer radius (~12px), not full pill. */
.bzl-checkout-prod {
	--bzl-input-height: 54px;
	--bzl-input-border: #b5b5b5;
	--bzl-input-radius: 32px;
	--bzl-input-radius-area: 14px;
	--bzl-input-pad-x: 18px;
}
.bzl-checkout-prod .woocommerce form input.input-text,
.bzl-checkout-prod .woocommerce form select,
.bzl-checkout-prod .select2-container .select2-selection--single,
.bzl-checkout-prod .bzl-checkout-methods__select {
	width: 100%;
	height: var(--bzl-input-height);
	min-height: var(--bzl-input-height);
	padding: 0 var(--bzl-input-pad-x);
	border: 1px solid var(--bzl-input-border);
	border-radius: var(--bzl-input-radius);
	background-color: #fff;
	color: var(--ink);
	font: 400 15px/var(--bzl-input-height) inherit;
	box-shadow: none;
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
	-webkit-appearance: none;
	appearance: none;
}
.bzl-checkout-prod .woocommerce form textarea,
.bzl-checkout-prod #order_comments {
	width: 100% !important;
	height: 144px !important;
	min-height: 144px !important;
	padding: 18px var(--bzl-input-pad-x) !important;
	border: 1px solid rgba(130, 130, 130, .8) !important;
	border-radius: var(--bzl-input-radius-area) !important;
	background: #fff;
	color: var(--ink);
	font: 400 15px/1.45 inherit;
	box-shadow: none;
	outline: none;
	resize: vertical;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.bzl-checkout-prod .bzl-checkout-methods__select {
	padding-right: 44px;
	line-height: calc(var(--bzl-input-height) - 2px);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 12px;
	cursor: pointer;
}
.bzl-checkout-prod .woocommerce form input.input-text::placeholder,
.bzl-checkout-prod .woocommerce form textarea::placeholder {
	color: #9a9a9a;
	opacity: 1;
}
.bzl-checkout-prod .woocommerce form input.input-text:focus,
.bzl-checkout-prod .woocommerce form textarea:focus,
.bzl-checkout-prod .woocommerce form select:focus,
.bzl-checkout-prod .bzl-checkout-methods__select:focus {
	border-color: #eb5413;
	box-shadow: 0 0 0 3px rgba(235, 84, 19, .12);
	outline: none;
}
.bzl-checkout-prod .woocommerce form label {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #333;
}
.bzl-checkout-prod .bzl-checkout-line__qty {
	height: 40px;
	border-radius: 999px;
	border-color: var(--bzl-input-border);
}

/* T-437e2 — force pill inputs; qty are links (no nested forms) */
.bzl-checkout-prod .woocommerce input.input-text,
.bzl-checkout-prod .woocommerce-billing-fields input.input-text,
.bzl-checkout-prod #billing_first_name,
.bzl-checkout-prod #billing_phone,
.bzl-checkout-prod #billing_email,
.bzl-checkout-prod #billing_address_1 {
	height: var(--bzl-input-height, 54px) !important;
	min-height: var(--bzl-input-height, 54px) !important;
	padding: 0 var(--bzl-input-pad-x, 18px) !important;
	border: 1px solid var(--bzl-input-border, #b5b5b5) !important;
	border-radius: var(--bzl-input-radius, 32px) !important;
	background: #fff !important;
	box-shadow: none !important;
	font: 400 15px/var(--bzl-input-height, 54px) inherit !important;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.bzl-checkout-prod #order_comments {
	height: 144px !important;
	min-height: 144px !important;
	padding: 18px var(--bzl-input-pad-x, 18px) !important;
	border: 1px solid rgba(130, 130, 130, .8) !important;
	border-radius: var(--bzl-input-radius-area, 14px) !important;
	background: #fff !important;
	font: 400 15px/1.45 inherit !important;
	box-shadow: none !important;
}
.bzl-checkout-prod .woocommerce input.input-text:focus,
.bzl-checkout-prod .woocommerce-billing-fields input.input-text:focus,
.bzl-checkout-prod #order_comments:focus,
.bzl-checkout-prod .bzl-checkout-methods__select:focus {
	border-color: #eb5413 !important;
	box-shadow: 0 0 0 3px rgba(235, 84, 19, .12) !important;
}
.bzl-checkout-prod .bzl-checkout-line__qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	text-decoration: none !important;
	color: var(--ink);
	font-size: 18px;
	line-height: 1;
}
.bzl-checkout-prod .content-page__body .bzl-checkout-line__qty-btn,
.bzl-checkout-prod .content-page__body .bzl-checkout-line__qty-btn:visited {
	color: var(--ink);
	text-decoration: none !important;
}
.bzl-checkout-prod .content-page__body .bzl-checkout-line__qty-btn:hover {
	color: var(--accent);
	text-decoration: none !important;
}

/* T-437f — rectangular thumb (no SIM crop) + notice totals breakdown */
/* T-437g — mobile line layout: desktop 7-col must NOT apply under 960px */
.bzl-checkout-line__thumb {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--line);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bzl-checkout-line__thumb img,
.bzl-checkout-line__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}
.bzl-checkout-notice__totals {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 140px;
	text-align: right;
}
.bzl-checkout-notice__row {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 12px;
	font-size: 14px;
	line-height: 1.3;
	color: var(--ink);
	white-space: nowrap;
}
.bzl-checkout-notice__row-label {
	color: var(--ink-soft);
	font-weight: 500;
}
.bzl-checkout-notice__row-value {
	font-weight: 600;
	min-width: 4.5em;
}
.bzl-checkout-notice__row--total {
	margin-top: 4px;
	padding-top: 6px;
	border-top: 1px solid #f5d3b8;
	font-size: 22px;
}
.bzl-checkout-notice__row--total .bzl-checkout-notice__row-label {
	color: var(--ink);
	font-weight: 800;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.bzl-checkout-notice__row--total .bzl-checkout-notice__row-value {
	font-weight: 800;
	font-size: 26px;
}
.bzl-checkout-notice__total { display: none; }

@media (min-width: 961px) {
	.bzl-checkout-line {
		grid-template-columns: 22px 100px minmax(0, 1.4fr) minmax(90px, .55fr) minmax(90px, .55fr) 120px minmax(110px, .7fr);
	}
	.bzl-checkout-line__thumb {
		width: 100px;
		height: 72px;
	}
}

@media (max-width: 960px) {
	.bzl-checkout-line {
		display: grid;
		grid-template-columns: 22px 88px minmax(0, 1fr);
		grid-template-areas:
			"sel thumb meta"
			"unit unit sum"
			"qty qty remove";
		align-items: start;
		column-gap: 12px;
		row-gap: 12px;
		padding: 16px 0;
	}
	.bzl-checkout-line__select {
		grid-area: sel;
		align-self: center;
	}
	.bzl-checkout-line__thumb {
		grid-area: thumb;
		width: 88px;
		height: 64px;
	}
	.bzl-checkout-line__meta {
		grid-area: meta;
		min-width: 0;
	}
	.bzl-checkout-line__title {
		font-size: 13px;
		line-height: 1.35;
		word-break: normal;
		overflow-wrap: anywhere;
	}
	.bzl-checkout-line__unit {
		grid-area: unit;
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 6px 10px;
	}
	.bzl-checkout-line__sum {
		grid-area: sum;
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: flex-end;
		gap: 6px 10px;
		text-align: right;
	}
	.bzl-checkout-line__unit .bzl-checkout-line__label,
	.bzl-checkout-line__sum .bzl-checkout-line__label {
		display: inline;
		margin: 0;
	}
	.bzl-checkout-line__qty {
		grid-area: qty;
		justify-self: start;
		z-index: 1;
	}
	.bzl-checkout-line__remove {
		grid-area: remove;
		justify-self: end;
		align-self: center;
		z-index: 1;
		max-width: 100%;
	}
	.bzl-checkout-notice {
		grid-template-columns: 28px minmax(0, 1fr);
		align-items: start;
	}
	.bzl-checkout-notice__totals,
	.bzl-checkout-notice__clear {
		grid-column: 2;
		justify-self: start;
		text-align: left;
		min-width: 0;
		width: 100%;
	}
	.bzl-checkout-notice__row {
		justify-content: space-between;
		width: 100%;
	}
	.bzl-checkout-notice.is-dismissed {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.bzl-checkout-line {
		grid-template-columns: 18px 76px minmax(0, 1fr);
		column-gap: 10px;
	}
	.bzl-checkout-line__thumb {
		width: 76px;
		height: 56px;
	}
	.bzl-checkout-line__remove {
		font-size: 11px;
		gap: 4px;
	}
	.bzl-checkout-notice__row--total .bzl-checkout-notice__row-value {
		font-size: 22px;
	}
}

/* Separate the theme's service-review cards from the Cackle widget. */
.product-reviews + .cackle-reviews,
.category-reviews + .cackle-reviews {
	margin-top: 44px;
}

@media (max-width: 767px) {
	.product-reviews + .cackle-reviews,
	.category-reviews + .cackle-reviews {
		margin-top: 32px;
	}
}


/* company page messengers shortcode */
.entry-content .home-contact-messengers.contact-section__messengers {
	margin-top: 18px;
	margin-bottom: 4px;
	gap: 12px 18px;
}
.entry-content .home-contact-messengers .contact-section__messenger {
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid rgba(220, 47, 47, 0.28);
	border-radius: 10px;
	background: #fff;
}
.entry-content .home-contact-messengers .contact-section__messenger:hover {
	border-color: var(--accent);
	background: rgba(235, 84, 19, 0.04);
}

.materials-hub-group {
	margin-top: 2.5rem;
}
.materials-hub-group .content-page__subtitle {
	margin: 0 0 8px;
}
.materials-hub-group .card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 16px;
}
@media (max-width: 900px) {
	.materials-hub-group .card-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* MNP article 1531 — reuse site blocks inside .article-body */
.article-body .mnp-article-cta { margin: 0 0 1.25rem; }
.article-body .mnp-article-cta a.btn-primary,
.article-body .mnp-article-cta .btn-primary {
	color: #fff;
	background: var(--accent-dark);
	text-decoration: none;
}
.article-body .mnp-article-cta a.btn-primary:hover,
.article-body .mnp-article-cta .btn-primary:hover {
	color: #fff;
	background: var(--accent-darker);
	text-decoration: none;
}
.article-body .own-number-hub-filter { margin: 0 0 16px; }
.article-body .own-number-fold { margin: 0 0 16px; font-size: 15px; gap: 8px; }
.article-body .own-number-fold li { margin-bottom: 0; }
.article-body .own-number-clarity { margin: 0 0 16px; }
.article-body .own-number-clarity span { display: block; }
.article-body .guarantee-badge { margin: 0 0 16px; }
.article-body .faq-list { margin: 0 0 16px; }
.article-body .mnp-article-products {
	padding-left: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 24px 0 40px;
}
.article-body .mnp-article-products > li { margin-bottom: 0; }
.article-body .mnp-article-products a {
	color: inherit;
	text-decoration: none;
}
.article-body .mnp-article-products .product-card__title a { color: var(--ink); }
.article-body .mnp-article-products .product-card__title a:hover {
	color: var(--accent);
	text-decoration: none;
}
.article-body .mnp-article-products img {
	margin: 0;
	border-radius: 0;
	display: block;
}
.article-body .mnp-article-products .product-card__operator { display: none; }
.article-body .mnp-article-products .product-card__cta .button {
	color: #fff !important;
	text-decoration: none;
}
@media (max-width: 1024px) {
	.article-body .mnp-article-products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.article-body .mnp-article-products {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}
.article-body .mnp-article-ask { margin: 0 0 16px; }
.article-body .mnp-article-ask .ask-question__trigger {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 48px;
	margin-top: 0;
	padding: 0 20px !important;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #f4f4f4;
	color: var(--accent-dark);
	font-size: 16px;
	font-weight: 600;
	text-transform: none;
	text-decoration: none !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.article-body .mnp-article-ask .ask-question__trigger:hover {
	background: #ececec;
	border-color: #cfcfcf;
	color: var(--accent-darker);
}
.own-number-mnp-howto { margin: 8px 0 0; font-size: 14px; }
.own-number-mnp-howto a { color: var(--accent); }
body.mnp-process-article .article-related:not(.mnp-article-related) { display: none; }
.mnp-article-related { margin-top: 32px; }
.mnp-article-related .article-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}
/* ==========================================================================
   FIX-CTA-REPLACEMENT-20261008
   Archived PDP «Подобрать замену» + phone: escape T6 3-col qty|buy|ask grid.
   Must stay AFTER T-398 device CTA rules (same specificity, later wins).
   ========================================================================== */
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--replacement,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--replacement {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	grid-template-columns: none !important;
	max-width: 520px;
}
.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--replacement .ask-question__trigger,
.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--replacement .ask-question__trigger {
	width: auto !important;
	flex: 1 1 auto;
	min-width: 180px;
	max-width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 20px !important;
	white-space: nowrap;
	box-sizing: border-box;
}
.product-hero__cta--replacement > a.btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 18px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #f4f4f4;
	color: var(--accent-dark);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none !important;
	text-transform: none;
	flex: 0 1 auto;
	white-space: nowrap;
	box-sizing: border-box;
}
.product-hero__cta--replacement > a.btn-secondary:hover {
	background: #ececec;
	border-color: #cfcfcf;
	color: var(--accent-darker);
	text-decoration: none !important;
}
@media (max-width: 640px) {
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--replacement,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--replacement {
		max-width: none;
		grid-template-columns: none !important;
	}
	.bezlimitik-t6-hero-pilot .product-hero--t6-pilot .product-hero__cta--replacement .ask-question__trigger,
	.bezlimitik-t6-hero-device .product-hero--t6-device .product-hero__cta--replacement .ask-question__trigger,
	.product-hero__cta--replacement > a.btn-secondary {
		flex: 1 1 100%;
		width: 100% !important;
		min-width: 0;
		white-space: normal;
	}
}
