/* Company cards: keep red affiliate CTAs and real service content. */
body.sl-v9-equipment .sl-v9-compare [hidden] { display: none !important; }
body.sl-v9-equipment .sl-v9-compare .sl-svc__main { display: block; order: 0; min-width: 0; }
body.sl-v9-equipment .sl-v9-compare .sl-svc__main > * { order: initial; }
body.sl-v9-equipment .sl-v9-compare .sl-v9-cards { align-items: stretch; }
body.sl-v9-equipment .sl-v9-compare .sl-svc__act { min-width: 0; }
body.sl-v9-equipment .sl-v9-compare .sl-svc__act .sl-svc__cta { width: 100%; box-sizing: border-box; }
/* Override the layout's inherited link color in every CTA state, including label spans. */
body.sl-v9-equipment .sl-v9-compare .sl-svc__act a.sl-svc__cta,
body.sl-v9-equipment .sl-v9-compare .sl-svc__act a.sl-svc__cta:is(:visited, :hover, :focus, :focus-visible, :active),
body.sl-v9-equipment .sl-v9-compare .sl-svc__act a.sl-svc__cta span { color: #fff; }
body.sl-v9-equipment .sl-v9-compare .sl-svc__act a.sl-svc__cta:hover { background: #ad3928; }
body.sl-v9-equipment .sl-v9-compare .sl-v9-selected [data-v9-price] { line-height: 1.5; }
/* The period selector is the primary comparison action. Keep native keyboard/mobile selection. */
body.sl-v9-equipment .sl-v9-compare .sl-v9-controls select { height: 60px; box-sizing: border-box; line-height: 1.5; }
body.sl-v9-equipment .sl-v9-compare select[data-v9-control="period"] {
  appearance: none; -webkit-appearance: none;
  background: #111 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath fill='white' d='M1 2h22L12 15z'/%3E%3C/svg%3E") no-repeat right 16px center / 22px 15px;
  color: #fff; border: 2px solid #111; border-radius: 0;
  min-height: 54px; min-width: 200px; padding: 12px 56px 12px 18px;
  font-size: 18px; font-weight: 800; cursor: pointer;
}
body.sl-v9-equipment .sl-v9-compare select[data-v9-control="period"]:hover { background-color: #333; }
body.sl-v9-equipment .sl-v9-compare select[data-v9-control="period"]:focus-visible { outline: 3px solid #bb3826; outline-offset: 4px; }
body.sl-v9-equipment .sl-v9-compare select[data-v9-control="period"] option { background: #fff; color: #111; }
body.sl-v9-equipment .sl-v9-compare .sl-v9-period-hint { flex-basis: 100%; grid-column: 1 / -1; margin: 0; font-size: 13px; color: #555; }
body.sl-v9-equipment .sl-v9-compare [data-v9-status] { font-size: 15px; font-weight: 700; line-height: 1.8; }
/* A separate line keeps the minimum-price qualifier away from the amount at every width. */
body.sl-v9-equipment .sl-v9-compare [data-v9-badge]:not(:empty) {
  display: table; width: fit-content; max-width: 100%; margin: 10px 0 12px;
  padding: 5px 9px; font-size: 11px; line-height: 1.6;
}
body.sl-v9-equipment .sl-v9-compare .sl-v9-card-rates > .sl-v9-shipping-note {
  margin: 12px 0 16px; white-space: pre-line;
}
body.sl-v9-equipment .sl-v9-compare .sl-v9-empty {
  margin: 24px 0; padding: 20px 0; border-block: 1px solid #ddd; font-size: 14px;
}
body.sl-v9-equipment .sl-v9-compare .sl-v9-empty p { margin: 0 0 12px; }
body.sl-v9-equipment .sl-v9-compare .sl-v9-empty button {
  background: #fff; color: #111; border: 1px solid #111; border-radius: 0;
  min-height: 44px; padding: 10px 16px; font: inherit; cursor: pointer;
}
body.sl-v9-equipment .sl-v9-compare[data-v9-count="1"] .sl-v9-cards {
  grid-template-columns: minmax(0, 1fr); max-width: 640px;
}
/* Shared main/rates/actions rows align the first official CTA even for two-link companies.
   Rows grow naturally when details open; no text or price is clipped. */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 761px) {
    body.sl-v9-equipment .sl-v9-compare .sl-v9-cards > .sl-svc {
      display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 16px;
    }
    body.sl-v9-equipment .sl-v9-compare .sl-v9-cards > .sl-svc > .sl-svc__main { grid-row: 1; }
    body.sl-v9-equipment .sl-v9-compare .sl-v9-cards > .sl-svc > .sl-v9-card-rates { grid-row: 2; order: initial; }
    body.sl-v9-equipment .sl-v9-compare .sl-v9-cards > .sl-svc > .sl-svc__act {
      grid-row: 3; order: initial; align-self: start; margin-top: 0; padding-top: 0;
      display: flex; flex-direction: column; gap: 8px;
    }
  }
}
@media (max-width: 760px) {
  body.sl-v9-equipment .sl-v9-compare select[data-v9-control="period"] { width: 100%; min-width: 0; }
  body.sl-v9-equipment .sl-v9-compare .sl-v9-controls { grid-template-columns: minmax(0, 1fr) minmax(96px, .5fr); }
  body.sl-v9-equipment .sl-v9-compare .sl-v9-cards { grid-template-columns: minmax(0, 1fr); }
  body.sl-v9-equipment .sl-v9-compare .sl-svc__act { margin-top: auto; }
}

/* Period unspecified: keep the single real-card list, without price ranking. */
body.sl-v9-equipment .sl-v9-compare select[data-v9-control="sort"]:disabled{opacity:.65;cursor:default}

/* Review links are text links; official filled CTAs keep their white labels. */
body.sl-v9-equipment .sl-v9-compare a.sl-svc__rev {
  color: #27618d;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  border-bottom-color: transparent;
}
body.sl-v9-equipment .sl-v9-compare a.sl-svc__rev:hover { color: #173f59; }
