/* Homepage photo treatment. Source images and layout remain authoritative. */
body.home #tdsd-main-content .tdsd-product-card .pic,
body.home #tdsd-main-content .hero-slide .visual,
body.home #tdsd-main-content .pop-cat .ph {
  background: #fff;
}

body.home #tdsd-main-content .tdsd-product-card .pic {
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .035);
}

body.home #tdsd-main-content .pop-cat .ph {
  box-shadow: 0 2px 8px rgba(15, 23, 42, .045);
}

/* Small tonal adjustments preserve product colors and printed details. */
body.home #tdsd-main-content .tdsd-product-card .pic img,
body.home #tdsd-main-content .hero-slide .visual img,
body.home #tdsd-main-content .pop-cat .ph img,
body.home #tdsd-main-content .tdsd-rv .rv-card img {
  object-fit: contain;
  mix-blend-mode: normal;
  opacity: 1;
  image-rendering: auto;
  filter: brightness(1.02) contrast(1.01) saturate(1.01)
    drop-shadow(0 3px 7px rgba(15, 23, 42, .06));
}

/* Keep brand artwork in its original colors, including the hover state. */
body.home #tdsd-main-content .brand-cell img,
body.home #tdsd-main-content .brand-cell:hover img {
  object-fit: contain;
  mix-blend-mode: normal;
  opacity: 1;
  filter: none;
  image-rendering: auto;
}

/* Enhanced banners need no additional whole-image dimming or color filter. */
body.home #tdsd-main-content .hero-banner.has-img .bb,
body.home #tdsd-main-content .sub-banner.has-img .bb,
body.home #tdsd-main-content .campaign .cbg {
  z-index: 0;
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
}

/* Bright photo banners with a light RTL text backing and clear navy typography. */
body.home #tdsd-main-content .hero-banner.has-img::before,
body.home #tdsd-main-content .sub-banner.has-img::before {
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to left,
    rgba(255, 255, 255, .98) 0%,
    rgba(255, 255, 255, .96) 44%,
    rgba(255, 255, 255, .84) 54%,
    rgba(255, 255, 255, 0) 66%);
}

body.home #tdsd-main-content .campaign::before {
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to left,
    rgba(255, 255, 255, .98) 0%,
    rgba(255, 255, 255, .96) 32%,
    rgba(255, 255, 255, .82) 46%,
    rgba(255, 255, 255, .08) 68%,
    rgba(255, 255, 255, 0) 82%);
}

body.home #tdsd-main-content .hero-banner.has-img,
body.home #tdsd-main-content .sub-banner.has-img,
body.home #tdsd-main-content .hero-banner.has-img :is(.label, h3, p, .lnk),
body.home #tdsd-main-content .sub-banner.has-img :is(.label, h3, p),
body.home #tdsd-main-content .campaign :is(h2, p) {
  color: #10104a;
  opacity: 1;
  text-shadow: none;
}

body.home #tdsd-main-content .hero-banner.has-img :is(h3, p),
body.home #tdsd-main-content .sub-banner.has-img :is(h3, p) {
  max-width: 60%;
}

body.home #tdsd-main-content .campaign .cbtn,
body.home #tdsd-main-content .sub-banner.has-img .cta {
  background: #000098;
  color: #fff;
}

@media (max-width: 900px) {
  body.home #tdsd-main-content .campaign::before {
    background: linear-gradient(to left,
      rgba(255, 255, 255, .98) 0%,
      rgba(255, 255, 255, .96) 44%,
      rgba(255, 255, 255, .82) 68%,
      rgba(255, 255, 255, 0) 100%);
  }
}

@media (max-width: 760px) {
  /* Give the entire photograph its own area, with readable copy below it. */
  body.home #tdsd-main-content .campaigns {
    height: 354px;
    background: #fff;
  }
  body.home #tdsd-main-content .campaign .cbg {
    height: 190px;
    object-fit: cover;
  }
  body.home #tdsd-main-content .campaign::before {
    display: none;
  }
  body.home #tdsd-main-content .campaign .ctext {
    inset-block: auto 0;
    inset-inline: 0;
    width: 100%;
    max-width: 100%;
    height: 164px;
    padding: 16px 22px 28px;
    gap: 7px;
    background: #fff;
  }
  body.home #tdsd-main-content .campaigns .cdots i { background: #b7cecf; }
  body.home #tdsd-main-content .campaigns .cdots i.on { background: #000098; }
}

