/* Equal-height Column Wrapper */
.product__grid--col {
  display: flex;
  flex-direction: column;
}

/* Card Container */
.product__items {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #ffffff;
  border-radius: 0.6rem;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid rgba(0, 0, 0, 0.04);
}

.product__items:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* 1:1 Aspect Ratio Thumbnail */
.product__items--thumbnail {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  line-height: 1;
  border-radius: 0.6rem 0.6rem 0 0;
  background-color: #f8f8f8;
  flex-shrink: 0;
}

.product__items--link {
  display: block;
  width: 100%;
  height: 100%;
}

.product__items--img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease, opacity 0.3s ease;
}

.product__secondary--img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, transform 0.4s ease;
}

.product__items:hover .product__secondary--img {
  opacity: 1;
  visibility: visible;
}

.product__items:hover .product__items--img {
  transform: scale(1.05);
}

/* ==========================================================
   UNIFIED PRODUCT & OFFER BADGE SYSTEM (VERSION 3)
   ========================================================== */

/* Top-Left Section Badges Container (NEW / FEATURED) */
.product__badge-container {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  max-width: 45%;
  pointer-events: none;
}

.product__badge-container .product__badge {
  position: relative;
  top: auto;
  left: auto;
  pointer-events: none;
}

/* Base style for all compact top badges */
.product__badge--items,
.product__offer-badge--discount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: auto !important;
  min-width: unset !important;
  padding: 0.25rem 0.65rem !important;
  border-radius: 4px !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  font-family: inherit;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

