/* ============================================================
   Mr Cozmo — نظام التصميم
   فكرة التصميم: ملصق دوائي/معملي (Apothecary Label System)
   كل منتج بيتعرض زي ملصق تركيبة معملية: كود، فئة، نسبة تركيز/خصم،
   بدل الكروت التسويقية العادية. الألوان مستوحاة من زجاجات الأدوية
   الكهرمانية ولون الأخضر الطبي الهادي — والشعار شخصية ودّية بسيطة
   تعكس اسم "Mr Cozmo" مع الحفاظ على طابع الثقة المهني.
   ============================================================ */

:root{
  /* ---- الألوان (Color tokens) ---- */
  --bg:            #F6F9F7;   /* خلفية عامة - أبيض بميل أخضر خفيف جداً */
  --surface:       #FFFFFF;   /* خلفية الكروت */
  --surface-tint:  #E9F1EC;   /* خلفية أقسام ثانوية - أخضر سيج فاتح */
  --ink:           #16241F;   /* لون النص الأساسي - أخضر غامق قريب من الأسود */
  --ink-soft:      #4A5C55;   /* نص ثانوي */
  --primary:       #1F4D42;   /* أخضر طبي غامق - اللون الأساسي للبراند */
  --primary-hover: #2E6B5B;
  --primary-tint:  #DCEAE3;
  --amber:         #B8792A;   /* كهرماني زجاجة الدواء - لون العروض/الخصومات */
  --amber-dark:    #8F5E20;
  --line:          #D8E3DD;   /* خطوط فاصلة */
  --line-strong:   #B9CAC2;
  --danger:        #A23B32;
  --white:         #FFFFFF;

  /* ---- الخطوط (Type tokens) ---- */
  --font-display: 'IBM Plex Sans Arabic', 'Segoe UI', sans-serif;
  --font-body:    'IBM Plex Sans Arabic', 'Segoe UI', sans-serif;
  --font-mono:    'IBM Plex Mono', 'Courier New', monospace;

  /* ---- مقاييس ---- */
  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --shadow-card: 0 2px 10px rgba(22,36,31,0.06), 0 1px 2px rgba(22,36,31,0.05);
  --shadow-hover: 0 10px 24px rgba(22,36,31,0.10);
  --container: 1180px;
  --bar-h: 40px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  direction:rtl;
  text-align:right;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
input,select,textarea{ font-family:inherit; }

.container{
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:24px;
}

/* ---- إتاحة الوصول: تركيز لوحة المفاتيح ---- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

/* ============================================================
   شريط وضع عرض السعر (تجزئة / جملة)
   شريط علوي ثابت بيوضّح إن السعر بيتغيّر حسب نوع العميل —
   عنصر مهم لأن مستر كوزمو بيخدم الصيدليات والمستهلكين مع بعض.
   ============================================================ */
.price-mode-bar{
  position:sticky; top:0; z-index:56;
  background:var(--primary); color:#fff;
  height:var(--bar-h,40px);
}
.price-mode-inner{
  height:100%; display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap; font-size:0.8rem;
}
.price-mode-label{ color:#CFE6DC; white-space:nowrap; }
.price-mode-toggle{ display:flex; gap:4px; background:rgba(255,255,255,0.12); border-radius:999px; padding:3px; }
.price-mode-toggle button{
  background:none; border:none; color:#EAF3EF; padding:6px 14px; border-radius:999px; font-size:0.78rem;
  transition:0.15s;
}
.price-mode-toggle button.active{ background:var(--amber); color:#fff; font-weight:600; }

/* ============================================================
   الهيدر والتنقل
   ============================================================ */
.site-header{
  position:sticky; top:var(--bar-h,40px); z-index:50;
  background:rgba(246,249,247,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:14px;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand-mark{ width:40px; height:40px; flex-shrink:0; }
.brand-word{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--primary); letter-spacing:-0.01em; }
.brand-sub{ display:block; font-family:var(--font-mono); font-size:0.62rem; color:var(--ink-soft); letter-spacing:0.03em; }

.nav-links{ display:flex; align-items:center; gap:6px; }
.nav-links a{
  padding:9px 16px; border-radius:999px; font-size:0.93rem; color:var(--ink-soft);
  transition:background 0.15s, color 0.15s;
}
.nav-links a:hover, .nav-links a.active{ background:var(--primary-tint); color:var(--primary); }
.nav-cta{
  background:var(--primary) !important; color:var(--white) !important;
  padding:9px 18px !important;
}
.nav-cta:hover{ background:var(--primary-hover) !important; }

.nav-toggle{
  display:none; background:none; border:1px solid var(--line-strong); border-radius:8px;
  width:40px; height:40px; align-items:center; justify-content:center;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative; transition:0.2s;
}
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }

@media (max-width:860px){
  .nav-links{
    position:fixed; inset-inline:0; top:64px; background:var(--surface);
    flex-direction:column; align-items:stretch; padding:12px; gap:2px;
    border-bottom:1px solid var(--line); transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:0.2s;
  }
  .nav-links.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-links a{ text-align:center; padding:12px 16px; }
  .nav-toggle{ display:flex; }
}

/* ============================================================
   عناصر عامة: أزرار، عناوين أقسام، رقاقات (chips)
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 26px; border-radius:999px; border:1px solid transparent;
  font-weight:600; font-size:0.95rem; transition:transform 0.15s, background 0.15s, box-shadow 0.15s;
}
.btn:active{ transform:scale(0.98); }
.btn-primary{ background:var(--primary); color:var(--white); }
.btn-primary:hover{ background:var(--primary-hover); box-shadow:var(--shadow-hover); }
.btn-outline{ background:transparent; border-color:var(--primary); color:var(--primary); }
.btn-outline:hover{ background:var(--primary-tint); }
.btn-amber{ background:var(--amber); color:var(--white); }
.btn-amber:hover{ background:var(--amber-dark); }
.btn-block{ width:100%; }
.btn-sm{ padding:9px 16px; font-size:0.85rem; }
.btn[disabled]{ opacity:0.5; cursor:not-allowed; }

.eyebrow{
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.12em;
  color:var(--amber-dark); text-transform:uppercase; display:flex; align-items:center; gap:8px;
}
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--amber-dark); display:inline-block; }

.section-title{
  font-family:var(--font-display); font-weight:700; font-size:clamp(1.5rem,3vw,2.1rem);
  margin-block:10px 6px; letter-spacing:-0.01em;
}
.section-lead{ color:var(--ink-soft); max-width:60ch; margin:0; }
.section-head{ margin-bottom:34px; }

.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 16px; border-radius:999px; border:1px solid var(--line-strong);
  background:var(--surface); font-size:0.85rem; color:var(--ink-soft);
  transition:0.15s;
}
.chip:hover{ border-color:var(--primary); color:var(--primary); }
.chip.is-active{ background:var(--primary); border-color:var(--primary); color:var(--white); }

.section{ padding-block:64px; }
.section-tint{ background:var(--surface-tint); }

/* ============================================================
   البطاقة المعملية (Formulation Label Card) — العنصر المميز
   يحاكي تصميم ملصقات الأدوية/التركيبات: خط علوي ملوّن، كود مرجعي
   بخط Mono، خط متقطع فاصل، وختم دائري مائل للخصومات.
   ============================================================ */
.label-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow-card);
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  display:flex; flex-direction:column;
}
.label-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.label-card__bar{ height:6px; background:var(--primary); }
.label-card__media{
  aspect-ratio:4/3; background:var(--surface-tint);
  display:flex; align-items:center; justify-content:center;
  color:var(--primary); font-size:2.4rem; position:relative;
}
.label-card__body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.label-card__ref{
  font-family:var(--font-mono); font-size:0.72rem; color:var(--ink-soft);
  display:flex; justify-content:space-between; letter-spacing:0.02em;
}
.label-card__name{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin:0; }
.label-card__cat{ font-size:0.78rem; color:var(--primary); }
.label-card__divider{
  border:none; border-top:1px dashed var(--line-strong); margin:6px 0;
}
.label-card__pricing{ display:flex; align-items:baseline; gap:10px; margin-top:auto; }
.label-card__price{ font-family:var(--font-mono); font-weight:700; font-size:1.15rem; color:var(--ink); }
.label-card__price-old{
  font-family:var(--font-mono); font-size:0.82rem; color:var(--ink-soft);
  text-decoration:line-through; text-decoration-color:var(--danger);
}
.label-card__mode-tag{
  font-family:var(--font-mono); font-size:0.65rem; color:var(--primary);
  background:var(--primary-tint); display:inline-block; padding:2px 9px; border-radius:999px;
  width:fit-content;
}
.label-card__stock{ font-size:0.75rem; color:var(--ink-soft); }
.label-card__stock.is-out{ color:var(--danger); }
.label-card__actions{ display:flex; gap:8px; margin-top:6px; align-items:center; }
.label-card__qty{
  display:flex; align-items:center; border:1px solid var(--line-strong); border-radius:999px; overflow:hidden;
}
.label-card__qty button{ background:none; border:none; width:30px; height:34px; font-size:1rem; color:var(--primary); }
.label-card__qty button:hover{ background:var(--primary-tint); }
.label-card__qty input{
  width:34px; text-align:center; border:none; background:none; font-family:var(--font-mono); font-size:0.9rem;
}

/* ختم الخصم — Stamp */
.stamp{
  position:absolute; top:14px; left:14px;
  width:58px; height:58px; border-radius:50%;
  border:2px dashed var(--amber);
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  transform:rotate(-12deg);
  background:rgba(255,255,255,0.9);
  color:var(--amber-dark);
  font-family:var(--font-mono); font-weight:700; line-height:1.1;
  text-align:center;
}
.stamp small{ font-size:0.55rem; font-weight:500; letter-spacing:0.05em; }
.stamp span{ font-size:0.95rem; }

/* شبكة المنتجات */
.grid{ display:grid; gap:22px; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }

/* ============================================================
   الصفحة الرئيسية — البطل (Hero)
   ============================================================ */
.hero{
  padding-block:70px 40px;
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;
}
@media (max-width:900px){ .hero{ grid-template-columns:1fr; padding-block:40px 20px; } }

.hero-copy h1{
  font-family:var(--font-display); font-weight:700; letter-spacing:-0.02em;
  font-size:clamp(2rem,4.4vw,3.1rem); line-height:1.15; margin:14px 0 18px;
}
.hero-copy p{ color:var(--ink-soft); font-size:1.05rem; max-width:52ch; margin-bottom:26px; }
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.hero-trust{ display:flex; gap:22px; margin-top:34px; flex-wrap:wrap; }
.hero-trust div{ font-size:0.82rem; color:var(--ink-soft); display:flex; align-items:center; gap:8px; }
.hero-trust b{ display:block; font-family:var(--font-mono); color:var(--primary); font-size:1rem; }

/* بطاقة الملصق الكبيرة في البطل - العنصر المميز الرئيسي */
.hero-label{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card); padding:26px 26px 22px; position:relative;
  transform:rotate(-2deg);
  animation:labelIn 0.7s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes labelIn{ from{ opacity:0; transform:rotate(-2deg) translateY(16px);} to{ opacity:1; transform:rotate(-2deg) translateY(0);} }
.hero-label__top{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:0.72rem; color:var(--ink-soft); }
.hero-label__title{ font-family:var(--font-display); font-weight:700; font-size:1.6rem; margin:14px 0 4px; color:var(--primary); }
.hero-label__sub{ color:var(--ink-soft); font-size:0.9rem; margin-bottom:14px; }
.hero-label__row{
  display:flex; justify-content:space-between; padding-block:9px;
  border-top:1px dashed var(--line-strong); font-size:0.86rem;
}
.hero-label__row b{ font-family:var(--font-mono); color:var(--ink); }
.hero-label__row span:first-child{ color:var(--ink-soft); }
.hero-label__footer{
  margin-top:16px; padding-top:14px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center;
}
.hero-label__price{ font-family:var(--font-mono); font-weight:700; font-size:1.4rem; color:var(--primary); }
.hero-label__badge{
  font-family:var(--font-mono); font-size:0.68rem; background:var(--amber); color:#fff;
  padding:4px 10px; border-radius:999px;
}

/* رقاقات الفئات في الصفحة الرئيسية */
.cat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; }
@media (max-width:760px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }
.cat-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:22px 18px; text-align:center; transition:0.2s;
}
.cat-card:hover{ border-color:var(--primary); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.cat-card__icon{ font-size:1.8rem; margin-bottom:10px; }
.cat-card__name{ font-family:var(--font-display); font-weight:700; font-size:0.95rem; }
.cat-card__count{ font-family:var(--font-mono); font-size:0.72rem; color:var(--ink-soft); }

/* شريط الثقة الطبي */
.trust-strip{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding-block:22px;
}
.trust-strip div{ display:flex; align-items:center; gap:10px; font-size:0.88rem; color:var(--ink-soft); }
.trust-strip i{ font-style:normal; font-size:1.3rem; }

/* ============================================================
   صفحة المنتجات
   ============================================================ */
.products-toolbar{
  display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  padding-block:22px; position:sticky; top:calc(var(--bar-h,40px) + 64px); background:var(--bg); z-index:10;
  border-bottom:1px solid var(--line);
}
.search-box{
  flex:1; min-width:220px; display:flex; align-items:center; gap:8px;
  background:var(--surface); border:1px solid var(--line-strong); border-radius:999px; padding:10px 18px;
}
.search-box input{ border:none; background:none; flex:1; font-size:0.95rem; outline:none; }
.filter-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.filter-chips button{ border:1px solid var(--line-strong); background:var(--surface); }

.data-status{
  font-family:var(--font-mono); font-size:0.78rem; color:var(--ink-soft);
  padding:10px 0; display:flex; align-items:center; gap:8px;
}
.data-status.is-error{ color:var(--danger); }
.dot{ width:7px; height:7px; border-radius:50%; background:var(--primary); display:inline-block; }
.data-status.is-error .dot{ background:var(--danger); }

.empty-state{
  text-align:center; padding:60px 20px; color:var(--ink-soft);
}

/* سلة الطلب العائمة */
.cart-fab{
  position:fixed; bottom:22px; left:22px; z-index:60;
  background:var(--primary); color:#fff; border-radius:999px;
  padding:14px 22px; display:flex; align-items:center; gap:10px;
  box-shadow:0 8px 20px rgba(31,77,66,0.35); font-weight:700;
  transition:transform 0.15s;
}
.cart-fab:hover{ transform:translateY(-2px); }
.cart-fab__count{
  background:var(--amber); border-radius:50%; width:22px; height:22px;
  display:flex; align-items:center; justify-content:center; font-size:0.72rem; font-family:var(--font-mono);
}

.cart-drawer{
  position:fixed; inset-inline-end:0; top:0; height:100%; width:min(400px,92vw);
  background:var(--surface); box-shadow:-8px 0 30px rgba(0,0,0,0.15);
  z-index:70; transform:translateX(110%); transition:transform 0.25s ease;
  display:flex; flex-direction:column;
}
[dir="rtl"] .cart-drawer{ transform:translateX(-110%); }
.cart-drawer.open{ transform:translateX(0); }
.cart-drawer__head{ padding:20px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
.cart-drawer__items{ flex:1; overflow-y:auto; padding:14px 20px; }
.cart-line{ display:flex; justify-content:space-between; gap:10px; padding-block:12px; border-bottom:1px dashed var(--line); font-size:0.88rem; }
.cart-line__meta{ color:var(--ink-soft); font-family:var(--font-mono); font-size:0.72rem; }
.cart-drawer__foot{ padding:18px 20px; border-top:1px solid var(--line); }
.cart-total{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-weight:700; margin-bottom:14px; }
.overlay{
  position:fixed; inset:0; background:rgba(22,36,31,0.35); z-index:65; opacity:0; pointer-events:none; transition:0.2s;
}
.overlay.open{ opacity:1; pointer-events:auto; }

/* ============================================================
   تسجيل الدخول / الحساب
   ============================================================ */
.auth-wrap{
  min-height:70vh; display:flex; align-items:center; justify-content:center; padding-block:60px;
}
.auth-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card); padding:40px; width:100%; max-width:420px;
}
.auth-card h1{ font-family:var(--font-display); font-size:1.5rem; margin:0 0 6px; }
.auth-card p.lead{ color:var(--ink-soft); font-size:0.9rem; margin-bottom:26px; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:0.85rem; margin-bottom:6px; color:var(--ink-soft); }
.field input, .field select{
  width:100%; padding:12px 14px; border:1px solid var(--line-strong); border-radius:var(--radius-sm);
  background:var(--bg); font-size:0.95rem;
}
.field input:focus, .field select:focus{ border-color:var(--primary); outline:none; }
.auth-switch{ text-align:center; margin-top:18px; font-size:0.88rem; color:var(--ink-soft); }
.auth-switch a{ color:var(--primary); font-weight:600; }
.notice{
  border:1px dashed var(--amber); background:#FBF3E7; color:var(--amber-dark);
  padding:12px 16px; border-radius:var(--radius-sm); font-size:0.82rem; margin-bottom:20px;
}
.form-msg{ font-size:0.85rem; padding:10px 14px; border-radius:var(--radius-sm); margin-bottom:14px; display:none; }
.form-msg.show{ display:block; }
.form-msg.ok{ background:var(--primary-tint); color:var(--primary); }
.form-msg.err{ background:#F7E4E1; color:var(--danger); }

/* لوحة الحساب */
.dash{ display:grid; grid-template-columns:220px 1fr; gap:30px; padding-block:40px; }
@media (max-width:800px){ .dash{ grid-template-columns:1fr; } }
.dash-nav{ display:flex; flex-direction:column; gap:4px; }
.dash-nav button{
  text-align:right; padding:12px 16px; border-radius:var(--radius-sm); border:none; background:none;
  color:var(--ink-soft); font-size:0.92rem;
}
.dash-nav button.active, .dash-nav button:hover{ background:var(--primary-tint); color:var(--primary); font-weight:600; }
.dash-panel{ display:none; }
.dash-panel.active{ display:block; }
.table{ width:100%; border-collapse:collapse; font-size:0.9rem; }
.table th{ text-align:right; font-family:var(--font-mono); font-size:0.72rem; color:var(--ink-soft); padding:10px; border-bottom:1px solid var(--line-strong); }
.table td{ padding:12px 10px; border-bottom:1px solid var(--line); }
.status-pill{ padding:4px 12px; border-radius:999px; font-size:0.75rem; font-family:var(--font-mono); }
.status-pill.done{ background:var(--primary-tint); color:var(--primary); }
.status-pill.pending{ background:#FBF3E7; color:var(--amber-dark); }

/* ============================================================
   تذييل الصفحة
   ============================================================ */
.site-footer{ background:var(--primary); color:#EAF3EF; padding-block:50px 26px; margin-top:60px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; }
@media (max-width:760px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h4{ font-family:var(--font-display); font-size:0.95rem; margin-bottom:14px; }
.footer-grid ul li{ margin-bottom:8px; font-size:0.88rem; color:#C7DED4; }
.footer-grid ul li a:hover{ color:#fff; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.15); margin-top:34px; padding-top:20px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-family:var(--font-mono); font-size:0.72rem; color:#9FC1B3;
}

/* صفحة التواصل */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
@media (max-width:800px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-info-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:26px; margin-bottom:16px; }
.contact-info-card b{ display:block; font-family:var(--font-display); margin-bottom:4px; }
textarea.field-textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line-strong); border-radius:var(--radius-sm);
  background:var(--bg); font-size:0.95rem; min-height:120px; resize:vertical;
}

/* تلاشي عند الظهور أثناء التمرير */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity 0.5s ease, transform 0.5s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
