/*
Theme Name: Omixus
Theme URI: https://omixus.com
Author: Omixus Team
Author URI: https://omixus.com
Description: متجر أوميكسس — ثيم ووردبريس ثنائي اللغة (عربي/إنجليزي). هواتف، إكسسوارات، قطع غيار، اشتراكات رقمية، وصيانة متنقلة في الرياض.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: omixus
Tags: rtl, translation-ready, woocommerce, custom-logo, custom-menu, featured-images
*/


/* ═══════════════════════════════════════════════
   OMIXUS DESIGN SYSTEM v2 — Golden Ratio (φ 1.618)
   ═══════════════════════════════════════════════ */

/* Fonts loaded via wp_head — see functions.php for preconnect + font-display:swap */

/* ───── 8-POINT GRID DESIGN TOKENS (single source of truth) ───── */
:root {
  /* Signal native dark+light awareness so browsers (Chrome/Samsung) skip force-dark auto-invert */
  color-scheme: dark light;
  /* Spacing Scale — strict 8pt grid (4/8/12/16/20/24/32/40/48/64/80/96/128) */
  --s-1:    4px;
  --s-2:    8px;
  --s-3:   12px;
  --s-4:   16px;
  --s-5:   20px;
  --s-6:   24px;
  --s-7:   32px;
  --s-8:   40px;
  --s-9:   48px;
  --s-10:  64px;
  --s-11:  80px;
  --s-12:  96px;
  --s-13: 128px;

  /* Legacy Golden Ratio tokens — REMAPPED to 8pt grid (do not use in new code) */
  --sp-3xs: var(--s-1);   /*  3px → 4px  */
  --sp-2xs: var(--s-2);   /*  5px → 8px  */
  --sp-xs:  var(--s-2);   /*  8px → 8px  */
  --sp-sm:  var(--s-3);   /* 13px → 12px */
  --sp-md:  var(--s-5);   /* 21px → 20px */
  --sp-lg:  var(--s-7);   /* 34px → 32px */
  --sp-xl:  var(--s-9);   /* 55px → 48px */
  --sp-2xl: var(--s-11);  /* 89px → 80px */

  /* Type Scale — perfect-fourth-ish, modular */
  --t-xs:   12px;
  --t-sm:   14px;
  --t-base: 16px;
  --t-md:   18px;
  --t-lg:   20px;
  --t-xl:   24px;
  --t-2xl:  30px;
  --t-3xl:  36px;
  --t-4xl:  48px;
  --t-5xl:  60px;

  /* Legacy type tokens — alias to new scale */
  --fs-xs:      var(--t-xs);
  --fs-sm:      var(--t-sm);
  --fs-body:    var(--t-base);
  --fs-lg:      var(--t-md);
  --fs-sub:     var(--t-xl);
  --fs-heading: var(--t-3xl);
  --fs-display: var(--t-5xl);

  /* Border Radius — 8pt-aligned */
  --r-1:    4px;
  --r-2:    8px;
  --r-3:   12px;
  --r-4:   16px;
  --r-5:   20px;
  --r-6:   24px;
  --r-full: 999px;

  /* Legacy radius tokens — alias to new scale */
  --r-xs:  var(--r-1);
  --r-sm:  var(--r-2);
  --r-md:  var(--r-3);
  --r-lg:  var(--r-5);
  --r-xl:  32px;

  /* Layout — single source for ALL section widths */
  --container-max:    1240px;
  --container-pad-x:  var(--s-6);   /* 24px */
  --section-y:        var(--s-9);   /* 48px vertical rhythm */
  --section-y-lg:     var(--s-11);  /* 80px for major breaks */

  /* Color System — Refined */
  --c-bg:          #F6F6F8;
  --c-surface:     #FFFFFF;
  --c-surface-2:   #F0F0F3;
  --c-surface-3:   #E8E8EC;
  --c-border:      #DCDCE0;
  --c-border-2:    #C4C4C8;
  --c-accent:      #6311B9;
  --c-accent-h:    #4E0E93;
  --c-accent-soft: rgba(99,17,185,.06);
  --c-accent-glow: rgba(99,17,185,.15);
  --c-success:     #34C759;
  --c-warning:     #FF9F0A;
  --c-text:        #1A1A1E;
  --c-text-2:      #3A3A3E;
  --c-muted:       #6E6E78;
  --c-muted-2:     #AEAEB8;

  /* Fonts */
  --font-ar: 'IBM Plex Sans Arabic', sans-serif;
  --font-en: 'Darker Grotesque', 'Manrope', sans-serif;

  /* Shadows — Layered for depth */
  --shadow-xs:  0 1px 2px rgba(0,0,0,.04);
  --shadow-sm:  0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md:  0 4px 16px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);
  --shadow-lg:  0 8px 32px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);
  --shadow-xl:  0 16px 48px rgba(0,0,0,.10), 0 4px 12px rgba(0,0,0,.05);
  --shadow-glow: 0 0 34px var(--c-accent-glow);

  /* Navbar */
  --navbar-h: 64px;
  --navbar-bg: rgba(255,255,255,.88);
  --navbar-border: rgba(0,0,0,.06);

  /* Cards */
  --card-shadow: var(--shadow-sm);
  --card-hover-shadow: var(--shadow-lg);

  /* Transitions */
  --ease-out: cubic-bezier(.22,1,.36,1);
  --ease-spring: cubic-bezier(.34,1.56,.64,1);
  --t-fast: .15s;
  --t-base: .25s;
  --t-slow: .4s;
}

/* ───── DARK MODE ───── */
[data-theme="dark"] {
  --c-bg:          #0A0A0C;
  --c-surface:     #141416;
  --c-surface-2:   #1C1C1F;
  --c-surface-3:   #242428;
  --c-border:      #2A2A2E;
  --c-border-2:    #3A3A3F;
  --c-accent:      #6311B9;
  --c-accent-h:    #7C1ED4;
  --c-accent-soft: rgba(99,17,185,.08);
  --c-accent-glow: rgba(99,17,185,.20);
  --c-text:        #F2F2F4;
  --c-text-2:      #C8C8CE;
  --c-muted:       #8E8E98;
  --c-muted-2:     #58585E;

  --shadow-xs:  0 1px 2px rgba(0,0,0,.2);
  --shadow-sm:  0 1px 3px rgba(0,0,0,.3);
  --shadow-md:  0 4px 16px rgba(0,0,0,.3);
  --shadow-lg:  0 8px 32px rgba(0,0,0,.4);
  --shadow-xl:  0 16px 48px rgba(0,0,0,.5);
  --shadow-glow: 0 0 34px var(--c-accent-glow);

  --navbar-bg: rgba(28,28,31,.85);
  --navbar-border: rgba(255,255,255,.06);
  --card-shadow: 0 1px 3px rgba(0,0,0,.4);
  --card-hover-shadow: var(--shadow-xl);
}

/* ═══════════════════════════════════════════════
   RESET & BASE
   ═══════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* SAR Symbol (official SAMA) */
.sar {
  display: inline-block;
  width: 1.15em;
  height: 1.15em;
  vertical-align: -0.12em;
  margin: 0 2px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1124.14 1256.39'%3E%3Cpath d='M699.62,1113.02h0c-20.06,44.48-33.32,92.75-38.4,143.37l424.51-90.24c20.06-44.47,33.31-92.75,38.4-143.37l-424.51,90.24Z'/%3E%3Cpath d='M1085.73,895.8c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.33v-135.2l292.27-62.11c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.27V66.13c-50.67,28.45-95.67,66.32-132.25,110.99v403.35l-132.25,28.11V0c-50.67,28.44-95.67,66.32-132.25,110.99v525.69l-295.91,62.88c-20.06,44.47-33.33,92.75-38.42,143.37l334.33-71.05v170.26l-358.3,76.14c-20.06,44.47-33.32,92.75-38.4,143.37l375.04-79.7c30.53-6.35,56.77-24.4,73.83-49.24l68.78-101.97v-.02c7.14-10.55,11.3-23.27,11.3-36.97v-149.98l132.25-28.11v270.4l424.53-90.28Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1124.14 1256.39'%3E%3Cpath d='M699.62,1113.02h0c-20.06,44.48-33.32,92.75-38.4,143.37l424.51-90.24c20.06-44.47,33.31-92.75,38.4-143.37l-424.51,90.24Z'/%3E%3Cpath d='M1085.73,895.8c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.33v-135.2l292.27-62.11c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.27V66.13c-50.67,28.45-95.67,66.32-132.25,110.99v403.35l-132.25,28.11V0c-50.67,28.44-95.67,66.32-132.25,110.99v525.69l-295.91,62.88c-20.06,44.47-33.33,92.75-38.42,143.37l334.33-71.05v170.26l-358.3,76.14c-20.06,44.47-33.32,92.75-38.4,143.37l375.04-79.7c30.53-6.35,56.77-24.4,73.83-49.24l68.78-101.97v-.02c7.14-10.55,11.3-23.27,11.3-36.97v-149.98l132.25-28.11v270.4l424.53-90.28Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

html { scroll-behavior: smooth; -webkit-tap-highlight-color: transparent; }
/* Kill the default blue/grey tap-highlight square on mobile for all interactive elements */
*, *::before, *::after { -webkit-tap-highlight-color: transparent; }
a, button, label, input, select, textarea, [role="button"], [tabindex] { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; }

body {
  font-family: var(--font-ar);
  background: var(--c-bg);
  color: var(--c-text);
  direction: rtl;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  padding-top: 0;
  font-size: var(--fs-body);
  line-height: 1.618; /* φ */
  transition: background var(--t-base) var(--ease-out), color var(--t-base) var(--ease-out);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.site-main { flex: 1; }

/* Global heading font — Readex Pro for display hierarchy */
h1, h2, h3, .h1, .h2, .h3 {
  font-family: 'Readex Pro', var(--font-ar);
  letter-spacing: -0.01em;
}

[lang="en"] body { direction: ltr; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: var(--font-ar); cursor: pointer; border: none; background: none; }
ul { list-style: none; }

.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad-x);
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--c-border-2); border-radius: var(--r-xs); }
::-webkit-scrollbar-thumb:hover { background: var(--c-accent); }

/* Skip nav */
.skip-nav {
  position: absolute; top: -100px; left: 0;
  background: var(--c-accent); color: #fff;
  padding: var(--sp-xs) var(--sp-md);
  z-index: 9999; border-radius: 0 0 var(--r-sm) 0;
  transition: top var(--t-fast);
}
.skip-nav:focus { top: 0; }

/* ═══════════════════════════════════════════════
   BUTTONS — Optical Balance (P_icon = P_text - gap)
   ═══════════════════════════════════════════════ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-xs);
  font-family: var(--font-ar);
  font-weight: 700;
  font-size: var(--fs-sm);
  border: 1.5px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: all var(--t-base) var(--ease-out);
  white-space: nowrap;
  padding: var(--sp-sm) var(--sp-md);
}
.btn svg { flex-shrink: 0; }
.btn-primary {
  background: linear-gradient(135deg, var(--c-accent), var(--c-accent-h));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 2px 8px rgba(99,17,185,.2);
}
.btn-primary:hover {
  box-shadow: 0 4px 20px rgba(99,17,185,.35);
  transform: translateY(-2px);
  filter: brightness(1.08);
}
.btn-secondary {
  background: var(--c-surface);
  color: var(--c-text);
  border-color: var(--c-border);
}
.btn-secondary:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.btn-outline {
  background: transparent;
  border: 2px solid var(--c-border);
  color: var(--c-text);
}
.btn-outline:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.btn-lg {
  font-size: var(--fs-body);
  padding: var(--sp-md) var(--sp-lg);
  border-radius: var(--r-lg);
}

/* Toggle Buttons */
.toggle-btn {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: transparent;
  border: 1.5px solid var(--c-border);
  color: var(--c-muted);
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: all var(--t-base) var(--ease-out);
}
.toggle-btn:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
  background: var(--c-accent-soft);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════
   SITE HEADER — Sticky, Frosted Glass
   ═══════════════════════════════════════════════ */
.admin-bar .site-header {
  top: 32px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              opacity .35s cubic-bezier(.22,1,.36,1);
}
.site-header.nav-hidden {
  transform: translateY(-100%);
  opacity: 0;
}
.site-header.scrolled:not(.nav-hidden) .navbar-island-wrap {
  padding: 6px 24px 0;
}
.site-header.scrolled:not(.nav-hidden) .navbar-island {
  height: 46px;
  border-radius: 13px;
  gap: 10px;
  padding: 0 16px;
  box-shadow: 0 2px 20px rgba(0,0,0,.5);
}
.site-header.scrolled:not(.nav-hidden) .navbar-logo {
  font-size: 17px !important;
}
.site-header.scrolled:not(.nav-hidden) .navbar-divider {
  height: 18px;
}
.site-header.scrolled:not(.nav-hidden) .navbar-links {
  gap: 16px;
}
.site-header.scrolled:not(.nav-hidden) .navbar-links a {
  font-size: 12px;
}
.site-header.scrolled:not(.nav-hidden) .navbar-search-pill {
  padding: 5px 12px;
  font-size: 12px;
}
.site-header.scrolled:not(.nav-hidden) .navbar-maintenance-btn {
  padding: 6px 12px 6px 8px;
  font-size: 11px;
  border-radius: 8px;
}
.site-header.scrolled:not(.nav-hidden) .navbar-icon-btn {
  width: 32px;
  height: 32px;
}
.site-header.scrolled:not(.nav-hidden) .navbar-icon-btn svg {
  width: 16px;
  height: 16px;
}

/* Announcement Bar */
.announcement-bar-v2 {
  background: linear-gradient(90deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  color: rgba(255,255,255,.9);
  font-size: var(--fs-xs);
  font-weight: 500;
  text-align: center;
  position: relative;
  height: 36px;
  overflow: hidden;
  letter-spacing: .3px;
  transition: height var(--t-base) var(--ease-out), opacity var(--t-base);
}
.announcement-bar-v2.collapsed { height: 0; opacity: 0; pointer-events: none; }
.ann-slide {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity var(--t-slow) var(--ease-out);
  padding: 0 var(--sp-xl);
}
.ann-slide.active { opacity: 1; }
.ann-slide a { text-decoration: underline; text-underline-offset: 2px; }
.ann-code {
  background: rgba(99,17,185,.25);
  border: 1px solid rgba(99,17,185,.3);
  padding: 1px 6px;
  border-radius: 4px;
  font-family: var(--font-en);
  font-weight: 700;
  letter-spacing: .5px;
}
.ann-close {
  position: absolute;
  right: var(--sp-sm);
  top: 50%;
  transform: translateY(-50%);
  background: none;
  color: rgba(255,255,255,.35);
  font-size: var(--fs-lg);
  cursor: pointer;
  transition: color var(--t-fast);
  line-height: 1;
}
.ann-close:hover { color: #fff; }

/* Floating Island Navbar */
.navbar-island-wrap {
  padding: 12px 24px 0;
  transition: padding .35s cubic-bezier(.22,1,.36,1);
}
.navbar-island {
  display: flex;
  align-items: center;
  padding: 0 20px;
  height: 56px;
  background: var(--navbar-bg);
  backdrop-filter: blur(24px) saturate(200%);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  max-width: 1200px;
  margin: 0 auto;
  gap: 14px;
  box-shadow: 0 4px 32px rgba(0,0,0,.4), 0 0 0 1px rgba(99,17,185,.04);
  transition: height .25s ease, border-radius .25s ease, padding .25s ease, box-shadow .25s ease;
}

/* Logo */
.navbar-island .navbar-logo,
a.navbar-logo,
a.navbar-logo:visited,
a.navbar-logo:link {
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: var(--c-accent) !important;
  flex-shrink: 0;
  transition: opacity var(--t-fast);
  text-decoration: none;
  text-transform: uppercase;
}
.navbar-logo:hover { opacity: .7; }
.navbar-island .navbar-logo-dot {
  display: none;
}
.navbar-logo img { height: 32px; width: auto; }

/* Divider */
.navbar-divider {
  width: 1px;
  height: 24px;
  background: rgba(255,255,255,.08);
  flex-shrink: 0;
}

/* Nav Links */
.navbar-links {
  display: flex;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.navbar-links a {
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: color var(--t-fast);
  white-space: nowrap;
}
.navbar-links a:hover { color: var(--c-text); }
.navbar-links li.current-menu-item a,
.navbar-links a.active { color: var(--c-text); }

/* Spacer */
.navbar-spacer { flex: 1; }

/* Search Pill */
.navbar-search-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 100px;
  color: var(--c-muted-2);
  font-size: 13px;
  cursor: pointer;
  transition: all var(--t-fast);
  white-space: nowrap;
  flex-shrink: 0;
}
.navbar-search-pill:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
  color: var(--c-muted);
}
.navbar-search-pill svg {
  flex-shrink: 0;
  opacity: .6;
}

/* Search Overlay */
.navbar-search-overlay {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(8px);
  padding: 120px 24px 24px;
  animation: searchFadeIn .2s var(--ease-out);
}
.navbar-search-overlay form {
  max-width: 600px;
  margin: 0 auto;
  position: relative;
}
.navbar-search-overlay input {
  width: 100%;
  height: 56px;
  padding: 0 24px;
  background: var(--c-surface-2);
  border: 2px solid rgba(99,17,185,.3);
  border-radius: 16px;
  font-family: var(--font-ar);
  font-size: 16px;
  color: var(--c-text);
  outline: none;
  box-shadow: 0 8px 32px rgba(0,0,0,.4), 0 0 0 1px rgba(99,17,185,.1);
  transition: border-color var(--t-fast);
}
.navbar-search-overlay input:focus {
  border-color: var(--c-accent);
  box-shadow: 0 8px 32px rgba(0,0,0,.4), 0 0 20px rgba(99,17,185,.15);
}
.navbar-search-overlay input::placeholder {
  color: var(--c-muted-2);
  font-size: 15px;
}
@keyframes searchFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Navbar Actions */
.navbar-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.navbar-icon-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--c-muted);
  transition: all var(--t-fast);
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
}
.navbar-icon-btn:hover {
  color: var(--c-accent);
  background: var(--c-accent-soft);
}
.navbar-cart-count {
  position: absolute;
  top: 2px;
  left: 2px;
  min-width: 16px;
  height: 16px;
  background: var(--c-accent);
  color: #fff;
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 700;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(99,17,185,.3);
}

/* Maintenance CTA */
.navbar-maintenance-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px 8px 10px;
  background: linear-gradient(135deg, var(--c-accent), var(--c-accent-h));
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font-ar);
  cursor: pointer;
  transition: all var(--t-fast);
  box-shadow: 0 2px 8px rgba(99,17,185,.2);
  white-space: nowrap;
  flex-shrink: 0;
}
.navbar-maintenance-btn:hover {
  box-shadow: 0 4px 16px rgba(99,17,185,.35);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════
   HERO — Cinematic, Premium Depth
   ═══════════════════════════════════════════════ */
.hero-section {
  padding: var(--sp-sm) var(--sp-lg) var(--sp-md);
}

.hero-grid {
  max-width: 1400px;
  margin: 0 auto;
}

.hero-main-card {
  position: relative;
  min-height: 460px;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(140deg, #0c0c1d 0%, #141432 35%, #1a1040 65%, #0d0d26 100%);
  color: #fff;
  box-shadow: 0 8px 40px rgba(0,0,0,.15), 0 0 0 1px rgba(99,17,185,.08);
}
/* Ambient glow orbs */
.hero-main-card::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(99,17,185,.15) 0%, transparent 60%);
  top: -150px;
  right: -100px;
  pointer-events: none;
  animation: hero-glow-drift 8s ease-in-out infinite alternate;
}
.hero-main-card::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(99,102,241,.1) 0%, transparent 60%);
  bottom: -120px;
  left: -80px;
  pointer-events: none;
  animation: hero-glow-drift 10s ease-in-out infinite alternate-reverse;
}
@keyframes hero-glow-drift {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(30px, -20px) scale(1.15); }
}
/* Subtle noise overlay */
.hero-main-card > .hero-slide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: 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.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}

.hero-slide {
  position: absolute; inset: 0;
  padding: var(--sp-xl) var(--sp-2xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .6s var(--ease-out), transform .6s var(--ease-out);
  pointer-events: none;
  z-index: 1;
}
.hero-slide.active { opacity: 1; transform: translateY(0); pointer-events: auto; }

.hero-slide .tag {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-xs);
  background: rgba(99,17,185,.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(99,17,185,.2);
  padding: 5px 14px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  width: fit-content;
  margin-bottom: var(--sp-lg);
  letter-spacing: .3px;
  color: rgba(255,255,255,.9);
}
.tag-dot {
  width: 6px;
  height: 6px;
  background: var(--c-accent);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(99,17,185,.5);
  animation: pulse-dot 2s ease infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.85); }
}

.hero-slide h2 {
  font-size: clamp(28px, 4.5vw, 48px);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: var(--sp-sm);
  max-width: 600px;
  letter-spacing: -.3px;
}
.hero-slide h2 span {
  background: linear-gradient(135deg, var(--c-accent), #c4b5fd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-desc {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.55);
  max-width: 460px;
  margin-bottom: var(--sp-lg);
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-lg);
  flex-wrap: wrap;
}
.hero-actions .btn-primary {
  border-radius: 12px;
  padding: 14px 28px;
  font-size: 15px;
  box-shadow: 0 4px 16px rgba(99,17,185,.25);
}
.hero-actions .btn-primary:hover {
  box-shadow: 0 6px 24px rgba(99,17,185,.4);
}
.hero-actions .btn-outline {
  border-radius: 12px;
  padding: 14px 24px;
  font-size: 15px;
  border-color: rgba(255,255,255,.15) !important;
  color: rgba(255,255,255,.8) !important;
}
.hero-actions .btn-outline:hover {
  border-color: rgba(255,255,255,.3) !important;
  background: rgba(255,255,255,.06);
}

.hero-features {
  display: flex;
  gap: var(--sp-md);
  flex-wrap: wrap;
}
.hero-feature {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: rgba(255,255,255,.45);
}
.hero-feature .check {
  color: #4ade80;
  font-weight: 700;
  font-size: 13px;
}

/* Progress dots */
.hero-dots {
  position: absolute;
  bottom: var(--sp-md);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
}
.hero-dot {
  width: 6px;
  height: 6px;
  border-radius: 100px;
  background: rgba(255,255,255,.2);
  cursor: pointer;
  transition: all var(--t-base) var(--ease-spring);
  border: none;
  padding: 0;
}
.hero-dot:hover { background: rgba(255,255,255,.4); }
.hero-dot.active {
  background: var(--c-accent);
  width: 28px;
  box-shadow: 0 0 8px rgba(99,17,185,.4);
}

/* ═══════════════════════════════════════════════
   CATEGORY NAV — Modern Pill Cards
   ═══════════════════════════════════════════════ */
.cat-nav-section {
  padding: 18px 0;
}
.cat-nav-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.cat-nav-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  min-height: 140px;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  transition: border-color .25s var(--ease-out), transform .25s var(--ease-out);
}
.cat-nav-item:hover {
  border-color: var(--c-accent);
  transform: translateY(-2px);
}
.cat-nav-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  color: var(--c-text-2);
  transition: color .25s var(--ease-out), background .25s var(--ease-out), border-color .25s var(--ease-out);
}
.cat-nav-icon svg { width: 20px; height: 20px; stroke: currentColor; }
.cat-nav-item:hover .cat-nav-icon {
  color: var(--c-accent);
  background: rgba(99,17,185,.08);
  border-color: rgba(99,17,185,.30);
}
.cat-nav-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cat-nav-label {
  font-size: 16px;
  font-weight: 800;
  color: var(--c-text);
  line-height: 1.3;
}
.cat-nav-desc {
  font-size: 12px;
  font-weight: 500;
  color: var(--c-text-3);
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════
   SECTIONS — Headers, Spacing
   ═══════════════════════════════════════════════ */
.section {
  padding: 18px 0;
}
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--sp-lg);
  gap: var(--sp-md);
}
.section-eyebrow {
  font-size: 11px;
  font-weight: 800;
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: var(--sp-2xs);
  font-family: var(--font-en);
}
.section-title {
  font-size: var(--fs-sub);
  font-weight: 800;
  color: var(--c-text);
  line-height: 1.3;
}
.section-link {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2xs);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-muted);
  white-space: nowrap;
  transition: color var(--t-fast);
}
.section-link:hover { color: var(--c-accent); }
.section-link svg { transition: transform var(--t-base) var(--ease-spring); }
.section-link:hover svg { transform: translateX(-3px); }

/* ═══════════════════════════════════════════════
   PRODUCT CARDS — φ Spacing, Refined
   ═══════════════════════════════════════════════ */
.products-scroll {
  display: flex;
  gap: var(--sp-md);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: var(--sp-sm);
  scrollbar-width: none;
}
.products-scroll::-webkit-scrollbar { display: none; }

.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--sp-md);
}

.product-card {
  flex: 0 0 230px;
  scroll-snap-align: start;
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all var(--t-base) var(--ease-out);
}
.product-card:hover {
  border-color: rgba(99,17,185,.2);
  box-shadow: 0 8px 32px rgba(99,17,185,.08), var(--shadow-md);
  transform: translateY(-4px);
}

.product-card-img {
  position: relative;
  aspect-ratio: 1;
  background: var(--c-surface-2);
  overflow: hidden;
}
.product-card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--sp-md);
  transition: transform var(--t-slow) var(--ease-out);
}
.product-card:hover .product-card-img img { transform: scale(1.05); }

.product-badge {
  position: absolute;
  top: var(--sp-sm);
  right: var(--sp-sm);
  display: flex;
  gap: var(--sp-2xs);
}
.badge {
  font-size: 11px;
  font-weight: 700;
  padding: var(--sp-3xs) var(--sp-xs);
  border-radius: var(--r-xs);
  line-height: 1;
}
.badge-hot { background: var(--c-accent); color: #fff; }
.badge-sale { background: var(--c-success); color: #fff; }
.badge-new { background: #007AFF; color: #fff; }


.product-card-body {
  padding: var(--sp-sm) var(--sp-md);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--sp-2xs);
}
.product-brand {
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 600;
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: .5px;
}
.product-name {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-price-block { margin-top: auto; }
.price-main-line {
  display: flex;
  align-items: baseline;
  gap: var(--sp-2xs);
  flex-wrap: wrap;
}
.price-current {
  font-family: var(--font-en);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--c-accent);
}
.price-sar { color: var(--c-accent); font-size: var(--fs-xs); }
.price-original {
  font-family: var(--font-en);
  font-size: var(--fs-xs);
  color: var(--c-muted-2);
  text-decoration: line-through;
}
.price-save-pct {
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 700;
  color: var(--c-success);
  background: rgba(52,199,89,.08);
  padding: 1px var(--sp-2xs);
  border-radius: var(--r-xs);
}
.price-installment {
  font-size: 11px;
  color: var(--c-muted);
  margin-top: var(--sp-3xs);
  background: var(--c-surface-2);
  padding: var(--sp-3xs) var(--sp-xs);
  border-radius: var(--r-xs);
  display: inline-block;
}

.product-rating {
  display: flex;
  align-items: center;
  gap: var(--sp-2xs);
  margin-top: var(--sp-2xs);
}
.stars { color: #FFB800; font-size: var(--fs-xs); letter-spacing: 1px; }
.rating-count { font-size: 11px; color: var(--c-muted-2); font-family: var(--font-en); }

.product-card-footer {
  padding: var(--sp-xs) var(--sp-md) var(--sp-sm);
  border-top: 1px solid var(--c-border);
}
.btn-add-cart {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-xs);
  padding: 10px var(--sp-sm);
  background: var(--c-surface-2);
  border: 1.5px solid var(--c-border);
  border-radius: 10px;
  font-family: var(--font-ar);
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--c-text-2);
  cursor: pointer;
  transition: all var(--t-base) var(--ease-out);
}
.btn-add-cart:hover {
  background: linear-gradient(135deg, var(--c-accent), var(--c-accent-h));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 16px rgba(99,17,185,.2);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════
   BUNDLES — φ Grid
   ═══════════════════════════════════════════════ */
.bundles-section {
  padding: 18px 0;
}
.bundles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
}
.bundle-card {
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: 20px;
  padding: var(--sp-lg);
  text-align: center;
  transition: all var(--t-base) var(--ease-out);
  position: relative;
  overflow: hidden;
}
.bundle-card::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 160px;
  height: 160px;
  background: radial-gradient(circle, var(--c-accent-soft) 0%, transparent 70%);
  pointer-events: none;
}
.bundle-card:hover {
  border-color: rgba(99,17,185,.25);
  box-shadow: 0 8px 32px rgba(99,17,185,.08);
  transform: translateY(-4px);
}
.bundle-images {
  display: flex;
  justify-content: center;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-md);
}
.bundle-img {
  width: var(--sp-xl);
  height: var(--sp-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-surface-2);
  border-radius: var(--r-md);
  font-size: var(--fs-sub);
}
.bundle-name {
  font-size: var(--fs-lg);
  font-weight: 800;
  margin-bottom: var(--sp-sm);
}
.bundle-pricing {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-2xs);
  margin-bottom: var(--sp-md);
}
.bundle-old-price {
  font-family: var(--font-en);
  font-size: var(--fs-sm);
  color: var(--c-muted-2);
  text-decoration: line-through;
}
.bundle-price {
  font-family: var(--font-en);
  font-size: var(--fs-sub);
  font-weight: 800;
  color: var(--c-accent);
}
.bundle-save-badge {
  background: var(--c-accent-soft);
  color: var(--c-accent);
  font-size: var(--fs-xs);
  font-weight: 700;
  padding: var(--sp-3xs) var(--sp-sm);
  border-radius: var(--r-lg);
}
.btn-bundle { width: 100%; }

