/*
Winter Holiday Sale offer
*/

:root {
   /* Winter Holiday palette */
   --wh-red: #b01b2e;
   /* primary red */
   --wh-red-dark: #7f1321;
   --wh-green: #0f3d2e;
   --wh-green-dark: #082219;
   --wh-gold: #f6c453;
   --wh-cream: #fff7ef;
   --wh-white: #ffffff;
   --wh-muted: #e7d4d8;
}

/* Marquee strip for Winter */
.marquee--winter {
   background: var(--wh-red);
   color: #ffffff;
}

.marquee--winter .track--winter {
   display: inline-block;
   padding: 6px 0;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .12em;
   font-size: 12px;
}

/* Main Winter banner */
.offer-banner--winter {
   position: relative;
   background:
      repeating-linear-gradient(135deg,
         var(--wh-red-dark),
         var(--wh-red-dark) 12px,
         var(--wh-red) 12px,
         var(--wh-red) 24px);
   color: var(--wh-white);
   padding: 40px 16px;
   margin: 0 0 24px;
   overflow: hidden;
   border-top: 2px solid rgba(246, 196, 83, .5);
   border-bottom: 2px solid rgba(246, 196, 83, .5);
}

.offer-banner--winter::after {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   box-shadow:
      0 0 0 2px rgba(246, 196, 83, .3) inset,
      0 0 24px rgba(15, 61, 46, .35) inset;
}

/* Card */
.offer-card--winter {
   position: relative;
   max-width: 1100px;
   margin: 0 auto;
   text-align: center;
   border: 3px dashed rgba(246, 196, 83, .9);
   padding: 28px 16px;
   border-radius: 14px;
   background:
      radial-gradient(circle at top left, rgba(246, 196, 83, .18), transparent 55%),
      radial-gradient(circle at bottom right, rgba(15, 61, 46, .22), transparent 55%),
      #1a0d13;
}

/* Headline */
.offer-sub--winter {
   margin: 0 0 14px;
   font-size: 28px;
   font-weight: 800;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--wh-cream);
}

.offer-sub--winter span {
   display: inline-block;
   margin-top: 4px;
   font-weight: 700;
   text-decoration: underline;
   text-decoration-thickness: 2px;
   text-decoration-color: var(--wh-gold);
   color: var(--wh-gold);
}

/* Chips / badges */
.offer-chips--winter {
   display: flex;
   flex-wrap: wrap;
   flex-direction: column;
   gap: 10px;
   justify-content: center;
   margin-top: 8px;
   line-height: 1.3;
}

.chip--winter-primary {
   padding: 8px 12px;
   border-radius: 11px;
   font-size: 16px;
   max-width: 600px;
   margin-left: auto;
   margin-right: auto;
}

.chip--winter-primary {
   background: linear-gradient(120deg, var(--wh-green), var(--wh-green-dark));
   color: #ffffff;
   box-shadow:
      0 0 0 1px rgba(246, 196, 83, .5) inset,
      0 0 14px rgba(0, 0, 0, .35);
}


.chip--winter-primary strong,
.chip--winter-secondary strong {
   font-weight: 700;
}

.chip--winter-secondary {
   font-size: 14px;
}

.chip--winter-primary strong {
   text-transform: uppercase;
   font-size: 18px;
}

.chip-description {
   margin-top: 4px;
   display: block;
   font-size: 14px;
   opacity: .9;
}

/* Note */
.offer-note--winter {
   display: block;
   margin-top: 5px;
   color: var(--wh-cream);
   font-size: 14px;
   font-weight: 400;
}

.offer-note--winter .smaller-note {
   font-size: 11px;
   opacity: .9;
}

/* Stock urgency reused, but recolored for Winter */
.stock-urgency {
   max-width: 500px;
   margin-left: auto;
   margin-right: auto;
   margin-top: 12px;
   text-align: center;
}

.stock-urgency__label {
   display: flex;
   align-items: center;
   justify-self: center;
   gap: 6px;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: .04em;
   text-transform: uppercase;
   color: #ffffff;
   margin-bottom: 5px;
}

.stock-urgency__dot {
   width: 8px;
   height: 8px;
   border-radius: 999px;
   background: var(--wh-gold);
   box-shadow: 0 0 0 0 rgba(246, 196, 83, .7);
   animation: stock-dot-pulse-winter 1.6s ease-out infinite;
}

.stock-urgency__bar::before {
   content: "";
   display: block;
   width: 100%;
   height: 6px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .18);
}

.stock-urgency__bar-fill {
   position: relative;
   margin-top: -6px;
   height: 6px;
   width: 34%;
   border-radius: 999px;
   background: linear-gradient(90deg, var(--wh-gold), var(--wh-red));
   box-shadow: 0 0 8px rgba(246, 196, 83, .8);
   overflow: hidden;
   /* animation: stock-bar-glow-winter 2.2s ease-in-out infinite;*/
}

/* Animations */
@keyframes stock-dot-pulse-winter {
   0% {
      transform: scale(1);
      box-shadow: 0 0 0 0 rgba(246, 196, 83, .7);
   }

   70% {
      transform: scale(1.4);
      box-shadow: 0 0 0 10px rgba(246, 196, 83, 0);
   }

   100% {
      transform: scale(1);
      box-shadow: 0 0 0 0 rgba(246, 196, 83, 0);
   }
}

@keyframes stock-bar-glow-winter {
   0% {
      width: 36%;
      box-shadow: 0 0 8px rgba(246, 196, 83, .8);
   }

   50% {
      width: 30%;
      box-shadow: 0 0 14px rgba(15, 61, 46, .9);
   }

   100% {
      width: 34%;
      box-shadow: 0 0 8px rgba(246, 196, 83, .8);
   }
}

/* Winter: popular sizes almost gone (low availability bar) */
.stock-urgency__bar-fill--low {
   height: 6px;
   border-radius: 999px;
   background: linear-gradient(90deg, var(--wh-gold), var(--wh-red));
   box-shadow: 0 0 8px rgba(246, 196, 83, .8);
   /*animation: stock-bar-low-availability 2.4s ease-in-out infinite;*/
}

/* Slightly smaller, breathing bar = almost sold out */
@keyframes stock-bar-low-availability {
   0% {
      width: 28%;
      box-shadow: 0 0 8px rgba(246, 196, 83, .8);
   }

   50% {
      width: 20%;
      box-shadow: 0 0 14px rgba(176, 27, 46, .9);
   }

   100% {
      width: 26%;
      box-shadow: 0 0 8px rgba(246, 196, 83, .8);
   }
}


/* Responsive tweaks */
@media (max-width: 768px) {
   .offer-banner--winter {
      padding: 20px 16px;
      margin: 0;
   }

   .offer-card--winter {
      padding: 18px 14px;
   }

   .offer-sub--winter {
      font-size: 22px;
   }

   .stock-urgency__label {
      font-size: 12px;
   }

}