/* =========================================================
   Delica Parts Brisbane - custom theme layer (classic theme)
   Industrial / high-contrast / electric-blue accent
   Loaded site-wide via _partials/head.tpl
   ========================================================= */

/* Self-hosted Material Icons (theme's bundled font hash is broken / 404) */
@font-face {
  font-family: "Material Icons";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/material-icons.woff2") format("woff2");
}
.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:root {
  --dpb-ink: #0c1116;
  --dpb-ink-2: #070a0e;
  --dpb-surface: #131a22;
  --dpb-line: rgba(255, 255, 255, .12);
  --dpb-accent: #0a84ff;
  --dpb-accent-2: #2f9bff;
  --dpb-accent-press: #0061cc;
  --dpb-oos: #4a7dab;
  --dpb-oos-press: #3a6588;
  --dpb-text: #0c1116;
  --dpb-text-light: #eef3f8;
  --dpb-muted: #93a1b0;
  --dpb-radius: 16px;
  --dpb-shadow: 0 10px 30px rgba(8, 15, 25, .14);
}

/* ---------- Global accent buttons / CTAs ---------- */
.btn-primary,
.btn-primary:focus {
  background-color: var(--dpb-accent);
  border-color: var(--dpb-accent);
  color: #fff;
  font-weight: 600;
}
.btn-primary:hover,
.btn-primary:active {
  background-color: var(--dpb-accent-press) !important;
  border-color: var(--dpb-accent-press) !important;
  color: #fff;
}

/* =========================================================
   STICKY DARK INDUSTRIAL HEADER (classic markup)
   ========================================================= */
#header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: #141d28;
  color: #fff;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .28);
  overflow: visible;
}
#header .header-top,
#header .header-main-actions,
#header #_desktop_cart {
  overflow: visible;
}

/* --- top utility bar (mobile only; collapses on desktop) --- */
#header .header-nav {
  background: #141d28;
  border: 0;
  margin-bottom: 0;
  padding: 0;
}
#header .header-nav .mobile { padding: .5rem 0; }
#header .header-nav,
#header .header-nav a,
#header .header-nav .expand-more,
#header .header-nav i { color: #aab6c2 !important; }
#header .header-nav a:hover,
#header .header-nav a:hover i { color: #fff !important; text-decoration: none; }
#header .header-nav .right-nav { text-align: right; }
.header-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .32rem .9rem;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  font-weight: 600;
  font-size: .82rem;
  color: #dfe7ef !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.header-contact-btn:hover { background: var(--dpb-accent); border-color: var(--dpb-accent); color: #fff !important; }
.header-contact-btn .material-icons { font-size: 1.05rem; color: inherit !important; }

/* --- main bar: logo | search | actions --- */
#header .header-top { background: #141d28; padding: .75rem 0; }
.header-main-row { display: flex; align-items: center; gap: 1.5rem; }
#header .header-top #_desktop_logo { width: auto; max-width: none; flex: 0 0 auto; padding: 0; }
#header .header-top #_desktop_logo h1 { margin: 0; }
#header .header-top .logo {
  display: block;
  height: 52px;
  width: auto;
  max-width: 100%;
  /* Override cached theme bundle still swapping in logo-dpb-dark.png */
  content: normal !important;
}
.header-main-search { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.header-main-actions {
  flex: 0 0 auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
/* Reset default theme blockcart box styles in the top bar */
#header .header-main-actions .blockcart {
  height: auto;
  padding: 0;
  margin: 0;
  background: transparent;
  text-align: inherit;
  white-space: nowrap;
}
#header .header-main-actions .blockcart .header { margin-top: 0; }
#header .header-main-actions #_desktop_user_info,
#header .header-main-actions #_desktop_cart,
#header .header-main-actions .blockcart-inner {
  display: flex;
  align-items: center;
}
#header .header-main-actions a,
#header .header-main-actions .material-icons,
#header .header-main-actions .cart-products-count,
#header .header-main-actions .cart-toggle,
#header .header-main-actions .cart-toggle .material-icons,
#header .header-main-actions .user-info a { color: #fff !important; }
#header .header-main-actions a:hover,
#header .header-main-actions a:hover .material-icons,
#header .header-main-actions .cart-toggle:hover,
#header .header-main-actions .cart-toggle:hover .material-icons { color: var(--dpb-accent-2) !important; text-decoration: none; }
#header .header-main-actions .blockcart .header,
#header .header-main-actions .blockcart .cart-toggle,
#header .header-main-actions .user-info a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  line-height: 1;
  vertical-align: middle;
}
#header .header-main-actions .user-info .material-icons,
#header .header-main-actions .blockcart .material-icons {
  font-size: 1.35rem;
  line-height: 1;
}
#header .header-main-actions > div,
#header .header-main-actions .user-info,
#header .header-main-actions .blockcart { display: flex; align-items: center; }
#header .header-main-actions .user-info { gap: 1rem; margin: 0; padding: 0; }

