/* Campaign only; shared cards, homepage styles and ribbons retain their rendering. */
.black-friday-page { padding: 0 0 48px; }
/* Show whole cards plus 16px of the next (previous at the end). The hint stays
   within card padding, so off-screen tea links remain wholly outside the snapport. */
.black-friday-page .home-campaign-carousel { width: min(100% - 32px, 1320px); }
.black-friday-page .home-campaign-viewport { scroll-snap-type: x mandatory; scroll-padding-inline: 0; }
.black-friday-page .home-campaign-track { gap: 16px; padding-inline: 0; }
.black-friday-page .home-campaign-slide { flex-basis: calc((100% - 64px) / 3) !important; scroll-snap-align: start; }
.black-friday-page .black-friday-card { grid-template-rows: auto auto 1fr; aspect-ratio: auto; padding-inline: 30px; }
.black-friday-page .black-friday-card:hover { transform: none; box-shadow: 0 4px 12px #261a231a; }
.black-friday-page .black-friday-card .home-campaign-copy > span { overflow-wrap: anywhere; }
.black-friday-page .black-friday-card .home-campaign-images { align-self: start; }
.black-friday-page .black-friday-card__graphic,
.black-friday-page .black-friday-card__placeholder,
.black-friday-page .black-friday-card__tile { aspect-ratio: 1; min-width: 0; border-radius: 8px; }
.black-friday-page .black-friday-card__tile { position: relative; }
.black-friday-page .black-friday-card__graphic {
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  container-type: inline-size;
  background: #111; color: #d5bb76; font-family: var(--font-display); font-weight: 700;
  font-size: clamp(1.5rem, 3.5vw, 3rem); line-height: 1.05; text-transform: uppercase;
}
.black-friday-page .black-friday-card__graphic > span:first-child { font-size: 30cqi; }
.black-friday-page .black-friday-card__graphic > span:last-child { font-size: .55em; font-size: 16.5cqi; letter-spacing: .06em; }
.black-friday-page .home-campaign-card--ink .black-friday-card__graphic { background: #d5bb76; color: #111; }
.black-friday-page .black-friday-card__placeholder { border: 1px dashed var(--border); background: var(--paper); }
.black-friday-page .black-friday-card__tile > a { width: 100%; height: 100%; border-radius: inherit; }
.black-friday-page .black-friday-card__tile > a:hover { box-shadow: 0 0 0 2px currentColor; }
.black-friday-page .black-friday-card__tile > a:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.black-friday-page .black-friday-card__cta {
  display: inline-flex; align-items: center; align-self: end; gap: 7px; min-height: 44px; width: fit-content;
  font-family: var(--font-utility); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.black-friday-page .black-friday-card__cta:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.black-friday-page .black-friday-off-season { padding-block: 16px; }
.black-friday-page .black-friday-off-season nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.black-friday-page .black-friday-off-season a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.black-friday-page .black-friday-ribbon { overflow: hidden; overflow: clip; padding-block: max(32px, calc(1.75% + 2px)); }
.black-friday-page .black-friday-ribbon__band {
  display: flex; align-items: center; height: 48px; width: calc(100% + 64px); margin-inline: -32px;
  background: #111; color: #fff; transform: rotate(-2deg);
}
.black-friday-page .black-friday-ribbon--b .black-friday-ribbon__band { transform: rotate(2deg); }
.black-friday-page .black-friday-ribbon--gold .black-friday-ribbon__band { background: var(--champagne, #d5bb76); color: #111; }
.black-friday-page .black-friday-ribbon__track {
  display: flex; flex: none; width: max-content; animation: black-friday-ribbon-scroll 30s linear infinite;
}
.black-friday-page .black-friday-ribbon__run {
  flex: none; white-space: pre; font-family: var(--font-utility); font-size: 1.125rem;
  font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.black-friday-page .black-friday-ribbon__separator { font-family: system-ui, "Segoe UI Symbol", "Apple Symbols", "Noto Sans Symbols 2", sans-serif; }
.black-friday-page .black-friday-ribbon--b .black-friday-ribbon__track { animation-direction: reverse; }
.black-friday-page .black-friday-ribbon--gold .black-friday-ribbon__track { animation-direction: reverse; }
@keyframes black-friday-ribbon-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.black-friday-page .black-friday-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.black-friday-page .black-friday-every-deal { padding-top: 24px; padding-bottom: 24px; }
.black-friday-page .black-friday-about { padding-top: 24px; }
@media (max-width: 1100px) {
  .black-friday-page .home-campaign-slide { flex-basis: calc((100% - 48px) / 2) !important; }
}
@media (max-width: 900px) {
  .black-friday-page .black-friday-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .black-friday-page .home-campaign-track { gap: 8px; }
  .black-friday-page .home-campaign-slide { flex-basis: calc(100% - 24px) !important; }
  .black-friday-page .black-friday-card { padding-inline: 20px; }
  .black-friday-page .black-friday-card__graphic,
  .black-friday-page .black-friday-card__placeholder,
  .black-friday-page .black-friday-card__tile { border-radius: 6px; }
  .black-friday-page .black-friday-ribbon { padding-block: 12px; }
  .black-friday-page .black-friday-ribbon__band { height: 40px; transform: rotate(-1.5deg); }
  .black-friday-page .black-friday-ribbon--b .black-friday-ribbon__band { transform: rotate(1.5deg); }
  .black-friday-page .black-friday-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .black-friday-page .black-friday-ribbon__track { animation: none; }
}
