/* ── inlined from tgc-image-composition-v12.css ── */
/* ── inlined from tgc-image-composition-v11.css ── */
/* ── inlined from tgc-image-composition-v10.css ── */
/* ── inlined from tgc-image-composition-v9.css ── */
/* ── inlined from tgc-image-composition-v8.css ── */
/* TGC PREMIUM FINAL V5 — checked deploy-safe CSS overrides
   Scope: homepage product system, white-section polish, floating CTA, mobile rhythm only. */

/* Product system: tighter, more premium catalog blocks */
.product-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: auto !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.085) !important;
}
.product-card-img {
  position: relative !important;
  aspect-ratio: 16 / 8.6 !important;
  min-height: 150px !important;
  padding: 16px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(14,124,159,.09), transparent 46%),
    linear-gradient(180deg, #f9fbfd 0%, #edf3f7 100%) !important;
  border-bottom: 1px solid rgba(15,23,42,.065) !important;
}
.product-card-img::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(15,23,42,.055);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.05));
  pointer-events: none;
}
.product-card-img img {
  position: relative !important;
  z-index: 1 !important;
  width: auto !important;
  max-width: 92% !important;
  max-height: 132px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 14px 18px rgba(15,23,42,.14)) !important;
}
.product-card-img-tag {
  z-index: 2 !important;
  top: 14px !important;
  inset-inline-start: 14px !important;
  padding: 4px 9px !important;
  font-size: 9px !important;
  letter-spacing: .12em !important;
  color: #12324a !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(14,124,159,.16) !important;
  box-shadow: 0 8px 16px rgba(15,23,42,.07) !important;
}
.product-card-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px 18px 16px !important;
}
.product-card-body h3 {
  font-size: 16.2px !important;
  line-height: 1.45 !important;
  margin: 0 0 7px !important;
  letter-spacing: -.01em !important;
}
.product-card-body p {
  font-size: 12.7px !important;
  line-height: 1.8 !important;
  margin: 0 0 10px !important;
  color: #66727e !important;
}
.product-card-specs {
  margin-top: auto !important;
  margin-bottom: 12px !important;
  padding: 8px 10px !important;
  font-size: 10.4px !important;
  line-height: 1.75 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #f7fafc, #eef4f7) !important;
  border: 1px solid rgba(15,23,42,.065) !important;
}
.product-card-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-top: 0 !important;
}
.product-card-actions .btn {
  width: 100% !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-radius: 9px !important;
}
.product-card[style] {
  grid-column: span 2 !important;
  display: grid !important;
  grid-template-columns: minmax(240px, .92fr) 1fr !important;
}
.product-card[style] .product-card-img {
  aspect-ratio: auto !important;
  min-height: 100% !important;
}

