/* Shared visual modules for the main product categories and Custom Service. */
.page-hero-inner {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr);
  align-items: center;
  gap: 48px;
}

.hero-card {
  padding: 26px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  box-shadow: 0 22px 55px rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
}
.hero-card h3 { margin: 0 0 8px; color: #fff; font-size: 23px; }
.hero-card p { color: #dbe7ef; font-size: 15px; }
.hero-list { display: grid; gap: 9px; margin-top: 18px; }
.hero-list div { position: relative; padding: 10px 12px 10px 34px; border-radius: 10px; background: rgba(255,255,255,.09); color: #fff; font-size: 14px; font-weight: 700; }
.hero-list div::before { content: "✓"; position: absolute; left: 13px; color: #ffb27f; }
.custom-hero-media { margin: -10px -10px 20px; overflow: hidden; border-radius: 14px; background: #eef5fa; }
.custom-hero-media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.custom-product-showcase { background: #f6f8fb; }
.custom-visual-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.custom-visual-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(15,23,42,.07); transition: transform .18s ease,box-shadow .18s ease; }
.custom-visual-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(15,23,42,.12); }
.custom-visual-card img { width: 100%; aspect-ratio: 4 / 3; padding: 16px; object-fit: contain; background: #f8fafc; }
.custom-visual-card span { display: block; padding: 17px 19px 20px; color: var(--muted); }
.custom-visual-card strong { display: block; margin-bottom: 5px; color: var(--navy); font-size: 20px; }
.custom-process-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-bottom: 30px; }
.custom-process-gallery figure { overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(15,23,42,.06); }
.custom-process-gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.custom-process-gallery figcaption { display: block; padding: 15px 18px 18px; }
.custom-process-gallery strong,.custom-process-gallery span { display: block; }
.custom-process-gallery strong { margin-bottom: 3px; color: var(--navy); font-size: 18px; }
.custom-process-gallery span { color: var(--muted); font-size: 14px; }

.category-product-showcase { background: #fff; }
.category-range-strip { border-bottom: 1px solid #dbe4ec; background: #fff; }
.category-range-strip .container { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 16px; padding-bottom: 16px; }
.category-range-strip strong { margin-right: 4px; color: var(--navy); font-size: 15px; }
.category-range-strip a { padding: 7px 11px; border: 1px solid #d8e0e7; border-radius: 999px; background: #f8fafc; color: var(--navy); font-size: 13px; font-weight: 800; }
.category-range-strip a:hover,.category-range-strip .range-all { border-color: #fdba74; color: var(--orange-dark); }
.category-overview-grid { align-items: stretch; }
.category-overview-grid .product-img-box,.category-overview-grid .content-box { height: auto; min-height: 100%; }
.category-overview-grid .product-img-box { display: grid; padding: 32px; place-items: center; }
.category-overview-grid .product-img-box img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.category-overview-grid .content-box { display: flex; flex-direction: column; }
.category-overview-grid .content-box .hero-actions { margin-top: auto; }
.category-visual-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.category-visual-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(15,23,42,.07); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.category-visual-card:hover { transform: translateY(-4px); border-color: #fdba74; box-shadow: 0 18px 42px rgba(15,23,42,.12); }
.category-visual-image { display: grid; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line); background: linear-gradient(145deg,#f8fafc,#eef4f8); }
.category-visual-image img { width: 100%; height: 100%; padding: 16px; object-fit: contain; transition: transform .25s ease; }
.category-visual-card:hover img { transform: scale(1.035); }
.category-visual-copy { display: flex; flex: 1; flex-direction: column; padding: 19px; }
.category-visual-copy strong { color: var(--navy); font-size: 20px; line-height: 1.3; }
.category-visual-copy small { display: block; margin: 8px 0 16px; color: var(--muted); font-size: 15px; line-height: 1.55; }
.category-visual-copy b { margin-top: auto; color: var(--orange-dark); font-size: 14px; }
.category-subtype-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 15px; background: #f8fafc; }
.category-subtype-links strong { margin-right: 4px; color: var(--navy); }
.category-subtype-links a { padding: 7px 11px; border: 1px solid #d8e0e7; border-radius: 999px; background: #fff; color: var(--navy); font-size: 14px; font-weight: 800; }
.category-subtype-links a:hover { border-color: var(--orange); color: var(--orange-dark); }

.commercial-buyer-fit { border-top: 1px solid #e3eaf0; border-bottom: 1px solid #e3eaf0; background: linear-gradient(145deg,#f8fafc 0%,#f2f7fa 100%); }
.commercial-buyer-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.commercial-buyer-head > div { max-width: 850px; }
.commercial-buyer-head .btn { flex: 0 0 auto; margin-bottom: 4px; }
.commercial-buyer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.commercial-buyer-card { position: relative; overflow: hidden; padding: 28px; border: 1px solid #dbe4eb; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.05); }
.commercial-buyer-card > span { display: inline-grid; width: 42px; height: 42px; margin-bottom: 18px; place-items: center; border-radius: 12px; background: #fff1e8; color: var(--orange-dark); font-size: 14px; font-weight: 900; }
.commercial-buyer-card h3 { margin: 0 0 10px; color: var(--navy); font-size: 21px; line-height: 1.3; }
.commercial-buyer-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.commercial-rfq-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 20px; padding: 17px 20px; border: 1px solid #dbe4eb; border-radius: 14px; background: #fff; color: var(--muted); }
.commercial-rfq-strip strong { color: var(--navy); }
.commercial-rfq-strip a { margin-left: auto; color: var(--orange-dark); font-weight: 800; }

.category-factory-section { background: #f6f8fb; }
.category-factory-proof { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 44px; align-items: stretch; }
.category-factory-proof > * { min-width: 0; }
.category-factory-image { position: relative; min-height: 480px; overflow: hidden; border-radius: 22px; background: #dbe7ef; box-shadow: 0 18px 48px rgba(15,23,42,.14); }
.category-factory-image img { width: 100%; height: 100%; object-fit: cover; }
.category-factory-image span { position: absolute; inset: auto 18px 18px; padding: 11px 14px; border-radius: 10px; background: rgba(7,21,39,.84); color: #fff; font-size: 13px; font-weight: 800; text-align: center; backdrop-filter: blur(5px); }
.category-factory-copy { padding: 14px 0; }
.category-factory-copy h2 { margin: 8px 0 14px; color: var(--navy); font-size: clamp(32px,4vw,46px); line-height: 1.12; letter-spacing: -1px; }
.category-factory-copy > p { margin: 0 0 22px; color: var(--muted); font-size: 17px; }
.category-proof-points { display: grid; gap: 12px; }
.category-proof-points div { padding: 15px 17px; border: 1px solid #dfe6ec; border-radius: 14px; background: #fff; }
.category-proof-points strong,.category-proof-points span { display: block; }
.category-proof-points strong { margin-bottom: 3px; color: var(--navy); font-size: 17px; }
.category-proof-points span { color: var(--muted); font-size: 14px; }
.category-factory-copy .btn.secondary { border-color: #cbd5e1; background: #fff; color: var(--navy); }
.category-factory-copy .btn.secondary:hover { border-color: var(--orange); color: var(--orange-dark); }
.category-factory-copy { align-self: stretch; padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 16px 44px rgba(15,23,42,.06); }
.category-factory-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 22px 0; }
.category-factory-stats div { padding: 18px; border: 1px solid #dfe6ec; border-radius: 14px; background: #f8fafc; }
.category-factory-stats strong,.category-factory-stats span { display: block; }
.category-factory-stats strong { color: var(--orange); font-size: 24px; }
.category-factory-stats span { margin-top: 4px; color: var(--muted); font-size: 13px; font-weight: 700; }
.category-factory-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 28px; }
.category-factory-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.04); }
.category-factory-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.category-factory-card strong,.category-factory-card span { display: block; padding-right: 18px; padding-left: 18px; }
.category-factory-card strong { padding-top: 15px; color: var(--navy); font-size: 18px; }
.category-factory-card span { padding-top: 5px; padding-bottom: 18px; color: var(--muted); font-size: 14px; line-height: 1.55; }

@media (min-width: 901px) {
  .category-visual-grid { padding-right: 72px; }
  .category-subtype-links { margin-right: 72px; }
  .category-factory-proof { padding-right: 72px; }
}

@media (max-width: 1100px) {
  .site-header .nav-wrap > .btn,.site-header .header-inner > .btn,.header .header-inner > .btn { display: none !important; }
  .page-hero-inner,.category-factory-proof { grid-template-columns: 1fr; }
  .category-visual-grid,.custom-visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .category-factory-image { min-height: 380px; }
  .category-factory-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .category-visual-grid,.custom-visual-grid,.custom-process-gallery,.commercial-buyer-grid { grid-template-columns: 1fr; }
  .commercial-buyer-head { display: block; }
  .commercial-buyer-head .btn { margin-top: 18px; }
  .commercial-rfq-strip a { width: 100%; margin: 4px 0 0; }
  .category-factory-image { min-height: 0; aspect-ratio: 16 / 10; }
  .category-factory-copy h2 { font-size: 32px; }
  .category-visual-copy strong { font-size: 19px; }
  .category-visual-copy,.category-factory-copy,.custom-visual-card span { padding-right: 64px; }
  .category-factory-gallery,.category-factory-stats { grid-template-columns: 1fr; }
  .category-overview-grid .product-img-box { min-height: 340px; }
}
