/* ═══════════════════════════════════════════════════════════════════════════
   THE GULF POLICY — main.css
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Variables ─────────────────────────────────────────────────────────── */
:root {
  --gp-navy:     #1a3a6c;
  --gp-teal:     #007c78;
  --gp-gold:     #b5882c;
  --gp-dark:     #1a1816;
  --gp-bg:       #f8f5f0;
  --gp-surface:  #f0ede8;
  --gp-text:     #1a1816;
  --gp-muted:    rgba(26,24,22,.52);
  --gp-divider:  rgba(26,24,22,.12);
  --gp-teal-100: #e6f7f6;
  --gp-teal-600: #006560;
  --gp-teal-700: #004e4b;
  --gp-gold-600: #9a7224;
  --gp-font-en:  "Source Serif 4", Georgia, serif;
  --gp-font-ar:  "Amiri", Georgia, serif;
  --gp-font:     var(--gp-font-en);
  --gp-max:      1280px;
  --gp-content:  720px;
  --gp-gutter:   40px;
  --gp-s1:  6px; --gp-s2: 12px; --gp-s3: 18px; --gp-s4: 24px;
  --gp-s6: 36px; --gp-s8: 48px; --gp-s12: 72px;
  --gp-shadow-sm: 0 1px 3px rgba(26,24,22,.1);
  --gp-shadow-md: 0 4px 12px rgba(26,24,22,.12);
}

/* ── 2. Base ──────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--gp-font);
  background: var(--gp-bg);
  color: var(--gp-text);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.lang-ar {
  font-family: var(--gp-font-ar);
  direction: rtl;
  --gp-font: var(--gp-font-ar);
}
img, figure { display: block; max-width: 100%; }
a { color: var(--gp-teal); text-underline-offset: 3px; }
a:hover { color: var(--gp-teal-600); }
h1,h2,h3,h4,h5,h6 {
  font-family: var(--gp-font);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.02em;
}
body.lang-ar h1,body.lang-ar h2,body.lang-ar h3,
body.lang-ar h4,body.lang-ar h5,body.lang-ar h6 {
  letter-spacing: 0;
  line-height: 1.35;
}
p { margin-bottom: var(--gp-s3); }
p:last-child { margin-bottom: 0; }

/* ── 3. Layout ────────────────────────────────────────────────────────────── */
.gp-container {
  max-width: var(--gp-max);
  margin-inline: auto;
  padding-inline: var(--gp-gutter);
}
.gp-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--gp-s4); }
.gp-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--gp-s4); }
.gp-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--gp-s4); }

/* ── 4. Bilingual helpers ─────────────────────────────────────────────────── */
body:not(.lang-ar) .gp-ar { display: none !important; }
body.lang-ar      .gp-en { display: none !important; }

