/* Local copies of the nasaq fonts (OFL, see ../fonts/OFL.txt). No external font service. */
/* noto-kufi-arabic-arabic-400-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/noto-kufi-arabic-arabic-400-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* noto-kufi-arabic-latin-400-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/noto-kufi-arabic-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* noto-kufi-arabic-arabic-500-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/noto-kufi-arabic-arabic-500-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* noto-kufi-arabic-latin-500-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/noto-kufi-arabic-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* noto-kufi-arabic-arabic-600-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/fonts/noto-kufi-arabic-arabic-600-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* noto-kufi-arabic-latin-600-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/fonts/noto-kufi-arabic-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* noto-kufi-arabic-arabic-700-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/noto-kufi-arabic-arabic-700-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* noto-kufi-arabic-latin-700-normal */
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/noto-kufi-arabic-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-arabic-arabic-300-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/fonts/ibm-plex-sans-arabic-arabic-300-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* ibm-plex-sans-arabic-latin-300-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/fonts/ibm-plex-sans-arabic-latin-300-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-arabic-arabic-400-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* ibm-plex-sans-arabic-latin-400-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-arabic-arabic-500-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* ibm-plex-sans-arabic-latin-500-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-arabic-arabic-600-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format('woff2');
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/* ibm-plex-sans-arabic-latin-600-normal */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/fonts/ibm-plex-sans-arabic-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-latin-400-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-latin-500-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-latin-600-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ==========================================================================
   نَسَق — منصّة الجداول المدرسية
   ملف المتغيرات والأنماط الأساسية (المصدر الوحيد للألوان والخطوط والمقاسات)
   الاستخدام:  <html lang="ar" dir="rtl" data-theme="petrol">
   الأنظمة:    petrol | green | navy | plum | graphite
   (Local copy for nsaqq.com: the Google Fonts @import is removed; fonts are self-hosted in fonts.css.)
   ========================================================================== */


/* ---------- ثوابت لا تتغير بتغير النظام اللوني ---------- */
:root {
  /* الخطوط: الكوفي للعناوين فقط، وIBM Plex للنصوص والجداول والحقول */
  --nasaq-font-display: 'Droid Arabic Kufi', 'Noto Kufi Arabic', sans-serif;
  --nasaq-font-body: 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, sans-serif;

  /* سلّم أحجام الخط */
  --nasaq-text-xs: 13px;
  --nasaq-text-sm: 15px;
  --nasaq-text-base: 17px;
  --nasaq-text-lg: 20px;
  --nasaq-text-xl: 24px;
  --nasaq-text-2xl: 28px;
  --nasaq-text-3xl: 36px;
  --nasaq-leading-display: 1.6;
  --nasaq-leading-body: 1.8;

  /* المسافات (مضاعفات 4) */
  --nasaq-space-1: 4px;
  --nasaq-space-2: 8px;
  --nasaq-space-3: 12px;
  --nasaq-space-4: 16px;
  --nasaq-space-5: 24px;
  --nasaq-space-6: 32px;
  --nasaq-space-7: 48px;
  --nasaq-space-8: 64px;

  /* الزوايا والارتفاعات */
  --nasaq-radius-sm: 6px;   /* خلايا الجدول، الأزرار، الحقول */
  --nasaq-radius: 10px;     /* البطاقات واللوحات */
  --nasaq-control-h: 44px;  /* أقل ارتفاع لأي عنصر يُضغط */
  --nasaq-header-h: 72px;

  /* ألوان الحالات (ثابتة في كل الأنظمة) */
  --nasaq-success: #23704F;
  --nasaq-warning: #8A5A0B;
  --nasaq-danger: #A8362E;   /* تعارض في الجدول، حذف */
  --nasaq-info: #2A5F9E;
  --nasaq-on-primary: #FFFFFF;
  --nasaq-surface: #FFFFFF;
}

/* ---------- 1) البترولي والأبيض (الافتراضي) ---------- */
:root,
[data-theme="petrol"] {
  --nasaq-primary: #0F4C5C;
  --nasaq-primary-hover: #0A3642;
  --nasaq-accent: #7CC0CE;         /* لمسات فقط، وعلى الخلفية الداكنة */
  --nasaq-accent-strong: #0F6072;  /* نص وروابط على الخلفية الفاتحة */
  --nasaq-bg: #F3F7F8;
  --nasaq-border: #CDDCE0;
  --nasaq-text: #0B2A33;
  --nasaq-muted: #4A666E;
}

/* ---------- 2) الأخضر والذهبي النحاسي ---------- */
[data-theme="green"] {
  --nasaq-primary: #0E3B33;
  --nasaq-primary-hover: #092A24;
  --nasaq-accent: #C9A66B;
  --nasaq-accent-strong: #7A5C2E;
  --nasaq-bg: #F3F5F1;
  --nasaq-border: #D2D9D0;
  --nasaq-text: #0C2A25;
  --nasaq-muted: #52635C;
}

/* ---------- 3) الكحلي والنحاسي ---------- */
[data-theme="navy"] {
  --nasaq-primary: #101B33;
  --nasaq-primary-hover: #0A1224;
  --nasaq-accent: #C9A66B;
  --nasaq-accent-strong: #7A5C2E;
  --nasaq-bg: #EEF0F2;
  --nasaq-border: #CBD0D8;
  --nasaq-text: #101B33;
  --nasaq-muted: #5B6577;
}