/* ═══════════════════════════════════════════════
   MAINTENANCE — φ 61.8/38.2 Layout
   ═══════════════════════════════════════════════ */
.maintenance-section {
  padding: 18px 0;
}
.maintenance-card {
  background: linear-gradient(140deg, #0c0c1d 0%, #141432 40%, #1a1040 70%, #0d0d26 100%);
  border-radius: var(--r-xl);
  padding: var(--sp-xl);
  color: #fff;
  display: grid;
  grid-template-columns: 1.618fr 1fr; /* φ ratio */
  gap: var(--sp-xl);
  align-items: center;
  overflow: hidden;
  position: relative;
}
.maintenance-card::after {
  content: '';
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, var(--c-accent-glow) 0%, transparent 70%);
  top: -100px;
  left: -100px;
  pointer-events: none;
}
.maintenance-eyebrow {
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--c-accent);
  margin-bottom: var(--sp-xs);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.maintenance-title {
  font-size: clamp(var(--fs-sub), 3vw, var(--fs-heading));
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: var(--sp-sm);
}
.maintenance-title span { color: var(--c-accent); }
.maintenance-desc {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.7);
  line-height: 1.7;
  margin-bottom: var(--sp-md);
  max-width: 480px;
}
.maintenance-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-lg);
}
.maintenance-feature {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.85);
}
.mf-icon {
  width: var(--sp-lg);
  height: var(--sp-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-sm);
  font-size: var(--fs-body);
  flex-shrink: 0;
}

.maintenance-visual {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
}
.maintenance-step {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  padding: var(--sp-sm);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-md);
  transition: all var(--t-base) var(--ease-out);
}
.maintenance-step:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
  transform: translateX(-3px);
}
.step-num {
  width: var(--sp-lg);
  height: var(--sp-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-accent);
  color: #fff;
  font-family: var(--font-en);
  font-size: var(--fs-sm);
  font-weight: 700;
  border-radius: var(--r-sm);
  flex-shrink: 0;
}
.step-text {
  font-size: var(--fs-sm);
  font-weight: 700;
}
.step-sub {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,.5);
  margin-top: 2px;
}

/* ═══════════════════════════════════════════════
   FLASH SALE
   ═══════════════════════════════════════════════ */
.flash-sale-section {
  padding: 18px 0;
}
.flash-sale-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--sp-lg);
  gap: var(--sp-md);
}
.flash-countdown {
  display: flex;
  align-items: center;
  gap: var(--sp-2xs);
}
.countdown-box {
  font-family: var(--font-en);
  font-size: var(--fs-lg);
  font-weight: 800;
  background: linear-gradient(140deg, #0c0c1d, #1a1040);
  color: #fff;
  padding: var(--sp-xs) var(--sp-sm);
  border-radius: 10px;
  min-width: 44px;
  text-align: center;
  border: 1px solid rgba(99,17,185,.15);
  letter-spacing: 1px;
}
[data-theme="dark"] .countdown-box {
  background: var(--c-surface-2);
  border: 1px solid var(--c-border);
}
.countdown-sep {
  font-family: var(--font-en);
  font-weight: 700;
  color: var(--c-muted);
  font-size: var(--fs-lg);
}

.flash-sale-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: var(--sp-md);
  padding: var(--sp-md);
  background: linear-gradient(135deg, var(--c-accent-soft), rgba(99,17,185,.02));
  border: 1px solid var(--c-accent-soft);
  border-radius: var(--r-xl);
}
/* Unify card heights inside flash-sale grid — both digital & physical cards
   fill the same cell height regardless of their intrinsic aspect ratios */
.flash-sale-grid .pc-card,
.flash-sale-grid .pc-sub-card {
  height: 100%;
}
.flash-sale-grid .pc-sub-card {
  aspect-ratio: auto;
  min-height: 340px;
}

/* ═══════════════════════════════════════════════
   REVIEWS — Marquee with mask-image fade
   ═══════════════════════════════════════════════ */
.reviews-section {
  padding: 18px 0;
  overflow: hidden;
}
.reviews-scroll-wrapper {
  -webkit-mask-image: linear-gradient(to left, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to left, transparent, #000 8%, #000 92%, transparent);
}
.reviews-scroll {
  display: flex;
  gap: var(--sp-md);
  padding: var(--sp-sm) var(--sp-lg);
  animation: scroll-reviews 60s linear infinite;
  width: max-content;
}
.reviews-scroll:hover { animation-play-state: paused; }

@keyframes scroll-reviews {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.review-card {
  flex: 0 0 300px;
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: 16px;
  padding: var(--sp-lg) var(--sp-md);
  display: flex;
  flex-direction: column;
  gap: var(--sp-xs);
  transition: border-color var(--t-base);
}
.review-card:hover {
  border-color: rgba(99,17,185,.15);
}
.review-stars {
  color: #FFB800;
  font-size: var(--fs-sm);
  letter-spacing: 2px;
}
.review-text {
  font-size: var(--fs-sm);
  color: var(--c-text-2);
  line-height: 1.618;
  flex: 1;
}
.review-author {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-text);
}
.review-verified {
  font-size: 11px;
  color: var(--c-success);
  font-weight: 600;
}

/* ═══════════════════════════════════════════════
   TRUST STATS — φ Grid
   ═══════════════════════════════════════════════ */
.trust-stats-section {
  padding: 18px 0;
}
.trust-stats-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-md);
}
.trust-stat-card {
  text-align: center;
  padding: var(--sp-lg) var(--sp-md);
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: 16px;
  transition: all var(--t-base) var(--ease-out);
}
.trust-stat-card:hover {
  border-color: rgba(99,17,185,.2);
  box-shadow: 0 6px 24px rgba(99,17,185,.06);
  transform: translateY(-3px);
}
.trust-stat-icon {
  font-size: var(--fs-sub);
  margin-bottom: var(--sp-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--sp-xl);
  height: var(--sp-xl);
  background: var(--c-accent-soft);
  border-radius: var(--r-md);
  margin-inline: auto;
}
.trust-stat-number {
  font-family: var(--font-en);
  font-size: var(--fs-sub);
  font-weight: 800;
  color: var(--c-accent);
  margin-bottom: var(--sp-2xs);
}
.trust-stat-title {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: var(--sp-3xs);
}
.trust-stat-desc {
  font-size: var(--fs-xs);
  color: var(--c-muted);
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════
   INSTALLMENT — tabby & tamara
   ═══════════════════════════════════════════════ */
.installment-section {
  padding: 18px 0 var(--s-8);
}
.installment-card {
  text-align: center;
  padding: var(--sp-xl) var(--sp-lg);
  background: linear-gradient(140deg, #0c0c1d 0%, #141432 40%, #1a1040 100%);
  border: 1px solid rgba(99,17,185,.15);
  border-radius: 24px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.installment-card::before {
  content: '';
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(99,17,185,.1) 0%, transparent 60%);
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.installment-title {
  font-size: var(--fs-sub);
  font-weight: 800;
  margin-bottom: var(--sp-xs);
}
.installment-sub {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.55);
  margin-bottom: var(--sp-lg);
  max-width: 500px;
  margin-inline: auto;
}
.installment-logos {
  display: flex;
  justify-content: center;
  gap: var(--sp-md);
  margin-bottom: var(--sp-lg);
}
.installment-logo {
  padding: var(--sp-sm) var(--sp-lg);
  border-radius: var(--r-md);
  font-family: var(--font-en);
  font-size: var(--fs-lg);
  font-weight: 700;
  border: 2px solid var(--c-border);
  transition: transform var(--t-base) var(--ease-spring);
}
.installment-logo:hover { transform: scale(1.05); }
.installment-benefits {
  display: flex;
  justify-content: center;
  gap: var(--sp-lg);
}
.installment-benefit {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.75);
  display: flex;
  align-items: center;
  gap: var(--sp-2xs);
}
.installment-benefit .check,
.check { color: var(--c-success); font-weight: 700; }

/* ═══════════════════════════════════════════════
   WHATSAPP FLOAT
   ═══════════════════════════════════════════════ */
.whatsapp-float {
  position: fixed;
  bottom: var(--sp-lg);
  right: var(--sp-lg);
  width: var(--sp-xl);
  height: var(--sp-xl);
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37,211,102,.3);
  z-index: 999;
  transition: all var(--t-base) var(--ease-spring);
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 24px rgba(37,211,102,.4);
}
.whatsapp-float svg { width: 28px; height: 28px; fill: #fff; }

/* ═══════════════════════════════════════════════
   SCROLL REVEAL & PAGE LOAD ANIMATIONS
   ═══════════════════════════════════════════════ */
.will-reveal {
  opacity: 0;
  transform: translateY(16px);
}
.will-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Page load stagger */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-section { animation: fade-up .6s var(--ease-out) both; }
.cat-nav-section { animation: fade-up .6s var(--ease-out) .1s both; }
.section:nth-of-type(1) { animation: fade-up .6s var(--ease-out) .15s both; }

/* Subtle body noise for depth */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: .015;
  background: 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)'/%3E%3C/svg%3E");
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — Mobile First
   ═══════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════
   SKELETON / LOADING
   ═══════════════════════════════════════════════ */
.skeleton-card { pointer-events: none; }
.skeleton {
  background: linear-gradient(90deg, var(--c-surface-2) 25%, var(--c-surface-3) 50%, var(--c-surface-2) 75%);
  background-size: 200% 100%;
  animation: skeleton-pulse 1.5s ease-in-out infinite;
  border-radius: var(--r-sm);
}
.skeleton-img { aspect-ratio: 1; }
.skeleton-title { height: 18px; width: 80%; margin-bottom: var(--sp-xs); }
.skeleton-text { height: 14px; width: 60%; margin-bottom: var(--sp-2xs); }
.skeleton-price { height: 20px; width: 40%; }
.skeleton-btn { height: 38px; margin: var(--sp-xs) var(--sp-sm) var(--sp-sm); border-radius: var(--r-sm); }
@keyframes skeleton-pulse {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ═══════════════════════════════════════════════
   MAINTENANCE BOOKING PAGE
   ═══════════════════════════════════════════════ */
.maint-hero {
  padding: var(--sp-xl) 0;
  background: linear-gradient(140deg, #0c0c1d 0%, #141432 40%, #1a1040 70%, #0d0d26 100%);
  color: #fff;
}
.maint-hero-inner {
  display: grid;
  grid-template-columns: 1.618fr 1fr; /* φ ratio */
  gap: var(--sp-xl);
  align-items: center;
}
.maint-hero-title {
  font-size: clamp(var(--fs-sub), 4vw, var(--fs-heading));
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: var(--sp-sm);
}
.maint-hero-title span { color: var(--c-accent); }
.maint-hero-desc {
  font-size: var(--fs-body);
  color: rgba(255,255,255,.7);
  line-height: 1.618;
  margin-bottom: var(--sp-md);
  max-width: 520px;
}
.maint-hero-badges {
  display: flex;
  gap: var(--sp-xs);
  flex-wrap: wrap;
}
.maint-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2xs);
  padding: var(--sp-2xs) var(--sp-sm);
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-lg);
  font-size: var(--fs-xs);
  font-weight: 700;
  backdrop-filter: blur(8px);
}
.maint-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-sm);
}
.maint-stat {
  text-align: center;
  padding: var(--sp-md);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-lg);
}
.maint-stat-num {
  font-family: var(--font-en);
  font-size: var(--fs-sub);
  font-weight: 800;
  color: var(--c-accent);
  margin-bottom: var(--sp-3xs);
}
.maint-stat-label {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,.6);
}

/* Maintenance Steps */
.maint-steps-section { padding: var(--sp-xl) 0; }
.maint-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-md);
}
.maint-step-card {
  position: relative;
  text-align: center;
  padding: var(--sp-lg) var(--sp-md);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  transition: all var(--t-base) var(--ease-out);
}
.maint-step-card:hover {
  border-color: var(--c-accent);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.maint-step-num {
  position: absolute;
  top: calc(-1 * var(--sp-sm));
  right: var(--sp-md);
  width: var(--sp-lg);
  height: var(--sp-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-accent);
  color: #fff;
  font-family: var(--font-en);
  font-size: var(--fs-sm);
  font-weight: 700;
  border-radius: var(--r-sm);
}
.maint-step-icon {
  width: var(--sp-xl);
  height: var(--sp-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-accent-soft);
  border-radius: var(--r-md);
  margin: 0 auto var(--sp-sm);
  color: var(--c-accent);
}
.maint-step-title {
  font-size: var(--fs-body);
  font-weight: 700;
  margin-bottom: var(--sp-2xs);
}
.maint-step-desc {
  font-size: var(--fs-xs);
  color: var(--c-muted);
  line-height: 1.618;
}

/* Maintenance Services */
.maint-services-section { padding: var(--sp-xl) 0; }
.maint-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
}
.maint-service-card {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
  padding: var(--sp-md);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  transition: all var(--t-base) var(--ease-out);
}
.maint-service-card:hover {
  border-color: var(--c-accent);
  box-shadow: var(--shadow-sm);
  transform: translateX(-3px);
}
.maint-service-icon {
  width: var(--sp-xl);
  height: var(--sp-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-accent-soft);
  border-radius: var(--r-md);
  color: var(--c-accent);
  flex-shrink: 0;
}
.maint-service-name {
  font-size: var(--fs-body);
  font-weight: 700;
}
.maint-service-price {
  font-size: var(--fs-xs);
  color: var(--c-accent);
  font-weight: 700;
  margin-top: var(--sp-3xs);
}

/* Booking Form */
.maint-form-section { padding: var(--sp-xl) 0 var(--sp-2xl); }
.maint-form-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--sp-xl);
}
.maint-form-header { text-align: center; margin-bottom: var(--sp-lg); }
.maint-form-sub {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  margin-top: var(--sp-xs);
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  margin-bottom: var(--sp-lg);
}
.form-group-full { grid-column: 1 / -1; }
.form-group label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 700;
  margin-bottom: var(--sp-xs);
  color: var(--c-text);
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: var(--sp-sm) var(--sp-md);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  font-family: var(--font-ar);
  font-size: var(--fs-sm);
  color: var(--c-text);
  transition: all var(--t-base) var(--ease-out);
  outline: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px var(--c-accent-soft);
  background: var(--c-surface);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--c-muted-2); }
.form-group textarea { resize: vertical; min-height: 89px; }
.form-group select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236E6E78' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left var(--sp-sm) center;
  padding-left: var(--sp-lg);
}
.maint-submit-btn { width: 100%; font-size: var(--fs-body); }
.maint-form-note {
  text-align: center;
  font-size: var(--fs-xs);
  color: var(--c-muted);
  margin-top: var(--sp-sm);
}

/* FAQ */
.maint-faq-section { padding: var(--sp-xl) 0; }
.maint-faq-grid {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  max-width: 800px;
}
.maint-faq-item {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color var(--t-base);
}
.maint-faq-item[open] { border-color: var(--c-accent); }
.maint-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-md);
  font-size: var(--fs-body);
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.maint-faq-q::-webkit-details-marker { display: none; }
.faq-chevron {
  color: var(--c-muted);
  transition: transform var(--t-base) var(--ease-out);
  flex-shrink: 0;
}
.maint-faq-item[open] .faq-chevron { transform: rotate(180deg); }
.maint-faq-a {
  padding: 0 var(--sp-md) var(--sp-md);
  font-size: var(--fs-sm);
  color: var(--c-muted);
  line-height: 1.618;
}

/* ═══════════════════════════════════════════════
   SEARCH PAGE
   ═══════════════════════════════════════════════ */
.search-section { padding: var(--sp-xl) 0 var(--sp-2xl); }
.search-header { margin-bottom: var(--sp-lg); }
.search-page-title {
  font-size: var(--fs-sub);
  font-weight: 800;
}
.search-query { color: var(--c-accent); }
.search-count {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  margin-top: var(--sp-2xs);
}
.search-form-wrap { margin-bottom: var(--sp-xl); }
.search-page-form {
  display: flex;
  gap: var(--sp-sm);
  max-width: 600px;
}
.search-page-form input[type="text"] {
  flex: 1;
  height: 50px;
  padding: 0 var(--sp-md);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  font-family: var(--font-ar);
  font-size: var(--fs-sm);
  color: var(--c-text);
  outline: none;
  transition: all var(--t-base) var(--ease-out);
}
.search-page-form input:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px var(--c-accent-soft);
}
.search-page-form .btn { height: 50px; }

/* Search Results */
.search-results-grid { margin-bottom: var(--sp-xl); }
.search-results-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-xl);
}
.search-result-item {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
  padding: var(--sp-md);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  transition: all var(--t-base) var(--ease-out);
}
.search-result-item:hover {
  border-color: var(--c-accent);
  box-shadow: var(--shadow-sm);
  transform: translateX(-3px);
}
.search-result-thumb {
  width: 80px;
  height: 80px;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-surface-2);
  flex-shrink: 0;
}
.search-result-thumb img { width: 100%; height: 100%; object-fit: cover; }
.search-result-content { flex: 1; }
.search-result-type {
  font-size: 11px;
  font-weight: 700;
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: var(--sp-3xs);
}
.search-result-title {
  font-size: var(--fs-body);
  font-weight: 700;
  margin-bottom: var(--sp-3xs);
}
.search-result-excerpt {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  line-height: 1.5;
}
.search-result-arrow {
  color: var(--c-muted-2);
  flex-shrink: 0;
  transition: color var(--t-fast);
}
.search-result-item:hover .search-result-arrow { color: var(--c-accent); }

/* Search No Results */
.search-no-results {
  text-align: center;
  padding: var(--sp-2xl) 0;
}
.search-empty-icon {
  color: var(--c-muted-2);
  margin-bottom: var(--sp-md);
}
.search-no-results h2 {
  font-size: var(--fs-sub);
  font-weight: 800;
  margin-bottom: var(--sp-xs);
}
.search-no-results p {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  margin-bottom: var(--sp-lg);
}
.search-suggestions { display: flex; gap: var(--sp-sm); justify-content: center; }

/* Pagination */
.search-pagination,
.shop-pagination {
  margin-top: var(--sp-xl);
  display: flex;
  justify-content: center;
}
.search-pagination .nav-links,
.shop-pagination .nav-links {
  display: flex;
  gap: var(--sp-2xs);
}
.search-pagination .page-numbers,
.shop-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 var(--sp-sm);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  font-family: var(--font-en);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-text);
  transition: all var(--t-base) var(--ease-out);
}
.search-pagination .page-numbers:hover,
.shop-pagination .page-numbers:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.search-pagination .page-numbers.current,
.shop-pagination .page-numbers.current {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: #fff;
}

/* ═══════════════════════════════════════════════
   SHOP / ARCHIVE PAGE
   ═══════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════
   OMX SHOP — Hybrid Saudi (Shop E)
   ═══════════════════════════════════════════════ */
.omx-shop{min-height:80vh;padding-bottom:60px}

