/**
 * Стили для кастомных Elementor-виджетов темы Француз
 */

/* ===========================
   ELEMENTOR — HERO НА ПОЛНЫЙ ЭКРАН (без пробелов по бокам)

   Elementor добавляет отступы на нескольких уровнях:
   1. .elementor-section — секция с padding
   2. .elementor-container — max-width ограничение
   3. .elementor-column / .elementor-widget-wrap — column-gap padding
   4. .e-con / .e-con-inner — новый Flex Container с CSS-переменными
   5. .elementor-widget-container — отступы самого виджета

   Убиваем все это через :has() — работает в Chrome 105+, Firefox 121+, Safari 15.4+
   =========================== */

/* --- Старый Elementor: Section + Column --- */

.elementor-section:has(.francuz-hero) {
	padding: 0 !important;
}

.elementor-section:has(.francuz-hero) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}

.elementor-section:has(.francuz-hero) .elementor-column-wrap,
.elementor-section:has(.francuz-hero) .elementor-widget-wrap {
	padding: 0 !important;
}

/* --- Новый Elementor: Flex Container (.e-con) --- */

.e-con:has(.francuz-hero) {
	padding:          0 !important;
	--padding-top:    0px !important;
	--padding-right:  0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	max-width: 100% !important;
	width:     100% !important;
}

.e-con:has(.francuz-hero) > .e-con-inner {
	padding:   0 !important;
	max-width: 100% !important;
	width:     100% !important;
}

/* --- Непосредственная обёртка виджета --- */

.elementor-widget-francuz_hero .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

/* --- Fallback breakout (защита на случай нестандартных шаблонов) ---
   Если вышеперечисленного недостаточно, принудительно выдвигаем виджет
   на 100vw через смещение относительно центра. */

.elementor-widget-francuz_hero {
	position:  relative;
	left:      50%;
	transform: translateX(-50%);
	width:     100vw;
	max-width: 100vw;
}

/* ===========================
   ВИДЖЕТ: HERO — ГЛАВНЫЙ БЛОК
   =========================== */

.francuz-hero {
	position: relative;
	width: 100%;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background-color: #15263a; /* Запасной цвет, если нет фото */
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed; /* Лёгкий parallax эффект */
	overflow: hidden;
}

/* Тёмный оверлей поверх фонового изображения */
.francuz-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Основной контент — занимает всю высоту кроме stats-панели */
.francuz-hero__content {
	position: relative;
	z-index: 2;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	/* Сверху компенсируем высоту фиксированной шапки + доп. отступ */
	padding: calc(var(--header-height, 80px) + var(--space-xl)) var(--container-padding) var(--space-lg);
	max-width: var(--container-width);
	width: 100%;
	margin: 0 auto;
}

/* Разделительная линия над брендом */
.francuz-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.60);
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: var(--space-sm);
}

.francuz-hero__eyebrow::before,
.francuz-hero__eyebrow::after {
	content: '';
	display: block;
	width: 30px;
	height: 1px;
	background: rgba(255, 255, 255, 0.35);
}

/* Основное название — "ФРАНЦУЗ" */
.francuz-hero__brand {
	font-family: var(--font-heading);
	font-size: clamp(64px, 10vw, 120px);
	font-weight: 700;
	color: var(--color-white);
	line-height: 0.95;
	text-transform: uppercase;
	letter-spacing: 10px;
	margin-bottom: var(--space-sm);
	text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

/* Подзаголовок H1 */
.francuz-hero__title {
	font-family: var(--font-heading);
	font-size: clamp(16px, 2.4vw, 26px);
	font-weight: 400;
	color: rgba(255, 255, 255, 0.80);
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 5px;
	margin-bottom: var(--space-lg);
}

/* Группа кнопок */
.francuz-hero__buttons {
	display: flex;
	gap: var(--space-sm);
	justify-content: center;
	flex-wrap: wrap;
}

/* Кнопки чуть крупнее в hero */
.francuz-hero__buttons .francuz-btn {
	padding: 16px 40px;
	font-size: 15px;
	letter-spacing: 0.5px;
}

/* ===========================
   СТАТИСТИКА — НИЖНЯЯ ПАНЕЛЬ
   =========================== */

.francuz-hero__stats {
	position: relative;
	z-index: 2;
	width: 100%;
	background: rgba(0, 0, 0, 0.52);
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	padding: var(--space-md) var(--container-padding);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.francuz-hero__stats-inner {
	max-width: var(--container-width);
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--space-xl);
	flex-wrap: wrap;
}

/* Одна статистика */
.francuz-hero__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.francuz-hero__stat-number {
	font-family: var(--font-heading);
	font-size: 38px;
	font-weight: 700;
	color: var(--color-white);
	line-height: 1;
}

/* Акцент: красный цвет для числа */
.francuz-hero__stat-number--accent {
	color: #e05a4e; /* чуть светлее чем accent-red для лучшей читаемости */
}

.francuz-hero__stat-label {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.62);
	margin-top: 6px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* Вертикальный разделитель между статистиками */
.francuz-hero__stat-divider {
	width: 1px;
	height: 48px;
	background: rgba(255, 255, 255, 0.20);
	flex-shrink: 0;
}

/* ===========================
   АДАПТИВНОСТЬ — HERO
   =========================== */

@media (max-width: 991px) {
	.francuz-hero {
		background-attachment: scroll; /* Отключаем parallax на мобильных */
	}
}

@media (max-width: 768px) {
	.francuz-hero__content {
		padding-top: calc(var(--header-height-mobile, 64px) + var(--space-lg));
	}

	.francuz-hero__brand {
		letter-spacing: 5px;
	}

	.francuz-hero__title {
		letter-spacing: 2px;
		font-size: 14px;
	}

	.francuz-hero__buttons {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}

	.francuz-hero__buttons .francuz-btn {
		width: 100%;
		max-width: 300px;
	}

	.francuz-hero__stats-inner {
		gap: var(--space-md);
	}

	.francuz-hero__stat-divider {
		display: none;
	}

	.francuz-hero__stat-number {
		font-size: 30px;
	}
}

@media (max-width: 480px) {
	.francuz-hero__stats-inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--space-md) var(--space-sm);
	}
}

/* ============================================================
   ВИДЖЕТ: БЛОК ПРЕИМУЩЕСТВ
   ============================================================ */

/* --- Убираем отступы у всех родительских Elementor-элементов --- */

/* Старый Elementor (Section + Column) */
.elementor-section:has(.francuz-advantages) {
	padding: 0 !important;
}

.elementor-section:has(.francuz-advantages) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}

.elementor-section:has(.francuz-advantages) .elementor-column-wrap,
.elementor-section:has(.francuz-advantages) .elementor-widget-wrap {
	padding: 0 !important;
}

/* Новый Elementor (Flex Container) */
.e-con:has(.francuz-advantages) {
	padding:          0 !important;
	--padding-top:    0px !important;
	--padding-right:  0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	max-width: 100% !important;
	width:     100% !important;
}

.e-con:has(.francuz-advantages) > .e-con-inner {
	padding:   0 !important;
	max-width: 100% !important;
	width:     100% !important;
}

/* Непосредственная обёртка виджета */
.elementor-widget-francuz_advantages .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

/* Fallback breakout */
.elementor-widget-francuz_advantages {
	position:  relative;
	left:      50%;
	transform: translateX(-50%);
	width:     100vw;
	max-width: 100vw;
}

/* --- Секция --- */

.francuz-advantages {
	background-color: var(--color-bg-light);
	padding: var(--space-2xl) 0;
	width: 100%;
}

