/*
 * MCC Industries 鈥?SANY Mining Truck Parts
 * Front-end stylesheet.
 *
 * Design tokens follow the build contract:
 *   navy #102A43 路 orange #F28C28 路 charcoal #252B33 路 white #FFFFFF 路 light #F3F5F7
 *   1240px container 路 44px minimum button height 路 responsive 1280/1024/768/600/480
 *
 * Accessibility notes:
 *   - Body text is #252B33 on #FFFFFF / #F3F5F7 (contrast > 12:1).
 *   - Orange buttons use navy text: #102A43 on #F28C28 is 5.5:1, white on
 *     #F28C28 would only be 2.3:1, so navy text is used to meet WCAG AA.
 *   - Orange text on light backgrounds uses --mcc-orange-ink (#A85408, 5.3:1).
 */

/* -------------------------------------------------------------------------
 * 1. Self-hosted Inter (variable font, latin + latin-ext subsets)
 * ---------------------------------------------------------------------- */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/inter-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/inter-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* -------------------------------------------------------------------------
 * 2. Tokens
 * ---------------------------------------------------------------------- */
:root {
	--mcc-navy: #102A43;
	--mcc-navy-deep: #0A1D30;
	--mcc-navy-soft: #1B3A5A;
	--mcc-orange: #F28C28;
	--mcc-orange-hover: #F9A24A;
	--mcc-orange-ink: #A85408;
	--mcc-charcoal: #252B33;
	--mcc-text: #252B33;
	--mcc-text-soft: #51606E;
	--mcc-white: #FFFFFF;
	--mcc-light: #F3F5F7;
	--mcc-light-2: #E9EDF1;
	--mcc-border: #D8DFE6;
	--mcc-border-strong: #B9C4CF;
	--mcc-border-dark: rgba(255, 255, 255, 0.18);

	--mcc-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

	--mcc-container: 1240px;
	--mcc-gutter: 24px;
	--mcc-radius: 6px;
	--mcc-radius-sm: 4px;

	--mcc-header-h: 84px;
	--mcc-section-y: 88px;
	--mcc-section-y-sm: 56px;

	--mcc-shadow-sm: 0 1px 2px rgba(16, 42, 67, 0.08);
	--mcc-shadow: 0 12px 32px rgba(16, 42, 67, 0.12);
	--mcc-shadow-lg: 0 24px 60px rgba(10, 29, 48, 0.22);

	--mcc-focus: #A85408;
	--mcc-ease: cubic-bezier(0.2, 0.7, 0.3, 1);
}

/* -------------------------------------------------------------------------
 * 3. Base / reset
 * ---------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--mcc-font);
	font-size: 16px;
	line-height: 1.7;
	color: var(--mcc-text);
	background: var(--mcc-white);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

img {
	display: block;
}

figure {
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.5em;
	color: var(--mcc-navy);
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: -0.01em;
}

h1 {
	font-size: clamp(2rem, 3.2vw, 2.85rem);
}

h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.15rem);
}

h3 {
	font-size: clamp(1.15rem, 1.6vw, 1.35rem);
}

p {
	margin: 0 0 1em;
}

p:last-child {
	margin-bottom: 0;
}

a {
	color: var(--mcc-navy);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.18s var(--mcc-ease);
}

a:hover {
	color: var(--mcc-orange-ink);
}

ul,
ol {
	margin: 0 0 1em;
	padding-left: 1.25em;
}

li {
	margin-bottom: 0.35em;
}

code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.95em;
	color: var(--mcc-navy);
	background: var(--mcc-light);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-sm);
	padding: 2px 7px;
}

:focus-visible {
	outline: 3px solid var(--mcc-focus);
	outline-offset: 2px;
	border-radius: 2px;
}

::selection {
	background: var(--mcc-orange);
	color: var(--mcc-navy);
}

/* -------------------------------------------------------------------------
 * 4. Layout helpers
 * ---------------------------------------------------------------------- */
.container {
	width: 100%;
	max-width: calc(var(--mcc-container) + var(--mcc-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--mcc-gutter);
}

.mcc-main {
	display: block;
	min-height: 40vh;
}

.mcc-section {
	padding-block: var(--mcc-section-y);
}

.mcc-section--light {
	background: var(--mcc-light);
}

.mcc-section--steel {
	background: var(--mcc-light-2);
}

.mcc-section__head {
	max-width: 760px;
	margin-bottom: 40px;
}

.mcc-section__head--split {
	max-width: none;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
}

.mcc-section__head--split > div {
	max-width: 720px;
}

.mcc-section__title {
	margin: 0 0 14px;
}

.mcc-section__intro {
	margin: 0;
	color: var(--mcc-text-soft);
	font-size: 1.04rem;
}

.mcc-section__head .mcc-section__intro {
	margin-top: 4px;
}

.mcc-section__head-link {
	flex-shrink: 0;
	margin-bottom: 6px;
}

.mcc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mcc-orange-ink);
}

.mcc-eyebrow::before {
	content: '';
	display: inline-block;
	width: 26px;
	height: 3px;
	border-radius: 2px;
	background: var(--mcc-orange);
}

.mcc-eyebrow--light {
	color: var(--mcc-orange);
}

.mcc-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-weight: 600;
	color: var(--mcc-navy);
	text-decoration: none;
}

.mcc-link-arrow svg {
	transition: transform 0.18s var(--mcc-ease);
}

.mcc-link-arrow:hover svg {
	transform: translateX(3px);
}

.mcc-link-arrow--light {
	color: var(--mcc-white);
}

.mcc-link-arrow--light:hover {
	color: var(--mcc-orange);
}

.mcc-checklist {
	margin: 22px 0 26px;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 12px;
}

.mcc-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	color: var(--mcc-text);
}

.mcc-checklist li svg {
	flex-shrink: 0;
	margin-top: 4px;
	color: var(--mcc-orange-ink);
}

.mcc-checklist--center {
	max-width: 520px;
	margin-inline: auto;
	text-align: left;
}

.mcc-trademark-note {
	max-width: 900px;
	margin: 0 auto;
	font-size: 0.86rem;
	line-height: 1.65;
	color: var(--mcc-text-soft);
	text-align: center;
}

.mcc-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	height: 100%;
	min-height: 180px;
	background: linear-gradient(135deg, var(--mcc-navy) 0%, var(--mcc-navy-soft) 100%);
	color: rgba(255, 255, 255, 0.82);
	border-radius: inherit;
}

.mcc-placeholder__label {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* -------------------------------------------------------------------------
 * 5. Buttons
 * ---------------------------------------------------------------------- */
.mcc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 10px 22px;
	border: 1px solid transparent;
	border-radius: var(--mcc-radius-sm);
	background: transparent;
	color: var(--mcc-navy);
	font-family: inherit;
	font-size: 0.97rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s var(--mcc-ease), color 0.18s var(--mcc-ease), border-color 0.18s var(--mcc-ease), transform 0.18s var(--mcc-ease);
}

.mcc-btn svg {
	flex-shrink: 0;
}

.mcc-btn:hover {
	transform: translateY(-1px);
}

.mcc-btn:active {
	transform: translateY(0);
}

.mcc-btn--primary {
	background: var(--mcc-orange);
	color: var(--mcc-navy);
}

.mcc-btn--primary:hover {
	background: var(--mcc-orange-hover);
	color: var(--mcc-navy);
}

.mcc-btn--outline {
	background: transparent;
	border-color: var(--mcc-navy);
	color: var(--mcc-navy);
}

.mcc-btn--outline:hover {
	background: var(--mcc-navy);
	color: var(--mcc-white);
}

.mcc-btn--outline-light {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.7);
	color: var(--mcc-white);
}

.mcc-btn--outline-light:hover {
	background: var(--mcc-white);
	color: var(--mcc-navy);
	border-color: var(--mcc-white);
}

.mcc-btn--ghost {
	background: var(--mcc-light);
	border-color: var(--mcc-border);
	color: var(--mcc-navy);
}

.mcc-btn--ghost:hover {
	background: var(--mcc-light-2);
}

.mcc-btn--sm {
	min-height: 44px;
	padding: 8px 16px;
	font-size: 0.88rem;
}

.mcc-btn--lg {
	min-height: 52px;
	padding: 13px 28px;
	font-size: 1.02rem;
}

.mcc-btn--block {
	width: 100%;
}

.mcc-btn__label {
	display: inline-block;
}

.mcc-btn.is-copied,
.mcc-btn:hover.is-copied {
	background: #1F7A4D;
	color: var(--mcc-white);
	border-color: #1F7A4D;
}

.mcc-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 7px 15px;
	border: 1px solid var(--mcc-border);
	border-radius: 999px;
	background: var(--mcc-white);
	color: var(--mcc-navy);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.18s var(--mcc-ease), background-color 0.18s var(--mcc-ease), color 0.18s var(--mcc-ease);
}

.mcc-chip:hover,
.mcc-chip.is-active {
	background: var(--mcc-navy);
	border-color: var(--mcc-navy);
	color: var(--mcc-white);
}

