/*
	Theme Name:     Mobex Child (LPAP)
	Theme URI:      http://www.enovathemes.com/mobex
	Description:    Mobex - Auto Parts Woocommerce WordPress Theme
	Author:         Enovathemes
	Author URI:     https://enovathemes.com
	Version:        3.0.7
	Template:       mobex
*/

/* =Theme customization starts here
-------------------------------------------------------------- */

/* LPAP brand layer for the Mobex child theme. Selectors for Mobex components get added once the theme files are in. */
:root {
  --lpap-red: #ED1C24;
  --lpap-red-dark: #B8141A;
  --lpap-black: #0B0B0C;
  --lpap-surface: #151517;
  --lpap-surface-2: #1E1E21;
  --lpap-line: #2A2A2E;
  --lpap-grey: #5E5E5E;
  --lpap-text: #F5F5F5;
  --lpap-text-muted: #A7A7AD;
}

/* Base dark canvas */
body { background: var(--lpap-black); color: var(--lpap-text); }
a { color: var(--lpap-text); }
a:hover, a:focus { color: var(--lpap-red); }

/* Primary buttons */
.button, button[type="submit"], .wp-element-button, .single_add_to_cart_button {
  background: var(--lpap-red); color: #fff; border-color: var(--lpap-red);
}
.button:hover, button[type="submit"]:hover, .wp-element-button:hover, .single_add_to_cart_button:hover {
  background: var(--lpap-red-dark); border-color: var(--lpap-red-dark);
}

/* Woo clutter off (Mobex-specific selectors to add) */
.woocommerce span.onsale { display: none; }

/* ---- Header (LPAP) ---- */
.header-menu > li > a.mi-link { white-space: nowrap; }
a.et-button { white-space: nowrap; }
.header-logo img.logo { width: 100%; height: auto; }
.elementor-element-575348d .header-logo { width: 240px; }
.elementor-element-7decb1a .header-logo { width: 220px; }
.elementor-element-c170644 .et-button .icon { flex-shrink: 0; }

/* ---- Homepage (LPAP) ---- */
.elementor-widget-text-editor p { font-size: inherit; line-height: inherit; color: inherit; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.lpap-tile { transition: border-color .2s ease, transform .2s ease, background-color .2s ease; position: relative; overflow: hidden; }
.lpap-tile::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--lpap-red); transition: width .25s ease; }
.lpap-tile:hover { border-color: var(--lpap-red) !important; transform: translateY(-2px); background-color: var(--lpap-surface-2) !important; }
.lpap-tile:hover::after { width: 100%; }
.lpap-vfilter .widget_title { color: var(--lpap-text) !important; font-size: 20px; }
.lpap-vfilter > .elementor-widget-container, .lpap-vfilter .widget_product_vehicle_filter { border: 1px solid var(--lpap-line); }
#wrap.wrap, .wrap, .wrap > .elementor { background-color: var(--lpap-black) !important; }

/* ---- Shop + product cards (LPAP) ---- */
.products .post-inner.et-item-inner { background: var(--lpap-surface) !important; border: 1px solid var(--lpap-line); transition: border-color .2s ease; }
.products .post-inner.et-item-inner:hover { border-color: var(--lpap-red); }
.products .post-title, .products .post-title a, .products h4 a { color: var(--lpap-text) !important; }
.products .star-rating, .products .star-rating.empty { display: none !important; }
.products .price, .products .price .amount { color: var(--lpap-red) !important; }
.products .button, .products .add_to_cart_button, .products a.button { color: var(--lpap-text) !important; background: transparent !important; }
.products .button:hover, .products .add_to_cart_button:hover { color: var(--lpap-red) !important; }
.woocommerce-before-shop-loop, .layout-control { background: var(--lpap-surface) !important; border: 1px solid var(--lpap-line); color: var(--lpap-text-muted); }
.woocommerce-before-shop-loop select.orderby { background-color: var(--lpap-black) !important; color: var(--lpap-text) !important; border-color: var(--lpap-line) !important; }
.wishlist-toggle, .wishlist-title, .compare-toggle, .compare-title { display: none !important; }
.ajax-add-to-cart-loading { background: var(--lpap-surface) !important; }
.woocommerce-breadcrumb, .woocommerce-breadcrumb a, .et-breadcrumbs a { color: var(--lpap-text-muted) !important; }
h1.page-title, .woocommerce-products-header__title, .woocommerce-result-count { color: var(--lpap-text); }
.product-sidebar .widget, .layout-sidebar .widget { background: var(--lpap-surface); border: 1px solid var(--lpap-line); padding: 24px; }
.product-sidebar .widget_title, .layout-sidebar .widget_title, .product-sidebar .widget-title { color: var(--lpap-text) !important; }
.product-sidebar .widget a, .layout-sidebar .widget a { color: var(--lpap-text-muted) !important; }
.product-sidebar .widget a:hover, .layout-sidebar .widget a:hover { color: var(--lpap-red) !important; }
.widget_product_vehicle_filter_widget { padding: 0 !important; }
.widget_product_vehicle_filter_widget form.product-vehicle-filter { background: var(--lpap-surface) !important; }
.widget_product_vehicle_filter_widget .widget_title { background: transparent !important; color: var(--lpap-text) !important; border-bottom: 1px solid var(--lpap-line); }
.widget_product_vehicle_filter_widget .reset { color: var(--lpap-text-muted); }
.title-section-title h1, .title-section h1 { color: var(--lpap-text) !important; }
.woocommerce-before-shop-loop .sale-products { display: none !important; }

