/* دليل الهجرة إلى أستراليا — نظام التصميم المشترك.
   الألوان مأخوذة من هوية الدليل نفسه (كحلي + ذهبي) ليبدو الموقع امتداداً
   للمنتج لا شيئاً منفصلاً عنه. */

:root {
  --navy: #2A2A5E;
  --navy-deep: #1E1E47;
  --navy-soft: #3B3B78;
  --ink: #1B1B33;
  --body: #55566B;
  --muted: #7C7D92;
  --line: #E3E3EC;
  --line-soft: #EDEDF3;
  --paper: #F6F6FA;
  --surface: #FFFFFF;

  --gold: #E0900F;
  --gold-bright: #F5A623;
  --gold-soft: #FDF2DC;

  --ok: #0E8F5D;
  --ok-soft: #E3F5EC;
  --warn: #B26A00;
  --danger: #C33A48;
  --danger-soft: #FBE4E7;

  --radius: 16px;
  --radius-sm: 11px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.75;
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}

.wrap { width: min(100%, 1060px); margin-inline: auto; padding: 0 20px; }
.wrap-narrow { width: min(100%, 760px); margin-inline: auto; padding: 0 20px; }
main { flex: 1 0 auto; }

/* رقم/بريد لاتيني داخل نص عربي */
.ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }

/* ---------- الترويسة ---------- */
.site-header { padding: 20px 0; border-bottom: 1px solid var(--line); background: var(--surface); }
.header-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.brand {
  display: inline-flex; align-items: center; gap: 11px;
  font-weight: 800; font-size: 16px; color: var(--navy); text-decoration: none;
}
.brand-mark {
  width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--navy), var(--navy-soft));
  color: var(--gold-bright); font-size: 11px; font-weight: 800; letter-spacing: .04em;
}
.brand small { display: block; font-size: 11.5px; font-weight: 500; color: var(--muted); }
/* الاسم لاتيني داخل صفحة عربية، فيُعزل اتجاهه حتى لا تنقلب علامات الترقيم حوله */
.brand-name { direction: ltr; unicode-bidi: isolate; text-align: left; }
.brand-name small { direction: rtl; text-align: right; }
.header-link { font-size: 14px; color: var(--body); text-decoration: none; }
.header-link:hover { color: var(--gold); }

/* ---------- النصوص ---------- */
h1 { margin: 0 0 14px; font-size: clamp(26px, 4.6vw, 40px); line-height: 1.3; letter-spacing: 0; font-weight: 800; }
h2 { margin: 0 0 10px; font-size: 20px; font-weight: 800; }
h3 { margin: 26px 0 8px; font-size: 16px; font-weight: 700; }
.lede { margin: 0; font-size: clamp(15.5px, 2vw, 17.5px); color: var(--body); }
.eyebrow {
  display: inline-block; padding: 5px 13px; border-radius: 99px;
  background: var(--gold-soft); color: var(--gold);
  font-size: 12.5px; font-weight: 700; margin-bottom: 16px;
}
.gold { color: var(--gold); }

