/* =================================================================
   РосТоргАвто — основной стиль темы
   Единый файл вместо набора мелких, чтобы не плодить HTTP-запросы.
   Секции идут по порядку появления на странице для удобства навигации.
   ================================================================= */

/* -----------------------------------------------------------------
   1. Design tokens
   ----------------------------------------------------------------- */
:root{
	--color-accent: #E31E24;
	--color-accent-dark: #C71218;
	--color-accent-soft: #FDECEC;
	--color-bg: #F7F7F8;
	--color-surface: #FFFFFF;
	--color-text: #16171A;
	--color-text-muted: #767781;
	--color-border: #EBEBEE;
	--color-success: #2CB742;

	--font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 18px;
	--radius-pill: 999px;

	--shadow-card: 0 2px 10px rgba(16,17,20,.05), 0 1px 2px rgba(16,17,20,.04);
	--shadow-card-hover: 0 12px 28px rgba(16,17,20,.10), 0 2px 6px rgba(16,17,20,.06);

	--container-w: 1280px;
	--header-h: 132px;
	--header-h-scrolled: 84px;

	--ease: cubic-bezier(.22,1,.36,1);
}

/* -----------------------------------------------------------------
   2. Reset / base
   ----------------------------------------------------------------- */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

@media (prefers-reduced-motion: reduce){
	html{ scroll-behavior: auto; }
	*, *::before, *::after{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

body{
	margin: 0;
	font-family: var(--font-base);
	color: var(--color-text);
	background: var(--color-bg);
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img{ max-width: 100%; display: block; height: auto; }
a{ color: inherit; text-decoration: none; }
button{ font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
input, select{ font: inherit; color: inherit; }
ul{ margin: 0; padding: 0; list-style: none; }
h1,h2,h3,h4,p{ margin: 0; }
svg{ display: block; }

.screen-reader-text{
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}
.skip-link{
	position: fixed; top: -100px; left: 12px; z-index: 9999;
	background: var(--color-accent); color: #fff;
	padding: 10px 18px; border-radius: var(--radius-sm);
	transition: top .2s var(--ease);
}
.skip-link:focus{
	top: 12px; width: auto; height: auto; clip: auto; overflow: visible;
}

:focus-visible{
	outline: 2px solid var(--color-accent);
	outline-offset: 2px;
}

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

/* -----------------------------------------------------------------
   3. Buttons / shared elements
   ----------------------------------------------------------------- */
.btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);
	border: 1.5px solid transparent;
}
.btn:active{ transform: translateY(1px); }
.btn--primary{ background: var(--color-accent); color: #fff; }
.btn--primary:hover{ background: var(--color-accent-dark); }
.btn--outline{ background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); }
.btn--outline:hover{ border-color: var(--color-accent); color: var(--color-accent); }
.btn--lg{ padding: 15px 28px; font-size: 15px; border-radius: var(--radius-sm); }
.btn svg{ width: 18px; height: 18px; }

.tag-pill{
	display: inline-flex;
	align-items: center;
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	color: var(--color-text-muted);
	font-size: 13px;
	transition: border-color .18s var(--ease), color .18s var(--ease);
}
.tag-pill:hover{ border-color: var(--color-accent); color: var(--color-accent); }

.section-heading{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 24px;
	gap: 16px;
	flex-wrap: wrap;
}
.section-heading__title{
	font-size: clamp(20px, 2.4vw, 26px);
	font-weight: 800;
	letter-spacing: -.01em;
}
.section-heading__link{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-accent);
	white-space: nowrap;
}
.section-heading__link svg{ width: 16px; height: 16px; }

/* -----------------------------------------------------------------
   4. Header
   ----------------------------------------------------------------- */
.site-header{
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--color-surface);
	border-bottom: 1px solid var(--color-border);
}

.header-top{
	padding: 18px 0;
	transition: padding .2s var(--ease);
}
.site-header.is-scrolled .header-top{ padding: 10px 0; }

.header-top__inner{
	display: grid;
	grid-template-columns: auto auto 1fr auto auto;
	align-items: center;
	gap: 24px;
}

