/** Shopify CDN: Minification failed

Line 1699:35 Unexpected "{"
Line 1761:37 Unexpected "{"
Line 3068:0 Expected "}" to go with "{"

**/
/* ===================================================================
   ExoticsDispo — Premium Refinement Layer
   $50K custom build feel. Evolution, not revolution.
   =================================================================== */

/* ===== 1. DESIGN TOKENS ===== */
:root {
  --font-exo-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-exo-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --exo-text: #1a1a1a;
  --exo-bg: #FAFAFA;
  --exo-purple: #7B2D8B;
  --exo-purple-hover: #6A2D84;
  --exo-purple-light: rgba(123, 45, 139, 0.08);
  --exo-green: #8CB33D;
  --exo-card-bg: #ffffff;
  --exo-transition: 0.25s ease;
  --exo-transition-slow: 0.35s ease;
  --exo-radius: 12px;
  --exo-radius-lg: 16px;
  --exo-radius-pill: 24px;
  --exo-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --exo-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
  --exo-shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);
  --exo-shadow-purple: 0 4px 16px rgba(123, 45, 139, 0.25);
  --exo-section-spacing: 80px;
  --exo-section-spacing-mobile: 50px;
}


/* ===== 2. TYPOGRAPHY ===== */
body,
.text-body {
  font-family: var(--font-exo-body) !important;
  color: var(--exo-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5,
.hxl, .hxxl {
  font-family: var(--font-exo-heading) !important;
  color: var(--exo-text);
}

/* Explicit heading sizes */
h1, .h1 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

h2, .h2, h2.title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

h3, .h3 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

@media screen and (min-width: 750px) {
  h1, .h1 { font-size: 48px; }
  h2, .h2, h2.title { font-size: 32px; }
  h3, .h3 { font-size: 24px; }
}

/* Selective text-transform */
.card__heading,
.card-information .card__heading,
.product__title,
h2.title,
.collection__title h2,
.footer-block__heading,
.exo-trust__label,
.exo-reviews__title {
  text-transform: none;
}

.exo-header__logo,
.exo-mobile__logo,
.exo-nav__link,
.exo-marquee__item,
.announcement-bar__message {
  text-transform: uppercase;
}


/* ===== 3. BACKGROUND & BODY ===== */
body {
  background-color: var(--exo-bg) !important;
}

.color-scheme-1,
.color-scheme--1 {
  --color-background: 250, 250, 250;
}


/* ===== 4. SPACING ===== */
/* Zero gap from hero to the very next section (marquee sits flush) */
.exo-hero-section,
.exo-hero-section + .shopify-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove spacing from Dawn's shopify-section wrappers around hero */
.shopify-section .exo-hero {
  margin: 0;
  padding: 0;
}

/* Consistent spacing between normal sections — 80px desktop, 50px mobile */
.section + .section {
  margin-top: var(--exo-section-spacing-mobile);
}

@media screen and (min-width: 750px) {
  .section + .section {
    margin-top: var(--exo-section-spacing);
  }
}

.card__information {
  padding: 1.4rem 1.2rem 1.8rem;
}

@media screen and (min-width: 750px) {
  .card__information {
    padding: 1.6rem 1.4rem 2rem;
  }
}

.collection .grid {
  gap: 2rem;
}

@media screen and (min-width: 750px) {
  .collection .grid {
    gap: 2.4rem;
  }
}


/* ===== 5. PRODUCT CARDS — Premium ===== */
.card-wrapper {
  transition: transform var(--exo-transition), box-shadow var(--exo-transition);
}

.card--standard .card__inner,
.card--card {
  border-radius: var(--exo-radius) !important;
  overflow: hidden;
  background: var(--exo-card-bg);
  transition: box-shadow var(--exo-transition), transform var(--exo-transition);
}

.card--standard .card__inner::after,
.card--card::after {
  box-shadow: var(--exo-shadow-sm) !important;
  border-radius: var(--exo-radius) !important;
}

@media screen and (min-width: 990px) {
  .card-wrapper:hover .card--standard .card__inner,
  .card-wrapper:hover .card--card {
    box-shadow: var(--exo-shadow-lg);
    transform: translateY(-4px);
  }

  .card-wrapper:hover .card--standard .card__inner::after,
  .card-wrapper:hover .card--card::after {
    box-shadow: var(--exo-shadow-lg) !important;
  }
}

.card .card__inner .card__media {
  border-radius: var(--exo-radius) var(--exo-radius) 0 0 !important;
}

.card__heading {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.4;
}

@media screen and (min-width: 750px) {
  .card__heading {
    font-size: 1.5rem;
  }
}

/* Quick Add — always visible (no hover) */
.quick-add { display: block !important; position: static !important; }
.quick-add__submit {
  opacity: 1 !important;
  transform: none !important;
  position: static !important;
  width: 100% !important;
  background: #1d1d1f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 0 !important;
  font-family: -apple-system, 'Inter', sans-serif !important;
  padding: 8px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  margin-top: 6px !important;
  cursor: pointer;
  transition: background 0.2s ease;
}
.quick-add__submit::after {
  content: none !important; display: none !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}
.quick-add__submit:hover { background: #333 !important; }

/* Also hide span text for themes that wrap in span */
/* span text now visible — no hide needed */

/* Sold out state */
.quick-add__submit[disabled]::after { content: 'Sold Out' !important; }
.quick-add__submit[disabled] {
  background: #e5e5e5 !important;
  color: #999 !important;
  cursor: not-allowed !important;
}
/* Keep loading spinner visible */
.quick-add__submit .loading__spinner { font-size: 14px !important; line-height: normal !important; }

.price-item {
  font-weight: 600;
  color: var(--exo-text);
}

.price--on-sale .price-item--regular {
  color: rgba(26, 26, 26, 0.5);
}


/* ===== 6. BUTTONS — Premium ===== */
.button,
.shopify-challenge__button,
.customer button {
  border-radius: var(--exo-radius);
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: all var(--exo-transition);
  font-family: var(--font-exo-body) !important;
}

.button:hover {
  transform: translateY(-1px);
  box-shadow: var(--exo-shadow-purple);
}

.button--secondary:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Focus states for accessibility */
.button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--exo-purple);
  outline-offset: 2px;
}

.exo-header__icon:focus-visible,
.exo-mobile__icon:focus-visible,
.exo-mobile__hamburger:focus-visible {
  outline: 2px solid #c77dff;
  outline-offset: 2px;
  border-radius: 4px;
}


/* ===== 7. HEADER REFINEMENTS ===== */
.exo-header {
  transition: padding var(--exo-transition), background var(--exo-transition);
  will-change: padding;
}

.exo-header.is-scrolled .exo-header__top {
  padding-top: 8px;
  padding-bottom: 4px;
}

.exo-header.is-scrolled .exo-header__logo {
  font-size: 22px;
  transition: font-size var(--exo-transition);
}

.exo-header.is-scrolled .exo-nav {
  padding-top: 4px;
  padding-bottom: 6px;
}

.exo-header.is-scrolled .exo-header__icon svg {
  width: 20px;
  height: 20px;
}

.exo-nav__link {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 10px 14px;
  border-radius: 6px;
  transition: color var(--exo-transition), background var(--exo-transition);
}

.exo-nav__link:hover {
  color: #c77dff;
  background: rgba(199, 125, 255, 0.06);
}

.exo-nav__dropdown {
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  padding: 6px;
}

.exo-nav__dropdown a {
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 13.5px;
  font-weight: 400;
}

.exo-header__icon[aria-label="Search"] {
  background: rgba(255, 255, 255, 0.08);
  padding: 8px;
  border-radius: 50%;
  transition: background var(--exo-transition);
}

.exo-header__icon[aria-label="Search"]:hover {
  background: rgba(199, 125, 255, 0.15);
}

.exo-header__cart-count {
  background: var(--exo-purple);
  font-size: 10px;
  font-weight: 700;
  border: 2px solid #000;
}

.exo-header__utility {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 7px 20px;
}

.exo-header__utility a {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.04em;
  opacity: 0.6;
  transition: opacity var(--exo-transition), color var(--exo-transition);
}

.exo-header__utility a:hover {
  opacity: 1;
  color: #c77dff;
}


/* ===== 8. HERO REFINEMENTS ===== */
.exo-hero__heading {
  font-family: var(--font-exo-heading) !important;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  line-height: 1.08;
}

.exo-hero__subheading {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.exo-hero__btn {
  border-radius: 28px;
  padding: 16px 40px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.06em;
  background: var(--exo-purple);
  transition: all var(--exo-transition-slow);
  box-shadow: 0 4px 16px rgba(123, 45, 139, 0.35);
  font-family: var(--font-exo-body) !important;
}

.exo-hero__btn:hover {
  background: var(--exo-purple-hover);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 6px 24px rgba(123, 45, 139, 0.45);
}

@media (max-width: 749px) {
  .exo-hero__heading { font-size: 30px; letter-spacing: -0.01em; }
  .exo-hero__subheading { font-size: 15px; }
  .exo-hero__btn { padding: 14px 32px; font-size: 13px; }
}


/* ===== 9. MARQUEE ===== */
.exo-marquee__item {
  font-weight: 600;
  letter-spacing: 0.08em;
  font-family: var(--font-exo-body) !important;
}


/* ===== 10. REVIEWS ===== */
.exo-reviews {
  padding: 80px 20px;
}

.exo-reviews__title {
  font-family: var(--font-exo-heading) !important;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
}

.exo-reviews__subtitle {
  font-size: 16px;
  font-weight: 400;
  opacity: 0.7;
}

.exo-reviews__card {
  border-radius: 14px;
  padding: 32px 28px;
  transition: transform var(--exo-transition), border-color var(--exo-transition), box-shadow var(--exo-transition);
}

.exo-reviews__card:hover {
  box-shadow: 0 8px 32px rgba(123, 45, 139, 0.15);
}

.exo-reviews__card-text {
  font-family: var(--font-exo-body) !important;
  font-size: 15px;
  line-height: 1.65;
}

.exo-reviews__card-author {
  font-family: var(--font-exo-body) !important;
}

.exo-reviews__cta a {
  border-radius: var(--exo-radius-pill);
  padding: 14px 36px;
  font-weight: 600;
  font-family: var(--font-exo-body) !important;
  transition: all var(--exo-transition-slow);
}

.exo-reviews__cta a:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(123, 45, 139, 0.3);
  opacity: 1;
}

@media (max-width: 749px) {
  .exo-reviews { padding: 50px 16px; }
  .exo-reviews__title { font-size: 24px; }
}


/* ===== 11. TRUST BADGES ===== */
.exo-trust {
  padding: 80px 20px;
  background: var(--exo-bg);
}

.exo-trust__title {
  font-family: var(--font-exo-heading) !important;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--exo-text);
  text-transform: none;
}