/* ── 5. Header ────────────────────────────────────────────────────────────── */
.gp-header {
  background: #fff;
  position: sticky; top: 0; z-index: 100;
  border-bottom: 1px solid var(--gp-divider);
}
.gp-header__top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px var(--gp-gutter);
  border-bottom: 1px solid var(--gp-divider);
}
.gp-header__meta {
  font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--gp-muted); text-decoration: none;
  font-family: var(--gp-font-en);
}
body.lang-ar .gp-header__meta { font-family: var(--gp-font-ar); font-size: 12px; letter-spacing: 0; text-transform: none; }
.gp-header__logo { flex: none; display: block; }
.gp-header__logo img { height: 52px; width: auto; display: block; }
.gp-header__actions { display: flex; align-items: center; gap: 10px; }
.gp-header__actions > a {
  font-size: 12px; color: var(--gp-muted); text-decoration: none;
  font-family: var(--gp-font-en); transition: color .15s;
}
body.lang-ar .gp-header__actions > a { font-family: var(--gp-font-ar); font-size: 13px; }
.gp-header__actions > a:hover { color: var(--gp-text); }
.gp-header__signin {
  padding: 5px 12px !important;
  border: 1px solid var(--gp-divider) !important;
  border-radius: 2px;
  color: var(--gp-text) !important;
}
.gp-header__signin:hover { background: var(--gp-surface) !important; }
.gp-lang-toggle {
  display: flex; border: 1px solid var(--gp-divider); border-radius: 2px;
  overflow: hidden; font-size: 11px; font-family: var(--gp-font-en) !important; cursor: pointer;
}
.gp-lang-toggle__opt { padding: 4px 9px; user-select: none; transition: background .12s; }
.gp-lang-toggle__opt.active { background: var(--gp-teal); color: #fff; }
.gp-lang-toggle__opt:not(.active) { color: var(--gp-muted); }
.gp-lang-toggle__opt:not(.active):hover { background: var(--gp-surface); color: var(--gp-text); }
.gp-header__nav {
  display: flex; padding: 0 var(--gp-gutter);
}
.gp-header__nav a {
  font-size: 13px; letter-spacing: .02em; color: rgba(26,24,22,.55); text-decoration: none;
  padding: 11px 0; margin-inline-end: 24px;
  border-bottom: 2px solid transparent; transition: color .15s, border-color .15s;
  font-family: var(--gp-font-en);
}
body.lang-ar .gp-header__nav a { font-family: var(--gp-font-ar); font-size: 15px; letter-spacing: 0; }
.gp-header__nav a:hover,
.gp-header__nav a.current-menu-item { color: var(--gp-text); border-bottom-color: var(--gp-teal); }
/* WP nav classes */
.gp-header__nav .menu { display: contents; }
.gp-header__nav .menu-item { list-style: none; }
.gp-nav-toggle {
  display: none; background: none; border: none; cursor: pointer; padding: 4px;
  flex-direction: column; gap: 5px;
}
.gp-nav-toggle span {
  display: block; width: 22px; height: 2px;
  background: var(--gp-text); border-radius: 1px;
}
.gp-mobile-nav {
  display: none; flex-direction: column;
  padding: var(--gp-s3) var(--gp-gutter);
  border-top: 1px solid var(--gp-divider); background: #fff;
}
.gp-mobile-nav.open { display: flex; }
.gp-mobile-nav a,.gp-mobile-nav .menu-item a {
  font-size: 16px; color: var(--gp-text); text-decoration: none;
  padding: var(--gp-s2) 0; border-bottom: 1px solid var(--gp-divider);
  font-family: var(--gp-font-en); display: block; list-style: none;
}
body.lang-ar .gp-mobile-nav a { font-family: var(--gp-font-ar); font-size: 18px; }
.gp-mobile-nav .menu { display: contents; }
.gp-mobile-nav .menu-item { list-style: none; }

/* ── 6. Date strip ────────────────────────────────────────────────────────── */
.gp-datebar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 5px var(--gp-gutter); border-bottom: 2px solid var(--gp-text);
  font-size: 11px; letter-spacing: .05em; text-transform: uppercase;
  color: var(--gp-muted); font-family: var(--gp-font-en);
}
body.lang-ar .gp-datebar { font-family: var(--gp-font-ar); font-size: 12px; letter-spacing: 0; text-transform: none; }

/* ── 7. Tags ──────────────────────────────────────────────────────────────── */
.gp-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.gp-tag {
  font-size: 9px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none;
  font-family: var(--gp-font-en) !important;
}
body.lang-ar .gp-tag { font-size: 10px; letter-spacing: 0; }
.gp-tag--section { color: var(--gp-teal); }
.gp-tag--topic   { color: var(--gp-gold); }
.gp-tag--section:hover { color: var(--gp-teal-700); }
.gp-tag--topic:hover   { color: var(--gp-gold-600); }

/* ── 8. Cards ─────────────────────────────────────────────────────────────── */
.gp-card { display: flex; flex-direction: column; gap: 8px; }
.gp-card__image {
  display: block; aspect-ratio: 4/3; overflow: hidden;
  background: var(--gp-surface);
}
.gp-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.gp-card:hover .gp-card__image img { transform: scale(1.03); }
.gp-card__headline {
  font-family: var(--gp-font); font-size: 15px; font-weight: 600;
  line-height: 1.28; letter-spacing: -.01em; color: var(--gp-text);
  text-decoration: none; display: block; transition: color .15s; text-wrap: pretty;
}
.gp-card__headline:hover { color: var(--gp-teal); }
body.lang-ar .gp-card__headline { font-size: 16px; line-height: 1.5; letter-spacing: 0; }
.gp-card__deck { font-size: 13px; line-height: 1.62; color: var(--gp-muted); font-style: italic; }
.gp-card__meta { font-size: 11px; color: var(--gp-muted); font-family: var(--gp-font-en); }
body.lang-ar .gp-card__meta { font-family: var(--gp-font-ar); font-size: 12px; }
.gp-card-mini { display: grid; grid-template-columns: 90px 1fr; gap: var(--gp-s2); align-items: start; }
.gp-card-mini__image { display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--gp-surface); }
.gp-card-mini__image img { width:100%; height:100%; object-fit:cover; }
.gp-card-mini__headline {
  font-size: 13px; font-weight: 600; line-height: 1.28; color: var(--gp-text);
  text-decoration: none; display: block; transition: color .15s; text-wrap: pretty;
}
.gp-card-mini__headline:hover { color: var(--gp-teal); }
body.lang-ar .gp-card-mini__headline { font-size: 14px; line-height: 1.5; }
.gp-card-mini__meta { font-size: 10px; color: var(--gp-muted); margin-top: 4px; font-family: var(--gp-font-en); }

