/* =========================================================
   YiwuPets V5.7 UI Design System
   Direction: Alibaba information efficiency + modern B2B simplicity
   This file intentionally loads after legacy theme/catalog styles.
   ========================================================= */

:root {
  --yp-orange: #f06414;
  --yp-orange-dark: #d9530d;
  --yp-navy: #17213a;
  --yp-text: #344054;
  --yp-muted: #667085;
  --yp-subtle: #98a2b3;
  --yp-bg: #ffffff;
  --yp-light: #f8f9fb;
  --yp-surface: #ffffff;
  --yp-surface-soft: #f7f8fa;
  --yp-border: #e5e7eb;
  --yp-border-strong: #d7dce4;
  --yp-focus: rgba(240,100,20,.14);
  --yp-shadow: 0 8px 24px rgba(15,23,42,.055);
  --yp-shadow-hover: 0 14px 34px rgba(15,23,42,.09);
  --yp-radius-sm: 8px;
  --yp-radius: 12px;
  --yp-radius-card: 14px;
  --yp-radius-lg: 16px;
  --yp-header-height: 76px;
  --yp-section-space: 72px;
}

html { scroll-padding-top: calc(var(--yp-header-height) + 18px); }
body {
  color: var(--yp-text);
  background: #fff;
  font-size: 15px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
p { color: var(--yp-muted); }
a, button, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--yp-focus); outline-offset: 2px; }

.yp-container { width: min(1200px, calc(100% - 48px)); }
.yp-section { padding: var(--yp-section-space) 0; }
.yp-light { background: var(--yp-light); }

.yp-card,
.yp-proof-card,
.yp-spec-card,
.yp-inquiry-card,
.yp-inquiry-card-v455,
.yp-contact-page-warm .yp-contact-form-card {
  border: 1px solid var(--yp-border);
  border-radius: var(--yp-radius-card);
  background: #fff;
  box-shadow: none;
}

.yp-card:hover { box-shadow: none; }

.yp-kicker {
  display: inline-flex;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--yp-orange);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.yp-btn,
