.tv-black-friday-page {
  --tv-black-friday-ink: #202322;
  --tv-black-friday-lime: #d5f54b;
  --tv-black-friday-muted: #5b615e;
  --tv-black-friday-paper: #f4f6f0;
}

.tv-black-friday-page main { min-width: 0; }
.tv-black-friday-breadcrumb { margin-bottom: .85rem; }

.tv-black-friday-hero,
.tv-black-friday-home-banner {
  align-items: center;
  background: radial-gradient(ellipse at 100% 0, #3a4432 0, transparent 57%), #202322;
  border: 1px solid #394235;
  border-radius: 1.35rem;
  color: #fff;
  display: grid;
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.tv-black-friday-hero {
  gap: clamp(1rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1.6fr) minmax(150px, .65fr);
  padding: clamp(1.35rem, 4vw, 3.25rem);
}

.tv-black-friday-hero-copy,
.tv-black-friday-home-banner-copy { min-width: 0; position: relative; z-index: 2; }
.tv-black-friday-hero-copy { max-width: 780px; }

.tv-black-friday-kicker,
.tv-black-friday-home-banner-kicker {
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.5;
  margin: 0 0 .65rem;
  text-transform: uppercase;
}

.tv-black-friday-kicker { color: #40520b; }
.tv-black-friday-hero .tv-black-friday-kicker,
.tv-black-friday-home-banner-kicker { color: #d5f54b; }

.tv-black-friday-hero h1 {
  color: #fff;
  font-size: clamp(2rem, 4.8vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: 1.04;
  margin: 0;
  overflow-wrap: anywhere;
}

.tv-black-friday-hero h1 span {
  color: #d5f54b;
  display: block;
  font-size: .62em;
  letter-spacing: -.025em;
  line-height: 1.17;
  margin-top: .5em;
  max-width: 24ch;
}

.tv-black-friday-hero-copy > p:not(.tv-black-friday-kicker):not(.tv-black-friday-updated) {
  color: #e1e6dc;
  font-size: clamp(1rem, 1.7vw, 1.12rem);
  line-height: 1.65;
  margin: 1.2rem 0 0;
  max-width: 66ch;
}

.tv-black-friday-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.3rem;
}

.tv-black-friday-actions a {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: inherit;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  line-height: 1.35;
  max-width: 100%;
  min-height: 44px;
  overflow-wrap: anywhere;
  padding: .7rem 1rem;
  text-align: center;
  text-decoration: none;
}

.tv-black-friday-actions .tv-black-friday-primary {
  background: #d5f54b;
  border-color: #d5f54b;
  color: #202322;
}

.tv-black-friday-actions .tv-black-friday-text-link { border-color: transparent; text-decoration: underline; text-underline-offset: .2em; }
.tv-black-friday-actions a:hover { text-decoration: underline; text-underline-offset: .2em; }
.tv-black-friday-actions .tv-black-friday-primary:hover { background: #e2ff74; border-color: #e2ff74; }
.tv-black-friday-updated { color: #c0c9b9; font-size: .82rem; margin: .9rem 0 0; }

.tv-black-friday-hero-art {
  align-items: center;
  aspect-ratio: 1;
  background: #d5f54b;
  border-radius: 50%;
  color: #202322;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 300px;
  min-width: 0;
  padding: 1rem;
  text-align: center;
  transform: rotate(-7deg);
  width: 100%;
}

.tv-black-friday-hero-art > span {
  font-size: clamp(1.8rem, 4.6vw, 3.5rem);
  font-weight: 950;
  letter-spacing: -.065em;
  line-height: .86;
}

.tv-black-friday-hero-art > small { font-size: clamp(.65rem, 1.3vw, .85rem); font-weight: 800; margin-top: 1rem; }

.tv-black-friday-home-banner {
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(105px, 150px);
  margin-block: 1.5rem;
  min-height: 230px;
  padding: clamp(1.3rem, 3vw, 2rem);
}

.tv-black-friday-home-banner h2 {
  color: #fff;
  font-size: clamp(1.65rem, 4vw, 2.35rem);
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1.08;
  margin: 0;
}

.tv-black-friday-home-banner-intro { color: #e1e6dc; line-height: 1.5; margin: .75rem 0 0; max-width: 62ch; }
.tv-black-friday-home-banner-cta {
  align-items: center;
  background: #d5f54b;
  border: 1px solid #d5f54b;
  border-radius: 999px;
  color: #202322;
  display: inline-flex;
  font-weight: 900;
  gap: .7rem;
  justify-content: center;
  line-height: 1.3;
  margin-top: 1rem;
  max-width: 100%;
  min-height: 46px;
  padding: .7rem 1rem;
  text-align: center;
  text-decoration: none;
}

.tv-black-friday-home-banner-cta:hover { background: #e2ff74; border-color: #e2ff74; color: #202322; text-decoration: underline; }
.tv-black-friday-home-banner-art {
  align-items: center;
  aspect-ratio: 1;
  background: #d5f54b;
  border-radius: 50%;
  color: #202322;
  display: flex;
  flex-direction: column;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 950;
  justify-content: center;
  letter-spacing: -.065em;
  line-height: .9;
  min-width: 0;
  padding: 1rem;
  position: relative;
  text-align: center;
  transform: rotate(-7deg);
  width: 100%;
}

.tv-black-friday-home-banner-art small { font-size: .65rem; letter-spacing: .03em; line-height: 1.3; margin-top: .65rem; }

.tv-black-friday-section,
.tv-black-friday-guide,
.tv-black-friday-state { margin-top: clamp(1.7rem, 3vw, 2.5rem); scroll-margin-top: 6rem; }
.tv-black-friday-section-head { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.15rem; }
.tv-black-friday-section-head h2,
.tv-black-friday-guide h2,
.tv-black-friday-state h2 { color: var(--tv-black-friday-ink); font-size: clamp(1.4rem, 2.8vw, 2rem); font-weight: 850; letter-spacing: -.025em; line-height: 1.18; margin: 0; }
.tv-black-friday-section-head h3 { color: var(--tv-black-friday-ink); font-size: 1.4rem; font-weight: 800; line-height: 1.2; margin: 0; }
.tv-black-friday-section-head > p { color: var(--tv-black-friday-muted); line-height: 1.6; margin: 0; max-width: 57ch; }
.tv-black-friday-flyer-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tv-black-friday-flyer-card { background: #fff; border: 1px solid #dce1d5; border-radius: 1rem; display: flex; flex-direction: column; gap: .55rem; min-width: 0; padding: 1.15rem; }
.tv-black-friday-flyer-card-head { align-items: center; display: flex; gap: .85rem; margin-bottom: .2rem; }
.tv-black-friday-flyer-logo-shell { align-items: center; background: #fff; border: 1px solid #e3e7dd; border-radius: .65rem; display: flex; flex: 0 0 68px; height: 52px; justify-content: center; overflow: hidden; padding: .25rem; }
.tv-black-friday-flyer-logo-shell img { height: 100%; object-fit: contain; width: 100%; }
.tv-black-friday-flyer-card-head .tv-black-friday-flyer-kind { color: #455317; font-size: .72rem; font-weight: 900; letter-spacing: .07em; line-height: 1.4; margin: 0; text-transform: uppercase; }
.tv-black-friday-flyer-card h3 { font-size: 1.1rem; font-weight: 800; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
.tv-black-friday-flyer-card h3 a,
.tv-black-friday-flyer-link,
.tv-black-friday-inline-empty a,
.tv-black-friday-state a { color: #34430e; font-weight: 800; text-underline-offset: .2em; }
.tv-black-friday-flyer-card p { color: var(--tv-black-friday-muted); line-height: 1.5; margin: 0; }
.tv-black-friday-flyer-validity { font-size: .86rem; }
.tv-black-friday-flyer-validity strong { color: #34430e; }
.tv-black-friday-flyer-link { line-height: 1.4; margin-top: auto; padding-top: .6rem; }
.tv-black-friday-more { margin-top: 1rem; }
.tv-black-friday-more summary { color: #34430e; cursor: pointer; font-weight: 800; line-height: 1.5; min-height: 44px; padding: .7rem 0; }
.tv-black-friday-more[open] > summary { margin-bottom: .5rem; }
.tv-black-friday-inline-empty,
.tv-black-friday-state { background: #f4f6f0; border: 1px solid #dce1d5; border-radius: 1rem; color: #4b5347; line-height: 1.65; padding: 1.15rem; }
.tv-black-friday-state { border-left: 5px solid #91a635; padding: clamp(1.25rem, 3vw, 2rem); }
.tv-black-friday-state > p:not(.tv-black-friday-kicker) { margin: .8rem 0; max-width: 86ch; }
.tv-black-friday-inline-empty p { margin: 0; }
.tv-black-friday-inline-empty p + a { display: inline-block; margin-top: .5rem; }
.tv-black-friday-nearby-flyers { margin-top: 1rem; }
.tv-black-friday-nearby-flyers .tv-black-friday-actions { margin-top: .65rem; }
.tv-black-friday-categories { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.5rem; }
.tv-black-friday-categories a { align-items: center; border: 1px solid #cdd6b6; border-radius: 999px; color: #34430e; display: inline-flex; font-size: .88rem; font-weight: 800; gap: .5rem; line-height: 1.35; max-width: 100%; min-height: 44px; padding: .6rem .9rem; text-decoration: none; }
.tv-black-friday-categories a:hover { background: #f0f5df; text-decoration: underline; }
.tv-black-friday-categories a span { color: #5b6740; font-size: .8rem; font-weight: 700; }
.tv-black-friday-products-section { margin-top: 1.75rem; scroll-margin-top: 6rem; }
.tv-black-friday-offer { display: flex; flex-direction: column; min-width: 0; }
.tv-black-friday-offer .tv-product-card { flex: 1; }
.tv-black-friday-preview,
.tv-black-friday-offer-period { border-radius: .6rem; font-size: .78rem; font-weight: 800; line-height: 1.4; margin: 0 0 .45rem; padding: .5rem .7rem; }
.tv-black-friday-preview { background: #e6f4af; color: #34430e; }
.tv-black-friday-offer-period { background: #f4f6f0; color: #4b5347; }
.tv-black-friday-guide { background: #f4f6f0; border: 1px solid #dce1d5; border-radius: 1.2rem; padding: clamp(1.25rem, 3vw, 2rem); }
.tv-black-friday-guide > p { color: #4b5347; line-height: 1.7; margin: 1rem 0 0; max-width: 100ch; }
.tv-black-friday-guide-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.25rem; }
.tv-black-friday-guide-grid p { background: #fff; border: 1px solid #e5e9df; border-radius: .85rem; color: #4b5347; line-height: 1.65; margin: 0; padding: 1rem; }
.tv-black-friday-guide-grid strong { color: #202322; }
.tv-black-friday-page main a:focus-visible,
.tv-black-friday-page main summary:focus-visible,
.tv-black-friday-home-banner-cta:focus-visible { outline: 3px solid #597400; outline-offset: 4px; }
.tv-black-friday-hero a:focus-visible,
.tv-black-friday-home-banner-cta:focus-visible { outline-color: #fff; }

@media (max-width: 950px) {
  .tv-black-friday-flyer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tv-black-friday-section-head { align-items: flex-start; flex-direction: column; gap: .6rem; }
}

@media (max-width: 700px) {
  .tv-black-friday-hero { gap: 1.4rem; grid-template-columns: minmax(0, 1fr); }
  .tv-black-friday-hero-art { aspect-ratio: auto; border-radius: .75rem; flex-direction: row; gap: 1rem; justify-content: space-between; max-width: none; padding: .8rem 1rem; transform: none; }
  .tv-black-friday-hero-art > span { font-size: 1.5rem; line-height: .9; text-align: left; }
  .tv-black-friday-hero-art > small { font-size: .8rem; margin-top: 0; }
  .tv-black-friday-home-banner { grid-template-columns: minmax(0, 1fr) 105px; min-height: 0; }
  .tv-black-friday-home-banner-art { font-size: 1.5rem; }
  .tv-black-friday-flyer-grid,
  .tv-black-friday-guide-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 460px) {
  .tv-black-friday-home-banner { gap: 1rem; grid-template-columns: minmax(0, 1fr); }
  .tv-black-friday-home-banner-art { aspect-ratio: auto; border-radius: .65rem; flex-direction: row; font-size: 1.25rem; gap: 1rem; justify-content: space-between; padding: .65rem .9rem; transform: none; }
  .tv-black-friday-home-banner-art small { margin-top: 0; }
  .tv-black-friday-home-banner-cta { justify-content: space-between; width: 100%; }
  .tv-black-friday-hero .tv-black-friday-actions { align-items: stretch; flex-direction: column; }
  .tv-black-friday-hero .tv-black-friday-actions a { width: 100%; }
  .tv-black-friday-categories a { border-radius: .7rem; flex: 1 1 auto; justify-content: space-between; }
}
