@font-face{font-family:Cairo;src:url(/idsc_website/static/fonts/Cairo.ttf) format("truetype");font-weight:200 1000;font-display:swap}
/* =====================================================================
   مركز الوثائق الاستراتيجية — الأنماط
   ===================================================================== */

:root {
  --navy-950: #040d18;
  --navy-900: #07182c;
  --navy-850: #0a172a;
  --navy-800: #0b1a33;
  --navy-700: #152943;
  --navy-card: #051324;
  --gold: #c59b27;
  --gold-600: #b08920;
  --gold-soft: rgba(197, 155, 39, 0.15);
  --ink: #0a172a;
  --ink-2: #334155;
  --muted: #64748b;
  --line: #e5e9f0;
  --bg-white: #ffffff;
  --bg-light: #f8fafc;
  --bg-soft: #f1f5f9;
  --olive: #514c41;
  --link: #4f5fd8;
  --red: #dc2626;
  --purple: #7c3aed;

  --radius: 14px;
  --radius-lg: 18px;
  --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
  --shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 20px 50px rgba(2, 8, 23, 0.35);

  --container: 1216px;
  --container-wide: 1320px;
  --gutter: 24px;
  --font-scale: 1;
  --font: "Cairo", "Segoe UI", Tahoma, sans-serif;
}

