:root {
  --reach-b2b-navy: #132a3f;
  --reach-b2b-gold: #e9a82e;
  --reach-b2b-border: #d7e0e7;
  --reach-b2b-soft: #f5f8fa;
  --reach-b2b-success: #27734c;
}

.reach-b2b-company-account,
.reach-b2b-quotes,
.reach-b2b-guest-quote,
.reach-b2b-product-information,
.reach-b2b-import-order,
.reach-b2b-recent-products {
  color: var(--reach-b2b-navy);
}

.reach-b2b-company-account > section,
.reach-b2b-quote,
.reach-b2b-guest-quote,
.reach-b2b-import-order,
.reach-b2b-recent-products {
  margin: 1.25rem 0;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--reach-b2b-border);
  border-radius: 14px;
  background: #fff;
}

.reach-b2b-quote h3,
.reach-b2b-company-account h2,
.reach-b2b-company-account h3,
.reach-b2b-quotes h2 {
  color: var(--reach-b2b-navy);
}

.reach-b2b-product-quote,
.reach-b2b-cart-quote,
.reach-b2b-guest-quote form,
.reach-b2b-restock-form,
.reach-b2b-import-order form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.75rem;
  margin: 1rem 0;
}

.reach-b2b-product-quote input,
.reach-b2b-cart-quote input,
.reach-b2b-cart-quote textarea,
.reach-b2b-guest-quote input,
.reach-b2b-guest-quote textarea,
.reach-b2b-restock-form input,
.reach-b2b-import-order textarea,
.reach-b2b-import-order input {
  min-height: 46px;
  padding: 0.7rem 0.8rem;
  border: 1px solid #aebdca;
  border-radius: 8px;
  background: #fff;
  color: var(--reach-b2b-navy);
}

.reach-b2b-cart-quote textarea,
.reach-b2b-guest-quote textarea,
.reach-b2b-import-order textarea {
  flex: 1 0 100%;
  min-height: 110px;
}

.reach-b2b-product-quote button,
.reach-b2b-cart-quote button,
.reach-b2b-guest-quote button,
.reach-b2b-restock-form button,
.reach-b2b-import-order button {
  min-height: 46px;
  padding: 0.7rem 1.1rem;
  border: 1px solid var(--reach-b2b-navy);
  border-radius: 8px;
  background: var(--reach-b2b-navy);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.reach-b2b-product-quote button:hover,
.reach-b2b-cart-quote button:hover,
.reach-b2b-guest-quote button:hover,
.reach-b2b-restock-form button:hover,
.reach-b2b-import-order button:hover {
  border-color: #0b1b2a;
  background: #0b1b2a;
  color: #fff;
}

.reach-b2b-price-comparison {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem 0.8rem;
}

.reach-b2b-msrp {
  color: #5c6c79;
  text-decoration: line-through;
}

.reach-b2b-trade-price {
  color: var(--reach-b2b-navy);
  font-size: 1.15em;
  font-weight: 800;
}

.reach-b2b-savings {
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: #e8f5ed;
  color: var(--reach-b2b-success);
  font-size: 0.88em;
  font-weight: 700;
}

.reach-b2b-product-information {
  margin: 1rem 0;
  padding: 1rem 1.1rem;
  border-left: 4px solid var(--reach-b2b-gold);
  border-radius: 8px;
  background: var(--reach-b2b-soft);
}

.reach-b2b-bulk-variations,
.reach-b2b-quotes .shop_table,
.reach-b2b-company-account table {
  width: 100%;
  border-collapse: collapse;
}

.reach-b2b-bulk-variations th,
.reach-b2b-bulk-variations td,
.reach-b2b-quotes .shop_table th,
.reach-b2b-quotes .shop_table td,
.reach-b2b-company-account th,
.reach-b2b-company-account td {
  padding: 0.75rem;
  border-bottom: 1px solid var(--reach-b2b-border);
  text-align: left;
  vertical-align: middle;
}

.reach-b2b-discontinued {
  border-left-color: #b73b3b !important;
}

@media (max-width: 720px) {
  .reach-b2b-product-quote > *,
  .reach-b2b-cart-quote > *,
  .reach-b2b-guest-quote form > *,
  .reach-b2b-restock-form > * {
    width: 100%;
  }

  .reach-b2b-bulk-variations,
  .reach-b2b-quotes .shop_table,
  .reach-b2b-company-account table {
    display: block;
    overflow-x: auto;
  }
}

/* Appliance model lookup and product compatibility */
.reach-model-lookup,
.reach-product-compatibility-checker {
  margin: 1rem 0;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border: 1px solid var(--reach-b2b-border);
  border-radius: 12px;
  background: #fff;
  color: var(--reach-b2b-navy);
}

.reach-model-lookup form,
.reach-product-compatibility-checker {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.75rem;
}

.reach-model-lookup form > label,
.reach-product-compatibility-checker > label {
  flex: 1 1 280px;
  margin: 0;
}

.reach-model-lookup input,
.reach-product-compatibility-checker input {
  width: 100%;
  min-height: 48px;
  margin-top: 0.45rem;
  border: 1px solid var(--reach-b2b-border);
  border-radius: 8px;
  background: #fff;
}

.reach-model-lookup button,
.reach-product-compatibility-checker button {
  min-height: 48px;
}

.reach-product-compatibility-checker button.is-loading {
  position: relative;
  padding-right: 2.65rem;
  cursor: wait;
}

.reach-product-compatibility-checker button.is-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.9rem;
  width: 0.95rem;
  height: 0.95rem;
  margin-top: -0.55rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: reach-b2b-spin 0.75s linear infinite;
}

