.spec-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; }

.spec-table th, .spec-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #eee;
  text-align: left;
  vertical-align: top;
  word-wrap: break-word; }

.spec-table th {
  width: 280px;
  font-weight: 600; }

/* Ensure product card is positioning context */
/* Make the IMAGE area the positioning context (true overlay) */
.card {
  position: relative; }

.card-figure,
.product-figure {
  position: relative;
  /* keep */
  overflow: visible;
  /* keep */ }

/* Stock badge overlayed ON image */
.vsCard-stock {
  position: absolute;
  top: 10px;
  /* overlay position */
  right: 10px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  border-radius: 3px;
  line-height: 1;
  z-index: 20;
  /* NEW: black outline */
  outline: 1px solid #000;
  outline-offset: -1px;
  /* keeps outline tight */ }

/* IN STOCK (green) */
.vsCard-stock.is-instock {
  color: #1a7f37;
  background: #e6f4ea;
  border: 1px solid #b7e1c1;
  /* keep existing style */ }

/* LIMITED STOCK (red) */
.vsCard-stock.is-limited {
  color: #b42318;
  background: #fdecea;
  border: 1px solid #f5c2c7;
  /* keep existing style */ }

/* Ensure image wrapper allows overlay */
.card-figure,
.product-figure {
  position: relative;
  overflow: visible; }

/* Brand hover unchanged */
.card-brand a:hover {
  color: #1558b0;
  text-decoration: none; }

/* =========================
   CURRENT / NOW PRICE (RED)
   ========================= */
.price--main,
.price--withTax,
.price--withoutTax,
.card-price {
  color: #d32f2f !important;
  font-weight: 700;
  font-size: 16px; }

/* =========================
   WAS / MSRP PRICE (GREY)
   ========================= */
.price--rrp,
.price--non-sale,
.price--discounted {
  color: #9e9e9e !important;
  font-weight: 400;
  font-size: 13px; }

/* =========================
   "each" text next to price
   ========================= */
.price--withTax::after,
.price--withoutTax::after {
  color: #7a7a7a;
  font-size: 12px;
  font-weight: 400; }