/* Внутренний контейнер — центрирует контент */
.francuz-advantages__inner {
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

/* --- Заголовок секции --- */

.francuz-advantages__header {
	text-align: center;
	margin-bottom: var(--space-xl);
}

.francuz-advantages__eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	color: var(--color-accent-red);
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: var(--space-xs);
}

.francuz-advantages__title {
	font-family: var(--font-heading);
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 700;
	color: var(--color-text-dark);
	line-height: 1.15;
	margin-bottom: 0;
}

/* Красная декоративная линия под заголовком */
.francuz-advantages__title::after {
	content: '';
	display: block;
	width: 52px;
	height: 3px;
	background: var(--color-accent-red);
	margin: var(--space-sm) auto var(--space-sm);
	border-radius: 2px;
}

.francuz-advantages__subtitle {
	font-family: var(--font-body);
	font-size: 16px;
	color: #6b7280;
	line-height: 1.6;
	max-width: 560px;
	margin: 0 auto;
}

/* --- Сетка карточек --- */

.francuz-advantages__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 36px; /* --grid-gap (24px) × 1.5 */
}

/* --- Карточка --- */

.francuz-advantages__card {
	background: var(--color-white);
	border-radius: var(--radius-md);
	padding: 44px 36px 32px; /* −20% по высоте: 56→44px сверху, 40→32px снизу */
	text-align: center;
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-primary-blue);
	box-shadow: var(--shadow-card);
	transition: transform var(--transition), box-shadow var(--transition), border-top-color var(--transition);
}

.francuz-advantages__card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-hover);
	border-top-color: var(--color-accent-red);
}

/* Круг с иконкой */
.francuz-advantages__icon-wrap {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--color-primary-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto var(--space-md);
	transition: background-color var(--transition);
}

.francuz-advantages__card:hover .francuz-advantages__icon-wrap {
	background: var(--color-accent-red);
}

/* Размер иконки — Font Awesome */
.francuz-advantages__icon-wrap i {
	font-size: 28px;
	color: var(--color-white);
	line-height: 1;
}

/* Иконка — SVG (если Elementor вернёт SVG) */
.francuz-advantages__icon-wrap svg {
	width: 30px;
	height: 30px;
	fill: var(--color-white);
}

/* Заголовок карточки */
.francuz-advantages__card-title {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	color: var(--color-text-dark);
	line-height: 1.2;
	margin-bottom: var(--space-sm);
}

/* Описание */
.francuz-advantages__card-desc {
	font-family: var(--font-body);
	font-size: 15px;
	color: #6b7280;
	line-height: 1.65;
	margin: 0;
}

/* ============================================================
   АДАПТИВНОСТЬ — БЛОК ПРЕИМУЩЕСТВ
   ============================================================ */

/* Планшеты: 2 колонки */
@media (max-width: 991px) {
	.francuz-advantages__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Мобильные: 1 колонка */
@media (max-width: 575px) {
	.francuz-advantages {
		padding: var(--space-xl) 0;
	}

	.francuz-advantages__grid {
		grid-template-columns: 1fr;
	}

	.francuz-advantages__card {
		padding: var(--space-md);
	}
}

/* ============================================================
   ВИДЖЕТ: НАШИ УСЛУГИ
   ============================================================ */

/* --- Сброс отступов Elementor (все стороны сразу) --- */

.elementor-section:has(.francuz-services) {
	padding: 0 !important;
}

.elementor-section:has(.francuz-services) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}

.elementor-section:has(.francuz-services) .elementor-column-wrap,
.elementor-section:has(.francuz-services) .elementor-widget-wrap {
	padding: 0 !important;
}

.e-con:has(.francuz-services) {
	padding:          0 !important;
	--padding-top:    0px !important;
	--padding-right:  0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	max-width: 100% !important;
	width:     100% !important;
}

.e-con:has(.francuz-services) > .e-con-inner {
	padding:   0 !important;
	max-width: 100% !important;
	width:     100% !important;
}

.elementor-widget-francuz_services .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

.elementor-widget-francuz_services {
	position:  relative;
	left:      50%;
	transform: translateX(-50%);
	width:     100vw;
	max-width: 100vw;
}

/* --- Секция --- */

.francuz-services {
	background-color: var(--color-neutral-white);
	padding: var(--space-2xl) 0;
	width: 100%;
}

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

/* --- Заголовок секции --- */

.francuz-services__header {
	text-align: center;
	margin-bottom: var(--space-xl);
}

.francuz-services__eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	color: var(--color-accent-red);
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: var(--space-xs);
}

.francuz-services__title {
	font-family: var(--font-heading);
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 700;
	color: var(--color-text-dark);
	line-height: 1.15;
	margin-bottom: 0;
}

.francuz-services__title::after {
	content: '';
	display: block;
	width: 52px;
	height: 3px;
	background: var(--color-accent-red);
	margin: var(--space-sm) auto;
	border-radius: 2px;
}

.francuz-services__subtitle {
	font-family: var(--font-body);
	font-size: 16px;
	color: #6b7280;
	line-height: 1.6;
	max-width: 560px;
	margin: 0 auto;
}

/* --- Сетка карточек: 3 колонки × 2 ряда --- */

.francuz-services__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* --- Карточка --- */

.francuz-services__card {
	position: relative;
	border-radius: var(--radius-md);
	overflow: hidden;
	height: 380px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	cursor: pointer;
	text-decoration: none;
}

/* Фоновое изображение — анимация zoom при hover */
.francuz-services__card-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-color: var(--color-primary-blue); /* запасной цвет без фото */
	transition: transform 0.5s ease;
	will-change: transform;
}

/* Запасные цвета для карточек без фото — по порядку */
.francuz-services__card:nth-child(1) .francuz-services__card-bg { background-color: #1e3a5f; }
.francuz-services__card:nth-child(2) .francuz-services__card-bg { background-color: #2a4a6e; }
.francuz-services__card:nth-child(3) .francuz-services__card-bg { background-color: #16304f; }
.francuz-services__card:nth-child(4) .francuz-services__card-bg { background-color: #243d60; }
.francuz-services__card:nth-child(5) .francuz-services__card-bg { background-color: #1a3554; }
.francuz-services__card:nth-child(6) .francuz-services__card-bg { background-color: #2d4a73; }

.francuz-services__card:hover .francuz-services__card-bg {
	transform: scale(1.06);
}

/* Градиентный оверлей: прозрачный вверху → тёмный внизу */
.francuz-services__card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.05) 0%,
		rgba(0, 0, 0, 0.35) 45%,
		rgba(0, 0, 0, 0.82) 100%
	);
	transition: background 0.4s ease;
}

.francuz-services__card:hover .francuz-services__card-overlay {
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.10) 0%,
		rgba(0, 0, 0, 0.45) 45%,
		rgba(0, 0, 0, 0.88) 100%
	);
}

/* Контент — прилипает к низу карточки */
.francuz-services__card-content {
	position: relative;
	z-index: 2;
	padding: var(--space-md);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Название услуги */
.francuz-services__card-title {
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--color-white);
	line-height: 1.2;
	margin: 0;
}

/* Описание */
.francuz-services__card-desc {
	font-family: var(--font-body);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.55;
	margin: 0;
	/* Ограничиваем 3 строками */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Кнопка "Подробнее" */
.francuz-services__card-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-white);
	text-decoration: none;
	padding: 8px 16px;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	border-radius: var(--radius-sm);
	align-self: flex-start;
	transition: background-color var(--transition), border-color var(--transition);
}

.francuz-services__card-btn:hover,
.francuz-services__card:hover .francuz-services__card-btn {
	background-color: var(--color-accent-red);
	border-color: var(--color-accent-red);
	color: var(--color-white);
}

.francuz-services__card-btn-arrow {
	transition: transform var(--transition);
}