/* ---------- 4) الباذنجاني والوردي الهادئ ---------- */
[data-theme="plum"] {
  --nasaq-primary: #3D2645;
  --nasaq-primary-hover: #2C1A33;
  --nasaq-accent: #D9A3B4;
  --nasaq-accent-strong: #8A4A62;
  --nasaq-bg: #F6F2F5;
  --nasaq-border: #DCD2DA;
  --nasaq-text: #2A1A30;
  --nasaq-muted: #6A5A70;
}

/* ---------- 5) الفحمي والكهرماني ---------- */
[data-theme="graphite"] {
  --nasaq-primary: #2B2F36;
  --nasaq-primary-hover: #1D2025;
  --nasaq-accent: #E0B15E;
  --nasaq-accent-strong: #7D5A16;
  --nasaq-bg: #F3F2EF;
  --nasaq-border: #D6D4CE;
  --nasaq-text: #1E2126;
  --nasaq-muted: #5C6067;
}

/* ==========================================================================
   الأنماط الأساسية
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--nasaq-bg);
  color: var(--nasaq-text);
  font-family: var(--nasaq-font-body);
  font-size: var(--nasaq-text-base);
  line-height: var(--nasaq-leading-body);
}

h1, h2, h3, h4, .nasaq-display {
  margin: 0;
  font-family: var(--nasaq-font-display);
  font-weight: 600;
  line-height: var(--nasaq-leading-display);
  color: var(--nasaq-text);
}
h1 { font-size: var(--nasaq-text-3xl); font-weight: 700; }
h2 { font-size: var(--nasaq-text-2xl); }
h3 { font-size: var(--nasaq-text-xl); }
h4 { font-size: var(--nasaq-text-lg); }

a { color: var(--nasaq-accent-strong); text-underline-offset: 4px; }
a:hover { color: var(--nasaq-primary); }

.nasaq-muted { color: var(--nasaq-muted); }

:focus-visible {
  outline: 2px solid var(--nasaq-accent-strong);
  outline-offset: 2px;
}

/* ---------- الشريط العلوي ---------- */
.nasaq-header {
  min-height: var(--nasaq-header-h);
  padding: var(--nasaq-space-3) var(--nasaq-space-5);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--nasaq-space-4);
  background: var(--nasaq-primary);
  color: var(--nasaq-on-primary);
}
.nasaq-header h1,
.nasaq-header h2,
.nasaq-header .nasaq-display { color: var(--nasaq-on-primary); font-size: var(--nasaq-text-lg); font-weight: 500; }
.nasaq-header .nasaq-muted { color: var(--nasaq-accent); }

/* ---------- الشعار (SVG مضمّن) ---------- */
.nasaq-logo { display: block; height: 40px; width: auto; }
.nasaq-logo__body { fill: var(--nasaq-primary); }
.nasaq-logo__dot { fill: var(--nasaq-accent-strong); }
.nasaq-header .nasaq-logo__body,
.nasaq-logo--on-dark .nasaq-logo__body { fill: var(--nasaq-on-primary); }
.nasaq-header .nasaq-logo__dot,
.nasaq-logo--on-dark .nasaq-logo__dot { fill: var(--nasaq-accent); }

/* ---------- الأزرار ---------- */
.nasaq-btn {
  min-height: var(--nasaq-control-h);
  padding: 0 var(--nasaq-space-5);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--nasaq-space-2);
  border: 1px solid var(--nasaq-primary);
  border-radius: var(--nasaq-radius-sm);
  background: var(--nasaq-primary);
  color: var(--nasaq-on-primary);
  font-family: var(--nasaq-font-body);
  font-size: var(--nasaq-text-sm);
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.nasaq-btn:hover { background: var(--nasaq-primary-hover); border-color: var(--nasaq-primary-hover); color: var(--nasaq-on-primary); }
.nasaq-btn:disabled { opacity: .5; cursor: not-allowed; }

.nasaq-btn--outline { background: transparent; color: var(--nasaq-primary); }
.nasaq-btn--outline:hover { background: var(--nasaq-primary); color: var(--nasaq-on-primary); }

.nasaq-btn--danger { background: var(--nasaq-danger); border-color: var(--nasaq-danger); }
.nasaq-btn--danger:hover { background: var(--nasaq-danger); border-color: var(--nasaq-danger); filter: brightness(.92); }

/* ---------- البطاقات ---------- */
.nasaq-card {
  padding: var(--nasaq-space-5);
  background: var(--nasaq-surface);
  border: 1px solid var(--nasaq-border);
  border-radius: var(--nasaq-radius);
}

/* ---------- الحقول ---------- */
.nasaq-field { display: flex; flex-direction: column; gap: var(--nasaq-space-2); }
.nasaq-label { font-size: var(--nasaq-text-sm); font-weight: 500; }
.nasaq-input,
.nasaq-select {
  min-height: var(--nasaq-control-h);
  padding: 0 var(--nasaq-space-4);
  background: var(--nasaq-surface);
  border: 1px solid var(--nasaq-border);
  border-radius: var(--nasaq-radius-sm);
  color: var(--nasaq-text);
  font-family: var(--nasaq-font-body);
  font-size: var(--nasaq-text-sm);
}
.nasaq-input:focus,
.nasaq-select:focus { border-color: var(--nasaq-primary); }

