/* =========================================================
   THEME: Dark Premium Store — v3.0
   =========================================================
   المتغيرات:
   --bg        #111214   خلفية الصفحة
   --card      #1a1c1f   بطاقة مستوى 1
   --card-2    #22252a   بطاقة مستوى 2
   --card-3    #2b2f35   بطاقة مستوى 3
   --text      #f5f7fa   نص رئيسي
   --muted     #b7bec8   نص ثانوي
   --muted-2   #8f98a3   نص خافت
   --line      rgba(255,255,255,.08)   حدود خفيفة
   --gold      #f7c600   الذهبي
   --gold-2    #ffda47   الذهبي الفاتح
   --danger    #d93a3a   الأحمر
   --success   #22c55e   الأخضر
   ========================================================= */

/* ===== المتغيرات ===== */
:root {
  --bg:           #111214;
  --bg-soft:      #17191d;
  --card:         #1a1c1f;
  --card-2:       #22252a;
  --card-3:       #2b2f35;
  --text:         #f5f7fa;
  --muted:        #b7bec8;
  --muted-2:      #8f98a3;
  --line:         rgba(255,255,255,.08);
  --line-md:      rgba(255,255,255,.11);
  --line-strong:  rgba(255,255,255,.16);
  --gold:         #f7c600;
  --gold-2:       #ffda47;
  --gold-glow:    rgba(247,198,0,.18);
  --danger:       #d93a3a;
  --danger-soft:  rgba(217,58,58,.18);
  --success:      #22c55e;
  --wa-green:     #25d366;
  --wa-dark:      #128c7e;

  /* مساعدات تكرر */
  --grad-card:    linear-gradient(180deg, var(--card) 0%, var(--card-2) 100%);
  --grad-card-2:  linear-gradient(180deg, var(--card-2) 0%, var(--card-3) 100%);
  --grad-gold:    linear-gradient(135deg, var(--gold), var(--gold-2));
  --grad-danger:  linear-gradient(135deg, var(--danger), #b22e2e);

  --shadow:       0 10px 30px rgba(0,0,0,.28);
  --shadow-gold:  0 10px 24px var(--gold-glow);
  --shadow-wa:    0 10px 24px rgba(0,0,0,.22);

  --radius:    16px;
  --radius-sm: 12px;
  --radius-xs: 10px;
  --radius-pill: 999px;

  --transition: all .25s ease;
}

/* ===== Base ===== */
html, body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: 'Tajawal', sans-serif !important;
}

body { padding-top: 50px !important; }

*, *::before, *::after { box-sizing: border-box; }

h1, h2, h3, h4, h5, h6,
p, span, small, strong, li, label, td, th { color: inherit; }

a { transition: var(--transition); }

img { max-width: 100%; display: block; }

/* بطاقات بيضاء → داكنة */
.bg-white,
section.bg-white,
div.bg-white,
article.bg-white {
  background: var(--grad-card) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
}

/* حاويات الصفحة شفافة */
.container, .main-content, .page-wrapper,
.product, .product__page, .s-product-page,
.s-main-page-content { background: transparent !important; }


/* ===== Typography ===== */
h1.text-xl,
.product-title, .product__title,
.s-product-page h1 {
  color: #fff !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

h2, .s-reviews-header, .s-comments-title {
  color: #fff !important;
  font-weight: 700 !important;
}

.text-gray-500, .text-gray-400,
.text-gray-600, .text-muted {
  color: var(--muted) !important;
}


/* ===== Price ===== */
.total-price,
.s-product-price, .s-product-card-price,
.price, .product-price, .product-formatted-price {
  color: var(--gold) !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
}
.total-price { font-size: 28px !important; }

.before-price, del, .price del {
  color: var(--muted-2) !important;
  font-size: 15px !important;
  text-decoration: line-through !important;
  opacity: .9;
}


/* ===== Buttons ===== */
button, .btn, .s-button-btn,
.s-button-element, button[type="submit"] {
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
  transition: var(--transition) !important;
  box-shadow: none !important;
}

/* Primary */
.s-button-btn.s-button-primary,
.s-button-primary,
button.s-button-primary,
.btn-primary {
  background: var(--grad-gold) !important;
  color: #111 !important;
  border: none !important;
}
.s-button-btn.s-button-primary:hover,
.s-button-primary:hover,
.btn-primary:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.04) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* Outline */
.s-button-btn.s-button-outline,
.s-button-outline, .btn-outline {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid var(--line-strong) !important;
}
.s-button-btn.s-button-outline:hover,
.s-button-outline:hover, .btn-outline:hover {
  background: var(--gold) !important;
  color: #111 !important;
  border-color: var(--gold) !important;
}