/* ── 9. Section bar ───────────────────────────────────────────────────────── */
.gp-section-bar {
  display: flex; align-items: baseline; gap: 10px;
  border-bottom: 2px solid var(--gp-text); padding-bottom: 7px; margin-bottom: var(--gp-s4);
}
.gp-section-bar__label {
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  font-weight: 700; font-family: var(--gp-font-en);
}
body.lang-ar .gp-section-bar__label { font-family: var(--gp-font-ar); font-size: 13px; letter-spacing: 0; text-transform: none; }
.gp-section-bar__more {
  font-size: 11px; color: var(--gp-teal); text-decoration: none; margin-inline-start: auto;
}
.gp-section-bar__more:hover { color: var(--gp-teal-700); }

/* ── 10. Homepage ─────────────────────────────────────────────────────────── */
.gp-hero { display: grid; grid-template-columns: 3fr 2fr; border-bottom: 1px solid var(--gp-divider); }
.gp-hero__image { aspect-ratio: 16/11; overflow: hidden; background: var(--gp-surface); display: block; }
.gp-hero__image img { width:100%; height:100%; object-fit:cover; }
.gp-hero__content {
  padding: var(--gp-s6) var(--gp-s6) var(--gp-s6) var(--gp-s4);
  display: flex; flex-direction: column; justify-content: flex-end;
  border-inline-start: 1px solid var(--gp-divider);
}
.gp-hero__headline {
  font-family: var(--gp-font); font-size: clamp(24px,2.8vw,36px);
  line-height: 1.09; letter-spacing: -.025em; font-weight: 700;
  color: var(--gp-text); text-decoration: none; display: block;
  margin-bottom: var(--gp-s3); text-wrap: pretty; transition: color .15s;
}
.gp-hero__headline:hover { color: var(--gp-teal); }
body.lang-ar .gp-hero__headline { letter-spacing: 0; line-height: 1.38; }
.gp-hero__deck { font-size: 15px; line-height: 1.65; color: var(--gp-muted); font-style: italic; margin-bottom: var(--gp-s3); }
.gp-hero__byline { font-size: 12px; color: var(--gp-muted); font-family: var(--gp-font-en); }
.gp-hero__byline strong { color: var(--gp-text); }
body.lang-ar .gp-hero__byline { font-family: var(--gp-font-ar); font-size: 13px; }

.gp-secondary { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--gp-divider); }
.gp-secondary__item { padding: 20px var(--gp-s6); }
.gp-secondary__item + .gp-secondary__item { border-inline-start: 1px solid var(--gp-divider); }
.gp-secondary__image { display: block; aspect-ratio: 16/8; overflow: hidden; background: var(--gp-surface); margin-bottom: var(--gp-s3); }
.gp-secondary__image img { width:100%; height:100%; object-fit:cover; }
.gp-secondary__headline {
  font-family: var(--gp-font); font-size: 22px; line-height: 1.18;
  letter-spacing: -.015em; font-weight: 700; color: var(--gp-text);
  text-decoration: none; display: block; margin-bottom: var(--gp-s2); transition: color .15s;
}
.gp-secondary__headline:hover { color: var(--gp-teal); }
body.lang-ar .gp-secondary__headline { letter-spacing: 0; line-height: 1.45; }

.gp-latest { padding: var(--gp-s4) 0 var(--gp-s6); }

.gp-reports-band {
  background: var(--gp-surface); border-top: 3px solid var(--gp-text);
  padding: var(--gp-s4) 0 var(--gp-s6);
}
.gp-reports-band__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--gp-s4); }
.gp-reports-band__side {
  display: flex; flex-direction: column; gap: var(--gp-s4);
  border-inline-start: 1px solid var(--gp-divider);
  padding-inline-start: var(--gp-s4);
}