/* ------------------------------ أساسيات ------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: calc(16px * var(--font-scale)); scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bg-white);
  line-height: 1.7;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; border: 0; background: none; padding: 0; }
input { font: inherit; }
h1, h2, h3, p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
address { font-style: normal; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; border-radius: 6px; }

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; top: -60px; right: 16px; background: var(--gold); color: var(--navy-950); padding: 8px 14px; border-radius: 8px; z-index: 100; font-weight: 700; }
.skip-link:focus { top: 12px; }

.container { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
.container--wide { max-width: calc(var(--container-wide) + var(--gutter) * 2); }

.ico { display: inline-flex; width: 1em; height: 1em; }
.ico svg { width: 100%; height: 100%; }
.ico--gold { color: var(--gold); }

/* ------------------------------ أزرار ------------------------------ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px; padding: 8px 22px; border-radius: 12px;
  font-weight: 700; font-size: 0.9rem; line-height: 1.2;
  transition: background-color .2s, transform .2s, box-shadow .2s;
}
.btn:hover { transform: translateY(-1px); }
.btn--block { display: flex; width: 100%; }
.btn--sm { min-height: 34px; padding: 6px 16px; font-size: 0.85rem; border-radius: 10px; }
.btn--gold { background: var(--gold); color: var(--navy-950); }
.btn--gold:hover { background: #d4aa35; box-shadow: 0 6px 18px rgba(197, 155, 39, .35); }
.btn--navy { background: var(--navy-850); color: #fff; }
.btn--navy:hover { background: #12264a; }

/* ------------------------------ الشريط العلوي ------------------------------ */
.topbar { background: var(--navy-950); color: #fff; font-size: 0.8rem; font-weight: 600; }
.topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; }
.topbar__links { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.topbar__links a:hover { color: var(--gold); }
.topbar__links .is-gold { color: var(--gold); }
.topbar__links .sep { opacity: .7; }
.topbar__date { display: flex; align-items: center; gap: 6px; }
.topbar__login { display: flex; align-items: center; gap: 8px; font-size: 0.9rem; }
.topbar__login span:last-child { text-decoration: underline; text-underline-offset: 4px; }
.topbar__login .ico { width: 18px; height: 18px; }

/* ------------------------------ الهيدر ------------------------------ */
.site-header { position: relative; z-index: 20; }
.mainbar { background: #f5f5f5; box-shadow: 0 1px 0 rgba(0,0,0,.04); }
.mainbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; }
.brand img { width: 250px; height: auto; }
.partner-logo img { width: 110px; height: auto; }
.main-nav ul { display: flex; align-items: center; gap: clamp(14px, 2.2vw, 34px); }
.main-nav a {
  position: relative; display: block; padding: 22px 6px;
  font-size: 1rem; font-weight: 600; color: #1e293b; white-space: nowrap;
  transition: color .2s;
}
.main-nav a::after {
  content: ""; position: absolute; inset-inline: 0; bottom: 14px; height: 3px; border-radius: 3px;
  background: var(--gold); transform: scaleX(0); transition: transform .25s;
}
.main-nav a:hover { color: var(--gold-600); }
.main-nav a.is-active { color: var(--navy-850); padding-inline: 18px; }
.main-nav a.is-active::after, .main-nav a:hover::after { transform: scaleX(1); }
.nav-toggle { display: none; width: 44px; height: 44px; border-radius: 10px; color: var(--navy-850); }
.nav-toggle svg { width: 26px; height: 26px; margin: auto; }

/* ------------------------------ شريط التحديثات والبحث ------------------------------ */
.ticker-bar { background: var(--navy-900); color: #fff; }
.ticker-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 100px; padding-block: 14px; }
.ticker { display: flex; align-items: center; gap: 18px; flex: 1; min-width: 0; }
.ticker__badge {
  flex: none; display: inline-flex; align-items: center; gap: 8px;
  background: var(--gold); color: var(--navy-950); font-weight: 800; font-size: 0.9rem;
  padding: 4px 14px; border-radius: 6px;
}
.ticker__badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: blink 1.4s infinite; }
@keyframes blink { 50% { opacity: .25; } }
.ticker__viewport { overflow: hidden; flex: 1; mask-image: linear-gradient(to left, transparent, #000 4%, #000 92%, transparent); }
.ticker__track { display: inline-flex; gap: 60px; padding-inline-end: 60px; white-space: nowrap; animation: ticker 40s linear infinite; }
.ticker__viewport:hover .ticker__track { animation-play-state: paused; }
.ticker__item { display: inline-flex; align-items: center; gap: 6px; font-size: 0.95rem; }
.ticker__pin { width: 16px; height: 16px; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(50%); } }

.search {
  flex: none; width: min(526px, 44%); display: flex; align-items: center; gap: 10px;
  padding: 12px 14px; border-radius: 16px;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .22);
}
.search__field { flex: 1; display: flex; align-items: center; gap: 10px; background: var(--navy-950); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 0 14px; height: 40px; }
.search__icon { width: 20px; height: 20px; color: var(--gold); flex: none; }
.search__icon svg { width: 100%; height: 100%; }
.search input { flex: 1; min-width: 0; height: 100%; background: none; border: 0; color: #fff; font-size: 0.85rem; outline: none; }
.search input::placeholder { color: #cbd5e1; }
.search__adv { flex: none; }
.search__adv .ico { width: 14px; height: 14px; }

/* ------------------------------ الهيرو ------------------------------ */
.hero {
  position: relative; color: #fff; overflow: hidden;
  background:
    linear-gradient(90deg, rgba(14, 33, 60, .94) 0%, rgba(24, 45, 75, .88) 55%, rgba(30, 52, 84, .86) 100%),
    var(--hero-bg) center / cover no-repeat, var(--navy-700);
}
.hero__inner { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 48px; min-height: 500px; padding-block: 64px; }
.hero__pill {
  display: inline-flex; align-items: center; gap: 10px; padding: 4px 16px; border-radius: 999px;
  background: rgba(7, 24, 44, .65); border: 1px solid rgba(197, 155, 39, .45); color: var(--gold);
  font-size: 0.9rem; font-weight: 600;
}
.hero__pill .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
.hero__title { margin-top: 18px; font-size: clamp(2.1rem, 4vw, 3.4rem); font-weight: 800; line-height: 1.35; }
.hero__subtitle { margin-top: 4px; font-size: clamp(1.1rem, 1.8vw, 1.4rem); font-weight: 800; }
.hero__text { margin-top: 26px; max-width: 640px; font-size: clamp(1rem, 1.3vw, 1.15rem); font-weight: 300; line-height: 1.85; color: #e2e8f0; }

.hero-card {
  position: relative; justify-self: start; width: min(450px, 100%);
  padding: 34px 30px 18px; border-radius: var(--radius-lg);
  background: rgba(7, 24, 44, .82); border: 1px solid rgba(255,255,255,.14);
  box-shadow: var(--shadow-lg); backdrop-filter: blur(6px);
}
.hero-card__badge {
  position: absolute; top: -14px; left: 12px; padding: 2px 14px; border-radius: 8px;
  background: var(--gold); color: var(--navy-950); font-weight: 800; font-size: 0.9rem;
}
.hero-card__slides { display: grid; }
.hero-card__slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s; }
.hero-card__slide.is-active { opacity: 1; visibility: visible; }
.hero-card__label { color: var(--gold); font-size: 0.8rem; font-weight: 600; }
.hero-card__title { margin-top: 4px; font-size: 1.2rem; font-weight: 800; line-height: 1.6; }
.hero-card__text { margin: 14px 0 20px; font-size: 0.85rem; color: #cbd5e1; line-height: 1.75; }
.hero-card__nav { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 10px; font-size: 0.85rem; font-weight: 700; }
.hero-card__arrow { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; transition: background-color .2s; }
.hero-card__arrow:hover { background: rgba(255,255,255,.1); }
.hero-card__arrow svg { width: 16px; height: 16px; }

/* ------------------------------ الأقسام ------------------------------ */
.section { padding-block: 72px 36px; position: relative; }
.section--white { background: var(--bg-white); }
.section--light { background: var(--bg-light); }
.section--soft { background: var(--bg-soft); }
.section--dark { background: var(--navy-950); color: #fff; }

.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; flex-wrap: wrap; }
.sec-head--bordered { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--gold); font-weight: 600; font-size: 0.9rem; }
.eyebrow::before { content: ""; width: 30px; height: 3px; border-radius: 3px; background: var(--gold); }
.eyebrow--line-only { height: 3px; }
.sec-title { font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1.5; color: var(--ink); }

.more-row { display: flex; justify-content: flex-end; margin-top: 20px; }
.more-link { font-size: 0.8rem; font-weight: 800; color: var(--ink); padding: 4px 2px; border-bottom: 1px solid transparent; }
.more-link:hover { border-color: currentColor; }
.more-row--gold .more-link { color: var(--gold); }
.more-row--light .more-link { color: #fff; }

.grid { display: grid; gap: 30px; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* ------------------------------ بطاقة الخبر ------------------------------ */
.news-card {
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow .25s, transform .25s;
}
.news-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.news-card__media { aspect-ratio: 360 / 166; overflow: hidden; }
.news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.news-card:hover .news-card__media img { transform: scale(1.05); }
.news-card__body { display: flex; flex-direction: column; flex: 1; padding: 22px 22px 24px; }
.meta { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; color: var(--muted); }
.meta__ico { width: 13px; height: 13px; }
.meta__dot { color: #94a3b8; }
.meta__cat { color: var(--gold-600); }
.news-card__title { margin-top: 10px; font-size: 1.15rem; font-weight: 800; line-height: 1.6; }
.news-card__title a:hover { color: var(--gold-600); }
.news-card__text {
  margin-top: 12px; font-size: 0.88rem; color: var(--ink-2); font-weight: 400; line-height: 1.75;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.read-more { margin-top: auto; padding-top: 22px; display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 800; align-self: flex-start; }
.read-more .ico { width: 13px; height: 13px; transition: transform .2s; }
.read-more:hover { color: var(--gold-600); }
.read-more:hover .ico { transform: translateX(-3px); }

/* ------------------------------ الكاروسيل ------------------------------ */
.carousel { position: relative; --visible: 3; --gap: 28px; padding-inline: 0; }
.carousel__viewport { overflow: hidden; padding: 12px 16px 40px; margin: -12px -16px -40px; }
.carousel__track { display: flex; gap: var(--gap); transition: transform .5s cubic-bezier(.2,.7,.2,1); will-change: transform; }
.carousel__item { flex: 0 0 calc((100% - var(--gap) * (var(--visible) - 1)) / var(--visible)); min-width: 0; }
.car-btn {
  position: absolute; top: 50%; z-index: 2; width: 40px; height: 40px; display: grid; place-items: center;
  transform: translateY(-50%); color: var(--ink); border-radius: 50%; transition: background-color .2s, opacity .2s;
}
.car-btn svg { width: 28px; height: 28px; }
.car-btn:hover:not(:disabled) { background: rgba(15, 23, 42, .06); }
.car-btn:disabled { opacity: .3; cursor: default; }
.car-btn--prev { right: -56px; }
.car-btn--next { left: -56px; }
.carousel.is-static .car-btn { opacity: .35; }
.carousel--pages { --visible: 1; --gap: 48px; }

/* ------------------------------ بطاقة المشروع ------------------------------ */
.project-card {
  position: relative; display: flex; flex-direction: column; min-height: 440px; padding: 22px 22px 24px;
  border-radius: var(--radius); overflow: hidden; background: #fff; isolation: isolate;
  border-left: 6px solid var(--accent); box-shadow: var(--shadow-sm);
}
.project-card__bg { position: absolute; inset: 0; z-index: -1; background-size: cover; background-position: center; transition: transform .6s; }
.project-card__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(241,245,249,.55) 0%, rgba(241,245,249,.82) 45%, rgba(241,245,249,.9) 100%); }
.project-card:hover .project-card__bg { transform: scale(1.05); }
.project-card__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: auto; }
.project-card__tag { background: rgba(255,255,255,.92); color: var(--accent); font-size: 0.75rem; font-weight: 800; padding: 3px 14px; border-radius: 999px; filter: saturate(1.1); }
.project-card__count {
  display: grid; place-items: center; width: 46px; height: 50px; border-radius: 10px; background: var(--navy-850); color: #fff; line-height: 1.1;
}
.project-card__count b { color: var(--accent); font-size: 1rem; font-weight: 800; filter: brightness(1.35); }
.project-card__count small { font-size: 0.6rem; }
.project-card__title { margin-top: 80px; font-size: 1.15rem; font-weight: 800; line-height: 1.6; }
.project-card__text { margin: 10px 0 26px; font-size: 0.85rem; color: var(--ink-2); line-height: 1.75; }

/* ------------------------------ التبويبات والإصدارات ------------------------------ */
.tabs { display: inline-flex; align-items: center; gap: 4px; padding: 4px; border-radius: 12px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-sm); }
.tab { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 8px; font-size: 0.8rem; font-weight: 700; color: var(--ink-2); transition: background-color .2s, color .2s; }
.tab img { width: 14px; height: 14px; }
.tab:hover { background: var(--bg-soft); }
.tab.is-active { background: var(--navy-850); color: #fff; }

.pub-card { display: flex; flex-direction: column; background: var(--bg-light); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow .25s, transform .25s; }
.pub-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.pub-card__media { position: relative; display: block; aspect-ratio: 284 / 176; overflow: hidden; background: var(--navy-800); }
.pub-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pub-card:hover .pub-card__media img { transform: scale(1.06); }
.pub-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,23,42,.35) 0%, rgba(10,23,42,.82) 100%); }
.pub-card__media--video::after { background: rgba(10, 23, 42, .35); }
.badge { position: absolute; top: 12px; right: 12px; z-index: 2; padding: 1px 10px; border-radius: 6px; font-size: 0.7rem; font-weight: 800; }
.badge--gold { background: var(--gold); color: var(--navy-950); }
.badge--light { background: #fff; color: var(--ink); }
.badge--red { background: var(--red); color: #fff; }
.badge--purple { background: var(--purple); color: #fff; }
.pub-card__overlay { position: absolute; inset-inline: 18px; bottom: 16px; z-index: 2; color: #fff; }
.pub-card__overlay small { display: block; color: var(--gold); font-size: 0.75rem; font-weight: 600; }
.pub-card__overlay strong { display: block; font-size: 1rem; font-weight: 800; line-height: 1.55; }
.play-btn { position: absolute; top: 50%; left: 50%; z-index: 2; width: 48px; height: 48px; margin: -24px 0 0 -24px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--navy-950); box-shadow: 0 0 0 0 rgba(197,155,39,.6); animation: pulse 2.2s infinite; }
.play-btn svg { width: 20px; height: 20px; margin-left: 3px; }
@keyframes pulse { 70% { box-shadow: 0 0 0 14px rgba(197,155,39,0); } 100% { box-shadow: 0 0 0 0 rgba(197,155,39,0); } }
.duration { position: absolute; left: 12px; bottom: 12px; z-index: 2; padding: 1px 8px; border-radius: 6px; background: rgba(4,13,24,.85); color: #fff; font-size: 0.7rem; font-weight: 600; }
.pub-card__body { display: flex; flex-direction: column; flex: 1; padding: 16px 16px 18px; }
.pub-card__meta { display: flex; justify-content: space-between; gap: 8px; font-size: 0.75rem; color: var(--muted); }
.pub-card__title { margin-top: 10px; font-size: 1rem; font-weight: 800; line-height: 1.55; }
.pub-card__text { margin: 8px 0 18px; font-size: 0.82rem; color: var(--ink-2); line-height: 1.7; }
.pub-card__body .btn { margin-top: auto; }

/* ------------------------------ الموسوعات ------------------------------ */
.encyclo { color: #fff; padding-block: 72px 36px; }
.encyclo--navy { background: linear-gradient(180deg, #0b1424 0%, var(--navy-950) 100%); }
.encyclo--olive { background: var(--olive); }
.encyclo__inner { display: grid; grid-template-columns: 1.08fr 1fr; gap: 48px; align-items: center; }
.encyclo__title { margin-top: 18px; font-size: clamp(1.6rem, 2.6vw, 2.15rem); font-weight: 800; line-height: 1.5; }
.encyclo__subtitle { margin: 12px 0 18px; color: #94a3b8; font-size: 1rem; }
.encyclo--olive .encyclo__subtitle { color: #cbd5e1; }
.encyclo__p { font-size: 0.98rem; line-height: 1.95; font-weight: 400; color: #f1f5f9; }
.encyclo__p + .encyclo__p { margin-top: 6px; }
.encyclo__media { margin: 0; justify-self: start; width: 100%; max-width: 560px; aspect-ratio: 510 / 336; overflow: hidden; box-shadow: 0 0 10px 4px rgba(255, 255, 255, .4); }
.encyclo__media img { width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------ الشخصيات ------------------------------ */
.carousel--people { --gap: 80px; padding-inline: 48px; }
.carousel--people .car-btn--prev { right: -8px; }
.carousel--people .car-btn--next { left: -8px; }
.person-card { position: relative; display: block; aspect-ratio: 300 / 412; overflow: hidden; background: #cbd5e1; box-shadow: 8px 10px 24px rgba(15, 23, 42, .25); }
.person-card img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .6s; }
.person-card:hover img { transform: scale(1.05); }
.person-card__caption { position: absolute; inset-inline: 0; bottom: 0; padding: 14px 22px 16px; background: rgba(30, 41, 59, .72); color: #fff; font-size: 0.82rem; font-weight: 800; line-height: 1.6; backdrop-filter: blur(2px); }
.person-card__caption li { position: relative; padding-right: 16px; }
.person-card__caption li::before { content: ""; position: absolute; right: 0; top: .7em; width: 5px; height: 5px; border-radius: 50%; background: #fff; }

/* ------------------------------ الأرصاد ------------------------------ */
.split { display: grid; grid-template-columns: 1.6fr 1fr; gap: 72px; align-items: center; }
.split .sec-head { margin-bottom: 24px; }
.split__p { font-size: 0.95rem; line-height: 1.85; color: var(--ink-2); }
.text-link { display: inline-block; margin-top: 16px; color: var(--link); font-size: 0.95rem; text-decoration: underline; text-underline-offset: 4px; }
.text-link:hover { color: var(--gold-600); }
.split__media { margin: 0; border-radius: var(--radius); overflow: hidden; aspect-ratio: 395 / 250; box-shadow: 0 6px 14px rgba(15,23,42,.18); }
.split__media img { width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------ الإحصائيات ------------------------------ */
.stats__title { text-align: center; font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 800; margin-bottom: 44px; }
.stat { text-align: center; padding: 26px 18px; border-radius: var(--radius-lg); background: var(--navy-card); border: 1px solid rgba(148, 163, 184, .14); transition: border-color .25s, transform .25s; }
.stat:hover { border-color: rgba(197,155,39,.5); transform: translateY(-3px); }
.stat__num { font-size: clamp(2.2rem, 3.4vw, 3rem); font-weight: 800; line-height: 1.2; direction: ltr; font-variant-numeric: tabular-nums; }
.stat__num.is-gold { color: var(--gold); }
.stat__label { margin-top: 8px; font-weight: 800; font-size: 0.95rem; }
.stat__note { margin-top: 2px; font-size: 0.8rem; color: #94a3b8; }

/* ------------------------------ المؤسسات ------------------------------ */
.partner-page { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; padding: 4px; }
.partner-card { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 14px; min-height: 162px; padding: 22px 12px; text-align: center; border-radius: var(--radius); background: var(--bg-light); border: 1px solid var(--line); box-shadow: 0 8px 18px rgba(15,23,42,.07); transition: transform .25s, box-shadow .25s; }
.partner-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.partner-card__logo { width: 56px; height: 56px; display: grid; place-items: center; padding: 6px; border-radius: 10px; background: #fff; box-shadow: 0 3px 10px rgba(15,23,42,.12); }
.partner-card__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.partner-card__name { flex: 1; display: flex; align-items: center; font-weight: 800; font-size: 0.95rem; line-height: 1.6; }

/* ------------------------------ الفوتر ------------------------------ */
.site-footer {
  position: relative; color: #fff;
  background: linear-gradient(rgba(10, 23, 42, .86), rgba(10, 23, 42, .9)), var(--footer-bg) center / cover no-repeat, var(--navy-850);
}
.footer__inner { display: grid; grid-template-columns: 1fr 0.9fr 1.15fr; gap: 40px; padding-block: 20px 36px; align-items: start; }
.footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; padding-top: 76px; }
.footer__idsc { display: flex; align-items: center; gap: 10px; }
.footer__idsc img { width: 92px; }
.footer__idsc-text { display: flex; flex-direction: column; font-size: 0.8rem; line-height: 1.5; }
.footer__idsc-text strong { font-weight: 800; }
.footer__logo { width: 280px; }
.footer__links { padding-top: 64px; }
.footer__links h3 { font-size: 1rem; font-weight: 700; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.2); margin-bottom: 12px; }
.footer__links li a { display: inline-block; padding: 3px 0; font-size: 0.92rem; color: #e2e8f0; transition: color .2s, transform .2s; }
.footer__links li a:hover { color: var(--gold); transform: translateX(-4px); }
.social { display: flex; gap: 10px; justify-content: center; margin-bottom: 18px; }
.social a { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 6px; background: #a3a3a3; color: #fff; transition: background-color .2s, transform .2s; }
.social a:hover { background: var(--gold); transform: translateY(-2px); }
.social svg { width: 22px; height: 22px; }
.contact-card { background: #fff; color: #475569; padding: 22px 22px 18px; }
.contact-card img { width: 100%; aspect-ratio: 445 / 157; object-fit: cover; }
.contact-card address { margin-top: 18px; font-size: 0.78rem; font-weight: 700; line-height: 1.7; }
.contact-card__addr, .contact-card dl > div { display: flex; gap: 10px; }
.contact-card dl { margin: 2px 0 0; }
.contact-card dt { display: flex; align-items: center; gap: 6px; min-width: 120px; }
.contact-card dd { margin: 0; }
.contact-card .ico { width: 13px; height: 13px; color: var(--navy-850); flex: none; margin-top: 4px; }
.contact-card dt .ico { margin-top: 0; }
.contact-card a:hover { color: var(--gold-600); }
.footer__bottom { padding-block: 16px 30px; }
.footer__bottom p { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); font-size: 0.78rem; color: #e2e8f0; }

/* ------------------------------ الأزرار العائمة ------------------------------ */
.floating { position: fixed; left: 24px; top: 50%; z-index: 40; display: flex; flex-direction: column; gap: 14px; transform: translateY(-50%); }
.fab {
  width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%;
  background: var(--navy-850); border: 3px solid var(--gold); color: var(--gold);
  box-shadow: 0 8px 20px rgba(2,8,23,.35); transition: transform .2s, box-shadow .2s;
}
.fab:hover, .fab[aria-expanded="true"] { transform: scale(1.07); box-shadow: 0 10px 26px rgba(197,155,39,.35); }
.fab img { width: 62%; height: auto; }
.fab svg { width: 58%; height: 58%; }

/* ------------------------------ اللوحات ------------------------------ */
.panel {
  position: fixed; left: 116px; top: 50%; z-index: 45; transform: translateY(-50%);
  width: min(410px, calc(100vw - 140px)); max-height: calc(100vh - 40px); overflow: auto;
  border-radius: 22px; background: var(--navy-800); color: #fff; border: 1px solid rgba(197,155,39,.35);
  box-shadow: var(--shadow-lg); animation: panelIn .25s ease;
}
@keyframes panelIn { from { opacity: 0; transform: translate(-10px, -50%); } }
.panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid rgba(197,155,39,.5); }
.panel__head h2 { color: var(--gold); font-size: 1.35rem; font-weight: 800; }
.icon-btn { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; color: #e2e8f0; flex: none; }
.icon-btn:hover { background: rgba(255,255,255,.1); }
.icon-btn svg { width: 22px; height: 22px; }
.panel__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px 20px; border-top: 1px solid rgba(197,155,39,.5); }
.pager { display: flex; gap: 12px; }
.pager__btn { width: 56px; height: 46px; display: grid; place-items: center; border-radius: 12px; border: 1.5px solid #64748b; color: #fff; transition: border-color .2s, color .2s; }
.pager__btn:hover { border-color: var(--gold); color: var(--gold); }
.pager__btn svg { width: 22px; height: 22px; }
.pager__btn--sm { width: 40px; height: 34px; border-radius: 9px; }
.pager__btn--sm svg { width: 16px; height: 16px; }
.dots { display: flex; gap: 6px; }
.dot-btn { width: 9px; height: 9px; border-radius: 999px; background: #cbd5e1; transition: width .25s, background-color .25s; }
.dot-btn.is-active { width: 22px; background: var(--gold); }

.enrich__banner {
  margin: 18px 22px 0; height: 150px; border-radius: 16px; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center;
  background: radial-gradient(circle at 50% 30%, #8a2a6a 0%, #5b1748 60%, #3e0f33 100%); border: 4px solid #fff;
  font-size: 0.85rem; font-weight: 700;
}
.enrich__banner img { width: 86px; margin-bottom: 4px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.35)); }
.enrich__banner strong { font-weight: 800; }
.enrich__body { padding: 16px 22px 18px; }
.enrich__body h3 { font-size: 1.02rem; font-weight: 800; line-height: 1.6; }
.enrich__body time { display: block; margin-top: 8px; font-weight: 800; font-size: 0.85rem; direction: ltr; text-align: right; }
.enrich__body p { margin-top: 6px; font-size: 0.85rem; line-height: 1.75; color: #e2e8f0; }
.enrich__body p.is-clamped { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.link-btn { margin-top: 6px; color: var(--gold); font-size: 0.8rem; font-weight: 700; }
.link-btn:hover { text-decoration: underline; }

.chat { display: flex; flex-direction: column; }
.chat__who { display: flex; align-items: center; gap: 12px; }
.chat__who h2 { font-size: 1.1rem; }
.chat__who small { display: flex; align-items: center; gap: 6px; color: #cbd5e1; font-size: 0.75rem; }
.online { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }
.chat__avatar { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--gold); color: var(--gold); }
.chat__avatar svg { width: 28px; height: 28px; }
.chat__log { display: flex; flex-direction: column; gap: 10px; padding: 18px 22px; min-height: 220px; max-height: 340px; overflow-y: auto; }
.msg { max-width: 85%; padding: 10px 14px; border-radius: 14px; font-size: 0.85rem; line-height: 1.7; }
.msg--bot { align-self: flex-start; background: rgba(255,255,255,.08); border-top-right-radius: 4px; }
.msg--me { align-self: flex-end; background: var(--gold); color: var(--navy-950); border-top-left-radius: 4px; font-weight: 600; }
.chat__quick { display: flex; flex-wrap: wrap; gap: 8px; }
.chat__quick a { padding: 4px 12px; border-radius: 999px; border: 1px solid rgba(197,155,39,.6); color: var(--gold); font-size: 0.78rem; font-weight: 600; }
.chat__quick a:hover { background: var(--gold-soft); }
.chat__form { display: flex; gap: 8px; padding: 14px 22px 20px; border-top: 1px solid rgba(197,155,39,.5); }
.chat__form input { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.15); background: var(--navy-950); color: #fff; outline: none; }
.chat__form input:focus { border-color: var(--gold); }
.chat__form button { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--gold); color: var(--navy-950); }
.chat__form button svg { width: 18px; height: 18px; transform: scaleX(-1); }

.a11y__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 20px 22px 14px; }
.a11y__opt { padding: 14px 10px; border-radius: 12px; border: 1.5px solid #475569; font-weight: 700; font-size: 0.88rem; transition: border-color .2s, background-color .2s; }
.a11y__opt:hover { border-color: var(--gold); }
.a11y__opt[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: var(--navy-950); }
.a11y__reset { margin: 0 22px 22px; width: calc(100% - 44px); }

/* ------------------------------ ويدجت المعلومات الأثرية ------------------------------ */
.heritage { position: fixed; right: 20px; bottom: 20px; z-index: 35; opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity .35s, transform .35s, visibility .35s; }
.heritage.is-visible { opacity: 1; visibility: visible; transform: none; }
.heritage__card { width: 320px; border-radius: 22px; background: var(--navy-800); color: #fff; border: 2px solid var(--gold); box-shadow: var(--shadow-lg); overflow: hidden; }
.heritage__head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
.heritage__icon { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 10px; background: #1e293b; border: 1px solid rgba(197,155,39,.5); color: #cbd5e1; }
.heritage__icon svg { width: 20px; height: 20px; }
.heritage__titles { flex: 1; min-width: 0; }
.heritage__titles h2 { color: var(--gold); font-size: 0.95rem; font-weight: 800; line-height: 1.4; }
.heritage__titles small { font-size: 0.7rem; color: #94a3b8; }
.heritage__pause { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 4px; background: #3b82f6; color: #fff; flex: none; }
.heritage__pause svg { width: 12px; height: 12px; }
.heritage__close svg { width: 18px; height: 18px; }
.heritage__media { position: relative; margin: 12px 14px 0; aspect-ratio: 16 / 8; border-radius: 12px; overflow: hidden; border: 1px solid rgba(197,155,39,.5); background: #e2e8f0; }
.heritage__media img { width: 100%; height: 100%; object-fit: cover; animation: fadeIn .4s ease; }
@keyframes fadeIn { from { opacity: 0; } }
.heritage__ph { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(197,155,39,.75); background: repeating-linear-gradient(45deg, #0f2140 0 12px, #11264a 12px 24px); animation: fadeIn .4s ease; }
.heritage__ph svg { width: 48px; height: 48px; }
.heritage__era { position: absolute; top: 8px; right: 8px; padding: 2px 10px; border-radius: 999px; background: var(--gold); color: var(--navy-950); font-size: 0.68rem; font-weight: 800; }
.heritage__count { position: absolute; bottom: 8px; left: 8px; padding: 1px 8px; border-radius: 6px; background: rgba(4,13,24,.85); font-size: 0.68rem; font-weight: 700; direction: ltr; }
.heritage__text { padding: 10px 14px 4px; }
.heritage__text h3 { font-size: 0.92rem; font-weight: 800; line-height: 1.5; }
.heritage__text p { margin-top: 4px; font-size: 0.76rem; line-height: 1.7; color: #cbd5e1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.heritage__foot { display: flex; align-items: center; justify-content: space-between; margin: 8px 14px 12px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.1); }
.heritage__reopen { display: none; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--navy-800); color: var(--gold); border: 2px solid var(--gold); font-weight: 800; font-size: 0.85rem; box-shadow: var(--shadow-lg); }
.heritage__reopen svg { width: 18px; height: 18px; }
.heritage.is-closed .heritage__card { display: none; }
.heritage.is-closed .heritage__reopen { display: inline-flex; }

/* ------------------------------ الحركة عند الظهور ------------------------------ */
.js-ready .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.js-ready .reveal.is-in { opacity: 1; transform: none; }

/* ------------------------------ إمكانية الوصول ------------------------------ */
.a11y-grayscale body { filter: grayscale(1); }
.a11y-contrast body { filter: contrast(1.25); }
.a11y-grayscale.a11y-contrast body { filter: grayscale(1) contrast(1.25); }
.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 1px dashed currentColor; outline-offset: 2px; }
.a11y-motion *, .a11y-motion *::before, .a11y-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ------------------------------ الاستجابة ------------------------------ */
@media (max-width: 1440px) {
  .car-btn--prev { right: -44px; }
  .car-btn--next { left: -44px; }
  .fab { width: 60px; height: 60px; }
  .floating { left: 14px; }
  .panel { left: 88px; }
}

@media (max-width: 1360px) {
  .carousel:not(.carousel--people) { padding-inline: 44px; }
  .car-btn--prev { right: 0; }
  .car-btn--next { left: 0; }
}

@media (max-width: 1200px) {
  .brand img { width: 200px; }
  .partner-logo img { width: 90px; }
  .main-nav a { font-size: 0.92rem; }
  .main-nav a.is-active { padding-inline: 8px; }
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .carousel--people { --gap: 32px; }
}

@media (max-width: 1024px) {
  .nav-toggle { display: grid; order: 3; }
  .partner-logo { order: 2; margin-inline-start: auto; }
  .main-nav { position: absolute; top: 100%; inset-inline: 0; background: #fff; box-shadow: var(--shadow); max-height: 0; overflow: hidden; transition: max-height .35s ease; }
  .main-nav.is-open { max-height: 520px; }
  .main-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--gutter) 16px; }
  .main-nav a { padding: 12px 6px; border-bottom: 1px solid var(--line); }
  .main-nav a::after { bottom: 0; }
  .mainbar__inner { position: relative; }
  .mainbar { position: relative; }

  .ticker-bar__inner { flex-direction: column; align-items: stretch; gap: 14px; }
  .search { width: 100%; }
  .hero__inner { grid-template-columns: 1fr; padding-block: 52px; min-height: 0; }
  .hero-card { justify-self: stretch; width: 100%; max-width: 560px; }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .carousel { --visible: 2; }
  .carousel--pages { --visible: 1; }
  .partner-page { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .encyclo__inner, .split { grid-template-columns: 1fr; gap: 32px; }
  .encyclo__media, .split__media { justify-self: center; max-width: 620px; width: 100%; }
  .footer__inner { grid-template-columns: 1fr 1fr; }
  .footer__contact { grid-column: 1 / -1; }
  .footer__brand, .footer__links { padding-top: 36px; }

  .floating { top: auto; bottom: 16px; transform: none; flex-direction: row; left: 16px; gap: 10px; }
  .fab { width: 52px; height: 52px; border-width: 2px; }
  .panel { left: 16px; right: 16px; top: auto; bottom: 80px; width: auto; transform: none; max-height: calc(100vh - 110px); }
  @keyframes panelIn { from { opacity: 0; transform: translateY(10px); } }
  .heritage { bottom: 84px; right: 16px; }
}

@media (max-width: 720px) {
  :root { --gutter: 16px; }
  .topbar__inner { justify-content: center; flex-wrap: wrap; padding-block: 6px; gap: 6px 14px; }
  .topbar__links { display: none; }
  .brand img { width: 170px; }
  .partner-logo img { width: 72px; }
  .mainbar__inner { min-height: 66px; gap: 12px; }
  .ticker { flex-direction: column; align-items: flex-start; gap: 10px; }
  .ticker__viewport { width: 100%; }
  .search { flex-wrap: wrap; padding: 10px; }
  .search__field { flex-basis: 100%; }
  .search__adv { flex: 1; }
  .section, .encyclo { padding-block: 52px 28px; }
  .sec-head { margin-bottom: 26px; }
  .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .carousel, .carousel--people { --visible: 1; padding-inline: 36px; }
  .carousel--people { --gap: 20px; }
  .carousel--pages { padding-inline: 32px; }
  .car-btn { width: 32px; height: 32px; }
  .car-btn svg { width: 22px; height: 22px; }
  .carousel--people .car-btn--prev, .car-btn--prev { right: -4px; }
  .carousel--people .car-btn--next, .car-btn--next { left: -4px; }
  .partner-page { grid-template-columns: 1fr 1fr; gap: 12px; }
  .partner-card { min-height: 140px; padding: 16px 8px; gap: 12px; }
  .partner-card__name { font-size: 0.82rem; }
  .project-card { min-height: 400px; }
  .footer__inner { grid-template-columns: 1fr; gap: 28px; }
  .footer__brand { align-items: center; }
  .footer__logo { width: 230px; }
  .contact-card { padding: 16px; }
  .contact-card dt { min-width: 92px; }
  .heritage { right: 12px; left: 12px; bottom: 80px; }
  .heritage__card { width: 100%; }
  .heritage.is-closed { left: auto; }
}

/* November 2026 client review: consistent controls, navigation and content pages. */
.mainbar .brand img{width:255px;max-width:100%;height:90px;object-fit:contain}.mainbar .partner-logo img{width:135px;height:90px;object-fit:contain}.mainbar__inner{gap:16px}.main-nav>ul{gap:16px}.main-nav li{position:relative}.main-nav>ul>li{display:flex;align-items:center}.submenu-toggle{border:0;background:none;color:inherit;cursor:pointer;padding:5px;font:inherit}.main-nav .submenu{position:absolute;top:100%;right:0;display:flex;flex-direction:column;min-width:210px;background:#fff;box-shadow:0 8px 25px #07182c33;padding:12px;z-index:99;border-radius:8px}.main-nav .submenu[hidden]{display:none}.main-nav .submenu a{display:block;padding:9px}.search-toggle{flex:none;color:#07182c}.ticker-bar__inner{display:block}.ticker{width:100%}.ticker__viewport{width:100%}.idsc-search-dialog{border:0;border-radius:16px;padding:28px;max-width:620px;width:90vw;color:#07182c;font-family:'Cairo',sans-serif}.idsc-search-dialog::backdrop{background:#07182caa}.idsc-search-dialog form{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.idsc-search-dialog label{width:100%}.idsc-search-dialog input{width:100%;padding:14px;border:1px solid #ccd4df;border-radius:8px;font:inherit}.search-close{float:left}.idsc-search-dialog h2{margin-bottom:20px}.idsc-filters{flex-wrap:wrap}.idsc-filters input,.idsc-filters select,.idsc-filters option,.idsc-register input,.idsc-register textarea,.idsc-register button{font-family:'Cairo',sans-serif!important;font-size:14px}.idsc-filters label{min-width:140px}.idsc-filters input[type=hidden]{display:none}.idsc-reset{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid #c59b27;border-radius:7px;background:#fff;color:#07182c;text-decoration:none;min-height:44px}.pagination{display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:24px 0;direction:rtl}.pagination li{display:block}.pagination .page-link{display:block;padding:8px 13px;border:1px solid #cbd5df;border-radius:6px;color:#07182c;background:#fff;text-decoration:none}.pagination .active .page-link{background:#c59b27}.pagination .disabled{pointer-events:none;opacity:.5}.publication-date{display:block;color:#6a7180;font-size:13px;margin:4px 0 10px}.idsc-breadcrumb{display:flex;gap:10px;align-items:center;margin:20px 0}.idsc-breadcrumb img{width:100px;vertical-align:middle}.idsc-album{margin-top:30px}.idsc-album img,.idsc-album video{width:100%;max-height:480px;object-fit:contain;background:#07182c}.idsc-album audio{width:100%}.idsc-album figcaption{padding:12px}.idsc-detail section{margin-top:32px}.idsc-social-links{display:flex;gap:15px;flex-wrap:wrap}.fab{display:flex;align-items:center;justify-content:center}
@media(max-width:1100px){.mainbar .brand img{width:220px;height:78px}.mainbar .partner-logo img{width:100px;height:75px}.main-nav>ul>li{flex-wrap:wrap}.main-nav .submenu{position:static;width:100%;box-shadow:none;padding:0 16px}.main-nav .submenu li{width:100%}}
@media(max-width:600px){.mainbar .brand img{width:170px;height:66px}.mainbar .partner-logo img{width:72px;height:64px}.mainbar__inner{gap:8px}.idsc-filters label{width:100%}}

.idsc-album iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px}

.social{flex-wrap:wrap}.social a{width:auto;min-width:38px;padding:8px 10px;font-size:12px;color:#07182c;background:#fff}