/* ===== Inputs ===== */
input, select, textarea,
.s-form-control, .s-comment-form-input,
.s-quantity-input-input {
  background: var(--card-3) !important;
  color: #fff !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: var(--radius-sm) !important;
}
input:focus, select:focus, textarea:focus,
.s-form-control:focus, .s-comment-form-input:focus,
.s-quantity-input-input:focus {
  outline: none !important;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px var(--gold-glow) !important;
}

.s-quantity-input-button {
  background: var(--card-3) !important;
  color: #fff !important;
  border-color: var(--line-strong) !important;
}


/* ===== Category Tags ===== */
a.text-gray-500 {
  background: rgba(247,198,0,.12) !important;
  color: var(--gold) !important;
  font-weight: 700 !important;
  padding: 8px 14px !important;
  border-radius: var(--radius-pill) !important;
  font-size: 13px !important;
  margin: 4px 6px 4px 0 !important;
  display: inline-block !important;
  border: 1px solid rgba(247,198,0,.2) !important;
  text-decoration: none !important;
}
a.text-gray-500:hover {
  background: var(--gold) !important;
  color: #111 !important;
  border-color: var(--gold) !important;
}


/* ===== Gallery ===== */
.swiper-slide img,
.product-slider img,
.s-product-image img { border-radius: 14px !important; }

.swiper-slide-thumb-active img {
  border: 2px solid var(--gold) !important;
  box-shadow: 0 0 0 4px rgba(247,198,0,.1) !important;
}


/* ===== Product Description ===== */
.product__description,
.product__description p,
.product__description li,
.product-description,
.content-entry p,
.content-entry li {
  color: #e8ebef !important;
  font-size: 15px !important;
  line-height: 1.95 !important;
}


/* ===== Ratings ===== */
.s-rating-stars-wrapper svg,
.s-product-card-rating i,
.s-product-card-rating span,
.star-rating, .stars {
  color: var(--gold) !important;
  fill: var(--gold) !important;
}