/* -------------------------------------------------------------------------
 * 6. Skip link + screen reader text
 * ---------------------------------------------------------------------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 2000;
	padding: 12px 20px;
	background: var(--mcc-navy);
	color: var(--mcc-white);
	font-weight: 600;
	border-radius: var(--mcc-radius-sm);
	text-decoration: none;
	transform: translateY(-160%);
	transition: transform 0.18s var(--mcc-ease);
}

.skip-link:focus {
	position: fixed !important;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	transform: translateY(0);
}

/* -------------------------------------------------------------------------
 * 7. Header + navigation
 * ---------------------------------------------------------------------- */
.mcc-header {
	position: sticky;
	top: 0;
	z-index: 500;
	background: var(--mcc-white);
	border-bottom: 1px solid var(--mcc-border);
	transition: box-shadow 0.2s var(--mcc-ease);
}

.mcc-header.is-scrolled {
	box-shadow: 0 6px 20px rgba(10, 29, 48, 0.09);
}

.mcc-header__bar {
	position: relative;
}

.mcc-header__inner {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: var(--mcc-header-h);
}

.mcc-brand {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	text-decoration: none;
	line-height: 1;
}

.mcc-brand img,
.mcc-brand .mcc-media__img {
	height: 52px;
	width: auto;
}

.mcc-brand__text {
	font-weight: 800;
	font-size: 1.3rem;
	letter-spacing: -0.02em;
	color: var(--mcc-navy);
}

.mcc-nav {
	margin-left: auto;
}

.mcc-nav__list {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-nav__list li {
	margin: 0;
}

.mcc-nav__list a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 12px;
	color: var(--mcc-navy);
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--mcc-radius-sm);
	transition: color 0.18s var(--mcc-ease), background-color 0.18s var(--mcc-ease);
}

.mcc-nav__list a:hover,
.mcc-nav__list .current-menu-item > a,
.mcc-nav__list .current_page_item > a,
.mcc-nav__list .current-menu-ancestor > a {
	color: var(--mcc-orange-ink);
	background: var(--mcc-light);
}

.mcc-nav__head,
.mcc-nav__foot {
	display: none;
}

.mcc-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.mcc-header__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: var(--mcc-radius-sm);
	background: transparent;
	color: var(--mcc-navy);
	cursor: pointer;
	transition: background-color 0.18s var(--mcc-ease);
}

.mcc-header__icon-btn:hover,
.mcc-header__icon-btn[aria-expanded='true'] {
	background: var(--mcc-light);
}

.mcc-header__lang .mcc-lang {
	margin: 0;
}

.mcc-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-left: auto;
	padding: 0;
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-white);
	color: var(--mcc-navy);
	cursor: pointer;
}

.mcc-nav-toggle__close {
	display: none;
}

.mcc-nav-backdrop {
	display: none;
}

/* Language switcher */
.mcc-lang {
	position: relative;
	display: inline-block;
}

.mcc-lang__summary {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 8px 10px;
	border: 1px solid transparent;
	border-radius: var(--mcc-radius-sm);
	color: var(--mcc-navy);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	transition: background-color 0.18s var(--mcc-ease);
}

.mcc-lang__summary::-webkit-details-marker {
	display: none;
}

.mcc-lang__summary:hover,
.mcc-lang[open] .mcc-lang__summary {
	background: var(--mcc-light);
}

.mcc-lang__chevron {
	transition: transform 0.18s var(--mcc-ease);
}

.mcc-lang[open] .mcc-lang__chevron {
	transform: rotate(180deg);
}

.mcc-lang__list {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 60;
	min-width: 170px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	box-shadow: var(--mcc-shadow);
}

.mcc-lang__item {
	margin: 0;
}

.mcc-lang__link {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 12px;
	border-radius: var(--mcc-radius-sm);
	color: var(--mcc-navy);
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none;
}

.mcc-lang__link:hover {
	background: var(--mcc-light);
}

.mcc-lang__link.is-current {
	background: var(--mcc-light);
	font-weight: 700;
}

.mcc-lang--single {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 8px 10px;
	color: var(--mcc-navy);
	font-size: 0.9rem;
	font-weight: 600;
}

.mcc-lang--footer .mcc-lang__summary,
.mcc-lang--footer .mcc-lang--single,
.mcc-lang--footer.mcc-lang--single {
	color: rgba(255, 255, 255, 0.86);
}

.mcc-lang--footer .mcc-lang__summary:hover,
.mcc-lang--footer[open] .mcc-lang__summary {
	background: rgba(255, 255, 255, 0.1);
}

.mcc-lang--footer .mcc-lang__list {
	top: auto;
	bottom: calc(100% + 6px);
	right: auto;
	left: 0;
}

/* Search panel under the header */
.mcc-search-panel {
	border-top: 1px solid var(--mcc-border);
	background: var(--mcc-white);
	box-shadow: 0 18px 24px rgba(10, 29, 48, 0.08);
}

.mcc-search-panel__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-block: 18px;
}

.mcc-search-panel .mcc-search {
	flex: 1;
	margin: 0;
}

.mcc-search-panel__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-white);
	color: var(--mcc-navy);
	cursor: pointer;
}

/* -------------------------------------------------------------------------
 * 8. Search form
 * ---------------------------------------------------------------------- */
.mcc-search {
	margin: 0;
}

.mcc-search__field {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 10px;
	padding: 8px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border-strong);
	border-radius: var(--mcc-radius);
	box-shadow: var(--mcc-shadow-sm);
}

.mcc-search__field:focus-within {
	border-color: var(--mcc-navy);
	box-shadow: 0 0 0 3px rgba(16, 42, 67, 0.12);
}

.mcc-search__icon {
	align-self: center;
	margin-left: 10px;
	flex-shrink: 0;
	color: var(--mcc-text-soft);
}

.mcc-search__input {
	flex: 1;
	min-width: 0;
	min-height: 48px;
	padding: 10px 4px;
	border: 0;
	background: transparent;
	color: var(--mcc-text);
	font-family: inherit;
	font-size: 1rem;
}

.mcc-search__input::placeholder {
	color: #6B7784;
	opacity: 1;
}

.mcc-search__input:focus {
	outline: none;
}

.mcc-search__submit {
	min-height: 48px;
	padding-inline: 24px;
}

.mcc-search-panel .mcc-search__submit-label,
.mcc-search--default .mcc-search__submit-label {
	display: inline-block;
}

/* -------------------------------------------------------------------------
 * 9. Hero (mining homepage)
 * ---------------------------------------------------------------------- */
.mcc-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: clamp(520px, 62vh, 660px);
	background: var(--mcc-navy-deep);
	color: var(--mcc-white);
	overflow: hidden;
}

.mcc-hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.mcc-hero__media picture,
.mcc-hero__media img,
.mcc-hero__img {
	width: 100%;
	height: 100%;
}

.mcc-hero__img {
	object-fit: cover;
	object-position: center 55%;
}

.mcc-hero__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(10, 29, 48, 0.92) 0%, rgba(10, 29, 48, 0.72) 42%, rgba(10, 29, 48, 0.28) 78%, rgba(10, 29, 48, 0.12) 100%),
		linear-gradient(180deg, rgba(10, 29, 48, 0.4) 0%, rgba(10, 29, 48, 0) 40%);
}

.mcc-hero--no-image .mcc-hero__scrim {
	background: linear-gradient(120deg, var(--mcc-navy-deep), var(--mcc-navy-soft));
}

.mcc-hero__inner {
	padding-block: clamp(64px, 9vw, 112px);
}

.mcc-hero__title {
	max-width: 760px;
	margin: 0 0 20px;
	font-size: clamp(2.15rem, 4.6vw, 3.9rem);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: var(--mcc-white);
}

.mcc-hero__title-accent {
	color: var(--mcc-orange);
}

.mcc-hero__subtitle {
	max-width: 560px;
	margin: 0 0 32px;
	font-size: clamp(1.05rem, 1.5vw, 1.28rem);
	font-weight: 500;
	color: rgba(255, 255, 255, 0.9);
}

.mcc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 30px;
}

.mcc-hero__points {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-hero__points li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 0.9rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.86);
}

.mcc-hero__points svg {
	color: var(--mcc-orange);
}

/* -------------------------------------------------------------------------
 * 10. Homepage search band
 * ---------------------------------------------------------------------- */
.mcc-search-band {
	position: relative;
	z-index: 20;
	margin-top: -52px;
	padding-bottom: 8px;
}

.mcc-search-band__inner {
	padding: 26px 30px 28px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	box-shadow: var(--mcc-shadow);
}

.mcc-search-band__eyebrow {
	margin: 0 0 12px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mcc-orange-ink);
}

.mcc-search-band__help {
	margin: 12px 0 0;
	font-size: 0.88rem;
	color: var(--mcc-text-soft);
}

.mcc-search-band__help a {
	font-weight: 600;
}

/* -------------------------------------------------------------------------
 * 11. Category cards
 * ---------------------------------------------------------------------- */
.mcc-cat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.mcc-cat-grid--sub {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.mcc-cat-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	overflow: hidden;
	text-decoration: none;
	color: var(--mcc-navy);
	transition: transform 0.2s var(--mcc-ease), box-shadow 0.2s var(--mcc-ease), border-color 0.2s var(--mcc-ease);
}