/* White sections: smoother section rhythm */
.section:not(.hero):not(.section-dark):not(.cta) {
  background:
    radial-gradient(circle at 10% 4%, rgba(14,124,159,.035), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f9fbfc 100%) !important;
}
.section-alt {
  background:
    radial-gradient(circle at 88% 0%, rgba(14,124,159,.055), transparent 34%),
    linear-gradient(180deg, #f7fafc 0%, #f1f5f8 100%) !important;
}
.section-head,
.section-header-split { margin-bottom: 36px !important; }

/* Service cards and general cards */
.grid-4 > .card {
  border-radius: 16px !important;
  box-shadow: 0 16px 38px rgba(15,23,42,.065) !important;
}
.grid-4 > .card .card-num {
  font-size: 9px !important;
  letter-spacing: .12em !important;
}

/* Floating RFQ: visible but quieter */
.floating-rfq {
  bottom: 18px !important;
  inset-inline-end: 18px !important;
  padding: 10px 14px !important;
  font-size: 12px !important;
  box-shadow: 0 12px 24px rgba(6,24,39,.22) !important;
}

@media (max-width: 1024px) {
  .product-card[style] {
    grid-column: auto !important;
    display: flex !important;
  }
  .product-card[style] .product-card-img { min-height: 150px !important; aspect-ratio: 16 / 8.6 !important; }
}
@media (max-width: 768px) {
  .section { padding: 56px 0 !important; }
  .section-head,
  .section-header-split { margin-bottom: 24px !important; }
  .product-card { border-radius: 14px !important; }
  .product-card-img {
    aspect-ratio: 16 / 8.8 !important;
    min-height: 138px !important;
    padding: 13px 14px !important;
  }
  .product-card-img::before { inset: 9px; border-radius: 10px; }
  .product-card-img img { max-height: 112px !important; max-width: 90% !important; }
  .product-card-img-tag { top: 10px !important; inset-inline-start: 10px !important; font-size: 8.5px !important; padding: 3px 8px !important; }
  .product-card-body { padding: 15px 14px 14px !important; }
  .product-card-body h3 { font-size: 15.4px !important; margin-bottom: 6px !important; }
  .product-card-body p { font-size: 12.4px !important; line-height: 1.75 !important; margin-bottom: 9px !important; }
  .product-card-specs { font-size: 10px !important; padding: 7px 9px !important; margin-bottom: 10px !important; }
  .product-card-actions { gap: 7px !important; }
  .product-card-actions .btn { min-height: 34px !important; font-size: 11.7px !important; padding: 6px 8px !important; }
  .grid-4 > .card { padding: 20px 18px !important; }
  .floating-rfq { bottom: 14px !important; inset-inline-end: 14px !important; padding: 9px 12px !important; font-size: 11.5px !important; }
}
@media (max-width: 420px) {
  .product-card-actions { grid-template-columns: 1fr 1fr !important; }
  .floating-rfq { max-width: calc(100vw - 28px) !important; }
}


/* TGC IMAGE SCALE V6 — product image scale & composition upgrade only */
.product-card-img {
  min-height: 205px !important;
  aspect-ratio: 16 / 8.1 !important;
  padding: 14px 16px !important;
}
.product-card-img::before {
  inset: 8px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.04)) !important;
}
.product-card-img img {
  max-width: 96% !important;
  max-height: 176px !important;
  object-fit: contain !important;
  transform: scale(1.08) !important;
  filter: drop-shadow(0 18px 22px rgba(15,23,42,.16)) !important;
}
.product-card:hover .product-card-img img {
  transform: scale(1.12) !important;
}
.product-card-img-tag {
  top: 12px !important;
  inset-inline-start: 12px !important;
}

/* stronger per-card visual presence */
.grid-4 > .product-card:nth-of-type(1) .product-card-img img,
.grid-4 > .product-card:nth-of-type(2) .product-card-img img,
.grid-4 > .product-card:nth-of-type(4) .product-card-img img,
.grid-4 > .product-card:nth-of-type(5) .product-card-img img,
.grid-4 > .product-card:nth-of-type(7) .product-card-img img {
  max-width: 98% !important;
  max-height: 184px !important;
}
.grid-4 > .product-card:nth-of-type(3) .product-card-img img,
.grid-4 > .product-card:nth-of-type(6) .product-card-img img {
  max-height: 188px !important;
  max-width: 78% !important;
  transform: scale(1.14) !important;
}
.grid-4 > .product-card:nth-of-type(3):hover .product-card-img img,
.grid-4 > .product-card:nth-of-type(6):hover .product-card-img img {
  transform: scale(1.18) !important;
}

@media (max-width: 1024px) {
  .product-card[style] .product-card-img {
    min-height: 205px !important;
    aspect-ratio: 16 / 8.1 !important;
  }
}
@media (max-width: 768px) {
  .product-card-img {
    min-height: 214px !important;
    aspect-ratio: 16 / 8.1 !important;
    padding: 12px 12px !important;
  }
  .product-card-img::before { inset: 7px !important; }
  .product-card-img img {
    max-width: 96% !important;
    max-height: 174px !important;
    transform: scale(1.08) !important;
  }
  .product-card:hover .product-card-img img { transform: scale(1.1) !important; }
  .grid-4 > .product-card:nth-of-type(1) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(4) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img {
    max-width: 98% !important;
    max-height: 182px !important;
  }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img {
    max-width: 82% !important;
    max-height: 186px !important;
    transform: scale(1.16) !important;
  }
  .product-card-img-tag {
    top: 10px !important;
    inset-inline-start: 10px !important;
  }
}
@media (max-width: 420px) {
  .product-card-img {
    min-height: 205px !important;
    padding: 10px 10px !important;
  }
  .product-card-img img {
    max-height: 168px !important;
  }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img {
    max-height: 176px !important;
  }
}