.yp-header-quote {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  box-shadow: none;
  transform: none;
  transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.yp-btn:hover,
.yp-header-quote:hover { transform: none; box-shadow: none; }
.yp-btn-primary,
.yp-header-quote { border-color: var(--yp-orange); background: var(--yp-orange); color: #fff; }
.yp-btn-primary:hover,
.yp-header-quote:hover { border-color: var(--yp-orange-dark); background: var(--yp-orange-dark); }
.yp-btn-outline { border: 1px solid var(--yp-border-strong); background: #fff; color: var(--yp-navy); }
.yp-btn-outline:hover { border-color: #f2aa7b; background: #fffaf6; color: #b94708; }
.yp-text-link { color: #315f9f; font-size: 13px; font-weight: 850; text-decoration: none; }
.yp-text-link:hover { color: #174c94; text-decoration: underline; }

.yp-tags { gap: 8px; }
.yp-tags span {
  padding: 6px 9px;
  border: 1px solid var(--yp-border);
  border-radius: 7px;
  background: var(--yp-surface-soft);
  color: #475467;
  font-size: 11px;
  font-weight: 750;
}

.yp-centered { margin-bottom: 30px; }
.yp-centered h2,
.yp-section-head h2,
.yp-page-hero h1,
.yp-home-intro h1,
.yp-contact-header-v455 h2 {
  color: var(--yp-navy);
  letter-spacing: -.035em;
}
.yp-section-head { gap: 28px; margin-bottom: 26px; }
.yp-section-head h2 { margin: 7px 0 7px; font-size: clamp(28px,3.6vw,42px); line-height: 1.08; }
.yp-section-head p:not(.yp-kicker) { max-width: 690px; margin: 0; font-size: 14px; line-height: 1.6; }

/* Header */
.yp-header {
  height: var(--yp-header-height);
  border-bottom: 1px solid rgba(229,231,235,.9);
  background: rgba(255,255,255,.94);
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.yp-header-inner { gap: 22px; }
.yp-logo-image { height: 50px; }
.yp-menu { gap: 23px; }
.yp-menu a { color: #27364d; font-size: 13px; font-weight: 800; }
.yp-menu a:hover { color: var(--yp-orange-dark); }
.yp-header-quote { min-height: 42px; padding-inline: 17px; }
.yp-inquiry-list-link {
  min-height: 42px;
  padding: 0 11px;
  border: 1px solid var(--yp-border-strong);
  border-radius: 10px;
  background: #fff;
  color: #344054;
  font-size: 12px;
  font-weight: 850;
}
.yp-inquiry-list-link:hover { border-color: #f2aa7b; background: #fffaf6; color: #b94708; }
.yp-inquiry-list-link.has-items { border-color: #fdba8a; background: #fff7f0; color: #b94708; }
.yp-inquiry-list-link-icon { color: currentColor; }
.yp-inquiry-list-count { min-width: 20px; height: 20px; border-radius: 6px; background: #eef1f5; color: #667085; font-size: 10px; }
.yp-inquiry-list-count.has-items { background: var(--yp-orange); color: #fff; }

/* Home hero */
.yp-home-hero-carousel { background: #f7f8fa; border-bottom: 1px solid var(--yp-border); }
.yp-home-slide,
.yp-home-slide img { min-height: 380px; height: clamp(400px,38.5vw,620px); }
.yp-home-slide img { object-fit: cover; }
.yp-slider-control {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(229,231,235,.9);
  background: rgba(255,255,255,.94);
  color: #344054;
  box-shadow: 0 5px 18px rgba(15,23,42,.08);
  font-size: 20px;
}
.yp-slider-prev { left: 22px; }
.yp-slider-next { right: 22px; }
.yp-banner-dots { bottom: 18px; padding: 6px 9px; background: rgba(255,255,255,.78); }
.yp-banner-dots button { width: 8px; height: 8px; }
.yp-banner-dots button.is-active { width: 22px; }

/* Buyer entry: move immediately from the hero promise to the buyer's next action. */
.yp-home-intro { padding: 58px 0 52px; border-bottom: 1px solid #eef0f3; }
.yp-home-intro-compact { max-width: 880px; }
.yp-buyer-entry { margin-inline:auto; text-align:center; }
.yp-home-intro h1 { max-width:760px; margin:10px auto 14px; font-size:clamp(34px,4.2vw,50px); line-height:1.05; }
.yp-home-intro .yp-lead { max-width:760px; margin:0 auto; font-size:16px; line-height:1.65; }
.yp-home-cta { justify-content:center; margin-top:20px; }
.yp-buyer-entry-help { margin:14px 0 0; color:var(--yp-muted); font-size:12px; font-weight:650; }
.yp-buyer-entry-help a { color:var(--yp-navy-2); font-weight:850; text-decoration:none; }
.yp-buyer-entry-help a:hover { color:var(--yp-orange-dark); }
.yp-buyer-entry-steps {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  max-width:720px;
  margin:27px auto 0;
  padding:0;
  list-style:none;
  color:var(--yp-navy);
}
.yp-buyer-entry-steps li { display:flex; align-items:center; gap:8px; min-width:0; font-size:12px; }
.yp-buyer-entry-steps li + li::before { content:"→"; margin:0 20px; color:#a4adba; font-size:14px; font-weight:500; }
.yp-buyer-entry-steps span { display:inline-flex; align-items:center; justify-content:center; width:27px; height:27px; border-radius:8px; background:var(--yp-orange-soft); color:var(--yp-orange-dark); font-size:10px; font-weight:900; }
.yp-buyer-entry-steps strong { white-space:nowrap; font-size:12px; font-weight:850; }

/* Home categories */
.yp-home-categories { padding-top: 62px; }
.yp-category-showcase { max-width: 1200px; }
.yp-category-showcase-head { margin-bottom: 24px; }
.yp-category-showcase-head .yp-kicker { margin-bottom: 0; }
.yp-category-showcase-head h2 { margin: 7px 0 8px; font-size: clamp(28px,3.8vw,44px); line-height:1.08; }
.yp-category-showcase-head p:not(.yp-kicker) { max-width: 760px; font-size: 14px; line-height:1.6; }
.yp-all-products-btn { min-width:0; margin-top:0; padding:0 18px; border-radius:10px; }
.yp-category-showcase-grid { gap: 16px; }
.yp-category-showcase-card {
  aspect-ratio: 1.82 / 1;
  border: 1px solid var(--yp-border);
  border-radius: var(--yp-radius-card);
  background: #f8f9fb;
  box-shadow: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.yp-category-showcase-card:hover { transform: translateY(-2px); border-color:#d6dbe3; box-shadow:var(--yp-shadow-hover); }
.yp-category-showcase-card::after,
#products .yp-category-showcase-card::after { background:linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.48) 32%,rgba(255,255,255,0) 70%)!important; }
.yp-category-showcase-card span,
#products .yp-category-showcase-card span { top:18px; left:18px; max-width:70%; color:var(--yp-navy)!important; font-size:17px!important; font-weight:900!important; line-height:1.18!important; }

/* OEM */
.yp-home-oem .yp-oem-grid { gap: 52px; }
.yp-oem-photo img,
.yp-page-visual img,
.yp-page-hero-photo img,
.yp-contact-photo img,
.yp-company-banner { border:1px solid var(--yp-border); border-radius:var(--yp-radius-lg); box-shadow:none; }
.yp-home-oem h2 { margin:8px 0 12px; color:var(--yp-navy); font-size:clamp(30px,3.6vw,44px); line-height:1.08; letter-spacing:-.035em; }
.yp-oem-cta-row { margin-top:20px; }

/* How to order */
.yp-home-order-process { border-block:1px solid var(--yp-border); }
.yp-home-process-steps { position:relative; gap:12px; }
.yp-home-process-steps div,
.yp-process-steps div {
  min-height: 128px;
  padding: 19px;
  border: 1px solid var(--yp-border);
  border-radius: var(--yp-radius-card);
  background:#fff;
  box-shadow:none;
}
.yp-process-steps b { width:30px; height:30px; margin-bottom:10px; border-radius:8px; background:#fff4eb; color:var(--yp-orange-dark); font-size:12px; }
.yp-home-process-steps strong { font-size:14px; }
.yp-home-process-steps small { font-size:11px; line-height:1.5; }
.yp-order-cta { margin-top:24px; margin-bottom:0; }

/* FAQ */
.yp-home-faq { background:#fff; }
.yp-faq-home-layout { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:70px; align-items:start; }
.yp-faq-home-copy { position:sticky; top:calc(var(--yp-header-height) + 26px); }
.yp-faq-home-copy h2 { margin:8px 0 12px; color:var(--yp-navy); font-size:clamp(28px,3.3vw,40px); line-height:1.1; letter-spacing:-.03em; }
.yp-faq-home-copy p { max-width:470px; margin:0 0 18px; }
.yp-faq-accordion { border-top:1px solid var(--yp-border); }
.yp-faq-item { border-bottom:1px solid var(--yp-border); }
.yp-faq-item summary {
  position:relative;
  padding:18px 34px 18px 0;
  color:var(--yp-navy);
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  list-style:none;
}
.yp-faq-item summary::-webkit-details-marker { display:none; }
.yp-faq-item summary::after { content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%); color:#98a2b3; font-size:20px; font-weight:400; }
.yp-faq-item[open] summary::after { content:"−"; color:var(--yp-orange); }
.yp-faq-item p { margin:-4px 0 18px; padding-right:34px; font-size:13px; line-height:1.65; }

/* Final homepage CTA */
.yp-home-final-cta { padding-top:60px; background:var(--yp-light); }
.yp-final-cta-panel {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:40px;
  align-items:center;
  padding:34px 38px;
  border:1px solid var(--yp-border);
  border-radius:var(--yp-radius-lg);
  background:#fff;
}
.yp-final-cta-panel h2 { margin:8px 0 9px; color:var(--yp-navy); font-size:clamp(27px,3.2vw,39px); line-height:1.08; letter-spacing:-.03em; }
.yp-final-cta-panel p { max-width:720px; margin:0; }
.yp-final-cta-facts { display:flex; flex-wrap:wrap; gap:15px; margin-top:17px; color:#667085; font-size:11px; font-weight:750; }
.yp-final-cta-facts span::before { content:"✓"; margin-right:5px; color:#16a34a; }
.yp-final-cta-actions { display:grid; gap:9px; min-width:190px; }
.yp-final-cta-actions .yp-btn { width:100%; }

/* General pages / managed pages */
.yp-page-hero { padding:52px 0; border-bottom:1px solid var(--yp-border); background:linear-gradient(180deg,#fafbfc,#fff); }
.yp-page-hero h1 { margin:9px 0 0; font-size:clamp(34px,4.2vw,52px); line-height:1.05; }
.yp-page-hero-grid { gap:42px; }
.yp-managed-page { gap:22px; }
.yp-managed-page > h2,
.yp-managed-page > .yp-kicker + h2 { margin:0; color:var(--yp-navy); font-size:clamp(29px,3.6vw,42px); line-height:1.08; letter-spacing:-.03em; }
.yp-proof-grid,
.yp-benefit-grid,
.yp-faq-grid { gap:14px; }
.yp-proof-card,
.yp-benefit-grid .yp-card,
.yp-faq-grid .yp-card { padding:20px; }
.yp-proof-card > span { min-width:0; height:auto; margin-bottom:10px; padding:0; border-radius:0; background:transparent; color:var(--yp-orange); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.yp-oem-case-grid { gap:14px; }
.yp-oem-case-grid div { min-height:126px; padding:19px; border:1px solid var(--yp-border); border-radius:var(--yp-radius-card); background:#fff; }
.yp-oem-case-grid span { font-size:16px; }
.yp-oem-case-grid small { font-size:11px; font-weight:650; }
.yp-managed-cta { display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }

/* Forms */
.yp-inquiry-card,
.yp-inquiry-card-v455,
.yp-contact-page-warm .yp-contact-form-card { padding:24px; background:#fff; }
.yp-form input,.yp-form textarea,.yp-form select,
.yp-inquiry-card input,.yp-inquiry-card textarea,.yp-inquiry-card select,
.yp-contact-page-warm input,.yp-contact-page-warm textarea,.yp-contact-page-warm select {
  border-color:var(--yp-border-strong)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.yp-form input:focus,.yp-form textarea:focus,.yp-form select:focus,
.yp-inquiry-card input:focus,.yp-inquiry-card textarea:focus,.yp-inquiry-card select:focus {
  border-color:#f2a675!important;
  box-shadow:0 0 0 3px var(--yp-focus)!important;
  outline:0;
}

/* Product cards: one visual language everywhere */
.yp-product-card {
  border:1px solid var(--yp-border)!important;
  border-radius:var(--yp-radius-card)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.yp-product-card:hover { border-color:#d5dae2!important; box-shadow:var(--yp-shadow-hover)!important; transform:translateY(-2px); }
.yp-product-card .yp-product-image { background:#fafbfc!important; border-bottom:1px solid #eef0f3!important; }
.yp-product-card .yp-catalog-sku { color:#7c8798!important; font-size:11px!important; }
.yp-product-card .yp-catalog-sku span { font-size:10px!important; }
.yp-product-card .yp-catalog-price { color:var(--yp-orange)!important; font-size:17px!important; }
.yp-product-card .yp-catalog-price.is-contact { color:#475467!important; font-size:13px!important; }
.yp-product-card .yp-catalog-based { color:#8b95a5!important; font-size:11px!important; }
.yp-product-card .yp-catalog-moq { min-height:27px!important; border-radius:7px!important; background:#f3f5f7!important; color:#475467!important; font-size:11px!important; }
.yp-product-card .yp-card-details-link { font-size:11px!important; }
.yp-add-inquiry-btn { min-height:38px; border:1px solid #f4b083; border-radius:9px; background:#fff; color:#c65310; font-size:11px; font-weight:850; }
.yp-add-inquiry-btn:hover { border-color:var(--yp-orange); background:#fff8f3; transform:none; }
.yp-add-inquiry-btn.is-added { border-color:#cbd5e1; background:#f3f5f7; color:#344054; }

/* Catalog refinement: keep the mature V5.4 structure, align tokens */
.yp-catalog-v54 { --yp-catalog-line:var(--yp-border); --yp-catalog-soft:#f7f8fa; --yp-catalog-navy:var(--yp-navy); --yp-catalog-muted:var(--yp-muted); --yp-catalog-orange:var(--yp-orange); }
.yp-catalog-search { box-shadow:none; }
.yp-catalog-search:focus-within { box-shadow:0 0 0 3px var(--yp-focus); }
.yp-category-chip { border-radius:9px; }
.yp-category-chip.is-active { background:#fff6ef; }
.yp-catalog-sidebar { top:calc(var(--yp-header-height) + 18px); max-height:calc(100vh - var(--yp-header-height) - 36px); }
.woocommerce-pagination a,.woocommerce-pagination span { border-color:var(--yp-border-strong); border-radius:9px; }

/* Single product */
.yp-single-product > .yp-section:first-child { padding-top:48px; }
.yp-product-detail-grid { grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr); gap:50px; align-items:stretch; }
.yp-product-gallery { position:static; align-self:stretch; }
.yp-product-gallery-sticky { position:sticky; top:calc(var(--yp-header-height) + 20px); align-self:start; }
.admin-bar .yp-product-gallery-sticky { top:calc(var(--yp-header-height) + 52px); }
.yp-product-gallery-sticky > img { display:block; width:100%; height:auto; border:1px solid var(--yp-border); border-radius:var(--yp-radius-lg); background:#fafbfc; box-shadow:none; }
.yp-gallery-thumbs { gap:9px; margin-top:11px; }
.yp-gallery-thumbs img { border-color:var(--yp-border); border-radius:9px; }
.yp-gallery-thumb[aria-current="true"] { box-shadow:0 0 0 2px var(--yp-orange); }
.yp-product-video-block { margin-top:18px; padding-top:16px; border-top:1px solid var(--yp-border); }
.yp-product-video-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }
.yp-product-video-heading strong { color:var(--yp-navy); font-size:13px; }
.yp-product-video-heading span { color:#8b95a5; font-size:10.5px; }
.yp-product-video-stage { position:relative; display:flex; width:100%; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--yp-border); border-radius:var(--yp-radius-lg); background:#0f172a; }
.yp-product-video-stage--square { aspect-ratio:1 / 1; }
.yp-product-video-stage--portrait { width:min(100%, 420px); aspect-ratio:9 / 16; margin-inline:auto; }
.yp-product-video-stage video { display:block; width:100%; height:100%; object-fit:contain; background:#0f172a; }
.yp-product-video-trigger { position:relative; display:flex; width:100%; height:100%; min-height:0; padding:0; align-items:center; justify-content:center; overflow:hidden; border:0; background:#0f172a; cursor:pointer; }
.yp-product-video-trigger img { display:block; width:100%; height:100%; object-fit:contain; opacity:.8; }
.yp-product-video-play { position:absolute; display:grid; width:64px; height:64px; place-items:center; padding-left:4px; border-radius:50%; background:rgba(255,255,255,.94); color:var(--yp-navy); font-size:24px; box-shadow:0 8px 30px rgba(15,23,42,.24); }
.yp-product-video-play-label { position:absolute; bottom:18px; padding:7px 12px; border-radius:999px; background:rgba(15,23,42,.82); color:#fff; font-size:12px; font-weight:750; }
.yp-product-video-loading { position:absolute; inset:auto auto 18px 18px; padding:7px 10px; border-radius:999px; background:rgba(15,23,42,.84); color:#fff; font-size:12px; font-weight:700; pointer-events:none; }
.yp-product-video-error { position:absolute; left:14px; right:14px; bottom:58px; padding:9px 11px; border-radius:8px; background:rgba(127,29,29,.9); color:#fff; font-size:12px; line-height:1.4; text-align:center; pointer-events:none; }
.yp-product-video-trigger:focus-visible { outline:3px solid var(--yp-focus); outline-offset:-3px; }
.yp-product-video-noscript { color:#fff; }
.yp-product-summary h1 { margin:9px 0 6px; font-size:clamp(28px,2.6vw,39px); line-height:1.13; }
.yp-sku { margin:0 0 15px; color:#7c8798; font-size:12px; font-weight:750; }
.yp-product-buying-panel {
  position:relative;
  margin-top:4px;
  padding:18px;
  border:1px solid var(--yp-border);
  border-radius:var(--yp-radius-card);
  background:#fff;
}
.yp-reference-price-box { margin:0; padding:0 0 16px; border:0; border-bottom:1px solid var(--yp-border); border-radius:0; background:transparent; box-shadow:none; }
.yp-reference-price-label { color:#7c8798; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.yp-reference-price-value { margin-top:3px; color:var(--yp-orange); font-size:27px; line-height:1.1; }
.yp-reference-price-value.is-contact { color:#344054; font-size:20px; }
.yp-reference-price-based { margin-top:5px; color:#667085; font-size:11px; }
.yp-reference-price-facts { gap:7px 14px; margin-top:12px; }
.yp-reference-price-facts span { color:#475467; font-size:11px; }
.yp-reference-price-box > p { margin:10px 0 0; color:#8b95a5; font-size:10.5px; line-height:1.5; }
.yp-short-desc { margin-top:15px; font-size:14px; line-height:1.6; }
.yp-product-details-card {
    background: #fff;
    border: 1px solid var(--yp-border);
    border-radius: var(--yp-radius-card);
    box-shadow: var(--yp-shadow);
    padding: 30px 34px;
}
@media (max-width: 640px) {
    .yp-product-details-card { padding: 22px 18px; border-radius: 12px; }
}
.yp-product-overview { margin:0 0 22px; padding:0 0 20px; border-bottom:1px solid var(--yp-border); color:#344054; font-size:14px; line-height:1.7; }
.yp-product-overview > :first-child { margin-top:0; }
.yp-product-overview > :last-child { margin-bottom:0; }
.yp-product-overview h2,.yp-product-overview h3,.yp-product-overview h4 { margin-top:24px; color:var(--yp-navy); }
.yp-product-overview ul,.yp-product-overview ol { padding-left:22px; }
.yp-product-overview table { width:100%; border-collapse:collapse; }
.yp-product-overview th,.yp-product-overview td { padding:9px 10px; border-bottom:1px solid var(--yp-border); text-align:left; vertical-align:top; }
.yp-product-overview th { color:#475467; font-weight:800; }
.yp-single-inquiry-add { margin:16px 0 0; padding:14px; border:1px solid #f7d8c3; border-radius:11px; background:#fff9f5; }
.yp-single-inquiry-add-copy strong { font-size:14px; }
.yp-single-inquiry-add-copy span,.yp-single-inquiry-add>small { font-size:11px; }
.yp-single-inquiry-controls { grid-template-columns:auto 100px auto minmax(165px,auto); }
.yp-single-inquiry-controls input { border-radius:8px; }
.yp-product-secondary-actions { display:flex; align-items:center; gap:14px; margin-top:12px; }
.yp-product-secondary-actions .yp-btn { min-height:40px; }
.yp-spec-card { margin-top:18px; padding:20px; border-color:var(--yp-border); border-radius:var(--yp-radius-card); box-shadow:none; }
.yp-spec-card-heading { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:12px; }
.yp-spec-card h2 { margin:0; font-size:20px; }
.yp-spec-card-heading a { color:var(--yp-orange-dark); font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; }
.yp-spec-card-heading a:hover { text-decoration:underline; }
.yp-spec-table th,.yp-spec-table td { padding:10px 8px; border-bottom-color:#edf0f3; font-size:12px; }
.yp-spec-table th { color:#667085; }
.yp-spec-pending td { color:#667085; }
.yp-spec-status { display:inline-flex; margin-left:8px; padding:2px 6px; border-radius:999px; background:#f2f4f7; color:#667085; font-size:9px; font-weight:850; letter-spacing:.03em; text-transform:uppercase; vertical-align:middle; }
.yp-full-specifications { margin-top:34px; padding-top:28px; border-top:1px solid var(--yp-border); scroll-margin-top:calc(var(--yp-header-height) + 24px); }
.yp-full-specifications h3 { margin:0 0 7px; color:var(--yp-navy); font-size:22px; }
.yp-full-specifications-note { margin:0 0 14px; color:#667085; font-size:12px; line-height:1.55; }
.yp-spec-table--full { width:100%; max-width:920px; }
.yp-detail-extra-image img { border-color:var(--yp-border); border-radius:var(--yp-radius-card); box-shadow:none; }
.yp-buying-support-head { margin-bottom:18px; }
.yp-buying-info-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.yp-buying-info-item { border:1px solid var(--yp-border); border-radius:var(--yp-radius-card); background:#fff; }
.yp-buying-info-item summary { position:relative; min-height:120px; padding:18px 30px 18px 18px; cursor:pointer; list-style:none; }
.yp-buying-info-item summary::-webkit-details-marker { display:none; }
.yp-buying-info-item summary::after { content:"+"; position:absolute; right:14px; top:14px; color:#98a2b3; font-size:18px; }
.yp-buying-info-item[open] summary::after { content:"−"; color:var(--yp-orange); }
.yp-buying-info-item summary span { display:block; margin-bottom:8px; color:var(--yp-orange); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.yp-buying-info-item summary strong { display:block; color:var(--yp-navy); font-size:13px; line-height:1.45; }
.yp-buying-status { display:inline-flex; margin-top:10px; padding:3px 7px; border-radius:999px; background:#f2f4f7; color:#667085; font-size:9px; font-style:normal; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.yp-buying-info-item--yes .yp-buying-status { background:#ecfdf3; color:#027a48; }
.yp-buying-info-item--no .yp-buying-status { background:#fff1f3; color:#c01048; }
.yp-buying-info-item p { margin:-8px 18px 18px; font-size:11.5px; line-height:1.6; }
.yp-single-product #inquiry .yp-contact-grid { align-items:start; }

/* Inquiry List */
.yp-inquiry-list-hero { padding:46px 0 30px; border-bottom:1px solid var(--yp-border); background:linear-gradient(180deg,#fafbfc,#fff); }
.yp-inquiry-list-hero h1 { margin:8px 0 9px; font-size:clamp(34px,4.4vw,52px); }
.yp-inquiry-list-hero .yp-lead { font-size:15px; }
.yp-inquiry-list-section { padding:28px 0 46px; }
.yp-inquiry-progress {
  position:sticky;
  top:calc(var(--yp-header-height) + 10px);
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid var(--yp-border);
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 7px 22px rgba(15,23,42,.06);
  backdrop-filter:blur(10px);
}
.yp-inquiry-progress[hidden] { display:none!important; }
.yp-inquiry-progress-copy { display:flex; flex-direction:column; gap:2px; }
.yp-inquiry-progress-copy strong { color:var(--yp-navy); font-size:13px; }
.yp-inquiry-progress-copy > span { color:#7c8798; font-size:11px; font-weight:700; }
.yp-inquiry-progress .yp-btn { min-height:38px; }
.js-yp-inquiry-progress-action.has-missing { border-color:#d7dce4; background:#fff; color:#344054; }
.yp-inquiry-list-root { border-color:var(--yp-border); border-radius:var(--yp-radius-card); box-shadow:none; }
.yp-inquiry-list-head { border-bottom-color:#e9edf2; background:#f8f9fb; }
.yp-inquiry-item { border-bottom-color:#edf0f3; }
.yp-inquiry-item-image { border-color:#edf0f3; border-radius:10px; }
.yp-inquiry-item-info h3 { font-size:13px; }
.yp-inquiry-item-pricing strong { color:var(--yp-orange); }
.yp-inquiry-item-qty input { border-radius:8px; }
.yp-inquiry-list-toolbar .yp-btn { border-radius:9px; }
.yp-inquiry-final-section { padding:54px 0 72px; }
.yp-inquiry-final-copy { top:calc(var(--yp-header-height) + 24px); }
.yp-inquiry-final-copy h2 { font-size:clamp(28px,3.5vw,40px); }
.yp-inquiry-list-form-card { padding:22px; }
.yp-inquiry-submitted { border-radius:var(--yp-radius-card); box-shadow:none; }
.yp-inquiry-mobile-bar { display:none; }

/* Footer */
.yp-footer { padding:52px 0 24px; border-top:1px solid var(--yp-border); background:#fbfcfd; }
.yp-footer-grid { gap:38px; }
.yp-footer-logo img { height:50px; }
.yp-footer h4 { margin-bottom:12px; font-size:13px; }
.yp-footer p,.yp-footer-menu a { font-size:12px; }
.yp-footer-menu { gap:8px; }
.yp-footer-menu a { color:#667085; font-weight:700; }
.yp-footer-menu a:hover { color:#b94708; }
.yp-footer-bottom { margin-top:34px; padding-top:18px; border-top-color:var(--yp-border); }
.yp-footer-bottom p { font-size:11px; }

/* Responsive */
@media (max-width: 1080px) {
  :root { --yp-section-space: 60px; }
  .yp-home-trust-photos { grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr); }
  .yp-home-trust-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yp-faq-home-layout { grid-template-columns:1fr; gap:28px; }
  .yp-faq-home-copy { position:static; }
  .yp-buying-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yp-product-buying-panel { position:static; }
}

@media (max-width: 980px) {
  :root { --yp-header-height: 70px; }
  .yp-container { width:min(100% - 32px,1200px); }
  .yp-logo-image { height:44px; }
  .yp-header-inner { gap:10px; }
  .yp-inquiry-list-link { min-height:38px; padding:0 9px; }
  .yp-menu-toggle { border-radius:9px; }
  .yp-header-quote { min-height:40px; border-radius:9px; }
  .yp-product-detail-grid { grid-template-columns:1fr; gap:30px; }
  .yp-product-gallery { position:static; }
  .yp-product-gallery-sticky { position:static; }
  .yp-final-cta-panel { grid-template-columns:1fr; }
  .yp-final-cta-actions { display:flex; min-width:0; }
  .yp-final-cta-actions .yp-btn { width:auto; }
}

@media (max-width: 720px) {
  :root { --yp-section-space: 46px; }
  body { font-size:14px; }
  .yp-container { width:calc(100% - 28px); }
  .yp-section-head { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:20px; }
  .yp-section-head h2 { font-size:28px; }
  .yp-kicker { font-size:10px; }
  .yp-btn { min-height:42px; padding-inline:15px; font-size:12px; }

  .yp-home-slide,.yp-home-slide img { min-height:0; height:clamp(320px,88vw,400px); }
  .yp-slider-control { width:36px; height:36px; font-size:17px; }
  .yp-slider-prev { left:10px; }.yp-slider-next { right:10px; }
  .yp-banner-dots { bottom:10px; }

  .yp-home-intro { padding:40px 0 38px; }
  .yp-home-intro h1 { font-size:32px; }
  .yp-home-intro .yp-lead { font-size:14px; }
  .yp-home-cta { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .yp-home-cta .yp-btn { width:100%; padding-inline:10px; }
  .yp-buyer-entry { text-align:left; }
  .yp-home-intro h1,.yp-home-intro .yp-lead { margin-inline:0; }
  .yp-home-cta { justify-content:stretch; }
  .yp-buyer-entry-help { margin-top:13px; }
  .yp-buyer-entry-steps { flex-direction:column; align-items:stretch; gap:0; overflow:visible; margin-top:20px; padding:0; }
  .yp-buyer-entry-steps li { flex:0 0 auto; width:100%; min-height:38px; padding:5px 0; }
  .yp-buyer-entry-steps li + li::before { display:none; content:none; }
  .yp-buyer-entry-steps strong { font-size:12px; }

  .yp-home-categories { padding-top:44px; }
  #products .yp-category-showcase-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
  #products .yp-category-showcase-card { min-height:108px!important; aspect-ratio:1.35/1!important; border-radius:12px!important; }
  #products .yp-category-showcase-card span { top:12px!important; left:12px!important; max-width:75%!important; font-size:14px!important; }
  .yp-category-showcase-head h2 { font-size:28px; }
  .yp-category-showcase-head p:not(.yp-kicker) { font-size:13px; }

  .yp-product-card .yp-product-card-body { padding:11px 10px 12px!important; }
  .yp-product-card h3 { min-height:40px!important; font-size:13.5px!important; line-height:1.42!important; }
  .yp-product-card .yp-catalog-sku { font-size:11px!important; }
  .yp-product-card .yp-catalog-sku span { font-size:10px!important; }
  .yp-product-card .yp-catalog-price { font-size:16px!important; }
  .yp-product-card .yp-catalog-price.is-contact { font-size:12px!important; }
  .yp-product-card .yp-catalog-based { font-size:11px!important; }
  .yp-product-card .yp-catalog-moq { max-width:100%!important; min-height:26px!important; font-size:11px!important; }
  .yp-product-card .yp-card-details-link { font-size:11px!important; }
  .yp-add-inquiry-btn { min-height:38px!important; font-size:11px!important; }

  .yp-home-oem .yp-oem-grid { gap:24px; }
  .yp-home-oem h2 { font-size:29px; }

  .yp-home-trust-head { margin-bottom:22px; text-align:left; }
  .yp-home-trust-head h2 { font-size:28px; }
  .yp-home-trust-head p:last-child { margin-inline:0; font-size:13px; }
  .yp-home-trust-photos { grid-template-columns:1fr; gap:12px; }
  .yp-home-trust-photo-office .yp-home-trust-photo-media { aspect-ratio:16/10; }
  .yp-home-trust-photo-team .yp-home-trust-photo-media { aspect-ratio:16/9; }
  .yp-home-trust-photo figcaption { padding:13px 14px 15px; }
  .yp-home-trust-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
  .yp-home-trust-capability { display:block; min-height:158px; padding:14px; }
  .yp-home-trust-icon { margin-bottom:10px; }
  .yp-home-trust-more { margin-top:16px; text-align:left; }

  .yp-home-order-visual-head { margin-bottom:26px; text-align:left; }
  .yp-home-order-visual-head h2 { font-size:28px; }
  .yp-home-order-visual-head p:last-child { margin-inline:0; font-size:13px; }
  .yp-home-order-visual { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
  .yp-home-order-visual-step:not(:last-child)::after { display:none; }
  .yp-home-order-step-number { width:32px; height:32px; margin-bottom:9px; font-size:12px; box-shadow:0 0 0 5px var(--yp-cool-mist); }
  .yp-home-order-visual-step h3 { margin-top:11px; font-size:14px; }
  .yp-home-order-visual-step p { font-size:11px; }
  .yp-home-order-process .yp-order-cta { margin-top:24px; }

  .yp-faq-home-layout { gap:22px; }
  .yp-faq-home-copy h2 { font-size:28px; }
  .yp-faq-item summary { font-size:13px; }
  .yp-faq-item p { font-size:12px; }

  .yp-home-final-cta { padding-top:42px; }
  .yp-final-cta-panel { gap:22px; padding:24px 20px; }
  .yp-final-cta-panel h2 { font-size:28px; }
  .yp-final-cta-actions { display:grid; grid-template-columns:1fr 1fr; }
  .yp-final-cta-actions .yp-btn { width:100%; padding-inline:8px; }

  .yp-page-hero { padding:38px 0; }
  .yp-page-hero h1 { font-size:34px; }
  .yp-oem-case-grid { grid-template-columns:1fr 1fr; }

  .yp-single-product > .yp-section:first-child { padding-top:30px; }
  .yp-product-summary h1 { font-size:27px; }
  .yp-product-buying-panel { padding:14px; }
  .yp-reference-price-value { font-size:24px; }
  .yp-single-inquiry-controls { grid-template-columns:minmax(0,1fr) auto; }
  .yp-product-secondary-actions { flex-wrap:wrap; }
  .yp-buying-info-grid { grid-template-columns:1fr; }
  .yp-buying-info-item summary { min-height:0; padding:16px 34px 16px 16px; }

  .yp-inquiry-list-hero { padding:36px 0 24px; }
  .yp-inquiry-list-hero h1 { font-size:34px; }
  .yp-inquiry-list-section { padding-top:18px; }
  .yp-inquiry-progress { position:static; padding:11px 12px; }
  .yp-inquiry-progress .yp-btn { display:none; }
  .yp-inquiry-list-root { border:0; background:transparent; }
  .yp-inquiry-item { border-radius:12px; box-shadow:none; }
  .yp-inquiry-list-toolbar { grid-template-columns:1fr 1fr; margin-bottom:72px; }
  .yp-inquiry-final-section { padding-bottom:90px; }
  .yp-inquiry-mobile-bar {
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom, 0px));
    z-index:80;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 11px;
    border:1px solid #dfe3e9;
    border-radius:12px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 30px rgba(15,23,42,.16);
    backdrop-filter:blur(12px);
  }
  .yp-inquiry-mobile-bar[hidden] { display:none!important; }
  .yp-inquiry-mobile-bar > span { min-width:0; color:#667085; font-size:10.5px; font-weight:750; }
  .yp-inquiry-mobile-bar > span strong { color:var(--yp-navy); }
  .yp-inquiry-mobile-bar a { flex:0 0 auto; min-height:38px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:var(--yp-orange); color:#fff; font-size:11px; font-weight:900; }
  .yp-inquiry-mobile-bar a.has-missing { background:#344054; }

  .yp-footer { padding-top:42px; }
  .yp-footer-grid { gap:28px; }
}

@media (max-width: 460px) {
  .yp-home-cta { grid-template-columns:1fr; }
  .yp-home-trust-capability { min-height:150px; padding:13px 12px; }
  .yp-home-trust-capability h3 { font-size:13px; }
  .yp-home-trust-capability p { font-size:10.8px; }
  .yp-home-trust-icon { width:34px; height:34px; }
  .yp-home-trust-icon svg { width:19px; height:19px; }
  .yp-home-order-visual { gap:20px 10px; }
  .yp-home-order-step-media { border-radius:10px; }
  .yp-home-order-visual-step h3 { font-size:13px; }
  .yp-home-order-visual-step p { font-size:10.5px; line-height:1.45; }
  .yp-oem-case-grid { grid-template-columns:1fr; }
  .yp-final-cta-actions { grid-template-columns:1fr; }
  .yp-inquiry-list-toolbar { grid-template-columns:1fr; }
  .yp-inquiry-list-toolbar .yp-btn:last-child { grid-column:auto; }
}

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

/* Pages without a hero image should not reserve an empty second column. */
.yp-page-hero-grid:not(.has-visual) { grid-template-columns:minmax(0,860px); }
.yp-faq-page-accordion { width:min(900px,100%); }

@media (max-width: 720px) {
  /* Mobile hero assets are deliberately wide-format; preserve their full artwork. */
  .yp-home-slide { height:auto!important; min-height:0!important; }
  .yp-home-slide picture img,
  .yp-home-slide img { width:100%!important; height:auto!important; aspect-ratio:960/370!important; object-fit:contain!important; background:#f8f9fb!important; }
  #products .yp-category-showcase-card { height:110px!important; min-height:110px!important; }
  #products .yp-category-showcase-card img { height:110px!important; min-height:110px!important; }
  #products .yp-category-showcase-card span,
  #products .yp-category-showcase-grid .yp-category-showcase-card span { max-width:72%!important; font-size:14px!important; }
}
@media (max-width: 460px) {
  #products .yp-category-showcase-card { height:104px!important; min-height:104px!important; }
  #products .yp-category-showcase-card img { height:104px!important; min-height:104px!important; }
  #products .yp-category-showcase-card span,
  #products .yp-category-showcase-grid .yp-category-showcase-card span { max-width:68%!important; font-size:13px!important; }
}

@media (max-width: 720px) {
  .yp-product-card .yp-product-card-footer { flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:6px!important; }
  .yp-product-card .yp-catalog-moq { max-width:58%!important; }
}


/* ================================================================
   V5.8 Product Discovery & Buyer Guidance
   ================================================================ */

/* Buyer Help dropdown: compact on desktop, expanded and obvious in mobile nav. */
.yp-menu-has-children { position:relative; }
.yp-menu-has-children > a { display:inline-flex; align-items:center; gap:5px; }
.yp-menu-has-children > a::after { content:"⌄"; color:#98a2b3; font-size:11px; line-height:1; }
.yp-buyer-help-submenu {
  position:absolute; top:calc(100% + 14px); left:50%; z-index:120;
  min-width:210px; margin:0; padding:8px; list-style:none;
  border:1px solid var(--yp-border); border-radius:12px; background:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.12);
  opacity:0; visibility:hidden; transform:translate(-50%,6px); transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.yp-buyer-help-submenu::before { content:""; position:absolute; left:0; right:0; top:-15px; height:15px; }
.yp-menu-has-children:hover > .yp-buyer-help-submenu,
.yp-menu-has-children:focus-within > .yp-buyer-help-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.yp-buyer-help-submenu li { margin:0!important; padding:0!important; }
.yp-buyer-help-submenu a { display:block!important; padding:10px 11px!important; border-radius:8px; color:#344054!important; font-size:12px!important; font-weight:750!important; white-space:nowrap; }
.yp-buyer-help-submenu a:hover,.yp-buyer-help-submenu a:focus { background:#f7f8fa; color:var(--yp-orange-dark)!important; }

/* Dynamic category card names come directly from WooCommerce. */

/* Buyer guide */
.yp-how-to-order-managed { max-width:1060px; }
.yp-guide-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:28px 0 34px; }
.yp-guide-steps article { display:grid; grid-template-columns:42px 1fr; gap:13px; padding:20px; border:1px solid var(--yp-border); border-radius:14px; background:#fff; }
.yp-guide-steps article > b { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:var(--yp-orange-soft); color:var(--yp-orange-dark); font-size:14px; }
.yp-guide-steps h3 { margin:1px 0 5px; color:var(--yp-navy); font-size:16px; }
.yp-guide-steps p { margin:0; font-size:12.5px; line-height:1.65; }
.yp-guide-concepts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 26px; }
.yp-guide-concepts > div { padding:17px; border:1px solid var(--yp-border); border-radius:12px; background:#f8f9fb; }
.yp-guide-concepts strong { display:block; margin-bottom:6px; color:var(--yp-navy); font-size:13px; }
.yp-guide-concepts p { margin:0; font-size:11.5px; line-height:1.6; }
.yp-guide-callout { margin:0 0 24px; padding:18px 20px; border-left:3px solid var(--yp-orange); border-radius:0 12px 12px 0; background:#fff8f2; }
.yp-guide-callout strong { color:var(--yp-navy); }
.yp-guide-callout p { margin:5px 0 0; }

/* Full buyer FAQ: grouped topics are easier to scan than one undifferentiated list. */
.yp-faq-topic-nav { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 30px; }
.yp-faq-topic-nav a { padding:8px 11px; border:1px solid var(--yp-border); border-radius:9px; background:#fff; color:#475467; font-size:11.5px; font-weight:800; }
.yp-faq-topic-nav a:hover { border-color:#f2b98d; color:var(--yp-orange-dark); }
.yp-faq-topic { scroll-margin-top:calc(var(--yp-header-height) + 20px); margin:0 0 34px; }
.yp-faq-topic > h3 { margin:0 0 10px; color:var(--yp-navy); font-size:19px; letter-spacing:-.02em; }
.yp-faq-topic .yp-faq-page-accordion { width:100%; }

@media (max-width: 920px) {
  .yp-guide-concepts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .yp-menu-has-children { width:100%; }
  .yp-menu-has-children > a::after { margin-left:auto; }
  .yp-buyer-help-submenu,
  .yp-menu-has-children:hover > .yp-buyer-help-submenu,
  .yp-menu-has-children:focus-within > .yp-buyer-help-submenu {
    position:static; min-width:0; width:100%; margin:5px 0 0; padding:0 0 0 12px;
    border:0; border-left:1px solid #e4e7ec; border-radius:0; background:transparent; box-shadow:none;
    opacity:1; visibility:visible; transform:none;
  }
  .yp-buyer-help-submenu::before { display:none; }
  .yp-buyer-help-submenu a { padding:8px 10px!important; font-size:11.5px!important; }
}
@media (max-width: 680px) {
  .yp-guide-steps { grid-template-columns:1fr; }
  .yp-guide-concepts { grid-template-columns:1fr; }
  .yp-faq-topic-nav { gap:6px; }
}

.yp-catalog-help-link,.yp-inquiry-help-link { display:inline-flex; margin-top:8px; color:var(--yp-orange-dark); font-size:11.5px; font-weight:800; }
.yp-catalog-help-link:hover,.yp-inquiry-help-link:hover { text-decoration:underline; }
.yp-inquiry-list-hero-actions .yp-inquiry-help-link { margin:0; align-self:center; }

/* ================================================================
   V5.9 Brand Visual System
   Stronger brand hierarchy without changing V5.8 information flow.
   ================================================================ */

:root {
  --yp-orange: #f26822;
  --yp-orange-dark: #c94d0c;
  --yp-orange-action-hover: #a83f08;
  --yp-orange-soft: #fff1e6;
  --yp-warm-sand: #fff7f0;
  --yp-warm-sand-strong: #ffeadb;
  --yp-navy: #12233f;
  --yp-navy-2: #18345a;
  --yp-navy-deep: #0b182b;
  --yp-cool-mist: #f3f6fa;
  --yp-cool-mist-2: #eaf0f6;
  --yp-text: #25324a;
  --yp-muted: #667085;
  --yp-subtle: #8a96a8;
  --yp-border: #dee4ec;
  --yp-border-strong: #ccd5e1;
  --yp-focus: rgba(242,104,34,.18);
  --yp-shadow: 0 10px 28px rgba(18,35,63,.065);
  --yp-shadow-hover: 0 16px 38px rgba(18,35,63,.11);
}

::selection { background: var(--yp-warm-sand-strong); color: var(--yp-navy); }
body { color: var(--yp-text); }
.yp-light { background: var(--yp-cool-mist); }
.yp-kicker, .yp-proof-card > span { color: var(--yp-orange-dark); }

/* Header: keep the light navigation, but give it a recognizable brand edge. */
.yp-header {
  border-top: 3px solid var(--yp-orange);
  border-bottom-color: rgba(204,213,225,.78);
  background: rgba(255,255,255,.96);
}
.yp-menu a { color: var(--yp-navy); }
.yp-menu .current-menu-item > a,
.yp-menu .current-menu-ancestor > a,
.yp-menu a[aria-current="page"] { color: var(--yp-orange-dark); }
.yp-menu .current-menu-item > a::after,
.yp-menu .current-menu-ancestor > a::after { color: var(--yp-orange); }
.yp-inquiry-list-link.has-items {
  border-color: #f5b98f;
  background: var(--yp-orange-soft);
  color: var(--yp-orange-dark);
}
.yp-inquiry-list-count.has-items { background:var(--yp-orange-dark); color:#fff; }
.yp-header-quote { box-shadow: 0 7px 18px rgba(242,104,34,.16); }
.yp-header-quote:hover { box-shadow: 0 8px 20px rgba(201,77,12,.18); }

/* Home: create deliberate color rhythm instead of a long white/gray canvas. */
.yp-home-hero-carousel { background: #f6eee7; }
.yp-home-intro { background:#fff; }
.yp-home-intro .yp-lead { color:#5d6a7d; }
.yp-home-categories { background:#fff; }
.yp-category-showcase-card {
  border-color: #e2e6eb;
  background: #fbf7f3;
}
.yp-category-showcase-card:hover { border-color:#f0b98f; }
.yp-category-showcase-card::after,
#products .yp-category-showcase-card::after {
  background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.52) 34%,rgba(255,255,255,.04) 72%)!important;
}

/* Product cards: stronger commercial hierarchy while keeping catalog density. */
.yp-product-card { border-color:var(--yp-border)!important; }
.yp-product-card:hover { border-color:#cfd8e4!important; }
.yp-product-card .yp-product-image { background:linear-gradient(180deg,#fbfcfd,#f6f8fa)!important; }
.yp-product-card .yp-catalog-price { color:var(--yp-orange-dark)!important; }
.yp-product-card .yp-catalog-moq {
  background:#eef3f8!important;
  color:#41526a!important;
}
.yp-product-card .yp-card-details-link { color:#5a6d87!important; }
.yp-product-card .yp-card-details-link:hover { color:var(--yp-navy)!important; }
.yp-add-inquiry-btn {
  border-color:#f3c39f;
  background:var(--yp-orange-soft);
  color:var(--yp-orange-dark);
}
.yp-add-inquiry-btn:hover {
  border-color:var(--yp-orange-dark);
  background:var(--yp-orange-dark);
  color:#fff;
}
.yp-add-inquiry-btn.is-added {
  border-color:#bfc9d7;
  background:#edf2f7;
  color:#34465e;
}

/* OEM becomes the second strong visual anchor on the homepage. */
.yp-home-oem {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--yp-navy-deep) 0%,var(--yp-navy) 54%,#1a3b64 100%);
}
.yp-home-oem::before {
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-170px;
  top:-190px;
  border-radius:50%;
  background:rgba(242,104,34,.10);
  pointer-events:none;
}
.yp-home-oem .yp-container { position:relative; z-index:1; }
.yp-home-oem h2 { color:#fff; }
.yp-home-oem p:not(.yp-kicker) { color:#c9d4e3; }
.yp-home-oem .yp-kicker { color:#ff9a5d; }
.yp-home-oem .yp-oem-photo img {
  border-color:rgba(255,255,255,.18);
  box-shadow:0 22px 50px rgba(0,0,0,.20);
}
.yp-home-oem .yp-tags span {
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#eef4fb;
}
.yp-home-oem .yp-btn-primary {
  border-color:var(--yp-orange-dark);
  background:var(--yp-orange-dark);
  color:#fff;
}
.yp-home-oem .yp-btn-outline {
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.07);
  color:#fff;
}
.yp-home-oem .yp-btn-outline:hover {
  border-color:#fff;
  background:#fff;
  color:var(--yp-navy);
}

/* Homepage company proof: real operating context first, capabilities second. */
.yp-home-trust {
  background:#fff;
}
.yp-home-trust-head {
  width:min(760px,100%);
  margin:0 auto 30px;
  text-align:center;
}
.yp-home-trust-head h2 {
  margin:7px 0 10px;
  color:var(--yp-navy);
  font-size:36px;
  line-height:1.16;
  letter-spacing:-.025em;
}
.yp-home-trust-head p:last-child {
  max-width:700px;
  margin:0 auto;
  color:#5d6a7d;
}
.yp-home-trust-photos {
  display:grid;
  grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);
  gap:18px;
  align-items:stretch;
}
.yp-home-trust-photo {
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid var(--yp-border);
  border-radius:var(--yp-radius-card);
  background:#fff;
}
.yp-home-trust-photo-media {
  overflow:hidden;
  background:#eef2f6;
}
.yp-home-trust-photo-office .yp-home-trust-photo-media { aspect-ratio:16/9; }
.yp-home-trust-photo-team .yp-home-trust-photo-media { aspect-ratio:16/10; }
.yp-home-trust-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.yp-home-trust-photo-office img { object-position:center 49%; }
.yp-home-trust-photo-team img { object-position:center 48%; }
.yp-home-trust-photo figcaption {
  display:grid;
  gap:3px;
  padding:15px 17px 17px;
}
.yp-home-trust-photo figcaption strong {
  color:var(--yp-navy);
  font-size:15px;
  line-height:1.35;
}
.yp-home-trust-photo figcaption span {
  color:var(--yp-muted);
  font-size:12px;
  line-height:1.55;
}
.yp-home-trust-capabilities {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.yp-home-trust-capability {
  display:flex;
  gap:12px;
  min-width:0;
  min-height:142px;
  padding:18px 16px;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#f8fafc;
}
.yp-home-trust-icon {
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:var(--yp-orange-soft);
  color:var(--yp-orange-dark);
}
.yp-home-trust-icon svg { width:21px; height:21px; }
.yp-home-trust-capability h3 {
  margin:1px 0 5px;
  color:var(--yp-navy);
  font-size:14px;
  line-height:1.35;
}
.yp-home-trust-capability p {
  margin:0;
  color:#65748a;
  font-size:11.5px;
  line-height:1.55;
}
.yp-home-trust-more {
  margin-top:20px;
  text-align:center;
}

/* Homepage order process: visual four-step path from sourcing to shipment. */
.yp-home-order-process {
  background:var(--yp-cool-mist);
  border-block-color:#dce5ef;
}
.yp-home-order-visual-head {
  width:min(760px,100%);
  margin:0 auto 34px;
}
.yp-home-order-visual-head h2 {
  margin:7px 0 9px;
  color:var(--yp-navy);
  font-size:36px;
  line-height:1.16;
  letter-spacing:-.025em;
  text-transform:none;
}
.yp-home-order-visual-head p:last-child {
  max-width:670px;
  margin:0 auto;
  color:#5d6a7d;
}
.yp-home-order-visual {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  margin:0;
  padding:0;
  list-style:none;
}
.yp-home-order-visual-step {
  position:relative;
  min-width:0;
  text-align:center;
}
.yp-home-order-visual-step:not(:last-child)::after {
  content:"";
  position:absolute;
  top:18px;
  left:calc(50% + 24px);
  width:calc(100% - 18px);
  border-top:1px dashed #aeb9c8;
  z-index:0;
}
.yp-home-order-step-number {
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  margin-bottom:12px;
  border-radius:50%;
  background:var(--yp-navy);
  color:#fff;
  font-size:14px;
  font-weight:900;
  box-shadow:0 0 0 7px var(--yp-cool-mist);
}
.yp-home-order-step-media {
  overflow:hidden;
  aspect-ratio:16/10;
  border:1px solid #dce4ed;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 20px rgba(18,35,63,.06);
}
.yp-home-order-step-media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.yp-home-order-visual-step h3 {
  margin:15px 0 5px;
  color:var(--yp-navy);
  font-size:16px;
  line-height:1.35;
}
.yp-home-order-visual-step p {
  max-width:220px;
  margin:0 auto;
  color:#65748a;
  font-size:12px;
  line-height:1.55;
}
.yp-home-order-process .yp-order-cta { margin-top:30px; }

/* FAQ stays calm; interaction color provides the brand cue. */
.yp-home-faq { background:#fff; }
.yp-faq-item summary:hover { color:var(--yp-orange-dark); }
.yp-faq-item[open] { border-bottom-color:#f2c9ab; }

/* Final quote CTA: clear conversion climax before the footer. */
.yp-home-final-cta { background:linear-gradient(180deg,#fff 0%,var(--yp-cool-mist) 100%); }
.yp-final-cta-panel {
  border-color:transparent;
  background:linear-gradient(120deg,var(--yp-navy-deep),var(--yp-navy-2));
  box-shadow:0 22px 56px rgba(18,35,63,.16);
}
.yp-final-cta-panel .yp-kicker { color:#ff9a5d; }
.yp-final-cta-panel h2 { color:#fff; }
.yp-final-cta-panel p { color:#c9d4e3; }
.yp-final-cta-facts { color:#dce5f0; }
.yp-final-cta-facts span::before { color:#ffad78; }
.yp-final-cta-panel .yp-btn-outline {
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.yp-final-cta-panel .yp-btn-outline:hover { border-color:#fff; background:#fff; color:var(--yp-navy); }

/* Catalog receives restrained brand accents, not a second redesign. */
.yp-catalog-v54 .yp-catalog-intro {
  border-color:#dfe6ef;
  background:linear-gradient(135deg,#f8fafc 0%,#fff 65%);
}
.yp-catalog-eyebrow { color:var(--yp-orange-dark)!important; }
.yp-category-chip.is-active,
.yp-category-chip-merch.is-active {
  border-color:#f2b488!important;
  background:var(--yp-orange-soft)!important;
  color:var(--yp-orange-dark)!important;
}
.yp-reference-note {
  border-color:#ead8ca!important;
  background:#fff9f4!important;
}
.yp-reference-note-icon { background:var(--yp-orange-soft)!important; color:var(--yp-orange-dark)!important; }
.yp-catalog-sidebar { border-color:#dce4ed!important; }

/* Product detail: make the buying area visually distinct from specification content. */
.yp-product-buying-panel {
  border-color:#efd8c6;
  background:linear-gradient(180deg,#fffaf6 0%,var(--yp-warm-sand) 100%);
  box-shadow:0 12px 30px rgba(112,68,35,.055);
}
.yp-reference-price-box { border-bottom-color:#edd8c8; }
.yp-reference-price-label { color:#8c6d59; }
.yp-reference-price-value { color:var(--yp-orange-dark); }
.yp-single-inquiry-add {
  border-color:#efd1ba;
  background:#fff;
}
.yp-buying-info-item:hover { border-color:#ccd7e4; }
.yp-buying-info-item summary span { color:var(--yp-orange-dark); }

/* Inquiry List: turn progress into a clear procurement status system. */
.yp-inquiry-list-hero {
  background:linear-gradient(135deg,#f8fafc 0%,#fff 72%);
}
.yp-inquiry-list-section { background:var(--yp-cool-mist); }
.yp-inquiry-progress {
  border-color:#ccd8e6;
  border-left:4px solid var(--yp-orange);
  background:rgba(255,255,255,.97);
}
.yp-inquiry-progress-copy strong { color:var(--yp-navy); }
.js-yp-inquiry-progress-complete { color:#198754; font-weight:900; }
.js-yp-inquiry-progress-missing { color:var(--yp-orange-dark); font-weight:900; }
.js-yp-inquiry-progress-action.has-missing {
  border-color:#d8a37d;
  background:var(--yp-orange-soft);
  color:var(--yp-orange-dark);
}
.yp-inquiry-list-root { background:#fff; }
.yp-inquiry-list-head { background:#edf3f8; color:#52627a; }
.yp-inquiry-item-qty input:focus { border-color:#f0a46f; box-shadow:0 0 0 3px var(--yp-focus); }
.yp-inquiry-item-qty input.is-below-moq,
.yp-inquiry-item-qty input.is-missing { border-color:#f2a66f; background:#fffaf6; }
.yp-inquiry-moq-warning { color:#a4450d!important; background:#fff2e8; border-radius:7px; padding:5px 7px; }
.yp-inquiry-item.is-unavailable { background:#fffaf5; }
.yp-inquiry-item.is-unavailable { box-shadow:inset 3px 0 0 #98a2b3; }
.yp-inquiry-availability-note { color:#8c4a20!important; }
.yp-inquiry-final-section { background:#fff; }
.yp-inquiry-final-points span { color:#52647d; }
.yp-inquiry-list-form-card { border-top:3px solid var(--yp-orange); }

/* Buyer-guide and FAQ pages share the brand surface vocabulary. */
.yp-page-hero { background:linear-gradient(135deg,var(--yp-cool-mist),#fff 68%); }
.yp-guide-steps article { border-color:#dce4ed; }
.yp-guide-steps article:nth-child(1),
.yp-guide-steps article:nth-child(4) { background:#fffaf6; border-color:#f0dfd2; }
.yp-guide-concepts > div { background:var(--yp-cool-mist); border-color:#dce4ed; }
.yp-guide-callout { background:var(--yp-warm-sand); }
.yp-faq-topic-nav a:hover,
.yp-faq-topic-nav a:focus { background:var(--yp-orange-soft); }

/* Footer: a strong brand ending rather than another pale section. */
.yp-footer {
  border-top:0;
  background:var(--yp-navy-deep);
  color:#d8e2ef;
}
.yp-footer-grid { border:0; }
.yp-footer-logo {
  display:inline-flex;
  padding:8px 11px;
  border-radius:10px;
  background:#fff;
}
.yp-footer-logo img { height:45px; }
.yp-footer h4 { color:#fff; }
.yp-footer p { color:#aebdd0; }
.yp-footer-menu a { color:#c3cfdd; }
.yp-footer-menu a:hover { color:#ff9a5d; }
.yp-footer-bottom { border-top-color:rgba(255,255,255,.14); }
.yp-footer-bottom p { color:#8fa2ba; }

/* General buttons: stronger primary action and calmer secondary action. */
.yp-btn-primary,
.yp-header-quote {
  background:var(--yp-orange-dark);
  border-color:var(--yp-orange-dark);
}
.yp-btn-primary:hover,
.yp-header-quote:hover {
  background:var(--yp-orange-action-hover);
  border-color:var(--yp-orange-action-hover);
}
.yp-btn-outline:hover {
  border-color:#efb389;
  background:var(--yp-orange-soft);
  color:var(--yp-orange-dark);
}
.yp-text-link { color:var(--yp-navy-2); }
.yp-text-link:hover { color:var(--yp-orange-dark); }

@media (max-width:820px) {
  .yp-header { border-top-width:2px; }
  .yp-buyer-help-submenu a:hover,.yp-buyer-help-submenu a:focus { background:var(--yp-orange-soft); }
  .yp-home-oem::before { width:300px; height:300px; right:-150px; top:-140px; }
}

@media (max-width:720px) {
  .yp-home-oem .yp-oem-grid { gap:30px; }
  .yp-final-cta-panel { padding:27px 22px; }
  .yp-inquiry-mobile-bar {
    border-color:rgba(255,255,255,.13);
    background:rgba(11,24,43,.96);
  }
  .yp-inquiry-mobile-bar > span { color:#b9c7d8; }
  .yp-inquiry-mobile-bar > span strong { color:#fff; }
  .yp-inquiry-mobile-bar a { background:var(--yp-orange-dark); color:#fff; }
  .yp-inquiry-mobile-bar a.has-missing { background:#fff; color:var(--yp-navy); }
  .yp-footer-logo { padding:7px 9px; }
}

/* =========================================================
   V5.10 Merchandising + catalog navigation polish
   ========================================================= */

/* Homepage category titles are dynamic UI labels. Keep long real category names
   on one line and let the approved artwork preserve a clean text-safe zone. */
#products .yp-category-showcase-card > span,
#products .yp-category-showcase-grid .yp-category-showcase-card > span {
  display:block!important;
  max-width:calc(100% - 30px)!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:16px!important;
  line-height:1.15!important;
  letter-spacing:-.15px;
}

/* Desktop catalog: give the real WooCommerce category taxonomy enough room so
   long first- and second-level category names remain readable on one line. */
@media (min-width:1281px) {
  .yp-catalog-v54 .yp-shop-layout {
    grid-template-columns:286px minmax(0,1fr)!important;
    gap:26px!important;
  }
}
@media (min-width:1025px) and (max-width:1280px) {
  .yp-catalog-v54 .yp-shop-layout {
    grid-template-columns:270px minmax(0,1fr)!important;
    gap:22px!important;
  }
}
@media (min-width:1025px) {
  .yp-catalog-sidebar .yp-category-item > a {
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

@media (max-width:720px) {
  #products .yp-category-showcase-card > span,
  #products .yp-category-showcase-grid .yp-category-showcase-card > span {
    max-width:calc(100% - 20px)!important;
    font-size:11.5px!important;
    letter-spacing:-.3px;
  }
}
@media (max-width:390px) {
  #products .yp-category-showcase-card > span,
  #products .yp-category-showcase-grid .yp-category-showcase-card > span {
    font-size:10.5px!important;
  }
}


/* =========================================================
   V5.10.1 Merchandising consistency polish
   ========================================================= */
.yp-product-availability.is-unavailable {
  margin:7px 0 2px;
  padding:6px 8px;
  border:1px solid #f2cfad;
  border-radius:8px;
  background:#fff7ed;
  color:#9a4a12;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.yp-product-card.is-unavailable .yp-add-inquiry-btn {
  border-color:#d7dee8;
  background:#fff;
  color:var(--yp-navy);
}
.yp-product-card.is-unavailable .yp-add-inquiry-btn:hover {
  border-color:#e3a06d;
  background:var(--yp-orange-soft);
  color:var(--yp-orange-dark);
}
@media (max-width:340px) {
  #products .yp-category-showcase-grid {
    grid-template-columns:1fr!important;
  }
  #products .yp-category-showcase-card,
  #products .yp-category-showcase-card img {
    height:120px!important;
    min-height:120px!important;
  }
  #products .yp-category-showcase-card > span,
  #products .yp-category-showcase-grid .yp-category-showcase-card > span {
    max-width:calc(100% - 24px)!important;
    font-size:14px!important;
    letter-spacing:-.15px!important;
    white-space:nowrap!important;
  }
}

/* V5.16.2 product-question layout: single centered column, form stays two-column internally. */
.yp-single-product #inquiry .yp-product-question-section {
  width: min(100%, 980px);
  margin-inline: auto;
}
.yp-single-product #inquiry .yp-product-question-header {
  width: min(100%, 900px);
  margin: 0 auto 22px;
}
.yp-single-product #inquiry .yp-product-question-header h2 {
  margin: 6px 0 10px;
  max-width: none;
}
.yp-single-product #inquiry .yp-product-question-header p:last-child {
  max-width: 760px;
  margin-bottom: 0;
}
.yp-single-product #inquiry .yp-product-question-card {
  width: min(100%, 900px);
  margin-inline: auto;
}
@media (max-width: 720px) {
  .yp-single-product #inquiry .yp-product-question-header {
    margin-bottom: 16px;
  }
  .yp-single-product #inquiry .yp-product-question-card {
    width: 100%;
  }
}

/* V5.17 market-trend badges (shared by catalog and product detail pages). */
.yp-product-image > .yp-market-badges {
  position:absolute;
  z-index:3;
  top:10px;
  left:10px;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  max-width:calc(100% - 20px);
  pointer-events:none;
}
.yp-market-badge {
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:3px 8px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:999px;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
  font-size:10.5px;
  font-weight:850;
  line-height:1.1;
  letter-spacing:.01em;
  white-space:nowrap;
}
.yp-market-badge-tiktok { background:#16213b; color:#fff; }
.yp-market-badge-amazon { background:#fff3d7; color:#704800; border-color:#f3d59b; }
.yp-market-badge-retailer { background:#e9f4ee; color:#25623f; border-color:#c8e2d2; }
.yp-market-badge-more { background:#f2f4f7; color:#536071; border-color:#dde2e8; }
.yp-market-badges-detail {
  position:static;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 10px;
}
.yp-market-badges-detail .yp-market-badge { font-size:11px; }
@media (max-width:640px) {
  .yp-product-image > .yp-market-badges { top:7px; left:7px; gap:4px; }
  .yp-market-badge { min-height:20px; padding:2px 6px; font-size:9.5px; }
}

/* V6.0.4: preserve the buyer's catalog browsing context from product detail. */
.yp-product-return-row {
  padding-top:18px;
  padding-bottom:0;
}
.yp-back-to-products {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  color:#475467;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
}
.yp-back-to-products:hover {
  color:var(--yp-orange, #d95d0b);
  text-decoration:underline;
}
@media (max-width:640px) {
  .yp-product-return-row { padding-top:12px; }
}