.omx-shop-head{padding:20px 0 8px}
.omx-shop-crumb{font-size:12px;color:rgba(255,255,255,.5);margin-bottom:10px}
.omx-shop-crumb a{color:var(--p-c-brand-2,#A78BFA);text-decoration:none}
.omx-shop-crumb a:hover{color:#fff}
.omx-shop-crumb span{color:#fff}

.omx-shop-title-row{
  display:flex;flex-direction:column;align-items:stretch;
  padding-bottom:14px;margin-bottom:14px;gap:10px;
}
.omx-shop-controls{align-self:flex-start}
.omx-shop-title{
  font-family:"Inter",var(--p-f-display);
  font-size:32px;font-weight:800;letter-spacing:-0.02em;
  color:#fff;margin:0;
}
.omx-shop-cnt{
  color:rgba(255,255,255,.5);
  font-size:13px;
  font-family:"JetBrains Mono",monospace;
  margin-top:6px;
}
.omx-shop-cnt .sep{margin:0 6px}

.omx-shop-controls .woocommerce-ordering,
.omx-shop-controls form.woocommerce-ordering{margin:0;position:relative}
.omx-shop-controls .woocommerce-ordering::after,
.omx-shop-controls form::after{
  content:"";
  position:absolute;
  inset-inline-start:14px;
  top:50%;
  width:8px;height:8px;
  border-right:2px solid #A78BFA;
  border-bottom:2px solid #A78BFA;
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
}
.omx-shop-controls .woocommerce-ordering select,
.omx-shop-controls select{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;padding:9px 32px 9px 14px;
  border-radius:10px;font-size:13px;font-weight:600;
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
  cursor:pointer;
  outline:0;
  transition:.15s;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:none;
}
.omx-shop-controls select::-ms-expand{display:none}
.omx-shop-controls select:hover{border-color:#A78BFA;background:rgba(255,255,255,.08)}
.omx-shop-controls select option{background:#1A1A2E;color:#fff;padding:10px}

.omx-shop-chips{
  display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;
}
.omx-chip{
  padding:7px 14px;
  background:transparent;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.7);
  border-radius:99px;
  font-size:12px;
  cursor:pointer;
  font-family:inherit;
  display:inline-flex;align-items:center;gap:5px;
  text-decoration:none;
  transition:.2s;
}
.omx-chip:hover{
  border-color:var(--p-c-brand-2,#A78BFA);
  color:#fff;
}
.omx-chip.active{
  background:var(--p-c-brand,#6311B9);
  border-color:var(--p-c-brand,#6311B9);
  color:#fff;
}
.omx-chip .num{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  opacity:.7;
}

/* Bento grid */
.omx-shop-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
@media(max-width:1024px){.omx-shop-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.omx-shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.omx-shop-grid{grid-template-columns:1fr;gap:10px}}

/* Pagination */
.omx-shop-pages{
  display:flex;justify-content:center;margin-top:32px;
}
.omx-shop-pages .nav-links{
  display:flex;gap:6px;flex-wrap:wrap;justify-content:center;
}
.omx-shop-pages .page-numbers{
  padding:8px 14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  font-family:"JetBrains Mono",monospace;
  transition:.2s;
}
.omx-shop-pages .page-numbers:hover{
  border-color:var(--p-c-brand-2,#A78BFA);
}
.omx-shop-pages .page-numbers.current{
  background:var(--p-c-brand,#6311B9);
  border-color:var(--p-c-brand,#6311B9);
}
.omx-shop-pages .dots{padding:8px 4px;color:rgba(255,255,255,.4)}

/* Empty state */
.omx-shop-empty{
  text-align:center;padding:80px 24px;
  color:rgba(255,255,255,.6);
}
.omx-shop-empty svg{color:rgba(255,255,255,.2);margin-bottom:14px}
.omx-shop-empty h2{font-family:"Inter";font-size:22px;font-weight:700;color:#fff;margin-bottom:6px}
.omx-shop-empty p{font-size:14px;margin-bottom:18px}
.omx-shop-empty-btn{
  display:inline-block;
  background:var(--p-c-brand,#6311B9);
  color:#fff;padding:10px 22px;
  border-radius:99px;
  text-decoration:none;
  font-weight:700;font-size:13px;
}

/* Top tabs (categories) + sort dropdown on same row */
.omx-shop-tabs{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:0;padding-top:0;
  align-items:center;
}
.omx-shop-tabs .omx-shop-controls{
  margin-inline-start:auto;
}
.omx-tab{
  padding:7px 14px;
  background:transparent;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.7);
  border-radius:8px;
  font-size:12px;
  cursor:pointer;
  text-decoration:none;
  font-family:inherit;
  transition:.2s;
  font-weight:600;
}
.omx-tab:hover{border-color:var(--p-c-brand-2,#A78BFA);color:#fff}
.omx-tab.active{background:var(--p-c-brand,#6311B9);border-color:var(--p-c-brand,#6311B9);color:#fff}

/* Sidebar layout */
.omx-shop-layout{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:20px;
  margin-top:18px;
}
@media(max-width:1024px){.omx-shop-layout{grid-template-columns:200px 1fr;gap:14px}}
@media(max-width:768px){.omx-shop-layout{grid-template-columns:1fr}.omx-side{position:static!important}}

.omx-side{
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:6px;
  position:sticky;top:80px;
  height:fit-content;
  max-height:calc(100vh - 100px);
  overflow-y:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  box-shadow:0 16px 48px -12px rgba(0,0,0,.5);
}
.omx-side::-webkit-scrollbar{width:0;height:0;display:none}

.omx-side-block{padding:0;border-bottom:0;margin-bottom:6px}
.omx-side-block:last-child{margin-bottom:0}
.omx-side-block summary{
  list-style:none;cursor:pointer;
  padding:12px 14px;
  display:flex;align-items:center;justify-content:space-between;
  user-select:none;
  position:relative;
  transition:background .15s;
  border-radius:12px;
}
.omx-side-block summary::-webkit-details-marker{display:none}
.omx-side-block summary::after{
  content:"";
  width:10px;height:10px;
  border-right:2px solid #A78BFA;
  border-bottom:2px solid #A78BFA;
  transform:rotate(-45deg);
  transition:transform .25s;
  display:block;
  margin-top:-4px;
}
.omx-side-block[open] summary::after{transform:rotate(45deg);margin-top:0}
.omx-side-block summary:hover{background:rgba(255,255,255,.04)}
.omx-side-block summary h4{
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
  font-size:13px;font-weight:600;
  color:rgba(255,255,255,.5);
  margin:0;
  display:flex;align-items:center;gap:5px;
  letter-spacing:0;
  text-transform:none;
}
.omx-side-block[open] summary h4{color:#fff;font-weight:700}
.omx-side-block > *:not(summary){padding:6px 6px 6px}
.omx-side-block .omx-active-pills{padding:6px 6px 12px}
.omx-side-block h4 .omx-side-sar{width:.85em;height:.85em;fill:rgba(255,255,255,.5)}

.omx-side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.omx-side-list li{margin:0}
.omx-side-list a{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 12px;
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.85);
  text-decoration:none;
  font-size:12.5px;
  font-weight:500;
  border-radius:10px;
  transition:.15s;
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
}
.omx-side-list a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(-2px)}
.omx-side-list a.is-active{color:#A78BFA;font-weight:700;background:rgba(167,139,250,.15)}
.omx-side-list a span{display:inline-flex;align-items:center;gap:8px}
.omx-side-list a small{
  font-family:"JetBrains Mono",monospace;
  font-size:10.5px;
  color:rgba(255,255,255,.4);
  font-weight:600;
}
.omx-side-list a input[type=checkbox]{
  accent-color:var(--p-c-brand,#6311B9);
  margin:0;
  pointer-events:none;
}
/* Category + Brand lists — shared active state */
.omx-cat-list a,.omx-brand-list a{padding:9px 12px;position:relative}
.omx-cat-list a.is-active,.omx-brand-list a.is-active{
  background:linear-gradient(90deg,rgba(99,17,185,.35),rgba(99,17,185,.12));
  color:#fff;
  font-weight:700;
  box-shadow:0 0 0 1px rgba(167,139,250,.25) inset;
}
.omx-cat-list a.is-active::before,.omx-brand-list a.is-active::before{
  content:"";
  position:absolute;
  inset-inline-end:0;
  top:20%;bottom:20%;
  width:3px;
  background:#A78BFA;
  border-radius:99px;
}
.omx-cat-list a.is-active small,.omx-brand-list a.is-active small{
  color:#fff;
  background:rgba(255,255,255,.15);
  padding:2px 7px;
  border-radius:99px;
}
.omx-rate-stars{color:#FFE47A;font-size:13px;letter-spacing:1px}
.omx-side-cnt{font-size:10px;color:rgba(255,255,255,.4);font-family:"JetBrains Mono",monospace;font-weight:600;margin-inline-start:4px}

/* Color swatch grid */
.omx-color-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:6px !important;
}
.omx-color-swatch{
  display:flex;align-items:center;gap:8px;
  padding:7px 10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  text-decoration:none;
  color:rgba(255,255,255,.85);
  font-size:12px;font-weight:500;
  transition:.15s;
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
}
.omx-color-swatch:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}
.omx-color-swatch.is-active{
  background:linear-gradient(90deg,rgba(99,17,185,.3),rgba(99,17,185,.1));
  border-color:#A78BFA;
  color:#fff;font-weight:700;
  box-shadow:0 0 0 1px rgba(167,139,250,.3);
}
.omx-color-dot{
  width:18px;height:18px;
  border-radius:50%;
  background:var(--c,#6311B9);
  box-shadow:0 0 0 1px rgba(255,255,255,.15) inset, 0 2px 6px rgba(0,0,0,.4);
  flex-shrink:0;
}
.omx-color-swatch.is-active .omx-color-dot{
  box-shadow:0 0 0 2px #fff inset, 0 0 0 3px var(--c), 0 2px 8px rgba(0,0,0,.5);
}
.omx-color-label{flex:1;line-height:1}
.omx-color-swatch small{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  color:rgba(255,255,255,.4);
  font-weight:600;
}
.omx-color-swatch.is-active small{color:rgba(255,255,255,.7)}

/* Brand list — scrollable when too many (scrollbar hidden) */
.omx-brand-list{
  max-height:280px;
  overflow-y:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.omx-brand-list::-webkit-scrollbar{width:0;height:0;display:none}

/* Active filters — header row: title right, clear-all left (no card) */
.omx-active-block{
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  border-radius:0;
  padding:8px 10px 12px !important;
  margin-bottom:8px !important;
}
.omx-active-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:8px;
}
.omx-active-head h4{
  margin:0;
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
  font-size:13px;font-weight:700;color:#fff;
}
.omx-active-clear{
  font-size:11px;font-weight:700;
  color:#EF4444;
  background:rgba(239,68,68,.1);
  border:1px solid rgba(239,68,68,.3);
  padding:4px 10px;border-radius:99px;
  text-decoration:none;
  transition:.15s;
  letter-spacing:0;
}
.omx-active-clear:hover{background:#EF4444;color:#fff;border-color:#EF4444}

/* Active filter pills */
.omx-active-pills{display:flex;flex-wrap:wrap;gap:6px;padding:0 !important}
.omx-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(167,139,250,.25);
  color:#fff;
  border-radius:99px;
  font-size:11.5px;
  text-decoration:none;
  font-weight:600;
  transition:.15s;
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
}
.omx-pill span{line-height:1}
.omx-pill em{
  font-style:normal;
  color:rgba(255,255,255,.5);
  font-size:10px;
  width:14px;height:14px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  transition:.15s;
}
.omx-pill:hover{background:rgba(99,17,185,.25);border-color:#A78BFA}
.omx-pill:hover em{background:#EF4444;color:#fff}


/* Price form */
.omx-price-form{display:flex;flex-direction:column;gap:8px}
.omx-price-inputs{display:flex;align-items:center;gap:6px}
.omx-price-inputs input{
  flex:1;min-width:0;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  padding:7px 10px;
  border-radius:6px;
  font-size:12px;
  font-family:"JetBrains Mono",monospace;
  outline:0;
  -moz-appearance:textfield;
}
.omx-price-inputs input::-webkit-outer-spin-button,
.omx-price-inputs input::-webkit-inner-spin-button{-webkit-appearance:none}
.omx-price-inputs input::placeholder{color:rgba(255,255,255,.3)}
.omx-price-inputs input:focus{border-color:var(--p-c-brand-2,#A78BFA)}
.omx-price-inputs span{color:rgba(255,255,255,.4);font-size:11px}
.omx-price-go{
  background:var(--p-c-brand,#6311B9);
  color:#fff;
  border:0;
  padding:8px;
  border-radius:6px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  transition:.15s;
}
.omx-price-go:hover{background:var(--p-c-brand-2,#A78BFA)}

/* Old shop styles below — kept as fallback */
.shop-section { padding: var(--sp-xl) 0; }
.shop-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--sp-lg);
  gap: var(--sp-md);
}
.shop-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--sp-2xs);
  font-size: var(--fs-xs);
  color: var(--c-muted);
  margin-bottom: var(--sp-xs);
}
.shop-breadcrumb a { transition: color var(--t-fast); }
.shop-breadcrumb a:hover { color: var(--c-accent); }
.shop-title {
  font-size: var(--fs-sub);
  font-weight: 800;
}
.shop-desc {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  margin-top: var(--sp-2xs);
  max-width: 500px;
  line-height: 1.618;
}
.shop-controls {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
  flex-shrink: 0;
}
.shop-result-count {
  font-size: var(--fs-xs);
  color: var(--c-muted);
  white-space: nowrap;
}
/* WooCommerce orderby select */
.shop-controls .woocommerce-ordering select {
  padding: var(--sp-xs) var(--sp-sm);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  font-family: var(--font-ar);
  font-size: var(--fs-xs);
  color: var(--c-text);
  outline: none;
  cursor: pointer;
}

/* Category Pills */
.shop-cat-pills {
  display: flex;
  gap: var(--sp-xs);
  flex-wrap: wrap;
  margin-bottom: var(--sp-lg);
}
.shop-cat-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2xs);
  padding: var(--sp-xs) var(--sp-sm);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--c-text-2);
  transition: all var(--t-base) var(--ease-out);
}
.shop-cat-pill:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
  background: var(--c-accent-soft);
}
.pill-count {
  background: var(--c-surface-2);
  padding: 1px var(--sp-2xs);
  border-radius: var(--r-xs);
  font-family: var(--font-en);
  font-size: 10px;
}
.shop-no-products {
  text-align: center;
  padding: var(--sp-2xl) 0;
  color: var(--c-muted);
}
.shop-no-products svg { margin: 0 auto var(--sp-md); color: var(--c-muted-2); }
.shop-no-products h2 { font-size: var(--fs-lg); font-weight: 700; margin-bottom: var(--sp-xs); color: var(--c-text); }

/* ═══════════════════════════════════════════════
   SINGLE PRODUCT (PDP)
   ═══════════════════════════════════════════════ */
.pdp-section { padding: var(--sp-xl) 0 var(--sp-2xl); }
.pdp-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--sp-2xs);
  font-size: var(--fs-xs);
  color: var(--c-muted);
  margin-bottom: var(--sp-lg);
}
.pdp-breadcrumb a { transition: color var(--t-fast); }
.pdp-breadcrumb a:hover { color: var(--c-accent); }

.pdp-grid {
  display: grid;
  grid-template-columns: 1.618fr 1fr; /* φ ratio */
  gap: var(--sp-xl);
  align-items: start;
  margin-bottom: var(--sp-xl);
}

/* Gallery */
.pdp-gallery { position: sticky; top: calc(var(--navbar-h) + var(--sp-md)); }
.pdp-main-image {
  position: relative;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp-main-image img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  transition: transform var(--t-slow) var(--ease-out);
}
.pdp-main-image:hover img { transform: scale(1.05); }
.pdp-badge {
  position: absolute;
  top: var(--sp-md);
  right: var(--sp-md);
  z-index: 2;
}
.pdp-thumbs {
  display: flex;
  gap: var(--sp-xs);
  margin-top: var(--sp-sm);
}
.pdp-thumb {
  width: 72px;
  height: 72px;
  border: 2px solid var(--c-border);
  border-radius: var(--r-md);
  overflow: hidden;
  cursor: pointer;
  padding: var(--sp-2xs);
  background: var(--c-surface);
  transition: border-color var(--t-base);
}
.pdp-thumb.active,
.pdp-thumb:hover { border-color: var(--c-accent); }
.pdp-thumb img { width: 100%; height: 100%; object-fit: contain; }

/* Product Info */
.pdp-brand {
  font-family: var(--font-en);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: var(--sp-xs);
}
.pdp-title {
  font-size: var(--fs-sub);
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: var(--sp-sm);
}
.pdp-rating {
  display: flex;
  align-items: center;
  gap: var(--sp-xs);
  margin-bottom: var(--sp-md);
}
.pdp-rating-text {
  font-size: var(--fs-sm);
  color: var(--c-muted);
}

.pdp-price-block {
  padding: var(--sp-md);
  background: var(--c-accent-soft);
  border-radius: var(--r-lg);
  margin-bottom: var(--sp-md);
}
.pdp-price-main {
  display: flex;
  align-items: baseline;
  gap: var(--sp-xs);
  flex-wrap: wrap;
}
.pdp-price {
  font-size: var(--fs-sub);
  font-weight: 800;
}
.pdp-installment {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  margin-top: var(--sp-xs);
}

.pdp-stock {
  font-size: var(--fs-sm);
  font-weight: 700;
  margin-bottom: var(--sp-md);
  display: flex;
  align-items: center;
  gap: var(--sp-2xs);
}
.pdp-stock--instock { color: var(--c-success); }
.pdp-stock--outofstock { color: var(--c-accent); }
.pdp-stock--onbackorder { color: var(--c-warning); }

.pdp-short-desc {
  font-size: var(--fs-sm);
  color: var(--c-text-2);
  line-height: 1.618;
  margin-bottom: var(--sp-lg);
}

/* Add to Cart Actions */
.pdp-actions {
  display: flex;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-lg);
  align-items: stretch;
}
.pdp-qty {
  display: flex;
  align-items: center;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-surface);
}
.qty-btn {
  width: 42px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-lg);
  color: var(--c-text);
  cursor: pointer;
  transition: background var(--t-fast);
  border: none;
  background: none;
}
.qty-btn:hover { background: var(--c-surface-2); }
.pdp-qty input {
  width: 50px;
  text-align: center;
  border: none;
  border-left: 1px solid var(--c-border);
  border-right: 1px solid var(--c-border);
  font-family: var(--font-en);
  font-size: var(--fs-body);
  font-weight: 700;
  color: var(--c-text);
  background: transparent;
  outline: none;
  -moz-appearance: textfield;
}
.pdp-qty input::-webkit-outer-spin-button,
.pdp-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pdp-add-cart { flex: 1; }

/* Trust Badges */
.pdp-trust {
  display: flex;
  gap: var(--sp-md);
  padding: var(--sp-md);
  background: var(--c-surface-2);
  border-radius: var(--r-lg);
  margin-bottom: var(--sp-lg);
  flex-wrap: wrap;
}
.pdp-trust-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2xs);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--c-text-2);
}
.pdp-trust-item svg { color: var(--c-accent); }

/* Meta */
.pdp-meta {
  border-top: 1px solid var(--c-border);
  padding-top: var(--sp-md);
}
.pdp-meta-row {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  margin-bottom: var(--sp-xs);
  display: flex;
  gap: var(--sp-xs);
}
.pdp-meta-label { font-weight: 700; color: var(--c-text-2); }
.pdp-meta a { color: var(--c-accent); transition: opacity var(--t-fast); }
.pdp-meta a:hover { opacity: .7; }

/* Tabs */
.pdp-tabs {
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-bottom: var(--sp-xl);
}
.pdp-tab-nav {
  display: flex;
  border-bottom: 1px solid var(--c-border);
  background: var(--c-surface);
}
.pdp-tab-btn {
  padding: var(--sp-sm) var(--sp-lg);
  font-family: var(--font-ar);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-muted);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all var(--t-base);
}
.pdp-tab-btn.active {
  color: var(--c-accent);
  border-bottom-color: var(--c-accent);
}
.pdp-tab-content {
  display: none;
  padding: var(--sp-lg);
}
.pdp-tab-content.active { display: block; }
.pdp-description {
  font-size: var(--fs-sm);
  line-height: 1.618;
  color: var(--c-text-2);
}
.pdp-description h2,
.pdp-description h3 { color: var(--c-text); margin: var(--sp-md) 0 var(--sp-sm); }
.pdp-description ul { padding-right: var(--sp-md); }
.pdp-description li { margin-bottom: var(--sp-xs); }

.pdp-related { margin-top: var(--sp-xl); }

/* ═══════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════ */
.omx-cart { padding-bottom: var(--sp-2xl); }

/* ═══════════════════════════════════════════════
   WHATSAPP FLOATING BUTTON — sitewide
   ═══════════════════════════════════════════════ */
.wa-float{
  position:fixed;
  inset-inline-start:20px;
  bottom:24px;
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  background:#25D366;
  border-radius:50%;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  z-index:9999;
  text-decoration:none;
  transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s;
}
/* Mobile: hide entirely. Bottom tab bar already provides navigation +
   the WA float overlaps it visually. Desktop keeps the floating CTA. */
@media (max-width:1024px){
  .wa-float{display:none !important}
}
.wa-float-icon{display:flex;align-items:center;justify-content:center}
.wa-float-icon svg{width:30px;height:30px;display:block}
.wa-float:hover{
  transform:scale(1.06);
  box-shadow:0 8px 22px rgba(0,0,0,.3);
}
.wa-float:active{transform:scale(.96)}

/* Speech bubble tooltip — auto-pops like an incoming message, then hides.
   Hover re-summons it. */
.wa-float-label{
  position:absolute;
  inset-inline-start:calc(100% + 14px);
  top:50%;
  transform:translateY(-50%) translateX(10px) scale(.8);
  padding:10px 16px;
  background:#fff;
  color:#111827;
  border-radius:14px;
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
  font-size:13px;font-weight:700;
  white-space:nowrap;
  box-shadow:0 6px 20px rgba(0,0,0,.2);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .35s cubic-bezier(.2,1.6,.4,1);
  animation:wa-auto-pop 9s ease 1.8s 1 both;
}
.wa-float-label::before{
  content:"";
  position:absolute;
  top:50%;
  inset-inline-end:100%;
  transform:translateY(-50%);
  border:6px solid transparent;
  border-inline-start:0;
  border-inline-end:8px solid #fff;
}
@keyframes wa-auto-pop{
  0%  {opacity:0;transform:translateY(-50%) translateX(10px) scale(.8)}
  6%  {opacity:1;transform:translateY(-50%) translateX(-2px) scale(1.05)}
  10% {opacity:1;transform:translateY(-50%) translateX(0) scale(1)}
  85% {opacity:1;transform:translateY(-50%) translateX(0) scale(1)}
  100%{opacity:0;transform:translateY(-50%) translateX(6px) scale(.9)}
}
/* Hover cancels auto animation and re-shows instantly */
.wa-float:hover .wa-float-label{
  animation:none;
  opacity:1;
  transform:translateY(-50%) translateX(0) scale(1);
}

/* Mobile: clear the bottom tab bar (70px + safe area), no hover tooltip */
@media(max-width:780px){
  .wa-float{
    inset-inline-start:16px;
    bottom:calc(80px + env(safe-area-inset-bottom,0));
    width:52px;height:52px;
  }
  .wa-float-icon svg{width:26px;height:26px}
  .wa-float-label{display:none}
}

/* ═══════════════════════════════════════════════
   TRUST STRIP — homepage, after hero
   ═══════════════════════════════════════════════ */
.trust-strip{
  padding:14px 0;
  background:rgba(255,255,255,.02);
  border-block:1px solid rgba(255,255,255,.06);
}
.trust-strip-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.trust-item{
  display:flex;align-items:center;gap:12px;
  padding:8px 14px;
}
.trust-item svg{
  width:24px;height:24px;
  color:#A78BFA;
  flex-shrink:0;
}
.trust-item b{
  display:block;
  font-size:13px;font-weight:700;color:#fff;
  line-height:1.2;
}
.trust-item small{
  font-size:11px;color:rgba(255,255,255,.5);
  font-family:"IBM Plex Sans Arabic","Inter",sans-serif;
}
@media(max-width:780px){
  .trust-strip-inner{grid-template-columns:repeat(2,1fr);gap:8px}
  .trust-item{padding:6px 8px}
  .trust-item svg{width:20px;height:20px}
  .trust-item b{font-size:12px}
  .trust-item small{font-size:10px}
}

/* ═══════════════════════════════════════════════
   MAINTENANCE REMINDER BANNER — bottom re-engagement
   ═══════════════════════════════════════════════ */
.maint-remind{padding:40px 0}
.maint-remind-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  align-items:center;
  padding:36px 40px;
  background:linear-gradient(135deg,#6311B9 0%,#3A0D6B 60%,#1A0633 100%);
  border-radius:22px;
  border:1px solid rgba(167,139,250,.25);
  box-shadow:
    0 24px 60px -20px rgba(99,17,185,.5),
    inset 0 1px 0 rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.maint-remind-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(400px 300px at 10% 100%, rgba(167,139,250,.3), transparent 60%);
  pointer-events:none;
}
.maint-remind-copy{position:relative;z-index:1}
.maint-remind-eyebrow{
  display:inline-block;
  font-size:11px;font-weight:700;
  color:#FFE47A;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:10px;
  font-family:"JetBrains Mono",monospace;
}
.maint-remind-card h2{
  font-size:28px;font-weight:800;
  color:#fff;margin:0 0 10px;
  line-height:1.2;
}
.maint-remind-card p{
  font-size:14px;
  color:rgba(255,255,255,.75);
  margin:0 0 18px;
  line-height:1.6;
  max-width:540px;
}
.maint-remind-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;
  background:#fff;color:#6311B9;
  font-weight:700;font-size:14px;
  border-radius:999px;
  text-decoration:none;
  transition:transform .2s, box-shadow .2s;
  box-shadow:0 8px 24px -6px rgba(0,0,0,.4);
}
.maint-remind-cta:hover{transform:translateY(-2px);box-shadow:0 12px 32px -6px rgba(0,0,0,.5)}
.maint-remind-icon{
  width:120px;height:120px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);
  border-radius:50%;
  color:#fff;
  position:relative;z-index:1;
}
.maint-remind-icon svg{width:56px;height:56px}
@media(max-width:780px){
  .maint-remind-card{
    grid-template-columns:1fr;
    padding:24px;
    text-align:center;
  }
  .maint-remind-card h2{font-size:22px}
  .maint-remind-icon{width:80px;height:80px;margin:0 auto}
  .maint-remind-icon svg{width:38px;height:38px}
  .maint-remind-card p{margin-inline:auto}
}
.cart-layout {
  display: grid;
  grid-template-columns: 1.618fr 1fr; /* φ ratio */
  gap: var(--sp-xl);
  align-items: start;
}
.cart-items {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
}
.cart-item {
  display: flex;
  gap: var(--sp-md);
  padding: var(--sp-md);
  background: linear-gradient(90deg, rgba(99,17,185,.15) 0%, rgba(99,17,185,.02) 100%);
  border: 1px solid rgba(99,17,185,.25);
  border-radius: var(--r-lg);
  transition: border-color var(--t-base), background var(--t-base);
}
.cart-item:hover{
  border-color: rgba(167,139,250,.45);
  background: linear-gradient(90deg, rgba(99,17,185,.22) 0%, rgba(99,17,185,.04) 100%);
}
.cart-item-img {
  width: 100px;
  height: 100px;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-surface-2);
  flex-shrink: 0;
}
.cart-item-img img { width: 100%; height: 100%; object-fit: contain; padding: var(--sp-xs); }
.cart-item-info { flex: 1; display: flex; flex-direction: column; }
.cart-item-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--sp-sm);
}
.cart-item-name {
  font-size: var(--fs-body);
  font-weight: 700;
  color: var(--c-text);
  display: block;
  margin-bottom: var(--sp-3xs);
}
.cart-item-price {
  font-size: var(--fs-sm);
  color: var(--c-muted);
}
.cart-item-remove {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-surface-2);
  border-radius: var(--r-sm);
  color: var(--c-muted);
  font-size: var(--fs-lg);
  transition: all var(--t-base);
}
.cart-item-remove:hover { background: var(--c-accent-soft); color: var(--c-accent); }
.cart-item-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}
.cart-item-subtotal {
  font-family: var(--font-en);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--c-accent);
}
.cart-item-qty .quantity {
  display: flex;
  align-items: center;
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.cart-item-qty .quantity input {
  width: 42px;
  height: 34px;
  text-align: center;
  border: none;
  font-family: var(--font-en);
  font-weight: 700;
  background: transparent;
  color: var(--c-text);
  outline: none;
}
.cart-actions {
  display: flex;
  justify-content: flex-start;
  gap: var(--sp-sm);
  padding-top: var(--sp-sm);
}

/* Cart Summary */
.cart-summary-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--sp-lg);
  position: sticky;
  top: calc(var(--navbar-h) + var(--sp-md));
}
.cart-summary-title {
  font-size: var(--fs-lg);
  font-weight: 800;
  margin-bottom: var(--sp-md);
}
.cart-totals {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-lg);
}
.cart-total-row {
  display: flex;
  justify-content: space-between;
  font-size: var(--fs-sm);
  color: var(--c-text-2);
}
.cart-total-final {
  font-size: var(--fs-lg);
  font-weight: 800;
  color: var(--c-text);
  padding-top: var(--sp-sm);
  border-top: 1px solid var(--c-border);
}
.cart-coupon {
  display: flex;
  gap: var(--sp-xs);
  margin-bottom: var(--sp-md);
}
.cart-coupon input {
  flex: 1;
  padding: var(--sp-xs) var(--sp-sm);
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  font-family: var(--font-ar);
  font-size: var(--fs-xs);
  background: var(--c-bg);
  color: var(--c-text);
  outline: none;
}
.cart-coupon input:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px var(--c-accent-soft);
}
.wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  padding: var(--sp-md);
  background: var(--c-accent);
  color: #fff;
  text-align: center;
  font-family: var(--font-ar);
  font-size: var(--fs-body);
  font-weight: 700;
  border: none;
  border-radius: var(--r-lg);
  cursor: pointer;
  transition: all var(--t-base) var(--ease-out);
}
.wc-proceed-to-checkout .checkout-button:hover {
  background: var(--c-accent-h);
  box-shadow: var(--shadow-glow);
}

/* ═══════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════ */
.omx-checkout { padding-bottom: var(--sp-2xl); }
.checkout-layout {
  display: grid;
  grid-template-columns: 1.618fr 1fr; /* φ ratio */
  gap: var(--sp-xl);
  align-items: start;
}
.checkout-section { margin-bottom: var(--sp-lg); }
.checkout-section-title {
  font-size: var(--fs-lg);
  font-weight: 800;
  margin-bottom: var(--sp-md);
  padding-bottom: var(--sp-sm);
  border-bottom: 1px solid var(--c-border);
}

/* WooCommerce Form Fields */
.woocommerce-checkout .form-row {
  margin-bottom: var(--sp-md);
}
.woocommerce-checkout .form-row label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 700;
  margin-bottom: var(--sp-xs);
  color: var(--c-text);
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: var(--sp-sm) var(--sp-md);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  font-family: var(--font-ar);
  font-size: var(--fs-sm);
  color: var(--c-text);
  transition: all var(--t-base) var(--ease-out);
  outline: none;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px var(--c-accent-soft);
  background: var(--c-surface);
}

.checkout-summary-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--sp-lg);
  position: sticky;
  top: calc(var(--navbar-h) + var(--sp-md));
}

/* Order Review Table */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--sp-md);
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: var(--sp-sm) 0;
  border-bottom: 1px solid var(--c-border);
  font-size: var(--fs-sm);
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: var(--fs-lg);
  font-weight: 800;
  color: var(--c-accent);
}

/* Payment Methods */
.wc_payment_methods {
  margin-bottom: var(--sp-lg);
}
.wc_payment_method {
  padding: var(--sp-sm);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  margin-bottom: var(--sp-xs);
  transition: border-color var(--t-base);
}
.wc_payment_method:has(input:checked) { border-color: var(--c-accent); }
.wc_payment_method label {
  font-size: var(--fs-sm);
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--sp-xs);
}
.payment_box {
  padding: var(--sp-sm) var(--sp-md);
  font-size: var(--fs-xs);
  color: var(--c-muted);
  background: var(--c-surface-2);
  border-radius: var(--r-sm);
  margin-top: var(--sp-xs);
}

#place_order {
  display: block;
  width: 100%;
  padding: var(--sp-md);
  background: var(--c-accent);
  color: #fff;
  font-family: var(--font-ar);
  font-size: var(--fs-body);
  font-weight: 700;
  border: none;
  border-radius: var(--r-lg);
  cursor: pointer;
  transition: all var(--t-base) var(--ease-out);
}
#place_order:hover {
  background: var(--c-accent-h);
  box-shadow: var(--shadow-glow);
}

/* ═══════════════════════════════════════════════
   MY ACCOUNT PAGE
   ═══════════════════════════════════════════════ */
.omx-account { padding-bottom: var(--sp-2xl); }
.account-name { color: var(--c-accent); }
.account-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--sp-xl);
  align-items: start;
}
.account-nav {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--sp-sm);
  position: sticky;
  top: calc(var(--navbar-h) + var(--sp-md));
}
.account-nav-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3xs);
}
.account-nav-link {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  padding: var(--sp-sm) var(--sp-md);
  border-radius: var(--r-md);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-muted);
  transition: all var(--t-base) var(--ease-out);
}
.account-nav-link:hover { color: var(--c-accent); background: var(--c-accent-soft); }
.account-nav-link svg { flex-shrink: 0; }
.account-nav-item.is-active .account-nav-link {
  color: var(--c-accent);
  background: var(--c-accent-soft);
  font-weight: 700;
}
.account-content {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--sp-lg);
  min-height: 300px;
}

/* WooCommerce Account Content */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: var(--fs-lg);
  font-weight: 800;
  margin-bottom: var(--sp-md);
}
.woocommerce-MyAccount-content p {
  font-size: var(--fs-sm);
  color: var(--c-text-2);
  line-height: 1.618;
  margin-bottom: var(--sp-md);
}
.woocommerce-MyAccount-content a {
  color: var(--c-accent);
  font-weight: 600;
  transition: opacity var(--t-fast);
}
.woocommerce-MyAccount-content a:hover { opacity: .7; }

/* Orders Table */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-orders-table th,
.woocommerce-orders-table td {
  padding: var(--sp-sm) var(--sp-md);
  border-bottom: 1px solid var(--c-border);
  font-size: var(--fs-sm);
  text-align: right;
}
.woocommerce-orders-table th {
  font-weight: 700;
  color: var(--c-text);
  background: var(--c-surface-2);
}
.woocommerce-orders-table td { color: var(--c-text-2); }
.woocommerce-orders-table .button {
  display: inline-flex;
  padding: var(--sp-2xs) var(--sp-sm);
  background: var(--c-accent);
  color: #fff;
  border-radius: var(--r-sm);
  font-size: var(--fs-xs);
  font-weight: 700;
  transition: background var(--t-base);
}
.woocommerce-orders-table .button:hover { background: var(--c-accent-h); }

/* ═══════════════════════════════════════════════
   404 PAGE
   ═══════════════════════════════════════════════ */
.error-404-page {
  text-align: center;
  padding: var(--sp-2xl) 0;
}
.error-404-num {
  font-family: var(--font-en);
  font-size: 120px;
  font-weight: 800;
  color: var(--c-accent);
  line-height: 1;
  margin-bottom: var(--sp-md);
}
.error-404-page h1 {
  font-size: var(--fs-sub);
  font-weight: 800;
  margin-bottom: var(--sp-sm);
}
.error-404-page p {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  margin-bottom: var(--sp-lg);
}

/* ═══════════════════════════════════════════════
   WOOCOMMERCE NOTICES
   ═══════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: var(--sp-md);
  border-radius: var(--r-md);
  margin-bottom: var(--sp-md);
  font-size: var(--fs-sm);
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
}
.woocommerce-message {
  background: rgba(52,199,89,.08);
  border: 1px solid rgba(52,199,89,.2);
  color: var(--c-success);
}
.woocommerce-info {
  background: rgba(0,122,255,.08);
  border: 1px solid rgba(0,122,255,.2);
  color: #007AFF;
}
.woocommerce-error {
  background: rgba(239,68,68,.08);
  border: 1px solid rgba(239,68,68,.2);
  color: var(--c-accent);
  list-style: none;
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — Mobile First
   ═══════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .trust-stats-grid { grid-template-columns: repeat(3, 1fr); }
  .bundles-grid { grid-template-columns: repeat(2, 1fr); }
  .maintenance-card { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-lg); }

  .pdp-grid { grid-template-columns: 1fr; }
  .pdp-gallery { position: static; }
  .cart-layout { grid-template-columns: 1fr; }
  .checkout-layout { grid-template-columns: 1fr; }
  .account-layout { grid-template-columns: 1fr; }
  .account-nav { position: static; }
  .maint-hero-inner { grid-template-columns: 1fr; }
  .maint-steps-grid { grid-template-columns: repeat(2, 1fr); }
  .maint-services-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  :root {
    --navbar-h: 55px;
    --fs-heading: 34px;
    --fs-display: 48px;
  }
  .container { padding: 0 var(--sp-md); }

  .navbar-island-wrap { padding: 8px 12px 0; }
  .navbar-island {
    height: 50px;
    padding: 0 14px;
    gap: 10px;
    border-radius: 14px;
  }
  .navbar-links { display: none; }
  .navbar-divider { display: none; }
  .navbar-spacer { display: none; }
  .navbar-search-pill span { display: none; }
  .navbar-search-pill { padding: 7px 10px; }
  .navbar-maintenance-btn { padding: 7px 10px; font-size: 11px; }
  .navbar-maintenance-btn svg { display: none; }

  .cat-nav-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-slide { padding: var(--sp-lg); }
  .hero-main-card { min-height: 350px; }

  .trust-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .bundles-grid { grid-template-columns: 1fr; }
  .flash-sale-grid {
    display:flex;
    grid-template-columns:none;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:var(--sp-sm);
    gap:var(--sp-sm);
    scrollbar-width:none;
  }
  .flash-sale-grid::-webkit-scrollbar{display:none}
  .flash-sale-grid > *{
    flex:0 0 calc(50% - var(--sp-sm)/2);
    scroll-snap-align:start;
    min-width:160px;
  }
  .flash-sale-section{padding:0 0 8px}
  .flash-sale-header {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:var(--sp-sm);
    margin-bottom:var(--sp-xs);
  }
  .flash-sale-header .section-title{font-size:var(--fs-md)}
  .countdown-box{
    font-size:13px;
    min-width:32px;
    padding:4px 6px;
    border-radius:6px;
    letter-spacing:0;
  }
  .countdown-sep{font-size:13px}
  .flash-countdown{gap:2px}

  .installment-benefits { flex-direction: column; gap: var(--sp-sm); align-items: center; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .footer-bottom { flex-direction: column; text-align: center; }

  /* ── Compact mobile sections (less wasted vertical space) ── */
  .section,
  .telecom-section,
  .reviews-v2-section,
  .cat-section{
    padding:8px 0;
  }
  .section-header{
    margin-bottom:var(--sp-xs);
    align-items:center;
    gap:var(--sp-sm);
  }
  .section-eyebrow{
    margin-bottom:2px;
    font-size:10px;
    letter-spacing:1px;
  }
  .section-title{font-size:var(--fs-lg);line-height:1.15}
  .section-link{
    font-size:12px;
    padding:4px 8px;
    white-space:nowrap;
    flex-shrink:0;
  }
  .section-link svg{width:11px;height:11px}

  .maint-steps-grid { grid-template-columns: 1fr; }
  .maint-services-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group-full { grid-column: 1; }
  .pdp-actions { flex-wrap: wrap; }
  .pdp-add-cart { min-width: 200px; }

  .shop-header { flex-direction: column; align-items: flex-start; }
  .account-nav-list { flex-direction: row; overflow-x: auto; gap: var(--sp-2xs); }
  .account-nav-link span { white-space: nowrap; }
}

