/* ==========================================================================
 * Extended Warranty page (template-extended-warranty.php)
 * 1:1 верстка по мокапу: верхний баннер, интро, фото машин,
 * Benefits, Available Plans, Warranty Policy.
 * ========================================================================== */

:root {
	--ew-green: #869959;
	--ew-green-dark: #6f8146;
	--ew-text: #222;
	--ew-muted: #555;
	--ew-bg: #ffffff;
	--ew-radius: 12px;
}

.ew-page {
	background: var(--ew-bg);
	color: var(--ew-text);
	font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ew-container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.ew-container--narrow {
	max-width: 980px;
}

/* Breadcrumbs --------------------------------------------------------------*/
.ew-page .ew-breadcrumbs {
	max-width: 1200px;
	margin: 16px auto 8px;
	padding: 0 20px;
	font-size: 13px;
	color: #777;
}

.ew-page .ew-breadcrumbs a {
	color: #777;
	text-decoration: none;
}

.ew-page .ew-breadcrumbs a:hover {
	color: var(--ew-green);
}

.ew-page .ew-breadcrumbs .sep {
	margin: 0 6px;
	color: #aaa;
}

.ew-page .ew-breadcrumbs .current {
	color: #555;
}

/* Top banner ---------------------------------------------------------------*/
.ew-banner {
	width: 100%;
	max-height: 240px;
	overflow: hidden;
	line-height: 0;
}

.ew-banner img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Desktop only: фиксируем высоту баннера 240px, чтобы крупное изображение
   не тянуло высоту на широких экранах. На мобильных оставляем height: auto. */
@media (min-width: 901px) {
	.ew-banner img {
		height: 240px;
	}
}

/* Intro --------------------------------------------------------------------*/
.ew-intro {
	padding: 56px 0 32px;
	text-align: center;
}

.ew-title {
	color: var(--ew-green);
	font-weight: 700;
	font-size: 36px;
	line-height: 1.15;
	margin: 0 0 18px;
	letter-spacing: 0.2px;
}

.ew-subtitle {
	color: var(--ew-text);
	font-size: 20px;
	line-height: 1.4;
	max-width: 900px;
	margin: 0 auto;
}

.ew-machines {
	margin: 36px auto 24px;
	max-width: 880px;
}

.ew-machines img {
	width: 100%;
	height: auto;
	display: block;
}

/* Brand logos -------------------------------------------------------------*/
.ew-logos {
	margin: 32px auto 8px;
	max-width: 980px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ew-logos__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.ew-logos__row--top {
	gap: 56px;
}

.ew-logos__row--bottom {
	gap: 36px;
}

.ew-logos__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	transition: opacity 0.2s ease, transform 0.2s ease;
	text-decoration: none;
}

.ew-logos__link:hover,
.ew-logos__link:focus-visible {
	opacity: 0.8;
}

.ew-logos__link img {
	width: auto;
	object-fit: contain;
	display: block;
}

.ew-logos__row--top .ew-logos__link img {
	max-height: 60px;
	max-width: 200px;
}

.ew-logos__row--bottom .ew-logos__link img {
	max-height: 44px;
	max-width: 150px;
}

.ew-exceptions {
	color: #555;
	font-size: 13px;
	margin: 18px 0 0;
}

/* Benefits -----------------------------------------------------------------*/
.ew-benefits {
	padding: 28px 0 40px;
}

.ew-section-title {
	color: var(--ew-green);
	font-weight: 700;
	font-size: 32px;
	text-align: center;
	margin: 0 0 28px;
}

.ew-benefits-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

.ew-benefit {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 14px;
	padding: 8px 12px;
}

.ew-benefit__icon {
	width: 84px;
	height: 84px;
	display: flex;
	align-items: center;
	justify-content: center;
}

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

.ew-benefit__text {
	margin: 0;
	color: var(--ew-text);
	font-size: 20px;
	line-height: 1.3;
	max-width: 280px;
}

/* Available Plans ----------------------------------------------------------*/
.ew-plans {
	padding: 32px 0 48px;
	text-align: center;
}

.ew-plans__subtitle {
	color: var(--ew-text);
	font-size: 20px;
	line-height: 1.4;
	max-width: 900px;
	margin: 0 auto 32px;
}

.ew-plans-grid {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	max-width: 760px;
}

.ew-plan {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.ew-plan__badge {
	width: 100%;
	max-width: 170px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ew-plan__badge img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.ew-plan__label {
	font-weight: 700;
	font-size: 16px;
	color: #111;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}

/* Warranty Policy ----------------------------------------------------------*/
.ew-policy {
	padding: 24px 0 64px;
	text-align: center;
}

.ew-policy__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--ew-text);
	margin: 0 0 12px;
}

.ew-policy__text {
	color: #444;
	font-size: 18px;
	line-height: 1.6;
	margin: 0 auto;
	max-width: 920px;
	text-align: left;
}

.ew-policy__link {
	color: var(--ew-green-dark);
	text-decoration: underline;
	margin-left: 4px;
	font-size: 18px;
}

.ew-policy__link:hover {
	color: var(--ew-green);
}

/* Responsive ---------------------------------------------------------------*/
@media (max-width: 900px) {
	.ew-title {
		font-size: 30px;
	}

	.ew-subtitle {
		font-size: 22px;
	}

	.ew-section-title {
		font-size: 26px;
	}

	.ew-plans__subtitle {
		font-size: 22px;
	}

	.ew-policy__title,
	.ew-policy__text,
	.ew-policy__link {
		font-size: 16px;
	}

	.ew-benefits-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
		max-width: 100%;
	}

	.ew-benefit {
		padding: 8px 4px;
		gap: 10px;
	}

	.ew-benefit__icon {
		width: 64px;
		height: 64px;
	}

	.ew-benefit__text {
		font-size: 14px;
	}

	.ew-plans-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 14px;
	}

	.ew-plan__badge {
		max-width: 130px;
	}

	.ew-plan__label {
		font-size: 14px;
	}

	.ew-logos__row--top {
		gap: 32px;
	}

	.ew-logos__row--bottom {
		gap: 22px;
	}

	.ew-logos__row--top .ew-logos__link img {
		max-height: 48px;
	}

	.ew-logos__row--bottom .ew-logos__link img {
		max-height: 36px;
	}
}