/* Color 1: Discount / SALE */
/* Background: #A63D32, Text: white, bold */
.product__offer-badge--discount,
.product__badge--items.sale,
.product__offer-badge--discount.product__offer-badge--sale {
  background-color: #A63D32 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Color 2: NEW */
/* Background: #805336, Text: white, bold */
.product__badge--items.new {
  background-color: #805336 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Color 3: FEATURED */
/* Background: #F3E7D8, Text: #65432D, bold */
.product__badge--items.featured {
  background-color: #F3E7D8 !important;
  color: #65432D !important;
  font-weight: 700 !important;
}

/* Top-Right Offer Badges Container (Discount % / Sale + Title) */
.product__offer-badge-group {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem;
  max-width: 55%;
  pointer-events: none;
}

/* Secondary Offer Title Label */
/* Light beige background, dark brown text, smaller, visually secondary */
.product__offer-badge--title {
  display: inline-block;
  background-color: #F3E7D8 !important;
  color: #65432D !important;
  font-size: 0.95rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  line-height: 1.2;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(101, 67, 45, 0.15);
  pointer-events: auto;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.product__offer-badge--title:hover,
.product__offer-badge--title:focus {
  opacity: 0.95;
  border-color: rgba(101, 67, 45, 0.35);
  color: #65432D;
}

/* Card Content Area */
.product__items--content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 1.2rem 1.4rem 1rem;
  text-align: center;
  box-sizing: border-box;
}

/* Standardized Product Card Title Wrapping (Natural wrap, centered, at least 2 lines reserved, accommodates 3+ lines) */
.product__items--content__title {
  display: block;
  width: 100%;
  max-width: 86%;
  margin: 0 auto 0.6rem;
  padding: 0 0.5rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.35;
  min-height: 2.7em;
  height: auto;
  text-align: center;
  text-wrap: balance;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: normal;
  overflow: visible;
  text-overflow: clip;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
}

.product__items--content__title a {
  color: var(--primary-color, #222222);
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline;
  text-align: center;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: normal;
}

.product__items--content__title a:hover,
.product__items--content__title a:focus {
  color: var(--secondary-color, #ad724b);
}

/* Price Section aligned consistently across rows */
.product__items--price {
  min-height: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: auto;
  margin-bottom: 0.4rem;
}

.product__items--price .current__price {
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--primary-color, #222222);
}

.product__items--price .old__price {
  font-size: 1.25rem;
  color: #999999;
  text-decoration: line-through;
}

/* Color Swatches Area */
.product__items--color {
  margin-top: 0.4rem;
  margin-bottom: 0.2rem;
  min-height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product__items--color__wrapper {
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.0rem;
}

.product__items--color__list {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.product__color-swatch {
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  vertical-align: middle;
}

.product__color-swatch:hover,
.product__color-swatch:focus {
  transform: scale(1.25);
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3), 0 2px 5px rgba(0, 0, 0, 0.2);
}

.product__color-swatch-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0rem;
  font-weight: 700;
  color: #777777;
  background-color: #f0edea;
  border-radius: 0.7rem;
  padding: 0.15rem 0.45rem;
  line-height: 1;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

/* Responsive Mobile Rules (331px - 576px) */
@media only screen and (max-width: 576px) {
  .product__items--content {
    padding: 0.8rem 0.5rem 0.6rem;
  }

  .product__items--content__title {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    font-size: 1.25rem;
    line-height: 1.3;
    min-height: 2.6em;
    height: auto;
    margin-bottom: 0.4rem;
  }

  .product__items--price {
    min-height: 2.2rem;
    gap: 0.3rem;
  }

  .product__items--price .current__price {
    font-size: 1.25rem;
  }

  .product__items--price .old__price {
    font-size: 1.1rem;
  }

  .product__badge-container {
    top: 0.5rem;
    left: 0.5rem;
    gap: 0.2rem;
    max-width: 45%;
  }

  .product__offer-badge-group {
    top: 0.5rem;
    right: 0.5rem;
    gap: 0.2rem;
    max-width: 55%;
  }

  .product__badge--items,
  .product__offer-badge--discount {
    font-size: 0.95rem !important;
    padding: 0.2rem 0.5rem !important;
  }

  .product__offer-badge--title {
    font-size: 0.85rem;
    padding: 0.15rem 0.45rem;
  }

  .product__color-swatch {
    width: 1.25rem;
    height: 1.25rem;
  }

  .product__color-swatch-more {
    font-size: 0.9rem;
    padding: 0.1rem 0.35rem;
  }
}

@media only screen and (max-width: 360px) {
  .product__items--content__title {
    font-size: 1.15rem;
    line-height: 1.25;
    min-height: 2.5em;
    height: auto;
  }
}

/* Swiper slide equal heights in product carousels */
.offers__swiper .swiper-slide,
.product__swiper--column4 .swiper-slide,
.related__products--slider-container .swiper-slide {
  height: auto;
  display: flex;
  flex-direction: column;
}

.offers__swiper .swiper-slide .product__items,
.product__swiper--column4 .swiper-slide .product__items,
.related__products--slider-container .swiper-slide .product__items {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* Standalone Mobile Filter Trigger */
.shop__header--mobile {
  padding: 0.8rem 0;
}

.shop__header--mobile .widget__filter--btn {
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--border-color, #e5e5e5);
  padding: 0.6rem 1.4rem;
  border-radius: 0.4rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.4rem;
  color: var(--primary-color, #333333);
  transition: all 0.25s ease;
}

.shop__header--mobile .widget__filter--btn:hover {
  border-color: var(--secondary-color, #b08156);
  color: var(--secondary-color, #b08156);
}

.shop__header--mobile .widget__filter--btn__icon {
  width: 1.8rem;
  height: 1.8rem;
  margin-right: 0.6rem;
}

/* ==========================================================
   PRODUCT ACTION BUTTONS (Wishlist & Quick View Consistency)
   ========================================================== */
.product__items--action {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: 4;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product__items:hover .product__items--action {
  opacity: 1;
  visibility: visible;
  bottom: 1.2rem;
}

.product__items--action__list {
  margin: 0 0.25rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.product__items--action__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3.2rem !important;
  height: 3.2rem !important;
  min-width: 3.2rem !important;
  min-height: 3.2rem !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  outline: none;
  background-color: #ffffff !important;
  color: #555555 !important;
  border-radius: 0.3rem !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}

.product__items--action__btn:hover {
  background-color: var(--secondary-color, #ad724b) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(173, 114, 75, 0.3);
  transform: translateY(-2px);
}

.product__items--action__btn:active {
  transform: translateY(0);
}

.product__items--action__btn:focus-visible {
  outline: 2px solid var(--secondary-color, #ad724b) !important;
  outline-offset: 2px !important;
}

.product__items--action__btn:focus:not(:focus-visible) {
  outline: none !important;
}

.product__items--action__btn--svg {
  display: block;
  margin: auto;
  flex-shrink: 0;
  pointer-events: none;
}

@media only screen and (min-width: 992px) {
  .product__items--action__btn {
    width: 3.4rem !important;
    height: 3.4rem !important;
    min-width: 3.4rem !important;
    min-height: 3.4rem !important;
  }
}

/* Touch Device Visibility */
@media (hover: none) {
  .product__items--action {
    opacity: 1 !important;
    visibility: visible !important;
    bottom: 1rem !important;
  }
}

/* ==========================================================
   OFFCANVAS FILTER DRAWER & BACKDROP
   ========================================================== */
.offcanvas__filter--backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.55);
  z-index: 99998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), visibility 0.3s;
  backdrop-filter: blur(2px);
}

.offcanvas__filter--backdrop.active {
  opacity: 1;
  visibility: visible;
}

.offcanvas__filter--sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 320px;
  max-width: 88vw;
  height: 100vh;
  background-color: #ffffff;
  z-index: 99999;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), visibility 0.35s;
  visibility: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 3rem;
}

.offcanvas__filter--sidebar.active {
  transform: translateX(0);
  visibility: visible;
}

body.filter__drawer--open {
  overflow: hidden !important;
  touch-action: none;
}

.offcanvas__filter--close {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border-color, #e5e5e5);
  padding: 0.6rem 1.2rem;
  border-radius: 0.4rem;
  margin: 1.5rem 1.5rem 1rem;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--primary-color, #333333);
}

.offcanvas__filter--close:hover {
  border-color: var(--secondary-color, #b08156);
  color: var(--secondary-color, #b08156);
}

.offcanvas__filter--sidebar__inner {
  padding: 0 1.5rem;
}

/* ==========================================================
   CATEGORY ACCORDION & FILTER STYLING
   ========================================================== */
/* Categories Scroll Container: Enabled only when > 10 main categories */
.shop__categories--scroll-wrapper {
  max-height: none;
  overflow: visible;
}

.shop__categories--scroll-wrapper.has-scroll {
  max-height: 420px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding-right: 0.4rem;
  -webkit-overflow-scrolling: touch;
}

/* Custom subtle theme scrollbar */
.shop__categories--scroll-wrapper.has-scroll::-webkit-scrollbar {
  width: 5px;
}

.shop__categories--scroll-wrapper.has-scroll::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 4px;
}

.shop__categories--scroll-wrapper.has-scroll::-webkit-scrollbar-thumb {
  background: var(--secondary-color, #ad724b);
  border-radius: 4px;
}

.shop__categories--scroll-wrapper.has-scroll::-webkit-scrollbar-thumb:hover {
  background: #8b5533;
}

/* Firefox standard scrollbar */
.shop__categories--scroll-wrapper.has-scroll {
  scrollbar-width: thin;
  scrollbar-color: var(--secondary-color, #ad724b) rgba(0, 0, 0, 0.04);
}

/* Mobile viewport constraint (inside offcanvas drawer or on small screens) */
@media only screen and (max-width: 991px) {
  .offcanvas__filter--sidebar .shop__categories--scroll-wrapper.has-scroll,
  .shop__categories--scroll-wrapper.has-scroll {
    max-height: 320px;
  }
}

.shop__category-thumb,
.shop__subcategory-thumb {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background-color: #fafafa;
}

.shop__category-thumb-placeholder,
.shop__subcategory-thumb-placeholder {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background-color: #f0edea;
  color: #a08c7e;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.shop__category-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  color: #666 !important;
  cursor: pointer !important;
  position: relative !important;
  right: auto !important;
  left: auto !important;
  top: auto !important;
  z-index: 2 !important;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

.shop__category-toggle-btn:hover {
  color: var(--secondary-color, #b08156) !important;
  background-color: rgba(176, 129, 86, 0.08) !important;
  border-color: var(--secondary-color, #b08156) !important;
}

.shop__category-toggle-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  position: relative !important;
  right: auto !important;
  left: auto !important;
  top: auto !important;
  pointer-events: none !important;
}

.shop__category-icon {
  display: inline-block !important;
  pointer-events: none !important;
  position: relative !important;
  right: auto !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
}

/* Reset any inherited absolute positioning from widget__categories */
.widget__categories--menu__label .shop__category-toggle-btn svg,
.shop__category-toggle-btn .widget__categories--menu__arrowdown--icon {
  position: relative !important;
  right: auto !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
}

.widget__categories--menu__arrowdown--icon {
  transition: transform 0.25s ease;
  cursor: pointer;
}

.widget__categories--menu__arrowdown--icon.rotated {
  transform: rotate(180deg);
}

/* Plus/Minus visibility based on aria-expanded and expanded states */
.shop__category-toggle-btn[aria-expanded="false"] .shop__category-icon--plus,
.shop__category-item:not(.is-expanded) .shop__category-toggle-btn:not(.is-expanded) .shop__category-icon--plus {
  display: inline-block !important;
}
.shop__category-toggle-btn[aria-expanded="false"] .shop__category-icon--minus,
.shop__category-item:not(.is-expanded) .shop__category-toggle-btn:not(.is-expanded) .shop__category-icon--minus {
  display: none !important;
}

.shop__category-toggle-btn[aria-expanded="true"] .shop__category-icon--plus,
.shop__category-item.is-expanded .shop__category-toggle-btn .shop__category-icon--plus,
.shop__category-toggle-btn.is-expanded .shop__category-icon--plus {
  display: none !important;
}
.shop__category-toggle-btn[aria-expanded="true"] .shop__category-icon--minus,
.shop__category-item.is-expanded .shop__category-toggle-btn .shop__category-icon--minus,
.shop__category-toggle-btn.is-expanded .shop__category-icon--minus {
  display: inline-block !important;
}

.shop__category-link.active,
.shop__subcategory-link.active {
  color: var(--secondary-color, #b08156) !important;
  font-weight: 700 !important;
}

.shop__filter--price-box .shop__filter--label {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
  color: #555;
}

.shop__filter--price-input {
  font-size: 1.3rem;
  padding: 0.5rem 0.8rem;
  border-radius: 0.4rem;
  border: 1px solid #ddd;
}

.shop__filter--price-input:focus {
  border-color: var(--secondary-color, #b08156);
  box-shadow: 0 0 0 0.2rem rgba(176, 129, 86, 0.15);
}

.shop__filter--price-apply-btn {
  background-color: var(--secondary-color, #b08156);
  border-color: var(--secondary-color, #b08156);
  color: #fff;
  font-weight: 600;
  font-size: 1.3rem;
  padding: 0.6rem 1rem;
  border-radius: 0.4rem;
  transition: background-color 0.2s ease;
}

.shop__filter--price-apply-btn:hover {
  background-color: #966b44;
  border-color: #966b44;
  color: #fff;
}

.shop__filter--sale-check .form-check-input {
  cursor: pointer;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 0.3rem;
}

.shop__filter--sale-check .form-check-input:checked {
  background-color: var(--secondary-color, #b08156);
  border-color: var(--secondary-color, #b08156);
}

.shop__filter--sale-label {
  cursor: pointer;
  font-weight: 600;
  font-size: 1.35rem;
}

.shop__filter--reset__btn {
  font-size: 1.3rem;
  font-weight: 600;
  padding: 0.6rem 1rem;
  border-radius: 0.4rem;
  border-color: #ccc;
  color: #555;
  transition: all 0.2s ease;
}

.shop__filter--reset__btn:hover {
  background-color: #f0f0f0;
  border-color: #999;
  color: #222;
}

/* ==========================================================
   INFINITE SCROLL INDICATORS & EMPTY STATE
   ========================================================== */
#shop_infinite_sentinel {
  height: 20px;
  margin-top: 10px;
}

.shop__infinite-scroll--loader {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 2.5rem 0;
  font-weight: 600;
  font-size: 1.4rem;
  color: var(--secondary-color, #b08156);
}

.shop__infinite-scroll--loader .spinner-border {
  width: 2rem;
  height: 2rem;
  border-width: 0.2rem;
}

.shop__infinite-scroll--end {
  text-align: center;
  padding: 2.5rem 0;
  color: #888;
  font-size: 1.35rem;
  font-style: italic;
}

.shop__infinite-scroll--error {
  text-align: center;
  padding: 2rem 0;
}

.shop__retry-btn {
  background-color: var(--secondary-color, #b08156);
  color: #fff;
  border: none;
  padding: 0.5rem 1.5rem;
  border-radius: 0.3rem;
  font-size: 1.3rem;
  font-weight: 600;
}

.shop__retry-btn:hover {
  background-color: #966b44;
  color: #fff;
}

.shop__empty-state {
  padding: 4rem 1rem;
  text-align: center;
}

.shop__empty-state svg {
  color: #bbb;
  margin-bottom: 1.5rem;
}

.shop__empty-title {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.8rem;
}

.shop__empty-desc {
  font-size: 1.4rem;
  color: #777;
  margin-bottom: 2rem;
}

/* Grid Layout Dimmer */
#shop_products_grid {
  transition: opacity 0.2s ease;
}

/* ==========================================================
   QUICK VIEW MODAL STYLES & DIALOG
   ========================================================== */
#quickview_modal {
  z-index: 999999;
}

.quickview__color-choice {
  cursor: pointer;
  margin-bottom: 0;
}

.quickview__color-choice input[type="radio"]:checked + .color-swatch-circle {
  outline: 2px solid var(--secondary-color, #b08156);
  outline-offset: 2px;
  transform: scale(1.1);
}

.color-swatch-circle {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.2);
  transition: transform 0.15s ease, outline 0.15s ease;
}

.quickview__thumb-btn {
  transition: all 0.2s ease;
}

.quickview__thumb-btn.active {
  border-color: var(--secondary-color, #b08156) !important;
  box-shadow: 0 0 0 2px var(--secondary-color, #b08156);
}

.quickview__size-choice {
  font-size: 1.2rem;
  padding: 0.4rem 0.8rem;
  cursor: pointer;
}

.quickview__size-choice.active {
  background-color: var(--secondary-color, #b08156) !important;
  border-color: var(--secondary-color, #b08156) !important;
  color: #fff !important;
}

.quickview__submit-cart-btn {
  background-color: var(--secondary-color, #b08156);
  border-color: var(--secondary-color, #b08156);
  color: #fff;
  font-weight: 600;
  font-size: 1.4rem;
}

.quickview__submit-cart-btn:hover {
  background-color: #966b44;
  border-color: #966b44;
  color: #fff;
}

/* ==========================================================
   OFFERS SECTION & LISTING PAGE STYLING
   ========================================================== */
.offers__section {
  position: relative;
}


.offers__swiper--wrapper {
  position: relative;
}

.offers__nav--btn {
  width: 4rem;
  height: 4rem;
  background: var(--secondary-color, #b08156);
  border-radius: 50%;
  opacity: 1;
  visibility: visible;
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
  transition: all 0.3s ease;
}

.offers__nav--btn:hover {
  background: var(--primary-color, #222);
}

.offers__nav--btn.swiper-button-prev {
  left: -15px;
}

.offers__nav--btn.swiper-button-next {
  right: -15px;
}

.offers__nav--btn.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.offers__nav--btn.swiper-button-lock {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .offers__nav--btn {
    width: 3.2rem;
    height: 3.2rem;
  }
  .offers__nav--btn.swiper-button-prev {
    left: 0;
  }
  .offers__nav--btn.swiper-button-next {
    right: 0;
  }
}

.offers__view-all--wrapper {
  margin-top: 10px;
}

@media (min-width: 768px) {
  .offers__view-all--wrapper {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
  }
}

.offers__view-all--btn {
  padding: 0.8rem 1.8rem;
  font-size: 1.3rem;
  border-radius: 4px;
  background: var(--secondary-color, #b08156);
  color: #fff !important;
  transition: all 0.3s ease;
}

.offers__view-all--btn:hover {
  background: var(--primary-color, #222);
}

/* Section Heading View All Button Component (Theme V3 Homepage) */
.section__heading--has-view-all {
  position: relative;
}

.section__view-all--wrapper {
  margin-top: 1.2rem;
  display: block;
  text-align: center;
}

.section__view-all--btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.6rem !important;
  height: auto !important;
  line-height: 1.5 !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  border-radius: 4px !important;
  background: var(--secondary-color, #ad724b) !important;
  color: #ffffff !important;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
}

.section__view-all--btn:hover,
.section__view-all--btn:focus {
  background: var(--primary-color, #222222) !important;
  color: #ffffff !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  outline: none;
}

@media (min-width: 768px) {
  .section__heading--has-view-all .section__view-all--wrapper {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
    text-align: right;
  }
}

@media (min-width: 481px) and (max-width: 767px) {
  .section__heading--has-view-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    text-align: left;
  }
  .section__heading--has-view-all .section__heading--maintitle {
    margin-bottom: 0;
  }
  .section__heading--has-view-all .section__view-all--wrapper {
    position: static;
    transform: none;
    margin-top: 0;
    flex-shrink: 0;
  }
}

@media (max-width: 480px) {
  .section__heading--has-view-all {
    display: block;
    text-align: center;
  }
  .section__heading--has-view-all .section__view-all--wrapper {
    margin-top: 1.2rem;
    display: block;
    text-align: center;
    position: static;
    transform: none;
  }
}

.offer__card--items {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.offer__card--title-wrap {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.offer__card--badge-title {
  font-size: 1.2rem;
  color: var(--secondary-color, #b08156);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.2s ease;
}

.offer__card--badge-title:hover {
  color: var(--primary-color, #222);
}

.offer__card--btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  height: auto !important;
  line-height: 1.5 !important;
  padding: 0.6rem 1.6rem !important;
  font-size: 1.25rem;
  border-radius: 4px;
  background: var(--secondary-color, #ad724b);
  color: #fff !important;
  font-weight: 500;
  transition: background 0.2s ease;
  text-decoration: none;
  vertical-align: middle;
}

.offer__card--btn:hover,
.offer__card--btn:focus {
  background: var(--primary-color, #222);
  color: #fff !important;
}

.deals__content--style2 .primary__btn.btn__style2,
.deals__content--style2 .btn__style2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  height: auto !important;
  line-height: 1.5 !important;
  padding: 0.8rem 2.2rem !important;
  border-radius: 2rem !important;
}

/* Offers Toolbar / Search styling */
.offers__toolbar {
  padding: 1rem 0;
}

.offers__search--form {
  position: relative;
}

.offers__search--input-wrapper {
  position: relative;
  width: 100%;
}

.offers__search--input {
  height: 4.8rem;
  padding: 0 4.5rem 0 2rem;
  border: 1px solid #e1e1e1;
  border-radius: 30px;
  font-size: 1.4rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.offers__search--input:focus {
  border-color: var(--secondary-color, #b08156);
  box-shadow: 0 0 0 3px rgba(176, 129, 86, 0.15);
}

.offers__search--submit-btn {
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 0.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.offers__search--submit-btn:hover {
  color: var(--secondary-color, #b08156);
}

.offers__reset--btn {
  height: 4.8rem;
  padding: 0 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f1f1;
  color: #333;
  border-radius: 30px;
  font-size: 1.3rem;
  font-weight: 500;
  transition: all 0.2s ease;
  border: none;
  flex-shrink: 0;
}

.offers__reset--btn:hover {
  background: #e2e2e2;
  color: #000;
}

/* Homepage Decorative Banner */
.banner__video--thumbnail__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
}

@media only screen and (max-width: 575px) {
  .banner__video--thumbnail__img {
    height: auto !important;
    min-height: 13rem;
  }
}

/* Blog Swiper Carousel on Homepage */
.blog__swiper--wrapper {
  position: relative;
}

.blog__nav--btn {
  width: 4rem;
  height: 4rem;
  background: var(--secondary-color, #b08156);
  border-radius: 50%;
  opacity: 1;
  visibility: visible;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
  transition: all 0.3s ease;
}

.blog__nav--btn:hover {
  background: var(--primary-color, #222);
}

.blog__nav--btn.swiper-button-prev {
  left: -15px;
}

.blog__nav--btn.swiper-button-next {
  right: -15px;
}

.blog__nav--btn.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.blog__nav--btn.swiper-button-lock {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .blog__nav--btn {
    width: 3.2rem;
    height: 3.2rem;
  }
  .blog__nav--btn.swiper-button-prev {
    left: 0;
  }
  .blog__nav--btn.swiper-button-next {
    right: 0;
  }
}

.blog__swiper--activation .swiper-slide {
  height: auto;
}

.blog__swiper--activation .blog__items {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}

.blog__swiper--activation .blog__content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.blog__swiper--activation .blog__content--btn {
  margin-top: auto;
  align-self: flex-start;
}

/* ==========================================================
   FEATURED DEALS BANNER DISCOUNT BADGE (EN & AR)
   ========================================================== */
.deals__discount--badge-wrap {
  display: flex;
  align-items: center;
  margin-bottom: 1.4rem;
}

.deals__discount--badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #A63D32 !important;
  color: #ffffff !important;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.45rem 1.2rem;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(166, 61, 50, 0.35);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

@media only screen and (max-width: 480px) {
  .deals__discount--badge {
    font-size: 1.15rem;
    padding: 0.35rem 0.9rem;
  }
}