/* ---------- البطاقات ---------- */
.card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 26px;
}
.card.featured { border-color: #E6C48A; box-shadow: 0 16px 44px rgba(224, 144, 15, .10); }

/* ---------- الأزرار ---------- */
.btn {
  display: inline-block; width: 100%; padding: 14px 20px; border: 0;
  border-radius: var(--radius-sm); font-size: 15.5px; font-weight: 700;
  font-family: inherit; text-align: center; text-decoration: none;
  cursor: pointer; transition: background .15s, transform .1s;
}
.btn-primary { background: var(--navy); color: #fff; }
.btn-primary:hover { background: var(--navy-deep); }
.btn-gold { background: var(--gold); color: #fff; }
.btn-gold:hover { background: #C87E0A; }
.btn-ghost { background: #EFEFF5; color: var(--navy); }
.btn-ghost:hover { background: #E4E4EE; }
.btn:active { transform: scale(.99); }
/* حد أدنى للمس على الجوال (‏Apple HIG 44pt / Material 48dp) */
.btn { min-height: 48px; }
.btn:disabled { opacity: .55; cursor: wait; }
.btn + .btn { margin-top: 10px; }

.link-btn {
  background: none; border: 0; padding: 0; color: var(--gold);
  font-size: 13.5px; font-family: inherit; cursor: pointer; text-decoration: underline;
}
a.plain { color: var(--gold); }

/* حلقة تركيز موحّدة — لا تُزال أبداً، فهي المسار الوحيد لمستخدم لوحة المفاتيح */
:where(a, button, input, select, summary):focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 2px;
  border-radius: 6px;
}

/* احترام تفضيل تقليل الحركة */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- النماذج ---------- */
.field { margin-bottom: 16px; }
label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.hint { font-weight: 400; color: var(--body); font-size: 13px; }
input {
  width: 100%; padding: 12px 14px; border: 1px solid #D2D3DF;
  border-radius: 10px; font-size: 16px; font-family: inherit;
  color: var(--ink); background: var(--surface);
}
input:focus { outline: 2px solid var(--gold); outline-offset: -1px; border-color: transparent; }
input.ltr-input { direction: ltr; text-align: left; }

.notice {
  margin: 14px 0 0; padding: 12px 14px; border-radius: 9px;
  font-size: 14px; border: 1px solid transparent; line-height: 1.7;
}
.notice[hidden] { display: none; }
.notice-error { background: var(--danger-soft); border-color: #F0C2C8; color: #9E2D39; }
.notice-ok { background: var(--ok-soft); border-color: #BFE6D4; color: #0B6B46; }
.privacy { margin: 14px 0 0; font-size: 13px; color: var(--muted); }

/* ---------- صفحات الحالة ---------- */
.status-page { display: grid; place-items: center; padding: 40px 20px 64px; }
.status-card {
  width: min(100%, 580px); background: var(--surface); border: 1px solid var(--line);
  border-radius: 18px; padding: 38px 32px; box-shadow: 0 20px 60px rgba(27, 27, 51, .08);
}
.badge {
  width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%;
  font-size: 20px; font-weight: 700; color: #fff; margin-bottom: 20px;
}
.badge-ok { background: var(--ok); }
.badge-warn { background: var(--warn); }
.badge-error { background: var(--danger); }
.status-card h1 { font-size: 23px; margin-bottom: 10px; }
.status-msg { margin: 0 0 24px; color: var(--body); font-size: 15px; }

dl.details { margin: 0 0 24px; border-top: 1px solid var(--line-soft); }
dl.details .row {
  display: flex; justify-content: space-between; gap: 16px; padding: 11px 0;
  border-bottom: 1px solid var(--line-soft); font-size: 14px;
}
dl.details dt { color: var(--muted); margin: 0; }
dl.details dd { margin: 0; font-weight: 700; text-align: left; word-break: break-word; }

.support-note {
  margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--line-soft);
  font-size: 13px; color: var(--muted);
}

/* ---------- النصوص الطويلة والأسئلة ---------- */
.prose { padding: 10px 0 60px; }
.prose h1 { margin-bottom: 8px; }
.prose .updated { margin: 0 0 30px; color: var(--muted); font-size: 13.5px; }
.prose p, .prose li { color: var(--body); font-size: 15px; }
.prose ul { padding-inline-start: 22px; }
.prose li { margin-bottom: 8px; }
.prose h2 { margin: 32px 0 10px; font-size: 18px; color: var(--navy); }

details.faq {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 15px 18px; margin-bottom: 10px;
}
details.faq summary {
  cursor: pointer; font-weight: 700; font-size: 15px; list-style: none;
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
}
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::after { content: "+"; color: var(--navy); font-size: 20px; font-weight: 400; }
details.faq[open] summary::after { content: "\2212"; }
details.faq p { margin: 12px 0 0; font-size: 14.5px; }

/* ---------- تنبيه ---------- */
.alert {
  padding: 18px 20px; border-radius: var(--radius-sm);
  background: var(--danger-soft); border-inline-start: 4px solid var(--danger);
}
.alert strong { display: block; margin-bottom: 5px; color: #9E2D39; }
.alert p { margin: 0; font-size: 14.5px; color: #7E2731; }

/* ---------- التذييل ---------- */
.site-footer {
  flex-shrink: 0; margin-top: 40px; padding: 30px 0 40px;
  background: var(--navy); color: #C9CAE0; font-size: 13.5px;
}
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 14px; }
.footer-links a { color: #E5E6F2; text-decoration: none; }
.footer-links a:hover { color: var(--gold-bright); }
.site-footer a.plain { color: var(--gold-bright); }

/* ---------- الجوال ----------
   أغلب القرّاء يفتحون الموقع من الهاتف، فهذه ليست تحسينات تجميلية:
   الهدف ألا يتجاوز أي عنصر عرض الشاشة، وأن تبقى مساحات اللمس مريحة. */
@media (max-width: 640px) {
  body { line-height: 1.7; }
  .wrap, .wrap-narrow { padding: 0 16px; }

  /* الترويسة: الشعار سطر والرابط سطر تحته */
  .site-header { padding: 14px 0; }
  .header-row { gap: 10px; }
  .brand { font-size: 14.5px; gap: 9px; }
  .brand-mark { width: 30px; height: 30px; font-size: 10px; }
  .brand small { font-size: 11px; }
  .header-link { font-size: 13px; }

  h1 { font-size: clamp(23px, 6.2vw, 30px); line-height: 1.35; }
  h2 { font-size: 18px; }
  .lede { font-size: 15.5px; }

  .card { padding: 20px; border-radius: 14px; }
  .btn { padding: 15px 18px; font-size: 15px; }

  /* بطاقات الحالة: الحشو الكبير يبتلع الشاشة الصغيرة */
  .status-page { padding: 24px 14px 44px; }
  .status-card { padding: 26px 20px; border-radius: 16px; }
  .status-card h1 { font-size: 20px; }

  /* البريد الطويل كان يدفع الصف خارج البطاقة */
  dl.details .row { flex-direction: column; gap: 2px; padding: 10px 0; }
  dl.details dd { text-align: right; font-size: 14px; }

  .prose { padding: 4px 0 44px; }
  .prose h2 { margin-top: 26px; font-size: 17px; }
  details.faq { padding: 14px 15px; }
  details.faq summary { font-size: 14.5px; }

  .site-footer { padding: 24px 0 32px; margin-top: 30px; }
  .footer-links { gap: 8px 16px; }
}

/* الشاشات الضيقة جداً (‏320px) — منع أي تجاوز أفقي */
@media (max-width: 380px) {
  .wrap, .wrap-narrow { padding: 0 13px; }
  .card { padding: 17px; }
  h1 { font-size: 22px; }
}