.exo-trust__badge {
  transition: transform var(--exo-transition);
  border-radius: var(--exo-radius);
  padding: 28px 20px;
}

.exo-trust__badge:hover {
  transform: translateY(-3px);
}

.exo-trust__label {
  font-family: var(--font-exo-body) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 13px;
  text-transform: none;
  color: var(--exo-text);
}

@media (max-width: 749px) {
  .exo-trust { padding: 50px 16px; }
}


/* ===== 12. FOOTER ===== */
.footer {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer .footer__content-top {
  padding-bottom: 4rem;
}

.footer-block__heading {
  font-family: var(--font-exo-heading) !important;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 1.8rem;
  text-transform: uppercase;
}

.footer-block__details-content .list-menu__item--link {
  font-family: var(--font-exo-body) !important;
  font-size: 1.35rem;
  transition: color var(--exo-transition);
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
}

@media screen and (min-width: 750px) {
  .footer__blocks-wrapper.grid { gap: 3rem; }
  .footer-block.grid__item + .footer-block.grid__item {
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    padding-left: 3rem;
  }
}

.footer__content-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: 2rem;
}

.footer__newsletter .field__input {
  border-radius: var(--exo-radius-pill);
  font-family: var(--font-exo-body) !important;
}

.footer__newsletter .field__button {
  border-radius: 0 var(--exo-radius-pill) var(--exo-radius-pill) 0;
}

.copyright__content {
  font-family: var(--font-exo-body) !important;
  font-size: 1.15rem;
  opacity: 0.6;
}