@media (max-width: 560px) {
	.ew-intro {
		padding: 40px 0 24px;
	}

	.ew-title {
		font-size: 26px;
	}

	.ew-subtitle {
		font-size: 17px;
	}

	.ew-section-title {
		font-size: 22px;
	}

	.ew-plans__subtitle {
		font-size: 17px;
	}

	.ew-policy__title,
	.ew-policy__text,
	.ew-policy__link {
		font-size: 14px;
	}

	.ew-machines {
		margin: 24px auto 16px;
	}

	.ew-plans-grid {
		grid-template-columns: repeat(3, 1fr);
		max-width: 100%;
		gap: 10px;
	}

	.ew-plan__badge {
		max-width: 100%;
	}

	.ew-benefits-grid {
		gap: 8px;
	}

	.ew-benefit {
		padding: 6px 2px;
		gap: 8px;
	}

	.ew-benefit__icon {
		width: 48px;
		height: 48px;
	}

	.ew-benefit__text {
		font-size: 12px;
		line-height: 1.3;
		max-width: 100%;
	}

	.ew-policy {
		padding: 16px 0 48px;
	}

	.ew-logos {
		gap: 18px;
	}

	.ew-logos__row--top {
		gap: 22px;
	}

	.ew-logos__row--bottom {
		gap: 16px 22px;
	}

	.ew-logos__row--top .ew-logos__link img {
		max-height: 40px;
		max-width: 95px;
	}

	.ew-logos__row--bottom .ew-logos__link img {
		max-height: 30px;
		max-width: 74px;
	}
}