.mcc-cat-card:hover {
	transform: translateY(-3px);
	border-color: var(--mcc-border-strong);
	box-shadow: var(--mcc-shadow);
	color: var(--mcc-navy);
}

.mcc-cat-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--mcc-light-2);
	overflow: hidden;
}

.mcc-cat-card__media picture,
.mcc-cat-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s var(--mcc-ease);
}

.mcc-cat-card:hover .mcc-cat-card__img {
	transform: scale(1.04);
}

.mcc-cat-card__placeholder {
	border-radius: 0;
}

.mcc-cat-card__body {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 20px;
}

.mcc-cat-card__title {
	font-size: 1.06rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--mcc-navy);
}

.mcc-cat-card__count {
	margin-left: auto;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--mcc-text-soft);
	white-space: nowrap;
}

.mcc-cat-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--mcc-light);
	color: var(--mcc-navy);
	transition: background-color 0.18s var(--mcc-ease), color 0.18s var(--mcc-ease);
}

.mcc-cat-card:hover .mcc-cat-card__arrow {
	background: var(--mcc-orange);
	color: var(--mcc-navy);
}

.mcc-cat-card__count + .mcc-cat-card__arrow {
	margin-left: 0;
}

/* -------------------------------------------------------------------------
 * 12. Parts diagram teaser + steps + about teaser
 * ---------------------------------------------------------------------- */
.mcc-diagram-teaser {
	background: var(--mcc-navy);
	color: var(--mcc-white);
}

.mcc-diagram-teaser .mcc-section__title {
	color: var(--mcc-white);
}

.mcc-diagram-teaser .mcc-section__intro {
	color: rgba(255, 255, 255, 0.78);
}

.mcc-diagram-teaser__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 56px;
	align-items: center;
}

.mcc-diagram-teaser__frame {
	padding: 18px;
	background: var(--mcc-white);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--mcc-radius);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.mcc-diagram-teaser__frame img {
	width: 100%;
	height: auto;
}

.mcc-diagram-teaser__img {
	border-radius: var(--mcc-radius-sm);
}

.mcc-diagram-teaser .mcc-checklist li {
	color: rgba(255, 255, 255, 0.86);
}

.mcc-diagram-teaser .mcc-checklist li svg {
	color: var(--mcc-orange);
}

.mcc-diagram-teaser .mcc-btn--primary {
	margin-top: 6px;
}

.mcc-diagram-teaser__placeholder {
	aspect-ratio: 12 / 7;
	background: rgba(255, 255, 255, 0.08);
}

.mcc-step-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.mcc-step {
	position: relative;
	margin: 0;
	padding: 32px 28px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-step__num {
	position: absolute;
	top: 20px;
	right: 24px;
	font-size: 2.6rem;
	font-weight: 800;
	line-height: 1;
	color: var(--mcc-light-2);
}

.mcc-step__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 18px;
	border-radius: var(--mcc-radius-sm);
	background: rgba(242, 140, 40, 0.14);
	color: var(--mcc-orange-ink);
}

.mcc-step__title {
	position: relative;
	margin: 0 0 10px;
	font-size: 1.16rem;
}

.mcc-step__text {
	margin: 0;
	color: var(--mcc-text-soft);
	font-size: 0.96rem;
}

.mcc-step-grid--large .mcc-step {
	padding: 36px 32px;
}

.mcc-steps__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

.mcc-about-teaser__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 56px;
	align-items: center;
}

.mcc-about-teaser__media {
	position: relative;
	border-radius: var(--mcc-radius);
	overflow: hidden;
	background: var(--mcc-light-2);
	aspect-ratio: 4 / 3;
}

.mcc-about-teaser__media picture,
.mcc-about-teaser__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mcc-about-teaser__placeholder {
	height: 100%;
	border-radius: 0;
}

.mcc-about-teaser__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
	margin-top: 8px;
}

/* -------------------------------------------------------------------------
 * 13. Advantages + gallery
 * ---------------------------------------------------------------------- */
.mcc-advantage-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-advantage {
	margin: 0;
	padding: 28px 24px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-top: 3px solid var(--mcc-orange);
	border-radius: var(--mcc-radius);
}

.mcc-advantage__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 16px;
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-light);
	color: var(--mcc-orange-ink);
}

.mcc-advantage__title {
	margin: 0 0 8px;
	font-size: 1.08rem;
}

.mcc-advantage__text {
	margin: 0;
	font-size: 0.93rem;
	color: var(--mcc-text-soft);
}

.mcc-gallery__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 18px;
}

.mcc-gallery__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--mcc-radius);
	background: var(--mcc-light-2);
	min-height: 200px;
}

.mcc-gallery__item--wide {
	grid-column: span 2;
	grid-row: span 2;
}

.mcc-gallery__item picture {
	width: 100%;
	height: 100%;
}

.mcc-gallery__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s var(--mcc-ease);
}

.mcc-gallery__item:hover .mcc-gallery__img {
	transform: scale(1.03);
}

.mcc-gallery__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 26px 18px 14px;
	background: linear-gradient(180deg, rgba(10, 29, 48, 0) 0%, rgba(10, 29, 48, 0.82) 100%);
	color: var(--mcc-white);
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.03em;
}

/* -------------------------------------------------------------------------
 * 14. Contact panel
 * ---------------------------------------------------------------------- */
.mcc-contact {
	padding-block: var(--mcc-section-y);
	background: var(--mcc-navy);
	color: var(--mcc-white);
}

.mcc-contact--light {
	background: var(--mcc-light);
	color: var(--mcc-text);
}

.mcc-contact__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 56px;
	align-items: start;
}

.mcc-contact__title {
	margin: 0 0 16px;
	color: var(--mcc-white);
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
}

.mcc-contact__intro {
	max-width: 620px;
	margin: 0 0 28px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.02rem;
}

.mcc-contact__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.mcc-contact__copyline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 22px 0 0;
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.8);
}

.mcc-contact__copyline code {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.24);
	color: var(--mcc-white);
}

.mcc-contact__details {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-contact__detail {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 18px 20px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--mcc-radius);
}

.mcc-contact__detail-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: var(--mcc-radius-sm);
	background: rgba(242, 140, 40, 0.18);
	color: var(--mcc-orange);
}

.mcc-contact__detail-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.mcc-contact__detail-label {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
}

.mcc-contact__detail-body a,
.mcc-contact__detail-body span {
	color: var(--mcc-white);
	font-size: 0.97rem;
	overflow-wrap: anywhere;
}

.mcc-contact__detail-body a:hover {
	color: var(--mcc-orange);
}

.mcc-contact--light .mcc-contact__title,
.mcc-contact--light .mcc-contact__detail-body a,
.mcc-contact--light .mcc-contact__detail-body span {
	color: var(--mcc-navy);
}

/* -------------------------------------------------------------------------
 * 15. Footer
 * ---------------------------------------------------------------------- */
.mcc-footer {
	background: var(--mcc-navy-deep);
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
}

.mcc-footer__top {
	padding-block: 68px 52px;
}

.mcc-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(0, 1.1fr);
	gap: 44px;
}

.mcc-footer__logo {
	display: inline-block;
	margin-bottom: 20px;
}

.mcc-footer__logo img {
	height: 46px;
	width: auto;
}

.mcc-footer__logo-text {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--mcc-white);
}

.mcc-footer__about {
	margin: 0 0 18px;
	line-height: 1.65;
}

.mcc-footer__trademark {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.5);
}

.mcc-footer__title {
	margin: 0 0 16px;
	color: var(--mcc-white);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.mcc-footer__list,
.mcc-footer__contact {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-footer__list li,
.mcc-footer__contact li {
	margin: 0 0 6px;
}

.mcc-footer__list a,
.mcc-footer__contact a {
	display: inline-block;
	padding-block: 5px;
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
}

.mcc-footer__list a:hover,
.mcc-footer__contact a:hover {
	color: var(--mcc-orange);
}

.mcc-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding-block: 4px;
}

.mcc-footer__icon {
	flex-shrink: 0;
	margin-top: 4px;
	color: var(--mcc-orange);
}

.mcc-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.mcc-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 28px;
	padding-block: 20px;
}

.mcc-footer__copy {
	margin: 0;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.62);
}

.mcc-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0 0 0 auto;
	padding: 0;
	list-style: none;
}

.mcc-footer__legal li {
	margin: 0;
}

.mcc-footer__legal a {
	display: inline-block;
	padding-block: 6px;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
}

.mcc-footer__legal a:hover {
	color: var(--mcc-orange);
}

.mcc-lang--footer .mcc-lang__list {
	background: var(--mcc-navy);
	border-color: rgba(255, 255, 255, 0.15);
}

.mcc-lang--footer .mcc-lang__link {
	color: rgba(255, 255, 255, 0.86);
}

.mcc-lang--footer .mcc-lang__link:hover,
.mcc-lang--footer .mcc-lang__link.is-current {
	background: rgba(255, 255, 255, 0.08);
}

