html {
  scroll-padding-top: 112px;
}

/* Keep the shared Home header and announcement bar consistent on every route. */
html body,
html body.fixed-header-enabled {
  margin-top: 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

html body #research-warning-bar {
  display: none !important;
}

html body #pagewrap,
html body.fixed-header-enabled #pagewrap {
  padding-top: 0 !important;
}

html body #tbp_header.sunday-universal-header .tb_iywl685 {
  display: block !important;
  font-family: var(--font-sans) !important;
}

html body #tbp_header.sunday-universal-header,
html body.sunday-header-ready #tbp_header.sunday-universal-header,
html body.sunday-scrolled #tbp_header.sunday-universal-header,
html body.sunday-scroll-down #tbp_header.sunday-universal-header,
html body.sunday-scroll-up #tbp_header.sunday-universal-header {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  left: 0 !important;
  width: 100% !important;
  transform: none !important;
}

html body #tbp_header.sunday-universal-header .sunday-announcement-message,
html body #tbp_header.sunday-universal-header .sunday-announcement-message.is-active {
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans) !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  letter-spacing: -.005em !important;
  white-space: nowrap;
  filter: none !important;
}

html body #tbp_header.sunday-universal-header .sunday-announcement-message strong {
  display: inline !important;
  flex: 0 0 auto;
  margin: 0 .26em;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}

html body #tbp_header.sunday-universal-header .sunday-announcement-note {
  font-weight: 520 !important;
  letter-spacing: 0;
}

html body #tbp_header.sunday-universal-header .sunday-amai-navlink {
  font-weight: 600 !important;
  letter-spacing: -.012em;
}

html body #tbp_header.sunday-universal-header .sunday-amai-navlink.is-active {
  font-weight: 700 !important;
}

body.woocommerce-shop .sunday-amai-navlinks > .sunday-amai-navlink::after {
  width: 0 !important;
}

body.woocommerce-shop .sunday-amai-navlinks > .sunday-amai-navlink:nth-child(2)::after {
  width: 100% !important;
}

@media (max-width: 600px) {
  html body #tbp_header.sunday-universal-header .sunday-announcement-message,
  html body #tbp_header.sunday-universal-header .sunday-announcement-message.is-active {
    font-size: clamp(8px, 2.3vw, 9px) !important;
  }
}

/* Product detail: editorial gallery + focused purchase panel. */
html body.single-product {
  background: #f2edf8 !important;
}

html body.single-product main .sunday-single-product-hero {
  margin: 0 !important;
  padding: 0 !important;
  background: #f2edf8 !important;
  overflow-anchor: none !important;
}

html body.single-product main .sunday-single-product-hero > .row_inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr) !important;
  width: min(100%, 1320px) !important;
  max-width: 1320px !important;
  align-items: start !important;
  gap: 34px !important;
  margin: 0 auto !important;
  padding: 42px 30px 82px !important;
  box-sizing: border-box !important;
}

html body.single-product main .sunday-single-product-hero .sunday-single-gallery,
html body.single-product main .sunday-single-product-hero .sunday-single-panel {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

html body.single-product main .sunday-single-gallery .module-product-image {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border: 1px solid rgba(48,34,64, .08) !important;
  border-radius: 30px !important;
  background: #f4f3f5 !important;
  box-shadow: 0 16px 42px rgba(40,28,53, .07) !important;
  contain: layout paint;
}

html body.single-product main .sunday-single-gallery .sunday-single-lifestyle {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(48,34,64, .08) !important;
  border-radius: 30px !important;
  background: #f4f3f5 !important;
  box-shadow: 0 16px 42px rgba(40,28,53, .07) !important;
}

html body.single-product main .sunday-single-gallery .sunday-single-lifestyle img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain !important;
}

html body.single-product main .sunday-single-gallery .sunday-single-lifestyle--nad img {
  transform: scale(1.36) !important;
  transform-origin: 50% 67% !important;
}

html body.single-product main .sunday-single-gallery .sunday-single-lifestyle + .sunday-single-standard-media {
  margin-top: 24px !important;
}

html body.single-product main .sunday-single-gallery :is(.image-wrap, .woocommerce-product-gallery, .woocommerce-product-gallery__wrapper) {
  width: 100% !important;
  margin: 0 !important;
}

html body.single-product main .sunday-single-gallery .woocommerce-product-gallery__image:first-child {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f3f2f4 !important;
}

html body.single-product main .sunday-single-gallery .woocommerce-product-gallery__image:first-child > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

html body.single-product main .sunday-single-gallery img.sunday-single-vial-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: 50% 62% !important;
  filter: none !important;
  transition: opacity .16s ease !important;
}

html body.single-product main .sunday-single-panel .bb-real-price {
  min-width: 118px !important;
  min-height: 30px !important;
  font-variant-numeric: tabular-nums !important;
  contain: layout paint;
}

html body.single-product main .sunday-single-panel .single_add_to_cart_button {
  font-variant-numeric: tabular-nums !important;
}

html body.single-product main .sunday-single-panel {
  position: sticky !important;
  top: 128px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 30px 32px 28px !important;
  border: 1px solid #ddd4e8 !important;
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(40,28,53, .065) !important;
  box-sizing: border-box !important;
}

html body.single-product main .sunday-single-panel .module-star {
  order: 1;
  width: fit-content !important;
  margin: -47px 0 16px !important;
  padding: 7px 13px !important;
  border: 1px solid #c1b9c9 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.single-product main .sunday-single-panel .module-product-title {
  order: 2;
  margin: 0 0 12px !important;
}

html body.single-product main .sunday-single-panel .module-product-title :is(h1, h2, h3) {
  margin: 0 !important;
  color: #2c2436 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(42px, 4.5vw, 62px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: .98 !important;
}

html body.single-product main .sunday-single-panel .tb_nykv985 {
  order: 4;
  margin: 18px 0 0 !important;
}

