/* Local Black Friday preview: the existing neon/pink palette with black accents. */
.dt-bfm-preview,
.dt-bfm-ticker-preview {
   --bfm-black: #111111;
   --bfm-neon: #f0ff7f;
   --bfm-pink: #ff3181;
   --bfm-paper: #fff4f8;
}

body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper {
   background: var(--bfm-black) !important;
   color: #fff;
   border-bottom: 1px solid #303030;
}

body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper #offer-message {
   color: #fff !important;
}

body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper .top-bar-countdown {
   background: var(--bfm-pink) !important;
   color: #fff;
   gap: 8px;
}

body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper .top-bar-countdown-label,
body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper .top-bar-countdown-value {
   color: #fff;
}

body.dt-bfm-preview .sticky-header-wrapper>.dt-guarantee-strip,
body.dt-bfm-preview #mobile-header .dt-guarantee-strip {
   background: var(--bfm-neon);
}

.dt-bfm-preview .bfm-ribbon {
   background: var(--bfm-black);
   color: var(--bfm-neon);
}

.dt-bfm-preview .bfm-ribbon__inner {
   max-width: 1240px;
   width: calc(100% - 80px);
   margin: auto;
   min-height: 42px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   font: 700 10px/1.4 'Work Sans', sans-serif;
   letter-spacing: 1.25px;
}

.dt-bfm-preview .bfm-ribbon__slogan {
   color: #fff;
   font-weight: 500;
   letter-spacing: .15px;
}

.dt-bfm-preview .bfm-ribbon__date {
   white-space: nowrap;
}

.dt-bfm-preview .bfm-live-dot {
   display: inline-block;
   width: 7px;
   height: 7px;
   border-radius: 50%;
   margin-right: 9px;
   background: var(--bfm-pink);
   box-shadow: 0 0 0 4px rgb(255 49 129 / 10%);
   vertical-align: 1px;
}

/* All visible home-hero copy is baked into the generated campaign artwork.
   Intrinsic image dimensions keep both desktop and mobile type uncropped.
   Other active offers retain the unchanged original V2 hero. */
.dt-bfm-preview .bfm-home {
   display: none;
   margin: 0;
   padding: 0;
   background: #111;
}

html[data-dt-url-offer="2plus1"] .dt-bfm-preview .bfm-home,
html[data-dt-url-offer="underwear2plus1"] .dt-bfm-preview .bfm-home {
   display: block;
}

html[data-dt-url-offer="2plus1"] .dt-bfm-preview .bfm-home-original,
html[data-dt-url-offer="underwear2plus1"] .dt-bfm-preview .bfm-home-original {
   display: none;
}

.dt-bfm-preview .bfm-home__link,
.dt-bfm-preview .bfm-home picture,
.dt-bfm-preview .bfm-home img {
   display: block;
   width: 100%;
}

.dt-bfm-preview .bfm-home__link {
   position: relative;
   text-decoration: none;
}

.dt-bfm-preview .bfm-home img {
   height: auto;
   max-width: none;
}

.dt-bfm-preview .bfm-home__link:focus-visible {
   outline: 4px solid var(--bfm-neon);
   outline-offset: -6px;
}

