/* =========================================================
   BLACK STUDIO — PROFESSIONAL STORE THEME
   Final visual layer: themed sections + premium cards
   ========================================================= */

:root {
  --bs-red: #ff3b30;
  --bs-red-2: #ff6a61;
  --bs-green: #00e6a1;
  --bs-cyan: #26d9ff;
  --bs-bg: #050707;
  --bs-panel: #0b1010;
  --bs-panel-2: #0f1714;
  --bs-line: rgba(255,255,255,.09);
  --bs-muted: #8d9795;
  --bs-radius: 24px;
}

/* Page depth */
body {
  background:
    radial-gradient(circle at 50% -10%, rgba(255,59,48,.07), transparent 32%),
    linear-gradient(180deg, #050707 0%, #070909 48%, #050606 100%);
}

main {
  position: relative;
}

/* Consistent content width */
main > section:not(.hero-section) {
  position: relative;
}

/* Search / feature areas */
.search-section,
.features-section {
  position: relative;
}

.search-box {
  background: rgba(15,18,18,.78) !important;
  border: 1px solid var(--bs-line) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
}

.feature-card {
  background: linear-gradient(145deg, rgba(18,25,23,.96), rgba(8,12,11,.96)) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 14px 35px rgba(0,0,0,.22);
}

/* =========================================================
   SECTION HEADERS
   ========================================================= */

.section-header,
.product-section-header {
  position: relative;
}

.section-title,
.product-section-title {
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 850 !important;
  letter-spacing: -.5px;
}

.section-title::before,
.product-section-title::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 30px;
  margin-right: 11px;
  vertical-align: -5px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bs-red), #ff8b38);
  box-shadow: 0 0 18px rgba(255,59,48,.35);
}

.product-section:nth-of-type(even) .product-section-title::before {
  background: linear-gradient(180deg, #00e6a1, #25d9ff);
  box-shadow: 0 0 18px rgba(0,230,161,.25);
}

.section-link,
.product-view-all {
  font-weight: 800 !important;
  color: #ff6b61 !important;
  transition: transform .2s ease, color .2s ease;
}

.section-link:hover,
.product-view-all:hover {
  color: #fff !important;
  transform: translateX(3px);
}

/* =========================================================
   CATEGORY THEME
   ========================================================= */

.categories-section .container,
.all-categories-section .container {
  position: relative;
  overflow: hidden;
  padding: 24px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: var(--bs-radius) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(0,230,161,.075), transparent 28%),
    radial-gradient(circle at 95% 100%, rgba(38,217,255,.055), transparent 25%),
    linear-gradient(145deg, #0d1513, #080c0c 70%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 20px 55px rgba(0,0,0,.25);
}

.category-slider {
  position: relative;
}

.category-viewport {
  border-radius: 20px;
  padding: 3px 2px 12px;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.category-track {
  gap: 14px !important;
}

.category-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px !important;
  padding: 7px !important;
  background:
    linear-gradient(145deg, rgba(18,28,25,.98), rgba(8,13,12,.98)) !important;
  border: 1px solid rgba(0,230,161,.12) !important;
  box-shadow: 0 14px 35px rgba(0,0,0,.28);
}

.category-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.38));
  pointer-events: none;
}

.category-card:hover {
  border-color: rgba(0,230,161,.42) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.35), 0 0 24px rgba(0,230,161,.08);
}

.category-image-box {
  aspect-ratio: 1 / .88 !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.11), transparent 42%),
    linear-gradient(145deg, #17231f, #0b1110) !important;
  border: 1px solid rgba(255,255,255,.06);
}

.category-image {
  object-fit: cover !important;
  padding: 12px !important;
  filter: drop-shadow(0 14px 20px rgba(0,0,0,.42));
}

.category-name {
  position: relative;
  z-index: 2;
  padding: 12px 8px 10px !important;
  color: #f5f8f7 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: left !important;
}

.category-arrow {
  background: rgba(3,10,9,.92) !important;
  border: 1px solid rgba(0,230,161,.28) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.3);
}

.category-arrow:hover {
  background: var(--bs-green) !important;
  color: #03110c !important;
}

/* =========================================================
   PRODUCT SECTIONS
   ========================================================= */