html body.single-product main .sunday-single-panel .bb-real-price {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

html body.single-product main .sunday-single-panel .bb-real-price > .price {
  color: #2b2037 !important;
  font-family: var(--font-sans) !important;
  font-size: 28px !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
  line-height: 1 !important;
}

html body.single-product main .sunday-single-panel .sunday-promo-label {
  width: fit-content !important;
  padding: 8px 13px !important;
  border: 1px solid #e1dbe7 !important;
  border-radius: 999px !important;
  color: #5a5262 !important;
  background: #f5f3f7 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .025em !important;
}

html body.single-product main .sunday-single-panel .module-product-description {
  order: 3;
  margin: 0 !important;
  color: #494053 !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
}

html body.single-product main .sunday-single-panel .module-product-description :is(p, strong) {
  color: inherit !important;
}

html body.single-product main .sunday-single-panel .tb_wcgl985 {
  order: 5;
  margin: 18px 0 0 !important;
}

html body.single-product main .sunday-single-panel .tb_zboz985 {
  order: 6;
  margin: 22px 0 0 !important;
}

html body.single-product main .sunday-single-panel .bb-label {
  margin: 0 0 9px !important;
  color: #392b49 !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

html body.single-product main .sunday-single-panel .bb-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

html body.single-product main .sunday-single-panel .bb-swatches button {
  min-width: 52px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 1px solid #dbd8de !important;
  border-radius: 999px !important;
  color: #524d57 !important;
  background: #fff !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

html body.single-product main .sunday-single-panel .bb-swatches button:is(.active, [aria-pressed="true"]) {
  border-color: #341f4b !important;
  color: #fff !important;
  background: #341f4b !important;
}

html body.single-product main .sunday-single-panel .module-add-to-cart {
  order: 8;
  margin: 22px 0 0 !important;
  padding: 18px !important;
  border: 1px solid #dbd7e0 !important;
  border-radius: 18px !important;
  background: #fbfafc !important;
}

html body.single-product main .sunday-single-panel .module-add-to-cart form.cart {
  display: block !important;
  margin: 0 !important;
}

html body.single-product main .sunday-single-panel .module-add-to-cart :is(.variations, .single_variation) {
  display: none !important;
}

html body.single-product main .sunday-single-panel .woocommerce-variation-add-to-cart,
html body.single-product main .sunday-single-panel form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}

html body.single-product main .sunday-single-panel .quantity {
  display: flex !important;
  width: 112px !important;
  height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  border: 1px solid #bfb8c7 !important;
  border-radius: 999px !important;
  background: #fff !important;
}

html body.single-product main .sunday-single-panel .quantity :is(input, button) {
  height: 44px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.single-product main .sunday-single-panel .single_add_to_cart_button {
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 13px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #3b2357 !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}

html body.single-product main .sunday-single-panel .single_add_to_cart_button:hover {
  background: #301c46 !important;
  transform: translateY(-1px) !important;
}

html body.single-product main#tbp_content .sunday-single-panel .module-add-to-cart .single_add_to_cart_button.button.alt {
  border: 0 !important;
  color: #fff !important;
  background: #3b2357 !important;
  box-shadow: none !important;
}

html body.single-product main#tbp_content .sunday-single-panel .module-add-to-cart .single_add_to_cart_button.button.alt:hover,
html body.single-product main#tbp_content .sunday-single-panel .module-add-to-cart .single_add_to_cart_button.button.alt:focus-visible {
  background: #301c46 !important;
}

html body.single-product main .sunday-single-panel .tb_cuj7985 {
  order: 9;
  margin: 15px 0 0 !important;
}

html body.single-product main .sunday-single-panel .module-accordion {
  order: 10;
  margin: 22px 0 0 !important;
  border-top: 1px solid #e4e2e7 !important;
}

html body.single-product main .sunday-single-panel .module-accordion li {
  border-bottom: 1px solid #e4e2e7 !important;
  background: transparent !important;
}

html body.single-product main .sunday-single-panel .module-accordion .tb_title_accordion {
  padding: 16px 2px !important;
  color: #38284a !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}

html body.single-product main .sunday-single-panel :is(.tb_80u4985, .tb_skvd175, .tb_97m7912) {
  display: none !important;
}

@media (max-width: 900px) {
  html body.single-product main .sunday-single-product-hero > .row_inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 28px 18px 60px !important;
  }

  html body.single-product main .sunday-single-panel {
    position: static !important;
    padding: 28px 22px 24px !important;
  }

  html body.single-product main .sunday-single-panel .module-star {
    margin-top: -43px !important;
  }
}

@media (max-width: 560px) {
  html body.single-product main .sunday-single-panel .module-product-title :is(h1, h2, h3) {
    font-size: 42px !important;
  }

  html body.single-product main .sunday-single-panel .woocommerce-variation-add-to-cart,
  html body.single-product main .sunday-single-panel form.cart:not(.variations_form) {
    grid-template-columns: 1fr !important;
  }

  html body.single-product main .sunday-single-panel .quantity {
    width: 100% !important;
  }
}

/* Conversion storytelling: discovery, selection, offer, and purchase. */
html body .sunday-story-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #7038b0;
  font-family: var(--font-mono) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

html body .sunday-order-story {
  padding: 88px 28px 94px !important;
  color: #2d2635;
  background: #f2f0f5;
}

html body .sunday-story-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

html body .sunday-story-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 28px 70px;
  align-items: end;
}

html body .sunday-story-heading .sunday-story-eyebrow {
  grid-column: 1 / -1;
}

html body .sunday-story-heading h2 {
  max-width: 760px;
  margin: 0 !important;
  color: #2d2635 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  font-weight: 450 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
}

html body .sunday-story-heading > p {
  max-width: 440px;
  margin: 0 0 4px !important;
  color: #625c69;
  font-family: var(--font-sans) !important;
  font-size: 16px;
  line-height: 1.65;
}

html body .sunday-story-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 56px;
}