/* ---------- الشارات ---------- */
.nasaq-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--nasaq-space-2);
  padding: 2px var(--nasaq-space-3);
  border: 1px solid var(--nasaq-border);
  border-radius: var(--nasaq-radius-sm);
  background: var(--nasaq-surface);
  color: var(--nasaq-muted);
  font-size: var(--nasaq-text-xs);
  font-weight: 500;
}
.nasaq-badge--danger { color: var(--nasaq-danger); border-color: var(--nasaq-danger); }
.nasaq-badge--success { color: var(--nasaq-success); border-color: var(--nasaq-success); }

/* ---------- جدول الحصص ----------
   شبكة CSS: عمود للأيام ثم الحصص. عمود الفسحة يُضاف في grid-template-columns
   حسب إعدادات المدرسة. مثال لست حصص وفسحة بعد الثالثة:
   style="grid-template-columns: 112px repeat(3, minmax(0,1fr)) 56px repeat(3, minmax(0,1fr))"
*/
.nasaq-timetable-wrap { overflow-x: auto; }
.nasaq-timetable {
  min-width: 760px;
  display: grid;
  gap: var(--nasaq-space-2);
  font-size: var(--nasaq-text-sm);
  text-align: center;
}
.nasaq-tt-head {
  display: flex; align-items: center; justify-content: center;
  min-height: 40px;
  color: var(--nasaq-muted);
  font-size: var(--nasaq-text-xs);
  font-weight: 500;
}
.nasaq-tt-day {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--nasaq-font-display);
  font-size: var(--nasaq-text-sm);
  font-weight: 600;
}
.nasaq-cell {
  min-height: 64px;
  padding: var(--nasaq-space-2);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px;
  background: var(--nasaq-surface);
  border: 1px solid transparent;
  border-radius: var(--nasaq-radius-sm);
}
.nasaq-cell__sub { color: var(--nasaq-muted); font-size: var(--nasaq-text-xs); }

/* الحصة الحالية: خلفية أساسية + مربع صغير باللون المميّز (نقطة النون في الشعار) */
.nasaq-cell--current { background: var(--nasaq-primary); color: var(--nasaq-on-primary); font-weight: 500; }
.nasaq-cell--current .nasaq-cell__sub { color: var(--nasaq-accent); }
.nasaq-cell--current::before {
  content: "";
  width: 8px; height: 8px;
  background: var(--nasaq-accent);
}

.nasaq-cell--empty { background: transparent; border: 1px dashed var(--nasaq-border); color: var(--nasaq-muted); }
.nasaq-cell--conflict { border-color: var(--nasaq-danger); color: var(--nasaq-danger); }
.nasaq-cell--break {
  background: var(--nasaq-border);
  color: var(--nasaq-muted);
  font-family: var(--nasaq-font-display);
  font-size: var(--nasaq-text-sm);
  font-weight: 500;
  writing-mode: vertical-rl;
}

/* ---------- الواجهة الإنجليزية ----------
   <html lang="en" dir="ltr"> أو أي عنصر يحمل lang="en".
   يتبدل الخطان إلى IBM Plex Sans، وتبقى الألوان والمقاسات كما هي.
   الاتجاه ينعكس وحده لأن الأنماط مكتوبة بالخصائص المنطقية. */
:root { --nasaq-font-latin: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif; }

[lang|="en"] {
  --nasaq-font-display: var(--nasaq-font-latin);
  --nasaq-font-body: var(--nasaq-font-latin);
  --nasaq-leading-display: 1.25;
  --nasaq-leading-body: 1.6;
  font-family: var(--nasaq-font-body);
  line-height: var(--nasaq-leading-body);
}
[lang|="ar"] {
  --nasaq-font-display: 'Droid Arabic Kufi', 'Noto Kufi Arabic', sans-serif;
  --nasaq-font-body: 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
  --nasaq-leading-display: 1.6;
  --nasaq-leading-body: 1.8;
  font-family: var(--nasaq-font-body);
  line-height: var(--nasaq-leading-body);
}
/* الشعار الإنجليزي أعرض وأقصر من العربي */
.nasaq-logo--en { height: 24px; }
[lang|="en"] .nasaq-cell--break { letter-spacing: 0.2em; text-transform: uppercase; }

