/*
Theme Name: ServiceCore
Theme URI: https://example.com/servicecore
Author: ServiceCore
Description: Minimal starter theme for the ServiceCore platform.
Version: 1.0.0
Text Domain: servicecore
Requires at least: 6.8
Requires PHP: 8.2
*/

:root {
	--servicecore-black: #111111;
	--servicecore-grey: #666666;
	--servicecore-blue: #0f4c81;
	--servicecore-white: #ffffff;
}

/* --------------------------------------------------------------------------
 * GROHE ServiceCore public platform
 * -------------------------------------------------------------------------- */

:root {
	--servicecore-grohe-blue: #005ca9;
	--servicecore-grohe-blue-dark: #004b8d;
	--servicecore-graphite: #171a1d;
	--servicecore-muted: #667076;
	--servicecore-surface: #f4f5f5;
	--servicecore-line: #d9dcdd;
	--servicecore-white: #ffffff;
	--servicecore-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.servicecore-platform-home {
	color: var(--servicecore-graphite);
	overflow: hidden;
	background: var(--servicecore-white);
}

.servicecore-container {
	width: min(1280px, calc(100% - 80px));
	margin: 0 auto;
}

.servicecore-eyebrow {
	margin: 0 0 18px;
	color: var(--servicecore-grohe-blue);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Header */
.servicecore-site-header {
	position: relative;
	z-index: 50;
	border-bottom: 1px solid var(--servicecore-line);
	background: var(--servicecore-white);
	color: var(--servicecore-graphite);
	transition: background-color 0.3s var(--servicecore-ease), border-color 0.3s var(--servicecore-ease), box-shadow 0.3s var(--servicecore-ease), color 0.3s var(--servicecore-ease);
}

.servicecore-site-header--overlay {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	border-color: rgb(255 255 255 / 16%);
	background: var(--servicecore-graphite);
	color: var(--servicecore-white);
}

.servicecore-site-header--overlay.is-scrolled {
	border-color: var(--servicecore-line);
	background: rgb(255 255 255 / 97%);
	box-shadow: 0 8px 26px rgb(23 26 29 / 8%);
	color: var(--servicecore-graphite);
	backdrop-filter: blur(12px);
}

.servicecore-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(1440px, calc(100% - 80px));
	min-height: 96px;
	padding-top: 16px;
	margin: 0 auto;
	gap: 28px;
}

.servicecore-site-header__brand,
.servicecore-site-header__brand:visited {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	color: currentcolor;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
}

.servicecore-site-header__brand small,
.servicecore-site-footer__brand small {
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.14em;
	vertical-align: middle;
}

.servicecore-site-header__brand-mark {
	position: relative;
	display: block;
	width: 22px;
	height: 22px;
	border: 2px solid currentcolor;
	border-radius: 50%;
}

.servicecore-site-header__brand-mark::after {
	position: absolute;
	top: 5px;
	right: -5px;
	width: 9px;
	height: 2px;
	background: currentcolor;
	content: "";
}

.servicecore-site-header__navigation,
.servicecore-site-header__menu,
.servicecore-site-header__actions {
	display: flex;
	align-items: center;
}

.servicecore-site-header__navigation {
	justify-content: flex-end;
	gap: clamp(18px, 2.2vw, 38px);
}

.servicecore-site-header__menu {
	gap: clamp(14px, 1.35vw, 24px);
}

.servicecore-site-header__menu a,
.servicecore-site-header__account {
	color: currentcolor;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.servicecore-site-header__menu a:hover,
.servicecore-site-header__account:hover {
	color: var(--servicecore-grohe-blue);
}

.servicecore-site-header__actions {
	gap: 16px;
}

.servicecore-site-header__icon-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: currentcolor;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

.servicecore-site-header__icon-link:hover { color: var(--servicecore-grohe-blue); }

.servicecore-site-header__icon-link svg,
.servicecore-search-form svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-width: 1.8;
}

.servicecore-site-header__cta,
.servicecore-site-header__cta:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 17px;
	border: 1px solid var(--servicecore-grohe-blue);
	border-radius: 2px;
	background: var(--servicecore-grohe-blue);
	color: var(--servicecore-white);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.25s var(--servicecore-ease), border-color 0.25s var(--servicecore-ease), transform 0.25s var(--servicecore-ease);
}

.servicecore-site-header__cta:hover {
	border-color: var(--servicecore-grohe-blue-dark);
	background: var(--servicecore-grohe-blue-dark);
	color: var(--servicecore-white);
	transform: translateY(-1px);
}

.servicecore-site-header__toggle { display: none; }

/* Hero */
.servicecore-platform-hero {
	position: relative;
	display: flex;
	height: max(760px, 100svh);
	min-height: 760px;
	overflow: hidden;
	background: var(--servicecore-graphite);
	color: var(--servicecore-white);
}

@supports (height: 100dvh) {
	.servicecore-platform-hero { height: max(760px, 100dvh); }
}

.servicecore-platform-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(400px, 0.96fr);
	grid-template-rows: minmax(0, 1fr);
	align-items: stretch;
	width: min(1440px, calc(100% - 80px));
	height: 100%;
	min-height: 0;
	margin: 0 auto;
}

.servicecore-platform-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	max-width: 650px;
	padding: 160px 90px 100px 0;
}

.servicecore-platform-hero .servicecore-eyebrow { color: #8dbbe4; }

.servicecore-platform-hero h1 {
	max-width: 650px;
	margin: 0;
	font-size: clamp(52px, 5.2vw, 84px);
	font-weight: 650;
	letter-spacing: -0.065em;
	line-height: 0.98;
}

.servicecore-platform-hero__lead {
	max-width: 500px;
	margin: 30px 0 0;
	color: #c8cdd0;
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: 400;
	line-height: 1.45;
}

.servicecore-platform-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 44px;
}

.servicecore-button,
.servicecore-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: transform 0.25s var(--servicecore-ease), background-color 0.25s var(--servicecore-ease), border-color 0.25s var(--servicecore-ease), color 0.25s var(--servicecore-ease);
}

.servicecore-button span { margin-left: 14px; font-size: 18px; font-weight: 400; }
.servicecore-button:hover { transform: translateY(-2px); }
.servicecore-button--primary { background: var(--servicecore-grohe-blue); color: var(--servicecore-white); }
.servicecore-button--primary:hover { background: var(--servicecore-grohe-blue-dark); color: var(--servicecore-white); }
.servicecore-button--secondary { border-color: rgb(255 255 255 / 48%); background: transparent; color: var(--servicecore-white); }
.servicecore-button--secondary:hover { border-color: var(--servicecore-white); background: var(--servicecore-white); color: var(--servicecore-graphite); }
.servicecore-button--light { border-color: var(--servicecore-white); background: var(--servicecore-white); color: var(--servicecore-graphite); }
.servicecore-button--light:hover { background: #e9eced; color: var(--servicecore-graphite); }

.servicecore-platform-hero__utility {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 32px;
	color: #aeb6ba;
	font-size: 13px;
}

.servicecore-platform-hero__utility a { color: var(--servicecore-white); font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }

.servicecore-platform-hero__media {
	position: relative;
	align-self: stretch;
	min-width: 0;
	min-height: 0;
	height: auto;
	margin: 0;
	overflow: hidden;
	background: #d8dad7;
}

.servicecore-platform-hero__media::after {
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 9%);
	content: "";
	pointer-events: none;
}

.servicecore-platform-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* Trust and search */
.servicecore-trust {
	border-bottom: 1px solid var(--servicecore-line);
	background: var(--servicecore-white);
}

.servicecore-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.servicecore-trust article {
	min-height: 230px;
	padding: 38px 36px;
	border-right: 1px solid var(--servicecore-line);
}

.servicecore-trust article:first-child { border-left: 1px solid var(--servicecore-line); }
.servicecore-trust__index { display: block; margin-bottom: 42px; color: var(--servicecore-grohe-blue); font-size: 12px; font-weight: 750; letter-spacing: 0.08em; }
.servicecore-trust h2 { margin: 0; font-size: 20px; font-weight: 650; letter-spacing: -0.035em; line-height: 1.15; }
.servicecore-trust p { margin: 13px 0 0; color: var(--servicecore-muted); font-size: 14px; line-height: 1.5; }

.servicecore-search-section { padding: 130px 0; background: var(--servicecore-surface); }
.servicecore-search-section__inner { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(460px, 1.2fr); align-items: end; gap: 90px; }
.servicecore-search-section h2,
.servicecore-section-heading h2,
.servicecore-impact h2,
.servicecore-final-cta h2 { margin: 0; font-size: clamp(36px, 3.5vw, 54px); font-weight: 620; letter-spacing: -0.055em; line-height: 1.04; }