@media (max-width: 480px) {
  .cat-nav-grid { grid-template-columns: repeat(2, 1fr); }
  .products-scroll { gap: var(--sp-sm); }
  .product-card { flex: 0 0 170px; }
  .flash-sale-grid > *{flex:0 0 calc(50% - var(--sp-sm)/2);min-width:150px}
  .hero-actions { flex-direction: column; }
  .hero-features { flex-direction: column; gap: var(--sp-xs); }

  .search-page-form { flex-direction: column; }
  .search-page-form .btn { width: 100%; }
  .maint-stat-row { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   PROTOTYPE THEME v3 — Compact Navbar + Star Hero
   Migrated from hero-clean.html — calm dark, single brand
   ═══════════════════════════════════════════════ */
:root{
  /* Prototype tokens — ALIASED to unified 8pt grid (single source of truth) */
  --p-s-1:var(--s-1); --p-s-2:var(--s-2); --p-s-3:var(--s-3); --p-s-4:var(--s-4);
  --p-s-5:var(--s-5); --p-s-6:var(--s-6); --p-s-7:var(--s-7); --p-s-8:var(--s-8); --p-s-9:var(--s-9);
  --p-r-2:var(--r-2); --p-r-3:var(--r-3); --p-r-4:var(--r-4); --p-r-5:var(--r-5); --p-r-6:var(--r-6);
  --p-r-full:var(--r-full);
  --p-t-xs:var(--t-xs); --p-t-sm:var(--t-sm); --p-t-base:var(--t-base); --p-t-md:var(--t-md);
  --p-t-lg:var(--t-lg); --p-t-xl:var(--t-xl); --p-t-2xl:var(--t-2xl); --p-t-3xl:var(--t-3xl);
  --p-c-bg:#120A24;
  --p-c-surface:#1B1233;
  --p-c-line:rgba(255,255,255,.07);
  --p-c-line-2:rgba(255,255,255,.12);
  --p-c-text:#F4F4F8;
  --p-c-text-2:#9999A8;
  --p-c-text-3:#8A8A98; /* bumped from #5E5E70 for WCAG AA */
  --p-c-brand:#6311B9;
  --p-c-brand-2:#9747D8;
  --p-c-brand-soft:rgba(99,17,185,.10);
  --p-f-arabic:'IBM Plex Sans Arabic','Manrope',ui-sans-serif;
  --p-f-display:'Readex Pro','IBM Plex Sans Arabic','Manrope',ui-sans-serif;
  --p-f-mono:'JetBrains Mono',ui-monospace,monospace;

  /* ── Preview-alias tokens (bridge product-v1 preview ↔ theme) ──
     Preview CSS uses --bg / --text / --brand-lav / --f-ar / --f-display.
     Aliased here so both preview and theme share ONE source of truth. */
  --bg:         var(--p-c-bg);
  --bg-2:       var(--p-c-surface);
  --text:       var(--p-c-text);
  --text-2:     var(--p-c-text-2);
  --text-3:     var(--p-c-text-3);
  --border:     var(--p-c-line-2);
  --brand:      var(--p-c-brand);
  --brand-lav:  var(--p-c-brand-2);
  --amber:      #F59E0B;
  --success:    #22C55E;
  --f-ar:       var(--p-f-arabic);
  --f-display:  var(--p-f-display);
  --f-mono:     var(--p-f-mono);
  --radius:     var(--r-3);
  --radius-lg:  var(--r-5);

  /* Z-index scale — use these instead of raw numbers */
  --z-base:1;
  --z-raised:2;
  --z-sticky:50;
  --z-dropdown:100;
  --z-overlay:500;
  --z-modal:1000;
  --z-toast:9000;
  --z-tooltip:9500;
  --z-skiplink:9999;
}

/* Force dark + ambient glow on home */
html[data-theme="dark"] body,
html[data-theme="dark"]{
  background:var(--p-c-bg);
  color:var(--p-c-text);
}
html[data-theme="dark"] body{
  background:
    radial-gradient(1200px 600px at 85% -5%, rgba(167,139,250,.14), transparent 65%),
    radial-gradient(1000px 500px at 10% 40%, rgba(99,17,185,.10), transparent 60%),
    radial-gradient(800px 400px at 60% 90%, rgba(99,17,185,.08), transparent 65%),
    var(--p-c-bg);
  background-attachment:fixed;
  font-family:var(--p-f-arabic);
  padding-top:0;  /* override old fixed-navbar spacer */
}
.site-header{background:transparent}
html[data-theme="dark"] .site-header{
  position:sticky;
  top:0;
  background:transparent;
}
body.admin-bar .site-header{top:32px}
@media (max-width:782px){
  body.admin-bar .site-header{top:46px}
}

/* ============ COMPACT NAVBAR ============ */
.site-header{position:sticky;top:0;z-index:50}
.nav-wrap{position:sticky;top:0;z-index:50;padding:8px var(--container-pad-x) 0}
.nav{
  max-width:var(--container-max);margin:0 auto;
  display:flex;align-items:center;gap:var(--p-s-4);
  padding:var(--p-s-2) var(--p-s-4) var(--p-s-2) var(--p-s-2);
  background:rgba(19,19,28,.78);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--p-c-line-2);
  border-radius:var(--p-r-full);
  box-shadow:0 16px 48px -16px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04);
}
.nav-logo{
  display:inline-flex;align-items:center;gap:1px;
  color:var(--p-c-brand);
  flex-shrink:0;
  padding:0 var(--p-s-3) 0 var(--p-s-2);
  border-left:1px solid var(--p-c-line-2);
  line-height:1;
  text-decoration:none;
  font-family:"Darker Grotesque","Inter",system-ui,sans-serif;
  font-weight:800;
  font-size:18px;
  letter-spacing:-.02em;
  transition:opacity .2s var(--ease-out);
}
.nav-logo-dot{color:var(--p-c-brand);font-weight:900;margin-inline-start:-1px}
.nav-logo:hover{opacity:.85}
.nav-logo-svg{
  height:26px;width:auto;display:block;
  color:var(--p-c-brand);
}
.nav-logo-svg text{fill:currentColor}
.nav-logo-img{
  height:18px;width:auto;display:block;
  object-fit:contain;
}
.nav-links{display:flex;gap:0;margin:0;padding:0;list-style:none}
.nav-links li{margin:0}
.nav-links a{
  display:inline-flex;align-items:center;
  padding:var(--p-s-2) var(--p-s-3);
  font-size:13px;font-weight:600;
  color:var(--p-c-text-2);
  border-radius:var(--p-r-full);
  text-decoration:none;
  transition:color .25s ease, background .25s ease;
  white-space:nowrap;
}
.nav-links a:hover{color:var(--p-c-text);background:rgba(255,255,255,.04)}
.nav-cat::before{
  content:"";
  width:5px;height:5px;
  border-radius:var(--p-r-full);
  margin-left:6px;
  flex-shrink:0;
  box-shadow:0 0 6px currentColor;
  opacity:.85;
}
.nav-cat.phn::before{background:#F472B6;color:#F472B6}
.nav-cat.pkg::before{background:#22D3EE;color:#22D3EE}
.nav-cat.sub::before{background:#A78BFA;color:#A78BFA}
.nav-cat.acc::before{background:#34D399;color:#34D399}

.nav-actions{display:flex;align-items:center;gap:var(--p-s-1);flex-shrink:0;margin-inline-start:auto}
.nav-search{
  display:flex;align-items:center;gap:8px;
  padding:7px 14px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--p-c-line);
  border-radius:var(--p-r-full);
  font-size:12px;
  color:var(--p-c-text-3);
  min-width:180px;
  transition:border-color .25s ease;
}
.nav-search:hover,
.nav-search:focus-within{border-color:var(--p-c-line-2)}
.nav-search svg{width:13px;height:13px;flex-shrink:0}
.nav-search input{
  background:none;border:0;outline:none;
  font:inherit;color:var(--p-c-text);
  width:100%;
}
.nav-search input::placeholder{color:var(--p-c-text-3)}

.nav-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;
  background:var(--p-c-brand);color:#fff;
  border-radius:var(--p-r-full);
  font-family:var(--p-f-arabic);
  font-size:12px;font-weight:700;
  text-decoration:none;
  box-shadow:0 6px 20px -8px rgba(99,17,185,.5);
  transition:all .25s ease;
  white-space:nowrap;
}
.nav-cta svg{width:13px;height:13px}
.nav-cta:hover{
  background:var(--p-c-brand-2);
  transform:translateY(-1px);
  box-shadow:0 10px 24px -8px rgba(99,17,185,.6);
}
.nav-icon{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:var(--p-r-full);
  color:var(--p-c-text-2);
  text-decoration:none;
  transition:all .2s ease;
  position:relative;
}
.nav-icon:hover{background:rgba(255,255,255,.05);color:var(--p-c-text)}
.nav-icon svg{width:16px;height:16px}
.nav-icon .badge{
  position:absolute;
  top:-1px;left:-1px;
  min-width:14px;height:14px;
  padding:0 3px;
  background:var(--p-c-brand);
  border-radius:var(--p-r-full);
  font-family:var(--p-f-mono);
  font-size:9px;font-weight:800;
  color:#fff;
  display:grid;place-items:center;
  box-shadow:0 0 0 2px var(--p-c-bg);
  line-height:1;
}
.nav-icon .badge[hidden]{display:none}

/* ============ DROPDOWN / MEGA-MENU SYSTEM ============ */
.nav-item{position:relative}
.nav-item.has-drop > a,
.nav-item.has-drop > .nav-icon{position:relative}

.nav-caret{
  margin-inline-start:3px;
  opacity:.55;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), opacity .2s;
}
.nav-item.has-drop:hover > a > .nav-caret,
.nav-item.has-drop:focus-within > a > .nav-caret{
  transform:rotate(180deg);
  opacity:1;
}

.nav-panel{
  position:absolute;
  top:calc(100% + 14px);
  inset-inline-start:50%;
  transform:translateX(-50%) translateY(-8px);
  min-width:640px;
  max-width:min(92vw, 780px);
  padding:var(--p-s-5);
  background:rgba(16,16,24,.96);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--p-r-6, 20px);
  box-shadow:
    0 32px 80px -24px rgba(0,0,0,.8),
    0 16px 40px -16px rgba(99,17,185,.28),
    inset 0 1px 0 rgba(255,255,255,.05);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, transform .34s cubic-bezier(.2,.7,.2,1), visibility 0s linear .3s;
  z-index:var(--z-dropdown, 100);
}
/* RTL flip — inset-inline-start maps to right, so translate must flip sign */
html[dir="rtl"] .nav-panel{transform:translateX(50%) translateY(-8px)}

/* Account panel: narrower, right-aligned */
.nav-panel-account{
  min-width:300px;
  max-width:340px;
  inset-inline-start:auto;
  inset-inline-end:0;
  transform:translateY(-8px);
}
html[dir="rtl"] .nav-panel-account{transform:translateY(-8px)}

/* Show state — CSS hover + JS .open fallback */
.nav-item.has-drop:hover > .nav-panel,
.nav-item.has-drop:focus-within > .nav-panel,
.nav-item.has-drop.open > .nav-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
  transition:opacity .28s ease, transform .34s cubic-bezier(.2,.7,.2,1), visibility 0s;
}
html[dir="rtl"] .nav-item.has-drop:hover > .nav-panel,
html[dir="rtl"] .nav-item.has-drop:focus-within > .nav-panel,
html[dir="rtl"] .nav-item.has-drop.open > .nav-panel{
  transform:translateX(50%) translateY(0);
}
.nav-item.has-drop:hover > .nav-panel-account,
.nav-item.has-drop:focus-within > .nav-panel-account,
.nav-item.has-drop.open > .nav-panel-account,
html[dir="rtl"] .nav-item.has-drop:hover > .nav-panel-account,
html[dir="rtl"] .nav-item.has-drop:focus-within > .nav-panel-account,
html[dir="rtl"] .nav-item.has-drop.open > .nav-panel-account{
  transform:translateY(0);
}

/* Pointer arrow */
.nav-panel::before{
  content:"";
  position:absolute;
  top:-6px;
  inset-inline-start:50%;
  transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;
  background:rgba(16,16,24,.96);
  border-top:1px solid rgba(255,255,255,.08);
  border-left:1px solid rgba(255,255,255,.08);
}
.nav-panel-account::before{
  inset-inline-start:auto;
  inset-inline-end:14px;
  transform:rotate(45deg);
}

/* Invisible hover bridge so panel doesn't close when cursor drops */
.nav-item.has-drop::after{
  content:"";
  position:absolute;
  top:100%;
  inset-inline-start:0;
  width:100%;
  height:18px;
  pointer-events:none;
}
.nav-item.has-drop:hover::after,
.nav-item.has-drop.open::after{pointer-events:auto}

/* ── Mega-panel grid ── */
.nav-panel-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.2fr;
  gap:var(--p-s-5, 20px);
}
.nav-panel-col{display:flex;flex-direction:column;gap:2px}
.nav-panel-col-wide{border-inline-start:1px solid rgba(255,255,255,.06);padding-inline-start:var(--p-s-5, 20px)}

.nav-panel-title{
  font-family:var(--p-f-arabic);
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
  color:#C8C8D4;
  margin-bottom:10px;
  padding:0 10px 8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-panel-col > a{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:9px 10px;
  border-radius:10px;
  font-family:var(--p-f-arabic);
  font-size:13px;
  font-weight:700;
  color:var(--p-c-text);
  text-decoration:none;
  transition:background .2s, color .2s, transform .25s;
}
.nav-panel-col > a span{
  font-weight:500;
  font-size:11px;
  color:var(--p-c-text-3);
  letter-spacing:0;
}
.nav-panel-col > a:hover{
  background:rgba(99,17,185,.12);
  color:#fff;
  transform:translateX(-3px);
}
html[dir="rtl"] .nav-panel-col > a:hover{transform:translateX(3px)}

/* Brand-specific hover accent */
.nav-panel-col > a[data-brand="apple"]:hover{background:linear-gradient(90deg,rgba(170,170,180,.15),transparent)}
.nav-panel-col > a[data-brand="samsung"]:hover{background:linear-gradient(90deg,rgba(20,70,180,.18),transparent)}
.nav-panel-col > a[data-brand="huawei"]:hover{background:linear-gradient(90deg,rgba(230,0,30,.15),transparent)}
.nav-panel-col > a[data-brand="xiaomi"]:hover{background:linear-gradient(90deg,rgba(255,103,0,.15),transparent)}
.nav-panel-col > a[data-brand="honor"]:hover{background:linear-gradient(90deg,rgba(232,5,33,.15),transparent)}
.nav-panel-col > a[data-op="stc"]:hover{background:linear-gradient(90deg,rgba(79,0,140,.22),transparent)}
.nav-panel-col > a[data-op="mobily"]:hover{background:linear-gradient(90deg,rgba(0,180,100,.18),transparent)}
.nav-panel-col > a[data-op="zain"]:hover{background:linear-gradient(90deg,rgba(123,40,140,.22),transparent)}
.nav-panel-col > a[data-op="virgin"]:hover{background:linear-gradient(90deg,rgba(60,255,208,.15),transparent)}
.nav-panel-col > a[data-op="lebara"]:hover{background:linear-gradient(90deg,rgba(255,200,0,.15),transparent)}

/* Promo card inside panel */
.nav-panel-promo{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px !important;
  background:linear-gradient(135deg,rgba(99,17,185,.22),rgba(34,211,238,.12)) !important;
  border:1px solid rgba(99,17,185,.35);
  border-radius:14px !important;
  margin-bottom:10px;
}
.nav-panel-promo .np-badge{
  display:inline-block;
  align-self:flex-start;
  padding:3px 8px;
  background:#fff;
  color:#0A0A0F;
  font-family:var(--p-f-mono);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:var(--p-r-full);
  margin-bottom:4px;
}
.nav-panel-promo strong{
  font-family:var(--p-f-display);
  font-size:14px;
  color:#fff;
  font-weight:800;
}
.nav-panel-promo em{
  font-style:normal;
  font-size:11px;
  color:var(--p-c-text-2);
}
.nav-panel-promo:hover{transform:translateY(-2px) !important}

.nav-panel-link{
  color:var(--p-c-brand-2) !important;
  font-size:12px !important;
  font-weight:800 !important;
  padding:8px 10px !important;
}
.nav-panel-link:hover{background:transparent !important;color:#fff !important}
/* ── Account panel ── */
.nav-panel-user{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 10px 14px;
  border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:10px;
}
.nav-panel-avatar{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--p-c-brand),var(--p-c-brand-2));
  color:#fff;
  font-family:var(--p-f-display);
  font-size:16px;
  font-weight:800;
  flex-shrink:0;
}
.nav-panel-avatar.guest{
  background:rgba(255,255,255,.06);
  color:var(--p-c-text-3);
  font-weight:600;
}
.nav-panel-user-info{
  display:flex;
  flex-direction:column;
  min-width:0;
  flex:1;
}
.nav-panel-user-info strong{
  font-family:var(--p-f-arabic);
  font-size:13px;
  color:#fff;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-panel-user-info span{
  font-family:var(--p-f-mono);
  font-size:10px;
  color:var(--p-c-text-3);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-panel-cta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 4px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:8px;
}
.nav-panel-btn{
  display:grid;
  place-items:center;
  padding:10px;
  border-radius:10px;
  font-family:var(--p-f-arabic);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  transition:all .2s;
}
.nav-panel-btn.primary{
  background:var(--p-c-brand);
  color:#fff;
  box-shadow:0 8px 22px -10px rgba(99,17,185,.6);
}
.nav-panel-btn.primary:hover{background:var(--p-c-brand-2);transform:translateY(-1px)}
.nav-panel-btn.ghost{
  background:rgba(255,255,255,.04);
  color:var(--p-c-text);
  border:1px solid rgba(255,255,255,.08);
}
.nav-panel-btn.ghost:hover{background:rgba(255,255,255,.07)}
.nav-panel-links{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.nav-panel-links a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-radius:9px;
  font-family:var(--p-f-arabic);
  font-size:13px;
  font-weight:600;
  color:var(--p-c-text-2);
  text-decoration:none;
  transition:background .2s, color .2s;
}
.nav-panel-links a svg{
  flex-shrink:0;
  opacity:.75;
}
.nav-panel-links a:hover{
  background:rgba(99,17,185,.10);
  color:#fff;
}
.nav-panel-links a:hover svg{opacity:1;color:var(--p-c-brand-2)}
.nav-panel-foot{
  padding-top:8px;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.06);
}
.nav-panel-logout{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-radius:9px;
  font-family:var(--p-f-arabic);
  font-size:13px;
  font-weight:700;
  color:#EF4444;
  text-decoration:none;
  transition:background .2s;
}
.nav-panel-logout:hover{background:rgba(239,68,68,.12)}

/* ══ Region panel (language + currency) ══ */
.nav-panel-region{
  min-width:320px;
  max-width:360px;
  inset-inline-start:auto;
  inset-inline-end:0;
  transform:translateY(-8px);
  padding:16px;
}
html[dir="rtl"] .nav-panel-region{transform:translateY(-8px)}
.nav-item.has-drop:hover > .nav-panel-region,
.nav-item.has-drop:focus-within > .nav-panel-region,
.nav-item.has-drop.open > .nav-panel-region,
html[dir="rtl"] .nav-item.has-drop:hover > .nav-panel-region,
html[dir="rtl"] .nav-item.has-drop:focus-within > .nav-panel-region,
html[dir="rtl"] .nav-item.has-drop.open > .nav-panel-region{
  transform:translateY(0);
}
.nav-panel-region::before{
  inset-inline-start:auto;
  inset-inline-end:14px;
  transform:rotate(45deg);
}
.nav-region-group{margin-bottom:14px}
.nav-region-group:last-of-type{margin-bottom:10px}
.nav-region-group .nav-panel-title{
  padding:0 2px 6px;
  margin-bottom:8px;
}
.nav-region-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.nav-region-row-ccy{
  grid-template-columns:1fr 1fr;
  margin-top:6px;
}
.nav-region-chip{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  font-family:var(--p-f-arabic);
  color:var(--p-c-text-2);
  cursor:pointer;
  transition:background .2s, border-color .2s, color .2s, transform .2s;
  text-align:start;
  min-width:0;
}
.nav-region-chip b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:26px;
  height:26px;
  border-radius:7px;
  background:rgba(99,17,185,.14);
  color:#fff;
  font-size:12px;
  font-weight:800;
  font-family:var(--p-f-mono);
  line-height:1;
}
.nav-region-chip b.has-svg svg{
  width:14px;
  height:14px;
}
.nav-region-chip span{
  flex:1;
  min-width:0;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav-region-chip em{
  flex:none;
  padding:3px 8px;
  border-radius:var(--p-r-full);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  font-family:var(--p-f-arabic);
  font-size:9.5px;
  font-weight:700;
  font-style:normal;
  letter-spacing:0;
  color:#fff;
}
.nav-region-chip-primary{
  width:100%;
  padding:13px 14px;
  background:linear-gradient(135deg,rgba(99,17,185,.10),rgba(34,211,238,.05));
  border-color:rgba(99,17,185,.25);
  position:relative;
}
.nav-region-chip-primary::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(120% 80% at 0% 50%,rgba(99,17,185,.22),transparent 60%);
  pointer-events:none;
}
.nav-region-chip-primary > *{position:relative}
.nav-region-chip-primary b{
  width:34px;
  height:34px;
  border-radius:10px;
  background:rgba(255,255,255,.12);
  color:#fff;
}
.nav-region-chip-primary b.has-svg svg{
  width:20px;
  height:20px;
  color:#fff;
}
.nav-region-chip-primary span{
  font-size:13px;
  color:#fff;
}
.nav-region-chip-primary:hover{
  background:linear-gradient(135deg,rgba(99,17,185,.18),rgba(34,211,238,.08));
  border-color:rgba(99,17,185,.5);
}
.nav-region-chip-primary.is-active{
  background:linear-gradient(135deg,rgba(99,17,185,.3),rgba(34,211,238,.12));
  border-color:rgba(99,17,185,.65);
}
.nav-region-chip-primary.is-active b{
  background:#fff;
  color:#6311B9;
}
.nav-region-chip-primary.is-active b.has-svg svg{color:#6311B9}
.nav-region-chip:hover{
  background:rgba(99,17,185,.08);
  border-color:rgba(99,17,185,.3);
  color:#fff;
  transform:translateY(-1px);
}
.nav-region-chip.is-active{
  background:linear-gradient(135deg,rgba(99,17,185,.22),rgba(34,211,238,.12));
  border-color:rgba(99,17,185,.55);
  color:#fff;
}
.nav-region-chip.is-active b{
  background:#fff;
  color:#6311B9;
}
.nav-region-foot{
  display:flex;
  align-items:flex-start;
  gap:6px;
  padding-top:10px;
  margin-top:2px;
  border-top:1px solid rgba(255,255,255,.06);
  font-family:var(--p-f-arabic);
  font-size:10.5px;
  line-height:1.5;
  color:var(--p-c-text-3);
}
.nav-region-foot svg{flex:none;margin-top:2px;color:var(--p-c-brand-2)}

/* Responsive — collapse mega panels on tablet */
@media (max-width:1100px){
  .nav-panel{min-width:520px}
  .nav-panel-grid{grid-template-columns:1fr 1fr}
  .nav-panel-col-wide{
    grid-column:1/-1;
    border-inline-start:0;
    border-top:1px solid rgba(255,255,255,.06);
    padding-inline-start:0;
    padding-top:var(--p-s-4);
  }
}
@media (max-width:760px){
  .nav-panel{
    min-width:calc(100vw - 32px);
    max-width:calc(100vw - 32px);
    inset-inline-start:50% !important;
    transform:translateX(50%) translateY(-8px);
  }
  html[dir="rtl"] .nav-panel{transform:translateX(-50%) translateY(-8px)}
  .nav-panel-grid{grid-template-columns:1fr}
  .nav-panel-col-wide{grid-column:auto}
}

/* Language switcher — compact pill beside nav-icons */
.nav-lang{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:30px;
  padding:0 11px;
  margin-inline-start:4px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.09);
  border-radius:var(--p-r-full);
  color:var(--p-c-text-2);
  font-family:var(--p-f-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .2s, background .2s, border-color .2s, transform .2s;
  direction:ltr;
}
.nav-lang svg{
  width:13px;height:13px;
  opacity:.85;
  transition:transform .5s cubic-bezier(.2,.7,.2,1), opacity .2s;
}
.nav-lang:hover{
  color:var(--p-c-text);
  background:rgba(99,17,185,.10);
  border-color:rgba(99,17,185,.35);
  transform:translateY(-1px);
}
.nav-lang:hover svg{transform:rotate(180deg);opacity:1}
.nav-item-region.has-drop:hover > .nav-lang,
.nav-item-region.has-drop.open > .nav-lang,
.nav-item-region.has-drop:focus-within > .nav-lang{
  color:#fff;
  background:rgba(99,17,185,.12);
  border-color:rgba(99,17,185,.45);
}
.nav-lang-txt{line-height:1;font-variant-numeric:tabular-nums}

/* Hide ALL old navbar styles in dark theme by neutralizing */
.skip-nav{position:absolute;left:-9999px}

/* ============ HERO — STAR ============ */
.hero{
  max-width:var(--container-max);
  margin:20px auto 0;
  padding:0 var(--container-pad-x);
}
.star{
  position:relative;
  border:1px solid var(--p-c-line-2);
  border-radius:var(--p-r-6);
  padding:var(--p-s-9);
  background:var(--p-c-surface);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--p-s-9);
  align-items:center;
}
.star::after{
  content:"";position:absolute;
  top:50%;left:-200px;
  width:600px;height:600px;
  transform:translateY(-50%);
  background:radial-gradient(circle, rgba(99,17,185,.10), transparent 60%);
  filter:blur(80px);pointer-events:none;
}
.star-inner{position:relative;z-index:2}
.star-title{
  font-family:var(--p-f-display);
  font-size:clamp(32px,3.6vw,52px);
  font-weight:800;
  line-height:1.25;
  letter-spacing:0;
  margin:0 0 var(--p-s-5);
  color:var(--p-c-text);
}
.star-title span{color:var(--p-c-brand-2)}
.star-area{
  display:inline-flex;align-items:center;gap:var(--p-s-2);
  color:var(--p-c-text-3);
  font-size:var(--p-t-xs);
  font-family:var(--p-f-mono);
  margin-bottom:var(--p-s-5);
  letter-spacing:.02em;
}
.star-area svg{color:var(--p-c-brand-2);flex-shrink:0}
.star-area b{
  color:var(--p-c-text-2);
  font-weight:700;
  font-family:var(--p-f-arabic);
}
.star-desc{
  font-size:var(--p-t-base);
  color:var(--p-c-text-2);
  line-height:1.7;
  max-width:48ch;
  margin:0 0 var(--p-s-7);
}
.star-cta{display:flex;gap:var(--p-s-3);align-items:center;flex-wrap:wrap}
.hero .btn{
  display:inline-flex;align-items:center;gap:var(--p-s-2);
  padding:var(--p-s-4) var(--p-s-6);
  border-radius:var(--p-r-full);
  font-family:var(--p-f-arabic);
  font-size:var(--p-t-sm);font-weight:700;
  text-decoration:none;
  transition:all .25s ease;
  white-space:nowrap;
  border:0;
  cursor:pointer;
}
.hero .btn-primary{
  background:var(--p-c-brand);color:#fff;
  box-shadow:0 16px 40px -12px rgba(99,17,185,.6);
}
.hero .btn-primary:hover{background:var(--p-c-brand-2);transform:translateY(-1px)}
.hero .btn-ghost{
  background:transparent;
  border:1px solid var(--p-c-line-2);
  color:var(--p-c-text-2);
}
.hero .btn-ghost:hover{color:var(--p-c-text);border-color:var(--p-c-text-3)}

/* Star Visual — Badge Card */
.star-visual{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;
}
.badge-card{
  position:relative;
  width:300px;
  padding:var(--p-s-7) var(--p-s-6);
  text-align:center;
}
.badge-card::before{
  content:"";position:absolute;
  top:-60px;left:50%;
  transform:translateX(-50%);
  width:340px;height:340px;
  background:radial-gradient(circle, rgba(99,17,185,.14), transparent 60%);
  filter:blur(60px);
  pointer-events:none;
}
.badge-icon{
  position:relative;z-index:1;
  width:80px;height:80px;
  margin:0 auto var(--p-s-5);
  display:grid;place-items:center;
  border-radius:var(--p-r-full);
  background:var(--p-c-brand-soft);
  border:1px solid rgba(99,17,185,.30);
  color:var(--p-c-brand-2);
}
.badge-headline{
  position:relative;z-index:1;
  font-family:var(--p-f-arabic);
  font-size:var(--p-t-3xl);
  font-weight:800;
  line-height:1.2;
  letter-spacing:0;
  color:var(--p-c-text);
  margin-bottom:var(--p-s-6);
}
.badge-headline span{color:var(--p-c-brand-2)}
.badge-feats{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:var(--p-s-3);
  padding-top:var(--p-s-5);
  margin-top:var(--p-s-5);
  border-top:1px solid var(--p-c-line);
  text-align:right;
}
.badge-feat{
  display:flex;align-items:center;gap:var(--p-s-3);
  font-size:var(--p-t-xs);
  color:var(--p-c-text-2);
}
.badge-feat svg{
  flex-shrink:0;
  color:var(--p-c-brand-2);
}

/* ============ HERO V2 — Single-Column Centered ============ */
.star.star-v2{
  display:block;
  text-align:center;
  padding:var(--p-s-8) var(--p-s-7) var(--p-s-6);
  background:
    linear-gradient(180deg, rgba(99,17,185,.04) 0%, transparent 40%),
    var(--p-c-surface);
  isolation:isolate;
}
.star.star-v2::after{display:none}