/* -------------------------------------------------------------------------
 * 16. Floating WhatsApp + back to top + cookie bar
 * ---------------------------------------------------------------------- */
.mcc-floating {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 600;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	pointer-events: none;
}

.mcc-floating__wa,
.mcc-floating__top {
	pointer-events: auto;
}

.mcc-floating__wa {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 56px;
	padding: 0 20px 0 16px;
	border-radius: 999px;
	background: #1FAF54;
	color: var(--mcc-white);
	font-weight: 700;
	font-size: 0.92rem;
	text-decoration: none;
	box-shadow: 0 14px 30px rgba(10, 29, 48, 0.28);
	transition: transform 0.2s var(--mcc-ease), background-color 0.2s var(--mcc-ease);
}

.mcc-floating__wa:hover {
	background: #199B4A;
	color: var(--mcc-white);
	transform: translateY(-2px);
}

.mcc-floating__top {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid var(--mcc-border);
	border-radius: 50%;
	background: var(--mcc-white);
	color: var(--mcc-navy);
	box-shadow: var(--mcc-shadow-sm);
	cursor: pointer;
}

.mcc-floating__top:hover {
	background: var(--mcc-light);
}

.mcc-cookie {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 700;
	padding-block: 14px;
	background: var(--mcc-charcoal);
	color: var(--mcc-white);
	box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.2);
}

.mcc-cookie__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
}

.mcc-cookie__text {
	margin: 0;
	flex: 1;
	min-width: 240px;
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.86);
}

.mcc-cookie__actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.mcc-cookie__link {
	font-size: 0.86rem;
	color: var(--mcc-white);
	text-decoration: underline;
}

/* -------------------------------------------------------------------------
 * 17. Inner page header
 * ---------------------------------------------------------------------- */
.mcc-page-head {
	position: relative;
	padding-block: clamp(40px, 5vw, 64px) clamp(44px, 6vw, 72px);
	background: var(--mcc-navy);
	color: var(--mcc-white);
	overflow: hidden;
}

.mcc-page-head__pattern {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(120deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.15));
	pointer-events: none;
}

.mcc-page-head__inner {
	position: relative;
	z-index: 1;
}

.mcc-page-head__title {
	max-width: 900px;
	margin: 0 0 14px;
	color: var(--mcc-white);
	font-size: clamp(1.9rem, 3.4vw, 2.9rem);
}

.mcc-page-head__text {
	max-width: 900px;
	font-size: 1.02rem;
	color: rgba(255, 255, 255, 0.82);
}

.mcc-page-head .mcc-breadcrumbs {
	margin-bottom: 22px;
}

/* Breadcrumbs */
.mcc-breadcrumbs {
	font-size: 0.84rem;
}

.mcc-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
}

.mcc-breadcrumbs__item::after {
	content: '/';
	color: rgba(255, 255, 255, 0.35);
}

.mcc-breadcrumbs__item:last-child::after {
	content: none;
}

.mcc-breadcrumbs a {
	display: inline-block;
	padding-block: 6px;
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
}

.mcc-breadcrumbs a:hover {
	color: var(--mcc-orange);
}

.mcc-breadcrumbs__item.is-current span {
	color: var(--mcc-white);
	font-weight: 600;
}

/* Breadcrumbs on light pages (product page) */
.mcc-product .mcc-breadcrumbs__item,
.mcc-product .mcc-breadcrumbs__item::after {
	color: var(--mcc-text-soft);
}

.mcc-product .mcc-breadcrumbs a {
	color: var(--mcc-text-soft);
}

.mcc-product .mcc-breadcrumbs a:hover {
	color: var(--mcc-orange-ink);
}

.mcc-product .mcc-breadcrumbs__item.is-current span {
	color: var(--mcc-navy);
}

/* -------------------------------------------------------------------------
 * 18. Product grid + product cards
 * ---------------------------------------------------------------------- */
.mcc-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.mcc-product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	overflow: hidden;
	transition: transform 0.2s var(--mcc-ease), box-shadow 0.2s var(--mcc-ease), border-color 0.2s var(--mcc-ease);
}

.mcc-product-card:hover {
	transform: translateY(-3px);
	border-color: var(--mcc-border-strong);
	box-shadow: var(--mcc-shadow);
}

.mcc-product-card__media {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--mcc-light);
	overflow: hidden;
}

.mcc-product-card__media picture,
.mcc-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 10px;
	transition: transform 0.3s var(--mcc-ease);
}

.mcc-product-card:hover .mcc-product-card__img {
	transform: scale(1.03);
}

.mcc-product-card__media .mcc-placeholder {
	border-radius: 0;
}

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

.mcc-product-card__cat {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mcc-product-card__cat a {
	color: var(--mcc-orange-ink);
	text-decoration: none;
}

.mcc-product-card__cat a:hover {
	text-decoration: underline;
}

.mcc-product-card__title {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.35;
}

.mcc-product-card__title a {
	color: var(--mcc-navy);
	text-decoration: none;
}

.mcc-product-card__title a:hover {
	color: var(--mcc-orange-ink);
}

.mcc-product-card__part {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 0.86rem;
	color: var(--mcc-text-soft);
}

.mcc-product-card__part-label {
	font-weight: 600;
}

.mcc-product-card__part code {
	font-size: 0.86rem;
}

.mcc-product-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
}

.mcc-product-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding-inline: 4px;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--mcc-navy);
	text-decoration: none;
}

.mcc-product-card__more:hover svg {
	transform: translateX(2px);
}

.mcc-product-card__more svg {
	transition: transform 0.18s var(--mcc-ease);
}

/* -------------------------------------------------------------------------
 * 19. Archive toolbar + pagination + empty states
 * ---------------------------------------------------------------------- */
.mcc-archive-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 28px;
	margin-bottom: 32px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--mcc-border);
}

.mcc-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	min-width: 0;
}

.mcc-filter__label,
.mcc-sort__label {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mcc-text-soft);
}

.mcc-filter__list,
.mcc-sort__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-filter__list li,
.mcc-sort__list li {
	margin: 0;
}

.mcc-sort {
	display: flex;
	align-items: center;
	gap: 12px;
}

.mcc-sort__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 6px 12px;
	border-radius: var(--mcc-radius-sm);
	color: var(--mcc-text-soft);
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none;
}

.mcc-sort__link:hover {
	color: var(--mcc-navy);
	background: var(--mcc-light-2);
}

.mcc-sort__link.is-active {
	color: var(--mcc-navy);
	background: var(--mcc-white);
	box-shadow: inset 0 0 0 1px var(--mcc-border-strong);
}

.mcc-subcats {
	margin-bottom: 40px;
}

.mcc-subcats__title {
	margin: 0 0 18px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mcc-text-soft);
}

.mcc-pagination {
	margin-top: 44px;
}

.mcc-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-pagination__item {
	margin: 0;
}

.mcc-pagination__item .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-white);
	color: var(--mcc-navy);
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none;
}

.mcc-pagination__item .page-numbers:hover {
	border-color: var(--mcc-navy);
}

.mcc-pagination__item .page-numbers.current {
	background: var(--mcc-navy);
	border-color: var(--mcc-navy);
	color: var(--mcc-white);
}

.mcc-pagination__item .page-numbers.prev,
.mcc-pagination__item .page-numbers.next {
	padding-inline: 16px;
}

.mcc-pagination__item.is-dots .page-numbers {
	border-color: transparent;
	background: transparent;
}

.mcc-empty {
	max-width: 720px;
	margin-inline: auto;
	padding: 52px 32px;
	text-align: center;
	background: var(--mcc-white);
	border: 1px dashed var(--mcc-border-strong);
	border-radius: var(--mcc-radius);
}

.mcc-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--mcc-light);
	color: var(--mcc-orange-ink);
}

.mcc-empty__title {
	margin: 0 0 10px;
	font-size: 1.35rem;
}

.mcc-empty__text {
	max-width: 560px;
	margin: 0 auto 8px;
	color: var(--mcc-text-soft);
}

.mcc-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 22px;
}

.mcc-empty .mcc-checklist {
	text-align: left;
	max-width: 520px;
	margin-inline: auto;
}

/* -------------------------------------------------------------------------
 * 20. Single product
 * ---------------------------------------------------------------------- */
.mcc-product {
	padding-block: 28px 0;
}

.mcc-product__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 56px;
	margin-top: 26px;
}

.mcc-product-gallery {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
}

.mcc-product-gallery__stage {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--mcc-light);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	overflow: hidden;
}

.mcc-product-gallery__zoom {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.mcc-product-gallery__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px;
}

.mcc-product-gallery__hint {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(16, 42, 67, 0.86);
	color: var(--mcc-white);
	font-size: 0.78rem;
	font-weight: 600;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.2s var(--mcc-ease), transform 0.2s var(--mcc-ease);
}

.mcc-product-gallery__zoom:hover .mcc-product-gallery__hint,
.mcc-product-gallery__zoom:focus-visible .mcc-product-gallery__hint {
	opacity: 1;
	transform: translateY(0);
}

.mcc-product-gallery__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-product-gallery__thumbs li {
	margin: 0;
}