/* ---- Cart, checkout, account (LPAP) ---- */
#et-content.content { background-color: var(--lpap-black) !important; color: var(--lpap-text); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--lpap-text); }
.wc-block-components-product-price, .wc-block-formatted-money-amount, .wc-block-components-product-price .price, .woocommerce-Price-amount { color: var(--lpap-text) !important; }
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount { color: var(--lpap-red) !important; }
.wc-block-cart-items, .wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-totals-wrapper, .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { border-color: var(--lpap-line) !important; }
.wc-block-components-product-name, .wc-block-cart-items__header, .wc-block-components-totals-item__label, .wc-block-components-title { color: var(--lpap-text) !important; }
.wc-block-components-product-metadata, .wc-block-components-product-metadata__description { color: var(--lpap-text-muted) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-block-components-textarea, .wc-blocks-components-select__select { background: var(--lpap-surface) !important; color: var(--lpap-text) !important; border-color: var(--lpap-line) !important; }
.wc-block-components-text-input label, .wc-blocks-components-select__label { color: var(--lpap-text-muted) !important; }
.wc-block-components-button:not(.is-link) { background: var(--lpap-red) !important; color: #fff !important; }
.wc-block-components-checkout-step__heading, .wc-block-components-checkbox__label, .wp-block-woocommerce-checkout-order-summary-block, .wc-block-components-order-summary-item { background: var(--lpap-surface) !important; color: var(--lpap-text) !important; }
.wc-block-components-checkout-step__title, .wc-block-components-order-summary-item__description, .wc-block-components-order-summary .wc-block-components-panel__button { color: var(--lpap-text) !important; }
.wc-block-components-address-form__address_2-hidden-input { background: transparent !important; color: var(--lpap-text-muted) !important; }

/* ---- Product page (LPAP) ---- */
.product_title.entry-title { color: var(--lpap-text) !important; }
.summary .price, .summary .price .amount { color: var(--lpap-red) !important; }
.lpap-quote-cta { margin: 20px 0; padding: 20px; background: var(--lpap-surface); border: 1px solid var(--lpap-line); border-left: 3px solid var(--lpap-red); }
.lpap-quote-note { color: var(--lpap-text-muted); margin: 0 0 14px; font-size: 15px; }
a.button.lpap-quote-button { display: inline-block; background: var(--lpap-red) !important; color: #fff !important; padding: 12px 26px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
a.button.lpap-quote-button:hover { background: var(--lpap-red-dark) !important; }
.products a.button.lpap-quote-button { background: transparent !important; color: var(--lpap-text) !important; padding: 0; text-transform: none; letter-spacing: 0; }
.products a.button.lpap-quote-button:hover { color: var(--lpap-red) !important; }
.woocommerce-tabs .tabs li a, .woocommerce-Tabs-panel, .woocommerce-Tabs-panel p { color: var(--lpap-text-muted); }
.woocommerce-tabs .tabs li.active a { color: var(--lpap-text); }
.product_meta, .product_meta a, .sku_wrapper { color: var(--lpap-text-muted) !important; }

/* Mobex marks the first menu item "active" on every page; only the real current page stays red. */
.header-menu > li.active:not(.current-menu-item):not(.current-menu-ancestor):not(.current_page_item) > a { color: var(--lpap-text) !important; }
.header-menu > li.active:not(.current-menu-item):not(.current-menu-ancestor):not(.current_page_item) > a:after,
.header-menu > li.active:not(.current-menu-item):not(.current-menu-ancestor):not(.current_page_item) > a:before { opacity: 0 !important; }
.header-menu > li.current-menu-item > a, .header-menu > li.current_page_item > a { color: var(--lpap-red) !important; }
.header-menu > li.active:not(.current-menu-item):not(.current_page_item) > a { text-decoration: none !important; }
ul.product-nav-tabs { background: var(--lpap-black) !important; border-bottom: 1px solid var(--lpap-line); }
ul.product-nav-tabs li a, ul.product-nav-tabs li { color: var(--lpap-text-muted) !important; }
ul.product-nav-tabs li.active a, ul.product-nav-tabs li a.active { color: var(--lpap-text) !important; }

/* LPAP premium layer v3 (refined after client feedback 5 Oct 2026).
   Display: Montserrat (mixed case, bold + light pairing). Body: Inter.
   Barlow Condensed only for small performance accents (index numbers, step numbers, spec labels). */

.lp { --red: #ED1C24; --red-d: #B8141A; --ink: #070708; --ink-2: #0E0E10; --ink-3: #16161A; --line: rgba(255,255,255,.09);
      --txt: #F4F4F5; --mut: #A1A1AA; --disp: "Montserrat", "Helvetica Neue", Arial, sans-serif; --acc: "Barlow Condensed", "Arial Narrow", sans-serif;
      --body: "Inter", system-ui, sans-serif; font-family: var(--body); color: var(--txt); }
.lp *, .lp *::before, .lp *::after { box-sizing: border-box; }
.lp a { text-decoration: none; }
.lp p { font-size: inherit; line-height: inherit; color: inherit; margin: 0; }
.lp-wrap { width: min(1320px, 100% - 48px); margin-inline: auto; }
.lp-kicker { display: inline-flex; align-items: center; gap: 14px; font: 600 12px/1 var(--body); letter-spacing: .3em; text-transform: uppercase; color: var(--red); }
.lp-kicker::before { content: ""; width: 36px; height: 1px; background: var(--red); }
.lp-h2 { font: 700 clamp(34px, 4.1vw, 58px)/1.06 var(--disp); letter-spacing: -.025em; margin: 20px 0 0; color: var(--txt); }
.lp-h2 em { font-style: normal; font-weight: 300; color: #D4D4D8; }
.lp-lead { font-size: 17px; line-height: 1.75; color: var(--mut); max-width: 540px; }
.lp-btn { display: inline-flex; align-items: center; gap: 12px; height: 54px; padding: 0 28px; font: 600 12.5px/1 var(--disp); letter-spacing: .16em; text-transform: uppercase;
          border: 1px solid transparent; border-radius: 2px; transition: background .25s, color .25s, border-color .25s; }
.lp-btn svg { width: 16px; height: 16px; transition: transform .25s; }
.lp-btn:hover svg { transform: translateX(4px); }
.lp-btn--red { background: var(--red); color: #fff !important; }
.lp-btn--red:hover { background: var(--red-d); }
.lp-btn--ghost { border-color: rgba(255,255,255,.3); color: var(--txt) !important; background: rgba(255,255,255,.03); backdrop-filter: blur(6px); }
.lp-btn--ghost:hover { border-color: #fff; background: #fff; color: var(--ink) !important; }
.lp-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.lp-sec { position: relative; padding: clamp(80px, 10vw, 136px) 0; background: var(--ink); overflow: hidden; }
.lp-sec--alt { background: var(--ink-2); }
.lp-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: end; margin-bottom: 56px; }
.lp-head .lp-lead { justify-self: end; }
.lp-more { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; font: 600 12px/1 var(--disp); letter-spacing: .18em; text-transform: uppercase; color: var(--txt) !important; }
.lp-more span { width: 34px; height: 1px; background: var(--red); transition: width .3s; }
.lp-more:hover span { width: 56px; }

/* ---------- Hero ---------- */
.lp-hero { position: relative; min-height: max(720px, 92vh); display: flex; align-items: center; background: var(--ink); overflow: hidden; isolation: isolate; }
.lp-hero__img { position: absolute; inset: 0; background-size: cover; background-position: 50% 72%; z-index: -2; transform: scale(1.05); animation: lpZoom 16s ease-out forwards; }
@keyframes lpZoom { to { transform: scale(1); } }
.lp-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(7,7,8,.97) 0%, rgba(7,7,8,.86) 34%, rgba(7,7,8,.25) 66%, rgba(7,7,8,.4) 100%),
              linear-gradient(0deg, var(--ink) 0%, rgba(7,7,8,0) 32%), linear-gradient(180deg, rgba(7,7,8,.6) 0%, rgba(7,7,8,0) 22%); }
.lp-hero__inner { padding: 120px 0 190px; }
.lp-hero h1 { font: 700 clamp(46px, 6.2vw, 92px)/1.02 var(--disp); letter-spacing: -.035em; margin: 28px 0 28px; color: #fff; max-width: 820px; }
.lp-hero h1 b { color: var(--red); font-weight: 700; }
.lp-hero h1 span { display: block; font-weight: 300; color: #E4E4E7; }
.lp-hero .lp-lead { margin-bottom: 40px; color: #C4C4CC; max-width: 520px; }
.lp-hero__meta { position: absolute; right: max(24px, calc((100% - 1320px) / 2)); bottom: 170px; display: flex; gap: 40px; text-align: left; }
.lp-hero__meta div { font: 500 11px/1.5 var(--body); letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.6); padding-left: 16px; border-left: 1px solid var(--red); }
.lp-hero__meta strong { display: block; font: 600 15px/1.3 var(--disp); letter-spacing: .02em; text-transform: none; color: #fff; }
.lp-scroll { display: none; }

/* Vehicle finder bar (wraps the Mobex filter widget) */
.lpap-finder { position: relative; z-index: 5; margin-top: -110px !important; }
.lpap-finder > .e-con-inner { background: rgba(14,14,16,.9); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.08); border-top: 2px solid #ED1C24;
  box-shadow: 0 40px 80px rgba(0,0,0,.55); padding: 28px 32px !important; }
.lpap-finder form.product-vehicle-filter { background: transparent !important; padding: 0 !important; }
.lpap-finder select, .lpap-finder input[type=text], .lpap-finder .vf-item > * { height: 52px !important; }
.lpap-finder input[type=submit], .lpap-finder button { height: 52px !important; font-family: "Montserrat", sans-serif !important; font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
.lpap-finder-label { font: 600 12px/1 "Inter", sans-serif; letter-spacing: .3em; text-transform: uppercase; color: #ED1C24; margin-bottom: 14px; }

/* ---------- Marque strip ---------- */
.lp-marquee { background: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; padding: 30px 0; position: relative; z-index: 2; }
.lp-marquee__track { display: flex; width: max-content; animation: lpMarquee 48s linear infinite; }
.lp-marquee span { font: 500 15px/1 var(--disp); text-transform: uppercase; letter-spacing: .34em; color: rgba(255,255,255,.55); padding: 0 34px; white-space: nowrap; display: inline-flex; align-items: center; gap: 68px; }
.lp-marquee span::after { content: ""; width: 5px; height: 5px; background: var(--red); transform: rotate(45deg); }
@keyframes lpMarquee { to { transform: translateX(-50%); } }

/* ---------- Marque grid ---------- */
.lp-marques { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lp-marque { position: relative; aspect-ratio: 3 / 4; overflow: hidden; display: block; background: var(--ink-3); isolation: isolate; }
.lp-marque img { z-index: -2; transform: scale(1.02); filter: saturate(.85) brightness(.82); transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .5s; }
.lp-marque::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7,7,8,.25) 0%, rgba(7,7,8,0) 35%, rgba(7,7,8,.92) 100%); }
.lp-marque::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--red); transition: width .5s ease; }
.lp-marque:hover img { transform: scale(1.08); filter: saturate(1) brightness(.95); }
.lp-marque:hover::after { width: 100%; }
.lp-marque__n { position: absolute; top: 22px; left: 24px; font: 600 13px/1 var(--acc); letter-spacing: .24em; color: rgba(255,255,255,.65); }
.lp-marque__b { position: absolute; left: 24px; right: 24px; bottom: 26px; }
.lp-marque__b h3 { font: 600 clamp(22px, 1.9vw, 28px)/1.1 var(--disp); letter-spacing: -.015em; color: #fff; margin: 0 0 12px; }
.lp-marque__b p { display: flex; align-items: center; justify-content: space-between; font: 500 11px/1 var(--body); letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.lp-marque__b p i { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; display: grid; place-items: center; font-style: normal; transition: background .3s, border-color .3s; }
.lp-marque__b p i svg { width: 15px; height: 15px; }
.lp-marque:hover .lp-marque__b p i { background: var(--red); border-color: var(--red); }

/* ---------- Category bento ---------- */
.lp-cats { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 260px; gap: 14px; }
.lp-cat { position: relative; overflow: hidden; display: block; isolation: isolate; background: var(--ink-3); }
.lp-cat--big { grid-column: span 2; grid-row: span 2; }
.lp-cat--wide { grid-column: span 2; }
.lp-cat img { z-index: -2; transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .5s; }
.lp-cat::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(200deg, rgba(7,7,8,0) 30%, rgba(7,7,8,.9) 100%); }
.lp-cat:hover img { transform: scale(1.06); }
.lp-cat__b { position: absolute; left: 26px; right: 26px; bottom: 24px; }
.lp-cat__b small { display: block; font: 600 10.5px/1 var(--body); letter-spacing: .26em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; }
.lp-cat__b h3 { font: 600 21px/1.2 var(--disp); letter-spacing: -.01em; color: #fff; margin: 0; }
.lp-cat--big .lp-cat__b h3 { font-size: clamp(28px, 2.6vw, 40px); font-weight: 600; letter-spacing: -.025em; }
.lp-cat__b span { display: inline-block; margin-top: 14px; font: 600 11px/1 var(--disp); letter-spacing: .2em; text-transform: uppercase; color: #fff; opacity: .8; border-bottom: 1px solid var(--red); padding-bottom: 5px; }

/* ---------- Why ---------- */
.lp-why { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: center; }
.lp-why__img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; }
.lp-why__img img { filter: brightness(.9); }
.lp-why__img::after { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.16); pointer-events: none; }
.lp-why__tag { position: absolute; left: 0; bottom: 40px; background: var(--red); padding: 20px 26px; font: 700 22px/1.1 var(--disp); letter-spacing: -.01em; color: #fff; }
.lp-why__tag small { display: block; font: 600 10.5px/1 var(--body); letter-spacing: .24em; text-transform: uppercase; margin-top: 8px; opacity: .85; }
.lp-feats { display: grid; grid-template-columns: 1fr 1fr; margin-top: 40px; border-top: 1px solid var(--line); }
.lp-feat { padding: 24px 18px 24px 0; border-bottom: 1px solid var(--line); display: flex; gap: 16px; align-items: flex-start; }
.lp-feat:nth-child(odd) { border-right: 1px solid var(--line); }
.lp-feat:nth-child(even) { padding-left: 24px; }
.lp-feat b { font: 600 13px/1 var(--acc); color: var(--red); letter-spacing: .14em; padding-top: 4px; }
.lp-feat span { font: 500 16px/1.4 var(--disp); color: var(--txt); }

/* ---------- Ordering steps ---------- */
.lp-steps { display: grid; grid-template-columns: repeat(5, 1fr); position: relative; }
.lp-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 30px; height: 1px; background: linear-gradient(90deg, var(--red), rgba(237,28,36,.12)); }
.lp-step { position: relative; padding-right: 28px; }
.lp-step i { position: relative; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--ink-2); border: 1px solid rgba(255,255,255,.14); font: 600 20px/1 var(--acc); color: #fff; font-style: normal; margin-bottom: 26px; }
.lp-step:first-child i { background: var(--red); border-color: var(--red); }
.lp-step h3 { font: 600 19px/1.25 var(--disp); letter-spacing: -.01em; color: #fff; margin: 0 0 10px; }
.lp-step p { font-size: 15px; line-height: 1.65; color: var(--mut); }

/* ---------- Image panels ---------- */
.lp-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lp-panel { position: relative; min-height: 580px; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; padding: clamp(32px, 4vw, 56px); }
.lp-panel img { z-index: -2; filter: brightness(.6); transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.lp-panel:hover img { transform: scale(1.04); }
.lp-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(7,7,8,.95) 0%, rgba(7,7,8,.15) 70%); }
.lp-panel h2 { font: 700 clamp(30px, 3vw, 44px)/1.1 var(--disp); letter-spacing: -.025em; color: #fff; margin: 18px 0 16px; }
.lp-panel p { color: #CFCFD4; font-size: 16px; line-height: 1.7; max-width: 470px; margin-bottom: 30px; }

/* ---------- Final CTA ---------- */
.lp-cta { position: relative; padding: clamp(120px, 14vw, 190px) 0; text-align: center; overflow: hidden; isolation: isolate; }
.lp-cta img { z-index: -2; }
.lp-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at center, rgba(7,7,8,.55) 0%, rgba(7,7,8,.93) 70%); }
.lp-cta h2 { font: 700 clamp(38px, 5vw, 72px)/1.05 var(--disp); letter-spacing: -.035em; color: #fff; margin: 24px auto 22px; max-width: 980px; }
.lp-cta h2 span { display: block; font-weight: 300; color: var(--red); }
.lp-cta p { color: #D4D4D8; font-size: 17px; line-height: 1.75; max-width: 620px; margin: 0 auto 40px; }
.lp-cta .lp-btns { justify-content: center; }

/* ---------- Page hero (inner landing pages) ---------- */
.lp-phero { position: relative; min-height: 580px; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; padding: 160px 0 170px; }
.lp-phero img { z-index: -2; }
.lp-phero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,7,8,.95) 0%, rgba(7,7,8,.62) 50%, rgba(7,7,8,.25) 100%), linear-gradient(0deg, var(--ink) 0%, rgba(7,7,8,0) 40%); }
.lp-phero h1 { font: 700 clamp(42px, 5.4vw, 78px)/1.04 var(--disp); letter-spacing: -.035em; color: #fff; margin: 24px 0 22px; }
.lp-phero h1 span { display: block; font-weight: 300; color: #E4E4E7; }

/* Cover images: Elementor's ".elementor img { height:auto }" must not shrink them. */
.lp .lp-marque img, .lp .lp-cat img, .lp .lp-panel img, .lp .lp-cta img, .lp .lp-phero img, .lp .lp-why__img img {
  width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.lp .lp-marque img, .lp .lp-cat img, .lp .lp-panel img, .lp .lp-cta img, .lp .lp-phero img { position: absolute !important; inset: 0; }
.lp .lp-cat img { filter: grayscale(.45) brightness(.62) contrast(1.08); }
.lp .lp-cat:hover img { filter: grayscale(0) brightness(.85) contrast(1.05); }

/* ---------- Site-wide type: header, footer ---------- */
.header-menu > li > a.mi-link { font-family: "Montserrat", sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.header-menu > li { margin-right: 0 !important; }
a.et-button { font-family: "Montserrat", sans-serif !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; }
.footer .mm-container > ul > li > a, .footer .et-mm > li > a, .elementor-element-190514a .et-heading,
.elementor-element-190514a h1, .elementor-element-190514a h2, .elementor-element-190514a h3, .elementor-element-190514a h4, .elementor-element-190514a h5, .elementor-element-190514a h6 {
  font-family: "Montserrat", sans-serif !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .16em; text-transform: uppercase; }
body, .products .post-excerpt, .woocommerce-Tabs-panel { font-family: "Inter", system-ui, sans-serif; }

/* ---------- Shop + category banners ---------- */
.woocommerce .title-section { position: relative; isolation: isolate; padding: 150px 0 70px !important; margin-bottom: 40px; border: 0 !important;
  background: #070708 center / cover no-repeat; }
.woocommerce .title-section::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,7,8,.95) 0%, rgba(7,7,8,.6) 55%, rgba(7,7,8,.35) 100%), linear-gradient(0deg, #070708 0%, rgba(7,7,8,0) 45%); }
.woocommerce .title-section .et-breadcrumbs, .woocommerce .title-section .et-breadcrumbs a { color: rgba(255,255,255,.65) !important; font: 500 11px/1 "Inter", sans-serif !important; letter-spacing: .2em; text-transform: uppercase; }
.woocommerce .title-section-title h1 { font: 700 clamp(38px, 4.6vw, 66px)/1.05 "Montserrat", sans-serif !important; letter-spacing: -.035em !important; text-transform: none !important; color: #fff !important; margin-top: 18px; }
.post-type-archive-product .title-section { background-image: url(/wp-content/uploads/2026/10/lpap-hero-v2.jpg); background-position: 60% 50%; }
.term-oem-genuine-components .title-section { background-image: url(/wp-content/uploads/2026/10/cat-oem-genuine.jpg); }
.term-performance-exhaust-systems .title-section { background-image: url(/wp-content/uploads/2026/10/cat-exhaust.jpg); }
.term-catalytic-converter-assemblies .title-section { background-image: url(/wp-content/uploads/2026/10/cat-catalytic.jpg); }
.term-engines-powertrain .title-section { background-image: url(/wp-content/uploads/2026/10/cat-engines.jpg); }
.term-turbo-supercharger-systems .title-section { background-image: url(/wp-content/uploads/2026/10/cat-turbo.jpg); }
.term-drivetrain-transmission .title-section { background-image: url(/wp-content/uploads/2026/10/cat-drivetrain.jpg); }
.term-performance-braking .title-section { background-image: url(/wp-content/uploads/2026/10/cat-braking.jpg); }
.term-suspension .title-section { background-image: url(/wp-content/uploads/2026/10/cat-suspension.jpg); }
.term-carbon-fiber-exterior .title-section { background-image: url(/wp-content/uploads/2026/10/cat-carbon.jpg); }
.term-rare-special-order-parts .title-section { background-image: url(/wp-content/uploads/2026/10/cat-rare.jpg); }
.single-product .title-section { padding: 120px 0 30px !important; background: #070708 !important; }
.single-product .title-section::before { display: none; }
.single-product .title-section-title { display: none; }

/* ---------- Product cards ---------- */
.products .post-inner.et-item-inner { background: #0E0E10 !important; border: 1px solid rgba(255,255,255,.07) !important; border-radius: 2px; transition: border-color .3s, transform .3s, box-shadow .3s; }
.products .post-inner.et-item-inner:hover { border-color: rgba(237,28,36,.6) !important; transform: translateY(-3px); box-shadow: 0 24px 50px rgba(0,0,0,.5); }
.products .post-image { background: radial-gradient(ellipse at 50% 40%, #1d1d22 0%, #0E0E10 70%); }
.products .post-title, .products .post-title a, .products h4 a { font: 600 15px/1.35 "Montserrat", sans-serif !important; letter-spacing: -.005em !important; text-transform: none !important; color: #F4F4F5 !important; }
.products .price, .products .price .amount { font: 600 18px/1 "Montserrat", sans-serif !important; color: #fff !important; }
.products .button, .products .add_to_cart_button, .products a.button, .products a.button.lpap-quote-button {
  font: 600 11.5px/1 "Montserrat", sans-serif !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #fff !important; }
.products .button:hover, .products .add_to_cart_button:hover, .products a.button.lpap-quote-button:hover { color: #ED1C24 !important; }

/* ---------- Product page ---------- */
.product_title.entry-title { font: 700 clamp(28px, 2.8vw, 40px)/1.12 "Montserrat", sans-serif !important; letter-spacing: -.025em !important; text-transform: none !important; color: #fff !important; }
.summary .price, .summary .price .amount { font: 600 30px/1 "Montserrat", sans-serif !important; color: #fff !important; }
.single-product .woocommerce-product-gallery, .single-product .product-gallery, .single-product .flex-viewport { background: radial-gradient(ellipse at 50% 40%, #1d1d22 0%, #0E0E10 75%); border: 1px solid rgba(255,255,255,.07); }
.single_add_to_cart_button, a.button.lpap-quote-button { font: 600 12.5px/1 "Montserrat", sans-serif !important; letter-spacing: .16em !important; text-transform: uppercase !important; border-radius: 2px !important; }
.lpap-quote-cta { border-left-width: 2px !important; }
.woocommerce-tabs .tabs li a { font: 600 12px/1 "Montserrat", sans-serif !important; letter-spacing: .16em; text-transform: uppercase; }

/* Product card refinements: no theme outlines, full titles, one-line actions. */
.products li.product, .products .post-image, .products .image-container, .products .en-quick-view { border: 0 !important; box-shadow: none !important; outline: 0 !important; }
.products .post-inner.et-item-inner { box-shadow: none !important; }
.products .post-inner.et-item-inner:hover { box-shadow: 0 24px 50px rgba(0,0,0,.5) !important; }
.products .post-image { padding: 0 !important; overflow: hidden; }
.products .post-image img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.products .post-inner:hover .post-image img { transform: scale(1.05); }
.products .post-body { padding: 18px 20px 20px !important; }
.products .post-title { display: block !important; max-height: none !important; overflow: visible !important; -webkit-line-clamp: unset !important; height: auto !important; margin-bottom: 12px !important; }
.products .button, .products a.button { white-space: nowrap !important; }
.product-sidebar .widget_title, .layout-sidebar .widget_title, .shop-widgets .widget_title { background: transparent !important; color: #F4F4F5 !important; padding: 0 0 14px !important; margin-bottom: 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.08); font: 600 13px/1.2 "Montserrat", sans-serif !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
.widget_product_vehicle_filter_widget .widget_title { font-size: 15px !important; letter-spacing: .04em !important; text-transform: none !important; }

@media (min-width: 1280px) { .sidebar-active ul.loop-products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; } }
.shop-widgets .widget_product_categories .widget_title { margin-left: 0 !important; margin-right: 0 !important; }

/* Product page details */
.single_add_to_cart_button, .single_add_to_cart_button * { color: #fff !important; }
.single-product .quantity { background: #151517 !important; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 2px; }
.single-product .quantity input.input-text, .single-product .quantity .minus, .single-product .quantity .plus, .single-product .quantity button { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.12) !important; }
.woocommerce-product-gallery__wrapper { border-color: rgba(255,255,255,.08) !important; border-radius: 2px; overflow: hidden; }
.single-product .et-social-links a { background: #1E1E21 !important; color: #A1A1AA !important; transition: background .2s, color .2s; }
.single-product .et-social-links a:hover { background: #ED1C24 !important; color: #fff !important; }

/* Product page lower sections + fitment table */
.single-product .product h2, .single-product .product h3, .single-product .product h4, .single-product .related > h2, .single-product .up-sells > h2,
.single-product section > h2, .single-product .woocommerce-Tabs-panel h2 { color: #F4F4F5 !important; font-family: "Montserrat", sans-serif !important; font-weight: 600 !important; letter-spacing: -.01em; }
.single-product table, .single-product table th, .single-product table td, .single-product table tr { background: transparent !important; color: #D4D4D8 !important; border-color: rgba(255,255,255,.08) !important; }
.single-product table th { color: #F4F4F5 !important; font: 600 11px/1.3 "Montserrat", sans-serif !important; letter-spacing: .14em; text-transform: uppercase; }
.single-product table thead, .single-product table thead tr { background: #151517 !important; }
.single-product input[type=search], .single-product input[type=text]:not(.qty) { background: #151517 !important; color: #F4F4F5 !important; border: 1px solid rgba(255,255,255,.12) !important; }
.products .en-quick-view, .products .en-quick-view * { background: rgba(7,7,8,.72) !important; color: #fff !important; border-radius: 50%; }
@media (max-width: 767px) {
  ul.products li.product .post-title, ul.products li.product .post-title a { font-size: 13.5px !important; line-height: 1.35 !important; }
  ul.products li.product .price, ul.products li.product .price .amount { font-size: 15px !important; }
  ul.products li.product .button, ul.products li.product a.button { font-size: 10px !important; letter-spacing: .1em !important; }
  ul.products li.product .post-body { padding: 14px 14px 16px !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .lp-hero__meta { display: none; }
  .lp-marques { grid-template-columns: repeat(2, 1fr); }
  .lp-cats { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 220px; }
  .lp-steps { grid-template-columns: 1fr 1fr; row-gap: 40px; }
  .lp-steps::before { display: none; }
}
@media (max-width: 767px) {
  .lp-wrap { width: calc(100% - 32px); }
  .lp-hero { min-height: 660px; }
  .lp-hero__img { background-position: 62% 50%; }
  .lp-hero::before { background: linear-gradient(0deg, var(--ink) 8%, rgba(7,7,8,.78) 55%, rgba(7,7,8,.5) 100%); }
  .lp-hero__inner { padding: 90px 0 150px; }
  .lp-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 36px; }
  .lp-head .lp-lead { justify-self: start; }
  .lp-marques { gap: 10px; }
  .lp-marque__b { left: 14px; right: 14px; bottom: 16px; }
  .lp-marque__b h3 { font-size: 18px; margin-bottom: 8px; }
  .lp-marque__b p { font-size: 9px; letter-spacing: .14em; }
  .lp-marque__b p i { display: none; }
  .lp-marque__n { top: 14px; left: 14px; }
  .lp-cats { grid-auto-rows: 180px; gap: 10px; }
  .lp-cat--big, .lp-cat--wide { grid-column: span 2; grid-row: span 1; }
  .lp-cat__b { left: 14px; right: 14px; bottom: 14px; }
  .lp-cat__b h3, .lp-cat--big .lp-cat__b h3 { font-size: 17px; }
  .lp-cat__b span { display: none; }
  .lp-why, .lp-panels { grid-template-columns: 1fr; }
  .lp-feats { grid-template-columns: 1fr; }
  .lp-feat:nth-child(odd) { border-right: 0; }
  .lp-feat:nth-child(even) { padding-left: 0; }
  .lp-steps { grid-template-columns: 1fr; }
  .lp-panel { min-height: 480px; }
  .lp-btn { height: 50px; padding: 0 22px; }
  .lp-marquee span { font-size: 12px; gap: 40px; }
  .lpap-finder { margin-top: -80px !important; }
  .lpap-finder > .e-con-inner { padding: 22px 18px !important; }
  .woocommerce .title-section { padding: 110px 0 40px !important; }
}
@media (prefers-reduced-motion: reduce) { .lp-hero__img, .lp-marquee__track { animation: none; } }

/* ===== LPAP M1 mobile refinements (6 Oct, Jeffery's 5 Oct notes) ===== */
@media (max-width: 767px) {
  /* Search bar: slimmer, dark, inset to the page margins */
  .et-mobile .et-product-search-toggle .toggle { width: calc(100% - 32px) !important; margin: 0 auto !important; height: 42px !important; background: #151517 !important; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 4px !important; }
  .et-mobile .et-product-search-toggle .toggle-placeholder { color: #8d8d95 !important; }
  /* Footer links: Shop and Company side by side, Customer Information full width in two columns */
  .footer-megamenu .et-mm { grid-template-columns: 1fr 1fr !important; gap: 36px 24px !important; }
  .footer-megamenu .et-mm > li { width: auto !important; }
  .footer-megamenu .et-mm > li:nth-child(1) { grid-column: 1; grid-row: 1; }
  .footer-megamenu .et-mm > li:nth-child(3) { grid-column: 2; grid-row: 1; }
  .footer-megamenu .et-mm > li:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .footer-megamenu .et-mm > li:nth-child(2) > .sub-menu { display: block !important; column-count: 2; column-gap: 24px; }
  .footer-megamenu .et-mm > li:nth-child(2) > .sub-menu > li { break-inside: avoid; }
  .footer-megamenu .et-mm > li > a .txt { white-space: nowrap; }
  /* Section rhythm: tighter on phones, short gap after the vehicle tiles */
  .lp-sec { padding-top: 64px; padding-bottom: 64px; }
  .lp-sec:has(.lp-marques) { padding-bottom: 32px; }
  /* Kickers wrap cleanly instead of leaving one word behind */
  .lp-kicker { font-size: 11px; letter-spacing: .2em; line-height: 1.5; text-wrap: balance; align-items: flex-start; }
  .lp-kicker::before { flex: none; margin-top: .7em; }
  /* Vehicle and category tiles: labels never touch the edges or each other */
  .lp-marque__b h3 { font-size: 16px; letter-spacing: -.01em; }
  .lp-marque__b p { letter-spacing: .1em; line-height: 1.5; }
  .lp-cat__b small { display: block; font-size: 9px; letter-spacing: .16em; line-height: 1.5; margin-bottom: 6px; text-wrap: balance; text-shadow: 0 1px 8px rgba(0,0,0,.7); }
  .lp-cat__b h3 { line-height: 1.2; }
}
/* Panel kickers (Special Order, Custom Builds) stay readable over busy photos */
.lp-panel .lp-kicker { color: #ff4a52; font-weight: 700; text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 0 14px rgba(0,0,0,.85); }
.lp-panel .lp-kicker::before { background: #ff4a52; }
/* Tablet footer: inside the page margins, brand on top, links and business info side by side */
@media (min-width: 768px) and (max-width: 1199px) {
  footer.et-footer .e-con-boxed > .e-con-inner { padding-left: 32px !important; padding-right: 32px !important; box-sizing: border-box; }
  footer.et-footer [data-id="93ed4c7"] > .e-con-inner { flex-wrap: wrap !important; gap: 40px 32px !important; }
  footer.et-footer [data-id="dda7087"] { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
  footer.et-footer [data-id="a771c6e"] { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; }
  footer.et-footer [data-id="c65a38e"] { flex: 0 0 300px !important; width: 300px !important; }
  .footer-megamenu .et-mm > li > a .txt { white-space: nowrap; letter-spacing: .1em !important; }
}
/* Small tablets (768-1023): footer blocks full width, copyright and legal links stacked */
@media (min-width: 768px) and (max-width: 1023px) {
  footer.et-footer [data-id="a771c6e"], footer.et-footer [data-id="c65a38e"] { flex: 0 0 100% !important; width: 100% !important; }
  footer.et-footer [data-id="adfa51d"] > .e-con-inner { flex-wrap: wrap !important; row-gap: 6px !important; padding-top: 14px !important; padding-bottom: 14px !important; }
  footer.et-footer [data-id="fe1d4e7"], footer.et-footer [data-id="6f3ac05"] { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
}
/* Shop by Vehicle hero: the photo sits behind the text at every width (the .lp .lp-phero img rule never matched, the hero is itself .lp) */
.lp-phero > img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
/* Vehicle finder shows on phones and tablets too (Mobex hid it below 1024px, leaving an empty box) */
.lpap-finder .elementor-widget-et_vehicle_filter, .lpap-finder .et-vehicle-filter { display: block !important; }
/* Slim dark search bar wherever the phone/tablet header shows */
.et-mobile .et-product-search-toggle .toggle { width: calc(100% - 32px) !important; margin: 0 auto !important; height: 42px !important; background: #151517 !important; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 4px !important; }
.et-mobile .et-product-search-toggle .toggle-placeholder { color: #8d8d95 !important; }
/* Footer brand column stays visible on small tablets */
@media (min-width: 768px) and (max-width: 1023px) { footer.et-footer [data-id="dda7087"] { display: flex !important; } }

/* M2: text pages (policies, About, Contact) wrapped in .lp-doc, readable on the dark theme */
.lp-doc { max-width: 860px; margin: 0 auto; padding: 8px 0 72px; }
.lp-doc h2, .lp-doc h2.wp-block-heading { color: #fff; font-family: 'Montserrat', 'Inter', sans-serif; font-size: 22px; font-weight: 700; line-height: 1.3; letter-spacing: .01em; margin: 44px 0 12px; }
.lp-doc h3 { color: #fff; font-family: 'Montserrat', 'Inter', sans-serif; font-size: 17px; font-weight: 600; margin: 28px 0 10px; }
.lp-doc p, .lp-doc li { color: #c9c9cf; font-size: 15px; line-height: 1.75; margin: 0 0 14px; }
.lp-doc ul { margin: 0 0 18px 20px; padding: 0; }
.lp-doc a { color: #ff4a52; text-decoration: underline; text-underline-offset: 3px; }
.lp-doc a:hover { color: #fff; }
.lp-doc .lp-policy-updated { color: #8d8d95; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }
@media (max-width: 767px) { .lp-doc { padding-bottom: 48px; } .lp-doc h2, .lp-doc h2.wp-block-heading { font-size: 19px; margin-top: 34px; } .lp-doc p, .lp-doc li { font-size: 15px; } }

/* M2: text pages align with the page title */
.lp-doc { margin-left: 0 !important; margin-right: auto !important; }
/* M2: About / Contact components on the premium layer */
.lp-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 96px); align-items: start; }
.lp-prose p { color: #C4C4CC; font-size: 17px; line-height: 1.8; margin: 0 0 20px; }
.lp-prose p:first-child { color: #fff; font-size: 20px; line-height: 1.6; }
.lp-cards { display: grid; gap: 16px; }
.lp-card { position: relative; background: #111113; border: 1px solid rgba(255,255,255,.08); padding: 28px 28px 28px 84px; }
.lp-card__i { position: absolute; left: 28px; top: 28px; width: 36px; height: 36px; color: #ED1C24; }
.lp-card__i svg { width: 100%; height: 100%; }
.lp-card small { display: block; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #8d8d95; margin-bottom: 8px; }
.lp-card p, .lp-card a { color: #fff; font-size: 16px; line-height: 1.6; margin: 0; word-break: break-word; }
.lp-card a:hover { color: #ED1C24; }
.lp-acts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lp-act { position: relative; display: block; background: #111113; border: 1px solid rgba(255,255,255,.08); padding: 26px 26px 54px; color: inherit; text-decoration: none; transition: border-color .25s, transform .25s; }
.lp-act:hover { border-color: #ED1C24; transform: translateY(-2px); }
.lp-act h3 { color: #fff; font: 700 19px/1.25 'Montserrat', 'Inter', sans-serif; margin: 0 0 8px; }
.lp-act p { color: #a1a1aa; font-size: 14.5px; line-height: 1.6; margin: 0; }
.lp-act i { position: absolute; left: 26px; bottom: 22px; width: 20px; height: 20px; color: #ED1C24; }
.lp-act i svg { width: 100%; height: 100%; }
@media (max-width: 1023px) { .lp-split { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .lp-acts { grid-template-columns: 1fr; } .lp-card { padding: 24px 22px 24px 72px; } .lp-card__i { left: 22px; top: 24px; width: 32px; height: 32px; } }

/* M2: intro paragraphs keep their size on non-Elementor pages (Mobex dynamic styles set p to 13px) */
.lp .lp-lead { font-size: 17px !important; line-height: 1.75 !important; }

/* M2: freight notice on cart and checkout */
.lpap-freight-note { background: #151517; border: 1px solid rgba(237,28,36,.45); border-left: 3px solid #ED1C24; color: #E4E4E7; padding: 16px 20px; margin: 0 0 24px; font-size: 14.5px; line-height: 1.6; }
.lpap-freight-note::before { display: none; }

/* M2: block cart + checkout readable on the dark theme (totals box, item totals and quantity buttons were white) */
.wp-block-woocommerce-cart .wc-block-cart-item__total,
.wp-block-woocommerce-cart-order-summary-block { background: #111113 !important; color: #E4E4E7 !important; }
.wp-block-woocommerce-cart-order-summary-block { border: 1px solid rgba(255,255,255,.08); }
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__description,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel__button { color: #E4E4E7 !important; }
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: #ED1C24 !important; }
.wc-block-components-quantity-selector { background: #151517 !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 4px; }
.wc-block-components-quantity-selector::after { border-color: rgba(255,255,255,.14) !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { background: transparent !important; color: #fff !important; opacity: 1; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { background: transparent !important; color: #fff !important; }
.wc-block-cart-item__remove-link { background: transparent !important; color: #a1a1aa !important; }
.wc-block-cart-item__remove-link:hover { color: #ED1C24 !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkbox label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option { color: #E4E4E7 !important; }
.wc-block-components-order-summary-item__quantity { background: #ED1C24 !important; color: #fff !important; border-color: #ED1C24 !important; }
/* Mobex hides the +/- text (text-indent) and shrinks the remove icon to 0: show both */
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { text-indent: 0 !important; font-size: 18px !important; line-height: 1 !important; }
.wc-block-cart-item__remove-link svg { width: 18px !important; height: 18px !important; fill: currentColor !important; display: block; }
.wc-block-cart-item__remove-link { width: 34px !important; height: 34px !important; display: inline-flex !important; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.18) !important; border-radius: 4px; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus { left: 0 !important; right: auto !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus { right: 0 !important; left: auto !important; }
.wc-block-cart-item__remove-link::before { background-color: currentColor !important; }

/* M2: request forms */
.lpap-form { background: #0f0f11; border: 1px solid rgba(255,255,255,.08); padding: clamp(24px, 4vw, 48px); }
.lpap-form fieldset { border: 0; margin: 0 0 32px; padding: 0; min-width: 0; }
.lpap-form legend { display: block; width: 100%; color: #fff; font: 700 13px/1 'Montserrat', 'Inter', sans-serif; letter-spacing: .2em; text-transform: uppercase; padding: 0 0 14px; margin: 0 0 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.lpap-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.lpap-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.lpap-field--wide { grid-column: 1 / -1; }
.lpap-form label { color: #C4C4CC; font-size: 13px !important; font-weight: 600; letter-spacing: .02em; }
.lpap-form label span { color: #ED1C24; }
.lpap-form input[type=text], .lpap-form input[type=email], .lpap-form input[type=tel], .lpap-form input[type=number], .lpap-form select, .lpap-form textarea {
  width: 100%; box-sizing: border-box; background: #151517 !important; color: #fff !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 4px; padding: 13px 14px; font-size: 15px !important; line-height: 1.4; min-height: 48px; transition: border-color .2s, box-shadow .2s; }
.lpap-form textarea { min-height: 132px; resize: vertical; }
.lpap-form select { appearance: auto; }
.lpap-form input:focus, .lpap-form select:focus, .lpap-form textarea:focus { outline: none; border-color: #ED1C24 !important; box-shadow: 0 0 0 3px rgba(237,28,36,.18); }
.lpap-form input[type=file] { color: #C4C4CC; font-size: 14px; padding: 14px; border: 1px dashed rgba(255,255,255,.22); border-radius: 4px; background: #121214; }
.lpap-form input[type=file]::file-selector-button { background: #ED1C24; color: #fff; border: 0; border-radius: 3px; padding: 9px 16px; margin-right: 14px; font-weight: 600; cursor: pointer; }
.lpap-field__help { color: #8d8d95; font-size: 12.5px; line-height: 1.5; }
.lpap-field__err { color: #ff6b70; font-size: 12.5px; }
.lpap-field.has-error input, .lpap-field.has-error select, .lpap-field.has-error textarea { border-color: #ff4a52 !important; }
.lpap-form__notice { background: rgba(237,28,36,.1); border: 1px solid rgba(237,28,36,.45); color: #fff; padding: 14px 18px; margin: 0 0 28px; font-size: 14.5px; }
.lpap-form__note { color: #8d8d95 !important; font-size: 13px !important; line-height: 1.6 !important; margin: 0 0 22px !important; }
.lpap-form__submit { border: 0; cursor: pointer; font-size: 14px; }
.lpap-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.lpap-form--done h3 { color: #fff; font: 700 24px/1.3 'Montserrat', 'Inter', sans-serif; margin: 0 0 10px; }
.lpap-form--done p { color: #C4C4CC; font-size: 15px; margin: 0; }
.lp-formsec .lp-split { align-items: start; }
.lp-formsec .lp-aside p { color: #C4C4CC; font-size: 16px; line-height: 1.75; margin: 0 0 16px; }
.lp-aside .lp-list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; }
.lp-aside .lp-list li { color: #E4E4E7; font-size: 15px; padding-left: 22px; position: relative; }
.lp-aside .lp-list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 10px; height: 2px; background: #ED1C24; }
@media (max-width: 767px) { .lpap-form__grid { grid-template-columns: 1fr; } .lpap-form { padding: 22px 18px; } }
#lpap-form { scroll-margin-top: 160px; }
/* M2: checkout payment options readable on the dark theme (option rows were light blue behind white text) */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option { background: #141416 !important; color: #E4E4E7 !important; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option { border: 1px solid rgba(255,255,255,.12) !important; box-shadow: none !important; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: #ED1C24 !important; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content { background: #0f0f11 !important; color: #c4c4c9 !important; }
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label { color: #F5F5F5 !important; font-weight: 600; }
/* M2: order received + order view readable on the dark theme (values, headings and product links were near-black) */
.woocommerce-order-overview strong, .woocommerce-order-details__title, .woocommerce-column__title,
.woocommerce-order-details a, .woocommerce-order-details td, .woocommerce-order-details th,
.woocommerce-customer-details address, .woocommerce-bacs-bank-details h2, .wc-bacs-bank-details-heading, .lpap-wire h2 { color: #F5F5F5 !important; }
.woocommerce-order-details table thead th, .woocommerce-order-details table thead { background: #141416 !important; color: #F5F5F5 !important; }
.woocommerce-order-details a:hover { color: #ED1C24 !important; }
.woocommerce-order > p, .lpap-wire p, .woocommerce-bacs-bank-details li, .wc-bacs-bank-details li, .lpap-wire th, .lpap-wire td { color: #D4D4D8 !important; }
.woocommerce-customer-details address { border-color: rgba(255,255,255,.12) !important; background: transparent !important; }
.woocommerce-order > p.woocommerce-thankyou-order-received { background: #141416 !important; color: #F5F5F5 !important; border: 1px solid rgba(255,255,255,.12) !important; border-left: 3px solid #ED1C24 !important; font-weight: 600; }
/* M2: My Garage panel on the dark theme + Verify Fitment block on product pages */
.megamenu .elementor-1546 { background: #141416 !important; border: 1px solid rgba(255,255,255,.12); }
.et-my-garage .add-more, .et-my-garage .add-more a, .et-my-garage .reset { color: #F5F5F5 !important; }
.et-my-garage .user-vehicle-list li, .et-my-garage .user-vehicle-list a { color: #F5F5F5 !important; }
.et-my-garage .user-vehicle-list li { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.14) !important; }
.et-my-garage .user-vehicle-list li:hover, .et-my-garage .user-vehicle-list li.active { background: rgba(237,28,36,.12) !important; border-color: #ED1C24 !important; }
.et-my-garage .user-vehicle-list li:hover a, .et-my-garage .user-vehicle-list li.active a { color: #FFFFFF !important; }
.lpap-fit { margin: 28px 0 8px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); clear: both; }
.lpap-fit__h { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #F5F5F5; margin: 0 0 10px; }
.lpap-fit__copy, .lpap-fit__special { color: #A1A1AA; font-size: 14px; line-height: 1.6; margin: 0 0 14px; }
.lpap-fit__special { margin: 18px 0 0; }
.lpap-fit__special strong { color: #F5F5F5; }
.lpap-fit a { color: #F5F5F5; text-decoration: underline; text-underline-offset: 3px; }
.lpap-fit a:hover { color: #ED1C24; }
.lpap-fit__form { display: flex; gap: 10px; flex-wrap: wrap; margin: 0; }
.lpap-fit__form input { flex: 1 1 220px; min-width: 0; height: 48px; padding: 0 14px; background: #FFFFFF; color: #111111; border: 1px solid #E0E0E0; border-radius: 4px; font-size: 15px; letter-spacing: .04em; text-transform: uppercase; }
.lpap-fit__form input::placeholder { text-transform: none; letter-spacing: 0; color: #71717A; }
.lpap-fit__form .button { height: 48px; padding: 0 22px; background: transparent !important; color: #F5F5F5 !important; border: 1px solid #F5F5F5 !important; border-radius: 4px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; }
.lpap-fit__form .button:hover { background: #ED1C24 !important; border-color: #ED1C24 !important; }
.lpap-fit__more { margin: 12px 0 0; font-size: 14px; }
.lpap-fit__status { margin: 0 0 14px; padding: 12px 14px; border-radius: 4px; font-size: 14px; line-height: 1.55; color: #F5F5F5; background: rgba(255,255,255,.05); border-left: 3px solid #A1A1AA; }
.lpap-fit__status.is-ok { border-left-color: #22C55E; background: rgba(34,197,94,.08); }
.lpap-fit__status.is-warn { border-left-color: #F59E0B; background: rgba(245,158,11,.08); }
.lpap-fit__status.is-bad { border-left-color: #ED1C24; background: rgba(237,28,36,.08); }
.lpap-fit__status strong { color: #FFFFFF; }
.single-product-vehicles tr.highlight td { background: rgba(34,197,94,.12) !important; color: #FFFFFF !important; }
.et-my-garage .user-vehicle-list li::before { background-color: #F5F5F5 !important; }
.et-my-garage .user-vehicle-list li:hover::before, .et-my-garage .user-vehicle-list li.active::before { background-color: #ED1C24 !important; }
/* M2 step 5 phone/tablet pass (7 Oct) */
.et-mobile .mobile-container { overflow-x: clip; } /* hidden slide-out menu: its Dashboard button poked 20px over the logo */
.et-product-search .filter-box { background: #141416 !important; border: 1px solid rgba(255,255,255,.12); }
.et-product-search .filter-box .reset { color: #F5F5F5 !important; }
form.cart.sticky { background: #141416 !important; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 -8px 24px rgba(0,0,0,.5) !important; }
form.cart.sticky .single_add_to_cart_button { white-space: nowrap !important; letter-spacing: .06em !important; padding-left: 14px !important; padding-right: 14px !important; }
/* M2: My Account menu on the dark theme */
.woocommerce-MyAccount-navigation ul li a { background: #141416 !important; color: #F5F5F5 !important; border: 1px solid rgba(255,255,255,.12) !important; }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { background: #ED1C24 !important; border-color: #ED1C24 !important; color: #FFFFFF !important; }
.woocommerce-MyAccount-navigation ul li a::before { background-color: currentColor !important; }
#customer_login h2, .woocommerce-form-login h2, .woocommerce-form-register h2 { color: #F5F5F5 !important; }
.woocommerce .password-input { position: relative !important; display: block !important; }
.woocommerce .password-input .show-password-input { position: absolute !important; right: 8px !important; top: 50% !important; transform: translateY(-50%); margin: 0 !important; border-radius: 4px; }
.woocommerce .password-input input { padding-right: 52px !important; }
/* M2: home hero as WebP, phone-sized crop under 768px (crop is centred on the car, so position 50%) */
.lp-hero__img { background-image: url(/wp-content/uploads/2026/10/lpap-hero-v3.webp) !important; }
@media (max-width: 767px) { .lp-hero__img { background-image: url(/wp-content/uploads/2026/10/lpap-hero-v3-mobile.webp) !important; background-position: 50% 50% !important; } }
/* M2 step 8: empty cart headings were #111 on the dark theme */
.wp-block-woocommerce-empty-cart-block h2, .wp-block-woocommerce-empty-cart-block .wp-block-heading { color: #F5F5F5 !important; }
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before { background-color: #F5F5F5 !important; }
.wp-block-woocommerce-empty-cart-block .new-products-title { color: #F5F5F5 !important; }


/* Phone menu Account tab: Forgot password / Sign up links were dark on dark */
.widget_mobex_enovathemes_login .form-links a,
.logged-out .form-links a {
    color: #ffffff !important;
    opacity: .85;
    text-decoration: underline;
}
.widget_mobex_enovathemes_login .form-links a:hover,
.logged-out .form-links a:hover {
    color: #ED1C24 !important;
    opacity: 1;
}