/* TGC IMAGE COMPOSITION V7 — final image scale/crop/composition polish */
.product-card-img {
  min-height: 230px !important;
  aspect-ratio: 16 / 9.2 !important;
  padding: 12px 14px !important;
  overflow: hidden !important;
}
.product-card-img::before {
  inset: 7px !important;
  border-radius: 14px !important;
}
.product-card-img img {
  max-width: 100% !important;
  max-height: 205px !important;
  transform: scale(1.12) !important;
}
.product-card:hover .product-card-img img { transform: scale(1.15) !important; }

/* Product-specific visual composition */
.grid-4 > .product-card:nth-of-type(1) .product-card-img img {
  max-width: 82% !important;
  max-height: 214px !important;
  transform: scale(1.16) !important;
}
.grid-4 > .product-card:nth-of-type(2) .product-card-img img {
  max-width: 92% !important;
  max-height: 210px !important;
  transform: scale(1.12) !important;
}
.grid-4 > .product-card:nth-of-type(3) .product-card-img img {
  max-width: 70% !important;
  max-height: 224px !important;
  transform: scale(1.22) !important;
}
.grid-4 > .product-card:nth-of-type(4) .product-card-img img,
.grid-4 > .product-card:nth-of-type(5) .product-card-img img {
  max-width: 92% !important;
  max-height: 214px !important;
  transform: scale(1.14) !important;
}
.grid-4 > .product-card:nth-of-type(6) .product-card-img img,
.grid-4 > .product-card:nth-of-type(7) .product-card-img img {
  max-width: 72% !important;
  max-height: 226px !important;
  transform: scale(1.22) !important;
}
.grid-4 > .product-card:nth-of-type(1):hover .product-card-img img,
.grid-4 > .product-card:nth-of-type(3):hover .product-card-img img,
.grid-4 > .product-card:nth-of-type(6):hover .product-card-img img,
.grid-4 > .product-card:nth-of-type(7):hover .product-card-img img {
  transform: scale(1.25) !important;
}

/* Tighter relationship between image and copy after larger imagery */
.product-card-body {
  padding-top: 16px !important;
}
.product-card-body h3 {
  margin-bottom: 6px !important;
}
.product-card-specs {
  margin-top: 10px !important;
}
.product-card-actions {
  margin-top: 6px !important;
}

@media (max-width: 768px) {
  .product-card-img {
    min-height: 250px !important;
    aspect-ratio: 16 / 9.8 !important;
    padding: 10px 10px !important;
  }
  .product-card-img img {
    max-width: 100% !important;
    max-height: 222px !important;
    transform: scale(1.13) !important;
  }
  .grid-4 > .product-card:nth-of-type(1) .product-card-img img {
    max-width: 80% !important;
    max-height: 226px !important;
    transform: scale(1.18) !important;
  }
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img {
    max-width: 95% !important;
    max-height: 224px !important;
    transform: scale(1.15) !important;
  }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img {
    max-width: 72% !important;
    max-height: 236px !important;
    transform: scale(1.24) !important;
  }
  .grid-4 > .product-card:nth-of-type(4) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img {
    max-width: 96% !important;
    max-height: 232px !important;
    transform: scale(1.16) !important;
  }
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img {
    max-width: 74% !important;
    max-height: 238px !important;
    transform: scale(1.24) !important;
  }
  .product-card-body { padding-top: 14px !important; }
}
@media (max-width: 420px) {
  .product-card-img {
    min-height: 235px !important;
  }
  .product-card-img img {
    max-height: 212px !important;
  }
  .grid-4 > .product-card:nth-of-type(1) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img {
    max-height: 214px !important;
  }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img {
    max-height: 224px !important;
  }
}
/* TGC IMAGE COMPOSITION V8 — custom crop per product card only
   Scope: homepage product category image scaling/crop/alignment. */