.francuz-services__card:hover .francuz-services__card-btn-arrow {
	transform: translateX(3px);
}

/* --- Кнопка "Все услуги" --- */

.francuz-services__footer {
	text-align: center;
	margin-top: var(--space-lg);
}

/* ============================================================
   АДАПТИВНОСТЬ — БЛОК УСЛУГ
   ============================================================ */

/* Планшеты: 2 колонки */
@media (max-width: 991px) {
	.francuz-services__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Мобильные: 1 колонка, карточки ниже */
@media (max-width: 575px) {
	.francuz-services {
		padding: var(--space-xl) 0;
	}

	.francuz-services__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.francuz-services__card {
		height: 300px;
	}
}

/* ============================================================
   МАГАЗИН ЗАПЧАСТЕЙ — ELEMENTOR: УБИРАЕМ ОТСТУПЫ
   ============================================================ */

/* Старый Elementor (Section/Column) */
.elementor-section:has(.francuz-shop) {
	padding: 0 !important;
}

.elementor-section:has(.francuz-shop) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}

.elementor-section:has(.francuz-shop) .elementor-column-wrap,
.elementor-section:has(.francuz-shop) .elementor-widget-wrap {
	padding: 0 !important;
}

/* Новый Elementor (Flex Container) */
.e-con:has(.francuz-shop) {
	padding:          0 !important;
	--padding-top:    0px !important;
	--padding-right:  0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	max-width: 100% !important;
	width:     100% !important;
}

.e-con:has(.francuz-shop) > .e-con-inner {
	padding:   0 !important;
	max-width: 100% !important;
	width:     100% !important;
}

.elementor-widget-francuz_shop .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

.elementor-widget-francuz_shop {
	position:  relative;
	left:      50%;
	transform: translateX(-50%);
	width:     100vw;
	max-width: 100vw;
}

/* ============================================================
   МАГАЗИН ЗАПЧАСТЕЙ — СТИЛИ
   ============================================================ */

.francuz-shop {
	font-family: var(--font-body);
}

/* ----- Область поиска (тёмный фон) ----- */

.francuz-shop__search {
	background: linear-gradient(135deg, #1a2535 0%, #1c1c1e 100%);
	padding: var(--space-xl) 0;
}

.francuz-shop__search-inner {
	max-width: var(--container-width);
	margin:    0 auto;
	padding:   0 var(--container-padding);
}

.francuz-shop__search-header {
	text-align:    center;
	margin-bottom: var(--space-lg);
}

.francuz-shop__eyebrow {
	display:          inline-block;
	font-size:        13px;
	font-weight:      600;
	text-transform:   uppercase;
	letter-spacing:   2px;
	color:            var(--color-primary-blue);
	background-color: rgba(58, 90, 140, 0.2);
	padding:          6px 16px;
	border-radius:    20px;
	margin-bottom:    var(--space-sm);
}

.francuz-shop__title {
	font-family:   var(--font-heading);
	font-size:     clamp(28px, 4vw, 42px);
	font-weight:   700;
	color:         var(--color-white);
	line-height:   1.2;
	margin-bottom: var(--space-xs);
}

.francuz-shop__subtitle {
	font-size:  16px;
	color:      rgba(255, 255, 255, 0.6);
	max-width:  620px;
	margin:     0 auto;
	line-height: 1.6;
}

/* ----- Форма поиска (полупрозрачная карточка) ----- */

.francuz-shop__search-box {
	background:     rgba(255, 255, 255, 0.06);
	border:         1px solid rgba(255, 255, 255, 0.12);
	border-radius:  var(--radius-md);
	padding:        var(--space-md);
	max-width:      880px;
	margin:         0 auto;
	backdrop-filter: blur(4px);
}

/* ----- Вкладки ----- */

.francuz-shop__tabs {
	display:       flex;
	gap:           6px;
	margin-bottom: var(--space-md);
	background:    rgba(0, 0, 0, 0.25);
	border-radius: 6px;
	padding:       4px;
}

.francuz-shop__tab-btn {
	flex:            1;
	display:         flex;
	align-items:     center;
	justify-content: center;
	gap:             8px;
	padding:         11px 20px;
	border:          none;
	background:      transparent;
	color:           rgba(255, 255, 255, 0.6);
	font-family:     var(--font-body);
	font-size:       15px;
	font-weight:     500;
	border-radius:   4px;
	cursor:          pointer;
	transition:      all var(--transition);
}

.francuz-shop__tab-btn:hover {
	color:      var(--color-white);
	background: rgba(255, 255, 255, 0.08);
}

.francuz-shop__tab-btn.active {
	background:  var(--color-primary-blue);
	color:       var(--color-white);
	box-shadow:  0 2px 8px rgba(58, 90, 140, 0.45);
	font-weight: 600;
}

/* ----- Подсказка VIN ----- */

.francuz-shop__vin-hint {
	display:       flex;
	align-items:   center;
	gap:           8px;
	font-size:     13px;
	color:         rgba(255, 255, 255, 0.45);
	margin-bottom: 12px;
}

.francuz-shop__vin-hint-icon {
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	width:           18px;
	height:          18px;
	min-width:       18px;
	border:          1px solid rgba(255, 255, 255, 0.3);
	border-radius:   50%;
	font-size:       11px;
	font-style:      italic;
	font-weight:     700;
}

/* ----- Поле VIN + кнопка ----- */

.francuz-shop__input-row {
	display: flex;
	gap:     12px;
}

.francuz-shop__input {
	flex:         1;
	height:       54px;
	padding:      0 20px;
	background:   rgba(255, 255, 255, 0.96);
	border:       2px solid transparent;
	border-radius: var(--radius-sm);
	font-family:  var(--font-body);
	font-size:    16px;
	color:        var(--color-text-dark);
	transition:   border-color var(--transition);
	outline:      none;
}

.francuz-shop__input:focus {
	border-color: var(--color-primary-blue);
}

.francuz-shop__input--vin {
	letter-spacing: 3px;
	font-weight:    700;
	text-transform: uppercase;
}

/* ----- Выпадающие списки (поиск по модели) ----- */

.francuz-shop__selects-row {
	display:     grid;
	grid-template-columns: 1fr 1fr 150px auto;
	gap:         12px;
	align-items: end;
}

.francuz-shop__select-wrap {
	position: relative;
}

.francuz-shop__select {
	width:           100%;
	height:          54px;
	padding:         0 36px 0 16px;
	background:      rgba(255, 255, 255, 0.96);
	border:          2px solid transparent;
	border-radius:   var(--radius-sm);
	font-family:     var(--font-body);
	font-size:       15px;
	color:           var(--color-text-dark);
	cursor:          pointer;
	appearance:      none;
	-webkit-appearance: none;
	background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233A5A8C' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat:   no-repeat;
	background-position: right 14px center;
	transition:      border-color var(--transition);
	outline:         none;
}

.francuz-shop__select:focus {
	border-color: var(--color-primary-blue);
}

.francuz-shop__select:disabled {
	opacity: 0.45;
	cursor:  not-allowed;
}

/* Кнопка поиска (общая) */
.francuz-shop__search-btn {
	height:  54px;
	padding: 0 28px;
	border:  none;
	cursor:  pointer;
	white-space: nowrap;
}

/* ----- Grid-стек: обе панели рендерятся одновременно, высота фиксирована ----- */

.francuz-shop__tab-panes {
	display:               grid;
	grid-template-columns: 1fr;
	grid-template-rows:    auto;
}

/* Все панели — в одну ячейку сетки */
.francuz-shop__tab-pane {
	grid-row:       1;
	grid-column:    1;
	visibility:     hidden;
	opacity:        0;
	pointer-events: none;
	transition:     opacity 0.22s ease, visibility 0.22s ease;
}

/* Активная панель поверх */
.francuz-shop__tab-pane.active {
	visibility:     visible;
	opacity:        1;
	pointer-events: auto;
}

/* ============================================================
   МАГАЗИН ЗАПЧАСТЕЙ — КАТЕГОРИИ
   ============================================================ */

.francuz-shop__categories {
	background-color: var(--color-bg-light);
	padding:          var(--space-xl) 0;
}

.francuz-shop__categories-inner {
	max-width: var(--container-width);
	margin:    0 auto;
	padding:   0 var(--container-padding);
}

.francuz-shop__cat-header {
	text-align:    center;
	margin-bottom: var(--space-lg);
}

.francuz-shop__cat-eyebrow {
	display:          inline-block;
	font-size:        13px;
	font-weight:      600;
	text-transform:   uppercase;
	letter-spacing:   2px;
	color:            var(--color-primary-blue);
	background-color: rgba(58, 90, 140, 0.08);
	padding:          6px 16px;
	border-radius:    20px;
	margin-bottom:    var(--space-sm);
}

.francuz-shop__cat-title {
	font-family: var(--font-heading);
	font-size:   clamp(24px, 3vw, 36px);
	font-weight: 600;
	color:       var(--color-text-dark);
	line-height: 1.2;
}

/* --- Сетка 5 колонок --- */

.francuz-shop__cat-grid {
	display:               grid;
	grid-template-columns: repeat(5, 1fr);
	gap:                   var(--grid-gap);
	margin-bottom:         var(--space-lg);
}

/* --- Карточка категории --- */

.francuz-shop__cat-card {
	position:        relative;
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	gap:             12px;
	padding:         28px 16px 24px;
	background:      var(--color-white);
	border:          2px solid transparent;
	border-radius:   var(--radius-md);
	text-decoration: none;
	color:           var(--color-text-dark);
	text-align:      center;
	box-shadow:      var(--shadow-card);
	transition:      all var(--transition);
}

.francuz-shop__cat-card:hover {
	border-color:    var(--color-primary-blue);
	color:           var(--color-primary-blue);
	transform:       translateY(-4px);
	box-shadow:      var(--shadow-hover);
	text-decoration: none;
}

/* Иконка */
.francuz-shop__cat-icon {
	font-size:  34px;
	color:      var(--color-primary-blue);
	line-height: 1;
	transition: color var(--transition);
}

.francuz-shop__cat-icon i,
.francuz-shop__cat-icon svg {
	font-size: inherit;
	width:     1em;
	height:    1em;
}

/* Название */
.francuz-shop__cat-name {
	font-size:   14px;
	font-weight: 600;
	line-height: 1.3;
}

/* Бейдж */
.francuz-shop__cat-badge {
	position:        absolute;
	top:             10px;
	right:           10px;
	background:      var(--color-accent-red);
	color:           var(--color-white);
	font-size:       10px;
	font-weight:     700;
	padding:         2px 8px;
	border-radius:   10px;
	text-transform:  uppercase;
	letter-spacing:  0.5px;
}

/* Кнопка "Весь каталог" */
.francuz-shop__cat-footer {
	text-align:  center;
	margin-top:  var(--space-sm);
}

/* ============================================================
   МАГАЗИН ЗАПЧАСТЕЙ — АДАПТИВНОСТЬ
   ============================================================ */

/* Планшет: выпадающие списки в 2 колонки, категории 3 в ряд */
@media (max-width: 992px) {
	.francuz-shop__cat-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.francuz-shop__selects-row {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.francuz-shop__selects-row .francuz-shop__select-wrap:nth-child(3) {
		grid-column: 1;
	}

	.francuz-shop__selects-row .francuz-shop__search-btn {
		grid-column: 2;
	}
}

/* Мобильный: категории 2 в ряд, форма в столбик */
@media (max-width: 576px) {
	.francuz-shop__cat-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.francuz-shop__input-row {
		flex-direction: column;
	}

	.francuz-shop__input-row .francuz-shop__search-btn {
		width:  100%;
		height: 48px;
	}

	.francuz-shop__tabs {
		flex-direction: column;
	}

	.francuz-shop__selects-row {
		grid-template-columns: 1fr;
	}

	.francuz-shop__selects-row .francuz-shop__select-wrap:nth-child(3),
	.francuz-shop__selects-row .francuz-shop__search-btn {
		grid-column: 1;
	}

	.francuz-shop__selects-row .francuz-shop__search-btn {
		width:  100%;
		height: 48px;
	}

	.francuz-shop__search-box {
		padding: var(--space-sm);
	}
}


/* ===========================
   БЛОК: ПОПУЛЯРНЫЕ ТОВАРЫ
   =========================== */

/* Убираем отступы Elementor (полная ширина) */
.elementor-section:has(.francuz-products) {
	padding: 0 !important;
}
.elementor-section:has(.francuz-products) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}
.elementor-section:has(.francuz-products) .elementor-column-wrap,
.elementor-section:has(.francuz-products) .elementor-widget-wrap {
	padding: 0 !important;
}
.elementor-section:has(.francuz-products) .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}
/* Flex Container (новый Elementor) */
.e-con:has(.francuz-products),
.e-con-inner:has(.francuz-products) {
	--padding-top:    0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	--padding-right:  0px !important;
	max-width: 100% !important;
}
.e-con:has(.francuz-products) > .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