/* ---------- الطباعة ---------- */
@media print {
  body { background: #FFFFFF; }
  .nasaq-cell { border-color: var(--nasaq-border); }
  .nasaq-header, .nasaq-cell--current, .nasaq-cell--break { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ==========================================================================
   nsaqq.com — marketing site styles, built only from the nasaq design-kit tokens
   (nasaq-tokens.css). No colour values here: every colour is a --nasaq-* variable.
   Logical properties only (the same rules serve RTL Arabic and LTR English).
   ========================================================================== */

html { scroll-padding-block-start: var(--nasaq-space-5); -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }
main:focus { outline: none; }
img, svg { max-width: 100%; }
p { margin: 0 0 var(--nasaq-space-4); }
ul, ol { margin: 0; padding: 0; }
[role="list"] { list-style: none; }
code { font-family: var(--nasaq-font-body); }

.visually-hidden {
  position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}
.skip-link {
  position: absolute; inset-inline-start: var(--nasaq-space-4); inset-block-start: -100px; z-index: 10;
  padding: var(--nasaq-space-2) var(--nasaq-space-4);
  background: var(--nasaq-surface); color: var(--nasaq-primary); border-radius: var(--nasaq-radius-sm);
}
.skip-link:focus { inset-block-start: var(--nasaq-space-2); }

.wrap { inline-size: 100%; max-inline-size: 1200px; margin-inline: auto; padding-inline: var(--nasaq-space-4); }
@media (min-width: 720px) { .wrap { padding-inline: var(--nasaq-space-5); } }

.muted { color: var(--nasaq-muted); }

/* ---------- header ---------- */
.site-header { padding: 0; min-height: var(--nasaq-header-h); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--nasaq-space-5); min-height: var(--nasaq-header-h); }
/* The header logo: the page language's logo first, a thin rule, the other logo, and the tagline under them. */
.site-logo { display: inline-grid; justify-items: start; gap: var(--nasaq-space-1); flex: none; padding-block: var(--nasaq-space-3); color: var(--nasaq-on-primary); text-decoration: none; }
.site-logo:hover { color: var(--nasaq-on-primary); }
.site-logo__pair { display: flex; align-items: center; gap: var(--nasaq-space-3); }
.site-logo .nasaq-logo { height: 46px; inline-size: auto; }
.site-logo .nasaq-logo--en { height: 23px; }
.site-logo__rule { inline-size: 1px; block-size: 34px; background: var(--nasaq-accent); }
.site-logo__tag { font-size: var(--nasaq-text-sm); line-height: 1.4; color: var(--nasaq-accent); white-space: nowrap; }
[lang="ar"] .site-logo__tag { font-family: var(--nasaq-font-display); }
@media (max-width: 599px) {
  .site-logo { padding-block: var(--nasaq-space-2); gap: 2px; }
  .site-logo__pair { gap: var(--nasaq-space-2); }
  .site-logo .nasaq-logo { height: 36px; }
  .site-logo .nasaq-logo--en { height: 18px; }
  .site-logo__rule { block-size: 26px; }
  .site-logo__tag { font-size: var(--nasaq-text-xs); }
}
.site-nav { display: flex; align-items: center; gap: var(--nasaq-space-5); }
.site-nav__list { display: flex; align-items: center; gap: var(--nasaq-space-1); }
.site-nav a:not(.nasaq-btn) {
  display: inline-flex; align-items: center; min-height: var(--nasaq-control-h);
  padding-inline: var(--nasaq-space-3); border-radius: var(--nasaq-radius-sm);
  color: var(--nasaq-on-primary); text-decoration: none; font-size: var(--nasaq-text-sm); font-weight: 500;
  transition: background-color .15s ease, color .15s ease;
}
.site-nav a:not(.nasaq-btn):hover { background: var(--nasaq-primary-hover); color: var(--nasaq-on-primary); }
.site-nav a[aria-current="page"]:not(.nasaq-btn) { color: var(--nasaq-accent); }
.site-nav__end { display: flex; align-items: center; gap: var(--nasaq-space-3); }
.site-header :focus-visible { outline-color: var(--nasaq-accent); }
.nasaq-btn--on-dark { border-color: var(--nasaq-on-primary); color: var(--nasaq-on-primary); }
.nasaq-btn--on-dark:hover, .nasaq-btn--on-dark[aria-current="page"] { background: var(--nasaq-on-primary); color: var(--nasaq-primary); }

.site-menu { display: none; position: relative; }
.site-menu__toggle {
  display: inline-flex; align-items: center; gap: var(--nasaq-space-2); min-height: var(--nasaq-control-h);
  padding-inline: var(--nasaq-space-3); border: 1px solid var(--nasaq-on-primary); border-radius: var(--nasaq-radius-sm);
  color: var(--nasaq-on-primary); font-size: var(--nasaq-text-sm); font-weight: 500; cursor: pointer; list-style: none;
}
.site-menu__toggle::-webkit-details-marker { display: none; }
.site-nav--menu {
  position: absolute; inset-inline-end: 0; inset-block-start: calc(100% + var(--nasaq-space-2)); z-index: 5;
  inline-size: min(320px, calc(100vw - 32px));
  flex-direction: column; align-items: stretch; gap: var(--nasaq-space-3); padding: var(--nasaq-space-3);
  background: var(--nasaq-primary); border: 1px solid var(--nasaq-primary-hover); border-radius: var(--nasaq-radius);
}
.site-nav--menu .site-nav__list { flex-direction: column; align-items: stretch; }
.site-nav--menu .site-nav__end { flex-direction: column; align-items: stretch; }
.site-nav--menu .nasaq-btn { inline-size: 100%; }
/* The paired logo and five links need about 1000 px; below that the links move into the menu. */
@media (max-width: 1023px) {
  .site-nav--wide { display: none; }
  .site-menu { display: block; }
}

/* ---------- sections ---------- */
.section { padding-block: var(--nasaq-space-8); }
.section--tight { padding-block: var(--nasaq-space-7); }
.section--surface { background: var(--nasaq-surface); border-block: 1px solid var(--nasaq-border); }
.section + .section:not(.section--surface) { padding-block-start: 0; }
.section--surface + .section:not(.section--surface) { padding-block-start: var(--nasaq-space-8); }
.section__head { max-inline-size: 760px; margin-block-end: var(--nasaq-space-6); }
.section__head h2 { margin-block-end: var(--nasaq-space-3); }
.section__head p:last-child { margin-block-end: 0; }
.eyebrow {
  display: inline-flex; align-items: center; gap: var(--nasaq-space-2); margin: 0 0 var(--nasaq-space-3);
  color: var(--nasaq-accent-strong); font-size: var(--nasaq-text-sm); font-weight: 500;
}
.eyebrow::before { content: ""; inline-size: 8px; block-size: 8px; background: var(--nasaq-accent-strong); }
.lead { font-size: var(--nasaq-text-lg); color: var(--nasaq-muted); max-inline-size: 720px; }
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }

/* ---------- hero ---------- */
.hero { padding-block: var(--nasaq-space-8) var(--nasaq-space-7); }
.hero h1 { max-inline-size: 820px; margin-block-end: var(--nasaq-space-4); }
.hero .lead { margin-block-end: var(--nasaq-space-5); }
.page-home .hero h1 { font-size: var(--nasaq-text-3xl); }
.actions { display: flex; flex-wrap: wrap; gap: var(--nasaq-space-3); align-items: center; }
.hero__points { display: flex; flex-wrap: wrap; gap: var(--nasaq-space-2) var(--nasaq-space-5); margin-block-start: var(--nasaq-space-5); color: var(--nasaq-muted); font-size: var(--nasaq-text-sm); }
.hero__points li, .ticks li { position: relative; padding-inline-start: var(--nasaq-space-5); }
.hero__points li::before, .ticks li::before {
  content: ""; position: absolute; inset-inline-start: 2px; inset-block-start: 0.8em;
  inline-size: 8px; block-size: 8px; background: var(--nasaq-accent-strong);
}
.hero__visual { position: relative; margin-block-start: var(--nasaq-space-7); }
.hero__visual .shot--phone {
  position: absolute; inset-inline-end: var(--nasaq-space-5); inset-block-end: calc(-1 * var(--nasaq-space-6));
  inline-size: 230px;
}
@media (max-width: 899px) {
  .hero { padding-block: var(--nasaq-space-7) var(--nasaq-space-6); }
  .hero__visual .shot--phone { display: none; }
}
@media (max-width: 599px) {
  h1, .page-home .hero h1 { font-size: var(--nasaq-text-2xl); }
  h2 { font-size: var(--nasaq-text-xl); }
  .lead { font-size: var(--nasaq-text-base); }
  .section { padding-block: var(--nasaq-space-7); }
  .section--surface + .section:not(.section--surface) { padding-block-start: var(--nasaq-space-7); }
  .actions .nasaq-btn { flex: 1 1 100%; }
}

/* ---------- screenshots ---------- */
.shot { margin: 0; overflow: hidden; background: var(--nasaq-surface); border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius); }
.shot img { display: block; inline-size: 100%; block-size: auto; }
.shot--phone { max-inline-size: 300px; border-width: 1px; }
.shot-pair { position: relative; padding-block-end: var(--nasaq-space-8); }
.shot-pair > .shot:first-child { inline-size: 88%; }
.shot-pair .shot--phone { position: absolute; inset-inline-end: 0; inset-block-end: 0; inline-size: 34%; max-inline-size: 220px; }
@media (max-width: 599px) {
  .shot-pair { padding-block-end: 0; display: grid; gap: var(--nasaq-space-4); }
  .shot-pair > .shot:first-child { inline-size: 100%; }
  .shot-pair .shot--phone { position: static; inline-size: 100%; max-inline-size: 260px; margin-inline: auto; }
}