.product-card-img {
  min-height: 225px !important;
  aspect-ratio: 16 / 7.7 !important;
  padding: 14px 14px !important;
  overflow: hidden !important;
}

.product-card-img img {
  width: 78% !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  transform-origin: center center !important;
  filter: drop-shadow(0 20px 24px rgba(15,23,42,.16)) !important;
}

/* CATEGORY 01 — sanitary valves: make the product stronger without over-cropping */
.grid-4 > .product-card:nth-of-type(1) .product-card-img img {
  width: 66% !important;
  transform: translateY(2px) scale(1.04) !important;
}

/* CATEGORY 02 — fittings: wide product group should fill more horizontal space */
.grid-4 > .product-card:nth-of-type(2) .product-card-img img {
  width: 84% !important;
  transform: translateY(2px) scale(1.03) !important;
}

/* CATEGORY 03 — tubes: portrait photo needs a bigger focal crop */
.grid-4 > .product-card:nth-of-type(3) .product-card-img img {
  width: 56% !important;
  transform: translateY(0) scale(1.08) !important;
}

/* CATEGORY 04 — components: allow a wider industrial frame */
.grid-4 > .product-card:nth-of-type(4) .product-card-img img {
  width: 82% !important;
  transform: translateY(2px) scale(1.04) !important;
}

/* CATEGORY 05 — process equipment: wide plant/process image needs presence */
.grid-4 > .product-card:nth-of-type(5) .product-card-img img {
  width: 86% !important;
  transform: translateY(2px) scale(1.03) !important;
}

/* CATEGORY 06 — pump: portrait image was too small; enlarge and center */
.grid-4 > .product-card:nth-of-type(6) .product-card-img img {
  width: 58% !important;
  transform: translateY(0) scale(1.09) !important;
}

/* CATEGORY 07 — industrial pipes/flanges: make span card image more substantial */
.grid-4 > .product-card:nth-of-type(7) .product-card-img img {
  width: 86% !important;
  transform: translateY(0) scale(1.03) !important;
}

@media (hover:hover) {
  .product-card:hover .product-card-img img { transform: translateY(-2px) scale(1.07) !important; }
  .grid-4 > .product-card:nth-of-type(2):hover .product-card-img img,
  .grid-4 > .product-card:nth-of-type(5):hover .product-card-img img,
  .grid-4 > .product-card:nth-of-type(7):hover .product-card-img img { transform: translateY(-2px) scale(1.06) !important; }
  .grid-4 > .product-card:nth-of-type(3):hover .product-card-img img,
  .grid-4 > .product-card:nth-of-type(6):hover .product-card-img img { transform: translateY(-2px) scale(1.12) !important; }
}

@media (max-width: 768px) {
  .product-card-img {
    min-height: 215px !important;
    aspect-ratio: 16 / 7.5 !important;
    padding: 12px 12px !important;
  }
  .product-card-img::before { inset: 8px !important; }
  .grid-4 > .product-card:nth-of-type(1) .product-card-img img { width: 70% !important; }
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img { width: 88% !important; }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img { width: 62% !important; }
  .grid-4 > .product-card:nth-of-type(4) .product-card-img img { width: 84% !important; }
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img { width: 88% !important; }
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img { width: 64% !important; }
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img { width: 88% !important; }
}

@media (max-width: 420px) {
  .product-card-img {
    min-height: 205px !important;
    aspect-ratio: 16 / 7.3 !important;
  }
}

/* ── end tgc-image-composition-v8.css ── */

/* TGC IMAGE COMPOSITION V9 — Step 3: reduce empty white space around product images only */
.product-card-img {
  min-height: 198px !important;
  aspect-ratio: 16 / 7.1 !important;
  padding: 8px 10px !important;
  margin-bottom: 0 !important;
}
.product-card-img::before {
  inset: 5px !important;
  border-radius: 13px !important;
}
.product-card-img img {
  max-height: 190px !important;
}
.product-card-body {
  padding-top: 12px !important;
}
.product-card-body h3 {
  margin-top: 0 !important;
  margin-bottom: 5px !important;
}
.product-card-body p {
  margin-bottom: 8px !important;
}
.product-card-specs {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}
.product-card-actions {
  margin-top: 4px !important;
}

