/* ========== أساسيات وهوية (مستخرجة من صورة البحر) ========== */
:root{
  /* لوحة أساسية */
  --primary:  #b6d4ed;   /* Sky Light - للخلفيات الواسعة */
  --secondary:#1f87b4;   /* Bright Sea - للعناصر البارزة/الروابط */
  --assist-1: #82b8e4;   /* Sky Tint - تفاصيل/حدود ناعمة */
  --assist-2: #0a769c;   /* Mid Sea - تباين ثانوي */
  --accent:   #035f82;   /* Deep Sea - للأزرار الرئيسية/العناوين القوية */

  /* نصوص وخلفيات عامة */
  --ink:#0f172a;
  --ink-70:rgba(15,23,42,.70);
  --ink-40:rgba(15,23,42,.40);
  --muted:#475569;
  --line:#cbd5e1;
  --bg:#f6fbff;
  --white:#fff;

  /* قيم قديمة معاد تعريفها للتماسك */
  --blue:var(--secondary);
  --deepblue:var(--accent);
  --cyan:var(--assist-1);
  --green:#8dcec8; /* تبقى كلون مساعد هادئ */

  --space-0:0; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px;

  --radius:16px; --radius-sm:10px; --shadow:0 10px 25px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Cairo",system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans Arabic",sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.7;
}

/* تلوين المحتوى العام */
h1,h2,h3,.section-title{color:var(--deepblue)}
p strong, li strong{color:#0b2540}
.card{border-color:color-mix(in srgb, var(--assist-1) 35%, var(--line));}
.card h3{color:#0b2540}
.muted{color:var(--muted)}
a{color:var(--secondary); text-decoration:none}
a:hover{text-decoration:underline}

/* حاوية */
.container{width:100%; max-width:1200px; margin-inline:auto; padding-inline:clamp(16px, 10vw, 48px)}

/* أزرار */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  padding:12px 18px; border-radius:var(--radius-sm);
  border:1px solid var(--secondary); cursor:pointer; font-weight:700;
  transition:transform .08s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn:focus-visible{outline:3px solid var(--assist-1)}
.btn:hover{transform:translateY(-1px); box-shadow:var(--shadow)}
.btn-solid{background:var(--accent); color:var(--white); border-color:var(--accent)}
.btn-ghost{background:transparent; color:var(--secondary)}
.btn-register{margin-inline-start:var(--space-4)}
.btn.sm{padding:8px 12px; font-weight:600}

/* Skip link */
.skip-link{
  position:absolute; inset-inline-start:8px; top:-40px; padding:8px 12px;
  background:var(--white); border:1px solid var(--line); border-radius:8px; z-index:1000;
}
.skip-link:focus{top:8px}

/* Header */
.site-header{position:sticky; top:0; z-index:999;
  background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 85%, #ffffff), #e8f2fb 120%);
  border-bottom:1px solid var(--line); backdrop-filter:saturate(120%) blur(4px)}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding-block:10px}
.brand{display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:700}
.brand-mark{display:inline-grid; place-content:center; width:36px; height:36px; border:2px solid var(--ink-40); border-radius:999px}
.nav{display:flex; align-items:center; gap:18px}
.nav ul{display:flex; gap:14px; list-style:none; margin:0; padding:0}
.nav a{padding:6px 10px; border-radius:10px}
.nav a:focus-visible{outline:3px solid var(--assist-2)}
.nav-toggle{display:none; background:transparent; border:0; font-size:24px; cursor:pointer}

/* Hero — خلفية بصورة + طبقة تدرّج منسجمة */
.hero{
  /* عيّن مسارات صورك */
  --hero-img-1x: url("assets/img/hero-1280.jpg");
  --hero-img-2x: url("assets/img/hero-1920.jpg");
  --hero-img-3x: url("assets/img/hero-2560.jpg");

  position:relative; isolation:isolate;
  padding-block:var(--space-16);
  background:
    image-set(
      var(--hero-img-1x) 1x,
      var(--hero-img-2x) 2x,
      var(--hero-img-3x) 3x
    ) center / cover no-repeat;
}
.hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(1000px 260px at 50% -20%, color-mix(in srgb, var(--assist-1) 45%, transparent), transparent 60%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--primary) 80%, transparent) 0%,
      color-mix(in srgb, var(--assist-1) 55%, transparent) 45%,
      color-mix(in srgb, var(--secondary) 25%, transparent) 100%
    );
}
@media (max-width:768px){
  .hero{ background-position:center 30%; padding-block:clamp(40px, 12vw, 80px); }
}