/* ===== 13. ANIMATIONS ===== */
.scroll-trigger.animate--slide-in {
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* CSS-only fade-in animation for sections entering viewport */
.exo-hero,
.exo-marquee,
.exo-reviews,
.exo-trust,
.exo-categories,
.exo-collection-row,
.collection,
.blog {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.exo-hero.is-visible,
.exo-marquee.is-visible,
.exo-reviews.is-visible,
.exo-trust.is-visible,
.exo-categories.is-visible,
.exo-collection-row.is-visible,
.collection.is-visible,
.blog.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hero always visible (above fold) */
.exo-hero {
  opacity: 1;
  transform: none;
}

.announcement-bar-section {
  opacity: 1;
  transform: none;
}

/* Smooth hover transitions — 0.25s ease everywhere */
a,
button,
.card-wrapper,
.card,
.card__inner,
.card__media img {
  transition: all 0.25s ease;
}

a:hover {
  transition: color 0.25s ease;
}


/* ===== 14. MOBILE ===== */
@media (max-width: 989px) {
  body { opacity: 1; }

  .exo-mobile__icon,
  .exo-mobile__hamburger,
  .exo-mobile-menu__link,
  .exo-mobile-menu__toggle {
    min-height: 44px;
  contain: layout style;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .exo-mobile-menu__link,
  .exo-mobile-menu__toggle {
    justify-content: flex-start;
    font-family: var(--font-exo-body) !important;
    font-weight: 500;
    font-size: 15px;
    text-transform: none;
    letter-spacing: 0.01em;
    padding: 14px 24px;
  }

  .exo-mobile-menu__sub a {
    font-family: var(--font-exo-body) !important;
    font-size: 14px;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .exo-mobile-menu {
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 8px 0 30px rgba(0, 0, 0, 0.2);
  }

  .exo-header__mobile { padding: 14px 16px; }

  .exo-mobile__logo {
    font-family: var(--font-exo-heading) !important;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.1em;
  }

  .collection .grid { gap: 1.2rem; }
  .card__information { padding: 1rem 0.8rem 1.4rem; }
  .card__heading { font-size: 1.3rem; }

  .section + .section {
    margin-top: var(--exo-section-spacing-mobile);
  }
}


/* ===== 15. ANNOUNCEMENT BAR ===== */
.announcement-bar {
  font-family: var(--font-exo-body) !important;
}

.announcement-bar__message {
  font-family: var(--font-exo-body) !important;
  font-weight: 400;
}


/* ===== 16. COLLECTION HEADINGS ===== */
.collection__title h2.title,
h2.title {
  font-family: var(--font-exo-heading) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--exo-text);
}

.title-wrapper {
  margin-bottom: 3rem;
}

@media screen and (min-width: 750px) {
  .title-wrapper { margin-bottom: 4rem; }
}


/* ===== 17. FORM INPUTS ===== */
.field__input,
.select__select,
.customer .field input,
.customer select {
  font-family: var(--font-exo-body) !important;
  border-radius: var(--exo-radius);
}


/* ===== 18. MISC ===== */
.predictive-search {
  font-family: var(--font-exo-body) !important;
  border-radius: var(--exo-radius);
}

.cart-drawer {
  font-family: var(--font-exo-body) !important;
}

.badge {
  font-family: var(--font-exo-body) !important;
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  border-radius: var(--exo-radius);
}

@media screen and (min-width: 990px) {
  .page-width { max-width: 1300px; }
}


/* ===== 19. PRODUCT PAGE — Premium ===== */
/* Gallery with thumbnails below */
.product__media-wrapper .product__media-list {
  border-radius: var(--exo-radius);
  overflow: hidden;
}

.product__media-item .media {
  border-radius: var(--exo-radius);
}

/* Variant selector: pill style with purple fill */
.product-form__input .swatch-input__input:checked + .swatch-input__label,
variant-selects .product-form__input input[type="radio"]:checked + label,
.product-form__input input[type="radio"]:checked + label {
  background-color: var(--exo-purple) !important;
  color: #fff !important;
  border-color: var(--exo-purple) !important;
}

variant-selects .product-form__input label,
.product-form__input label {
  border-radius: var(--exo-radius-pill) !important;
  padding: 8px 20px;
  font-weight: 500;
  transition: all var(--exo-transition);
  cursor: pointer;
  border: 1.5px solid rgba(26, 26, 26, 0.15);
}

variant-selects .product-form__input label:hover,
.product-form__input label:hover {
  border-color: var(--exo-purple);
  background: var(--exo-purple-light);
}

/* Product title */
.product__title h1 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 750px) {
  .product__title h1 { font-size: 32px; }
}

/* Product price */
.product__info-container .price-item--regular,
.product__info-container .price-item--sale {
  font-size: 2.2rem;
  font-weight: 700;
}

/* Trust badges below Add to Cart */
.exo-product-trust {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 20px 0;
  margin-top: 16px;
  border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.exo-product-trust__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.exo-product-trust__icon {
  width: 28px;
  height: 28px;
  color: var(--exo-purple);
}

.exo-product-trust__icon svg {
  width: 100%;
  height: 100%;
}

.exo-product-trust__label {
  font-size: 11px;
  font-weight: 600;
  color: var(--exo-text);
  letter-spacing: 0.02em;
}

/* Sticky Add to Cart on mobile */
.exo-sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
  padding: 12px 16px;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: none;
}

.exo-sticky-atc.is-visible {
  transform: translateY(0);
}

@media (max-width: 989px) {
  .exo-sticky-atc { display: block; }
}

.exo-sticky-atc__inner {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 600px;
  margin: 0 auto;
}

.exo-sticky-atc__info {
  flex: 1;
  min-width: 0;
}

.exo-sticky-atc__title {
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--exo-text);
}

.exo-sticky-atc__price {
  font-size: 14px;
  font-weight: 700;
  color: var(--exo-purple);
}

.exo-sticky-atc__btn {
  flex-shrink: 0;
  padding: 12px 28px;
  background: var(--exo-purple);
  color: #fff;
  border: none;
  border-radius: var(--exo-radius);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background var(--exo-transition);
  font-family: var(--font-exo-body);
}

.exo-sticky-atc__btn:hover {
  background: var(--exo-purple-hover);
}

/* Related products */
.related-products .title-wrapper {
  margin-bottom: 2.4rem;
}


/* ===== 20. COLLECTION PAGE — Premium ===== */
/* Filter/Facets refinement */
.facets-container {
  border-radius: var(--exo-radius);
}

.facets__summary {
  border-radius: var(--exo-radius);
  transition: background var(--exo-transition);
}

.facets__summary:hover {
  background: rgba(26, 26, 26, 0.04);
}

/* Active filter chips */
.active-facets__button {
  border-radius: var(--exo-radius-pill) !important;
  font-family: var(--font-exo-body) !important;
  font-weight: 500;
  transition: all var(--exo-transition);
}

.active-facets__button:hover {
  background: rgba(123, 45, 139, 0.08);
  border-color: var(--exo-purple);
}

/* Product count display */
.product-count__text {
  font-family: var(--font-exo-body) !important;
  font-size: 14px;
  color: rgba(26, 26, 26, 0.6);
}

/* Sort dropdown */
.facet-filters__sort {
  border-radius: var(--exo-radius) !important;
  font-family: var(--font-exo-body) !important;
}

/* Collection banner */
.collection-hero__title {
  font-family: var(--font-exo-heading) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.collection-hero__description {
  font-family: var(--font-exo-body) !important;
  max-width: 680px;
  margin: 0 auto;
}


/* ===== 21. CART DRAWER — Premium ===== */
.drawer__inner {
  border-radius: var(--exo-radius-lg) 0 0 var(--exo-radius-lg);
}

.drawer__heading {
  font-family: var(--font-exo-heading) !important;
  font-weight: 700;
  font-size: 20px;
}

/* Quantity buttons */
.cart-item .quantity {
  border-radius: var(--exo-radius);
}

.quantity__button {
  transition: color var(--exo-transition), background var(--exo-transition);
}

.quantity__button:hover {
  color: var(--exo-purple);
}

/* Cart item image */
.cart-item__image {
  border-radius: 8px;
}

/* Cart item name */
.cart-item__name {
  font-family: var(--font-exo-body) !important;
  font-weight: 600;
}

/* Free shipping progress bar */
.exo-free-shipping {
  padding: 12px 16px;
  margin-bottom: 12px;
  background: #f7f3f9;
  border-radius: var(--exo-radius);
  text-align: center;
}

.exo-free-shipping__text {
  font-size: 13px;
  font-weight: 500;
  color: var(--exo-text);
  margin-bottom: 8px;
  font-family: var(--font-exo-body);
}

.exo-free-shipping__text strong {
  color: var(--exo-purple);
  font-weight: 700;
}

.exo-free-shipping__bar {
  height: 6px;
  background: rgba(26, 26, 26, 0.08);
  border-radius: 3px;
  overflow: hidden;
}

.exo-free-shipping__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--exo-purple), #9b59b6);
  border-radius: 3px;
  transition: width 0.4s ease;
}

.exo-free-shipping--complete .exo-free-shipping__text {
  color: var(--exo-green);
}

.exo-free-shipping--complete .exo-free-shipping__fill {
  background: var(--exo-green);
}

/* Checkout button */
.cart__checkout-button {
  border-radius: var(--exo-radius) !important;
  font-family: var(--font-exo-body) !important;
  font-weight: 700;
  letter-spacing: 0.04em;
}


/* ===== 22. FEATURED BLOG — Premium ===== */
.blog .title-wrapper-with-link {
  margin-bottom: 2.4rem;
}

.blog__title {
  font-family: var(--font-exo-heading) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.article-card .card__inner {
  border-radius: var(--exo-radius) !important;
  overflow: hidden;
}

.article-card .card__content {
  padding: 1.6rem;
}

.article-card .card__heading {
  font-family: var(--font-exo-heading) !important;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.35;
}

.article-card .card__heading a {
  text-decoration: none;
}

.article-card .card__information .article-card__info {
  font-family: var(--font-exo-body) !important;
}

.article-card .card__excerpt {
  font-family: var(--font-exo-body) !important;
  font-size: 1.35rem;
  line-height: 1.6;
  color: rgba(26, 26, 26, 0.7);
}

/* Blog card hover */
@media screen and (min-width: 990px) {
  .article-card-wrapper:hover .card {
    box-shadow: var(--exo-shadow-md);
    transform: translateY(-3px);
  }
}


/* ===== 23. SHOP BY CATEGORY ===== */
/* Primary styles are inline in the section liquid file.
   These are font-family refinements only. */
.exo-categories {
  background: var(--exo-bg);
}

.exo-categories__heading {
  font-family: var(--font-exo-heading) !important;
  color: var(--exo-text);
}

.exo-categories__label {
  font-family: var(--font-exo-heading) !important;
}


/* ===== 24. SOCIAL PROOF BAR ===== */
.exo-social-proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 0;
  font-family: var(--font-exo-body);
}