/* Decorative orbs */
.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  pointer-events:none;
  z-index:0;
}
.hero-orb-1{
  top:-140px; inset-inline-end:-120px;
  width:480px; height:480px;
  background:radial-gradient(circle, rgba(99,17,185,.28), transparent 65%);
}
.hero-orb-2{
  bottom:-180px; inset-inline-start:-100px;
  width:520px; height:520px;
  background:radial-gradient(circle, rgba(34,211,238,.18), transparent 65%);
}

/* Faint grid pattern overlay */
.hero-grid-pattern{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at center, #000 35%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 35%, transparent 75%);
  pointer-events:none;
  z-index:0;
}

/* Eyebrow pill with pulse */
.hero-v2-eyebrow{
  position:relative; z-index:2;
  display:inline-flex;
  align-items:center;
  gap:var(--p-s-2);
  padding:6px 14px;
  border-radius:var(--p-r-full);
  background:rgba(99,17,185,.10);
  border:1px solid rgba(99,17,185,.28);
  color:var(--p-c-text);
  font-family:var(--p-f-arabic);
  font-size:12px;
  font-weight:700;
  margin-bottom:var(--p-s-5);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hero-pulse{
  width:8px; height:8px;
  border-radius:50%;
  background:var(--p-c-brand-2);
  box-shadow:0 0 0 0 rgba(34,211,238,.65);
  animation:heroPulse 1.8s ease-out infinite;
  flex-shrink:0;
}
@keyframes heroPulse{
  0%{box-shadow:0 0 0 0 rgba(34,211,238,.65)}
  70%{box-shadow:0 0 0 10px rgba(34,211,238,0)}
  100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}
}

/* Headline override for centered layout */
.hero-v2-title{
  position:relative; z-index:2;
  font-size:clamp(28px, 3.6vw, 44px);
  line-height:1.2;
  margin:0 auto var(--p-s-4);
  max-width:18ch;
  text-wrap:balance;
  color:#fff;
  background:linear-gradient(180deg, #ffffff 0%, #e8e4f5 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
/* Dark-mode safety: some Android browsers force-theme gradient text — fallback to solid white */
@media (prefers-color-scheme: dark){
  .hero-v2-title{
    background:none !important;
    -webkit-text-fill-color:#fff !important;
    color:#fff !important;
  }
  .hero-v2-title span{
    -webkit-text-fill-color:#A78BFA !important;
    color:#A78BFA !important;
  }
}
.hero-v2-title span{
  -webkit-text-fill-color:var(--p-c-brand-2);
  color:var(--p-c-brand-2);
  position:relative;
  display:inline-block;
}
.hero-v2-title span::after{
  content:"";
  position:absolute;
  inset-inline:0;
  bottom:-6px;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--p-c-brand-2), transparent);
  border-radius:2px;
}

/* Centered description */
.hero-v2-desc{
  position:relative; z-index:2;
  max-width:42ch;
  margin:0 auto var(--p-s-6);
  font-size:clamp(16px, 2vw, 20px);
  color:#E8E7F5;
  line-height:1.55;
  font-weight:500;
  letter-spacing:-0.005em;
}
@media (max-width:600px){
  .hero-v2-desc{font-size:17px;line-height:1.5;max-width:26ch}
}

/* Centered CTA row */
.hero-v2-cta{
  position:relative; z-index:2;
  justify-content:center;
  margin-bottom:var(--p-s-7);
}
.hero-v2-cta .btn-primary{
  padding:var(--p-s-4) var(--p-s-6);
  font-size:var(--p-t-sm);
  box-shadow:0 20px 50px -14px rgba(99,17,185,.7), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.hero-v2-cta .btn-primary svg{
  transition:transform .3s ease;
}
.hero-v2-cta .btn-primary:hover svg{
  transform:translateX(4px);
}
html[dir="rtl"] .hero-v2-cta .btn-primary:hover svg{
  transform:translateX(-4px);
}
.hero-v2-cta .btn-ghost{
  padding:var(--p-s-5) var(--p-s-7);
  font-size:var(--p-t-base);
}

/* Horizontal trust strip — 4 chips */
.hero-trust-strip{
  position:relative; z-index:2;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--p-s-3);
  padding-top:var(--p-s-5);
  margin-top:var(--p-s-3);
  border-top:1px solid var(--p-c-line);
}

