/* ============================================================
   ZL TOURS — Design System  (css/zl-design-system.css)
   FOUNDATION ONLY — tokens + zl- components + font.
   Loaded AFTER style.css so the Tajawal/Adapter aliases below win.
   SAFE: no bare element selectors (button/card/section/input); only
   .zl-* classes + the font aliasing + the default body font. Old pages
   are untouched except the intended global font swap → IBM Plex Sans Arabic.
   Visual reference (sizes/colors/spacing/radii/shadows): zl-homepage_89.html.
   ============================================================ */

/* ── IBM Plex Sans Arabic (self-hosted, OFL) ── */
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-300.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-300.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-400.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-400.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-500.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-500.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-600.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-600.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-700.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── Alias the site's existing families → IBM Plex, so every
      font-family:'Tajawal' يُحلّ إلى IBM Plex دون تعديل الصفحات.
      (أُزيلت عائلة Adapter Arabic نهائيًا في 2026-08-11.) ── */
@font-face{font-family:'Tajawal';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-300.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-300.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-400.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-400.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-500.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-500.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-600.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-600.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-700.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-700.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/ibm-plex/ibmplex-latin-700.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── Design tokens (from the approved reference) ── */
:root{
  /* brand palette */
  --zl-sea-deep:#004F6C; --zl-sea-deeper:#063a4f; --zl-sea-700:#005f80;
  --zl-cyan:#00ABC7; --zl-cyan-ink:#017e93;
  --zl-brown:#996230; --zl-brown-dark:#7c4e24;
  --zl-gold:#E6B563; --zl-gold-strong:#c9941f; --zl-gold-soft:#f0cf8f;
  --zl-ink:#0e2f3d; --zl-muted:#5f7480;
  --zl-sand:#f6f2e9; --zl-sand-2:#ece2d0; --zl-line:#e4dccb; --zl-white:#ffffff;
  /* category accents */
  --zl-t-sea:#00ABC7; --zl-t-mountain:#004F6C; --zl-t-farm:#4e9a5f;
  --zl-t-heritage:#996230; --zl-t-cave:#7c5ca3;
  /* radii */
  --zl-radius:20px; --zl-radius-sm:14px; --zl-radius-lg:28px; --zl-radius-pill:50px;
  /* shadows */
  --zl-shadow:0 12px 40px -12px rgba(14,47,61,.2);
  --zl-shadow-sm:0 6px 20px -8px rgba(14,47,61,.16);
  --zl-shadow-lg:0 30px 70px -24px rgba(14,47,61,.38);
  /* layout + motion */
  --zl-container:1180px; --zl-ease:cubic-bezier(.22,.61,.36,1);
  /* spacing scale */
  --zl-space-1:4px; --zl-space-2:8px; --zl-space-3:12px; --zl-space-4:16px;
  --zl-space-5:24px; --zl-space-6:32px; --zl-space-7:48px; --zl-space-8:64px;
  /* typography */
  --zl-font:'IBM Plex Sans Arabic','Tajawal','Segoe UI',system-ui,-apple-system,sans-serif;
}

/* ── Global font application (the ONE intended global change) ──
   Low-specificity default; the per-language !important rules in style.css
   still win for en/fr/de/es/it/ru/zh/ja, so only Arabic swaps to IBM Plex. */
html body{ font-family:var(--zl-font); }

/* ── zl- components (ADDITIVE — nothing on the site uses these yet) ── */
.zl-container{ max-width:var(--zl-container); margin-inline:auto; padding-inline:20px; width:100%; box-sizing:border-box; }
.zl-section{ padding-block:clamp(40px,6vw,80px); }

.zl-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--zl-font); font-weight:700; font-size:.95rem; line-height:1;
  padding:13px 26px; border-radius:var(--zl-radius-pill); border:1.5px solid transparent;
  cursor:pointer; text-decoration:none; transition:transform .18s var(--zl-ease),box-shadow .2s var(--zl-ease),background .2s; white-space:nowrap; }
.zl-btn:hover{ transform:translateY(-2px); box-shadow:var(--zl-shadow-sm); }
.zl-btn:active{ transform:translateY(0); }
.zl-btn--primary{ background:linear-gradient(135deg,var(--zl-gold),var(--zl-gold-strong)); color:#3a2b0e; box-shadow:var(--zl-shadow-sm); }
.zl-btn--sea{ background:var(--zl-sea-deep); color:#fff; }
.zl-btn--cyan{ background:var(--zl-cyan); color:#fff; }
.zl-btn--ghost{ background:transparent; border-color:var(--zl-line); color:var(--zl-ink); }
.zl-btn--sm{ padding:9px 18px; font-size:.85rem; }
.zl-btn--lg{ padding:16px 34px; font-size:1.05rem; }

.zl-card{ background:var(--zl-white); border:1px solid var(--zl-line);
  border-radius:var(--zl-radius); box-shadow:var(--zl-shadow-sm); overflow:hidden;
  transition:transform .2s var(--zl-ease),box-shadow .2s var(--zl-ease); }
.zl-card--hover:hover{ transform:translateY(-4px); box-shadow:var(--zl-shadow); }
.zl-card__body{ padding:var(--zl-space-5); }

.zl-chip{ display:inline-flex; align-items:center; gap:6px; background:var(--zl-sand);
  border:1px solid var(--zl-line); color:var(--zl-ink); border-radius:var(--zl-radius-pill);
  padding:6px 14px; font-size:.82rem; font-weight:600; line-height:1; }
.zl-chip--gold{ background:rgba(230,181,99,.16); border-color:var(--zl-gold-soft); color:var(--zl-brown-dark); }

.zl-field{ width:100%; box-sizing:border-box; font-family:var(--zl-font); font-size:.95rem;
  padding:12px 14px; border:1.5px solid var(--zl-line); border-radius:var(--zl-radius-sm);
  background:var(--zl-white); color:var(--zl-ink); outline:none; transition:border-color .18s,box-shadow .18s; }
.zl-field::placeholder{ color:#9aa8b0; }
.zl-field:focus{ border-color:var(--zl-gold); box-shadow:0 0 0 3px rgba(230,181,99,.2); }
.zl-label{ display:block; font-size:.82rem; font-weight:700; color:var(--zl-ink); margin-bottom:6px; }

.zl-skeleton{ background:linear-gradient(90deg,#ece6da 25%,#f6f2e9 50%,#ece6da 75%);
  background-size:200% 100%; animation:zl-skel 1.4s ease infinite; border-radius:var(--zl-radius-sm); }
@keyframes zl-skel{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── Responsive scaffolding (mobile / tablet / desktop) ── */
@media (max-width:1024px){ .zl-container{ padding-inline:18px; } }
@media (max-width:640px){
  .zl-container{ padding-inline:14px; }
  .zl-btn{ padding:12px 22px; }
  .zl-btn--lg{ padding:14px 26px; font-size:1rem; }
  .zl-card__body{ padding:var(--zl-space-4); }
}