.exo-social-proof__stars {
  display: flex;
  gap: 2px;
}

.exo-social-proof__stars svg {
  width: 16px;
  height: 16px;
  fill: #FFD700;
}

.exo-social-proof__text {
  font-size: 14px;
  font-weight: 600;
  color: var(--exo-text);
}

.exo-social-proof__count {
  font-size: 13px;
  color: rgba(26, 26, 26, 0.6);
}

/* --- Cart Drawer: Free Shipping Progress Bar --- */
.exo-drawer-shipping-bar {
  padding: 12px 16px 16px;
  border-bottom: 1px solid #eee;
}
.exo-drawer-shipping-bar__text {
  font-size: 13px;
  color: #1a1a1a;
  margin: 0 0 8px;
  text-align: center;
}
.exo-drawer-shipping-bar__text strong {
  color: var(--exo-purple, #7B2D8B);
  font-weight: 700;
}
.exo-drawer-shipping-bar__success {
  color: #2d8b3a;
}
.exo-drawer-shipping-bar__success strong {
  color: #2d8b3a;
}
.exo-drawer-shipping-bar__track {
  width: 100%;
  height: 6px;
  background: #e5e5e5;
  border-radius: 3px;
  overflow: hidden;
}
.exo-drawer-shipping-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, #7B2D8B, #9B4DB8);
  border-radius: 3px;
  transition: width 0.5s ease;
}


/* ===== 25. POLISH PASS ===== */

/* --- 1. Kill hero-to-content gap --- */
.exo-hero,
.shopify-section:has(.exo-hero) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.shopify-section:has(.exo-hero) + .shopify-section {
  margin-top: 0 !important;
}

.exo-hero + .section,
.shopify-section:has(.exo-hero) + .section {
  margin-top: 0 !important;
}

/* --- 2. Category cards — purple gradient --- */
.exo-categories__card {
  background: linear-gradient(135deg, #4A2566 0%, #7B2D8B 100%);
  border-radius: 12px;
  aspect-ratio: auto;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.exo-categories__card:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 24px rgba(74, 37, 102, 0.35);
}

.exo-categories__label {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  text-shadow: none;
}

.exo-categories__overlay {
  background: none;
}

.exo-categories__card:hover .exo-categories__overlay {
  background: none;
}

.exo-categories__grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

@media screen and (min-width: 750px) {
  .exo-categories__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

/* --- 3. Product cards — clean shadow & hover lift --- */
.card--standard .card__inner,
.card--card {
  background: #fff;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

@media screen and (min-width: 990px) {
  .card-wrapper:hover .card--standard .card__inner,
  .card-wrapper:hover .card--card {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
  }
}

.price-item {
  font-weight: 700;
  color: var(--exo-purple);
}

.price--on-sale .price-item--regular {
  color: rgba(26, 26, 26, 0.45);
  font-weight: 400;
}

/* --- 4. Reviews section — dark purple bg, gold stars, white text --- */
.exo-reviews {
  background: #1a1033 !important;
  color: #fff;
}

.exo-reviews__title {
  color: #fff;
}

.exo-reviews__subtitle {
  color: rgba(255, 255, 255, 0.7);
}

.exo-reviews__card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
}

.exo-reviews__card:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.15);
}

.exo-reviews__card-text {
  color: rgba(255, 255, 255, 0.9);
}

.exo-reviews__card-author {
  color: rgba(255, 255, 255, 0.6);
}

.exo-reviews__stars svg,
.exo-reviews__card .exo-reviews__stars svg,
.exo-reviews .exo-social-proof__stars svg {
  fill: #FFD700;
}

.exo-reviews__cta a {
  background: var(--exo-purple);
  color: #fff;
  border: none;
}

/* --- 5. Section headings — centered, Inter, 28px, accent border --- */
.section-header h2,
.title-wrapper h2.title,
.collection__title h2,
h2.title,
.exo-categories__title,
.exo-trust__title {
  font-family: var(--font-exo-heading) !important;
  font-size: 28px;
  font-weight: 600;
  text-align: center;
  color: var(--exo-text);
  padding-bottom: 12px;
  position: relative;
  display: inline-block;
  width: 100%;
}

.title-wrapper {
  text-align: center;
}

.title-wrapper h2.title::after,
.exo-categories__title::after,
.exo-trust__title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--exo-purple);
  border-radius: 2px;
  margin: 10px auto 0;
}

/* --- 6. Body background (already set, reinforce) --- */
body {
  background-color: #FAFAFA !important;
}

/* --- 7. Header z-index — above everything --- */
.section-header,
.shopify-section-header,
.shopify-section-group-header-group,
.exo-header,
.header-wrapper {
  position: relative;
  z-index: 1000 !important;
}

.section-header.shopify-section-header-sticky {
  position: sticky;
  top: 0;
  z-index: 1000 !important;
}


/* =====================================================================
   VISUAL STUNNING PASS — Global polish & "wow" factor
   ===================================================================== */

/* ===== GLOBAL: Smooth scroll behavior ===== */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ===== GLOBAL: Selection color — purple ===== */
::selection {
  background: rgba(123, 45, 139, 0.25);
  color: #1a1a1a;
}

::-moz-selection {
  background: rgba(123, 45, 139, 0.25);
  color: #1a1a1a;
}

/* ===== GLOBAL: Scrollbar styling — thin, purple thumb ===== */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(123, 45, 139, 0.35) transparent;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(123, 45, 139, 0.3);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(123, 45, 139, 0.55);
}

/* ===== GLOBAL: Focus visible for accessibility ===== */
:focus-visible {
  outline: 2px solid var(--exo-purple);
  outline-offset: 3px;
  border-radius: 4px;
}

:focus:not(:focus-visible) {
  outline: none;
}

/* ===== GLOBAL: All transitions 0.25s ease ===== */
img,
svg,
.exo-trust__badge,
.exo-scroll-card,
.exo-cat-card,
.exo-reviews__card,
.exo-reviews__cta a,
.exo-hero__btn,
.card-wrapper,
.card__inner,
.article-card-wrapper {
  transition: all 0.25s ease;
}

/* ===== PRODUCT CARDS — upgraded shadows & purple glow ===== */
.card--standard .card__inner::after,
.card--card::after {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

@media screen and (min-width: 990px) {
  .card-wrapper:hover .card--standard .card__inner::after,
  .card-wrapper:hover .card--card::after {
    box-shadow: 0 8px 24px rgba(123, 45, 139, 0.15) !important;
  }

  /* Image zoom on hover for Dawn product cards */
  .card-wrapper:hover .card__media img,
  .card-wrapper:hover .media img {
    transform: scale(1.05);
  }
}

.card__media img,
.media img {
  transition: transform 0.4s ease;
}

/* Price styling: bold, purple */
.price-item {
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--exo-purple);
}

/* ===== FOOTER — dark purple ===== */
.footer {
  background: #1a0a2e !important;
  color: rgba(255, 255, 255, 0.85);
  margin-top: 0 !important;
}

.footer,
.footer *,
.footer a,
.footer h2,
.footer .footer-block__heading,
.footer .list-menu__item--link,
.footer .copyright__content,
.footer .rte,
.footer .rte a {
  color: rgba(255, 255, 255, 0.8) !important;
}

.footer a:hover,
.footer .list-menu__item--link:hover,
.footer .rte a:hover {
  color: #c77dff !important;
}

.footer .footer-block__heading,
.footer h2 {
  color: #fff !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 14px;
}