/* ===== Advertisement Bar ===== */
.s-advertisement-content {
  background: linear-gradient(180deg, #fff 0%, #f5f5f5 100%) !important;
  color: #111 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  box-shadow: 0 8px 25px rgba(0,0,0,.12) !important;
  margin-bottom: 15px !important;
  border: 1px solid rgba(0,0,0,.04) !important;
}
.s-advertisement-content-icon,
.s-advertisement-action { color: #111 !important; }
.s-advertisement-action { border: none; background: transparent; cursor: pointer; font-size: 18px; transition: var(--transition); }
.s-advertisement-action:hover { color: #555 !important; }
.s-advertisement-content-main a { color: #111 !important; font-weight: 800 !important; text-decoration: none !important; }
.s-advertisement-content-main a:hover { color: #7a6200 !important; }


/* ===== Fire / Sold Strip ===== */
div.px-4:has(.sicon-fire) {
  background: linear-gradient(180deg,
    rgba(247,198,0,.13) 0%,
    rgba(247,198,0,.06) 100%) !important;
  color: var(--gold) !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  border: 1px solid rgba(247,198,0,.16) !important;
}
div.px-4:has(.sicon-fire) i {
  color: #ff7a00 !important;
  font-size: 18px !important;
}


/* ===== Cart Summary ===== */
.s-cart-summary-content,
.s-cart-summary,
.cart-summary, .order-summary {
  background: var(--grad-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  color: #fff !important;
}
.s-cart-summary-content .s-cart-summary-total {
  color: var(--gold) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  background: rgba(247,198,0,.08) !important;
  padding: 12px 16px !important;
  border-radius: var(--radius-sm) !important;
  display: inline-block !important;
  box-shadow: inset 0 0 0 1px rgba(247,198,0,.14) !important;
}


/* ===== User Menu ===== */
.s-user-menu-trigger { transform: scale(.88); transform-origin: top right; }
.s-user-menu-trigger-avatar { width: 28px !important; height: 28px !important; }
.s-user-menu-trigger-hello { font-size: 12px !important; }
.s-user-menu-trigger-name  { font-size: 13px !important; }


/* ===== Product Cards ===== */
.s-product-card-entry, .s-product-card,
.product-card, .product {
  position: relative !important;
  background: var(--grad-card) !important;
  color: #fff !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.24) !important;
  border: 1px solid var(--line) !important;
  overflow: hidden !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.s-product-card-entry:hover, .s-product-card:hover,
.product-card:hover, .product:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 35px rgba(0,0,0,.3) !important;
  border-color: rgba(247,198,0,.22) !important;
}

/* وهج خفيف داخل الكرت */
.s-product-card-entry::after, .s-product-card::after,
.product-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(247,198,0,.07), transparent 35%,
    transparent 65%, rgba(255,255,255,.02));
  pointer-events: none;
}

.s-product-card-content,
.s-product-card-content-title,
.s-product-card-entry .content { position: relative; z-index: 2; }

.s-product-card-content-title a,
.s-product-card-content h3 a,
.s-product-card-content h3,
.product-card .title, .product-card .name {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  text-decoration: none !important;
}
.s-product-card-content-title a:hover,
.s-product-card-content h3 a:hover { color: var(--gold) !important; }

.s-product-card-image,
.product-card-image, .product-image {
  background: #2a2d31 !important;
  border-radius: 14px !important;
  padding: 10px !important;
  overflow: hidden !important;
}
.s-product-card-image img,
.product-card-image img, .product-image img {
  border-radius: 12px !important;
  transition: transform .35s ease !important;
}
.s-product-card-entry:hover img,
.s-product-card:hover img,
.product-card:hover img { transform: scale(1.04) !important; }

.s-product-card-wishlist-btn,
.s-product-card-wishlist-btn i { color: #fff !important; z-index: 3; }
.s-product-card-wishlist-btn:hover i { color: var(--gold) !important; }

/* شارة خصم */
.s-product-card-entry::before {
  content: "خصم";
  position: absolute;
  top: 12px; right: 12px;
  background: var(--grad-danger);
  color: #fff;
  font-size: 12px; font-weight: 800;
  padding: 5px 10px;
  border-radius: var(--radius-pill);
  z-index: 8;
  display: none;
  box-shadow: 0 6px 16px var(--danger-soft);
}
.s-product-card-entry:has(.before-price)::before { display: inline-block !important; }

/* نفدت الكمية */
.s-product-card-entry:has(button[product-status="out"]) {
  opacity: .55;
  filter: grayscale(100%);
}
.s-product-card-entry:has(button[product-status="out"])::after {
  content: "غير متوفر";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0,0,0,.72);
  color: #fff;
  padding: 9px 18px;
  font-size: 15px; font-weight: 800;
  border-radius: var(--radius-xs);
  pointer-events: none;
  z-index: 10;
  border: 1px solid var(--line-md);
}


/* ===== Reviews ===== */
.s-reviews-testimonial {
  background: var(--grad-card-2) !important;
  color: #fff !important;
  border-radius: var(--radius) !important;
  padding: 20px !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.2) !important;
  margin-bottom: 20px !important;
  border: 1px solid var(--line) !important;
}
.s-reviews-testimonial p {
  color: #ebedf1 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}
.s-reviews-testimonial__info h2 {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 16px !important;
}
.s-reviews-testimonial__icon svg { fill: var(--gold) !important; }
.s-reviews-testimonial__avatar img {
  border-radius: 50% !important;
  border: 2px solid var(--gold) !important;
  width: 60px !important; height: 60px !important;
}


/* ===== Comments ===== */
.s-comments,
.s-comments-container,
.s-comment-form-wrapper,
.s-comments-item-wrapper,
.s-comments-item-inner,
.s-comments-item-content,
.s-comments-item-user-wrapper,
.s-comments-item-user-info,
.s-comments-item {
  background: var(--grad-card-2) !important;
  color: #fff !important;
  border-color: var(--line-strong) !important;
  border-radius: 14px !important;
}
.s-comments-title, .s-comments-count-label,
.s-comments-item-user-info-name,
.s-comments-item-content p,
.s-comments-item-has-order-check-text,
.s-comments-item-timestamp,
.s-reviews-summary-count,
.s-reviews-summary-average,
.s-comments-item-rated-widget,
.s-comments-sort-input,
.s-reviews-summary-row-rate,
.s-reviews-summary-percentage { color: #fff !important; }
.s-comment-form-action button {
  background: var(--grad-gold) !important;
  color: #111 !important;
  border: none !important;
  font-weight: 800 !important;
  transition: var(--transition) !important;
}
.s-comment-form-action button:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.04) !important;
}


/* ===== Features Block ===== */
.s-block--features__item {
  background: var(--grad-card-2) !important;
  color: #fff !important;
  padding: 22px !important;
  border-radius: var(--radius) !important;
  text-align: center !important;
  transition: var(--transition) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}
.s-block--features__item:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(247,198,0,.2) !important;
}
.s-block--features__item h2 {
  color: #fff !important;
  font-size: 18px !important;
  margin: 10px 0 !important;
  font-weight: 800 !important;
}
.s-block--features__item p {
  color: #e9edf2 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.s-block--features__item .feature-icon i {
  font-size: 30px !important;
  color: var(--gold) !important;
  margin-bottom: 10px !important;
  display: block !important;
}


/* ===== Special Sections ===== */
section.bg-white:has(.form-label i.sicon-luggage-cart),
section.bg-white:has(.form-label i.sicon-luggage-cart) span {
  color: #fff !important;
}


/* ===== Preorder Banner ===== */
#preorder-banner {
  background: linear-gradient(135deg, #2a0d10, #451218);
  border: 1px solid rgba(255,70,90,.28);
  border-radius: var(--radius);
  padding: 14px 16px;
  margin-bottom: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  animation: fadeUp .4s ease;
}
.preorder-banner-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  direction: rtl;
}
.preorder-icon {
  width: 46px; height: 46px; min-width: 46px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #e11d2e, #ff4155);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  box-shadow: 0 8px 18px rgba(225,29,46,.25);
}
.preorder-text { display: flex; flex-direction: column; gap: 4px; }
.preorder-text strong { color: #fff; font-size: 16px; font-weight: 800; }
.preorder-text span  { color: #f3c9cf; font-size: 13px; line-height: 1.8; }


/* ===== Preorder Note Box ===== */
#preorder-note-box {
  background: rgba(255,70,90,.08);
  border: 1px solid rgba(255,70,90,.18);
  color: #ffd8dd;
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.preorder-note-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  direction: rtl;
  font-size: 13px;
  font-weight: 700;
}
.preorder-note-dot {
  width: 10px; height: 10px; min-width: 10px;
  border-radius: 50%;
  background: #ff4155;
  box-shadow: 0 0 12px rgba(255,65,85,.4);
}


/* ===== Shipping Info ===== */
#product-shipping-info {
  display: flex;
  align-items: center;
  gap: 10px;
  direction: rtl;
  background: var(--grad-card-2);
  border: 1px solid var(--line);
  color: #fff;
  border-radius: 14px;
  padding: 13px 14px;
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 700;
}
#product-shipping-info .shipping-icon { font-size: 18px; }


/* ===== Preorder Status Bar ===== */
#preorder-status-bar {
  background: var(--grad-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--shadow) !important;
  color: #fff !important;
  animation: fadeUp .4s ease;
}