/* --- mini cart dropdown --- */
#header .blockcart { position: relative; }
#header .blockcart .blockcart-inner { position: relative; }
#header .blockcart .cart-toggle {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: inherit;
  font: inherit;
  line-height: inherit;
}
#header .blockcart .cart-toggle:hover,
#header .blockcart .cart-toggle:focus {
  color: var(--dpb-accent-2) !important;
  outline: none;
}
#header .blockcart .cart-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + .65rem);
  right: 0;
  width: min(22rem, calc(100vw - 1.5rem));
  max-width: calc(100vw - 1.5rem);
  background: #1e2a38;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: .65rem;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
  color: #e8edf3;
  z-index: 1200;
  overflow: hidden;
  box-sizing: border-box;
}
#header .blockcart.blockcart--open .cart-dropdown { display: block; }
#header .blockcart .cart-dropdown__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .35rem .75rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
#header .blockcart .cart-dropdown__title {
  font-weight: 700;
  font-size: .95rem;
  color: #fff;
  flex: 0 0 auto;
}
#header .blockcart .cart-dropdown__count {
  font-size: .75rem;
  color: #9fb0c3;
  flex: 1 1 auto;
  min-width: 0;
  text-align: right;
  line-height: 1.3;
}
#header .blockcart .cart-dropdown__body {
  max-height: 18rem;
  overflow-x: hidden;
  overflow-y: auto;
  padding: .5rem 0;
}
#header .blockcart .cart-dropdown__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
#header .blockcart .cart-dropdown__item + .cart-dropdown__item {
  border-top: 1px solid rgba(255, 255, 255, .06);
}
#header .blockcart .cart-dropdown__product {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: start;
  padding: .75rem 1rem;
}
#header .blockcart .cart-dropdown__product-info {
  min-width: 0;
  overflow: hidden;
}
#header .blockcart .cart-dropdown__product-img {
  display: block;
  border-radius: .35rem;
  overflow: hidden;
  background: #fff;
  flex-shrink: 0;
}
#header .blockcart .cart-dropdown__product-img img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: cover;
}
#header .blockcart .cart-dropdown__product-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: #fff !important;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  word-break: break-word;
}
#header .blockcart .cart-dropdown__product-name:hover {
  color: var(--dpb-accent-2) !important;
}
#header .blockcart .cart-dropdown__product-meta,
#header .blockcart .cart-dropdown__product-attr {
  display: block;
  font-size: .78rem;
  color: #9fb0c3;
  margin-top: .15rem;
}
#header .blockcart .cart-dropdown__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  color: #9fb0c3 !important;
  text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
#header .blockcart .cart-dropdown__remove:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff !important;
}
#header .blockcart .cart-dropdown__remove .material-icons { font-size: 1rem; }
#header .blockcart .cart-dropdown__empty {
  margin: 0;
  padding: 1.5rem 1rem;
  text-align: center;
  color: #9fb0c3;
  font-size: .9rem;
}
#header .blockcart .cart-dropdown__subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
  font-size: .88rem;
}
#header .blockcart .cart-dropdown__subtotal .label { color: #9fb0c3; }
#header .blockcart .cart-dropdown__subtotal .value { color: #fff; font-weight: 700; }
#header .blockcart .cart-dropdown__foot {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: .85rem 1rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
#header .blockcart .cart-dropdown__foot .btn {
  margin: 0;
  width: 100%;
  padding: .6rem .75rem;
  font-size: .78rem;
  font-weight: 700;
  border-radius: .4rem;
  text-align: center;
  white-space: normal;
  box-sizing: border-box;
}
#header .blockcart .cart-dropdown__view {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .22);
  color: #fff !important;
}
#header .blockcart .cart-dropdown__view:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff !important;
}
#header .blockcart .cart-dropdown__checkout {
  background: var(--dpb-accent);
  border-color: var(--dpb-accent);
  color: #fff !important;
}
#header .blockcart .cart-dropdown__checkout:hover {
  background: var(--dpb-accent-2);
  border-color: var(--dpb-accent-2);
  color: #fff !important;
}
@media (max-width: 767px) {
  #header .blockcart .cart-dropdown {
    position: fixed;
    top: 3.25rem;
    right: .75rem;
    left: .75rem;
    width: auto;
  }
  #header .blockcart .cart-dropdown__count {
    font-size: .72rem;
    text-align: right;
    max-width: 9rem;
    line-height: 1.3;
  }
}

/* prominent search pill */
#header #search_widget { width: 100%; max-width: 560px; float: none; margin: 0 auto; }
#header #search_widget form {
  position: relative;
  display: flex;
  align-items: center;
  gap: .4rem;
  width: 100%;
  background: #f1f4f8;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 999px;
  padding: .12rem .5rem .12rem .95rem;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
#header #search_widget form:focus-within {
  background: #fff;
  border-color: var(--dpb-accent) !important;
  box-shadow: 0 0 0 4px rgba(10, 132, 255, .25);
}
#header #search_widget input[type="text"] {
  position: static !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  height: 42px;
  width: auto;
  flex: 1 1 auto;
  padding: 0 .4rem;
  min-width: 0;
  color: var(--dpb-ink);
}
#header #search_widget .search,
#header #search_widget i.material-icons.search {
  position: static !important;
  top: auto !important;
  right: auto !important;
  margin: 0 !important;
  color: var(--dpb-accent) !important;
  opacity: 1 !important;
  order: -1;
}
#header #search_widget .clear { color: #94a3b2 !important; }