.footer__content-top {
  padding-bottom: 4rem;
}

/* Footer newsletter — purple button */
.footer .footer__newsletter .field__input {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff !important;
  border-radius: 28px 0 0 28px;
}

.footer .footer__newsletter .field__input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.footer .footer__newsletter .field__button {
  background: var(--exo-purple) !important;
  color: #fff !important;
  border-radius: 0 28px 28px 0;
  border: none;
  transition: background 0.25s ease;
}

.footer .footer__newsletter .field__button:hover {
  background: #9b4db8 !important;
}

.footer .footer__newsletter .field__button svg,
.footer .footer__newsletter .field__button path {
  fill: #fff;
  color: #fff !important;
}

/* Footer bottom border */
.footer .footer__content-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 2rem;
}

.footer .copyright__content {
  opacity: 0.5;
}

/* Footer social icons */
.footer .footer__list-social .list-social__link {
  color: rgba(255, 255, 255, 0.6) !important;
  transition: color 0.25s ease, transform 0.25s ease;
}

.footer .footer__list-social .list-social__link:hover {
  color: #c77dff !important;
  transform: translateY(-2px);
}

/* Footer column dividers on desktop */
@media screen and (min-width: 750px) {
  .footer .footer__blocks-wrapper.grid { gap: 3rem; }
  .footer .footer-block.grid__item + .footer-block.grid__item {
    border-left: 1px solid rgba(255, 255, 255, 0.06);
    padding-left: 3rem;
  }
}

/* Footer payment icons */
.footer .list-payment .icon {
  opacity: 0.6;
  filter: brightness(1.2);
}

/* ===== MOBILE POLISH — 390px optimization ===== */
@media (max-width: 749px) {
  /* No horizontal overflow on the page */
  html, body {
    overflow-x: hidden;
    max-width: 100vw;
  }

  /* Touch-friendly: 44px minimum tap targets */
  a, button, [role="button"], input[type="submit"], input[type="button"],
  .exo-scroll-card__link,
  .exo-cat-card,
  .exo-trust__badge {
    min-height: 44px;
    min-width: 44px;
  }

  /* Smooth horizontal scroll with momentum on product rows */
  .exo-scroll-container,
  .exo-cat-scroll {
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
  }

  .exo-scroll-card,
  .exo-cat-card {
    scroll-snap-align: start;
  }

  /* Ensure sections don't cause horizontal overflow */
  .exo-collection-row,
  .exo-categories,
  .exo-reviews,
  .exo-trust,
  .exo-hero,
  .exo-marquee,
  section,
  .shopify-section {
    max-width: 100vw;
    overflow-x: hidden;
  }

  /* Scrolling containers are allowed */
  .exo-scroll-container,
  .exo-cat-scroll,
  .exo-marquee {
    overflow-x: auto;
  }

  /* Product card info readable at small sizes */
  .exo-scroll-card__title {
    font-size: 12px;
  }

  .exo-scroll-card__price {
    font-size: 15px;
  }
}

/* Extra small mobile (390px and below) */
@media (max-width: 390px) {
  .exo-scroll-card { flex: 0 0 115px !important; }
  .exo-cat-card { flex: 0 0 140px; }
  .exo-hero__heading { font-size: 30px; }
  .exo-hero__subheading { font-size: 15px; }
  .exo-reviews__card { padding: 20px 16px; }
  .exo-trust__badge { padding: 20px 10px; }
  .exo-trust__emoji { font-size: 28px; }
}