.gp-opinion-band { border-top: 1px solid var(--gp-divider); padding: var(--gp-s4) 0 var(--gp-s6); }
.gp-opinion-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--gp-divider); }
.gp-opinion-item { display: flex; gap: var(--gp-s3); padding: var(--gp-s3) var(--gp-s4); }
.gp-opinion-item:first-child { border-inline-end: 1px solid var(--gp-divider); padding-inline-start: 0; }
.gp-opinion-item:last-child  { padding-inline-end: 0; }
.gp-opinion-item__avatar { width:48px; height:48px; border-radius:50%; object-fit:cover; flex:none; margin-top:4px; background:var(--gp-surface); }
.gp-opinion-item__label { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--gp-muted); font-weight:700; font-family:var(--gp-font-en); margin-bottom:7px; }
body.lang-ar .gp-opinion-item__label { letter-spacing:0; font-family:var(--gp-font-ar); font-size:11px; text-transform:none; }
.gp-opinion-item__quote { font-size:17px; line-height:1.42; font-style:italic; margin-bottom:var(--gp-s2); color:var(--gp-text); text-decoration:none; display:block; transition:color .15s; }
.gp-opinion-item__quote:hover { color:var(--gp-teal); }
body.lang-ar .gp-opinion-item__quote { font-size:18px; line-height:1.65; }
.gp-opinion-item__author { font-size:13px; font-weight:700; margin-bottom:2px; }
.gp-opinion-item__role   { font-size:11px; color:var(--gp-muted); }