/* keep visual impact after reducing frame height */
.grid-4 > .product-card:nth-of-type(1) .product-card-img img { width: 74% !important; transform: translateY(-1px) scale(1.04) !important; }
.grid-4 > .product-card:nth-of-type(2) .product-card-img img { width: 90% !important; transform: translateY(0) scale(1.03) !important; }
.grid-4 > .product-card:nth-of-type(3) .product-card-img img { width: 64% !important; transform: translateY(-1px) scale(1.10) !important; }
.grid-4 > .product-card:nth-of-type(4) .product-card-img img { width: 86% !important; transform: translateY(0) scale(1.02) !important; }
.grid-4 > .product-card:nth-of-type(5) .product-card-img img { width: 90% !important; transform: translateY(0) scale(1.03) !important; }
.grid-4 > .product-card:nth-of-type(6) .product-card-img img { width: 64% !important; transform: translateY(-1px) scale(1.12) !important; }
.grid-4 > .product-card:nth-of-type(7) .product-card-img img { width: 90% !important; transform: translateY(0) scale(1.03) !important; }

@media (max-width: 768px) {
  .product-card-img {
    min-height: 190px !important;
    aspect-ratio: 16 / 7.0 !important;
    padding: 7px 8px !important;
  }
  .product-card-img::before { inset: 5px !important; }
  .product-card-body { padding-top: 11px !important; }
  .grid-4 > .product-card:nth-of-type(1) .product-card-img img { width: 76% !important; }
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img { width: 92% !important; }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img { width: 67% !important; }
  .grid-4 > .product-card:nth-of-type(4) .product-card-img img { width: 88% !important; }
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img { width: 92% !important; }
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img { width: 68% !important; }
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img { width: 92% !important; }
}

@media (max-width: 420px) {
  .product-card-img {
    min-height: 178px !important;
    aspect-ratio: 16 / 6.8 !important;
  }
  .product-card-body { padding-top: 10px !important; }
}

/* ── end tgc-image-composition-v9.css ── */

/* TGC IMAGE COMPOSITION V10 — Step 4: semi full-bleed product image presence only */
.product-card-img {
  width: calc(100% + 10px) !important;
  margin-left: -5px !important;
  margin-right: -5px !important;
  padding: 5px 6px !important;
  min-height: 206px !important;
  aspect-ratio: 16 / 7.4 !important;
  overflow: hidden !important;
}
.product-card-img::before {
  inset: 3px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(248,250,252,.98), rgba(226,232,240,.58)) !important;
}
.product-card-img img {
  max-width: 98% !important;
  max-height: 204px !important;
  filter: drop-shadow(0 18px 24px rgba(15,23,42,.18)) !important;
}

/* product-specific semi full-bleed scaling */
.grid-4 > .product-card:nth-of-type(1) .product-card-img img { width: 84% !important; transform: translateY(-2px) scale(1.08) !important; }
.grid-4 > .product-card:nth-of-type(2) .product-card-img img { width: 100% !important; transform: translateY(0) scale(1.06) !important; }
.grid-4 > .product-card:nth-of-type(3) .product-card-img img { width: 78% !important; transform: translateY(-4px) scale(1.18) !important; }
.grid-4 > .product-card:nth-of-type(4) .product-card-img img { width: 100% !important; transform: translateY(0) scale(1.06) !important; }
.grid-4 > .product-card:nth-of-type(5) .product-card-img img { width: 100% !important; transform: translateY(0) scale(1.06) !important; }
.grid-4 > .product-card:nth-of-type(6) .product-card-img img { width: 76% !important; transform: translateY(-3px) scale(1.20) !important; }
.grid-4 > .product-card:nth-of-type(7) .product-card-img img { width: 100% !important; transform: translateY(-2px) scale(1.08) !important; }