/* ---------- cards & grids ---------- */
.grid { display: grid; gap: var(--nasaq-space-4); }
.grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.card { display: flex; flex-direction: column; gap: var(--nasaq-space-2); }
.card h3 { font-size: var(--nasaq-text-lg); }
.card p { margin: 0; color: var(--nasaq-muted); }
.card__icon { inline-size: 40px; block-size: 40px; color: var(--nasaq-primary); margin-block-end: var(--nasaq-space-2); }
.card__icon svg { inline-size: 40px; block-size: 40px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.card .nasaq-badge { align-self: flex-start; }
.card a.card__more { margin-block-start: auto; padding-block-start: var(--nasaq-space-2); font-weight: 500; }

/* ---------- feature rows ---------- */
.feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--nasaq-space-7); align-items: center; }
.feature + .feature { margin-block-start: var(--nasaq-space-8); }
.feature--flip .feature__text { order: 2; }
.feature__text h2, .feature__text h3 { margin-block-end: var(--nasaq-space-3); }
.feature__text > p { color: var(--nasaq-muted); }
.ticks { display: grid; gap: var(--nasaq-space-2); }
.ticks--cols { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--nasaq-space-2) var(--nasaq-space-5); }
@media (max-width: 899px) {
  .feature { grid-template-columns: minmax(0, 1fr); gap: var(--nasaq-space-5); }
  .feature--flip .feature__text { order: 0; }
  .feature + .feature { margin-block-start: var(--nasaq-space-7); }
}
.toc { display: flex; flex-wrap: wrap; gap: var(--nasaq-space-2); margin-block-start: var(--nasaq-space-5); }
.toc a {
  display: inline-flex; align-items: center; min-height: var(--nasaq-control-h); padding-inline: var(--nasaq-space-4);
  border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius-sm); background: var(--nasaq-surface);
  color: var(--nasaq-text); text-decoration: none; font-size: var(--nasaq-text-sm);
  transition: border-color .15s ease, color .15s ease;
}
.toc a:hover { border-color: var(--nasaq-primary); color: var(--nasaq-primary); }