/* Category + search grids: product title links */
body .card .card-title a,
body .card .card-title > a,
body .productGrid .card .card-title a,
body .productGrid .card-title a,
body .productCarousel .card-title a {
  color: #337AB7 !important; }

/* If the title text is inside a span */
body .card .card-title a span,
body .card .card-title > a span {
  color: #337AB7 !important; }

/* Hover */
body .card .card-title a:hover {
  color: #005fa3 !important; }

/* Product card SKU (Mfr. Part#) */
.card-sku {
  margin-top: 6px;
  font-size: 12px;
  color: #777;
  line-height: 1.4; }

.card-sku .sku-label {
  font-weight: 500;
  color: #666; }

.card-sku .sku-value {
  font-weight: 400;
  color: #888; }

/* Newsletter heading */
.newsletter-heading {
  color: #ffffff !important;
  font-weight: 700 !important; }

/* Newsletter sub text */
.newsletter-intro {
  color: #ffffff !important;
  font-weight: 400 !important;
  margin-top: 6px;
  font-size: 15px;
  line-height: 1.4; }

/* Footer About column */
.footer-about {
  color: #b2b2b2; }

.footer-about-text {
  color: #b2b2b2 !important;
  font-size: 14px;
  line-height: 1.5 !important;
  margin: 8px 0 12px 0 !important;
  padding: 0; }

.footer-about-logo {
  display: block;
  max-width: 200px;
  /* smaller + cleaner */
  height: auto;
  margin-top: 8px;
  opacity: 0.85;
  /* subtle, premium */ }

/* Contact items layout */
.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.6; }

/* Label (Phone / Email / Address) */
.footer-contact-item .footer-label {
  color: #ffffff;
  font-weight: 600;
  min-width: 70px;
  flex-shrink: 0; }

/* Contact links/text */
.footer-contact-item a {
  color: #b2b2b2;
  text-decoration: none; }

.footer-contact-item a:hover {
  color: #ffffff; }

/* Social links cleanup */
.footer-social {
  margin-top: 16px;
  display: flex;
  gap: 14px; }

.footer-social a {
  color: #ffffff;
  font-weight: 600;
  text-decoration: none !important;
  font-size: 15px;
  opacity: 0.9; }

.footer-social a:hover {
  opacity: 1; }

/* Mobile centering */
@media (max-width: 767px) {
  .footer-contact-item {
    flex-direction: column;
    align-items: center;
    text-align: center; }
  .footer-contact-item .footer-label {
    min-width: auto;
    margin-bottom: 2px; }
  .footer-social {
    justify-content: center; } }

/* Ensure the payment icon row is aligned */
/* Force Stripe to match Visa size */
.footer-payment-icons .footer-payment-icon.stripe {
  width: 120px !important;
  height: 40px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: left !important;
  opacity: 0.45;
  display: inline-block !important;
  vertical-align: middle !important; }

.footer-payment-icons .footer-payment-icon.stripe {
  background-image: url("https://cdn11.bigcommerce.com/s-tyqb00uuns/images/stencil/original/image-manager/stripe-logo-.png?t=1770067294") !important; }

@media (max-width: 767px) {
  footer .footer-info-col:last-child {
    text-align: center !important; }
  footer .footer-info-col:last-child * {
    text-align: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important; } }

/* === Match Featured Products Typography === */
/* Section heading */
.gc-best-sellers .page-heading {
  font-size: 28px;
  /* matches Cool Vault section heading */
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 24px; }

/* Product title */
.gc-best-sellers .product-title,
.gc-best-sellers .card-title,
.gc-best-sellers .product .card-title a,
.gc-best-sellers .product-title a {
  font-size: 14px;
  /* same as Featured Products */
  font-weight: 600;
  line-height: 1.35; }

/* Mfr / SKU line */
.gc-best-sellers .product-sku,
.gc-best-sellers .product .sku {
  font-size: 12px;
  color: #6b7280; }

/* Price */
.gc-best-sellers .price,
.gc-best-sellers .product-price,
.gc-best-sellers .price--withoutTax {
  font-size: 14px;
  font-weight: 700;
  color: #d32f2f;
  /* matches your red pricing */ }

/* === SALE badge: force red circle === */
/* Common sale badge styles */
.sale-flag,
.sale-flag-side,
.sale-flag-sash,
.sale-text,
.sale-text-burst {
  background-color: #d32f2f !important;
  /* red */
  color: #ffffff !important; }

/* If the badge is a circular element */
.sale-flag,
.sale-flag-side {
  border-radius: 50% !important; }

/* Optional: make text a bit bolder */
.sale-text,
.sale-text-burst {
  font-weight: 700 !important; }

/* RFQ BigCommerce form wrapper */
.page-content form {
  max-width: 980px;
  margin: 0 auto; }

/* Grid layout */
.page-content form fieldset {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px; }

/* Full-width fields */
.page-content form textarea,
.page-content form select,
.page-content form input[type="file"] {
  grid-column: 1 / -1; }

/* Inputs */
.page-content form input,
.page-content form textarea,
.page-content form select {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #d9d9d9;
  font-size: 14px; }

/* Submit button */
.page-content form input[type="submit"] {
  background: #0b5ed7;
  color: #fff;
  padding: 12px 18px;
  border-radius: 10px;
  font-weight: 700;
  border: none; }

.procurement-trust {
  margin-top: 12px;
  border: 1px solid #e5e7eb;
  padding: 12px 14px;
  border-radius: 8px;
  background: #fafafa;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 28px;
  row-gap: 8px;
  align-items: start; }

.procurement-trust-item {
  font-size: 14px;
  line-height: 1.45; }

@media (max-width: 768px) {
  .procurement-trust {
    grid-template-columns: 1fr; }
  .procurement-trust-item {
    font-size: 13px; } }