html body .sunday-story-steps article {
  min-height: 210px;
  padding: 25px;
  border: 1px solid #dfdae4;
  border-radius: 24px;
  background: rgba(255,255,255, .74);
}

html body .sunday-story-steps article > span {
  color: #7038b0;
  font-family: var(--font-mono) !important;
  font-size: 11px;
  font-weight: 700;
}

html body .sunday-story-steps h3 {
  margin: 42px 0 10px !important;
  color: #2d2635 !important;
  font-family: var(--font-sans) !important;
  font-size: 19px !important;
  font-weight: 720 !important;
  letter-spacing: -.02em !important;
}

html body .sunday-story-steps p {
  margin: 0 !important;
  color: #667168;
  font-family: var(--font-sans) !important;
  font-size: 14px;
  line-height: 1.55;
}

html body .sunday-story-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

html body .sunday-story-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 999px;
  color: #fff !important;
  background: #3b2357;
  font-family: var(--font-sans) !important;
  font-size: 14px;
  font-weight: 720;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease;
}

html body .sunday-story-button:hover,
html body .sunday-story-button:focus-visible {
  background: #2f1c44;
  transform: translateY(-1px);
}

html body .sunday-story-link {
  color: #3c3544 !important;
  font-family: var(--font-sans) !important;
  font-size: 14px;
  font-weight: 680;
  text-decoration: underline !important;
  text-underline-offset: 5px;
}

html body .sunday-card-batch {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #544960;
  font-family: var(--font-sans) !important;
  font-size: 11px;
  line-height: 1;
}

html body .sunday-card-batch > span,
html body .sunday-live-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #673e96;
  box-shadow: 0 0 0 4px rgba(103,62,150, .12);
}

html body .sunday-shop-batch {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  gap: 18px 28px;
  align-items: center;
  width: min(100%, 1180px);
  margin: 26px 0 42px;
  padding: 18px 20px;
  border: 1px solid #ded8e4;
  border-radius: 18px;
  background: #f1ecf6;
  box-sizing: border-box;
}

html body .sunday-shop-batch > div,
html body .sunday-product-availability > div {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #393043;
  font-family: var(--font-sans) !important;
  font-size: 13px;
}

html body .sunday-shop-batch p {
  margin: 0 !important;
  color: #657067;
  font-family: var(--font-sans) !important;
  font-size: 13px;
}

html body .sunday-shop-batch a {
  color: #3b2357 !important;
  font-family: var(--font-sans) !important;
  font-size: 12px;
  font-weight: 720;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

html body.single-product main .sunday-product-availability {
  display: grid;
  order: 7 !important;
  gap: 5px;
  margin: 4px 0 17px;
  padding: 14px 16px;
  border: 1px solid #ddd6e5;
  border-radius: 16px;
  background: #f1ecf6;
}

html body.single-product main .sunday-product-availability p,
html body.single-product main .sunday-product-momentum {
  margin: 0 !important;
  color: #657067;
  font-family: var(--font-sans) !important;
  font-size: 11px;
  line-height: 1.5;
}

html body.single-product main .sunday-product-momentum {
  order: 8 !important;
  margin-top: 12px !important;
  color: #585160;
}

html body .sunday-final-cta {
  padding: 92px 28px !important;
  color: #fff;
  background: #2e213d;
}

html body .sunday-final-cta > div {
  display: grid;
  justify-items: center;
  width: min(880px, 100%);
  margin: 0 auto;
  text-align: center;
}

html body .sunday-final-cta .sunday-story-eyebrow {
  color: #ab84d8;
}

html body .sunday-final-cta h2 {
  margin: 17px 0 18px !important;
  color: #fff !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(44px, 6vw, 76px) !important;
  font-weight: 450 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
}

html body .sunday-final-cta p {
  max-width: 620px;
  margin: 0 0 28px !important;
  color: rgba(255,255,255, .72);
  font-family: var(--font-sans) !important;
  font-size: 15px;
  line-height: 1.65;
}

html body .sunday-final-cta .sunday-story-button {
  color: #292034 !important;
  background: #fff;
}

html body .sunday-final-cta small {
  margin-top: 18px;
  color: rgba(255,255,255, .52);
  font-family: var(--font-sans) !important;
  font-size: 10px;
}

@media (max-width: 760px) {
  html body .sunday-order-story,
  html body .sunday-final-cta {
    padding: 64px 18px 70px !important;
  }

  html body .sunday-story-heading,
  html body .sunday-story-steps {
    grid-template-columns: 1fr;
  }

  html body .sunday-story-heading {
    gap: 20px;
  }

  html body .sunday-story-steps {
    gap: 12px;
    margin-top: 38px;
  }

  html body .sunday-story-steps article {
    min-height: 0;
  }

  html body .sunday-story-steps h3 {
    margin-top: 24px !important;
  }

  html body .sunday-story-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  html body .sunday-shop-batch {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* Final alignment and typography overrides for the full-width FAQ. */
html body.single-product main#tbp_content .sunday-product-faq {
  position: relative !important;
  right: auto !important;
  left: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 96px 30px 112px !important;
  box-sizing: border-box !important;
}

html body.single-product main#tbp_content .sunday-product-faq > .row_inner {
  width: 100% !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
}

html body.single-product main#tbp_content .sunday-product-faq .fancy-heading,
html body.single-product main#tbp_content .sunday-related-inner > h2 {
  font-family: Georgia, "Times New Roman", serif !important;
}

html body.single-product main#tbp_content .sunday-product-faq .module-accordion .tb_title_accordion {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 650 !important;
}

html body.single-product main#tbp_content .sunday-product-faq .module-accordion .tb_title_accordion * {
  color: inherit !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: inherit !important;
  font-weight: 650 !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
}