/* ---------- channels & countries ---------- */
.channel { display: flex; flex-direction: column; gap: var(--nasaq-space-2); }
.channel__status { font-size: var(--nasaq-text-xs); font-weight: 500; color: var(--nasaq-success); }
.country-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: var(--nasaq-space-4); }
.country-card {
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--nasaq-space-3) var(--nasaq-space-4);
  padding: var(--nasaq-space-5); background: var(--nasaq-surface); border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius);
}
.country-card__code {
  display: inline-flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px;
  background: var(--nasaq-primary); color: var(--nasaq-on-primary); border-radius: var(--nasaq-radius-sm);
  font-family: var(--nasaq-font-latin); font-size: var(--nasaq-text-sm); font-weight: 600; letter-spacing: .04em;
}
.country-card__name { font-family: var(--nasaq-font-display); font-weight: 600; font-size: var(--nasaq-text-lg); }
.country-card .nasaq-btn { grid-column: 1 / -1; }
.chips { display: flex; flex-wrap: wrap; gap: var(--nasaq-space-2); }
.chips li { padding: var(--nasaq-space-1) var(--nasaq-space-3); border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius-sm); background: var(--nasaq-surface); font-size: var(--nasaq-text-sm); }

/* ---------- trust ---------- */
.trust h3 { font-size: var(--nasaq-text-lg); margin-block-end: var(--nasaq-space-2); }
.trust p { color: var(--nasaq-muted); margin: 0; }

/* ---------- call-to-action band ---------- */
.cta { background: var(--nasaq-primary); color: var(--nasaq-on-primary); border-radius: var(--nasaq-radius); padding: var(--nasaq-space-7) var(--nasaq-space-6); }
.cta h2 { color: var(--nasaq-on-primary); margin-block-end: var(--nasaq-space-3); }
.cta p { color: var(--nasaq-accent); max-inline-size: 640px; }
.cta .nasaq-btn:not(.nasaq-btn--outline) { background: var(--nasaq-on-primary); border-color: var(--nasaq-on-primary); color: var(--nasaq-primary); }
.cta .nasaq-btn:not(.nasaq-btn--outline):hover { background: var(--nasaq-bg); border-color: var(--nasaq-bg); color: var(--nasaq-primary); }
.cta .nasaq-btn--outline { border-color: var(--nasaq-on-primary); color: var(--nasaq-on-primary); }
.cta .nasaq-btn--outline:hover { background: var(--nasaq-primary-hover); color: var(--nasaq-on-primary); }
.cta :focus-visible { outline-color: var(--nasaq-accent); }
@media (max-width: 599px) { .cta { padding: var(--nasaq-space-6) var(--nasaq-space-5); } }

/* ---------- pricing ---------- */
.price-country { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nasaq-space-3); margin-block-start: var(--nasaq-space-5); }
.price-country .nasaq-select { inline-size: auto; min-inline-size: 240px; max-inline-size: 100%; }
.example-banner { margin-block-start: var(--nasaq-space-4); padding: var(--nasaq-space-3) var(--nasaq-space-4); border: 1px solid var(--nasaq-warning); border-radius: var(--nasaq-radius-sm); color: var(--nasaq-warning); background: var(--nasaq-surface); font-weight: 500; }
.plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: var(--nasaq-space-4); }
.plan { display: flex; flex-direction: column; gap: var(--nasaq-space-3); }
.plan h3 { font-size: var(--nasaq-text-xl); }
.plan__price { min-block-size: 64px; font-size: var(--nasaq-text-sm); color: var(--nasaq-muted); }
.plan__price .money { display: block; color: var(--nasaq-text); font-size: var(--nasaq-text-2xl); font-weight: 600; line-height: 1.4; }
.plan__price .money__cur { font-size: var(--nasaq-text-sm); font-weight: 500; color: var(--nasaq-muted); }
.plan__ask { display: block; color: var(--nasaq-text); font-size: var(--nasaq-text-xl); font-weight: 600; line-height: 1.4; }
.plan__term { color: var(--nasaq-muted); font-size: var(--nasaq-text-sm); margin: 0; }
.plan .ticks { font-size: var(--nasaq-text-sm); }
.plan .nasaq-btn { margin-block-start: auto; }
.plan--custom { background: var(--nasaq-primary); border-color: var(--nasaq-primary); color: var(--nasaq-on-primary); }
.plan--custom h3 { color: var(--nasaq-on-primary); }
.plan--custom p, .plan--custom .ticks { color: var(--nasaq-accent); }
.plan--custom .ticks li::before { background: var(--nasaq-accent); }
.plan--custom .nasaq-btn { background: var(--nasaq-on-primary); border-color: var(--nasaq-on-primary); color: var(--nasaq-primary); }
.plan--custom .nasaq-btn:hover { background: var(--nasaq-bg); }
.plan--custom :focus-visible { outline-color: var(--nasaq-accent); }

