/*
Theme Name: EY Genset Parts - Astra Child
Theme URI: https://slategray-pelican-104879.hostingersite.com/
Author: EY Genset Parts
Description: Astra child theme with a responsive WooCommerce layout for generator controllers, AVRs, speed-control parts and engine electrical components.
Template: astra
Version: 1.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: ey-genset-parts
*/

:root {
  --ey-blue: #0c2b49;
  --ey-blue-deep: #071e34;
  --ey-blue-mid: #173f67;
  --ey-yellow: #f2bb00;
  --ey-cream: #fff4c7;
  --ey-soft: #f3f6f8;
  --ey-line: #dfe6eb;
  --ey-muted: #647483;
  --ey-white: #fff;
  --ey-success: #237a55;
  --ey-shadow: 0 18px 48px rgba(8, 30, 52, .12);
  --ey-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }Version: 1.6.2
body {
  margin: 0;
  background: var(--ey-white);
  color: #203344;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
.ast-separate-container,
.ast-page-builder-template { background: var(--ey-white); }
.ast-container { max-width: none; padding: 0; }
.site-content .ast-container { display: block; }
body.admin-bar .ey-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
.ey-container { width: min(calc(100% - 40px), var(--ey-width)); margin: 0 auto; }
.ey-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 2px solid var(--ey-yellow);
  border-radius: 2px;
  padding: 0 22px;
  background: var(--ey-yellow);
  color: var(--ey-blue-deep);
  font-weight: 850;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.ey-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #ffd137; color: var(--ey-blue-deep); transform: translateY(-1px); }
.ey-button--outline { border-color: rgba(255,255,255,.45); background: transparent; color: #fff; }
.ey-button--outline:hover { background: #fff; color: var(--ey-blue); }
.ey-eyebrow {
  margin: 0 0 10px;
  color: var(--ey-yellow);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

/* Header */
.ey-notice { background: var(--ey-cream); color: #574614; text-align: center; font-size: 13px; }
.ey-notice .ey-container { min-height: 30px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.ey-notice strong { padding: 3px 8px; background: var(--ey-yellow); color: var(--ey-blue-deep); letter-spacing: .08em; }
.ey-service { background: var(--ey-blue-deep); color: #fff; font-family: Georgia, serif; font-size: 13px; }
.ey-service .ey-container { display: flex; min-height: 34px; align-items: center; gap: 28px; }
.ey-service span::before { content: "✓"; margin-right: 7px; color: var(--ey-yellow); font-family: sans-serif; font-weight: 900; }
.ey-service a { margin-left: auto; }
.ey-header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 2px 12px rgba(8,30,52,.08); }
.ey-header-main { display: grid; grid-template-columns: 245px minmax(260px, 1fr) auto; align-items: center; gap: 24px; min-height: 82px; }
.ey-brand { display: flex; align-items: center; gap: 13px; }
.ey-brand-mark { display: grid; place-items: center; width: 66px; height: 50px; background: var(--ey-blue); color: #fff; font-size: 27px; font-style: italic; font-weight: 950; transform: skew(-9deg); }
.ey-brand-mark span { transform: skew(9deg); }
.ey-brand-copy strong { display: block; color: var(--ey-blue-deep); font-size: 15px; letter-spacing: .18em; }
.ey-brand-copy small { display: block; margin-top: 7px; color: var(--ey-muted); font-size: 8px; font-weight: 800; letter-spacing: .04em; }
.ey-search { display: flex; height: 44px; border: 2px solid var(--ey-blue); border-radius: 3px; overflow: hidden; }
.ey-search input { min-width: 0; flex: 1; border: 0; padding: 0 16px; outline: 0; }
.ey-search button { min-width: 94px; border: 0; background: var(--ey-yellow); color: var(--ey-blue-deep); font-weight: 900; cursor: pointer; }
.ey-actions { display: flex; align-items: center; gap: 16px; }
.ey-verify { color: var(--ey-blue); font-size: 12px; font-weight: 850; }
.ey-cart { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ey-soft); color: var(--ey-blue); font-size: 22px; }
.ey-cart-count { position: absolute; top: -4px; right: -4px; display: grid; place-items: center; min-width: 21px; height: 21px; border-radius: 12px; background: var(--ey-yellow); color: var(--ey-blue-deep); font-size: 10px; font-weight: 900; }
.ey-menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; color: var(--ey-blue); font-size: 27px; cursor: pointer; }
.ey-nav { border-bottom: 3px solid var(--ey-yellow); background: var(--ey-blue-mid); color: #fff; }
.ey-nav .ey-container { display: flex; align-items: stretch; min-height: 54px; }
.ey-nav ul { display: flex; flex: 1; align-items: stretch; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ey-nav li { display: flex; }
.ey-nav a { display: flex; align-items: center; padding: 0 16px; font-size: 14px; font-weight: 800; }
.ey-nav a:hover, .ey-nav .current-menu-item > a { background: var(--ey-yellow); color: var(--ey-blue-deep); }

/* Homepage */
.ey-hero { position: relative; overflow: hidden; background: var(--ey-blue-deep); color: #fff; }
.ey-hero::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 46px 46px; }
.ey-hero-grid { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; min-height: 585px; }
.ey-hero-copy { padding: 70px 0; }
.ey-hero h1 { max-width: 690px; margin: 0; font-size: clamp(46px, 5vw, 72px); font-weight: 500; letter-spacing: -.055em; line-height: .99; }
.ey-hero-copy > p:not(.ey-eyebrow) { max-width: 650px; margin: 25px 0; color: #c8d7e3; font-size: 18px; }
.ey-hero-search { max-width: 600px; margin-top: 30px; padding: 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 7px; background: rgba(7,30,52,.62); }
.ey-hero-search label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ey-hero-search .ey-search { height: 52px; border: 0; }
.ey-proof { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.ey-proof span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #d8e4ec; font-size: 11px; font-weight: 750; }
.ey-showcase { position: relative; min-height: 440px; }
.ey-showcase::before { content: ""; position: absolute; inset: 20px 0 0 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: linear-gradient(150deg, rgba(38,91,135,.65), rgba(255,255,255,.03)); }
.ey-product-card { position: absolute; width: 58%; min-height: 330px; border-radius: 8px; overflow: hidden; background: #fff; color: var(--ey-blue); box-shadow: var(--ey-shadow); transform: rotate(-4deg); }
.ey-product-card:first-child { left: 8%; bottom: 20px; z-index: 2; }
.ey-product-card:nth-child(2) { right: 2%; top: 56px; transform: rotate(5deg); }
.ey-product-card-media { display: grid; place-items: center; height: 220px; background: #f7f8f9; }
.ey-product-card-media img { width: 100%; height: 100%; object-fit: contain; }
.ey-product-card-fallback { width: 145px; height: 110px; border: 11px solid #202a30; border-radius: 14px; background: linear-gradient(#b7d6c8 0 35%, #27343b 35%); box-shadow: inset 0 0 0 4px #4a565e; }
.ey-product-card-copy { padding: 16px 18px 20px; }
.ey-product-card-copy small { color: var(--ey-muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.ey-product-card-copy strong { display: block; margin-top: 4px; font-size: 19px; }
.ey-section { padding: 82px 0; }
.ey-section--soft { background: var(--ey-soft); }
.ey-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.ey-section-head h2 { max-width: 760px; margin: 0; color: var(--ey-blue); font-size: clamp(32px, 4vw, 48px); letter-spacing: -.04em; line-height: 1.05; }
.ey-section-head .ey-eyebrow { color: #ae8500; }
.ey-text-link { color: var(--ey-blue); font-weight: 850; }
.ey-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ey-line); border-left: 1px solid var(--ey-line); }
.ey-category { position: relative; min-height: 200px; padding: 28px; border-right: 1px solid var(--ey-line); border-bottom: 1px solid var(--ey-line); background: #fff; }
.ey-category small { color: #8b9aa6; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.ey-category h3 { max-width: 250px; margin: 36px 0 8px; color: var(--ey-blue); font-size: 22px; line-height: 1.15; }
.ey-category p { margin: 0; color: var(--ey-muted); font-size: 13px; }
.ey-category b { position: absolute; right: 25px; bottom: 22px; color: var(--ey-yellow); font-size: 28px; }
.ey-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ey-path { padding: 30px; border: 1px solid #274d6e; background: var(--ey-blue); color: #fff; }
.ey-path span { color: var(--ey-yellow); font-size: 12px; font-weight: 950; }
.ey-path h3 { margin: 28px 0 10px; font-size: 23px; }
.ey-path p { color: #c4d3df; font-size: 14px; }
.ey-path a { display: inline-block; margin-top: 20px; color: var(--ey-yellow); font-weight: 850; }
.ey-products-home ul.products { margin-top: 0 !important; }

/* Content and WooCommerce */
.ey-main { min-height: 55vh; }
.ey-page-hero { padding: 66px 0; background: var(--ey-blue); color: #fff; }
.ey-page-hero h1 { margin: 0; font-size: clamp(38px, 5vw, 60px); font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.ey-page-hero p { max-width: 680px; margin: 16px 0 0; color: #cbd9e4; }
.ey-content { padding: 60px 0; }
.ey-content h1, .ey-content h2, .ey-content h3 { color: var(--ey-blue); }
.woocommerce .woocommerce-breadcrumb { margin: 28px 0; color: var(--ey-muted); font-size: 12px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 25px; }
.woocommerce .woocommerce-ordering select { min-height: 44px; border: 1px solid var(--ey-line); padding: 0 12px; background: #fff; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; border: 1px solid var(--ey-line); background: #fff; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1 / .78; margin: 0; padding: 18px; object-fit: contain; background: #f7f8f9; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 66px; padding: 18px 18px 5px; color: var(--ey-blue); font-size: 16px; line-height: 1.35; }
.woocommerce ul.products li.product .price { padding: 0 18px; color: var(--ey-blue); font-size: 18px; font-weight: 900; }
.woocommerce ul.products li.product .button { margin: 12px 18px 20px; }
.woocommerce span.onsale { top: 12px; left: 12px; min-width: auto; min-height: auto; margin: 0; border-radius: 2px; padding: 6px 9px; background: var(--ey-yellow); color: var(--ey-blue); line-height: 1; }
.woocommerce div.product { padding: 28px 0 70px; }
.woocommerce div.product div.images img { border: 1px solid var(--ey-line); padding: 18px; background: #fff; }
.woocommerce div.product .product_title { color: var(--ey-blue); font-size: clamp(34px, 4vw, 52px); line-height: 1.02; letter-spacing: -.045em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ey-blue); font-size: 32px; font-weight: 900; }
.woocommerce div.product form.cart .qty { min-height: 48px; border: 1px solid var(--ey-line); }
.woocommerce div.product .woocommerce-tabs { padding-top: 35px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--ey-line); background: var(--ey-soft); }
.woocommerce table.shop_table { border-color: var(--ey-line); border-radius: 0; }
.woocommerce table.shop_table th { color: var(--ey-blue); }
.woocommerce-cart table.cart img { width: 90px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 46px; border: 1px solid var(--ey-line); padding: 10px 12px; }
.woocommerce-info, .woocommerce-message { border-top-color: var(--ey-yellow); }
.woocommerce-message::before, .woocommerce-info::before { color: #a37b00; }

/* Footer */
.ey-footer { border-top: 4px solid var(--ey-yellow); background: var(--ey-blue-deep); color: #fff; }
.ey-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 45px; padding: 62px 0; }
.ey-footer h2, .ey-footer h3 { margin: 0 0 18px; color: #fff; }
.ey-footer h2 { font-size: 22px; }
.ey-footer h3 { font-size: 13px; letter-spacing: .09em; text-transform: uppercase; }
.ey-footer p, .ey-footer li, .ey-footer a { color: #b9cad7; font-size: 13px; }
.ey-footer ul { margin: 0; padding: 0; list-style: none; }
.ey-footer li + li { margin-top: 9px; }
.ey-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.12); color: #8fa6b8; font-size: 11px; }

@media (max-width: 980px) {
  .ey-header-main { grid-template-columns: 220px 1fr auto; gap: 14px; }
  .ey-verify { display: none; }
  .ey-hero-grid { grid-template-columns: 1fr; }
  .ey-hero-copy { padding-bottom: 20px; }
  .ey-showcase { width: min(650px, 100%); min-height: 460px; margin: 0 auto; }
  .ey-category-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ey-footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 782px) {
  body.admin-bar .ey-header { top: 46px; }
  .ey-container { width: min(calc(100% - 28px), 680px); }
  .ey-service .ey-container { gap: 12px; }
  .ey-service span:not(:first-child), .ey-service a { display: none; }
  .ey-header-main { grid-template-columns: 1fr auto; min-height: 72px; padding: 9px 0; }
  .ey-brand-mark { width: 52px; height: 42px; font-size: 23px; }
  .ey-brand-copy strong { font-size: 12px; }
  .ey-brand-copy small { font-size: 7px; }
  .ey-header-main > .ey-search { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .ey-menu-toggle { display: block; }
  .ey-nav { display: none; }
  .ey-nav.is-open { display: block; }
  .ey-nav .ey-container, .ey-nav ul { flex-direction: column; }
  .ey-nav a { min-height: 48px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .ey-hero-grid { min-height: 0; }
  .ey-hero-copy { padding: 58px 0 26px; }
  .ey-hero h1 { font-size: clamp(40px, 12vw, 54px); }
  .ey-hero-copy > p:not(.ey-eyebrow) { font-size: 16px; }
  .ey-hero-search .ey-search { height: auto; flex-direction: column; gap: 8px; overflow: visible; }
  .ey-hero-search input, .ey-hero-search button { min-height: 48px; }
  .ey-showcase { min-height: 360px; }
  .ey-section { padding: 62px 0; }
  .ey-section-head { align-items: start; flex-direction: column; }
  .ey-category-grid, .ey-path-grid, .woocommerce ul.products, .ey-footer-grid { grid-template-columns: 1fr; }
  .ey-product-card { min-height: 280px; }
  .ey-product-card-media { height: 175px; }
  .ey-footer-bottom { flex-direction: column; }
}

@media (max-width: 480px) {
  .ey-notice .ey-container { align-items: flex-start; flex-direction: column; gap: 2px; padding: 5px 0; }
  .ey-actions { gap: 5px; }
  .ey-cart { width: 40px; height: 40px; }
  .ey-hero h1 { font-size: 40px; }
  .ey-showcase { min-height: 310px; }
  .ey-product-card { width: 63%; min-height: 245px; }
  .ey-product-card-media { height: 145px; }
  .ey-product-card-copy { padding: 12px; }
  .ey-product-card-copy strong { font-size: 15px; }
}


/* EY Genset Parts homepage v1.2 */
.ey2-home {
  --ey2-ink: #071e34;
  --ey2-blue: #0c2b49;
  --ey2-mid: #173f67;
  --ey2-yellow: #f2bb00;
  --ey2-paper: #f5f7f8;
  --ey2-line: #d9e1e7;
  --ey2-muted: #647483;
  overflow: hidden;
  background: #fff;
}

.ey2-home h1,
.ey2-home h2,
.ey2-home h3,
.ey2-home p { margin-top: 0; }

.ey2-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 77% 45%, rgba(38,91,135,.38), transparent 29%),
    linear-gradient(135deg, #061a2d 0%, #092844 58%, #071e34 100%);
  color: #fff;
}

.ey2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .19;
  background-image:
    linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 48%, #000);
  mask-image: linear-gradient(90deg, #000, transparent 48%, #000);
}

.ey2-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr);
  gap: 64px;
  align-items: center;
  min-height: 680px;
  padding-top: 78px;
  padding-bottom: 78px;
}

.ey2-hero-copy { max-width: 670px; }

.ey2-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  color: var(--ey2-yellow);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.ey2-kicker span {
  display: block;
  width: 35px;
  height: 2px;
  background: currentColor;
}

.ey2-kicker--dark { color: #9a7600; }

.ey2-hero h1 {
  margin-bottom: 24px;
  color: #fff;
  font-size: clamp(50px, 5.1vw, 76px);
  font-weight: 650;
  letter-spacing: -.06em;
  line-height: .98;
}

.ey2-hero h1 em {
  color: var(--ey2-yellow);
  font-style: normal;
}

.ey2-lead {
  max-width: 625px;
  margin-bottom: 30px;
  color: #c9d7e2;
  font-size: 17px;
  line-height: 1.72;
}

.ey2-search {
  max-width: 625px;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 4px;
  background: rgba(3,20,36,.5);
  box-shadow: 0 22px 50px rgba(0,0,0,.15);
}

.ey2-search label {
  display: block;
  margin: 0 0 8px 3px;
  color: #9db2c3;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ey2-search > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 56px;
  overflow: hidden;
  border-radius: 2px;
  background: #fff;
}

.ey2-search input[type="search"] {
  min-width: 0;
  border: 0;
  padding: 0 18px;
  outline: none;
  background: #fff;
  color: var(--ey2-ink);
  font-size: 15px;
}

.ey2-search input[type="search"]::placeholder { color: #8796a2; }

.ey2-search button,
.ey2-primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  border: 0;
  border-radius: 2px;
  padding: 0 22px;
  background: var(--ey2-yellow);
  color: var(--ey2-ink);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.ey2-search button:hover,
.ey2-primary-button:hover {
  background: #ffd13b;
  color: var(--ey2-ink);
  transform: translateY(-1px);
}

.ey2-search button b,
.ey2-primary-button b { font-size: 19px; }

.ey2-hero-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
}

.ey2-link-button {
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.ey2-link-button:hover { color: var(--ey2-yellow); }
.ey2-link-button span { color: var(--ey2-yellow); }
.ey2-hero-actions small { color: #7890a3; font-size: 11px; }

.ey2-visual {
  position: relative;
  min-height: 510px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 5px;
  background:
    linear-gradient(155deg, rgba(28,75,113,.72), rgba(5,26,45,.88)),
    #0b2944;
  box-shadow: 0 40px 90px rgba(0,0,0,.26);
}

.ey2-grid-lines {
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);
  background-size: 30px 30px;
}

.ey2-visual::before,
.ey2-visual::after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  border-color: var(--ey2-yellow);
  border-style: solid;
  pointer-events: none;
}
.ey2-visual::before { top: 14px; left: 14px; border-width: 2px 0 0 2px; }
.ey2-visual::after { right: 14px; bottom: 14px; border-width: 0 2px 2px 0; }

.ey2-visual-label {
  position: absolute;
  top: 24px;
  right: 26px;
  left: 26px;
  display: flex;
  justify-content: space-between;
  color: #9db2c3;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  letter-spacing: .12em;
}

.ey2-visual-label b { color: var(--ey2-yellow); }

.ey2-controller {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 250px;
  height: 295px;
  padding: 31px 27px;
  border: 10px solid #1b252b;
  border-radius: 15px;
  background: linear-gradient(145deg, #303c43, #172127);
  box-shadow:
    0 35px 55px rgba(0,0,0,.42),
    inset 0 0 0 2px #4b5960;
  transform: translate(-50%, -49%) rotate(-3deg);
}

.ey2-controller::before,
.ey2-controller::after {
  content: "";
  position: absolute;
  top: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #11181c;
  box-shadow: inset 0 0 0 1px #657078;
}
.ey2-controller::before { left: 10px; }
.ey2-controller::after { right: 10px; }

.ey2-screen {
  height: 132px;
  border: 5px solid #101719;
  border-radius: 5px;
  padding: 18px;
  background: linear-gradient(180deg, #bed4c8, #8fac9d);
  color: #23362e;
  box-shadow: inset 0 0 13px rgba(0,0,0,.3);
}

.ey2-screen small {
  display: block;
  font-family: ui-monospace, monospace;
  font-size: 8px;
  letter-spacing: .12em;
}

.ey2-screen b {
  display: block;
  margin-top: 9px;
  font-family: ui-monospace, monospace;
  font-size: 26px;
  letter-spacing: .06em;
}

.ey2-screen i {
  display: block;
  width: 70%;
  height: 5px;
  margin-top: 16px;
  background: repeating-linear-gradient(90deg, #33493e 0 8px, transparent 8px 12px);
}

.ey2-controls {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 25px;
}

.ey2-controls span {
  aspect-ratio: 1;
  border: 4px solid #121a1e;
  border-radius: 50%;
  background: #48555c;
  box-shadow: inset 0 0 0 2px #6c787f;
}
.ey2-controls span:first-child { background: #a43c37; }
.ey2-controls span:last-child { background: #397457; }

.ey2-controller-mark {
  margin-top: 22px;
  color: #b6c0c5;
  font-family: ui-monospace, monospace;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2em;
  text-align: center;
}

.ey2-callout {
  position: absolute;
  min-width: 135px;
  border-left: 2px solid var(--ey2-yellow);
  padding: 10px 12px;
  background: rgba(3,20,36,.86);
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

.ey2-callout::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 58px;
  border-top: 1px dashed rgba(242,187,0,.6);
}

.ey2-callout span {
  float: left;
  margin-right: 9px;
  color: var(--ey2-yellow);
  font-family: ui-monospace, monospace;
  font-size: 9px;
}

.ey2-callout b,
.ey2-callout small { display: block; }
.ey2-callout b { color: #fff; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.ey2-callout small { margin-top: 3px; color: #9db2c3; font-size: 9px; }

.ey2-callout--one { top: 120px; left: 24px; }
.ey2-callout--one::before { left: 100%; }
.ey2-callout--two { top: 185px; right: 20px; }
.ey2-callout--two::before { right: 100%; }
.ey2-callout--three { right: 30px; bottom: 78px; }
.ey2-callout--three::before { right: 100%; }

.ey2-verified {
  position: absolute;
  bottom: 20px;
  left: 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ey2-verified > b {
  display: grid;
  place-items: center;
  width: 41px;
  height: 41px;
  border: 1px solid var(--ey2-yellow);
  border-radius: 50%;
  color: var(--ey2-yellow);
}

.ey2-verified span { color: #9db2c3; font-size: 9px; line-height: 1.35; text-transform: uppercase; }
.ey2-verified strong { color: #fff; letter-spacing: .07em; }

.ey2-proof-bar {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,.14);
}

.ey2-proof-bar > div {
  display: flex;
  gap: 16px;
  align-items: center;
  min-height: 92px;
  padding: 18px 28px;
  border-right: 1px solid rgba(255,255,255,.14);
}

.ey2-proof-bar > div:first-child { border-left: 1px solid rgba(255,255,255,.14); }
.ey2-proof-bar > div > b { color: var(--ey2-yellow); font-family: ui-monospace, monospace; font-size: 11px; }
.ey2-proof-bar span { display: flex; flex-direction: column; color: #7f96a8; font-size: 10px; }
.ey2-proof-bar strong { margin-bottom: 3px; color: #fff; font-size: 12px; }

.ey2-model-strip {
  border-bottom: 1px solid var(--ey2-line);
  background: #fff;
}

.ey2-model-strip .ey-container {
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: stretch;
}

.ey2-model-strip p {
  display: flex;
  align-items: center;
  margin: 0;
  border-right: 1px solid var(--ey2-line);
  color: #8997a2;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.ey2-model-strip .ey-container > div {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

.ey2-model-strip a {
  display: flex;
  min-height: 78px;
  flex-direction: column;
  justify-content: center;
  padding: 12px 17px;
  border-right: 1px solid var(--ey2-line);
  color: var(--ey2-ink);
  transition: background .2s ease;
}

.ey2-model-strip a:hover { background: #fff8d8; }
.ey2-model-strip strong { font-size: 12px; }
.ey2-model-strip small { margin-top: 4px; color: var(--ey2-muted); font-size: 9px; }

.ey2-section { padding: 100px 0; }

.ey2-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 48px;
}

.ey2-section-head h2 {
  margin-bottom: 0;
  color: var(--ey2-ink);
  font-size: clamp(36px, 4.3vw, 58px);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: 1.03;
}

.ey2-section-head > a {
  margin-bottom: 7px;
  color: var(--ey2-ink);
  font-size: 12px;
  font-weight: 900;
}

.ey2-section-head > a b { margin-left: 10px; color: #b08700; font-size: 18px; }

.ey2-categories { background: #fff; }

.ey2-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ey2-line);
  border-left: 1px solid var(--ey2-line);
}

.ey2-category-card {
  position: relative;
  min-height: 315px;
  overflow: hidden;
  border-right: 1px solid var(--ey2-line);
  border-bottom: 1px solid var(--ey2-line);
  padding: 26px 28px 30px;
  background: #fff;
  transition: background .25s ease, transform .25s ease;
}

.ey2-category-card:hover {
  z-index: 2;
  background: var(--ey2-ink);
  color: #fff;
  transform: translateY(-4px);
}

.ey2-card-number {
  color: #9daab4;
  font-family: ui-monospace, monospace;
  font-size: 10px;
}

.ey2-card-icon {
  display: flex;
  align-items: end;
  gap: 5px;
  width: 58px;
  height: 47px;
  margin: 36px 0 26px;
  border: 2px solid var(--ey2-ink);
  padding: 8px;
}

.ey2-card-icon i {
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ey2-yellow);
}
.ey2-card-icon i:first-child { height: 22px; border-radius: 1px; background: var(--ey2-ink); }
.ey2-card-icon i:last-child { height: 16px; border-radius: 1px; background: #83939f; }

.ey2-category-card:hover .ey2-card-icon { border-color: #fff; }
.ey2-category-card:hover .ey2-card-icon i:first-child { background: #fff; }

.ey2-category-card h3 {
  margin-bottom: 10px;
  color: var(--ey2-ink);
  font-size: 21px;
  line-height: 1.2;
}

.ey2-category-card:hover h3 { color: #fff; }

.ey2-category-card p {
  max-width: 300px;
  margin-bottom: 24px;
  color: var(--ey2-muted);
  font-size: 12px;
  line-height: 1.65;
}

.ey2-category-card:hover p { color: #b8c9d6; }

.ey2-category-card small {
  position: absolute;
  right: 65px;
  bottom: 30px;
  left: 28px;
  overflow: hidden;
  color: #8796a2;
  font-family: ui-monospace, monospace;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ey2-category-card:hover small { color: #8fa8ba; }

.ey2-card-arrow {
  position: absolute;
  right: 26px;
  bottom: 25px;
  color: var(--ey2-yellow);
  font-size: 22px;
}

.ey2-verify {
  position: relative;
  background: var(--ey2-ink);
  color: #fff;
}

.ey2-verify::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 42px 42px;
}

.ey2-verify-grid {
  position: relative;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 95px;
  align-items: center;
}

.ey2-verify-copy h2 {
  max-width: 560px;
  margin-bottom: 25px;
  color: #fff;
  font-size: clamp(38px, 4.3vw, 58px);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: 1.02;
}

.ey2-verify-copy > p:not(.ey2-kicker) {
  max-width: 550px;
  margin-bottom: 32px;
  color: #b8c9d6;
  font-size: 14px;
  line-height: 1.8;
}

.ey2-primary-button {
  min-height: 52px;
  padding: 0 22px;
}

.ey2-check-panel {
  border: 1px solid #315270;
  background: rgba(11,41,68,.84);
  box-shadow: 0 30px 70px rgba(0,0,0,.25);
}

.ey2-check-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 63px;
  padding: 0 24px;
  border-bottom: 1px solid #315270;
  color: #89a0b2;
  font-family: ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: .14em;
}

.ey2-check-head b {
  display: grid;
  place-items: center;
  width: 35px;
  height: 27px;
  background: var(--ey2-yellow);
  color: var(--ey2-ink);
  font-size: 14px;
  transform: skew(-8deg);
}

.ey2-check-panel ol { margin: 0; padding: 0; list-style: none; }

.ey2-check-panel li {
  display: grid;
  grid-template-columns: 35px 1fr 28px;
  gap: 16px;
  align-items: center;
  min-height: 88px;
  padding: 16px 24px;
  border-bottom: 1px solid #274964;
}

.ey2-check-panel li:last-child { border-bottom: 0; }
.ey2-check-panel li > b { color: var(--ey2-yellow); font-family: ui-monospace, monospace; font-size: 10px; }
.ey2-check-panel li span { display: flex; flex-direction: column; color: #8fa6b8; font-size: 10px; }
.ey2-check-panel li strong { margin-bottom: 4px; color: #fff; font-size: 13px; }
.ey2-check-panel li i { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid #54728b; border-radius: 50%; color: var(--ey2-yellow); font-style: normal; font-size: 11px; }

.ey2-process { background: var(--ey2-paper); }

.ey2-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #cdd8df;
}

.ey2-process-grid article {
  position: relative;
  min-height: 245px;
  border-right: 1px solid #cdd8df;
  padding: 32px 38px 30px 0;
}

.ey2-process-grid article + article { padding-left: 38px; }
.ey2-process-grid article:last-child { border-right: 0; }
.ey2-process-grid article > b { color: #a87f00; font-family: ui-monospace, monospace; font-size: 11px; }
.ey2-process-grid h3 { margin: 60px 0 12px; color: var(--ey2-ink); font-size: 22px; }
.ey2-process-grid p { max-width: 310px; color: var(--ey2-muted); font-size: 12px; line-height: 1.7; }

.ey2-catalog { background: #fff; }

.ey2-catalog-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  min-height: 220px;
  border: 1px solid var(--ey2-line);
  border-left: 5px solid var(--ey2-yellow);
  padding: 40px 45px;
  background:
    linear-gradient(90deg, #fff, rgba(243,246,248,.75)),
    #fff;
}

.ey2-catalog-empty span {
  color: #9a7600;
  font-family: ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: .12em;
}

.ey2-catalog-empty h3 { margin: 16px 0 8px; color: var(--ey2-ink); font-size: 26px; }
.ey2-catalog-empty p { max-width: 670px; margin: 0; color: var(--ey2-muted); font-size: 13px; }

@media (max-width: 1080px) {
  .ey2-hero-grid { grid-template-columns: 1fr 430px; gap: 35px; }
  .ey2-visual { min-height: 480px; }
  .ey2-model-strip .ey-container > div { grid-template-columns: repeat(3, 1fr); }
  .ey2-model-strip a:nth-child(-n+3) { border-bottom: 1px solid var(--ey2-line); }
}

@media (max-width: 900px) {
  .ey2-hero-grid { grid-template-columns: 1fr; padding-top: 64px; }
  .ey2-hero-copy { max-width: 720px; }
  .ey2-visual { width: min(570px, 100%); margin: 0 auto; }
  .ey2-category-grid { grid-template-columns: repeat(2, 1fr); }
  .ey2-verify-grid { grid-template-columns: 1fr; gap: 55px; }
  .ey2-verify-copy { max-width: 690px; }
}

@media (max-width: 782px) {
  .ey2-hero-grid { min-height: 0; padding-top: 54px; padding-bottom: 50px; }
  .ey2-hero h1 { font-size: clamp(43px, 12vw, 60px); }
  .ey2-lead { font-size: 15px; }
  .ey2-proof-bar { grid-template-columns: 1fr; }
  .ey2-proof-bar > div { min-height: 75px; border-left: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
  .ey2-proof-bar > div:last-child { border-bottom: 0; }
  .ey2-model-strip .ey-container { grid-template-columns: 1fr; }
  .ey2-model-strip p { min-height: 44px; border-right: 0; border-bottom: 1px solid var(--ey2-line); }
  .ey2-section { padding: 72px 0; }
  .ey2-section-head { align-items: start; flex-direction: column; margin-bottom: 35px; }
  .ey2-section-head h2 { font-size: 40px; }
  .ey2-process-grid { grid-template-columns: 1fr; }
  .ey2-process-grid article,
  .ey2-process-grid article + article { min-height: 200px; border-right: 0; border-bottom: 1px solid #cdd8df; padding: 27px 0; }
  .ey2-process-grid article:last-child { border-bottom: 0; }
  .ey2-process-grid h3 { margin-top: 35px; }
  .ey2-catalog-empty { align-items: start; flex-direction: column; padding: 32px; }
}

@media (max-width: 560px) {
  .ey2-search > div { grid-template-columns: 1fr; gap: 7px; background: transparent; }
  .ey2-search input[type="search"] { min-height: 51px; border-radius: 2px; }
  .ey2-search button { min-height: 51px; }
  .ey2-hero-actions { align-items: start; flex-direction: column; gap: 7px; }
  .ey2-visual { min-height: 400px; }
  .ey2-controller { width: 190px; height: 235px; padding: 23px 19px; border-width: 8px; }
  .ey2-screen { height: 102px; padding: 12px; }
  .ey2-screen b { font-size: 20px; }
  .ey2-controls { gap: 8px; margin-top: 17px; }
  .ey2-controller-mark { margin-top: 14px; }
  .ey2-callout { min-width: 112px; padding: 8px; }
  .ey2-callout::before { width: 25px; }
  .ey2-callout--one { top: 85px; left: 9px; }
  .ey2-callout--two { top: 145px; right: 7px; }
  .ey2-callout--three { right: 13px; bottom: 65px; }
  .ey2-verified { left: 12px; bottom: 14px; }
  .ey2-model-strip .ey-container > div { grid-template-columns: repeat(2, 1fr); }
  .ey2-model-strip a { border-bottom: 1px solid var(--ey2-line); }
  .ey2-category-grid { grid-template-columns: 1fr; }
  .ey2-category-card { min-height: 285px; }
  .ey2-section-head h2,
  .ey2-verify-copy h2 { font-size: 36px; }
  .ey2-check-panel li { grid-template-columns: 28px 1fr 24px; gap: 10px; padding: 14px 16px; }
}

/* Catalog polish: consistent long-title handling */
.single-product div.product .summary .product_title {
  max-width: 26ch;
  margin-bottom: 18px;
  font-size: clamp(28px, 2vw, 38px);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  min-height: 4.2em;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex;
  min-height: 190px;
  flex-direction: column;
}

.woocommerce ul.products li.product .button {
  align-self: flex-start;
  margin-top: auto;
}


/* Catalog inquiry conversion panel */
.single-product .ey-product-inquiry-panel {
  margin: 24px 0 18px;
  padding: 20px;
  border: 1px solid #dce3ea;
  border-left: 4px solid #f5b800;
  border-radius: 3px;
  background: #f7f8fa;
}

.single-product .ey-product-inquiry-panel .ey-product-inquiry.button {
  min-height: 48px;
  padding: 13px 22px;
  border: 1px solid #e0a600;
  border-radius: 2px;
  background: #f5b800;
  color: #071f33;
  font-weight: 800;
  letter-spacing: .01em;
  text-align: center;
}

.single-product .ey-product-inquiry-panel .ey-product-inquiry.button:hover,
.single-product .ey-product-inquiry-panel .ey-product-inquiry.button:focus {
  border-color: #0b3555;
  background: #0b3555;
  color: #fff;
}

.single-product .ey-product-inquiry-panel p {
  max-width: 56ch;
  margin: 12px 0 0;
  color: #465568;
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 544px) {
  .single-product .ey-product-inquiry-panel .ey-product-inquiry.button {
    display: block;
    width: 100%;
  }
}

/* Reference catalog mega navigation */
.ey-nav{position:relative;z-index:80}.ey-nav .ey-container{position:relative}.ey-catalog-menu>li{position:relative}.ey-catalog-menu>.ey-menu-categories{position:static}.ey-menu-categories-trigger .ey-menu-caret{margin-left:8px;font-size:10px}.ey-mega-menu{position:absolute;z-index:100;top:100%;left:0;width:min(1120px,calc(100vw - 40px));padding:22px;visibility:hidden;opacity:0;transform:translateY(8px);pointer-events:none;background:#fff;color:var(--ey-blue-deep);border:1px solid #dce3ea;border-top:3px solid var(--ey-yellow);box-shadow:0 18px 45px rgba(4,28,48,.2);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.ey-menu-categories:hover .ey-mega-menu,.ey-menu-categories:focus-within .ey-mega-menu{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.ey-menu-categories:hover>.ey-menu-categories-trigger,.ey-menu-categories:focus-within>.ey-menu-categories-trigger{background:var(--ey-yellow);color:var(--ey-blue-deep)}.ey-mega-menu-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e4e9ee}.ey-mega-menu-head strong{display:block;margin-bottom:3px;font-size:22px;line-height:1.2}.ey-mega-menu-head small{color:#6b7784;font-size:12px}.ey-mega-menu-head>a{flex:0 0 auto;padding:8px 0;color:var(--ey-blue);font-size:12px;font-weight:900}.ey-mega-menu-head>a:hover{background:transparent;color:#9f7400}.ey-mega-menu .ey-category-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:none;align-items:stretch;gap:1px;margin:0;padding:1px;background:#e3e8ed}.ey-mega-menu .ey-category-nav-grid li{display:block;background:#fff}.ey-mega-menu .ey-category-nav-grid a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:11px 13px;color:var(--ey-blue-deep);font-size:12px;line-height:1.3}.ey-mega-menu .ey-category-nav-grid a:hover,.ey-mega-menu .ey-category-nav-grid a:focus{background:#fff8d7;color:var(--ey-blue-deep)}.ey-cat-number{display:inline-grid;place-items:center;width:28px;height:28px;background:var(--ey-yellow);color:var(--ey-blue-deep);font-size:10px;font-weight:900}.ey-cat-label{min-width:0;font-weight:900}.ey-cat-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;background:#edf1f4;color:#637080;border-radius:999px;font-size:10px;font-weight:800}
@media(max-width:768px){.ey-catalog-menu>li{display:block}.ey-menu-categories-trigger .ey-menu-caret{display:none}.ey-mega-menu{position:static;width:100%;padding:0;visibility:visible;opacity:1;transform:none;pointer-events:auto;background:#0b3555;color:#fff;border:0;box-shadow:none}.ey-mega-menu-head{display:none}.ey-mega-menu .ey-category-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px 0 0;background:rgba(255,255,255,.12)}.ey-mega-menu .ey-category-nav-grid li{background:#0b3555}.ey-mega-menu .ey-category-nav-grid a{min-height:50px;padding:9px 11px;color:#fff;border:0;font-size:11px}.ey-mega-menu .ey-category-nav-grid a:hover,.ey-mega-menu .ey-category-nav-grid a:focus{background:#12466c;color:#fff}.ey-cat-number{width:24px;height:24px}.ey-cat-count{background:rgba(255,255,255,.14);color:#fff}}
@media(max-width:480px){.ey-mega-menu .ey-category-nav-grid{grid-template-columns:1fr}}

    $categories = [
        '01' => ['label' => __('Water Jacket Heater', 'ey-genset-parts'), 'slug' => 'water-jacket-heater'],
        '02' => ['label' => __('Switch', 'ey-genset-parts'), 'slug' => 'switch'],
        '03' => ['label' => __('Current Transformer', 'ey-genset-parts'), 'slug' => 'current-transformer'],
        '04' => ['label' => __('ATS', 'ey-genset-parts'), 'slug' => 'ats'],
        '05' => ['label' => __('Generator AVR', 'ey-genset-parts'), 'slug' => 'generator-avr'],
        '06' => ['label' => __('Generator Controller', 'ey-genset-parts'), 'slug' => 'generator-controller'],
        '07' => ['label' => __('Speed Controller', 'ey-genset-parts'), 'slug' => 'speed-governor'],
        '08' => ['label' => __('Speed Controller System', 'ey-genset-parts'), 'slug' => 'speed-controller-system'],
        '09' => ['label' => __('Generator Actuator', 'ey-genset-parts'), 'slug' => 'generator-actuator'],
        '10' => ['label' => __('Battery Charger', 'ey-genset-parts'), 'slug' => 'battery-charger'],
        '11' => ['label' => __('Diode & Rectifier', 'ey-genset-parts'), 'slug' => 'diode-rectifier'],
        '12' => ['label' => __('Generator Sensor', 'ey-genset-parts'), 'slug' => 'generator-sensor'],
        '13' => ['label' => __('Engine Stop Solenoid', 'ey-genset-parts'), 'slug' => 'engine-stop-solenoid'],
        '14' => ['label' => __('Gauge', 'ey-genset-parts'), 'slug' => 'gauge'],
        '15' => ['label' => __('Canopy Parts', 'ey-genset-parts'), 'slug' => 'canopy-parts'],
        '16' => ['label' => __('Engine Spare Parts', 'ey-genset-parts'), 'slug' => 'engine-spare-parts'],
        '17' => ['label' => __('Other Parts', 'ey-genset-parts'), 'slug' => 'other-parts'],
    ];

    echo '<ul class="ey-fallback-menu ey-catalog-menu">';
    printf('<li><a href="%s">%s</a></li>', esc_url($shop), esc_html__('All Products', 'ey-genset-parts'));
    echo '<li class="ey-menu-categories">';
    printf('<a class="ey-menu-categories-trigger" href="%s" aria-haspopup="true">%s <span aria-hidden="true">▾</span></a>', esc_url($shop), esc_html__('Product Categories', 'ey-genset-parts'));
    echo '<div class="ey-mega-menu">';
    echo '<div class="ey-mega-menu-head">';
    echo '<div><strong>' . esc_html__('Product Categories', 'ey-genset-parts') . '</strong><small>' . esc_html__('Browse generator parts by type', 'ey-genset-parts') . '</small></div>';
    printf('<a href="%s">%s →</a>', esc_url($shop), esc_html__('View all products', 'ey-genset-parts'));
    echo '</div>';
    echo '<ul class="ey-category-nav-grid">';
    foreach ($categories as $number => $category) {
        $term = get_term_by('slug', $category['slug'], 'product_cat');
        $url = add_query_arg('product_cat', $category['slug'], $shop);
        $count = 0;
        if ($term && !is_wp_error($term)) {
            $term_link = get_term_link($term);
            if (!is_wp_error($term_link)) {
                $url = $term_link;
            }
            $count = (int) $term->count;
        }
        printf(
            '<li><a href="%1$s"><span class="ey-cat-number">%2$s</span><span class="ey-cat-label">%3$s</span><span class="ey-cat-count">%4$d</span></a></li>',
            esc_url($url),
            esc_html($number),
            esc_html($category['label']),
            $count
        );
    }
    echo '</ul>';
    echo '</div>';
    echo '</li>';
    printf('<li><a href="%s">%s</a></li>', esc_url(add_query_arg('orderby', 'date', $shop)), esc_html__('New Arrivals', 'ey-genset-parts'));
    printf('<li><a href="%s">%s</a></li>', esc_url(add_query_arg('orderby', 'popularity', $shop)), esc_html__('Popular Products', 'ey-genset-parts'));
    printf('<li><a href="%s">%s</a></li>', esc_url('mailto:sales@gensetmatch.com?subject=Wholesale%20quote'), esc_html__('Wholesale', 'ey-genset-parts'));
    printf('<li><a href="%s">%s</a></li>', esc_url('mailto:sales@gensetmatch.com?subject=Part%20verification'), esc_html__('Contact', 'ey-genset-parts'));
    echo '</ul>';
}

function ey_genset_category_link($name, $fallback_slug) {
    if (taxonomy_exists('product_cat')) {
        $term = get_term_by('name', $name, 'product_cat');
        if ($term && !is_wp_error($term)) {
            $link = get_term_link($term);
            if (!is_wp_error($link)) {
                return $link;
            }
        }
    }
    return add_query_arg('product_cat', $fallback_slug, ey_genset_shop_url());
}

function ey_genset_category_count($name) {
    if (!taxonomy_exists('product_cat')) {
        return 0;
    }
    $term = get_term_by('name', $name, 'product_cat');
    return ($term && !is_wp_error($term)) ? (int) $term->count : 0;
}

function ey_genset_customize_register($customizer) {
    $customizer->add_setting('ey_catalog_notice', [
        'default'           => __('Generator parts matched before dispatch', 'ey-genset-parts'),
        'sanitize_callback' => 'sanitize_text_field',
    ]);
    $customizer->add_control('ey_catalog_notice', [
        'label'   => __('Top notice', 'ey-genset-parts'),
        'section' => 'title_tagline',
        'type'    => 'text',
    ]);
}
add_action('customize_register', 'ey_genset_customize_register');

function ey_genset_cart_fragments($fragments) {
    ob_start();
    ?><b class="ey-cart-count"><?php echo esc_html(ey_genset_cart_count()); ?></b><?php
    $fragments['.ey-cart-count'] = ob_get_clean();
    return $fragments;
}
add_filter('woocommerce_add_to_cart_fragments', 'ey_genset_cart_fragments');

function ey_genset_loop_columns() {
    return 3;
}
add_filter('loop_shop_columns', 'ey_genset_loop_columns');

function ey_genset_products_per_page() {
    return 18;
}
add_filter('loop_shop_per_page', 'ey_genset_products_per_page');

/**
 * Allow store managers to preview draft catalog items on the storefront.
 * Public visitors continue to see published products only.
 */
function ey_genset_admin_catalog_preview($query) {
    if (is_admin() || !$query->is_main_query() || !current_user_can('manage_woocommerce')) {
        return;
    }
    $preview = isset($_GET['ey_catalog_preview']) ? sanitize_text_field(wp_unslash($_GET['ey_catalog_preview'])) : '';
    if ('1' !== $preview) {
        return;
    }
    if ($query->is_post_type_archive('product') || $query->is_tax(['product_cat', 'product_tag'])) {
        $query->set('post_status', ['publish', 'draft']);
    }
}
add_action('pre_get_posts', 'ey_genset_admin_catalog_preview');


/**
 * Make catalog products useful without publishing unverified prices.
 * Customers request a compatibility check before ordering.
 */
function ey_genset_product_inquiry_panel() {
    global $product;
    if (!$product instanceof WC_Product) {
        return;
    }

    $email = 'sales@gensetmatch.com';
    $sku = $product->get_sku();
    $subject = rawurlencode('Part verification: ' . $product->get_name());
    $body = rawurlencode(
        "Product: " . $product->get_name() . "
" .
        "SKU: " . ($sku ?: 'N/A') . "
" .
        "URL: " . get_permalink($product->get_id()) . "

" .
        "Please confirm compatibility for this part. I will attach the old part label, connector photos and genset model."
    );
    $link = 'mailto:' . $email . '?subject=' . $subject . '&body=' . $body;
    ?>
    <div class="ey-product-inquiry-panel">
        <a class="button alt ey-product-inquiry" href="<?php echo esc_url($link); ?>">
            <?php esc_html_e('Request compatibility check', 'ey-genset-parts'); ?>
        </a>
        <p><?php esc_html_e('For accurate matching, send the old part label, connector photos and generator set model.', 'ey-genset-parts'); ?></p>
    </div>
    <?php
}
add_action('woocommerce_single_product_summary', 'ey_genset_product_inquiry_panel', 32);

function ey_genset_catalog_button_text($text, $product) {
    if ($product instanceof WC_Product && !$product->is_purchasable()) {
        return __('View details', 'ey-genset-parts');
    }
    return $text;
}
add_filter('woocommerce_product_add_to_cart_text', 'ey_genset_catalog_button_text', 10, 2);


/* Keep every related-product recommendation inside the current category. */
function ey_genset_related_same_category($related_posts, $product_id, $args) {
    $category_ids = wc_get_product_term_ids($product_id, 'product_cat');
    if (empty($category_ids)) {
        return array();
    }

    $limit = isset($args['limit']) ? max(12, absint($args['limit']) * 3) : 12;
    return get_posts(array(
        'post_type'           => 'product',
        'post_status'         => 'publish',
        'posts_per_page'      => $limit,
        'fields'              => 'ids',
        'post__not_in'        => array($product_id),
        'orderby'             => 'rand',
        'ignore_sticky_posts' => true,
        'tax_query'           => array(
            array(
                'taxonomy' => 'product_cat',
                'field'    => 'term_id',
                'terms'    => $category_ids,
            ),
        ),
    ));
}
add_filter('woocommerce_related_products', 'ey_genset_related_same_category', 20, 3);


/* US-market category directory v1.5 */
body.ey-category-directory .woocommerce-products-header,
body.ey-category-directory .woocommerce-result-count,
body.ey-category-directory .woocommerce-ordering,
body.ey-category-directory ul.products,
body.ey-category-directory .woocommerce-pagination{display:none!important}
body.ey-category-directory .site-main{padding-top:0}
.ey-category-directory-wrap{width:100%;padding:30px 0 54px;color:#0b2239;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.ey-category-breadcrumb{display:flex;gap:10px;align-items:center;margin:0 0 15px;font-size:13px;color:#6b7784}
.ey-category-breadcrumb a{color:#174a82;font-weight:700}
.ey-category-directory-head{margin-bottom:27px}
.ey-category-directory-head .ey-eyebrow{margin:0 0 7px;color:#9a7100;font-size:11px;font-weight:900;letter-spacing:.14em}
.ey-category-directory-head h1{margin:0 0 8px;color:#0b1728;font-size:40px;line-height:1.08;letter-spacing:-.03em}
.ey-category-directory-head>p:last-child{margin:0;color:#566271;font-size:16px}
.ey-category-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:24px;align-items:start}
.ey-category-sidebar{border:1px solid #dbe1e7;border-radius:6px;background:#fff;box-shadow:0 4px 16px rgba(10,34,57,.05);overflow:hidden}
.ey-category-sidebar h2{margin:0;padding:17px 17px 12px;font-size:18px}
.ey-category-sidebar ul{margin:0;padding:0 12px 13px;list-style:none}
.ey-category-sidebar li{margin:0}
.ey-category-sidebar li a{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;gap:8px;align-items:center;min-height:34px;padding:5px 6px;color:#14283e;border-bottom:1px solid #edf0f2;font-size:12px}
.ey-category-sidebar li a:hover{background:#fff8df;color:#082e54}
.ey-category-sidebar li b{min-width:25px;padding:3px 5px;background:#eef2f5;color:#65717e;border-radius:10px;text-align:center;font-size:10px}
.ey-category-sidebar li i{font-style:normal;color:#7c8792}
.ey-category-help{margin:0 12px 14px;padding:15px;background:#f4f7f9;border-left:3px solid #f2b92b}
.ey-category-help strong,.ey-category-help span{display:block}
.ey-category-help strong{margin-bottom:4px;font-size:13px}
.ey-category-help span{margin-bottom:9px;color:#65717e;font-size:11px;line-height:1.45}
.ey-category-help a{color:#064b91;font-size:11px;font-weight:900}
.ey-category-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ey-category-card{display:grid;grid-template-columns:42% 58%;min-height:148px;overflow:hidden;background:#fff;border:1px solid #dbe1e7;border-radius:6px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ey-category-card:hover{transform:translateY(-2px);border-color:#b9c4ce;box-shadow:0 10px 24px rgba(9,34,57,.1)}
.ey-category-card-image{display:flex;align-items:center;justify-content:center;min-width:0;padding:12px;background:#f5f6f7}
.ey-category-card-image img{display:block;width:100%;height:112px;object-fit:contain;mix-blend-mode:multiply}
.ey-category-card-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:14px 12px}
.ey-category-card-copy h2{margin:0 0 7px;font-size:14px;line-height:1.28}
.ey-category-card-copy h2 a{color:#0b1728}
.ey-category-card-copy p{margin:0 0 15px;color:#6d7884;font-size:11px}
.ey-category-card-link{margin-top:auto;color:#064b91;font-size:11px;font-weight:900}
.ey-category-card-link:hover{color:#9a7100}
.ey-category-trust{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:1px solid #dbe1e7;border-radius:6px;background:#f8fafb}
.ey-category-trust>div{display:flex;gap:12px;align-items:center;padding:18px}
.ey-category-trust>div+div{border-left:1px solid #dbe1e7}
.ey-category-trust b{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:#0b2b4d;color:#fff;border-radius:50%;font-size:20px}
.ey-category-trust span,.ey-category-trust strong,.ey-category-trust small{display:block}
.ey-category-trust strong{margin-bottom:3px;font-size:13px}
.ey-category-trust small{color:#66727e;font-size:10px;line-height:1.35}
.ey-fitment-cta{display:grid;grid-template-columns:minmax(0,1.25fr) auto minmax(220px,.7fr);gap:30px;align-items:center;margin-top:18px;padding:27px 32px;background:linear-gradient(135deg,#061d36,#0d3761);color:#fff;border-radius:6px}
.ey-fitment-cta>div{display:flex;gap:20px;align-items:center}
.ey-fitment-icon{display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border:3px solid #f2b92b;color:#f2b92b;border-radius:8px;font-size:35px;font-weight:900}
.ey-fitment-cta h2{margin:0 0 6px;color:#fff;font-size:22px}
.ey-fitment-cta p{margin:0;color:#dbe6ef;font-size:12px;line-height:1.55}
.ey-fitment-cta>a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:#f2b92b;color:#071b2f;border-radius:4px;font-size:14px;font-weight:900;text-align:center}
.ey-fitment-cta>a:hover{background:#ffd255;color:#071b2f}
.ey-fitment-cta ul{margin:0;padding:0 0 0 22px;border-left:1px solid rgba(255,255,255,.25);list-style:none}
.ey-fitment-cta li{position:relative;margin:7px 0;padding-left:19px;font-size:11px}
.ey-fitment-cta li:before{content:"✓";position:absolute;left:0;color:#f2b92b;font-weight:900}
@media(max-width:1100px){.ey-category-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ey-fitment-cta{grid-template-columns:1fr auto}.ey-fitment-cta ul{display:none}}
@media(max-width:820px){.ey-category-directory-wrap{padding-top:22px}.ey-category-directory-head h1{font-size:31px}.ey-category-layout{grid-template-columns:1fr}.ey-category-sidebar{display:none}.ey-category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ey-category-trust{grid-template-columns:1fr}.ey-category-trust>div+div{border-left:0;border-top:1px solid #dbe1e7}.ey-fitment-cta{grid-template-columns:1fr}.ey-fitment-cta>a{width:100%}}
@media(max-width:520px){.ey-category-directory-head h1{font-size:28px}.ey-category-directory-head>p:last-child{font-size:14px}.ey-category-card-grid{grid-template-columns:1fr}.ey-category-card{min-height:134px}.ey-category-card-image img{height:100px}.ey-category-trust>div{padding:15px}.ey-fitment-cta{padding:23px 20px}.ey-fitment-cta>div{align-items:flex-start}.ey-fitment-icon{display:none}}

body.ey-category-directory h1.page-title{display:none!important}
body.ey-category-directory #primary{margin-top:0!important}
body.ey-category-directory .site-content>.ast-container{padding-top:0!important}


/* US-market product category archive v1.6 */
body.ey-product-category-archive .woocommerce-products-header{display:none!important}
body.ey-product-category-archive .site-main{padding-top:0}
.ey-product-archive-intro{margin:0 0 24px;color:#0b2239;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.ey-product-archive-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 17px;color:#74808c;font-size:12px}
.ey-product-archive-breadcrumb a{color:#15518c;font-weight:800}
.ey-product-archive-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:32px;align-items:center;padding:30px 34px;background:linear-gradient(125deg,#f8fafc 0%,#fff 63%,#fff8d9 100%);border:1px solid #dbe2e8;border-top:4px solid #f2b92b;border-radius:6px}
.ey-product-archive-eyebrow{margin:0 0 7px!important;color:#9a7100;font-size:10px!important;font-weight:900;letter-spacing:.15em}
.ey-product-archive-hero h1{margin:0 0 10px;color:#071a2d;font-size:38px;line-height:1.08;letter-spacing:-.025em}
.ey-product-archive-hero>div>p:last-child{max-width:780px;margin:0;color:#566474;font-size:14px;line-height:1.65}
.ey-product-archive-summary{display:flex;flex-direction:column;align-items:flex-start;padding:0 0 0 26px;border-left:1px solid #d9e0e6}
.ey-product-archive-summary strong{color:#0b2d50;font-size:38px;line-height:1}
.ey-product-archive-summary span{margin:4px 0 16px;color:#6c7885;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.ey-product-archive-summary a{color:#064b91;font-size:11px;font-weight:900}
.ey-product-archive-tools{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;margin-top:14px}
.ey-product-archive-tools form{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;min-height:54px;background:#fff;border:2px solid #173b63;border-radius:5px;overflow:hidden}
.ey-product-archive-tools form>span{display:grid;place-items:center;color:#173b63;font-size:23px}
.ey-product-archive-tools input[type=search]{width:100%;height:50px;padding:0 10px;background:#fff;border:0!important;box-shadow:none!important;color:#13283e;font-size:13px}
.ey-product-archive-tools button{align-self:stretch;min-width:140px;padding:0 22px;background:#f2b92b;color:#071a2d;border:0;border-radius:0;font-size:12px;font-weight:900}
.ey-product-archive-tools button:hover{background:#ffd154}
.ey-product-archive-switcher{position:relative;z-index:15}
.ey-product-archive-switcher summary{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 18px;background:#0b2d50;color:#fff;border-radius:5px;cursor:pointer;font-size:12px;font-weight:900;list-style:none}
.ey-product-archive-switcher summary:after{content:"▾";margin-left:9px;color:#f2b92b}
.ey-product-archive-switcher[open] summary:after{content:"▴"}
.ey-product-archive-switcher>div{position:absolute;right:0;top:calc(100% + 6px);display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));width:470px;padding:8px;background:#fff;border:1px solid #dbe2e8;border-top:3px solid #f2b92b;box-shadow:0 16px 38px rgba(8,31,53,.18)}
.ey-product-archive-switcher>div a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;padding:7px 9px;color:#17304a;border-bottom:1px solid #edf0f2;font-size:11px}
.ey-product-archive-switcher>div a:hover,.ey-product-archive-switcher>div a.is-current{background:#fff7d8}
.ey-product-archive-switcher>div b{min-width:25px;padding:3px 6px;background:#eef2f5;color:#697582;border-radius:12px;text-align:center;font-size:9px}
.ey-product-archive-assurance{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;background:#0b2239;color:#fff;border-radius:5px}
.ey-product-archive-assurance span{display:flex;gap:9px;align-items:center;justify-content:center;min-height:43px;padding:9px 14px;font-size:10px;font-weight:700;text-align:center}
.ey-product-archive-assurance span+span{border-left:1px solid rgba(255,255,255,.16)}
.ey-product-archive-assurance b{display:grid;place-items:center;width:19px;height:19px;background:#f2b92b;color:#071a2d;border-radius:50%;font-size:10px}
.ey-product-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:28px 0 13px;padding-bottom:12px;border-bottom:1px solid #dbe2e8}
.ey-product-list-heading span{color:#9a7100;font-size:9px;font-weight:900;letter-spacing:.14em}
.ey-product-list-heading h2{margin:3px 0 0;color:#0b2239;font-size:24px}
.ey-product-list-heading>a{color:#064b91;font-size:11px;font-weight:900}
body.ey-product-category-archive .woocommerce-result-count{margin:4px 0 18px;color:#687482;font-size:11px}
body.ey-product-category-archive .woocommerce-ordering{margin:0 0 18px}
body.ey-product-category-archive .woocommerce-ordering select{min-height:42px;padding:0 34px 0 13px;background-color:#fff;border:1px solid #cfd7df;color:#17304a;font-size:11px;font-weight:700}
body.ey-product-category-archive ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important;margin:0!important}
body.ey-product-category-archive ul.products:before,body.ey-product-category-archive ul.products:after{display:none!important}
body.ey-product-category-archive ul.products li.product{display:flex!important;flex-direction:column!important;float:none!important;width:auto!important;min-width:0;margin:0!important;padding:0 0 16px!important;overflow:hidden;background:#fff;border:1px solid #dbe2e8;border-radius:5px;box-shadow:0 3px 12px rgba(8,31,53,.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body.ey-product-category-archive ul.products li.product:hover{transform:translateY(-3px);border-color:#b9c5cf;box-shadow:0 12px 28px rgba(8,31,53,.1)}
body.ey-product-category-archive ul.products li.product .astra-shop-thumbnail-wrap{background:#f3f5f6}
body.ey-product-category-archive ul.products li.product a img{width:100%!important;height:230px!important;margin:0!important;padding:20px!important;background:#f3f5f6;object-fit:contain!important;mix-blend-mode:multiply}
body.ey-product-category-archive ul.products li.product .astra-shop-summary-wrap{display:flex;flex:1;flex-direction:column;padding:14px 15px 0}
body.ey-product-category-archive ul.products li.product .ast-woo-product-category{margin:0 0 8px;color:#7a8590;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
body.ey-product-category-archive ul.products li.product .woocommerce-loop-product__title{min-height:54px;margin:0 0 13px!important;color:#112942;font-size:13px!important;line-height:1.42!important}
body.ey-product-category-archive ul.products li.product .button{align-self:flex-start;margin-top:auto!important;padding:11px 15px!important;background:#f2b92b;color:#071a2d;border-radius:2px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
body.ey-product-category-archive ul.products li.product .button:hover{background:#0b2d50;color:#fff}
body.ey-product-category-archive .woocommerce-pagination{margin-top:26px}
body.ey-product-category-archive .woocommerce-pagination ul{border:0!important}
body.ey-product-category-archive .woocommerce-pagination li{margin:0 3px!important;border:0!important}
body.ey-product-category-archive .woocommerce-pagination a,body.ey-product-category-archive .woocommerce-pagination span{display:grid!important;place-items:center;width:38px;height:38px;padding:0!important;background:#fff!important;color:#173b63!important;border:1px solid #ccd5de!important;font-size:11px!important;font-weight:900}
body.ey-product-category-archive .woocommerce-pagination .current,body.ey-product-category-archive .woocommerce-pagination a:hover{background:#0b2d50!important;color:#fff!important;border-color:#0b2d50!important}
.ey-product-archive-cta{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:22px;align-items:center;margin-top:30px;padding:26px 30px;background:linear-gradient(135deg,#061d36,#0d3761);color:#fff;border-radius:6px}
.ey-product-archive-cta-icon{display:grid;place-items:center;width:60px;height:60px;color:#f2b92b;border:3px solid #f2b92b;border-radius:8px;font-size:34px}
.ey-product-archive-cta p{margin:0 0 4px;color:#f2b92b;font-size:9px;font-weight:900;letter-spacing:.14em}
.ey-product-archive-cta h2{margin:0 0 5px;color:#fff;font-size:21px}
.ey-product-archive-cta span{color:#d7e3ec;font-size:11px;line-height:1.5}
.ey-product-archive-cta>a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;background:#f2b92b;color:#071a2d;border-radius:3px;font-size:11px;font-weight:900;text-align:center}
.ey-product-archive-cta>a:hover{background:#ffd154}
@media(max-width:1050px){body.ey-product-category-archive ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ey-product-archive-hero{grid-template-columns:1fr 160px}}
@media(max-width:780px){.ey-product-archive-hero{grid-template-columns:1fr;padding:24px}.ey-product-archive-hero h1{font-size:30px}.ey-product-archive-summary{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:17px 0 0;border-top:1px solid #d9e0e6;border-left:0}.ey-product-archive-summary strong{grid-row:1/3;font-size:32px}.ey-product-archive-summary span{margin:0}.ey-product-archive-summary a{margin-top:4px}.ey-product-archive-tools{grid-template-columns:1fr}.ey-product-archive-switcher>div{right:auto;left:0;width:100%;grid-template-columns:1fr}.ey-product-archive-assurance{grid-template-columns:1fr}.ey-product-archive-assurance span{justify-content:flex-start}.ey-product-archive-assurance span+span{border-top:1px solid rgba(255,255,255,.16);border-left:0}body.ey-product-category-archive ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ey-product-archive-cta{grid-template-columns:1fr}.ey-product-archive-cta-icon{display:none}.ey-product-archive-cta>a{width:100%}}
@media(max-width:480px){.ey-product-archive-tools form{grid-template-columns:34px minmax(0,1fr)}.ey-product-archive-tools button{grid-column:1/3;min-height:44px}.ey-product-list-heading{align-items:flex-start;flex-direction:column}.ey-product-list-heading h2{font-size:21px}body.ey-product-category-archive ul.products{gap:10px!important}body.ey-product-category-archive ul.products li.product a img{height:165px!important;padding:14px!important}body.ey-product-category-archive ul.products li.product .astra-shop-summary-wrap{padding:11px 10px 0}body.ey-product-category-archive ul.products li.product .woocommerce-loop-product__title{min-height:62px;font-size:11px!important}body.ey-product-category-archive ul.products li.product .button{padding:9px 10px!important;font-size:9px}}

/* Catalog-mode cleanup v1.6.1 */
.ey-actions .ey-cart{display:none!important}


/* Category directory: keep this page focused on category discovery v1.6.2 */
body.ey-category-directory .woocommerce-notices-wrapper:empty,
body.ey-category-directory .woocommerce-result-count,
body.ey-category-directory .woocommerce-ordering,
body.ey-category-directory ul.products,
body.ey-category-directory .woocommerce-pagination,
body.ey-category-directory .woocommerce-info,
body.ey-category-directory .woocommerce-no-products-found{display:none!important}
body.ey-category-directory .ey-category-directory-wrap{margin-bottom:0}


/* Professional catalog product detail v1.6.3 */
body.single-product .site-main{padding-top:30px;padding-bottom:64px}
body.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:48px;align-items:start}
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary{float:none!important;width:auto!important;margin:0!important}
body.single-product div.product .woocommerce-product-gallery{border:1px solid #dfe5eb;background:#f5f7f9;padding:18px}
body.single-product div.product .woocommerce-product-gallery__image a{display:flex;align-items:center;justify-content:center;background:#f5f7f9}
body.single-product div.product .woocommerce-product-gallery__image img{width:100%!important;height:520px!important;object-fit:contain!important;background:#f5f7f9}
body.single-product div.product .summary .product_meta{display:none!important}
body.single-product div.product .summary>.price:empty{display:none!important}
body.single-product div.product .summary .product_title{font-size:34px;line-height:1.16;color:#0d2138;margin:14px 0 18px}
body.single-product div.product .summary .woocommerce-product-details__short-description{font-size:15px;line-height:1.7;color:#526171;margin-bottom:22px}
.ey-product-purchase-panel{border:1px solid #dce3ea;border-top:4px solid #f2b72b;background:#f7f9fb;padding:22px;margin-top:22px}
.ey-product-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #dce3ea;background:#fff}
.ey-product-facts>div{padding:13px 15px;min-width:0}
.ey-product-facts>div:nth-child(odd){border-right:1px solid #dce3ea}
.ey-product-facts>div:nth-child(n+3){border-top:1px solid #dce3ea}
.ey-product-facts span{display:block;color:#6a7886;font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.ey-product-facts strong{display:block;color:#102a47;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.ey-product-actions-v2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
body.single-product .ey-product-actions-v2 .button{display:flex!important;align-items:center;justify-content:center;min-height:48px;margin:0!important;padding:11px 14px!important;border-radius:2px!important;font-size:13px!important;font-weight:800!important;text-align:center;text-transform:none!important}
body.single-product .ey-product-quote{background:#f5b925!important;color:#0b2037!important;border:1px solid #f5b925!important}
body.single-product .ey-product-quote:hover{background:#e4a915!important;border-color:#e4a915!important}
body.single-product .ey-product-verify{background:#102d4e!important;color:#fff!important;border:1px solid #102d4e!important}
body.single-product .ey-product-verify:hover{background:#0a2038!important}
.ey-product-match-note{margin:14px 0 0!important;color:#5c6976!important;font-size:12px!important;line-height:1.55!important}
.ey-product-match-note strong{color:#102a47}
body.single-product .woocommerce-tabs{grid-column:1/3;clear:both!important;margin:10px 0 0!important;padding-top:32px;border-top:1px solid #dfe5eb}
body.single-product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 22px!important;border-bottom:1px solid #dfe5eb}
body.single-product .woocommerce-tabs ul.tabs:before{display:none!important}
body.single-product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0 28px 0 0!important;padding:0 0 12px!important}
body.single-product .woocommerce-tabs ul.tabs li:before,
body.single-product .woocommerce-tabs ul.tabs li:after{display:none!important}
body.single-product .woocommerce-tabs ul.tabs li.active{border-bottom:3px solid #f2b72b!important}
body.single-product .woocommerce-tabs ul.tabs li a{padding:0!important;color:#526171!important;font-weight:700!important}
body.single-product .woocommerce-tabs ul.tabs li.active a{color:#102a47!important}
body.single-product .woocommerce-Tabs-panel{max-width:900px;color:#3f5060;font-size:15px;line-height:1.75}
body.single-product .woocommerce-Tabs-panel h2{font-size:24px;color:#102a47}
body.single-product .related.products{grid-column:1/3;clear:both!important;margin-top:32px;padding-top:32px;border-top:1px solid #dfe5eb}
body.single-product .related.products>h2{font-size:25px;color:#102a47;margin-bottom:22px}
body.single-product .related.products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
body.single-product .related.products ul.products li.product{width:auto!important;margin:0!important;border:1px solid #dfe5eb!important;background:#fff!important}
body.single-product .related.products ul.products li.product img{height:210px!important;object-fit:contain!important;background:#f5f7f9!important;padding:20px!important;margin:0!important}
body.single-product .related.products .astra-shop-summary-wrap{padding:14px!important}
body.single-product .related.products .woocommerce-loop-product__title{font-size:13px!important;line-height:1.45!important;min-height:57px;color:#102a47!important}
body.single-product .related.products .button{background:#f5b925!important;color:#0b2037!important;font-size:11px!important;padding:9px 12px!important}
@media(max-width:920px){body.single-product div.product{grid-template-columns:1fr;gap:28px}body.single-product .woocommerce-tabs,body.single-product .related.products{grid-column:1}body.single-product div.product .woocommerce-product-gallery__image img{height:430px!important}body.single-product .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){body.single-product .site-main{padding-top:18px}body.single-product div.product{gap:22px}body.single-product div.product .woocommerce-product-gallery{padding:10px}body.single-product div.product .woocommerce-product-gallery__image img{height:330px!important}body.single-product div.product .summary .product_title{font-size:26px}.ey-product-purchase-panel{padding:15px}.ey-product-facts{grid-template-columns:1fr}.ey-product-facts>div:nth-child(odd){border-right:0}.ey-product-facts>div+div{border-top:1px solid #dce3ea!important}.ey-product-actions-v2{grid-template-columns:1fr}body.single-product .related.products ul.products{gap:10px!important}body.single-product .related.products ul.products li.product img{height:160px!important;padding:14px!important}}


/* Applicable equipment information v1.6.4 */
.ey-product-application-info{margin:0 0 30px;border:1px solid #dce3ea;border-top:4px solid #f2b72b;background:#f7f9fb}
.ey-application-heading{padding:22px 24px 18px;border-bottom:1px solid #dce3ea;background:linear-gradient(115deg,#f7f9fb 0%,#fff8e5 100%)}
.ey-application-heading>span{display:block;color:#9a6b00;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
body.single-product .woocommerce-Tabs-panel .ey-application-heading h2{margin:0 0 7px!important;font-size:23px!important;line-height:1.25;color:#102a47}
.ey-application-heading p{margin:0!important;color:#5c6976;font-size:13px;line-height:1.55}
.ey-application-grid{display:grid;grid-template-columns:1fr 1fr}
.ey-application-grid>div{padding:18px 20px;min-width:0;background:#fff}
.ey-application-grid>div:nth-child(odd){border-right:1px solid #dce3ea}
.ey-application-grid>div:nth-child(n+3){border-top:1px solid #dce3ea}
.ey-application-grid>div>span{display:block;margin-bottom:7px;color:#102a47;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ey-application-grid>div>p{margin:0!important;color:#465869;font-size:13px;line-height:1.65}
.ey-application-grid>.ey-application-verify{grid-column:1/3;border-right:0!important;border-left:4px solid #f2b72b;background:#f3f6f8}
.ey-application-grid>.ey-application-verify>span{color:#8a5e00}
@media(max-width:620px){.ey-application-heading{padding:18px}.ey-application-grid{grid-template-columns:1fr}.ey-application-grid>div{padding:16px}.ey-application-grid>div:nth-child(odd){border-right:0}.ey-application-grid>div+div{border-top:1px solid #dce3ea!important}.ey-application-grid>.ey-application-verify{grid-column:1}}