html body.single-product main#tbp_content .sunday-related-copy :is(h3, p, strong),
html body.single-product main#tbp_content .sunday-related-add {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Stronger, more useful CTA treatment for every Home and Shop product card. */
html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-product-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 11px !important;
  align-items: stretch !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-add {
  display: flex !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #3b2357 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: .01em !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-add:hover,
html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-add:focus-visible {
  color: #fff !important;
  background: #301c46 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 900px) {
  html body.single-product main#tbp_content .sunday-product-faq {
    padding: 72px 20px 84px !important;
  }
}

body.home,
body.home #pagewrap,
body.home #body,
body.home #layout,
body.home #content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-ivory);
}

body.home {
  margin-top: 0 !important;
  overflow-x: clip;
}

body.home #research-warning-bar {
  display: none !important;
}

body.sunday-overlay-open {
  overflow: hidden;
}

body.home #content {
  float: none;
}

body.home :where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--color-green-bright) !important;
  outline-offset: 3px;
}

.sunday-shell {
  width: min(100%, var(--page-max));
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 64px);
}

#tbp_header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: var(--color-surface);
  top: 0 !important;
}

#tbp_header.is-scrolled .tb_7zb8427 {
  box-shadow: 0 1px 0 rgba(22,14,37, 0.12);
}

#tbp_header .tb_7zb8427 > .row_inner,
body.home .tb_zvs8154 > .row_inner,
body.home .tb_muu0154 > .row_inner {
  width: min(100%, var(--page-max));
  max-width: var(--page-max);
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 64px);
}

/* Final supplied hero artwork: preserve the SVG's complete 25069:8834 canvas. */
html body.home .module_row.tb_zvs8154 {
  position: relative !important;
  width: 100vw !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 25069 / 8834 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html body.home .module_row.tb_zvs8154 > .row_inner,
html body.home .module_row.tb_zvs8154 > .sunday-hero-live-content,
html body.home .module_row.tb_zvs8154 > .sunday-hero-shop-now {
  display: none !important;
}

html body.home .module_row.tb_zvs8154 > .sunday-full-hero {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
  pointer-events: none !important;
}

html body.home .module_row.tb_zvs8154::after {
  display: none !important;
  content: none !important;
}

html body.home .module_row.tb_zvs8154 > .sunday-hero-clickthrough {
  position: absolute;
  z-index: 4;
  top: 51.255%;
  left: 22.643%;
  display: block;
  width: 9.589%;
  height: 9.266%;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  text-decoration: none;
}

html body.home .module_row.tb_zvs8154 > .sunday-hero-clickthrough:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 4px;
  box-shadow: 0 0 0 3px #433355;
}

/* Internal pages inherit Home's clean visual language without delayed blur. */
html .sunday-reveal,
html .sunday-reveal.sunday-revealed,
html .sunday-reveal.is-visible,
html .sunday-stagger-item.sunday-reveal,
html .sunday-stagger-item.sunday-reveal.sunday-revealed {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}

html body.sunday-page-leaving :where(#body, .tbp_template_footer) {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

html body .sunday-floating-stack {
  display: none !important;
}

body:not(.home) main,
body:not(.home) #body {
  color: #343038;
  background: #f4f3f5;
}

body:not(.home) main :is(h1, h2, h3):not(.sunday-product-card *) {
  color: #343038;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.042em !important;
  text-wrap: balance;
}

body:not(.home) main :is(p, li):not(.sunday-product-card *) {
  font-family: var(--font-sans);
  letter-spacing: -.008em;
  line-height: 1.68;
}

body.woocommerce-shop main .sunday-page-intro {
  max-width: 560px;
  margin: 10px 0 0 !important;
  color: #667064;
  font-family: var(--font-sans) !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 1.55 !important;
}

body.woocommerce-shop main .products.sunday-product-feed {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 38px 26px !important;
  align-items: stretch !important;
}

body.woocommerce-shop main .products.sunday-product-feed::before,
body.woocommerce-shop main .products.sunday-product-feed::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-shop main .products.sunday-product-feed > .sunday-product-card {
  float: none !important;
  clear: none !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(35,35,35, .10) !important;
}

body.woocommerce-shop main .sunday-product-card :is(.tbp_advanced_archive_wrap, .module_row, .row_inner, .module_column) {
  min-height: 100%;
}

body.woocommerce-shop main .sunday-product-card .module_column {
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-shop main .sunday-product-card :is(.module-product-image, figure.product-image) {
  width: 100% !important;
  margin: 0 !important;
}

body.woocommerce-shop main .sunday-product-card figure.product-image {
  display: grid !important;
  aspect-ratio: 1.04 / 1 !important;
  place-items: center;
  overflow: hidden;
  border-radius: 0 !important;
  background: #f4f3f5 !important;
}

body.woocommerce-shop main .sunday-product-card figure.product-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  filter: none !important;
  object-fit: cover !important;
}

body.woocommerce-shop main .sunday-product-card .sunday-product-info {
  display: flex !important;
  height: 252px !important;
  min-height: 252px !important;
  flex: 0 0 252px !important;
  flex-direction: column;
  gap: 0 !important;
  padding: 23px 24px 22px !important;
  font-size: 16px !important;
}

body.woocommerce-shop main .sunday-product-card .module-product-title,
body.woocommerce-shop main .sunday-product-card .module-product-title :is(h2, h3),
body.woocommerce-shop main .sunday-product-card .module-product-title a {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
}

body.woocommerce-shop main .sunday-product-card .sunday-card-rating {
  min-height: 18px !important;
  margin: 7px 0 0 !important;
  color: #697168;
}

body.woocommerce-shop main .sunday-product-card .sunday-product-tags {
  display: block !important;
  min-height: 34px !important;
  margin: 13px 0 0 !important;
}

body.woocommerce-shop main .sunday-product-card .sunday-card-placeholder {
  display: none !important;
}

