/* EnginesDIY Authority System v1 — graphite / precision silver / warm copper */
:root {
  --ed-ink: #10151b;
  --ed-ink-2: #1a222c;
  --ed-steel: #5f6b76;
  --ed-line: #dbe0e4;
  --ed-paper: #f4f5f4;
  --ed-white: #ffffff;
  --ed-copper: #b96832;
  --ed-copper-dark: #8f4823;
  --ed-copper-soft: #f1e3d8;
  --ed-success: #1e7550;
  --ed-radius: 16px;
  --ed-shadow: 0 18px 50px rgba(16, 21, 27, .09);
  --ed-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body {
  background: var(--ed-paper);
  color: var(--ed-ink);
  font-family: var(--ed-font);
  -webkit-font-smoothing: antialiased;
}
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid rgba(185, 104, 50, .32);
  outline-offset: 3px;
}

/* Header */
.header-compact .header-slim-wrapper,
.header-compact .top-bar {
  background: var(--ed-ink) !important;
  color: #d9dee3 !important;
}
.header-compact .header-slim-wrapper a,
.header-compact .top-bar a { color: #d9dee3 !important; }
.header-compact .header-slim-wrapper a:hover,
.header-compact .top-bar a:hover { color: #fff !important; }
.header-compact .header-slim-wrapper { border-bottom: 1px solid rgba(255,255,255,.08); }
.header-compact .header-cart-group {
  background: #fff !important;
  min-height: 100px;
  border-bottom: 1px solid var(--ed-line);
}
.header-compact .desktop-logo-wrapper img {
  filter: saturate(.82) contrast(1.05);
  max-height: 88px;
}
.header-compact .desktop-logo-wrapper::after {
  content: "PRECISION MODEL ENGINEERING";
  display: block;
  margin-top: -8px;
  color: var(--ed-steel);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  white-space: nowrap;
}
.header-compact .header-search {
  overflow: hidden;
  border: 1px solid #cbd1d6 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 5px 18px rgba(16,21,27,.05);
}
.header-compact .search-categories-button {
  background: #f0f2f3 !important;
  color: var(--ed-steel) !important;
  border-right: 1px solid var(--ed-line) !important;
}
.header-compact .search-button {
  background: var(--ed-copper) !important;
  color: #fff !important;
  min-width: 58px;
}
.header-compact .search-button:hover { background: var(--ed-copper-dark) !important; }
.header-compact .cart-heading {
  background: var(--ed-ink) !important;
  border: 1px solid var(--ed-ink) !important;
  border-radius: 10px !important;
  color: #fff !important;
}
.header-compact .desktop-main-menu-wrapper.menu-bar {
  background: var(--ed-ink-2) !important;
  border: 0 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.16);
}
.header-compact .desktop-main-menu-wrapper.menu-bar .j-menu > li > a {
  color: #f4f5f6 !important;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .055em;
  padding-left: 21px !important;
  padding-right: 21px !important;
}
.header-compact .desktop-main-menu-wrapper.menu-bar .j-menu > li > a:hover { color: #fff !important; }
.header-compact .desktop-main-menu-wrapper.menu-bar .j-menu > li > a::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 7px;
  height: 2px;
  background: var(--ed-copper);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.header-compact .desktop-main-menu-wrapper.menu-bar .j-menu > li > a:hover::after { transform: scaleX(1); }

/* Trust rail */
.ed-trust-rail {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 0 max(24px, calc((100vw - 1280px) / 2));
  background: #fff;
  border-bottom: 1px solid var(--ed-line);
}
.ed-trust-rail__item {
  position: relative;
  min-height: 72px;
  padding: 16px 22px 14px 54px;
  border-right: 1px solid var(--ed-line);
}
.ed-trust-rail__item:last-child { border-right: 0; }
.ed-trust-rail__mark {
  position: absolute;
  left: 18px;
  top: 18px;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(185,104,50,.45);
  border-radius: 50%;
  color: var(--ed-copper-dark);
  font-size: 9px;
  font-weight: 900;
  line-height: 24px;
  text-align: center;
}
.ed-trust-rail strong { display: block; color: var(--ed-ink); font-size: 13px; line-height: 1.2; }
.ed-trust-rail small { display: block; margin-top: 4px; color: var(--ed-steel); font-size: 11px; line-height: 1.25; }

/* Homepage authority hero */
html.route-common-home .module-slider-583 { display: none !important; }
.ed-brand-hero {
  position: relative;
  isolation: isolate;
  min-height: 620px;
  overflow: hidden;
  background: #080b0e;
  color: #fff;
}
.ed-brand-hero__media,
.ed-brand-hero__media::after { position: absolute; inset: 0; }
.ed-brand-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .7; }
.ed-brand-hero__media::after {
  content: "";
  background:
    linear-gradient(90deg, rgba(7,10,13,.96) 0%, rgba(7,10,13,.78) 38%, rgba(7,10,13,.2) 73%, rgba(7,10,13,.38) 100%),
    linear-gradient(0deg, rgba(7,10,13,.58), transparent 52%);
}
.ed-brand-hero__grid {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 620px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 70px 34px;
}
.ed-brand-hero__copy { max-width: 720px; }
.ed-brand-hero__eyebrow,
.ed-section-eyebrow {
  color: #e5a06d;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.ed-brand-hero__title {
  max-width: 700px;
  margin: 20px 0 18px;
  color: #fff;
  font-size: clamp(46px, 5.2vw, 78px);
  font-weight: 820;
  letter-spacing: -.045em;
  line-height: .98;
}
.ed-brand-hero__lead {
  max-width: 620px;
  margin: 0;
  color: #d6dce1;
  font-size: 18px;
  line-height: 1.7;
}
.ed-brand-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ed-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 25px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .02em;
}
.ed-btn--primary { background: var(--ed-copper); color: #fff !important; }
.ed-btn--primary:hover { background: #ca7440; transform: translateY(-2px); }
.ed-btn--ghost { border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.05); color: #fff !important; }
.ed-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.12); }
.ed-brand-hero__chips { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 34px; color: #c7cdd2; font-size: 12px; font-weight: 700; }
.ed-brand-hero__chips span::before { content: "✓"; margin-right: 7px; color: #e5a06d; }

/* Existing home modules */
html.route-common-home #common-home { max-width: 100%; padding-left: 0; padding-right: 0; }
html.route-common-home #content > .grid-rows > .grid-row,
html.route-common-home #content > .module { margin-left: auto; margin-right: auto; }
html.route-common-home .module-title h2,
html.route-common-home .module-title h3 { color: var(--ed-ink); font-weight: 800; letter-spacing: -.02em; }
.enginesdiy-category-hub {
  max-width: 1280px;
  margin: 70px auto !important;
  padding: 56px 34px !important;
  background: var(--ed-ink);
  border-radius: 24px;
  box-shadow: var(--ed-shadow);
  color: #dbe0e4;
}
.enginesdiy-category-hub > h2 { margin: 0; color: #fff; font-size: clamp(30px,3vw,46px); letter-spacing: -.035em; }
.enginesdiy-category-hub > p { max-width: 860px; margin: 14px 0 30px; color: #abb4bc; font-size: 15px; line-height: 1.65; }
.enginesdiy-category-hub .row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0; }
.enginesdiy-category-hub .row > div {
  width: auto;
  min-height: 150px;
  padding: 22px !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}
.enginesdiy-category-hub .row > div:hover { border-color: rgba(229,160,109,.72); background: rgba(255,255,255,.075); transform: translateY(-3px); }
.enginesdiy-category-hub h3 { margin: 0 0 9px; font-size: 16px; }
.enginesdiy-category-hub h3 a { color: #fff; }
.enginesdiy-category-hub p { color: #aeb7bf; font-size: 12px; line-height: 1.55; }

.ed-authority-story {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 64px;
  max-width: 1280px;
  margin: 86px auto 0;
  padding: 0 34px;
}
.ed-authority-story h2 { margin: 14px 0 18px; color: var(--ed-ink); font-size: clamp(34px,3.8vw,56px); line-height: 1.05; letter-spacing: -.04em; }
.ed-authority-story p { color: var(--ed-steel); font-size: 16px; line-height: 1.75; }
.ed-authority-story__proof { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ed-proof-card { padding: 24px; border: 1px solid var(--ed-line); border-radius: var(--ed-radius); background: #fff; box-shadow: 0 12px 34px rgba(16,21,27,.05); }
.ed-proof-card b { display: block; color: var(--ed-copper-dark); font-size: 28px; letter-spacing: -.04em; }
.ed-proof-card span { display: block; margin-top: 8px; color: var(--ed-steel); font-size: 12px; line-height: 1.5; }

/* Product cards and category collections */
.product-layout .product-thumb {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--ed-line) !important;
  border-radius: var(--ed-radius) !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(16,21,27,.05);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.product-layout .product-thumb:hover { transform: translateY(-5px); border-color: #c9a78f !important; box-shadow: var(--ed-shadow); }
.product-thumb .image { background: #f7f8f7; }
.product-thumb .image img { transition: transform .35s ease; }
.product-thumb:hover .image img { transform: scale(1.025); }
.product-thumb .caption { padding: 18px 18px 8px !important; }
.product-thumb .name a { color: var(--ed-ink) !important; font-weight: 720; line-height: 1.42; }
.product-thumb .name a:hover { color: var(--ed-copper-dark) !important; }
.product-thumb .price-new, .product-thumb .price { color: var(--ed-ink) !important; font-weight: 820; }
.product-thumb .price-old { color: #929aa1 !important; }
.product-thumb .button-group { padding: 8px 16px 18px !important; }
.product-thumb .button-group .btn-cart,
.product-thumb .button-group button:first-child {
  border-color: var(--ed-ink) !important;
  border-radius: 8px !important;
  background: var(--ed-ink) !important;
  color: #fff !important;
}
.product-thumb .button-group .btn-cart:hover,
.product-thumb .button-group button:first-child:hover { background: var(--ed-copper-dark) !important; border-color: var(--ed-copper-dark) !important; }
.product-thumb .badge, .product-thumb .product-label { border-radius: 5px !important; font-weight: 800; letter-spacing: .04em; }

/* Category and product pages */
.breadcrumb { margin-top: 20px; color: var(--ed-steel); font-size: 12px; }
.breadcrumb a { color: var(--ed-steel); }
.breadcrumb a:hover { color: var(--ed-copper-dark); }
#product-category h1, #product-product h1 { color: var(--ed-ink); font-weight: 820; letter-spacing: -.035em; }
#product-category .category-info,
#product-category .category-description,
#product-product .product-info { border-radius: var(--ed-radius); }
#product-product .product-info { padding: 26px; border: 1px solid var(--ed-line); background: #fff; box-shadow: 0 14px 44px rgba(16,21,27,.06); }
#product-product .product-price-group .price-new,
#product-product .product-price { color: var(--ed-ink) !important; font-weight: 850; }
#product-product .button-group-page .btn-cart,
#product-product #button-cart {
  min-height: 50px !important;
  border-radius: 8px !important;
  background: var(--ed-ink) !important;
  border-color: var(--ed-ink) !important;
  color: #fff !important;
  font-weight: 800 !important;
}
#product-product .button-group-page .btn-cart:hover,
#product-product #button-cart:hover { background: var(--ed-copper-dark) !important; border-color: var(--ed-copper-dark) !important; }
#product-product .btn-buy-now { border-radius: 8px !important; background: var(--ed-copper) !important; color: #fff !important; font-weight: 800 !important; }
.nav-tabs { border-bottom-color: var(--ed-line); }
.nav-tabs > li > a { color: var(--ed-steel); font-weight: 700; }
.nav-tabs > li.active > a { color: var(--ed-ink); border-bottom-color: var(--ed-copper) !important; }

/* Footer */
footer, .footer-main, .footer-default { background: var(--ed-ink) !important; color: #b7c0c8 !important; }
footer h3, footer h4, .footer-main h3, .footer-main h4 { color: #fff !important; }
footer a, .footer-main a { color: #b7c0c8 !important; }
footer a:hover, .footer-main a:hover { color: #fff !important; }

@media (max-width: 1024px) {
  .ed-trust-rail { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0 20px; }
  .ed-trust-rail__item:nth-child(2) { border-right: 0; }
  .ed-trust-rail__item:nth-child(-n+2) { border-bottom: 1px solid var(--ed-line); }
  .enginesdiy-category-hub .row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ed-authority-story { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 767px) {
  .mobile-header { background: #fff !important; border-bottom: 1px solid var(--ed-line); }
  .mobile-header .mobile-bar { min-height: 68px; }
  .ed-trust-rail {
    display: flex;
    gap: 0;
    overflow-x: auto;
    padding: 0 8px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .ed-trust-rail__item { flex: 0 0 78%; min-height: 64px; padding-top: 13px; padding-bottom: 12px; border-right: 1px solid var(--ed-line) !important; border-bottom: 0 !important; scroll-snap-align: start; }
  .ed-trust-rail__mark { top: 15px; }
  .ed-brand-hero, .ed-brand-hero__grid { min-height: 560px; }
  .ed-brand-hero__grid { align-items: flex-end; padding: 54px 22px; }
  .ed-brand-hero__media img { object-position: 48% center; }
  .ed-brand-hero__media::after { background: linear-gradient(0deg, rgba(7,10,13,.98) 0%, rgba(7,10,13,.68) 58%, rgba(7,10,13,.3) 100%); }
  .ed-brand-hero__title { margin-top: 14px; font-size: 42px; line-height: 1.02; }
  .ed-brand-hero__lead { font-size: 15px; line-height: 1.58; }
  .ed-brand-hero__actions { display: grid; grid-template-columns: 1fr; }
  .ed-btn { width: 100%; }
  .ed-brand-hero__chips { display: grid; gap: 8px; margin-top: 24px; }
  .ed-authority-story { margin-top: 62px; padding: 0 20px; }
  .ed-authority-story h2 { font-size: 36px; }
  .ed-authority-story__proof { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ed-proof-card { padding: 18px; }
  .enginesdiy-category-hub { margin: 56px 12px !important; padding: 36px 18px !important; border-radius: 18px; }
  .enginesdiy-category-hub .row { grid-template-columns: 1fr; }
  .enginesdiy-category-hub .row > div { min-height: 0; }
  .product-layout .product-thumb { border-radius: 12px !important; }
  #product-product .product-info { padding: 18px; border-radius: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.module-popup-110{display:none!important}
