/**
 * Styles boutique alignés sur design/DigitStore (utilisés aussi pour womenshop — même layout).
 */
:root {
  --clr-bg: #050810;
  --clr-card: #0d1117;
  --clr-border: rgba(255, 255, 255, 0.06);
  --clr-accent: #00f5d4;
  --clr-accent2: #7c3aed;
  --clr-gold: #f5c518;
  --clr-text: #e8eaf0;
  --clr-muted: #6b7280;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body.storefront-digitstore {
  background: var(--clr-bg);
  color: var(--clr-text);
  font-family: "DM Sans", sans-serif;
  overflow-x: hidden;
}

body.storefront-digitstore h1,
body.storefront-digitstore h2,
body.storefront-digitstore h3,
body.storefront-digitstore h4,
body.storefront-digitstore h5 {
  font-family: "Syne", sans-serif;
}

body.storefront-digitstore::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 1000;
  opacity: 0.4;
}

.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  z-index: 0;
}

.orb-1 {
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(0, 245, 212, 0.15), transparent 70%);
  top: -100px;
  left: -150px;
}

.orb-2 {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.18), transparent 70%);
  top: 200px;
  right: -100px;
}

.orb-3 {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(245, 197, 24, 0.1), transparent 70%);
  bottom: 0;
  left: 30%;
}

.glass-card {
  background: rgba(13, 17, 23, 0.85);
  border: 1px solid var(--clr-border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.glass-card:hover {
  border-color: rgba(0, 245, 212, 0.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0, 245, 212, 0.08), 0 0 0 1px rgba(0, 245, 212, 0.1);
}

.glass-card.no-hover-lift:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--clr-border);
}

.grad-text {
  background: linear-gradient(135deg, #00f5d4 0%, #7c3aed 50%, #f5c518 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.grad-text-2 {
  background: linear-gradient(90deg, #ffffff 0%, #00f5d4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.btn-primary {
  background: linear-gradient(135deg, #00f5d4, #7c3aed);
  color: #050810;
  font-weight: 700;
  font-family: "Syne", sans-serif;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
}

.btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent);
  opacity: 0;
  transition: opacity 0.2s;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(0, 245, 212, 0.4);
}

.btn-primary:hover::before {
  opacity: 1;
}

.btn-outline {
  background: transparent;
  border: 1px solid rgba(0, 245, 212, 0.4);
  color: #00f5d4;
  font-weight: 600;
  font-family: "Syne", sans-serif;
  cursor: pointer;
  transition: all 0.2s;
}

.btn-outline:hover {
  background: rgba(0, 245, 212, 0.08);
  border-color: #00f5d4;
}

.badge {
  font-family: "Syne", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storefront-digitstore nav.sf-nav {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--clr-border);
}

.hero-grid {
  background-image: linear-gradient(rgba(0, 245, 212, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 245, 212, 0.04) 1px, transparent 1px);
  background-size: 60px 60px;
}

.product-card {
  position: relative;
  overflow: hidden;
}

.product-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.04), transparent);
  transition: left 0.6s ease;
}

.product-card:hover::after {
  left: 150%;
}

::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--clr-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--clr-accent2);
  border-radius: 3px;
}

.tag {
  background: rgba(0, 245, 212, 0.08);
  border: 1px solid rgba(0, 245, 212, 0.2);
  color: #00f5d4;
}

.tag-purple {
  background: rgba(124, 58, 237, 0.08);
  border: 1px solid rgba(124, 58, 237, 0.3);
  color: #a78bfa;
}

.tag-gold {
  background: rgba(245, 197, 24, 0.08);
  border: 1px solid rgba(245, 197, 24, 0.3);
  color: #f5c518;
}

.tag-red {
  background: rgba(229, 9, 20, 0.08);
  border: 1px solid rgba(229, 9, 20, 0.3);
  color: #f87171;
}

.star {
  color: #f5c518;
}

.stat-card {
  background: linear-gradient(135deg, rgba(0, 245, 212, 0.05), rgba(124, 58, 237, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.06);
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

@keyframes pulse-glow {
  0%,
  100% {
    box-shadow: 0 0 20px rgba(0, 245, 212, 0.2);
  }
  50% {
    box-shadow: 0 0 50px rgba(0, 245, 212, 0.5);
  }
}

@keyframes slide-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.float {
  animation: float 4s ease-in-out infinite;
}

.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

.slide-up {
  animation: slide-up 0.6s ease forwards;
}

.marquee-inner {
  animation: marquee 20s linear infinite;
}

.pay-badge {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

#mobile-menu {
  transition: all 0.3s ease;
}

.filter-btn {
  transition: all 0.2s;
}

.filter-btn.active {
  background: linear-gradient(135deg, #00f5d4, #7c3aed);
  color: #050810;
  font-weight: 700;
}

.search-input,
.sort-select,
.sf-input {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e8eaf0;
  transition: border-color 0.2s;
}

.search-input:focus,
.sort-select:focus,
.sf-input:focus {
  outline: none;
  border-color: rgba(0, 245, 212, 0.4);
  box-shadow: 0 0 0 3px rgba(0, 245, 212, 0.05);
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fade-in 0.4s ease forwards;
}

.dur-tab {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  transition: all 0.2s;
  cursor: pointer;
}

.dur-tab.active,
.dur-tab:hover {
  border-color: rgba(0, 245, 212, 0.5);
  background: rgba(0, 245, 212, 0.08);
  color: #00f5d4;
}

.dur-tab.active {
  border-color: #00f5d4;
}

.feature-check {
  color: #00f5d4;
}

.review-bar-fill {
  background: linear-gradient(90deg, #00f5d4, #7c3aed);
  border-radius: 999px;
  height: 6px;
  transition: width 0.8s ease;
}

.sticky-sidebar {
  position: sticky;
  top: 90px;
}

/* Pagination Livewire / Laravel sur fond sombre */
body.storefront-digitstore nav[role="navigation"] span[aria-current="page"] span {
  background: linear-gradient(135deg, #00f5d4, #7c3aed);
  color: #050810;
  border-color: transparent;
}

body.storefront-digitstore nav[role="navigation"] a,
body.storefront-digitstore nav[role="navigation"] span {
  color: var(--clr-text);
  border-color: var(--clr-border);
}

body.storefront-digitstore nav[role="navigation"] a:hover {
  color: #00f5d4;
}

/* ─── Arabe (RTL) — police Cairo ─── */
html.storefront-rtl body.storefront-digitstore,
html.storefront-rtl body.storefront-digitstore.storefront-locale-ar {
  font-family: "Cairo", "DM Sans", sans-serif;
}

html.storefront-rtl body.storefront-digitstore h1,
html.storefront-rtl body.storefront-digitstore h2,
html.storefront-rtl body.storefront-digitstore h3,
html.storefront-rtl body.storefront-digitstore h4,
html.storefront-rtl body.storefront-digitstore h5 {
  font-family: "Cairo", "Syne", sans-serif;
}

html[dir="rtl"] .sf-price-ltr,
html.storefront-rtl .sf-price-ltr,
html[dir="rtl"] .fc-price,
html[dir="rtl"] .product-price,
html[dir="rtl"] .cart-total,
html.storefront-rtl .product-price,
html.storefront-rtl .cart-total {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  font-variant-numeric: tabular-nums;
  text-align: left;
}