.product-section {
  margin: 42px 0 !important;
  padding: 26px !important;
  border-radius: var(--bs-radius) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,59,48,.095), transparent 28%),
    radial-gradient(circle at 100% 100%, rgba(255,110,55,.045), transparent 25%),
    linear-gradient(145deg, #160c09 0%, #0d0e0e 55%, #090b0b 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 22px 60px rgba(0,0,0,.28);
}

.product-section:nth-of-type(even) {
  background:
    radial-gradient(circle at 0% 0%, rgba(0,230,161,.08), transparent 28%),
    radial-gradient(circle at 100% 100%, rgba(38,217,255,.045), transparent 25%),
    linear-gradient(145deg, #091512 0%, #0b1110 58%, #080c0c 100%) !important;
}

#hot-products,
#new-products {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 6px !important;
  padding: 6px 2px 16px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  touch-action: pan-x pan-y !important;
  overscroll-behavior-x: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: none !important;
}

#hot-products::-webkit-scrollbar,
#new-products::-webkit-scrollbar {
  display: none !important;
}

.home-product-card {
  position: relative;
  flex: 0 0 calc((100% - 48px) / 4) !important;
  width: calc((100% - 48px) / 4) !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: hidden;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.095) !important;
  background: linear-gradient(145deg, #111b18, #080d0c) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.30);
  scroll-snap-align: start;
  transform: translateZ(0);
}

.home-product-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.055), transparent 35%, transparent 72%, rgba(0,230,161,.045));
  z-index: 3;
}

.home-product-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0,230,161,.42) !important;
  box-shadow: 0 20px 45px rgba(0,0,0,.38), 0 0 28px rgba(0,230,161,.08);
}

.home-product-image {
  position: relative;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.14), transparent 40%),
    linear-gradient(145deg, #f4f5f4 0%, #d8ddda 100%) !important;
}

.home-product-image::after {
  content: "";
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(180deg, transparent, rgba(4,10,8,.16));
  pointer-events: none;
}

.home-product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  padding: 12px !important;
  filter: drop-shadow(0 16px 22px rgba(0,0,0,.28));
  transition: transform .35s ease;
}

.home-product-card:hover .home-product-image img {
  transform: scale(1.035);
}

