/* Word Autoparts — site styles. Tokens follow DESIGN.md; colours read the Elementor globals first. */
:root {
	--wa-navy-950: var(--e-global-color-wanavy950, #111B30);
	--wa-navy-900: var(--e-global-color-primary, #1B2A4A);
	--wa-navy-700: var(--e-global-color-wanavy700, #2D4068);
	--wa-navy-100: var(--e-global-color-wanavy100, #E8ECF3);
	--wa-orange-500: var(--e-global-color-secondary, #F5821F);
	--wa-orange-700: var(--e-global-color-accent, #B45309);
	--wa-orange-100: var(--e-global-color-waorange100, #FDEEDF);
	--wa-ink: var(--e-global-color-text, #1A1F2B);
	--wa-slate: var(--e-global-color-waslate, #5B6475);
	--wa-line: var(--e-global-color-waline, #E2DFD9);
	--wa-paper: var(--e-global-color-wapaper, #F5F3EF);
	--wa-white: #FFFFFF;
	--wa-whatsapp: #25D366;
	--wa-success: #15803D;
	--wa-error: #C8372D;
	--wa-display: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--wa-body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
	--wa-r-sm: 6px; --wa-r-md: 10px; --wa-r-lg: 16px; --wa-r-full: 999px;
	--wa-sh-sm: 0 1px 2px rgba(17, 27, 48, .06);
	--wa-sh-md: 0 6px 20px rgba(17, 27, 48, .10);
	--wa-header-h: 72px;
}
@media (max-width: 1024px) { :root { --wa-header-h: 60px; } }

html { scroll-padding-top: calc(var(--wa-header-h) + 16px); }
body.wa-site { margin: 0; background: #fff; color: var(--wa-ink); font-family: var(--wa-body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
.wa-site img { max-width: 100%; height: auto; }
.wa-site .e-con { min-width: 0; }
.wa-site .elementor-widget-text-editor p { margin: 0 0 .75em; }
.wa-site .elementor-widget-text-editor > *:last-child,
.wa-site .elementor-widget-text-editor .elementor-widget-container > *:last-child,
.wa-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.wa-site .elementor-heading-title { margin: 0; overflow-wrap: anywhere; }
.wa-site :where(.elementor-widget-text-editor) a:where(:not(.wa-link, .wa-btn, .wa-whatsapp)) { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.wa-site a:focus-visible, .wa-site button:focus-visible, .wa-site input:focus-visible, .wa-site select:focus-visible, .wa-site textarea:focus-visible, .wa-site summary:focus-visible, .wa-site [role="button"]:focus-visible { outline: 2px solid var(--wa-navy-900); outline-offset: 2px; }
.wa-sec--navy a:focus-visible, .wa-sec--navy button:focus-visible, .wa-footer a:focus-visible { outline-color: #fff !important; }
.wa-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.wa-skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--wa-navy-900); color: #fff; padding: 10px 16px; border-radius: var(--wa-r-md); font-weight: 600; }
.wa-skip:focus { top: 8px; color: #fff; }
.wa-muted { color: var(--wa-slate); }
.wa-note { font-size: 14px; line-height: 1.5; color: var(--wa-slate); margin: 12px 0 0; }

/* ---------- Header ---------- */
.wa-site-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 40; background: #fff; }
.wa-site-header .wa-header { min-height: var(--wa-header-h); }
.wa-header__logo img { display: block; width: 200px; height: auto; }
@media (max-width: 767px) { .wa-header__logo img { width: 150px; } }
.wa-header__nav, .wa-header .elementor-widget-shortcode { flex: 1 1 auto; min-width: 0; }
.wa-nav { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.wa-nav__links { display: flex; align-items: center; gap: 22px; margin: 0 auto; }
.wa-site .wa-nav__links a { color: var(--wa-navy-900); text-decoration: none; font: 500 16px/1.2 var(--wa-body); padding: 12px 0; white-space: nowrap; border-bottom: 2px solid transparent; }
.wa-site .wa-nav__links a:hover { color: var(--wa-orange-700); }
.wa-site .wa-nav__links a.is-active { color: var(--wa-orange-700); border-bottom-color: var(--wa-orange-500); }
.wa-nav__actions { display: flex; align-items: center; gap: 8px; }
.wa-lang { display: flex; gap: 2px; font: 600 14px var(--wa-body); }
.wa-lang a { color: var(--wa-slate); text-decoration: none; padding: 6px 8px; border-radius: var(--wa-r-sm); }
.wa-lang a.is-active { color: var(--wa-navy-900); background: var(--wa-navy-100); }
.wa-nav__inquiry, .wa-nav__menu { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: var(--wa-r-md); background: none; color: var(--wa-navy-900); cursor: pointer; padding: 0; }
.wa-site .wa-nav__inquiry:hover, .wa-site .wa-nav__menu:hover, .wa-site .wa-nav__inquiry:focus, .wa-site .wa-nav__menu:focus { background: var(--wa-paper); color: var(--wa-navy-900); border: 0; }
.wa-nav__menu { display: none; }
.wa-badge-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; box-sizing: border-box; border-radius: var(--wa-r-full); background: var(--wa-orange-500); color: var(--wa-navy-900); font: 700 12px/18px var(--wa-body); text-align: center; }
@media (max-width: 1180px) { .wa-nav__links { gap: 16px; } .wa-nav__links a { font-size: 15px; } }
@media (max-width: 1024px) {
	.wa-nav__links, .wa-lang { display: none; }
	.wa-nav__menu { display: inline-flex; }
}
.wa-mobile-menu { position: fixed; z-index: 45; left: 0; right: 0; top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--wa-header-h)); bottom: 0; background: #fff; overflow-y: auto; border-top: 1px solid var(--wa-line); }
.wa-mobile-menu[hidden] { display: none; }
.wa-mobile-menu__inner { display: flex; flex-direction: column; gap: 12px; padding: 16px; max-width: 640px; margin: 0 auto; }
.wa-mobile-menu nav { display: flex; flex-direction: column; margin: 8px 0; }
.wa-site .wa-mobile-menu nav a { padding: 14px 4px; border-bottom: 1px solid var(--wa-line); color: var(--wa-navy-900); text-decoration: none; font: 600 18px var(--wa-display); }
.wa-mobile-menu .wa-btn, .wa-mobile-menu .wa-whatsapp { width: 100%; justify-content: center; }
.wa-menu-open { overflow: hidden; }

/* ---------- Buttons ---------- */
.wa-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; min-height: 48px; padding: 0 24px; border-radius: var(--wa-r-md); border: 1.5px solid transparent; font: 600 16px/1.2 var(--wa-body); text-decoration: none; cursor: pointer; transition: box-shadow .15s, background-color .15s, color .15s; white-space: nowrap; }
.wa-btn--sm { min-height: 40px; padding: 0 14px; font-size: 15px; }
.wa-site .wa-btn--primary, .wa-site .wa-btn--primary:focus { background: var(--wa-orange-500); color: var(--wa-navy-900); border-color: transparent; }
.wa-site .wa-btn--primary:hover { box-shadow: var(--wa-sh-md); text-decoration: underline; color: var(--wa-navy-900); }
.wa-site .wa-btn--dark, .wa-site .wa-btn--search, .wa-site .wa-btn--dark:focus, .wa-site .wa-btn--search:focus { background: var(--wa-navy-900); color: #fff; border-color: transparent; }
.wa-site .wa-btn--dark:hover, .wa-site .wa-btn--search:hover { background: var(--wa-navy-700); color: #fff; }
.wa-site .wa-btn--secondary, .wa-site .wa-btn--secondary:focus { background: transparent; color: var(--wa-navy-900); border-color: var(--wa-navy-900); }
.wa-site .wa-btn--secondary:hover, .wa-site .wa-btn--secondary.is-added { background: var(--wa-navy-100); color: var(--wa-navy-900); }
.wa-btn[disabled] { opacity: .6; cursor: wait; }
.wa-btn-el .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; box-sizing: border-box; transition: box-shadow .15s, background-color .15s; line-height: 1.2; }
.wa-btn-el--primary .elementor-button:hover, .wa-btn-el--ondark .elementor-button:hover { box-shadow: var(--wa-sh-md); text-decoration: underline; }
.wa-btn-el--dark .elementor-button:hover { background-color: var(--wa-navy-700) !important; }
.wa-btn-el--secondary .elementor-button:hover { background-color: var(--wa-navy-100) !important; }
.wa-header__quote .elementor-button { white-space: nowrap; }

.wa-site a.wa-whatsapp, .wa-whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; min-height: 48px; padding: 0 22px; border-radius: var(--wa-r-full); background: var(--wa-whatsapp); color: #111B30; font: 600 16px/1.2 var(--wa-body); text-decoration: none; white-space: nowrap; transition: box-shadow .15s; }
.wa-site a.wa-whatsapp:hover, .wa-site a.wa-whatsapp:focus { box-shadow: var(--wa-sh-md); text-decoration: underline; color: #111B30; }
.wa-whatsapp--sm { min-height: 40px; padding: 0 14px; font-size: 15px; }
.wa-whatsapp .wa-icon, .wa-btn .wa-icon { flex: none; }
.wa-site a.wa-whatsapp--float, .wa-whatsapp--float { position: fixed; right: 16px; bottom: 16px; z-index: 50; width: 56px; height: 56px; min-height: 0; padding: 0; box-shadow: var(--wa-sh-md); }
.wa-drawer-open .wa-whatsapp--float, .wa-menu-open .wa-whatsapp--float { display: none; }
.wa-site a.wa-link, .wa-link { color: var(--wa-orange-700); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.wa-site a.wa-link:hover { text-decoration: underline; color: var(--wa-orange-700); }
.wa-site .wa-sec--navy a.wa-link { color: var(--wa-orange-500); }
.wa-actions .elementor-widget, .wa-actions > .elementor-widget-shortcode { width: auto; }
@media (max-width: 767px) {
	.wa-actions .wa-whatsapp, .wa-actions .wa-btn { width: 100%; }
	.wa-actions .elementor-widget { width: 100%; }
}

/* ---------- Type helpers ---------- */
.wa-eyebrow--rule .elementor-heading-title::before { content: ""; display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--wa-orange-500); margin-bottom: 14px; }
.wa-eyebrow .elementor-heading-title[style*="center"]::before, .elementor-widget-heading.wa-eyebrow.elementor-align-center .elementor-heading-title::before { margin-left: auto; margin-right: auto; }
.wa-lead p, .wa-head .wa-lead { max-width: 64ch; }
.wa-display .elementor-heading-title, .wa-h1 .elementor-heading-title { text-wrap: balance; }
.wa-title .elementor-heading-title { text-wrap: balance; }
.wa-caption p { font-size: 14px; color: var(--wa-slate); }
.wa-microproof { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; }
.wa-microproof span { position: relative; padding-left: 22px; }
.wa-microproof span::before, .wa-checks li::before { content: ""; position: absolute; left: 0; top: .35em; width: 16px; height: 16px; background: no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B45309' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.wa-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.wa-checks li { position: relative; padding-left: 26px; }
.wa-checks--dark li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5821F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.wa-sec--navy, .wa-sec--navy p, .wa-sec--navy li { color: #fff; }
.wa-site .wa-inq, .wa-site .wa-inq p, .wa-site .wa-inq li, .wa-site .wa-inq label { color: var(--wa-ink); }
.wa-site .wa-inq .wa-inq__note, .wa-site .wa-inq .wa-inq__empty, .wa-site .wa-inq .wa-inq__privacy, .wa-site .wa-inq .wa-inq__item span { color: var(--wa-slate); }
.wa-site .wa-inq .wa-field, .wa-site .wa-inq .wa-inq__head { color: var(--wa-navy-900); }

/* ---------- Hero ---------- */
.wa-hero__img img, .wa-photo img, .wa-diagram img, .wa-product-img img { display: block; width: 100%; height: auto; border-radius: var(--wa-r-lg); }
.wa-hero__img img { border: 1px solid var(--wa-line); background: #fff; }
@media (min-width: 768px) and (max-width: 1024px) { .wa-hero__media { max-width: 600px; margin: 0 auto; } }
.wa-photo img { aspect-ratio: 3 / 2; object-fit: cover; }
.wa-photo--tall img { aspect-ratio: auto; object-fit: contain; max-height: 520px; background: #fff; }
.wa-photo--product img { aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border: 1px solid var(--wa-line); }
.wa-product-img img { aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border: 1px solid var(--wa-line); }
.wa-diagram img { mix-blend-mode: multiply; }
.wa-makes p { margin: 0; letter-spacing: .14em; line-height: 1.8; }
.wa-makes__label { color: var(--wa-slate); margin-right: 8px; }
.wa-makes__list { color: var(--wa-navy-900); font-weight: 600; }
@media (max-width: 767px) { .wa-makes__label { display: block; } .wa-makes p { letter-spacing: .1em; font-size: 12px; } }

/* ---------- Video upgrade (desktop only, after load) ---------- */
.wa-vid-wrap { position: relative; display: block; }
.wa-vid-wrap video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: var(--wa-r-lg); opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.wa-vid-wrap.is-playing video { opacity: 1; }
/* The exploded drawing must never be cropped: show the whole frame on the drawing's own pale background. */
.wa-vid--exploded video { object-fit: contain; background: #F3FAF3; }
.wa-vid-toggle { position: absolute; right: 12px; bottom: 12px; z-index: 2; width: 40px; height: 40px; border-radius: var(--wa-r-full); border: 0; background: rgba(17, 27, 48, .72); color: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; }
.wa-vid-wrap.is-playing .wa-vid-toggle, .wa-vid-wrap.is-paused .wa-vid-toggle { display: inline-flex; }
.wa-video .elementor-wrapper, .wa-video .elementor-custom-embed-image-overlay { border-radius: var(--wa-r-lg); overflow: hidden; }

/* ---------- Trust bar ---------- */
.wa-trust { overflow: hidden; }
.wa-trust__item + .wa-trust__item { border-left: 1px solid var(--wa-navy-700); }
.wa-trust__value .elementor-heading-title { color: var(--wa-orange-500); }
@media (max-width: 767px) {
	.wa-trust__item:nth-child(3) { border-left: 0 !important; }
	.wa-trust__item:nth-child(n+3) { border-top: 1px solid var(--wa-navy-700); }
}

/* ---------- Cards ---------- */
.wa-card { box-shadow: var(--wa-sh-sm); transition: box-shadow .15s; overflow: hidden; }
.wa-card:hover { box-shadow: var(--wa-sh-md); }
.wa-card__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border-bottom: 1px solid var(--wa-line); }
.wa-card__title a { color: inherit; text-decoration: none; }
.wa-card__title a:hover { color: var(--wa-orange-700); }
.wa-card__more { margin-top: auto; }
.wa-cat .wa-card__body { flex-grow: 1; }

.wa-engine-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1024px) { .wa-engine-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
.wa-engine { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--wa-line); border-radius: var(--wa-r-lg); }
.wa-engine__media { position: relative; aspect-ratio: 4 / 3; background: #fff; border-bottom: 1px solid var(--wa-line); }
.wa-engine__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.wa-engine__media--empty { display: flex; align-items: center; justify-content: center; background: var(--wa-paper); }
.wa-engine__placeholder { font: 700 28px var(--wa-display); color: var(--wa-navy-900); opacity: .35; }
.wa-engine__body { padding: 16px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.wa-engine__make { font: 600 13px/1.2 var(--wa-body); letter-spacing: .16em; text-transform: uppercase; color: var(--wa-orange-700); }
.wa-engine__code { margin: 0; font: 600 22px/1.3 var(--wa-display); color: var(--wa-navy-900); }
.wa-engine__code a { color: inherit; text-decoration: none; }
.wa-engine__code a:hover { color: var(--wa-orange-700); }
.wa-engine__oe { font: 500 16px/1.4 var(--wa-body); font-variant-numeric: tabular-nums; color: var(--wa-ink); }
.wa-engine__vehicle { margin: 0; font-size: 14px; line-height: 1.45; color: var(--wa-slate); }
.wa-engine__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: auto; padding-top: 12px; }
@media (max-width: 599px) {
	.wa-engine-grid { grid-template-columns: 1fr; gap: 12px; }
	.wa-engine { flex-direction: row; }
	.wa-engine__media { flex: 0 0 38%; aspect-ratio: auto; border-bottom: 0; border-right: 1px solid var(--wa-line); border-radius: var(--wa-r-lg) 0 0 var(--wa-r-lg); overflow: hidden; }
	.wa-engine__body { padding: 12px 14px; }
	.wa-engine__code { font-size: 20px; }
	.wa-engine__oe { font-size: 15px; }
	.wa-engine__actions { gap: 8px 12px; }
}
.wa-add .wa-add__done, .wa-add .wa-add__added { display: none; }
.wa-add.is-added .wa-icon:first-child, .wa-add.is-added .wa-add__label { display: none; }
.wa-add.is-added .wa-add__done, .wa-add.is-added .wa-add__added { display: inline; }

/* ---------- Problem / solution & terms ---------- */
.wa-ps, .wa-terms { overflow: hidden; }
.wa-ps__row:last-child, .wa-terms__row:last-child { border-bottom: 0 !important; }
.wa-ps__th p { margin: 0; }
@media (min-width: 768px) {
	.wa-grid--ps { grid-template-columns: 38% minmax(0, 1fr) !important; }
	.wa-grid--terms { grid-template-columns: 32% minmax(0, 1fr) !important; }
}

/* ---------- Steps ---------- */
.wa-step__img img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--wa-r-md); margin-bottom: 8px; }
.wa-mini-step { border-top: 1px solid rgba(255, 255, 255, .18); padding-top: 12px; }

/* ---------- Markets, panels ---------- */
.wa-markets { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.wa-markets li { display: inline-flex; align-items: center; min-height: 36px; padding: 0 16px; border: 1.5px solid var(--wa-navy-900); border-radius: var(--wa-r-full); background: #fff; color: var(--wa-navy-900); font: 600 15px var(--wa-body); }
.wa-panel { box-shadow: var(--wa-sh-sm); }

/* ---------- Private label ---------- */
.wa-sec--pl { position: relative; overflow: hidden; }
.wa-pack { margin: 0; }
.wa-pack svg { display: block; width: 100%; height: auto; border-radius: var(--wa-r-lg); }
.wa-pack figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--wa-slate); }
.wa-sec--navy .wa-pack figcaption { color: rgba(255, 255, 255, .85); }

/* ---------- CTA band ---------- */
.wa-cta { position: relative; overflow: hidden; }
.wa-cta::before { content: ""; position: absolute; right: -80px; top: 50%; width: 760px; height: 640px; transform: translateY(-50%); background: url("texture-exploded.webp") no-repeat center / contain; opacity: .10; pointer-events: none; }
.wa-cta > .e-con-inner, .wa-cta > .e-con { position: relative; }
.wa-cta__form .wa-inq { box-shadow: 0 20px 48px rgba(0, 0, 0, .28); }
.wa-site .wa-cta__direct a { color: #fff; }
.wa-cta__list .wa-checks { gap: 6px; }

/* ---------- FAQ (Elementor accordion) ---------- */
.wa-faq .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--wa-line) !important; }
.wa-faq .elementor-tab-title { position: relative; padding: 18px 44px 18px 0 !important; cursor: pointer; }
.wa-faq .elementor-tab-title a { color: inherit; text-decoration: none; }
.wa-faq .elementor-tab-title::after { content: ""; position: absolute; right: 8px; top: 50%; width: 12px; height: 12px; margin-top: -8px; border-right: 2px solid var(--wa-orange-700); border-bottom: 2px solid var(--wa-orange-700); transform: rotate(45deg); transition: transform .15s; }
.wa-faq .elementor-tab-title.elementor-active::after { transform: rotate(-135deg); margin-top: -2px; }
.wa-faq .elementor-tab-content { padding: 0 0 20px !important; border: 0 !important; }
.wa-faq .elementor-accordion-icon { display: none; }

/* ---------- Search ---------- */
.wa-search { position: relative; max-width: 760px; width: 100%; }
.wa-search__field { display: flex; align-items: center; gap: 12px; background: #fff; border: 1.5px solid var(--wa-line); border-radius: var(--wa-r-md); padding: 0 6px 0 16px; color: var(--wa-slate); box-shadow: var(--wa-sh-sm); margin: 0; }
.wa-search__field:focus-within { border-color: var(--wa-navy-900); }
.wa-search__field input, .wa-site .wa-search__field input[type=search] { flex: 1; min-width: 0; border: 0 !important; outline: none; background: transparent; box-shadow: none !important; font-family: var(--wa-body); color: var(--wa-ink); font-variant-numeric: tabular-nums; padding: 0 !important; }
.wa-search__field input::placeholder { color: var(--wa-slate); opacity: 1; }
.wa-search__field input::-webkit-search-cancel-button { cursor: pointer; }
.wa-search--hero .wa-search__field { height: 60px; }
.wa-search--hero .wa-search__field input { font-size: 17px; height: 100%; }
.wa-search--compact .wa-search__field { height: 48px; box-shadow: none; }
.wa-search--compact .wa-search__field input { font-size: 16px; height: 100%; }
.wa-search__results { position: absolute; left: 0; right: 0; z-index: 30; list-style: none; margin: 6px 0 0; padding: 4px; background: #fff; border: 1px solid var(--wa-line); border-radius: var(--wa-r-md); box-shadow: var(--wa-sh-md); max-height: 420px; overflow-y: auto; }
.wa-search__results[hidden], .wa-search__empty[hidden] { display: none; }
.wa-search__results li { margin: 0; }
.wa-search__item { display: grid; grid-template-columns: 7.5em minmax(0, 1fr) auto; grid-template-areas: "engine oe make" "engine vehicle add"; column-gap: 14px; row-gap: 2px; padding: 10px 12px; border-radius: var(--wa-r-sm); color: var(--wa-ink); text-decoration: none; align-items: center; }
.wa-search__item:hover, .wa-search__item.is-active { background: var(--wa-paper); }
.wa-search__engine { grid-area: engine; font: 700 17px var(--wa-display); color: var(--wa-navy-900); }
.wa-search__oe { grid-area: oe; font-weight: 500; font-variant-numeric: tabular-nums; font-size: 15px; }
.wa-search__vehicle { grid-area: vehicle; color: var(--wa-slate); font-size: 14px; }
.wa-search__make { grid-area: make; font: 600 12px var(--wa-body); letter-spacing: .14em; text-transform: uppercase; color: var(--wa-orange-700); text-align: right; }
.wa-search__add { grid-area: add; justify-self: end; }
.wa-search__more { padding: 8px 12px; font-size: 14px; }
.wa-search__empty { margin-top: 10px; padding: 16px; background: var(--wa-orange-100); border-radius: var(--wa-r-md); color: var(--wa-ink); }
.wa-search__empty p { margin: 0 0 12px; font-size: 16px; }
.wa-search__hint { margin: 8px 0 0; font-size: 13px; line-height: 1.45; color: var(--wa-slate); }
.wa-mobile-menu .wa-search__hint { display: none; }
@media (max-width: 599px) {
	.wa-search--hero .wa-search__field { height: 56px; padding-left: 12px; }
	.wa-search--hero .wa-search__field input { font-size: 16px; }
	.wa-search--hero .wa-btn--search { padding: 0 14px; }
	.wa-search__item { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "engine make" "oe add" "vehicle add"; }
}

/* ---------- Engine list ---------- */
.wa-elist__tools { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.wa-elist__filter { max-width: 480px; }
.wa-elist__makes { display: flex; flex-wrap: wrap; gap: 8px; }
.wa-site a.wa-chip, .wa-chip { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 14px; border: 1px solid var(--wa-line); border-radius: var(--wa-r-full); color: var(--wa-navy-900); background: #fff; text-decoration: none; font: 600 15px var(--wa-body); }
.wa-chip span { color: var(--wa-slate); font-weight: 500; }
.wa-chip:hover { border-color: var(--wa-navy-900); }
.wa-elist__group { margin: 0 0 40px; }
.wa-elist__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.wa-elist__title { margin: 0; font: 600 24px/1.25 var(--wa-display); color: var(--wa-navy-900); }
.wa-elist__title span { font: 500 15px var(--wa-body); color: var(--wa-slate); margin-left: 8px; }
.wa-etable { width: 100%; border-collapse: collapse; font-size: 16px; background: #fff; border: 1px solid var(--wa-line); }
.wa-etable thead th { background: var(--wa-navy-100); color: var(--wa-navy-900); font: 600 13px var(--wa-body); letter-spacing: .14em; text-transform: uppercase; text-align: left; padding: 12px 16px; border: 0; }
.wa-etable tbody th, .wa-etable td { padding: 10px 16px; text-align: left; vertical-align: middle; border: 0; border-top: 1px solid var(--wa-line); font-variant-numeric: tabular-nums; }
.wa-etable tbody tr:nth-child(even) th, .wa-etable tbody tr:nth-child(even) td { background: var(--wa-paper); }
.wa-etable tbody th { font: 600 17px var(--wa-display); color: var(--wa-navy-900); white-space: nowrap; }
.wa-etable tbody th a { color: inherit; text-decoration: underline; text-decoration-color: var(--wa-orange-500); text-underline-offset: 3px; }
.wa-etable__oe { font-weight: 500; }
.wa-etable__act { text-align: right !important; width: 1%; white-space: nowrap; }
.wa-etable tr[hidden] { display: none; }
@media (max-width: 767px) {
	.wa-etable thead { display: none; }
	.wa-etable, .wa-etable tbody, .wa-etable tr { display: block; width: 100%; }
	.wa-etable tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "engine act" "oe act" "veh act"; padding: 12px 14px; border-top: 1px solid var(--wa-line); }
	.wa-etable tr[hidden] { display: none; }
	.wa-etable tbody th, .wa-etable td { display: block; padding: 0; border: 0; background: none !important; }
	.wa-etable tbody th { grid-area: engine; }
	.wa-etable td[data-label="Vehicle"], .wa-etable td.wa-etable__veh { grid-area: veh; color: var(--wa-slate); font-size: 14px; }
	.wa-etable td.wa-etable__oe { grid-area: oe; }
	.wa-etable td.wa-etable__act { grid-area: act; align-self: center; }
	.wa-etable tbody tr:nth-child(even) { background: var(--wa-paper); }
}

/* ---------- Spec table, materials ---------- */
.wa-spec, .wa-mtable { width: 100%; border-collapse: collapse; font-size: 16px; border: 1px solid var(--wa-line); }
.wa-spec caption { text-align: left; font: 600 20px/1.3 var(--wa-display); color: var(--wa-navy-900); padding-bottom: 12px; }
.wa-spec th, .wa-spec td, .wa-mtable th, .wa-mtable td { text-align: left; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--wa-line); vertical-align: top; }
.wa-spec tbody th, .wa-mtable tbody th { width: 38%; background: var(--wa-navy-100); color: var(--wa-navy-900); font-weight: 600; }
.wa-mtable thead th { background: var(--wa-navy-900); color: #fff; font: 600 13px var(--wa-body); letter-spacing: .14em; text-transform: uppercase; }
.wa-spec td { font-variant-numeric: tabular-nums; }
.wa-spec tbody tr:nth-child(even) td, .wa-mtable tbody tr:nth-child(even) td { background: var(--wa-paper); }
.wa-spec tfoot td { border: 0; background: none; font-size: 14px; color: var(--wa-slate); padding: 10px 0 0; }
@media (max-width: 479px) { .wa-spec th, .wa-spec td { display: block; width: auto !important; } .wa-spec tbody th { border-bottom: 0; padding-bottom: 4px; } }
.wa-oe-line { font-variant-numeric: tabular-nums; }
.wa-oe-line strong { color: var(--wa-navy-900); }

/* ---------- Inquiry form ---------- */
.wa-inq { background: #fff; color: var(--wa-ink); border: 1px solid var(--wa-line); border-radius: var(--wa-r-lg); padding: 24px; box-sizing: border-box; }
.wa-inq__title { margin: 0 0 12px; font: 600 22px/1.3 var(--wa-display); color: var(--wa-navy-900); }
.wa-inq__head { margin-bottom: 6px; color: var(--wa-navy-900); }
.wa-inq__head span { color: var(--wa-slate); font-weight: 500; }
.wa-inq__list { margin-bottom: 16px; }
.wa-inq__rows { list-style: none; margin: 0; padding: 0; }
.wa-inq__rows li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--wa-line); }
.wa-inq__item { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.wa-inq__item strong { font: 600 16px var(--wa-display); color: var(--wa-navy-900); }
.wa-inq__item span { font-size: 14px; color: var(--wa-slate); font-variant-numeric: tabular-nums; }
.wa-inq__qty { width: 92px !important; flex: none; }
.wa-inq__remove { width: 44px; height: 44px; border: 0; background: none; color: var(--wa-slate); border-radius: var(--wa-r-sm); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.wa-inq__remove:hover { background: var(--wa-paper); color: var(--wa-navy-900); }
.wa-inq__empty { margin: 4px 0 0; font-size: 14px; color: var(--wa-slate); }
.wa-site .wa-inq__empty a { color: var(--wa-orange-700); }
.wa-inq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin-bottom: 12px; }
@media (max-width: 599px) { .wa-inq__grid { grid-template-columns: 1fr; } .wa-inq { padding: 18px; } }
.wa-field { display: flex; flex-direction: column; gap: 4px; font: 600 14px/1.3 var(--wa-body); color: var(--wa-navy-900); margin: 0 0 12px; }
.wa-inq__grid .wa-field { margin: 0; }
.wa-field em { color: var(--wa-error); font-style: normal; }
.wa-field i { font-style: normal; font-weight: 400; color: var(--wa-slate); }
.wa-input { box-sizing: border-box; width: 100%; min-height: 46px; padding: 8px 12px !important; border: 1.5px solid var(--wa-line) !important; border-radius: var(--wa-r-sm) !important; background: #fff !important; font: 400 16px/1.4 var(--wa-body) !important; color: var(--wa-ink) !important; box-shadow: none !important; }
.wa-input:focus { border-color: var(--wa-navy-900) !important; outline: 2px solid var(--wa-navy-900); outline-offset: 0; }
.wa-input[aria-invalid="true"] { border-color: var(--wa-error) !important; }
textarea.wa-input { resize: vertical; min-height: 96px; }
select.wa-input { appearance: auto; }
.wa-field--file input { padding: 10px !important; }
.wa-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wa-inq__submit { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.wa-inq__note { margin: 0; font-size: 14px; line-height: 1.45; color: var(--wa-slate); flex: 1; min-width: 200px; }
.wa-inq__privacy { margin: 12px 0 0; font-size: 13px; color: var(--wa-slate); }
.wa-site .wa-inq__privacy a { color: var(--wa-slate); text-decoration: underline; }
.wa-inq__error { margin: 0 0 12px; padding: 10px 12px; border-radius: var(--wa-r-sm); background: #FBEAE8; color: #8F2219; font-size: 15px; }
.wa-inq__done { padding: 8px 0; }
.wa-inq__done h3 { margin: 0 0 8px; font: 600 22px var(--wa-display); color: var(--wa-navy-900); }
.wa-inq__done p { margin: 0 0 12px; }
.wa-rule { display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--wa-orange-500); margin-bottom: 14px; }
@media (max-width: 599px) { .wa-inq__submit .wa-btn { width: 100%; } }

/* ---------- Drawer ---------- */
.wa-drawer { position: fixed; inset: 0; z-index: 60; }
.wa-drawer[hidden] { display: none; }
.wa-drawer__backdrop { position: absolute; inset: 0; background: rgba(17, 27, 48, .45); }
.wa-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(560px, 100%); background: #fff; overflow-y: auto; box-shadow: var(--wa-sh-md); padding: 16px 20px 32px; box-sizing: border-box; }
.wa-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.wa-drawer__head h2 { margin: 0; font: 600 22px var(--wa-display); color: var(--wa-navy-900); }
.wa-drawer__close { width: 44px; height: 44px; border: 0; background: none; border-radius: var(--wa-r-sm); cursor: pointer; color: var(--wa-navy-900); display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.wa-drawer__close:hover { background: var(--wa-paper); }
.wa-drawer .wa-inq { border: 0; padding: 0; }
.wa-drawer-open { overflow: hidden; }

/* ---------- Breadcrumbs, facts, people, contact ---------- */
.wa-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; font-size: 14px; color: var(--wa-slate); }
.wa-crumbs li + li::before { content: "›"; margin: 0 6px 0 2px; color: var(--wa-slate); }
.wa-site .wa-crumbs a { color: var(--wa-slate); text-decoration: none; }
.wa-site .wa-crumbs a:hover { color: var(--wa-orange-700); text-decoration: underline; }
.wa-facts { margin: 0; display: grid; gap: 0; }
.wa-facts div { display: grid; grid-template-columns: 38% 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--wa-line); }
.wa-facts div:last-child { border-bottom: 0; }
.wa-facts dt { font-weight: 600; color: var(--wa-navy-900); }
.wa-facts dd { margin: 0; }
.wa-people { display: grid; gap: 16px; }
.wa-person { display: flex; gap: 14px; align-items: center; padding: 16px; border: 1px solid var(--wa-line); border-radius: var(--wa-r-lg); background: #fff; }
.wa-person strong { display: block; font: 600 18px var(--wa-display); color: var(--wa-navy-900); }
.wa-person span { display: block; font-size: 15px; color: var(--wa-slate); }
.wa-avatar { flex: none; width: 56px; height: 56px; border-radius: var(--wa-r-lg); background: var(--wa-navy-900); color: var(--wa-orange-500) !important; display: inline-flex !important; align-items: center; justify-content: center; font: 700 18px var(--wa-display) !important; }
.wa-contact-list, .wa-next { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.wa-contact-list span { display: block; font: 600 12px var(--wa-body); letter-spacing: .14em; text-transform: uppercase; color: var(--wa-orange-700); }
.wa-next { counter-reset: n; }
.wa-next li { counter-increment: n; position: relative; padding-left: 36px; }
.wa-next li::before { content: counter(n, decimal-leading-zero); position: absolute; left: 0; top: 0; font: 700 16px var(--wa-display); color: var(--wa-orange-700); }
.wa-contact__side .wa-whatsapp { width: 100%; }
.wa-prose h2 { font: 600 22px/1.3 var(--wa-display); color: var(--wa-navy-900); margin: 28px 0 8px; }
.wa-prose { max-width: 760px; }

/* ---------- Footer ---------- */
.wa-site-footer { margin-top: 0; }
.wa-footer { position: relative; }
.wa-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, var(--wa-orange-500) 0 25%, var(--wa-navy-900) 25% 100%); }
.wa-footer, .wa-footer p, .wa-footer li { color: #fff; }
.wa-site .wa-footer a:not(.elementor-button), .wa-site .wa-footer .elementor-widget-text-editor a { color: #fff; text-decoration: none; }
.wa-site .wa-footer a:not(.elementor-button):hover, .wa-site .wa-footer .elementor-widget-text-editor a:hover { text-decoration: underline; color: #fff; }
.wa-footer__logo img { width: 200px; height: auto; display: block; }
.wa-footer__links, .wa-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wa-footer__contact span { display: block; font: 600 12px var(--wa-body); letter-spacing: .16em; text-transform: uppercase; color: var(--wa-orange-500); }
.wa-footer__legal p { font-size: 13px !important; line-height: 1.55; opacity: .85; margin: 0 0 6px; }
.wa-hdr-fallback__bar { display: flex; align-items: center; gap: 24px; max-width: 1200px; margin: 0 auto; padding: 0 24px; min-height: var(--wa-header-h); border-bottom: 1px solid var(--wa-line); }
.wa-hdr-fallback__logo img { width: 200px; height: auto; display: block; }
@media (max-width: 1024px) { .wa-hdr-fallback__quote { display: none; } .wa-hdr-fallback__bar { padding: 0 16px; } .wa-hdr-fallback__logo img { width: 150px; } }
.wa-ftr-fallback { background: var(--wa-navy-950); color: #fff; }
.wa-ftr-fallback__inner { max-width: 1200px; margin: 0 auto; padding: 48px 24px; }
.wa-ftr-fallback a { color: #fff; }
.wa-stripe { height: 6px; background: linear-gradient(90deg, var(--wa-orange-500) 0 25%, var(--wa-navy-900) 25% 100%); }

@media (prefers-reduced-motion: reduce) {
	.wa-site *, .wa-site *::before, .wa-site *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print { .wa-site-header, .wa-whatsapp--float, .wa-drawer, .wa-mobile-menu { display: none !important; } }

/* ---------- Theme reset hardening (Hello Elementor etc.) ---------- */
.wa-site .wa-inq__remove, .wa-site .wa-drawer__close, .wa-site .wa-vid-toggle { border: 0; }
.wa-site .wa-inq__remove:focus, .wa-site .wa-drawer__close:focus { background: transparent; color: var(--wa-navy-900); }
.wa-site .wa-inq__remove:hover, .wa-site .wa-drawer__close:hover { background: var(--wa-paper); color: var(--wa-navy-900); }
.wa-site .wa-vid-toggle:hover, .wa-site .wa-vid-toggle:focus { background: rgba(17, 27, 48, .9); color: #fff; }
.wa-site .wa-etable td, .wa-site .wa-etable th, .wa-site .wa-spec td, .wa-site .wa-mtable td { background-color: #fff; line-height: 1.45; }
.wa-site .wa-etable tbody tr:nth-child(even) > td, .wa-site .wa-etable tbody tr:nth-child(even) > th, .wa-site .wa-spec tbody tr:nth-child(even) > td, .wa-site .wa-mtable tbody tr:nth-child(even) > td { background-color: var(--wa-paper); }
.wa-site .wa-spec tbody th, .wa-site .wa-mtable tbody th { background-color: var(--wa-navy-100); }
.wa-site .wa-etable tbody tr:hover > td, .wa-site .wa-etable tbody tr:hover > th { background-color: var(--wa-navy-100); }
.wa-site .wa-etable, .wa-site .wa-spec, .wa-site .wa-mtable { margin: 0; font-size: 16px; }
.wa-site .wa-field { line-height: 1.3; }
.wa-site .elementor-widget-text-editor ul, .wa-site .elementor-widget-text-editor ol { margin: 0; }

/* ---------- v1.0.1 fixes ----------
   1) Elementor Site Settings › Buttons writes `.elementor-kit-N button { background: orange; padding: 14px 24px }`.
      That rule hit every plain <button>: the icon buttons (inquiry list, menu, remove, close, video toggle) became
      solid orange squares and the 24px side padding squeezed their 44px box so the icon rendered at 0 px wide.
   2) Elementor positions its own `.e-con::before` (background overlay), which pinned our CTA texture to the left
      edge; the texture's black background then showed as a dark box. Now fully positioned and screen-blended.
   3) The "Added to inquiry list" toast has an inline display:flex, so [hidden] never hid it. */
body.wa-site button.wa-nav__inquiry,
body.wa-site button.wa-nav__menu,
body.wa-site button.wa-drawer__close,
body.wa-site button.wa-inq__remove { width: 44px; min-width: 44px; height: 44px; padding: 0 !important; border: 0 !important; border-radius: var(--wa-r-md) !important; background: transparent !important; box-shadow: none !important; color: var(--wa-navy-900) !important; line-height: 1; }
body.wa-site button.wa-inq__remove { border-radius: var(--wa-r-sm) !important; color: var(--wa-slate) !important; }
body.wa-site button.wa-nav__inquiry:hover, body.wa-site button.wa-nav__menu:hover, body.wa-site button.wa-drawer__close:hover, body.wa-site button.wa-inq__remove:hover,
body.wa-site button.wa-nav__inquiry:focus-visible, body.wa-site button.wa-nav__menu:focus-visible, body.wa-site button.wa-drawer__close:focus-visible, body.wa-site button.wa-inq__remove:focus-visible { background: var(--wa-paper) !important; color: var(--wa-navy-900) !important; }
body.wa-site button.wa-nav__menu[aria-expanded="true"] { background: var(--wa-navy-100) !important; }
body.wa-site button.wa-vid-toggle { width: 40px; height: 40px; padding: 0 !important; border: 0 !important; border-radius: var(--wa-r-full) !important; background: rgba(17, 27, 48, .72) !important; color: #fff !important; }
body.wa-site button.wa-vid-toggle:hover, body.wa-site button.wa-vid-toggle:focus-visible { background: rgba(17, 27, 48, .9) !important; color: #fff !important; }
.wa-site button .wa-icon, .wa-site .wa-btn .wa-icon, .wa-site .wa-whatsapp .wa-icon { flex: none; max-width: none; }
body.wa-site button.wa-btn { padding: 0 24px !important; border-radius: var(--wa-r-md) !important; line-height: 1.2; }
body.wa-site button.wa-btn--sm { padding: 0 14px !important; }
@media (max-width: 599px) { body.wa-site .wa-search--hero button.wa-btn--search { padding: 0 14px !important; } }
body.wa-site .wa-toast button { padding: 4px 2px !important; border-radius: var(--wa-r-sm) !important; }
.wa-toast[hidden] { display: none !important; }

body.wa-site .wa-cta::before { content: "" !important; display: block; position: absolute; inset: 50% auto auto -120px; width: 760px; height: 640px; transform: translateY(-50%); background: url("texture-exploded.webp") no-repeat center / contain; mix-blend-mode: screen; opacity: .16; border: 0; border-radius: 0; z-index: 0; pointer-events: none;
	-webkit-mask-image: radial-gradient(closest-side, #000 60%, transparent 100%); mask-image: radial-gradient(closest-side, #000 60%, transparent 100%); }
@media (max-width: 1024px) { body.wa-site .wa-cta::before { width: 560px; height: 480px; left: 50%; top: 220px; transform: translateX(-50%); opacity: .12; } }

/* Native file input: make the picker look like our secondary button (its "No file chosen" text follows the visitor's browser language) */
.wa-site .wa-field--file input[type=file] { cursor: pointer; font-size: 15px !important; color: var(--wa-slate) !important; }
.wa-site .wa-field--file input[type=file]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 1.5px solid var(--wa-navy-900); border-radius: var(--wa-r-sm); background: #fff; color: var(--wa-navy-900); font: 600 15px var(--wa-body); cursor: pointer; }
.wa-site .wa-field--file input[type=file]::file-selector-button:hover { background: var(--wa-navy-100); }


/* ---------- v1.1 Dropdown menus (Products, Engines) ---------- */
.wa-nav__item { position: relative; display: flex; align-items: center; }
body.wa-site button.wa-nav__toggle { display: inline-flex; align-items: center; justify-content: center; width: 26px; min-width: 26px; height: 34px; margin-left: 1px; padding: 0 !important; border: 0 !important; border-radius: var(--wa-r-sm) !important; background: transparent !important; box-shadow: none !important; color: var(--wa-navy-900) !important; }
body.wa-site button.wa-nav__toggle:hover, body.wa-site button.wa-nav__toggle:focus-visible { background: var(--wa-paper) !important; color: var(--wa-orange-700) !important; }
.wa-nav__toggle .wa-icon { transition: transform .15s; }
.wa-nav__item.is-open .wa-nav__toggle .wa-icon { transform: rotate(180deg); }
.wa-sub { position: absolute; top: calc(100% + 14px); left: -14px; z-index: 55; box-sizing: border-box; width: 320px; padding: 8px; background: #fff; border: 1px solid var(--wa-line); border-radius: var(--wa-r-lg); box-shadow: 0 18px 44px rgba(17, 27, 48, .16); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility 0s linear .15s; }
.wa-sub::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
@media (hover: hover) and (pointer: fine) { .wa-nav__item:hover > .wa-sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; } .wa-nav__item:hover .wa-nav__toggle .wa-icon { transform: rotate(180deg); } }
.wa-nav__item.is-open > .wa-sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.wa-sub--wide { width: 420px; }
.wa-sub__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.wa-sub--wide .wa-sub__list { grid-template-columns: 1fr 1fr; }
.wa-sub__list li { margin: 0; }
.wa-site .wa-nav__links .wa-sub a.wa-sub__link { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; border: 0; border-radius: var(--wa-r-md); white-space: normal; font: 600 15px/1.25 var(--wa-body); color: var(--wa-navy-900); }
.wa-site .wa-nav__links .wa-sub a.wa-sub__link:hover, .wa-site .wa-nav__links .wa-sub a.wa-sub__link.is-current { background: var(--wa-paper); color: var(--wa-orange-700); }
.wa-sub__desc { font: 400 13px/1.3 var(--wa-body); color: var(--wa-slate); }
.wa-site .wa-nav__links .wa-sub a.wa-sub__all { display: block; margin: 6px 4px 0; padding: 12px 8px 6px; border: 0; border-top: 1px solid var(--wa-line); border-radius: 0; white-space: normal; font: 600 14px/1.3 var(--wa-body); color: var(--wa-orange-700); }
.wa-site .wa-nav__links .wa-sub a.wa-sub__all:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .wa-sub { transition: none; transform: none; } }

/* Mobile / tablet menu groups */
.wa-mnav { border-bottom: 1px solid var(--wa-line); }
.wa-mnav summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 14px 4px; cursor: pointer; color: var(--wa-navy-900); font: 600 18px var(--wa-display); }
.wa-mnav summary::-webkit-details-marker { display: none; }
.wa-mnav summary .wa-icon { transition: transform .15s; }
.wa-mnav[open] summary .wa-icon { transform: rotate(180deg); }
.wa-mnav__sub { display: grid; gap: 0 12px; padding: 0 4px 12px 12px; }
.wa-mnav__sub--2col { grid-template-columns: 1fr 1fr; }
.wa-site .wa-mobile-menu .wa-mnav__sub a { display: block; padding: 10px 0; border: 0; color: var(--wa-navy-900); text-decoration: none; font: 600 16px/1.3 var(--wa-body); }
.wa-site .wa-mobile-menu .wa-mnav__sub a span { display: block; font: 400 13px/1.3 var(--wa-body); color: var(--wa-slate); }
.wa-site .wa-mobile-menu .wa-mnav__sub a.wa-mnav__all { grid-column: 1 / -1; color: var(--wa-orange-700); }

/* ---------- v1.1 Product line pages ---------- */
.wa-hero__checks .wa-checks { gap: 6px; }
.wa-checks--2col { grid-template-columns: 1fr 1fr; column-gap: 24px; }
@media (max-width: 767px) { .wa-checks--2col { grid-template-columns: 1fr; } }
.wa-type { box-shadow: var(--wa-sh-sm); }
.wa-sec--inside .wa-diagram img { max-width: 560px; margin-top: 8px; }
.wa-sec--howto .wa-next li { padding-bottom: 2px; }
@media (max-width: 767px) { .wa-sec--more .wa-card__img { display: none; } }
body.wa-menu-open a.wa-whatsapp--float, body.wa-drawer-open a.wa-whatsapp--float { display: none !important; }
.wa-site .elementor-widget-heading .elementor-heading-title a { color: inherit; text-decoration: none; }
.wa-site .elementor-widget-heading .elementor-heading-title a:hover { color: var(--wa-orange-700); }

/* ---------- v1.1.2 home hero: full-bleed engine panel ----------
   The panel colour matches the background of the hero still and video (#F3F0E9), so the
   picture has no visible box. Edges are feathered to hide tiny colour differences. */
.wa-hero--home .wa-hero__media { position: relative; background: #F3F0E9; overflow: hidden; padding: 0 !important; justify-content: center !important; border-radius: 20px; }
.wa-hero--home .wa-hero__img {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent), linear-gradient(to bottom, transparent, #000 3%, #000 97%, transparent);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent), linear-gradient(to bottom, transparent, #000 3%, #000 97%, transparent);
	mask-composite: intersect;
}
.wa-hero--home .wa-hero__img img { border: 0; border-radius: 0; background: transparent; }
.wa-hero--home .wa-hero__img video { border-radius: 0 !important; }
.wa-hero--home .wa-caption { margin: 0 !important; padding: 0 16px 16px; }
.wa-hero--home .wa-caption p { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.45; color: #1A1F2B; }
.wa-hero--home .wa-caption p::before { content: ''; flex: none; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #F5821F; box-shadow: 0 0 0 3px rgba(245, 130, 31, .22); }
@media (min-width: 1025px) {
	.wa-hero--home { overflow-x: clip; --e-global-typography-wadisplay-font-size: 48px; }
	.wa-hero--home h1, .wa-hero--home h1.elementor-heading-title { font-size: 48px !important; }
	.wa-hero--home .wa-hero__grid { align-items: stretch !important; }
	.wa-hero--home .wa-hero__copy { --width: calc(54% - 24px) !important; width: calc(54% - 24px) !important; justify-content: center !important; }
	/* Bleed to the right edge of the window and to the top / bottom of the hero (section padding is 56px). */
	.wa-hero--home .wa-hero__media { --width: auto !important; width: auto !important; flex: 1 1 0 !important; min-height: 560px; border-radius: 0; margin: -56px min(-24px, calc((1200px - 100vw) / 2)) -56px 0 !important; }
	.wa-hero--home .wa-hero__img { width: min(106%, 860px) !important; max-width: none !important; margin: 0 0 0 calc((100% - min(106%, 860px)) / 2) !important; align-self: flex-start !important; }
	.wa-hero--home .wa-hero__img .wa-vid-toggle { right: calc(2.83% + 16px); bottom: 16px; }
	.wa-hero--home .wa-caption { position: absolute; left: 32px; right: 32px; bottom: 28px; padding: 0; z-index: 2; pointer-events: none; }
	.wa-hero--home .wa-caption p { display: inline-flex; max-width: 100%; padding: 8px 14px; background: rgba(255, 255, 255, .9); border-radius: 12px; box-shadow: 0 1px 3px rgba(17, 27, 48, .08); }
}

/* v1.1.3 short inquiry form: an odd last field (e.g. Email) spans the full row */
.wa-inq__grid > .wa-field:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* v1.1.5 private label box photo */
.wa-pack__img { display: block; width: 100%; height: auto; border-radius: var(--wa-r-lg); background: #F3F0E9; }

/* v1.2.0 — languages */
.wa-lang a { min-height: 32px; display: inline-flex; align-items: center; }
.wa-lang a:hover, .wa-lang a:focus-visible { color: var(--wa-navy-900); background: var(--wa-paper); }
.wa-mobile-menu .wa-lang--mobile { display: flex; justify-content: center; gap: 8px; padding-top: 8px; border-top: 1px solid var(--wa-line); font-size: 16px; }
.wa-mobile-menu .wa-lang--mobile a { min-height: 44px; min-width: 52px; justify-content: center; }
/* Spanish / French / Russian run 15–30% longer than English: let buttons and nav wrap instead of overflowing. */
.wa-site:not(.wa-lang-en) .elementor-button .elementor-button-text { white-space: normal; text-align: center; }
.wa-site:not(.wa-lang-en) .wa-header__quote .elementor-button { white-space: nowrap; }
.wa-site:not(.wa-lang-en) .wa-nav__link { white-space: nowrap; }
/* v1.3.0 — header: with the language switcher the full menu needs about 1240 px. Narrower windows use the menu button. */
@media (max-width: 1239px) {
	.wa-nav__links, .wa-nav__actions > .wa-lang { display: none; }
	.wa-nav__menu { display: inline-flex; }
}
@media (max-width: 1279px) {
	.wa-site:not(.wa-lang-en) .wa-nav__links, .wa-site:not(.wa-lang-en) .wa-nav__actions > .wa-lang { display: none; }
	.wa-site:not(.wa-lang-en) .wa-nav__menu { display: inline-flex; }
}
.wa-site:not(.wa-lang-en) .wa-btn, .wa-site:not(.wa-lang-en) .wa-whatsapp { white-space: normal; text-align: center; max-width: 100%; }
.wa-site:not(.wa-lang-en) .wa-actions { --flex-wrap: wrap; flex-wrap: wrap; }
.wa-site:not(.wa-lang-en) .wa-etable .wa-btn, .wa-site:not(.wa-lang-en) .wa-search__add .wa-btn { max-width: none; white-space: nowrap; }

/* v1.4.0 — header language menu (replaces the inline EN · ES · FR · RU row, which no longer fits with four languages) */
.wa-lang-dd { position: relative; }
.wa-lang-dd > summary { list-style: none; display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 8px; border-radius: var(--wa-r-md); font: 600 14px/1 var(--wa-body); color: var(--wa-navy-900); cursor: pointer; user-select: none; }
.wa-lang-dd > summary::-webkit-details-marker { display: none; }
.wa-lang-dd > summary:hover, .wa-lang-dd[open] > summary { background: var(--wa-paper); }
.wa-lang-dd > summary:focus-visible { outline: 2px solid var(--wa-orange-500); outline-offset: 2px; }
.wa-lang-dd > summary .wa-icon:last-child { transition: transform .15s; }
.wa-lang-dd[open] > summary .wa-icon:last-child { transform: rotate(180deg); }
.wa-lang-dd ul { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; min-width: 180px; margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--wa-line); border-radius: var(--wa-r-md); box-shadow: 0 8px 24px rgba(17, 27, 48, .12); }
.wa-lang-dd li { margin: 0; }
.wa-lang-dd a { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 40px; padding: 0 10px; border-radius: 6px; color: var(--wa-navy-900); text-decoration: none; font: 500 15px var(--wa-body); }
.wa-lang-dd a b { font-weight: 600; font-size: 12px; color: var(--wa-slate); letter-spacing: .06em; }
.wa-lang-dd a:hover, .wa-lang-dd a:focus-visible { background: var(--wa-paper); }
.wa-lang-dd a.is-active { background: var(--wa-navy-100); }
@media (max-width: 1024px) { .wa-lang-dd > summary { padding: 0 6px; } .wa-lang-dd > summary .wa-icon:first-child { display: none; } }
@media (max-width: 389px) { .wa-lang-dd { display: none; } }

/* Engine page hero photo (v1.6.0 shortcode [wa_engine_photo]) */
.wa-engine-photo { margin: 0; }
.wa-engine-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border: 1px solid var(--wa-line); border-radius: var(--wa-r-lg); }
.wa-engine-photo .wa-caption { margin-top: 8px; }
.wa-engine-photo .wa-caption p { margin: 0; font-size: 14px; line-height: 1.45; color: var(--wa-slate); }
