/* Find Your Ride: compact category cards and a single, shared product rail. */
body.template-page-black-friday-preview #main-content .ks-bmrc--selector {
  --ride-selection: var(--bf-on-dark, #fff);
  --ride-ink: #151617;
  --ride-line: var(--bf-dark-line, #414144);
  --ride-gap: 16px;
  --ride-motion: cubic-bezier(.22, 1, .36, 1);
  /* Normalized critical damping: (1 - (1 + 8t)e^-8t) / (1 - 9e^-8). */
  @supports (animation-timing-function: linear(0, 1)) {
    --ride-motion: linear(0, .1447, .3861, .5958, .7475, .848, .9112, .9496, .9724, .9856, .9932, .9976, 1);
  }
  overflow: clip;

  .ks-bmrc__header { text-align: left; }
  .ks-bmrc__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: var(--ride-gap);
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  .ks-bmrc__card { overflow: visible; min-width: 0; }
  .ks-bmrc__card-link {
    display: block;
    height: clamp(128px, 11vw, 172px);
    min-height: 0;
    border-radius: var(--bf-radius, 16px);
    background: var(--ride-ink);
    color: #fff;
  }
  .ks-bmrc__card-link::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 2px solid var(--ride-selection);
    opacity: 0;
    border-radius: inherit;
    pointer-events: none;
  }
  .ks-bmrc__card-link[aria-selected='true']::after { opacity: 1; }
  .ks-bmrc__card-link:focus-visible { outline: 2px solid var(--ride-selection); outline-offset: 3px; }
  .ks-bmrc__media { position: absolute; inset: 0; }
  .ks-bmrc__image { object-position: center 48%; }
  .ks-bmrc__card-link[aria-selected='false'] .ks-bmrc__image { transform: scale(1.055); }
  .ks-bmrc__card-link[aria-selected='true'] .ks-bmrc__image { object-position: center 36%; transform: scale(1); }
  .ks-bmrc__scrim { background: linear-gradient(180deg, transparent 22%, rgb(0 0 0 / .86) 100%); }
  .ks-bmrc__copy { position: absolute; padding: 16px; }
  .ks-bmrc__copy h3 { font-size: clamp(16px, 1.5vw, 22px); line-height: 1.2; letter-spacing: -.01em; }
  .ks-bmrc__copy p { margin: 4px 0 0; color: rgb(255 255 255 / .9); font-size: 13px; line-height: 1.3; }
  .ks-bmrc__selected {
    display: inline-flex;
    opacity: 0;
    transform: translateY(-4px);
    position: absolute;
    inset: 9px 9px auto auto;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    background: var(--ride-selection);
    color: var(--ride-ink);
  }
  .ks-bmrc__card-link[aria-selected='true'] .ks-bmrc__selected { opacity: 1; transform: none; }
  .ks-bmrc__card-link[aria-selected='false']:not(:hover) .ks-bmrc__media { filter: brightness(.82); }
  &:not([data-ride-ready='true']) .ks-bmrc__recommendations:not(:has(:target)) > .ks-bmrc__recommendation:not(:first-child),
  &:not([data-ride-ready='true']) .ks-bmrc__recommendations:has(:target) > .ks-bmrc__recommendation:not(:target) { display: none; }
  .ks-bmrc__recommendations { margin-top: 24px; border-top: 1px solid var(--ride-line); }
  .ks-bmrc__recommendation[hidden] { display: none; }
  .ks-bmrc__series-heading { margin: 24px 0 12px; }
  .ks-bmrc__series-heading h3 { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.2; }
  .ks-bmrc__series .ks-product-rail__track {
    box-sizing: border-box;
    width: calc(100% + var(--ride-bleed, 0px) + 18px);
    gap: var(--ks-home-card-gap);
    margin-inline-start: -18px;
    padding: 12px var(--ride-bleed, 16px) 12px 18px;
    scroll-padding-inline-start: 18px;
  }
  .ks-bmrc__series .ks-product-rail__item { flex: 0 0 var(--ks-home-card-width); }
  .ks-bmrc__series .ks-product-rail__controls { padding: 12px 0 0; }

  @media (min-width: 1001px) {
    .ks-bmrc__grid { display: flex; }
    .ks-bmrc__card { flex: 1 1 0%; }
    .ks-bmrc__card:has([aria-selected='true']) { flex-grow: 2.35; }
    .ks-bmrc__card-link { height: clamp(174px, 16vw, 240px); }
    .ks-bmrc__copy { padding: 20px; }
  }
  @media (prefers-reduced-motion: no-preference) {
    &[data-ride-changed='true'] .ks-bmrc__card { transition: flex-grow 540ms var(--ride-motion); }
    .ks-bmrc__card-link::after { transition: opacity 240ms var(--ride-motion); }
    .ks-bmrc__card-link .ks-bmrc__media { transition: filter 380ms var(--ride-motion); }
    .ks-bmrc__card-link .ks-bmrc__image { transition: transform 540ms var(--ride-motion), object-position 540ms var(--ride-motion); }
    .ks-bmrc__selected { transition: opacity 250ms ease, transform 380ms var(--ride-motion); }
    &[data-ride-changed='true'] .ks-bmrc__recommendation:not([hidden]) .ks-bmrc__series {
      animation: ks-ride-series-in 380ms var(--ride-motion) both;
    }
  }

  @media (max-width: 1000px) {
    .ks-bmrc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  }
  @media (max-width: 749px) {
    .ks-bmrc__card-link { height: clamp(100px, 29vw, 140px); }
    .ks-bmrc__copy { padding: 10px 12px; }
    .ks-bmrc__copy h3 { font-size: 14px; }
    .ks-bmrc__copy p { display: none; }
    .ks-bmrc__selected { inset: 6px 6px auto auto; min-height: 20px; padding: 2px 6px; font-size: 10px; }
    .ks-bmrc__selected svg { width: 12px; height: 12px; }
    .ks-bmrc__recommendations { margin-top: 20px; }
    .ks-bmrc__series-heading { margin-top: 20px; }
    .ks-bmrc__series .ks-product-rail__track { padding-top: 12px; }
  }
}

@keyframes ks-ride-series-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
