.gemstone-grid img {
  height: 250px !important;
  border-radius: 20px !important;
}

.gemstone-grid a {
  display: block;
  overflow: hidden;
  border-radius: 14px;

  border: 1px solid transparent;
  transition: all 0.35s ease;
}

.gemstone-grid a img {
  width: 100%;
  display: block;
  /* object-fit: cover; */
  object-fit: fill !important;
  transition: transform 0.45s ease;
}

.gemstone-grid a:hover {
  transform: translateY(-10px) scale(1.04);
  box-shadow: 0 20px 50px rgba(120, 86, 45, 0.22);
  border-color: #c49a5a;
}

.gemstone-grid a:hover img {
  transform: scale(1.08);
}

/* {{-- categories --}} */

.common-carousel-wrapper {
  position: relative;
}

.common-carousel-slide {
  display: none;
}

.common-carousel-slide.active {
  display: block;
}

.common-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 2.5rem;
}

.common-carousel-prev,
.common-carousel-next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(196, 154, 90, 0.45);
  background: transparent;
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.35s ease;
}

.common-carousel-prev:hover,
.common-carousel-next:hover {
  background: var(--gold);
  color: var(--white);
}

.common-carousel-dots {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.common-carousel-dot {
  width: 34px;
  height: 2px;
  background: rgba(196, 154, 90, 0.35);
  cursor: pointer;
  transition: all 0.35s ease;
}

.common-carousel-dot.active {
  background: var(--gold);
}

/* {{-- best sellers and new arrivals --}} */

.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}

.theme-product-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: linear-gradient(180deg, #fffaf2 0%, #fffdf8 100%);
  border: 1px solid rgba(196, 154, 90, 0.22);
  box-shadow: 0 18px 55px rgba(80, 52, 27, 0.1);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.theme-product-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at top left,
      rgba(196, 154, 90, 0.16),
      transparent 34%
    ),
    linear-gradient(180deg, transparent 0%, rgba(196, 154, 90, 0.05) 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.theme-product-card:hover {
  transform: translateY(-10px);
  border-color: rgba(196, 154, 90, 0.55);
  box-shadow: 0 30px 85px rgba(80, 52, 27, 0.18);
}

.theme-product-card:hover::before {
  opacity: 1;
}

.theme-product-image {
  position: relative;
  display: block;
  height: 270px;
  margin: 12px 12px 0;
  overflow: hidden;
  border-radius: 22px;
  background: linear-gradient(
    145deg,
    rgba(244, 231, 211, 0.95),
    rgba(255, 250, 242, 0.95)
  );
}

.theme-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  mix-blend-mode: multiply;
  transition:
    transform 0.55s ease,
    filter 0.35s ease;
}

.theme-product-card:hover .theme-product-image img {
  transform: scale(1.07);
  filter: saturate(1.06) contrast(1.03);
}