.table-wrap { overflow-x: auto; border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius); background: var(--nasaq-surface); }
.price-table { inline-size: 100%; border-collapse: collapse; font-size: var(--nasaq-text-sm); }
.price-table th, .price-table td { padding: var(--nasaq-space-3) var(--nasaq-space-4); text-align: start; border-block-end: 1px solid var(--nasaq-border); vertical-align: middle; }
.price-table tbody tr:last-child > * { border-block-end: 0; }
.price-table thead th { color: var(--nasaq-muted); font-weight: 500; font-size: var(--nasaq-text-xs); background: var(--nasaq-bg); white-space: nowrap; }
.price-table tbody th { font-weight: 500; }
.price-table .money { font-weight: 600; white-space: nowrap; }
.price-table .money__cur { font-weight: 400; color: var(--nasaq-muted); font-size: var(--nasaq-text-xs); }
.price-table td { min-inline-size: 140px; }
.quote-link { font-weight: 500; white-space: nowrap; }

.estimator { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--nasaq-space-5); align-items: start; }
.estimator__form { display: grid; gap: var(--nasaq-space-4); }
.estimator__result { position: sticky; inset-block-start: var(--nasaq-space-4); display: flex; flex-direction: column; gap: var(--nasaq-space-3); }
.estimator__total .money { display: block; font-size: var(--nasaq-text-3xl); font-weight: 600; line-height: 1.3; color: var(--nasaq-text); }
.estimator__total .money__cur { font-size: var(--nasaq-text-base); color: var(--nasaq-muted); font-weight: 500; }
.estimator__lines { display: grid; gap: var(--nasaq-space-1); font-size: var(--nasaq-text-sm); color: var(--nasaq-muted); }
.estimator__lines li { display: flex; justify-content: space-between; gap: var(--nasaq-space-3); }
.estimator__lines .money { color: var(--nasaq-text); }
.estimator__note { font-size: var(--nasaq-text-sm); color: var(--nasaq-muted); margin: 0; }
.estimator__ask { font-size: var(--nasaq-text-xl); font-weight: 600; margin: 0; font-family: var(--nasaq-font-display); }
@media (max-width: 899px) { .estimator { grid-template-columns: minmax(0, 1fr); } .estimator__result { position: static; } }

.segmented { display: flex; flex-wrap: wrap; gap: var(--nasaq-space-2); border: 0; padding: 0; margin: 0; }
.segmented legend, .checks legend { margin-block-end: var(--nasaq-space-2); padding: 0; }
.segmented label {
  display: inline-flex; align-items: center; gap: var(--nasaq-space-2); min-height: var(--nasaq-control-h);
  padding-inline: var(--nasaq-space-4); border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius-sm);
  background: var(--nasaq-surface); cursor: pointer; font-size: var(--nasaq-text-sm);
  transition: border-color .15s ease;
}
.segmented label:has(input:checked) { border-color: var(--nasaq-primary); color: var(--nasaq-primary); font-weight: 500; }
.segmented label:has(input:disabled) { cursor: not-allowed; color: var(--nasaq-muted); }
.segmented input { accent-color: var(--nasaq-primary); inline-size: 18px; block-size: 18px; margin: 0; }
.estimator .nasaq-input, .estimator .nasaq-select { inline-size: 100%; }

/* ---------- FAQ ---------- */
.faq { display: grid; gap: var(--nasaq-space-3); max-inline-size: 860px; }
.faq details { background: var(--nasaq-surface); border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius); }
.faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--nasaq-space-4);
  min-height: 56px; padding: var(--nasaq-space-3) var(--nasaq-space-5); cursor: pointer; list-style: none;
  font-weight: 500;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; inline-size: 8px; block-size: 8px; background: var(--nasaq-border); transition: background-color .15s ease; }
.faq details[open] summary::after { background: var(--nasaq-accent-strong); }
.faq details > div { padding: 0 var(--nasaq-space-5) var(--nasaq-space-4); color: var(--nasaq-muted); }
.faq details > div p:last-child { margin: 0; }
.faq h2 { font-size: var(--nasaq-text-xl); margin-block: var(--nasaq-space-6) var(--nasaq-space-2); }
.faq h2:first-child { margin-block-start: 0; }

/* ---------- prose (policies) ---------- */
.prose { max-inline-size: 760px; }
.prose h2 { font-size: var(--nasaq-text-xl); margin-block: var(--nasaq-space-6) var(--nasaq-space-3); }
.prose h3 { font-size: var(--nasaq-text-lg); margin-block: var(--nasaq-space-5) var(--nasaq-space-2); }
.prose ul, .prose ol { padding-inline-start: var(--nasaq-space-5); margin-block-end: var(--nasaq-space-4); }
.prose li { margin-block-end: var(--nasaq-space-1); }
.prose .updated { color: var(--nasaq-muted); font-size: var(--nasaq-text-sm); }
.prose-nav { display: flex; flex-wrap: wrap; gap: var(--nasaq-space-2); margin-block-start: var(--nasaq-space-7); padding-block-start: var(--nasaq-space-5); border-block-start: 1px solid var(--nasaq-border); }

