html {
  scroll-behavior: smooth;
}

body {
  background-color: #05172b !important;
  background-image:
    linear-gradient(180deg, rgba(3,11,24,.55) 0%, rgba(3,11,24,.72) 100%),
    url("https://media.discordapp.net/attachments/1480150230383988808/1495085689207787772/c398a370-ff92-4610-9999-56aba8395108.png?ex=69e4f68d&is=69e3a50d&hm=ddae69925c41df5d37ee5a89850231c63547ded6ef0640e4ab6d054aa61eaf9c&=&format=webp&quality=lossless&width=1376&height=917") !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  color: #ffffff !important;
}

/* HERO */

.hero-section {
  position: relative;
  padding: 110px 0 80px;
  overflow: hidden;
}

.hero-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  align-items: center;
}

.hero-left {
  max-width: 620px;
}

.hero-title {
  margin: 0 0 22px;
  font-size: 70px;
  line-height: 1.05;
  font-weight: 800;
  color: #ffffff;
}

.hero-typed {
  color: #1493ff;
  display: inline-block;
  min-width: 320px;
}

.hero-desc {
  margin: 0 0 30px;
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255,255,255,.82);
  max-width: 540px;
}

.hero-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.hero-btn {
  height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s ease;
}

.hero-btn-discord {
  background: transparent;
  border: 1px solid #1493ff;
  color: #ffffff;
}

.hero-btn-discord:hover {
  background: rgba(20,147,255,.14);
  color: #ffffff;
}

.hero-btn-products {
  background: linear-gradient(180deg, #26a2ff, #1088f6);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(16,136,246,.35);
}

.hero-btn-products:hover {
  color: #ffffff;
  transform: translateY(-2px);
}

.hero-right {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-image {
  width: 100%;
  max-width: 540px;
  display: block;
  filter: drop-shadow(0 30px 60px rgba(20,147,255,.25));
}

/* FEATURES */

.feature-strip {
  padding: 20px 0 70px;
}

.feature-strip-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

.feature-item {
  text-align: left;
}

.feature-icon {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  background: linear-gradient(180deg, #26a2ff, #1088f6);
  color: #ffffff;
  font-size: 26px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(16,136,246,.28);
}

.feature-item h3 {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
}

.feature-item p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.7;
}

/* CATEGORIES */

.custom-categories-section {
  padding: 40px 0 90px;
}

.custom-categories-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px;
  padding: 0 20px;
}

.custom-categories-subtitle {
  display: inline-block;
  margin-bottom: 8px;
  color: #1ba2ff;
  font-size: 16px;
  font-weight: 600;
}

.custom-categories-header h2 {
  margin: 0 0 10px;
  font-size: 56px;
  line-height: 1.1;
  font-weight: 800;
  color: #ffffff;
}

.custom-categories-header p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 18px;
}

.custom-categories-grid {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.custom-category-card {
  min-height: 176px;
  background: #06183a;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-decoration: none;
  transition: .2s ease;
}

.custom-category-card:hover {
  transform: translateY(-4px);
  border-color: rgba(20,147,255,.30);
  box-shadow: 0 16px 30px rgba(0,0,0,.22);
}

.custom-category-card span {
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
}

.custom-category-logo-wrap {
  width: 92px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* FIX UNIQUE */
.custom-category-logo {
  display: none !important;
  max-width: 92px;
  max-height: 92px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.custom-category-fallback {
  width: 92px;
  height: 92px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  font-weight: 800;
  color: #ffffff;
}

/* PRODUCTS MODE */

.shop-products-section {
  padding: 10px 0 80px;
  scroll-margin-top: 80px;
}

.shop-products-hidden {
  display: block !important;
}

body.products-mode #featured-categories {
  display: none !important;
}

body.products-mode .feature-strip {
  display: none !important;
}

/* FILTER */

.sa-shop-filter {
  position: relative !important;
  max-width: 1120px !important;
  margin: 0 auto 34px auto !important;
  padding: 22px 20px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(4,12,28,.12), rgba(4,12,28,.22)),
    url("https://cdn.discordapp.com/attachments/1480150230383988808/1480576068695101600/transparent_image.png?ex=69b02d6a&is=69aedbea&hm=b2d67e30901a8f6195a8263df3ab3f723cd61fe5f15ba6a621f3c9f2b440c900&") center/cover no-repeat !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  box-shadow: none !important;
}

.sa-shop-filter::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(57,118,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(57,118,255,.08) 1px, transparent 1px);
  background-size: 120px 120px;
  opacity: .55;
  pointer-events: none;
}

