/* ==========================================================================
   KALUP NUTRITION THEME ENGINE (90%+ EXACT MATCH)
   Colors: Royal Blue (#1A6BCC) + Jet Black (#0D0D0D) + Ice Blue (#4DA6FF) + Red (#C01B20)
   Typography: Barlow Condensed, Barlow, Cairo, Teko
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;0,700;1,500;1,700&family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;1,700;1,800&family=Cairo:wght@400;600;700;800;900&family=Teko:wght@500;600;700&display=swap');

:root {
  --kalup-font: "Barlow", "Cairo", "Segoe UI", Tahoma, Arial, sans-serif;
  --kalup-font-display: "Barlow Condensed", "Teko", "Cairo", "Arial Narrow", sans-serif;
  --kalup-blue: #00E676;
  --kalup-blue-dark: #00C853;
  --kalup-blue-light: #69F0AE;
  --kalup-red: #C01B20;
  --kalup-gold: #FFD60A;
  --kalup-bg: #0D0D0D;
  --kalup-surface: #151515;
  --kalup-surface-2: #1C1C1C;
  --kalup-line: rgba(255, 255, 255, 0.09);
  --kalup-line-strong: rgba(255, 255, 255, 0.20);
  --kalup-muted: rgba(255, 255, 255, 0.62);
  --kalup-radius: 12px;
  --kalup-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

html {
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

body {
  font-family: var(--kalup-font) !important;
  background-color: var(--kalup-bg) !important;
  color: #f1f5f9;
  direction: rtl;
  text-align: right;
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Typography Helpers */
.font-kalup {
  font-family: var(--kalup-font) !important;
}

.font-display, .font-teko, .font-macro {
  font-family: var(--kalup-font-display) !important;
  letter-spacing: 0.04em;
}