.home-product-info {
  position: relative;
  z-index: 4;
  min-height: 126px;
  padding: 14px 15px 16px !important;
  background: linear-gradient(180deg, #102018 0%, #0a120f 100%) !important;
}

.home-product-info::before {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-bottom: 9px;
  border-radius: 999px;
  background: var(--bs-green);
  box-shadow: 0 0 12px rgba(0,230,161,.25);
}

.home-product-info h3 {
  margin: 0 0 12px !important;
  color: #f7faf9 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  white-space: normal !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-product-price strong {
  color: var(--bs-green) !important;
  font-size: 21px !important;
  font-weight: 900 !important;
}

.home-product-price del {
  color: #68726f !important;
  font-size: 13px !important;
}

/* Arrow buttons */
.product-slider-btn {
  width: 46px !important;
  height: 46px !important;
  background: rgba(4,12,10,.94) !important;
  border: 1px solid rgba(0,230,161,.3) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

.product-slider-btn:hover:not(:disabled) {
  background: var(--bs-green) !important;
  color: #04100c !important;
  border-color: var(--bs-green) !important;
}

/* =========================================================
   ALL PRODUCT / SHOP CARDS — SAME VISUAL LANGUAGE
   ========================================================= */

.product-card {
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: linear-gradient(145deg, #111b18, #080d0c) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.27);
}

.product-image-box {
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.12), transparent 42%),
    linear-gradient(145deg, #f1f3f1, #dce1de) !important;
}

.product-image,
.product-image-box img {
  object-fit: cover !important;
  padding: 12px !important;
}

.product-info {
  background: linear-gradient(180deg, #102018, #0a120f) !important;
}

.product-category {
  color: var(--bs-green) !important;
}

.product-name {
  font-weight: 800 !important;
}

.product-price strong {
  color: var(--bs-green) !important;
}

/* =========================================================
   MOBILE — 2.5 PRODUCTS, CLEAN SWIPE
   ========================================================= */

@media (max-width: 600px) {
  .container {
    width: min(100% - 18px, var(--container));
  }

  .categories-section .container,
  .all-categories-section .container,
  .product-section {
    padding: 16px 10px !important;
    border-radius: 20px !important;
  }

  .section-title,
  .product-section-title {
    font-size: 24px !important;
  }

  .section-title::before,
  .product-section-title::before {
    height: 24px;
    width: 4px;
    margin-right: 8px;
  }

  #hot-products,
  #new-products {
    gap: 12px !important;
    padding-left: 1px !important;
    padding-right: 1px !important;
    touch-action: pan-x pan-y !important;
    scroll-snap-type: x proximity !important;
  }

  .home-product-card {
    flex: 0 0 calc((100% - 18px) / 2.5) !important;
    width: calc((100% - 18px) / 2.5) !important;
    border-radius: 17px !important;
  }

  .home-product-info {
    min-height: 112px;
    padding: 11px !important;
  }

  .home-product-info::before {
    width: 34px;
    height: 2px;
    margin-bottom: 7px;
  }

  .home-product-info h3 {
    font-size: 13px !important;
    margin-bottom: 9px !important;
  }

  .home-product-price strong {
    font-size: 16px !important;
  }

  .home-product-price del {
    font-size: 10px !important;
  }

  .product-slider-btn {
    width: 38px !important;
    height: 38px !important;
    font-size: 25px !important;
  }

  .product-slider-prev { left: 1px !important; }
  .product-slider-next { right: 1px !important; }

  .category-track {
    gap: 10px !important;
  }

  .category-card {
    flex-basis: 42vw !important;
    max-width: none !important;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .home-product-card {
    flex-basis: calc((100% - 32px) / 3) !important;
    width: calc((100% - 32px) / 3) !important;
  }
}

/* Category dots */
.category-dots {
  margin-top: 13px !important;
  min-height: 8px;
}

.category-dot {
  width: 7px !important;
  height: 7px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.18) !important;
  transition: width .2s ease, background .2s ease;
}

.category-dot.active {
  width: 24px !important;
  background: linear-gradient(90deg, #00e6a1, #26d9ff) !important;
}


/* =========================================================
   BLACK STUDIO — CATEGORY SWIPE FIX
   Manual only: no auto-slide. Native horizontal scrolling
   on mobile + arrows + mouse drag on desktop.
   ========================================================= */

#home-categories .category-viewport {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: pan-x pan-y !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

#home-categories .category-viewport::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

#home-categories .category-track {
  width: max-content !important;
  transform: none !important;
  transition: none !important;
  will-change: auto;
}

#home-categories .category-card {
  flex: 0 0 auto;
}

#home-categories .category-image,
#home-categories .category-card img {
  pointer-events: none;
  -webkit-user-drag: none;
}

#home-categories .category-arrow:disabled {
  opacity: .38;
  cursor: default;
  transform: none;
}

/* Keep the previous category sizing on phones: 3 cards visible.
   The next card naturally appears after a swipe. */
@media (max-width: 480px) {
  #home-categories .category-card {
    flex-basis: calc((100% - 18px) / 3) !important;
    max-width: none !important;
  }

  #home-categories .category-track {
    gap: 9px !important;
  }
}

@media (max-width: 360px) {
  #home-categories .category-card {
    flex-basis: calc((100% - 14px) / 3) !important;
  }
}

/* =========================================================
   FINAL CATEGORY CAROUSEL FIX
   Native touch momentum + scroll snap + gentle autoplay.
   No JS touchmove hijacking.
   ========================================================= */
#home-categories .category-viewport {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-x: contain !important;
  touch-action: pan-x pan-y !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

#home-categories .category-viewport::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

#home-categories .category-track {
  display: flex !important;
  width: max-content !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

#home-categories .category-card {
  flex: 0 0 auto !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: normal !important;
}

#home-categories .category-image,
#home-categories .category-card img {
  pointer-events: none !important;
  -webkit-user-drag: none !important;
}

#home-categories .category-viewport.is-dragging {
  cursor: grabbing !important;
  user-select: none !important;
}

@media (max-width: 600px) {
  #home-categories .category-viewport {
    padding-bottom: 8px !important;
  }

  #home-categories .category-track {
    gap: 10px !important;
  }

  /* Preserve the compact category size: 3 cards + a small peek. */
  #home-categories .category-card {
    flex-basis: calc((100% - 20px) / 3) !important;
    max-width: none !important;
  }
}