/* Installment hook — minimal financial callout below CTA */
.hero-installment{
  position:relative; z-index:2;
  display:inline-flex; align-items:center;
  gap:8px;
  margin:-4px auto var(--p-s-5);
  font-family:var(--p-f-arabic);
  font-size:13px;
  font-weight:500;
  color:var(--p-c-text-3);
  width:fit-content;
}
.hero-installment-text{white-space:nowrap}
.hero-installment-brands{
  display:inline-flex; align-items:center; gap:6px;
}
.hero-brand{
  font-family:var(--p-f-display);
  font-size:13px;
  font-weight:700;
  letter-spacing:-0.01em;
}
.hero-brand-tabby{color:#3BFFA1}
.hero-brand-tamara{color:#FF6BAA}
.hero-brand-sep{color:var(--p-c-text-3); font-weight:400}
@media (max-width:600px){
  .hero-installment{font-size:12.5px; gap:6px}
  .hero-brand{font-size:12.5px}
}

/* Inline trust line — icons + text only, no cards (Apple-style) */
.hero-trust-line{
  position:relative; z-index:2;
  display:flex; flex-wrap:wrap;
  align-items:center; justify-content:center;
  gap:var(--p-s-4);
  padding-top:var(--p-s-5);
  margin-top:var(--p-s-4);
  border-top:1px solid var(--p-c-line);
  font-family:var(--p-f-arabic);
}
.hero-trust-item{
  display:inline-flex; align-items:center;
  gap:8px;
  font-size:13.5px; font-weight:600;
  color:var(--p-c-text-2);
  line-height:1;
  white-space:nowrap;
}
.hero-trust-item svg{
  width:16px; height:16px;
  color:var(--p-c-brand-2);
  flex-shrink:0;
}
.hero-trust-dot{
  width:4px; height:4px;
  border-radius:50%;
  background:var(--p-c-text-3);
  opacity:.45;
  flex-shrink:0;
}
/* Only 3 items now — full text fits on all screens */
.hero-trust-short{display:none}
@media (max-width:900px){
  .hero-trust-line{gap:12px}
  .hero-trust-item{font-size:12.5px}
}
@media (max-width:600px){
  .hero-trust-line{
    flex-wrap:nowrap;
    justify-content:space-between;
    gap:8px;
    padding-top:var(--p-s-4);
  }
  .hero-trust-dot{display:none}
  .hero-trust-item{font-size:11.5px; gap:5px}
  .hero-trust-item svg{width:13px; height:13px}
}
@media (max-width:360px){
  .hero-trust-line{gap:6px}
  .hero-trust-item{font-size:10.5px; gap:4px}
  .hero-trust-item svg{width:12px; height:12px}
  /* Fall back to short text only on very tiny screens */
  .hero-trust-full{display:none}
  .hero-trust-short{display:inline}
}

.trust-chip{
  display:flex;
  align-items:center;
  gap:var(--p-s-3);
  padding:var(--p-s-3) var(--p-s-4);
  background:rgba(255,255,255,.02);
  border:1px solid var(--p-c-line);
  border-radius:var(--p-r-5);
  text-align:start;
  transition:all .3s ease;
}
.trust-chip:hover{
  background:rgba(99,17,185,.06);
  border-color:rgba(99,17,185,.30);
  transform:translateY(-2px);
}
.trust-chip-icon{
  flex-shrink:0;
  width:36px; height:36px;
  display:grid; place-items:center;
  border-radius:var(--p-r-full);
  background:var(--p-c-brand-soft);
  border:1px solid rgba(99,17,185,.30);
  color:var(--p-c-brand-2);
}
.trust-chip-icon svg{width:18px;height:18px}
.trust-chip-body{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.trust-chip-body b{
  font-family:var(--p-f-arabic);
  font-size:13px;
  font-weight:800;
  color:var(--p-c-text);
  line-height:1.3;
}
.trust-chip-body span{
  font-family:var(--p-f-arabic);
  font-size:11px;
  color:var(--p-c-text-3);
  line-height:1.3;
}

/* Responsive trust strip */
@media (max-width:900px){
  .hero-trust-strip{grid-template-columns:repeat(2, 1fr)}
  .star.star-v2{padding:var(--p-s-9) var(--p-s-6) var(--p-s-7)}
}
/* Tighten gap between navbar and hero on mobile */
@media (max-width:1024px){
  .hero{margin-top:14px}
  .nav-wrap{padding-top:var(--p-s-3)}
}

/* Mobile hero density: shorten padding so next section peeks above fold */
@media (max-width:600px){
  .star.star-v2{
    padding-top:26px !important;
    padding-bottom:20px !important;
  }
  .hero-v2-title{margin-bottom:8px !important}
  .hero-v2-desc{margin-bottom:16px !important}
  .hero-v2-cta{margin-bottom:14px !important}
  .hero-v2-cta .btn-primary{
    width:min(82%, 320px);
    margin:0 auto;
  }
  .hero-installment{margin-top:10px !important; padding-top:10px !important}
  .hero-trust-line{
    margin-top:12px !important;
    padding-top:12px !important;
    gap:14px !important;
    justify-content:space-between !important;
  }
  .hero-trust-item{
    font-size:11px !important;
    gap:5px;
    line-height:1.2;
    flex:1 1 auto;
    justify-content:center;
  }
  .hero-trust-item svg{width:13px !important; height:13px !important}
}

@media (max-width:600px){
  /* Horizontal scroll — single row, swipeable (Noon/SHEIN pattern) */
  .hero-trust-strip{
    display:flex !important;
    grid-template-columns:none;
    gap:8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:4px 0 8px;
    margin-inline:calc(-1 * var(--p-s-4));
    padding-inline:var(--p-s-4);
  }
  .hero-trust-strip::-webkit-scrollbar{display:none}
  .trust-chip{
    flex:0 0 auto;
    min-width:170px;
    padding:10px 12px;
    gap:8px;
    scroll-snap-align:start;
  }
  .trust-chip-icon{width:30px;height:30px}
  .trust-chip-icon svg{width:14px;height:14px}
  .trust-chip-body b{font-size:12px}
  .trust-chip-body span{font-size:10.5px}
  .hero-v2-title{font-size:clamp(30px, 8vw, 44px)}
}

/* Cat-nav section needs the same dark surface */
html[data-theme="dark"] .cat-nav-section{background:transparent}

/* Responsive */
@media (max-width:1024px){
  .star{padding:var(--p-s-8) var(--p-s-7);grid-template-columns:1fr;gap:var(--p-s-7)}
  .star-visual{order:-1}
  .nav-links{display:none}
}

/* ═══════════════════════════════════════════════
   MOBILE NAV: Burger + Drawer
   ═══════════════════════════════════════════════ */
.nav-burger{
  display:none;
  width:40px;height:40px;
  background:transparent;
  border:1px solid var(--p-c-line-2);
  border-radius:var(--p-r-full);
  padding:0;
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex-shrink:0;
  transition:border-color .2s, background .2s;
}
.nav-burger:hover{background:rgba(255,255,255,.04);border-color:var(--p-c-line)}
.nav-burger span{
  width:16px;height:1.5px;
  background:var(--p-c-text);
  border-radius:2px;
  transition:transform .25s ease, opacity .2s ease;
}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* Drawer overlay (backdrop) */
.nav-drawer-overlay{
  position:fixed;
  inset:0;
  background:rgba(7,7,11,.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;
  visibility:hidden;
  z-index:98;
  transition:opacity .3s ease, visibility 0s .3s;
}
.nav-drawer-overlay.is-open{
  opacity:1;
  visibility:visible;
  transition:opacity .3s ease;
}

/* Drawer panel — slides from the right edge (RTL design) */
.nav-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(78vw, 310px);
  height:100vh;
  background:#0B0B12;
  border-left:1px solid var(--p-c-line-2);
  z-index:99;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px 20px 28px;
  overflow-y:auto;
  transform:translateX(100%);
  transition:transform .32s cubic-bezier(.2,.7,.2,1);
  box-shadow:-18px 0 48px -24px rgba(0,0,0,.55);
}
.nav-drawer.is-open{transform:translateX(0)}

/* Hard-hide drawer on desktop — DOM exists but never renders */
@media (min-width:1025px){
  .nav-drawer,
  .nav-drawer-overlay{display:none !important}
}

/* ═════ DRAWER v2 — Profile-First + Sections (Salla/Jahez inspired) ═════ */
.nav-drawer{padding:0;gap:0}

.nav-drawer-close{
  width:34px;height:34px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.05);
  border:1px solid var(--p-c-line-2);
  border-radius:50%;
  color:var(--p-c-text);
  cursor:pointer;
  flex-shrink:0;
  position:relative;z-index:1;
  transition:border-color .2s, background .2s;
}
.nav-drawer-close:hover{background:rgba(255,255,255,.08);border-color:var(--p-c-line)}

/* USER HEADER — single row: bell (left) · info (center) · avatar (right in RTL) */
.nav-drawer-user{
  display:flex;align-items:center;gap:14px;
  padding:22px 20px 22px;
  background:
    radial-gradient(380px 160px at 85% 30%, rgba(99,17,185,.28), transparent 70%),
    radial-gradient(320px 140px at 10% 80%, rgba(34,211,238,.14), transparent 70%),
    linear-gradient(135deg,#1a0e2e 0%,#0E0E18 65%);
  position:relative;
  border-bottom:1px solid var(--p-c-line-2);
  overflow:hidden;
}

.nav-drawer-avatar{
  width:58px;height:58px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--p-c-brand) 0%,#A78BFA 100%);
  display:grid;place-items:center;
  color:#fff;font-weight:800;font-size:26px;
  flex-shrink:0;
  position:relative;z-index:1;
  box-shadow:0 8px 22px -4px rgba(99,17,185,.55), 0 0 0 3px rgba(255,255,255,.05);
}
.nav-drawer-user.is-guest .nav-drawer-avatar{
  background:rgba(255,255,255,.06);
  color:var(--p-c-text-2);
  box-shadow:none;
  border:1px solid var(--p-c-line-2);
}
.nav-drawer-user-info{flex:1;min-width:0;position:relative;z-index:1}
.nav-drawer-user-info b{
  display:block;
  font-size:17px;font-weight:800;
  color:#fff;
  margin-bottom:3px;
  letter-spacing:-.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nav-drawer-user-info span{
  display:block;
  font-size:12.5px;
  color:var(--p-c-text-3);
  font-family:ui-monospace,Menlo,monospace;
  letter-spacing:.02em;
}
.nav-drawer-user-info a{
  display:inline-block;
  font-size:12.5px;
  color:var(--p-c-brand);
  font-weight:700;
  text-decoration:none;
  transition:color .2s;
}
.nav-drawer-user-info a:hover{color:#A78BFA}
.nav-drawer-bell{
  position:relative;z-index:1;
  width:38px;height:38px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid var(--p-c-line-2);
  border-radius:50%;
  color:var(--p-c-text);
  flex-shrink:0;
  transition:border-color .2s, background .2s;
}
.nav-drawer-bell:hover{background:rgba(255,255,255,.09);border-color:var(--p-c-brand)}
.nav-drawer-bell-dot{
  position:absolute;top:8px;right:8px;
  width:7px;height:7px;
  background:#EF4444;
  border-radius:50%;
  box-shadow:0 0 0 2px var(--p-c-bg,#0B0B12);
}

/* SECTIONS */
.nav-drawer-section{
  padding:10px 12px;
  display:flex;flex-direction:column;
}
/* Thin subtle divider between sections (lighter than before) */
.nav-drawer-section + .nav-drawer-section{
  border-top:1px solid rgba(255,255,255,.04);
}

.nav-drawer-row{
  display:flex;align-items:center;gap:14px;
  padding:13px 10px;
  color:var(--p-c-text);
  text-decoration:none;
  border-radius:10px;
  font-size:14px;font-weight:600;
  transition:background .2s, color .2s;
}
.nav-drawer-row:hover{background:rgba(255,255,255,.03)}
.nav-drawer-row svg{
  width:18px;height:18px;
  color:var(--p-c-text-3);
  flex-shrink:0;
  transition:color .2s;
}
.nav-drawer-row:hover svg{color:var(--p-c-brand)}
.nav-drawer-row.is-highlighted svg{color:var(--p-c-brand)}
.nav-drawer-row.is-highlighted{color:var(--p-c-brand)}

.nav-drawer-row .nav-drawer-badge{
  margin-inline-start:auto;
}

/* Compact region */
.nav-drawer-region{
  padding:14px 20px;
  display:flex;flex-direction:column;gap:10px;
  border-top:1px solid rgba(255,255,255,.04);
}
.nav-drawer-region-row{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.nav-drawer-region-label{
  font-size:11px;font-weight:700;
  color:var(--p-c-text-3);
  text-transform:uppercase;
  letter-spacing:.06em;
  min-width:48px;
}
.nav-drawer-region-chips{display:flex;gap:5px;flex-wrap:wrap;flex:1}
.nav-drawer-chip{
  padding:5px 10px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--p-c-line-2);
  border-radius:999px;
  color:var(--p-c-text-2);
  font-size:11.5px;font-weight:600;
  cursor:pointer;
  transition:border-color .2s, color .2s, background .2s;
}
.nav-drawer-chip:hover{color:var(--p-c-text);border-color:var(--p-c-line)}
.nav-drawer-chip.is-active{
  background:rgba(99,17,185,.14);
  border-color:var(--p-c-brand);
  color:var(--p-c-text);
}

.nav-drawer-logout{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:14px 20px 20px;
  padding:11px;
  background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.25);
  border-radius:10px;
  color:#F87171;
  font-size:13px;font-weight:700;
  text-decoration:none;
  transition:background .2s, border-color .2s;
}
.nav-drawer-logout:hover{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.4)}

/* Social row */
.nav-drawer-social-row{
  display:flex;justify-content:center;gap:10px;
  padding:14px 20px 10px;
  border-top:1px solid rgba(255,255,255,.04);
}
.nav-drawer-social-btn{
  width:34px;height:34px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.03);
  border:1px solid var(--p-c-line-2);
  border-radius:50%;
  transition:color .2s, border-color .2s, background .2s, transform .2s;
}
.nav-drawer-social-btn:hover{transform:translateY(-1px);color:#fff}
.nav-drawer-social-btn.is-whatsapp  { color:#25D366; }
.nav-drawer-social-btn.is-x         { color:#E7E9EA; }
.nav-drawer-social-btn.is-instagram { color:#E1306C; }
.nav-drawer-social-btn.is-tiktok    { color:#00F2EA; }
.nav-drawer-social-btn.is-whatsapp:hover  { background:#25D366; border-color:#25D366; color:#fff; }
.nav-drawer-social-btn.is-x:hover         { background:#000;    border-color:#fff;    color:#fff; }
.nav-drawer-social-btn.is-instagram:hover { background:linear-gradient(135deg,#F58529 0%,#DD2A7B 50%,#8134AF 100%); border-color:transparent; color:#fff; }
.nav-drawer-social-btn.is-tiktok:hover    { background:#000; border-color:#FF0050; color:#fff; }

/* Legal links row */
.nav-drawer-legal{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;
  padding:10px 20px;
}
.nav-drawer-legal a{
  font-size:11.5px;
  color:var(--p-c-text-3);
  text-decoration:none;
  transition:color .2s;
}
.nav-drawer-legal a:hover{color:var(--p-c-text)}

/* Copyright line */
.nav-drawer-copy{
  padding:4px 20px 14px;
  text-align:center;
  font-size:10.5px;
  color:var(--p-c-text-3);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.01em;
}

/* Neutralize legacy drawer styles we removed */
.nav-drawer-head, .nav-drawer-logo, .nav-drawer-search,
.nav-drawer-cta, .nav-drawer-links, .nav-drawer-quick,
.nav-drawer-social{display:none}

/* Hide main footer on mobile — drawer has everything */
@media (max-width:1024px){
  .ftr3{display:none !important}
  /* Remove the negative margin trick since footer is gone */
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0)) !important}
}

/* ═══════════════════════════════════════════════
   MOBILE SEARCH PILL (Search First pattern, <1024)
   ═══════════════════════════════════════════════ */
.nav-search-m{display:none}
@media (max-width:1024px){
  .nav-search-m{
    display:flex;align-items:center;gap:8px;
    flex:1;
    padding:8px 14px;
    background:rgba(255,255,255,.03);
    border:1px solid var(--p-c-line-2);
    border-radius:var(--p-r-full);
    color:var(--p-c-text-3);
    min-width:0;
    transition:border-color .2s;
  }
  .nav-search-m:focus-within{border-color:var(--p-c-line)}
  .nav-search-m svg{flex-shrink:0;width:13px;height:13px}
  .nav-search-m input{
    background:none;border:0;outline:none;
    font:inherit;font-size:13px;
    color:var(--p-c-text);
    width:100%;min-width:0;
  }
  .nav-search-m input::placeholder{color:var(--p-c-text-3)}

  /* Inline brand mark inside search pill */
  .nav-search-m-brand{
    font-family:var(--p-f-display);
    font-weight:800;font-size:12px;
    letter-spacing:.04em;
    color:var(--p-c-brand);
    text-decoration:none;
    line-height:1;
    padding:0 2px;
    flex-shrink:0;
    transition:color .2s;
  }
  .nav-search-m-brand:hover{color:var(--p-c-brand-2)}
  .nav-search-m-sep{
    width:1px;height:16px;
    background:var(--p-c-line-2);
    flex-shrink:0;
    margin:0 2px;
  }
}

/* Hide inline brand on very narrow phones to keep placeholder readable */
@media (max-width:360px){
  .nav-search-m-brand, .nav-search-m-sep{display:none}
}
/* Mobile/tablet header: compact 2-row pill layout */
@media (max-width:1024px){
  .nav-cta{display:none !important}
  .nav-wrap{
    padding:0 10px;
    top:0;
  }
  .nav{
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-rows:auto auto;
    grid-template-areas:
      "burger logo    actions"
      "search search  search";
    gap:4px 6px;
    padding:4px 8px;
    align-items:center;
    border-radius:18px;
  }
  /* Compact unified icons */
  .nav-burger{
    grid-area:burger;
    justify-self:start;
    width:28px;height:28px;
    border:0;
    background:transparent;
  }
  .nav-burger:hover{background:rgba(255,255,255,.05)}
  .nav-icon{
    width:28px;height:28px;
    border:0;
  }
  .nav-icon svg{width:16px;height:16px}
  .nav-burger span{width:14px;height:1.6px}
  .nav-logo{
    grid-area:logo;
    justify-self:center;
    display:inline-flex;
    padding:0;
    border-left:0;
    color:var(--p-c-brand);
  }
  .nav-logo-svg{height:22px}
  .nav-logo-img{height:16px}
  .nav-search-m{
    grid-area:search;
    width:100%;
    margin:0;
    padding:5px 10px;
    font-size:12px;
  }
  .nav-search-m input{font-size:12px;height:18px}
  .nav-search-m svg{width:12px;height:12px}
  .nav-actions{
    grid-area:actions;
    justify-self:end;
    margin-inline-start:0;
    gap:4px;
  }
}
/* Tiny phones: shrink logo so layout breathes */
@media (max-width:420px){
  .nav-logo-svg{height:20px}
  .nav-logo-img{height:14px}
  .nav-search-m input{font-size:12.5px}
}
@media (max-width:360px){
  .nav-logo-svg{height:18px}
  .nav-logo-img{height:13px}
  .nav{padding:8px 12px}
  .nav-burger,.nav-icon{width:32px;height:32px}
  .nav-burger span{width:16px}
  .nav-icon svg{width:18px;height:18px}
}

/* ═══════════════════════════════════════════════
   BOTTOM TAB BAR — 5 tabs, sticky mobile only
   ═══════════════════════════════════════════════ */
.bottom-tab-bar{display:none}
@media (max-width:1024px){
  .bottom-tab-bar{
    display:flex;
    position:fixed;
    left:12px;right:12px;
    bottom:calc(env(safe-area-inset-bottom,0) + 10px);
    z-index:60;
    padding:6px;
    background:rgba(15,15,22,.88);
    backdrop-filter:blur(24px) saturate(180%);
    -webkit-backdrop-filter:blur(24px) saturate(180%);
    border:1px solid var(--p-c-line-2);
    border-radius:22px;
    box-shadow:0 18px 48px -16px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.04);
    align-items:center;
    justify-content:space-around;
  }
  body.single-product, body.woocommerce-cart, body.woocommerce-checkout{
    /* keep some pages clear of extra sticky bars if needed later */
  }
  /* Body clearance so bottom tab doesn't cover content.
     Footer bg extends down into the clearance zone via negative margin + matching padding
     so we don't see the page's gradient leaking below the footer. */
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0))}
  .ftr3{
    margin-bottom:calc(-1 * (70px + env(safe-area-inset-bottom,0)));
    padding-bottom:calc(70px + env(safe-area-inset-bottom,0));
  }
}

.bt-tab{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:8px 6px;
  color:var(--p-c-text-3);
  text-decoration:none;
  border-radius:14px;
  transition:color .2s;
  min-width:0;
}
.bt-tab svg{transition:transform .2s}
.bt-tab:hover{color:var(--p-c-text-2)}
.bt-tab.is-active{color:var(--p-c-brand)}
.bt-tab.is-active svg{transform:translateY(-1px)}

.bt-label{
  font-size:10.5px;font-weight:700;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.bt-icon-wrap{
  position:relative;
  display:inline-grid;place-items:center;
}
.bt-badge{
  position:absolute;
  top:-5px;right:-8px;
  min-width:16px;height:16px;padding:0 4px;
  background:var(--p-c-brand);
  border-radius:var(--p-r-full);
  font-family:var(--p-f-mono);
  font-size:9.5px;font-weight:800;font-style:normal;
  color:#fff;
  display:grid;place-items:center;line-height:1;
  box-shadow:0 0 0 2px rgba(15,15,22,.88);
}

/* Center "صيانة" tab — elevated primary CTA */
.bt-tab-primary{position:relative;flex:none;padding:0 6px}
.bt-tab-primary .bt-tab-primary-inner{
  width:46px;height:46px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, var(--p-c-brand) 0%, var(--p-c-brand-2) 100%);
  color:#fff;
  border-radius:50%;
  margin-top:-18px;
  margin-bottom:2px;
  box-shadow:0 10px 24px -6px rgba(99,17,185,.55),0 0 0 3px rgba(15,15,22,.88);
  transition:transform .2s, box-shadow .2s;
}
.bt-tab-primary:hover .bt-tab-primary-inner{transform:translateY(-2px);box-shadow:0 16px 32px -8px rgba(99,17,185,.7),0 0 0 3px rgba(15,15,22,.88)}
.bt-tab-primary.is-active .bt-tab-primary-inner{box-shadow:0 14px 28px -6px rgba(99,17,185,.75),0 0 0 3px rgba(99,17,185,.18)}
.bt-tab-primary .bt-label{color:var(--p-c-brand)}

.nav-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:12px;
  border-bottom:1px solid var(--p-c-line-2);
}
.nav-drawer-logo{
  font-family:var(--p-f-display);
  font-weight:800;font-size:18px;letter-spacing:.04em;
  color:var(--p-c-brand);
  text-decoration:none;
}
.nav-drawer-close{
  width:36px;height:36px;
  display:grid;place-items:center;
  background:transparent;
  border:1px solid var(--p-c-line-2);
  border-radius:var(--p-r-full);
  color:var(--p-c-text);
  cursor:pointer;
  transition:border-color .2s, background .2s;
}
.nav-drawer-close:hover{background:rgba(255,255,255,.04);border-color:var(--p-c-line)}

.nav-drawer-search{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--p-c-line-2);
  border-radius:var(--p-r-full);
  color:var(--p-c-text-3);
}
.nav-drawer-search svg{flex-shrink:0}
.nav-drawer-search input{
  background:none;border:0;outline:none;
  width:100%;font:inherit;
  color:var(--p-c-text);
  font-size:13px;
}
.nav-drawer-search input::placeholder{color:var(--p-c-text-3)}

.nav-drawer-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 16px;
  background:var(--p-c-brand);color:#fff;
  border-radius:var(--p-r-full);
  font-family:var(--p-f-arabic);
  font-size:14px;font-weight:700;
  text-decoration:none;
  box-shadow:0 10px 28px -10px rgba(99,17,185,.6);
  transition:transform .2s, box-shadow .2s, background .2s;
}
.nav-drawer-cta:hover{background:var(--p-c-brand-2);transform:translateY(-1px)}

.nav-drawer-links{
  display:flex;flex-direction:column;
  border-top:1px solid var(--p-c-line-2);
  border-bottom:1px solid var(--p-c-line-2);
  padding:6px 0;
}
.nav-drawer-links a{
  display:flex;align-items:center;gap:10px;
  padding:12px 4px;
  font-size:14px;font-weight:600;
  color:var(--p-c-text);
  text-decoration:none;
  border-radius:10px;
  transition:background .2s, color .2s;
}
.nav-drawer-links a:hover{background:rgba(255,255,255,.03);color:var(--p-c-brand)}
.nav-drawer-dot{
  width:8px;height:8px;border-radius:50%;
  box-shadow:0 0 6px currentColor;
}
.nav-drawer-ico{
  color:var(--p-c-text-3);
  flex-shrink:0;
  transition:color .2s;
}
.nav-drawer-links a:hover .nav-drawer-ico{color:var(--p-c-brand)}

.nav-drawer-quick{
  display:flex;flex-direction:column;gap:2px;
}
.nav-drawer-quick-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 4px;
  font-size:13.5px;
  color:var(--p-c-text-2);
  text-decoration:none;
  border-radius:10px;
  transition:background .2s, color .2s;
}
.nav-drawer-quick-item:hover{background:rgba(255,255,255,.03);color:var(--p-c-text)}
.nav-drawer-quick-item em{font-style:normal;color:var(--p-c-brand);font-weight:700}
.nav-drawer-badge{
  margin-inline-start:auto;
  min-width:18px;height:18px;
  padding:0 6px;
  background:var(--p-c-brand);
  border-radius:var(--p-r-full);
  color:#fff;
  font-family:var(--p-f-mono);
  font-size:10px;font-weight:800;font-style:normal;
  display:inline-grid;place-items:center;
  line-height:1;
  box-shadow:0 0 0 2px #0B0B12;
}

/* Social strip */
.nav-drawer-social{
  display:flex;
  gap:10px;
  padding:12px 0;
  border-top:1px solid var(--p-c-line-2);
}
.nav-drawer-soc{
  width:34px;height:34px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.03);
  border:1px solid var(--p-c-line-2);
  border-radius:50%;
  transition:color .2s, border-color .2s, background .2s, transform .2s;
}
.nav-drawer-soc:hover{transform:translateY(-1px);color:#fff}
.nav-drawer-soc.is-whatsapp  { color:#25D366; }
.nav-drawer-soc.is-x         { color:#E7E9EA; }
.nav-drawer-soc.is-instagram { color:#E1306C; }
.nav-drawer-soc.is-tiktok    { color:#00F2EA; }
.nav-drawer-soc.is-whatsapp:hover  { background:#25D366; border-color:#25D366; color:#fff; }
.nav-drawer-soc.is-x:hover         { background:#000;    border-color:#fff;    color:#fff; }
.nav-drawer-soc.is-instagram:hover { background:linear-gradient(135deg,#F58529 0%,#DD2A7B 50%,#8134AF 100%); border-color:transparent; color:#fff; }
.nav-drawer-soc.is-tiktok:hover    { background:#000; border-color:#FF0050; color:#fff; }

.nav-drawer-region{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--p-c-line-2);
  display:flex;flex-direction:column;gap:8px;
}
.nav-drawer-region-label{
  font-size:11px;font-weight:700;
  color:var(--p-c-text-3);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.nav-drawer-region-chips{display:flex;gap:6px;flex-wrap:wrap}
.nav-drawer-chip{
  padding:7px 12px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--p-c-line-2);
  border-radius:var(--p-r-full);
  color:var(--p-c-text-2);
  font-size:12px;font-weight:600;
  cursor:pointer;
  transition:border-color .2s, color .2s, background .2s;
}
.nav-drawer-chip:hover{color:var(--p-c-text);border-color:var(--p-c-line)}
.nav-drawer-chip.is-active{
  background:rgba(99,17,185,.14);
  border-color:var(--p-c-brand);
  color:var(--p-c-text);
}

/* Body lock while drawer open */
body.nav-drawer-open{overflow:hidden}

/* Responsive rules */
@media (max-width:1024px){
  .nav-burger{display:flex}
  .nav-item-account, .nav-item-region{display:none}
  .nav-logo{padding:0;border-left:0}
}
@media (max-width:768px){
  .nav-search{display:none}
  .nav-cta{font-size:11px;padding:6px 10px;gap:4px}
  .nav-cta svg{width:12px;height:12px}
}
@media (max-width:600px){
  .nav-logo{padding:0;border-left:0}
  .nav-cta{font-size:10.5px;padding:5px 9px;gap:3px}
  .nav-cta svg{width:11px;height:11px}
}
@media (max-width:380px){
  /* Tightest phones: drop CTA label, keep icon only */
  .nav-cta{padding:0;width:32px;height:32px;justify-content:center;gap:0}
  .nav-cta .nav-cta-label{display:none}
  .nav-cta svg{width:14px;height:14px}
}

/* ═══════════════════════════════════════════════
   PRODUCT CARD — Variant A (Quiet Card + FX1 Morph)
   Ghost button morphs to "اشتري الآن" on hover
   ═══════════════════════════════════════════════ */


.pc-card{
  display:flex;
  flex-direction:column;
  background:var(--p-c-surface);
  border:1px solid var(--p-c-line);
  border-radius:var(--r-5);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:box-shadow .35s;
  position:relative;
}
.pc-card:hover{
  box-shadow:0 24px 60px -20px rgba(99,17,185,.28);
}
.pc-media{
  position:relative;
  aspect-ratio:1/1;
  background:#0f0f17;
  overflow:hidden;
}
.pc-media img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.pc-card:hover .pc-media img{transform:scale(1.06)}
.pc-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(10,10,15,.35) 100%);
}

/* ── Digital-quiet media (flash-sale digital products render as .pc-card) ── */
.pc-media-digital{
  background:
    radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--brand,#6311B9) 90%, #fff) 0%, var(--brand,#6311B9) 50%, color-mix(in srgb, var(--brand,#6311B9) 65%, #000) 100%);
  display:grid;
  place-items:center;
  isolation:isolate;
}
.pc-media-digital::before{
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.15), transparent 50%),
    repeating-linear-gradient(45deg, transparent 0 30px, rgba(255,255,255,.04) 30px 31px),
    repeating-linear-gradient(-45deg, transparent 0 30px, rgba(255,255,255,.04) 30px 31px);
}
.pc-media-digital::after{
  background:none;
}
.pc-media .pc-media-logo,
.pc-media-digital .pc-media-logo{
  position:relative;z-index:1;
  max-width:42%;
  max-height:42%;
  width:auto;height:auto;
  object-fit:contain;
  filter:brightness(0) invert(1) drop-shadow(0 8px 22px rgba(0,0,0,.4));
  transition:transform .35s;
}
.pc-card:hover .pc-media-logo{transform:scale(1.06)}
.pc-media-brand{
  position:relative;z-index:1;
  font-family:"Inter",var(--p-f-display);
  font-size:18px;
  font-weight:900;
  color:#fff;
  letter-spacing:-.01em;
  text-align:center;
  padding:0 var(--s-4);
  text-shadow:0 2px 12px rgba(0,0,0,.45);
  text-wrap:balance;
}
.pc-card-digital:hover .pc-media-digital{
  filter:brightness(1.08);
}

/* Solid tags — always visible on any image */
.pc-tag{
  position:absolute;top:var(--s-3);right:var(--s-3);
  z-index:2;
  font-family:var(--p-f-display);font-size:13px;font-weight:800;
  padding:7px 13px;border-radius:var(--r-full);
  background:#fff;
  color:#0A0A0F;
  border:1px solid rgba(255,255,255,.9);
  letter-spacing:.02em;
  box-shadow:0 6px 20px rgba(0,0,0,.5);
  backdrop-filter:blur(6px);
}
@keyframes pcTagPulse{
  0%,100%{transform:scale(1);box-shadow:0 6px 20px rgba(239,68,68,.4)}
  50%{transform:scale(1.06);box-shadow:0 8px 28px rgba(239,68,68,.6)}
}

/* Savings pill — shows absolute amount saved */
.pc-save{
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-family:var(--p-f-mono);
  font-size:10px;
  font-weight:800;
  color:#EF4444;
  background:rgba(239,68,68,.12);
  padding:3px 8px;
  border-radius:var(--r-full);
  margin-top:4px;
  width:fit-content;
  letter-spacing:.02em;
}
.pc-savings-chip{
  display:inline-flex;
  align-items:center;
  align-self:center;
  color:#4ade80;
  font-size:.9rem;
  font-weight:800;
  line-height:1;
  margin-inline-start:5px;
  white-space:nowrap;
  letter-spacing:.02em;
}
.pc-tag-limited{
  background:linear-gradient(135deg, #DC2626, #EF4444);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 8px 24px rgba(239,68,68,.45), 0 0 0 0 rgba(239,68,68,.6);
  font-weight:900;
  animation:pcLimitedPulse 2s ease-in-out infinite;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.pc-tag-limited::before{
  content:"";
  width:6px;height:6px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 8px #fff;
  animation:pcLimitedDot 1s ease-in-out infinite;
}
@keyframes pcLimitedPulse{
  0%,100%{box-shadow:0 8px 24px rgba(239,68,68,.45), 0 0 0 0 rgba(239,68,68,.6)}
  50%{box-shadow:0 8px 28px rgba(239,68,68,.6), 0 0 0 8px rgba(239,68,68,0)}
}
@keyframes pcLimitedDot{
  0%,100%{opacity:1; transform:scale(1)}
  50%{opacity:.5; transform:scale(1.3)}
}
.pc-tag-best{
  background:linear-gradient(135deg, #6311B9, #A78BFA);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  font-weight:900;
  box-shadow:0 6px 20px rgba(99,17,185,.4);
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.pc-tag-best::before{
  content:"★";
  font-size:11px;
  line-height:1;
}

/* Omixus Signature — signal line: rating (left) + sold/stock (right) */
.pc-signals{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:6px;
  margin-bottom:4px;
  font-family:var(--p-f-display);
  font-size:11.5px;
  line-height:1.4;
}
.pc-rate{
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:var(--p-c-text-3);
}
.pc-rate .pc-star{width:12px; height:12px; color:#FBBF24; flex-shrink:0}
.pc-rate b{color:var(--p-c-text); font-weight:700; font-size:12px; margin-inline-start:2px}
.pc-rate small{color:var(--p-c-text-3); font-weight:500; font-size:10.5px; margin-inline-start:2px}

.pc-sig{
  font-size:11px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-family:'Inter',var(--p-f-display),sans-serif;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.pc-sig svg{
  width:12px; height:12px;
  flex-shrink:0;
}
@media (max-width:480px){
  .pc-sig{font-size:10px; gap:3px}
  .pc-sig svg{width:10px; height:10px}
  .pc-sig-low{padding:1px 5px; font-size:9.5px}
  .pc-sig-low svg{width:9px; height:9px}
}
/* Low stock — minimal pulse dot (no pill). Apple-style soft urgency. */
.pc-sig-low{
  color:#EF4444;
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-weight:800;
  white-space:nowrap;
  flex-shrink:0;
}
.pc-sig-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#EF4444;
  flex-shrink:0;
  animation:pcDotSoft 2.4s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(239,68,68,.35);
}
@keyframes pcDotSoft{
  0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.35)}
  50%{box-shadow:0 0 0 4px rgba(239,68,68,0)}
}
/* Hot seller — calm orange with trend icon */
.pc-sig-hot{
  color:#F59E0B;
}
.pc-sig-hot svg{opacity:.9}
/* Subtle halo pulse — only box-shadow, no scale (light, not aggressive). */
@keyframes pcLowHalo{
  0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.35)}
  50%{box-shadow:0 0 0 4px rgba(239,68,68,0)}
}
@keyframes pcPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.25)}}

/* Discount ribbon — Inter for clean numeric rendering (round zero, clear 8).
   Placed at RTL start (top-right) — where Arabic eye lands first. */
/* Unified discount badge — yellow chip, Inter 900, top-right corner.
   Matches .pc-sub-discount on digital cards for visual consistency. */
.pc-ribbon{
  position:absolute;
  top:9px;
  inset-inline-end:9px;
  inset-inline-start:auto;
  background:#FFE47A;
  color:#0A0A12;
  font-family:'Inter',system-ui,sans-serif;
  font-size:10px;
  font-weight:900;
  padding:4px 8px;
  border-radius:var(--r-full);
  z-index:4;
  letter-spacing:-.01em;
  box-shadow:0 4px 10px -2px rgba(0,0,0,.4);
  line-height:1;
  direction:ltr;
  unicode-bidi:isolate;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" on;
  white-space:nowrap;
}
.pc-ribbon-minus{
  font-size:1em;
  font-weight:900;
  margin-inline-end:0;
  opacity:1;
  display:inline-block;
}

/* HOT deal stays same yellow chip, just brighter glow */
.pc-ribbon.is-hot{box-shadow:0 4px 16px -2px #FFE47A,0 2px 6px rgba(0,0,0,.3)}

/* Savings chip — green, for high-ticket items (price >= 1000 ﷼) */
.pc-savings{
  position:absolute;
  top:9px;
  right:9px;
  left:auto;
  display:inline-flex;
  align-items:center;
  gap:3px;
  background:#10B981;
  color:#fff;
  font-family:'Inter',system-ui,sans-serif;
  font-size:10px;
  font-weight:800;
  line-height:1;
  padding:5px 9px;
  border-radius:var(--r-full);
  z-index:4;
  box-shadow:0 4px 10px -2px rgba(16,185,129,.4),0 2px 6px rgba(0,0,0,.2);
  white-space:nowrap;
  direction:rtl;
}
.pc-savings b{font-weight:900;font-size:11px;line-height:1}
.pc-savings .pc-savings-sar{
  width:.8em;height:.8em;
  fill:currentColor;
  opacity:.95;
}
.pc-savings.is-hot{
  box-shadow:0 4px 16px -2px #10B981,0 2px 6px rgba(0,0,0,.3);
}

/* HOT deal — Shine Sweep: calm diagonal gleam passes across the ribbon. */
.pc-ribbon.is-hot{
  overflow:hidden;
}
.pc-ribbon.is-hot::after{
  content:"";
  position:absolute;
  top:-50%;
  left:-100%;
  width:60%;
  height:200%;
  background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.85) 50%, transparent 60%);
  transform:skewX(-20deg);
  animation:pcShineSweep 2.2s linear infinite !important;
  pointer-events:none;
}
@keyframes pcShineSweep{
  0%{left:-100%}
  100%{left:200%}
}

/* Toast notification — bottom center, slide-up */
.omx-toast{
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translate(-50%, 16px);
  z-index:99999;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 20px 12px 16px;
  background:#0A0A12;
  color:#fff;
  border:1px solid rgba(255,255,255,.1);
  border-radius:99px;
  font-family:"IBM Plex Sans Arabic",var(--p-f-arabic),sans-serif;
  font-weight:600;font-size:14px;
  box-shadow:0 16px 48px -12px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.3);
  opacity:0;
  transition:opacity .3s ease, transform .3s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  white-space:nowrap;
  max-width:calc(100vw - 32px);
}
.omx-toast.is-visible{
  opacity:1;
  transform:translate(-50%, 0);
}
.omx-toast svg{
  flex-shrink:0;
  background:#10B981;
  color:#fff;
  border-radius:50%;
  padding:3px;
  width:22px;height:22px;
}
.omx-toast-error svg{background:#EF4444}
.omx-toast-error{border-color:rgba(239,68,68,.3)}

/* Quick add-to-cart button — appears on hover, top-start corner */
.pc-cart-add{
  position:absolute;
  top:10px;
  left:10px;right:auto;
  z-index:3;
  width:36px; height:36px;
  border-radius:50%;
  background:var(--p-c-brand,#6311B9);
  border:0;
  color:#fff;
  display:grid; place-items:center;
  cursor:pointer;
  padding:0;
  opacity:0;
  transform:translateY(-6px);
  transition:opacity .22s ease, transform .22s ease, background .18s ease;
  box-shadow:0 6px 18px -4px rgba(99,17,185,.5);
}
.pc-cart-add svg{width:16px;height:16px}
.pc-card:hover .pc-cart-add{opacity:1;transform:translateY(0)}
.pc-cart-add:hover{background:#A78BFA}
.pc-cart-add.is-loading{opacity:1;transform:translateY(0);background:rgba(255,255,255,.2)}
.pc-cart-add.is-done{opacity:1;transform:translateY(0);background:#10B981}
/* Touch devices: always show (no hover) */
@media (hover:none){
  .pc-cart-add{opacity:1;transform:translateY(0)}
}
@media (max-width:480px){
  .pc-cart-add{width:32px;height:32px;top:8px;left:8px}
  .pc-cart-add svg{width:14px;height:14px}
  .pc-rating-mini{font-size:10.5px}
  .pc-rating-mini b{font-size:11px}
  .pc-variant-chip{font-size:9.5px;padding:2px 6px}
}
.pc-tag-new{
  background:rgba(6,182,212,.15);
  color:#22d3ee;
  border:1px solid rgba(6,182,212,.3);
}
.pc-tag-exclusive{
  background:rgba(234,179,8,.12);
  color:#fbbf24;
  border:1px solid rgba(234,179,8,.3);
}
.pc-tag-sale{
  background:#EF4444;
  color:#fff;
  border-color:#EF4444;
  animation:pcTagPulse 2.4s ease-in-out infinite;
}

.pc-body{
  padding:var(--s-5);
  display:flex;
  flex-direction:column;
  flex:1;
}

/* Brand-only eyebrow */
.pc-cat{
  color:var(--p-c-brand-2);
  font-family:var(--p-f-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:var(--s-2);
}

.pc-name{
  font-size:var(--t-base);
  font-weight:800;
  color:var(--p-c-text);
  line-height:1.35;
  margin-bottom:var(--s-1);
}
.pc-meta{
  font-size:var(--t-xs);
  color:var(--p-c-text-3);
  margin-bottom:var(--s-4);
}

/* FX1 Foot — absolute-positioned morph button */
.pc-foot{
  display:block;
  position:relative;
  min-height:48px;
  margin-top:auto;
  margin-inline:calc(-1 * var(--s-5));
  padding:var(--s-3) var(--s-5) 0;
  border:0;
  background:linear-gradient(
    90deg,
    rgba(167,139,250,.08) 0%,
    rgba(167,139,250,.35) 50%,
    rgba(167,139,250,.08) 100%
  ) top/100% 1px no-repeat;
}
.pc-price-col{
  display:grid;
  grid-template-rows:14px 32px 18px;
  align-items:center;
  gap:3px;
  padding-inline-end:52px;
  overflow:hidden;
  transition:padding-inline-end .45s cubic-bezier(.6,.2,.1,1);
}
.pc-price-col > .pc-price-old{grid-row:1}
.pc-price-col > .pc-price{grid-row:2}
.pc-price-col > .pc-inst{grid-row:3}
.pc-card:hover .pc-price-col{
  padding-inline-end:106px;
}
.pc-price{
  display:flex;
  align-items:center;
  gap:3px;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.pc-price b{
  font-family:var(--p-f-display);
  font-size:26px;
  font-weight:900;
  color:var(--p-c-text);
  line-height:1;
  letter-spacing:-.015em;
}
.pc-price s{
  font-size:var(--t-xs);
  color:var(--p-c-text-3);
}
.pc-ccy{
  font-family:var(--p-f-mono);
  font-size:20px;
  color:var(--p-c-text-2);
  display:inline-flex;
  align-items:center;
  margin-inline-start:0;
}

/* New Saudi Riyal symbol (SAMA 2024) */
.sar-symbol{
  display:inline-block;
  vertical-align:-0.14em;
  fill:currentColor;
  flex-shrink:0;
  width:.9em;
  height:.9em;
}
.sar-main{width:.9em;height:.9em;opacity:.85}
.pc-price b + .pc-ccy .sar-main{width:1em;height:1em;opacity:.95;color:var(--p-c-text-2)}
.sar-old{width:.8em;height:.8em;opacity:.55}
.sar-inst{width:.85em;height:.85em;opacity:.75}
/* Hard cap inside .pc-inst — em inheritance was rendering symbol too large
   next to the 11.5px <b> on mobile. Pin to actual pixels. */
.pc-inst .sar-symbol,
.pc-inst .sar-inst{width:10px;height:10px;opacity:.7}
@media (max-width:480px){
  .pc-inst .sar-symbol,
  .pc-inst .sar-inst{width:9px;height:9px}
}

/* Green discount badge next to main price */
.pc-discount{
  display:inline-flex;
  align-items:center;
  direction:ltr;
  unicode-bidi:isolate;
  font-family:var(--p-f-display);
  font-size:10px;
  font-weight:800;
  line-height:1;
  color:#10B981;
  background:rgba(16,185,129,.14);
  padding:4px 7px;
  border-radius:var(--r-full);
  margin-inline-start:6px;
  letter-spacing:.02em;
  border:1px solid rgba(16,185,129,.28);
  white-space:nowrap;
}
.pc-price-old{
  font-family:var(--p-f-mono);
  font-size:12px;
  color:var(--p-c-text-3);
  line-height:1;
  margin-bottom:3px;
  white-space:nowrap;
  letter-spacing:.02em;
  text-decoration:line-through;
  text-decoration-color:rgba(255,255,255,.25);
  text-decoration-thickness:1px;
  display:inline-flex;
  align-items:center;
  gap:2px;
  align-self:flex-start;
}
.pc-price-old s{text-decoration:none;color:inherit}
.pc-price-old .sar-old{margin-inline-start:1px}

.pc-inst{
  font-family:var(--p-f-mono);
  font-size:13px;
  color:var(--p-c-text-2);
  letter-spacing:0;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  margin-top:4px;
  word-spacing:-1px;
}
.pc-inst b{
  font-weight:800;
  font-size:15px;
  color:var(--p-c-brand-2);
  margin-inline-start:2px;
}
.pc-inst .sar-inst{
  opacity:.75;
  margin-inline-start:1px;
  margin-inline-end:2px;
}
@media (max-width:480px){
  .pc-inst .sar-symbol,
  .pc-inst .sar-inst,
  .pc-inst svg.sar-symbol,
  .pc-inst svg.sar-inst{width:5px !important;height:5px !important;min-width:5px !important;min-height:5px !important;max-width:5px !important;max-height:5px !important;margin:0 1px !important}
}

/* Ghost button → morphs to filled pill (exact values from showcase) */
.pc-add{
  position:absolute;
  inset-inline-end:0;
  top:50%;
  transform:translateY(-50%);
  box-sizing:border-box;
  -webkit-appearance:none;
  appearance:none;
  outline:none;
  -webkit-tap-highlight-color:transparent;
  width:38px;height:38px;
  border-radius:9999px;
  background:transparent;
  color:var(--p-c-text-2);
  border:0;
  box-shadow:inset 0 0 0 1px var(--p-c-line-2);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  white-space:nowrap;
  padding:0;gap:0;
  transition:
    width .45s cubic-bezier(.6,.2,.1,1),
    padding .45s cubic-bezier(.6,.2,.1,1),
    background .3s, color .3s, box-shadow .3s;
}
.pc-add svg{
  transition:width .3s, height .3s;
  flex-shrink:0;
}
.pc-card:hover .pc-add{
  width:38px;
  height:38px;
  padding:0;
  gap:0;
  background:var(--p-c-brand);
  color:#fff;
  box-shadow:0 6px 18px rgba(99,17,185,.5);
  transform:translateY(-50%) scale(1.06);
}
.pc-card:hover .pc-add svg{
  width:16px;height:16px;
}
/* Morph text retired — circular button only */
.pc-fx-txt{display:none}

.pc-add,
.pc-add:focus,
.pc-add:focus-visible,
.pc-add:active,
.pc-add:hover{
  outline:none!important;
  border:0!important;
}

/* No extra space reserved — button stays 38px always */
.pc-card .pc-price-col,
.pc-card:hover .pc-price-col{
  padding-inline-end:50px;
}



/* ═══════════════════════════════════════════════
   PRODUCT CARD — Variant D (Digital Subscriptions)
   Brand-colored card, no image
   ═══════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════
   DIGITAL CARD (.dl-card) — Telecom-inspired creative tile
   Brand color hero + logo as hero + clean CTA + glow
   ═══════════════════════════════════════════════ */
.dl-card{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  min-height:320px;
  border-radius:var(--r-5);
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  isolation:isolate;
  z-index:1;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, z-index 0s;
  box-shadow:
    0 4px 16px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,255,255,.06);
}
/* Inside flash-sale grid: match physical card height (drop aspect-ratio) */
.flash-sale-grid .dl-card,
.flash-sale-grid .tl-card,
.products-scroll .dl-card,
.products-scroll .tl-card{
  aspect-ratio:auto;
  height:100%;
  width:100%;
  min-height:0;
}
/* Hero Logo design (refined): brand gradient bg + logo centered + name + divider + price+CTA.
   Single unified CTA color across all brands. */
.dl-card{
  background:linear-gradient(160deg, var(--c2,#A78BFA) 0%, var(--c1,#6311B9) 60%, color-mix(in srgb, var(--c1,#6311B9) 30%, #04081a) 100%);
  border:0;
}
.dl-inner{
  position:relative;z-index:2;
  height:100%;
  padding:var(--s-4);
  display:flex;flex-direction:column;
  gap:var(--s-2);
}
.dl-hero{
  flex:1;
  display:grid;place-items:center;
  min-height:0;
  position:relative;
}
.dl-logo{
  max-width:60%;max-height:80%;
  width:auto;height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.5));
  transition:transform .4s;
}
.dl-logo.mono{filter:brightness(0) invert(1) drop-shadow(0 6px 16px rgba(0,0,0,.4))}
.dl-card:hover .dl-logo{transform:scale(1.06)}
.dl-wordmark{
  font-family:"Inter",var(--p-f-display);
  font-weight:900;font-size:18px;line-height:1.1;
  color:#fff;letter-spacing:-.02em;text-align:center;
  text-wrap:balance;
  text-shadow:0 4px 16px rgba(0,0,0,.4);
  padding:0 var(--s-3);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;
}
.dl-name{
  font-family:var(--p-f-arabic);
  font-weight:800;font-size:13px;
  color:#fff;
  line-height:1.25;
  text-align:center;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  padding:0 var(--s-2);
}
/* If the hero is a text wordmark (no logo image), it already shows the name —
   hide the duplicate dl-name below to avoid visual repetition. Reserved space
   is preserved via min-height on the hero so card heights stay consistent. */
.dl-card:has(.dl-wordmark) .dl-name,
.dl-card-wordmark .dl-name{display:none}
.dl-card:has(.dl-wordmark) .dl-hero,
.dl-card-wordmark .dl-hero{flex:1.6}
.dl-foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--s-3);
  padding-top:var(--s-3);
  border-top:1px solid rgba(255,255,255,.18);
}
.dl-ribbon{
  position:absolute;top:10px;inset-inline-end:10px;z-index:5;
  font-family:"Inter",sans-serif;
  font-weight:900;font-size:10px;line-height:1;
  background:#FFE47A;color:#0A0A12;
  padding:4px 9px;border-radius:var(--r-full);
  direction:ltr;
  box-shadow:0 3px 10px -2px rgba(0,0,0,.5);
}
.dl-card:hover{
  transform:translateY(-4px);
  z-index:20;
  box-shadow:0 16px 40px rgba(0,0,0,.45);
}

/* Single unified CTA — white background, dark text, across every digital card */
.dl-cta{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--p-f-display);
  font-weight:800;font-size:11px;
  color:#0A0A0F;
  background:#fff;
  padding:7px 14px;
  border:0;
  border-radius:var(--r-full);
  white-space:nowrap;cursor:pointer;
  transition:transform .25s, box-shadow .25s;
  box-shadow:0 3px 10px -2px rgba(0,0,0,.3);
  flex-shrink:0;
}
.dl-card:hover .dl-cta{
  transform:translateX(3px);
  box-shadow:0 6px 16px -2px rgba(0,0,0,.5);
}

.dl-price-col{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  flex:1;min-width:0;
}
.dl-old{
  font-family:"Inter",sans-serif;
  font-size:11px;font-weight:600;color:rgba(255,255,255,.5);line-height:1;
  text-decoration:line-through;
  text-decoration-thickness:1.2px;
}
.dl-old s{text-decoration:none;color:inherit}
.dl-price{
  font-family:"Inter",var(--p-f-display);
  font-weight:900;font-size:18px;line-height:1;
  display:inline-flex;align-items:baseline;gap:5px;
  color:#fff;white-space:nowrap;
  letter-spacing:-.02em;
}
.dl-price b{font-weight:900;font-size:1em}
.dl-price .sar-symbol{width:.7em;height:.7em;opacity:.9;fill:currentColor;align-self:center}
.dl-period{
  font-family:var(--p-f-arabic);
  font-size:9.5px;font-weight:500;
  color:rgba(255,255,255,.65);
  align-self:center;
}

/* Mobile */
@media (max-width:768px){
  .dl-card{aspect-ratio:1/1.25;min-height:240px;border-radius:14px}
  .dl-inner{padding:var(--s-3)}
  .dl-logo{max-width:65%}
  .dl-wordmark{font-size:15px;line-height:1.15}
  /* Reserve 2 line slots so single-word names (Steam) match wrapped names (Crunchyroll Premium).
     Uniform card heights across the rail without jagged foot alignment. */
  .dl-name{font-size:11.5px;line-height:1.25;min-height:calc(11.5px * 1.25 * 2);-webkit-line-clamp:2}
  .dl-cta{font-size:10px;padding:6px 12px}
  .dl-price{font-size:18px}
  .dl-old{font-size:11px}
  .dl-period{font-size:9.5px}
  .dl-ribbon{font-size:9px;padding:3px 7px;top:8px;inset-inline-end:8px}
}

/* Old .pc-sub-card kept for backward compat (flash-sale uses .pc-card) */
.pc-sub-card{
  position:relative;
  display:block;
  aspect-ratio:1/1.25;
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.06);
  cursor:pointer;
}
.pc-sub-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px -14px color-mix(in srgb, var(--brand,#6311B9) 60%, #000);
}
.pc-sub-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--brand,#6311B9) 90%, #fff) 0%, var(--brand,#6311B9) 35%, color-mix(in srgb, var(--brand,#6311B9) 50%, #000) 100%);
}
.pc-sub-pattern{
  position:absolute;inset:0;z-index:1;opacity:.5;pointer-events:none;
  background:
    repeating-linear-gradient(45deg, transparent 0 12px, rgba(255,255,255,.04) 12px 13px),
    repeating-linear-gradient(-45deg, transparent 0 12px, rgba(0,0,0,.06) 12px 13px);
}
.pc-sub-logo{
  position:absolute;
  top:0;left:0;right:0;bottom:35%;
  display:flex;align-items:center;justify-content:center;
  padding:18% 22%;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.3));
  transition:transform .35s;
  z-index:2;
}
.pc-sub-card:hover .pc-sub-logo{transform:scale(1.05)}
.pc-sub-logo-img{
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
  display:block;
}
.pc-sub-logo-img.mono,
.pc-sub-card .pc-sub-logo-img{
  filter:brightness(0) invert(1);
}
.pc-sub-logo-fallback{
  font-family:"Inter",var(--p-f-display);
  font-weight:900;font-size:20px;line-height:1.05;
  color:#fff;letter-spacing:-.02em;text-align:center;
  text-wrap:balance;
}
.pc-sub-logo:has(.pc-sub-logo-fallback),
.pc-sub-logo.is-text{
  width:80%;aspect-ratio:auto;
}
.pc-sub-tag-top{
  position:absolute;top:9px;left:9px;z-index:3;
  font-family:"JetBrains Mono",monospace;font-size:8px;
  color:rgba(255,255,255,.95);
  background:rgba(0,0,0,.3);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:3px 8px;border-radius:var(--r-full);
  letter-spacing:1px;text-transform:uppercase;font-weight:700;
  border:1px solid rgba(255,255,255,.16);
  white-space:nowrap;
}
.pc-sub-content{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.5) 40%,rgba(0,0,0,.85) 100%);
  padding:30px 11px 11px;color:#fff;
}
.pc-sub-name{
  font-family:"Inter",var(--p-f-display);
  font-weight:800;font-size:14px;line-height:1.05;
  letter-spacing:-.01em;
  margin-bottom:6px;
}
.pc-sub-foot{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:6px;
  margin-top:6px;padding-top:8px;
  border-top:1px solid rgba(255,255,255,.12);
}
.pc-sub-price-col{
  display:flex;flex-direction:column;gap:2px;align-items:flex-start;
  flex:1;min-width:0;
}
.pc-sub-old{
  font-family:"Inter",sans-serif;
  font-size:10px;color:rgba(255,255,255,.4);line-height:1;
  display:inline-flex;align-items:center;gap:3px;
}
.pc-sub-old s{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}
.pc-sub-old .sar-symbol{width:.8em;height:.8em;opacity:.5;fill:currentColor;flex-shrink:0}
.pc-sub-price{
  font-family:"Inter",var(--p-f-display);
  font-weight:900;font-size:16px;line-height:1;
  display:inline-flex;align-items:center;gap:4px;
  color:#fff;white-space:nowrap;
  direction:ltr;
}
.pc-sub-price b{font-weight:900;font-size:1em;line-height:1}
.pc-sub-price small{
  font-family:"JetBrains Mono",monospace;
  font-size:8px;font-weight:600;line-height:1;
  opacity:.55;text-transform:uppercase;letter-spacing:.5px;
  order:99;
}
.pc-sub-price .sar-symbol{
  width:.65em;height:.65em;opacity:.85;
  fill:currentColor;flex-shrink:0;
}
.pc-sub-go{
  width:28px;height:28px;border-radius:50%;
  background:#fff;color:#0A0A12;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:transform .25s,background .25s,color .25s;
}
.pc-sub-card:hover .pc-sub-go{
  background:var(--brand,#6311B9);color:#fff;
  transform:translateX(-3px) scale(1.1);
}
.pc-sub-discount{
  position:absolute;top:9px;right:9px;z-index:3;
  font-family:"Inter",sans-serif;
  font-weight:900;font-size:10px;line-height:1;
  background:#FFE47A;color:#0A0A12;
  padding:4px 8px;border-radius:var(--r-full);
  direction:ltr;unicode-bidi:isolate;
  white-space:nowrap;
  box-shadow:0 4px 10px -2px rgba(0,0,0,.4);
}

/* ── Mobile compactness ── */
@media (max-width:768px){
  .pc-sub-card{aspect-ratio:1/1.3;border-radius:12px}
  .pc-sub-logo{width:40%;top:34%}
  .pc-sub-tag-top{font-size:7px;padding:3px 7px;top:7px;left:7px}
  .pc-sub-discount{font-size:9px;padding:3px 7px;top:7px;right:7px}
  .pc-sub-content{padding:26px 9px 9px}
  .pc-sub-name{font-size:12px;margin-bottom:4px}
  .pc-sub-foot{margin-top:4px;padding-top:6px}
  .pc-sub-price{font-size:13px}
  .pc-sub-price small{font-size:7px}
  .pc-sub-old{font-size:9px}
  .pc-sub-go{width:24px;height:24px}
  .pc-sub-go svg{width:11px;height:11px}
}

/* Grid layout for product rows (overrides the old horizontal scroll) */
html[data-theme="dark"] .products-scroll,
html[data-theme="dark"] .flash-sale-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--s-5);
  overflow:visible;
}
html[data-theme="dark"] .products-scroll .pc-card,
html[data-theme="dark"] .products-scroll .pc-sub-card,
html[data-theme="dark"] .flash-sale-grid .pc-card,
html[data-theme="dark"] .flash-sale-grid .pc-sub-card{
  flex:unset;
  max-width:none;
  width:auto;
}
/* Digital sub cards inside grid: drop fixed aspect, stretch to row */
html[data-theme="dark"] .products-scroll .pc-sub-card,
html[data-theme="dark"] .flash-sale-grid .pc-sub-card{
  aspect-ratio:auto;
  height:100%;
  min-height:340px;
  align-self:stretch;
}
@media (max-width:1100px){
  html[data-theme="dark"] .products-scroll,
  html[data-theme="dark"] .flash-sale-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}