/* Animated Continuous Moving Announcement Ticker (شريط التنبيهات المتحرك) */
.ann-bar-moving {
  position: relative !important;
  background: #043823 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  overflow: hidden !important;
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
}
.ann-bar-moving:before, .ann-bar-moving:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 5;
  width: 56px;
  pointer-events: none;
}
.ann-bar-moving:before {
  right: 0;
  background: linear-gradient(to left, #043823, transparent);
}
.ann-bar-moving:after {
  left: 0;
  background: linear-gradient(to right, #043823, transparent);
}
.ann-ticker-track {
  display: inline-flex !important;
  align-items: center;
  white-space: nowrap;
  animation: annTickerLoop 28s linear infinite !important;
  will-change: transform;
}
.ann-bar-moving:hover .ann-ticker-track {
  animation-play-state: paused !important;
}
@keyframes annTickerLoop {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
.ann-track-content {
  display: inline-flex;
  align-items: center;
  gap: 2.5rem;
  padding: 0 1.25rem;
}

.ann-item {
  position: relative !important;
  padding: 8px 24px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.ann-item .hl-code, .hl-code {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  direction: ltr;
  margin: 0 4px !important;
  padding: 2px 10px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #00E676 !important;
  font-family: var(--kalup-font-display) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
  cursor: pointer;
}
.ann-item .hl-code:hover, .hl-code:hover {
  border-color: #00E676;
  background: #00E676;
  color: #000 !important;
}

/* Animated OKAB Center Header Logo (اللوجو في النص بيعمل انيميشن) */
@keyframes okabHeaderPulse {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 10px rgba(0, 230, 118, 0.45)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.9));
  }
  50% {
    transform: scale(1.07) translateY(-1px);
    filter: drop-shadow(0 0 20px rgba(0, 230, 118, 0.9)) drop-shadow(0 0 35px rgba(105, 240, 174, 0.5));
  }
}

.header-logo-animated {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.header-logo-animated img {
  animation: okabHeaderPulse 2.8s ease-in-out infinite;
  will-change: transform, filter;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.header-logo-animated:hover img {
  animation-duration: 1.2s;
  transform: scale(1.12);
}

/* ==========================================================================
   SCROLL ASSEMBLY ANIMATION ENGINE ("انيميشن لما تنزل لتحت يتجمع الحاجات")
   Elements start offset from different directions and converge/assemble
   into their tightly locked grid positions as the user scrolls down.
   ========================================================================== */

/* Base un-assembled state */
[data-assemble],
.assemble-card {
  opacity: 0;
  will-change: transform, opacity;
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Gather from Bottom (default) */
[data-assemble="gather-up"],
[data-assemble="default"],
.assemble-card {
  transform: translate3d(0, 48px, 0) scale(0.92);
}

/* Gather from Right (in RTL, from outside right) */
[data-assemble="gather-right"] {
  transform: translate3d(55px, 25px, 0) scale(0.90) rotate(2deg);
}

/* Gather from Left (in RTL, from outside left) */
[data-assemble="gather-left"] {
  transform: translate3d(-55px, 25px, 0) scale(0.90) rotate(-2deg);
}

/* Gather from Center (implode/assemble inward) */
[data-assemble="gather-center"] {
  transform: scale(0.84) translate3d(0, 30px, 0);
}

/* Gather Scale / Pop */
[data-assemble="gather-scale"] {
  transform: scale(0.78);
}

/* Assembled In-View State */
.assembled,
[data-assemble].assembled {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) rotate(0deg) !important;
}

/* Stagger Delays for Grid Children */
.assemble-delay-1 { transition-delay: 0.07s !important; }
.assemble-delay-2 { transition-delay: 0.14s !important; }
.assemble-delay-3 { transition-delay: 0.21s !important; }
.assemble-delay-4 { transition-delay: 0.28s !important; }
.assemble-delay-5 { transition-delay: 0.35s !important; }
.assemble-delay-6 { transition-delay: 0.42s !important; }
.assemble-delay-7 { transition-delay: 0.49s !important; }
.assemble-delay-8 { transition-delay: 0.56s !important; }

/* Kalup Pill Button (Signature CTA) */
.kb {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 52px;
  padding: 0 40px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--kalup-blue) !important;
  color: #000 !important;
  font-family: var(--kalup-font-display) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-align: center;
  box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.8) !important;
  transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
}
.kb:hover {
  background: var(--kalup-blue-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 30px -10px rgba(0, 230, 118, 0.4) !important;
}
.kb:active {
  transform: scale(0.98) !important;
}

.kb-outline {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  height: 48px;
  padding: 0 32px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.8) !important;
  font-family: var(--kalup-font-display) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  transition: all 0.25s ease !important;
}
.kb-outline:hover {
  background: var(--kalup-blue) !important;
  box-shadow: inset 0 0 0 1.5px var(--kalup-blue) !important;
}

/* Kalup Product Card (.klp-card) */
.klp-card {
  position: relative;
  background: var(--kalup-surface) !important;
  border: 1px solid var(--kalup-line) !important;
  border-radius: var(--kalup-radius) !important;
  overflow: hidden;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
.klp-card:hover {
  border-color: var(--kalup-blue) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 32px -16px rgba(0, 0, 0, 0.8) !important;
}
.klp-card .klp-img {
  transition: transform 0.45s var(--kalup-ease);
}
.klp-card:hover .klp-img {
  transform: scale(1.05);
}

/* Kalup Badges */
.klp-badge-sale {
  background: var(--kalup-red) !important;
  color: #fff !important;
  font-family: var(--kalup-font-display) !important;
  font-weight: 800 !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  font-size: 13px !important;
  text-transform: uppercase;
  box-shadow: none !important;
}

/* Price Display (Electric Ice Blue) */
.klp-price {
  color: var(--kalup-blue-light) !important;
  font-family: var(--kalup-font-display) !important;
  font-weight: 800 !important;
}

/* Quick Add button on card */
.klp-add-btn {
  background: #111 !important;
  border: 1px solid var(--kalup-line) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--kalup-font-display) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  transition: all 0.2s ease !important;
}
.klp-card:hover .klp-add-btn, .klp-add-btn:hover {
  background: var(--kalup-blue) !important;
  border-color: var(--kalup-blue) !important;
  color: #000 !important;
}

/* Section Title With Eyebrow (Kalup Signature) */
.section-eyebrow {
  color: var(--kalup-blue-light);
  font-family: var(--kalup-font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}

.section-title-kalup {
  color: #fff;
  font-family: var(--kalup-font-display);
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* "Why Kalup" Grid Background */
.kalup-why {
  background-image: repeating-linear-gradient(0deg, transparent, transparent 60px, rgba(255, 255, 255, 0.015) 60px, rgba(255, 255, 255, 0.015) 61px),
                    repeating-linear-gradient(90deg, transparent, transparent 60px, rgba(255, 255, 255, 0.015) 60px, rgba(255, 255, 255, 0.015) 61px) !important;
}
.kalup-why-card {
  border: 1px solid var(--kalup-line) !important;
  border-top: 2px solid var(--kalup-blue) !important;
  border-radius: var(--kalup-radius) !important;
  background: var(--kalup-surface) !important;
  padding: 32px 24px 28px !important;
  transition: all 0.25s ease !important;
}
.kalup-why-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 230, 118, 0.45) !important;
  border-top-color: var(--kalup-blue) !important;
}
.kalup-why-icon {
  width: 58px !important;
  height: 58px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(0, 230, 118, 0.12);
  border: 1px solid rgba(0, 230, 118, 0.3);
  color: var(--kalup-blue-light);
  font-size: 22px;
  margin-bottom: 20px;
}

/* Kalup Footer Styling */
.kalup-footer-wrapper {
  position: relative;
  overflow: hidden;
  background: #0A0A0A !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.kalup-footer-wrapper:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 120px;
  height: 2px;
  background: var(--kalup-blue);
  transform: translateX(-50%);
}
.kalup-footer-watermark {
  color: rgba(255, 255, 255, 0.025);
  font-family: var(--kalup-font-display);
  font-size: clamp(80px, 18vw, 240px);
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: 0.05em;
  text-align: center;
  pointer-events: none;
  user-select: none;
  margin: 24px 0 -0.15em;
}

/* Scrollbars */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
::-webkit-scrollbar-track {
  background: #090D16;
}
::-webkit-scrollbar-thumb {
  background: #1e293b;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--kalup-blue);
}

/* Hide scrollbar */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