.servicecore-search-form {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	min-height: 72px;
	padding: 7px 7px 7px 24px;
	border: 1px solid #c8ccce;
	border-radius: 2px;
	background: var(--servicecore-white);
	gap: 15px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.servicecore-search-form:focus-within { border-color: var(--servicecore-grohe-blue); box-shadow: 0 0 0 3px rgb(0 92 169 / 11%); }
.servicecore-search-form svg { color: var(--servicecore-muted); }
.servicecore-search-form input { min-width: 0; padding: 15px 0; border: 0; outline: 0; background: transparent; color: var(--servicecore-graphite); font: inherit; font-size: 14px; }
.servicecore-search-form input::placeholder { color: #7d8589; opacity: 1; }
.servicecore-search-form button { min-height: 56px; padding: 0 27px; border: 0; border-radius: 1px; background: var(--servicecore-grohe-blue); color: var(--servicecore-white); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background-color 0.2s ease; }
.servicecore-search-form button:hover { background: var(--servicecore-grohe-blue-dark); }

/* Services and parts */
.servicecore-services,
.servicecore-parts,
.servicecore-process,
.servicecore-knowledge,
.servicecore-reviews { padding: 142px 0; }

.servicecore-parts,
.servicecore-reviews { background: var(--servicecore-surface); }

.servicecore-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 62px; }
.servicecore-section-heading > a { color: var(--servicecore-grohe-blue); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.servicecore-section-heading > a span { display: inline-block; margin-left: 8px; font-size: 19px; font-weight: 400; transition: transform 0.25s var(--servicecore-ease); }
.servicecore-section-heading > a:hover span { transform: translateX(5px); }
.servicecore-section-heading--center { display: block; margin-bottom: 72px; text-align: center; }

.servicecore-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--servicecore-line); border-left: 1px solid var(--servicecore-line); }
.servicecore-service-card { position: relative; display: flex; min-height: 294px; padding: 32px 34px; flex-direction: column; border-right: 1px solid var(--servicecore-line); border-bottom: 1px solid var(--servicecore-line); background: var(--servicecore-white); color: var(--servicecore-graphite); text-decoration: none; transition: background-color 0.3s var(--servicecore-ease), transform 0.3s var(--servicecore-ease), box-shadow 0.3s var(--servicecore-ease); }
.servicecore-service-card:hover { z-index: 1; background: #fbfcfc; box-shadow: 0 18px 40px rgb(23 26 29 / 10%); transform: translateY(-5px); }
.servicecore-service-card__number { color: var(--servicecore-grohe-blue); font-size: 12px; font-weight: 750; letter-spacing: 0.08em; }
.servicecore-service-card h3 { max-width: 240px; margin: auto 0 14px; font-size: 26px; font-weight: 625; letter-spacing: -0.045em; line-height: 1.05; }
.servicecore-service-card p { max-width: 280px; margin: 0; color: var(--servicecore-muted); font-size: 14px; line-height: 1.55; }
.servicecore-service-card__arrow { position: absolute; right: 31px; bottom: 31px; color: var(--servicecore-grohe-blue); font-size: 23px; transition: transform 0.25s var(--servicecore-ease); }
.servicecore-service-card:hover .servicecore-service-card__arrow { transform: translate(3px, -3px); }

.servicecore-parts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.servicecore-parts-card { display: flex; min-height: 323px; flex-direction: column; overflow: hidden; border: 1px solid #e2e4e5; border-radius: 3px; background: var(--servicecore-white); color: var(--servicecore-graphite); text-decoration: none; transition: box-shadow 0.3s var(--servicecore-ease), transform 0.3s var(--servicecore-ease); }
.servicecore-parts-card:hover { box-shadow: 0 20px 36px rgb(23 26 29 / 10%); transform: translateY(-5px); }
.servicecore-parts-card__image { display: grid; min-height: 248px; place-items: center; overflow: hidden; background: #eaedee; }
.servicecore-parts-card__image img { width: 76%; height: 76%; object-fit: contain; transition: transform 0.35s var(--servicecore-ease); }
.servicecore-parts-card:hover .servicecore-parts-card__image img { transform: scale(1.07); }
.servicecore-parts-card__footer { display: flex; align-items: center; justify-content: space-between; padding: 23px 25px; font-size: 17px; font-weight: 650; letter-spacing: -0.025em; }
.servicecore-parts-card__footer > span:last-child { color: var(--servicecore-grohe-blue); font-size: 21px; font-weight: 400; transition: transform 0.25s var(--servicecore-ease); }
.servicecore-parts-card:hover .servicecore-parts-card__footer > span:last-child { transform: translateX(5px); }

/* Technical-expertise panel */
.servicecore-impact { position: relative; min-height: 720px; overflow: hidden; background: var(--servicecore-graphite); color: var(--servicecore-white); }
.servicecore-impact__image,
.servicecore-impact__overlay { position: absolute; inset: 0; }
.servicecore-impact__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.servicecore-impact__overlay { background: rgb(10 14 16 / 76%); }
.servicecore-impact__inner { position: relative; z-index: 1; display: flex; min-height: 720px; flex-direction: column; justify-content: space-between; padding-top: 130px; padding-bottom: 85px; }
.servicecore-impact .servicecore-eyebrow { color: #8dbbe4; }
.servicecore-impact__intro { max-width: 610px; }
.servicecore-impact__intro > p:last-child { max-width: 490px; margin: 29px 0 0; color: #d0d4d5; font-size: 18px; line-height: 1.5; }
.servicecore-impact__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgb(255 255 255 / 32%); }
.servicecore-impact__stats div { padding: 30px 22px 0 0; border-right: 1px solid rgb(255 255 255 / 24%); }
.servicecore-impact__stats div:not(:first-child) { padding-left: 30px; }
.servicecore-impact__stats div:last-child { border-right: 0; }
.servicecore-impact__stats dt { font-size: clamp(32px, 3.6vw, 52px); font-weight: 600; letter-spacing: -0.065em; line-height: 1; }
.servicecore-impact__stats dd { margin: 11px 0 0; color: #c7cccd; font-size: 14px; }

/* Process */
.servicecore-process__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.servicecore-process__steps li { position: relative; padding: 0 28px 0 0; }
.servicecore-process__steps li:not(:last-child)::after { position: absolute; top: 25px; right: 0; width: 32px; height: 1px; background: var(--servicecore-line); content: ""; }
.servicecore-process__steps span { display: grid; width: 52px; height: 52px; margin-bottom: 31px; border: 1px solid var(--servicecore-line); border-radius: 50%; place-items: center; color: var(--servicecore-grohe-blue); font-size: 12px; font-weight: 750; letter-spacing: 0.06em; }
.servicecore-process__steps h3 { margin: 0; font-size: 20px; font-weight: 650; letter-spacing: -0.035em; }
.servicecore-process__steps p { max-width: 200px; margin: 13px 0 0; color: var(--servicecore-muted); font-size: 14px; line-height: 1.55; }

/* Knowledge, reviews and call-to-action */
.servicecore-knowledge__grid { display: grid; grid-template-columns: 1.1fr 0.95fr 0.95fr; gap: 22px; }
.servicecore-article-card { display: flex; min-height: 368px; flex-direction: column; padding: 34px; border: 1px solid var(--servicecore-line); border-radius: 3px; background: var(--servicecore-white); color: var(--servicecore-graphite); text-decoration: none; transition: transform 0.3s var(--servicecore-ease), box-shadow 0.3s var(--servicecore-ease); }
.servicecore-article-card:hover { box-shadow: 0 20px 40px rgb(23 26 29 / 10%); transform: translateY(-5px); }
.servicecore-article-card > span { color: var(--servicecore-grohe-blue); font-size: 11px; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.servicecore-article-card h3 { max-width: 360px; margin: auto 0 15px; font-size: clamp(24px, 2vw, 31px); font-weight: 630; letter-spacing: -0.05em; line-height: 1.06; }
.servicecore-article-card p { max-width: 330px; margin: 0; color: var(--servicecore-muted); font-size: 14px; line-height: 1.5; }
.servicecore-article-card b { display: flex; align-items: center; margin-top: 26px; color: var(--servicecore-grohe-blue); font-size: 14px; }
.servicecore-article-card i { margin-left: 10px; font-size: 20px; font-style: normal; font-weight: 400; transition: transform 0.25s var(--servicecore-ease); }
.servicecore-article-card:hover i { transform: translateX(5px); }
.servicecore-article-card--one { background: #e8eff3; }
.servicecore-article-card--two { background: var(--servicecore-graphite); border-color: var(--servicecore-graphite); color: var(--servicecore-white); }
.servicecore-article-card--two p { color: #c2c8ca; }
.servicecore-article-card--two > span { color: #8dbbe4; }
.servicecore-article-card--three { background: #f4f3f0; }

.servicecore-slider-controls { display: flex; gap: 8px; }
.servicecore-slider-controls button { display: grid; width: 42px; height: 42px; padding: 0; border: 1px solid var(--servicecore-line); border-radius: 50%; place-items: center; background: transparent; color: var(--servicecore-graphite); font-size: 20px; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.servicecore-slider-controls button:hover { border-color: var(--servicecore-grohe-blue); background: var(--servicecore-grohe-blue); color: var(--servicecore-white); }
.servicecore-review-slider { display: grid; grid-auto-columns: minmax(320px, 1fr); grid-auto-flow: column; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; overflow-x: auto; padding-bottom: 6px; scroll-behavior: smooth; scrollbar-width: none; }
.servicecore-review-slider::-webkit-scrollbar { display: none; }
.servicecore-review-card { min-height: 292px; padding: 32px 34px; border: 1px solid var(--servicecore-line); border-radius: 3px; background: var(--servicecore-white); }
.servicecore-review-card__rating { color: var(--servicecore-grohe-blue); font-size: 12px; letter-spacing: 0.16em; }
.servicecore-review-card blockquote { margin: 42px 0 auto; font-size: 20px; font-weight: 500; letter-spacing: -0.035em; line-height: 1.35; }
.servicecore-review-card p { display: flex; flex-direction: column; gap: 5px; margin: 29px 0 0; font-size: 13px; }
.servicecore-review-card strong { font-size: 14px; }
.servicecore-review-card span { color: var(--servicecore-muted); }

.servicecore-final-cta { padding: 78px 0; background: var(--servicecore-grohe-blue); color: var(--servicecore-white); }
.servicecore-final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.servicecore-final-cta .servicecore-eyebrow { color: #c6dff3; }
.servicecore-final-cta h2 { max-width: 675px; }
.servicecore-final-cta__inner > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; }
.servicecore-final-cta__link { color: var(--servicecore-white); font-size: 13px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }

/* Footer */
.servicecore-site-footer { padding: 85px 0 0; background: var(--servicecore-graphite); color: var(--servicecore-white); }
.servicecore-site-footer__inner { display: grid; grid-template-columns: 2fr repeat(3, 1fr); width: min(1280px, calc(100% - 80px)); margin: 0 auto; gap: 52px; }
.servicecore-site-footer__brand > a { color: var(--servicecore-white); font-size: 19px; font-weight: 800; letter-spacing: 0.02em; text-decoration: none; }
.servicecore-site-footer__brand p { max-width: 270px; margin: 23px 0 0; color: #aeb5b8; font-size: 14px; line-height: 1.55; }
.servicecore-site-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.servicecore-site-footer__column h2 { margin: 2px 0 9px; color: #90999c; font-size: 11px; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.servicecore-site-footer__column a { color: #eef0f1; font-size: 14px; line-height: 1.4; text-decoration: none; transition: color 0.2s ease; }
.servicecore-site-footer__column a:hover { color: #8dbbe4; }
.servicecore-site-footer__bottom { display: flex; align-items: center; justify-content: space-between; width: min(1280px, calc(100% - 80px)); margin: 72px auto 0; padding: 22px 0; border-top: 1px solid rgb(255 255 255 / 15%); color: #8f989b; font-size: 12px; }
.servicecore-site-footer__bottom a { color: #cbd1d3; text-decoration: none; }
.servicecore-site-footer__bottom a:hover { color: var(--servicecore-white); }

@media (max-width: 1120px) {
	.servicecore-site-header__inner,
	.servicecore-platform-hero__inner { width: min(100% - 48px, 1440px); }
	.servicecore-site-header__menu { gap: 14px; }
	.servicecore-site-header__menu a,
	.servicecore-site-header__account { font-size: 12px; }
	.servicecore-site-header__actions { gap: 11px; }
	.servicecore-site-header__cta { padding: 0 12px; }
	.servicecore-platform-hero__content { padding-right: 52px; }
	.servicecore-trust article { padding: 32px 25px; }
	.servicecore-search-section__inner { gap: 48px; }
	.servicecore-process__steps li { padding-right: 20px; }
	.servicecore-process__steps li:not(:last-child)::after { width: 18px; }
	.servicecore-site-footer__inner { grid-template-columns: 1.5fr repeat(3, 1fr); gap: 30px; }
}

@media (max-width: 900px) {
	.servicecore-site-header__inner { min-height: 86px; padding-top: 14px; }
	.servicecore-site-header__toggle { position: relative; z-index: 2; display: flex; width: 34px; height: 34px; padding: 7px; flex-direction: column; justify-content: center; gap: 6px; border: 0; background: transparent; color: currentcolor; cursor: pointer; }
	.servicecore-site-header__toggle > span:not(.screen-reader-text) { display: block; width: 20px; height: 1.5px; background: currentcolor; transition: transform 0.2s ease; }
	.servicecore-site-header__navigation { position: absolute; top: 100%; right: 0; left: 0; display: none; padding: 22px 24px 28px; flex-direction: column; align-items: stretch; border-bottom: 1px solid var(--servicecore-line); background: var(--servicecore-white); color: var(--servicecore-graphite); box-shadow: 0 12px 24px rgb(23 26 29 / 8%); }
	.servicecore-site-header.is-menu-open .servicecore-site-header__navigation { display: flex; }
	.servicecore-site-header.is-menu-open .servicecore-site-header__toggle > span:nth-child(2) { transform: translateY(3.75px) rotate(45deg); }
	.servicecore-site-header.is-menu-open .servicecore-site-header__toggle > span:nth-child(3) { transform: translateY(-3.75px) rotate(-45deg); }
	.servicecore-site-header__menu,
	.servicecore-site-header__actions { align-items: stretch; flex-direction: column; }
	.servicecore-site-header__menu { gap: 0; border-top: 1px solid var(--servicecore-line); }
	.servicecore-site-header__menu a { padding: 15px 0; border-bottom: 1px solid var(--servicecore-line); font-size: 15px; }
	.servicecore-site-header__actions { margin-top: 17px; gap: 14px; }
	.servicecore-site-header__icon-link { display: none; }
	.servicecore-site-header__account { padding: 8px 0; font-size: 14px; }
	.servicecore-site-header__cta { width: 100%; min-height: 48px; }

	.servicecore-platform-hero { height: auto; min-height: 0; }
	.servicecore-platform-hero__inner { grid-template-columns: 1fr; width: 100%; height: auto; }
	.servicecore-platform-hero__content { max-width: none; padding: 155px 48px 75px; }
	.servicecore-platform-hero__media { width: min(100%, 398px); min-height: 0; height: auto; aspect-ratio: 3 / 4; justify-self: center; }
	.servicecore-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-trust article:nth-child(3) { border-left: 1px solid var(--servicecore-line); }
	.servicecore-search-section__inner { grid-template-columns: 1fr; align-items: start; }
	.servicecore-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-parts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-impact,
	.servicecore-impact__inner { min-height: 680px; }
	.servicecore-impact__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 0; }
	.servicecore-impact__stats div:nth-child(3) { padding-left: 0; }
	.servicecore-impact__stats div:nth-child(2) { border-right: 0; }
	.servicecore-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 30px; }
	.servicecore-process__steps li { padding-right: 0; }
	.servicecore-process__steps li::after { display: none; }
	.servicecore-knowledge__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-article-card--one { grid-column: span 2; }
	.servicecore-review-slider { grid-template-columns: none; }
	.servicecore-review-card { min-width: min(420px, 82vw); }
	.servicecore-site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-site-footer__brand { grid-column: span 2; }
}

@media (max-width: 640px) {
	.servicecore-container,
	.servicecore-site-footer__inner,
	.servicecore-site-footer__bottom { width: min(100% - 40px, 1280px); }
	.servicecore-site-header__inner { width: min(100% - 40px, 1440px); }
	.servicecore-platform-hero__content { padding: 128px 20px 58px; }
	.servicecore-platform-hero h1 { font-size: clamp(43px, 12.5vw, 57px); letter-spacing: -0.07em; }
	.servicecore-platform-hero__lead { margin-top: 23px; font-size: 17px; }
	.servicecore-platform-hero__actions { width: 100%; margin-top: 34px; }
	.servicecore-button { width: 100%; }
	.servicecore-platform-hero__utility { margin-top: 25px; }
	.servicecore-platform-hero__media { width: min(100%, 398px); min-height: 0; height: auto; aspect-ratio: 3 / 4; }
	.servicecore-trust__grid { width: 100%; }
	.servicecore-trust article { min-height: 198px; padding: 27px 20px; }
	.servicecore-trust__index { margin-bottom: 29px; }
	.servicecore-trust h2 { font-size: 17px; }
	.servicecore-trust p { font-size: 13px; }
	.servicecore-search-section,
	.servicecore-services,
	.servicecore-parts,
	.servicecore-process,
	.servicecore-knowledge,
	.servicecore-reviews { padding: 78px 0; }
	.servicecore-search-section__inner { gap: 34px; }
	.servicecore-search-section h2,
	.servicecore-section-heading h2,
	.servicecore-impact h2,
	.servicecore-final-cta h2 { font-size: 36px; }
	.servicecore-search-form { min-height: 62px; padding: 5px 5px 5px 16px; gap: 10px; }
	.servicecore-search-form input { font-size: 13px; }
	.servicecore-search-form button { min-height: 50px; padding: 0 16px; }
	.servicecore-section-heading { align-items: flex-start; flex-direction: column; gap: 22px; margin-bottom: 39px; }
	.servicecore-section-heading--center { align-items: center; margin-bottom: 48px; }
	.servicecore-service-grid { grid-template-columns: 1fr; }
	.servicecore-service-card { min-height: 244px; padding: 27px 25px; }
	.servicecore-service-card h3 { font-size: 24px; }
	.servicecore-service-card__arrow { right: 25px; bottom: 26px; }
	.servicecore-parts__grid { grid-template-columns: 1fr; gap: 15px; }
	.servicecore-parts-card { min-height: 275px; }
	.servicecore-parts-card__image { min-height: 205px; }
	.servicecore-impact,
	.servicecore-impact__inner { min-height: 690px; }
	.servicecore-impact__inner { padding-top: 80px; padding-bottom: 59px; }
	.servicecore-impact__intro > p:last-child { margin-top: 23px; font-size: 16px; }
	.servicecore-impact__stats { gap: 25px 0; }
	.servicecore-impact__stats div,
	.servicecore-impact__stats div:not(:first-child) { padding: 21px 13px 0 0; }
	.servicecore-impact__stats div:nth-child(even) { padding-left: 18px; }
	.servicecore-impact__stats dt { font-size: 34px; }
	.servicecore-impact__stats dd { font-size: 12px; }
	.servicecore-process__steps { grid-template-columns: 1fr; gap: 34px; }
	.servicecore-process__steps li { display: grid; grid-template-columns: 52px 1fr; column-gap: 20px; }
	.servicecore-process__steps span { grid-row: span 2; margin: 0; }
	.servicecore-process__steps h3 { align-self: end; }
	.servicecore-process__steps p { max-width: none; margin: 7px 0 0; }
	.servicecore-knowledge__grid { grid-template-columns: 1fr; }
	.servicecore-article-card--one { grid-column: auto; }
	.servicecore-article-card { min-height: 310px; padding: 28px 25px; }
	.servicecore-review-card { min-width: 86vw; min-height: 270px; padding: 27px 25px; }
	.servicecore-review-card blockquote { margin-top: 31px; font-size: 18px; }
	.servicecore-final-cta { padding: 62px 0; }
	.servicecore-final-cta__inner { align-items: flex-start; flex-direction: column; gap: 34px; }
	.servicecore-final-cta__inner > div:last-child { width: 100%; }
	.servicecore-final-cta__link { margin-left: 2px; }
	.servicecore-site-footer { padding-top: 60px; }
	.servicecore-site-footer__inner { grid-template-columns: 1fr; gap: 37px; }
	.servicecore-site-footer__brand { grid-column: auto; }
	.servicecore-site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 55px; padding: 19px 0; }
}

/* Customer Portal — composed from the existing ServiceCore account surface. */
.servicecore-portal {
	max-width: 1120px;
	padding: 8px 0 24px;
	color: var(--servicecore-graphite);
}

.servicecore-portal > header { margin-bottom: 28px; }
.servicecore-portal h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.05em; }
.servicecore-portal h3 { margin: 0 0 12px; font-size: 19px; letter-spacing: -0.025em; }
.servicecore-portal h4 { margin: 0 0 8px; font-size: 16px; }
.servicecore-portal-intro { max-width: 620px; margin: 0 0 30px; color: var(--servicecore-muted); font-size: 17px; line-height: 1.6; }

.servicecore-portal-stats,
.servicecore-portal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.servicecore-portal-stats > div,
.servicecore-portal-grid > section,
.servicecore-portal-list > article,
.servicecore-portal-detail {
	border: 1px solid var(--servicecore-line);
	border-radius: 4px;
	background: var(--servicecore-white);
	box-shadow: 0 12px 32px rgb(23 26 29 / 5%);
}

.servicecore-portal-stats > div { min-height: 134px; padding: 24px; }
.servicecore-portal-stats strong { display: block; margin-bottom: 10px; font-size: 40px; font-weight: 650; letter-spacing: -0.06em; line-height: 1; }
.servicecore-portal-stats span { color: var(--servicecore-muted); font-size: 14px; }
.servicecore-portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.servicecore-portal-grid > section { padding: 24px; }
.servicecore-portal-list { display: grid; gap: 14px; }
.servicecore-portal-list > article { padding: 23px 24px; }
.servicecore-portal-list p { margin: 7px 0 0; color: var(--servicecore-muted); line-height: 1.5; }
.servicecore-portal-list a:not(.button),
.servicecore-portal-detail a { color: var(--servicecore-grohe-blue); text-decoration: none; }
.servicecore-portal-list a:not(.button):hover,
.servicecore-portal-detail a:hover { text-decoration: underline; }
.servicecore-portal-detail { padding: 28px; }
.servicecore-portal-detail dl,
.servicecore-portal-list dl { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 10px 24px; margin: 24px 0; }
.servicecore-portal-detail dt,
.servicecore-portal-list dt { color: var(--servicecore-muted); }
.servicecore-portal-detail dd,
.servicecore-portal-list dd { margin: 0; }
.servicecore-portal-empty { margin: 0; padding: 24px; border: 1px solid var(--servicecore-line); border-radius: 4px; color: var(--servicecore-muted); background: #fafbfc; }
.servicecore-portal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.servicecore-portal-actions .button,
.servicecore-portal .button { min-height: 44px; border-radius: 2px; }
.servicecore-portal-form { max-width: 780px; }
.servicecore-portal-documents,
.servicecore-portal-notifications { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.servicecore-portal-documents li,
.servicecore-portal-notifications li { padding: 13px 0; border-bottom: 1px solid var(--servicecore-line); }
.servicecore-portal-documents small { margin-left: 8px; color: var(--servicecore-muted); }
.servicecore-portal-notifications strong,
.servicecore-portal-notifications span,
.servicecore-portal-notifications small { display: block; }
.servicecore-portal-notifications span { margin-top: 4px; color: var(--servicecore-muted); line-height: 1.45; }
.servicecore-portal-notifications small { margin-top: 6px; color: var(--servicecore-muted); }
.servicecore-portal-danger { margin-top: 22px; }
.servicecore-portal-danger .button { border-color: #a61b1b; color: #a61b1b; background: var(--servicecore-white); }
.servicecore-portal-danger .button:hover { border-color: #7c1010; color: var(--servicecore-white); background: #7c1010; }
.servicecore-portal-equipment-filters { display: grid; grid-template-columns: minmax(220px, 1.7fr) repeat(2, minmax(160px, 0.65fr)) auto; gap: 12px; align-items: end; margin: 0 0 24px; }
.servicecore-portal-equipment-filters label { display: grid; gap: 7px; color: var(--servicecore-muted); font-size: 13px; font-weight: 600; }
.servicecore-portal-equipment-filters input,
.servicecore-portal-equipment-filters select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--servicecore-line); border-radius: 2px; background: var(--servicecore-white); color: var(--servicecore-black); font: inherit; }
.servicecore-portal-equipment-filters .button { min-height: 44px; }
.servicecore-portal-equipment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.servicecore-portal-equipment-card { overflow: hidden; border: 1px solid var(--servicecore-line); border-radius: 4px; background: var(--servicecore-white); }
.servicecore-portal-equipment-card > img,
.servicecore-portal-equipment-card__placeholder { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #f1f3f4; }
.servicecore-portal-equipment-card__placeholder { display: grid; place-items: center; color: var(--servicecore-muted); font-size: 13px; }
.servicecore-portal-equipment-card__content { padding: 20px; }
.servicecore-portal-equipment-card__status { margin: 0 0 10px; color: var(--servicecore-muted); font-size: 12px; line-height: 1.3; }
.servicecore-portal-equipment-card h3 { margin: 0; }
.servicecore-portal-equipment-card h3 a { color: var(--servicecore-black); }
.servicecore-portal-equipment-card p:not(.servicecore-portal-equipment-card__status) { margin: 8px 0 0; color: var(--servicecore-muted); line-height: 1.5; }
.servicecore-portal-equipment-card dl { display: grid; grid-template-columns: 1fr; gap: 3px; margin: 18px 0 0; color: var(--servicecore-muted); font-size: 13px; }
.servicecore-portal-equipment-card dt { color: var(--servicecore-muted); }
.servicecore-portal-equipment-card dd { margin: 0; color: var(--servicecore-black); }
.servicecore-portal-equipment-detail { display: grid; grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr); gap: 28px; }
.servicecore-portal-equipment-detail__image { width: 100%; min-height: 220px; height: 100%; object-fit: cover; border-radius: 2px; background: #f1f3f4; }
.servicecore-portal-equipment-detail h3 { font-size: 27px; }
.servicecore-portal-equipment-detail > div > p { color: var(--servicecore-muted); }
.servicecore-portal-equipment-sections { display: grid; gap: 40px; margin-top: 40px; }
.servicecore-portal-equipment-sections > section > h3 { margin-bottom: 16px; }

@media (max-width: 760px) {
	.servicecore-portal-stats,
	.servicecore-portal-grid { grid-template-columns: 1fr; }
	.servicecore-portal-equipment-filters,
	.servicecore-portal-equipment-grid,
	.servicecore-portal-equipment-detail { grid-template-columns: 1fr; }
	.servicecore-portal-stats > div,
	.servicecore-portal-grid > section,
	.servicecore-portal-list > article,
	.servicecore-portal-detail { padding: 20px; }
	.servicecore-portal-detail dl,
	.servicecore-portal-list dl { grid-template-columns: 1fr; gap: 3px; }
}

/* --------------------------------------------------------------------------
 * Sprint 4 — provider-neutral product details
 * -------------------------------------------------------------------------- */

.servicecore-commerce--single-product .servicecore-product-page {
	margin-top: 48px;
}

.servicecore-commerce--single-product .woocommerce-message,
.servicecore-commerce--single-product .woocommerce-info,
.servicecore-commerce--single-product .woocommerce-error {
	margin: 20px 0 0;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	box-shadow: none;
}

.servicecore-product-page__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	align-items: center;
	gap: clamp(40px, 6vw, 96px);
}

.servicecore-product-gallery {
	min-width: 0;
}

.servicecore-product-gallery__main {
	display: grid;
	min-height: clamp(420px, 48vw, 680px);
	place-items: center;
	overflow: hidden;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: #f4f6f6;
}

.servicecore-product-gallery__main:focus-visible,
.servicecore-product-gallery__thumbnail:focus-visible,
.servicecore-product-gallery__close:focus-visible {
	outline: 2px solid var(--servicecore-grohe-blue);
	outline-offset: 3px;
}

.servicecore-product-gallery__main img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: contain;
	object-position: center;
}

.servicecore-product-gallery__main--empty,
.servicecore-product-gallery__video-placeholder {
	padding: 32px;
	color: var(--servicecore-muted);
	font-size: 14px;
	text-align: center;
}

.servicecore-product-gallery__thumbnails {
	display: flex;
	padding-top: 14px;
	gap: 10px;
	overflow-x: auto;
}

.servicecore-product-gallery__thumbnail {
	display: grid;
	width: 76px;
	height: 76px;
	padding: 0;
	flex: 0 0 76px;
	place-items: center;
	overflow: hidden;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
	cursor: pointer;
	transition: border-color 0.2s var(--servicecore-ease), box-shadow 0.2s var(--servicecore-ease);
}

.servicecore-product-gallery__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.servicecore-product-gallery__thumbnail:hover,
.servicecore-product-gallery__thumbnail.is-active {
	border-color: var(--servicecore-grohe-blue);
	box-shadow: 0 0 0 1px var(--servicecore-grohe-blue);
}

.servicecore-product-gallery__dialog {
	width: min(980px, calc(100vw - 40px));
	max-width: none;
	max-height: min(90vh, 980px);
	padding: 24px;
	border: 0;
	background: var(--servicecore-white);
	box-shadow: 0 24px 60px rgb(23 26 29 / 26%);
}

.servicecore-product-gallery__dialog::backdrop { background: rgb(23 26 29 / 76%); }

.servicecore-product-gallery__dialog img {
	display: block;
	width: 100%;
	max-height: calc(90vh - 48px);
	object-fit: contain;
}

.servicecore-product-gallery__close {
	position: absolute;
	top: 8px;
	right: 8px;
	display: grid;
	width: 36px;
	height: 36px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--servicecore-graphite);
	color: var(--servicecore-white);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.servicecore-product-page__summary {
	padding: 28px 0;
}

.servicecore-product-page__eyebrow,
.servicecore-product-page__article,
.servicecore-product-page__updated {
	margin: 0 0 10px;
	color: var(--servicecore-muted);
	font-size: 13px;
	font-weight: 650;
	letter-spacing: 0.03em;
}

.servicecore-product-page__eyebrow {
	color: var(--servicecore-grohe-blue);
	text-transform: uppercase;
}

.servicecore-product-page__summary h1 {
	margin: 0;
	color: var(--servicecore-graphite);
	font-size: clamp(36px, 4.15vw, 62px);
	font-weight: 650;
	letter-spacing: -0.065em;
	line-height: 1.02;
}

.servicecore-product-page__meta {
	display: flex;
	padding-top: 22px;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	color: var(--servicecore-muted);
	font-size: 14px;
}

.servicecore-product-page__short-description {
	max-width: 580px;
	padding-top: 20px;
	color: var(--servicecore-muted);
	font-size: 17px;
	line-height: 1.6;
}

.servicecore-product-page__short-description p { margin: 0; }

.servicecore-product-page__price {
	margin: 26px 0;
	color: var(--servicecore-graphite);
	font-size: clamp(28px, 2.6vw, 40px);
	font-weight: 720;
	letter-spacing: -0.04em;
}

.servicecore-product-page__price--request { color: var(--servicecore-muted); }

.servicecore-product-actions {
	display: grid;
	gap: 14px;
}

.servicecore-product-actions__purchase {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	align-items: end;
	gap: 12px;
}

.servicecore-product-actions__purchase label {
	grid-column: 1;
	color: var(--servicecore-muted);
	font-size: 13px;
}

.servicecore-product-actions__purchase input {
	grid-row: 2;
	width: 100%;
	min-height: 54px;
	padding: 0 14px;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	color: var(--servicecore-graphite);
	font: inherit;
}

.servicecore-product-actions__purchase .servicecore-button { grid-row: 2; }

.servicecore-product-actions__secondary {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.servicecore-button--outline,
.servicecore-button--ghost {
	border: 1px solid var(--servicecore-line);
	background: transparent;
	color: var(--servicecore-graphite);
}

.servicecore-button--outline:hover,
.servicecore-button--ghost:hover {
	border-color: var(--servicecore-graphite);
	background: var(--servicecore-graphite);
	color: var(--servicecore-white);
}

.servicecore-button--ghost { min-height: 42px; border-color: transparent; }

.servicecore-product-page__updated {
	padding-top: 20px;
	margin-bottom: 0;
	font-size: 12px;
	font-weight: 500;
}

.servicecore-product-page__content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.34fr);
	padding-top: clamp(64px, 8vw, 120px);
	gap: clamp(24px, 6vw, 96px);
}

.servicecore-product-page__content-main {
	display: grid;
	gap: 20px;
}

.servicecore-product-section {
	padding: clamp(26px, 3vw, 40px);
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
}

.servicecore-product-section + .servicecore-product-section { margin-top: 24px; }

.servicecore-product-section h2 {
	margin: 0 0 20px;
	color: var(--servicecore-graphite);
	font-size: clamp(24px, 2.1vw, 32px);
	font-weight: 640;
	letter-spacing: -0.045em;
	line-height: 1.12;
}

.servicecore-product-description div,
.servicecore-product-section__empty {
	margin: 0;
	color: var(--servicecore-muted);
	font-size: 16px;
	line-height: 1.7;
}

.servicecore-product-specifications__list {
	display: grid;
	grid-template-columns: minmax(130px, 0.72fr) minmax(0, 1.28fr);
	margin: 0;
	border-top: 1px solid var(--servicecore-line);
}

.servicecore-product-specifications__list dt,
.servicecore-product-specifications__list dd {
	padding: 15px 0;
	margin: 0;
	border-bottom: 1px solid var(--servicecore-line);
	font-size: 15px;
	line-height: 1.5;
}

.servicecore-product-specifications__list dt { color: var(--servicecore-muted); }
.servicecore-product-specifications__list dd { color: var(--servicecore-graphite); font-weight: 620; }

.servicecore-product-page__compatibility ul {
	display: grid;
	padding: 0;
	margin: 0;
	gap: 10px;
	list-style: none;
}

.servicecore-product-page__compatibility li {
	padding: 11px 0 11px 18px;
	border-bottom: 1px solid var(--servicecore-line);
	color: var(--servicecore-graphite);
	font-size: 15px;
	line-height: 1.4;
}

.servicecore-product-page__compatibility li::before {
	margin-left: -18px;
	margin-right: 9px;
	color: var(--servicecore-grohe-blue);
	content: "•";
}

.servicecore-product-page__text-link {
	display: inline-block;
	padding-top: 20px;
	color: var(--servicecore-grohe-blue);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.servicecore-product-page__text-link:hover { color: var(--servicecore-grohe-blue-dark); text-decoration: underline; }

.servicecore-product-documents__list {
	display: grid;
	padding: 0;
	margin: 0;
	gap: 10px;
	list-style: none;
}

.servicecore-product-documents__item {
	display: flex;
	padding: 16px 0;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid var(--servicecore-line);
}

.servicecore-product-documents__item:first-child { border-top: 1px solid var(--servicecore-line); }
.servicecore-product-documents__item strong { color: var(--servicecore-graphite); font-size: 15px; }
.servicecore-product-documents__item p { margin: 4px 0 0; color: var(--servicecore-muted); font-size: 13px; }
.servicecore-product-documents__pending { color: var(--servicecore-muted); font-size: 13px; white-space: nowrap; }
.servicecore-product-documents__item .servicecore-button { min-height: 40px; white-space: nowrap; }

.servicecore-product-relations,
.servicecore-product-knowledge,
.servicecore-product-faq {
	margin-top: clamp(72px, 9vw, 132px);
	padding: 0;
	border: 0;
}

.servicecore-product-relations__grid { margin-top: 28px; }

.servicecore-product-knowledge__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.servicecore-product-knowledge__grid article {
	padding: 24px;
	border: 1px solid var(--servicecore-line);
	background: var(--servicecore-white);
}

.servicecore-product-knowledge__grid h3 { margin: 0; color: var(--servicecore-graphite); font-size: 18px; line-height: 1.3; }
.servicecore-product-knowledge__grid p { margin: 12px 0 0; color: var(--servicecore-muted); font-size: 14px; line-height: 1.55; }

.servicecore-product-error {
	max-width: 620px;
	padding: clamp(80px, 12vw, 160px) 0;
}

.servicecore-product-error h1 { margin: 0; color: var(--servicecore-graphite); font-size: clamp(36px, 5vw, 62px); letter-spacing: -0.06em; }
.servicecore-product-error p { max-width: 520px; margin: 20px 0 30px; color: var(--servicecore-muted); font-size: 17px; line-height: 1.6; }

@media (max-width: 1024px) {
	.servicecore-product-page__hero { grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr); gap: 40px; }
	.servicecore-product-gallery__main { min-height: 480px; }
	.servicecore-product-knowledge__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
	.servicecore-commerce--single-product .servicecore-product-page { margin-top: 28px; }
	.servicecore-product-page__hero,
	.servicecore-product-page__content-grid { grid-template-columns: 1fr; }
	.servicecore-product-page__summary { padding: 8px 0 0; }
	.servicecore-product-page__side { order: -1; }
	.servicecore-product-page__content-grid { padding-top: 64px; }
	.servicecore-product-page__compatibility { margin-bottom: 0; }
}

@media (max-width: 560px) {
	.servicecore-product-gallery__main { min-height: min(105vw, 460px); }
	.servicecore-product-gallery__thumbnail { width: 64px; height: 64px; flex-basis: 64px; }
	.servicecore-product-actions__purchase { grid-template-columns: 88px minmax(0, 1fr); }
	.servicecore-product-actions__secondary { align-items: stretch; flex-direction: column; }
	.servicecore-product-actions__secondary .servicecore-button { justify-content: center; }
	.servicecore-product-section { padding: 24px 20px; }
	.servicecore-product-specifications__list { grid-template-columns: 1fr; }
	.servicecore-product-specifications__list dt { padding-bottom: 2px; border-bottom: 0; }
	.servicecore-product-specifications__list dd { padding-top: 2px; }
	.servicecore-product-documents__item { align-items: flex-start; flex-direction: column; }
	.servicecore-product-knowledge__grid { grid-template-columns: 1fr; }
	.servicecore-product-gallery__dialog { width: min(100vw - 20px, 980px); padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.servicecore-platform-home *,
	.servicecore-site-header * { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

/* Пошаговый мастер сервисной заявки */
.servicecore-request-wizard {
	padding: 48px 24px 120px;
	background: var(--servicecore-white);
}

.servicecore-request-wizard__inner {
	width: min(100%, 960px);
	margin: 0 auto;
}

.servicecore-request-wizard__intro {
	max-width: 760px;
	margin: 56px auto 0;
	text-align: center;
}

.servicecore-request-wizard__intro h1 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: clamp(40px, 6vw, 56px);
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.08;
}

.servicecore-request-wizard__intro p {
	max-width: 680px;
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.55;
}

.servicecore-request-wizard__progress {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 12px;
	margin: 52px 0 0;
	padding: 0;
	list-style: none;
}

.servicecore-request-wizard__progress li {
	display: grid;
	gap: 10px;
	color: #969696;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
}

.servicecore-request-wizard__progress li > span:first-child {
	display: inline-flex;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	border: 1px solid #dedede;
	border-radius: 50%;
	background: var(--servicecore-white);
	color: #777777;
	font-size: 14px;
	font-weight: 700;
}

.servicecore-request-wizard__progress li.is-active,
.servicecore-request-wizard__progress li.is-complete {
	color: var(--servicecore-black);
}

.servicecore-request-wizard__progress li.is-active > span:first-child,
.servicecore-request-wizard__progress li.is-complete > span:first-child {
	border-color: var(--servicecore-blue);
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
}

.servicecore-request-wizard__progress li.is-complete > span:first-child {
	font-size: 0;
}

.servicecore-request-wizard__progress li.is-complete > span:first-child::after {
	content: "✓";
	font-size: 16px;
	font-weight: 700;
}

.servicecore-request-wizard__form {
	margin-top: 28px;
}

.servicecore-request-wizard__step {
	padding: 32px;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 8px 28px rgb(17 17 17 / 5%);
}

.servicecore-request-wizard__step-heading h2 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.servicecore-request-wizard__step-heading p {
	max-width: 680px;
	margin: 10px 0 0;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-request-wizard__choice-grid {
	display: grid;
	gap: 16px;
	margin-top: 28px;
}

.servicecore-request-wizard__choice-grid--clients {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.servicecore-request-wizard__choice-grid--services {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.servicecore-request-choice-card {
	position: relative;
	display: flex;
	min-height: 238px;
	padding: 28px;
	flex-direction: column;
	align-items: flex-start;
	border: 1px solid #e5e5e5;
	border-radius: 20px;
	background: var(--servicecore-white);
	cursor: pointer;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.servicecore-request-choice-card:hover {
	border-color: #cfcfcf;
	box-shadow: 0 12px 28px rgb(17 17 17 / 8%);
	transform: translateY(-4px);
}

.servicecore-request-choice-card:has(input:checked) {
	border-color: var(--servicecore-blue);
	box-shadow: 0 0 0 3px rgb(15 76 129 / 10%);
}

.servicecore-request-choice-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.servicecore-request-choice-card__icon {
	display: inline-flex;
	width: 56px;
	height: 56px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f1f3f5;
	color: var(--servicecore-blue);
}

.servicecore-request-choice-card__icon svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.servicecore-request-choice-card__title {
	margin-top: 24px;
	color: var(--servicecore-black);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.servicecore-request-choice-card__description {
	margin-top: 10px;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-request-wizard__service-fields,
.servicecore-request-wizard__contact-fields {
	margin-top: 28px;
}

.servicecore-request-wizard__service-fields > label,
.servicecore-request-wizard__field-grid > label {
	display: grid;
	gap: 8px;
	color: var(--servicecore-black);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-request-wizard__field-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.servicecore-request-wizard__field-grid--address {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 16px;
}

.servicecore-request-wizard__service-fields > label:not(.servicecore-request-wizard__file-field) {
	margin-top: 16px;
}

.servicecore-request-wizard__field-grid label span,
.servicecore-request-wizard__service-fields > label > span {
	color: var(--servicecore-grey);
	font-weight: 400;
}

.servicecore-request-wizard input[type="text"],
.servicecore-request-wizard input[type="tel"],
.servicecore-request-wizard input[type="email"],
.servicecore-request-wizard input[type="date"],
.servicecore-request-wizard select,
.servicecore-request-wizard textarea {
	width: 100%;
	min-height: 52px;
	padding: 0 16px;
	border: 1px solid #dedede;
	border-radius: 12px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 16px;
	line-height: 1.4;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.servicecore-request-wizard textarea {
	min-height: 144px;
	padding: 14px 16px;
	resize: vertical;
}

.servicecore-request-wizard input:focus,
.servicecore-request-wizard select:focus,
.servicecore-request-wizard textarea:focus {
	border-color: var(--servicecore-blue);
	box-shadow: 0 0 0 3px rgb(15 76 129 / 12%);
}

.servicecore-request-wizard__file-field {
	display: grid;
	gap: 10px;
	margin-top: 16px;
	padding: 24px;
	border: 1px dashed #c8c8c8;
	border-radius: 16px;
	background: #fafafa;
	color: var(--servicecore-black);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
}

.servicecore-request-wizard__file-field input {
	width: 100%;
	color: var(--servicecore-grey);
	font: inherit;
	font-size: 14px;
	font-weight: 400;
}

.servicecore-request-wizard__file-field span {
	color: var(--servicecore-grey);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

.servicecore-request-equipment-search {
	position: relative;
	margin-top: 28px;
}

.servicecore-request-equipment-account-link {
	margin: 18px 0 0;
}

.servicecore-request-equipment-account-link a {
	color: var(--servicecore-blue);
	font-size: 14px;
	font-weight: 600;
}

.servicecore-request-equipment-search > label {
	display: grid;
	gap: 8px;
	color: var(--servicecore-black);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-request-equipment-search__results {
	display: grid;
	gap: 8px;
	margin-top: 10px;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.45;
}

.servicecore-request-equipment-search__item {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	cursor: pointer;
	font: inherit;
	text-align: left;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.servicecore-request-equipment-search__item:hover,
.servicecore-request-equipment-search__item:focus-visible {
	border-color: var(--servicecore-blue);
	background: #f7fafc;
	outline: none;
}

.servicecore-request-equipment-search__item strong {
	font-size: 15px;
}

.servicecore-request-equipment-search__item span {
	color: var(--servicecore-grey);
	font-size: 13px;
}

.servicecore-request-selected-equipment {
	display: flex;
	margin-top: 16px;
	padding: 18px 20px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border: 1px solid rgb(15 76 129 / 22%);
	border-radius: 16px;
	background: #f5f9fc;
}

.servicecore-request-selected-equipment[hidden] {
	display: none;
}

.servicecore-request-selected-equipment span,
.servicecore-request-selected-equipment small {
	display: block;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.45;
}

.servicecore-request-selected-equipment strong {
	display: block;
	margin: 3px 0;
	color: var(--servicecore-black);
	font-size: 16px;
	line-height: 1.35;
}

.servicecore-request-selected-equipment button {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--servicecore-blue);
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
}

.servicecore-request-attachments {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.servicecore-request-attachment {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	gap: 12px;
	padding: 10px;
	align-items: center;
	border: 1px solid #e8e8e8;
	border-radius: 14px;
	background: #fff;
}

.servicecore-request-attachment__preview {
	display: inline-flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 10px;
	background: #f0f2f4;
	color: var(--servicecore-grey);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.servicecore-request-attachment__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.servicecore-request-attachment div {
	min-width: 0;
}

.servicecore-request-attachment strong,
.servicecore-request-attachment span:not(.servicecore-request-attachment__preview) {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.servicecore-request-attachment strong {
	color: var(--servicecore-black);
	font-size: 13px;
}

.servicecore-request-attachment span:not(.servicecore-request-attachment__preview) {
	margin-top: 3px;
	color: var(--servicecore-grey);
	font-size: 12px;
}

.servicecore-request-attachment button {
	border: 0;
	background: transparent;
	color: #8b2929;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	font-weight: 600;
}

.servicecore-request-upload-progress {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 14px;
	margin-top: 16px;
	color: var(--servicecore-grey);
	font-size: 13px;
	font-weight: 600;
}

.servicecore-request-upload-progress i {
	grid-column: 1 / -1;
	display: block;
	height: 5px;
	overflow: hidden;
	border-radius: 99px;
	background: #e7ebee;
}

.servicecore-request-upload-progress b {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: var(--servicecore-blue);
	transition: width 0.2s ease;
}

.servicecore-request-wizard__contact-method {
	margin: 28px 0 0;
	padding: 0;
	border: 0;
}

.servicecore-request-wizard__contact-method legend {
	padding: 0;
	color: var(--servicecore-black);
	font-size: 16px;
	font-weight: 700;
}

.servicecore-request-wizard__contact-method > div {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.servicecore-request-wizard__contact-method label {
	position: relative;
	display: flex;
	min-height: 52px;
	padding: 0 14px;
	align-items: center;
	justify-content: center;
	border: 1px solid #dedede;
	border-radius: 12px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

.servicecore-request-wizard__contact-method label:has(input:checked) {
	border-color: var(--servicecore-blue);
	background: rgb(15 76 129 / 6%);
	color: var(--servicecore-blue);
}

.servicecore-request-wizard__contact-method input {
	position: absolute;
	opacity: 0;
}

.servicecore-request-wizard__consent {
	display: flex;
	gap: 10px;
	margin-top: 24px;
	align-items: flex-start;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
	cursor: pointer;
}

.servicecore-request-wizard__consent input {
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--servicecore-blue);
}

.servicecore-request-wizard__nav {
	display: flex;
	margin-top: 32px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.servicecore-request-wizard__nav--end {
	justify-content: flex-end;
}

.servicecore-request-wizard__nav button,
.servicecore-request-wizard__submit button {
	display: inline-flex;
	min-height: 52px;
	padding: 0 24px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--servicecore-blue);
	border-radius: 12px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	cursor: pointer;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.servicecore-request-wizard__nav button:hover,
.servicecore-request-wizard__submit button:hover {
	border-color: #0b3a63;
	background: #0b3a63;
	transform: translateY(-1px);
}

.servicecore-request-wizard__nav .servicecore-request-wizard__back {
	border-color: #dedede;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
}

.servicecore-request-wizard__nav .servicecore-request-wizard__back:hover {
	border-color: #bdbdbd;
	background: #f8f8f8;
}

.servicecore-request-wizard__error {
	margin: 0 0 16px;
	padding: 14px 16px;
	border: 1px solid #e8b5b5;
	border-radius: 12px;
	background: #fff7f7;
	color: #9a2424;
	font-size: 14px;
	line-height: 1.45;
}

.servicecore-request-wizard__summary {
	display: grid;
	gap: 14px;
	margin-top: 28px;
}

.servicecore-request-wizard__summary section {
	padding: 20px;
	border: 1px solid #ececec;
	border-radius: 16px;
	background: #fafafa;
}

.servicecore-request-wizard__summary section > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.servicecore-request-wizard__summary h3,
.servicecore-request-wizard__summary p {
	margin: 0;
}

.servicecore-request-wizard__summary h3 {
	font-size: 16px;
	font-weight: 700;
}

.servicecore-request-wizard__summary button {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--servicecore-blue);
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
}

.servicecore-request-wizard__summary p {
	margin-top: 8px;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-request-wizard__submit {
	margin-top: 24px;
	padding: 28px;
	border-radius: 16px;
	background: #f5f7f9;
}

.servicecore-request-wizard__submit button {
	width: 100%;
}

.servicecore-request-wizard__submit p {
	margin: 14px 0 0;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-request-wizard__success {
	margin-top: 20px;
	padding: 20px;
	border: 1px solid #b9d1c1;
	border-radius: 16px;
	background: #f4fbf6;
	color: #285b36;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-request-wizard__success h2 {
	margin: 0 0 10px;
	color: var(--servicecore-black);
	font-size: 28px;
	letter-spacing: -0.03em;
}

.servicecore-request-wizard__confirmation .servicecore-request-wizard__success {
	padding: 40px;
	border-color: #c8dacc;
}

.servicecore-request-wizard__success p {
	margin: 0;
}

@media (max-width: 800px) {
	.servicecore-request-wizard__progress {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.servicecore-request-wizard__choice-grid--clients,
	.servicecore-request-wizard__choice-grid--services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-request-wizard__choice-grid--clients .servicecore-request-choice-card:last-child {
		grid-column: 1 / -1;
	}

	.servicecore-request-wizard__field-grid--address {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-request-wizard__contact-method > div {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-request-attachments {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.servicecore-request-wizard__progress {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.servicecore-request-wizard__progress li {
		grid-template-columns: 32px minmax(0, 1fr);
		align-items: center;
	}

	.servicecore-request-wizard__progress li > span:first-child {
		grid-row: 1;
	}

	.servicecore-request-wizard__progress li > span:last-child {
		grid-column: 2;
		grid-row: 1;
	}

	.servicecore-request-selected-equipment {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.servicecore-request-wizard__confirmation .servicecore-request-wizard__success {
		padding: 28px;
	}
	.servicecore-request-wizard {
		padding: 32px 16px 80px;
	}

	.servicecore-request-wizard__intro {
		margin-top: 40px;
		text-align: left;
	}

	.servicecore-request-wizard__intro h1 {
		font-size: 40px;
	}

	.servicecore-request-wizard__intro p {
		font-size: 16px;
	}

	.servicecore-request-wizard__progress {
		gap: 6px;
		margin-top: 36px;
	}

	.servicecore-request-wizard__progress li {
		justify-items: center;
		font-size: 10px;
		text-align: center;
	}

	.servicecore-request-wizard__progress li > span:first-child {
		width: 28px;
		height: 28px;
	}

	.servicecore-request-wizard__step {
		padding: 24px 20px;
	}

	.servicecore-request-wizard__step-heading h2 {
		font-size: 24px;
	}

	.servicecore-request-wizard__choice-grid--clients,
	.servicecore-request-wizard__choice-grid--services,
	.servicecore-request-wizard__field-grid,
	.servicecore-request-wizard__field-grid--address,
	.servicecore-request-wizard__contact-method > div {
		grid-template-columns: 1fr;
	}

	.servicecore-request-wizard__choice-grid--clients .servicecore-request-choice-card:last-child {
		grid-column: auto;
	}

	.servicecore-request-choice-card {
		min-height: 0;
		padding: 24px;
	}

	.servicecore-request-choice-card__title {
		margin-top: 18px;
	}

	.servicecore-request-wizard__nav {
		flex-direction: column-reverse;
	}

	.servicecore-request-wizard__nav button {
		width: 100%;
	}
}

* {
	box-sizing: border-box;
}

html,
body {
	min-height: 100%;
}

body {
	margin: 0;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

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

.servicecore-header {
	height: 80px;
	border-bottom: 1px solid #ececec;
	background: var(--servicecore-white);
}

.servicecore-header__inner {
	display: flex;
	width: min(100%, 1200px);
	height: 100%;
	margin: 0 auto;
	padding: 0 24px;
	align-items: center;
	justify-content: space-between;
}

.servicecore-header__brand {
	color: var(--servicecore-black);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	text-decoration: none;
}

.servicecore-header__navigation,
.servicecore-header__menu {
	display: flex;
	align-items: center;
}

.servicecore-header__utilities {
	display: flex;
	align-items: center;
	gap: 16px;
}

.servicecore-header__navigation {
	gap: 32px;
}

.servicecore-header__menu {
	gap: 28px;
}

.servicecore-header__menu a {
	color: #444444;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	transition: color 180ms ease;
}

.servicecore-header__menu a:hover {
	color: var(--servicecore-black);
}

.servicecore-header__cta {
	display: inline-flex;
	height: 46px;
	padding: 0 20px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background-color 180ms ease;
}

.servicecore-header__cta:hover {
	background: #0b3a63;
}

.servicecore-header__cart {
	position: relative;
	display: inline-flex;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border: 1px solid #ececec;
	border-radius: 12px;
	color: var(--servicecore-black);
	text-decoration: none;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.servicecore-header__cart:hover {
	border-color: #cfcfcf;
	background: #f7f7f7;
}

.servicecore-header__cart img {
	display: block;
	width: 20px;
	height: 20px;
}

.servicecore-header__cart-count {
	position: absolute;
	top: -7px;
	right: -7px;
	display: inline-flex;
	min-width: 19px;
	height: 19px;
	padding: 0 4px;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--servicecore-white);
	border-radius: 999px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.servicecore-footer {
	border-top: 1px solid #ececec;
	background: var(--servicecore-white);
}

.servicecore-footer__inner {
	display: flex;
	width: min(100%, 1280px);
	min-height: 96px;
	margin: 0 auto;
	padding: 24px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.servicecore-footer p,
.servicecore-footer a {
	margin: 0;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-footer a {
	color: var(--servicecore-black);
	font-weight: 600;
	text-decoration: none;
}

.servicecore-catalog-page {
	background: var(--servicecore-white);
	padding: 48px 24px 120px;
}

.servicecore-catalog-page__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-breadcrumbs a {
	color: var(--servicecore-grey);
	text-decoration: none;
}

.servicecore-breadcrumbs a:hover {
	color: var(--servicecore-black);
}

.servicecore-catalog-page__content {
	max-width: 900px;
	margin: 64px auto 0;
	text-align: center;
}

.servicecore-catalog-page__content h1 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 56px;
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.1;
}

.servicecore-catalog-page__content p {
	max-width: 620px;
	margin: 24px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
}

.servicecore-catalog-page__placeholder {
	display: flex;
	min-height: 280px;
	margin-top: 48px;
	padding: 32px;
	align-items: center;
	justify-content: center;
	border-radius: 20px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-catalog-page__cta {
	max-width: 860px;
	margin: 96px auto 0;
	padding: 48px;
	border-radius: 20px;
	background: #f5f5f5;
	text-align: center;
}

.servicecore-catalog-page__cta h2 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.servicecore-catalog-page__cta p {
	margin: 16px 0 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
}

.servicecore-catalog-page__cta a {
	display: inline-flex;
	height: 52px;
	margin-top: 32px;
	padding: 0 24px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.servicecore-service-request {
	background: var(--servicecore-white);
	padding: 48px 24px 120px;
}

.servicecore-service-request__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-service-request__intro {
	max-width: 720px;
	margin: 64px auto 0;
	text-align: center;
}

.servicecore-service-request__intro h1 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 56px;
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.1;
}

.servicecore-service-request__intro p {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
}

.servicecore-service-request__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 32px;
	margin-top: 64px;
	align-items: start;
}

.servicecore-service-request__form {
	display: grid;
	gap: 20px;
}

.servicecore-service-request__section,
.servicecore-service-request__aside {
	margin: 0;
	padding: 32px;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
}

.servicecore-service-request__section h2,
.servicecore-service-request__section legend,
.servicecore-service-request__aside h2 {
	margin: 0;
	padding: 0;
	color: var(--servicecore-black);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.servicecore-service-request__section {
	border: 1px solid #ececec;
}

.servicecore-service-request__fields {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 28px;
}

.servicecore-service-request__fields--address {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.servicecore-service-request__fields label,
.servicecore-service-request__section > label {
	display: grid;
	gap: 8px;
	color: var(--servicecore-black);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-service-request__fields label span {
	color: var(--servicecore-grey);
	font-weight: 400;
}

.servicecore-service-request__fields input,
.servicecore-service-request textarea {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #ececec;
	border-radius: 12px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 14px;
	outline: none;
}

.servicecore-service-request textarea {
	height: 140px;
	padding: 14px;
	resize: vertical;
}

.servicecore-service-request__fields input:focus,
.servicecore-service-request textarea:focus {
	border-color: var(--servicecore-blue);
	box-shadow: 0 0 0 3px rgb(15 76 129 / 12%);
}

.servicecore-service-request__choice-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 28px;
}

.servicecore-service-request__choice-grid label {
	position: relative;
	display: flex;
	min-height: 68px;
	padding: 16px;
	align-items: center;
	border: 1px solid #ececec;
	border-radius: 14px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.servicecore-service-request__choice-grid input {
	position: absolute;
	opacity: 0;
}

.servicecore-service-request__choice-grid span::before {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 10px;
	border: 1px solid #b8b8b8;
	border-radius: 50%;
	content: "";
	vertical-align: -1px;
}

.servicecore-service-request__choice-grid input:checked + span::before {
	border-color: var(--servicecore-blue);
	background: var(--servicecore-blue);
	box-shadow: inset 0 0 0 3px var(--servicecore-white);
}

.servicecore-service-request__choice-grid input:checked + span {
	color: var(--servicecore-blue);
}

.servicecore-service-request__upload-placeholder {
	display: flex;
	min-height: 180px;
	margin-top: 28px;
	padding: 24px;
	align-items: center;
	justify-content: center;
	border: 1px dashed #cfcfcf;
	border-radius: 16px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-service-request__upload-placeholder p {
	margin: 0;
}

.servicecore-service-request__summary button {
	width: 100%;
	height: 56px;
	margin-top: 28px;
	border: 1px solid var(--servicecore-blue);
	border-radius: 14px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	cursor: pointer;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
}

.servicecore-service-request__summary p {
	margin: 16px 0 0;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-service-request__aside {
	position: sticky;
	top: 24px;
}

.servicecore-service-request__aside ul {
	display: grid;
	gap: 18px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.servicecore-service-request__aside li {
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.5;
}

.servicecore-service-request__aside li::before {
	margin-right: 10px;
	color: var(--servicecore-blue);
	content: "•";
	font-weight: 700;
}

.servicecore-catalog-category {
	margin-top: 64px;
}

.servicecore-catalog-category__intro {
	max-width: 620px;
	margin: 0 auto;
	text-align: center;
}

.servicecore-catalog-category__intro h1 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 56px;
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.1;
}

.servicecore-catalog-category__intro p {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
}

.servicecore-catalog-category__search {
	max-width: 620px;
	margin: 40px auto 0;
}

.servicecore-catalog-category__search input {
	width: 100%;
	height: 56px;
	padding: 0 20px;
	border: 1px solid #ececec;
	border-radius: 14px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 16px;
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.servicecore-catalog-category__search input::placeholder {
	color: #8a8a8a;
}

.servicecore-catalog-category__search input:focus {
	border-color: var(--servicecore-blue);
	box-shadow: 0 0 0 3px rgb(15 76 129 / 12%);
}

.servicecore-catalog-category__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 80px;
}

.servicecore-catalog-category-card {
	display: flex;
	min-height: 320px;
	padding: 16px;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
	color: var(--servicecore-black);
	text-decoration: none;
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-catalog-category-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: scale(1.02);
}

.servicecore-catalog-category-card__image-placeholder {
	display: flex;
	min-height: 180px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-catalog-category-card__content {
	display: flex;
	min-height: 106px;
	padding: 20px 8px 4px;
	flex-direction: column;
}

.servicecore-catalog-category-card__title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}

.servicecore-catalog-category-card__description {
	margin-top: 8px;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.45;
}

.servicecore-catalog-category-card__meta {
	display: flex;
	margin-top: auto;
	align-items: center;
	justify-content: space-between;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.25;
}

.servicecore-catalog-category-card__arrow {
	color: var(--servicecore-blue);
	font-size: 22px;
	line-height: 1;
	transition: transform 300ms ease;
}

.servicecore-catalog-category-card:hover .servicecore-catalog-category-card__arrow {
	transform: translateX(6px);
}

.servicecore-subcategory-page__intro {
	max-width: 720px;
	margin: 64px auto 0;
	text-align: center;
}

.servicecore-subcategory-page__intro h1 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 56px;
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.1;
}

.servicecore-subcategory-page__intro p {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
}

.servicecore-subcategory-page__intro > span {
	display: block;
	margin-top: 16px;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-subcategory-page__search {
	display: flex;
	max-width: 900px;
	margin: 48px auto 0;
}

.servicecore-subcategory-page__search input {
	min-width: 0;
	height: 64px;
	flex: 1 1 auto;
	padding: 0 20px;
	border: 1px solid #ececec;
	border-right: 0;
	border-radius: 16px 0 0 16px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 16px;
	outline: none;
}

.servicecore-subcategory-page__search input:focus {
	border-color: var(--servicecore-blue);
	box-shadow: 0 0 0 3px rgb(15 76 129 / 12%);
}

.servicecore-subcategory-page__search button {
	height: 64px;
	padding: 0 32px;
	border: 1px solid var(--servicecore-blue);
	border-radius: 0 16px 16px 0;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	cursor: pointer;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
}

.servicecore-subcategory-page__layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 48px;
	margin-top: 80px;
}

.servicecore-subcategory-filters {
	padding: 24px;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	align-self: start;
}

.servicecore-subcategory-filters h2 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

.servicecore-subcategory-filters fieldset {
	display: grid;
	gap: 12px;
	margin: 28px 0 0;
	padding: 28px 0 0;
	border: 0;
	border-top: 1px solid #ececec;
}

.servicecore-subcategory-filters legend {
	padding: 0;
	color: var(--servicecore-black);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-subcategory-filters label {
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.4;
}

.servicecore-subcategory-filters input[type="checkbox"] {
	margin: 0 8px 0 0;
	accent-color: var(--servicecore-blue);
}

.servicecore-subcategory-filters__price {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.servicecore-subcategory-filters__price input {
	width: 100%;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #ececec;
	border-radius: 10px;
	color: var(--servicecore-black);
	font: inherit;
	font-size: 14px;
}

.servicecore-subcategory-filters__actions {
	display: grid;
	gap: 8px;
	margin-top: 32px;
}

.servicecore-subcategory-filters__actions button {
	height: 44px;
	border: 1px solid var(--servicecore-blue);
	border-radius: 12px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
}

.servicecore-subcategory-filters__actions button + button {
	border-color: #ececec;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
}

.servicecore-subcategory-products__toolbar {
	display: flex;
	margin-bottom: 24px;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	color: var(--servicecore-grey);
	font-size: 14px;
}

.servicecore-subcategory-products__toolbar select {
	height: 40px;
	padding: 0 12px;
	border: 1px solid #ececec;
	border-radius: 10px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 14px;
}

.servicecore-subcategory-products__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.servicecore-subcategory-product-card {
	display: flex;
	min-height: 430px;
	padding: 16px;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-subcategory-product-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: translateY(-4px);
}

.servicecore-subcategory-product-card__image-shell {
	overflow: hidden;
	border-radius: 12px;
}

.servicecore-subcategory-product-card__image {
	display: flex;
	height: 160px;
	align-items: center;
	justify-content: center;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
	transition: transform 300ms ease;
}

.servicecore-subcategory-product-card:hover .servicecore-subcategory-product-card__image {
	transform: scale(1.04);
}

.servicecore-subcategory-product-card__status {
	margin: 20px 8px 0;
	color: var(--servicecore-blue);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-subcategory-product-card h2 {
	margin: 8px 8px 0;
	color: var(--servicecore-black);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.servicecore-subcategory-product-card__article,
.servicecore-subcategory-product-card__compatibility {
	margin: 8px 8px 0;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.4;
}

.servicecore-subcategory-product-card__price {
	margin: auto 8px 0;
	padding-top: 16px;
	color: var(--servicecore-black);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.servicecore-subcategory-product-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 16px;
}

.servicecore-subcategory-product-card__actions a,
.servicecore-subcategory-product-card__actions button {
	display: flex;
	height: 40px;
	align-items: center;
	justify-content: center;
	border: 1px solid #ececec;
	border-radius: 10px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.servicecore-subcategory-product-card__actions button {
	border-color: var(--servicecore-blue);
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
}

.servicecore-subcategory-pagination {
	display: flex;
	flex-wrap: wrap;
	margin-top: 48px;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.servicecore-subcategory-pagination a,
.servicecore-subcategory-pagination span {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	color: var(--servicecore-black);
	font-size: 14px;
	text-decoration: none;
}

.servicecore-subcategory-pagination a.is-current {
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
}

.servicecore-product-page {
	margin-top: 64px;
}

.servicecore-product-page__hero {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	align-items: start;
}

.servicecore-product-page__main-image {
	display: flex;
	min-height: 520px;
	padding: 32px;
	align-items: center;
	justify-content: center;
	border-radius: 20px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-product-page__thumbnails {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.servicecore-product-page__thumbnails span {
	display: flex;
	height: 88px;
	align-items: center;
	justify-content: center;
	border: 1px solid #ececec;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 12px;
}

.servicecore-product-page__article {
	margin: 0;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-product-page__summary h1 {
	margin: 16px 0 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.servicecore-product-page__availability {
	margin: 20px 0 0;
	color: var(--servicecore-blue);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
}

.servicecore-product-page__short-description {
	max-width: 520px;
	margin: 20px 0 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.55;
}

.servicecore-product-page__price {
	margin: 32px 0 0;
	color: var(--servicecore-black);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.servicecore-product-page__quantity {
	display: flex;
	margin-top: 32px;
	align-items: center;
	gap: 20px;
	color: var(--servicecore-black);
	font-size: 16px;
	font-weight: 600;
}

.servicecore-product-page__quantity > div {
	display: flex;
	height: 44px;
	align-items: center;
	border: 1px solid #ececec;
	border-radius: 12px;
}

.servicecore-product-page__quantity button,
.servicecore-product-page__quantity > div > span {
	display: flex;
	width: 40px;
	height: 100%;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: var(--servicecore-black);
	font: inherit;
}

.servicecore-product-page__quantity button {
	cursor: pointer;
	font-size: 20px;
}

.servicecore-product-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.servicecore-product-page__primary-button,
.servicecore-product-page__secondary-button {
	display: inline-flex;
	height: 52px;
	padding: 0 24px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.servicecore-product-page__primary-button {
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
}

.servicecore-product-page__secondary-button {
	border: 1px solid var(--servicecore-black);
	background: var(--servicecore-white);
	color: var(--servicecore-black);
}

.servicecore-product-page__benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 120px;
}

.servicecore-product-page__benefits article,
.servicecore-product-page__details,
.servicecore-product-page__compatibility {
	padding: 32px;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
}

.servicecore-product-page__benefits h2,
.servicecore-product-page__details h2,
.servicecore-product-page__compatibility h2,
.servicecore-product-page__recommended h2 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.servicecore-product-page__benefits p,
.servicecore-product-page__details p {
	margin: 16px 0 0;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-product-page__details,
.servicecore-product-page__compatibility,
.servicecore-product-page__recommended {
	margin-top: 80px;
}

.servicecore-product-page__compatibility ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.servicecore-product-page__compatibility li {
	padding: 16px;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-black);
	font-size: 16px;
	line-height: 1.4;
}

.servicecore-product-page__recommended-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 32px;
}

.servicecore-product-card {
	display: flex;
	min-height: 260px;
	padding: 16px;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
	color: var(--servicecore-black);
	text-decoration: none;
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-product-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: translateY(-4px);
}

.servicecore-product-card__image {
	display: flex;
	min-height: 166px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-product-card__title {
	margin: auto 8px 4px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.servicecore-product-card__article {
	margin: 0 8px;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.4;
}

.servicecore-hero {
	display: flex;
	min-height: 100vh;
	padding: 64px 24px;
	align-items: center;
	justify-content: center;
}

.servicecore-hero__content {
	display: flex;
	width: min(100%, 1280px);
	gap: 80px;
	align-items: center;
}

.servicecore-hero__copy {
	flex: 1.1 1 0;
	min-width: 0;
}

.servicecore-hero__visual {
	flex: 0.9 1 0;
}

.servicecore-hero__title {
	max-width: 700px;
	margin: 0;
	font-size: 60px;
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1.1;
}

.servicecore-hero__description {
	max-width: 620px;
	margin: 32px 0 0;
	color: var(--servicecore-grey);
	font-size: 22px;
	line-height: 1.55;
}

.servicecore-hero__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 32px;
}

.servicecore-hero-action-card {
	display: flex;
	min-height: 224px;
	padding: 24px;
	flex-direction: column;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 5%);
	color: var(--servicecore-black);
	text-decoration: none;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.servicecore-hero-action-card:hover {
	box-shadow: 0 14px 28px rgb(17 17 17 / 10%);
	transform: translateY(-4px);
}

.servicecore-hero-action-card__title {
	margin-top: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
}

.servicecore-hero-action-card__description {
	margin-top: 12px;
	color: var(--servicecore-grey);
	font-size: 15px;
	line-height: 1.5;
}

.servicecore-hero-action-card__button {
	margin-top: auto;
	padding-top: 24px;
	color: var(--servicecore-blue);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
}

.servicecore-hero__benefits {
	display: grid;
	gap: 12px;
	margin: 32px 0 0;
	padding: 0;
	color: #777777;
	font-size: 16px;
	line-height: 1.5;
	list-style: none;
}

.servicecore-hero__benefits li::before {
	margin-right: 10px;
	color: var(--servicecore-blue);
	content: "✓";
	font-weight: 700;
}

.servicecore-hero__visual {
	display: flex;
	height: 480px;
	padding: 32px;
	align-items: center;
	justify-content: center;
	border-radius: 24px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-parts-picker {
	background: var(--servicecore-white);
	padding: 120px 24px;
}

.servicecore-parts-picker__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-parts-picker__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-parts-picker__subtitle {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-parts-picker__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

.servicecore-parts-picker-card {
	position: relative;
	display: flex;
	min-height: 320px;
	padding: 32px;
	flex-direction: column;
	overflow: hidden;
	border-radius: 24px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
	color: var(--servicecore-black);
	text-decoration: none;
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-parts-picker-card::after {
	position: absolute;
	right: 32px;
	bottom: 32px;
	color: var(--servicecore-blue);
	content: "→";
	font-size: 22px;
	line-height: 1;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity 300ms ease, transform 300ms ease;
}

.servicecore-parts-picker-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: translateY(-4px);
}

.servicecore-parts-picker-card:hover::after {
	opacity: 1;
	transform: translateX(0);
}

.servicecore-parts-picker-card__icon {
	width: 64px;
	height: 64px;
	fill: #f5f5f5;
}

.servicecore-parts-picker-card__title {
	margin-top: 28px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.servicecore-parts-picker-card__description {
	margin-top: 16px;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-parts-picker-card__button {
	margin-top: auto;
	padding-top: 24px;
	color: var(--servicecore-blue);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.servicecore-client-reasons {
	background: var(--servicecore-white);
	padding: 120px 24px;
}

.servicecore-client-reasons__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-client-reasons__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-client-reasons__subtitle {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-client-reasons__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

.servicecore-client-reason-card {
	min-height: 340px;
	padding: 32px;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 5%);
	transition: box-shadow 280ms ease, transform 280ms ease;
}

.servicecore-client-reason-card:hover {
	box-shadow: 0 16px 32px rgb(17 17 17 / 10%);
	transform: translateY(-6px);
}

.servicecore-client-reason-card__icon-placeholder {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #f5f5f5;
}

.servicecore-client-reason-card__title {
	margin: 28px 0 0;
	color: var(--servicecore-black);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.servicecore-client-reason-card__description {
	margin: 16px 0 0;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-offerings {
	background: var(--servicecore-white);
	padding: 120px 24px;
}

.servicecore-offerings__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-offerings__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-offerings__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

.servicecore-offering-card {
	display: flex;
	min-height: 440px;
	padding: 32px;
	flex-direction: column;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.servicecore-offering-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: translateY(-4px);
}

.servicecore-offering-card__image-placeholder {
	display: flex;
	height: 180px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-offering-card__title {
	margin: 28px 0 0;
	color: var(--servicecore-black);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.servicecore-offering-card__description {
	margin: 16px 0 0;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-offering-card__link {
	margin-top: auto;
	padding-top: 24px;
	color: var(--servicecore-black);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	transition: color 180ms ease;
}

.servicecore-offering-card:hover .servicecore-offering-card__link {
	color: var(--servicecore-blue);
}

.servicecore-workflow {
	background: var(--servicecore-white);
	padding: 120px 24px;
}

.servicecore-workflow__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-workflow__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-workflow__subtitle {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-workflow__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

.servicecore-workflow-card {
	min-height: 300px;
	padding: 32px;
	border: 1px solid #ececec;
	border-radius: 16px;
	background: var(--servicecore-white);
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-workflow-card:hover {
	box-shadow: 0 12px 28px rgb(17 17 17 / 8%);
	transform: translateY(-4px);
}

.servicecore-workflow-card__number {
	display: block;
	color: var(--servicecore-blue);
	font-size: 60px;
	font-weight: 700;
	letter-spacing: -0.06em;
	line-height: 1;
}

.servicecore-workflow-card__title {
	margin: 32px 0 0;
	color: var(--servicecore-black);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.servicecore-workflow-card__description {
	margin: 16px 0 0;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-categories {
	background: var(--servicecore-white);
	padding: 120px 24px;
}

.servicecore-categories__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-categories__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-categories__subtitle {
	max-width: 680px;
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-categories__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

.servicecore-category-card {
	display: flex;
	height: 320px;
	padding: 16px;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
	color: var(--servicecore-black);
	text-decoration: none;
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-category-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: scale(1.02);
}

.servicecore-category-card__image-placeholder {
	display: flex;
	min-height: 218px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	transition: transform 300ms ease;
}

.servicecore-category-card:hover .servicecore-category-card__image-placeholder {
	transform: scale(1.04);
}

.servicecore-category-card__footer {
	display: flex;
	padding: 20px 8px 4px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.servicecore-category-card__title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
}

.servicecore-category-card__arrow {
	flex: 0 0 auto;
	color: var(--servicecore-blue);
	font-size: 24px;
	line-height: 1;
	transition: transform 300ms ease;
}

.servicecore-category-card:hover .servicecore-category-card__arrow {
	transform: translateX(6px);
}

.servicecore-faq {
	background: var(--servicecore-white);
	padding: 120px 24px;
}

.servicecore-faq__inner {
	width: min(100%, 900px);
	margin: 0 auto;
}

.servicecore-faq__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-faq__subtitle {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-faq__list {
	display: grid;
	gap: 12px;
	margin-top: 48px;
}

.servicecore-faq__item {
	overflow: hidden;
	border: 1px solid #ececec;
	border-radius: 16px;
	background: var(--servicecore-white);
	transition: border-color 300ms ease, box-shadow 300ms ease;
}

.servicecore-faq__item[open] {
	border-color: #d9e2ea;
	box-shadow: 0 8px 20px rgb(17 17 17 / 5%);
}

.servicecore-faq__question {
	display: flex;
	padding: 24px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	color: var(--servicecore-black);
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
}

.servicecore-faq__question::-webkit-details-marker {
	display: none;
}

.servicecore-faq__indicator {
	position: relative;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.servicecore-faq__indicator::before,
.servicecore-faq__indicator::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	border-radius: 999px;
	background: var(--servicecore-black);
	content: "";
	transform: translate(-50%, -50%);
	transition: transform 300ms ease;
}

.servicecore-faq__indicator::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.servicecore-faq__item[open] .servicecore-faq__indicator::after {
	transform: translate(-50%, -50%) rotate(0);
}

.servicecore-faq__answer {
	padding: 0 24px 24px;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.6;
}

.servicecore-faq__answer p {
	margin: 0;
}

.servicecore-parts-catalog {
	background: var(--servicecore-white);
	padding: 96px 24px 120px;
}

.servicecore-parts-catalog__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-parts-catalog__intro {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.servicecore-parts-catalog__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 56px;
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.1;
}

.servicecore-parts-catalog__subtitle {
	margin: 20px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
}

.servicecore-parts-catalog__search {
	display: flex;
	max-width: 900px;
	margin: 48px auto 0;
}

.servicecore-parts-catalog__search input {
	min-width: 0;
	height: 64px;
	flex: 1 1 auto;
	padding: 0 20px;
	border: 1px solid #ececec;
	border-right: 0;
	border-radius: 16px 0 0 16px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 16px;
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.servicecore-parts-catalog__search input::placeholder {
	color: #8a8a8a;
}

.servicecore-parts-catalog__search input:focus {
	border-color: var(--servicecore-blue);
	box-shadow: 0 0 0 3px rgb(15 76 129 / 12%);
}

.servicecore-parts-catalog__search button {
	height: 64px;
	padding: 0 32px;
	border: 1px solid var(--servicecore-blue);
	border-radius: 0 16px 16px 0;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	cursor: pointer;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	transition: background-color 180ms ease, border-color 180ms ease;
}

.servicecore-parts-catalog__search button:hover {
	border-color: #0b3a63;
	background: #0b3a63;
}

.servicecore-parts-catalog__model-selector {
	display: flex;
	max-width: 900px;
	margin: 24px auto 0;
	padding: 28px 32px;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: #f8fafc;
	box-shadow: 0 6px 20px rgb(17 17 17 / 4%);
}

.servicecore-parts-catalog__model-selector h2 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.servicecore-parts-catalog__model-selector p {
	margin: 8px 0 0;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.5;
}

.servicecore-parts-catalog__model-selector-button {
	display: inline-flex;
	min-height: 52px;
	padding: 0 24px;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: 12px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 180ms ease, transform 180ms ease;
}

.servicecore-parts-catalog__model-selector-button:hover {
	background: #0b3a63;
	transform: translateY(-1px);
}

.servicecore-parts-catalog__section-title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 36px;
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-parts-catalog__categories {
	margin-top: 120px;
}

.servicecore-parts-methods {
	margin-top: 120px;
}

.servicecore-parts-methods__title {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
	text-align: center;
}

.servicecore-parts-methods__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

.servicecore-parts-method-card {
	display: flex;
	min-height: 320px;
	padding: 32px;
	flex-direction: column;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 5%);
	color: var(--servicecore-black);
	text-decoration: none;
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-parts-method-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: translateY(-4px);
}

.servicecore-parts-method-card__icon {
	font-size: 30px;
	line-height: 1;
}

.servicecore-parts-method-card__title {
	margin-top: 28px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.servicecore-parts-method-card__description {
	margin-top: 16px;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-parts-method-card__button {
	margin-top: auto;
	padding-top: 24px;
	color: var(--servicecore-blue);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.servicecore-parts-catalog__category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 40px;
}

.servicecore-parts-category-card {
	display: flex;
	height: 260px;
	padding: 16px;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 6%);
	color: var(--servicecore-black);
	text-decoration: none;
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-parts-category-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: scale(1.02);
}

.servicecore-parts-category-card__image-placeholder {
	display: flex;
	min-height: 166px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.servicecore-parts-category-card__title {
	display: block;
	margin: auto 8px 4px;
	color: var(--servicecore-black);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
}

.servicecore-parts-catalog__help {
	max-width: 860px;
	margin: 120px auto 0;
	padding: 48px;
	border-radius: 20px;
	background: #f5f5f5;
	text-align: center;
}

.servicecore-parts-catalog__help h2 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.servicecore-parts-catalog__help p {
	margin: 16px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.5;
}

.servicecore-parts-catalog__help p + p {
	margin-top: 4px;
}

.servicecore-parts-catalog__help-button {
	display: inline-flex;
	height: 52px;
	margin-top: 32px;
	padding: 0 24px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 180ms ease;
}

.servicecore-parts-catalog__help-button:hover {
	background: #0b3a63;
}

/* Витрина WooCommerce в стиле каталога ServiceCore. */
.servicecore-parts-catalog__products {
	margin-top: 120px;
}

.servicecore-parts-catalog__products-heading {
	display: flex;
	margin-bottom: 40px;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
}

.servicecore-parts-catalog__products-heading .servicecore-parts-catalog__section-title {
	text-align: left;
}

.servicecore-parts-catalog__products-heading p {
	margin: 0;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.5;
}

.servicecore-parts-catalog__product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.servicecore-commerce-product-card {
	display: flex;
	min-width: 0;
	min-height: 420px;
	padding: 16px;
	flex-direction: column;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 5%);
	transition: box-shadow 300ms ease, transform 300ms ease;
}

.servicecore-commerce-product-card:hover {
	box-shadow: 0 14px 32px rgb(17 17 17 / 10%);
	transform: translateY(-4px);
}

.servicecore-commerce-product-card__image {
	display: flex;
	height: 180px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 12px;
	background: #f5f5f5;
}

.servicecore-commerce-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.servicecore-commerce-product-card:hover .servicecore-commerce-product-card__image img {
	transform: scale(1.04);
}

.servicecore-commerce-product-card__status {
	margin: 20px 8px 0;
	color: var(--servicecore-blue);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-commerce-product-card__title {
	margin: 8px 8px 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.servicecore-commerce-product-card__title a {
	color: var(--servicecore-black);
	text-decoration: none;
}

.servicecore-commerce-product-card__sku,
.servicecore-commerce-product-card__description {
	margin: 8px 8px 0;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.45;
}

.servicecore-commerce-product-card__description {
	margin-top: 6px;
}

.servicecore-commerce-product-card__price {
	margin: auto 8px 0;
	padding-top: 16px;
	color: var(--servicecore-black);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.servicecore-commerce-product-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 16px;
}

.servicecore-commerce-product-card__details,
.servicecore-commerce-product-card__actions .button {
	display: inline-flex;
	min-width: 0;
	height: 42px;
	padding: 0 12px;
	align-items: center;
	justify-content: center;
	border: 1px solid #ececec;
	border-radius: 10px;
	background: var(--servicecore-white);
	box-sizing: border-box;
	color: var(--servicecore-black);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease;
}

.servicecore-commerce-product-card__actions .button {
	border-color: var(--servicecore-blue);
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
}

.servicecore-commerce-product-card__details:hover {
	border-color: var(--servicecore-black);
}

.servicecore-commerce-product-card__actions .button:hover {
	border-color: #0b3a63;
	background: #0b3a63;
}

.servicecore-parts-catalog .woocommerce-pagination {
	margin-top: 48px;
	text-align: center;
}

.servicecore-parts-catalog .woocommerce-pagination ul {
	display: inline-flex;
	margin: 0;
	padding: 0;
	gap: 8px;
	list-style: none;
}

.servicecore-parts-catalog .woocommerce-pagination a,
.servicecore-parts-catalog .woocommerce-pagination span {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	color: var(--servicecore-black);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.servicecore-parts-catalog .woocommerce-pagination .current {
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
}

.servicecore-parts-catalog .woocommerce-message,
.servicecore-parts-catalog .woocommerce-info,
.servicecore-parts-catalog .woocommerce-error {
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 1px solid #dbe6ef;
	border-radius: 12px;
	background: #f5f8fb;
	color: var(--servicecore-black);
	font-size: 14px;
	line-height: 1.5;
	list-style: none;
}

.servicecore-parts-catalog .woocommerce-message a,
.servicecore-parts-catalog .woocommerce-info a,
.servicecore-parts-catalog .woocommerce-error a {
	color: var(--servicecore-blue);
	font-weight: 600;
}

.servicecore-parts-catalog__ordering {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--servicecore-grey);
	font-size: 14px;
	line-height: 1.4;
}

.servicecore-parts-catalog__ordering .woocommerce-ordering {
	margin: 0;
}

.servicecore-parts-catalog__ordering select {
	height: 42px;
	max-width: 220px;
	padding: 0 34px 0 12px;
	border: 1px solid #ececec;
	border-radius: 10px;
	background-color: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 14px;
}

.servicecore-parts-category-card__image,
.servicecore-catalog-category-card__image {
	display: flex;
	min-height: 166px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 12px;
	background: #f5f5f5;
}

.servicecore-parts-category-card__image-file,
.servicecore-catalog-category-card__image-file {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.servicecore-parts-category-card:hover .servicecore-parts-category-card__image-file,
.servicecore-catalog-category-card:hover .servicecore-catalog-category-card__image-file {
	transform: scale(1.04);
}

.servicecore-parts-category-card__count {
	display: block;
	margin: 0 8px 8px;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.4;
}

.servicecore-parts-category-card__image + .servicecore-parts-category-card__title {
	margin-top: auto;
}

.servicecore-product-page__main-image {
	overflow: hidden;
}

.servicecore-product-page__main-image-file {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.servicecore-product-page__thumbnails a {
	display: block;
	height: 88px;
	overflow: hidden;
	border: 1px solid #ececec;
	border-radius: 12px;
	background: #f5f5f5;
}

.servicecore-product-page__thumbnails a img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.servicecore-product-page__short-description p {
	margin: 0;
}

.servicecore-product-page__cart {
	margin-top: 32px;
}

.servicecore-product-page__cart .servicecore-product-page__quantity {
	margin-top: 0;
}

.servicecore-product-page__quantity input {
	width: 76px;
	height: 44px;
	padding: 0 8px;
	border: 1px solid #ececec;
	border-radius: 12px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 16px;
	text-align: center;
}

.servicecore-product-page__cart .servicecore-product-page__actions {
	margin-top: 20px;
}

.servicecore-product-page__cart .servicecore-product-page__primary-button {
	border: 0;
	cursor: pointer;
	font-family: inherit;
}

.servicecore-product-page__category-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.servicecore-product-page__category-list a {
	display: inline-flex;
	padding: 10px 14px;
	border-radius: 10px;
	background: #f5f5f5;
	color: var(--servicecore-black);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

.servicecore-product-page__data-list {
	display: grid;
	grid-template-columns: minmax(160px, 0.8fr) minmax(0, 1.2fr);
	gap: 12px 24px;
	margin: 24px 0 0;
}

.servicecore-product-page__data-list dt,
.servicecore-product-page__data-list dd {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid #ececec;
	font-size: 15px;
	line-height: 1.5;
}

.servicecore-product-page__data-list dt {
	color: var(--servicecore-grey);
}

.servicecore-product-page__data-list dd {
	color: var(--servicecore-black);
	font-weight: 600;
}

.servicecore-product-page__recommended-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 900px) {
	.servicecore-service-request__fields,
	.servicecore-service-request__fields--address {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-service-request__choice-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-subcategory-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-product-page__recommended-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-catalog-category__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-hero__title {
		font-size: 52px;
	}

	.servicecore-hero__description {
		font-size: 20px;
	}

	.servicecore-hero__content {
		gap: 48px;
	}

	.servicecore-hero__visual {
		height: 440px;
	}

	.servicecore-client-reasons__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-parts-picker__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-offerings__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-workflow__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-categories__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-parts-catalog__category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-parts-methods__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-parts-catalog__product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 760px) {
	.servicecore-service-request {
		padding: 40px 20px 80px;
	}

	.servicecore-service-request__intro {
		margin-top: 48px;
	}

	.servicecore-service-request__intro h1 {
		font-size: 42px;
	}

	.servicecore-service-request__layout {
		grid-template-columns: 1fr;
		margin-top: 48px;
	}

	.servicecore-service-request__aside {
		position: static;
	}

	.servicecore-subcategory-page__intro {
		margin-top: 48px;
	}

	.servicecore-subcategory-page__intro h1 {
		font-size: 42px;
	}

	.servicecore-subcategory-page__layout {
		grid-template-columns: 1fr;
		gap: 32px;
		margin-top: 64px;
	}

	.servicecore-product-page {
		margin-top: 48px;
	}

	.servicecore-product-page__hero {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.servicecore-product-page__main-image {
		min-height: 420px;
	}

	.servicecore-product-page__benefits {
		grid-template-columns: 1fr;
		margin-top: 80px;
	}

	.servicecore-catalog-category {
		margin-top: 48px;
	}

	.servicecore-catalog-category__intro h1 {
		font-size: 42px;
	}

	.servicecore-catalog-category__grid {
		margin-top: 64px;
	}

	.servicecore-catalog-page {
		padding: 40px 20px 80px;
	}

	.servicecore-catalog-page__content {
		margin-top: 48px;
	}

	.servicecore-catalog-page__content h1 {
		font-size: 42px;
	}

	.servicecore-catalog-page__cta {
		margin-top: 72px;
		padding: 40px;
	}

	.servicecore-parts-catalog {
		padding: 64px 20px 80px;
	}

	.servicecore-parts-catalog__title {
		font-size: 42px;
	}

	.servicecore-parts-catalog__section-title {
		font-size: 32px;
	}

	.servicecore-parts-catalog__categories {
		margin-top: 72px;
	}

	.servicecore-parts-methods {
		margin-top: 80px;
	}

	.servicecore-parts-methods__title {
		font-size: 34px;
	}

	.servicecore-parts-catalog__help {
		margin-top: 80px;
		padding: 40px;
	}

	.servicecore-parts-catalog__help h2 {
		font-size: 28px;
	}

	.servicecore-hero__content {
		flex-direction: column;
		gap: 40px;
		text-align: center;
	}

	.servicecore-hero__title,
	.servicecore-hero__description {
		margin-right: auto;
		margin-left: auto;
	}

	.servicecore-hero__actions {
		grid-template-columns: 1fr;
	}

	.servicecore-hero-action-card {
		min-height: 0;
	}

	.servicecore-hero__benefits {
		justify-items: center;
	}

	.servicecore-hero__visual {
		width: 100%;
		height: 360px;
	}

	.servicecore-client-reasons {
		padding: 80px 20px;
	}

	.servicecore-parts-picker {
		padding: 80px 20px;
	}

	.servicecore-parts-picker__title {
		font-size: 34px;
	}

	.servicecore-client-reasons__title {
		font-size: 34px;
	}

	.servicecore-offerings {
		padding: 80px 20px;
	}

	.servicecore-offerings__title {
		font-size: 34px;
	}

	.servicecore-workflow {
		padding: 80px 20px;
	}

	.servicecore-workflow__title {
		font-size: 34px;
	}

	.servicecore-categories {
		padding: 80px 20px;
	}

	.servicecore-categories__title {
		font-size: 34px;
	}

	.servicecore-faq {
		padding: 80px 20px;
	}

	.servicecore-faq__title {
		font-size: 34px;
	}

}

@media (max-width: 600px) {
	.servicecore-service-request__intro h1 {
		font-size: 36px;
	}

	.servicecore-service-request__intro p {
		font-size: 16px;
	}

	.servicecore-service-request__section,
	.servicecore-service-request__aside {
		padding: 28px;
	}

	.servicecore-service-request__fields,
	.servicecore-service-request__fields--address,
	.servicecore-service-request__choice-grid {
		grid-template-columns: 1fr;
	}

	.servicecore-service-request__choice-grid--time {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.servicecore-subcategory-page__intro h1 {
		font-size: 36px;
	}

	.servicecore-subcategory-page__intro p {
		font-size: 16px;
	}

	.servicecore-subcategory-page__search {
		flex-direction: column;
		gap: 12px;
		margin-top: 40px;
	}

	.servicecore-subcategory-page__search input {
		height: 56px;
		border-right: 1px solid #ececec;
		border-radius: 14px;
	}

	.servicecore-subcategory-page__search button {
		height: 56px;
		border-radius: 14px;
	}

	.servicecore-subcategory-products__toolbar {
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
	}

	.servicecore-subcategory-products__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.servicecore-subcategory-product-card {
		min-height: 0;
	}

	.servicecore-subcategory-pagination {
		justify-content: flex-start;
	}

	.servicecore-product-page__main-image {
		min-height: 300px;
	}

	.servicecore-product-page__thumbnails span {
		height: 64px;
	}

	.servicecore-product-page__summary h1 {
		font-size: 36px;
	}

	.servicecore-product-page__short-description {
		font-size: 16px;
	}

	.servicecore-product-page__actions {
		flex-direction: column;
	}

	.servicecore-product-page__primary-button,
	.servicecore-product-page__secondary-button {
		width: 100%;
	}

	.servicecore-product-page__benefits article,
	.servicecore-product-page__details,
	.servicecore-product-page__compatibility {
		padding: 28px;
	}

	.servicecore-product-page__details,
	.servicecore-product-page__compatibility,
	.servicecore-product-page__recommended {
		margin-top: 64px;
	}

	.servicecore-product-page__compatibility ul,
	.servicecore-product-page__recommended-grid {
		grid-template-columns: 1fr;
	}

	.servicecore-catalog-category__intro h1 {
		font-size: 36px;
	}

	.servicecore-catalog-category__intro p {
		font-size: 16px;
	}

	.servicecore-catalog-category__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 48px;
	}

	.servicecore-catalog-category-card {
		min-height: 0;
	}

	.servicecore-footer__inner {
		min-height: 0;
		padding: 24px 20px;
		flex-direction: column;
		align-items: flex-start;
	}

	.servicecore-catalog-page__content h1 {
		font-size: 36px;
	}

	.servicecore-catalog-page__content p,
	.servicecore-catalog-page__cta p {
		font-size: 16px;
	}

	.servicecore-catalog-page__placeholder {
		min-height: 220px;
		margin-top: 36px;
		padding: 24px;
	}

	.servicecore-catalog-page__cta {
		margin-top: 64px;
		padding: 32px 24px;
	}

	.servicecore-catalog-page__cta h2 {
		font-size: 28px;
	}

	.servicecore-parts-catalog__search {
		flex-direction: column;
		gap: 12px;
	}

	.servicecore-parts-catalog__search input {
		height: 56px;
		border-right: 1px solid #ececec;
		border-radius: 14px;
	}

	.servicecore-parts-catalog__search button {
		height: 56px;
		border-radius: 14px;
	}

	.servicecore-parts-catalog__model-selector {
		padding: 28px 24px;
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}

	.servicecore-parts-catalog__model-selector-button {
		width: 100%;
	}

	.servicecore-parts-catalog__category-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 32px;
	}

	.servicecore-parts-catalog__products {
		margin-top: 80px;
	}

	.servicecore-parts-catalog__products-heading {
		margin-bottom: 32px;
		align-items: flex-start;
		flex-direction: column;
	}

	.servicecore-parts-catalog__product-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.servicecore-commerce-product-card {
		min-height: 0;
	}

	.servicecore-parts-methods__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 36px;
	}

	.servicecore-parts-method-card {
		min-height: 0;
		padding: 28px;
	}

	.servicecore-parts-catalog__help {
		margin-top: 64px;
		padding: 32px 24px;
	}

	.servicecore-parts-catalog__help p {
		font-size: 16px;
	}

	.servicecore-header__inner {
		padding: 0 20px;
	}

	.servicecore-header__navigation {
		display: none;
	}

	.servicecore-client-reasons__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 36px;
	}

	.servicecore-parts-picker__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 36px;
	}

	.servicecore-parts-picker-card {
		min-height: 0;
	}

	.servicecore-client-reason-card {
		min-height: 0;
	}

	.servicecore-offerings__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 36px;
	}

	.servicecore-offering-card {
		min-height: 0;
		padding: 28px;
	}

	.servicecore-workflow__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 36px;
	}

	.servicecore-workflow-card {
		min-height: 0;
		padding: 28px;
	}

	.servicecore-categories__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 36px;
	}

	.servicecore-faq__list {
		gap: 10px;
		margin-top: 36px;
	}

	.servicecore-faq__question {
		padding: 20px;
		font-size: 16px;
	}

	.servicecore-faq__answer {
		padding: 0 20px 20px;
		font-size: 15px;
	}

	.servicecore-hero {
		padding: 32px 20px;
	}

	.servicecore-hero__title {
		font-size: 40px;
		letter-spacing: -0.04em;
		line-height: 1.1;
	}

	.servicecore-hero__description {
		margin-top: 24px;
		font-size: 18px;
	}

	.servicecore-hero__actions {
		gap: 12px;
		margin-top: 32px;
	}

	.servicecore-hero__benefits {
		gap: 10px;
		margin-top: 32px;
		font-size: 14px;
	}

	.servicecore-hero__visual {
		height: 280px;
		padding: 24px;
		font-size: 16px;
	}
}

/* Локальные медиафайлы: заменяются без правок шаблонов. */
.servicecore-hero__visual,
.servicecore-offering-card__image-placeholder,
.servicecore-category-card__image-placeholder,
.servicecore-parts-category-card__image-placeholder,
.servicecore-catalog-category-card__image-placeholder,
.servicecore-subcategory-product-card__image,
.servicecore-product-page__main-image,
.servicecore-product-page__thumbnails span,
.servicecore-product-card__image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.servicecore-hero__visual {
	background-color: #f1f3f5;
	background-image: url("assets/images/hero/servicecore-hero.svg");
	color: transparent;
}

.servicecore-offering-card:nth-child(1) .servicecore-offering-card__image-placeholder {
	background-image: url("assets/images/services/repair.svg");
	color: transparent;
}

.servicecore-offering-card:nth-child(2) .servicecore-offering-card__image-placeholder {
	background-image: url("assets/images/services/installation.svg");
	color: transparent;
}

.servicecore-offering-card:nth-child(3) .servicecore-offering-card__image-placeholder {
	background-image: url("assets/images/services/maintenance.svg");
	color: transparent;
}

.servicecore-offering-card:nth-child(4) .servicecore-offering-card__image-placeholder {
	background-image: url("assets/images/services/spare-parts.svg");
	color: transparent;
}

.servicecore-category-card:nth-child(1) .servicecore-category-card__image-placeholder,
.servicecore-parts-category-card:nth-child(1) .servicecore-parts-category-card__image-placeholder {
	background-image: url("assets/images/categories/mixers.svg");
	color: transparent;
}

.servicecore-category-card:nth-child(2) .servicecore-category-card__image-placeholder,
.servicecore-parts-category-card:nth-child(2) .servicecore-parts-category-card__image-placeholder {
	background-image: url("assets/images/categories/showers.svg");
	color: transparent;
}

.servicecore-category-card:nth-child(3) .servicecore-category-card__image-placeholder,
.servicecore-parts-category-card:nth-child(3) .servicecore-parts-category-card__image-placeholder {
	background-image: url("assets/images/categories/installations.svg");
	color: transparent;
}

.servicecore-category-card:nth-child(4) .servicecore-category-card__image-placeholder,
.servicecore-parts-category-card:nth-child(4) .servicecore-parts-category-card__image-placeholder {
	background-image: url("assets/images/categories/thermostats.svg");
	color: transparent;
}

.servicecore-category-card:nth-child(5) .servicecore-category-card__image-placeholder,
.servicecore-parts-category-card:nth-child(5) .servicecore-parts-category-card__image-placeholder {
	background-image: url("assets/images/categories/accessories.svg");
	color: transparent;
}

.servicecore-category-card:nth-child(6) .servicecore-category-card__image-placeholder,
.servicecore-parts-category-card:nth-child(6) .servicecore-parts-category-card__image-placeholder {
	background-image: url("assets/images/categories/all-categories.svg");
	color: transparent;
}

.servicecore-catalog-category-card:nth-child(1) .servicecore-catalog-category-card__image-placeholder {
	background-image: url("assets/images/categories/cartridges.svg");
	color: transparent;
}

.servicecore-catalog-category-card:nth-child(2) .servicecore-catalog-category-card__image-placeholder {
	background-image: url("assets/images/categories/aerators.svg");
	color: transparent;
}

.servicecore-catalog-category-card:nth-child(3) .servicecore-catalog-category-card__image-placeholder {
	background-image: url("assets/images/categories/spouts.svg");
	color: transparent;
}

.servicecore-catalog-category-card:nth-child(4) .servicecore-catalog-category-card__image-placeholder {
	background-image: url("assets/images/categories/handles.svg");
	color: transparent;
}

.servicecore-catalog-category-card:nth-child(5) .servicecore-catalog-category-card__image-placeholder {
	background-image: url("assets/images/categories/seals.svg");
	color: transparent;
}

.servicecore-catalog-category-card:nth-child(6) .servicecore-catalog-category-card__image-placeholder {
	background-image: url("assets/images/categories/fasteners.svg");
	color: transparent;
}

.servicecore-product-page__main-image {
	background-image: url("assets/images/products/demo-cartridge/main.svg");
	color: transparent;
}

.servicecore-product-page__thumbnails span {
	color: transparent;
}

.servicecore-product-page__thumbnails span:nth-child(1) {
	background-image: url("assets/images/products/demo-cartridge/thumbnail-01.svg");
}

.servicecore-product-page__thumbnails span:nth-child(2) {
	background-image: url("assets/images/products/demo-cartridge/thumbnail-02.svg");
}

.servicecore-product-page__thumbnails span:nth-child(3) {
	background-image: url("assets/images/products/demo-cartridge/thumbnail-03.svg");
}

.servicecore-product-page__thumbnails span:nth-child(4) {
	background-image: url("assets/images/products/demo-cartridge/thumbnail-04.svg");
}

.servicecore-subcategory-product-card__image,
.servicecore-product-card__image {
	background-image: url("assets/images/products/demo-cartridge/main.svg");
	color: transparent;
}

.servicecore-subcategory-product-card:nth-child(even) .servicecore-subcategory-product-card__image,
.servicecore-product-card:nth-child(even) .servicecore-product-card__image {
	background-image: url("assets/images/products/demo-cartridge/gallery-01.svg");
}

.servicecore-subcategory-product-card:nth-child(3n) .servicecore-subcategory-product-card__image,
.servicecore-product-card:nth-child(3n) .servicecore-product-card__image {
	background-image: url("assets/images/products/demo-cartridge/gallery-02.svg");
}

.servicecore-header__brand {
	display: block;
	width: 184px;
	height: 40px;
	background: url("assets/logos/servicecore-logo.svg") left center / contain no-repeat;
	color: transparent;
	font-size: 0;
}

.servicecore-client-reason-card__icon-placeholder {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 28px;
}

.servicecore-client-reason-card:nth-child(1) .servicecore-client-reason-card__icon-placeholder {
	background-image: url("assets/icons/services/repair.svg");
}

.servicecore-client-reason-card:nth-child(2) .servicecore-client-reason-card__icon-placeholder {
	background-image: url("assets/icons/services/spare-parts.svg");
}

.servicecore-client-reason-card:nth-child(3) .servicecore-client-reason-card__icon-placeholder {
	background-image: url("assets/icons/ui/check.svg");
}

.servicecore-client-reason-card:nth-child(4) .servicecore-client-reason-card__icon-placeholder {
	background-image: url("assets/icons/services/maintenance.svg");
}

.servicecore-parts-picker-card__icon {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 30px;
	fill: transparent;
}

.servicecore-parts-picker-card:nth-child(1) .servicecore-parts-picker-card__icon {
	background-image: url("assets/icons/catalog/article.svg");
}

.servicecore-parts-picker-card:nth-child(2) .servicecore-parts-picker-card__icon {
	background-image: url("assets/icons/catalog/model.svg");
}

.servicecore-parts-picker-card:nth-child(3) .servicecore-parts-picker-card__icon {
	background-image: url("assets/icons/catalog/photo.svg");
}

.servicecore-parts-picker-card:nth-child(4) .servicecore-parts-picker-card__icon {
	background-image: url("assets/icons/contacts/phone.svg");
}

.servicecore-parts-method-card__icon {
	display: block;
	width: 48px;
	height: 48px;
	background-color: #f1f3f5;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 26px;
	border-radius: 50%;
	color: transparent;
	font-size: 0;
}

.servicecore-parts-method-card:nth-child(1) .servicecore-parts-method-card__icon {
	background-image: url("assets/icons/catalog/article.svg");
}

.servicecore-parts-method-card:nth-child(2) .servicecore-parts-method-card__icon {
	background-image: url("assets/icons/catalog/model.svg");
}

.servicecore-parts-method-card:nth-child(3) .servicecore-parts-method-card__icon {
	background-image: url("assets/icons/catalog/photo.svg");
}

.servicecore-page {
	min-width: 0;
	padding: 64px 24px 120px;
}

.servicecore-page__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

/* Адаптивность динамических компонентов WooCommerce. */
.servicecore-product-page__main-image-file {
	height: 520px;
}

.servicecore-parts-category-card__image-file,
.servicecore-catalog-category-card__image-file {
	height: 166px;
}

@media (max-width: 760px) {
	.servicecore-product-page__main-image-file {
		height: 420px;
	}
}

@media (max-width: 600px) {
	.servicecore-page {
		padding: 40px 16px 80px;
	}

	.servicecore-parts-catalog__ordering {
		width: 100%;
		align-items: flex-start;
		flex-direction: column;
	}

	.servicecore-parts-catalog__ordering .woocommerce-ordering,
	.servicecore-parts-catalog__ordering select {
		width: 100%;
		max-width: none;
	}

	.servicecore-product-page__main-image-file {
		height: 300px;
	}

	.servicecore-product-page__data-list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.servicecore-product-page__data-list dt {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.servicecore-product-page__data-list dd {
		padding-top: 4px;
	}

	.servicecore-product-page__quantity {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}
}

/* Мастер подбора запчастей по модели оборудования. */
.servicecore-model-selector {
	padding: 64px 24px 120px;
	background: var(--servicecore-white);
}

.servicecore-model-selector__inner {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.servicecore-model-selector__intro {
	max-width: 760px;
	margin: 64px auto 0;
	text-align: center;
}

.servicecore-model-selector__eyebrow {
	margin: 0;
	color: var(--servicecore-blue);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-model-selector__intro h1 {
	margin: 16px 0 0;
	color: var(--servicecore-black);
	font-size: clamp(42px, 5vw, 56px);
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.1;
}

.servicecore-model-selector__intro > p:last-child {
	max-width: 620px;
	margin: 24px auto 0;
	color: var(--servicecore-grey);
	font-size: 18px;
	line-height: 1.55;
}

.servicecore-model-selector__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	max-width: 960px;
	margin: 56px auto 0;
}

.servicecore-model-selector__steps span {
	display: flex;
	min-height: 44px;
	padding: 10px 14px;
	align-items: center;
	border: 1px solid #ececec;
	border-radius: 12px;
	color: #8a8a8a;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.servicecore-model-selector__steps .is-active,
.servicecore-model-selector__steps .is-complete {
	border-color: #c5d9e9;
	background: #f5f8fb;
	color: var(--servicecore-blue);
}

.servicecore-model-selector__step,
.servicecore-model-selector__results {
	margin-top: 28px;
	padding: 36px;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 8px 28px rgb(17 17 17 / 5%);
}

.servicecore-model-selector__step[hidden],
.servicecore-model-selector__results[hidden] {
	display: none;
}

.servicecore-model-selector__step-heading span,
.servicecore-model-selector__results-heading p {
	display: block;
	margin: 0;
	color: var(--servicecore-blue);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-model-selector__step-heading h2,
.servicecore-model-selector__results-heading h2 {
	margin: 8px 0 0;
	color: var(--servicecore-black);
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.servicecore-model-selector__choice-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 28px;
}

.servicecore-model-selector__choice-grid--brands {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.servicecore-model-selector__model-search {
	width: 100%;
	height: 56px;
	margin-top: 24px;
	padding: 0 18px;
	border: 1px solid #d9d9d9;
	border-radius: 14px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	font: inherit;
	font-size: 16px;
}

.servicecore-model-selector__model-search:focus {
	border-color: var(--servicecore-blue);
	box-shadow: 0 0 0 3px rgb(15 76 129 / 10%);
	outline: none;
}

.servicecore-model-selector__choice {
	display: flex;
	min-height: 104px;
	padding: 20px;
	align-items: center;
	justify-content: center;
	border: 1px solid #ececec;
	border-radius: 16px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	cursor: pointer;
	font: inherit;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.servicecore-model-selector__choice:hover {
	border-color: #b9cfe1;
	box-shadow: 0 12px 24px rgb(17 17 17 / 8%);
	transform: translateY(-3px);
}

.servicecore-model-selector__choice.is-selected {
	border-color: var(--servicecore-blue);
	background: #f5f8fb;
	box-shadow: 0 0 0 3px rgb(15 76 129 / 10%);
	color: var(--servicecore-blue);
}

.servicecore-model-selector__choice--brand {
	min-height: 120px;
	font-size: 19px;
}

.servicecore-model-selector__results-heading {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 24px;
}

.servicecore-model-selector__results-heading [data-selected-model] {
	display: block;
	margin-top: 12px;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.5;
}

.servicecore-model-selector__reset {
	display: inline-flex;
	height: 42px;
	padding: 0 16px;
	align-items: center;
	justify-content: center;
	border: 1px solid #ececec;
	border-radius: 10px;
	background: var(--servicecore-white);
	color: var(--servicecore-black);
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.servicecore-model-selector__products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 32px;
}

.servicecore-model-product-card {
	display: flex;
	min-height: 352px;
	padding: 16px;
	flex-direction: column;
	border: 1px solid #ececec;
	border-radius: 20px;
	background: var(--servicecore-white);
	box-shadow: 0 6px 20px rgb(17 17 17 / 5%);
}

.servicecore-model-product-card__image {
	display: block;
	width: 100%;
	height: 160px;
	border-radius: 12px;
	background: #f5f5f5;
	object-fit: cover;
}

.servicecore-model-product-card__status {
	margin: 20px 8px 0;
	color: var(--servicecore-blue);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.servicecore-model-product-card h3 {
	margin: 8px 8px 0;
	color: var(--servicecore-black);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.servicecore-model-product-card__sku {
	margin: 8px 8px 0;
	color: var(--servicecore-grey);
	font-size: 13px;
	line-height: 1.45;
}

.servicecore-model-product-card__price {
	margin: auto 8px 0;
	padding-top: 16px;
	color: var(--servicecore-black);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.servicecore-model-product-card__link {
	display: inline-flex;
	height: 42px;
	margin-top: 16px;
	align-items: center;
	justify-content: center;
	border: 1px solid #ececec;
	border-radius: 10px;
	color: var(--servicecore-black);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.servicecore-model-product-card__link:hover {
	border-color: var(--servicecore-blue);
	color: var(--servicecore-blue);
}

.servicecore-model-product-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.servicecore-model-product-card__actions .servicecore-model-product-card__link {
	margin-top: 0;
}

.servicecore-model-product-card__add-to-cart,
.servicecore-model-selector__load-more,
.servicecore-model-selector__empty-link {
	display: inline-flex;
	min-height: 42px;
	padding: 0 16px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 10px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background 220ms ease, transform 220ms ease;
}

.servicecore-model-product-card__add-to-cart:hover,
.servicecore-model-selector__load-more:hover,
.servicecore-model-selector__empty-link:hover {
	background: #0b3a63;
	color: var(--servicecore-white);
	transform: translateY(-1px);
}

.servicecore-model-selector__load-more {
	grid-column: 1 / -1;
	width: fit-content;
	min-width: 164px;
	margin: 28px auto 0;
}

.servicecore-model-selector__loading,
.servicecore-model-selector__empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 24px;
	border-radius: 12px;
	background: #f5f5f5;
	color: var(--servicecore-grey);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-model-selector__empty--products {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 12px;
}

.servicecore-model-selector__empty--products p {
	margin: 0;
}

.servicecore-model-selector__empty--products p:first-child {
	color: var(--servicecore-black);
	font-weight: 700;
}

.servicecore-model-selector__empty-link {
	margin-top: 8px;
}

.servicecore-model-selector__cta {
	max-width: 860px;
	margin: 80px auto 0;
	padding: 48px;
	border-radius: 20px;
	background: #f5f5f5;
	text-align: center;
}

.servicecore-model-selector__cta h2 {
	margin: 0;
	color: var(--servicecore-black);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.servicecore-model-selector__cta p {
	max-width: 620px;
	margin: 16px auto 0;
	color: var(--servicecore-grey);
	font-size: 17px;
	line-height: 1.55;
}

.servicecore-model-selector__cta a {
	display: inline-flex;
	height: 52px;
	margin-top: 28px;
	padding: 0 24px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--servicecore-blue);
	color: var(--servicecore-white);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.servicecore-model-selector__cta a:hover {
	background: #0b3a63;
}

@media (max-width: 900px) {
	.servicecore-model-selector__choice-grid--brands {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.servicecore-model-selector__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.servicecore-model-selector {
		padding: 40px 20px 80px;
	}

	.servicecore-model-selector__intro {
		margin-top: 48px;
		text-align: left;
	}

	.servicecore-model-selector__intro h1 {
		font-size: 38px;
	}

	.servicecore-model-selector__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 40px;
	}

	.servicecore-model-selector__steps span {
		font-size: 12px;
	}

	.servicecore-model-selector__step,
	.servicecore-model-selector__results {
		padding: 24px 20px;
	}

	.servicecore-model-selector__step-heading h2,
	.servicecore-model-selector__results-heading h2 {
		font-size: 26px;
	}

	.servicecore-model-selector__choice-grid,
	.servicecore-model-selector__choice-grid--brands,
	.servicecore-model-selector__products {
		grid-template-columns: 1fr;
	}

	.servicecore-model-selector__choice {
		min-height: 76px;
	}

	.servicecore-model-selector__choice--brand {
		min-height: 88px;
	}

	.servicecore-model-product-card__actions {
		grid-template-columns: 1fr;
	}

	.servicecore-model-selector__results-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.servicecore-model-selector__cta {
		margin-top: 64px;
		padding: 32px 24px;
		text-align: left;
	}

	.servicecore-model-selector__cta h2 {
		font-size: 28px;
	}

	.servicecore-model-selector__cta p {
		margin-right: 0;
		margin-left: 0;
		font-size: 16px;
	}

	.servicecore-model-selector__cta a {
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
 * GROHE public-page system
 * Shared visual language for catalog, product, model selection and service.
 * -------------------------------------------------------------------------- */

.servicecore-page,
.servicecore-parts-catalog,
.servicecore-catalog-page,
.servicecore-model-selector,
.servicecore-request-wizard {
	background: var(--servicecore-white);
	color: var(--servicecore-graphite);
}

.servicecore-page,
.servicecore-parts-catalog,
.servicecore-catalog-page,
.servicecore-model-selector,
.servicecore-request-wizard {
	padding-top: 72px;
	padding-bottom: 130px;
}

.servicecore-parts-catalog__inner,
.servicecore-catalog-page__inner,
.servicecore-model-selector__inner,
.servicecore-request-wizard__inner,
.servicecore-page__inner {
	width: min(1280px, calc(100% - 80px));
	margin: 0 auto;
}

.servicecore-breadcrumbs,
.woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin: 0;
	color: #788186;
	font-size: 12px;
	font-weight: 600;
}

.servicecore-breadcrumbs a,
.woocommerce-breadcrumb a {
	color: #566167;
	text-decoration: none;
	transition: color 0.2s ease;
}

.servicecore-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover { color: var(--servicecore-grohe-blue); }

.servicecore-commerce-hero,
.servicecore-page-visual-hero {
	display: grid;
	grid-template-columns: minmax(0, 0.96fr) minmax(440px, 1.04fr);
	height: 410px;
	min-height: 410px;
	margin-top: 30px;
	overflow: hidden;
	background: var(--servicecore-surface);
}

.servicecore-commerce-hero__content,
.servicecore-page-visual-hero__content {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	padding: 66px clamp(36px, 6vw, 90px);
}

.servicecore-commerce-hero h1,
.servicecore-page-visual-hero h1 {
	max-width: 570px;
	margin: 0;
	color: var(--servicecore-graphite);
	font-size: clamp(44px, 4.8vw, 70px);
	font-weight: 630;
	letter-spacing: -0.065em;
	line-height: 0.98;
}

.servicecore-commerce-hero .servicecore-parts-catalog__subtitle,
.servicecore-page-visual-hero .servicecore-request-wizard__intro > p:last-child,
.servicecore-page-visual-hero .servicecore-model-selector__intro > p:last-child {
	max-width: 475px;
	margin: 25px 0 0;
	color: var(--servicecore-muted);
	font-size: 17px;
	line-height: 1.55;
}

.servicecore-commerce-hero .servicecore-parts-catalog__subtitle p { margin: 0; }

.servicecore-commerce-hero__media,
.servicecore-page-visual-hero__media {
	position: relative;
	height: 410px;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	background: #dfe3e4;
}

.servicecore-commerce-hero__media img,
.servicecore-page-visual-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.servicecore-commerce-hero__media img { object-position: 75% center; }
.servicecore-page-visual-hero--model .servicecore-page-visual-hero__media img { object-position: 78% center; }

/* The service-request image is deliberately portrait. It has its own narrow
   column so the technician and the work being done remain fully visible. */
.servicecore-page-visual-hero--request {
	grid-template-columns: minmax(0, 1fr) 290px;
	height: 612px;
	min-height: 612px;
}

.servicecore-page-visual-hero--request .servicecore-page-visual-hero__media {
	height: 612px;
	background: #e7ebec;
}

.servicecore-page-visual-hero--request .servicecore-page-visual-hero__media img {
	object-fit: contain;
	object-position: center;
}

.servicecore-page-visual-hero--request .servicecore-page-visual-hero__content {
	align-items: flex-start;
	text-align: left;
}

.servicecore-page-visual-hero--request .servicecore-page-visual-hero__content > * {
	align-self: flex-start;
	margin-right: 0;
	margin-left: 0;
	text-align: left;
}

.servicecore-page-visual-hero .servicecore-model-selector__intro,
.servicecore-page-visual-hero .servicecore-request-wizard__intro {
	max-width: none;
	margin: 0;
	text-align: left;
}

.servicecore-page-visual-hero .servicecore-model-selector__eyebrow,
.servicecore-page-visual-hero .servicecore-eyebrow {
	margin: 0 0 17px;
	color: var(--servicecore-grohe-blue);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.servicecore-parts-catalog__search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: 72px;
	margin-top: 48px;
	padding: 7px;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
	box-shadow: 0 14px 36px rgb(23 26 29 / 6%);
}

.servicecore-parts-catalog__search:focus-within { border-color: var(--servicecore-grohe-blue); box-shadow: 0 0 0 3px rgb(0 92 169 / 10%); }
.servicecore-parts-catalog__search input { min-width: 0; height: auto; padding: 12px 20px; border: 0; border-radius: 0; color: var(--servicecore-graphite); font: inherit; font-size: 15px; outline: 0; }
.servicecore-parts-catalog__search input::placeholder { color: #849095; opacity: 1; }
.servicecore-parts-catalog__search button,
.servicecore-parts-catalog__model-selector-button,
.servicecore-parts-catalog__help-button {
	display: inline-flex;
	min-height: 56px;
	padding: 0 25px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--servicecore-grohe-blue);
	border-radius: 2px;
	background: var(--servicecore-grohe-blue);
	color: var(--servicecore-white);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.25s var(--servicecore-ease), transform 0.25s var(--servicecore-ease);
}

.servicecore-parts-catalog__search button:hover,
.servicecore-parts-catalog__model-selector-button:hover,
.servicecore-parts-catalog__help-button:hover { background: var(--servicecore-grohe-blue-dark); color: var(--servicecore-white); transform: translateY(-1px); }

.servicecore-parts-catalog__model-selector {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 22px;
	padding: 32px 38px;
	border: 1px solid var(--servicecore-line);
	border-left: 4px solid var(--servicecore-grohe-blue);
	border-radius: 2px;
	background: #f6f8f9;
	gap: 30px;
}

.servicecore-parts-catalog__model-selector h2,
.servicecore-parts-catalog__help h2 { margin: 0; color: var(--servicecore-graphite); font-size: 24px; font-weight: 650; letter-spacing: -0.045em; }
.servicecore-parts-catalog__model-selector p,
.servicecore-parts-catalog__help p { max-width: 620px; margin: 10px 0 0; color: var(--servicecore-muted); font-size: 14px; line-height: 1.55; }

.servicecore-parts-catalog__categories,
.servicecore-parts-catalog__products { margin-top: 120px; }
.servicecore-parts-catalog__section-title { margin: 0; color: var(--servicecore-graphite); font-size: clamp(30px, 3vw, 43px); font-weight: 630; letter-spacing: -0.06em; line-height: 1.04; }
.servicecore-parts-catalog__category-grid,
.servicecore-catalog-category__grid { gap: 20px; margin-top: 42px; }

.servicecore-parts-category-card,
.servicecore-catalog-category-card,
.servicecore-commerce-product-card {
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
	box-shadow: none;
	transition: border-color 0.3s var(--servicecore-ease), box-shadow 0.3s var(--servicecore-ease), transform 0.3s var(--servicecore-ease);
}

.servicecore-parts-category-card:hover,
.servicecore-catalog-category-card:hover,
.servicecore-commerce-product-card:hover { border-color: #bdc4c7; box-shadow: 0 18px 36px rgb(23 26 29 / 9%); transform: translateY(-4px); }

.servicecore-parts-category-card__image,
.servicecore-catalog-category-card__image,
.servicecore-commerce-product-card__image { border-radius: 0; background: #eef0f0; }
.servicecore-parts-category-card__image-file,
.servicecore-catalog-category-card__image-file,
.servicecore-commerce-product-card__image img { filter: saturate(0.88); }

.servicecore-commerce-product-card { min-height: 100%; padding: 0; overflow: hidden; }
.servicecore-commerce-product-card__image { min-height: 248px; }
.servicecore-commerce-product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s var(--servicecore-ease); }
.servicecore-commerce-product-card:hover .servicecore-commerce-product-card__image img { transform: scale(1.04); }
.servicecore-commerce-product-card__status { display: inline-flex; width: fit-content; margin: 22px 25px 0; padding: 5px 9px; background: #e5f0e9; color: #28633e; font-size: 11px; font-weight: 750; letter-spacing: 0.04em; text-transform: uppercase; }
.servicecore-commerce-product-card__title { margin: 15px 25px 0; font-size: 21px; font-weight: 640; letter-spacing: -0.045em; line-height: 1.12; }
.servicecore-commerce-product-card__title a { color: var(--servicecore-graphite); text-decoration: none; }
.servicecore-commerce-product-card__sku,
.servicecore-commerce-product-card__description { margin: 10px 25px 0; color: var(--servicecore-muted); font-size: 13px; line-height: 1.5; }
.servicecore-commerce-product-card__price { margin: 22px 25px 0; color: var(--servicecore-graphite); font-size: 18px; font-weight: 700; }
.servicecore-commerce-product-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 24px 25px 25px; }
.servicecore-commerce-product-card__details,
.servicecore-commerce-product-card .button { display: inline-flex; min-height: 45px; align-items: center; justify-content: center; border: 1px solid var(--servicecore-line); border-radius: 2px; background: var(--servicecore-white); color: var(--servicecore-graphite); font-size: 13px; font-weight: 700; text-decoration: none; }
.servicecore-commerce-product-card .button { border-color: var(--servicecore-grohe-blue); background: var(--servicecore-grohe-blue); color: var(--servicecore-white); }
.servicecore-commerce-product-card__details:hover { border-color: var(--servicecore-graphite); color: var(--servicecore-graphite); }
.servicecore-commerce-product-card .button:hover { background: var(--servicecore-grohe-blue-dark); color: var(--servicecore-white); }

.servicecore-parts-catalog__products-heading { align-items: end; margin-bottom: 42px; }
.servicecore-parts-catalog__products-heading p { margin: 11px 0 0; color: var(--servicecore-muted); font-size: 14px; }
.servicecore-parts-catalog__ordering { gap: 10px; color: var(--servicecore-muted); font-size: 12px; font-weight: 650; }
.servicecore-parts-catalog__ordering select { height: 44px; border-color: var(--servicecore-line); border-radius: 2px; }
.servicecore-parts-catalog__help,
.servicecore-catalog-page__cta { margin-top: 120px; padding: 58px 64px; border: 0; border-radius: 2px; background: var(--servicecore-graphite); color: var(--servicecore-white); }
.servicecore-parts-catalog__help h2,
.servicecore-catalog-page__cta h2 { color: var(--servicecore-white); font-size: clamp(28px, 3vw, 41px); }
.servicecore-parts-catalog__help p,
.servicecore-catalog-page__cta p { color: #c5cbce; font-size: 16px; }
.servicecore-parts-catalog__help-button,
.servicecore-catalog-page__cta a { margin-top: 24px; border-color: var(--servicecore-white); background: var(--servicecore-white); color: var(--servicecore-graphite); }
.servicecore-parts-catalog__help-button:hover,
.servicecore-catalog-page__cta a:hover { background: #e4e8e9; color: var(--servicecore-graphite); }

/* Model selector and service request share the same restrained cards. */
.servicecore-model-selector__steps,
.servicecore-request-wizard__progress { max-width: none; margin: 40px 0 0; }
.servicecore-model-selector__steps span,
.servicecore-request-wizard__progress li { min-height: 48px; border-color: var(--servicecore-line); border-radius: 2px; color: var(--servicecore-muted); }
.servicecore-model-selector__steps .is-active,
.servicecore-model-selector__steps .is-complete,
.servicecore-request-wizard__progress .is-active,
.servicecore-request-wizard__progress .is-complete { border-color: var(--servicecore-grohe-blue); background: #eff5f9; color: var(--servicecore-grohe-blue); }
.servicecore-model-selector__step,
.servicecore-model-selector__results,
.servicecore-request-wizard__step,
.servicecore-request-wizard__review,
.servicecore-request-wizard__summary { border-color: var(--servicecore-line); border-radius: 2px; box-shadow: 0 14px 35px rgb(23 26 29 / 5%); }
.servicecore-model-selector__step-heading h2,
.servicecore-model-selector__results-heading h2,
.servicecore-request-wizard__step-heading h2 { color: var(--servicecore-graphite); font-weight: 630; letter-spacing: -0.05em; }
.servicecore-model-selector__choice,
.servicecore-request-choice-card { border-color: var(--servicecore-line); border-radius: 2px; color: var(--servicecore-graphite); }
.servicecore-model-selector__choice:hover,
.servicecore-request-choice-card:hover { border-color: #aeb9be; box-shadow: 0 14px 28px rgb(23 26 29 / 8%); }
.servicecore-model-selector__choice.is-selected,
.servicecore-request-choice-card:has(input:checked) { border-color: var(--servicecore-grohe-blue); background: #eff5f9; box-shadow: 0 0 0 2px rgb(0 92 169 / 10%); color: var(--servicecore-grohe-blue); }
.servicecore-model-selector__model-search,
.servicecore-request-wizard input,
.servicecore-request-wizard select,
.servicecore-request-wizard textarea { border-color: var(--servicecore-line); border-radius: 2px; color: var(--servicecore-graphite); }
.servicecore-model-selector__model-search:focus,
.servicecore-request-wizard input:focus,
.servicecore-request-wizard select:focus,
.servicecore-request-wizard textarea:focus { border-color: var(--servicecore-grohe-blue); box-shadow: 0 0 0 3px rgb(0 92 169 / 10%); outline: 0; }
.servicecore-model-selector__cta { max-width: none; margin: 80px 0 0; border-radius: 2px; background: var(--servicecore-surface); text-align: left; }
.servicecore-model-selector__cta h2 { color: var(--servicecore-graphite); font-weight: 630; letter-spacing: -0.05em; }
.servicecore-model-selector__cta a,
.servicecore-request-wizard__next,
.servicecore-request-wizard__submit { border-radius: 2px; background: var(--servicecore-grohe-blue); }
.servicecore-model-selector__cta a:hover,
.servicecore-request-wizard__next:hover,
.servicecore-request-wizard__submit:hover { background: var(--servicecore-grohe-blue-dark); }

/* Product detail and WooCommerce system screens. */
.servicecore-product-page { margin-top: 44px; }
.servicecore-product-page__hero { align-items: stretch; gap: 64px; }
.servicecore-product-page__gallery { background: var(--servicecore-surface); }
.servicecore-product-page__main-image { min-height: 560px; border-radius: 2px; background: #eef0f0; }
.servicecore-product-page__main-image-file { height: 560px; object-fit: cover; }
.servicecore-product-page__summary { padding: 32px 0; }
.servicecore-product-page__article { color: var(--servicecore-grohe-blue); font-size: 12px; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.servicecore-product-page__summary h1 { color: var(--servicecore-graphite); font-size: clamp(38px, 4vw, 58px); font-weight: 630; letter-spacing: -0.065em; line-height: 1; }
.servicecore-product-page__availability { display: inline-flex; padding: 6px 10px; background: #e5f0e9; color: #28633e; font-size: 12px; font-weight: 700; }
.servicecore-product-page__price { font-size: 30px; font-weight: 700; }
.servicecore-product-page__primary-button,
.servicecore-product-page__secondary-button { min-height: 54px; border-radius: 2px; }
.servicecore-product-page__primary-button { background: var(--servicecore-grohe-blue); }
.servicecore-product-page__primary-button:hover { background: var(--servicecore-grohe-blue-dark); }
.servicecore-product-page__secondary-button { border-color: var(--servicecore-line); }
.servicecore-product-page__details,
.servicecore-product-page__compatibility { border-color: var(--servicecore-line); border-radius: 2px; box-shadow: none; }
.servicecore-product-page__details h2,
.servicecore-product-page__compatibility h2,
.servicecore-product-page__recommended h2 { color: var(--servicecore-graphite); font-weight: 630; letter-spacing: -0.05em; }

/* --------------------------------------------------------------------------
 * Product detail: spare-parts decision page
 * The screen is intentionally service-led: availability, regional price and
 * compatibility are visible before the customer starts a request.
 * -------------------------------------------------------------------------- */
.servicecore-commerce--single-product .servicecore-product-page { margin-top: 32px; }

.servicecore-commerce--single-product .servicecore-product-page__hero {
	grid-template-columns: minmax(0, .94fr) minmax(390px, 1.06fr);
	align-items: start;
	gap: clamp(36px, 5vw, 80px);
}

.servicecore-product-page__header {
	max-width: 1040px;
	margin-bottom: clamp(24px, 3vw, 38px);
}

.servicecore-product-page__header h1 {
	margin: 0;
	color: var(--servicecore-graphite);
	font-size: clamp(28px, 2.35vw, 36px);
	font-weight: 630;
	letter-spacing: -.058em;
	line-height: 1.05;
}

.servicecore-commerce--single-product .servicecore-product-gallery {
	position: sticky;
	top: 112px;
}

.servicecore-commerce--single-product .servicecore-product-gallery__main {
	position: relative;
	min-height: clamp(360px, 34vw, 480px);
	border-color: #dce1e3;
	background: #f3f5f5;
}

.servicecore-commerce--single-product .servicecore-product-gallery__main img {
	padding: clamp(18px, 3vw, 48px);
	box-sizing: border-box;
}

.servicecore-product-gallery__zoom-hint {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: inline-flex;
	min-height: 32px;
	padding: 0 11px;
	align-items: center;
	border: 1px solid rgb(23 26 29 / 14%);
	background: rgb(255 255 255 / 92%);
	color: var(--servicecore-graphite);
	font-size: 12px;
	font-weight: 650;
	line-height: 1;
}

.servicecore-commerce--single-product .servicecore-product-page__summary {
	padding: clamp(22px, 2.2vw, 30px);
	border: 1px solid #dce1e3;
	background: #f7f8f8;
}

.servicecore-product-page__identity {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin-bottom: 18px;
}

.servicecore-product-page__identity .servicecore-product-page__eyebrow,
.servicecore-product-page__brand {
	margin: 0;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: .09em;
	line-height: 1.25;
	text-transform: uppercase;
}

.servicecore-product-page__identity .servicecore-product-page__eyebrow { color: var(--servicecore-grohe-blue); }
.servicecore-product-page__brand { color: var(--servicecore-muted); }

.servicecore-commerce--single-product .servicecore-product-page__meta {
	padding: 0;
	gap: 10px;
	justify-content: flex-start;
	text-align: left;
}

.servicecore-product-page__region {
	color: var(--servicecore-muted);
	font-size: 12px;
	line-height: 1.4;
}

.servicecore-product-page__purchase-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 0;
	border: 0;
}

.servicecore-product-page__purchase-top .servicecore-product-page__meta {
	order: 1;
}

.servicecore-commerce--single-product .servicecore-product-page__price {
	order: 2;
	margin: 0;
	font-size: clamp(24px, 1.7vw, 28px);
	font-weight: 720;
	line-height: 1.1;
}

.servicecore-commerce--single-product .servicecore-product-page__price--request {
	color: var(--servicecore-graphite);
	font-size: clamp(21px, 1.55vw, 24px);
}

.servicecore-commerce--single-product .servicecore-product-page__short-description {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--servicecore-line);
	color: #5f686d;
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-product-page__information {
	margin-top: 18px;
	padding-top: 17px;
	border-top: 1px solid var(--servicecore-line);
}

.servicecore-product-page__information h2 {
	margin: 0 0 11px;
	color: var(--servicecore-graphite);
	font-size: 16px;
	font-weight: 720;
	letter-spacing: -.025em;
	line-height: 1.25;
}

.servicecore-product-page__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px 22px;
	margin: 0;
	border: 0;
}

.servicecore-product-page__facts > div {
	display: block;
	padding: 0;
	border: 0;
}

.servicecore-product-page__facts dt {
	color: var(--servicecore-muted);
	font-size: 10px;
	line-height: 1.45;
	letter-spacing: .025em;
}

.servicecore-product-page__facts dd {
	margin: 3px 0 0;
	color: var(--servicecore-graphite);
	font-size: 12px;
	font-weight: 620;
	line-height: 1.45;
}

.servicecore-commerce--single-product .servicecore-product-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 18px;
	gap: 8px;
	max-width: none;
}

.servicecore-commerce--single-product .servicecore-product-actions > .servicecore-button {
	min-height: 44px;
	width: auto;
	min-width: 0;
	padding: 0 14px;
	font-size: 14px;
	letter-spacing: -.01em;
	justify-content: center;
}

.servicecore-commerce--single-product .servicecore-product-actions__secondary {
	display: flex;
	flex: 0 1 auto;
	flex-wrap: wrap;
	gap: 8px;
}

.servicecore-commerce--single-product .servicecore-product-actions__secondary .servicecore-button {
	min-height: 44px;
	padding: 0 14px;
	font-size: 14px;
	letter-spacing: -.01em;
	justify-content: center;
	text-align: center;
}

.servicecore-product-page__availability-note {
	max-width: none;
	margin: 8px 0 0;
	color: var(--servicecore-muted);
	font-size: 11px;
	line-height: 1.5;
}

.servicecore-commerce--single-product .servicecore-product-page__updated {
	display: none;
}

@media (min-width: 1280px) {
	.servicecore-commerce--single-product .servicecore-product-page__facts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.servicecore-product-page__anchors {
	display: flex;
	gap: 18px;
	margin-top: clamp(44px, 5vw, 68px);
	padding-top: 18px;
	border-top: 1px solid var(--servicecore-line);
	border-bottom: 0;
	overflow-x: auto;
}

.servicecore-product-page__anchors a {
	padding: 0 0 4px;
	flex: 0 0 auto;
	border: 0;
	color: var(--servicecore-muted);
	font-size: 13px;
	font-weight: 650;
	text-decoration: none;
	transition: color .2s var(--servicecore-ease), background .2s var(--servicecore-ease);
}

.servicecore-product-page__anchors a:first-child { border-left: 0; }
.servicecore-product-page__anchors a:hover,
.servicecore-product-page__anchors a:focus-visible { background: transparent; color: var(--servicecore-grohe-blue); outline: 0; }

.servicecore-commerce--single-product .servicecore-product-page__content-grid {
	padding-top: clamp(40px, 5vw, 72px);
	gap: clamp(24px, 5vw, 80px);
}

.servicecore-commerce--single-product .servicecore-product-page__content-grid--compact {
	grid-template-columns: minmax(0, 480px);
}

.servicecore-commerce--single-product .servicecore-product-page__side {
	align-self: start;
	position: sticky;
	top: 112px;
}

.servicecore-commerce--single-product .servicecore-product-section {
	border-color: #dce1e3;
	box-shadow: none;
}

.servicecore-commerce--single-product .servicecore-product-page__compatibility {
	border-top: 3px solid var(--servicecore-grohe-blue);
}

.servicecore-commerce--single-product .servicecore-product-page__compatibility li {
	padding-top: 12px;
	padding-bottom: 12px;
}

.servicecore-page { min-height: 58vh; background: var(--servicecore-surface); }
.servicecore-system-page__intro { max-width: 1280px; margin: 0 auto 42px; padding-top: 22px; }
.servicecore-system-page__intro .servicecore-eyebrow { margin-bottom: 13px; }
.servicecore-system-page__intro h1 { margin: 0; color: var(--servicecore-graphite); font-size: clamp(38px, 4vw, 58px); font-weight: 630; letter-spacing: -0.065em; line-height: 1; }
.servicecore-page__inner > .woocommerce,
.servicecore-page__inner > .woocommerce-form,
.servicecore-page__inner .woocommerce-MyAccount-content,
.servicecore-page__inner .woocommerce-MyAccount-navigation { border: 1px solid var(--servicecore-line); border-radius: 2px; background: var(--servicecore-white); }
.servicecore-page__inner .woocommerce { padding: clamp(24px, 4vw, 54px); }
.servicecore-page__inner .woocommerce-MyAccount-navigation { padding: 18px; }
.servicecore-page__inner .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.servicecore-page__inner .woocommerce-MyAccount-navigation a { display: block; padding: 12px; color: var(--servicecore-graphite); font-weight: 650; text-decoration: none; }
.servicecore-page__inner .woocommerce-MyAccount-navigation .is-active a { background: #eff5f9; color: var(--servicecore-grohe-blue); }
.servicecore-page__inner .button,
.servicecore-page__inner button,
.servicecore-page__inner input[type="submit"] { border-radius: 2px; background: var(--servicecore-grohe-blue); color: var(--servicecore-white); }
.servicecore-page__inner .button:hover,
.servicecore-page__inner button:hover,
.servicecore-page__inner input[type="submit"]:hover { background: var(--servicecore-grohe-blue-dark); color: var(--servicecore-white); }

@media (max-width: 900px) {
	.servicecore-commerce-hero,
	.servicecore-page-visual-hero { grid-template-columns: 1fr; height: auto; min-height: 0; }
	.servicecore-commerce-hero__media { height: 360px; min-height: 360px; }
	.servicecore-page-visual-hero__media { height: 420px; min-height: 420px; }
	.servicecore-page-visual-hero--request .servicecore-page-visual-hero__media {
		width: min(100%, 400px);
		height: auto;
		min-height: 0;
		aspect-ratio: 864 / 1821;
		margin: 0 auto;
	}
	.servicecore-parts-catalog__products { margin-top: 90px; }
	.servicecore-product-page__hero { grid-template-columns: 1fr; gap: 20px; }
	.servicecore-product-page__summary { padding: 12px 0 0; }
	.servicecore-commerce--single-product .servicecore-product-gallery,
	.servicecore-commerce--single-product .servicecore-product-page__side { position: static; }
	.servicecore-commerce--single-product .servicecore-product-page__hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
}

@media (max-width: 640px) {
	.servicecore-page,
	.servicecore-parts-catalog,
	.servicecore-catalog-page,
	.servicecore-model-selector,
	.servicecore-request-wizard { padding-top: 42px; padding-bottom: 80px; }
	.servicecore-parts-catalog__inner,
	.servicecore-catalog-page__inner,
	.servicecore-model-selector__inner,
	.servicecore-request-wizard__inner,
	.servicecore-page__inner { width: min(100% - 40px, 1280px); }
	.servicecore-commerce-hero,
	.servicecore-page-visual-hero { height: auto; min-height: 0; margin-top: 22px; }
	.servicecore-commerce-hero__content,
	.servicecore-page-visual-hero__content { padding: 48px 25px; }
	.servicecore-commerce-hero h1,
	.servicecore-page-visual-hero h1 { font-size: 42px; }
	.servicecore-commerce-hero .servicecore-parts-catalog__subtitle,
	.servicecore-page-visual-hero .servicecore-request-wizard__intro > p:last-child,
	.servicecore-page-visual-hero .servicecore-model-selector__intro > p:last-child { margin-top: 20px; font-size: 16px; }
	.servicecore-commerce-hero__media { height: 230px; min-height: 230px; }
	.servicecore-page-visual-hero__media { height: 280px; min-height: 280px; }
	.servicecore-page-visual-hero--request .servicecore-page-visual-hero__media {
		width: min(100%, 360px);
		height: auto;
		min-height: 0;
		aspect-ratio: 864 / 1821;
		margin: 0 auto;
	}
	.servicecore-parts-catalog__search { grid-template-columns: 1fr; gap: 8px; margin-top: 28px; padding: 8px; }
	.servicecore-parts-catalog__search input { min-height: 50px; padding: 10px 12px; }
	.servicecore-parts-catalog__search button { width: 100%; }
	.servicecore-parts-catalog__model-selector { align-items: flex-start; flex-direction: column; padding: 26px 22px; }
	.servicecore-parts-catalog__model-selector-button { width: 100%; }
	.servicecore-parts-catalog__categories,
	.servicecore-parts-catalog__products { margin-top: 74px; }
	.servicecore-parts-catalog__help,
	.servicecore-catalog-page__cta { margin-top: 76px; padding: 36px 25px; }
	.servicecore-commerce-product-card__actions { grid-template-columns: 1fr; }
	.servicecore-product-page__main-image,
	.servicecore-product-page__main-image-file { min-height: 380px; height: 380px; }
	.servicecore-product-page__summary h1 { font-size: 42px; }
	.servicecore-product-page__header { margin-bottom: 28px; }
	.servicecore-product-page__header h1 { font-size: clamp(28px, 8vw, 32px); }
	.servicecore-commerce--single-product .servicecore-product-page__summary { padding: 22px 20px; }
	.servicecore-product-page__purchase-top { gap: 9px; }
	.servicecore-product-page__purchase-top .servicecore-product-page__meta { justify-content: flex-start; text-align: left; }
	.servicecore-commerce--single-product .servicecore-product-page__price { font-size: 24px; }
	.servicecore-commerce--single-product .servicecore-product-gallery__main { min-height: min(108vw, 500px); }
	.servicecore-commerce--single-product .servicecore-product-gallery__main img { padding: 20px; }
	.servicecore-commerce--single-product .servicecore-product-actions { display: grid; gap: 8px; }
	.servicecore-commerce--single-product .servicecore-product-actions > .servicecore-button,
	.servicecore-commerce--single-product .servicecore-product-actions__secondary .servicecore-button { width: 100%; min-height: 46px; }
	.servicecore-commerce--single-product .servicecore-product-actions__secondary { display: grid; gap: 8px; }
	.servicecore-product-page__facts { grid-template-columns: 1fr; margin: 0; }
	.servicecore-product-page__anchors { gap: 16px; margin-top: 38px; padding-top: 16px; }
	.servicecore-product-page__anchors a { padding: 0 0 4px; }
	.servicecore-model-selector__steps,
	.servicecore-request-wizard__progress { margin-top: 28px; }
	.servicecore-model-selector__step,
	.servicecore-model-selector__results,
	.servicecore-request-wizard__step,
	.servicecore-request-wizard__review,
	.servicecore-request-wizard__summary { border-radius: 2px; }
}

/* ServiceCore brand and regional context. */
.servicecore-site-header__identity {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 14px;
}

.servicecore-site-header__brand-name { white-space: nowrap; }

.servicecore-site-header__status-badge {
	display: inline-block;
	max-width: 260px;
	padding-left: 14px;
	border-left: 1px solid currentcolor;
	color: currentcolor;
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.25;
	opacity: 0.78;
}

.servicecore-platform-hero__brand {
	margin: 0;
	color: var(--servicecore-white);
	font-size: 18px;
	font-weight: 760;
	letter-spacing: 0.015em;
	line-height: 1.2;
}

.servicecore-platform-hero__status {
	max-width: 560px;
	margin: 12px 0 20px;
	color: #9dc6e8;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.4;
}

.servicecore-platform-hero h1 {
	max-width: 680px;
	font-size: clamp(46px, 4.1vw, 64px);
	line-height: 1.02;
}

.servicecore-page-visual-hero__status,
.servicecore-system-page__status {
	margin: 14px 0 0;
	color: var(--servicecore-grohe-blue);
	font-size: 13px;
	font-weight: 650;
	line-height: 1.45;
}

.servicecore-page-visual-hero__content .servicecore-page-visual-hero__status + p {
	margin-top: 18px;
}

.servicecore-system-page__status { max-width: 620px; }

.servicecore-product-page__fit {
	margin-top: 26px;
	padding: 20px 22px;
	border: 1px solid var(--servicecore-line);
	border-left: 3px solid var(--servicecore-grohe-blue);
	border-radius: 2px;
	background: #f6f8f9;
}

.servicecore-product-page__fit h2 {
	margin: 0;
	color: var(--servicecore-graphite);
	font-size: 16px;
	font-weight: 720;
	letter-spacing: -0.02em;
}

.servicecore-product-page__fit p {
	margin: 8px 0 0;
	color: var(--servicecore-muted);
	font-size: 14px;
	line-height: 1.5;
}

.servicecore-product-page__fit a {
	display: inline-flex;
	margin-top: 13px;
	color: var(--servicecore-grohe-blue);
	font-size: 13px;
	font-weight: 720;
	text-decoration: none;
}

.servicecore-product-page__fit a:hover { color: var(--servicecore-grohe-blue-dark); }

@media (max-width: 1120px) {
	.servicecore-site-header__status-badge { display: none; }
}

@media (max-width: 640px) {
	.servicecore-platform-hero__brand { font-size: 16px; }
	.servicecore-platform-hero__status { margin: 10px 0 17px; font-size: 12px; }
	.servicecore-platform-hero h1 { font-size: clamp(42px, 11vw, 54px); }
	.servicecore-page-visual-hero__status,
	.servicecore-system-page__status { font-size: 12px; }
	.servicecore-product-page__fit { padding: 18px; }
}

/* Regional context and selector. */
.servicecore-site-header__region,
.servicecore-site-header__region:visited {
	display: inline-flex;
	min-width: 0;
	flex-direction: column;
	color: currentcolor;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: color 0.2s ease;
}

.servicecore-site-header__region-label {
	margin-bottom: 2px;
	color: currentcolor;
	font-size: 9px;
	font-weight: 650;
	letter-spacing: 0.09em;
	line-height: 1;
	text-transform: uppercase;
	opacity: 0.65;
}

.servicecore-site-header__region:hover { color: var(--servicecore-grohe-blue); }

.servicecore-site-footer__local-data {
	color: #aeb5b8;
	font-size: 12px;
	line-height: 1.45;
}

.servicecore-site-footer__region {
	display: inline-flex;
	flex-shrink: 0;
	gap: 18px;
	margin-left: 20px;
	white-space: nowrap;
}

.servicecore-region-selector[hidden] { display: none !important; }

.servicecore-region-selector {
	position: fixed;
	z-index: 1000;
	inset: 0;
	display: grid;
	padding: 24px;
	place-items: center;
}

.servicecore-region-selector__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(12 16 19 / 72%);
	backdrop-filter: blur(9px);
}

.servicecore-region-selector__dialog {
	position: relative;
	width: min(100%, 760px);
	max-height: min(760px, calc(100dvh - 48px));
	overflow: auto;
	padding: clamp(30px, 5vw, 58px);
	border: 1px solid rgb(255 255 255 / 18%);
	background: var(--servicecore-white);
	box-shadow: 0 28px 90px rgb(0 0 0 / 30%);
	color: var(--servicecore-graphite);
}

.servicecore-region-selector__dialog:focus { outline: 0; }

.servicecore-region-selector__close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: inline-grid;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--servicecore-line);
	border-radius: 50%;
	place-items: center;
	background: var(--servicecore-white);
	color: var(--servicecore-graphite);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.servicecore-region-selector__close:hover { border-color: var(--servicecore-grohe-blue); color: var(--servicecore-grohe-blue); }

.servicecore-region-selector__eyebrow {
	margin: 0 0 16px;
	color: var(--servicecore-grohe-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.servicecore-region-selector h2 {
	max-width: 560px;
	margin: 0;
	font-size: clamp(34px, 5vw, 54px);
	font-weight: 630;
	letter-spacing: -0.06em;
	line-height: 0.98;
}

.servicecore-region-selector h2 + p {
	max-width: 560px;
	margin: 21px 0 0;
	color: var(--servicecore-muted);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-region-selector__error {
	margin: 18px 0 0;
	padding: 12px 14px;
	border-left: 3px solid #b42318;
	background: #fff4f3;
	color: #8b1e16;
	font-size: 14px;
	line-height: 1.45;
}

.servicecore-region-selector__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 34px;
}

.servicecore-region-selector__option {
	display: grid;
	padding: 18px;
	grid-template-columns: 42px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 14px;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
	color: var(--servicecore-graphite);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.25s var(--servicecore-ease), box-shadow 0.25s var(--servicecore-ease), transform 0.25s var(--servicecore-ease);
}

.servicecore-region-selector__option:hover,
.servicecore-region-selector__option:focus-visible {
	border-color: var(--servicecore-grohe-blue);
	box-shadow: 0 15px 28px rgb(23 26 29 / 9%);
	outline: 0;
	transform: translateY(-2px);
}

.servicecore-region-selector__country-code {
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	background: #edf4f8;
	color: var(--servicecore-grohe-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.servicecore-region-selector__option-content { min-width: 0; }
.servicecore-region-selector__option-content strong,
.servicecore-region-selector__option-content small { display: block; }
.servicecore-region-selector__option-content strong { font-size: 16px; font-weight: 750; line-height: 1.25; }
.servicecore-region-selector__option-content small { margin-top: 5px; color: var(--servicecore-muted); font-size: 11px; line-height: 1.35; }
.servicecore-region-selector__arrow { color: var(--servicecore-grohe-blue); font-size: 19px; transition: transform 0.25s var(--servicecore-ease); }
.servicecore-region-selector__option:hover .servicecore-region-selector__arrow { transform: translateX(3px); }

.servicecore-region-selector-open { overflow: hidden; }

@media (max-width: 1120px) {
	.servicecore-site-header__region-label { display: none; }
}

@media (max-width: 900px) {
	.servicecore-site-header__region { padding: 8px 0; font-size: 14px; }
	.servicecore-site-header__region-label { display: inline; font-size: 9px; }
}

@media (max-width: 640px) {
	.servicecore-site-footer__region { flex-wrap: wrap; gap: 10px 16px; margin-left: 0; white-space: normal; }
	.servicecore-region-selector { padding: 14px; }
	.servicecore-region-selector__dialog { max-height: calc(100dvh - 28px); padding: 35px 22px 24px; }
	.servicecore-region-selector h2 { font-size: 34px; }
	.servicecore-region-selector h2 + p { font-size: 14px; }
	.servicecore-region-selector__grid { grid-template-columns: 1fr; margin-top: 25px; }
	.servicecore-region-selector__option { min-height: 84px; padding: 15px; }
}

/* Sprint 1 — global region context and responsive navigation. */
.servicecore-site-footer__inner {
	grid-template-columns: minmax(220px, 1.65fr) repeat(4, minmax(0, 1fr));
	gap: clamp(28px, 3.2vw, 52px);
}

.servicecore-site-footer__status {
	margin-top: 14px !important;
	color: #d2d9dc !important;
	font-size: 12px !important;
	font-weight: 650;
}

.servicecore-site-footer__bottom > div:first-child {
	display: flex;
	max-width: 760px;
	flex-wrap: wrap;
	gap: 7px 14px;
}

.servicecore-site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px 18px;
}

.servicecore-site-footer__legal a {
	color: #cbd1d3;
	text-decoration: none;
}

.servicecore-site-footer__legal a:hover,
.servicecore-site-footer__legal a:focus-visible {
	color: var(--servicecore-white);
}

.servicecore-region-selector__fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.servicecore-region-selector__option {
	position: relative;
	grid-template-columns: 42px minmax(0, 1fr) 22px;
}

.servicecore-region-selector__option:has(input:checked) {
	border-color: var(--servicecore-grohe-blue);
	box-shadow: 0 15px 28px rgb(23 26 29 / 9%);
}

.servicecore-region-selector__selection {
	display: inline-grid;
	width: 20px;
	height: 20px;
	border: 1px solid #a8b1b5;
	border-radius: 50%;
	place-items: center;
}

.servicecore-region-selector__option input:checked ~ .servicecore-region-selector__selection {
	border-color: var(--servicecore-grohe-blue);
	background: var(--servicecore-grohe-blue);
	box-shadow: inset 0 0 0 5px var(--servicecore-white);
}

.servicecore-region-selector__option:focus-within {
	border-color: var(--servicecore-grohe-blue);
	outline: 2px solid rgb(0 92 169 / 34%);
	outline-offset: 2px;
}

.servicecore-region-selector__submit {
	margin-top: 22px;
}

.servicecore-region-selector__submit span { margin-left: 14px; }

.servicecore-mobile-menu-open,
.servicecore-region-selector-open {
	overflow: hidden;
}

@media (max-width: 1120px) {
	.servicecore-site-footer__inner { grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(0, 1fr)); }
	.servicecore-site-footer__column:last-child { grid-column: 2; }
}

@media (max-width: 900px) {
	.servicecore-site-header__inner {
		position: relative;
		min-height: 80px;
		padding-top: 0;
	}

	.servicecore-site-header__toggle {
		width: 44px;
		height: 44px;
		padding: 11px;
		border-radius: 2px;
	}

	.js .servicecore-site-header__navigation {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: flex;
		min-height: min(620px, calc(100dvh - 80px));
		padding: 28px 24px 32px;
		flex-direction: column;
		align-items: stretch;
		border-bottom: 1px solid var(--servicecore-line);
		background: var(--servicecore-white);
		box-shadow: 0 20px 35px rgb(23 26 29 / 14%);
		color: var(--servicecore-graphite);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-10px);
		transition: opacity 0.24s var(--servicecore-ease), transform 0.24s var(--servicecore-ease), visibility 0.24s;
		visibility: hidden;
	}

	.js .servicecore-site-header.is-menu-open .servicecore-site-header__navigation {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	.no-js .servicecore-site-header__inner {
		align-items: flex-start;
		flex-wrap: wrap;
		padding: 20px 0;
	}

	.no-js .servicecore-site-header__navigation {
		display: flex;
		width: 100%;
		padding: 20px 0 0;
		flex-direction: column;
		align-items: stretch;
		border-top: 1px solid currentcolor;
	}

	.no-js .servicecore-site-header__toggle { display: none; }

	.servicecore-site-header__menu,
	.servicecore-site-header__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.servicecore-site-header__menu {
		gap: 0;
		border-top: 1px solid var(--servicecore-line);
	}

	.servicecore-site-header__menu a {
		padding: 17px 0;
		border-bottom: 1px solid var(--servicecore-line);
		font-size: 16px;
	}

	.servicecore-site-header__actions {
		margin-top: 16px;
		gap: 12px;
	}

	.servicecore-site-header__icon-link,
	.servicecore-site-header__account,
	.servicecore-site-header__region {
		display: inline-flex;
		min-height: 44px;
		padding: 8px 0;
		font-size: 15px;
	}

	.servicecore-site-header__icon-link { gap: 10px; }
	.servicecore-site-header__region { flex-direction: row; align-items: center; gap: 9px; }
	.servicecore-site-header__region-label { margin: 0; font-size: 10px; }
	.servicecore-site-header__cta { width: 100%; min-height: 52px; }

	.servicecore-site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-site-footer__brand { grid-column: span 2; }
	.servicecore-site-footer__column:last-child { grid-column: auto; }
}

@media (max-width: 640px) {
	.servicecore-site-footer__inner { grid-template-columns: 1fr; }
	.servicecore-site-footer__brand { grid-column: auto; }
	.servicecore-site-footer__bottom > div:first-child,
	.servicecore-site-footer__legal { justify-content: flex-start; }
	.servicecore-site-footer__legal { gap: 10px 16px; }
	.servicecore-region-selector__submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.servicecore-site-header__navigation,
	.servicecore-region-selector__option,
	.servicecore-region-selector__submit { transition: none !important; }
}

/* Sprint 2 — reusable Home Page sections and Accordion. */
.servicecore-service-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.servicecore-process__steps--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.servicecore-search-section__help {
	max-width: 490px;
	margin: 22px 0 0;
	color: var(--servicecore-muted);
	font-size: 16px;
	line-height: 1.55;
}

.servicecore-search-section__types {
	display: flex;
	margin: 20px 0 0;
	padding: 0;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
}

.servicecore-search-section__types li {
	padding: 7px 10px;
	border: 1px solid var(--servicecore-line);
	border-radius: 999px;
	background: var(--servicecore-white);
	color: var(--servicecore-muted);
	font-size: 12px;
	font-weight: 650;
}

/* Sprint 3 — provider-neutral catalog controls and states. */
.servicecore-catalog-layout {
	display: grid;
	grid-template-columns: minmax(230px, 260px) minmax(0, 1fr);
	align-items: start;
	gap: 32px;
}

.servicecore-catalog-layout__products { min-width: 0; }

.servicecore-catalog-layout .servicecore-parts-catalog__product-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.servicecore-catalog-filters {
	display: grid;
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
}

.servicecore-catalog-filters__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--servicecore-line);
}

.servicecore-catalog-filters__heading h2 {
	margin: 0;
	color: var(--servicecore-graphite);
	font-size: 20px;
	font-weight: 680;
	letter-spacing: -0.04em;
}

.servicecore-catalog-filters__heading a {
	color: var(--servicecore-grohe-blue);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.servicecore-catalog-filters label {
	display: grid;
	gap: 7px;
	color: var(--servicecore-graphite);
	font-size: 12px;
	font-weight: 700;
}

.servicecore-catalog-filters__part-type {
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
	display: grid;
	gap: 7px;
}

.servicecore-catalog-filters__part-type legend {
	padding: 0;
	color: var(--servicecore-graphite);
	font-size: 12px;
	font-weight: 700;
}

.servicecore-catalog-filters select,
.servicecore-catalog-sort select {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
	color: var(--servicecore-graphite);
	font: inherit;
	font-size: 13px;
}

.servicecore-catalog-filters select:focus,
.servicecore-catalog-sort select:focus {
	border-color: var(--servicecore-grohe-blue);
	box-shadow: 0 0 0 3px rgb(0 92 169 / 10%);
	outline: 0;
}

.servicecore-catalog-filters__checkbox {
	display: flex !important;
	align-items: center;
	gap: 9px !important;
	font-weight: 600 !important;
	line-height: 1.35;
}

.servicecore-catalog-filters__checkbox input {
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: var(--servicecore-grohe-blue);
}

.servicecore-catalog-filters__model-help {
	display: grid;
	gap: 5px;
	padding: 14px 0 0;
	border-top: 1px solid var(--servicecore-line);
	color: var(--servicecore-muted);
	font-size: 12px;
	line-height: 1.45;
}

.servicecore-catalog-filters__model-help a {
	color: var(--servicecore-grohe-blue);
	font-weight: 700;
	text-decoration: none;
}

.servicecore-catalog-filters__model-help a:hover {
	text-decoration: underline;
}

.servicecore-catalog-filters button,
.servicecore-catalog-sort button {
	min-height: 44px;
	border: 1px solid var(--servicecore-grohe-blue);
	border-radius: 2px;
	background: var(--servicecore-grohe-blue);
	color: var(--servicecore-white);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.25s var(--servicecore-ease), transform 0.25s var(--servicecore-ease);
}

.servicecore-catalog-filters button:hover,
.servicecore-catalog-sort button:hover {
	background: var(--servicecore-grohe-blue-dark);
	transform: translateY(-1px);
}

.servicecore-catalog-sort {
	display: grid;
	grid-template-columns: auto minmax(180px, 1fr) auto;
	align-items: center;
	gap: 9px;
	color: var(--servicecore-muted);
	font-size: 12px;
	font-weight: 650;
}

.servicecore-catalog-sort button { padding: 0 15px; }

.servicecore-commerce-product-card__status--on_request {
	background: #edf2f5;
	color: #4c5a63;
}

.servicecore-commerce-product-card__status--out_of_stock,
.servicecore-commerce-product-card__status--hidden {
	background: #f7ece9;
	color: #8a3c2f;
}

.servicecore-catalog-product-card .servicecore-commerce-product-card__actions {
	grid-template-columns: 1fr;
	margin-top: auto;
}

.servicecore-catalog-product-card {
	display: flex;
	flex-direction: column;
}

.servicecore-catalog-product-card__image-empty,
.servicecore-catalog-category-card__image-empty {
	display: grid;
	width: 100%;
	height: 100%;
	min-height: 230px;
	place-items: center;
	background: #eef0f0;
	color: var(--servicecore-muted);
	font-size: 13px;
	font-weight: 600;
}

.servicecore-catalog-pagination {
	display: flex;
	margin-top: 38px;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.servicecore-catalog-pagination a,
.servicecore-catalog-pagination span {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	padding: 0 11px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--servicecore-line);
	border-radius: 2px;
	background: var(--servicecore-white);
	color: var(--servicecore-graphite);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.servicecore-catalog-pagination a:hover {
	border-color: var(--servicecore-grohe-blue);
	color: var(--servicecore-grohe-blue);
}

.servicecore-catalog-pagination [aria-current="page"] {
	border-color: var(--servicecore-grohe-blue);
	background: var(--servicecore-grohe-blue);
	color: var(--servicecore-white);
}

.servicecore-catalog-pagination__pages {
	display: flex;
	align-items: center;
	gap: 7px;
}

.servicecore-catalog-state {
	padding: 48px;
	border: 1px solid var(--servicecore-line);
	border-left: 3px solid var(--servicecore-grohe-blue);
	border-radius: 2px;
	background: #f6f8f9;
}

.servicecore-catalog-state h1,
.servicecore-catalog-state h3 {
	margin: 0;
	color: var(--servicecore-graphite);
	font-size: clamp(25px, 3vw, 34px);
	font-weight: 640;
	letter-spacing: -0.05em;
}

.servicecore-catalog-state p {
	max-width: 600px;
	margin: 14px 0 0;
	color: var(--servicecore-muted);
	font-size: 15px;
	line-height: 1.55;
}

.servicecore-catalog-state a {
	display: inline-flex;
	margin-top: 22px;
	color: var(--servicecore-grohe-blue);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.servicecore-catalog-state--error { margin-top: 32px; }

@media (max-width: 1180px) {
	.servicecore-catalog-layout .servicecore-parts-catalog__product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
	.servicecore-catalog-layout { grid-template-columns: 1fr; gap: 24px; }
	.servicecore-catalog-layout__filters { order: -1; }
	.servicecore-catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-catalog-filters__heading,
	.servicecore-catalog-filters__model-help,
	.servicecore-catalog-filters button { grid-column: 1 / -1; }
	.servicecore-parts-catalog__products-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
}

@media (max-width: 640px) {
	.servicecore-catalog-layout .servicecore-parts-catalog__product-grid { grid-template-columns: 1fr; }
	.servicecore-catalog-filters { grid-template-columns: 1fr; padding: 20px; }
	.servicecore-catalog-sort { width: 100%; grid-template-columns: 1fr; align-items: stretch; }
	.servicecore-catalog-sort button { min-height: 44px; }
	.servicecore-catalog-pagination { align-items: stretch; flex-direction: column; }
	.servicecore-catalog-pagination > a { width: 100%; }
	.servicecore-catalog-pagination__pages { width: 100%; justify-content: center; }
	.servicecore-catalog-state { padding: 30px 24px; }
}

@media (prefers-reduced-motion: reduce) {
	.servicecore-catalog-filters button,
	.servicecore-catalog-sort button { transition: none; }
}

.servicecore-home-faq {
	padding: 142px 0;
	background: var(--servicecore-white);
}

.servicecore-home-faq__inner { width: min(900px, calc(100% - 80px)); }

.servicecore-accordion { display: grid; gap: 12px; }

.servicecore-accordion__item {
	overflow: hidden;
	border: 1px solid var(--servicecore-line);
	border-radius: 3px;
	background: var(--servicecore-white);
	transition: border-color 0.25s var(--servicecore-ease), box-shadow 0.25s var(--servicecore-ease);
}

.servicecore-accordion__item[open] {
	border-color: #b7d2e7;
	box-shadow: 0 12px 26px rgb(23 26 29 / 7%);
}

.servicecore-accordion__question {
	display: flex;
	min-height: 72px;
	padding: 22px 24px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	color: var(--servicecore-graphite);
	font-size: 17px;
	font-weight: 680;
	letter-spacing: -0.025em;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
}

.servicecore-accordion__question::-webkit-details-marker { display: none; }

.servicecore-accordion__question:focus-visible {
	outline: 2px solid var(--servicecore-grohe-blue);
	outline-offset: -3px;
}

.servicecore-accordion__indicator {
	position: relative;
	display: block;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.servicecore-accordion__indicator::before,
.servicecore-accordion__indicator::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 1px;
	background: var(--servicecore-grohe-blue);
	content: "";
	transform: translate(-50%, -50%);
	transition: transform 0.25s var(--servicecore-ease);
}

.servicecore-accordion__indicator::after { transform: translate(-50%, -50%) rotate(90deg); }
.servicecore-accordion__item[open] .servicecore-accordion__indicator::after { transform: translate(-50%, -50%) rotate(0); }

.servicecore-accordion__answer {
	padding: 0 24px 24px;
	color: var(--servicecore-muted);
	font-size: 15px;
	line-height: 1.6;
}

.servicecore-accordion__answer p { margin: 0; }

@media (max-width: 900px) {
	.servicecore-service-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-process__steps--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.servicecore-home-faq { padding: 100px 0; }
}

@media (max-width: 640px) {
	.servicecore-service-grid--four,
	.servicecore-process__steps--four { grid-template-columns: 1fr; }
	.servicecore-home-faq { padding: 78px 0; }
	.servicecore-home-faq__inner { width: min(100% - 40px, 900px); }
	.servicecore-search-section__help { margin-top: 18px; font-size: 15px; }
	.servicecore-accordion__question { min-height: 64px; padding: 19px 20px; font-size: 16px; }
	.servicecore-accordion__answer { padding: 0 20px 20px; font-size: 14px; }
}
