/* إعلان رسمي للمتصفح أن الموقع فاتح التصميم — يمنع فرض الوضع الداكن الآلي */
:root{color-scheme:light only;}

  :root{
    --navy:#1D3B58;
    --navy-deep:#101F30;
    --coral:#D76964;
    --coral-deep:#B84A43;
    --gold:#F6D784;
    --gold-deep:#D9A93B;
    --cream:#FBF8F1;
    --ink:#1C2B3A;
    --ink-soft:#5B6B7A;
    --line:#E7E0D2;
    --white:#FFFFFF;
    --r-sm:10px;
    --r-md:18px;
    --r-lg:30px;
    --shadow:0 16px 36px -14px rgba(16,31,48,0.22);
    --font-hero:'Lalezar', sans-serif;
    --font-display:'Changa', sans-serif;
    --font-body:'Cairo', sans-serif;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--cream);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  ul{list-style:none;}
  a{color:inherit; text-decoration:none;}
  button{font-family:inherit; cursor:pointer; border:none; background:none;}
  input,select,textarea{font-family:inherit; font-size:16px;}
  :focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
  .container{max-width:1180px; margin:0 auto; padding:0 24px;}
  .visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}

  /* ---------- Page routing ---------- */
  /* إزاحة التمرير لتعويض ارتفاع الهيدر الثابت عند الانتقال للأقسام */
  section[id], main[id]{scroll-margin-top:84px;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--font-display); font-weight:700; font-size:16px;
    padding:14px 28px; border-radius:var(--r-sm);
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--coral-deep); color:var(--white); box-shadow:var(--shadow);}
  .btn-primary:hover{background:var(--coral); transform:translateY(-2px);}
  .btn-outline{background:transparent; color:var(--navy); border:2px solid var(--navy);}
  .btn-outline:hover{background:var(--navy); color:var(--white);}
  .btn-light{background:var(--white); color:var(--navy-deep);}
  .btn-light:hover{background:var(--gold);}
  .btn-block{width:100%; justify-content:center;}

  /* ---------- Header ---------- */
  .site-header{
    position:sticky; top:0; z-index:50;
    background:rgba(251,248,241,0.92); backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; gap:16px;}
  .brand{display:flex; align-items:center; gap:10px;}
  .brand-logo{width:42px; height:42px; flex-shrink:0;}
  .brand-name{font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--navy);}
  .main-nav ul{display:flex; gap:26px;}
  .main-nav a{font-weight:600; font-size:15px; color:var(--ink-soft); transition:color .2s;}
  .main-nav a:hover{color:var(--coral-deep);}
  .nav-actions{display:flex; align-items:center; gap:12px;}
  .menu-toggle{display:none; flex-direction:column; gap:5px; padding:8px;}
  .menu-toggle span{width:24px; height:2px; background:var(--navy); border-radius:2px;}

  @media (max-width:880px){
    .main-nav{display:none;}
    .menu-toggle{display:flex;}
    /* إظهار زر سجّل الآن في الهيدر على الموبايل بحجم مضغوط */
    .nav-actions .btn-primary{display:inline-flex; padding:9px 14px; font-size:14px;}
    .brand-name{font-size:17px;}
    .site-header.is-open .main-nav{
      display:block; position:absolute; inset-inline:0; top:100%;
      background:var(--white); border-bottom:1px solid var(--line); padding:16px 24px;
    }
    .site-header.is-open .main-nav ul{flex-direction:column; gap:14px;}
    .site-header.is-open .nav-actions .btn-primary{display:inline-flex; margin-top:8px;}
  }

  /* ---------- Hero ---------- */
  .hero{position:relative; overflow:hidden; padding:72px 0 90px;}
  .hero::before{
    content:""; position:absolute; inset-inline-start:-120px; top:-160px;
    width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, var(--gold) 0%, rgba(246,215,132,0) 70%);
    opacity:.6; z-index:0;
  }
  .hero-inner{position:relative; z-index:1; display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--navy); color:var(--gold);
    font-family:var(--font-display); font-weight:600; font-size:14px;
    padding:8px 16px; border-radius:999px; margin-bottom:22px;
  }
  .eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--coral);}
  .hero-title{
    font-family:var(--font-hero); font-weight:400; font-size:54px; line-height:1.3;
    color:var(--navy-deep); margin-bottom:20px;
  }
  .hero-title span{color:var(--coral-deep);}
  .hero-text{font-size:18px; color:var(--ink-soft); max-width:520px; margin-bottom:34px;}
  .hero-cta-group{display:flex; gap:16px; flex-wrap:wrap;}

  .hero-visual{position:relative; display:flex; align-items:center; justify-content:center; height:420px;}
  .orbit{
    position:relative; width:340px; height:340px; border-radius:50%;
    border:2px dashed rgba(29,59,88,0.3);
    display:flex; align-items:center; justify-content:center;
  }
  .orbit-logo{width:190px; height:190px; filter:drop-shadow(0 18px 30px rgba(29,59,88,0.25));}
  .orbit-badge{
    position:absolute; width:62px; height:62px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    box-shadow:var(--shadow); animation:float 5s ease-in-out infinite;
  }
  .orbit-badge svg{width:28px; height:28px;}
  .badge-1{top:-8px; inset-inline-end:18px; background:var(--coral); color:var(--white); animation-delay:0s;}
  .badge-2{bottom:24px; inset-inline-start:-18px; background:var(--gold); color:var(--navy-deep); animation-delay:1.2s;}
  .badge-3{bottom:-10px; inset-inline-end:50px; background:var(--navy); color:var(--gold); animation-delay:2.4s;}
  @keyframes float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);}}

  @media (max-width:980px){
    .hero-inner{grid-template-columns:1fr; text-align:center;}
    .hero-text{margin-inline:auto;}
    .hero-cta-group{justify-content:center;}
    .hero-title{font-size:40px;}
    .hero-visual{height:320px; margin-top:20px;}
    .orbit{width:260px; height:260px;}
    .orbit-logo{width:150px; height:150px;}
  }

  /* ---------- Trust bar ---------- */
  .trust-bar{background:var(--navy); padding:26px 0;}
  .trust-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:18px 40px;}
  .trust-item{display:flex; align-items:center; gap:10px; color:var(--white); font-weight:600; font-size:15px;}
  .trust-item svg{width:22px; height:22px; color:var(--gold); flex-shrink:0;}

  /* ---------- Section heads ---------- */
  .section{padding:88px 0;}
  .section-head{max-width:640px; margin:0 auto 52px; text-align:center;}
  .section-eyebrow{
    display:inline-block; font-family:var(--font-display); font-weight:700; font-size:26px;
    color:var(--coral-deep); letter-spacing:.5px; margin-bottom:10px;
  }
  .section-title{font-family:var(--font-display); font-weight:800; font-size:36px; color:var(--navy-deep); margin-bottom:14px;}
  .section-sub{color:var(--ink-soft); font-size:16.5px;}

  /* ---------- Services ---------- */
  .service-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  .service-card{
    background:var(--white); border-radius:var(--r-md); padding:30px 24px;
    box-shadow:var(--shadow); transition:transform .25s ease;
  }
  .service-card:hover{transform:translateY(-6px);}
  .service-icon{
    width:54px; height:54px; border-radius:14px; background:rgba(29,59,88,0.08);
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  }
  .service-icon svg{width:26px; height:26px; color:var(--navy);}
  .service-card h3{font-family:var(--font-display); font-size:19px; font-weight:700; margin-bottom:10px; color:var(--navy-deep);}
  .service-card p{font-size:15px; color:var(--ink-soft);}

  @media (max-width:980px){.service-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.service-grid{grid-template-columns:1fr;}}

  /* ---------- Majors ---------- */
  .majors{background:var(--white);}
  .major-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  .major-card{
    border:1.5px solid var(--line); border-radius:var(--r-md); padding:22px 16px;
    text-align:center; transition:border-color .2s, transform .2s;
  }
  .major-card:hover{border-color:var(--coral); transform:translateY(-4px);}
  .major-card svg{width:30px; height:30px; color:var(--coral-deep); margin:0 auto 12px;}
  .major-card span{display:block; font-weight:700; font-size:14.5px; color:var(--navy-deep);}
  .majors-note{text-align:center; margin-top:30px; color:var(--ink-soft); font-size:15px;}
  .majors-note a{color:var(--coral-deep); font-weight:700; text-decoration:underline;}

  @media (max-width:980px){.major-grid{grid-template-columns:repeat(2,1fr);}}

  /* ---------- Journey (signature) ---------- */
  .journey{background:var(--navy-deep); color:var(--white); position:relative; overflow:hidden;}
  .journey::after{
    content:""; position:absolute; inset-inline-end:-140px; bottom:-140px;
    width:380px; height:380px; border-radius:50%;
    background:radial-gradient(circle, rgba(246,215,132,0.18), transparent 70%);
  }
  .journey .section-title{color:var(--white);}
  .journey .section-sub{color:rgba(255,255,255,0.65);}
  .journey-track{position:relative; z-index:1; margin-top:30px;}
  .journey-line{
    position:absolute; top:34px; inset-inline-start:6%; inset-inline-end:6%; height:0;
    border-top:2px dashed rgba(246,215,132,0.4);
  }
  .journey-steps{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; position:relative;}
  .journey-step{text-align:center; padding:0 6px;}
  .step-marker{
    width:68px; height:68px; border-radius:50%; background:var(--gold); color:var(--navy-deep);
    display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
    border:5px solid var(--navy-deep); box-shadow:0 0 0 4px rgba(246,215,132,0.35);
  }
  .step-marker svg{width:26px; height:26px;}
  .journey-step h4{font-family:var(--font-display); font-size:16.5px; font-weight:700; margin-bottom:8px;}
  .journey-step p{font-size:13.5px; color:rgba(255,255,255,0.7);}

  @media (max-width:980px){
    .journey-line{display:none;}
    .journey-steps{grid-template-columns:1fr; gap:0;}
    .journey-step{
      display:flex; align-items:flex-start; gap:18px; text-align:start;
      padding:18px 0; border-inline-start:2px dashed rgba(246,215,132,0.4); padding-inline-start:24px; margin-inline-start:34px;
    }
    .journey-step:last-child{border-inline-start:none;}
    .step-marker{margin:0; flex-shrink:0; margin-inline-start:-58px;}
  }

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
  .faq-item{background:var(--white); border-radius:var(--r-md); box-shadow:var(--shadow); overflow:hidden;}
  .faq-question{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px;
    padding:20px 24px; font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--navy-deep);
    text-align:start;
  }
  .faq-question svg{width:20px; height:20px; flex-shrink:0; color:var(--coral-deep); transition:transform .25s ease;}
  .faq-item.is-open .faq-question svg{transform:rotate(45deg);}
  .faq-answer{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-answer-inner{padding:0 24px 20px; color:var(--ink-soft); font-size:15px;}

  /* ---------- CTA banner ---------- */
  .cta-banner{background:var(--coral-deep); color:var(--white); padding:58px 0; text-align:center;}
  .cta-banner h3{font-family:var(--font-display); font-size:28px; font-weight:800; margin-bottom:10px;}
  .cta-banner p{opacity:.92; margin-bottom:22px; font-size:16px;}

  /* ---------- Register page ---------- */
  .register-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; align-items:start;}
  .register-points{display:flex; flex-direction:column; gap:16px; margin-bottom:28px;}
  .register-points li{display:flex; align-items:flex-start; gap:12px; font-weight:600; color:var(--navy-deep); font-size:15.5px;}
  .register-points svg{width:22px; height:22px; color:var(--coral-deep); flex-shrink:0; margin-top:1px;}
  .register-side-card{background:var(--navy-deep); color:var(--white); border-radius:var(--r-lg); padding:28px; text-align:center;}
  .register-side-card img{width:74px; height:74px; margin:0 auto 14px;}
  .register-side-card p{font-size:14px; color:rgba(255,255,255,0.75);}

  .form-card{background:var(--cream); border-radius:var(--r-lg); padding:36px; box-shadow:var(--shadow);}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .form-group{margin-bottom:18px;}
  .form-group label{display:block; font-weight:700; font-size:14px; color:var(--navy-deep); margin-bottom:7px;}
  .form-group input, .form-group select, .form-group textarea{
    width:100%; padding:13px 14px; border-radius:var(--r-sm); border:1.5px solid var(--line);
    background:var(--white); color:var(--ink); transition:border-color .2s;
  }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus{border-color:var(--coral);}
  .form-group textarea{resize:vertical; min-height:80px;}
  .required-mark{color:var(--coral-deep);}
  .form-note{font-size:13px; color:var(--ink-soft); margin-top:14px; text-align:center;}
  .form-error{display:none; background:#FBE9E7; color:var(--coral-deep); font-size:14px; padding:10px 14px; border-radius:var(--r-sm); margin-bottom:16px;}
  .form-error.is-visible{display:block;}
  .field-error{display:none; color:var(--coral-deep); font-size:13px; margin-top:6px;}
  .field-error.is-visible{display:block;}
  .form-group input.is-invalid{border-color:var(--coral-deep); background:#FDF3F2;}

  /* ---------- حقل الهاتف مع اختيار الدولة ---------- */
  .iti{width:100%;}
  .iti input{width:100%; direction:ltr; text-align:left;}
  /* تثبيت القائمة المنسدلة داخل حدود الشاشة (الصفحة RTL وزر العلم على اليمين) */
  .iti--inline-dropdown .iti__dropdown-content{
    left:auto; right:0;
    width:min(320px, calc(100vw - 48px));
    direction:ltr; text-align:left;
    z-index:120; border-radius:12px; overflow:hidden;
    border:1px solid var(--line);
    box-shadow:0 14px 30px -10px rgba(16,31,48,0.25);
  }
  .iti__country-list, .iti--inline-dropdown .iti__country-list{direction:ltr; text-align:left; max-height:260px;}
  .iti__selected-flag{background:transparent;}
  .iti__selected-flag:hover, .iti__selected-flag:focus{background:rgba(29,59,88,0.06);}

  @media (max-width:980px){
    .register-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .form-card{padding:26px;}
  }

  /* ---------- Floating WhatsApp button ---------- */
  .whatsapp-float{
    position:fixed; bottom:22px; left:22px; z-index:90;
    width:58px; height:58px; border-radius:50%;
    background:#25D366; color:var(--white);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px -6px rgba(37,211,102,0.55), 0 4px 10px rgba(16,31,48,0.18);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .whatsapp-float svg{width:30px; height:30px;}
  .whatsapp-float:hover{
    transform:translateY(-4px) scale(1.06);
    box-shadow:0 16px 30px -6px rgba(37,211,102,0.6), 0 6px 14px rgba(16,31,48,0.22);
  }
  .whatsapp-float::after{
    content:""; position:absolute; inset:0; border-radius:50%;
    border:2px solid rgba(37,211,102,0.55);
    animation:wa-pulse 2.2s ease-out infinite;
  }
  @keyframes wa-pulse{
    0%{transform:scale(1); opacity:.8;}
    70%{transform:scale(1.55); opacity:0;}
    100%{transform:scale(1.55); opacity:0;}
  }
  @media (max-width:560px){
    .whatsapp-float{width:52px; height:52px; bottom:16px; left:16px;}
    .whatsapp-float svg{width:26px; height:26px;}
  }

  /* ---------- Footer ---------- */
  .site-footer{background:var(--navy-deep); color:rgba(255,255,255,0.75); padding:64px 0 28px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 0.8fr 0.8fr 1fr; gap:36px; margin-bottom:40px;}
  .footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .footer-brand .brand-logo{width:38px; height:38px;}
  .footer-brand span{font-family:var(--font-display); font-weight:800; font-size:20px; color:var(--white);}
  .footer-tagline{font-size:14.5px; max-width:280px;}
  .footer-col h5{color:var(--white); font-family:var(--font-display); font-size:15px; margin-bottom:16px;}
  .footer-col ul{display:flex; flex-direction:column; gap:10px; font-size:14.5px;}
  .footer-col a:hover{color:var(--gold);}
  .footer-contact li{display:flex; align-items:center; gap:8px;}
  .footer-contact a{color:inherit; direction:ltr; unicode-bidi:embed;}
  .footer-contact a:hover{color:var(--gold);}
  .footer-contact svg{width:17px; height:17px; color:var(--gold); flex-shrink:0;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,0.12); padding-top:22px; text-align:center; font-size:13.5px;}

  @media (max-width:880px){
    .footer-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .footer-grid{grid-template-columns:1fr;}
    .hero{padding:54px 0 64px;}
    .section{padding:64px 0;}
    .section-title{font-size:28px;}
  }

  /* ---------- حقل الفخ (honeypot) للحماية من السبام ---------- */
  /* نخفيه بإزاحته خارج الشاشة بدل display:none لأن بعض الروبوتات
     الذكية تتجاهل الحقول المخفية بـ display:none */
  .hp-field{
    position:absolute !important;
    left:-9999px !important;
    top:-9999px !important;
    width:1px; height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
  }

/* ============================================================
   طبقة حماية إضافية من الوضع الداكن الإجباري (متصفح سامسونج خاصة)
   عند تفضيل الزائر للوضع الداكن، "نستجيب" بإعادة تأكيد ألواننا
   الفاتحة نفسها — فيعتبر المتصفح الموقع متجاوبًا ويتوقف عن قلب الألوان
   ============================================================ */
@media (prefers-color-scheme: dark) {
  :root{color-scheme:light only;}
  html, body{
    background:#FBF8F1 !important;
    color:#1C2B3A !important;
  }
}

/* ============================================================
   حالة الإرسال: مؤشر تحميل دوّار وتجميل رسالة النجاح
   ============================================================ */
.btn .btn-spinner{
  width:20px; height:20px; flex-shrink:0;
  border:2.5px solid rgba(255,255,255,0.35);
  border-top-color:#fff;
  border-radius:50%;
  animation:btn-spin .7s linear infinite;
}
@keyframes btn-spin{to{transform:rotate(360deg);}}
.btn.is-loading{opacity:.85; cursor:wait;}

.form-success.is-visible{
  animation:success-pop .35s ease;
}
@keyframes success-pop{
  0%{transform:translateY(6px) scale(.98); opacity:0;}
  100%{transform:translateY(0) scale(1); opacity:1;}
}

/* ============================================================
   نافذة تأكيد استلام التسجيل
   ============================================================ */
.success-modal{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:20px;}
.success-modal[hidden]{display:none;}
.success-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(16,31,48,0.55);
  backdrop-filter:blur(3px);
  animation:modal-fade .25s ease;
}
.success-modal__card{
  position:relative; z-index:1;
  background:var(--white);
  border-radius:var(--r-lg, 20px);
  padding:36px 28px 28px;
  max-width:420px; width:100%;
  text-align:center;
  box-shadow:0 24px 60px -12px rgba(16,31,48,0.45);
  animation:modal-pop .35s cubic-bezier(.2,1.2,.4,1);
}
.success-modal__icon{
  width:72px; height:72px; margin:0 auto 18px;
  border-radius:50%;
  background:#E8F6EE; color:#1E9E5A;
  display:flex; align-items:center; justify-content:center;
}
.success-modal__icon svg{width:38px; height:38px;}
.success-modal__card h3{
  font-family:var(--font-display); font-size:24px; color:var(--navy);
  margin-bottom:10px;
}
.success-modal__card p{color:var(--ink-soft); line-height:1.8; margin-bottom:8px;}
.success-modal__hint{font-size:14px;}
.success-modal__card .btn{margin-top:14px; min-width:160px; justify-content:center;}
@keyframes modal-fade{from{opacity:0;} to{opacity:1;}}
@keyframes modal-pop{
  0%{transform:translateY(24px) scale(.92); opacity:0;}
  100%{transform:translateY(0) scale(1); opacity:1;}
}
