/* Product-page order controls. Scoped to bps- classes so the site stylesheet
   keeps ownership of the page. */
.bps-order-box {
  margin: 20px 0 4px;
  padding: 18px 0 2px;
  border-top: 1px solid var(--line, #dce6ef);
  font-family: "Manrope", Arial, sans-serif;
  color: var(--ink, #17324d);
}
.bps-order-box[hidden] { display: none !important; }
.bps-order-box-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
  margin-bottom: 12px;
}
.bps-order-box-label {
  color: #157a2e;
  font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.bps-order-box-note { color: var(--muted, #5d6f82); font-size: 12px; text-align: right; }
.bps-order-controls { display: flex; flex-wrap: wrap; align-items: stretch; gap: 9px; }
.bps-stepper {
  display: inline-flex; align-items: center; min-height: 48px;
  border: 1px solid #b4c5d6; border-radius: 5px; background: #fff; overflow: hidden;
}
.bps-stepper button {
  width: 42px; min-height: 46px; padding: 0; border: 0; background: #fff;
  color: var(--ink, #17324d); font: 700 17px/1 "Manrope", Arial, sans-serif; cursor: pointer;
}
.bps-stepper button:hover { background: #f4f8fb; color: var(--brand-blue, #003f83); }
.bps-stepper button:disabled { color: #b8cadb; cursor: not-allowed; background: #fff; }
.bps-stepper output {
  min-width: 40px; text-align: center;
  font: 400 13px/1 "DM Mono", monospace; color: var(--ink, #17324d);
}
.bps-add {
  flex: 1 1 190px; min-height: 48px; padding: 11px 18px;
  border: 1px solid #157a2e; border-radius: 5px;
  background: #157a2e; color: #fff;
  font: 800 14px/1.3 "Manrope", Arial, sans-serif; cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease;
}
.bps-add:hover, .bps-add:focus-visible { background: #0f5f22; border-color: #0f5f22; }
.bps-add:disabled { opacity: .6; cursor: progress; }
.bps-quote-inline {
  display: inline-flex; align-items: center; min-height: 48px;
  color: var(--brand-blue, #003f83); font-size: 12.5px; font-weight: 700;
  text-decoration: none; border-bottom: 1px solid #b8cadb; align-self: center;
}
.bps-order-stock {
  margin: 10px 0 0; color: var(--muted, #5d6f82); font-size: 11.5px; line-height: 1.5;
}
.bps-order-unavailable {
  margin: 0; padding: 12px 14px; border: 1px solid #dce6ef; border-left: 3px solid #b8cadb;
  border-radius: 5px; background: #f7fafc; color: var(--muted, #5d6f82); font-size: 12.5px;
}
.bps-order-unavailable a { color: var(--brand-blue, #003f83); font-weight: 700; }

/* Header cart link */
.bps-cart-link {
  display: inline-flex; align-items: center; gap: 8px;
  margin-right: 4px; color: var(--ink, #17324d); text-decoration: none;
  font-family: "Manrope", Arial, sans-serif; font-size: 13px; font-weight: 700;
}
.bps-cart-link:hover { color: var(--brand-blue, #003f83); }
.bps-cart-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 21px; height: 21px; padding: 0 6px; border-radius: 999px;
  background: #157a2e; color: #fff;
  font: 700 11px/1 "Manrope", Arial, sans-serif;
}
.bps-cart-count[data-empty="true"] { background: #dce6ef; color: #5d6f82; }

/* Floating cart on narrow screens */
.bps-cart-float {
  position: fixed; left: 16px; bottom: 18px; z-index: 60;
  display: none; align-items: center; gap: 8px;
  min-height: 46px; padding: 9px 15px; border: 0; border-radius: 999px;
  background: #003f83; color: #fff; box-shadow: 0 6px 22px #0b274a2e;
  font: 800 12.5px/1.2 "Manrope", Arial, sans-serif; cursor: pointer;
}
.bps-cart-float .bps-cart-count { background: #fff; color: #003f83; }
@media (max-width: 760px) { .bps-cart-float { display: none; } .bps-cart-float[data-visible="true"] { display: inline-flex; } }

/* Drawer */
.bps-drawer { position: fixed; inset: 0; z-index: 90; font-family: "Manrope", Arial, sans-serif; }
.bps-drawer[hidden] { display: none !important; }
.bps-drawer-backdrop { position: absolute; inset: 0; background: #0b1b2b66; }
.bps-drawer-panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(94vw, 430px);
  display: flex; flex-direction: column; background: #fff;
  border-left: 1px solid #dce6ef; box-shadow: -18px 0 50px #0b274a22;
}
.bps-drawer-head {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 20px 22px; border-bottom: 1px solid #dce6ef;
}
.bps-drawer-head h2 { margin: 0; color: #003f83; font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.bps-drawer-close {
  width: 36px; height: 36px; padding: 0; border: 1px solid #b4c5d6; border-radius: 4px;
  background: #fff; color: #17324d; font-size: 17px; line-height: 1; cursor: pointer;
}
.bps-drawer-list { list-style: none; margin: 0; padding: 0 22px; overflow-y: auto; flex: 1; }
.bps-drawer-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 12px; padding: 16px 0; border-bottom: 1px dashed #b8cadb; }
.bps-drawer-item img { width: 52px; height: 52px; object-fit: contain; border: 1px solid #dce6ef; background: #fff; }
.bps-drawer-name { margin: 0; font-size: 13.5px; font-weight: 800; line-height: 1.35; color: #17324d; }
.bps-drawer-meta { margin: 3px 0 0; color: #5d6f82; font-size: 11.5px; line-height: 1.45; }
.bps-drawer-qty { display: inline-flex; align-items: center; gap: 4px; margin-top: 7px; }
.bps-drawer-qty button {
  width: 25px; height: 25px; padding: 0; border: 1px solid #b4c5d6; border-radius: 3px;
  background: #fff; color: #17324d; font-size: 13px; cursor: pointer;
}
.bps-drawer-qty span { min-width: 24px; text-align: center; font: 400 11.5px/1 "DM Mono", monospace; }
.bps-drawer-price { font-size: 13px; font-weight: 800; color: #17324d; white-space: nowrap; }
.bps-drawer-remove { display: block; margin-top: 5px; padding: 0; border: 0; background: none; color: #5d6f82; font-size: 11px; text-decoration: underline; cursor: pointer; }
.bps-drawer-empty { padding: 30px 0; color: #5d6f82; font-size: 14px; }
.bps-drawer-foot { padding: 18px 22px 22px; border-top: 1px solid #dce6ef; background: #f4f8fb; }
.bps-drawer-total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 6px; }
.bps-drawer-total span { color: #5d6f82; font-size: 12.5px; }
.bps-drawer-total strong { color: #003f83; font-size: 21px; font-weight: 800; letter-spacing: -.02em; }
.bps-drawer-note { margin: 0 0 14px; color: #5d6f82; font-size: 11.5px; line-height: 1.5; }
.bps-drawer-checkout {
  display: flex; align-items: center; justify-content: center; min-height: 50px;
  border-radius: 5px; background: #157a2e; color: #fff; text-decoration: none;
  font-size: 14px; font-weight: 800;
}
.bps-drawer-checkout:hover { background: #0f5f22; }
.bps-drawer-continue {
  display: block; margin-top: 12px; padding: 0; border: 0; background: none;
  color: #003f83; font-size: 12.5px; font-weight: 700; text-align: center; text-decoration: underline; cursor: pointer;
}
body.bps-drawer-open { overflow: hidden; }
.bps-toast {
  position: fixed; left: 50%; bottom: 26px; z-index: 80;
  display: inline-flex; align-items: center; gap: 14px;
  max-width: calc(100% - 32px); padding: 12px 16px;
  border-radius: 5px; background: #003f83; color: #fff;
  box-shadow: 0 10px 30px #0b274a33;
  font: 700 13px/1.35 "Manrope", Arial, sans-serif;
  transform: translate(-50%, 8px); opacity: 0; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.bps-toast[data-visible="true"] { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.bps-toast a { color: #fff; text-decoration: underline; white-space: nowrap; }
@media (max-width: 560px) {
  .bps-order-box-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .bps-order-box-note { text-align: left; }
  .bps-order-controls { gap: 8px; }
  .bps-add { flex-basis: 100%; }
  .bps-quote-inline { width: 100%; justify-content: center; border-bottom: 0; }
  .bps-toast { bottom: 82px; }
}
@media (prefers-reduced-motion: reduce) {
  .bps-toast, .bps-add { transition: none; }
}

/* The store box is the primary order action; demote the legacy quote button. */
body.bps-store-active .product-quote-actions { display: none !important; }
body.bps-store-active .product-secondary-actions a[data-product-inquiry] { display: none !important; }

@media (max-width: 480px) { .bps-cart-label { display: none; } }

/* Directory row order buttons */
.bps-dir-order {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 62px; min-height: 44px; margin-right: 6px; padding: 9px 12px;
  border: 1px solid #157a2e; border-radius: 5px;
  background: #157a2e; color: #fff;
  font: 800 12.5px/1.2 "Manrope", Arial, sans-serif; cursor: pointer;
  white-space: nowrap;
}
.bps-dir-order:hover, .bps-dir-order:focus-visible { background: #0f5f22; border-color: #0f5f22; }
.bps-dir-order:disabled { background: #fff; border-color: #dce6ef; color: #8a9aab; cursor: not-allowed; }

/* Keep site text links and the directory Quote control at AA contrast on pages
   where the store controls are active. The global stylesheet uses the same
   darker green after the production release. */
body.bps-store-page .text-link,
body.bps-directory-store .text-link,
body.bps-store-page .nav-active,
body.bps-directory-store .nav-active,
body.bps-directory-store .inline-link,
body.bps-directory-store .eyebrow,
body.bps-directory-store .directory-table td[data-directory-inquiry] .directory-item-quote { color: #157a2e; }
body.bps-directory-store .directory-table td[data-directory-inquiry] .directory-item-quote { background: #157a2e; border-color: #157a2e; color: #fff; }

body.bps-directory-store .directory-table td[data-directory-inquiry] .directory-item-quote:hover { background: #0f5f22; border-color: #0f5f22; color: #fff; }

/* Product-page value ladder */
.bps-unit-price { margin: 4px 0 0; color: #5d6f82; font-size: 12px; font-weight: 650; }
.bps-tier-table { margin: 14px 0 0; padding: 13px 14px 12px; border: 1px solid #dce6ef; border-radius: 6px; background: #f7fafc; }
.bps-tier-title { margin: 0 0 10px; color: #17324d; font-size: 12px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.bps-tier-title span { color: #6b7f92; font-size: 10px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.bps-tier-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.bps-tier-grid > div { min-width: 0; padding: 8px 6px; border-radius: 5px; background: #fff; text-align: center; }
.bps-tier-grid span { display: block; color: #6b7f92; font-size: 10.5px; font-weight: 600; }
.bps-tier-grid strong { display: block; margin: 3px 0 1px; color: #157a2e; font-size: 13px; font-weight: 800; }
.bps-tier-grid small { display: block; color: #17324d; font-size: 10.5px; }
.bps-tier-note { margin: 9px 0 0; color: #5d6f82; font-size: 10.8px; line-height: 1.45; }
@media (max-width: 520px) {
  .bps-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.bps-doc-line { margin: 9px 0 0; color: #5d6f82; font-size: 11.5px; line-height: 1.5; }
.bps-doc-line strong { color: #17324d; font-weight: 700; }
.bps-doc-line a { color: #157a2e; text-decoration: underline; }