/* =========================================================
   CATEGORY SIZE OVERRIDE — COMPACT MOBILE RAIL
   Keep categories short so Hot Products is visible below.
   ========================================================= */
#home-categories,
#home-categories .category-slider,
#home-categories .category-viewport,
#home-categories .category-track {
  min-height: 0 !important;
}

@media (max-width: 600px) {
  #home-categories .category-slider {
    height: 190px !important;
    align-items: center !important;
  }

  #home-categories .category-viewport {
    height: 180px !important;
    max-height: 180px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 !important;
    border-radius: 14px !important;
  }

  #home-categories .category-track {
    height: 180px !important;
    align-items: stretch !important;
    gap: 9px !important;
  }

  #home-categories .category-card {
    flex: 0 0 calc((100vw - 88px) / 3) !important;
    width: calc((100vw - 88px) / 3) !important;
    height: 174px !important;
    max-height: 174px !important;
    padding: 4px !important;
    border-radius: 13px !important;
    box-sizing: border-box !important;
  }

  #home-categories .category-image-box {
    width: 100% !important;
    height: 128px !important;
    min-height: 128px !important;
    max-height: 128px !important;
    aspect-ratio: auto !important;
    border-radius: 10px !important;
    padding: 4px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #home-categories .category-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    padding: 4px !important;
    box-sizing: border-box !important;
  }

  #home-categories .category-name {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 6px 3px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #home-categories .category-arrow {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 19px !important;
  }

  #home-categories .category-dots {
    margin-top: 6px !important;
    min-height: 7px !important;
  }
}

@media (max-width: 360px) {
  #home-categories .category-card {
    flex-basis: calc((100vw - 78px) / 3) !important;
    width: calc((100vw - 78px) / 3) !important;
  }
}

/* =========================================================
   FINAL POLISH — REMOVE EXTRA OUTER CARDS
   Keep the theme, but do NOT put the slider/card content
   inside another large rounded container.
   ========================================================= */

/* Category: no giant enclosing card */
.categories-section .container,
.all-categories-section .container {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.categories-section,
.all-categories-section {
  background:
    radial-gradient(circle at 8% 10%, rgba(0,230,161,.035), transparent 24%),
    radial-gradient(circle at 92% 90%, rgba(38,217,255,.025), transparent 22%) !important;
  border: 0 !important;
}

/* Category rail itself should not look like an extra card */
#home-categories .category-slider,
#home-categories .category-viewport {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#home-categories .category-viewport {
  padding: 0 2px 8px !important;
}

/* Product sections: remove the big card surrounding all products */
.product-section {
  margin: 38px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(circle at 2% 0%, rgba(255,59,48,.055), transparent 24%),
    radial-gradient(circle at 98% 100%, rgba(255,110,55,.025), transparent 24%) !important;
}

.product-section:nth-of-type(even) {
  background:
    radial-gradient(circle at 2% 0%, rgba(0,230,161,.045), transparent 24%),
    radial-gradient(circle at 98% 100%, rgba(38,217,255,.02), transparent 24%) !important;
}

/* Slider wrapper is only a rail, never an enclosing product card */
.product-slider-wrapper {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Give the actual products enough room so the next section is visible. */
#hot-products,
#new-products {
  margin-top: 10px !important;
  padding: 4px 2px 10px !important;
}

@media (max-width: 600px) {
  .categories-section,
  .all-categories-section {
    margin-top: 22px !important;
    margin-bottom: 24px !important;
  }

  .product-section {
    margin: 30px 0 !important;
  }

  .product-section-header {
    margin-bottom: 12px !important;
  }
}