.reach-compatibility-result {
  flex-basis: 100%;
}

.reach-compatibility-result .woocommerce-message,
.reach-compatibility-result .woocommerce-info,
.reach-compatibility-result .woocommerce-error {
  margin: 0.25rem 0 0;
}

.reach-model-captured {
  margin: 0.55rem 0 0;
  color: #506978;
  font-size: 0.9rem;
}

@keyframes reach-b2b-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
  .reach-model-lookup form > *,
  .reach-product-compatibility-checker > * {
    width: 100%;
  }
}

/* REACH customer service workflows */
.reach-service-portal,
.reach-order-shipments {
  --reach-service-ink: #1B2A38;
  --reach-service-muted: #506978;
  --reach-service-border: #DCDDD9;
  --reach-service-accent: #E2A63C;
  color: var(--reach-service-ink);
}

.reach-service-form {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
}

.reach-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.reach-service-form label {
  display: grid;
  gap: 0.45rem;
  color: var(--reach-service-ink);
  font-weight: 700;
}

.reach-service-form label small,
.reach-return-item small {
  color: var(--reach-service-muted);
  font-weight: 400;
  line-height: 1.5;
}

.reach-service-form input:not([type="checkbox"]):not([type="radio"]),
.reach-service-form select,
.reach-service-form textarea {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid var(--reach-service-border);
  border-radius: 8px;
  background: #fff;
}

.reach-service-form textarea {
  min-height: 125px;
  resize: vertical;
}

.reach-service-form input:focus,
.reach-service-form select:focus,
.reach-service-form textarea:focus {
  outline: none;
  border-color: #3A5A73;
  box-shadow: 0 0 0 3px rgba(58, 90, 115, 0.14);
}

.reach-service-consent,
.reach-condition-grid label {
  display: flex !important;
  align-items: flex-start;
  gap: 0.65rem !important;
  font-weight: 500 !important;
}

.reach-service-consent input,
.reach-condition-grid input {
  flex: 0 0 auto;
  width: 19px !important;
  height: 19px !important;
  min-height: 0 !important;
  margin-top: 0.1rem;
}

.reach-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.reach-service-card {
  margin: 1rem 0;
  padding: 1.25rem;
  border: 1px solid var(--reach-service-border, #DCDDD9);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 42, 56, 0.06);
}

.reach-service-card h2,
.reach-service-card h3 {
  margin-top: 0.25rem;
  color: var(--reach-service-ink, #1B2A38);
}

.reach-service-kicker {
  display: inline-block;
  color: #3A5A73;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reach-service-card dl {
  display: grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: 0.5rem 1rem;
}

.reach-service-card dt {
  color: var(--reach-service-muted, #506978);
  font-weight: 700;
}

.reach-service-card dd {
  margin: 0;
}

.reach-service-reply,
.reach-service-notice {
  margin: 1rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid #C8D8E2;
  border-left: 4px solid #3A5A73;
  border-radius: 8px;
  background: #EDF2F5;
}

.reach-service-notice.is-warning,
.reach-part-reference-notice.is-warning {
  border-color: #E2D1AB;
  border-left-color: var(--reach-service-accent, #E2A63C);
  background: #FFF9EE;
}

.reach-part-reference-notice {
  margin: 0 0 1.25rem;
}

.reach-part-reference-notice ul {
  margin: 0.75rem 0;
}

.reach-shipment-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.reach-shipment-card__header > strong {
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: #EDF2F5;
  color: #2C465B;
  white-space: nowrap;
}

.reach-return-item {
  display: grid !important;
  grid-template-columns: 1fr 100px;
  gap: 0.5rem 1rem !important;
  align-items: center;
  margin: 0.75rem 0;
  padding: 0.9rem;
  border: 1px solid var(--reach-service-border, #DCDDD9);
  border-radius: 8px;
  font-weight: 500 !important;
}

.reach-return-item small {
  grid-column: 1 / -1;
}

.reach-return-item.is-ineligible {
  opacity: 0.65;
  background: #f7f7f7;
}

@media (max-width: 700px) {
  .reach-service-grid,
  .reach-service-card dl,
  .reach-return-item {
    grid-template-columns: 1fr;
  }

  .reach-shipment-card__header {
    flex-direction: column;
  }
}
.reach-model-diagrams{margin:28px 0}.reach-model-diagram{border:1px solid #d8dee5;border-radius:12px;background:#fff;margin:12px 0;overflow:hidden}.reach-model-diagram>summary{cursor:pointer;padding:15px 18px;font-weight:700;color:#1b2a38;background:#f6f5f2}.reach-model-diagram__body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;padding:18px}.reach-model-diagram__image img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#fff}.reach-model-diagram__parts{max-height:720px;overflow:auto}.reach-model-diagram__parts table{width:100%;border-collapse:collapse}.reach-model-diagram__parts th,.reach-model-diagram__parts td{padding:9px 8px;border-bottom:1px solid #e7ebef;text-align:left;vertical-align:top}.reach-model-diagram__parts th{position:sticky;top:0;background:#f6f5f2;color:#1b2a38;z-index:1}@media(max-width:800px){.reach-model-diagram__body{grid-template-columns:1fr}.reach-model-diagram__parts{max-height:none}}
