.hpc-card-quote-select {
  box-sizing: border-box;
  display: inline-flex;
  vertical-align: top !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  cursor: pointer;
  /* READ MORE's empty basket icon lowers its text baseline by about 5px. */
  padding-top: 10px !important;
  padding-bottom: 1px !important;
}
.hpc-card-quote-select.hpc-card-selected {
  background: #a40017 !important;
  border-color: #a40017 !important;
  color: #fff !important;
}
.hpc-view-product-link {
  font-size: 16px;
  font-weight: 700;
}
.hpc-tray[hidden] { display: none; }
.hpc-tray {
  position: fixed;
  z-index: 10020;
  right: 0;
  bottom: 0;
  left: 0;
  max-height: 45vh;
  overflow-y: auto;
  padding: 12px max(18px, calc((100vw - 1200px)/2));
  background: #fff;
  border-top: 2px solid #a40017;
  box-shadow: 0 -3px 16px #0002;
  color: #242424;
}
body.hpc-tray-open { padding-bottom: 180px; }
.hpc-tray-heading, .hpc-tray-items { display: flex; align-items: center; gap: 16px; }
.hpc-tray-heading { justify-content: space-between; }
.hpc-tray-heading strong { font-size: 17px; }
.hpc-clear, .hpc-remove { border: 0; background: transparent; color: #a40017; cursor: pointer; }
.hpc-tray-items { flex-wrap: wrap; margin: 10px 0; }
.hpc-tray-item { display: flex; align-items: center; gap: 8px; flex: 1 1 180px; max-width: 270px; min-width: 0; }
.hpc-tray-item img { width: 48px; height: 48px; object-fit: contain; }
.hpc-tray-item > div { display: flex; flex-direction: column; align-items: start; min-width: 0; }
.hpc-item-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 175px; font-size: 12px; }
.hpc-tray-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; flex-wrap: wrap; }
.hpc-compare-button { display: inline-block; border-radius: 4px; padding: 9px 16px; background: #a40017; color: #fff !important; font-weight: 600; }
.hpc-compare-button[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.hpc-tray-status { font-size: 13px; }
.hpc-page { padding-top: 70px; padding-bottom: 70px; }
.hpc-page h1 { margin-bottom: 12px; font-size: 40px; line-height: 1.2; }
.hpc-message { margin: 25px 0; padding: 20px; border-left: 4px solid #a40017; background: #f8f8f8; }
.hpc-table-scroll { max-width: 100%; overflow-x: auto; margin: 25px 0; }
.hpc-table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.hpc-table th, .hpc-table td { border: 1px solid #ddd; padding: 13px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.hpc-table thead th { background: #f5f5f5; }
.hpc-table thead th:first-child, .hpc-table tbody th { width: 180px; }
.hpc-table tbody th { position: sticky; left: 0; z-index: 1; background: #f5f5f5; }
.hpc-table tbody tr:nth-child(even) td { background: #fafafa; }
.hpc-product-heading { display: flex; flex-direction: column; gap: 8px; }
.hpc-product-heading img { display: block; width: 140px; height: 140px; object-fit: contain; }
.hpc-product-heading strong { font-size: 15px; }
.hpc-product-heading span { font-size: 13px; font-weight: 400; }
.hpc-product-heading a { color: #a40017; font-weight: 600; }
@media (max-width: 767px) {
  .hpc-page { padding-top: 35px; }
  .hpc-page h1 { font-size: 32px; }
  .hpc-table-scroll { max-width: calc(100% - 45px); }
  .hpc-tray { max-height: 55vh; padding: 10px 16px; }
  .hpc-tray-item { flex-basis: 120px; }
  .hpc-item-name { max-width: 110px; }
  .hpc-tray-actions { flex-basis: 100%; }
  body.hpc-tray-open { padding-bottom: 240px; }
}
