/* Seasonal layer, loaded only inside the configured festival window. */
.sb-festive {
  --sb-primary: #b53619;
  --sb-primary-dark: #8f2413;
  --sb-primary-soft: #fff1d9;
  --sb-ink: #30102e;
  --sb-ink-2: #4b193c;
  --sb-bg: #fff8ed;
  --sb-line: #eedcc9;
}
.sb-festive .site-header { background: linear-gradient(110deg, #30102e, #541937); border-top: 4px solid #f3b94b; }
.sb-festive .storefront-primary-navigation { background: #30102e; }
.sb-festive .site-header .widget_product_search input[type='search'] { background: #491e43; border-color: #855a78; }
.sb-festive .site-header .widget_product_search input[type='search']::placeholder { color: #e8cddd; }
.sb-festive .main-navigation ul li a:hover,
.sb-festive .main-navigation ul.menu > li.current-menu-item > a { color: #ffd17b; }
.sb-festive-greeting {
  display: flex; align-items: center; justify-content: center; gap: 22px;
  background: #ffedc7; color: #641e31; padding: 13px 20px; text-align: center;
  font-size: 13px; line-height: 1.6; border-bottom: 1px solid #edc781;
}
.sb-festive-greeting strong { margin-right: 12px; }
.sb-festive-greeting__flower { color: #aa341d; font-size: 30px; line-height: 1; }
.sb-festive .sb-trust-strip { background: #6c243c; letter-spacing: .065em; }
.sb-festive .sb-hero__slide--festive {
  background: radial-gradient(ellipse at 88% 60%, #9c3c36 0, #601c40 38%, #30102e 78%);
  min-height: 560px; isolation: isolate;
}
.sb-festive .sb-hero__slide--festive::before {
  inset: 0 0 auto; height: 24px; opacity: .9;
  background: radial-gradient(ellipse at 50% 0, #ffbb43 0 9px, #e77b21 10px 13px, transparent 14px) 0 0 / 38px 25px repeat-x;
}
.sb-festive-art {
  position: absolute; inset: 0 0 0 45%; pointer-events: none; z-index: -1;
  background: url('rangoli.svg') center / min(100%, 660px) auto no-repeat;
}
.sb-festive .sb-hero__slide--festive .sb-hero__inner { z-index: 1; }
.sb-festive .sb-hero__slide--festive .sb-hero__kicker { color: #ffd184; }
.sb-festive .sb-hero__slide--festive .sb-hero__title { color: #fff2d2; font-size: clamp(3.7rem, 7.2vw, 6.5rem); }
.sb-festive .sb-hero__slide--festive .sb-hero__sub { max-width: 30rem; color: #f3dbe4; }
.sb-festive .sb-hero__slide--festive .sb-btn-primary { background: #ffd17b !important; border-color: #ffd17b !important; color: #421329 !important; }
.sb-festive .sb-hero__slide--festive .sb-btn-primary:hover { background: #ffe4ac !important; }
.sb-festive .sb-hero__slide--festive .sb-btn-ghost { background: transparent !important; border: 1px solid #e5b6cc !important; }
.sb-festive .sb-hero__dot { min-height: 44px; width: 32px; background: transparent !important; position: relative; }
.sb-festive .sb-hero__dot::after { content: ''; position: absolute; inset: 20px 0; background: #e0bacb; border-radius: 4px; }
.sb-festive .sb-hero__dot.is-active::after { background: #ffc969; }
.sb-festive .sb-hero__dot.is-active { background: transparent !important; }
.sb-festive .sb-ticker { background: #ffcc6b; color: #421329; }
.sb-festive .sb-usp { background: #fff8ed; }
.sb-festive .sb-section__head .sb-eyebrow { color: #9b321d; }
.sb-festive ul.products li.product { border: 1px solid #eedcc9; }
.sb-festive .site-footer { background: #30102e; }
/* The festive red is too dark to read as a hover on plum; use marigold. */
.sb-festive .site-footer .sb-footer .sb-footer__col a:not(.button):not(.components-button):hover,
.sb-festive .site-footer .sb-flegal a:not(.button):not(.components-button):hover { color: #ffd17b; }
.sb-festive a:focus-visible, .sb-festive button:focus-visible { outline: 3px solid #c75a26; outline-offset: 4px; }
.sb-festive .sb-hero a:focus-visible, .sb-festive .sb-hero button:focus-visible { outline-color: #ffe4ac; }
@media (max-width: 767px) {
  .sb-festive-greeting { gap: 10px; padding: 11px 12px; font-size: 12px; }
  .sb-festive-greeting strong, .sb-festive-greeting__wish { display: block; margin: 0; }
  .sb-festive-greeting__flower { font-size: 24px; }
  .sb-festive .sb-hero__slide--festive { padding: 3.5rem 1.5rem 17rem; min-height: 0; }
  .sb-festive-art { inset: auto 0 -45px; height: 320px; background-size: 350px; }
  .sb-festive .sb-hero__slide--festive .sb-hero__title { font-size: clamp(3.5rem, 14vw, 5rem); }
  .sb-festive .sb-hero__slide--festive .sb-hero__sub { font-size: 1rem; }
  .sb-festive .sb-hero__slide--festive .sb-hero__cta { gap: 12px; }
  .sb-festive .sb-hero__slide--festive .sb-hero__cta a { min-height: 44px; display: inline-flex; align-items: center; }
}