body.woocommerce-shop main .sunday-product-card .sunday-product-tags :is(.module-plain-text, .tb_text_wrap) {
  display: block !important;
}

body.woocommerce-shop main .sunday-product-card .bogo-notice-wrap {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 30px !important;
  align-items: center;
  margin: 0 !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(128,67,196, .18) !important;
  border-radius: 999px !important;
  color: #65329f !important;
  background: #f7f3fb !important;
  box-sizing: border-box;
}

body.woocommerce-shop main .sunday-product-card .bogo-notice-text {
  color: inherit !important;
  font-family: var(--font-mono) !important;
  font-size: 9.5px !important;
  font-weight: 650 !important;
  letter-spacing: .025em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
}

body.woocommerce-shop main .sunday-product-card .sunday-product-bottom {
  min-height: 60px !important;
  margin-top: auto !important;
  padding-top: 15px !important;
  border-top: 1px solid #e8e5eb;
  align-items: center !important;
}

body.woocommerce-shop main .sunday-product-card .sunday-product-bottom :is(.module-product-price, .price) {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 17px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
}

body.woocommerce-shop main .sunday-product-card .sunday-card-add {
  flex: 0 0 44px !important;
  width: 44px !important;
  max-width: 44px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #443159 !important;
  box-shadow: 0 8px 18px rgba(68,49,89, .18);
}

body.woocommerce-shop main .sunday-product-card .sunday-card-add:hover,
body.woocommerce-shop main .sunday-product-card .sunday-card-add:focus-visible {
  color: #271f30 !important;
  background: #874ec7 !important;
  box-shadow: 0 10px 22px rgba(68,49,89, .24);
}

/* Functional quantity controls in the shared cart drawer. */
html body .sunday-cart-drawer {
  width: min(420px, 92vw);
  padding: 26px 24px;
}

html body .sunday-header-cart-count {
  position: absolute;
  top: 2px;
  right: 1px;
  display: grid;
  min-width: 17px;
  height: 17px;
  place-items: center;
  padding: 0 4px;
  border: 2px solid #fff;
  border-radius: 99px;
  color: #fff;
  background: #844ac6;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 750;
  line-height: 1;
  box-sizing: border-box;
}

html body .sunday-header-cart-count[hidden] {
  display: none !important;
}

html body .sunday-overlay.sunday-cart-overlay.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
  backdrop-filter: none !important;
}

html body .sunday-overlay.sunday-cart-overlay.is-open :is(.sunday-overlay__backdrop, .sunday-cart-drawer, .sunday-cart-drawer *) {
  pointer-events: auto !important;
}

html body .sunday-cart-items {
  gap: 14px;
  padding-right: 2px;
}

html body .sunday-cart-empty {
  margin: 26px 0 !important;
  color: #697168;
  font-family: var(--font-sans) !important;
  font-size: 15px;
  text-align: center;
}

html body .sunday-cart-empty-state {
  padding: 4px 0 18px;
  color: #332f38;
}

html body .sunday-cart-empty-state > h3 {
  margin: 0 0 26px !important;
  color: #2e2834 !important;
  font-family: var(--font-sans) !important;
  font-size: 20px !important;
  font-weight: 680 !important;
  letter-spacing: -.025em !important;
  line-height: 1.25 !important;
}

html body .sunday-cart-trending-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

html body .sunday-cart-trending-heading > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

html body .sunday-cart-trending-heading h4 {
  margin: 0 !important;
  color: #2e2834 !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
}