.theme-product-badge,
.theme-discount-badge {
  position: absolute;
  z-index: 3;
  top: 14px;
  padding: 0.48rem 0.82rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.theme-product-badge {
  left: 14px;
  color: #9a6a2f;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(196, 154, 90, 0.28);
}

.theme-discount-badge {
  right: 14px;
  color: #ffffff;
  background: linear-gradient(135deg, #c49a5a, #9d7135);
  box-shadow: 0 10px 24px rgba(157, 113, 53, 0.28);
}

.theme-product-body {
  position: relative;
  z-index: 2;
  padding: 1.15rem 1.15rem 0.95rem;
}

.theme-product-title {
  margin: 0;
  min-height: calc(1.45em * 2);
  font-family: var(--ff-display);
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.45;
}

.theme-product-title a {
  color: var(--ink);
  text-decoration: none;
  transition: color 0.25s ease;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.theme-product-title a:hover {
  color: var(--gold);
}

.theme-product-overview {
  margin: 0.55rem 0 0;
  min-height: calc(1.55em * 2);
  color: rgba(45, 32, 20, 0.58);
  font-size: 0.82rem;
  line-height: 1.55;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.theme-product-rating {
  display: flex;
  align-items: center;
  gap: 0.18rem;
  margin-top: 0.9rem;
  color: #c49a5a;
  font-size: 0.78rem;
}

.theme-product-rating i {
  opacity: 0.35;
}

.theme-product-rating i.fill {
  opacity: 1;
}

.theme-product-price {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 0.8rem;
}

.theme-product-price .old-price {
  color: rgba(45, 32, 20, 0.42);
  font-size: 0.86rem;
  text-decoration: line-through;
}

.theme-product-price .new-price {
  color: #1f1710;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.theme-product-action {
  position: relative;
  z-index: 2;
  padding: 0 1.15rem 1.15rem;
}

.theme-product-action .btn {
  width: 100%;
  height: 46px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(135deg, #c49a5a, #a77736);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  box-shadow: 0 14px 28px rgba(164, 115, 54, 0.22);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.theme-product-action .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(164, 115, 54, 0.32);
}

.products-grid .theme-product-card {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 1199px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.9rem;
  }

  .theme-product-card {
    border-radius: 20px;
  }

  .theme-product-image {
    height: 175px;
    margin: 8px 8px 0;
    border-radius: 16px;
  }

  .theme-product-body {
    padding: 0.8rem;
  }

  .theme-product-title {
    min-height: calc(1.45em * 2);
    font-size: 0.88rem;
    line-height: 1.45;
  }

  .theme-product-overview {
    display: none;
  }

  .theme-product-price .new-price {
    font-size: 0.98rem;
  }

  .theme-product-action {
    padding: 0 0.8rem 0.85rem;
  }

  .theme-product-action .btn {
    height: 40px;
    font-size: 0.65rem;
  }

  .theme-product-badge,
  .theme-discount-badge {
    top: 10px;
    padding: 0.38rem 0.58rem;
    font-size: 0.55rem;
  }

  .theme-product-badge {
    left: 10px;
  }

  .theme-discount-badge {
    right: 10px;
  }
}

/* {{-- mobile responsive shop by category --}} */

/* =====================================================
           MOBILE CATEGORY + PRODUCT CARD FIX
        ===================================================== */

@media (max-width: 767px) {
  /* ==========================================
               CATEGORY SECTION
            ========================================== */

  /* ==========================================
       PREMIUM MOBILE CATEGORY SECTION
        ========================================== */

  .home-category-section {
    padding: 55px 0 48px !important;
  }

  /* Section container */

  .home-category-section .container {
    width: 100% !important;

    max-width: 100% !important;

    padding-left: 16px !important;

    padding-right: 16px !important;
  }

  /* Heading */

  .home-category-section .text-center {
    max-width: 330px !important;

    margin: 0 auto 30px !important;

    padding: 0 8px !important;
  }

  .home-category-section .eyebrow {
    font-size: 8px !important;

    letter-spacing: 0.28em !important;
  }

  .home-category-section .display-lg {
    max-width: 300px !important;

    margin: 14px auto 0 !important;

    font-size: 28px !important;

    line-height: 1.2 !important;
  }

  /* ==========================================
       CATEGORY GRID
        ========================================== */

  /*
        Overrides the inline:

        grid-template-columns:
        repeat(4, 1fr)
        */

  .home-category-section .gsap-stagger-group {
    width: 100% !important;

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 12px !important;
  }

  /* ==========================================
       CATEGORY CARD
        ========================================== */

  .home-category-section .cat-card-v2 {
    position: relative !important;

    width: 100% !important;

    min-width: 0 !important;

    height: auto !important;

    min-height: 0 !important;

    aspect-ratio: 0.88 !important;

    border: 1px solid rgba(196, 154, 90, 0.22) !important;

    border-radius: 18px !important;

    background: #2b2119 !important;

    overflow: hidden !important;

    box-shadow: 0 8px 22px rgba(45, 31, 19, 0.11) !important;

    isolation: isolate !important;
  }

  /*
        Image
        */

  .home-category-section .cat-card-v2 .cat-bg {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;

    height: 100% !important;

    background-size: cover !important;

    background-position: center !important;

    transform: scale(1.01) !important;
  }

  /*
        Premium dark gradient
        */

  .home-category-section .cat-card-v2 .cat-overlay {
    position: absolute !important;

    inset: 0 !important;

    z-index: 1 !important;

    background: linear-gradient(
      180deg,
      rgba(10, 8, 6, 0.04) 25%,

      rgba(20, 14, 9, 0.28) 58%,

      rgba(18, 12, 8, 0.92) 100%
    ) !important;
  }

  /* ==========================================
       REMOVE DUPLICATE CATEGORY PILL
        ========================================== */

  /*
        The category name is already shown
        in the heading.

        Hide the duplicate pill on mobile.
        */

  .home-category-section .cat-icon-pill {
    display: none !important;
  }

  /* ==========================================
       CATEGORY CONTENT
        ========================================== */

  .home-category-section .cat-content {
    position: absolute !important;

    left: 0 !important;

    right: 0 !important;

    bottom: 0 !important;

    z-index: 3 !important;

    width: 100% !important;

    padding: 16px 40px 15px 14px !important;

    transform: none !important;

    text-align: left !important;
  }

  /*
        Category title
        */

  .home-category-section .cat-content h3 {
    width: 100% !important;

    min-height: 42px !important;

    margin: 0 !important;

    padding: 0 !important;

    color: #ffffff !important;

    font-family: var(--ff-display) !important;

    font-size: 18px !important;

    font-weight: 400 !important;

    line-height: 21px !important;

    letter-spacing: 0 !important;

    text-align: left !important;

    white-space: normal !important;

    overflow: hidden !important;

    text-overflow: ellipsis !important;

    display: -webkit-box !important;

    -webkit-box-orient: vertical !important;

    -webkit-line-clamp: 2 !important;

    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.32) !important;
  }

  /*
        Hide the faded duplicate text/count.
        */

  .home-category-section .cat-content p {
    display: none !important;
  }

  /* ==========================================
       SMALL ARROW
        ========================================== */

  .home-category-section .cat-card-v2::after {
    content: "↗";

    position: absolute !important;

    right: 12px !important;

    bottom: 15px !important;

    z-index: 5 !important;

    width: 25px !important;

    height: 25px !important;

    border: 1px solid rgba(255, 255, 255, 0.48) !important;

    border-radius: 50% !important;

    background: rgba(255, 255, 255, 0.1) !important;

    color: #ffffff !important;

    font-family: Arial, sans-serif !important;

    font-size: 12px !important;

    line-height: 23px !important;

    text-align: center !important;

    backdrop-filter: blur(5px) !important;
  }

  /* ==========================================
       TOUCH EFFECT
     ========================================== */

  .home-category-section .cat-card-v2:active {
    transform: scale(0.98) !important;
  }

  /* ==========================================
       CAROUSEL CONTROLS
        ========================================== */

  .home-category-section .common-carousel-controls {
    min-height: 42px !important;

    margin-top: 28px !important;

    gap: 13px !important;
  }

  .home-category-section .common-carousel-prev,
  .home-category-section .common-carousel-next {
    width: 40px !important;

    min-width: 40px !important;

    height: 40px !important;

    padding: 0 !important;

    border: 1px solid rgba(196, 154, 90, 0.48) !important;

    border-radius: 50% !important;

    background: #fffaf2 !important;

    color: #a77736 !important;
  }

  .home-category-section .common-carousel-dots {
    gap: 6px !important;
  }

  .home-category-section .common-carousel-dot {
    width: 22px !important;

    height: 1px !important;
  }

  .home-category-section .common-carousel-dot.active {
    width: 31px !important;

    background: #b98a4d !important;
  }

  /* ==========================================
       EXTRA SMALL MOBILE
        ========================================== */

  @media (max-width: 380px) {
    .home-category-section .cat-content {
      padding: 13px 37px 13px 12px !important;
    }

    .home-category-section .cat-content h3 {
      font-size: 16px !important;

      line-height: 19px !important;
    }

    .home-category-section .cat-card-v2::after {
      right: 9px !important;

      bottom: 12px !important;
    }
  }

  /* ==========================================
               BEST SELLER PRODUCT GRID
            ========================================== */

  .bestsellers-section {
    padding: 52px 0 !important;
  }

  .bestsellers-section .container {
    width: 100% !important;

    max-width: 100% !important;

    padding-left: 13px !important;

    padding-right: 13px !important;
  }

  .bestsellers-section .products-grid {
    width: 100% !important;

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;
  }

  .bestsellers-section .theme-product-card {
    width: 100% !important;

    min-width: 0 !important;

    height: 100% !important;

    border-radius: 16px !important;

    display: flex !important;

    flex-direction: column !important;

    overflow: hidden !important;
  }

  /* ==========================================
               PRODUCT IMAGE
            ========================================== */

  .bestsellers-section .theme-product-image {
    position: relative !important;

    width: calc(100% - 12px) !important;

    height: 160px !important;

    min-height: 160px !important;

    margin: 6px 6px 0 !important;

    border-radius: 12px !important;

    overflow: hidden !important;
  }

  .bestsellers-section .theme-product-image img {
    width: 100% !important;

    height: 100% !important;

    object-fit: contain !important;
  }

  /* ==========================================
               FIX BADGE OVERLAP
            ========================================== */

  /*
            Best Seller badge
            */

  .bestsellers-section .theme-product-badge {
    position: absolute !important;

    top: 8px !important;

    left: 8px !important;

    right: auto !important;

    width: auto !important;

    max-width: calc(100% - 16px) !important;

    min-height: 19px !important;

    padding: 0 7px !important;

    border-radius: 20px !important;

    color: #80551f !important;

    background: rgba(255, 255, 255, 0.94) !important;

    border: 1px solid rgba(196, 154, 90, 0.42) !important;

    font-size: 6.5px !important;

    font-weight: 800 !important;

    line-height: 19px !important;

    letter-spacing: 0.06em !important;

    white-space: nowrap !important;

    overflow: hidden !important;

    text-overflow: ellipsis !important;

    z-index: 10 !important;
  }

  /*
            Discount appears under Best Seller,
            so both badges never overlap.
            */

  .bestsellers-section .theme-discount-badge {
    position: absolute !important;

    top: 31px !important;

    left: 8px !important;

    right: auto !important;

    width: auto !important;

    min-height: 18px !important;

    padding: 0 7px !important;

    border-radius: 20px !important;

    color: #ffffff !important;

    background: linear-gradient(135deg, #c49a5a, #9d7135) !important;

    font-size: 6.5px !important;

    font-weight: 800 !important;

    line-height: 18px !important;

    letter-spacing: 0.05em !important;

    white-space: nowrap !important;

    z-index: 10 !important;
  }

  /*
            When there is no Best Seller badge,
            move discount to the first position.
            */

  .bestsellers-section
    .theme-product-image:not(:has(.theme-product-badge))
    .theme-discount-badge {
    top: 8px !important;
  }

  /* ==========================================
               PRODUCT CONTENT
            ========================================== */

  .bestsellers-section .theme-product-body {
    flex: 1 1 auto !important;

    padding: 11px 10px 8px !important;

    display: flex !important;

    flex-direction: column !important;
  }

  .bestsellers-section .theme-product-title {
    width: 100% !important;

    height: 42px !important;

    min-height: 42px !important;

    max-height: 42px !important;

    margin: 0 !important;

    font-size: 12px !important;

    line-height: 21px !important;

    overflow: hidden !important;
  }

  .bestsellers-section .theme-product-title a {
    display: -webkit-box !important;

    -webkit-box-orient: vertical !important;

    -webkit-line-clamp: 2 !important;

    overflow: hidden !important;
  }

  .bestsellers-section .theme-product-overview {
    display: none !important;
  }

  /* ==========================================
               RATING
            ========================================== */

  .bestsellers-section .theme-product-rating {
    min-height: 16px !important;

    margin-top: 8px !important;

    font-size: 9px !important;
  }

  /* ==========================================
               PRICE
            ========================================== */

  .bestsellers-section .theme-product-price {
    width: 100% !important;

    min-height: 48px !important;

    margin-top: 8px !important;

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    align-items: end !important;

    gap: 5px !important;
  }

  .bestsellers-section .theme-product-price .old-price {
    color: rgba(45, 32, 20, 0.44) !important;

    font-size: 10px !important;

    line-height: 1.4 !important;

    text-align: left !important;

    white-space: normal !important;
  }

  .bestsellers-section .theme-product-price .new-price {
    color: #1f1710 !important;

    font-size: 13px !important;

    font-weight: 800 !important;

    line-height: 1.3 !important;

    text-align: right !important;

    white-space: normal !important;
  }

  /* ==========================================
               ADD TO CART BUTTON
            ========================================== */

  .bestsellers-section .theme-product-action {
    margin-top: auto !important;

    padding: 0 9px 10px !important;
  }

  .bestsellers-section .theme-product-action .btn {
    width: 100% !important;

    height: 37px !important;

    min-height: 37px !important;

    padding: 0 5px !important;

    border-radius: 25px !important;

    font-size: 8px !important;

    line-height: 1 !important;

    letter-spacing: 0.04em !important;

    white-space: nowrap !important;
  }
}

/* ==========================================
           EXTRA SMALL MOBILE
        ========================================== */

@media (max-width: 380px) {
  .home-category-section .cat-card-v2 {
    height: 155px !important;

    min-height: 155px !important;
  }

  .bestsellers-section .theme-product-image {
    height: 145px !important;

    min-height: 145px !important;
  }

  .bestsellers-section .theme-product-title {
    font-size: 11px !important;
  }

  .bestsellers-section .theme-product-action .btn {
    font-size: 7px !important;
  }
}

/* =====================================================
   BEST SELLERS + NEW ARRIVALS
   IDENTICAL MOBILE PRODUCT CARDS
===================================================== */

@media (max-width: 767px) {
  /* ==========================================
       SECTION
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) {
    padding: 52px 0 !important;
  }

  :is(.bestsellers-section, .newarrivals-section) > .container {
    width: 100% !important;

    max-width: 100% !important;

    padding-left: 12px !important;

    padding-right: 12px !important;
  }

  /* ==========================================
       SECTION HEADING
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .section-header {
    width: 100% !important;

    max-width: 340px !important;

    margin: 0 auto 34px !important;

    padding: 0 8px !important;

    text-align: center !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .section-header .eyebrow {
    font-size: 8px !important;

    letter-spacing: 0.28em !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .section-header .display-lg {
    margin: 8px 0 0 !important;

    font-size: 28px !important;

    line-height: 1.2 !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .section-header .body-lg {
    max-width: 315px !important;

    margin: 13px auto 0 !important;

    font-size: 13px !important;

    line-height: 1.65 !important;
  }

  /* ==========================================
       TWO-COLUMN PRODUCT GRID
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .products-grid {
    width: 100% !important;

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    grid-auto-rows: 1fr !important;

    gap: 9px !important;
  }

  /* ==========================================
       PRODUCT CARD
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-card {
    width: 100% !important;

    min-width: 0 !important;

    height: 100% !important;

    margin: 0 !important;

    border: 1px solid rgba(196, 154, 90, 0.24) !important;

    border-radius: 17px !important;

    background: linear-gradient(
      180deg,
      #fffaf1 0%,

      #fffdf8 100%
    ) !important;

    box-shadow: 0 8px 24px rgba(71, 46, 24, 0.07) !important;

    display: flex !important;

    flex-direction: column !important;

    overflow: hidden !important;
  }

  /* ==========================================
       PRODUCT IMAGE
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-image {
    position: relative !important;

    width: calc(100% - 12px) !important;

    height: 160px !important;

    min-height: 160px !important;

    margin: 6px 6px 0 !important;

    border-radius: 13px !important;

    background: #f7efe2 !important;

    overflow: hidden !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .theme-product-image img {
    width: 100% !important;

    height: 100% !important;

    object-fit: contain !important;

    object-position: center !important;

    mix-blend-mode: normal !important;
  }

  /* ==========================================
       LEFT BADGE
       BEST SELLER / NEW ARRIVAL
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-badge {
    position: absolute !important;

    top: 8px !important;

    left: 8px !important;

    right: auto !important;

    width: auto !important;

    max-width: 54% !important;

    height: 19px !important;

    min-height: 19px !important;

    margin: 0 !important;

    padding: 0 7px !important;

    border: 1px solid rgba(190, 145, 76, 0.42) !important;

    border-radius: 20px !important;

    background: rgba(255, 255, 255, 0.95) !important;

    color: #8a5c25 !important;

    font-size: 5.7px !important;

    font-weight: 800 !important;

    line-height: 17px !important;

    letter-spacing: 0.05em !important;

    text-align: center !important;

    white-space: nowrap !important;

    overflow: hidden !important;

    text-overflow: ellipsis !important;

    z-index: 10 !important;
  }

  /* ==========================================
       DISCOUNT BADGE
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-discount-badge {
    position: absolute !important;

    top: 30px !important;

    left: 8px !important;

    right: auto !important;

    width: auto !important;

    height: 18px !important;

    min-height: 18px !important;

    margin: 0 !important;

    padding: 0 7px !important;

    border: 0 !important;

    border-radius: 20px !important;

    background: linear-gradient(135deg, #c99a55, #a87331) !important;

    color: #ffffff !important;

    font-size: 5.7px !important;

    font-weight: 800 !important;

    line-height: 18px !important;

    letter-spacing: 0.04em !important;

    text-align: center !important;

    white-space: nowrap !important;

    z-index: 10 !important;
  }

  /* ==========================================
       PRODUCT BODY
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-body {
    flex: 1 1 auto !important;

    width: 100% !important;

    padding: 10px 9px 7px !important;

    display: flex !important;

    flex-direction: column !important;
  }

  /* ==========================================
       PRODUCT TITLE
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-title {
    width: 100% !important;

    height: 39px !important;

    min-height: 39px !important;

    max-height: 39px !important;

    margin: 0 !important;

    font-family: var(--ff-display) !important;

    font-size: 11px !important;

    font-weight: 400 !important;

    line-height: 19px !important;

    overflow: hidden !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .theme-product-title a {
    display: -webkit-box !important;

    -webkit-box-orient: vertical !important;

    -webkit-line-clamp: 2 !important;

    overflow: hidden !important;
  }

  /* Hide overview */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-overview {
    display: none !important;
  }

  /* ==========================================
       RATING
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-rating {
    width: 100% !important;

    min-height: 15px !important;

    margin-top: 7px !important;

    gap: 1px !important;

    font-size: 8px !important;
  }

  /* ==========================================
       PRICE
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-price {
    width: 100% !important;

    min-height: 45px !important;

    margin-top: 7px !important;

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    align-items: end !important;

    gap: 4px !important;
  }

  :is(.bestsellers-section, .newarrivals-section)
    .theme-product-price
    .old-price {
    color: rgba(45, 32, 20, 0.43) !important;

    font-size: 9px !important;

    line-height: 1.45 !important;

    text-align: left !important;

    white-space: normal !important;
  }

  :is(.bestsellers-section, .newarrivals-section)
    .theme-product-price
    .new-price {
    color: #1f1710 !important;

    font-size: 12px !important;

    font-weight: 800 !important;

    line-height: 1.3 !important;

    text-align: right !important;

    white-space: normal !important;
  }

  /* ==========================================
       BUTTON
    ========================================== */

  :is(.bestsellers-section, .newarrivals-section) .theme-product-action {
    width: 100% !important;

    margin-top: auto !important;

    padding: 0 8px 9px !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .theme-product-action .btn {
    width: 100% !important;

    height: 34px !important;

    min-height: 34px !important;

    margin: 0 !important;

    padding: 0 5px !important;

    border-radius: 22px !important;

    background: linear-gradient(135deg, #c89a55, #ae7834) !important;

    color: #ffffff !important;

    font-size: 7px !important;

    font-weight: 800 !important;

    line-height: 1 !important;

    letter-spacing: 0.03em !important;

    white-space: nowrap !important;
  }
}

/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media (max-width: 380px) {
  :is(.bestsellers-section, .newarrivals-section) .theme-product-image {
    height: 145px !important;

    min-height: 145px !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .theme-product-title {
    font-size: 10px !important;
  }

  :is(.bestsellers-section, .newarrivals-section) .theme-product-action .btn {
    font-size: 6.5px !important;
  }
}

.mj-promise-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  height: 52px;
  padding: 0 28px;
  border: 1px solid rgba(201, 162, 92, 0.55);
  background: rgba(255, 255, 255, 0.04);
  color: #c9a25c;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow:
    0 0 0 1px rgba(201, 162, 92, 0.08) inset,
    0 8px 25px rgba(201, 162, 92, 0.12),
    0 0 35px rgba(201, 162, 92, 0.1);
  transition: all 0.35s ease;
  overflow: hidden;
  z-index: 1;
}

.mj-promise-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255, 255, 255, 0.18) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left 0.6s ease;
  z-index: -1;
}

.mj-promise-btn:hover {
  background: linear-gradient(135deg, #d4b06c 0%, #b8924e 100%);
  color: #1d130c;
  border-color: #d4b06c;
  box-shadow:
    0 12px 30px rgba(201, 162, 92, 0.28),
    0 0 45px rgba(201, 162, 92, 0.18);
  transform: translateY(-2px);
}

.mj-promise-btn:hover::before {
  left: 130%;
}

.mj-promise-btn:active {
  transform: translateY(0);
}

.mj-promise-btn:focus {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(201, 162, 92, 0.18),
    0 12px 30px rgba(201, 162, 92, 0.22);
}