.mcc-product-gallery__thumb {
	display: block;
	width: 82px;
	height: 82px;
	padding: 4px;
	border: 2px solid var(--mcc-border);
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-white);
	overflow: hidden;
}

.mcc-product-gallery__thumb:hover,
.mcc-product-gallery__thumb.is-active {
	border-color: var(--mcc-navy);
}

.mcc-product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mcc-product-gallery--empty .mcc-product-gallery__placeholder {
	aspect-ratio: 1 / 1;
}

.mcc-product__summary {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.mcc-product__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.mcc-product__title {
	margin: 0 0 18px;
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
}

.mcc-product__part {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 14px 16px;
	margin-bottom: 20px;
	background: var(--mcc-light);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-product__part-label {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mcc-text-soft);
}

.mcc-product__part-value {
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	padding: 3px 10px;
}

.mcc-product__part .mcc-btn {
	margin-left: auto;
}

.mcc-product__excerpt {
	width: 100%;
	margin-bottom: 18px;
	color: var(--mcc-text-soft);
	font-size: 1rem;
}

.mcc-product__models {
	width: 100%;
	margin-bottom: 18px;
}

.mcc-product__field-label {
	display: block;
	margin-bottom: 8px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mcc-text-soft);
}

.mcc-model-list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc-model-list li {
	margin: 0;
	padding: 5px 12px;
	border: 1px solid var(--mcc-border);
	border-radius: 999px;
	background: var(--mcc-white);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mcc-navy);
}

.mcc-product__fields {
	display: grid;
	gap: 10px;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
}

.mcc-product__field {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-size: 0.92rem;
}

.mcc-product__field dt {
	min-width: 190px;
	font-weight: 600;
	color: var(--mcc-text-soft);
}

.mcc-product__field dd {
	margin: 0;
	color: var(--mcc-text);
}

.mcc-product__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
	margin: 8px 0 16px;
}

.mcc-product__email {
	margin: 0 0 16px;
	font-size: 0.92rem;
	color: var(--mcc-text-soft);
}

.mcc-product__note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 14px 16px;
	background: rgba(242, 140, 40, 0.1);
	border-left: 3px solid var(--mcc-orange);
	border-radius: var(--mcc-radius-sm);
	font-size: 0.9rem;
	color: var(--mcc-charcoal);
}

.mcc-product__note svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--mcc-orange-ink);
}

.mcc-product__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 48px;
	margin-top: 56px;
	padding-top: 48px;
	border-top: 1px solid var(--mcc-border);
}

.mcc-prose-section {
	margin-bottom: 44px;
}

.mcc-prose-section__title {
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--mcc-border);
	font-size: 1.4rem;
}

.mcc-prose {
	font-size: 1rem;
	line-height: 1.78;
}

.mcc-prose h2 {
	margin: 1.6em 0 0.6em;
	font-size: 1.35rem;
}

.mcc-prose h3 {
	margin: 1.4em 0 0.5em;
	font-size: 1.12rem;
}

.mcc-prose ul,
.mcc-prose ol {
	padding-left: 1.3em;
}

.mcc-prose li {
	margin-bottom: 0.45em;
}

.mcc-prose img {
	border-radius: var(--mcc-radius);
}

.mcc-prose--empty {
	color: var(--mcc-text-soft);
}

.mcc-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-spec-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.94rem;
}

.mcc-spec-table tr + tr th,
.mcc-spec-table tr + tr td {
	border-top: 1px solid var(--mcc-border);
}

.mcc-spec-table th,
.mcc-spec-table td {
	padding: 13px 18px;
	text-align: left;
	vertical-align: top;
}

.mcc-spec-table th {
	width: 34%;
	background: var(--mcc-light);
	color: var(--mcc-navy);
	font-weight: 600;
}

.mcc-spec-table td {
	color: var(--mcc-text);
	overflow-wrap: anywhere;
}

.mcc-specs__note {
	margin: 12px 0 0;
	font-size: 0.82rem;
	color: var(--mcc-text-soft);
}

.mcc-product__aside {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.mcc-side-card {
	padding: 24px;
	background: var(--mcc-light);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-side-card--dark {
	background: var(--mcc-navy);
	border-color: var(--mcc-navy);
	color: rgba(255, 255, 255, 0.82);
}

.mcc-side-card__title {
	margin: 0 0 10px;
	font-size: 1.12rem;
}

.mcc-side-card--dark .mcc-side-card__title {
	color: var(--mcc-white);
}

.mcc-side-card__text {
	margin: 0 0 16px;
	font-size: 0.93rem;
	color: var(--mcc-text-soft);
}

.mcc-side-card--dark .mcc-side-card__text {
	color: rgba(255, 255, 255, 0.78);
}

.mcc-side-card__copy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 16px 0 0;
	padding: 12px 14px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-sm);
}

.mcc-side-card__copy-label {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mcc-text-soft);
}

.mcc-side-card__copy .mcc-btn {
	margin-left: auto;
}

.mcc-side-card__contact {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.mcc-side-card__contact li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 0.92rem;
}

.mcc-side-card__contact svg {
	flex-shrink: 0;
	margin-top: 4px;
	color: var(--mcc-orange);
}

.mcc-side-card__contact a {
	color: var(--mcc-navy);
	overflow-wrap: anywhere;
}

.mcc-side-card--dark .mcc-side-card__contact a,
.mcc-side-card--dark .mcc-side-card__contact span {
	color: var(--mcc-white);
}

.mcc-side-card__note {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	font-size: 0.76rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.6);
}

.mcc-side-card--dark .mcc-link-arrow {
	display: flex;
	color: var(--mcc-white);
}

.mcc-side-card--dark .mcc-link-arrow:hover {
	color: var(--mcc-orange);
}

.mcc-related {
	padding-bottom: var(--mcc-section-y-sm);
}

/* Image lightbox */
.mcc-lightbox {
	width: min(1000px, 92vw);
	max-width: 92vw;
	max-height: 90vh;
	padding: 0;
	border: 0;
	border-radius: var(--mcc-radius);
	background: var(--mcc-white);
	box-shadow: var(--mcc-shadow-lg);
}

.mcc-lightbox::backdrop {
	background: rgba(10, 29, 48, 0.82);
}

.mcc-lightbox__img {
	display: block;
	width: 100%;
	max-height: 86vh;
	object-fit: contain;
	padding: 14px;
}

.mcc-lightbox__close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--mcc-navy);
	color: var(--mcc-white);
	cursor: pointer;
}

/* -------------------------------------------------------------------------
 * 21. Search page
 * ---------------------------------------------------------------------- */
.mcc-search-page__form {
	max-width: 860px;
	margin-bottom: 40px;
}

.mcc-search-page__prompt,
.mcc-search-page__related {
	max-width: 1080px;
}

.mcc-search-page__prompt .mcc-cat-grid,
.mcc-search-page__related .mcc-cat-grid {
	margin-top: 28px;
}

.mcc-search-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.mcc-search-page__count {
	margin: 0 0 22px;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--mcc-text-soft);
}

.mcc-search-page__related {
	margin-top: 56px;
}

/* -------------------------------------------------------------------------
 * 22. Parts diagram page
 * ---------------------------------------------------------------------- */
.mcc-diagram-page__intro {
	max-width: 860px;
	margin-bottom: 28px;
}

.mcc-diagram-page__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
}

.mcc-diagram-page__hint {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	max-width: 720px;
	margin: 0;
	font-size: 0.9rem;
	color: var(--mcc-text-soft);
}

.mcc-diagram-page__hint svg {
	flex-shrink: 0;
	margin-top: 3px;
	color: var(--mcc-orange-ink);
}

.mcc-diagram-page__zoom {
	display: inline-flex;
	gap: 6px;
	padding: 5px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-sm);
}

.mcc-diagram-page__zoom-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: var(--mcc-radius-sm);
	background: transparent;
	color: var(--mcc-navy);
	cursor: pointer;
}

.mcc-diagram-page__zoom-btn:hover {
	background: var(--mcc-light);
}

.mcc-diagram-page__scroller {
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
}

.mcc-diagram {
	position: relative;
	width: calc(100% * var(--mcc-diagram-zoom, 1));
	min-width: 100%;
	margin-inline: auto;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	overflow: hidden;
	touch-action: pan-x pan-y;
}

.mcc-diagram__img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
	user-select: none;
}

.mcc-diagram__marker {
	position: absolute;
	transform: translate(-50%, -50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	text-decoration: none;
	z-index: 2;
}

.mcc-diagram__pin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--mcc-orange);
	color: var(--mcc-navy);
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1;
	border: 2px solid var(--mcc-white);
	box-shadow: 0 4px 12px rgba(10, 29, 48, 0.3);
	transition: transform 0.16s var(--mcc-ease), background-color 0.16s var(--mcc-ease);
}

.mcc-diagram__marker:hover .mcc-diagram__pin,
.mcc-diagram__marker:focus-visible .mcc-diagram__pin {
	transform: scale(1.14);
	background: var(--mcc-orange-hover);
}