html body .sunday-cart-trending-heading > span {
  color: #788178;
  font-family: var(--font-mono) !important;
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html body .sunday-cart-trending-list {
  display: grid;
  gap: 12px;
}

html body .sunday-cart-trending-item {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 10px;
  border: 1px solid #e4e1e8;
  border-radius: 16px;
  background: #fff;
}

html body .sunday-cart-trending-item img {
  display: block;
  width: 70px;
  height: 84px;
  border-radius: 11px;
  object-fit: cover;
  object-position: 50% 62%;
  background: #f3f2f4;
}

html body .sunday-cart-trending-item > div {
  display: grid;
  min-width: 0;
}

html body .sunday-cart-trending-item strong {
  color: #332f38;
  font-family: var(--font-sans) !important;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
}

html body .sunday-cart-trending-item span {
  margin-top: 3px;
  color: #737b73;
  font-family: var(--font-sans) !important;
  font-size: 11px;
}

html body .sunday-cart-trending-item button {
  justify-self: start;
  min-height: 34px;
  margin-top: 9px;
  padding: 0 13px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #3b2357;
  font-family: var(--font-sans) !important;
  font-size: 10px;
  font-weight: 720;
  cursor: pointer;
}

html body .sunday-cart-trending-item button:hover,
html body .sunday-cart-trending-item button:focus-visible {
  background: #2f1c44;
}

html body .sunday-cart-view-all {
  display: inline-flex;
  margin-top: 18px;
  color: #443159 !important;
  font-family: var(--font-sans) !important;
  font-size: 12px;
  font-weight: 720;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

html body .sunday-cart-offer {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 18px;
  border: 1px solid #e0d9e8;
  border-left: 3px solid #7a4dad;
  border-radius: 16px;
  color: #3a3440;
  background: #efe9f5;
  font-family: var(--font-sans) !important;
}

html body .sunday-cart-offer[hidden] {
  display: none !important;
}

html body .sunday-cart-offer > strong {
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -.01em;
}

html body .sunday-cart-offer > span {
  color: #696270;
  font-size: 12px;
  line-height: 1.45;
}

html body .sunday-cart-gift-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 10px;
}

html body .sunday-cart-gift-picker label {
  grid-column: 1 / -1;
  color: #3a3440;
  font-size: 11px;
  font-weight: 700;
}

html body .sunday-cart-gift-picker select {
  min-width: 0;
  height: 40px;
  padding: 0 34px 0 12px;
  border: 1px solid #d1cad9;
  border-radius: 10px;
  color: #342f39;
  background-color: #fff;
  font-family: var(--font-sans) !important;
  font-size: 12px;
}

html body .sunday-cart-gift-add {
  min-height: 40px;
  padding: 0 15px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #3b2357;
  font-family: var(--font-sans) !important;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

html body .sunday-cart-gift-add:hover,
html body .sunday-cart-gift-add:focus-visible {
  background: #2f1c44;
}

html body .sunday-cart-gift-badge {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 11px;
  border-radius: 999px;
  color: #443159;
  background: #ede7f4;
  font-family: var(--font-sans) !important;
  font-size: 11px;
  font-weight: 750;
}

@media (max-width: 480px) {
  html body .sunday-cart-gift-picker {
    grid-template-columns: 1fr;
  }
}

html body .sunday-amai-search-result img {
  object-fit: cover !important;
  object-position: 50% 60% !important;
  background: #f3f2f4 !important;
}

html body .sunday-cart-item {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border-color: #e4e1e8;
  border-radius: 16px;
  background: #fff;
}

html body .sunday-cart-item img {
  grid-row: 1 / span 2;
  width: 64px;
  height: 74px;
  border-radius: 11px;
}

html body .sunday-cart-item__details {
  align-self: end;
  min-width: 0;
}

html body .sunday-cart-item__details strong {
  overflow: hidden;
  color: #343038;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html body .sunday-cart-item__details > span {
  display: block;
  margin-top: 4px;
  color: #697168;
  font-family: var(--font-sans);
  font-size: 12px;
}

html body .sunday-cart-item__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

html body .sunday-cart-quantity {
  display: grid;
  grid-template-columns: 32px 34px 32px;
  min-height: 34px;
  overflow: hidden;
  border: 1px solid #dedae2;
  border-radius: 999px;
  background: #f7f6f9;
}

html body .sunday-cart-quantity button {
  display: grid;
  width: 32px;
  height: 34px;
  place-items: center;
  padding: 0;
  border: 0;
  color: #443159;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

html body .sunday-cart-quantity button:hover,
html body .sunday-cart-quantity button:focus-visible {
  color: #271f30;
  background: #eae6ee;
}

html body .sunday-cart-quantity .sunday-cart-item__qty {
  display: grid;
  min-width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 0;
  color: #343038;
  background: #fff;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 750;
}

html body .sunday-cart-item__remove {
  padding: 5px 0;
  border: 0;
  color: #7a8179;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

html body .sunday-cart-item__remove:hover,
html body .sunday-cart-item__remove:focus-visible {
  color: #65329f;
}

@media (max-width: 900px) {
  body.woocommerce-shop main .products.sunday-product-feed {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  body.woocommerce-shop main .products.sunday-product-feed {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
}

/* One refined, Apple-inspired product-card system for Home and Shop. */
html :is(body.home, body.woocommerce-shop) main .sunday-product-card {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e4e2e7 !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(24,20,28, .035), 0 10px 28px rgba(24,20,28, .055) !important;
  transform: none;
  transition: border-color .28s ease, box-shadow .38s cubic-bezier(.22, 1, .36, 1), transform .38s cubic-bezier(.22, 1, .36, 1) !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card:hover,
html :is(body.home, body.woocommerce-shop) main .sunday-product-card:focus-within {
  border-color: #d6d3da !important;
  box-shadow: 0 2px 4px rgba(24,20,28, .04), 0 18px 40px rgba(24,20,28, .085) !important;
  transform: translateY(-3px) !important;
}

html body.home main .tb_lqui154 .post.product.sunday-product-card,
html body.woocommerce-shop main .products.sunday-product-feed > .sunday-product-card {
  box-shadow: 0 1px 2px rgba(24,20,28, .035), 0 10px 28px rgba(24,20,28, .055) !important;
}

/* The Home carousel theme loads after this stylesheet; this deliberately
   stronger selector keeps the shared card elevation identical on both pages. */
html body.home main .module.tb_lqui154 .products .tf_swiper-slide .post.product.sunday-product-card {
  box-shadow: 0 1px 2px rgba(24,20,28, .035), 0 10px 28px rgba(24,20,28, .055) !important;
}

html body.home main .tb_lqui154 .post.product.sunday-product-card:hover,
html body.home main .tb_lqui154 .post.product.sunday-product-card:focus-within,
html body.woocommerce-shop main .products.sunday-product-feed > .sunday-product-card:hover,
html body.woocommerce-shop main .products.sunday-product-feed > .sunday-product-card:focus-within {
  box-shadow: 0 2px 4px rgba(24,20,28, .04), 0 18px 40px rgba(24,20,28, .085) !important;
  transform: translateY(-3px) !important;
}

html body.home main .module.tb_lqui154 .products .tf_swiper-slide .post.product.sunday-product-card:hover,
html body.home main .module.tb_lqui154 .products .tf_swiper-slide .post.product.sunday-product-card:focus-within {
  box-shadow: 0 2px 4px rgba(24,20,28, .04), 0 18px 40px rgba(24,20,28, .085) !important;
  transform: translateY(-3px) !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card :is(.tbp_advanced_archive_wrap, .module_row, .row_inner, .module_column) {
  min-height: 100%;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .module_column {
  display: flex !important;
  flex-direction: column !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card :is(.module-product-image, figure.product-image) {
  width: 100% !important;
  margin: 0 !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card figure.product-image {
  display: grid !important;
  width: 100% !important;
  aspect-ratio: 1.04 / 1 !important;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid #ecebee;
  border-radius: 0 !important;
  background: #f4f3f5 !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card figure.product-image > a {
  display: block;
  width: 100%;
  height: 100%;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card figure.product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  object-fit: cover !important;
  filter: none !important;
  transform: none !important;
  transition: transform .65s cubic-bezier(.22, 1, .36, 1) !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card:hover figure.product-image img {
  transform: scale(1.015) !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card figure.product-image.sunday-vial-media {
  position: relative !important;
  padding: 0 !important;
  background: #f3f2f4 !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card figure.product-image.sunday-vial-media > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card figure.product-image.sunday-vial-media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 50% 62% !important;
}

@media (min-width: 1600px) {
  html :is(body.home, body.woocommerce-shop) main .sunday-product-card figure.product-image.sunday-vial-media img {
    object-position: 50% 70% !important;
  }
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-vial-options {
  position: absolute;
  z-index: 4;
  right: 16px;
  bottom: 12px;
  left: 16px;
  display: flex;
  width: auto;
  max-width: none;
  min-height: 46px;
  align-items: center;
  justify-content: stretch;
  gap: 2px;
  margin: 0;
  padding: 4px;
  border: 1px solid rgba(36,31,42, .09);
  border-radius: 999px;
  background: rgba(255,255,255, .9);
  box-shadow: 0 5px 18px rgba(24,20,28, .08);
  box-sizing: border-box;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-vial-option {
  display: inline-flex;
  min-width: 0;
  height: 38px;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  color: #5e655f;
  background: transparent;
  font-family: var(--font-sans) !important;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1;
  text-align: center;
  box-sizing: border-box;
  appearance: none;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-vial-option:hover,
html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-vial-option:focus-visible:not(.is-selected) {
  color: #241f29;
  background: #eeecf1;
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(59,35,87, .35);
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-vial-option.is-selected {
  color: #fff;
  background: #251d2e;
  box-shadow: 0 2px 7px rgba(24,20,28, .16);
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-vial-option.is-selected:focus-visible {
  outline: none;
  box-shadow: 0 2px 7px rgba(24,20,28, .16), inset 0 0 0 2px rgba(255,255,255, .72);
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card :is(.acoplw-badge-icon, .onsale) {
  position: absolute !important;
  top: 18px !important;
  right: auto !important;
  bottom: auto !important;
  left: 18px !important;
  display: flex !important;
  width: auto !important;
  min-width: 112px !important;
  height: 32px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid rgba(42,39,45, .09) !important;
  border-radius: 999px !important;
  color: #394039 !important;
  background: rgba(255,255,255, .91) !important;
  box-shadow: 0 2px 10px rgba(24,20,28, .045) !important;
  backdrop-filter: none !important;
  transform: none !important;
  z-index: 4 !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .acoplw-blockText {
  color: inherit !important;
  font-family: var(--font-sans) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-product-info {
  display: flex !important;
  height: 252px !important;
  min-height: 252px !important;
  flex: 0 0 252px !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 23px 24px 22px !important;
  box-sizing: border-box;
  font-family: var(--font-sans) !important;
  font-size: 16px !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .module-product-title,
html :is(body.home, body.woocommerce-shop) main .sunday-product-card .module-product-title :is(h2, h3),
html :is(body.home, body.woocommerce-shop) main .sunday-product-card .module-product-title a {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1d1f1c !important;
  font-family: var(--font-sans) !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-rating {
  display: flex;
  min-height: 18px !important;
  align-items: center;
  gap: 7px !important;
  margin: 7px 0 0 !important;
  color: #777d76 !important;
  font-family: var(--font-sans) !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-stars {
  color: #656c65 !important;
  font-size: 11px !important;
  letter-spacing: 1.3px !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-placeholder {
  display: none !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-product-tags {
  display: flex !important;
  width: 100% !important;
  min-height: 40px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  margin: 13px 0 0 !important;
  text-align: left !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-product-tags :is(.module-plain-text, .tb_text_wrap) {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .bogo-notice-wrap {
  display: flex !important;
  width: fit-content !important;
  min-height: 30px !important;
  align-items: center;
  margin: 0 !important;
  padding: 7px 11px !important;
  border: 1px solid #e2dee7 !important;
  border-radius: 999px !important;
  color: #5a5262 !important;
  background: #f5f3f7 !important;
  box-sizing: border-box;
  box-shadow: none !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .bogo-notice-text {
  color: inherit !important;
  font-family: var(--font-mono) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: .025em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-product-bottom {
  display: flex !important;
  min-height: 60px !important;
  align-items: center !important;
  justify-content: space-between;
  gap: 16px !important;
  margin-top: auto !important;
  padding-top: 15px !important;
  border-top: 1px solid #e7e5ea;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-product-bottom :is(.module-product-price, .price) {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #2a2e2a !important;
  font-family: var(--font-sans) !important;
  font-size: 17px !important;
  font-weight: 650 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.018em !important;
  line-height: 1.25 !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-add {
  position: static !important;
  display: flex !important;
  width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #222522 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: color .25s ease, background-color .25s ease, transform .32s cubic-bezier(.22, 1, .36, 1) !important;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-add svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-add:hover,
html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-card-add:focus-visible {
  color: #fff !important;
  background: #443159 !important;
  transform: translateY(-1px) scale(1.025) !important;
}

@media (max-width: 600px) {
  html :is(body.home, body.woocommerce-shop) main .sunday-product-card {
    border-radius: 20px !important;
  }

  html :is(body.home, body.woocommerce-shop) main .sunday-product-card .sunday-product-info {
    height: 244px !important;
    min-height: 244px !important;
    flex-basis: 244px !important;
    padding: 21px 20px 20px !important;
  }
}

/* Related products on product-detail pages. */
html body.single-product main .sunday-related-products {
  padding: 92px 30px 104px !important;
  background: #fff !important;
}

html body.single-product main .sunday-related-inner {
  width: min(100%, 1320px);
  margin: 0 auto;
}

html body.single-product main .sunday-related-inner > h2 {
  margin: 0 0 42px !important;
  color: #332443 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(50px, 6vw, 78px) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: .95 !important;
  text-align: center !important;
}

html body.single-product main .sunday-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

html body.single-product main .sunday-related-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

html body.single-product main .sunday-related-image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid #e8e2ee;
  border-radius: 24px;
  background: #f2edf7;
}

html body.single-product main .sunday-related-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 55% !important;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.single-product main .sunday-related-card:hover .sunday-related-image img {
  transform: scale(1.02) !important;
}

html body.single-product main .sunday-related-copy {
  display: flex;
  min-height: 76px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 3px 13px;
}

html body.single-product main .sunday-related-copy h3 {
  margin: 0 0 5px !important;
  color: #2c2435 !important;
  font-family: var(--font-sans) !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
  line-height: 1.1 !important;
}

html body.single-product main .sunday-related-copy p {
  margin: 0 !important;
  color: #748078 !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
  line-height: 1 !important;
}

html body.single-product main .sunday-related-copy strong {
  flex: 0 0 auto;
  color: #332b3b !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.1 !important;
}

html body.single-product main .sunday-related-add {
  width: 100%;
  min-height: 46px;
  margin: auto 0 0;
  padding: 12px 18px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #3b2357;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}

html body.single-product main .sunday-related-add:hover,
html body.single-product main .sunday-related-add:focus-visible {
  background: #301c46;
  transform: translateY(-1px);
}

/* Full-width product FAQ inspired by the supplied reference. */
html body.single-product main .sunday-product-faq {
  margin: 0 !important;
  padding: 96px 30px 112px !important;
  background: #fbfafc !important;
}

html body.single-product main .sunday-product-faq > .row_inner {
  display: block !important;
  width: min(100%, 1160px) !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

html body.single-product main .sunday-product-faq .module_column {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

html body.single-product main .sunday-product-faq .module-fancy-heading {
  margin: 0 0 58px !important;
}

html body.single-product main .sunday-product-faq .fancy-heading {
  margin: 0 !important;
  color: #3b2357 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(58px, 7vw, 88px) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: .92 !important;
  text-align: center !important;
}

html body.single-product main .sunday-product-faq .module-accordion,
html body.single-product main .sunday-product-faq .module-accordion > ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.single-product main .sunday-product-faq .module-accordion li {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #a79db2 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.single-product main .sunday-product-faq .module-accordion .tb_title_accordion {
  position: relative;
  display: block !important;
  width: 100% !important;
  min-height: 76px;
  padding: 24px 62px 24px 0 !important;
  color: #3e255a !important;
  background: transparent !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

html body.single-product main .sunday-product-faq .module-accordion .tb_title_accordion::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 30px;
  color: #3b2357;
  content: "+";
  font-family: var(--font-sans);
  font-size: 34px;
  font-weight: 350;
  line-height: 1;
  text-align: center;
  transform: translateY(-50%);
  transition: transform .25s ease;
}

html body.single-product main .sunday-product-faq .module-accordion .tb_title_accordion[aria-expanded="true"]::after {
  transform: translateY(-50%) rotate(45deg);
}

html body.single-product main .sunday-product-faq .module-accordion .accordion-icon {
  display: none !important;
}

html body.single-product main .sunday-product-faq .module-accordion .accordion-content {
  max-width: 940px;
  padding: 0 58px 26px 0 !important;
  color: #5b5363 !important;
  background: transparent !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media (max-width: 900px) {
  html body.single-product main .sunday-related-products {
    padding: 72px 18px 80px !important;
  }

  html body.single-product main .sunday-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 14px;
  }

  html body.single-product main .sunday-product-faq {
    padding: 72px 20px 84px !important;
  }
}

@media (max-width: 560px) {
  html body.single-product main .sunday-related-inner > h2 {
    margin-bottom: 30px !important;
    font-size: 48px !important;
  }

  html body.single-product main .sunday-related-grid {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  html body.single-product main .sunday-related-card {
    min-width: min(82vw, 320px);
    scroll-snap-align: start;
  }

  html body.single-product main .sunday-product-faq .module-fancy-heading {
    margin-bottom: 36px !important;
  }

  html body.single-product main .sunday-product-faq .fancy-heading {
    font-size: 58px !important;
  }

  html body.single-product main .sunday-product-faq .module-accordion .tb_title_accordion {
    min-height: 68px;
    padding: 20px 50px 20px 0 !important;
    font-size: 18px !important;
  }
}

/* Product-page FAQ only: once the premium accordion is installed, keep both
   circular markers inside its grid. The legacy product FAQ positioned the
   action marker absolutely, which made it clip against the rounded row. */
html body.single-product #pagewrap#pagewrap
  .sunday-product-faq.sunday-faq-premium.sunday-faq-unified
  .module-accordion .tb_title_accordion {
  overflow: visible !important;
}

html body.single-product #pagewrap#pagewrap
  .sunday-product-faq.sunday-faq-premium.sunday-faq-unified
  .module-accordion .tb_title_accordion::before,
html body.single-product #pagewrap#pagewrap
  .sunday-product-faq.sunday-faq-premium.sunday-faq-unified
  .module-accordion .tb_title_accordion::after {
  position: static !important;
  inset: auto !important;
  align-self: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

html body.single-product #pagewrap#pagewrap
  .sunday-product-faq.sunday-faq-premium.sunday-faq-unified
  .module-accordion .tb_title_accordion::before {
  justify-self: start !important;
  border-radius: 50% !important;
}

html body.single-product #pagewrap#pagewrap
  .sunday-product-faq.sunday-faq-premium.sunday-faq-unified
  .module-accordion .tb_title_accordion::after {
  justify-self: end !important;
  border-radius: 50% !important;
}

html body.single-product #pagewrap#pagewrap
  .sunday-product-faq.sunday-faq-premium.sunday-faq-unified
  .module-accordion .tb_title_accordion[aria-expanded="true"]::after {
  transform: rotate(90deg) !important;
}