.logo{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.logo__icon{ width: 40px; height: 40px; flex-shrink: 0; }
.logo__text{ display: flex; flex-direction: column; line-height: 1.2; }
.logo__name{ font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.logo__tagline{ font-size: 11px; color: var(--color-text-muted); max-width: 160px; }

.catalog-toggle{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--color-accent);
	color: #fff;
	padding: 12px 20px;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-size: 14px;
	white-space: nowrap;
	transition: background-color .18s var(--ease);
}
.catalog-toggle:hover{ background: var(--color-accent-dark); }
.catalog-toggle__lines{ display: flex; flex-direction: column; gap: 3px; width: 16px; }
.catalog-toggle__lines span{ height: 2px; background: #fff; border-radius: 2px; }
.catalog-toggle__lines span:nth-child(2){ width: 70%; }

.header-search{
	position: relative;
	display: flex;
	min-width: 0;
}
.header-search__input{
	width: 100%;
	padding: 12px 46px 12px 16px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
	font-size: 14px;
}
.header-search__input:focus{ border-color: var(--color-accent); background: #fff; }
.header-search__input::placeholder{ color: var(--color-text-muted); }
.header-search__btn{
	position: absolute;
	right: 4px; top: 50%; transform: translateY(-50%);
	width: 36px; height: 36px;
	display: flex; align-items: center; justify-content: center;
	color: var(--color-text-muted);
	border-radius: var(--radius-sm);
}
.header-search__btn:hover{ color: var(--color-accent); }
.header-search__btn svg{ width: 19px; height: 19px; }

.header-phone{
	display: flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
}
.header-phone__icon{ width: 22px; height: 22px; color: var(--color-accent); flex-shrink: 0; }
.header-phone__text{ display: flex; flex-direction: column; line-height: 1.3; }
.header-phone__number{ font-weight: 700; font-size: 15px; }
.header-phone__hours{ font-size: 11px; color: var(--color-text-muted); }

.header-actions{ display: flex; align-items: center; gap: 22px; }
.header-actions__item{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: var(--color-text-muted);
	white-space: nowrap;
}
.header-actions__item:hover{ color: var(--color-accent); }
.header-actions__item svg{ width: 22px; height: 22px; }
.header-actions__cart-wrap{ position: relative; }
.header-actions__icon-wrap{ position: relative; }
.cart-count, .fav-count, .compare-count{
	position: absolute;
	top: -6px; right: -8px;
	min-width: 16px; height: 16px;
	background: var(--color-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	border-radius: 999px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 3px;
}
.fav-count:empty, .compare-count:empty{ display: none; }
.fav-count[data-zero="1"], .compare-count[data-zero="1"]{ display: none; }

.header-nav{ background: var(--color-surface); }
.header-nav__inner{ border-top: 1px solid var(--color-border); }
.primary-menu__list{
	display: flex;
	align-items: center;
	gap: 28px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 13px 0;
}
.primary-menu__list::-webkit-scrollbar{ display: none; }
.primary-menu__list a{
	font-size: 14px;
	color: var(--color-text);
	white-space: nowrap;
	transition: color .18s var(--ease);
}
.primary-menu__list a:hover{ color: var(--color-accent); }

/* -----------------------------------------------------------------
   5. Hero
   ----------------------------------------------------------------- */
.hero{ padding: 56px 0 40px; overflow: hidden; }
.hero__inner{
	display: grid;
	grid-template-columns: minmax(0,540px) 1fr;
	align-items: center;
	gap: 40px;
}
.hero__title{
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.02em;
	margin-bottom: 18px;
	animation: rtaFadeUp .6s var(--ease) both;
}
.hero__subtitle{
	font-size: 16px;
	color: var(--color-text-muted);
	max-width: 440px;
	margin-bottom: 28px;
	animation: rtaFadeUp .6s .08s var(--ease) both;
}
.hero__badges{
	display: flex;
	gap: 28px;
	margin-bottom: 32px;
	flex-wrap: wrap;
	animation: rtaFadeUp .6s .16s var(--ease) both;
}
.hero__badge{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--color-text-muted);
	line-height: 1.3;
}
.hero__badge-icon{ width: 26px; height: 26px; color: var(--color-accent); flex-shrink: 0; }
.hero__badge strong{ display: block; color: var(--color-text); font-size: 14px; font-weight: 700; }
.hero__actions{ display: flex; gap: 14px; flex-wrap: wrap; animation: rtaFadeUp .6s .24s var(--ease) both; }

.hero__media{ position: relative; }
.hero__image{
	width: 100%;
	height: auto;
	animation: rtaFadeIn .8s .1s var(--ease) both;
}

@keyframes rtaFadeUp{
	from{ opacity: 0; transform: translateY(16px); }
	to{ opacity: 1; transform: translateY(0); }
}
@keyframes rtaFadeIn{
	from{ opacity: 0; }
	to{ opacity: 1; }
}

/* -----------------------------------------------------------------
   6. Quick search
   ----------------------------------------------------------------- */
.quick-search{ padding: 8px 0 28px; }
.quick-search__box{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	padding: 28px 32px;
}
.quick-search__title{ font-size: 18px; font-weight: 800; margin-bottom: 18px; }
.quick-search__form{
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.quick-search__field{
	position: relative;
	flex: 1 1 420px;
	display: flex;
	gap: 10px;
}
.quick-search__input{
	flex: 1;
	padding: 13px 18px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
	font-size: 14px;
	min-width: 0;
}
.quick-search__input:focus{ border-color: var(--color-accent); background: #fff; }
.quick-search__submit{ flex-shrink: 0; }
.quick-search__or{ color: var(--color-text-muted); font-size: 13px; }
.quick-search__vin{ flex-shrink: 0; }

.quick-search__hint{
	margin-top: 14px;
	font-size: 12px;
	color: var(--color-text-muted);
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}
.quick-search__hint-item{ color: var(--color-accent); }

.quick-search__popular{
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.quick-search__popular-label{ font-size: 13px; font-weight: 600; color: var(--color-text); margin-right: 4px; }

/* -----------------------------------------------------------------
   7. Car selector
   ----------------------------------------------------------------- */
.car-selector{ padding: 0 0 28px; }
.car-selector__box{
	position: relative;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	padding: 28px 32px;
	overflow: hidden;
}
.car-selector__title{ font-size: 18px; font-weight: 800; margin-bottom: 18px; }
.car-selector__form{
	display: flex;
	align-items: stretch;
	gap: 14px;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.car-selector__field{
	flex: 1 1 220px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
}
.car-selector__field-icon{ width: 22px; height: 22px; color: var(--color-accent); flex-shrink: 0; }
.car-selector__field-text{ display: flex; flex-direction: column; min-width: 0; flex: 1; }
.car-selector__field-label{ font-size: 11px; color: var(--color-text-muted); }
.car-selector__select{
	border: 0;
	background: transparent;
	font-size: 14px;
	font-weight: 600;
	padding: 2px 0 0;
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23767781' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 16px;
	padding-right: 20px;
}
.car-selector__submit{ flex-shrink: 0; }
.car-selector__image{
	position: absolute;
	right: -20px; bottom: -30px;
	width: 260px;
	opacity: .9;
	pointer-events: none;
	display: none;
}
@media (min-width: 1100px){
	.car-selector__image{ display: block; }
}

/* -----------------------------------------------------------------
   8. Categories
   ----------------------------------------------------------------- */
.categories{ padding: 40px 0; }
.categories__grid{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}
.category-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 28px 16px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 14px;
	transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.category-card:hover{
	transform: translateY(-4px);
	box-shadow: var(--shadow-card-hover);
	border-color: transparent;
}
.category-card__icon{ width: 48px; height: 48px; color: var(--color-accent); }
.category-card__title{ font-size: 13.5px; font-weight: 600; line-height: 1.3; }

/* -----------------------------------------------------------------
   9. Benefits strip
   ----------------------------------------------------------------- */
.benefits{ padding: 0 0 40px; }
.benefits__list{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.benefit{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 26px 24px;
	border-right: 1px solid var(--color-border);
}
.benefit:last-child{ border-right: 0; }
.benefit__icon{
	width: 40px; height: 40px;
	flex-shrink: 0;
	color: var(--color-accent);
	background: var(--color-accent-soft);
	border-radius: var(--radius-sm);
	display: flex; align-items: center; justify-content: center;
	padding: 8px;
}
.benefit__text{ display: flex; flex-direction: column; gap: 4px; }
.benefit__title{ font-size: 14px; font-weight: 700; }
.benefit__desc{ font-size: 12.5px; color: var(--color-text-muted); line-height: 1.4; }

/* -----------------------------------------------------------------
   10. Products slider
   ----------------------------------------------------------------- */
.products{ padding: 8px 0 44px; }
.products-slider{ position: relative; }
.products-slider__track{
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 20px) / 5);
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.products-slider__track::-webkit-scrollbar{ display: none; }

.products-slider__nav{
	position: absolute;
	top: 40%;
	transform: translateY(-50%);
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-card);
	display: flex; align-items: center; justify-content: center;
	color: var(--color-text);
	z-index: 2;
	transition: background-color .18s var(--ease), color .18s var(--ease);
}
.products-slider__nav:hover{ background: var(--color-accent); color: #fff; }
.products-slider__nav svg{ width: 18px; height: 18px; }
.products-slider__nav--prev{ left: -20px; }
.products-slider__nav--next{ right: -20px; }

.product-card{
	scroll-snap-align: start;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .22s var(--ease), box-shadow .22s var(--ease);
}
.product-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }

.product-card__media{
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--color-bg);
	display: block;
}
.product-card__media img{ width: 100%; height: 100%; object-fit: contain; padding: 18px; }
.product-card__badge{
	position: absolute;
	top: 12px; left: 12px;
	background: var(--color-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: var(--radius-pill);
	z-index: 1;
}
.product-card__fav{
	position: absolute;
	top: 10px; right: 10px;
	width: 32px; height: 32px;
	border-radius: 50%;
	background: rgba(255,255,255,.9);
	display: flex; align-items: center; justify-content: center;
	color: var(--color-text-muted);
	transition: color .18s var(--ease);
}
.product-card__fav:hover{ color: var(--color-accent); }
.product-card__fav svg{ width: 17px; height: 17px; }

.product-card__body{
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}
.product-card__brand{ font-size: 11px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: .03em; }
.product-card__title{
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
}
.product-card__title:hover{ color: var(--color-accent); }
.product-card__sku{ font-size: 11.5px; color: var(--color-text-muted); margin-bottom: 4px; }

.product-card__price-row{ display: flex; align-items: baseline; gap: 8px; margin-top: auto; }
.product-card__price{ font-size: 18px; font-weight: 800; }
.product-card__price-old{ font-size: 12.5px; color: var(--color-text-muted); text-decoration: line-through; }

.product-card__footer{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
	gap: 8px;
}
.product-card__stock{
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11.5px;
	color: var(--color-success);
	white-space: nowrap;
}
.product-card__stock svg{ width: 15px; height: 15px; }
.product-card__analog{ color: var(--color-text-muted); }
.product-card__analog svg{ width: 16px; height: 16px; }
.product-card__cart-btn{
	width: 34px; height: 34px;
	flex-shrink: 0;
	border-radius: var(--radius-sm);
	background: var(--color-accent-soft);
	color: var(--color-accent);
	display: flex; align-items: center; justify-content: center;
	transition: background-color .18s var(--ease), color .18s var(--ease);
}
.product-card__cart-btn:hover{ background: var(--color-accent); color: #fff; }
.product-card__cart-btn svg{ width: 17px; height: 17px; }

/* -----------------------------------------------------------------
   11. VIN CTA block
   ----------------------------------------------------------------- */
.vin-cta{ padding: 0 0 56px; }
.vin-cta__box{
	position: relative;
	background: var(--color-text);
	border-radius: var(--radius-lg);
	padding: 40px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	overflow: hidden;
	flex-wrap: wrap;
}
.vin-cta__title{ color: #fff; font-size: clamp(20px, 2.4vw, 26px); font-weight: 800; margin-bottom: 6px; }
.vin-cta__subtitle{ color: rgba(255,255,255,.68); font-size: 14px; }
.vin-cta__btn{ position: relative; z-index: 1; flex-shrink: 0; }
.vin-cta__image{
	position: absolute;
	right: 0; bottom: -30px;
	width: 300px;
	opacity: .18;
	pointer-events: none;
	filter: grayscale(1) brightness(3);
}

/* -----------------------------------------------------------------
   12. Footer
   ----------------------------------------------------------------- */
.site-footer{ background: var(--color-surface); border-top: 1px solid var(--color-border); padding: 48px 0 0; }
.footer-top{
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr;
	gap: 32px;
	padding-bottom: 40px;
}
.footer-brand__tagline{ font-size: 13px; color: var(--color-text-muted); margin: 14px 0 18px; max-width: 240px; line-height: 1.5; }
.footer-social{ display: flex; gap: 10px; }
.footer-social__link{
	width: 36px; height: 36px;
	color: var(--color-text-muted);
	transition: color .18s var(--ease);
}
.footer-social__link:hover{ color: var(--color-accent); }
.footer-social__link svg{ width: 100%; height: 100%; }

.footer-col__title{ font-size: 14px; font-weight: 700; margin-bottom: 16px; }
.footer-col__list{ display: flex; flex-direction: column; gap: 11px; }
.footer-col__list a{ font-size: 13.5px; color: var(--color-text-muted); }
.footer-col__list a:hover{ color: var(--color-accent); }

.footer-contacts{ display: flex; flex-direction: column; gap: 13px; }
.footer-contacts li{ display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--color-text-muted); }
.footer-contacts li svg{ width: 18px; height: 18px; color: var(--color-accent); flex-shrink: 0; }
.footer-contacts__phone{ color: var(--color-text); font-weight: 700; }

.footer-bottom{
	border-top: 1px solid var(--color-border);
	padding: 20px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 12.5px;
	color: var(--color-text-muted);
}
.footer-bottom__links{ display: flex; gap: 20px; }
.footer-bottom__links a:hover{ color: var(--color-accent); }

/* -----------------------------------------------------------------
   13. Mobile sticky call button
   ----------------------------------------------------------------- */
.mobile-call-btn{
	display: none;
	position: fixed;
	right: 16px;
	bottom: 16px;
	width: 56px; height: 56px;
	border-radius: 50%;
	background: var(--color-accent);
	color: #fff;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 20px rgba(227,30,36,.4);
	z-index: 200;
	animation: rtaPulse 2.4s ease-in-out infinite;
}
.mobile-call-btn svg{ width: 24px; height: 24px; }
@keyframes rtaPulse{
	0%, 100%{ box-shadow: 0 8px 20px rgba(227,30,36,.4); }
	50%{ box-shadow: 0 8px 20px rgba(227,30,36,.65), 0 0 0 8px rgba(227,30,36,.12); }
}

/* Generic fallback content (index.php) */
.generic-content{ padding: 48px 0; max-width: 760px; }
.generic-content__title{ font-size: 28px; font-weight: 800; margin-bottom: 20px; }
.generic-content__body{ line-height: 1.7; color: var(--color-text-muted); }

/* -----------------------------------------------------------------
   14. Responsive
   ----------------------------------------------------------------- */

/* ---- ≤1279px: сжимаем внутренние отступы, каталог всё ещё в 1 ряд ---- */
@media (max-width: 1279px){
	.header-top__inner{ grid-template-columns: auto auto 1fr auto auto; gap: 16px; }
	.logo__tagline{ display: none; }
	.footer-top{ grid-template-columns: 1.4fr 1fr 1fr; row-gap: 32px; }
	.footer-col--contacts{ grid-column: span 3; }
}

/* ---- ≤1024px: планшет — прячем часть шапки, categories/products по 4/3 ---- */
@media (max-width: 1024px){
	:root{ --container-w: 100%; }
	.rta-container{ padding: 0 20px; }

	.header-top__inner{ grid-template-columns: auto 1fr auto; }
	.catalog-toggle span:not(.catalog-toggle__lines){ display: none; }
	.catalog-toggle{ padding: 12px; }
	.header-phone{ display: none; }
	.header-actions__item span{ display: none; }
	.header-actions{ gap: 16px; }

	.hero__inner{ grid-template-columns: 1fr; }
	.hero__media{ order: -1; max-width: 420px; margin: 0 auto; }
	.hero__content{ text-align: left; }

	.categories__grid{ grid-template-columns: repeat(3, 1fr); }
	.benefits__list{ grid-template-columns: repeat(2, 1fr); }
	.benefit{ border-right: 0; border-bottom: 1px solid var(--color-border); }
	.benefit:nth-child(2n){ border-right: 0; }
	.benefit:nth-last-child(-n+2){ border-bottom: 0; }

	.products-slider__track{ grid-auto-columns: calc((100% - 2 * 20px) / 3); }

	.footer-top{ grid-template-columns: 1fr 1fr; }
	.footer-brand{ grid-column: span 2; }
	.footer-col--contacts{ grid-column: span 2; }
}

/* ---- ≤768px: мобильные телефоны ---- */
@media (max-width: 768px){
	body{ padding-bottom: 0; }
	.mobile-call-btn{ display: flex; }

	.header-search{ order: 3; grid-column: 1 / -1; margin-top: 10px; }
	.header-top__inner{
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "logo toggle actions" "search search search";
		row-gap: 10px;
	}
	.logo{ grid-area: logo; }
	.catalog-toggle{ grid-area: toggle; justify-self: end; }
	.header-actions{ grid-area: actions; }
	.header-search{ grid-area: search; grid-column: auto; margin-top: 0; }
	.header-actions__item:nth-child(1),
	.header-actions__item:nth-child(2){ display: none; } /* оставляем корзину на мобиле, избранное/сравнение — в меню кабинета */

	.header-nav__inner{ overflow-x: auto; }

	.hero{ padding: 32px 0 28px; }
	.hero__badges{ gap: 18px; }
	.hero__actions{ flex-direction: column; }
	.hero__actions .btn{ width: 100%; }

	.quick-search__box, .car-selector__box{ padding: 20px; }
	.quick-search__form{ flex-direction: column; align-items: stretch; }
	.quick-search__field{ flex: 1 1 auto; }
	.quick-search__or{ text-align: center; }
	.quick-search__vin{ justify-content: center; }

	.car-selector__form{ flex-direction: column; }
	.car-selector__submit{ width: 100%; }

	.section-heading__link span,
	.section-heading__link{ font-size: 13px; }

	.categories__grid{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.category-card{ padding: 20px 10px 16px; }

	.benefits__list{ grid-template-columns: 1fr; }
	.benefit{ border-right: 0 !important; border-bottom: 1px solid var(--color-border); }
	.benefit:last-child{ border-bottom: 0; }

	.products-slider__track{ grid-auto-columns: calc((100% - 16px) / 1.55); gap: 14px; }
	.products-slider__nav{ display: none; }

	.vin-cta__box{ padding: 28px 22px; flex-direction: column; align-items: flex-start; text-align: left; }
	.vin-cta__btn{ width: 100%; justify-content: center; }
	.vin-cta__image{ display: none; }

	.footer-top{ grid-template-columns: 1fr 1fr; gap: 28px 16px; }
	.footer-brand{ grid-column: span 2; }
	.footer-col--contacts{ grid-column: span 2; }
	.footer-bottom{ flex-direction: column; align-items: flex-start; }

	.mobile-call-btn{ bottom: 16px; }
}

/* ---- ≤480px: узкие экраны ---- */
@media (max-width: 480px){
	.rta-container{ padding: 0 16px; }
	.hero__title{ font-size: 28px; }
	.hero__badges{ flex-direction: column; gap: 12px; }
	.categories__grid{ grid-template-columns: repeat(2, 1fr); }
	.footer-top{ grid-template-columns: 1fr; }
	.footer-brand, .footer-col--contacts{ grid-column: span 1; }
	.products-slider__track{ grid-auto-columns: 82%; }
}

/* ---- ≥1600px: широкие экраны — чуть шире контейнер ---- */
@media (min-width: 1600px){
	:root{ --container-w: 1400px; }
}

/* =================================================================
   15. Каталог товаров
   ================================================================= */

/* ---- Хлебные крошки ---- */
.breadcrumbs{ padding: 14px 0 0; }
.breadcrumbs__list{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12.5px; color: var(--color-text-muted); }
.breadcrumbs__item a:hover{ color: var(--color-accent); }
.breadcrumbs__sep{ color: var(--color-border); }

/* ---- Заголовок каталога + баннер ---- */
.catalog-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding: 14px 0 20px;
}
.catalog-header__titles{ display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.catalog-header__title{ font-size: clamp(22px, 3vw, 30px); font-weight: 800; letter-spacing: -.01em; }
.catalog-header__count{ font-size: 14px; color: var(--color-text-muted); }

.catalog-banner{
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	background: var(--color-text);
	border-radius: var(--radius-lg);
	padding: 18px 26px;
	overflow: hidden;
	flex: 1 1 460px;
	max-width: 620px;
}
.catalog-banner__text{ display: flex; flex-direction: column; gap: 2px; position: relative; z-index: 1; }
.catalog-banner__title{ color: #fff; font-size: 15px; font-weight: 700; }
.catalog-banner__subtitle{ color: rgba(255,255,255,.66); font-size: 12.5px; }
.catalog-banner__btn{ margin-left: auto; flex-shrink: 0; position: relative; z-index: 1; white-space: nowrap; background: #fff; }
.catalog-banner__btn:hover{ background: var(--color-bg); }
.catalog-banner__image{
	position: absolute;
	right: -10px; bottom: -26px;
	width: 190px;
	opacity: .16;
	filter: grayscale(1) brightness(3);
	pointer-events: none;
}

/* ---- Layout: сайдбар + контент ---- */
.catalog-layout{
	display: grid;
	grid-template-columns: 280px 1fr;
	align-items: start;
	gap: 24px;
	padding-bottom: 36px;
}

/* ---- Сайдбар фильтров ---- */
.catalog-filters{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 20px;
	position: sticky;
	top: calc(var(--header-h-scrolled) + 12px);
}
.catalog-filters__head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.catalog-filters__title{ font-size: 17px; font-weight: 800; }
.catalog-filters__clear{ font-size: 12.5px; color: var(--color-accent); font-weight: 600; }
.catalog-filters__close{ display: none; }

.filter-group{ border-top: 1px solid var(--color-border); padding: 12px 0; }
.filter-group:first-child{ border-top: 0; padding-top: 0; }
.filter-group__toggle{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	font-size: 14px;
	font-weight: 700;
	padding: 4px 0;
}
.filter-group__chevron{ width: 16px; height: 16px; color: var(--color-text-muted); flex-shrink: 0; transition: transform .18s var(--ease); }
.filter-group__body{ margin-top: 10px; display: none; }
.filter-group.is-open .filter-group__body{ display: block; }
.filter-group.is-open .filter-group__toggle .filter-group__chevron{ transform: rotate(0deg); }

.filter-checkbox{
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 6px 2px;
	cursor: pointer;
	font-size: 13.5px;
}
.filter-checkbox input[type="checkbox"]{
	width: 17px; height: 17px;
	flex-shrink: 0;
	border-radius: 5px;
	border: 1.5px solid var(--color-border);
	appearance: none; -webkit-appearance: none;
	background: #fff;
	position: relative;
	cursor: pointer;
	transition: background-color .16s var(--ease), border-color .16s var(--ease);
}
.filter-checkbox input[type="checkbox"]:checked{ background: var(--color-accent); border-color: var(--color-accent); }
.filter-checkbox input[type="checkbox"]:checked::after{
	content: "";
	position: absolute; left: 5px; top: 1px;
	width: 4px; height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(40deg);
}
.filter-cat-list__icon{ width: 20px; height: 20px; color: var(--color-text-muted); flex-shrink: 0; }
.filter-cat-list__icon svg, .filter-cat-list__icon img{ width: 100%; height: 100%; object-fit: contain; }
.filter-cat-list__name{ flex: 1; color: var(--color-text); }
.filter-cat-list__count{ color: var(--color-text-muted); font-size: 12px; }
.filter-show-all{ margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--color-accent); }

.price-inputs{ display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.price-inputs__field{ flex: 1; display: flex; align-items: center; gap: 6px; border: 1.5px solid var(--color-border); border-radius: var(--radius-sm); padding: 7px 10px; font-size: 13px; color: var(--color-text-muted); }
.price-inputs__field input{ width: 100%; border: 0; background: transparent; font-size: 13.5px; font-weight: 600; color: var(--color-text); }
.price-inputs__field input::-webkit-outer-spin-button,
.price-inputs__field input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }

.price-slider{ position: relative; height: 20px; }
.price-slider__track{ position: absolute; top: 8px; left: 0; right: 0; height: 3px; border-radius: 3px; background: var(--color-border); }
.price-slider__range{ position: absolute; top: 8px; height: 3px; border-radius: 3px; background: var(--color-accent); }
.price-slider__handle{
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	appearance: none; -webkit-appearance: none;
	background: transparent;
	pointer-events: none;
	margin: 0;
}
.price-slider__handle::-webkit-slider-thumb{
	appearance: none; -webkit-appearance: none;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--color-accent);
	box-shadow: 0 1px 3px rgba(0,0,0,.25);
	pointer-events: all;
	cursor: pointer;
	margin-top: -1px;
}
.price-slider__handle::-moz-range-thumb{
	width: 18px; height: 18px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--color-accent);
	box-shadow: 0 1px 3px rgba(0,0,0,.25);
	pointer-events: all;
	cursor: pointer;
}
.price-slider__handle::-webkit-slider-runnable-track{ background: transparent; }
.price-slider__handle::-moz-range-track{ background: transparent; }

.filters-form__submit{ display: none; width: 100%; margin-top: 16px; }

/* ---- Контент каталога ---- */
.catalog-content{ min-width: 0; }

.catalog-toolbar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 10px 16px;
	margin-bottom: 18px;
}
.mobile-filters-toggle{ display: none; }

.view-toggle{ display: flex; align-items: center; gap: 4px; }
.view-toggle__btn{
	display: flex; align-items: center; gap: 6px;
	padding: 8px 12px;
	border-radius: var(--radius-sm);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--color-text-muted);
}
.view-toggle__btn svg{ width: 17px; height: 17px; }
.view-toggle__btn.is-active{ background: var(--color-accent-soft); color: var(--color-accent); }

.toolbar-controls{ display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.toolbar-select{ display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--color-text-muted); }
.toolbar-select select{
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 7px 30px 7px 10px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--color-text);
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23767781' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 15px;
}

/* ---- Сетка товаров ---- */
.product-grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

/* ---- Карточка товара (каталог) ---- */
.product-grid .product-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.product-grid .product-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }

.product-card__media{ position: relative; display: block; aspect-ratio: 1 / 1; background: var(--color-bg); }
.product-card__media img{ width: 100%; height: 100%; object-fit: contain; padding: 20px; }
.product-card__badge{
	position: absolute; top: 10px; left: 10px;
	background: var(--color-accent); color: #fff;
	font-size: 11px; font-weight: 700;
	padding: 4px 9px; border-radius: var(--radius-pill);
	z-index: 1;
}
.product-card__badge--inline{ position: static; padding: 3px 7px; }
.product-card__compare{
	position: absolute; top: 10px; right: 10px;
	width: 32px; height: 32px;
	display: flex; align-items: center; justify-content: center;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text-muted);
	transition: color .16s var(--ease), border-color .16s var(--ease);
}
.product-card__compare svg{ width: 16px; height: 16px; }
.product-card__compare:hover, .product-card__compare.is-active{ color: var(--color-accent); border-color: var(--color-accent); }

.product-card__body{ padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.product-card__brand{ font-size: 11px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: .03em; }
.product-card__title{
	font-size: 14px; font-weight: 700; line-height: 1.35;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.7em;
}
.product-card__title:hover{ color: var(--color-accent); }
.product-card__sku{ font-size: 11.5px; color: var(--color-text-muted); }

.product-card__stock{ display: inline-flex; align-items: center; gap: 6px; font-size: 12px; margin: 4px 0 2px; }
.product-card__stock-dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--color-success); flex-shrink: 0; }
.product-card__stock.is-instock{ color: var(--color-success); }
.product-card__stock.is-backorder{ color: #B78103; }
.product-card__stock.is-backorder .product-card__stock-dot{ background: #E3A31E; }
.product-card__stock.is-outofstock{ color: var(--color-text-muted); }
.product-card__stock.is-outofstock .product-card__stock-dot{ background: var(--color-text-muted); }

.product-card__price-row{ display: flex; align-items: center; gap: 8px; margin: 4px 0 10px; flex-wrap: wrap; }
.product-card__price{ font-size: 19px; font-weight: 800; }
.product-card__price .amount, .product-card__price bdi{ font-size: inherit; font-weight: inherit; }
.product-card__price-old{ font-size: 12.5px; color: var(--color-text-muted); text-decoration: line-through; }

.product-card__footer{ display: flex; align-items: center; gap: 8px; margin-top: auto; }
.product-card__cart-btn{ flex: 1; padding: 11px 10px; font-size: 13.5px; }
.product-card__cart-btn:disabled{ background: var(--color-border); color: var(--color-text-muted); cursor: not-allowed; }
.product-card__cart-btn.is-added{ background: var(--color-success); }
.product-card__cart-btn svg{ width: 16px; height: 16px; }
.product-card__fav{
	width: 42px; height: 42px; flex-shrink: 0;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	display: flex; align-items: center; justify-content: center;
	color: var(--color-text-muted);
	transition: color .16s var(--ease), border-color .16s var(--ease);
}
.product-card__fav svg{ width: 18px; height: 18px; }
.product-card__fav:hover{ color: var(--color-accent); border-color: var(--color-accent); }
.product-card__fav.is-active{ color: var(--color-accent); border-color: var(--color-accent); }
.product-card__fav.is-active svg path{ fill: var(--color-accent); }

/* ---- Режим «Список» ---- */
.product-grid[data-view="list"]{ grid-template-columns: 1fr; gap: 12px; }
.product-grid[data-view="list"] .product-card{ flex-direction: row; }
.product-grid[data-view="list"] .product-card__media{ width: 180px; flex-shrink: 0; aspect-ratio: 1 / 1; }
.product-grid[data-view="list"] .product-card__body{ flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 20px; padding: 16px 20px; }
.product-grid[data-view="list"] .product-card__brand{ width: 100%; }
.product-grid[data-view="list"] .product-card__title{ flex: 1 1 260px; min-height: auto; -webkit-line-clamp: 1; }
.product-grid[data-view="list"] .product-card__sku{ flex: 0 0 auto; }
.product-grid[data-view="list"] .product-card__stock{ margin: 0; flex: 0 0 auto; }
.product-grid[data-view="list"] .product-card__price-row{ margin: 0; flex: 0 0 auto; }
.product-grid[data-view="list"] .product-card__footer{ margin: 0 0 0 auto; flex: 0 0 auto; width: 220px; }

/* ---- Пустой результат ---- */
.catalog-empty{ text-align: center; padding: 60px 20px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); display: flex; flex-direction: column; gap: 16px; align-items: center; }
.catalog-empty p{ color: var(--color-text-muted); }

/* ---- Пагинация ---- */
.pagination{ margin-top: 28px; display: flex; justify-content: center; }
.pagination__list{ display: flex; align-items: center; gap: 8px; }
.pagination__list .page-numbers{
	min-width: 38px; height: 38px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 8px;
	border-radius: var(--radius-sm);
	font-size: 13.5px; font-weight: 600;
	color: var(--color-text);
	border: 1px solid var(--color-border);
	background: var(--color-surface);
}
.pagination__list .page-numbers:hover{ border-color: var(--color-accent); color: var(--color-accent); }
.pagination__list .page-numbers.current{ background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.pagination__list .page-numbers.dots{ border: 0; background: transparent; }
.pagination__list .page-numbers svg{ width: 15px; height: 15px; }

/* =================================================================
   16. Каталог — адаптив
   ================================================================= */

/* ---- ≤1024px: планшет — сетка 3 колонки, фильтры уходят в off-canvas ---- */
@media (max-width: 1024px){
	.catalog-layout{ grid-template-columns: 1fr; }
	.product-grid{ grid-template-columns: repeat(3, 1fr); }

	.mobile-filters-toggle{
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 9px 14px;
		border: 1.5px solid var(--color-border);
		border-radius: var(--radius-sm);
		font-size: 13.5px;
		font-weight: 600;
	}
	.mobile-filters-toggle svg{ width: 18px; height: 18px; color: var(--color-accent); }

	.catalog-filters{
		position: fixed;
		top: 0; left: 0;
		width: min(340px, 86vw);
		height: 100%;
		z-index: 300;
		border-radius: 0;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform .28s var(--ease);
		box-shadow: 8px 0 30px rgba(0,0,0,.15);
	}
	.catalog-filters.is-open{ transform: translateX(0); }
	.catalog-filters__close{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 32px; height: 32px;
		border-radius: 50%;
		background: var(--color-bg);
	}
	.catalog-filters__close svg{ width: 16px; height: 16px; }
	.filters-form__submit{ display: block; }

	.filters-backdrop{
		display: none;
		position: fixed; inset: 0;
		background: rgba(16,17,20,.45);
		z-index: 290;
	}
	.filters-backdrop.is-open{ display: block; }

	.catalog-banner{ max-width: none; flex-basis: 100%; }
}

/* ---- ≤768px: мобильные телефоны ---- */
@media (max-width: 768px){
	.catalog-header{ flex-direction: column; align-items: flex-start; padding: 10px 0 16px; }
	.catalog-header__titles{ gap: 8px; }
	.catalog-banner{ padding: 16px 18px; flex-wrap: wrap; }
	.catalog-banner__btn{ margin-left: 0; width: 100%; justify-content: center; order: 3; }
	.catalog-banner__image{ display: none; }

	.catalog-layout{ padding-bottom: 24px; gap: 16px; }

	.catalog-toolbar{ padding: 10px 12px; gap: 10px; }
	.view-toggle__btn span, .view-toggle__btn{ font-size: 0; padding: 8px; gap: 0; }
	.view-toggle__btn svg{ width: 19px; height: 19px; }
	.toolbar-controls{ gap: 10px; width: 100%; justify-content: space-between; }
	.toolbar-select span{ display: none; }
	.toolbar-select select{ padding: 7px 26px 7px 8px; font-size: 12.5px; }

	.product-grid{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.product-card__body{ padding: 10px 12px 12px; }
	.product-card__price{ font-size: 16px; }
	.product-card__cart-btn{ padding: 10px 6px; font-size: 12px; }
	.product-card__cart-btn span, .product-card__cart-btn{ white-space: nowrap; }
	.product-card__fav{ width: 38px; height: 38px; }

	.product-grid[data-view="list"] .product-card{ flex-direction: column; }
	.product-grid[data-view="list"] .product-card__media{ width: 100%; }
	.product-grid[data-view="list"] .product-card__body{ flex-direction: column; align-items: stretch; padding: 12px 14px 14px; }
	.product-grid[data-view="list"] .product-card__footer{ width: 100%; margin: auto 0 0; }

	.pagination__list{ flex-wrap: wrap; gap: 6px; }
	.pagination__list .page-numbers{ min-width: 34px; height: 34px; font-size: 12.5px; }
}

/* ---- ≤480px: узкие экраны ---- */
@media (max-width: 480px){
	.product-grid{ grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.product-card__title{ font-size: 12.5px; }
	.product-card__sku{ display: none; }
	.catalog-filters{ width: 100%; }
}

/* =================================================================
   17. Карточка товара
   ================================================================= */

.product-page{ padding-bottom: 8px; }

/* ---- Заголовок + рейтинг ---- */
.product-header{
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding: 14px 0 8px;
}
.product-header__title{ font-size: clamp(20px, 2.6vw, 27px); font-weight: 800; letter-spacing: -.01em; }

.stock-badge{
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12.5px;
	font-weight: 700;
	white-space: nowrap;
}
.stock-badge.is-instock{ background: #E7F8EA; color: var(--color-success); }
.stock-badge.is-backorder{ background: #FEF3DC; color: #B78103; }
.stock-badge.is-outofstock{ background: var(--color-bg); color: var(--color-text-muted); }
.stock-badge--dot{ gap: 6px; padding: 0; background: none; font-size: 13px; }
.stock-badge--dot::before{ content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }

.product-meta-row{ display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding-bottom: 18px; font-size: 13.5px; color: var(--color-text-muted); }
.product-meta-row__rating{ display: flex; align-items: center; gap: 8px; }
.product-meta-row__rating-value{ font-weight: 700; color: var(--color-text); }
.product-meta-row__rating-count:hover{ color: var(--color-accent); }
.product-meta-row__sku{ padding-left: 18px; border-left: 1px solid var(--color-border); }

.stars{ display: inline-flex; align-items: center; gap: 2px; }
.stars__icon{ width: 15px; height: 15px; }
.stars__icon--full{ color: #FFB020; }
.stars__icon--half{ color: #FFB020; }
.stars__icon--empty{ color: #D8D9DC; }

/* ---- Три колонки: галерея | характеристики | покупка ---- */
.product-main{
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(0,300px) minmax(0,340px);
	gap: 28px;
	align-items: start;
	padding-bottom: 28px;
}

/* ---- Галерея ---- */
.product-gallery{ display: grid; grid-template-columns: 72px 1fr; gap: 14px; }
.product-gallery__thumbs-wrap{ display: flex; flex-direction: column; align-items: center; gap: 6px; }
.product-gallery__thumbs-nav{
	width: 100%; padding: 4px 0;
	color: var(--color-text-muted);
	display: flex; align-items: center; justify-content: center;
}
.product-gallery__thumbs-nav:hover{ color: var(--color-accent); }
.product-gallery__thumbs-nav svg{ width: 16px; height: 16px; }
.product-gallery__thumbs{
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 380px;
	overflow-y: auto;
	scrollbar-width: none;
}
.product-gallery__thumbs::-webkit-scrollbar{ display: none; }
.product-gallery__thumb{
	width: 72px; height: 72px;
	flex-shrink: 0;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: var(--color-surface);
	transition: border-color .16s var(--ease);
}
.product-gallery__thumb img{ width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.product-gallery__thumb.is-active, .product-gallery__thumb:hover{ border-color: var(--color-accent); }

.product-gallery__main{
	position: relative;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.product-gallery__main img{ width: 100%; height: 100%; object-fit: contain; padding: 32px; }
.product-gallery__expand{
	position: absolute;
	right: 16px; bottom: 16px;
	display: flex; align-items: center; gap: 8px;
	padding: 9px 14px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 12.5px;
	font-weight: 600;
	box-shadow: var(--shadow-card);
}
.product-gallery__expand:hover{ border-color: var(--color-accent); color: var(--color-accent); }
.product-gallery__expand svg{ width: 16px; height: 16px; }

.compat-teaser{
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 14px 18px;
	margin-top: 4px;
}
.compat-teaser:hover{ border-color: var(--color-accent); }
.compat-teaser__icon{ width: 34px; height: 34px; color: var(--color-accent); flex-shrink: 0; }
.compat-teaser__text{ display: flex; flex-direction: column; gap: 2px; flex: 1; font-size: 13px; color: var(--color-text-muted); }
.compat-teaser__text strong{ color: var(--color-text); font-size: 14px; }
.compat-teaser__arrow{ width: 18px; height: 18px; color: var(--color-text-muted); flex-shrink: 0; }

/* ---- Лайтбокс ---- */
.lightbox{
	position: fixed; inset: 0;
	z-index: 500;
	background: rgba(10,10,12,.92);
	display: flex; align-items: center; justify-content: center;
}
.lightbox[hidden]{ display: none; }
.lightbox img{ max-width: 88vw; max-height: 86vh; object-fit: contain; }
.lightbox__close{
	position: absolute; top: 20px; right: 24px;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: rgba(255,255,255,.1);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.lightbox__close:hover{ background: rgba(255,255,255,.2); }
.lightbox__close svg{ width: 20px; height: 20px; }
.lightbox__nav{
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 48px; height: 48px;
	border-radius: 50%;
	background: rgba(255,255,255,.1);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.lightbox__nav:hover{ background: rgba(255,255,255,.2); }
.lightbox__nav svg{ width: 20px; height: 20px; }
.lightbox__nav--prev{ left: 24px; }
.lightbox__nav--next{ right: 24px; }

/* ---- Характеристики (средняя колонка) ---- */
.specs-list{ display: flex; flex-direction: column; }
.specs-list__row{
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 11px 0;
	border-bottom: 1px solid var(--color-border);
	font-size: 13.5px;
}
.specs-list__row dt{ color: var(--color-text-muted); }
.specs-list__row dd{ margin: 0; font-weight: 600; }
.specs-list__link{ color: var(--color-accent); font-weight: 600; }
.specs-list__link:hover{ text-decoration: underline; }
.specs-list__all{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--color-accent);
}
.specs-list__all svg{ width: 15px; height: 15px; }

/* ---- Блок покупки (правая колонка) ---- */
.buybox-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
	box-shadow: var(--shadow-card);
}
.buybox-price{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.buybox-price__current{ font-size: 30px; font-weight: 800; line-height: 1; }
.buybox-price__current .amount, .buybox-price__current bdi{ font-size: inherit; font-weight: inherit; }
.buybox-price__old{ font-size: 15px; color: var(--color-text-muted); text-decoration: line-through; }
.buybox-price__badge{ background: var(--color-accent); color: #fff; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: var(--radius-pill); }

.buybox-stock{ margin-bottom: 8px; }
.buybox-delivery-note{ font-size: 12.5px; color: var(--color-text-muted); margin-bottom: 18px; }

.buybox-form__row{ display: flex; gap: 10px; margin-bottom: 12px; }
.qty-stepper{
	display: flex; align-items: center;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
	flex-shrink: 0;
}
.qty-stepper__btn{ width: 40px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--color-text-muted); }
.qty-stepper__btn:hover{ color: var(--color-accent); background: var(--color-accent-soft); }
.qty-stepper__btn svg{ width: 15px; height: 15px; }
.qty-stepper__input{
	width: 44px; height: 48px;
	border: 0; border-left: 1.5px solid var(--color-border); border-right: 1.5px solid var(--color-border);
	text-align: center;
	font-size: 15px; font-weight: 700;
	-moz-appearance: textfield;
}
.qty-stepper__input::-webkit-outer-spin-button, .qty-stepper__input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.buybox-form__submit{ flex: 1; }
.buybox-form__submit.is-added{ background: var(--color-success); }
.buybox-form__buy-now{ width: 100%; color: var(--color-accent); border-color: var(--color-accent); }
.buybox-form__buy-now:hover{ background: var(--color-accent); color: #fff; }

.buybox-secondary{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.buybox-secondary__btn{ font-size: 13px; padding: 11px 8px; }
.buybox-secondary__btn.is-active{ border-color: var(--color-accent); color: var(--color-accent); }
.buybox-secondary__btn svg{ width: 17px; height: 17px; }

.buybox-info-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	margin-top: 16px;
	overflow: hidden;
}
.buybox-info-row{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--color-border); }
.buybox-info-row:last-child{ border-bottom: 0; }
.buybox-info-row__text{ display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; color: var(--color-text-muted); }
.buybox-info-row__text strong{ font-size: 14px; color: var(--color-text); }
.buybox-info-row__icon{ width: 26px; height: 26px; color: var(--color-text-muted); flex-shrink: 0; }

.buybox-oem-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 20px;
	margin-top: 16px;
}
.buybox-oem-card__title{ font-size: 14.5px; font-weight: 800; margin-bottom: 12px; }
.oem-table{ width: 100%; border-collapse: collapse; font-size: 13px; }
.oem-table tr{ border-bottom: 1px solid var(--color-border); }
.oem-table tr:last-child{ border-bottom: 0; }
.oem-table td{ padding: 8px 0; }
.oem-table__brand{ color: var(--color-text-muted); }
.oem-table__number{ text-align: right; font-weight: 600; }
.buybox-oem-card__all{ display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--color-accent); }

/* ---- Вкладки товара ---- */
.product-tabs{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	margin-bottom: 32px;
	overflow: hidden;
}
.product-tabs__nav{
	display: flex;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 0 20px;
	border-bottom: 1px solid var(--color-border);
}
.product-tabs__nav::-webkit-scrollbar{ display: none; }
.product-tabs__btn{
	padding: 16px 14px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-text-muted);
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.product-tabs__btn:hover{ color: var(--color-text); }
.product-tabs__btn.is-active{ color: var(--color-accent); border-color: var(--color-accent); }

.product-tabs__panels{ padding: 22px 24px 26px; }
.product-tabs__panel{ display: none; }
.product-tabs__panel.is-active{ display: block; animation: rtaFadeIn .25s var(--ease) both; }
.product-tabs__empty{ color: var(--color-text-muted); font-size: 14px; }

.wc-content{ font-size: 14px; line-height: 1.75; color: var(--color-text); max-width: 760px; }
.wc-content p{ margin: 0 0 12px; }
.wc-content p:last-child{ margin-bottom: 0; }

.full-specs-table{ width: 100%; max-width: 620px; border-collapse: collapse; font-size: 13.5px; }
.full-specs-table tr{ border-bottom: 1px solid var(--color-border); }
.full-specs-table th, .full-specs-table td{ text-align: left; padding: 12px 4px; font-weight: 400; }
.full-specs-table th{ color: var(--color-text-muted); width: 44%; font-weight: 500; }
.full-specs-table td{ font-weight: 600; }

/* ---- Отзывы ---- */
.reviews__list{ display: flex; flex-direction: column; gap: 20px; margin-bottom: 24px; max-width: 640px; }
.reviews__item-head{ display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.reviews__avatar{ border-radius: 50%; width: 44px; height: 44px; }
.reviews__author{ display: block; font-size: 14px; }
.reviews__date{ font-size: 12px; color: var(--color-text-muted); }
.reviews__stars{ margin-left: auto; }
.reviews__stars .stars__icon{ width: 13px; height: 13px; }
.reviews__text{ font-size: 13.5px; line-height: 1.7; color: var(--color-text-muted); padding-left: 56px; }

.comment-respond{ max-width: 560px; }
.comment-reply-title{ font-size: 16px; font-weight: 800; margin-bottom: 14px; display: block; }
.comment-form p{ margin-bottom: 14px; }
.comment-form label{ display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea{
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
}
.comment-form input:focus, .comment-form textarea:focus{ border-color: var(--color-accent); }
.comment-form-rating select{ padding: 8px 12px; border: 1.5px solid var(--color-border); border-radius: var(--radius-sm); }

/* ---- Сопутствующие товары ---- */
.related-products{ padding-bottom: 44px; }
.products-slider__track--related{ grid-auto-columns: calc((100% - 3 * 16px) / 4); gap: 16px; }
.related-card{
	scroll-snap-align: start;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.related-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.related-card__media{ display: block; aspect-ratio: 1 / 1; background: var(--color-bg); }
.related-card__media img{ width: 100%; height: 100%; object-fit: contain; padding: 14px; }
.related-card__body{ padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 3px; }
.related-card__brand{ font-size: 10.5px; color: var(--color-text-muted); text-transform: uppercase; }
.related-card__title{
	font-size: 13px; font-weight: 600; line-height: 1.35;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.6em;
}
.related-card__title:hover{ color: var(--color-accent); }
.related-card__footer{ display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.related-card__price{ font-size: 15px; font-weight: 800; }
.related-card__cart-btn{
	width: 34px; height: 34px; flex-shrink: 0;
	border-radius: var(--radius-sm);
	background: var(--color-accent);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.related-card__cart-btn:hover{ background: var(--color-accent-dark); }
.related-card__cart-btn svg{ width: 16px; height: 16px; }

/* =================================================================
   18. Карточка товара — адаптив
   ================================================================= */

/* ---- ≤1024px: планшет — характеристики и покупка в 2 колонки под галереей ---- */
@media (max-width: 1024px){
	.product-main{ grid-template-columns: 1fr 1fr; }
	.product-gallery{ grid-column: 1 / -1; }
	.products-slider__track--related{ grid-auto-columns: calc((100% - 2 * 16px) / 3); }
}

/* ---- ≤900px: галерея, характеристики и покупка друг под другом ---- */
@media (max-width: 900px){
	.product-main{ grid-template-columns: 1fr; gap: 20px; }
	.product-gallery{ grid-template-columns: 60px 1fr; }
	.buybox-secondary{ grid-template-columns: 1fr 1fr; }
}

/* ---- ≤768px: мобильные телефоны ---- */
@media (max-width: 768px){
	.product-header{ padding: 10px 0 6px; gap: 10px; }
	.product-header__title{ font-size: 19px; }
	.product-meta-row{ padding-bottom: 14px; gap: 10px; font-size: 12.5px; }
	.product-meta-row__sku{ padding-left: 10px; }

	.product-gallery{ grid-template-columns: 1fr; grid-template-areas: "main" "thumbs" "compat"; gap: 12px; }
	.product-gallery__main{ grid-area: main; }
	.product-gallery__thumbs-wrap{ grid-area: thumbs; flex-direction: row; }
	.product-gallery__thumbs{ flex-direction: row; max-height: none; overflow-x: auto; padding-bottom: 2px; }
	.product-gallery__thumb{ width: 60px; height: 60px; }
	.product-gallery__thumbs-nav{ display: none; }
	.compat-teaser{ grid-area: compat; padding: 12px 14px; }
	.compat-teaser__text{ font-size: 12px; }
	.compat-teaser__text strong{ font-size: 13px; }

	.specs-list__row{ padding: 9px 0; font-size: 13px; }

	.buybox-card{ padding: 16px; }
	.buybox-price__current{ font-size: 24px; }
	.buybox-form__row{ flex-wrap: wrap; }
	.buybox-form__submit{ width: 100%; }
	.qty-stepper{ width: 100%; justify-content: space-between; }
	.qty-stepper__input{ flex: 1; }

	.product-tabs__panels{ padding: 18px 16px 20px; }
	.product-tabs__btn{ padding: 13px 10px; font-size: 13px; }

	.reviews__text{ padding-left: 0; margin-top: 6px; }
	.reviews__stars{ margin-left: 0; width: 100%; order: 3; }

	.products-slider__track--related{ grid-auto-columns: calc((100% - 12px) / 2.3); gap: 12px; }

	.lightbox img{ max-width: 94vw; max-height: 78vh; }
	.lightbox__nav{ width: 40px; height: 40px; }
	.lightbox__nav--prev{ left: 10px; }
	.lightbox__nav--next{ right: 10px; }
}

/* ---- ≤480px: узкие экраны ---- */
@media (max-width: 480px){
	.buybox-secondary{ grid-template-columns: 1fr; }
	.product-tabs__nav{ padding: 0 12px; }
	.products-slider__track--related{ grid-auto-columns: 74%; }
}

/* =================================================================
   19. Личный кабинет
   ================================================================= */

.account-header{ padding: 14px 0 18px; }
.account-header__title{ font-size: clamp(20px, 2.6vw, 27px); font-weight: 800; }

.account-layout{
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 24px;
	align-items: start;
	padding-bottom: 40px;
}

/* ---- Сайдбар кабинета ---- */
.account-sidebar{ display: flex; flex-direction: column; gap: 16px; position: sticky; top: calc(var(--header-h-scrolled) + 12px); }

.account-user-card{
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 16px;
}
.account-user-card:hover{ border-color: var(--color-accent); }
.account-user-card__avatar{
	width: 46px; height: 46px; flex-shrink: 0;
	border-radius: 50%;
	background: var(--color-accent);
	color: #fff;
	font-size: 18px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.account-user-card__info{ display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.account-user-card__name{ font-size: 14.5px; }
.account-user-card__email, .account-user-card__phone{ font-size: 12px; color: var(--color-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-user-card__arrow{ width: 16px; height: 16px; color: var(--color-text-muted); flex-shrink: 0; }

.account-nav{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 8px;
}
.account-nav__list{ display: flex; flex-direction: column; gap: 2px; }
.account-nav__item a{
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 10px 12px;
	border-radius: var(--radius-sm);
	font-size: 13.5px;
	color: var(--color-text);
	border-left: 2px solid transparent;
}
.account-nav__item a:hover{ background: var(--color-bg); }
.account-nav__item.is-active a{ background: var(--color-accent-soft); color: var(--color-accent); border-left-color: var(--color-accent); font-weight: 600; }
.account-nav__icon{ width: 19px; height: 19px; flex-shrink: 0; color: inherit; opacity: .8; }
.account-nav__label{ flex: 1; }
.account-nav__badge{ background: var(--color-bg); color: var(--color-text-muted); font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: var(--radius-pill); }
.account-nav__item.is-active .account-nav__badge{ background: #fff; color: var(--color-accent); }
.account-nav__item--logout{ margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--color-border); }
.account-nav__item--logout a{ color: var(--color-text-muted); }

.loyalty-promo{
	background: var(--color-accent-soft);
	border: 1px solid #F7CFCF;
	border-radius: var(--radius-lg);
	padding: 16px;
}
.loyalty-promo__head{ display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--color-text); margin-bottom: 12px; }
.loyalty-promo__icon{ width: 20px; height: 20px; color: var(--color-accent); flex-shrink: 0; }
.loyalty-promo__head strong{ color: var(--color-accent); }
.loyalty-promo__bar{ height: 6px; border-radius: 4px; background: rgba(227,30,36,.15); overflow: hidden; margin-bottom: 10px; }
.loyalty-promo__bar span{ display: block; height: 100%; background: var(--color-accent); border-radius: 4px; }
.loyalty-promo__meta{ font-size: 12px; color: var(--color-text-muted); margin-bottom: 4px; }
.loyalty-promo__link{ display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--color-accent); margin-top: 8px; }
.loyalty-promo__link svg{ width: 14px; height: 14px; }

/* ---- Контент кабинета ---- */
.account-content{ min-width: 0; display: flex; flex-direction: column; gap: 16px; }

.account-stats{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 16px; }
.stat-card{
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 16px;
	transition: box-shadow .18s var(--ease), transform .18s var(--ease);
}
.stat-card:hover{ box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
.stat-card__icon{ width: 44px; height: 44px; flex-shrink: 0; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; }
.stat-card__icon svg{ width: 22px; height: 22px; }
.stat-card__icon--pink{ background: #FDECEC; color: var(--color-accent); }
.stat-card__icon--green{ background: #E7F8EA; color: var(--color-success); }
.stat-card__icon--yellow{ background: #FEF6E0; color: #E3A31E; }
.stat-card__body{ display: flex; flex-direction: column; gap: 1px; }
.stat-card__body strong{ font-size: 22px; font-weight: 800; line-height: 1.1; }
.stat-card__body span{ font-size: 12.5px; color: var(--color-text-muted); }
.stat-card__body em{ font-style: normal; display: inline-flex; align-items: center; gap: 3px; font-size: 11.5px; font-weight: 600; color: var(--color-accent); margin-top: 3px; }
.stat-card__body em svg{ width: 11px; height: 11px; }

.account-row{ display: grid; gap: 16px; grid-template-columns: 1fr 380px; }

.account-panel{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 20px;
}
.account-panel--narrow{ min-width: 0; }
.account-panel--full{ margin-bottom: 8px; }
.account-panel__head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.account-panel__head h2{ font-size: 15.5px; font-weight: 800; }
.account-panel__link{ display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; color: var(--color-accent); white-space: nowrap; }
.account-panel__link svg{ width: 13px; height: 13px; }
.account-empty{ color: var(--color-text-muted); font-size: 13.5px; padding: 12px 0; }

/* ---- Список заказов ---- */
.order-list{ display: flex; flex-direction: column; }
.order-list__row{
	display: grid;
	grid-template-columns: 1.6fr auto auto auto auto;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--color-border);
}
.order-list__row:last-child{ border-bottom: 0; }
.order-list__main{ display: flex; flex-direction: column; gap: 2px; }
.order-list__main strong{ font-size: 14px; }
.order-list__date{ font-size: 12px; color: var(--color-text-muted); }
.order-list__items{ font-size: 13px; color: var(--color-text-muted); white-space: nowrap; }
.order-list__total{ font-size: 14.5px; font-weight: 700; white-space: nowrap; }
.order-list__btn{ padding: 8px 16px; font-size: 12.5px; white-space: nowrap; }

.order-status-badge{
	display: inline-flex; align-items: center;
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px; font-weight: 700;
	white-space: nowrap;
	justify-self: start;
}
.order-status-badge.is-transit{ background: #E7EEFD; color: #3766D6; }
.order-status-badge.is-done{ background: #E7F8EA; color: var(--color-success); }
.order-status-badge.is-pending{ background: #FEF3DC; color: #B78103; }
.order-status-badge.is-new{ background: #F0F0FF; color: #5B5FE0; }
.order-status-badge.is-cancelled{ background: var(--color-bg); color: var(--color-text-muted); }

/* ---- Мини-список товаров (избранное в дашборде) ---- */
.mini-product-list{ display: flex; flex-direction: column; }
.mini-product-list__row{ display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--color-border); }
.mini-product-list__row:last-child{ border-bottom: 0; }
.mini-product-list__media{ width: 52px; height: 52px; flex-shrink: 0; background: var(--color-bg); border-radius: var(--radius-sm); overflow: hidden; }
.mini-product-list__media img{ width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.mini-product-list__info{ display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; }
.mini-product-list__title{ font-size: 13px; font-weight: 600; line-height: 1.3; }
.mini-product-list__title:hover{ color: var(--color-accent); }
.mini-product-list__sku{ font-size: 11px; color: var(--color-text-muted); }
.mini-product-list__price{ font-size: 13.5px; font-weight: 700; margin-top: 2px; }
.mini-product-list__fav{ color: var(--color-accent); flex-shrink: 0; }
.mini-product-list__fav svg{ width: 18px; height: 18px; }
.mini-product-list__fav svg path{ fill: var(--color-accent); }

/* ---- Бонусы ---- */
.bonuses-grid{ display: grid; grid-template-columns: 1fr 1.6fr; gap: 16px; }
.bonuses-points{
	position: relative;
	background: var(--color-bg);
	border-radius: var(--radius-md);
	padding: 18px;
	overflow: hidden;
}
.bonuses-points__label{ display: block; font-size: 12.5px; color: var(--color-text-muted); margin-bottom: 6px; }
.bonuses-points__value{ display: block; font-size: 26px; font-weight: 800; color: var(--color-accent); }
.bonuses-points__value span{ font-size: 13px; font-weight: 600; color: var(--color-text-muted); }
.bonuses-points__icon{ position: absolute; right: 14px; bottom: 14px; width: 40px; height: 40px; color: var(--color-border); }
.bonuses-points__btn{ margin-top: 14px; font-size: 12.5px; padding: 9px 14px; position: relative; z-index: 1; }
.bonuses-points__hint{ font-size: 11.5px; color: var(--color-text-muted); margin-top: 10px; position: relative; z-index: 1; }

.bonuses-tier{ background: var(--color-bg); border-radius: var(--radius-md); padding: 18px; }
.bonuses-tier__head{ display: flex; align-items: center; justify-content: space-between; font-size: 13.5px; color: var(--color-text-muted); margin-bottom: 8px; }
.bonuses-tier__head strong{ color: var(--color-text); font-size: 15px; }
.bonuses-tier__icon{ width: 30px; height: 30px; color: #C9A227; }
.bonuses-tier__discount{ font-size: 13.5px; font-weight: 600; color: var(--color-text); margin-bottom: 10px; }
.bonuses-tier__meta{ display: flex; justify-content: space-between; gap: 12px; font-size: 11.5px; color: var(--color-text-muted); flex-wrap: wrap; }

.tiers-table{ display: flex; flex-direction: column; }
.tiers-table__row{ display: grid; grid-template-columns: 1.4fr 1fr 1fr; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--radius-sm); }
.tiers-table__row.is-current{ background: var(--color-accent-soft); }
.tiers-table__name{ display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; }
.tiers-table__name svg{ width: 17px; height: 17px; color: #C9A227; }
.tiers-table__req, .tiers-table__discount{ font-size: 12.5px; color: var(--color-text-muted); }
.tiers-table__discount{ text-align: right; font-weight: 600; color: var(--color-text); }

.bonus-log{ display: flex; flex-direction: column; }
.bonus-log__row{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--color-border); font-size: 13px; }
.bonus-log__row:last-child{ border-bottom: 0; }
.bonus-log__reason{ flex: 1; }
.bonus-log__date{ color: var(--color-text-muted); font-size: 12px; }
.bonus-log__points{ font-weight: 700; color: var(--color-success); }

/* ---- Адреса ---- */
.address-list{ display: flex; flex-direction: column; }
.address-list__item{ display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--color-border); }
.address-list__item:last-child{ border-bottom: 0; }
.address-list__icon{ width: 20px; height: 20px; color: var(--color-accent); flex-shrink: 0; margin-top: 2px; }
.address-list__body{ display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--color-text-muted); }
.address-list__body strong{ color: var(--color-text); font-size: 13.5px; }
.address-list__contact{ font-size: 12px; }
.address-add-link{ display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--color-accent); }
.address-add-link svg{ width: 18px; height: 18px; }

.address-cards{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 20px; }
.address-card{ position: relative; display: flex; gap: 12px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 16px; }
.address-card__icon{ width: 22px; height: 22px; color: var(--color-accent); flex-shrink: 0; }
.address-card__body{ display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--color-text-muted); padding-right: 24px; }
.address-card__body strong{ color: var(--color-text); font-size: 14px; }
.address-card__contact{ font-size: 12px; }
.address-card__delete{ position: absolute; top: 14px; right: 14px; color: var(--color-text-muted); }
.address-card__delete:hover{ color: var(--color-accent); }
.address-card__delete svg{ width: 15px; height: 15px; }

.account-panel--form .account-panel__form-title{ font-size: 15px; font-weight: 800; margin-bottom: 14px; }
.address-form{ display: flex; flex-direction: column; gap: 14px; max-width: 520px; }
.address-form__row{ display: flex; gap: 14px; }
.address-form__row label{ flex: 1; display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.address-form input, .address-form textarea{
	padding: 11px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
	font-weight: 400;
}
.address-form input:focus, .address-form textarea:focus{ border-color: var(--color-accent); }

/* ---- Сравнение ---- */
.compare-table-wrap{ overflow-x: auto; }
.compare-table{ width: 100%; border-collapse: collapse; min-width: 640px; }
.compare-table th, .compare-table td{ padding: 12px; border-bottom: 1px solid var(--color-border); text-align: center; font-size: 13px; }
.compare-table__label-col{ text-align: left !important; width: 180px; color: var(--color-text-muted); font-weight: 500; }
.compare-table__product-col{ position: relative; width: 200px; padding-top: 30px !important; }
.compare-table__remove{ position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border-radius: 50%; background: var(--color-bg); color: var(--color-text-muted); display: flex; align-items: center; justify-content: center; }
.compare-table__remove:hover{ color: var(--color-accent); }
.compare-table__remove svg{ width: 13px; height: 13px; }
.compare-table__media{ display: block; width: 80px; height: 80px; margin: 0 auto 10px; background: var(--color-bg); border-radius: var(--radius-sm); }
.compare-table__media img{ width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.compare-table__title{ display: block; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.compare-table__title:hover{ color: var(--color-accent); }
.compare-table__price{ display: block; font-size: 14px; font-weight: 700; }

/* ---- Уведомления ---- */
.toggle-row{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--color-border); }
.toggle-row:last-of-type{ border-bottom: 0; }
.toggle-row strong{ display: block; font-size: 14px; margin-bottom: 2px; }
.toggle-row small{ display: block; font-size: 12px; color: var(--color-text-muted); }
.toggle-switch{ position: relative; width: 42px; height: 24px; flex-shrink: 0; }
.toggle-switch input{ position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.toggle-switch__track{ position: absolute; inset: 0; background: var(--color-border); border-radius: var(--radius-pill); transition: background-color .18s var(--ease); }
.toggle-switch__track::after{ content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .18s var(--ease); box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.toggle-switch input:checked + .toggle-switch__track{ background: var(--color-accent); }
.toggle-switch input:checked + .toggle-switch__track::after{ transform: translateX(18px); }
.notifications-form .btn{ margin-top: 6px; }

.account-notice{ padding: 12px 16px; border-radius: var(--radius-sm); font-size: 13.5px; margin-bottom: 16px; }
.account-notice--success{ background: #E7F8EA; color: var(--color-success); }

/* ---- Гостевая форма входа/регистрации ---- */
.account-guest{ padding-bottom: 56px; }
.auth-grid{ display: grid; grid-template-columns: 1fr; gap: 20px; max-width: 460px; margin: 0 auto; }
.auth-grid--two{ max-width: 900px; grid-template-columns: 1fr 1fr; }
.auth-card{ background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 28px; }
.auth-card__title{ font-size: 19px; font-weight: 800; margin-bottom: 20px; }
.auth-form{ display: flex; flex-direction: column; gap: 14px; }
.auth-form label{ display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.auth-form input{
	padding: 12px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-weight: 400;
	font-family: inherit;
}
.auth-form input:focus{ border-color: var(--color-accent); }
.auth-form__row{ display: flex; align-items: center; justify-content: space-between; font-size: 12.5px; }
.auth-form__remember{ display: flex; align-items: center; gap: 7px; font-weight: 400; color: var(--color-text-muted); }
.auth-form__forgot{ color: var(--color-accent); font-weight: 600; }
.auth-form__submit{ margin-top: 6px; width: 100%; }
.auth-form__hint{ font-size: 12px; color: var(--color-text-muted); }

/* ---- Форма редактирования данных / способов оплаты (стандартные шаблоны WC) ---- */
.woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-MyAccount-content p.form-row{ display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; max-width: 460px; }
.woocommerce-MyAccount-content label{ font-size: 13px; font-weight: 600; }
.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea{
	padding: 11px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
	width: 100%;
	max-width: 460px;
}
.woocommerce-MyAccount-content fieldset{ border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 16px; margin-bottom: 16px; }
.woocommerce-MyAccount-content legend{ font-weight: 700; font-size: 14px; padding: 0 6px; }
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"]{
	display: inline-flex;
	align-items: center;
	padding: 12px 22px;
	border-radius: var(--radius-sm);
	background: var(--color-accent);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	border: 0;
	cursor: pointer;
}
.woocommerce-MyAccount-content button[type="submit"]:hover{ background: var(--color-accent-dark); }
.woocommerce-MyAccount-content table{ width: 100%; border-collapse: collapse; font-size: 13.5px; }
.woocommerce-MyAccount-content table th, .woocommerce-MyAccount-content table td{ padding: 10px; border-bottom: 1px solid var(--color-border); text-align: left; }
.woocommerce-MyAccount-content .woocommerce-Message{ background: var(--color-accent-soft); color: var(--color-accent); padding: 12px 16px; border-radius: var(--radius-sm); margin-bottom: 16px; list-style: none; }

/* ---- Уведомления WooCommerce (общие для корзины/чекаута/кабинета) ---- */
.woocommerce-notices-wrapper{ margin: 0 0 16px; }
ul.woocommerce-error, ul.woocommerce-message, ul.woocommerce-info{
	list-style: none;
	background: var(--color-accent-soft);
	color: var(--color-accent);
	padding: 14px 18px;
	border-radius: var(--radius-md);
	font-size: 13.5px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
ul.woocommerce-message{ background: #E7F8EA; color: var(--color-success); }
ul.woocommerce-info{ background: #E7EEFD; color: #3766D6; }
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li{ list-style: none; }

/* =================================================================
   20. Личный кабинет — адаптив
   ================================================================= */

/* ---- ≤1100px: сайдбар уже, статистика 2 колонки ---- */
@media (max-width: 1100px){
	.account-stats{ grid-template-columns: repeat(2, 1fr); }
	.account-row{ grid-template-columns: 1fr; }
	.bonuses-grid{ grid-template-columns: 1fr; }
}

/* ---- ≤1024px: сайдбар уходит наверх (не sticky, во всю ширину) ---- */
@media (max-width: 1024px){
	.account-layout{ grid-template-columns: 1fr; }
	.account-sidebar{ position: static; flex-direction: row; flex-wrap: wrap; }
	.account-user-card{ flex: 1 1 260px; }
	.account-nav{ flex: 1 1 100%; order: 3; }
	.account-nav__list{ flex-direction: row; flex-wrap: wrap; }
	.account-nav__item{ flex: 1 1 auto; }
	.account-nav__item a{ border-left: 0; border-bottom: 2px solid transparent; }
	.account-nav__item.is-active a{ border-left-color: transparent; border-bottom-color: var(--color-accent); }
	.loyalty-promo{ flex: 1 1 260px; order: 2; }

	.address-cards{ grid-template-columns: 1fr; }
}

/* ---- ≤768px: мобильные телефоны ---- */
@media (max-width: 768px){
	.account-header{ padding: 10px 0 14px; }
	.account-header__title{ font-size: 19px; }
	.account-layout{ padding-bottom: 28px; gap: 16px; }

	.account-sidebar{ flex-direction: column; }
	.account-nav__list{ flex-direction: column; }

	.account-stats{ grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.stat-card{ padding: 12px; gap: 10px; }
	.stat-card__icon{ width: 36px; height: 36px; }
	.stat-card__icon svg{ width: 18px; height: 18px; }
	.stat-card__body strong{ font-size: 18px; }

	.account-panel{ padding: 14px; }
	.account-panel__head h2{ font-size: 14px; }

	.order-list__row{
		grid-template-columns: 1fr auto;
		grid-template-areas: "main status" "meta meta" "btn btn";
		row-gap: 8px;
	}
	.order-list__main{ grid-area: main; }
	.order-status-badge{ grid-area: status; justify-self: end; }
	.order-list__items{ grid-area: meta; justify-self: start; }
	.order-list__total{ grid-area: meta; justify-self: end; }
	.order-list__btn{ grid-area: btn; width: 100%; justify-content: center; }

	.bonuses-grid{ gap: 12px; }
	.bonuses-points, .bonuses-tier{ padding: 14px; }

	.tiers-table__row{ grid-template-columns: 1fr; gap: 4px; text-align: left; }
	.tiers-table__discount{ text-align: left; }

	.address-form__row{ flex-direction: column; }

	.compare-table__label-col{ width: 120px; font-size: 12px; }
	.compare-table th, .compare-table td{ padding: 8px; font-size: 12px; }

	.toggle-row{ align-items: flex-start; }

	.auth-grid--two{ grid-template-columns: 1fr; }
	.auth-card{ padding: 20px; }
}

/* ---- ≤480px: узкие экраны ---- */
@media (max-width: 480px){
	.account-stats{ grid-template-columns: 1fr; }
	.account-nav__item a span.account-nav__label{ font-size: 13px; }
}

/* =================================================================
   21. Корзина
   ================================================================= */

.cart-header{ display: flex; align-items: center; gap: 12px; padding: 14px 0 18px; }
.cart-header__title{ font-size: clamp(20px, 2.6vw, 27px); font-weight: 800; }
.cart-header__count{ background: var(--color-bg); color: var(--color-text-muted); font-size: 12.5px; font-weight: 600; padding: 4px 12px; border-radius: var(--radius-pill); }

.cart-layout{ display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; padding-bottom: 8px; }
.cart-main{ min-width: 0; }
.cart-side{ position: sticky; top: calc(var(--header-h-scrolled) + 12px); display: flex; flex-direction: column; gap: 16px; }

/* ---- Таблица товаров ---- */
.cart-table{ background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.cart-table__head{
	display: grid;
	grid-template-columns: 1fr 140px 150px 120px 36px;
	gap: 16px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--color-border);
	font-size: 12.5px;
	color: var(--color-text-muted);
	font-weight: 600;
}
.cart-table__col-price, .cart-table__col-qty, .cart-table__col-sum{ text-align: left; }

.cart-table__body{ display: flex; flex-direction: column; }
.cart-row{
	display: grid;
	grid-template-columns: 1fr 140px 150px 120px 36px;
	gap: 16px;
	align-items: center;
	padding: 18px 20px;
	border-bottom: 1px solid var(--color-border);
	transition: opacity .18s var(--ease);
}
.cart-table__body .cart-row:last-child{ border-bottom: 0; }
.cart-row.is-updating{ opacity: .5; pointer-events: none; }

.cart-row__product{ display: flex; align-items: center; gap: 14px; min-width: 0; }
.cart-row__media{ width: 72px; height: 72px; flex-shrink: 0; background: var(--color-bg); border-radius: var(--radius-sm); overflow: hidden; }
.cart-row__media img{ width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.cart-row__info{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cart-row__category{ font-size: 11.5px; color: var(--color-text-muted); }
.cart-row__title{ font-size: 14px; font-weight: 700; line-height: 1.3; }
.cart-row__title:hover{ color: var(--color-accent); }
.cart-row__sku{ font-size: 11.5px; color: var(--color-text-muted); }
.cart-row__stock{ display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; margin-top: 2px; }
.cart-row__stock i{ width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cart-row__stock.is-instock{ color: var(--color-success); }
.cart-row__stock.is-backorder{ color: #B78103; }
.cart-row__stock.is-outofstock{ color: var(--color-text-muted); }

.cart-row__price{ display: flex; flex-direction: column; gap: 3px; }
.cart-row__price-current{ font-size: 15px; font-weight: 700; }
.cart-row__price-old{ font-size: 12px; color: var(--color-text-muted); text-decoration: line-through; }
.cart-row__badge{ display: inline-block; background: var(--color-accent); color: #fff; font-size: 10.5px; font-weight: 700; padding: 2px 7px; border-radius: var(--radius-pill); width: fit-content; }

.qty-stepper--sm .qty-stepper__btn{ width: 34px; height: 40px; }
.qty-stepper--sm .qty-stepper__input{ width: 38px; height: 40px; font-size: 14px; }

.cart-row__sum{ font-size: 15.5px; font-weight: 800; }

.cart-row__remove{ width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; color: var(--color-text-muted); border-radius: 50%; }
.cart-row__remove:hover{ color: var(--color-accent); background: var(--color-accent-soft); }
.cart-row__remove svg{ width: 15px; height: 15px; }

.cart-table__actions{ display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; gap: 14px; flex-wrap: wrap; }
.cart-table__clear, .cart-table__save{ font-size: 13px; padding: 10px 16px; }
.cart-table__clear:hover{ border-color: var(--color-accent); color: var(--color-accent); }

/* ---- Пустая корзина ---- */
.cart-empty{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 60px 24px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.cart-empty__icon{ width: 56px; height: 56px; color: var(--color-border); }
.cart-empty__title{ font-size: 19px; font-weight: 800; }
.cart-empty__text{ color: var(--color-text-muted); font-size: 14px; margin-bottom: 6px; }

/* ---- Блок «Ваш заказ» ---- */
.order-summary{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
}
.order-summary__title{ font-size: 16px; font-weight: 800; margin-bottom: 14px; }
.order-summary__rows{ display: flex; flex-direction: column; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--color-border); margin-bottom: 14px; }
.order-summary__row{ display: flex; align-items: center; justify-content: space-between; font-size: 13.5px; color: var(--color-text-muted); }
.order-summary__row span:last-child{ color: var(--color-text); font-weight: 600; }
.order-summary__row--discount span:last-child{ color: var(--color-accent); }
.order-summary__row--coupon{ background: var(--color-accent-soft); border-radius: var(--radius-sm); padding: 6px 10px; }
.order-summary__row--coupon span:first-child{ display: flex; align-items: center; gap: 6px; color: var(--color-accent); font-weight: 700; font-size: 12.5px; }
.order-summary__row--coupon span:first-child svg{ width: 14px; height: 14px; }
.order-summary__coupon-remove{ color: var(--color-accent); }
.order-summary__coupon-remove svg{ width: 13px; height: 13px; }

.order-summary__tooltip{ position: relative; display: inline-flex; vertical-align: middle; margin-left: 3px; color: var(--color-text-muted); cursor: help; }
.order-summary__tooltip svg{ width: 14px; height: 14px; }
.order-summary__tooltip-text{
	position: absolute;
	bottom: calc(100% + 8px); left: 50%;
	transform: translateX(-50%);
	width: 220px;
	background: var(--color-text);
	color: #fff;
	font-size: 11.5px;
	line-height: 1.5;
	padding: 10px 12px;
	border-radius: var(--radius-sm);
	opacity: 0;
	visibility: hidden;
	transition: opacity .16s var(--ease);
	z-index: 5;
	pointer-events: none;
}
.order-summary__tooltip:hover .order-summary__tooltip-text,
.order-summary__tooltip:focus .order-summary__tooltip-text{ opacity: 1; visibility: visible; }

.order-summary__total{ display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; }
.order-summary__total span{ font-size: 14.5px; font-weight: 700; }
.order-summary__total strong{ font-size: 24px; font-weight: 800; }

.order-summary__checkout{ width: 100%; margin-bottom: 10px; }
.order-summary__quick{ width: 100%; margin-bottom: 16px; }

.free-shipping-note{
	display: flex;
	align-items: center;
	gap: 12px;
	background: #FDF3DE;
	border-radius: var(--radius-md);
	padding: 14px 16px;
	font-size: 12.5px;
	color: #7A5B12;
	line-height: 1.4;
	margin-bottom: 16px;
}
.free-shipping-note__icon{ width: 26px; height: 26px; flex-shrink: 0; color: #C9962C; }
.free-shipping-note--active{ background: #E7F8EA; color: #1E7A34; }
.free-shipping-note--active .free-shipping-note__icon{ color: var(--color-success); }

.promo-code{ border-top: 1px solid var(--color-border); padding-top: 16px; }
.promo-code__title{ font-size: 14px; font-weight: 800; margin-bottom: 10px; }
.promo-code__form{ display: flex; gap: 8px; }
.promo-code__form input{
	flex: 1;
	padding: 11px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 13.5px;
	min-width: 0;
}
.promo-code__form input:focus{ border-color: var(--color-accent); }
.promo-code__form .btn{ padding: 11px 16px; font-size: 13px; flex-shrink: 0; }
.promo-code__error{ color: var(--color-accent); font-size: 12px; margin-top: 8px; }

/* ---- Модальное окно «Быстрый заказ» ---- */
.modal{ position: fixed; inset: 0; z-index: 600; display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal[hidden]{ display: none; }
.modal__backdrop{ position: absolute; inset: 0; background: rgba(16,17,20,.55); }
.modal__box{
	position: relative;
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	padding: 28px;
	width: 100%;
	max-width: 420px;
	box-shadow: var(--shadow-card-hover);
	animation: rtaFadeUp .25s var(--ease) both;
}
.modal__close{ position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; border-radius: 50%; background: var(--color-bg); color: var(--color-text-muted); display: flex; align-items: center; justify-content: center; }
.modal__close:hover{ color: var(--color-accent); }
.modal__close svg{ width: 15px; height: 15px; }
.modal__title{ font-size: 19px; font-weight: 800; margin-bottom: 8px; }
.modal__subtitle{ font-size: 13px; color: var(--color-text-muted); margin-bottom: 20px; line-height: 1.5; }
.modal-form{ display: flex; flex-direction: column; gap: 14px; }
.modal-form label{ display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.modal-form input{
	padding: 12px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
	font-weight: 400;
}
.modal-form input:focus{ border-color: var(--color-accent); }
.modal-form__submit{ width: 100%; margin-top: 4px; }
.modal-form__error{ color: var(--color-accent); font-size: 12.5px; }

/* =================================================================
   22. Корзина — адаптив
   ================================================================= */

/* ---- ≤1024px: сайдбар итогов уходит под список товаров ---- */
@media (max-width: 1024px){
	.cart-layout{ grid-template-columns: 1fr; }
	.cart-side{ position: static; }

	.cart-table__head{ display: none; }
	.cart-row{
		grid-template-columns: 1fr auto;
		grid-template-areas: "product remove" "price price" "qty sum";
		row-gap: 10px;
	}
	.cart-row__product{ grid-area: product; }
	.cart-row__remove{ grid-area: remove; }
	.cart-row__price{ grid-area: price; flex-direction: row; align-items: center; gap: 10px; }
	.cart-row__qty{ grid-area: qty; }
	.cart-row__sum{ grid-area: sum; justify-self: end; }
}

/* ---- ≤768px: мобильные телефоны ---- */
@media (max-width: 768px){
	.cart-header{ padding: 10px 0 14px; }
	.cart-header__title{ font-size: 19px; }
	.cart-layout{ padding-bottom: 4px; gap: 16px; }

	.cart-row{ padding: 14px; gap: 10px; }
	.cart-row__media{ width: 60px; height: 60px; }
	.cart-row__title{ font-size: 13px; }

	.cart-table__actions{ flex-direction: column; align-items: stretch; }
	.cart-table__clear, .cart-table__save{ width: 100%; justify-content: center; }

	.order-summary{ padding: 16px; }
	.order-summary__total strong{ font-size: 21px; }

	.promo-code__form{ flex-direction: column; }
	.promo-code__form .btn{ width: 100%; justify-content: center; }

	.modal__box{ padding: 22px; }
}

/* =================================================================
   23. Оформление заказа (чекаут)
   ================================================================= */

.checkout-header{ padding: 14px 0 18px; }
.checkout-header__title{ font-size: clamp(20px, 2.6vw, 27px); font-weight: 800; }

/* ---- Степпер ---- */
.checkout-stepper{
	display: flex;
	align-items: center;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 18px 28px;
	margin-bottom: 20px;
}
.checkout-stepper__item{ display: flex; align-items: center; gap: 10px; color: var(--color-text-muted); }
.checkout-stepper__num{
	width: 32px; height: 32px; flex-shrink: 0;
	border-radius: 50%;
	border: 1.5px solid var(--color-border);
	display: flex; align-items: center; justify-content: center;
	font-size: 13px; font-weight: 700;
	color: var(--color-text-muted);
}
.checkout-stepper__icon{ width: 18px; height: 18px; display: none; }
.checkout-stepper__label{ font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.checkout-stepper__item.is-active{ color: var(--color-accent); }
.checkout-stepper__item.is-active .checkout-stepper__num{ border-color: var(--color-accent); color: var(--color-accent); }
.checkout-stepper__item.is-done .checkout-stepper__num{ background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.checkout-stepper__sep{ flex: 1; height: 1px; background: var(--color-border); margin: 0 16px; }

/* ---- Раскладка ---- */
.checkout-layout{ display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; padding-bottom: 40px; }
.checkout-main{ min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.checkout-side{ position: sticky; top: calc(var(--header-h-scrolled) + 12px); }

.checkout-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
}
.checkout-card__title{ font-size: 15.5px; font-weight: 800; margin-bottom: 16px; }

.checkout-step{ display: none; flex-direction: column; gap: 16px; }
.checkout-wizard[data-current-step="1"] [data-step-section="1"]{ display: flex; }
.checkout-wizard[data-current-step="2"] [data-step-section="2"]{ display: flex; }
.checkout-wizard[data-current-step="3"] [data-step-section="3"]{ display: flex; }

.checkout-step__actions{ display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.checkout-step__back{ font-size: 13.5px; padding: 12px 18px; }
.checkout-step__back svg{ width: 16px; height: 16px; }
.checkout-step__next{ min-width: 200px; }

/* ---- Поля формы ---- */
.checkout-fields-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.checkout-fields-grid .form-row{ margin: 0; }
.checkout-fields-grid .rta-field-quarter{ grid-column: span 1; }
.checkout-fields-grid .rta-field-half{ grid-column: span 1; }
@media (min-width: 560px){
	.checkout-fields-grid{ grid-template-columns: repeat(4, 1fr); }
	.checkout-fields-grid .rta-field-half{ grid-column: span 2; }
	.checkout-fields-grid .rta-field-quarter{ grid-column: span 1; }
}

.woocommerce-checkout .form-row label{ display: block; font-size: 12.5px; font-weight: 600; margin-bottom: 6px; color: var(--color-text-muted); }
.woocommerce-checkout .form-row .required{ color: var(--color-accent); text-decoration: none; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select{
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
	background: var(--color-surface);
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{ border-color: var(--color-accent); }
.woocommerce-checkout .form-row textarea{ min-height: 90px; resize: vertical; }
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{ border-color: var(--color-accent); }
.woocommerce-checkout .form-row .woocommerce-input-wrapper{ display: block; }

.rta-hidden-field{ display: none !important; }

.checkout-checkbox{ display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--color-text-muted); margin-top: 4px; }
.checkout-checkbox input{
	width: 19px; height: 19px;
	border-radius: 5px;
	border: 1.5px solid var(--color-border);
	appearance: none; -webkit-appearance: none;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
}
.checkout-checkbox input:checked{ background: var(--color-accent); border-color: var(--color-accent); }
.checkout-checkbox input:checked::after{ content: ""; position: absolute; left: 6px; top: 2px; width: 4px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(40deg); }

.checkout-empty-note{ font-size: 13.5px; color: var(--color-text-muted); background: var(--color-bg); padding: 14px 16px; border-radius: var(--radius-sm); }

/* ---- Карточки способа доставки ---- */
.shipping-methods{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.shipping-method-card{
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: border-color .16s var(--ease), background-color .16s var(--ease);
}
.shipping-method-card:hover{ border-color: var(--color-accent); }
.shipping-method-card.is-active{ border-color: var(--color-accent); background: var(--color-accent-soft); }
.shipping-method-card input{ position: absolute; top: 14px; right: 14px; width: 18px; height: 18px; accent-color: var(--color-accent); cursor: pointer; }
.shipping-method-card__icon{ width: 26px; height: 26px; color: var(--color-accent); }
.shipping-method-card__text{ display: flex; flex-direction: column; gap: 3px; }
.shipping-method-card__text strong{ font-size: 13.5px; }
.shipping-method-card__text span{ font-size: 12px; color: var(--color-text-muted); }

/* ---- Карточки способа оплаты ---- */
.payment_methods{ display: flex; flex-direction: column; gap: 12px; }
.payment-method-card{ border: 1.5px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; transition: border-color .16s var(--ease); }
.payment-method-card:hover, .payment-method-card.is-active{ border-color: var(--color-accent); }
.payment-method-card.is-active{ background: var(--color-accent-soft); }
.payment-method-card__label{ position: relative; display: flex; align-items: center; gap: 14px; padding: 16px 18px; cursor: pointer; }
.payment-method-card__label input{ position: absolute; top: 16px; right: 18px; width: 18px; height: 18px; accent-color: var(--color-accent); cursor: pointer; }
.payment-method-card__icon{ width: 26px; height: 26px; color: var(--color-accent); flex-shrink: 0; }
.payment-method-card__text{ display: flex; flex-direction: column; gap: 2px; }
.payment-method-card__text strong{ font-size: 13.5px; }
.payment-method-card__text span{ font-size: 12px; color: var(--color-text-muted); }
.payment_box{ padding: 0 18px 18px 58px; font-size: 13px; color: var(--color-text-muted); }
.payment_box p{ margin: 0 0 8px; }

/* ---- Шаг 3: подтверждение ---- */
.confirm-summary{ display: flex; flex-direction: column; margin-bottom: 18px; }
.confirm-summary__row{ display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--color-border); font-size: 13.5px; }
.confirm-summary__row:last-child{ border-bottom: 0; }
.confirm-summary__row dt{ color: var(--color-text-muted); }
.confirm-summary__row dd{ margin: 0; font-weight: 600; text-align: right; }

.checkout-terms{ margin-bottom: 16px; font-size: 13px; }
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox{ display: flex; align-items: center; gap: 10px; }
.checkout-place-order{ width: 100%; margin-bottom: 10px; }
.checkout-terms-note{ font-size: 11.5px; color: var(--color-text-muted); text-align: center; margin-bottom: 16px; line-height: 1.5; }
.checkout-terms-note a{ color: var(--color-accent); }

/* ---- Панель заказа на чекауте ---- */
.order-summary--checkout .order-summary__head{ display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.order-summary--checkout .order-summary__title{ margin-bottom: 0; }
.order-summary--checkout .order-summary__count{ font-size: 12px; color: var(--color-text-muted); }

.checkout-item-list{ display: flex; flex-direction: column; gap: 12px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--color-border); max-height: 260px; overflow-y: auto; }
.checkout-item-list__row{ display: flex; align-items: center; gap: 10px; }
.checkout-item-list__media{ width: 48px; height: 48px; flex-shrink: 0; background: var(--color-bg); border-radius: var(--radius-sm); overflow: hidden; }
.checkout-item-list__media img{ width: 100%; height: 100%; object-fit: contain; padding: 5px; }
.checkout-item-list__info{ display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; }
.checkout-item-list__info strong{ font-size: 12.5px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
.checkout-item-list__qty{ font-size: 11px; color: var(--color-text-muted); }
.checkout-item-list__price{ font-size: 12.5px; font-weight: 700; flex-shrink: 0; }

/* =================================================================
   24. Чекаут — адаптив
   ================================================================= */

@media (max-width: 1024px){
	.checkout-layout{ grid-template-columns: 1fr; }
	.checkout-side{ position: static; }
	.checkout-side{ order: -1; }
	.shipping-methods{ grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px){
	.checkout-header{ padding: 10px 0 14px; }
	.checkout-header__title{ font-size: 19px; }

	.checkout-stepper{ padding: 14px 16px; overflow-x: auto; }
	.checkout-stepper__label{ display: none; }
	.checkout-stepper__sep{ margin: 0 8px; flex: 0 0 20px; }
	.checkout-stepper__num{ width: 28px; height: 28px; font-size: 12px; }

	.checkout-card{ padding: 16px; }
	.checkout-fields-grid{ grid-template-columns: 1fr 1fr; gap: 10px; }
	.checkout-fields-grid .rta-field-half,
	.checkout-fields-grid .rta-field-quarter{ grid-column: span 2; }

	.shipping-methods{ grid-template-columns: 1fr; }
	.shipping-method-card{ flex-direction: row; align-items: center; }

	.checkout-step__actions{ flex-direction: column-reverse; align-items: stretch; }
	.checkout-step__next{ width: 100%; }
	.checkout-step__back{ width: 100%; justify-content: center; }

	.payment-method-card__label{ padding: 14px; }
	.payment_box{ padding: 0 14px 14px 14px; }

	.confirm-summary__row{ flex-direction: column; gap: 2px; }
	.confirm-summary__row dd{ text-align: left; }
}

/* =================================================================
   25. Страница «Спасибо за заказ»
   ================================================================= */

.thankyou-page{ padding: 28px 0 44px; display: flex; flex-direction: column; gap: 16px; }

.thankyou-hero{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }

.thankyou-hero__main{ display: flex; flex-direction: column; align-items: flex-start; }
.thankyou-hero__badge{
	width: 84px; height: 84px;
	border-radius: 50%;
	background: #E7F8EA;
	color: var(--color-success);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 20px;
}
.thankyou-hero__badge svg{ width: 38px; height: 38px; }
.thankyou-hero__title{ font-size: clamp(28px, 3.6vw, 40px); font-weight: 800; line-height: 1.1; }
.thankyou-hero__subtitle{ font-size: clamp(20px, 2.6vw, 26px); font-weight: 700; color: var(--color-text); margin-top: 2px; }
.thankyou-hero__text{ font-size: 14.5px; color: var(--color-text-muted); margin-top: 12px; line-height: 1.6; max-width: 420px; }
.thankyou-hero__print{ margin-top: 22px; font-size: 13.5px; padding: 11px 18px; }

.thankyou-next{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 24px;
}
.thankyou-next__title{ font-size: 16px; font-weight: 800; margin-bottom: 16px; }
.thankyou-next__list{ display: flex; flex-direction: column; gap: 16px; }
.thankyou-next__item{ display: flex; align-items: flex-start; gap: 14px; }
.thankyou-next__icon{
	width: 38px; height: 38px; flex-shrink: 0;
	background: var(--color-bg);
	border-radius: var(--radius-sm);
	color: var(--color-accent);
	display: flex; align-items: center; justify-content: center;
	padding: 8px;
}
.thankyou-next__text{ display: flex; flex-direction: column; gap: 3px; }
.thankyou-next__text strong{ font-size: 13.5px; }
.thankyou-next__text span{ font-size: 12.5px; color: var(--color-text-muted); line-height: 1.5; }

/* ---- Карточка деталей + товаров ---- */
.thankyou-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.thankyou-details{ padding: 22px 24px; border-bottom: 1px solid var(--color-border); }
.thankyou-details__heading{ font-size: 15.5px; font-weight: 800; margin-bottom: 16px; }
.thankyou-details__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.thankyou-details__col{ display: flex; flex-direction: column; gap: 5px; }
.thankyou-details__col span{ font-size: 12px; color: var(--color-text-muted); }
.thankyou-details__col strong{ font-size: 14px; }

.thankyou-items{ padding: 22px 24px; }
.thankyou-items__heading{ font-size: 15.5px; font-weight: 800; margin-bottom: 16px; }

.thankyou-items__head{
	display: grid;
	grid-template-columns: 1fr 100px 130px 120px;
	gap: 16px;
	padding: 0 0 12px;
	font-size: 12px;
	color: var(--color-text-muted);
	font-weight: 600;
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 4px;
}
.thankyou-items__row{
	display: grid;
	grid-template-columns: 1fr 100px 130px 120px;
	gap: 16px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--color-border);
}
.thankyou-items__row:last-child{ border-bottom: 0; }
.thankyou-items__product{ display: flex; align-items: center; gap: 12px; min-width: 0; }
.thankyou-items__media{ width: 52px; height: 52px; flex-shrink: 0; background: var(--color-bg); border-radius: var(--radius-sm); overflow: hidden; }
.thankyou-items__media img{ width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.thankyou-items__info{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.thankyou-items__info strong{ font-size: 13.5px; font-weight: 700; line-height: 1.3; }
.thankyou-items__info span{ font-size: 12px; color: var(--color-text-muted); }
.thankyou-items__qty, .thankyou-items__unit{ font-size: 13px; color: var(--color-text-muted); }
.thankyou-items__sum{ font-size: 14px; font-weight: 700; }

.thankyou-totals{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 40px;
	padding-top: 18px;
	margin-top: 6px;
	border-top: 1px solid var(--color-border);
	flex-wrap: wrap;
}
.thankyou-totals__col{ display: flex; flex-direction: column; gap: 4px; }
.thankyou-totals__col span{ font-size: 12px; color: var(--color-text-muted); }
.thankyou-totals__col strong{ font-size: 15px; font-weight: 700; }
.thankyou-totals__col strong.is-free{ color: var(--color-success); }
.thankyou-totals__col--total strong{ font-size: 22px; font-weight: 800; color: var(--color-accent); }

/* ---- Нижний блок: помощь + преимущества ---- */
.thankyou-bottom{ display: grid; grid-template-columns: 320px 1fr; gap: 16px; align-items: stretch; }
.thankyou-help{
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
	display: flex;
	flex-direction: column;
}
.thankyou-help__title{ font-size: 15px; font-weight: 800; margin-bottom: 4px; }
.thankyou-help__text{ font-size: 12.5px; color: var(--color-text-muted); margin-bottom: 18px; }
.thankyou-help__contact{ display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.thankyou-help__contact svg{ width: 22px; height: 22px; color: var(--color-accent); flex-shrink: 0; }
.thankyou-help__contact span{ display: flex; flex-direction: column; gap: 1px; }
.thankyou-help__phone{ font-size: 15px; font-weight: 700; }
.thankyou-help__contact small{ font-size: 11.5px; color: var(--color-text-muted); }
.thankyou-help__chat{ display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #3766D6; }
.thankyou-help__chat svg{ width: 17px; height: 17px; }

.thankyou-bottom .benefits{ padding: 0; }
.thankyou-bottom .benefits__list{ height: 100%; }

.thankyou-cta{ display: flex; justify-content: center; padding-top: 8px; }
.thankyou-cta .btn{ min-width: 260px; justify-content: center; }

/* ---- Печать ---- */
@media print{
	.site-header, .site-footer, .mobile-call-btn,
	.thankyou-hero__print, .thankyou-cta, .thankyou-next, .thankyou-help, .thankyou-bottom .benefits{
		display: none !important;
	}
	.thankyou-page{ padding: 0; }
	body{ background: #fff; }
}

/* =================================================================
   26. «Спасибо за заказ» — адаптив
   ================================================================= */

@media (max-width: 1024px){
	.thankyou-hero{ grid-template-columns: 1fr; }
	.thankyou-bottom{ grid-template-columns: 1fr; }
	.thankyou-details__grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px){
	.thankyou-page{ padding: 18px 0 32px; gap: 12px; }
	.thankyou-hero__badge{ width: 64px; height: 64px; margin-bottom: 14px; }
	.thankyou-hero__badge svg{ width: 28px; height: 28px; }
	.thankyou-hero__print{ width: 100%; justify-content: center; }
	.thankyou-next{ padding: 18px; }

	.thankyou-details, .thankyou-items{ padding: 16px; }
	.thankyou-details__grid{ grid-template-columns: 1fr 1fr; gap: 14px; }

	.thankyou-items__head{ display: none; }
	.thankyou-items__row{
		grid-template-columns: 1fr auto;
		grid-template-areas: "product product" "qty unit" "sum sum";
		row-gap: 6px;
		padding: 14px 0;
	}
	.thankyou-items__product{ grid-area: product; }
	.thankyou-items__qty{ grid-area: qty; }
	.thankyou-items__unit{ grid-area: unit; justify-self: end; }
	.thankyou-items__sum{ grid-area: sum; justify-self: end; font-size: 15px; }

	.thankyou-totals{ justify-content: space-between; gap: 16px; }
	.thankyou-totals__col--total{ width: 100%; order: -1; flex-direction: row; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px dashed var(--color-border); margin-bottom: 4px; }

	.thankyou-help{ padding: 18px; }
	.thankyou-cta .btn{ width: 100%; min-width: 0; }
}

/* =================================================================
   27. Страница «Контакты»
   ================================================================= */

.contact-page{ padding-bottom: 8px; }
.contact-page__header{ padding: 14px 0 24px; max-width: 640px; }
.contact-page__title{ font-size: clamp(24px, 3vw, 32px); font-weight: 800; margin-bottom: 10px; }
.contact-page__intro{ font-size: 14.5px; color: var(--color-text-muted); line-height: 1.6; }
.contact-page__intro p{ margin: 0; }

/* ---- Активный пункт меню ---- */
.primary-menu__list .current-menu-item > a,
.primary-menu__list .current_page_item > a{ color: var(--color-accent); font-weight: 600; }

/* ---- Плашки-хайлайты ---- */
.contact-highlights{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	padding-bottom: 24px;
}
.contact-highlight{ display: flex; align-items: flex-start; gap: 12px; }
.contact-highlight__icon{ width: 34px; height: 34px; color: var(--color-accent); flex-shrink: 0; }
.contact-highlight__text{ display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: var(--color-text-muted); }
.contact-highlight__text strong{ font-size: 14px; color: var(--color-text); margin-bottom: 1px; }
.contact-highlight__phone{ color: var(--color-text-muted); }
.contact-highlight__phone:hover{ color: var(--color-accent); }

/* ---- Контакты + карта ---- */
.contact-main{ display: grid; grid-template-columns: 340px 1fr; gap: 20px; padding-bottom: 20px; }

.contact-info{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
}
.contact-info__title{ font-size: 16px; font-weight: 800; margin-bottom: 18px; }
.contact-info__list{ display: flex; flex-direction: column; gap: 18px; }
.contact-info__row{ display: flex; align-items: flex-start; gap: 14px; }
.contact-info__icon{
	width: 40px; height: 40px; flex-shrink: 0;
	background: var(--color-accent-soft);
	color: var(--color-accent);
	border-radius: var(--radius-sm);
	display: flex; align-items: center; justify-content: center;
	padding: 9px;
}
.contact-info__body{ display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--color-text-muted); padding-top: 4px; }
.contact-info__body strong{ color: var(--color-text); font-size: 13.5px; margin-bottom: 2px; }
.contact-info__link{ color: var(--color-text-muted); }
.contact-info__link:hover{ color: var(--color-accent); }
.contact-info__directions{ display: inline-flex; align-items: center; gap: 6px; color: var(--color-accent); font-weight: 600; margin-top: 4px; }
.contact-info__directions svg{ width: 14px; height: 14px; }
.contact-info__social{ display: flex; gap: 8px; margin-top: 4px; }
.contact-info__social-link{ width: 34px; height: 34px; color: var(--color-text-muted); transition: color .16s var(--ease); }
.contact-info__social-link:hover{ color: var(--color-accent); }

.contact-map{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	min-height: 380px;
}
.contact-map iframe{ display: block; width: 100%; height: 100%; min-height: 380px; border: 0; }
.contact-map__placeholder{
	height: 100%; min-height: 380px;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 12px;
	background: var(--color-bg);
	color: var(--color-text-muted);
	text-align: center;
	padding: 24px;
}
.contact-map__placeholder svg{ width: 40px; height: 40px; color: var(--color-border); }
.contact-map__placeholder p{ font-size: 13px; max-width: 320px; line-height: 1.6; }

/* ---- Форма + FAQ ---- */
.contact-secondary{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 12px; }

.contact-form-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 24px;
}
.contact-form-card__title{ font-size: 16px; font-weight: 800; margin-bottom: 4px; }
.contact-form-card__subtitle{ font-size: 13px; color: var(--color-text-muted); margin-bottom: 18px; }
.contact-form{ display: flex; flex-direction: column; gap: 14px; }
.contact-form__row{ display: flex; gap: 14px; }
.contact-form label{ flex: 1; display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.contact-form input, .contact-form textarea{
	padding: 12px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-family: inherit;
	font-weight: 400;
}
.contact-form input:focus, .contact-form textarea:focus{ border-color: var(--color-accent); }
.contact-form textarea{ resize: vertical; }
.contact-form__honeypot{ position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.contact-form__agree{
	flex-direction: row !important;
	align-items: center;
	gap: 10px !important;
	font-size: 12.5px;
	font-weight: 400 !important;
	color: var(--color-text-muted);
}
.contact-form__agree input{ width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--color-accent); }
.contact-form__agree a{ color: var(--color-accent); text-decoration: underline; }
.contact-form__submit{ width: 100%; margin-top: 2px; }
.contact-form__notice{ font-size: 13px; padding: 10px 14px; border-radius: var(--radius-sm); }
.contact-form__notice.is-success{ background: #E7F8EA; color: var(--color-success); }
.contact-form__notice.is-error{ background: var(--color-accent-soft); color: var(--color-accent); }

.contact-faq{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 24px;
	display: flex;
	flex-direction: column;
}
.contact-faq__title{ font-size: 16px; font-weight: 800; margin-bottom: 16px; }

.faq-accordion{ display: flex; flex-direction: column; margin-bottom: 20px; }
.faq-accordion__item{ border-bottom: 1px solid var(--color-border); }
.faq-accordion__item:first-child{ border-top: 1px solid var(--color-border); }
.faq-accordion__question{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 4px;
	text-align: left;
	font-size: 13.5px;
	font-weight: 600;
}
.faq-accordion__question:hover{ color: var(--color-accent); }
.faq-accordion__arrow{ width: 16px; height: 16px; color: var(--color-text-muted); flex-shrink: 0; transition: transform .18s var(--ease); }
.faq-accordion__item.is-open .faq-accordion__arrow{ transform: rotate(90deg); color: var(--color-accent); }
.faq-accordion__answer{ display: none; padding: 0 4px 16px; font-size: 13px; color: var(--color-text-muted); line-height: 1.6; }
.faq-accordion__item.is-open .faq-accordion__answer{ display: block; }

.contact-faq-cta{
	position: relative;
	margin-top: auto;
	background: var(--color-bg);
	border-radius: var(--radius-lg);
	padding: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	overflow: hidden;
}
.contact-faq-cta__decor{ width: 64px; height: 64px; flex-shrink: 0; opacity: .9; }
.contact-faq-cta__decor--right{ color: var(--color-border); }
.contact-faq-cta__text{ display: flex; flex-direction: column; gap: 6px; flex: 1; }
.contact-faq-cta__text strong{ font-size: 14.5px; }
.contact-faq-cta__text span{ font-size: 12.5px; color: var(--color-text-muted); }
.contact-faq-cta__btn{ align-self: flex-start; margin-top: 6px; font-size: 13px; padding: 10px 18px; }

/* =================================================================
   28. Страница «Контакты» — адаптив
   ================================================================= */

@media (max-width: 1024px){
	.contact-highlights{ grid-template-columns: repeat(2, 1fr); gap: 20px 16px; }
	.contact-main{ grid-template-columns: 1fr; }
	.contact-map, .contact-map iframe, .contact-map__placeholder{ min-height: 300px; }
	.contact-secondary{ grid-template-columns: 1fr; }
}

@media (max-width: 768px){
	.contact-page__header{ padding: 10px 0 18px; }
	.contact-highlights{ grid-template-columns: 1fr 1fr; gap: 16px 12px; padding-bottom: 18px; }
	.contact-highlight__icon{ width: 28px; height: 28px; }

	.contact-info, .contact-form-card, .contact-faq{ padding: 16px; }
	.contact-form__row{ flex-direction: column; }

	.contact-faq-cta{ flex-direction: column; text-align: center; padding: 20px; }
	.contact-faq-cta__decor{ display: none; }
	.contact-faq-cta__text{ align-items: center; }
	.contact-faq-cta__btn{ align-self: center; width: 100%; justify-content: center; }
}

@media (max-width: 480px){
	.contact-highlights{ grid-template-columns: 1fr; }
}

/* =================================================================
   29. Страница «Доставка»
   ================================================================= */

.delivery-page{ padding-bottom: 8px; display: flex; flex-direction: column; gap: 8px; }

/* ---- Шапка ---- */
.delivery-hero{ display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 24px; padding: 14px 0 28px; }
.delivery-hero__title{ font-size: clamp(24px, 3vw, 32px); font-weight: 800; margin-bottom: 10px; }
.delivery-hero__intro{ font-size: 14.5px; color: var(--color-text-muted); line-height: 1.6; max-width: 420px; }
.delivery-hero__intro p{ margin: 0; }
.delivery-hero__media img{ width: 100%; height: auto; }

/* ---- Заголовки секций (переиспользуем section-heading__title) ---- */
.delivery-methods__title, .delivery-rates__title, .delivery-process__title,
.delivery-advantages__title{ margin-bottom: 18px; }

/* ---- Способы доставки ---- */
.delivery-methods{ padding-bottom: 24px; }
.delivery-methods__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.delivery-method-card{
	background: var(--color-surface);
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
	display: flex;
	flex-direction: column;
	transition: border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.delivery-method-card:hover{ box-shadow: var(--shadow-card); }
.delivery-method-card.is-featured{ border-color: var(--color-accent); box-shadow: 0 0 0 1px var(--color-accent); }
.delivery-method-card__icon{
	width: 48px; height: 48px;
	border-radius: 50%;
	background: var(--color-bg);
	color: var(--color-text-muted);
	display: flex; align-items: center; justify-content: center;
	padding: 11px;
	margin-bottom: 16px;
}
.delivery-method-card.is-featured .delivery-method-card__icon{ background: var(--color-accent-soft); color: var(--color-accent); }
.delivery-method-card__title{ font-size: 15px; font-weight: 800; margin-bottom: 8px; }
.delivery-method-card__desc{ font-size: 12.5px; color: var(--color-text-muted); line-height: 1.55; margin-bottom: 16px; flex: 1; }
.delivery-method-card__meta{ display: flex; gap: 20px; padding-top: 14px; border-top: 1px solid var(--color-border); }
.delivery-method-card__meta span{ display: flex; flex-direction: column; gap: 3px; }
.delivery-method-card__meta small{ font-size: 11px; color: var(--color-text-muted); }
.delivery-method-card__meta strong{ font-size: 13px; font-weight: 700; }
.delivery-method-card__meta strong.is-price{ color: var(--color-accent); }

/* ---- Двухколоночные блоки (тарифы+процесс, faq+help) ---- */
.delivery-split{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; padding-bottom: 20px; }

/* ---- Тарифы ---- */
.delivery-rates{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
}
.rates-tabs{ display: flex; gap: 4px; background: var(--color-bg); border-radius: var(--radius-sm); padding: 4px; margin-bottom: 16px; }
.rates-tabs__btn{ flex: 1; padding: 10px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--color-text-muted); text-align: center; }
.rates-tabs__btn.is-active{ background: var(--color-accent); color: #fff; }

.rates-panel{ display: none; }
.rates-panel.is-active{ display: block; }
.rates-table{ width: 100%; border-collapse: collapse; font-size: 13.5px; }
.rates-table th{ text-align: left; padding: 0 4px 10px; font-size: 12px; font-weight: 600; color: var(--color-text-muted); border-bottom: 1px solid var(--color-border); }
.rates-table td{ padding: 12px 4px; border-bottom: 1px solid var(--color-border); }
.rates-table tr:last-child td{ border-bottom: 0; }
.rates-table td.is-price{ font-weight: 700; color: var(--color-accent); text-align: right; }
.rates-table th:last-child{ text-align: right; }

.delivery-rates__note{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--color-border);
	font-size: 12px;
	color: var(--color-text-muted);
	line-height: 1.6;
}
.delivery-rates__note svg{ width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; color: var(--color-text-muted); }

/* ---- Как мы работаем (таймлайн) ---- */
.delivery-process{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
}
.process-timeline{ position: relative; display: flex; flex-direction: column; gap: 20px; }
.process-timeline__item{ position: relative; display: flex; gap: 16px; padding-left: 2px; }
.process-timeline__item:not(:last-child)::before{
	content: "";
	position: absolute;
	left: 15px; top: 32px;
	width: 1px; height: calc(100% + 4px);
	background: var(--color-border);
}
.process-timeline__num{
	width: 32px; height: 32px; flex-shrink: 0;
	border-radius: 50%;
	border: 1.5px solid var(--color-accent);
	color: var(--color-accent);
	display: flex; align-items: center; justify-content: center;
	font-size: 13px; font-weight: 700;
	background: var(--color-surface);
	position: relative;
	z-index: 1;
}
.process-timeline__text{ display: flex; flex-direction: column; gap: 3px; padding-top: 4px; }
.process-timeline__text strong{ font-size: 13.5px; }
.process-timeline__text span{ font-size: 12.5px; color: var(--color-text-muted); line-height: 1.5; }

/* ---- Наши преимущества ---- */
.delivery-advantages{ padding-bottom: 20px; }
.delivery-advantages__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.delivery-advantage{ display: flex; align-items: flex-start; gap: 12px; }
.delivery-advantage__icon{ width: 34px; height: 34px; color: var(--color-accent); flex-shrink: 0; }
.delivery-advantage__text{ display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: var(--color-text-muted); }
.delivery-advantage__text strong{ font-size: 14px; color: var(--color-text); }

/* ---- FAQ + помощь ---- */
.delivery-split--faq{ align-items: stretch; }
.delivery-faq{ display: flex; flex-direction: column; }
.delivery-faq .faq-accordion{ margin-bottom: 0; flex: 1; }

.delivery-help{
	position: relative;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 26px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.delivery-help__decor{ position: absolute; left: -10px; bottom: -10px; width: 130px; height: 110px; opacity: .8; pointer-events: none; }
.delivery-help__content{ position: relative; z-index: 1; display: flex; flex-direction: column; max-width: 300px; }
.delivery-help__title{ font-size: 17px; font-weight: 800; margin-bottom: 6px; }
.delivery-help__text{ font-size: 13px; color: var(--color-text-muted); margin-bottom: 18px; line-height: 1.5; }
.delivery-help__row{ display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.delivery-help__row svg{ width: 20px; height: 20px; color: var(--color-accent); flex-shrink: 0; }
.delivery-help__row span{ display: flex; flex-direction: column; gap: 1px; }
.delivery-help__phone{ font-size: 15px; font-weight: 700; }
.delivery-help__row small{ font-size: 11.5px; color: var(--color-text-muted); }
.delivery-help__row a{ font-size: 13.5px; }
.delivery-help__chat{ display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #3766D6; margin-top: 2px; }
.delivery-help__chat svg{ width: 17px; height: 17px; }
.delivery-help__box{ position: absolute; right: 24px; bottom: 20px; width: 90px; height: 90px; color: var(--color-border); opacity: .7; }

/* =================================================================
   30. Страница «Доставка» — адаптив
   ================================================================= */

@media (max-width: 1024px){
	.delivery-hero{ grid-template-columns: 1fr; }
	.delivery-hero__media{ order: -1; max-width: 460px; margin: 0 auto; }
	.delivery-methods__grid{ grid-template-columns: repeat(2, 1fr); }
	.delivery-split{ grid-template-columns: 1fr; }
	.delivery-advantages__grid{ grid-template-columns: repeat(2, 1fr); gap: 20px 16px; }
}

@media (max-width: 768px){
	.delivery-hero{ padding: 10px 0 20px; gap: 16px; }
	.delivery-methods{ padding-bottom: 18px; }
	.delivery-methods__grid{ grid-template-columns: 1fr 1fr; gap: 12px; }
	.delivery-method-card{ padding: 16px; }
	.delivery-method-card__meta{ gap: 14px; }

	.delivery-rates, .delivery-process{ padding: 16px; }
	.rates-table{ font-size: 12.5px; }
	.rates-table th, .rates-table td{ padding: 10px 4px; }

	.delivery-advantages__grid{ grid-template-columns: 1fr; gap: 16px; }

	.delivery-help{ flex-direction: column; align-items: flex-start; padding: 20px; }
	.delivery-help__content{ max-width: none; }
	.delivery-help__box{ display: none; }
	.delivery-help__decor{ opacity: .5; }
}

@media (max-width: 480px){
	.delivery-methods__grid{ grid-template-columns: 1fr; }
	.rates-tabs__btn{ font-size: 12px; padding: 9px 4px; }
}

/* =================================================================
   31. Страница «Гарантия»
   ================================================================= */

.warranty-page{ padding-bottom: 8px; display: flex; flex-direction: column; gap: 8px; }

/* ---- Шапка ---- */
.warranty-hero{ display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 24px; padding: 14px 0 28px; }
.warranty-hero__title{ font-size: clamp(24px, 3vw, 32px); font-weight: 800; line-height: 1.15; margin-bottom: 10px; }
.warranty-hero__intro{ font-size: 14.5px; color: var(--color-text-muted); line-height: 1.6; max-width: 420px; }
.warranty-hero__intro p{ margin: 0; }
.warranty-hero__media img{ width: 100%; height: auto; }

/* ---- Плашки ---- */
.warranty-highlights{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 20px 24px;
	margin-bottom: 20px;
}
.warranty-highlight{ display: flex; align-items: flex-start; gap: 12px; }
.warranty-highlight__icon{ width: 32px; height: 32px; color: var(--color-accent); flex-shrink: 0; }
.warranty-highlight__text{ display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: var(--color-text-muted); }
.warranty-highlight__text strong{ font-size: 13.5px; color: var(--color-text); }

/* ---- Общий текст под заголовками секций ---- */
.warranty-section__text{ font-size: 13.5px; color: var(--color-text-muted); line-height: 1.6; margin: -8px 0 20px; max-width: 700px; }

/* ---- Условия гарантии ---- */
.warranty-conditions{ padding-bottom: 24px; }
.warranty-conditions__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.warranty-condition-card{
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px;
}
.warranty-condition-card__icon{
	width: 46px; height: 46px;
	border-radius: var(--radius-sm);
	background: var(--color-accent-soft);
	color: var(--color-accent);
	display: flex; align-items: center; justify-content: center;
	padding: 10px;
	margin-bottom: 16px;
}
.warranty-condition-card h3{ font-size: 14.5px; font-weight: 800; margin-bottom: 8px; }
.warranty-condition-card p{ font-size: 12.5px; color: var(--color-text-muted); line-height: 1.6; margin: 0; }

/* ---- Гарантия не распространяется ---- */
.warranty-exclusions{ padding-bottom: 24px; }
.warranty-exclusions__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.warranty-exclusion{ display: flex; align-items: flex-start; gap: 12px; }
.warranty-exclusion__icon{ width: 26px; height: 26px; color: var(--color-accent); flex-shrink: 0; }
.warranty-exclusion__text{ display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; color: var(--color-text-muted); }
.warranty-exclusion__text strong{ font-size: 13.5px; color: var(--color-text); }

/* ---- Шаги (переопределяем фон, .process-timeline уже стилизован) ---- */
.warranty-steps{ background: var(--color-surface); }

/* ---- Блок «Есть вопросы» — розовый вариант ---- */
.warranty-help{ background: var(--color-accent-soft); border-color: #F7CFCF; }
.warranty-help__decor{ position: absolute; right: 30px; bottom: -20px; width: 150px; height: 150px; color: #F2B9B9; opacity: .6; }
.warranty-help .delivery-help__row a, .warranty-help .delivery-help__phone{ color: var(--color-text); }

/* ---- FAQ (2 колонки) ---- */
.warranty-faq{ padding-bottom: 4px; }
.faq-accordion--2col{ column-count: 2; column-gap: 32px; }
.faq-accordion--2col .faq-accordion__item{ break-inside: avoid; }

/* =================================================================
   32. Страница «Гарантия» — адаптив
   ================================================================= */

@media (max-width: 1024px){
	.warranty-hero{ grid-template-columns: 1fr; }
	.warranty-hero__media{ order: -1; max-width: 460px; margin: 0 auto; }
	.warranty-highlights{ grid-template-columns: repeat(2, 1fr); gap: 18px 14px; }
	.warranty-conditions__grid{ grid-template-columns: repeat(2, 1fr); }
	.warranty-exclusions__grid{ grid-template-columns: repeat(2, 1fr); }
	.faq-accordion--2col{ column-count: 1; }
}

@media (max-width: 768px){
	.warranty-hero{ padding: 10px 0 20px; gap: 16px; }
	.warranty-highlights{ grid-template-columns: 1fr; padding: 16px; gap: 14px; }
	.warranty-conditions__grid{ grid-template-columns: 1fr; gap: 12px; }
	.warranty-condition-card{ padding: 16px; }
	.warranty-exclusions__grid{ grid-template-columns: 1fr; gap: 16px; }
	.warranty-section__text{ margin-bottom: 16px; }
	.warranty-help__decor{ display: none; }
}