.mcc-diagram__label {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 6px);
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-navy);
	color: var(--mcc-white);
	font-size: 0.76rem;
	font-weight: 600;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.16s var(--mcc-ease);
	z-index: 3;
}

.mcc-diagram__label::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: var(--mcc-navy);
}

.mcc-diagram__marker:hover .mcc-diagram__label,
.mcc-diagram__marker:focus-visible .mcc-diagram__label {
	opacity: 1;
}

.mcc-diagram-page__legend {
	margin-top: 44px;
}

.mcc-diagram__legend-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.mcc-diagram__legend-item {
	margin: 0;
}

.mcc-diagram__legend-link {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 56px;
	padding: 10px 16px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	color: var(--mcc-navy);
	text-decoration: none;
	transition: border-color 0.18s var(--mcc-ease), box-shadow 0.18s var(--mcc-ease);
}

.mcc-diagram__legend-link:hover {
	border-color: var(--mcc-navy);
	box-shadow: var(--mcc-shadow-sm);
	color: var(--mcc-navy);
}

.mcc-diagram__legend-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--mcc-orange);
	color: var(--mcc-navy);
	font-size: 0.84rem;
	font-weight: 800;
}

.mcc-diagram__legend-name {
	font-weight: 600;
}

.mcc-diagram__legend-action {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--mcc-text-soft);
	white-space: nowrap;
}

.mcc-diagram__legend-link--wa .mcc-diagram__legend-no {
	background: #1FAF54;
	color: var(--mcc-white);
}

/* -------------------------------------------------------------------------
 * 23. Find your parts page
 * ---------------------------------------------------------------------- */
.mcc-find__intro {
	max-width: 860px;
	margin-bottom: 32px;
}

.mcc-photo-tips__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 48px;
	align-items: start;
}

.mcc-photo-tips__card {
	padding: 30px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-photo-tips__card-title {
	margin: 0 0 16px;
	font-size: 1.1rem;
}

.mcc-send-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 14px;
}

.mcc-send-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 0.94rem;
}

.mcc-send-list svg {
	flex-shrink: 0;
	margin-top: 4px;
	color: var(--mcc-orange-ink);
}

.mcc-find-helper__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 48px;
	align-items: start;
}

.mcc-helper {
	display: grid;
	gap: 16px;
	max-width: 560px;
	margin-top: 26px;
}

.mcc-helper__field {
	display: grid;
	gap: 7px;
}

.mcc-helper__label {
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--mcc-navy);
}

.mcc-helper__input {
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--mcc-border-strong);
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-white);
	font-family: inherit;
	font-size: 0.96rem;
	color: var(--mcc-text);
}

.mcc-helper__input:focus {
	outline: none;
	border-color: var(--mcc-navy);
	box-shadow: 0 0 0 3px rgba(16, 42, 67, 0.12);
}

.mcc-find-helper__aside {
	padding: 30px;
	background: var(--mcc-light);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-find-helper__aside .mcc-btn--block + .mcc-btn--block {
	margin-top: 10px;
}

/* -------------------------------------------------------------------------
 * 24. About pages
 * ---------------------------------------------------------------------- */
.mcc-split {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 56px;
	align-items: center;
	margin-top: 44px;
}

.mcc-split--reverse .mcc-split__media {
	order: 2;
}

.mcc-split__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--mcc-light-2);
	border-radius: var(--mcc-radius);
	overflow: hidden;
}

.mcc-split__media picture,
.mcc-split__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mcc-split__placeholder {
	height: 100%;
	border-radius: 0;
}

.mcc-about-brand__content {
	max-width: 860px;
	margin-bottom: 8px;
}

.mcc-company-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.mcc-company-card {
	padding: 30px 26px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-company-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin-bottom: 16px;
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-light);
	color: var(--mcc-orange-ink);
}

.mcc-company-card__title {
	margin: 0 0 10px;
	font-size: 1.12rem;
}

.mcc-company-card__text {
	margin: 0;
	font-size: 0.94rem;
	color: var(--mcc-text-soft);
}

.mcc-region-list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.mcc-region-list li {
	margin: 0;
	padding: 4px 11px;
	border: 1px solid var(--mcc-border);
	border-radius: 999px;
	background: var(--mcc-light);
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--mcc-navy);
}

.mcc-about-company__actions,
.mcc-faq-teaser__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
	margin-top: 34px;
}

/* -------------------------------------------------------------------------
 * 25. FAQ
 * ---------------------------------------------------------------------- */
.mcc-faq-page__inner {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

.mcc-faq-page__aside {
	position: sticky;
	top: calc(var(--mcc-header-h) + 24px);
	display: grid;
	gap: 26px;
}

.mcc-anchor-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 2px;
}

.mcc-anchor-nav li {
	margin: 0;
}

.mcc-anchor-nav a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 14px;
	border-left: 3px solid var(--mcc-border);
	color: var(--mcc-navy);
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.18s var(--mcc-ease), background-color 0.18s var(--mcc-ease);
}

.mcc-anchor-nav a:hover {
	border-left-color: var(--mcc-orange);
	background: var(--mcc-white);
}

.mcc-faq-page__help {
	padding: 22px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-faq-page__help .mcc-side-card__text {
	margin-bottom: 16px;
}

.mcc-faq-page__main .mcc-prose {
	margin-bottom: 36px;
}

.mcc-faq-group {
	margin-bottom: 40px;
	scroll-margin-top: calc(var(--mcc-header-h) + 24px);
}

.mcc-faq-group__title {
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--mcc-border);
	font-size: 1.3rem;
}

.mcc-faq {
	display: grid;
	gap: 10px;
}

.mcc-faq__item {
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	overflow: hidden;
	transition: border-color 0.18s var(--mcc-ease), box-shadow 0.18s var(--mcc-ease);
}

.mcc-faq__item[open] {
	border-color: var(--mcc-border-strong);
	box-shadow: var(--mcc-shadow-sm);
}

.mcc-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 60px;
	padding: 16px 20px;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	color: var(--mcc-navy);
}

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

.mcc-faq__question:hover {
	background: var(--mcc-light);
}

.mcc-faq__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--mcc-light);
	color: var(--mcc-navy);
}

.mcc-faq__icon-minus {
	display: none;
}

.mcc-faq__item[open] .mcc-faq__icon-plus {
	display: none;
}

.mcc-faq__item[open] .mcc-faq__icon-minus {
	display: block;
}

.mcc-faq__answer {
	padding: 0 20px 20px;
	color: var(--mcc-text-soft);
	font-size: 0.96rem;
}

.mcc-faq--compact .mcc-faq__question {
	min-height: 56px;
	font-size: 0.98rem;
}

/* -------------------------------------------------------------------------
 * 26. Contact page + privacy + 404
 * ---------------------------------------------------------------------- */
.mcc-contact-page__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 56px;
	align-items: start;
}

.mcc-contact-page__content {
	margin-bottom: 32px;
}

.mcc-contact-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.mcc-contact-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 24px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-contact-card--primary {
	border-top: 3px solid #1FAF54;
}

.mcc-contact-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: var(--mcc-radius-sm);
	background: var(--mcc-light);
	color: var(--mcc-orange-ink);
}

.mcc-contact-card--primary .mcc-contact-card__icon {
	background: rgba(31, 175, 84, 0.12);
	color: #14803C;
}

.mcc-contact-card__title {
	margin: 0;
	font-size: 1.08rem;
}

.mcc-contact-card__text {
	margin: 0 0 8px;
	font-size: 0.9rem;
	color: var(--mcc-text-soft);
}

.mcc-contact-card .mcc-btn {
	margin-top: auto;
}

.mcc-contact-card .mcc-btn--ghost {
	align-self: flex-start;
	margin-top: 6px;
}

.mcc-contact-page__tips {
	margin-top: 40px;
}

.mcc-contact-page__aside {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.mcc-privacy__inner {
	max-width: 840px;
}

.mcc-privacy__updated {
	margin: 0 0 28px;
	font-size: 0.86rem;
	color: var(--mcc-text-soft);
}

.mcc-404__search {
	max-width: 860px;
	margin-bottom: 44px;
}

.mcc-404__quick,
.mcc-404__categories {
	margin-bottom: 44px;
}

.mcc-quick-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.mcc-quick-links li {
	margin: 0;
}

.mcc-quick-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 54px;
	padding: 12px 18px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	color: var(--mcc-navy);
	font-weight: 600;
	text-decoration: none;
}

.mcc-quick-link:hover {
	border-color: var(--mcc-navy);
	color: var(--mcc-navy);
}

.mcc-quick-link svg {
	color: var(--mcc-orange-ink);
}

/* -------------------------------------------------------------------------
 * 27. Blog fallback
 * ---------------------------------------------------------------------- */
.mcc-post-list {
	display: grid;
	gap: 24px;
	max-width: 860px;
}

.mcc-post-list__item {
	padding: 24px 26px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
}

.mcc-post-list__title {
	margin: 0 0 6px;
	font-size: 1.2rem;
}

.mcc-post-list__meta {
	margin: 0 0 10px;
	font-size: 0.8rem;
	color: var(--mcc-text-soft);
}