/* The cached original shop layout remains available for other offer states. */
.dt-bfm-preview.dt-shop-hero-refresh .sr-hero {
   --sr-ink: #111111;
   --sr-muted: #66545c;
   --sr-line: #eed7df;
   --sr-paper: #fff9fa;
   --sr-blush: #fff4f8;
   --sr-pink: #111111;
   --sr-action: #111111;
   --sr-pink-dark: #c6165b;
   --sr-yellow: #f0ff7f;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero .sr-eyebrow {
   color: #b91450;
   letter-spacing: 1.8px;
   font-weight: 700;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero__intro>.dt-url-offer-copy[data-dt-offer-copy="2plus1"] {
   color: #111;
   font: 600 clamp(24px, 2.3vw, 31px)/1.25 'Work Sans', sans-serif;
   letter-spacing: -.7px;
   text-decoration: none;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero__deal-note {
   margin-bottom: 12px;
}

.dt-bfm-preview .bfm-price-note {
   display: inline-block;
   color: #111;
   background: var(--bfm-neon);
   padding: 7px 12px;
   margin: 0 0 23px;
   font: 600 13px/1.4 'Work Sans', sans-serif;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero a.sr-button {
   color: var(--bfm-neon);
   font-weight: 700;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero a.sr-button:hover {
   color: #fff;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero a.sr-button:focus-visible {
   outline: 3px solid #c6165b;
   outline-offset: 4px;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-gift__badge {
   background: #c6165b;
   color: #fff;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-gift__plus {
   color: #c6165b;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-gift::before {
   background: var(--bfm-neon);
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero__photo figcaption {
   color: #111;
}

.dt-bfm-preview.dt-shop-hero-refresh .sr-hero__photo {
   border: 1px solid #eadde2;
}

.dt-bfm-preview .v2-trust-strip {
   background: var(--bfm-neon);
   color: #111;
}

.dt-bfm-preview .v2-trust-strip__item {
   color: #111;
}

.dt-bfm-preview .v2-trust-strip__divider {
   background: rgb(0 0 0 / 20%);
}

@media (max-width: 991px) {
   .dt-bfm-preview .bfm-ribbon__slogan {
      display: none;
   }

   .dt-bfm-preview .bfm-ribbon__inner {
      width: calc(100% - 56px);
   }
}

@media (max-width: 767px) {
   .dt-bfm-preview .bfm-ribbon__inner {
      width: calc(100% - 40px);
      min-height: 34px;
      font-size: 8px;
      gap: 10px;
      letter-spacing: .8px;
   }

   .dt-bfm-preview.dt-shop-hero-refresh .sr-hero .sr-eyebrow {
      margin-bottom: 16px;
   }

   .dt-bfm-preview .bfm-price-note {
      font-size: 12px;
      margin-bottom: 16px;
   }

   .dt-bfm-preview .v2-trust-strip__inner {
      flex-wrap: wrap;
      row-gap: 10px;
   }
}

/* Only the matching native offer reveals the image campaign. The cached
   original heroes continue to handle every other offer without new state. */
.dt-bfm-preview .bfm-catalog {
   display: none;
}

html[data-dt-url-offer="2plus1"] .dt-bfm-preview .bfm-catalog {
   display: block;
}

html[data-dt-url-offer="2plus1"] .dt-bfm-preview .bfm-catalog-original {
   display: none;
}

html[data-dt-url-offer="2plus1"] .dt-bfm-preview .bfm-catalog-host {
   padding: 0;
   background: var(--bfm-paper);
   color: var(--bfm-black);
}

.dt-bfm-preview .bfm-catalog {
   font-family: 'Work Sans', sans-serif;
}

.dt-bfm-preview .bfm-catalog__art {
   background: #21190e;
   padding: 0;
}

.dt-bfm-preview .bfm-catalog__link {
   display: block;
   width: 100%;
   max-width: 1100px;
   margin: auto;
}

.dt-bfm-preview .bfm-catalog__link picture,
.dt-bfm-preview .bfm-catalog__link img {
   display: block;
   width: 100%;
   height: auto;
}

.dt-bfm-preview .bfm-catalog__link:focus-visible {
   outline: 4px solid var(--bfm-neon);
   outline-offset: -6px;
}

/* Equal groups loop automatically; duplicated copy is hidden from screen readers. */
:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker {
   position: relative;
   overflow: hidden;
   color: var(--bfm-neon);
   background: var(--bfm-black);
   border-top: 3px solid var(--bfm-pink);
   border-bottom: 3px solid var(--bfm-pink);
}

:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__window {
   overflow: hidden;
}

:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__track {
   display: flex;
   width: max-content;
   animation: bfm-ticker-loop 32s linear infinite;
}

:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__group {
   display: flex;
   flex: 0 0 auto;
   align-items: center;
   justify-content: space-around;
   gap: 30px;
   min-width: 100vw;
   padding: 11px 30px 11px 0;
   font-size: clamp(19px, 1.7vw, 25px);
   font-weight: 800;
   letter-spacing: -.35px;
   line-height: 1.2;
   white-space: nowrap;
}

:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__group strong {
   color: var(--bfm-pink);
   font-size: 1.15em;
   font-weight: 900;
}

:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__group i {
   color: var(--bfm-pink);
   font-size: 16px;
   font-style: normal;
}

@keyframes bfm-ticker-loop {
   to {
      transform: translateX(-50%);
   }
}

.dt-bfm-preview .bfm-proof {
   padding: 10px 24px;
   background: var(--bfm-paper);
}

.dt-bfm-preview .bfm-proof__inner {
   display: grid;
   grid-template-columns: 280px minmax(0, 1fr);
   align-items: center;
   gap: 22px;
   width: min(790px, 100%);
   margin: auto;
}

.dt-bfm-preview .bfm-proof__comparison {
   position: relative;
   margin: 0;
   border: 0;
}

.dt-bfm-preview .bfm-proof__copy {
   padding: 16px 0;
}

.dt-bfm-preview .bfm-proof__comparison>img {
   display: block;
   width: 100%;
   height: auto;
}

.dt-bfm-preview .bfm-proof__comparison figcaption {
   position: absolute;
   inset: auto 0 0;
   display: grid;
   grid-template-columns: 1fr 1fr;
   text-align: center;
   font-size: 9px;
   font-weight: 600;
   line-height: 1.3;
}

.dt-bfm-preview .bfm-proof__comparison figcaption>* {
   padding: 6px 2px;
   background: #fff;
}

.dt-bfm-preview .bfm-proof__comparison figcaption strong {
   background: var(--bfm-neon);
}

.dt-bfm-preview .bfm-proof__price {
   display: inline;
   background: var(--bfm-neon);
   box-decoration-break: clone;
   -webkit-box-decoration-break: clone;
   padding: 1px 5px;
   font-size: clamp(19px, 2.2vw, 27px);
   font-weight: 800;
   line-height: 1.3;
   letter-spacing: -.8px;
}

.dt-bfm-preview .bfm-proof__comfort {
   margin: 14px 0 8px;
   font-size: 16px;
   line-height: 1.4;
   font-weight: 600;
   max-width: 440px;
}

.dt-bfm-preview .bfm-proof__rating {
   display: flex;
   align-items: center;
   gap: 9px;
   flex-wrap: wrap;
   font-size: 11px;
   line-height: 1.4;
}

.dt-bfm-preview .bfm-proof__rating>img {
   width: 90px;
   height: 18px;
}

.dt-bfm-preview #shop-buy-section {
   scroll-margin-top: 175px;
}

.dt-bfm-ticker-preview .bfm-category-ticker {
   display: none;
}

html[data-dt-url-offer="2plus1"] .dt-bfm-ticker-preview .bfm-category-ticker,
html[data-dt-url-offer="underwear2plus1"] .dt-bfm-ticker-preview .bfm-category-ticker {
   display: block;
}

@media (max-width: 767px) {
   .dt-bfm-preview .bfm-catalog__art {
      padding: 0;
   }

   :is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__group {
      font-size: 18px;
      gap: 22px;
      padding: 10px 22px 10px 0;
   }

   :is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__track {
      animation-duration: 28s;
   }

   .dt-bfm-preview .bfm-proof {
      padding: 10px 12px 10px 0;
   }

   .dt-bfm-preview .bfm-proof__inner {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 12px;
      max-width: 510px;
   }

   .dt-bfm-preview .bfm-proof__price {
      font-size: 17px;
      letter-spacing: -.5px;
      line-height: 1.35;
   }

   .dt-bfm-preview .bfm-proof__comfort {
      font-size: 12px;
      line-height: 1.4;
      margin: 10px 0 7px;
   }

   .dt-bfm-preview .bfm-proof__rating {
      font-size: 10px;
      gap: 5px;
   }

   .dt-bfm-preview #shop-buy-section {
      scroll-margin-top: 145px;
   }

   body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper .top-bar-countdown {
      gap: 1px;
   }

   body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper .top-bar-countdown-label,
   body:is(.dt-bfm-preview, .dt-bfm-ticker-preview) .top-bar-wrapper .top-bar-countdown-value {
      margin: 0;
      padding: 0 !important;
      line-height: 1.1;
   }
}

@media (prefers-reduced-motion: reduce) {
   :is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__track {
      animation: none;
      width: 100%;
   }

   :is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__window {
      margin-right: 0;
   }

   :is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__group {
      min-width: 0;
      width: 100%;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px 12px;
      padding: 10px 12px;
      white-space: normal;
      text-align: center;
      font-size: 15px;
   }

   :is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__group> :nth-child(n+6),
   :is(.dt-bfm-preview, .dt-bfm-ticker-preview) .bfm-ticker__group+.bfm-ticker__group {
      display: none;
   }
}