/* keep the wide card controlled while giving the image more presence */
.product-card[style] .product-card-img {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 768px) {
  .product-card-img {
    width: calc(100% + 8px) !important;
    margin-left: -4px !important;
    margin-right: -4px !important;
    min-height: 198px !important;
    aspect-ratio: 16 / 7.25 !important;
    padding: 5px !important;
  }
  .product-card-img img { max-height: 196px !important; }
  .grid-4 > .product-card:nth-of-type(1) .product-card-img img { width: 88% !important; transform: translateY(-2px) scale(1.09) !important; }
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img { width: 102% !important; transform: translateY(0) scale(1.07) !important; }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img { width: 82% !important; transform: translateY(-4px) scale(1.19) !important; }
  .grid-4 > .product-card:nth-of-type(4) .product-card-img img { width: 102% !important; transform: translateY(0) scale(1.07) !important; }
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img { width: 102% !important; transform: translateY(0) scale(1.07) !important; }
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img { width: 82% !important; transform: translateY(-3px) scale(1.21) !important; }
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img { width: 102% !important; transform: translateY(-2px) scale(1.09) !important; }
}

@media (max-width: 420px) {
  .product-card-img {
    min-height: 188px !important;
    aspect-ratio: 16 / 7.0 !important;
  }
  .product-card-img img { max-height: 186px !important; }
}

/* ── end tgc-image-composition-v10.css ── */

/* TGC IMAGE COMPOSITION V11 — Step 5: visual weight balance only
   Scope: homepage product cards image/text balance. */

.grid-4 > .product-card {
  min-height: auto !important;
}

.product-card-img {
  min-height: 196px !important;
  aspect-ratio: 16 / 7.15 !important;
  margin-bottom: 0 !important;
}

.product-card-img img {
  object-fit: contain !important;
  object-position: center center !important;
}