/* --- nav bar: menu (left) + utilities (right), unified with main bar --- */
.header-menu-bar { background: #141d28; border-top: 1px solid rgba(255, 255, 255, .07); }
.header-menu-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 0;
  padding-bottom: 0;
}
.header-menu-bar__nav {
  display: flex;
  align-items: stretch;
  min-width: 0;
}
.header-menu-bar__nav .menu { min-width: 0; }
.header-menu-bar__d5-fallback {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.header-menu-bar__nav:has(#top-menu #category-5) .header-menu-bar__d5-fallback {
  display: none;
}
.header-menu-bar .menu,
.header-menu-bar #_desktop_top_menu { width: auto; }
.header-menu-bar .top-menu { display: flex; justify-content: flex-start; flex-wrap: wrap; margin: 0; }
.header-menu-bar .top-menu > li > a.dropdown-item {
  color: #eef3f9;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding: .9rem 1.05rem;
  border-bottom: 3px solid transparent;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.header-menu-bar .top-menu > li > a.dropdown-item:hover,
.header-menu-bar .top-menu > li:hover > a.dropdown-item {
  color: #fff;
  border-bottom-color: var(--dpb-accent);
  background: rgba(255, 255, 255, .05);
}

/* utilities cluster on the right of the nav bar */
.header-menu-bar__utils {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  flex: 0 0 auto;
  white-space: nowrap;
}
.header-menu-bar__utils #_desktop_contact_link,
.header-menu-bar__utils #contact-link { color: #b8c4d2; font-size: .85rem; }
.header-menu-bar__utils #contact-link a { color: #fff; font-weight: 700; }
.header-menu-bar__utils #contact-link a:hover { color: var(--dpb-accent-2); text-decoration: none; }

/* top-level category links: force bright/readable on the dark bar */
#header .header-menu-bar #_desktop_top_menu .top-menu > li > a.dropdown-item { color: #eef3f9 !important; }
#header .header-menu-bar #_desktop_top_menu .top-menu > li:hover > a.dropdown-item,
#header .header-menu-bar #_desktop_top_menu .top-menu > li > a.dropdown-item:hover { color: #fff !important; }

/* dropdown panel: dark, cohesive, readable */
#header .header-menu-bar .sub-menu,
#header .header-menu-bar .sub-menu.popover {
  background-color: #18212e !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .45) !important;
}
#header .header-menu-bar .sub-menu a,
#header .header-menu-bar .sub-menu a.dropdown-item,
#header .header-menu-bar .sub-menu a.dropdown-submenu { color: #dbe4ef !important; }
#header .header-menu-bar .sub-menu a:hover,
#header .header-menu-bar .sub-menu a.dropdown-submenu:hover { color: #fff !important; background: rgba(255, 255, 255, .06); }

/* =========================================================
   HOMEPAGE
   ========================================================= */
/* Full-bleed sections must NOT be clipped by #content; contain the
   horizontal overflow on the full-width wrapper instead (home only). */
#content.page-home { overflow-x: visible; }
.page-index #wrapper { overflow-x: clip; }
/* Let the hero sit flush under the sticky header (kill default top spacing) */
.page-index #wrapper { padding-top: 0; }
.page-home #custom-text { padding-top: 0; padding-bottom: 0; margin-bottom: 0; background: transparent; }
.page-home .dpb-home { color: var(--dpb-text); }
.dpb-home a { text-decoration: none; }

/* full-bleed helper (works inside centered container or full width) */
.dpb-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* ---------- Hero ---------- */
.dpb-hero {
  position: relative;
  margin-top: 0;
  color: #fff;
  background:
    linear-gradient(115deg, rgba(7, 10, 14, .92) 0%, rgba(7, 10, 14, .72) 55%, rgba(10, 132, 255, .35) 100%),
    url(/img/variants/l400-4m40.png) center / cover no-repeat;
  overflow: hidden;
}
.dpb-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 120% at 85% 10%, rgba(10, 132, 255, .35), transparent 60%);
  pointer-events: none;
}
.dpb-hero__inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(3rem, 8vw, 6.5rem) 1.25rem;
}
.dpb-hero__eyebrow {
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--dpb-accent-2);
  margin-bottom: .9rem;
}
.dpb-hero__title {
  font-size: clamp(2rem, 5.2vw, 3.6rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.02em;
  margin: 0 0 1rem;
  max-width: 16ch;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}
/* #custom-text p (ID selector) overrides plain classes, so scope by #custom-text */
#custom-text .dpb-hero__sub {
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  color: #ffffff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .65);
  max-width: 54ch;
  margin: 0 0 1.8rem;
}
.dpb-hero__rating {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 1.5rem;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  border-radius: 6px;
  transition: opacity .15s ease, transform .15s ease;
}
a.dpb-hero__rating:hover {
  opacity: .92;
  transform: translateY(-1px);
  text-decoration: none;
}
a.dpb-hero__rating:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.dpb-hero__stars {
  position: relative;
  display: inline-block;
  font-size: 1.15rem;
  line-height: 1;
  letter-spacing: 2px;
  font-family: Arial, "Segoe UI Symbol", sans-serif;
}
.dpb-hero__stars::before {
  content: "\2605\2605\2605\2605\2605";
  color: rgba(255, 255, 255, .3);
}
.dpb-hero__stars::after {
  content: "\2605\2605\2605\2605\2605";
  color: #ffb400;
  position: absolute;
  left: 0;
  top: 0;
  width: var(--dpb-hero-rating-pct, 86%);
  overflow: hidden;
  white-space: nowrap;
}
.dpb-hero__rating-text {
  font-size: .9rem;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
}
.dpb-g-icon {
  width: 15px;
  height: 15px;
  vertical-align: -3px;
  margin: 0 .25rem 0 .2rem;
  flex: 0 0 auto;
}
.dpb-hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; }
.dpb-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-weight: 700;
  font-size: 1rem;
  padding: .85rem 1.6rem;
  border-radius: 999px;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.dpb-btn--accent {
  background: var(--dpb-accent);
  color: #fff;
  box-shadow: 0 8px 22px rgba(10, 132, 255, .4);
}
.dpb-btn--accent:hover { background: var(--dpb-accent-press); color: #fff; transform: translateY(-2px); }
.dpb-btn--ghost {
  background: rgba(255, 255, 255, .08);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, .55);
}
.dpb-btn--ghost:hover { background: rgba(255, 255, 255, .16); color: #fff; transform: translateY(-2px); }
.dpb-btn--fb {
  background: #1877f2;
  color: #fff;
  box-shadow: 0 8px 22px rgba(24, 119, 242, .35);
}
.dpb-btn--fb:hover { background: #0f63d6; color: #fff; transform: translateY(-2px); }

/* ---------- Trust strip ---------- */
.dpb-trust {
  background: linear-gradient(90deg, var(--dpb-accent) 0%, var(--dpb-accent-press) 100%);
  color: #fff;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-inline: max(16px, calc((100vw - 1180px) / 2));
}
.dpb-trust__item + .dpb-trust__item { box-shadow: inset 1px 0 0 rgba(255, 255, 255, .18); }
.dpb-trust__item {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1.15rem 1.4rem;
  justify-content: center;
}
.dpb-trust__item svg { width: 30px; height: 30px; color: #fff; flex: none; }
.dpb-trust__item strong { display: block; font-size: .98rem; color: #fff; }
.dpb-trust__item span { display: block; font-size: .8rem; color: rgba(255, 255, 255, .85); }

/* ---------- PayPal Pay in 4 (homepage widget from PayPal module) ---------- */
.dpb-paylater--widget {
  padding-inline: max(16px, calc((100vw - 1180px) / 2));
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.dpb-paylater--widget [paypal-messaging-banner],
.dpb-paylater--widget [data-pp-message] {
  max-width: 1180px;
  margin: 0 auto;
  padding: .35rem 0 .55rem;
}
/* Hide duplicate homepage banner from displayNavFullWidth (widget lives in CMS block). */
#header [paypal-messaging-banner][data-pp-placement="home"],
#header [data-pp-message][data-pp-placement="home"] {
  display: none !important;
}

/* ---------- Generic home section ---------- */
.dpb-section { max-width: 1200px; margin: 0 auto; padding: clamp(2.2rem, 5vw, 3.4rem) 1rem .5rem; }
.dpb-section__head { text-align: center; margin-bottom: 1.6rem; }
.dpb-section__head h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -.01em;
  margin: 0 0 .4rem;
  position: relative;
  display: inline-block;
  padding-bottom: .55rem;
  color: var(--dpb-ink);
}
.dpb-section__head h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 56px;
  height: 4px;
  border-radius: 4px;
  background: var(--dpb-accent);
}
.dpb-section__head p { color: #5b6b7a; margin: 0; font-size: 1rem; }

/* ---------- Shop by Delica (model) grid ---------- */
.delica-vp__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.delica-vp__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 240px;
  padding: 1.25rem;
  border-radius: var(--dpb-radius);
  color: #fff;
  overflow: hidden;
  background-color: #1a1a1a;
  background-size: cover;
  background-position: center;
  box-shadow: var(--dpb-shadow);
  transition: transform .18s ease, box-shadow .18s ease;
}
.delica-vp__card:hover { transform: translateY(-6px); box-shadow: 0 18px 38px rgba(8, 15, 25, .28); color: #fff; }
.delica-vp__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, .82) 100%);
  z-index: 0;
}
.delica-vp__card > * { position: relative; z-index: 1; }
.delica-vp__badge { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--dpb-accent-2); text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
.delica-vp__title { font-size: 1.7rem; font-weight: 800; line-height: 1.05; margin: .15rem 0 .1rem; text-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
.delica-vp__sub { font-size: .9rem; opacity: .95; margin-bottom: .9rem; text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
.delica-vp__cta { align-self: center; font-size: .85rem; font-weight: 700; background: rgba(10, 132, 255, .9); padding: .5rem .9rem; border-radius: 999px; transition: background .15s ease; }
.delica-vp__card:hover .delica-vp__cta { background: var(--dpb-accent-press); }

/* ---------- Shop by part type ---------- */
.dpb-parts {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(4, 1fr);
}
.dpb-parts__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: 1.5rem 1rem;
  background: #fff;
  border: 1.5px solid #e6ecf2;
  border-radius: var(--dpb-radius);
  color: var(--dpb-ink);
  font-weight: 700;
  text-align: center;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.dpb-parts__tile:hover {
  transform: translateY(-4px);
  border-color: var(--dpb-accent);
  box-shadow: 0 12px 26px rgba(10, 132, 255, .16);
  color: var(--dpb-ink);
}
.dpb-parts__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(10, 132, 255, .1);
  color: var(--dpb-accent);
}
.dpb-parts__icon svg { width: 28px; height: 28px; }
.dpb-parts__tile span { font-size: .95rem; }
.dpb-parts__tile[href*="electrical"] .dpb-parts__icon { color: #0a2e6e; }

/* =========================================================
   HOMEPAGE COLOUR BLOCKS (full-bleed bands behind centered sections)
   ========================================================= */
/* Shop by your Delica -> deep navy block (variant photos pop) */
#dpb-models { position: relative; padding-bottom: clamp(2.2rem, 5vw, 3.4rem); }
#dpb-models > * { position: relative; z-index: 1; }
#dpb-models::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  z-index: 0;
  background: linear-gradient(135deg, #0f2438 0%, #18334d 100%);
}
#dpb-models .dpb-section__head h2 { color: #fff; }
#dpb-models .dpb-section__head p { color: rgba(255, 255, 255, .8); }

/* Shop by part type -> soft tint block */
.dpb-home .dpb-section:not(#dpb-models) { position: relative; padding-bottom: clamp(2.2rem, 5vw, 3.4rem); }
.dpb-home .dpb-section:not(#dpb-models) > * { position: relative; z-index: 1; }
.dpb-home .dpb-section:not(#dpb-models)::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  z-index: 0;
  background: #eef3fa;
}

/* Part-type icons -> graduated shades of blue */
.dpb-parts__tile:nth-child(1) .dpb-parts__icon { background: rgba(47, 155, 255, .14); color: #2f9bff; }
.dpb-parts__tile:nth-child(2) .dpb-parts__icon { background: rgba(10, 132, 255, .12); color: #0a84ff; }
.dpb-parts__tile:nth-child(3) .dpb-parts__icon { background: rgba(30, 116, 232, .14); color: #1e74e8; }
.dpb-parts__tile:nth-child(4) .dpb-parts__icon { background: rgba(37, 99, 235, .14);  color: #2563eb; }
.dpb-parts__tile:nth-child(5) .dpb-parts__icon { background: rgba(29, 95, 214, .15);  color: #1d5fd6; }
.dpb-parts__tile:nth-child(6) .dpb-parts__icon { background: rgba(30, 79, 196, .15);  color: #1e4fc4; }
.dpb-parts__tile:nth-child(7) .dpb-parts__icon { background: rgba(30, 64, 175, .15);  color: #1e40af; }
.dpb-parts__tile:nth-child(8) .dpb-parts__icon { background: rgba(21, 48, 126, .15);  color: #15307e; }
.dpb-parts__tile:nth-child(1):hover { border-color: #2f9bff; box-shadow: 0 12px 26px rgba(47, 155, 255, .18); }
.dpb-parts__tile:nth-child(2):hover { border-color: #0a84ff; box-shadow: 0 12px 26px rgba(10, 132, 255, .18); }
.dpb-parts__tile:nth-child(3):hover { border-color: #1e74e8; box-shadow: 0 12px 26px rgba(30, 116, 232, .18); }
.dpb-parts__tile:nth-child(4):hover { border-color: #2563eb; box-shadow: 0 12px 26px rgba(37, 99, 235, .18); }
.dpb-parts__tile:nth-child(5):hover { border-color: #1d5fd6; box-shadow: 0 12px 26px rgba(29, 95, 214, .18); }
.dpb-parts__tile:nth-child(6):hover { border-color: #1e4fc4; box-shadow: 0 12px 26px rgba(30, 79, 196, .18); }
.dpb-parts__tile:nth-child(7):hover { border-color: #1e40af; box-shadow: 0 12px 26px rgba(30, 64, 175, .18); }
.dpb-parts__tile:nth-child(8):hover { border-color: #15307e; box-shadow: 0 12px 26px rgba(21, 48, 126, .18); }

/* ---------- Home product carousels: section titles ---------- */
.page-home .products-section-title,
.page-home h2.products-section-title {
  text-align: center;
  font-weight: 800;
  letter-spacing: -.01em;
  text-transform: none;
}

/* ---------- Product carousels as alternating blocks ---------- */
.page-home .featured-products {
  position: relative;
  margin: 0;
  padding: clamp(2.2rem, 5vw, 3.4rem) 0;
}
.page-home .featured-products[data-type="newproducts"] > * { position: relative; z-index: 1; }
.page-home .featured-products[data-type="newproducts"]::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  z-index: 0;
  background: #f4f7fb;
}

/* ---------- Home product cards ---------- */
.page-home .product-miniature {
  background: #fff;
  border: 1px solid #e6ebf1;
  border-radius: 14px;
  overflow: hidden;
  height: 100%;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.page-home .product-miniature:hover {
  transform: translateY(-4px);
  border-color: var(--dpb-accent);
  box-shadow: 0 14px 30px rgba(8, 15, 25, .10);
}
.page-home .product-miniature .thumbnail-container { margin: 0; height: 100%; display: flex; flex-direction: column; }
.page-home .product-miniature .thumbnail-top { position: relative; }
.page-home .product-miniature .product-thumbnail { display: block; background: #fff; }
.page-home .product-miniature .product-thumbnail img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #fff;
  padding: .6rem;
  display: block;
}
.page-home .product-miniature .product-description {
  padding: .85rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  flex: 1 1 auto;
  border-top: 1px solid #eef2f7;
}
.page-home .product-miniature .product-title { margin: 0; font-size: .92rem; line-height: 1.35; min-height: 2.5em; }
.page-home .product-miniature .product-title a { color: var(--dpb-ink); font-weight: 600; }
.page-home .product-miniature .product-title a:hover { color: var(--dpb-accent); }
.page-home .product-miniature .price { color: var(--dpb-ink); font-weight: 800; font-size: 1.12rem; }
.page-home .product-miniature .regular-price { color: #9aa6b2; text-decoration: line-through; font-weight: 600; font-size: .9rem; margin-right: .35rem; }
.product-availability { font-size: .8rem; font-weight: 700; }
.product-availability.available,
.product-availability.last_remaining_items { color: #16a34a; }
.product-availability.unavailable,
.product-availability.out_of_stock { color: #ef4444; }
.product-flag.out_of_stock,
.product-miniature .product-flag.out_of_stock {
  background: var(--dpb-oos) !important;
  color: #fff !important;
}
.product-flag.new,
.product-miniature .product-flag.new {
  background: #ffd21e !important;
  color: #0c1116 !important;
}

/* ---------- Category listing header + cover banner ---------- */
.block-category {
  min-height: 0;
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #e6ebf1;
  border-radius: 14px;
  background: #fff;
}
.block-category h1 {
  margin-bottom: .35rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--dpb-ink, #0f2438);
}
.block-category .block-category-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .85rem;
  justify-content: flex-start;
}
.block-category #category-description {
  margin: 0;
  max-width: 48rem;
  color: #64748b;
  font-size: 1rem;
  line-height: 1.5;
}
.block-category .category-cover {
  width: 100%;
  flex: 0 0 auto;
  background: transparent;
}
.block-category .category-cover picture {
  display: block;
  width: 100%;
  background: transparent;
}
/* Override classic theme's fixed 141x180px cover thumb */
.block-category .category-cover img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none;
  object-fit: initial;
  object-position: center;
  border-radius: 10px;
  background: transparent;
}
@media (max-width: 767px) {
  .block-category {
    padding: 1rem 1.1rem;
  }
}

.dpb-view-btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  border-radius: 10px;
  background: var(--dpb-accent);
  color: #fff;
  font-weight: 700;
  font-size: .9rem;
  transition: background .15s ease;
}
.dpb-view-btn:hover { background: var(--dpb-accent-press); color: #fff; text-decoration: none; }

/* one-click add to cart (home listings) */
.dpb-quickadd { margin-top: auto; width: 100%; flex-shrink: 0; }
.dpb-addcart-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  height: 44px;
  border: 0;
  border-radius: 10px;
  background: var(--dpb-accent);
  color: #fff;
  font-weight: 700;
  font-size: .9rem;
  cursor: pointer;
  box-sizing: border-box;
  transition: background .15s ease, transform .15s ease;
}
.dpb-addcart-btn:hover { background: var(--dpb-accent-press); transform: translateY(-1px); }
.dpb-addcart-btn .material-icons { font-size: 1.15rem; flex-shrink: 0; }
.dpb-addcart-btn span { white-space: nowrap; }
.dpb-addcart-btn[disabled] { background: #aeb8c4; cursor: not-allowed; transform: none; }
.dpb-addcart-btn--request {
  background: var(--dpb-oos);
  text-decoration: none;
}
.dpb-addcart-btn--request:hover {
  background: var(--dpb-oos-press);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.page-home .product-miniature .product-description > .dpb-quickadd {
  align-self: stretch;
}

/* product page: out-of-stock -> request part */
.product-request-part-cta { margin-top: .5rem; }
.dpb-btn-request-part {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 48px;
  padding: .65rem 1.25rem;
  font-weight: 700;
}
.dpb-btn-request-part.btn-primary,
.dpb-btn-request-part.btn-primary:focus {
  background-color: var(--dpb-oos);
  border-color: var(--dpb-oos);
}
.dpb-btn-request-part.btn-primary:hover,
.dpb-btn-request-part.btn-primary:active {
  background-color: var(--dpb-oos-press) !important;
  border-color: var(--dpb-oos-press) !important;
}
.dpb-btn-request-part .material-icons { font-size: 1.2rem; }
.product-request-part-hint {
  margin: .65rem 0 0;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.45;
}

/* Google reviews cards */
#dpb-reviews .dpb-section__head--reviews { display: flex; flex-direction: column; align-items: center; gap: .25rem; }
.dpb-gr__rating-line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  margin: 0;
  color: #5b6b7a;
  font-size: 1rem;
  text-decoration: none;
  cursor: pointer;
  border-radius: 6px;
  padding: .15rem .35rem;
  transition: color .15s ease, background .15s ease;
}
a.dpb-gr__rating-line:hover {
  color: var(--dpb-accent);
  background: rgba(0, 0, 0, .04);
  text-decoration: none;
}
a.dpb-gr__rating-line:focus-visible {
  outline: 2px solid var(--dpb-accent);
  outline-offset: 2px;
}
.dpb-gr__rating-g { flex: none; display: block; }
.dpb-reviews__foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.4rem;
}
.dpb-reviews__btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .6rem 1.2rem;
  border: 1.5px solid var(--dpb-accent);
  border-radius: 999px;
  color: var(--dpb-accent);
  font-weight: 700;
  font-size: .9rem;
  background: #fff;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.dpb-reviews__btn-g { flex: none; display: block; }
.dpb-reviews__btn:hover { background: var(--dpb-accent); color: #fff; text-decoration: none; }
.dpb-reviews__btn--write {
  border-color: #4285f4;
  color: #1a73e8;
}
.dpb-reviews__btn--write:hover { background: #1a73e8; border-color: #1a73e8; color: #fff; }
#dpb-reviews-foot {
  display: none;
  align-items: center;
  gap: .45rem;
  padding: .6rem 1.3rem;
  border: 1.5px solid var(--dpb-accent);
  border-radius: 999px;
  color: var(--dpb-accent);
  font-weight: 700;
  font-size: .9rem;
}
#dpb-reviews-foot[href*="google.com"] { display: inline-flex; }
#dpb-reviews-foot:hover { background: var(--dpb-accent); color: #fff; text-decoration: none; }
.dpb-gr__head { display: flex; align-items: center; gap: .6rem; margin-bottom: .55rem; }
.dpb-gr__ava { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.dpb-gr__ava--ph { display: inline-flex; align-items: center; justify-content: center; background: var(--dpb-accent); color: #fff; font-weight: 800; text-transform: uppercase; }
.dpb-gr__head figcaption { font-weight: 700; color: #27313d; font-size: .9rem; }
.dpb-gr__time { display: block; color: #8a96a3; font-size: .78rem; }
.dpb-gr__g { margin-left: auto; flex: none; }

/* ---------- Hero parts finder ---------- */
.dpb-finder {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: flex-end;
  max-width: 780px;
  margin: 0 auto 1.3rem;
  padding: 1rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.dpb-finder__field { display: flex; flex-direction: column; gap: .3rem; text-align: left; flex: 1 1 200px; min-width: 150px; }
.dpb-finder__field label { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.dpb-finder select {
  height: 48px;
  width: 100%;
  border-radius: 10px;
  border: 1px solid #cdd6e0;
  background-color: #fff;
  color: #0c1116;
  padding: 0 2rem 0 .8rem;
  font-size: .95rem;
  font-weight: 600;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23566677' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .8rem center;
}
.dpb-finder select:disabled { opacity: .55; cursor: not-allowed; }
.dpb-finder__btn {
  height: 48px;
  flex: 0 0 auto;
  padding: 0 1.6rem;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  background: var(--dpb-accent);
  color: #fff;
  font-weight: 800;
  font-size: .95rem;
  transition: background .15s ease, transform .15s ease;
}
.dpb-finder__btn:hover { background: var(--dpb-accent-press); transform: translateY(-1px); }
@media (max-width: 560px) { .dpb-finder__btn { flex: 1 1 100%; } }

/* ---------- Assurance / payment strip ---------- */
.dpb-assurance {
  background: #eef2f7;
  color: #3a4654;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 2.2rem;
  padding: .9rem max(16px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid #e1e7ee;
}
.dpb-assurance__pay { display: flex; align-items: center; gap: .6rem; }
.dpb-assurance__label { font-weight: 700; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: #5a6675; }
.dpb-assurance__points { display: flex; gap: 1.3rem; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.dpb-assurance__points li { display: flex; align-items: center; gap: .45rem; font-weight: 600; font-size: .88rem; }
.dpb-assurance__points svg { width: 20px; height: 20px; color: var(--dpb-accent); flex: none; }

/* ---------- Testimonials ---------- */
.dpb-home .dpb-testi::before { background: #ffffff !important; }
#dpb-reviews .dpb-testi__grid {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  #dpb-reviews .dpb-testi__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  #dpb-reviews .dpb-testi__grid { grid-template-columns: 1fr; }
}
.dpb-testi__grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.dpb-testi__card {
  margin: 0;
  background: #fff;
  border: 1px solid #e6ebf1;
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 8px 22px rgba(8, 15, 25, .06);
}
.dpb-testi__stars { color: #ffb400; font-size: 1.05rem; letter-spacing: 3px; margin-bottom: .6rem; }
.dpb-testi__card blockquote { margin: 0 0 .9rem; font-size: 1rem; line-height: 1.55; color: #27313d; }
.dpb-testi__card figcaption { font-weight: 700; color: #5a6675; font-size: .85rem; }

/* ---------- Request a part ---------- */
.dpb-home .dpb-request::before { background: linear-gradient(135deg, #0f2438 0%, #18334d 100%) !important; }
.dpb-request .dpb-request__inner { display: grid; gap: 1.4rem; grid-template-columns: 1fr 1.2fr; align-items: center; }
.dpb-home .dpb-request .dpb-request__text h2 { color: #ffffff !important; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; margin: 0 0 .5rem; }
.dpb-home .dpb-request .dpb-request__text p { color: rgba(255, 255, 255, .9) !important; margin: 0; font-size: 1rem; }
.dpb-request__form { display: grid; gap: .7rem; grid-template-columns: 1fr 1fr; }
.dpb-request__form select,
.dpb-request__form input {
  height: 48px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .96);
  color: #0c1116;
  padding: 0 .9rem;
  font-size: .95rem;
  width: 100%;
}
.dpb-request__form .dpb-btn { grid-column: 1 / -1; height: 48px; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 760px) {
  .dpb-request .dpb-request__inner { grid-template-columns: 1fr; }
  .dpb-request__form { grid-template-columns: 1fr; }
}

/* ---------- Request a part: standalone band (category / hub / search pages) ---------- */
.dpb-request-cta {
  margin-top: clamp(2.4rem, 5vw, 3.6rem);
  background: linear-gradient(135deg, #0f2438 0%, #18334d 100%);
  padding: clamp(2rem, 4.5vw, 3.2rem) clamp(1.25rem, 4vw, 3rem);
  border-radius: 14px;
}
.dpb-request-cta__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
}
.dpb-request-cta .dpb-request__text h2 {
  color: #fff;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 800;
  margin: 0 0 .5rem;
}
.dpb-request-cta .dpb-request__text p {
  color: rgba(255, 255, 255, .9);
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}
.dpb-request-cta .dpb-request__form { margin: 0; }
/* Stay inside the main content column; overrides any cached theme bundle breakout rules. */
@media (min-width: 768px) {
  .dpb-request-cta {
    margin-left: 0;
    width: auto;
    max-width: 100%;
  }
}
@media (max-width: 760px) {
  .dpb-request-cta__inner { grid-template-columns: 1fr; }
}

/* ---------- Blue CTA accent band ---------- */
.dpb-cta { background: linear-gradient(135deg, #0a84ff 0%, #0052cc 100%); color: #fff; }
.dpb-cta__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 3rem) 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.4rem;
}
#custom-text .dpb-cta__text h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 800; margin: 0 0 .4rem; }
#custom-text .dpb-cta__text p { color: rgba(255, 255, 255, .92); font-size: clamp(1rem, 1.5vw, 1.12rem); margin: 0; max-width: 52ch; }
.dpb-cta__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
#custom-text .dpb-cta__call { background: #ffd21e; color: #0c1116; }
#custom-text .dpb-cta__call:hover { background: #ffdd4d; color: #0c1116; transform: translateY(-2px); }
#custom-text .dpb-cta__email { background: rgba(255, 255, 255, .12); color: #fff; border: 1.5px solid rgba(255, 255, 255, .6); }
#custom-text .dpb-cta__email:hover { background: rgba(255, 255, 255, .2); color: #fff; transform: translateY(-2px); }
.dpb-cta .dpb-btn svg { width: 18px; height: 18px; }
@media (max-width: 575.98px) {
  .dpb-cta__inner { flex-direction: column; align-items: flex-start; }
  .dpb-cta__actions { width: 100%; }
  .dpb-cta__actions .dpb-btn { flex: 1 1 100%; justify-content: center; }
}

/* =========================================================
   FOOTER - dark industrial (classic markup)
   ========================================================= */
#footer .footer-container {
  background: var(--dpb-ink);
  color: #c6d2de;
  margin-top: 0;
  padding: 2.6rem 0 1rem;
  border-top: 3px solid var(--dpb-accent);
  box-shadow: none;
}
#footer .footer-container h3,
#footer .footer-container .h3,
#footer .footer-container h4,
#footer .footer-container .h4,
#footer .footer-container .block-contact-title,
#footer .footer-container .title { color: #fff !important; font-weight: 700; }
#footer .footer-container a { color: #c6d2de; }
#footer .footer-container a:hover { color: var(--dpb-accent-2); text-decoration: none; }
#footer .footer-container li { margin-bottom: .35rem; }
#footer .footer-container .links .title,
#footer .footer-container .links .collapse { border-color: rgba(255, 255, 255, .1); }
#footer .footer-container input[type="email"],
#footer .footer-container input[type="text"] {
  background: #1c2630;
  border: 1px solid rgba(255, 255, 255, .14);
  color: #fff;
}
#footer .footer-container input[type="email"]::placeholder { color: #8595a4; }
#footer .footer-container p.text-sm-center {
  color: var(--dpb-muted);
  border-top: 1px solid rgba(255, 255, 255, .1);
  margin-top: 1.6rem;
  padding-top: 1rem;
}
#footer .footer-container p.text-sm-center a { color: var(--dpb-muted); }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .dpb-trust { grid-template-columns: repeat(2, 1fr); }
  .dpb-parts { grid-template-columns: repeat(3, 1fr); }
  #header #search_widget { max-width: none; }
}
@media (max-width: 575.98px) {
  .dpb-hero {
    background-image:
      linear-gradient(rgba(7, 10, 14, .86), rgba(7, 10, 14, .92)),
      url(/img/variants/l400-4m40.png);
  }
  .dpb-hero__title { max-width: none; }
  .dpb-trust { grid-template-columns: 1fr 1fr; }
  .dpb-trust__item { flex-direction: column; text-align: center; gap: .4rem; padding: 1rem .6rem; }
  .dpb-parts { grid-template-columns: repeat(2, 1fr); }
  .dpb-hero__cta .dpb-btn { flex: 1 1 100%; justify-content: center; }
}

/* =========================================================
   Home -> Facebook page block
   ========================================================= */
.dpb-facebook {
  border-top: 1px solid #dde3ea;
  margin-top: clamp(1rem, 3vw, 2rem);
  padding-top: clamp(2.2rem, 5vw, 3.4rem);
}
.dpb-facebook__inner {
  display: grid;
  grid-template-columns: 1fr minmax(0, 500px);
  gap: clamp(1.6rem, 4vw, 3.4rem);
  align-items: center;
}
.dpb-facebook__text { text-align: left; }
.dpb-facebook__text h2 {
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--dpb-ink);
  margin: 0 0 1rem;
  padding-bottom: .6rem;
  position: relative;
}
.dpb-facebook__text h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 4px;
  border-radius: 4px;
  background: var(--dpb-accent);
}
.dpb-facebook__text p {
  color: #5b6b7a;
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0 0 1.7rem;
  max-width: 46ch;
}
.dpb-facebook__embed {
  display: flex;
  justify-content: center;
}
.dpb-facebook__embed iframe {
  width: 100%;
  max-width: 500px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(8, 15, 25, .12);
  background: #fff;
}
@media (max-width: 860px) {
  .dpb-facebook__inner { grid-template-columns: 1fr; text-align: center; }
  .dpb-facebook__text h2 { padding-bottom: .8rem; }
  .dpb-facebook__text h2::after { left: 50%; transform: translateX(-50%); }
  .dpb-facebook__text p { max-width: none; margin-left: auto; margin-right: auto; }
}

/* =========================================================
   Home product blocks -> manual swipeable carousels
   (Popular / New / Best Sellers). User-controlled, no auto-advance.
   ========================================================= */
.dpb-carousel { position: relative; }
.dpb-carousel .dpb-carousel__track {
  display: flex;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 6px;
}
.dpb-carousel .dpb-carousel__track::-webkit-scrollbar { display: none; }
.dpb-carousel .dpb-carousel__track > .product {
  flex: 0 0 auto;
  width: 80%;
  max-width: 80%;
  scroll-snap-align: start;
}
@media (min-width: 576px) { .dpb-carousel .dpb-carousel__track > .product { width: 46%; max-width: 46%; } }
@media (min-width: 768px) { .dpb-carousel .dpb-carousel__track > .product { width: 33.333%; max-width: 33.333%; } }
@media (min-width: 992px) { .dpb-carousel .dpb-carousel__track > .product { width: 25%; max-width: 25%; } }

.dpb-carousel__nav {
  position: absolute;
  top: 130px;
  transform: translateY(-50%);
  z-index: 4;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
  background: #0f2438;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(8, 15, 25, .28);
  transition: background .15s ease, opacity .15s ease, transform .15s ease;
}
.dpb-carousel__nav:hover { background: var(--dpb-accent); }
.dpb-carousel__nav:active { transform: translateY(-50%) scale(.94); }
.dpb-carousel__nav--prev { left: -8px; }
.dpb-carousel__nav--next { right: -8px; }
.dpb-carousel__nav svg { width: 22px; height: 22px; }
.dpb-carousel__nav:disabled { opacity: .3; cursor: default; pointer-events: none; }
.dpb-carousel--static .dpb-carousel__nav { display: none; }
@media (max-width: 575.98px) {
  .dpb-carousel__nav { display: none; }
}

/* Payment / trust badges (footer) */
.dpb-pay {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin: .25rem 0 1.25rem;
}
.dpb-pay__label {
  color: #cbd5e1;
  font-size: .85rem;
  margin-right: .25rem;
}
.dpb-pay__item {
  background: rgba(255, 255, 255, .06) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 6px;
  padding: 0 .65rem;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  font-size: .85rem;
  font-weight: 700;
  color: #e5e7eb !important;
  line-height: 1;
  box-shadow: none !important;
}
.dpb-pay__visa {
  color: #fff !important;
  font-style: italic;
  letter-spacing: .5px;
  font-size: 1.05rem;
}
.dpb-pay__pp {
  font-style: italic;
  font-size: 1.02rem;
}
.dpb-pay__pp span:first-child { color: #fff !important; }
.dpb-pay__pp span:last-child { color: #7bb8e8 !important; }
.dpb-pay__mc { display: block; }
.dpb-pay__txt { font-weight: 600; color: #cbd5e1 !important; }
/* Neutralize any stale cached `.dpb-pay span{background:#fff}` rule from older bundles */
.dpb-pay__label {
  background: transparent !important;
  border: none !important;
  height: auto !important;
  padding: 0 !important;
}
.dpb-pay__pp span {
  background: transparent !important;
  border: none !important;
  height: auto !important;
  padding: 0 !important;
}

.dpb-heavy-shipping {
  margin: 0 0 1.25rem;
  border: 1px solid rgb(10 132 255 / .35);
  background: rgb(10 132 255 / .08);
  color: #1d2733;
}
.dpb-heavy-shipping__title {
  margin: 0 0 .35rem;
  font-weight: 700;
}
.dpb-heavy-shipping p { margin: 0; line-height: 1.55; }
.dpb-heavy-shipping a { font-weight: 600; }

/* Product / cart cross-sell blocks */
.dpb-crosssell {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgb(15 36 56 / .08);
}
.dpb-crosssell > .h2,
.dpb-crosssell > h2 {
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  margin: 0 0 1rem;
  color: var(--dpb-navy, #0f2438);
}