.preorder-status-title {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  direction: rtl !important;
}

.preorder-status-title::before {
  content: "📦";
  font-size: 17px;
}

.preorder-status-steps {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.preorder-step {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  direction: rtl !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, var(--card-2), var(--card-3)) !important;
  border: 1px solid var(--line) !important;
  opacity: .7;
  transition: var(--transition) !important;
}

.preorder-step:hover {
  border-color: rgba(247,198,0,.18) !important;
  transform: translateY(-1px);
}

.preorder-step.done,
.preorder-step.current {
  opacity: 1;
}

.preorder-step.done {
  border-color: rgba(34,197,94,.22) !important;
  background: linear-gradient(180deg, rgba(34,197,94,.10), rgba(34,197,94,.05)) !important;
}

.preorder-step.current {
  border-color: rgba(247,198,0,.22) !important;
  background: linear-gradient(180deg, rgba(247,198,0,.12), rgba(247,198,0,.05)) !important;
  box-shadow: inset 0 0 0 1px rgba(247,198,0,.05) !important;
}

.step-dot {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  background: var(--card) !important;
  color: transparent !important;
  border: 1px solid var(--line-strong) !important;
}

.preorder-step.done .step-dot {
  background: var(--success) !important;
  color: #fff !important;
  border-color: rgba(34,197,94,.3) !important;
  box-shadow: 0 0 0 4px rgba(34,197,94,.10) !important;
}