.mcc-post-list__excerpt {
	color: var(--mcc-text-soft);
	font-size: 0.95rem;
}

/* -------------------------------------------------------------------------
 * 28. Responsive: 1280 / 1024 / 768 / 600 / 480
 * ---------------------------------------------------------------------- */
@media (max-width: 1280px) {
	:root {
		--mcc-gutter: 22px;
		--mcc-section-y: 76px;
	}

	.mcc-header__inner {
		gap: 18px;
	}

	.mcc-nav__list a {
		padding: 10px 9px;
		font-size: 0.88rem;
	}

	.mcc-product-grid {
		gap: 20px;
	}

	.mcc-footer__grid {
		gap: 32px;
	}
}

@media (max-width: 1024px) {
	:root {
		--mcc-header-h: 74px;
		--mcc-section-y: 64px;
	}

	.mcc-brand img,
	.mcc-brand .mcc-media__img {
		height: 44px;
	}

	/* Mobile drawer navigation */
	.mcc-nav-toggle {
		display: inline-flex;
		order: 3;
	}

	.mcc-header__actions {
		order: 2;
		margin-left: auto;
		gap: 6px;
	}

	.mcc-header__lang {
		display: none;
	}

	.mcc-header__cta {
		display: none;
	}

	.mcc-nav {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		width: min(360px, 88vw);
		margin: 0;
		padding: 20px 22px 32px;
		background: var(--mcc-white);
		border-left: 1px solid var(--mcc-border);
		overflow-y: auto;
		transform: translateX(102%);
		visibility: hidden;
		transition: transform 0.26s var(--mcc-ease), visibility 0.26s;
	}

	.mcc-nav-open .mcc-nav {
		transform: translateX(0);
		visibility: visible;
	}

	.mcc-nav__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-bottom: 16px;
		margin-bottom: 10px;
		border-bottom: 1px solid var(--mcc-border);
	}

	.mcc-nav__title {
		font-size: 0.8rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--mcc-text-soft);
	}

	.mcc-nav__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border: 1px solid var(--mcc-border);
		border-radius: var(--mcc-radius-sm);
		background: var(--mcc-white);
		color: var(--mcc-navy);
		cursor: pointer;
	}

	.mcc-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
	}

	.mcc-nav__list a {
		justify-content: space-between;
		min-height: 50px;
		padding: 12px 10px;
		font-size: 1rem;
		border-bottom: 1px solid var(--mcc-light-2);
		border-radius: 0;
	}

	.mcc-nav__list a:hover,
	.mcc-nav__list .current-menu-item > a {
		background: var(--mcc-light);
	}

	.mcc-nav__foot {
		display: grid;
		gap: 14px;
		margin-top: 22px;
		padding-top: 22px;
		border-top: 1px solid var(--mcc-border);
	}

	.mcc-nav__foot .mcc-lang {
		justify-self: start;
	}

	.mcc-nav-backdrop {
		position: fixed;
		inset: 0;
		z-index: 850;
		display: block;
		border: 0;
		background: rgba(10, 29, 48, 0.55);
		cursor: pointer;
	}

	.mcc-nav-open body,
	body.mcc-nav-open {
		overflow: hidden;
	}

	.mcc-hero {
		min-height: 480px;
	}

	.mcc-hero__media img {
		object-position: center 60%;
	}

	.mcc-cat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}

	.mcc-cat-grid--sub {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mcc-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

	.mcc-diagram-teaser__inner,
	.mcc-about-teaser__inner,
	.mcc-contact__inner,
	.mcc-photo-tips__grid,
	.mcc-find-helper__inner,
	.mcc-split {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	.mcc-split--reverse .mcc-split__media {
		order: 0;
	}

	.mcc-product__top {
		grid-template-columns: minmax(0, 1fr);
		gap: 34px;
	}

	.mcc-product__body {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	.mcc-product__aside {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}

	.mcc-contact-page__grid,
	.mcc-faq-page__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	.mcc-faq-page__aside {
		position: static;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

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

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

	.mcc-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px;
	}

	.mcc-footer__bottom-inner {
		gap: 12px 20px;
	}

	.mcc-footer__legal {
		margin-left: 0;
	}
}

@media (max-width: 768px) {
	:root {
		--mcc-gutter: 20px;
		--mcc-section-y: 54px;
		--mcc-section-y-sm: 44px;
	}

	body {
		font-size: 15.5px;
	}

	.mcc-brand img,
	.mcc-brand .mcc-media__img {
		height: 38px;
	}

	.mcc-hero {
		min-height: 440px;
	}

	/* Keep the mobile truck crop visible behind the headline. */
	.mcc-hero__scrim {
		background:
			linear-gradient(180deg, rgba(10, 29, 48, 0.82) 0%, rgba(10, 29, 48, 0.58) 55%, rgba(10, 29, 48, 0.74) 100%),
			linear-gradient(90deg, rgba(10, 29, 48, 0.55) 0%, rgba(10, 29, 48, 0.2) 100%);
	}

	.mcc-hero__inner {
		padding-block: 56px;
	}

	.mcc-hero__subtitle {
		margin-bottom: 26px;
	}

	.mcc-hero__actions {
		gap: 10px;
	}

	.mcc-hero__actions .mcc-btn {
		flex: 1 1 auto;
	}

	.mcc-search-band {
		margin-top: -34px;
	}

	.mcc-search-band__inner {
		padding: 20px 18px 22px;
	}

	.mcc-search__field {
		flex-wrap: nowrap;
	}

	.mcc-search__submit {
		padding-inline: 16px;
	}

	.mcc-search__submit-label {
		display: none;
	}

	.mcc-search__submit-icon {
		display: block;
	}

	.mcc-cat-grid,
	.mcc-cat-grid--sub {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.mcc-cat-card__body {
		flex-wrap: wrap;
		padding: 14px 16px;
	}

	.mcc-cat-card__count {
		margin-left: 0;
		width: 100%;
		font-size: 0.78rem;
	}

	.mcc-cat-card__arrow {
		display: none;
	}

	.mcc-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.mcc-step-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.mcc-step,
	.mcc-step-grid--large .mcc-step {
		padding: 24px 22px;
	}

	.mcc-advantage-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.mcc-advantage {
		padding: 22px 20px;
	}

	.mcc-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.mcc-gallery__item {
		min-height: 150px;
	}

	.mcc-gallery__item--wide {
		grid-column: span 2;
		grid-row: span 1;
	}

	.mcc-contact__inner {
		gap: 30px;
	}

	.mcc-contact__detail {
		padding: 14px 16px;
	}

	.mcc-footer__top {
		padding-block: 48px 38px;
	}

	.mcc-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.mcc-footer__legal {
		margin-left: 0;
	}

	.mcc-page-head {
		padding-block: 34px 44px;
	}

	.mcc-product__aside,
	.mcc-contact-cards,
	.mcc-quick-links,
	.mcc-faq-page__aside,
	.mcc-company-grid,
	.mcc-diagram__legend-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.mcc-faq-page__aside {
		gap: 20px;
	}

	.mcc-archive-bar {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.mcc-sort {
		width: 100%;
	}

	.mcc-filter__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		width: 100%;
		padding-bottom: 4px;
		scrollbar-width: thin;
	}

	.mcc-filter {
		width: 100%;
	}

	.mcc-product-gallery__thumbs {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.mcc-product-gallery__thumb {
		width: 68px;
		height: 68px;
		flex-shrink: 0;
	}

	.mcc-diagram-page__toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.mcc-diagram {
		width: calc(160% * var(--mcc-diagram-zoom, 1));
	}

	.mcc-diagram__legend-action {
		display: none;
	}

	.mcc-floating {
		right: 14px;
		bottom: 14px;
	}

	.mcc-floating__wa {
		min-height: 52px;
		padding: 0 16px;
	}

	.mcc-floating__wa-label {
		display: none;
	}

	.mcc-cookie__inner {
		align-items: flex-start;
	}

	.mcc-cookie__actions {
		margin-left: auto;
	}

	.mcc-empty {
		padding: 36px 20px;
	}

	.mcc-lightbox {
		padding: 0;
	}
}

@media (max-width: 600px) {
	:root {
		--mcc-gutter: 16px;
		--mcc-section-y: 46px;
	}

	h1 {
		font-size: clamp(1.85rem, 8vw, 2.4rem);
	}

	h2 {
		font-size: clamp(1.45rem, 6.4vw, 1.85rem);
	}

	.mcc-header__inner {
		min-height: 64px;
	}

	.mcc-brand img,
	.mcc-brand .mcc-media__img {
		height: 34px;
	}

	.mcc-hero {
		min-height: 420px;
	}

	.mcc-hero__title {
		font-size: clamp(1.95rem, 9vw, 2.6rem);
	}

	.mcc-hero__subtitle {
		font-size: 1rem;
	}

	.mcc-hero__actions .mcc-btn {
		width: 100%;
	}

	.mcc-hero__points {
		gap: 8px 16px;
		font-size: 0.84rem;
	}

	.mcc-search-band {
		margin-top: 0;
		padding-top: 0;
	}

	.mcc-search-band__inner {
		padding: 16px;
		border-radius: 0;
		border-inline: 0;
		box-shadow: none;
		margin-inline: calc(var(--mcc-gutter) * -1);
		border-top: 1px solid var(--mcc-border);
	}

	.mcc-search__field {
		padding: 6px;
	}

	.mcc-search__input {
		font-size: 0.94rem;
	}

	.mcc-search__submit {
		min-height: 44px;
		min-width: 48px;
		padding-inline: 12px;
	}

	.mcc-search__submit .mcc-search__submit-label {
		display: none;
	}

	.mcc-search__submit .mcc-search__submit-icon {
		display: block;
	}

	.mcc-product-grid {
		gap: 12px;
	}

	.mcc-product-card__body {
		padding: 14px 14px 16px;
	}

	.mcc-product-card__title {
		font-size: 0.96rem;
	}

	.mcc-product-card__foot {
		flex-direction: column;
		align-items: stretch;
	}

	.mcc-product-card__foot .mcc-btn {
		width: 100%;
	}

	.mcc-product-card__more {
		justify-content: center;
	}

	.mcc-product__part {
		flex-wrap: wrap;
	}

	.mcc-product__part .mcc-btn {
		margin-left: 0;
	}

	.mcc-product__actions .mcc-btn {
		width: 100%;
	}

	.mcc-product__aside {
		gap: 16px;
	}

	.mcc-side-card {
		padding: 20px 18px;
	}

	.mcc-archive-bar {
		margin-bottom: 24px;
	}

	.mcc-section__head--split {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.mcc-filter__label,
	.mcc-sort__label {
		display: none;
	}

	.mcc-quick-links {
		grid-template-columns: minmax(0, 1fr);
	}

	.mcc-faq__question {
		padding: 14px 16px;
		font-size: 0.95rem;
	}

	.mcc-faq__answer {
		padding: 0 16px 16px;
	}

	.mcc-cookie__actions {
		width: 100%;
		justify-content: space-between;
	}

	.mcc-cookie__text {
		min-width: 0;
		font-size: 0.82rem;
	}

	.mcc-photo-tips__card,
	.mcc-find-helper__aside {
		padding: 22px 18px;
	}

	.mcc-step__num {
		font-size: 2rem;
	}

	.mcc-floating__top {
		width: 44px;
		height: 44px;
	}

	.mcc-diagram-page__zoom-btn {
		width: 44px;
		height: 44px;
	}

	.mcc-dim-overview,
	.mcc-spec-table th,
	.mcc-spec-table td {
		padding: 11px 12px;
	}

	.mcc-spec-table th {
		width: 42%;
	}
}

@media (max-width: 480px) {
	/* Two category cards per row on phones, as specified in the design rules. */
	.mcc-cat-grid,
	.mcc-cat-grid--sub {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.mcc-cat-card__body {
		padding: 11px 12px;
		gap: 4px;
	}

	.mcc-cat-card__title {
		font-size: 0.9rem;
		line-height: 1.25;
	}

	.mcc-cat-card__count {
		font-size: 0.72rem;
	}

	.mcc-gallery__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.mcc-gallery__item--wide {
		grid-column: span 1;
	}

	.mcc-hero {
		min-height: 400px;
	}

	.mcc-hero__points li {
		width: 100%;
	}

	.mcc-btn--lg {
		padding-inline: 18px;
		font-size: 0.96rem;
	}

	.mcc-footer__bottom-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.mcc-cookie__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.mcc-cookie__link {
		text-align: center;
	}

	.mcc-faq-page__help {
		padding: 18px;
	}

	.mcc-contact__actions .mcc-btn,
	.mcc-steps__actions .mcc-btn,
	.mcc-empty__actions .mcc-btn,
	.mcc-search-page__actions .mcc-btn,
	.mcc-about-teaser__actions .mcc-btn {
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
 * 29. Motion preferences
 * ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.mcc-btn:hover,
	.mcc-cat-card:hover,
	.mcc-product-card:hover,
	.mcc-floating__wa:hover {
		transform: none;
	}
}

/* -------------------------------------------------------------------------
 * 30. WordPress alignment + utility classes
 * ---------------------------------------------------------------------- */
.alignwide {
	width: min(100%, 1100px);
	margin-inline: auto;
}

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
}

.aligncenter {
	margin-inline: auto;
}

.has-text-align-center {
	text-align: center;
}

.wp-caption-text,
.wp-element-caption {
	font-size: 0.84rem;
	color: var(--mcc-text-soft);
	text-align: center;
	padding-top: 6px;
}

.mcc-page-links {
	margin-top: 22px;
}

.mcc-no-js .mcc-diagram-page__zoom {
	display: none;
}

/* Prevent accidental horizontal overflow from wide embeds. */
.entry-content iframe,
.entry-content video,
.entry-content table {
	max-width: 100%;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.entry-content th,
.entry-content td {
	padding: 10px 12px;
	border: 1px solid var(--mcc-border);
	text-align: left;
}

/* -------------------------------------------------------------------------
 * 31. Page-content classes (used by the seeded page copy)
 * ---------------------------------------------------------------------- */

/* The seed markup uses short button classes inside the editor content. */
.mcc-btn-primary {
	background: var(--mcc-orange);
	border-color: var(--mcc-orange);
	color: var(--mcc-navy);
}

.mcc-btn-primary:hover {
	background: var(--mcc-orange-hover);
	border-color: var(--mcc-orange-hover);
	color: var(--mcc-navy);
}

.mcc-btn-secondary {
	background: transparent;
	border-color: var(--mcc-navy);
	color: var(--mcc-navy);
}

.mcc-btn-secondary:hover {
	background: var(--mcc-navy);
	color: var(--mcc-white);
}

.mcc-prose .mcc-btn {
	margin: 6px 8px 6px 0;
}

/* FAQ markup written by the page seed. */
.mcc-prose .mcc-faq-item,
.mcc-faq-item {
	margin: 0 0 10px;
	background: var(--mcc-white);
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	overflow: hidden;
}

.mcc-prose .mcc-faq-item + .mcc-faq-item {
	margin-top: 10px;
}

.mcc-prose .mcc-faq-item summary,
.mcc-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 58px;
	padding: 15px 20px;
	color: var(--mcc-navy);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.mcc-prose .mcc-faq-item summary::-webkit-details-marker,
.mcc-faq-item summary::-webkit-details-marker {
	display: none;
}

.mcc-prose .mcc-faq-item summary::after,
.mcc-faq-item summary::after {
	content: '+';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--mcc-light);
	color: var(--mcc-navy);
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1;
}

.mcc-prose .mcc-faq-item[open] summary::after,
.mcc-faq-item[open] summary::after {
	content: '鈭?;
}

.mcc-prose .mcc-faq-item summary:hover,
.mcc-faq-item summary:hover {
	background: var(--mcc-light);
}

.mcc-prose .mcc-faq-answer,
.mcc-faq-answer {
	padding: 0 20px 18px;
	color: var(--mcc-text-soft);
	font-size: 0.96rem;
}

.mcc-prose .mcc-faq-answer p:last-child,
.mcc-faq-answer p:last-child {
	margin-bottom: 0;
}

/* FAQ page with seeded content: single column + wide help box. */
.mcc-faq-page__single {
	max-width: 900px;
	margin-inline: auto;
}

.mcc-faq-page__help--wide {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 32px;
	margin-top: 40px;
}

.mcc-faq-page__help--wide .mcc-side-card__text {
	margin-bottom: 0;
	max-width: 520px;
}

.mcc-faq-page__help-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Contact page with seeded content. */
.mcc-contact-page__single {
	max-width: 900px;
	margin-inline: auto;
}

.mcc-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.mcc-contact-page__links {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 32px;
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid var(--mcc-border);
}

/* Generic page body (about / about-mcc with seeded content). */
.mcc-page-body__inner {
	max-width: 900px;
	margin-inline: auto;
}

.mcc-page-body__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
	margin-top: 36px;
	padding-top: 26px;
	border-top: 1px solid var(--mcc-border);
}

.mcc-page-body__note {
	margin-top: 32px;
	text-align: left;
}

/* Footer without the hard-coded category column (footer menu is used instead). */
.mcc-footer__grid--three {
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.15fr);
}

@media (max-width: 1024px) {
	.mcc-footer__grid--three {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.mcc-footer__grid--three {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Focus ring on dark sections needs a light colour for 3:1 contrast. */
.mcc-hero :focus-visible,
.mcc-page-head :focus-visible,
.mcc-contact :focus-visible,
.mcc-footer :focus-visible,
.mcc-diagram-teaser :focus-visible,
.mcc-cookie :focus-visible {
	outline-color: #F9B96E;
}

@media (max-width: 600px) {
	.mcc-faq-page__help--wide,
	.mcc-contact-actions,
	.mcc-page-body__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.mcc-contact-actions .mcc-btn,
	.mcc-page-body__actions .mcc-btn {
		width: 100%;
	}
}

/* HTML `hidden` must win over component display rules (mobile nav backdrop,
   search panel, cookie bar, back-to-top). Components remove the attribute via JS. */
[hidden] {
	display: none !important;
}