/* ── 11. Support banner ───────────────────────────────────────────────────── */
.gp-support-banner {
  background: #0a2545; color: #f0ece4;
  padding: 20px var(--gp-gutter);
  display: flex; align-items: center; justify-content: space-between; gap: var(--gp-s4); flex-wrap: wrap;
}
.gp-support-banner h4 { font-size:16px; font-weight:600; color:#f0ece4; margin-bottom:4px; }
body.lang-ar .gp-support-banner h4 { font-size:18px; }
.gp-support-banner p  { font-size:12px; color:rgba(240,236,228,.6); margin:0; }
body.lang-ar .gp-support-banner p { font-size:13px; }

/* ── 12. Buttons ──────────────────────────────────────────────────────────── */
.gp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font-family: var(--gp-font); font-size: 13px; font-weight: 600; text-decoration: none;
  padding: 9px 20px; border-radius: 2px; border: 1px solid transparent;
  cursor: pointer; transition: background .15s, color .15s, border-color .15s;
  white-space: nowrap; line-height: 1.2;
}
.gp-btn--primary { background: var(--gp-teal); color: #fff; border-color: var(--gp-teal); }
.gp-btn--primary:hover { background: var(--gp-teal-700); border-color: var(--gp-teal-700); color: #fff; }
.gp-btn--outline { background: transparent; color: var(--gp-teal); border-color: var(--gp-teal); }
.gp-btn--outline:hover { background: var(--gp-teal-100); color: var(--gp-teal-700); }
.gp-btn--ghost { background: transparent; color: var(--gp-muted); border-color: var(--gp-divider); }
.gp-btn--ghost:hover { background: var(--gp-surface); color: var(--gp-text); }
.gp-btn--white { background: #fff; color: var(--gp-navy); border-color: #fff; }
.gp-btn--white:hover { background: rgba(255,255,255,.88); }

/* ── 13. Article page ─────────────────────────────────────────────────────── */
.gp-article-hero { width:100%; aspect-ratio:16/7; overflow:hidden; background:var(--gp-surface); display:block; }
.gp-article-hero img { width:100%; height:100%; object-fit:cover; }
.gp-article-header { max-width:var(--gp-content); margin:0 auto; padding:var(--gp-s6) var(--gp-gutter) var(--gp-s4); }
.gp-article__headline {
  font-size: clamp(28px,4vw,44px); line-height:1.07; letter-spacing:-.03em; font-weight:700;
  margin-bottom:var(--gp-s3); text-wrap:pretty;
}
body.lang-ar .gp-article__headline { letter-spacing:0; line-height:1.35; }
.gp-article__deck {
  font-size:19px; line-height:1.62; font-style:italic; color:var(--gp-muted);
  margin-bottom:var(--gp-s4); border-top:2px solid var(--gp-text); padding-top:var(--gp-s3);
}
body.lang-ar .gp-article__deck { font-size:20px; line-height:1.75; }
.gp-article__meta {
  display:flex; align-items:center; gap:var(--gp-s3); flex-wrap:wrap;
  padding:var(--gp-s3) 0; border-top:1px solid var(--gp-divider); border-bottom:1px solid var(--gp-divider);
  margin-bottom:var(--gp-s6);
}
.gp-article__author-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; background:var(--gp-surface); flex:none; }
.gp-article__author-name { font-size:14px; font-weight:600; display:block; margin-bottom:2px; text-decoration:none; color:inherit; }
.gp-article__author-meta { font-size:11px; color:var(--gp-muted); font-family:var(--gp-font-en); }
body.lang-ar .gp-article__author-meta { font-family:var(--gp-font-ar); font-size:12px; }
.gp-article__share { margin-inline-start:auto; display:flex; gap:8px; }
.gp-article__share a {
  font-size:11px; color:var(--gp-teal); text-decoration:none;
  padding:4px 10px; border:1px solid color-mix(in srgb,var(--gp-teal) 35%,transparent); border-radius:2px; font-family:var(--gp-font-en);
}
.gp-article__share a:hover { background:var(--gp-teal-100); }
.gp-article-body { max-width:var(--gp-content); margin:0 auto; padding:0 var(--gp-gutter) var(--gp-s12); font-size:17px; line-height:1.75; }
body.lang-ar .gp-article-body { font-size:18px; line-height:1.9; }
.gp-article-body p { margin-bottom:1.5em; }
.gp-article-body h2 { font-size:24px; margin:2em 0 .75em; }
.gp-article-body h3 { font-size:20px; margin:1.75em 0 .5em; }
.gp-article-body ul,.gp-article-body ol { padding-inline-start:1.5em; margin-bottom:1.5em; }
.gp-article-body li { margin-bottom:.5em; }
.gp-article-body blockquote {
  border-inline-start:3px solid var(--gp-teal); padding:6px 22px; margin:2em 0;
  font-size:21px; font-style:italic; line-height:1.42; color:var(--gp-navy);
}
.gp-article-body img { width:100%; margin:2em 0; }
.gp-article-body figcaption { font-size:11px; color:var(--gp-muted); margin-top:6px; }
.gp-author-box { max-width:var(--gp-content); margin:0 auto var(--gp-s6); padding:0 var(--gp-gutter); }
.gp-author-box__inner {
  background:var(--gp-surface); padding:20px;
  border-inline-start:3px solid var(--gp-teal); display:flex; gap:var(--gp-s3);
}
.gp-author-box__avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; background:var(--gp-bg); flex:none; }
.gp-author-box__name { font-size:13px; font-weight:700; margin-bottom:4px; }
.gp-author-box__bio  { font-size:12px; line-height:1.62; color:var(--gp-muted); }
.gp-author-box__link { font-size:11px; color:var(--gp-teal); text-decoration:none; display:inline-block; margin-top:6px; }

/* ── 14. Archive ──────────────────────────────────────────────────────────── */
.gp-archive-header {
  background:var(--gp-dark); color:#f0ece4;
  padding:44px var(--gp-gutter) 36px; border-bottom:3px solid #f0ece4;
}
.gp-archive-header__kicker { font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:rgba(240,236,228,.4); font-family:var(--gp-font-en); margin-bottom:10px; }
body.lang-ar .gp-archive-header__kicker { font-family:var(--gp-font-ar); font-size:11px; letter-spacing:0; text-transform:none; }
.gp-archive-header h1 { font-size:clamp(36px,5vw,52px); color:#f0ece4; margin-bottom:12px; line-height:1.06; }
.gp-archive-header p { font-size:16px; color:rgba(240,236,228,.58); font-style:italic; max-width:540px; margin:0; line-height:1.62; }
body.lang-ar .gp-archive-header p { font-size:17px; line-height:1.75; }
.gp-archive-content { padding:var(--gp-s6) 0 var(--gp-s12); }

/* ── 15. Author page ──────────────────────────────────────────────────────── */
.gp-author-header { display:grid; grid-template-columns:200px 1fr; gap:var(--gp-s6); padding:var(--gp-s8) 0; border-bottom:1px solid var(--gp-divider); align-items:start; }
.gp-author-header__photo { width:200px; height:200px; border-radius:50%; object-fit:cover; background:var(--gp-surface); }
.gp-author-header__kicker { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--gp-teal); font-weight:700; font-family:var(--gp-font-en); margin-bottom:10px; }
.gp-author-header__name { font-size:clamp(24px,3.5vw,38px); margin-bottom:6px; letter-spacing:-.025em; }
.gp-author-header__role { font-size:14px; color:var(--gp-muted); font-style:italic; margin-bottom:var(--gp-s3); }
.gp-author-header__bio { font-size:16px; line-height:1.7; color:rgba(26,24,22,.78); max-width:580px; margin-bottom:var(--gp-s3); }
body.lang-ar .gp-author-header__bio { font-size:17px; line-height:1.82; }
.gp-author-articles { padding:var(--gp-s4) 0 var(--gp-s12); }
.gp-author-article-row { display:grid; grid-template-columns:160px 1fr; gap:var(--gp-s4); padding:var(--gp-s4) 0; border-bottom:1px solid var(--gp-divider); align-items:start; }
.gp-author-article-row__image { aspect-ratio:4/3; overflow:hidden; background:var(--gp-surface); display:block; }
.gp-author-article-row__image img { width:100%; height:100%; object-fit:cover; }
.gp-author-article-row__headline { font-size:20px; line-height:1.2; letter-spacing:-.015em; font-weight:700; color:var(--gp-text); text-decoration:none; display:block; margin-bottom:8px; transition:color .15s; text-wrap:pretty; }
.gp-author-article-row__headline:hover { color:var(--gp-teal); }
body.lang-ar .gp-author-article-row__headline { letter-spacing:0; line-height:1.45; }

/* ── 16. Search ───────────────────────────────────────────────────────────── */
.gp-search-page { padding:var(--gp-s6) 0 var(--gp-s12); }
.gp-search-form__inner { display:flex; gap:var(--gp-s2); border-bottom:2px solid var(--gp-text); padding-bottom:var(--gp-s3); margin-bottom:var(--gp-s6); }
.gp-search-input { flex:1; font-family:var(--gp-font); font-size:18px; background:none; border:none; outline:none; color:var(--gp-text); caret-color:var(--gp-teal); }
.gp-search-input::placeholder { color:var(--gp-muted); opacity:1; }
.gp-search-count { font-size:12px; color:var(--gp-muted); margin-bottom:var(--gp-s3); }
.gp-live-search { position:fixed; inset:0; z-index:200; background:rgba(26,24,22,.55); opacity:0; visibility:hidden; transition:opacity .2s,visibility .2s; }
.gp-live-search.open { opacity:1; visibility:visible; }
.gp-live-search__panel { background:#fff; max-width:640px; margin:80px auto 0; border-radius:4px; box-shadow:var(--gp-shadow-md); overflow:hidden; }
.gp-live-search__input-wrap { display:flex; align-items:center; gap:var(--gp-s2); padding:var(--gp-s3) var(--gp-s4); border-bottom:1px solid var(--gp-divider); }
#gp-live-search-input { flex:1; font-family:var(--gp-font); font-size:16px; background:none; border:none; outline:none; color:var(--gp-text); }
.gp-live-search__results { max-height:480px; overflow-y:auto; }
.gp-live-search__result { display:flex; gap:var(--gp-s2); align-items:flex-start; padding:var(--gp-s2) var(--gp-s4); text-decoration:none; color:inherit; transition:background .12s; border-bottom:1px solid var(--gp-divider); }
.gp-live-search__result:hover { background:var(--gp-surface); }
.gp-live-search__result img { width:60px; height:45px; object-fit:cover; flex:none; background:var(--gp-surface); }
.gp-live-search__result-title { font-size:14px; font-weight:600; line-height:1.3; }
.gp-live-search__result-meta  { font-size:11px; color:var(--gp-muted); margin-top:3px; font-family:var(--gp-font-en); }
.gp-live-search__status { padding:var(--gp-s3) var(--gp-s4); font-size:13px; color:var(--gp-muted); text-align:center; }

/* ── 17. Static pages ─────────────────────────────────────────────────────── */
.gp-page-header { padding:var(--gp-s8) 0 var(--gp-s6); border-bottom:3px solid var(--gp-text); max-width:900px; }
.gp-page-header__kicker { font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--gp-teal); font-weight:700; font-family:var(--gp-font-en); margin-bottom:12px; }
body.lang-ar .gp-page-header__kicker { font-family:var(--gp-font-ar); font-size:11px; letter-spacing:0; text-transform:none; }
.gp-page-header h1 { font-size:clamp(28px,4vw,52px); margin-bottom:var(--gp-s3); }
.gp-page-header__lead { font-size:17px; line-height:1.7; color:var(--gp-muted); font-style:italic; max-width:720px; }
body.lang-ar .gp-page-header__lead { font-size:18px; line-height:1.82; }
.gp-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border-bottom:1px solid var(--gp-divider); }
.gp-about-cell { padding:var(--gp-s4); border-inline-end:1px solid var(--gp-divider); }
.gp-about-cell:last-child { border-inline-end:none; }
.gp-about-cell h3 { font-size:20px; margin-bottom:var(--gp-s2); padding-bottom:var(--gp-s2); border-bottom:1px solid var(--gp-divider); }
.gp-about-cell p { font-size:15px; line-height:1.72; color:rgba(26,24,22,.78); margin:0; }
.gp-tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gp-s4); }
.gp-tier { border:1px solid var(--gp-divider); border-radius:4px; padding:var(--gp-s6); position:relative; transition:box-shadow .2s; }
.gp-tier:hover { box-shadow:var(--gp-shadow-md); }
.gp-tier--featured { border-color:var(--gp-teal); border-width:2px; }
.gp-tier__badge { position:absolute; top:-10px; inset-inline-start:20px; background:var(--gp-teal); color:#fff; font-size:9px; letter-spacing:.1em; text-transform:uppercase; padding:3px 10px; border-radius:2px; font-family:var(--gp-font-en); font-weight:700; }
.gp-tier__name { font-size:9px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; font-family:var(--gp-font-en); color:var(--gp-muted); margin-bottom:10px; }
.gp-tier__price { font-size:36px; font-weight:700; letter-spacing:-.02em; margin-bottom:4px; }
.gp-tier__price-note { font-size:12px; color:var(--gp-muted); margin-bottom:var(--gp-s4); }
.gp-tier__features { display:flex; flex-direction:column; gap:8px; margin-bottom:var(--gp-s4); list-style:none; }
.gp-tier__feature { font-size:13px; display:flex; align-items:baseline; gap:8px; }
.gp-tier__feature .check { color:var(--gp-teal); font-weight:700; }
.gp-tier__feature .no    { color:var(--gp-muted); }
.gp-newsletter-page { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.gp-newsletter-form { padding:var(--gp-s8) var(--gp-gutter); border-inline-end:1px solid var(--gp-divider); }
.gp-newsletter-preview { padding:var(--gp-s6) var(--gp-gutter); background:var(--gp-surface); }
.gp-newsletter-preview-card { background:#fff; border:1px solid var(--gp-divider); border-radius:4px; padding:var(--gp-s4); box-shadow:var(--gp-shadow-sm); }
.gp-form__field { margin-bottom:var(--gp-s3); }
.gp-form__label { display:block; font-size:12px; color:var(--gp-muted); margin-bottom:5px; }
.gp-form__input { width:100%; font-family:var(--gp-font); font-size:15px; padding:8px 12px; border:1px solid var(--gp-divider); border-radius:2px; background:var(--gp-bg); color:var(--gp-text); outline:none; transition:border-color .15s; }
.gp-form__input:focus { border-color:var(--gp-teal); }
.gp-form__input::placeholder { color:var(--gp-muted); opacity:1; }
.gp-form__note { font-size:11px; color:var(--gp-muted); margin-top:var(--gp-s2); line-height:1.5; }
.gp-seg { display:flex; border:1px solid var(--gp-divider); border-radius:2px; overflow:hidden; }
.gp-seg__opt { flex:1; text-align:center; padding:7px 12px; font-size:13px; cursor:pointer; transition:background .12s; user-select:none; }
.gp-seg__opt input { position:absolute; opacity:0; width:0; height:0; }
.gp-seg__opt:has(input:checked) { background:var(--gp-teal); color:#fff; }
.gp-seg__opt + .gp-seg__opt { border-inline-start:1px solid var(--gp-divider); }

/* ── 18. Footer ───────────────────────────────────────────────────────────── */
.gp-footer { background:var(--gp-dark); color:rgba(240,236,228,.55); padding:var(--gp-s8) var(--gp-gutter) var(--gp-s4); }
.gp-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--gp-s6); margin-bottom:var(--gp-s6); }
.gp-footer__logo { display:block; margin-bottom:var(--gp-s2); }
.gp-footer__logo img { height:44px; filter:brightness(10); display:block; }
.gp-footer__tagline { font-size:12px; line-height:1.65; color:rgba(240,236,228,.45); font-style:italic; max-width:220px; }
body.lang-ar .gp-footer__tagline { font-style:normal; font-size:13px; }
.gp-footer__col-title { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:rgba(240,236,228,.3); margin-bottom:10px; font-family:var(--gp-font-en); }
body.lang-ar .gp-footer__col-title { letter-spacing:0; font-family:var(--gp-font-ar); font-size:11px; text-transform:none; }
.gp-footer a { display:block; font-size:13px; color:rgba(240,236,228,.5); text-decoration:none; margin-bottom:7px; font-family:var(--gp-font); transition:color .15s; }
.gp-footer a:hover { color:#f0ece4; }
.gp-footer__bottom { border-top:1px solid rgba(240,236,228,.07); padding-top:var(--gp-s3); display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; font-size:11px; color:rgba(240,236,228,.28); font-family:var(--gp-font-en); }

/* ── 19. Pagination ───────────────────────────────────────────────────────── */
.gp-pagination { display:flex; align-items:center; justify-content:center; gap:8px; padding:var(--gp-s6) 0; flex-wrap:wrap; }
.gp-pagination a,.gp-pagination span { font-size:12px; color:var(--gp-teal); text-decoration:none; padding:7px 14px; border:1px solid color-mix(in srgb,var(--gp-teal) 35%,transparent); border-radius:2px; font-family:var(--gp-font-en); transition:background .15s; }
.gp-pagination a:hover { background:var(--gp-teal-100); }
.gp-pagination .current { background:var(--gp-teal); color:#fff; border-color:var(--gp-teal); }
.gp-pagination .page-numbers.dots { border:none; padding:7px 4px; cursor:default; }

/* ── 20. Breadcrumb ───────────────────────────────────────────────────────── */
.gp-breadcrumb { padding:8px var(--gp-gutter); font-size:11px; color:var(--gp-muted); display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--gp-divider); font-family:var(--gp-font-en); flex-wrap:wrap; }
.gp-breadcrumb a { color:var(--gp-teal); text-decoration:none; }
.gp-breadcrumb a:hover { color:var(--gp-teal-700); }
body.lang-ar .gp-breadcrumb { font-family:var(--gp-font-ar); font-size:12px; }

/* ── 21. Reading progress ─────────────────────────────────────────────────── */
.gp-reading-progress-bar { position:fixed; top:0; left:0; right:0; height:2px; z-index:200; background:rgba(0,124,120,.15); }
.gp-reading-progress    { height:100%; background:var(--gp-teal); width:0%; transition:width .1s linear; }

/* ── 22. Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  :root { --gp-gutter: 28px; }
  .gp-grid-4 { grid-template-columns: repeat(2,1fr); }
  .gp-reports-band__grid { grid-template-columns: 1fr 1fr; }
  .gp-reports-band__grid > :last-child { display: none; }
  .gp-footer__grid { grid-template-columns: 1fr 1fr; }
  .gp-author-header { grid-template-columns: 140px 1fr; }
  .gp-author-header__photo { width:140px; height:140px; }
  .gp-tiers { grid-template-columns: 1fr 1fr; }
  .gp-tiers > :last-child { grid-column: span 2; }
}

@media (max-width: 768px) {
  :root { --gp-gutter: 16px; }
  .gp-header__meta { display: none; }
  .gp-header__logo img { height: 36px; }
  .gp-header__signin,.gp-header__actions > a:not([data-gp-search-trigger]) { display: none; }
  .gp-header__nav { display: none; }
  .gp-nav-toggle { display: flex; }
  .gp-hero { grid-template-columns: 1fr; }
  .gp-hero__image { aspect-ratio: 16/10; }
  .gp-hero__content { padding: var(--gp-s3) var(--gp-gutter); border-inline-start: none; border-top: 1px solid var(--gp-divider); }
  .gp-hero__headline { font-size: 24px; }
  .gp-secondary { grid-template-columns: 1fr; }
  .gp-secondary__item + .gp-secondary__item { border-inline-start: none; border-top: 1px solid var(--gp-divider); }
  .gp-grid-4,.gp-grid-3 { grid-template-columns: 1fr 1fr; }
  .gp-reports-band__grid { grid-template-columns: 1fr; }
  .gp-reports-band__side { border-inline-start: none; padding-inline-start: 0; border-top: 1px solid var(--gp-divider); padding-top: var(--gp-s3); }
  .gp-opinion-grid { grid-template-columns: 1fr; }
  .gp-opinion-item:first-child { border-inline-end: none; border-bottom: 1px solid var(--gp-divider); }
  .gp-article__headline { font-size: 26px; }
  .gp-article__deck { font-size: 16px; }
  .gp-article-body { font-size: 16px; }
  .gp-author-header { grid-template-columns: 1fr; }
  .gp-author-header__photo { width: 100px; height: 100px; }
  .gp-author-article-row { grid-template-columns: 80px 1fr; gap: var(--gp-s2); }
  .gp-about-grid { grid-template-columns: 1fr; }
  .gp-about-cell { border-inline-end: none; border-bottom: 1px solid var(--gp-divider); }
  .gp-tiers { grid-template-columns: 1fr; }
  .gp-tiers > :last-child { grid-column: span 1; }
  .gp-newsletter-page { grid-template-columns: 1fr; }
  .gp-newsletter-form { border-inline-end: none; border-bottom: 1px solid var(--gp-divider); }
  .gp-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--gp-s4); }
  .gp-support-banner { flex-direction: column; text-align: center; }
  .gp-support-banner .gp-btn { width: 100%; justify-content: center; }
  .gp-live-search__panel { margin: 60px var(--gp-gutter) 0; }
}

@media (max-width: 480px) {
  .gp-grid-4,.gp-grid-3,.gp-grid-2 { grid-template-columns: 1fr; }
  .gp-footer__grid { grid-template-columns: 1fr; }
}