/* Секция */
.francuz-products {
	background: var(--color-neutral-white);
	padding: var(--space-2xl) 0;
}

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

/* Заголовок */
.francuz-products__header {
	text-align: center;
	margin-bottom: var(--space-lg);
}

.francuz-products__eyebrow {
	font-family:    var(--font-inter);
	font-size:      13px;
	font-weight:    600;
	text-transform: uppercase;
	letter-spacing: 2px;
	color:          var(--color-primary-blue);
	margin-bottom:  var(--space-xs);
}

.francuz-products__title {
	font-family:   var(--font-oswald);
	font-size:     clamp(28px, 4vw, 40px);
	font-weight:   600;
	line-height:   1.2;
	color:         var(--color-text-dark);
	margin-bottom: var(--space-sm);
}

.francuz-products__subtitle {
	font-family: var(--font-inter);
	font-size:   16px;
	line-height: 1.6;
	color:       #555;
	max-width:   540px;
	margin:      0 auto;
}

/* Сетка товаров: 4 колонки */
.francuz-products__grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   var(--grid-gap);
}

/* Карточка товара */
.francuz-products__card {
	background:    #fff;
	border-radius: 12px;
	overflow:      hidden;
	box-shadow:    0 2px 8px rgba(0, 0, 0, 0.06);
	transition:    box-shadow 0.25s ease, transform 0.25s ease;
	display:       flex;
	flex-direction: column;
}

.francuz-products__card:hover {
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.13);
	transform:  translateY(-5px);
}

/* Изображение */
.francuz-products__card-img-link {
	display: block;
}

.francuz-products__card-img {
	position:     relative;
	aspect-ratio: 4 / 3;
	overflow:     hidden;
	background:   var(--color-bg-light);
}

.francuz-products__card-img img {
	width:       100%;
	height:      100%;
	object-fit:  cover;
	transition:  transform 0.35s ease;
	display:     block;
}

.francuz-products__card:hover .francuz-products__card-img img {
	transform: scale(1.05);
}