/* ---------- forms ---------- */
.quote-layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--nasaq-space-6); align-items: start; }
@media (max-width: 899px) { .quote-layout { grid-template-columns: minmax(0, 1fr); } }
.quote-form { display: grid; gap: var(--nasaq-space-5); }
.form-group { margin: 0; padding: var(--nasaq-space-5); display: grid; gap: var(--nasaq-space-4); background: var(--nasaq-surface); border: 1px solid var(--nasaq-border); border-radius: var(--nasaq-radius); min-inline-size: 0; }
.form-group > legend { float: inline-start; inline-size: 100%; margin-block-end: var(--nasaq-space-2); padding: 0; font-family: var(--nasaq-font-display); font-weight: 600; font-size: var(--nasaq-text-lg); line-height: var(--nasaq-leading-display); }
.form-group > legend + * { clear: both; }
.form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--nasaq-space-4); }
.nasaq-input, .nasaq-select { inline-size: 100%; font-size: var(--nasaq-text-base); }
.nasaq-textarea { padding-block: var(--nasaq-space-3); line-height: 1.6; resize: vertical; min-block-size: 96px; }
.nasaq-input:focus-visible, .nasaq-select:focus-visible { outline: 2px solid var(--nasaq-accent-strong); outline-offset: 1px; }
.nasaq-field .hint { color: var(--nasaq-muted); font-size: var(--nasaq-text-xs); margin-block-start: calc(-1 * var(--nasaq-space-1)); }
.req { color: var(--nasaq-danger); margin-inline-start: 2px; }
.checks { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--nasaq-space-1) var(--nasaq-space-4); }
.checks legend { grid-column: 1 / -1; }
.check { display: flex; align-items: center; gap: var(--nasaq-space-3); min-height: var(--nasaq-control-h); cursor: pointer; font-size: var(--nasaq-text-sm); }
.check input { inline-size: 20px; block-size: 20px; margin: 0; accent-color: var(--nasaq-primary); flex: none; }
.field-error { margin: 0; color: var(--nasaq-danger); font-size: var(--nasaq-text-sm); font-weight: 500; }
.nasaq-field:has(.field-error) .nasaq-input, .nasaq-field:has(.field-error) .nasaq-select { border-color: var(--nasaq-danger); }
.form-summary { padding: var(--nasaq-space-4) var(--nasaq-space-5); border: 1px solid var(--nasaq-danger); border-radius: var(--nasaq-radius); background: var(--nasaq-surface); color: var(--nasaq-danger); font-weight: 500; }
.form-summary p { margin: 0; }
.form-actions { display: flex; justify-content: flex-start; }
.form-actions .nasaq-btn { min-inline-size: 200px; }
.trap { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.aside-card { display: grid; gap: var(--nasaq-space-3); }
.aside-card h2 { font-size: var(--nasaq-text-lg); }
.aside-card p { margin: 0; color: var(--nasaq-muted); font-size: var(--nasaq-text-sm); }
.site-footer__mail { margin: var(--nasaq-space-2) 0 0; color: var(--nasaq-muted); font-size: var(--nasaq-text-xs); }
.site-footer__mail a { color: var(--nasaq-muted); }

/* ---------- footer ---------- */
.site-footer { margin-block-start: var(--nasaq-space-8); padding-block: var(--nasaq-space-7) var(--nasaq-space-5); background: var(--nasaq-surface); border-block-start: 1px solid var(--nasaq-border); font-size: var(--nasaq-text-sm); }
.site-footer__grid { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: var(--nasaq-space-6); }
.site-footer__title { font-size: var(--nasaq-text-sm); color: var(--nasaq-muted); margin-block-end: var(--nasaq-space-2); font-weight: 600; }
.site-footer ul { display: grid; gap: 0; }
.site-footer li a { display: inline-flex; align-items: center; min-height: var(--nasaq-control-h); color: var(--nasaq-text); text-decoration: none; }
.site-footer li a:hover { color: var(--nasaq-accent-strong); text-decoration: underline; }
.site-footer__tag { margin: var(--nasaq-space-4) 0 0; color: var(--nasaq-muted); }
.site-footer__tag [lang="ar"] { font-family: var(--nasaq-font-display); }
.site-footer__legal { margin: var(--nasaq-space-6) 0 0; padding-block-start: var(--nasaq-space-4); border-block-start: 1px solid var(--nasaq-border); color: var(--nasaq-muted); }
.logo-pair { display: flex; align-items: center; gap: var(--nasaq-space-4); }
.logo-pair .nasaq-logo { height: 40px; inline-size: auto; }
.logo-pair .nasaq-logo--en { height: 22px; }
.logo-pair__rule { inline-size: 1px; block-size: 40px; background: var(--nasaq-border); }
[dir="ltr"] .logo-pair { flex-direction: row-reverse; justify-content: flex-end; }
@media (max-width: 899px) { .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-footer__brand { grid-column: 1 / -1; } }


/* ---------- small pages ---------- */
.center-page { padding-block: var(--nasaq-space-8); }
.center-page .actions { margin-block-start: var(--nasaq-space-5); }
.notice { display: grid; gap: var(--nasaq-space-3); max-inline-size: 640px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
@media print {
  .site-header, .site-footer, .skip-link, .cta, .actions { display: none; }
  .section--surface { border: 0; }
}
.more-link { margin-block-start: var(--nasaq-space-7); margin-block-end: 0; }
@media (max-width: 599px) { .shot--art { max-inline-size: 320px; margin-inline: auto; } }

.shot__link { display: block; }
.shot__link:focus-visible { outline-offset: -3px; }
.site-footer__tag span { display: inline-block; }
.hero + .section--tight { padding-block-start: 0; }