.preorder-step.current .step-dot {
  background: var(--grad-gold) !important;
  color: #111 !important;
  border: none !important;
  box-shadow: 0 0 0 4px rgba(247,198,0,.12) !important;
}

.step-text {
  color: #eef2f6 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
}

.preorder-step:not(.done):not(.current) .step-text {
  color: var(--muted) !important;
}


/* ===== Product WhatsApp Button ===== */
#product-whatsapp-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #1f8f4d, var(--wa-green));
  color: #fff !important;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(37,211,102,.18);
  transition: var(--transition);
}
#product-whatsapp-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 14px 28px rgba(37,211,102,.26);
}


/* ===== Floating Popups ===== */
#purchase-popup {
  position: fixed;
  bottom: 20px; right: 20px;
  background: var(--grad-gold);
  color: #111;
  padding: 14px 20px;
  border-radius: var(--radius);
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  font-family: 'Tajawal', sans-serif;
  font-size: 15px; font-weight: 800;
  z-index: 9999;
  display: none;
  animation: slideUp .5s ease;
  direction: rtl;
}

#viewers-popup {
  position: fixed;
  bottom: 20px; left: 20px;
  background: #fff;
  color: #111;
  padding: 12px 18px;
  border-radius: var(--radius-sm);
  font-family: 'Tajawal', sans-serif;
  font-size: 14px; font-weight: 800;
  z-index: 9999;
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  display: none;
  direction: rtl;
}
#viewers-popup.show { display: block; opacity: 1; transform: translateY(0); }

#stock-warning {
  position: fixed;
  bottom: 20px; left: 20px;
  background: #fff;
  color: #111;
  font-family: 'Tajawal', sans-serif;
  font-size: 14px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 22px rgba(0,0,0,.15);
  z-index: 9999;
  display: none;
  animation: fadeUp .6s ease;
}


/* ===== WhatsApp Float ===== */
#whatsapp-float {
  position: fixed;
  bottom: 20px; left: 20px;
  background: var(--wa-green);
  padding: 13px;
  border-radius: 50%;
  box-shadow: var(--shadow-wa);
  z-index: 9999;
  text-decoration: none;
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
}
#whatsapp-float:hover {
  background: var(--wa-dark);
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0,0,0,.28);
}
#whatsapp-float svg { width: 28px; height: 28px; fill: #fff; }


/* ===== Top Promo Banner ===== */
#moza-banner {
  position: fixed;
  top: 0; width: 100%;
  background: var(--grad-gold);
  color: #111;
  text-align: center;
  padding: 12px 0;
  font-size: 15px; font-weight: 800;
  font-family: 'Tajawal', sans-serif;
  z-index: 9999;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  transform: translateY(-100%);
  animation: slideDown .6s ease-out forwards;
}


/* ===== Animations ===== */
@keyframes slideDown {
  to { transform: translateY(0); }
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ===== Mobile ===== */
@media (max-width: 768px) {
  body { padding-top: 46px !important; }
  .total-price { font-size: 24px !important; }

  .s-product-card-entry,
  .s-product-card,
  .product-card { border-radius: 14px !important; }

  .s-product-card-content-title a,
  .s-product-card-content h3 a,
  .s-product-card-content h3 { font-size: 14px !important; }

  #purchase-popup,
  #viewers-popup,
  #stock-warning { max-width: calc(100% - 24px); }

  #whatsapp-float { bottom: 16px; left: 16px; }

  #preorder-status-bar {
    padding: 14px !important;
  }

  .preorder-step {
    padding: 10px 12px !important;
    gap: 10px !important;
  }

  .step-text {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }
}