/* === LAYOUT: Content margins + centered text === */
.exo-collection-row,
.exo-categories,
.exo-trust-badges-section,
/* .exo-reviews-section-removed */ {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* === PRODUCT CARDS: Centered text + dark prices === */
.exo-scroll-card div[style*="padding: 12px"],
.exo-scroll-card .exo-card-info {
  text-align: center !important;
}

.exo-scroll-card p[style*="font-weight: 700"],
.exo-scroll-card .exo-card-price {
  color: #1a1a1a !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  text-align: center !important;
}

.exo-scroll-card p[style*="font-weight: 600"],
.exo-scroll-card .exo-card-title {
  text-align: center !important;
}

/* === SECTION HEADINGS: Always centered === */
.exo-row-header,
.exo-collection-row h2,
.exo-categories h2,
h2.section-header__title {
  text-align: center !important;
}

/* === GLOBAL: Max width container === */
.page-width {
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* === PRODUCT GRID on collection pages: centered === */
.collection .grid .grid__item {
  text-align: center;
}

.collection .price {
  color: #1a1a1a !important;
  font-weight: 700 !important;
  justify-content: center;
}

.collection .card__heading {
  text-align: center;
}

@media (min-width: 750px) {
  .exo-collection-row,
  .exo-categories,
  .exo-trust-badges-section,
  /* .exo-reviews-section-removed */ {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* === SCROLL ARROWS === */
.exo-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #ddd;
  background: #fff;
  color: #1a1a1a;
  font-size: 24px;
  font-weight: 300;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: all 0.2s ease;
}
.exo-arrow:hover {
  background: #7B2D8B;
  color: #fff;
  border-color: #7B2D8B;
  box-shadow: 0 4px 12px rgba(123,45,139,0.3);
}
.exo-arrow-left { left: 4px; }
.exo-arrow-right { right: 4px; }
.exo-scroll-container::-webkit-scrollbar { display: none; }

@media (max-width: 749px) {
  .exo-arrow { width: 32px; height: 32px; font-size: 20px; }
  .exo-arrow-left { left: 2px; }
  .exo-arrow-right { right: 2px; }
}

/* === FORCE: Price dark, text centered === */
.exo-scroll-card p { text-align: center !important; }
.exo-scroll-card p:last-child { color: #1a1a1a !important; font-weight: 800 !important; }

/* === BLOG: Center heading === */
.blog-posts .section-header,
.blog-posts h2,
[class*="featured-blog"] h2,
.section-header__title {
  text-align: center !important;
}

/* === BLOG POSTS: Fully centered === */
.blog-posts,
[class*="featured-blog"],
.shopify-section--featured-blog {
  text-align: center !important;
}
.blog-posts h2,
[class*="featured-blog"] h2,
.blog-posts .section-header__title {
  text-align: center !important;
  width: 100%;
}
.blog-posts .blog-articles,
.blog-posts .grid,
[class*="featured-blog"] .grid {
  justify-content: center !important;
}
.blog-posts .article-card,
.blog-posts .blog-articles__article,
[class*="featured-blog"] .card {
  text-align: center !important;
}
.blog-posts .article-card__title,
.blog-posts .article-card__excerpt,
.blog-posts .article-card__info,
[class*="featured-blog"] .card__heading,
[class*="featured-blog"] .card__content {
  text-align: center !important;
}

/* === BRANDS: Make Exotics logo bigger === */
.exo-brands div:first-child .exo-brand-logo,
.exo-brand-logo[alt="Exotics"] {
  max-width: 160px !important;
  max-height: 80px !important;
}

/* === FORCE: Collection row margins + spacing === */
.exo-collection-row {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 40px 0 !important;
}

.exo-collection-row > div[style*="relative"] {
  padding: 0 50px !important;
}

/* === FORCE: Arrows visible === */
.exo-arrow {
  display: flex !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
  color: #1a1a1a !important;
  font-size: 24px !important;
  cursor: pointer !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
.exo-arrow:hover {
  background: #7B2D8B !important;
  color: #fff !important;
  border-color: #7B2D8B !important;
}
.exo-arrow-left { left: 8px !important; }
.exo-arrow-right { right: 8px !important; }

/* === FORCE: Categories also indented === */
.exo-categories {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* === Product cards: more breathing room === */
@media (max-width: 749px) {
  .exo-scroll-card { flex: 0 0 115px !important; }
  .exo-scroll-track { gap: 10px !important; }
}
@media (min-width: 750px) {
  .exo-scroll-card { flex: 0 0 210px !important; }
}

/* ===== FLOATING WIDGETS — RewardUp (left) + AI Chat (right) ===== */

/* RewardUp — bottom left */
#rwu-floating-button,
.rwu-widget,
[id*='rewardup'],
[class*='rewardup'],
.rwu-launcher {
  left: 16px !important;
  right: auto !important;
  bottom: 16px !important;
  z-index: 999990 !important;
}

/* AI Chat — bottom right */
#exo-chat-widget,
.exo-chat-bubble,
[id*='exo-chat'] {
  right: 16px !important;
  left: auto !important;
  bottom: 16px !important;
  z-index: 999990 !important;
}

/* Mobile: scale down both widgets */
@media (max-width: 749px) {
  #rwu-floating-button,
  .rwu-widget,
  [id*='rewardup'],
  [class*='rewardup'],
  .rwu-launcher {
    transform: scale(0.85);
    transform-origin: bottom left;
  }
  #exo-chat-widget,
  .exo-chat-bubble,
  [id*='exo-chat'] {
    transform: scale(0.85);
    transform-origin: bottom right;
  }
}


/* =====================================================================
   APPLE-STYLE PRODUCT PAGE — Clean, minimal, professional
   Inspired by apple.com product pages.
   Brand purple #7B2D8B preserved for accents only, NOT for text/buttons.
   ===================================================================== */

/* --- Apple font stack --- */
.product,
.product *,
.exo-product-tabs,
.exo-product-tabs *,
.exo-bundle-wrap,
.exo-bundle-wrap * {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', system-ui, sans-serif;
}

/* --- Product Title --- */
.product__title h1 {
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #1d1d1f !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

@media screen and (min-width: 750px) {
  .product__title h1 {
    font-size: 28px !important;
  }
}

/* --- Product Price — black, NOT purple --- */
.product__info-container .price-item--regular,
.product__info-container .price-item--sale,
.product__info-container .price-item--last,
.product__info-container .price-item {
  color: #1d1d1f !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  letter-spacing: -0.01em;
}

/* Sale/compare price strikethrough */
.product__info-container .price--on-sale .price-item--regular {
  color: #86868b !important;
  font-weight: 400 !important;
}

/* --- Tax / Shipping line --- */
.product__tax,
.product__tax a {
  color: #86868b !important;
  font-size: 13px !important;
}

.product__tax a {
  text-decoration: underline;
}

/* --- Variant Labels (Size, Variant) --- */
.product-form__input .form__label,
.product-form__input legend.form__label {
  color: #1d1d1f !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: -0.01em;
}

/* --- Variant Pills — Apple-style with dark selected state --- */
variant-selects .product-form__input label,
.product-form__input label {
  border: 1.5px solid #d2d2d7 !important;
  border-radius: 20px !important;
  color: #1d1d1f !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 8px 20px !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}

variant-selects .product-form__input label:hover,
.product-form__input label:hover {
  border-color: #1d1d1f !important;
  background: rgba(29, 29, 31, 0.04) !important;
}

/* Selected variant pill — solid dark */
.product-form__input .swatch-input__input:checked + .swatch-input__label,
variant-selects .product-form__input input[type="radio"]:checked + label,
.product-form__input input[type="radio"]:checked + label {
  background-color: #1d1d1f !important;
  color: #fff !important;
  border-color: #1d1d1f !important;
}

/* --- Quantity Selector --- */
.product-form__quantity .quantity {
  border: 1.5px solid #d2d2d7 !important;
  border-radius: 10px !important;
  overflow: hidden;
}

.product-form__quantity .quantity__button {
  color: #1d1d1f !important;
  background: transparent !important;
}

.product-form__quantity .quantity__button:hover {
  color: #1d1d1f !important;
  background: rgba(29, 29, 31, 0.06) !important;
}

.product-form__quantity .quantity__input {
  color: #1d1d1f !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

.product-form__quantity .quantity__label,
.product-form__quantity label.form__label {
  color: #1d1d1f !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* --- Add to Cart Button — solid black, Apple-style --- */
.product-form__submit,
.product-form__submit.button,
.product-form__submit.button--secondary,
.product-form__submit.button--full-width {
  background: #1d1d1f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 16px !important;
  letter-spacing: -0.01em !important;
  width: 100% !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}

.product-form__submit:hover,
.product-form__submit.button:hover {
  background: #000 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.product-form__submit:active {
  transform: scale(0.98) !important;
}

/* --- Buy with GPay / Shopify Payment Button --- */
.shopify-payment-button .shopify-payment-button__button {
  border-radius: 12px !important;
  min-height: 52px;
}

.shopify-payment-button .shopify-payment-button__button--unbranded {
  background: #1d1d1f !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
}

/* --- Pickup Availability --- */
.product__pickup-availabilities,
pickup-availability,
.pickup-availability-preview {
  text-align: center !important;
}

.pickup-availability-preview {
  color: #86868b !important;
  font-size: 13px !important;
  justify-content: center !important;
}

.pickup-availability-preview .icon-tick {
  color: #34c759 !important;
}

/* --- Bundle Section — Apple-style --- */
.exo-bundle-wrap h4 {
  color: #1d1d1f !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: -0.01em;
  text-align: center;
}

.exo-bundle-btn {
  background: transparent !important;
  border: 1.5px solid #d2d2d7 !important;
  border-radius: 10px !important;
  color: #1d1d1f !important;
  transition: all 0.2s ease !important;
}

.exo-bundle-btn:hover {
  border-color: #1d1d1f !important;
  background: rgba(29, 29, 31, 0.04) !important;
}

.exo-bundle-btn.active {
  background: #1d1d1f !important;
  border-color: #1d1d1f !important;
  color: #fff !important;
}

.exo-bundle-btn .exo-qty {
  color: inherit !important;
  font-weight: 600 !important;
}

.exo-bundle-btn .exo-disc {
  color: inherit !important;
  opacity: 0.8;
  font-size: 11px !important;
}

.exo-bundle-btn.active .exo-disc {
  opacity: 1;
}

/* --- Product Tabs — Apple-style --- */
.exo-product-tabs__btn {
  color: #86868b !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}

.exo-product-tabs__btn:hover {
  color: #1d1d1f !important;
}

.exo-product-tabs__btn.active {
  color: #1d1d1f !important;
  border-bottom-color: #1d1d1f !important;
  font-weight: 600 !important;
}

/* Description text */
.exo-product-tabs__content,
.exo-product-tabs__content.rte,
.exo-product-tabs__content p {
  color: #1d1d1f !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

.exo-product-tabs__content h2 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1d1d1f !important;
  letter-spacing: -0.02em;
  line-height: 1.25 !important;
}

/* --- Product Trust Badges — muted Apple style --- */
.exo-product-trust__icon {
  color: #86868b !important;
}

.exo-product-trust__label {
  color: #86868b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.exo-product-trust {
  border-top: 1px solid #d2d2d7 !important;
}

/* --- Sticky Add to Cart — black, not purple --- */
.exo-sticky-atc__btn {
  background: #1d1d1f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
}

.exo-sticky-atc__btn:hover {
  background: #000 !important;
}

.exo-sticky-atc__price {
  color: #1d1d1f !important;
  font-weight: 600 !important;
}

.exo-sticky-atc__title {
  color: #1d1d1f !important;
}

/* --- Vendor / Brand label --- */
.product__text.caption-with-letter-spacing {
  color: #86868b !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

/* --- Inline discount text --- */
#exo-inline-discount {
  color: #1d1d1f !important;
  font-weight: 600 !important;
}

/* --- Product page background --- */
.product,
.product__info-wrapper,
.product__info-container {
  background: #fff !important;
}

/* --- Share button --- */
.share-button .share-button__fallback,
.share-button button {
  color: #86868b !important;
  font-size: 13px !important;
}

/* --- Mobile-specific product page tweaks --- */
@media (max-width: 749px) {
  .product__info-container {
    padding: 0 20px !important;
  }

  .product-form__buttons {
    padding: 0 !important;
  }

  /* More breathing room between sections */
  .product-form__input {
    margin-bottom: 12px;
  }

  .product-form__quantity {
    margin-bottom: 16px;
  }
}

/* --- Desktop product page --- */
@media (min-width: 750px) {
  .product__info-container {
    padding: 0 40px !important;
  }
}

/* --- PDP Badges section (below form) --- */
.exo-pdp-badges-section .exo-product-trust__icon,
.exo-pdp-badges-section svg {
  color: #86868b !important;
  fill: #86868b;
}

/* --- Related Products heading --- */
.related-products h2,
.related-products .title-wrapper h2.title {
  color: #1d1d1f !important;
  letter-spacing: -0.02em;
}


/* ============================================
   Cards: Equal height, button pinned to bottom
   ============================================ */

/* Collection page cards — flexbox column to push button down */
.collection .card-wrapper {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.collection .card,
.collection .card--standard,
.collection .card--card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.collection .card__inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.collection .card__content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.collection .card__information {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  justify-content: space-between !important;
}

.collection .card__heading {
  flex: 1 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

.collection .quick-add {
  margin-top: auto !important;
}

/* Grid items equal height */
.collection .grid__item,
.product-grid > .grid__item {
  display: flex !important;
}

/* Homepage scroll cards — same treatment */
.exo-scroll-card {
  display: flex !important;
  flex-direction: column !important;
}

.exo-scroll-card__link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.exo-scroll-card__info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.exo-scroll-card__title {
  flex: 1 !important;
}

.exo-atc-btn {
  margin-top: auto !important;
}


/* ============================================
   CRITICAL COLLECTION FIXES (do not remove)
   ============================================ */

/* Hide collection hero (title + description) — SEO stays in DOM */
.collection-hero,
.collection-hero__inner,
.collection-hero__title,
.collection-hero__description,
.collection-hero__description.rte,
.collection-hero__text-wrapper,
.shopify-section--main-collection-banner .collection-hero {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4 columns desktop — calc accounts for 16px gap */
@media screen and (min-width: 990px) {
  .product-grid > .grid__item,
  .collection .grid > .grid__item,
  .grid--4-col-desktop > .grid__item {
    width: calc(25% - 18px) !important;
    max-width: calc(25% - 18px) !important;
    flex-grow: 0 !important;
  }
}

/* ALL prices black — not purple */
.price-item,
.price-item--regular,
.price-item--sale,
.price .money,
.collection .price-item,
.product-grid .price-item {
  color: #1d1d1f !important;
  font-weight: 700 !important;
}


/* ============================================
   CRITICAL: Products visible (override scroll-trigger animation)
   Without this, products are invisible after filtering and in headless
   ============================================ */
.collection .scroll-trigger,
.collection .animate--slide-in,
.collection .grid__item,
.collection .grid__item .scroll-trigger,
.product-grid .scroll-trigger,
.product-grid .animate--slide-in,
.product-grid .grid__item,
.product-grid-container .scroll-trigger,
.product-grid-container .animate--slide-in {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* ts:1774394943 */

/* Cart drawer above everything */
.shopify-section-cart-drawer, cart-drawer, .drawer, .drawer[open], #CartDrawer, .drawer__inner {
  z-index: 2147483647 !important;
}
.drawer__overlay, cart-drawer .drawer__overlay {
  z-index: 2147483646 !important;
}
.shopify-section-group-header-group, .announcement-bar-section, .utility-bar {
  z-index: 900 !important;
}


/* ============================================
   FORCE 4 COLUMNS: Override the grid spacing variable
   ============================================ */
.product-grid.grid--4-col-desktop {
  --grid-desktop-horizontal-spacing: 24px;
}

@media screen and (min-width: 990px) {
  .product-grid.grid--4-col-desktop > .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4) !important;
    max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4) !important;
    flex-grow: 0 !important;
  }
}


/* ============================================
   UNIFORM PRODUCT CARDS — equal images, no overflow
   ============================================ */

/* Product images: show full image, white background for padding */
.collection .card__media,
.product-grid .card__media {
  overflow: hidden !important;
  background: #fff !important;
}

.collection .card__media img,
.product-grid .card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* Remove card borders that cause uneven sizing */
.collection .card-wrapper,
.product-grid .card-wrapper {
  border: none !important;
  outline: none !important;
}

.collection .card,
.collection .card--standard,
.collection .card__inner {
  border: none !important;
  outline: none !important;
}

/* Hide SPECIAL PRICE and other badges on collection */
.collection .badge,
.collection .card__badge {
  display: none !important;
}

/* ============================================
   COLLECTION CARDS — Match homepage scroll-card design
   ============================================ */

/* Hide duplicate inner title (Dawn standard card renders title twice) */
.card--standard.card--media > .card__inner .card__content {
  display: none !important;
}

/* Center all card text to match homepage */
.collection .card__information,
.collection .card-information,
.product-grid .card__information,
.product-grid .card-information {
  text-align: center !important;
}

/* Uniform card heights — stretch cards to fill grid row */
.collection .card-wrapper,
.product-grid .card-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.collection .card,
.product-grid .card {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.collection .card-information,
.product-grid .card-information {
  margin-top: auto !important;
}


/* ============================================
   COLLECTION CARDS — Visual Match to Homepage
   ============================================ */

/* Card wrapper: white background, rounded corners, shadow */
.collection .card-wrapper,
.product-grid .card-wrapper {
  background: #ffffff !important;
  border-radius: var(--exo-radius) !important;
  box-shadow: var(--exo-shadow-sm) !important;
  overflow: hidden !important;
}

/* Remove inner card shadow to prevent doubling */
.collection .card__inner,
.product-grid .card__inner {
  box-shadow: none !important;
  background: transparent !important;
}
.collection .card__inner::after,
.product-grid .card__inner::after {
  box-shadow: none !important;
}

/* Hover: lift + stronger shadow on wrapper */
@media screen and (min-width: 990px) {
  .collection .card-wrapper:hover,
  .product-grid .card-wrapper:hover {
    box-shadow: var(--exo-shadow-lg) !important;
    transform: translateY(-4px) !important;
    transition: transform var(--exo-transition), box-shadow var(--exo-transition) !important;
  }
  /* Prevent inner card from also moving */
  .collection .card-wrapper:hover .card__inner,
  .product-grid .card-wrapper:hover .card__inner {
    transform: none !important;
    box-shadow: none !important;
  }
}

/* Quick Add: Replace 'Choose options' with 'Add to Cart' */
.collection .quick-add__submit,
.product-grid .quick-add__submit {
  font-size: 11px !important;
  line-height: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}
.collection .quick-add__submit::before,
.product-grid .quick-add__submit::before {
  content: none !important;
}
.collection .quick-add__submit .loading__spinner,
.product-grid .quick-add__submit .loading__spinner {
  font-size: 1rem;
  line-height: normal;
}


/* ═══════════════════════════════════════════════════════════════
   Hide Dealeasy widget — using our custom bundle buttons instead
   Dealeasy Shopify Function still runs at checkout for discounts
   ═══════════════════════════════════════════════════════════════ */
.dealeasy-widget,
.dealeasy-offer,
.dealeasy-container,
.dealeasy-qb,
[class*="dealeasy"],
[id*="dealeasy"],
[data-dealeasy],
.dsy-widget,
[class*="dsy-"] {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   Mobile filter/sort drawer — full-screen overlay
   Covers announcement bar + header when open
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 749px) {
  

/* DO NOT REMOVE — Products visible after filtering/sorting (AJAX reload) */
.collection .scroll-trigger,
.collection .scroll-trigger.animate--slide-in,
.collection .grid__item,
.collection .grid__item.scroll-trigger,
.collection .grid__item .scroll-trigger,
.product-grid .scroll-trigger,
.product-grid .animate--slide-in,
.product-grid .grid__item,
.product-grid-container,
.product-grid-container .scroll-trigger,
.product-grid-container .animate--slide-in,
#product-grid .scroll-trigger,
#product-grid .animate--slide-in,
#product-grid > .grid__item {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  visibility: visible !important;
}

/* Also fix the product grid container itself */
.product-grid-container.scroll-trigger {
  opacity: 1 !important;
  transform: none !important;
}



/* ============================================
   Quick Add — Mood.com style (always visible, opens modal)
   ============================================ */
/* Show Quick Add button always — not just on hover */
.quick-add {
  display: block !important;
  position: static !important;
  margin-top: 6px !important;
}

.quick-add__submit {
  opacity: 1 !important;
  transform: none !important;
  position: static !important;
  width: 100% !important;
  background: #1d1d1f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: -apple-system, 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  padding: 8px 12px !important;
  cursor: pointer !important;
  letter-spacing: 0.02em !important;
  transition: background 0.2s ease !important;
}

.quick-add__submit:hover {
  background: #000 !important;
}

/* Replace 'Choose options' text with 'Add to Cart' */
.quick-add__submit {
  font-size: 11px !important;
  line-height: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}
.quick-add__submit::before {
  content: none !important;
}

/* Sold out button */
.quick-add__submit[disabled] {
  background: #e5e5e5 !important;
  color: #999 !important;
  cursor: not-allowed !important;
}
.quick-add__submit[disabled]::before {
  content: 'Sold Out' !important;
}

/* Quick Add modal/drawer — Apple style */
.quick-add-modal .quick-add-modal__content-info,
quick-add-modal {
  font-family: -apple-system, 'Inter', sans-serif !important;
}

.quick-add-modal .product-form__submit {
  background: #1d1d1f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
}


/* ============================================
   MOBILE 3-COL GRID — collection pages
   ============================================ */
@media screen and (max-width: 749px) {
  .product-grid > .grid__item,
  .collection .grid > .grid__item,
  #product-grid > .grid__item {
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    flex: 0 0 calc(50% - 8px) !important;
  }
  .product-grid,
  .collection .grid,
  #product-grid {
    gap: 12px !important;
  }
  /* Smaller text on 3-col mobile */
  .collection .card__heading,
  .product-grid .card__heading {
    font-size: 1rem !important;
  }
  .collection .price-item,
  .product-grid .price-item {
    font-size: 1.2rem !important;
  }
  .quick-add__submit {
    padding: 6px 4px !important;
  }
  .quick-add__submit::after {
    font-size: 9px !important;
  }
}

/* ============================================
   Search Results: Match homepage card styling
   ============================================ */
.predictive-search__result-group .predictive-search__item,
.predictive-search .card-wrapper {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}

.predictive-search .card__heading {
  font-family: -apple-system, 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #1d1d1f;
  text-align: center;
}

.predictive-search .price-item {
  color: #1d1d1f !important;
  font-weight: 700;
}

.predictive-search .card__media img {
  object-fit: contain;
}

.predictive-search .card__information {
  text-align: center;
}


/* ============================================
   DO NOT REMOVE — Collection card matching
   Makes collection page cards match homepage style
   ============================================ */

/* Card wrapper: white box, rounded, shadow */
.product-card-wrapper {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.product-card-wrapper:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* Remove Dawn's inner card borders/shadows */
.product-card-wrapper .card__inner {
  border: none;
  box-shadow: none;
  border-radius: 0;
  background: transparent;
}
.product-card-wrapper .card__inner::after {
  box-shadow: none;
  border: none;
}

/* Card info: centered, matching font */
.product-card-wrapper .card__information {
  text-align: center;
  padding: 10px 8px 12px;
  background: #fff;
}
.product-card-wrapper .card__heading {
  text-align: center;
  font-family: -apple-system, 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #1d1d1f;
  line-height: 1.35;
}
.product-card-wrapper .price {
  justify-content: center;
}
.product-card-wrapper .price-item {
  color: #1d1d1f;
  font-weight: 700;
  font-size: 15px;
  font-family: -apple-system, 'Inter', sans-serif;
}

/* Images: full view, not cropped */
.product-card-wrapper .card__media img {
  object-fit: contain;
}

/* Quick Add button: always visible, black, Apple style */
.product-card-wrapper .quick-add {
  display: block;
  position: static;
  margin: 0 8px 8px;
}
.product-card-wrapper .quick-add__submit {
  opacity: 1;
  transform: none;
  position: static;
  width: 100%;
  background: #1d1d1f;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: -apple-system, 'Inter', sans-serif;
  font-weight: 600;
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.2s ease;
  /* Text replacement */
  font-size: 0;
  line-height: 0;
}
.product-card-wrapper .quick-add__submit::before {
  content: none;
  font-size: 11px;
  line-height: normal;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.product-card-wrapper .quick-add__submit:hover {
  background: #000;
}
.product-card-wrapper .quick-add__submit[disabled] {
  background: #e5e5e5;
  color: #999;
  cursor: not-allowed;
}
.product-card-wrapper .quick-add__submit[disabled]::before {
  content: 'Sold Out';
}
.product-card-wrapper .quick-add__submit .loading__spinner {
  font-size: 1rem;
  line-height: normal;
}

/* Hide badges */
.product-card-wrapper .card__badge {
  display: none;
}

/* ── Exo Card Add to Cart Button ─────────────────────── */
.exo-card-atc {
  display: block;
  width: 100%;
  padding: 8px;
  margin-top: 8px;
  background-color: #1d1d1f;
  color: #fff;
  border-radius: 8px;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background-color 250ms ease;
}
.exo-card-atc:hover {
  background-color: #333;
  color: #fff;
  text-decoration: none;
}
button.exo-card-atc {
  border: none;
  font-family: inherit;
  cursor: pointer;
}
.exo-card-atc--sold-out {
  background-color: #e5e5e5;
  color: #86868b;
  cursor: not-allowed;
}
.exo-card-atc--sold-out:hover {
  background-color: #e5e5e5;
  color: #86868b;
}


/* ── Volume Discount Tier Buttons ─────────────────────── */
.exo-discount-tier {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border: 2px solid #e5e5e5;
  border-radius: 8px;
  background: #fff;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  touch-action: manipulation;
}
.exo-discount-tier:hover {
  border-color: #7B2D8B;
  color: #7B2D8B;
}
.exo-discount-tier.is-active {
  background: #7B2D8B;
  border-color: #7B2D8B;
  color: #fff;
}
.exo-discount-tiers {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0;
}


/* ── Back In Stock Notification Modal ─────────────────── */
.exo-bis-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.exo-bis-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.exo-bis-modal__content {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  max-width: 420px;
  width: 90%;
  position: relative;
}
.exo-bis-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: #666;
}
.exo-bis-modal__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
}
.exo-bis-modal__input {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e5e5e5;
  border-radius: 8px;
  font-size: 15px;
  margin: 12px 0;
}
.exo-bis-modal__input:focus {
  border-color: #7B2D8B;
  outline: none;
}
.exo-bis-modal__submit {
  width: 100%;
  padding: 14px;
  background: #7B2D8B;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.exo-bis-modal__submit:hover {
  background: #6A2D84;
}