.hero-inner{display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-10); align-items:center}
.hero h1{font-size:clamp(28px, 5vw, 40px); margin:0 0 var(--space-3)}
.hero p{max-width:54ch; color:var(--muted)}
.hero-actions{display:flex; gap:var(--space-3); margin-top:var(--space-4)}
.hero-visual{margin:0}
.hero-visual svg{width:100%; height:auto}

/* Sections */
.section{padding-block:var(--space-16)}
.section-alt{background:linear-gradient(180deg, #f4f9ff, #f6fbff)}
.section-title{font-size:clamp(22px, 3.6vw, 30px); margin:0 0 var(--space-6)}

/* grids */
.grid{display:grid; gap:var(--space-6)}
.cards-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.cards-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.cards-4{grid-template-columns:repeat(4, minmax(0,1fr))}

/* Mobile nav */
@media (max-width:992px){
  .hero-inner{grid-template-columns:1fr}
  .nav{display:none; position:fixed; inset-inline:0; top:64px; background:#fff; border-block:1px solid var(--line); padding:12px 16px; z-index:1000; box-shadow:var(--shadow)}
  .nav.open{display:flex; flex-direction:column; align-items:stretch; gap:8px}
  .nav-toggle{display:inline-block; font-size:28px; line-height:1; padding:8px 10px; border-radius:10px; border:1px solid transparent; background:transparent}
  .cards-4{grid-template-columns:repeat(2, minmax(0,1fr))}
  .cards-3{grid-template-columns:repeat(1, minmax(0,1fr))}
  .cards-2{grid-template-columns:repeat(1, minmax(0,1fr))}
  .nav ul{display:flex; flex-direction:column; gap:4px; margin:0; padding:0; list-style:none}
  .nav a{display:block; padding:12px 10px; border-radius:10px}
  .btn-register{display:block; width:100%; text-align:center; margin:8px 0 0 0}
}
.nav-toggle:focus-visible{outline:3px solid var(--assist-2)}

/* Cards */
.card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:var(--space-6); box-shadow:var(--shadow);
}
.card h3{margin-top:0}

/* Responsive card-icon size */
.card-icon{ font-size:clamp(32px, 8vw, 72px); margin-bottom:var(--space-3); color:var(--secondary) }
.card-icon svg{ width:1em; height:1em; color:var(--secondary) }
@media (max-width:768px){ .card-icon{ font-size:40px } }

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

/* ================= Timeline Pro ================= */
.timeline-pro{
  counter-reset: step;
  display:grid; grid-template-columns: repeat(5, minmax(180px,1fr));
  gap:18px; position:relative; padding:18px; border:1px solid var(--line);
  border-radius:18px; background:linear-gradient(180deg,#eff6ff,#f1f8ff);
}
.timeline-pro::before{
  content:""; position:absolute; inset-inline:28px 28px; top:50%;
  height:2px; background:var(--assist-1); transform:translateY(-50%);
}
.t-item{position:relative; display:grid; gap:8px; align-content:start}
.t-head{display:grid; justify-items:center; gap:6px}
.t-date{
  font-weight:800; font-size:14px; color:#1f2937;
  background:#fff; border:1px solid var(--line); border-radius:999px; padding:6px 10px;
  box-shadow:var(--shadow);
}
.t-label{
  position:relative; font-weight:800; background:var(--secondary); color:#fff;
  border-radius:12px; padding:10px 12px; text-align:center; box-shadow:var(--shadow);
}
.t-label::after{
  content:""; position:absolute; top:50%; inset-inline-end:-12px; width:12px; height:12px;
  background:inherit; transform:translateY(-50%) skewX(-20deg) rotate(45deg);
  border-radius:2px;
}
.t-item:nth-child(odd) .t-label{ background:var(--blue) }
.t-body{background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px 12px}
.t-note{margin:0; color:var(--muted); font-size:14px}
.t-foot{justify-self:center; font-weight:700; color:#1f2937}

@media (max-width: 1024px){
  .timeline-pro{grid-template-columns:1fr; gap:16px}
  .timeline-pro::before{
    inset-inline:auto; left:32px; top:24px; bottom:24px; width:2px; height:auto; transform:none;
  }
  .t-item{padding-inline-start:24px}
  .t-label::after{
    inset-inline-start:-12px; inset-inline-end:auto; transform:translateY(-50%) skewX(20deg) rotate(45deg);
  }
}

/* ================= Awards: Badges/Ribbons ================= */
.awards-badges{display:grid; gap:20px}
.awards-total-badge{
  position:relative; display:grid; place-items:center; padding:30px 16px;
  border:2px dashed var(--secondary); border-radius:18px; background:#e6f3fb;
}
.ab-ribbon{
  position:absolute; top:-14px; padding:6px 14px; background:var(--secondary); color:#fff; font-weight:800;
  border-radius:8px; box-shadow:var(--shadow);
}
.ab-text{font-weight:700; color:#0b2540}

.badges-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
@media (max-width: 992px){ .badges-grid{grid-template-columns:1fr} }

.badge-card{
  position:relative; background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:22px 18px 18px; box-shadow:var(--shadow); text-align:center;
}
.bc-ribbon{
  position:absolute; top:-12px; inset-inline:50% auto; transform:translateX(-50%);
  background:var(--primary); color:#0b2540; font-weight:900; padding:6px 12px; border-radius:999px; box-shadow:var(--shadow);
}
.bc-body h3{margin:10px 0 4px}

/* ================= Criteria (معايير التحكيم) ================= */
.criteria-wrap{ display:grid; gap:16px; }
.criteria-badges{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
@media (max-width:992px){ .criteria-badges{grid-template-columns:repeat(2,minmax(0,1fr))} }
.c-badge{
  background:linear-gradient(180deg, #ffffff, #f1fbfb);
  border:1px solid var(--line); border-radius:14px; padding:12px; box-shadow:var(--shadow);
}
.c-badge h3{margin:0 0 4px; font-size:16px; color:#0b2540}
.c-badge .score{display:inline-block; font-weight:900; color:#0b2540; background:var(--primary); padding:4px 10px; border-radius:999px}

.criteria-table{
  border:1px solid var(--line); border-radius:14px; overflow:auto; background:#fff;
}
.criteria-table table{width:100%; border-collapse:collapse}
.criteria-table th, .criteria-table td{padding:12px 14px; border-bottom:1px solid var(--line); text-align:start}
.criteria-table thead th{background:linear-gradient(180deg, #eaf3fb, #eef7fb); color:#0b2540}

/* ================= FAQ (Accordion) ================= */
.accordion{display:grid; gap:10px}
.acc-btn{
  width:100%; text-align:start; background:linear-gradient(180deg, #ffffff, #f6fbff);
  border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-weight:16px;font-family:"Cairo"; color:#0b2540; cursor:pointer;
}
.acc-btn[aria-expanded="true"]{ background:linear-gradient(180deg, #eaf7f6, #eef7fb); border-color:var(--secondary) }
.acc-panel{
  border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:#fff; box-shadow:var(--shadow);
}

/* Forms */
.form{display:grid; gap:var(--space-4)}
.form-card{
  background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:var(--space-6); box-shadow:var(--shadow);
}
.form-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px}
@media (max-width:768px){ .form-grid{grid-template-columns:1fr} }
.form label{display:grid; gap:6px; font-weight:600}
input, select, textarea{
  border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:var(--white);
}
input:focus, select:focus, textarea:focus{outline:3px solid var(--assist-1)}
.req{color:#b91c1c; margin-inline:4px}

/* Marquee */
.marquee{overflow:hidden; border:1px dashed var(--line); border-radius:var(--radius); background:#fff}
.marquee-track{display:flex; gap:40px; align-items:center; padding:16px; animation:scroll 18s linear infinite}
.marquee img{height:auto; width:20%; opacity:.8}
@keyframes scroll{from{transform:translateX(0)} to{transform:translateX(-50%)}}

/* Footer */
.site-footer{border-top:1px solid var(--line); background:#f4fbfb}
.footer-inner{display:flex; justify-content:space-between; align-items:center; gap:12px; padding-block:16px}
.site-footer nav{display:flex; gap:12px}

/* ========== Contact Page (متناسق مع لوحة البحر أعلاه) ========== */

/* هيدر وفوتر بنفس الهوية الفاتحة */
.site-header{
  position:sticky; top:0; z-index:999;
  background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 85%, #ffffff), #e8f2fb 120%);
  border-bottom:1px solid var(--line); backdrop-filter:saturate(120%) blur(4px);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding-block:10px}
.brand img{display:block; max-height:56px}
.nav ul{display:flex; gap:14px; list-style:none; margin:0; padding:0}
.nav a{padding:6px 10px; border-radius:10px}
.nav a:focus-visible{outline:3px solid var(--assist-2)}
.site-footer{border-top:1px solid var(--line); background:linear-gradient(180deg,#f4f9ff,#f6fbff)}

/* ===== بطل التواصل (Hero) بنَفَسٍ بحريّ فاتح */
.contact-hero{
  position:relative; isolation:isolate;
  padding-block: clamp(var(--space-12), 8vw, var(--space-16));
  color:var(--ink);
  background:
    radial-gradient(1100px 300px at 50% -40%,
      color-mix(in srgb, var(--assist-1) 55%, transparent),
      transparent 60%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--primary) 92%, #fff) 0%,
      color-mix(in srgb, var(--primary) 70%, #fff) 45%,
      #eef7fb 100%);
  border-block:1px solid color-mix(in srgb, var(--assist-1) 35%, var(--line));
}
.contact-title{
  font-size: clamp(28px, 6vw, 64px);
  font-weight: 900;
  color: var(--accent);
  letter-spacing:.3px;
  margin: 0 0 var(--space-2);
}
.contact-sub{
  color: var(--ink-70);
  margin: 0 0 var(--space-8);
  font-size: clamp(16px, 2.2vw, 20px);
}

/* ===== قائمة بطاقات وسائل التواصل */
.contact-list{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}
@media (max-width: 860px){
  .contact-list{ grid-template-columns: 1fr; }
}

.contact-item{
  display:flex; align-items:center; gap:var(--space-3);
  background: #fff;
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-5);
  box-shadow: var(--shadow);
  transition: transform .08s ease, box-shadow .2s ease, border-color .2s ease;
}
.contact-item:hover{
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--assist-1) 50%, var(--line));
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
}

/* أيقونة لطيفة بخلفية سماوية وحدود ناعمة */
.contact-ico{
  width:44px; height:44px; min-width:44px;
  display:grid; place-items:center;
  border-radius:12px;
  background: color-mix(in srgb, var(--primary) 70%, #fff);
  border:1px solid color-mix(in srgb, var(--assist-1) 45%, var(--line));
}
.contact-ico svg{
  width:22px; height:22px;
  fill: var(--assist-2); /* لون بحري أغمق */
}

/* نصوص عنصر التواصل */
.contact-text{display:flex; flex-direction:column; gap:2px}
.contact-text .label{color:var(--muted); font-weight:700; font-size:.92rem}
.contact-text .value{font-weight:800; color:#0b2540}
.contact-text .value a{color:var(--secondary); text-decoration:none; word-break:break-all}
.contact-text .value a:hover{text-decoration:underline}

/* زر رئيسي مطابق للهوية */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  padding:12px 18px; border-radius:var(--radius-sm);
  border:1px solid var(--secondary); font-weight:700; cursor:pointer;
  transition:transform .08s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn-solid{background:var(--accent); color:#fff; border-color:var(--accent)}
.btn-ghost{background:transparent; color:var(--secondary)}
.btn:hover{transform:translateY(-1px); box-shadow:var(--shadow)}
.btn:focus-visible{outline:3px solid var(--assist-1)}

/* حاوية عامة */
.container{width:100%; max-width:1200px; margin-inline:auto; padding-inline:clamp(16px, 10vw, 48px)}