/* Reliable store branding */
.brand-logo-box,
.logo-mark,
[data-site-logo],
.footer-logo-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 46px !important;
  background: linear-gradient(145deg,#ff3b30,#c91f1a) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 10px 28px rgba(255,59,48,.18) !important;
}
.brand-logo-box img,
.logo-mark img,
[data-site-logo] img,
.footer-logo-mark img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 5px !important;
  background: transparent !important;
}
.brand-initials { color:#fff; font-weight:950; font-size:18px; line-height:1; }
.logo-text { font-weight:900 !important; letter-spacing:-.45px; }

/* Reliable store branding */
.brand-logo-box,
.logo-mark,
[data-site-logo],
.footer-logo-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 46px !important;
  background: linear-gradient(145deg,#ff3b30,#c91f1a) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 10px 28px rgba(255,59,48,.18) !important;
}
.brand-logo-box img,
.logo-mark img,
[data-site-logo] img,
.footer-logo-mark img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 5px !important;
  background: transparent !important;
}
.brand-initials { color:#fff; font-weight:950; font-size:18px; line-height:1; }
.logo-text { font-weight:900 !important; letter-spacing:-.45px; }

.logo { gap: 11px !important; }
.logo-text {
  font-size: clamp(18px, 2.2vw, 23px) !important;
  font-weight: 950 !important;
  letter-spacing: -.65px !important;
  background: linear-gradient(90deg,#fff 0%,#d9ffef 58%,#00e6a1 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
  text-shadow: 0 0 22px rgba(0,230,161,.08);
}
.footer-brand-name {
  font-size: 21px !important;
  font-weight: 900 !important;
}
@media(max-width:700px){
 .brand-logo-box,.logo-mark,[data-site-logo],.footer-logo-mark{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:12px!important;flex-basis:42px!important}
 .logo-text{font-size:19px!important}
}

/* Premium inner-page consistency */
body{background:radial-gradient(circle at 10% 0%,rgba(255,59,48,.055),transparent 32%),radial-gradient(circle at 90% 10%,rgba(0,230,160,.045),transparent 30%),#080808}.page-heading,.cart-head,.checkout-head{position:relative}.page-heading h1,.cart-head h1,.checkout-head h1{letter-spacing:-.03em}.products-grid,.category-grid,.related-products-grid{align-items:stretch}.product-card,.category-card,.related-product-card,.cart-item,.checkout-panel,.profile-card,.order-card{box-shadow:0 14px 45px rgba(0,0,0,.22);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.product-card:hover,.category-card:hover,.related-product-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.16);box-shadow:0 18px 55px rgba(0,0,0,.3)}

/* FINAL TOUCH FIX: Explore category rails must allow normal vertical page scroll. */
.category-products-viewport,
.home-category-products {
  touch-action: auto !important;
  overscroll-behavior-y: auto !important;
}
.category-products-viewport.is-dragging { cursor: grabbing !important; }
.category-products-viewport.is-dragging .category-product-card { user-select:none !important; }

/* Keep uploaded branding inside a fixed premium frame without stretching. */
.logo-mark.brand-logo-box,
.footer-logo-mark.brand-logo-box,
[data-site-logo].brand-logo-box {
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
}
.logo-mark.brand-logo-box img,
.footer-logo-mark.brand-logo-box img,
[data-site-logo].brand-logo-box img {
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  padding:0 !important;
  margin:0 !important;
}


/* Premium mobile quick navigation */
.bs-mobile-nav{display:none}
@media (max-width:700px){
  body{padding-bottom:74px}
  .bs-mobile-nav{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:5000;
    height:62px;padding:7px 6px;display:grid;grid-template-columns:repeat(4,1fr);
    gap:4px;border:1px solid rgba(255,255,255,.10);border-radius:20px;
    background:rgba(10,12,12,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
    box-shadow:0 14px 40px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
  }
  .bs-mobile-nav-item{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#8f9794;text-decoration:none;font-size:10px;font-weight:700;border-radius:15px;transition:all .2s ease}
  .bs-mobile-nav-item.active{color:#fff;background:linear-gradient(180deg,rgba(0,211,150,.18),rgba(0,211,150,.06));}
  .bs-mobile-nav-item:active{transform:scale(.94)}
  .bs-mobile-nav-icon{width:24px;height:24px;display:grid;place-items:center}
  .bs-mobile-nav-icon svg{width:21px;height:21px}
  .bs-mobile-nav-item b[data-cart-count]{position:absolute;top:4px;right:calc(50% - 18px);min-width:15px;height:15px;padding:0 3px;border-radius:99px;background:#ff3b30;color:#fff;font-size:8px;display:none;align-items:center;justify-content:center}
}


/* Premium floating support */
.bs-support-float{position:fixed;right:18px;bottom:88px;z-index:6000;font-family:inherit}
.bs-support-toggle{width:58px;height:58px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:linear-gradient(145deg,#ff5148,#e62f29);color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 16px 35px rgba(0,0,0,.35),0 0 24px rgba(255,64,55,.18);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.bs-support-toggle:active{transform:scale(.94)}
.bs-support-panel{position:absolute;right:0;bottom:70px;width:245px;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:rgba(10,13,12,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.bs-support-title{padding:5px 8px 10px;display:flex;flex-direction:column;gap:2px}.bs-support-title strong{color:#fff;font-size:15px}.bs-support-title small{color:#8d9692;font-size:11px}
.bs-support-link{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:14px;color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}.bs-support-link:hover{background:rgba(255,255,255,.06);transform:translateY(-1px)}
.bs-support-brand{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:18px}.bs-support-brand svg{width:20px;height:20px;display:block}.bs-support-link span:last-child{display:flex;flex-direction:column;gap:2px}.bs-support-link b{font-size:13px}.bs-support-link small{font-size:10px;color:#89918e}.bs-support-link.whatsapp .bs-support-brand{color:#2be879}.bs-support-link.telegram .bs-support-brand{color:#32b7ff}
.account-brand-mark{width:76px!important;height:76px!important;border-radius:22px!important;overflow:hidden!important;padding:0!important;display:grid!important;place-items:center!important}
.account-brand-mark img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
@media(max-width:700px){.bs-support-float{right:14px;bottom:86px}.bs-support-toggle{width:54px;height:54px}.bs-support-panel{bottom:64px;width:225px}}

@media(max-width:700px){
  body.auth-page .bs-mobile-nav{display:none!important}
}

.bs-mobile-nav-item{letter-spacing:.1px}
.bs-mobile-nav-item.active .bs-mobile-nav-icon{filter:drop-shadow(0 0 8px rgba(0,230,161,.28))}

/* =========================================================
   HOME-ONLY PREMIUM SUPPORT + CART NOTIFICATIONS
   ========================================================= */
.bs-support-float{position:fixed;right:18px;bottom:92px;z-index:9000;display:grid;place-items:center}
.bs-support-toggle{position:relative;width:64px;height:64px;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:linear-gradient(145deg,#ff5b52 0%,#ff332b 55%,#d91f28 100%);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 28px rgba(255,64,55,.24);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease}
.bs-support-toggle:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 22px 48px rgba(0,0,0,.48),0 0 36px rgba(255,64,55,.36)}
.bs-support-toggle:active{transform:scale(.94)}
.bs-support-orb{width:40px;height:40px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.bs-support-orb-icon{font-size:22px;line-height:1;animation:bsSupportSpin 4s linear infinite}
.bs-support-pulse{position:absolute;inset:-7px;border-radius:27px;border:1px solid rgba(255,78,69,.45);animation:bsSupportPulse 2.2s ease-out infinite;pointer-events:none}
.bs-support-panel{position:absolute;right:0;bottom:78px;width:255px;padding:13px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(145deg,rgba(15,19,18,.97),rgba(7,10,10,.95));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 24px 70px rgba(0,0,0,.52);transform-origin:bottom right;animation:bsSupportPanelIn .25s ease both}
.bs-support-title{padding:6px 9px 11px;display:flex;flex-direction:column;gap:3px}.bs-support-title strong{color:#fff;font-size:15px}.bs-support-title small{color:#89918e;font-size:11px}
.bs-support-link{display:flex;align-items:center;gap:11px;padding:12px 10px;border-radius:15px;color:#fff;text-decoration:none;transition:transform .22s ease,background .22s ease}
.bs-support-link:hover{background:rgba(255,255,255,.07);transform:translateX(-3px)}
.bs-support-brand{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.bs-support-brand svg{width:21px;height:21px}.bs-support-link.whatsapp .bs-support-brand{color:#2be879}.bs-support-link.telegram .bs-support-brand{color:#32b7ff}
.bs-support-link span:last-child{display:flex;flex-direction:column;gap:2px}.bs-support-link b{font-size:13px}.bs-support-link small{font-size:10px;color:#89918e}
.bs-cart-toast-stack{position:fixed;inset:0;z-index:10000;pointer-events:none}.bs-cart-toast{position:fixed;left:50%;display:flex;align-items:center;gap:11px;min-width:235px;max-width:calc(100vw - 28px);padding:12px 15px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(145deg,rgba(13,18,17,.97),rgba(5,8,8,.96));color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.45);opacity:0;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.bs-cart-toast-top{top:18px;transform:translate(-50%,-22px)}.bs-cart-toast-bottom{bottom:92px;transform:translate(-50%,22px)}.bs-cart-toast-stack.show .bs-cart-toast{opacity:1;transform:translate(-50%,0)}
.bs-cart-toast-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(0,230,161,.12);color:#00e6a1;font-weight:900;font-size:17px}.bs-cart-toast-bottom .bs-cart-toast-icon{color:#32b7ff;background:rgba(50,183,255,.12)}
.bs-cart-toast b,.bs-cart-toast small{display:block}.bs-cart-toast b{font-size:13px}.bs-cart-toast small{margin-top:2px;color:#9aa39f;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:205px}
@keyframes bsSupportPulse{0%{transform:scale(.9);opacity:.8}70%,100%{transform:scale(1.2);opacity:0}}
@keyframes bsSupportSpin{0%,70%{transform:rotate(0deg) scale(1)}80%{transform:rotate(12deg) scale(1.08)}90%{transform:rotate(-8deg) scale(1.08)}100%{transform:rotate(0deg) scale(1)}}
@keyframes bsSupportPanelIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.bs-support-float{right:14px;bottom:84px}.bs-support-toggle{width:58px;height:58px;border-radius:19px}.bs-support-panel{bottom:70px;width:235px}.bs-cart-toast-bottom{bottom:82px}}


/* FINAL SUPPORT MOTION CLEANUP — functional, calm and professional */
.bs-support-orb-icon{animation:none !important}
.bs-support-pulse{display:none !important;animation:none !important}
.bs-support-toggle,.bs-support-panel,.bs-support-link{animation:none !important}
.bs-support-toggle{transition:box-shadow .16s ease,filter .16s ease !important}
.bs-support-toggle:hover{transform:none !important;filter:brightness(1.04)}
.bs-support-toggle:active{transform:scale(.98) !important}
.bs-support-panel{transition:none !important}
.bs-support-link{transition:background .14s ease !important}
.bs-support-link:hover{transform:none !important}


/* ============================================================
   ULTRA-SMOOTH 60FPS MOTION PASS
   GPU-friendly: transform/opacity only for animated motion.
   No business/data logic changed.
   ============================================================ */
:root{--bs-ease-smooth:cubic-bezier(.22,.61,.36,1);--bs-ease-spring:cubic-bezier(.2,.8,.2,1)}

/* Keep common interactive motion on compositor-friendly properties. */
button,a,.product-card,.category-card,.related-product-card,.pd-cart-btn,.pd-buy-btn,
.bs-mobile-nav-item,.category-products-arrow,.search-result-card{
  -webkit-tap-highlight-color:transparent;
}

/* Support button: subtle continuous premium motion, not a distracting pulse. */
.bs-support-toggle{
  will-change:transform,box-shadow;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  animation:bsSupportFloat60 3.2s var(--bs-ease-smooth) infinite;
}
.bs-support-toggle:hover{
  animation-play-state:paused;
  transform:translate3d(0,-2px,0) scale(1.025);
}
.bs-support-toggle:active{
  animation-play-state:paused;
  transform:translate3d(0,0,0) scale(.97);
}
.bs-support-orb-icon{
  transform:translate3d(0,0,0);
  will-change:transform;
  animation:bsSupportIcon60 3.2s var(--bs-ease-smooth) infinite;
}
.bs-support-panel{
  will-change:transform,opacity;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.bs-support-link{
  will-change:transform,background-color;
  transform:translate3d(0,0,0);
}

/* Generic premium micro-interactions. */
.product-card,.category-card,.related-product-card,.pd-cart-btn,.pd-buy-btn,
.bs-mobile-nav-item,.category-products-arrow,.support-item,.support-button{
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Page/section reveal helper for elements that already opt into .bs-motion. */
.bs-motion{
  will-change:transform,opacity;
  animation:bsMotionIn60 .28s var(--bs-ease-smooth) both;
}

@keyframes bsSupportFloat60{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-2px,0)}
}
@keyframes bsSupportIcon60{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(0,-1px,0) scale(1.015)}
}
@keyframes bsMotionIn60{
  from{opacity:0;transform:translate3d(0,6px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

@media (prefers-reduced-motion:reduce){
  .bs-support-toggle,.bs-support-orb-icon,.bs-motion{animation:none!important}
  *,*::before,*::after{scroll-behavior:auto!important}
}