.product-card-body {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.product-card-body h3 {
  margin-bottom: 7px !important;
  letter-spacing: -.015em !important;
}

.product-card-body p {
  margin-bottom: 11px !important;
}

.product-card-specs {
  margin-bottom: 12px !important;
}

.product-card-actions {
  margin-top: auto !important;
}

/* Balance cards that became visually too image-heavy or too text-heavy */
.grid-4 > .product-card:nth-of-type(1) .product-card-img img { width: 86% !important; transform: translateY(-1px) scale(1.06) !important; }
.grid-4 > .product-card:nth-of-type(2) .product-card-img img { width: 101% !important; transform: translateY(0) scale(1.05) !important; }
.grid-4 > .product-card:nth-of-type(3) .product-card-img img { width: 84% !important; transform: translateY(-3px) scale(1.16) !important; }
.grid-4 > .product-card:nth-of-type(4) .product-card-img img { width: 100% !important; transform: translateY(1px) scale(1.04) !important; }
.grid-4 > .product-card:nth-of-type(5) .product-card-img img { width: 101% !important; transform: translateY(0) scale(1.05) !important; }
.grid-4 > .product-card:nth-of-type(6) .product-card-img img { width: 86% !important; transform: translateY(-2px) scale(1.17) !important; }
.grid-4 > .product-card:nth-of-type(7) .product-card-img img { width: 100% !important; transform: translateY(-1px) scale(1.06) !important; }

.product-card[style] > div {
  grid-template-columns: 300px 1fr !important;
}
.product-card[style] .product-card-body {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

@media (max-width: 768px) {
  .product-card-img {
    min-height: 186px !important;
    aspect-ratio: 16 / 6.95 !important;
  }
  .product-card-body {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .product-card-body h3 { margin-bottom: 6px !important; }
  .product-card-body p { margin-bottom: 10px !important; }
  .product-card-specs { margin-bottom: 11px !important; }

  .grid-4 > .product-card:nth-of-type(1) .product-card-img img { width: 90% !important; transform: translateY(-1px) scale(1.07) !important; }
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img { width: 104% !important; transform: translateY(0) scale(1.05) !important; }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img { width: 87% !important; transform: translateY(-3px) scale(1.16) !important; }
  .grid-4 > .product-card:nth-of-type(4) .product-card-img img { width: 104% !important; transform: translateY(1px) scale(1.04) !important; }
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img { width: 104% !important; transform: translateY(0) scale(1.05) !important; }
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img { width: 88% !important; transform: translateY(-2px) scale(1.18) !important; }
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img { width: 104% !important; transform: translateY(-1px) scale(1.06) !important; }

  .product-card[style] > div {
    display: block !important;
  }
  .product-card[style] .product-card-body {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
}

@media (max-width: 420px) {
  .product-card-img {
    min-height: 180px !important;
    aspect-ratio: 16 / 6.8 !important;
  }
}

/* ── end tgc-image-composition-v11.css ── */

/* TGC IMAGE COMPOSITION V12 — Step 6: product-specific alignment only
   Scope: homepage product image focal-point alignment. No layout/hero/navbar changes. */

/* Default: keep images centered unless a product benefits from a custom focal point. */
.product-card-img img {
  object-position: center center !important;
}

/* 01 — Sanitary valves: keep valves visually anchored, slightly right/down to show handles. */
.grid-4 > .product-card:nth-of-type(1) .product-card-img img {
  object-position: 52% 54% !important;
  transform: translate(2px, 2px) scale(1.07) !important;
}

/* 02 — Fittings: wide product set; center-heavy, slightly higher so polished fittings fill the frame. */
.grid-4 > .product-card:nth-of-type(2) .product-card-img img {
  object-position: 50% 48% !important;
  transform: translateY(-2px) scale(1.06) !important;
}

/* 03 — Tubes: close-focus on the polished tubes and inspection tool; lower crop for stronger vertical rhythm. */
.grid-4 > .product-card:nth-of-type(3) .product-card-img img {
  object-position: 48% 57% !important;
  transform: translate(-2px, 3px) scale(1.18) !important;
}

/* 04 — Components/sheet-style image: keep the technical detail readable, centered slightly right. */
.grid-4 > .product-card:nth-of-type(4) .product-card-img img {
  object-position: 54% 50% !important;
  transform: translate(2px, 0) scale(1.05) !important;
}

/* 05 — Equipment/tanks: wide plant image; keep tanks centered and slightly high for cinematic view. */
.grid-4 > .product-card:nth-of-type(5) .product-card-img img {
  object-position: 50% 46% !important;
  transform: translateY(-3px) scale(1.06) !important;
}

/* 06 — Pump: portrait image; align lower/right so the pump head becomes the focal point. */
.grid-4 > .product-card:nth-of-type(6) .product-card-img img {
  object-position: 53% 60% !important;
  transform: translate(3px, 4px) scale(1.19) !important;
}

/* 07 — Industrial pipes: emphasize pipe openings and diagonal depth. */
.grid-4 > .product-card:nth-of-type(7) .product-card-img img {
  object-position: 52% 56% !important;
  transform: translate(2px, 2px) scale(1.07) !important;
}

@media (max-width: 768px) {
  .grid-4 > .product-card:nth-of-type(1) .product-card-img img {
    object-position: 52% 54% !important;
    transform: translate(2px, 2px) scale(1.08) !important;
  }
  .grid-4 > .product-card:nth-of-type(2) .product-card-img img {
    object-position: 50% 48% !important;
    transform: translateY(-2px) scale(1.06) !important;
  }
  .grid-4 > .product-card:nth-of-type(3) .product-card-img img {
    object-position: 49% 58% !important;
    transform: translate(-1px, 4px) scale(1.19) !important;
  }
  .grid-4 > .product-card:nth-of-type(4) .product-card-img img {
    object-position: 54% 50% !important;
    transform: translate(2px, 0) scale(1.05) !important;
  }
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img {
    object-position: 50% 46% !important;
    transform: translateY(-3px) scale(1.06) !important;
  }
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img {
    object-position: 53% 61% !important;
    transform: translate(3px, 5px) scale(1.20) !important;
  }
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img {
    object-position: 52% 56% !important;
    transform: translate(2px, 2px) scale(1.07) !important;
  }
}

/* ── end tgc-image-composition-v12.css ── */

/* TGC PRODUCT SYSTEM V13 — Final industrial visual polish
   Scope: homepage product cards only. Keeps hero, navbar, content and routing untouched. */

.product-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,253,.94)) !important;
  border: 1px solid rgba(17, 42, 66, .10) !important;
  box-shadow: 0 18px 44px rgba(11, 27, 43, .075) !important;
}

.product-card:hover {
  box-shadow: 0 22px 58px rgba(11, 27, 43, .11) !important;
}

.product-card-img {
  background: radial-gradient(circle at 50% 42%, rgba(255,255,255,.96) 0%, rgba(238,245,250,.88) 64%, rgba(229,238,245,.72) 100%) !important;
  border: 1px solid rgba(21, 84, 112, .10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 14px 34px rgba(11,27,43,.075) !important;
  overflow: hidden !important;
}

.product-card-img img {
  filter: contrast(1.045) saturate(1.035) brightness(1.015) !important;
  will-change: transform !important;
}

.product-card-label,
.product-card .category-label,
.product-card [class*="category"] {
  box-shadow: 0 7px 18px rgba(11, 27, 43, .055) !important;
}

@media (max-width: 768px) {
  .product-card {
    box-shadow: 0 14px 34px rgba(11, 27, 43, .07) !important;
  }

  .product-card-img {
    min-height: 255px !important;
    margin-bottom: 22px !important;
  }

  .product-card-img img {
    max-width: 88% !important;
    max-height: 82% !important;
  }

  .grid-4 > .product-card:nth-of-type(2) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(5) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(7) .product-card-img img {
    max-width: 94% !important;
  }

  .grid-4 > .product-card:nth-of-type(3) .product-card-img img,
  .grid-4 > .product-card:nth-of-type(6) .product-card-img img {
    max-height: 88% !important;
  }
}

/* TGC RFQ-focused refinements */
.taxonomy-panel {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 24px;
  align-items: center;
  margin: 28px 0 18px;
  padding: 26px 28px;
  background: linear-gradient(135deg, #0b2135, #123553);
  color: #d8e7f2;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255,255,255,.08);
}
.taxonomy-panel span { font-family: var(--font-num); font-size: 11px; font-weight: 700; color: #67e8f9; letter-spacing: 1.2px; }
.taxonomy-panel h3 { color: #fff; font-size: 22px; margin: 6px 0 8px; }
.taxonomy-panel p { color: #b6ccde; font-size: 14px; line-height: 2; margin: 0; }
.taxonomy-panel ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; margin: 0; }
.taxonomy-panel li { padding: 8px 10px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); border-radius: 4px; color: #edf7fb; font-family: var(--font-num); font-size: 12px; direction: ltr; text-align: left; }
.taxonomy-panel-process { background: linear-gradient(135deg, #16232d, #243848); }
.taxonomy-panel-industrial { background: linear-gradient(135deg, #101820, #2a3138); }
.product-family-grid { margin-bottom: 38px; }
.product-card { min-height: 100%; }
.product-card-body { min-height: 255px; }
.product-card-actions .btn, .product-card-actions span.btn { min-height: 40px; }
.form-hint { font-size: 12px; color: var(--gray-500); line-height: 1.8; }
.form-section-title { margin: 26px 0 14px; padding-top: 22px; border-top: 1px solid var(--gray-200); font-size: 16px; color: var(--primary); }
@media (max-width: 768px) {
  .taxonomy-panel { grid-template-columns: 1fr; padding: 22px; }
  .taxonomy-panel ul { grid-template-columns: 1fr; }
  .product-card-body { min-height: auto; }
}

/* ==========================================================================
   Phase 11 homepage card-frame override
   --------------------------------------------------------------------------
   !important is required here because this sheet's inlined image-composition
   layers lock product-card aspect ratios with !important. Page-system tokens
   alone cannot win on the homepage where v13 loads. Do not extend this pattern
   to new sheets — migrate away from the inlined stack instead.
   ========================================================================== */
.product-card-img {
  aspect-ratio: var(--tgc-ratio-category, 4 / 3) !important;
}
.product-card-img img {
  max-height: none !important;
  height: auto !important;
  max-width: 92% !important;
  object-fit: contain !important;
}