/* Бейдж «Скидка» */
.francuz-products__badge {
	position:       absolute;
	top:            12px;
	left:           12px;
	padding:        4px 10px;
	border-radius:  4px;
	font-family:    var(--font-inter);
	font-size:      11px;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.francuz-products__badge--sale {
	background: var(--color-accent-red);
	color:      #fff;
}

/* Тело карточки */
.francuz-products__card-body {
	padding:        20px;
	display:        flex;
	flex-direction: column;
	flex:           1;
	gap:            6px;
}

/* Категория */
.francuz-products__card-cat {
	font-family:    var(--font-inter);
	font-size:      11px;
	font-weight:    600;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color:          var(--color-primary-blue);
}

/* Название */
.francuz-products__card-name {
	font-family: var(--font-oswald);
	font-size:   17px;
	font-weight: 500;
	line-height: 1.3;
	margin:      0;
}

.francuz-products__card-name a {
	color:           var(--color-text-dark);
	text-decoration: none;
	transition:      color 0.2s ease;
}

.francuz-products__card-name a:hover {
	color: var(--color-primary-blue);
}

/* Рейтинг WooCommerce */
.francuz-products__card-rating .star-rating {
	font-size: 13px;
	color:     var(--color-accent-red);
}

/* Цена WooCommerce */
.francuz-products__card-price {
	margin-top: auto;
	padding-top: 8px;
}

.francuz-products__card-price .price {
	font-family: var(--font-oswald);
	font-size:   20px;
	font-weight: 600;
	color:       var(--color-text-dark);
}

.francuz-products__card-price .price del {
	font-size:    15px;
	color:        var(--color-border);
	margin-right: 6px;
}

.francuz-products__card-price .price ins {
	color:           var(--color-accent-red);
	text-decoration: none;
}

/* Кнопка «В корзину» */
.francuz-products__card-btn {
	display:         block;
	width:           100%;
	padding:         11px 16px;
	margin-top:      12px;
	background:      var(--color-primary-blue);
	color:           #fff;
	font-family:     var(--font-inter);
	font-size:       14px;
	font-weight:     600;
	text-align:      center;
	text-decoration: none;
	border:          none;
	border-radius:   6px;
	cursor:          pointer;
	transition:      background 0.2s ease, transform 0.15s ease;
}

.francuz-products__card-btn:hover {
	background: #2d4a7a;
	color:      #fff;
	transform:  translateY(-1px);
}

/* Кнопка «Весь каталог» */
.francuz-btn--outline-blue {
	display:         inline-flex;
	align-items:     center;
	gap:             10px;
	padding:         14px 48px;
	background:      transparent;
	color:           var(--color-primary-blue);
	border:          2px solid var(--color-primary-blue);
	font-family:     var(--font-inter);
	font-size:       15px;
	font-weight:     600;
	border-radius:   6px;
	text-decoration: none;
	transition:      background 0.2s ease, color 0.2s ease;
}

.francuz-btn--outline-blue:hover {
	background: var(--color-primary-blue);
	color:      #fff;
}

.francuz-products__footer {
	text-align: center;
	margin-top: var(--space-lg);
}

/* Заглушка «нет товаров» */
.francuz-products__empty {
	text-align: center;
	padding:    var(--space-xl) 0;
	color:      #999;
	font-family: var(--font-inter);
}

/* Адаптив: планшет — 2 колонки */
@media (max-width: 992px) {
	.francuz-products__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Адаптив: мобильный — 1 колонка */
@media (max-width: 576px) {
	.francuz-products__grid {
		grid-template-columns: 1fr;
	}

	.francuz-btn--outline-blue {
		width:   100%;
		justify-content: center;
	}
}


/* ================================
   Блок 7: Бренды
   ================================ */

/* Сброс отступов Elementor — полная ширина */
.elementor-section:has(.francuz-brands) {
	padding: 0 !important;
}

.elementor-section:has(.francuz-brands) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}

.elementor-section:has(.francuz-brands) .elementor-column-wrap,
.elementor-section:has(.francuz-brands) .elementor-widget-wrap {
	padding: 0 !important;
}

/* Новый Elementor (Flex Container) */
.e-con:has(.francuz-brands) {
	padding:          0 !important;
	--padding-top:    0px !important;
	--padding-right:  0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	max-width: 100% !important;
	width:     100% !important;
}

.e-con:has(.francuz-brands) > .e-con-inner {
	padding:   0 !important;
	max-width: 100% !important;
	width:     100% !important;
}

/* Непосредственная обёртка виджета */
.elementor-widget-francuz_brands .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

/* Секция */
.francuz-brands {
	background:    var(--color-bg-light);
	padding:       var(--space-xl) 0;
	border-top:    1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

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

/* Заголовок секции */
.francuz-brands__header {
	text-align:    center;
	margin-bottom: var(--space-lg);
}

.francuz-brands__eyebrow {
	font-family:    'Inter', sans-serif;
	font-size:      13px;
	font-weight:    600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          var(--color-primary-blue);
	margin:         0 0 var(--space-xs);
}

.francuz-brands__title {
	font-family: 'Oswald', sans-serif;
	font-size:   36px;
	font-weight: 600;
	color:       var(--color-text-dark);
	margin:      0;
	line-height: 1.2;
}

/* Сетка брендов — 4 колонки */
.francuz-brands__grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   var(--grid-gap);
}

/* Карточка бренда */
.francuz-brands__item {
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	justify-content: center;
	gap:             12px;
	padding:         var(--space-md) var(--space-sm);
	background:      var(--color-neutral-white);
	border:          2px solid var(--color-border);
	border-radius:   12px;
	text-decoration: none;
	transition:      border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.francuz-brands__item:hover {
	border-color:    var(--color-primary-blue);
	box-shadow:      0 8px 24px rgba(58, 90, 140, 0.15);
	transform:       translateY(-3px);
	text-decoration: none;
}

/* Контейнер логотипа — фиксированная высота */
.francuz-brands__logo-wrap {
	width:           100%;
	height:          80px;
	display:         flex;
	align-items:     center;
	justify-content: center;
}

/* Изображение логотипа */
.francuz-brands__logo-img {
	max-width:  100%;
	max-height: 80px;
	width:      auto;
	height:     auto;
	object-fit: contain;
	filter:     grayscale(40%);
	opacity:    0.85;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

.francuz-brands__item:hover .francuz-brands__logo-img {
	filter:  grayscale(0%);
	opacity: 1;
}

/* Текстовый плейсхолдер (нет логотипа) */
.francuz-brands__logo-text {
	font-family:    'Oswald', sans-serif;
	font-size:      clamp(20px, 2.5vw, 30px);
	font-weight:    700;
	color:          var(--color-primary-blue);
	letter-spacing: 0.02em;
	line-height:    1;
	text-align:     center;
	transition:     color 0.25s ease;
}

.francuz-brands__item:hover .francuz-brands__logo-text {
	color: var(--color-text-dark);
}

/* Подпись под логотипом */
.francuz-brands__name {
	font-family: 'Inter', sans-serif;
	font-size:   13px;
	font-weight: 500;
	color:       #6b6b6b;
	letter-spacing: 0.03em;
	transition:  color 0.25s ease;
}

.francuz-brands__item:hover .francuz-brands__name {
	color: var(--color-primary-blue);
}

/* Адаптив: планшет — 2 колонки */
@media (max-width: 768px) {
	.francuz-brands__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.francuz-brands__title {
		font-size: 28px;
	}
}

/* Адаптив: мобильный — 2 колонки (компактнее) */
@media (max-width: 480px) {
	.francuz-brands__grid {
		gap: 12px;
	}

	.francuz-brands__logo-wrap {
		height: 60px;
	}
}


/* ================================
   Блок 8: Отзывы клиентов
   ================================ */

/* Сброс отступов Elementor — полная ширина */
.elementor-section:has(.francuz-reviews) {
	padding: 0 !important;
}

.elementor-section:has(.francuz-reviews) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}

.elementor-section:has(.francuz-reviews) .elementor-column-wrap,
.elementor-section:has(.francuz-reviews) .elementor-widget-wrap {
	padding: 0 !important;
}

/* Новый Elementor (Flex Container) */
.e-con:has(.francuz-reviews) {
	padding:          0 !important;
	--padding-top:    0px !important;
	--padding-right:  0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	max-width: 100% !important;
	width:     100% !important;
}

.e-con:has(.francuz-reviews) > .e-con-inner {
	padding:   0 !important;
	max-width: 100% !important;
	width:     100% !important;
}

/* Непосредственная обёртка виджета */
.elementor-widget-francuz_reviews .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

/* Секция */
.francuz-reviews {
	background: var(--color-bg-light);
	padding:    var(--space-2xl) 0;
}

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

/* Заголовок секции */
.francuz-reviews__header {
	text-align:    center;
	margin-bottom: var(--space-lg);
}

.francuz-reviews__eyebrow {
	font-family:    'Inter', sans-serif;
	font-size:      13px;
	font-weight:    600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          var(--color-primary-blue);
	margin:         0 0 var(--space-xs);
}

.francuz-reviews__title {
	font-family: 'Oswald', sans-serif;
	font-size:   36px;
	font-weight: 600;
	color:       var(--color-text-dark);
	margin:      0 0 var(--space-sm);
	line-height: 1.2;
}

.francuz-reviews__subtitle {
	font-family: 'Inter', sans-serif;
	font-size:   17px;
	color:       #6b6b6b;
	margin:      0;
	max-width:   600px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}

/* Трек слайдера */
.francuz-reviews__slider-wrap {
	position: relative;
}

.francuz-reviews__track {
	display:            flex;
	gap:                var(--grid-gap);
	overflow-x:         auto;
	scroll-snap-type:   x mandatory;
	scroll-behavior:    smooth;
	scrollbar-width:    none;
	-ms-overflow-style: none;
	padding-bottom:     8px; /* резерв под тень карточек */
}

.francuz-reviews__track::-webkit-scrollbar {
	display: none;
}

/* Карточка отзыва */
.francuz-reviews__card {
	flex:           0 0 calc((100% - 48px) / 3); /* 3 карточки на десктоп */
	scroll-snap-align: start;
	display:        flex;
	flex-direction: column;
	gap:            var(--space-sm);
	padding:        var(--space-md);
	background:     var(--color-neutral-white);
	border:         1px solid var(--color-border);
	border-radius:  16px;
	box-shadow:     0 2px 12px rgba(0, 0, 0, 0.06);
	position:       relative;
	overflow:       hidden;
}

/* Декоративная кавычка */
.francuz-reviews__quote {
	position:    absolute;
	top:         12px;
	right:       20px;
	font-size:   72px;
	line-height: 1;
	color:       var(--color-primary-blue);
	opacity:     0.08;
	font-family: Georgia, serif;
	pointer-events: none;
	user-select: none;
}

/* Звёзды */
.francuz-reviews__stars {
	display: flex;
	gap:     3px;
}

.francuz-reviews__star {
	font-size: 18px;
	color:     #D1D1D6; /* пустая звезда */
	line-height: 1;
}

.francuz-reviews__star.is-filled {
	color: #F5A623; /* золотая звезда */
}

/* Текст отзыва */
.francuz-reviews__text {
	flex:        1;
	font-family: 'Inter', sans-serif;
	font-size:   15px;
	line-height: 1.65;
	color:       var(--color-text-dark);
	margin:      0;
	padding:     0;
	border:      none;
}

/* Подпись автора */
.francuz-reviews__footer {
	display:     flex;
	align-items: center;
	gap:         12px;
	margin-top:  auto;
	padding-top: var(--space-sm);
	border-top:  1px solid var(--color-border);
}

/* Аватар */
.francuz-reviews__avatar {
	width:           44px;
	height:          44px;
	border-radius:   50%;
	flex-shrink:     0;
	display:         flex;
	align-items:     center;
	justify-content: center;
	overflow:        hidden;
}

.francuz-reviews__avatar img {
	width:      100%;
	height:     100%;
	object-fit: cover;
}

/* Инициалы (нет фото) */
.francuz-reviews__initials {
	font-family: 'Oswald', sans-serif;
	font-size:   16px;
	font-weight: 600;
	color:       #fff;
	line-height: 1;
}

/* Имя и мета */
.francuz-reviews__author {
	display:        flex;
	flex-direction: column;
	gap:            2px;
}

.francuz-reviews__author-name {
	font-family: 'Inter', sans-serif;
	font-size:   14px;
	font-weight: 600;
	color:       var(--color-text-dark);
}

.francuz-reviews__author-meta {
	font-family: 'Inter', sans-serif;
	font-size:   12px;
	color:       #8e8e93;
}

/* Панель управления: стрелки + точки */
.francuz-reviews__controls {
	display:         flex;
	align-items:     center;
	justify-content: center;
	gap:             var(--space-sm);
	margin-top:      var(--space-md);
}

/* Кнопки-стрелки */
.francuz-reviews__arrow {
	width:           44px;
	height:          44px;
	border-radius:   50%;
	border:          2px solid var(--color-border);
	background:      var(--color-neutral-white);
	color:           var(--color-text-dark);
	display:         flex;
	align-items:     center;
	justify-content: center;
	cursor:          pointer;
	flexibility:     none;
	transition:      border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.francuz-reviews__arrow:hover:not(:disabled) {
	border-color: var(--color-primary-blue);
	background:   var(--color-primary-blue);
	color:        #fff;
}

.francuz-reviews__arrow:disabled {
	opacity: 0.35;
	cursor:  not-allowed;
}

/* Точки-индикаторы */
.francuz-reviews__dots {
	display: flex;
	gap:     8px;
}

.francuz-reviews__dot {
	width:         10px;
	height:        10px;
	border-radius: 50%;
	border:        none;
	background:    var(--color-border);
	cursor:        pointer;
	padding:       0;
	transition:    background 0.25s ease, transform 0.25s ease;
}

.francuz-reviews__dot.is-active {
	background: var(--color-primary-blue);
	transform:  scale(1.25);
}

/* Адаптив: планшет — 2 карточки */
@media (max-width: 992px) {
	.francuz-reviews__card {
		flex: 0 0 calc((100% - 24px) / 2);
	}

	.francuz-reviews__title {
		font-size: 28px;
	}
}

/* Адаптив: мобильный — 1 карточка */
@media (max-width: 576px) {
	.francuz-reviews__card {
		flex: 0 0 100%;
	}

	.francuz-reviews__text {
		font-size: 14px;
	}
}


/* ================================
   Блок 9: О нас
   ================================ */

/* Сброс отступов Elementor — полная ширина */
.elementor-section:has(.francuz-about) {
	padding: 0 !important;
}

.elementor-section:has(.francuz-about) > .elementor-container {
	max-width: 100% !important;
	padding:   0 !important;
}

.elementor-section:has(.francuz-about) .elementor-column-wrap,
.elementor-section:has(.francuz-about) .elementor-widget-wrap {
	padding: 0 !important;
}

/* Новый Elementor (Flex Container) */
.e-con:has(.francuz-about) {
	padding:          0 !important;
	--padding-top:    0px !important;
	--padding-right:  0px !important;
	--padding-bottom: 0px !important;
	--padding-left:   0px !important;
	max-width: 100% !important;
	width:     100% !important;
}

.e-con:has(.francuz-about) > .e-con-inner {
	padding:   0 !important;
	max-width: 100% !important;
	width:     100% !important;
}

/* Непосредственная обёртка виджета */
.elementor-widget-francuz_about .elementor-widget-container {
	padding: 0 !important;
	margin:  0 !important;
}

/* Секция */
.francuz-about {
	background: var(--color-neutral-white);
	padding:    var(--space-2xl) 0;
}

.francuz-about__inner {
	max-width: var(--container-width);
	margin:    0 auto;
	padding:   0 var(--container-padding);
	display:   grid;
	grid-template-columns: 45% 1fr;
	gap:       var(--space-2xl);
	align-items: center;
}

/* ---- Медиа (фото слева) ---- */

.francuz-about__media {
	position: relative;
}

.francuz-about__photo {
	width:         100%;
	height:        520px;
	object-fit:    cover;
	border-radius: 20px;
	display:       block;
}

/* Плейсхолдер, пока нет фото */
.francuz-about__photo-placeholder {
	width:           100%;
	height:          520px;
	background:      linear-gradient(135deg, #eaf0f8 0%, #dce6f5 100%);
	border-radius:   20px;
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	justify-content: center;
	gap:             16px;
}

.francuz-about__placeholder-icon {
	width:   80px;
	height:  80px;
	opacity: 0.5;
}

.francuz-about__placeholder-text {
	font-family: 'Inter', sans-serif;
	font-size:   14px;
	color:       #8a9db8;
	font-weight: 500;
}

/* Бейдж поверх фото */
.francuz-about__badge {
	position:        absolute;
	bottom:          28px;
	left:            -20px;
	background:      var(--color-primary-blue);
	color:           #fff;
	font-family:     'Oswald', sans-serif;
	font-size:       18px;
	font-weight:     600;
	letter-spacing:  0.03em;
	padding:         14px 24px;
	border-radius:   12px;
	box-shadow:      0 8px 24px rgba(58, 90, 140, 0.35);
	white-space:     nowrap;
	line-height:     1.2;
}

/* Декоративный акцент — красная полоса позади фото */
.francuz-about__media-accent {
	position:      absolute;
	top:           32px;
	left:          -12px;
	bottom:        -12px;
	width:         60%;
	border-radius: 20px;
	background:    var(--color-accent-red);
	opacity:       0.07;
	z-index:       -1;
}

/* ---- Контент (текст справа) ---- */

.francuz-about__content {
	display:        flex;
	flex-direction: column;
	gap:            var(--space-md);
}

/* Надпись над заголовком */
.francuz-about__eyebrow {
	font-family:    'Inter', sans-serif;
	font-size:      13px;
	font-weight:    600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          var(--color-primary-blue);
	margin:         0;
}

/* Заголовок */
.francuz-about__title {
	font-family: 'Oswald', sans-serif;
	font-size:   42px;
	font-weight: 600;
	line-height: 1.15;
	color:       var(--color-text-dark);
	margin:      0;
}

/* Основной текст */
.francuz-about__text {
	font-family: 'Inter', sans-serif;
	font-size:   16px;
	line-height: 1.7;
	color:       #4a4a4f;
}

.francuz-about__text p {
	margin: 0 0 var(--space-sm);
}

.francuz-about__text p:last-child {
	margin-bottom: 0;
}

/* Статистика */
.francuz-about__stats {
	display:               grid;
	grid-template-columns: repeat(2, 1fr);
	gap:                   var(--space-md) var(--grid-gap);
	padding-top:           var(--space-sm);
	border-top:            2px solid var(--color-bg-light);
}

.francuz-about__stat {
	display:        flex;
	flex-direction: column;
	gap:            4px;
}

.francuz-about__stat-number {
	font-family: 'Oswald', sans-serif;
	font-size:   36px;
	font-weight: 700;
	line-height: 1;
	color:       var(--color-primary-blue);
}

.francuz-about__stat-label {
	font-family: 'Inter', sans-serif;
	font-size:   14px;
	line-height: 1.4;
	color:       #6b6b6b;
}

/* Кнопка */
.francuz-about__btn {
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	padding:         14px 36px;
	background:      var(--color-accent-red);
	color:           #fff;
	font-family:     'Inter', sans-serif;
	font-size:       15px;
	font-weight:     600;
	text-decoration: none;
	border-radius:   8px;
	letter-spacing:  0.02em;
	transition:      background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
	align-self:      flex-start;
	box-shadow:      0 4px 16px rgba(169, 50, 38, 0.3);
}

.francuz-about__btn:hover {
	background:  #8e2218;
	transform:   translateY(-2px);
	box-shadow:  0 8px 24px rgba(169, 50, 38, 0.4);
	color:       #fff;
}

/* ---- Адаптив ---- */

/* Планшет: колонки 50/50, уменьшаем шрифты */
@media (max-width: 992px) {
	.francuz-about__inner {
		grid-template-columns: 1fr 1fr;
		gap:                   var(--space-lg);
	}

	.francuz-about__photo,
	.francuz-about__photo-placeholder {
		height: 420px;
	}

	.francuz-about__title {
		font-size: 32px;
	}

	.francuz-about__stat-number {
		font-size: 28px;
	}
}

/* Мобильный: одна колонка, фото над текстом */
@media (max-width: 768px) {
	.francuz-about__inner {
		grid-template-columns: 1fr;
		gap:                   var(--space-lg);
	}

	.francuz-about__photo,
	.francuz-about__photo-placeholder {
		height: 300px;
	}

	.francuz-about__badge {
		bottom: 20px;
		left:   16px;
		font-size: 15px;
		padding:   10px 18px;
	}

	.francuz-about__media-accent {
		display: none;
	}

	.francuz-about__title {
		font-size: 28px;
	}

	.francuz-about__stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.francuz-about__btn {
		align-self: stretch;
		text-align: center;
	}
}


/* =======================================================
   Блок 10: Контакты
   ======================================================= */

/* --- Elementor: сброс отступов --- */
.elementor-section:has(.francuz-contacts) { padding: 0 !important; }
.elementor-section:has(.francuz-contacts) > .elementor-container { max-width: 100% !important; padding: 0 !important; }
.elementor-section:has(.francuz-contacts) .elementor-column-wrap,
.elementor-section:has(.francuz-contacts) .elementor-widget-wrap { padding: 0 !important; }
.e-con:has(.francuz-contacts) { padding: 0 !important; --padding-top: 0px !important; --padding-right: 0px !important; --padding-bottom: 0px !important; --padding-left: 0px !important; max-width: 100% !important; width: 100% !important; }
.e-con:has(.francuz-contacts) > .e-con-inner { padding: 0 !important; max-width: 100% !important; width: 100% !important; }
.elementor-widget-francuz_contacts .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

/* --- Секция --- */
.francuz-contacts {
	background: var(--color-bg-light);
	overflow:   hidden;
}

/* --- Контентная область: два блока рядом --- */
.francuz-contacts__inner {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   var(--space-2xl);
	align-items:           start;
	max-width:             var(--container-width);
	margin:                0 auto;
	padding:               var(--space-2xl) var(--container-padding);
}

/* --- Eyebrow --- */
.francuz-contacts__eyebrow {
	display:         inline-flex;
	align-items:     center;
	gap:             8px;
	font-family:     'Inter', sans-serif;
	font-size:       13px;
	font-weight:     600;
	letter-spacing:  0.1em;
	text-transform:  uppercase;
	color:           var(--color-accent-red);
	margin:          0 0 var(--space-sm);
}

.francuz-contacts__eyebrow::before {
	content:       '';
	display:       block;
	width:         24px;
	height:        2px;
	background:    var(--color-accent-red);
	border-radius: 2px;
}

/* --- Заголовок --- */
.francuz-contacts__title {
	font-family:     'Oswald', sans-serif;
	font-size:       36px;
	font-weight:     600;
	color:           var(--color-text-dark);
	line-height:     1.2;
	margin:          0 0 var(--space-lg);
	text-transform:  uppercase;
	letter-spacing:  0.01em;
}

/* --- Список контактов --- */
.francuz-contacts__list {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        var(--space-md);
}

.francuz-contacts__item {
	display:     flex;
	align-items: flex-start;
	gap:         16px;
}

.francuz-contacts__item-icon {
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
	width:           44px;
	height:          44px;
	background:      var(--color-primary-blue);
	color:           #fff;
	border-radius:   10px;
}

.francuz-contacts__item-body {
	display:        flex;
	flex-direction: column;
	gap:            4px;
}

.francuz-contacts__item-label {
	font-family:    'Inter', sans-serif;
	font-size:      11px;
	font-weight:    700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color:          #999;
}

.francuz-contacts__item-value {
	font-family: 'Inter', sans-serif;
	font-size:   15px;
	color:       var(--color-text-dark);
	line-height: 1.5;
	display:     block;
}

.francuz-contacts__item-value--link {
	color:           var(--color-primary-blue);
	text-decoration: none;
	font-weight:     600;
	transition:      color 0.2s;
}

.francuz-contacts__item-value--link:hover {
	color: var(--color-accent-red);
}

/* --- Правая колонка: форма --- */
.francuz-contacts__form-wrap {
	background:    #fff;
	border-radius: 20px;
	padding:       var(--space-lg);
	box-shadow:    0 8px 40px rgba(58, 90, 140, 0.08);
}

.francuz-contacts__form-title {
	font-family:    'Oswald', sans-serif;
	font-size:      24px;
	font-weight:    600;
	color:          var(--color-text-dark);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin:         0 0 var(--space-md);
}

/* --- Поля формы --- */
.francuz-contacts__fields-row {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   var(--space-sm);
}

.francuz-contacts__field {
	display:        flex;
	flex-direction: column;
	gap:            6px;
	margin-bottom:  var(--space-sm);
}

.francuz-contacts__field:last-of-type { margin-bottom: 0; }

.francuz-contacts__label {
	font-family:    'Inter', sans-serif;
	font-size:      13px;
	font-weight:    600;
	color:          var(--color-text-dark);
	letter-spacing: 0.02em;
}

.francuz-contacts__input,
.francuz-contacts__select,
.francuz-contacts__textarea {
	font-family:  'Inter', sans-serif;
	font-size:    15px;
	color:        var(--color-text-dark);
	background:   var(--color-neutral-white);
	border:       1.5px solid var(--color-border);
	border-radius: 8px;
	padding:      12px 16px;
	width:        100%;
	outline:      none;
	transition:   border-color 0.2s, box-shadow 0.2s;
	-webkit-appearance: none;
	appearance:   none;
	box-sizing:   border-box;
}

/* Стрелка у select */
.francuz-contacts__select {
	background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231C1C1E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
	background-repeat:   no-repeat;
	background-position: right 16px center;
	padding-right:       40px;
	cursor:              pointer;
}

.francuz-contacts__input:focus,
.francuz-contacts__select:focus,
.francuz-contacts__textarea:focus {
	border-color: var(--color-primary-blue);
	box-shadow:   0 0 0 3px rgba(58, 90, 140, 0.12);
}

.francuz-contacts__textarea {
	resize:     vertical;
	min-height: 100px;
}

/* --- Кнопка отправки --- */
.francuz-contacts__submit {
	display:        block;
	width:          100%;
	padding:        16px 32px;
	margin-top:     var(--space-sm);
	font-family:    'Oswald', sans-serif;
	font-size:      16px;
	font-weight:    500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color:          #fff;
	background:     var(--color-accent-red);
	border:         none;
	border-radius:  8px;
	cursor:         pointer;
	box-shadow:     0 4px 16px rgba(169, 50, 38, 0.3);
	transition:     background 0.2s, transform 0.2s, box-shadow 0.2s;
}

.francuz-contacts__submit:hover {
	background:  #8e2218;
	transform:   translateY(-2px);
	box-shadow:  0 6px 24px rgba(169, 50, 38, 0.4);
}

.francuz-contacts__submit:active {
	transform: translateY(0);
}

/* --- Примечание под формой --- */
.francuz-contacts__form-note {
	font-size:   12px;
	color:       #888;
	text-align:  center;
	margin:      var(--space-xs) 0 0;
	line-height: 1.5;
}

.francuz-contacts__form-note a {
	color:           var(--color-primary-blue);
	text-decoration: underline;
}

/* --- Стили для Contact Form 7 (когда будет подключён) --- */
.francuz-contacts__cf7 .wpcf7-form {
	display:        flex;
	flex-direction: column;
	gap:            var(--space-sm);
}

.francuz-contacts__cf7 input,
.francuz-contacts__cf7 select,
.francuz-contacts__cf7 textarea {
	font-family:  'Inter', sans-serif;
	font-size:    15px;
	background:   var(--color-neutral-white);
	border:       1.5px solid var(--color-border);
	border-radius: 8px;
	padding:      12px 16px;
	width:        100%;
	outline:      none;
	box-sizing:   border-box;
	transition:   border-color 0.2s;
}

.francuz-contacts__cf7 input:focus,
.francuz-contacts__cf7 textarea:focus {
	border-color: var(--color-primary-blue);
}

.francuz-contacts__cf7 input[type="submit"] {
	background:     var(--color-accent-red);
	color:          #fff;
	border:         none;
	font-family:    'Oswald', sans-serif;
	cursor:         pointer;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	box-shadow:     0 4px 16px rgba(169, 50, 38, 0.3);
	transition:     background 0.2s, transform 0.2s;
}

.francuz-contacts__cf7 input[type="submit"]:hover {
	background: #8e2218;
	transform:  translateY(-2px);
}

/* --- Карта --- */
.francuz-contacts__map {
	width:     100%;
	height:    450px;
	overflow:  hidden;
	position:  relative;
}

.francuz-contacts__map iframe {
	display: block;
	width:   100%;
	height:  100%;
	border:  none;
}

/* Заглушка карты */
.francuz-contacts__map-placeholder {
	width:           100%;
	height:          100%;
	background:      linear-gradient(135deg, #eaf0f8 0%, #dce6f5 100%);
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	justify-content: center;
	gap:             12px;
	padding:         var(--space-lg);
	box-sizing:      border-box;
}

.francuz-contacts__map-placeholder-text {
	font-family:    'Oswald', sans-serif;
	font-size:      20px;
	color:          var(--color-primary-blue);
	letter-spacing: 0.02em;
	margin:         0;
	text-align:     center;
}

.francuz-contacts__map-placeholder-hint {
	font-family: 'Inter', sans-serif;
	font-size:   14px;
	color:       #999;
	margin:      0;
	text-align:  center;
}

/* ---- Адаптив ---- */

/* Планшет: колонки стекируются */
@media (max-width: 992px) {
	.francuz-contacts__inner {
		grid-template-columns: 1fr;
		gap:                   var(--space-lg);
	}

	.francuz-contacts__title {
		font-size: 28px;
	}
}

/* Мобильный */
@media (max-width: 768px) {
	.francuz-contacts__inner {
		padding: var(--space-lg) var(--container-padding);
	}

	.francuz-contacts__fields-row {
		grid-template-columns: 1fr;
	}

	.francuz-contacts__form-wrap {
		padding: var(--space-md);
	}

	.francuz-contacts__title {
		font-size:     24px;
		margin-bottom: var(--space-md);
	}

	.francuz-contacts__map {
		height: 300px;
	}
}