/* Mobile/tablet (≤780px): horizontal swipe rail — 2 full cards exact, no peek. */
@media (max-width:780px){
  html[data-theme="dark"] .products-scroll,
  html[data-theme="dark"] .flash-sale-grid{
    display:flex !important;
    grid-template-columns:none;
    flex-direction:row;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:12px;
    padding:0 0 6px;
  }
  html[data-theme="dark"] .products-scroll::-webkit-scrollbar,
  html[data-theme="dark"] .flash-sale-grid::-webkit-scrollbar{display:none}
  html[data-theme="dark"] .products-scroll > *,
  html[data-theme="dark"] .flash-sale-grid > *,
  html[data-theme="dark"] .products-scroll > .pc-card,
  html[data-theme="dark"] .products-scroll > .pc-sub-card,
  html[data-theme="dark"] .products-scroll > .dl-card,
  html[data-theme="dark"] .flash-sale-grid > .pc-card,
  html[data-theme="dark"] .flash-sale-grid > .pc-sub-card,
  html[data-theme="dark"] .flash-sale-grid > .dl-card{
    flex:0 0 44% !important;
    width:44% !important;
    max-width:44% !important;
    min-width:0 !important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}
@media (max-width:480px){
  html[data-theme="dark"] .products-scroll > *,
  html[data-theme="dark"] .flash-sale-grid > *,
  html[data-theme="dark"] .products-scroll > .pc-card,
  html[data-theme="dark"] .products-scroll > .pc-sub-card,
  html[data-theme="dark"] .products-scroll > .dl-card,
  html[data-theme="dark"] .flash-sale-grid > .pc-card,
  html[data-theme="dark"] .flash-sale-grid > .pc-sub-card,
  html[data-theme="dark"] .flash-sale-grid > .dl-card{
    flex:0 0 44% !important;
    width:44% !important;
    max-width:44% !important;
  }
  .pc-card .pc-body{padding:10px 10px 12px;display:flex;flex-direction:column;flex:1}
  .pc-card .pc-cat{font-size:10px; letter-spacing:.05em}
  /* Reserve exactly 2 lines for the name so single-line names match wrapped 2-line names. */
  .pc-card .pc-name{
    font-size:12.5px;
    line-height:1.3;
    margin-top:4px;
    min-height:calc(12.5px * 1.3 * 2);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .pc-card .pc-meta{font-size:10.5px; margin-top:2px}
  /* Keep "مباع" inline with the number; never wrap to second line */
  .pc-card .pc-signals{gap:4px;font-size:10px;flex-wrap:nowrap}
  .pc-card .pc-signals .pc-sig{font-size:10px;white-space:nowrap;flex-shrink:0}
  .pc-card .pc-signals .pc-rate{font-size:10px;white-space:nowrap;flex-shrink:0}
  .pc-card .pc-rate b{font-size:11px}
  .pc-card .pc-rate small{font-size:9.5px}
  /* Tight price column — no gaps between old / current / installment.
     Drop the desktop reserved padding (was 52px for hover-morph cart button) and
     fixed grid rows so installment line gets full card width on mobile. */
  .pc-card .pc-price-col{
    gap:0;
    padding-inline-end:0;
    grid-template-rows:auto auto auto;
    overflow:visible;
  }
  .pc-card:hover .pc-price-col{padding-inline-end:0}
  .pc-card .pc-price{margin-top:0;line-height:1}
  .pc-card .pc-price b{font-size:16px}
  .pc-card .pc-price-old{font-size:10px;min-height:12px;line-height:1;margin:0}
  .pc-card .pc-price-old[style*="visibility:hidden"]{display:block !important}
  .pc-card .pc-savings-chip{font-size:9px; padding:1px 5px}
  .pc-card .pc-inst{
    font-size:10px;
    margin-top:0;
    line-height:1.3;
    min-height:14px;
    white-space:normal;
  }
  /* Mobile: hide only "دفعات" word — keep قسطها + price + ×4 */
  .pc-card .pc-inst .pc-inst-pmts{display:none}
  .pc-card .pc-inst .pc-inst-x{font-size:11px;font-weight:700;color:var(--p-c-brand-2)}
  .pc-card .pc-inst b{font-size:11.5px;margin:0;color:var(--p-c-brand-2)}
  .pc-card .pc-inst .sar-symbol,
  .pc-card .pc-inst .sar-inst,
  .pc-card .pc-inst svg.sar-symbol,
  .pc-card .pc-inst svg.sar-inst{width:5px !important;height:5px !important;min-width:5px !important;min-height:5px !important;max-width:5px !important;max-height:5px !important;margin:0 !important;opacity:.7;vertical-align:baseline}
  .pc-card .pc-inst[style*="visibility:hidden"]{display:block !important}
  .pc-card .pc-tag{font-size:9.5px; padding:3px 8px; top:8px; inset-inline-end:8px}
  /* Push foot to bottom so cards with shorter content keep prices aligned across the row. */
  .pc-card .pc-foot{margin-top:auto;padding-top:10px}
  .pc-card .pc-signals{margin-top:auto}
}

/* ════════════════════════════════════════════════
   TELECOM PACKAGES SECTION — Signature plan cards
   Distinctive design: brand-colored SIM-like tiles
   ════════════════════════════════════════════════ */
.telecom-section{
  padding:18px 0;
  position:relative;
}

.telecom-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--p-c-brand-2);
}
.tl-pulse{
  width:8px;height:8px;
  border-radius:50%;
  background:#10B981;
  box-shadow:0 0 0 0 rgba(16,185,129,.6);
  animation:tlPulse 1.8s ease-out infinite;
  flex-shrink:0;
}
@keyframes tlPulse{
  0%   {box-shadow:0 0 0 0 rgba(16,185,129,.55)}
  70%  {box-shadow:0 0 0 8px rgba(16,185,129,0)}
  100% {box-shadow:0 0 0 0 rgba(16,185,129,0)}
}

/* Desktop: 5-column fixed grid, signature card layout.
   Tablet + mobile: iOS-style vertical list (see @media below). */
.telecom-rail{
  display:grid;
  grid-template-columns:repeat(5, 214.5px);
  gap:var(--s-4);
  width:100%;
  justify-content:start;
  overflow:visible;
}


/* Individual plan card — fills grid cell naturally. */
.tl-card{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  min-height:320px;
  border-radius:var(--r-5);
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  isolation:isolate;
  z-index:1;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, z-index 0s;
  box-shadow:
    0 4px 16px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,255,255,.06);
}
.tl-card::before{
  content:"";
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(140% 80% at 85% 0%, var(--c2) 0%, var(--c1) 55%, var(--p-c-bg) 140%);
}
.tl-card::after{
  content:"";
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(circle at 100% 100%, transparent 40%, rgba(255,255,255,.08) 41%, transparent 42%),
    radial-gradient(circle at 100% 100%, transparent 55%, rgba(255,255,255,.06) 56%, transparent 57%),
    radial-gradient(circle at 100% 100%, transparent 70%, rgba(255,255,255,.04) 71%, transparent 72%);
  pointer-events:none;
}
.tl-card:hover{
  transform:translateY(-6px) scale(1.04);
  z-index:20;
  box-shadow:
    0 22px 48px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.14),
    0 0 60px -10px var(--c2);
}

/* Touch devices / small screens: no hover transforms, just :active feedback.
   Uses both (hover:none) + (max-width:700px) — belt+suspenders for emulators
   that still report hover capability on small viewports. */
@media (hover:none), (max-width:700px), (pointer:coarse){
  .tl-card:hover,
  .dl-card:hover,
  .tl-card:hover .tl-cta,
  .dl-card:hover .dl-cta,
  .dl-card:hover .dl-logo{
    transform:none !important;
    box-shadow:0 4px 16px rgba(0,0,0,.25), 0 0 0 1px rgba(255,255,255,.06) !important;
    z-index:auto !important;
  }
  .tl-card:active,.dl-card:active{
    transform:scale(.97) !important;
    transition:transform .12s ease-out !important;
  }
}

.tl-card-inner{
  position:relative;
  z-index:2;
  height:100%;
  padding:var(--s-5) var(--s-4);
  display:flex;
  flex-direction:column;
}

/* Top row: brand + tech tag */
.tl-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:var(--s-3);
}
.tl-top-l{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.tl-chip{
  width:36px;
  height:28px;
  border-radius:5px;
  background:linear-gradient(135deg,#FFE08A 0%,#E6B647 45%,#9C7A1F 100%);
  position:relative;
  flex-shrink:0;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.25);
}
.tl-brand-logo{
  height:22px;
  max-width:100px;
  width:auto;
  object-fit:contain;
  filter:brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.4));
}
.tl-chip::before,
.tl-chip::after{
  content:"";
  position:absolute;
}
.tl-chip::before{
  inset:32% 0 32% 0;
  border-top:1px solid rgba(0,0,0,.4);
  border-bottom:1px solid rgba(0,0,0,.4);
}
.tl-chip::after{
  inset:0 32% 0 32%;
  border-left:1px solid rgba(0,0,0,.4);
  border-right:1px solid rgba(0,0,0,.4);
}
.tl-brand{
  font-family:var(--p-f-display);
  font-weight:800;
  font-size:13px;
  letter-spacing:.16em;
  color:#fff;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tl-tech{
  display:inline-flex;
  align-items:center;
  font-family:var(--p-f-mono);
  font-size:11px;
  font-weight:700;
  color:#fff;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.32);
  padding:4px 10px;
  border-radius:var(--r-full);
  letter-spacing:.04em;
  backdrop-filter:blur(4px);
  flex-shrink:0;
}

/* Big data amount — the hero element */
.tl-data{
  display:flex;
  align-items:baseline;
  gap:5px;
  color:#fff;
  line-height:.9;
  margin-top:var(--s-3);
}
.tl-data-num{
  font-family:var(--p-f-display);
  font-size:54px;
  font-weight:900;
  letter-spacing:-.03em;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.tl-data-unit{
  font-family:var(--p-f-display);
  font-size:20px;
  font-weight:800;
  color:rgba(255,255,255,.85);
  letter-spacing:.02em;
}
.tl-data-empty{min-height:54px}

/* Infinity icon for unlimited plans */
.tl-data-inf{
  width:72px;
  height:54px;
  color:#fff;
  filter:drop-shadow(0 2px 20px rgba(0,0,0,.3));
  display:block;
}

/* Plan name + meta */
.tl-name{
  font-family:var(--p-f-display);
  font-weight:800;
  font-size:15px;
  color:#fff;
  margin-top:var(--s-4);
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tl-meta{
  font-family:var(--p-f-arabic);
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.82);
  margin-top:6px;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Spec pills — white solid, icon-forward, at-a-glance */
.tl-pills{
  display:flex;flex-wrap:wrap;gap:5px;
  margin-top:10px;
}
/* Vertical stack variant: pills stacked full-width (competitor-style) */
.tl-pills-vstack{
  flex-direction:column;
  align-items:stretch;
  gap:7px;
  flex:1 1 auto;
}
.tl-pills-vstack .tl-pill{
  width:100%;
  padding:7px 12px 7px 8px;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
}
.tl-pill-text{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  flex:1;
  min-width:0;
  gap:8px;
  line-height:1.1;
  justify-content:space-between;
}
.tl-pills-vstack .tl-pill-lbl{
  font-size:13px;
  font-weight:900;
  color:#fff;
  line-height:1.1;
  white-space:nowrap;
  flex-shrink:0;
}
.tl-pill-type{
  font-size:10.5px;
  font-weight:600;
  color:rgba(255,255,255,.75);
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
}
.tl-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--p-f-arabic);
  font-size:11px;font-weight:700;
  padding:4px 10px 4px 8px;
  background:rgba(0,0,0,.32);
  backdrop-filter:blur(14px) saturate(180%);
  -webkit-backdrop-filter:blur(14px) saturate(180%);
  border-radius:999px;
  color:#fff;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
  box-shadow:
    0 2px 8px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.tl-pill-ico{
  width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;
  background:rgba(255,255,255,.2);
  border-radius:50%;
  flex-shrink:0;
  padding:4px;
}
.tl-pill-ico svg{width:100%;height:100%;display:block}
.tl-pill-lbl{line-height:1.2}

/* Footer: price + CTA sit side-by-side, anchored to the inline-start (right in RTL)
   align-items:flex-end so CTA bottom matches the current price bottom,
   regardless of whether there's an old strikethrough price above. */
.tl-foot{
  margin-top:auto;
  padding-top:var(--s-5);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--s-2);
  border-top:1px solid rgba(255,255,255,.18);
  flex-wrap:nowrap;
}
.tl-price-col{flex:0 0 auto}
.tl-price-col{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:2px;
  flex:0 0 auto;
  min-height:42px;
  min-width:115px;
}
.tl-old{
  font-family:var(--p-f-mono);
  font-size:11px;
  color:rgba(255,255,255,.55);
  line-height:1;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  white-space:nowrap;
  margin-bottom:2px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
}
.tl-old s{text-decoration:none; color:inherit}
.tl-price{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  white-space:nowrap;
}
.tl-price b{
  font-family:var(--p-f-display);
  font-size:26px;
  font-weight:900;
  color:#fff;
  line-height:1;
}
.tl-sar{
  width:.8em;height:.8em;
  color:rgba(255,255,255,.85);
}
.tl-sar-old{
  width:.75em;height:.75em;
  color:rgba(255,255,255,.5);
}
.tl-discount{
  display:inline-flex;
  align-items:center;
  direction:ltr;
  unicode-bidi:isolate;
  font-family:"Inter",sans-serif;
  font-size:11px;
  font-weight:900;
  line-height:1;
  color:#0A0A12;
  background:#FFE47A;
  padding:4px 8px;
  border-radius:var(--r-full);
  margin-inline-start:5px;
  box-shadow:0 4px 10px -2px rgba(0,0,0,.3);
}

.tl-cta{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-family:var(--p-f-display);
  font-size:11px;
  font-weight:800;
  color:#0A0A0F;
  background:#fff;
  padding:8px 13px;
  border-radius:var(--r-full);
  white-space:nowrap;
  transition:transform .25s, box-shadow .25s;
  box-shadow:0 4px 14px rgba(0,0,0,.2);
}
.tl-card:hover .tl-cta{
  transform:translateX(-3px);
  box-shadow:0 8px 22px rgba(0,0,0,.32);
}
[dir="rtl"] .tl-card:hover .tl-cta{transform:translateX(3px)}

/* Desktop (≥1100px): show top 5 in single row; hide overflow 6-10.
   PHP renders 10 for mobile rail; desktop trims via CSS. */
@media (min-width:1100px){
  .tl-card:nth-child(n+6){display:none}
}

/* iPad (701-1099): horizontal swipe rail like mobile, larger cards.
   All 10 plans accessible via swipe; 3 visible at a time. */
@media (max-width:1099px) and (min-width:701px){
  .telecom-rail{
    display:flex !important;
    flex-direction:row;
    grid-template-columns:none;
    gap:var(--s-3);
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:6px;
  }
  .telecom-rail::-webkit-scrollbar{display:none}
  .tl-card{
    flex:0 0 calc((100% - var(--s-3) * 2) / 3);
    min-height:300px;
    scroll-snap-align:start;
  }
}

/* Mobile (≤700): horizontal swipeable rail — peek next card to hint scroll.
   Placed AFTER all base .tl-* rules so it properly overrides. */
@media (max-width:700px){
  .telecom-rail{
    display:flex !important;
    flex-direction:row;
    grid-template-columns:none;
    gap:10px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0 0 6px;
    -webkit-mask-image:none;
            mask-image:none;
  }
  .telecom-rail::-webkit-scrollbar{display:none}
  .tl-card{
    flex:0 0 44%;
    width:44%;
    aspect-ratio:auto;
    min-height:0 !important;
    border-radius:14px;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .tl-card-inner{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:10px 12px;
    height:auto;
  }
  /* TOP BAR: chip + brand + tech tag — compact row */
  .tl-top{
    flex-direction:row;
    gap:8px;
    margin-bottom:0;
    align-items:center;
    justify-content:space-between;
    padding-bottom:6px;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .tl-top-l{
    flex-direction:row;
    gap:6px;
    align-items:center;
  }
  .tl-chip{transform:scale(.7); transform-origin:right center; margin-inline:-4px}
  .tl-brand{font-size:11px; letter-spacing:.04em}
  .tl-tech{font-size:9px; padding:1.5px 6px; border-radius:3px}

  /* Hide giant GB number */
  .tl-data{display:none !important}

  .tl-name{
    font-size:12px;
    margin-top:0;
    line-height:1.25;
    font-weight:700;
  }
  .tl-meta{
    font-size:10px;
    margin-top:0;
    opacity:.8;
    line-height:1.2;
  }
  .tl-pills{gap:5px !important; margin-top:8px !important}
  .tl-pills-vstack{gap:5px !important}
  .tl-pills-vstack .tl-pill{padding:5px 10px 5px 6px !important}
  .tl-pill{gap:6px !important}
  .tl-pills-vstack .tl-pill-lbl{font-size:11px !important; font-weight:800 !important}
  .tl-pill-type{font-size:9.5px !important}
  .tl-pill-ico{width:18px !important; height:18px !important; padding:3px !important}
  .tl-pill-text{gap:5px !important}
  .tl-foot{flex-direction:column !important; gap:4px !important; align-items:stretch !important}
  .tl-price-col{justify-content:space-between; width:100%}
  .tl-cta{width:100%; justify-content:center; padding:5px 8px !important; font-size:10.5px !important}

  /* FOOTER: price left, CTA right */
  .tl-foot{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    padding-top:6px;
    border-top:1px dashed rgba(255,255,255,.12);
    gap:8px;
    margin-top:2px;
    flex-wrap:nowrap;
  }
  .tl-price-col{
    flex-direction:row;
    align-items:baseline;
    gap:6px;
    min-width:0;
    min-height:0;
  }
  /* Mobile: old price inline next to new, discount badge replaced by corner ribbon */
  .tl-old{
    display:inline-flex;
    align-items:baseline;
    font-size:10px;
    line-height:1;
    opacity:.55;
    order:2;
  }
  .tl-discount{display:none}
  .tl-price{align-items:baseline; gap:5px; order:1}
  .tl-price b{font-size:18px}
  .tl-cta{font-size:9.5px; padding:5px 11px; gap:3px}

  /* Corner ribbon for discounted cards — doesn't affect row alignment */
  .tl-ribbon{
    position:absolute;
    top:0;
    inset-inline-start:0;
    background:#FBBF24;
    color:#0A0A0F;
    font-family:var(--p-f-mono);
    font-size:10px;
    font-weight:800;
    padding:4px 10px;
    border-radius:0 0 10px 0;
    direction:ltr;
    unicode-bidi:isolate;
    z-index:3;
    z-index:5;
    box-shadow:0 2px 8px rgba(0,0,0,.3);
    letter-spacing:-.01em;
    line-height:1;
  }
  /* On discount cards, hide tech tag (ribbon replaces it visually) */
  .tl-has-sale .tl-tech{visibility:hidden}
}
/* Hide ribbon on desktop/tablet — discount shows inline there */
@media (min-width:701px){
  .tl-ribbon{display:none}
}

/* 5G watermark — centered hook, big and bold but subtle enough to read content over it */
.tl-5g-mark{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%) rotate(-8deg);
  font-family:var(--p-f-display);
  font-size:150px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.05em;
  color:rgba(255,255,255,.09);
  z-index:1;
  pointer-events:none;
  user-select:none;
  text-transform:uppercase;
  white-space:nowrap;
}
@media (max-width:700px){
  .tl-5g-mark{font-size:110px}
}

/* ═══════════════════════════════════════════════
   CUSTOMER REVIEWS V2 — 3 Hero Quote Cards
   ═══════════════════════════════════════════════ */
.reviews-v2-section{
  padding:var(--s-9) 0;
}

/* Compact variant — used near footer as closing social proof, not interrupting browse flow.
   Smaller cards, denser layout, no giant quote mark, mobile shows 1 + peek. */
.reviews-v2-compact{padding:var(--s-7) 0 var(--s-8)}
.reviews-v2-compact .reviews-v2-header{margin-bottom:var(--s-5)}
.reviews-v2-compact .section-title{font-size:var(--fs-lg)}
.reviews-v2-compact .reviews-v2-track{gap:var(--s-3)}
.reviews-v2-compact .review-v2-card{
  padding:var(--s-5) var(--s-5) var(--s-4);
  border-radius:var(--r-lg);
}
.reviews-v2-compact .review-v2-stars{font-size:13px; letter-spacing:2px; margin-bottom:var(--s-2)}
.reviews-v2-compact .review-v2-quote{
  font-size:13.5px;
  line-height:1.6;
  margin:0 0 var(--s-3);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.reviews-v2-compact .review-v2-avatar{width:32px; height:32px; font-size:13px}
.reviews-v2-compact .review-v2-name{font-size:13px}
.reviews-v2-compact .review-v2-product{font-size:11px}
.reviews-v2-compact .reviews-v2-dots{margin-top:var(--s-3)}
@media (max-width:640px){
  /* Keep 100% per slide so JS transform-based carousel keeps working */
  .reviews-v2-compact .reviews-v2-track > .review-v2-card{flex:0 0 100%}
}
.reviews-v2-header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--s-5);
  margin-bottom:var(--s-7);
  flex-wrap:wrap;
}
.reviews-v2-rating{
  display:inline-flex;
  align-items:center;
  gap:var(--s-3);
  font-family:var(--p-f-arabic);
  font-size:14px;
  color:var(--p-c-text-2);
}
.reviews-v2-stars{
  font-size:16px;
  color:#FFC833;
  letter-spacing:2px;
}
.reviews-v2-score{
  color:var(--p-c-text);
}
.reviews-v2-score b{
  font-family:var(--p-f-display);
  font-size:18px;
  font-weight:900;
  color:var(--p-c-text);
}
.reviews-v2-count{
  color:var(--p-c-text-3);
  font-size:13px;
}

.reviews-v2-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--s-5);
}
@media (max-width:1024px){
  .reviews-v2-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:640px){
  .reviews-v2-grid{grid-template-columns:1fr}
}

/* Reviews carousel — horizontal scroll-snap track with auto-rotation */
.reviews-v2-carousel{position:relative; overflow:hidden}
.reviews-v2-track{
  display:flex;
  gap:var(--s-5);
  transition:transform .6s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
.reviews-v2-track > .review-v2-card{
  flex:0 0 calc((100% - var(--s-5) * 2) / 3);
  min-width:0;
}
@media (max-width:1024px){
  .reviews-v2-track > .review-v2-card{flex:0 0 calc((100% - var(--s-5)) / 2)}
}
@media (max-width:640px){
  .reviews-v2-track > .review-v2-card{flex:0 0 100%}
}
.review-v2-star-dim{color:rgba(251,191,36,.25)}
.reviews-v2-dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:var(--s-5);
}
.reviews-v2-dot{
  width:8px; height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:0;
  padding:0;
  cursor:pointer;
  transition:background .25s, width .25s;
}
.reviews-v2-dot.is-active{
  background:var(--p-c-brand-2);
  width:22px;
  border-radius:4px;
}

.review-v2-card{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-xl);
  padding:var(--s-7) var(--s-6) var(--s-6);
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .35s;
  isolation:isolate;
}
.review-v2-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at top left, rgba(99,17,185,.12), transparent 55%);
  opacity:0;
  transition:opacity .4s;
  z-index:0;
}
.review-v2-card:hover{
  transform:translateY(-4px);
  border-color:rgba(99,17,185,.28);
}
.review-v2-card:hover::before{opacity:1}