.sa-shop-filter-overlay {
  position: absolute;
  inset: 0;
  background: rgba(4,12,28,.28);
  pointer-events: none;
}

.sa-shop-filter-inner {
  position: relative;
  z-index: 2;
}

.sa-filter-group + .sa-filter-group {
  margin-top: 26px;
}

.sa-filter-label {
  display: block;
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ffffff;
}

.sa-shop-search,
input.sa-shop-search,
.sa-shop-filter input.sa-shop-search,
.sa-shop-filter .sa-shop-search.form-control {
  width: 100%;
  height: 42px;
  padding: 0 16px;
  border-radius: 10px;
  background: rgba(255,255,255,.01) !important;
  border: 1px solid rgba(255,255,255,.12);
  color: #ffffff;
  outline: none;
  box-shadow: none;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.sa-shop-search::placeholder {
  color: rgba(255,255,255,.45);
}

.sa-shop-search:focus {
  background: rgba(255,255,255,.02) !important;
  border: 1px solid rgba(255,255,255,.18);
}

.sa-category-list {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.sa-category-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 18px;
  border-radius: 999px;
  background: rgba(12,22,43,.78);
  border: 1px solid rgba(255,255,255,.03);
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: .16s;
  cursor: pointer;
}

.sa-category-btn:hover {
  background: rgba(20,34,65,.88);
  color: #ffffff;
}

.sa-category-btn.active {
  background: linear-gradient(180deg, #26a2ff, #1088f6);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(16,136,246,.28);
}

/* PRODUCTS */

.shop-components {
  max-width: 1120px;
  margin: 0 auto;
}

.products .card {
  background: linear-gradient(180deg, rgba(8,22,49,.97), rgba(6,16,35,.97));
  border: 1px solid rgba(71,146,255,.22);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(0,0,0,.22);
  transition: .2s;
}

.products .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(0,0,0,.28);
}

.products .card .card-img-top {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  background: radial-gradient(circle at top, rgba(38,109,255,.20), rgba(255,255,255,.01));
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.products .card .card-img-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.products .card .card-body {
  padding: 18px;
}

.products .card .card-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #ffffff;
}

.products .card .info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.products .card .price {
  color: #1ea4ff;
  font-size: 18px;
  font-weight: 800;
}

.products .card .stock {
  color: rgba(255,255,255,.6);
  font-size: 13px;
}

/* CHECKOUT / PAYMENT */

.modal-content,
.checkout-modal,
.payment-modal,
.cart-modal,
[class*="checkout"],
[class*="payment"] {
  background: linear-gradient(180deg, #141414 0%, #0f0f10 100%) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35) !important;
  color: #ffffff !important;
}

.modal-header,
.checkout-header,
.payment-header {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
}

.modal-title,
.checkout-title,
.payment-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.btn-close,
.close,
button[aria-label="Close"] {
  filter: invert(1) opacity(.9) !important;
  box-shadow: none !important;
}

.checkout-product,
.cart-product,
.product-summary,
[class*="product-summary"] {
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding-bottom: 16px !important;
  margin-bottom: 16px !important;
}

.checkout-product img,
.cart-product img,
.product-summary img {
  border-radius: 12px !important;
}

.checkout-product-title,
.product-name,
.cart-product-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.checkout-product-price,
.product-price,
.cart-product-price,
.total-price {
  color: #ffffff !important;
  font-weight: 800 !important;
}

.quantity-selector,
.input-group,
[class*="quantity"] {
  background: #1a1b1e !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

.quantity-selector button,
.input-group button,
[class*="quantity"] button {
  background: #1a1b1e !important;
  color: #ffffff !important;
  border: none !important;
  min-width: 40px !important;
}

.quantity-selector input,
.input-group input,
[class*="quantity"] input {
  background: #111214 !important;
  color: #ffffff !important;
  border: none !important;
  text-align: center !important;
}

label,
.form-label,
.checkout-label {
  color: #ffffff !important;
  font-weight: 600 !important;
}

input,
select,
textarea,
.form-control,
.form-select {
  background: #2a2a2d !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder {
  color: rgba(255,255,255,0.45) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
  background: #2a2a2d !important;
  border-color: rgba(38,162,255,0.55) !important;
  box-shadow: 0 0 0 2px rgba(38,162,255,0.14) !important;
  color: #ffffff !important;
}

.payment-method,
.payment-option,
[class*="payment-method"],
[class*="payment-option"] {
  background: #17181a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  transition: all .18s ease !important;
}

.payment-method:hover,
.payment-option:hover,
[class*="payment-method"]:hover,
[class*="payment-option"]:hover {
  border-color: rgba(38,162,255,0.35) !important;
}

.payment-method.active,
.payment-method.selected,
.payment-option.active,
.payment-option.selected,
[class*="payment-method"].active,
[class*="payment-method"].selected,
[class*="payment-option"].active,
[class*="payment-option"].selected {
  background: rgba(7,34,72,.95) !important;
  border-color: #26a2ff !important;
  box-shadow: inset 0 0 0 1px rgba(38,162,255,0.25), 0 0 0 1px rgba(38,162,255,0.08) !important;
}

.payment-method .icon,
.payment-option .icon,
[class*="payment-method"] .icon,
[class*="payment-option"] .icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #26a2ff, #1088f6) !important;
  color: #ffffff !important;
}

.payment-method.crypto .icon,
.payment-option.crypto .icon,
[class*="crypto"] .icon {
  background: linear-gradient(180deg, #f7a11a, #e08700) !important;
}

.coupon-row,
[class*="coupon"] {
  color: #ffffff !important;
}

.coupon-row a,
[class*="coupon"] a {
  color: #26a2ff !important;
  text-decoration: none !important;
}

button[type="submit"],
.checkout-submit,
.confirm-purchase,
[class*="confirm"] {
  background: linear-gradient(180deg, #1d4fa8, #163f89) !important;
  border: none !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  min-height: 54px !important;
  box-shadow: none !important;
}

button[type="submit"]:hover,
.checkout-submit:hover,
.confirm-purchase:hover,
[class*="confirm"]:hover {
  filter: brightness(1.05) !important;
}

button[type="submit"]:disabled,
.checkout-submit:disabled,
.confirm-purchase:disabled,
[class*="confirm"]:disabled {
  opacity: .7 !important;
}

.modal-footer,
.checkout-footer,
.payment-footer {
  border-top: 1px solid rgba(255,255,255,0.05) !important;
  background: transparent !important;
}

.powered-by,
[class*="powered"] {
  color: rgba(255,255,255,0.65) !important;
}

/* MOBILE */

@media (max-width: 1100px) {
  .hero-title {
    font-size: 54px;
  }

  .custom-categories-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .hero-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-left {
    max-width: 100%;
  }

  .hero-title {
    font-size: 46px;
  }

  .hero-typed {
    min-width: 0;
  }

  .hero-desc {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-buttons {
    justify-content: center;
  }

  .feature-strip-container {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .feature-item {
    text-align: center;
  }

  .feature-icon {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 768px) {
  .hero-section {
    padding: 80px 0 50px;
  }

  .hero-title {
    font-size: 38px;
  }

  .hero-desc {
    font-size: 16px;
  }

  .custom-categories-header h2 {
    font-size: 38px;
  }

  .custom-categories-header p {
    font-size: 16px;
  }

  .custom-categories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .custom-category-card {
    min-height: 145px;
  }

  .custom-category-card span {
    font-size: 18px;
  }

  .sa-shop-filter {
    padding: 18px 14px !important;
  }

  .sa-category-btn {
    font-size: 13px;
    padding: 0 15px;
  }

  .sa-shop-search {
    height: 40px;
  }

  .products .card .card-img-top {
    min-height: 180px;
  }

  .products .card .card-title {
    font-size: 16px;
  }

  .products .card .price {
    font-size: 16px;
  }
}

/* =========================
PRODUCT PURCHASE PANEL
========================= */

.product-modal,
.purchase-modal,
.product-purchase,
[class*="purchase"],
[class*="product-modal"],
.modal-content {
  background:
    linear-gradient(180deg, rgba(18, 29, 52, 0.96) 0%, rgba(12, 20, 38, 0.96) 100%),
    url("https://media.discordapp.net/attachments/1480150230383988808/1480578722955399200/ad439b4f-7dcd-4570-8aac-a6f7ac7a8112.png?ex=69b02fe3&is=69aede63&hm=1433974d924fe415f5cf62754cdb652e2bd96c08db7b2a2cdfe420bd7f63ef53&=&format=webp&quality=lossless&width=1376&height=917") center/cover no-repeat !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35) !important;
  color: #ffffff !important;
}

/* titre */

.product-modal h1,
.product-modal h2,
.product-modal h3,
.purchase-modal h1,
.purchase-modal h2,
.purchase-modal h3,
[class*="purchase"] h1,
[class*="purchase"] h2,
[class*="purchase"] h3 {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* labels */

.product-modal label,
.purchase-modal label,
[class*="purchase"] label,
.form-label {
  color: rgba(255,255,255,0.82) !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}

/* plan box */

.plan-card,
.product-plan,
[class*="plan-card"],
[class*="product-plan"],
[class*="variant-card"] {
  background: rgba(12, 22, 43, 0.78) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.plan-card.active,
.plan-card.selected,
.product-plan.active,
.product-plan.selected,
[class*="plan-card"].active,
[class*="plan-card"].selected,
[class*="product-plan"].active,
[class*="product-plan"].selected,
[class*="variant-card"].active,
[class*="variant-card"].selected {
  border-color: #1693ff !important;
  box-shadow: inset 0 0 0 1px rgba(22,147,255,0.28) !important;
}

.plan-card .price,
.product-plan .price,
[class*="plan-card"] .price,
[class*="product-plan"] .price {
  color: #1ea4ff !important;
  font-weight: 800 !important;
  font-size: 18px !important;
}

.plan-card .stock,
.product-plan .stock,
[class*="plan-card"] .stock,
[class*="product-plan"] .stock {
  color: rgba(255,255,255,0.62) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* quantity selector */

.quantity-selector,
.input-group,
[class*="quantity"],
[class*="qty"] {
  display: flex !important;
  align-items: center !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.quantity-selector button,
.input-group button,
[class*="quantity"] button,
[class*="qty"] button {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  border: none !important;
  background: rgba(255,255,255,0.04) !important;
  color: #ffffff !important;
  font-size: 24px !important;
  box-shadow: none !important;
}

.quantity-selector button:hover,
.input-group button:hover,
[class*="quantity"] button:hover,
[class*="qty"] button:hover {
  background: rgba(255,255,255,0.08) !important;
}

.quantity-selector input,
.input-group input,
[class*="quantity"] input,
[class*="qty"] input {
  flex: 1 1 auto !important;
  height: 48px !important;
  border: none !important;
  background: transparent !important;
  color: #ffffff !important;
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

/* total */

.total-price,
.purchase-total,
[class*="total"] .price,
[class*="purchase-total"] {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

/* buttons row */

.purchase-actions,
.product-actions,
[class*="purchase-actions"],
[class*="product-actions"] {
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

/* add to cart */

.add-to-cart,
button.add-to-cart,
[class*="add-to-cart"] {
  min-height: 52px !important;
  border-radius: 999px !important;
  border: 1px solid #1693ff !important;
  background: transparent !important;
  color: #1693ff !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.add-to-cart:hover,
button.add-to-cart:hover,
[class*="add-to-cart"]:hover {
  background: rgba(22,147,255,0.10) !important;
  color: #32a7ff !important;
}

/* purchase */

.purchase-btn,
button.purchase-btn,
.buy-now,
button.buy-now,
[class*="purchase-btn"],
[class*="buy-now"] {
  min-height: 52px !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(180deg, #26a2ff, #1088f6) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 24px rgba(16,136,246,0.28) !important;
}

.purchase-btn:hover,
button.purchase-btn:hover,
.buy-now:hover,
button.buy-now:hover,
[class*="purchase-btn"]:hover,
[class*="buy-now"]:hover {
  filter: brightness(1.05) !important;
  transform: translateY(-1px) !important;
}

/* inputs generally inside purchase */

.product-modal input,
.purchase-modal input,
[class*="purchase"] input,
.product-modal select,
.purchase-modal select,
[class*="purchase"] select {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
}

.product-modal input:focus,
.purchase-modal input:focus,
[class*="purchase"] input:focus,
.product-modal select:focus,
.purchase-modal select:focus,
[class*="purchase"] select:focus {
  border-color: rgba(38,162,255,0.55) !important;
  box-shadow: 0 0 0 2px rgba(38,162,255,0.14) !important;
  outline: none !important;
}

/* close button */

.btn-close,
.close,
button[aria-label="Close"] {
  filter: invert(1) opacity(.9) !important;
  box-shadow: none !important;
}

/* mobile */

@media (max-width: 768px) {
  .purchase-actions,
  .product-actions,
  [class*="purchase-actions"],
  [class*="product-actions"] {
    flex-direction: column !important;
  }

  .add-to-cart,
  button.add-to-cart,
  [class*="add-to-cart"],
  .purchase-btn,
  button.purchase-btn,
  .buy-now,
  button.buy-now,
  [class*="purchase-btn"],
  [class*="buy-now"] {
    width: 100% !important;
  }
}

/* =========================
CART / CHECKOUT PAGE
========================= */

.cart {
  padding-top: 40px !important;
  padding-bottom: 70px !important;
}

.cart .section-title h1 {
  color: #ffffff !important;
  font-size: 42px !important;
  font-weight: 800 !important;
  margin-bottom: 24px !important;
}

/* wrappers */
.cart .form,
.cart-item-bg,
.cart .alert,
.cart .p-4.border.rounded,
.cart .border.rounded {
  background: linear-gradient(180deg, rgba(15, 22, 40, 0.96), rgba(9, 15, 28, 0.96)) !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
  color: #ffffff !important;
}

/* cart item */
.cart-item-bg {
  padding: 8px !important;
  overflow: hidden !important;
}

.cart-image-container {
  max-width: 170px !important;
  min-width: 170px !important;
}

.cart-product-image {
  width: 100% !important;
  height: 110px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.03) !important;
}

.cart-placeholder-icon {
  width: 100% !important;
  height: 110px !important;
  background: rgba(255,255,255,0.03) !important;
  border-radius: 14px !important;
}

.cart-placeholder-svg {
  width: 42px !important;
  height: 42px !important;
}

.cart-product-link {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

.cart-product-link:hover {
  color: #7cc3ff !important;
}

.cart-variant-text {
  color: rgba(255,255,255,0.58) !important;
  font-size: 14px !important;
}

.cart-discount-text {
  color: #57b4ff !important;
  font-size: 13px !important;
}

.cart-addon-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(20,147,255,0.10) !important;
  border: 1px solid rgba(20,147,255,0.24) !important;
  color: #8ecfff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* quantity controls */
.cart-controls {
  min-width: 300px !important;
}

.cart-quantity-controls {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
}

.cart-qty-btn {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  background: rgba(255,255,255,0.04) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.cart-qty-btn:hover {
  background: rgba(255,255,255,0.08) !important;
}

.cart-qty-btn:disabled {
  opacity: 0.45 !important;
}

.cart-qty-icon {
  width: 20px !important;
  height: 20px !important;
}

.cart-qty-input {
  width: 54px !important;
  min-width: 54px !important;
  height: 42px !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.cart-qty-input:focus {
  box-shadow: none !important;
  outline: none !important;
}

/* price */
.cart-price-text {
  color: #1ea4ff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  min-width: 90px !important;
}

/* remove */
.cart-remove-desktop,
.cart-remove-mobile {
  opacity: 0.8 !important;
}

.cart-remove-desktop:hover,
.cart-remove-mobile:hover {
  opacity: 1 !important;
  color: #ff7f7f !important;
}

.cart-remove-icon {
  width: 26px !important;
  height: 26px !important;
}

.cart-remove-icon-sm {
  width: 22px !important;
  height: 22px !important;
}

/* order summary box */
.cart .form {
  padding: 24px !important;
  position: sticky !important;
  top: 110px !important;
}

.cart .form .form-label {
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  margin-bottom: 18px !important;
}

.cart .form .text-muted {
  color: rgba(255,255,255,0.62) !important;
}

.cart .form .fw-bold {
  color: #ffffff !important;
  font-size: 20px !important;
}

/* checkout button */
.cart .btn.btn-outline-primary {
  min-height: 54px !important;
  border-radius: 14px !important;
  border: none !important;
  background: linear-gradient(180deg, #26a2ff, #1088f6) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  box-shadow: 0 12px 24px rgba(16,136,246,0.28) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.cart .btn.btn-outline-primary:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.04) !important;
}

.cart .btn.btn-outline-primary:disabled {
  opacity: 0.65 !important;
}

/* spinner / empty */
.cart .spinner-border {
  color: #26a2ff !important;
}

.cart .alert-warning {
  background: rgba(255, 180, 0, 0.10) !important;
  border: 1px solid rgba(255, 180, 0, 0.22) !important;
  color: #ffd77a !important;
}

/* general form elements on cart page */
.cart input,
.cart select,
.cart textarea,
.cart .form-control {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
}

.cart input::placeholder,
.cart textarea::placeholder {
  color: rgba(255,255,255,0.40) !important;
}

.cart input:focus,
.cart select:focus,
.cart textarea:focus,
.cart .form-control:focus {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(38,162,255,0.45) !important;
  box-shadow: 0 0 0 2px rgba(38,162,255,0.12) !important;
  color: #ffffff !important;
}

/* mobile */
@media (max-width: 991px) {
  .cart .form {
    position: static !important;
    top: auto !important;
  }

  .cart-controls {
    min-width: auto !important;
  }
}

@media (max-width: 768px) {
  .cart .section-title h1 {
    font-size: 32px !important;
  }

  .cart-image-container {
    max-width: 100% !important;
    min-width: 100% !important;
  }

  .cart-product-image,
  .cart-placeholder-icon {
    height: 180px !important;
  }

  .cart-price-text {
    font-size: 18px !important;
  }
}
 .custom-category-logo-wrap {
  width: 92px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-category-logo {
  max-width: 92px;
  max-height: 92px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
}

.custom-category-fallback {
  width: 92px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  font-weight: 800;
  color: #ffffff;
}

.custom-category-logo {
  display: none !important;
}

.custom-category-fallback {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
#featured-categories {
  display: none !important;
}

.hero-right,
.hero-image {
  display: none !important;
}