.review-v2-quote-mark{
  position:absolute;
  top:-16px;
  inset-inline-start:var(--s-5);
  font-family:Georgia, serif;
  font-size:120px;
  line-height:1;
  color:rgba(99,17,185,.22);
  z-index:1;
  pointer-events:none;
  user-select:none;
}
.review-v2-stars{
  position:relative;
  z-index:2;
  font-size:16px;
  color:#FFC833;
  letter-spacing:3px;
  margin-bottom:var(--s-4);
}
.review-v2-quote{
  position:relative;
  z-index:2;
  font-family:var(--p-f-arabic);
  font-size:16px;
  line-height:1.8;
  color:var(--p-c-text);
  margin:0 0 var(--s-6);
  font-weight:500;
  text-wrap:balance;
}
.review-v2-meta{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:var(--s-3);
  padding-top:var(--s-5);
  border-top:1px solid rgba(255,255,255,.06);
}
.review-v2-avatar{
  flex-shrink:0;
  width:44px;height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:var(--p-f-display);
  font-size:18px;
  font-weight:900;
  color:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.3);
}
.review-v2-identity{
  min-width:0;
  flex:1;
}
.review-v2-name{
  font-family:var(--p-f-arabic);
  font-size:14px;
  font-weight:800;
  color:var(--p-c-text);
  line-height:1.3;
  display:flex;
  align-items:center;
  gap:6px;
}
.review-v2-verified{
  display:inline-grid;
  place-items:center;
  width:16px;height:16px;
  border-radius:50%;
  background:var(--p-c-brand-2,#22D3EE);
  color:#07070B;
  font-size:10px;
  font-weight:900;
}
.review-v2-product{
  font-family:var(--p-f-mono);
  font-size:11px;
  color:var(--p-c-text-3);
  line-height:1.4;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* ═══════════════════════════════════════════════
   FOOTER V2 — Payment Row + Legal Bottom
   ═══════════════════════════════════════════════ */
.footer-payments-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s-5);
  padding:var(--s-6) 0;
  margin-top:var(--s-7);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  flex-wrap:wrap;
}
.footer-payments-label{
  font-family:var(--p-f-arabic);
  font-size:12px;
  font-weight:600;
  color:var(--p-c-text-3);
  letter-spacing:.02em;
  text-transform:uppercase;
}
.footer-payment-icons{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.pay-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:26px;
  min-width:44px;
  padding:0 10px;
  border-radius:5px;
  font-family:Arial, sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1;
  box-shadow:0 2px 6px rgba(0,0,0,.22);
  transition:transform .2s ease;
  white-space:nowrap;
}
.pay-pill:hover{transform:translateY(-1px)}

.pay-pill.pay-mada{
  background:#fff;
  color:#58585A;
  font-weight:900;
  font-size:13px;
  letter-spacing:-.02em;
  background-image:linear-gradient(90deg,#27A6D9 0 25%, #84B840 25% 50%, #58585A 50% 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  background-color:#fff;
}
.pay-pill.pay-visa{
  background:#1A1F71;
  color:#F7B600;
  font-style:italic;
  font-size:13px;
  letter-spacing:.5px;
}
.pay-pill.pay-mc{
  background:#fff;
  padding:0 8px;
  gap:0;
}
.mc-dot{
  display:inline-block;
  width:16px;height:16px;
  border-radius:50%;
}
.mc-dot.mc-red{background:#EB001B}
.mc-dot.mc-yellow{
  background:#F79E1B;
  margin-inline-start:-6px;
  mix-blend-mode:multiply;
}
.pay-pill.pay-applepay{
  background:#000;
  color:#fff;
  font-size:11px;
  letter-spacing:.01em;
}
.pay-pill.pay-applepay::before{
  content:"";
  display:inline-block;
  width:9px;height:11px;
  margin-inline-end:4px;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/></svg>") center/contain no-repeat;
}
.pay-pill.pay-stcpay{
  background:#4F008C;
  color:#fff;
  font-size:11px;
  gap:2px;
}
.pay-pill.pay-stcpay b{font-weight:900;color:#3CFFD0;margin-inline-start:2px}
.pay-pill.pay-tabby{
  background:#3CFFD0;
  color:#292929;
}
.pay-pill.pay-tamara{
  background:linear-gradient(135deg,#FFC8A8,#E8A0BF 50%,#B8A9E8);
  color:#2a2135;
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--s-5) 0 var(--s-6);
  gap:var(--s-5);
  flex-wrap:wrap;
}
.footer-copy{
  font-family:var(--p-f-mono);
  font-size:12px;
  color:var(--p-c-text-3);
  letter-spacing:.01em;
}
.footer-legal-links{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--p-f-arabic);
  font-size:13px;
}
.footer-legal-links a{
  color:var(--p-c-text-2);
  text-decoration:none;
  transition:color .2s;
}
.footer-legal-links a:hover{color:var(--p-c-text)}
.footer-legal-links .sep{
  color:var(--p-c-text-3);
  opacity:.5;
}
@media (max-width:640px){
  .footer-payments-row{flex-direction:column;align-items:flex-start;gap:var(--s-4)}
  .footer-bottom{flex-direction:column;align-items:flex-start;text-align:start}
}

/* ═══════════════════════════════════════════════
   FOOTER V3 MINIMAL — 2 rows only
   Row 1: brand · nav · social   Row 2: copy · pay · legal
   ═══════════════════════════════════════════════ */
.ftr3{
  position:relative;
  background:#07070B;
  border-top:1px solid rgba(255,255,255,.06);
  color:var(--p-c-text,#F5F5F7);
  font-family:var(--p-f-arabic);
  margin-top:var(--s-9);
}
.ftr3-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

/* ── Row 1: brand · nav · social ── */
.ftr3-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.ftr3-brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--p-f-display, var(--p-f-arabic));
  font-size:var(--p-t-md, 17px);
  font-weight:800;
  letter-spacing:.04em;
  color:var(--p-c-brand, #6311B9);
  text-decoration:none;
  transition:opacity .2s;
}
.ftr3-brand:hover{opacity:.85}
.ftr3-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:#6311B9;
  box-shadow:0 0 10px rgba(99,17,185,.65);
  flex-shrink:0;
}
.ftr3-nav{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
.ftr3-nav a{
  font-family:var(--p-f-arabic);
  font-size:13px;
  font-weight:500;
  color:var(--p-c-text-2,#B8B8C4);
  text-decoration:none;
  transition:color .2s;
}
.ftr3-nav a:hover{color:#fff}
.ftr3-social{
  display:flex;
  gap:6px;
}
.ftr3-social-btn{
  width:32px;height:32px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  color:var(--p-c-text-3,#7A7A88);
  transition:all .2s ease;
}
.ftr3-social-btn:hover{
  color:#fff;
  transform:translateY(-1px);
}
.ftr3-social-btn svg{
  width:14px;height:14px;
  transition:transform .25s ease;
}
.ftr3-social-btn:hover svg{transform:scale(1.08)}

/* Brand-color hover per platform */
.ftr3-social-btn[data-brand="x"]:hover{
  background:#000;
  border-color:#000;
}
.ftr3-social-btn[data-brand="instagram"]:hover{
  background:linear-gradient(45deg,#F58529 0%,#DD2A7B 45%,#8134AF 75%,#515BD4 100%);
  border-color:transparent;
  box-shadow:0 6px 18px -6px rgba(221,42,123,.55);
}
.ftr3-social-btn[data-brand="tiktok"]:hover{
  background:#000;
  border-color:#000;
  box-shadow:
    1.5px 1.5px 0 0 #FE2C55,
   -1.5px -1.5px 0 0 #25F4EE;
}
.ftr3-social-btn[data-brand="whatsapp"]:hover{
  background:#25D366;
  border-color:#25D366;
  box-shadow:0 6px 18px -6px rgba(37,211,102,.55);
}

/* ── Row 2: copyright · payments · legal ── */
.ftr3-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:16px 0;
}
.ftr3-copy{
  font-family:var(--p-f-mono, var(--p-f-arabic));
  font-size:11px;
  color:var(--p-c-text-3,#7A7A88);
  letter-spacing:.02em;
  direction:ltr;
  text-align:start;
}
.ftr3-pay{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  direction:ltr;
}
/* Neutralize all colorful pill variants inside footer — single muted look */
.ftr3-pay .pay-pill,
.ftr3-pay .pay-pill.pay-mada,
.ftr3-pay .pay-pill.pay-visa,
.ftr3-pay .pay-pill.pay-mc,
.ftr3-pay .pay-pill.pay-applepay,
.ftr3-pay .pay-pill.pay-samsungpay,
.ftr3-pay .pay-pill.pay-stcpay,
.ftr3-pay .pay-pill.pay-tabby,
.ftr3-pay .pay-pill.pay-tamara{
  position:relative;
  height:22px;
  padding:0 9px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.02em;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
  color:var(--p-c-text-3,#7A7A88);
  text-transform:uppercase;
  box-shadow:none;
  -webkit-text-fill-color:var(--p-c-text-3,#7A7A88);
  -webkit-background-clip:border-box;
  background-clip:border-box;
  transition:color .25s, border-color .25s, background .25s, padding .25s, box-shadow .25s, transform .25s;
}
.ftr3-pay .pay-pill:hover{
  color:#fff;
  -webkit-text-fill-color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  transform:translateY(-1px);
}

/* ── Brand-color hover per payment method ── */
/* tamara — violet→pink gradient */
.ftr3-pay .pay-pill.pay-tamara:hover{
  background:linear-gradient(135deg,#FFC8B7 0%,#E6B8FF 100%);
  border-color:transparent;
  color:#3B0764;
  -webkit-text-fill-color:#3B0764;
  box-shadow:0 6px 18px -6px rgba(230,184,255,.5);
}
/* tabby — mint */
.ftr3-pay .pay-pill.pay-tabby:hover{
  background:#3BFFC8;
  border-color:transparent;
  color:#002B1F;
  -webkit-text-fill-color:#002B1F;
  box-shadow:0 6px 18px -6px rgba(59,255,200,.55);
}
/* stc pay — purple with mint accent */
.ftr3-pay .pay-pill.pay-stcpay:hover{
  background:#4F008C;
  border-color:#4F008C;
  color:#fff;
  -webkit-text-fill-color:#fff;
  box-shadow:0 6px 18px -6px rgba(79,0,140,.6);
}
.ftr3-pay .pay-pill.pay-stcpay:hover b{
  color:#3CFFD0;
  -webkit-text-fill-color:#3CFFD0;
}
/* Apple Pay — black with white text + apple glyph (left) */
.ftr3-pay .pay-pill.pay-applepay:hover{
  background:#000;
  border-color:#000;
  color:#fff;
  -webkit-text-fill-color:#fff;
  padding-inline-start:22px;
}
.ftr3-pay .pay-pill.pay-applepay:hover::after{
  content:"";
  position:absolute;
  inset-inline-start:7px;
  top:50%;
  width:9px;height:11px;
  transform:translateY(-55%);
  background:#fff;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/></svg>") center/contain no-repeat;
}
/* Mastercard — red + yellow overlapping circles */
.ftr3-pay .pay-pill.pay-mc{position:relative}
.ftr3-pay .pay-pill.pay-mc:hover{
  background:#16161C;
  border-color:rgba(255,255,255,.14);
  color:#fff;
  -webkit-text-fill-color:#fff;
  padding-inline-start:26px;
}
.ftr3-pay .pay-pill.pay-mc:hover::before,
.ftr3-pay .pay-pill.pay-mc:hover::after{
  content:"";
  position:absolute;
  top:50%;
  width:10px;height:10px;
  border-radius:50%;
  transform:translateY(-50%);
}
.ftr3-pay .pay-pill.pay-mc:hover::before{
  inset-inline-start:6px;
  background:#EB001B;
}
.ftr3-pay .pay-pill.pay-mc:hover::after{
  inset-inline-start:12px;
  background:#F79E1B;
  mix-blend-mode:screen;
}
/* Samsung Pay — Samsung blue */
.ftr3-pay .pay-pill.pay-samsungpay:hover{
  background:#1428A0;
  border-color:#1428A0;
  color:#fff;
  -webkit-text-fill-color:#fff;
  box-shadow:0 6px 18px -6px rgba(20,40,160,.6);
}
/* Visa — navy */
.ftr3-pay .pay-pill.pay-visa:hover{
  background:#1A1F71;
  border-color:#1A1F71;
  color:#F7B600;
  -webkit-text-fill-color:#F7B600;
  box-shadow:0 6px 18px -6px rgba(26,31,113,.65);
}
/* mada — white pill with mada green */
.ftr3-pay .pay-pill.pay-mada:hover{
  background:#fff;
  border-color:#fff;
  color:#006847;
  -webkit-text-fill-color:#006847;
  font-weight:900;
  letter-spacing:-.02em;
  text-transform:lowercase;
  box-shadow:0 6px 18px -6px rgba(136,197,64,.5);
}
/* Hide decorative inner bits (mc dots, applepay ::before glyph) */
.ftr3-pay .pay-pill .mc-dot,
.ftr3-pay .pay-pill.pay-applepay::before{display:none}
.ftr3-pay .pay-pill.pay-stcpay b{
  color:inherit;
  -webkit-text-fill-color:inherit;
  font-weight:600;
  margin-inline-start:2px;
}
/* Show MC text fallback (hidden by default in base .pay-pill) */
.mc-text{display:none}
.ftr3-pay .pay-pill.pay-mc .mc-text{
  display:inline-block;
  font-weight:600;
  color:inherit;
  -webkit-text-fill-color:inherit;
}
.ftr3-legal{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.ftr3-legal a{
  font-family:var(--p-f-arabic);
  font-size:12px;
  font-weight:500;
  color:var(--p-c-text-3,#7A7A88);
  text-decoration:none;
  transition:color .2s;
}
.ftr3-legal a:hover{color:#fff}

/* ── Responsive ── */
@media (max-width:820px){
  .ftr3-top{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
    padding:20px 0 18px;
  }
  .ftr3-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:14px 0 18px;
  }
}
@media (max-width:480px){
  .ftr3-inner{padding:0 18px}
  .ftr3-nav{gap:14px}
  .ftr3-nav a{font-size:12px}
}

/* ── Kill legacy ── */
.ftr2,
.footer{display:none !important}

/* Scroll hide/show — top header only (bottom bar stays fixed for e-commerce trust) */
.site-header{will-change:transform}
.site-header.is-hidden{
  transform:translateY(-110%);
  opacity:0;
  pointer-events:none;
}

/* ═══════════════════════════════════════════════
   QUICK VIEW — Product preview button + modal
   Button appears bottom-center of image on hover.
   Modal loads product details via AJAX without leaving page.
   ═══════════════════════════════════════════════ */
.pc-quickview{
  position:absolute;
  bottom:12px;
  left:50%;
  transform:translate(-50%, 6px);
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 14px;
  background:rgba(10,10,20,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#fff;
  font-family:var(--p-f-arabic);
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  opacity:0;
  transition:opacity .25s ease, transform .25s ease, background .2s;
  pointer-events:none;
  white-space:nowrap;
}
.pc-quickview svg{width:13px; height:13px; flex-shrink:0}
.pc-card:hover .pc-quickview{
  opacity:1;
  transform:translate(-50%, 0);
  pointer-events:auto;
}
.pc-quickview:hover{background:var(--p-c-brand); border-color:var(--p-c-brand)}
/* Mobile: hide quickview entirely — tapping card opens product page */
@media (hover:none), (max-width:768px){
  .pc-quickview{display:none}
}

/* Quick View modal */
.omx-qv-modal{
  position:fixed; inset:0; z-index:10050;
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.omx-qv-modal.is-open{display:flex}
.omx-qv-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  animation:omxFadeIn .2s;
}
.omx-qv-box{
  position:relative;
  background:var(--p-c-surface, #14132C);
  border:1px solid var(--p-c-line, rgba(255,255,255,.1));
  border-radius:18px;
  width:880px; max-width:calc(100vw - 40px);
  max-height:90vh;
  overflow-y:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
  animation:omxSlideUp .35s cubic-bezier(.2,.8,.2,1);
}
.omx-qv-close{
  position:absolute; top:12px; inset-inline-end:12px;
  width:36px; height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:0; color:#fff;
  display:grid; place-items:center;
  cursor:pointer; padding:0;
  transition:background .2s;
  z-index:2;
}
.omx-qv-close:hover{background:rgba(255,255,255,.15)}

.omx-qv-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding:24px;
  align-items:stretch;
}
@media (max-width:640px){
  .omx-qv-body{grid-template-columns:1fr; gap:16px; padding:20px}
}
.omx-qv-media-wrap{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-self:stretch;
}
.omx-qv-media{
  position:relative;
  flex:1;
  aspect-ratio:1/1;
  background:rgba(255,255,255,.03);
  border-radius:12px;
  overflow:hidden;
}
.omx-qv-media img{width:100%; height:100%; object-fit:contain; transition:opacity .25s; padding:8%}
@media (max-width:640px){
  .omx-qv-media{aspect-ratio:1/1; min-height:0}
}
.omx-qv-thumbs{
  display:flex;
  gap:6px;
  overflow-x:auto;
  scrollbar-width:none;
}
.omx-qv-thumbs::-webkit-scrollbar{display:none}
.omx-qv-thumb{
  flex:0 0 60px;
  aspect-ratio:1/1;
  border-radius:8px;
  overflow:hidden;
  background:rgba(255,255,255,.03);
  border:2px solid transparent;
  cursor:pointer;
  padding:0;
  transition:border-color .2s, transform .15s;
}
.omx-qv-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.omx-qv-thumb:hover{transform:scale(1.03)}
.omx-qv-thumb.is-active{border-color:var(--p-c-brand-2)}
.omx-qv-ribbon{
  position:absolute; top:0; inset-inline-start:0;
  background:#FBBF24;
  color:#0A0A0F;
  font-family:var(--p-f-mono);
  font-size:13px;
  font-weight:900;
  padding:6px 14px;
  border-end-end-radius:12px;
  box-shadow:0 3px 10px rgba(251,191,36,.3);
}

.omx-qv-info{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:8px;
}

/* Highlights row — fills empty space when no variations */
.omx-qv-highlights{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:4px 0;
}
.omx-qv-highlight{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:10px 6px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  text-align:center;
}
.omx-qv-highlight svg{
  width:18px;height:18px;
  color:var(--p-c-brand-2,#A78BFA);
  flex-shrink:0;
}
.omx-qv-highlight-label{
  font-family:var(--p-f-arabic);
  font-size:10.5px;font-weight:600;
  color:rgba(255,255,255,.85);
  line-height:1.2;
}
.omx-qv-brand{
  font-family:var(--p-f-display);
  font-size:12px;
  font-weight:800;
  color:var(--p-c-brand-2);
  letter-spacing:.05em;
  text-transform:uppercase;
}
.omx-qv-title{
  font-family:var(--p-f-display);
  font-size:22px;
  font-weight:800;
  color:#fff;
  margin:0;
  line-height:1.25;
  letter-spacing:-.01em;
}
.omx-qv-rating{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:13px;
}
.omx-qv-rating .omx-qv-stars{color:#FBBF24; font-size:15px; letter-spacing:-.5px}
.omx-qv-rating b{color:#fff; font-weight:700}
.omx-qv-rating small{color:var(--p-c-text-3)}
.omx-qv-desc{
  font-family:var(--p-f-arabic);
  font-size:14px;
  line-height:1.6;
  color:var(--p-c-text-2);
  margin:0;
}
.omx-qv-stock{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#EF4444;
  font-family:var(--p-f-arabic);
  font-size:12.5px;
  font-weight:800;
  padding:5px 10px;
  background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.25);
  border-radius:6px;
  width:fit-content;
}

/* Variant selector — attribute pills */
.omx-qv-variants{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:4px 0;
}
.omx-qv-variant-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.omx-qv-variant-label{
  font-family:var(--p-f-arabic);
  font-size:12.5px;
  font-weight:700;
  color:var(--p-c-text-2);
}
.omx-qv-variant-pills{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.omx-qv-variant-pill{
  font-family:var(--p-f-arabic);
  font-size:12.5px;
  font-weight:700;
  padding:6px 14px;
  background:rgba(255,255,255,.04);
  border:1.5px solid var(--p-c-line);
  border-radius:8px;
  color:var(--p-c-text);
  cursor:pointer;
  transition:all .2s;
  white-space:nowrap;
}
.omx-qv-variant-pill:hover{
  border-color:var(--p-c-brand-2);
  background:rgba(99,17,185,.08);
}
.omx-qv-variant-pill.is-selected{
  background:var(--p-c-brand);
  border-color:var(--p-c-brand);
  color:#fff;
  box-shadow:0 4px 12px rgba(99,17,185,.3);
}
.omx-qv-variant-pill.is-disabled{
  opacity:.4;
  cursor:not-allowed;
  text-decoration:line-through;
}

/* 3D model toggle button — on top of image */
.omx-qv-3d-toggle{
  position:absolute;
  bottom:10px;
  inset-inline-end:10px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 12px;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px;
  color:#fff;
  font-family:var(--p-f-display);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:background .2s;
}
.omx-qv-3d-toggle:hover{background:var(--p-c-brand)}
.omx-qv-3d-viewer{
  position:absolute;inset:0;
  background:var(--p-c-bg);
  z-index:4;
  display:none;
}
.omx-qv-3d-viewer.is-active{display:block}
.omx-qv-3d-viewer model-viewer{width:100%; height:100%}
.omx-qv-3d-close{
  position:absolute; top:10px; inset-inline-start:10px;
  width:34px; height:34px;
  border-radius:50%;
  background:rgba(0,0,0,.6);
  border:0; color:#fff;
  display:grid; place-items:center;
  cursor:pointer;
  z-index:5;
}
.omx-qv-price-row{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding-top:4px;
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:4px;
}
.omx-qv-old{font-size:14px; color:var(--p-c-text-3); text-decoration:line-through}
.omx-qv-new{
  font-family:var(--p-f-display);
  font-size:28px;
  font-weight:900;
  color:#fff;
  display:inline-flex;
  align-items:baseline;
  gap:5px;
}
.omx-qv-inst{
  font-family:var(--p-f-arabic);
  font-size:12.5px;
  color:var(--p-c-text-2);
}
.omx-qv-inst b{color:var(--p-c-brand-2); font-weight:700}
.omx-qv-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}
.omx-qv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:12px 18px;
  border-radius:10px;
  font-family:var(--p-f-arabic);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:all .2s;
}
.omx-qv-btn-primary{
  background:linear-gradient(135deg, #6311B9, #A78BFA);
  color:#fff;
  box-shadow:0 8px 24px rgba(99,17,185,.35);
}
.omx-qv-btn-primary:hover{transform:translateY(-1px); box-shadow:0 12px 32px rgba(99,17,185,.45)}
.omx-qv-btn-ghost{
  background:rgba(255,255,255,.05);
  color:var(--p-c-text-2);
  border:1px solid rgba(255,255,255,.08);
}
.omx-qv-btn-ghost:hover{background:rgba(255,255,255,.08); color:#fff}

.omx-qv-loading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:80px 20px;
}
.omx-qv-loading span{
  width:10px; height:10px;
  border-radius:50%;
  background:var(--p-c-brand-2);
  animation:qvDots 1.2s ease-in-out infinite;
}
.omx-qv-loading span:nth-child(2){animation-delay:.15s}
.omx-qv-loading span:nth-child(3){animation-delay:.3s}
@keyframes qvDots{
  0%,80%,100%{opacity:.3; transform:scale(.8)}
  40%{opacity:1; transform:scale(1.1)}
}

/* ═══════════════════════════════════════════════
   WISHLIST LEAD-CAPTURE MODAL
   Triggered by .pc-fav click when user is logged out
   Offers discount incentive in exchange for email/phone
   ═══════════════════════════════════════════════ */
.omx-lead-modal{
  position:fixed; inset:0; z-index:10000;
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.omx-lead-modal.is-open{display:flex}
body.omx-no-scroll{overflow:hidden}
.omx-lead-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  animation:omxFadeIn .2s;
}
@keyframes omxFadeIn{from{opacity:0}to{opacity:1}}
.omx-lead-box{
  position:relative;
  background:var(--p-c-surface, #14132C);
  border:1px solid var(--p-c-line, rgba(255,255,255,.1));
  border-radius:18px;
  padding:28px 24px 22px;
  max-width:400px; width:100%;
  text-align:center;
  box-shadow:0 24px 80px rgba(0,0,0,.5);
  animation:omxSlideUp .3s cubic-bezier(.2,.8,.2,1);
}
@keyframes omxSlideUp{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.omx-lead-close{
  position:absolute; top:12px; inset-inline-end:12px;
  width:32px; height:32px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  border:0; color:#fff;
  display:grid; place-items:center;
  cursor:pointer; padding:0;
  transition:background .2s;
}
.omx-lead-close:hover{background:rgba(255,255,255,.12)}
.omx-lead-icon{
  width:64px; height:64px;
  border-radius:50%;
  background:linear-gradient(135deg, #EF4444, #F87171);
  display:grid; place-items:center;
  margin:4px auto 16px;
  color:#fff;
  box-shadow:0 12px 32px rgba(239,68,68,.35);
}
.omx-lead-title{
  font-family:var(--p-f-display);
  font-size:19px; font-weight:800;
  color:#fff; margin:0 0 6px;
  letter-spacing:-.01em;
}
.omx-lead-sub{
  font-size:13px;
  color:var(--p-c-text-2);
  margin:0 0 18px;
  line-height:1.5;
}
.omx-lead-sub b{color:#FBBF24; font-weight:800}
.omx-lead-sub .sar-sym{
  display:inline-block;
  width:.75em; height:.85em;
  background:#FBBF24;
  vertical-align:-.12em;
  margin-inline-start:.1em;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1124.14 1256.39' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M699.62,1113.02h0c-20.06,44.48-33.32,92.75-38.4,143.37l424.51-90.24c20.06-44.47,33.31-92.75,38.4-143.37l-424.51,90.24Z'/%3E%3Cpath d='M1085.73,895.8c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.33v-135.2l292.27-62.11c20.06-44.47,33.33-92.75,38.42-143.37l-330.69,70.27V66.13c-50.67,28.45-95.67,66.32-132.25,110.99v403.35l-132.25,28.11V0c-50.67,28.44-95.67,66.32-132.25,110.99v525.69l-295.91,62.88c-20.06,44.47-33.33,92.75-38.42,143.37l334.33-71.05v170.26l-358.3,76.14c-20.06,44.47-33.32,92.75-38.4,143.37l375.04-79.7c30.53-6.35,56.77-24.4,73.83-49.24l68.78-101.97v-.02c7.14-10.55,11.3-23.27,11.3-36.97v-149.98l132.25-28.11v270.4l424.53-90.28Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1124.14 1256.39' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M699.62,1113.02h0c-20.06,44.48-33.32,92.75-38.4,143.37l424.51-90.24c20.06-44.47,33.31-92.75,38.4-143.37l-424.51,90.24Z'/%3E%3Cpath d='M1085.73,895.8c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.33v-135.2l292.27-62.11c20.06-44.47,33.33-92.75,38.42-143.37l-330.69,70.27V66.13c-50.67,28.45-95.67,66.32-132.25,110.99v403.35l-132.25,28.11V0c-50.67,28.44-95.67,66.32-132.25,110.99v525.69l-295.91,62.88c-20.06,44.47-33.33,92.75-38.42,143.37l334.33-71.05v170.26l-358.3,76.14c-20.06,44.47-33.32,92.75-38.4,143.37l375.04-79.7c30.53-6.35,56.77-24.4,73.83-49.24l68.78-101.97v-.02c7.14-10.55,11.3-23.27,11.3-36.97v-149.98l132.25-28.11v270.4l424.53-90.28Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.omx-lead-form{display:flex; flex-direction:column; gap:10px; margin-top:8px}
.omx-lead-input{
  width:100%;
  padding:12px 14px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--p-c-line, rgba(255,255,255,.1));
  border-radius:10px;
  color:#fff;
  font-family:var(--p-f-arabic);
  font-size:14px;
  direction:auto;
  text-align:start;
}
.omx-lead-input:focus{outline:none; border-color:var(--p-c-brand, #6311B9); background:rgba(255,255,255,.06)}
.omx-lead-input::placeholder{color:var(--p-c-text-3, #7A7A9B)}
.omx-lead-btn{
  background:linear-gradient(135deg, #6311B9, #A78BFA);
  color:#fff;
  padding:13px 18px;
  border:0;
  border-radius:10px;
  font-family:var(--p-f-arabic);
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-shadow:0 8px 24px rgba(99,17,185,.35);
  transition:transform .15s, box-shadow .15s;
}
.omx-lead-btn:hover{transform:translateY(-1px); box-shadow:0 12px 32px rgba(99,17,185,.45)}
.omx-lead-legal{
  font-size:10.5px;
  color:var(--p-c-text-3, #7A7A9B);
  margin:14px 0 0;
  line-height:1.5;
}
.omx-lead-legal a{color:var(--p-c-brand-2, #A78BFA); text-decoration:none}
.omx-lead-legal a:hover{text-decoration:underline}
@media (max-width:400px){
  .omx-lead-box{padding:24px 20px 18px; border-radius:14px}
  .omx-lead-title{font-size:17px}
  .omx-lead-sub{font-size:12.5px}
  .omx-lead-icon{width:56px; height:56px; margin-bottom:12px}
}

/* ════════════════════════════════════════════════════════════
   ZZZ FINAL OVERRIDE — All SAR symbols inside product cards on mobile.
   Wins by being last in the cascade + highest specificity.
   ════════════════════════════════════════════════════════════ */
@media (max-width:768px){
  /* Main price riyal — was 1em (16px), now 11px */
  html body .pc-card .pc-price svg.sar-symbol,
  html body .pc-card .pc-price svg.sar-main,
  html body .pc-card .pc-ccy svg.sar-symbol,
  html body .pc-card .pc-ccy svg.sar-main{
    width:11px !important;
    height:11px !important;
    min-width:11px !important;
    min-height:11px !important;
    max-width:11px !important;
    max-height:11px !important;
  }
  /* Old struck price riyal */
  html body .pc-card .pc-price-old svg.sar-symbol,
  html body .pc-card .pc-price-old svg.sar-old{
    width:8px !important;
    height:8px !important;
    min-width:8px !important;
    min-height:8px !important;
    max-width:8px !important;
    max-height:8px !important;
  }
  /* Installment riyal — smallest */
  html body .pc-card .pc-inst svg.sar-symbol,
  html body .pc-card .pc-inst svg.sar-inst{
    width:8px !important;
    height:8px !important;
    min-width:8px !important;
    min-height:8px !important;
    max-width:8px !important;
    max-height:8px !important;
  }
}
