

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--f-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--c-body);
    background: var(--c-bg);
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--f-head); color: var(--c-ink); line-height: 1.25; font-weight: 800; }
a { color: var(--c-secondary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
.container { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--space-3); }
.sr-only, .screen-reader-text {
    position: absolute !important; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap;
}
.skip-link:focus {
    position: fixed; top: var(--space-1); left: var(--space-1); z-index: 10000;
    width: auto; height: auto; clip: auto; padding: var(--space-1) var(--space-3);
    background: var(--c-primary); color: var(--c-white); border-radius: var(--r-input);
}

.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--r-btn); border: 2px solid transparent;
    font-weight: 700; line-height: 1; cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: var(--sh-card-hover); text-decoration: none; }
.btn--primary { background: var(--c-primary); color: var(--c-white); }
.btn--primary:hover { background: color-mix(in srgb, var(--c-primary), var(--c-black) 12%); }
.btn--accent { background: var(--c-accent); color: var(--c-ink); }
.btn--ghost { background: transparent; border-color: var(--c-line); color: var(--c-ink); }
.btn--sm { padding: var(--space-1) var(--space-3); font-size: .9rem; }
.btn--lg { padding: var(--space-3) var(--space-5); font-size: 1.05rem; }

.site-header { position: sticky; top: 0; z-index: 50; background: var(--c-header-bg); backdrop-filter: blur(6px); border-bottom: 1px solid var(--c-line); }
.topbar { display: flex; align-items: center; justify-content: space-between; padding-block: var(--space-2); }
.topbar__right { position: relative; display: flex; align-items: center; gap: var(--space-2); }
.brand { display: inline-flex; align-items: center; gap: var(--space-1); font-weight: 800; color: var(--c-ink); }
.brand__mark {
    display: grid; place-items: center; width: 36px; height: 36px;
    background: var(--c-grad); color: var(--c-white); border-radius: 8px; font-family: var(--f-display);
}
.search-toggle { background: none; border: 0; cursor: pointer; color: var(--c-ink); padding: 4px; }
.search-toggle .icon { display: block; }
.search-drop { position: absolute; right: 0; top: 100%; background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-input); padding: var(--space-2); box-shadow: var(--sh-card); }
.search-drop .search-form { display: flex; gap: var(--space-1); }
.mainnav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.primary-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-1); }
.primary-menu a { color: var(--c-ink); font-weight: 600; padding: var(--space-1) var(--space-2); border-radius: var(--r-pill); display: inline-block; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { background: var(--c-primary-soft); color: var(--c-primary); text-decoration: none; }
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: var(--space-1); }
.nav-toggle span:not(.screen-reader-text) { display: block; width: 22px; height: 3px; background: var(--c-ink); margin: 4px 0; border-radius: 3px; }

.hero { position: relative; overflow: hidden; background: var(--c-grad); color: var(--c-white); }
.hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.hero__inner { position: relative; padding-block: clamp(64px, 12vw, 140px); max-width: 820px; }
.hero__title { color: var(--c-white); font-size: clamp(2rem, 5vw, 3.2rem); margin: 0 0 var(--space-3); }
.hero__sub { font-size: clamp(1.05rem, 2vw, 1.3rem); margin: 0 0 var(--space-4); max-width: 58ch; opacity: .95; }
.hero__ctas { display: flex; gap: var(--space-2); flex-wrap: wrap; }

.block { padding-block: var(--space-6); }
.block--alt { background: var(--c-bg-alt); }
.block__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.block__title { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0; }
.block__more { font-weight: 700; white-space: nowrap; }

.alert-ticker { background: var(--c-alert); color: var(--c-white); overflow: hidden; }
.alert-ticker__inner { display: flex; align-items: center; gap: var(--space-2); padding-block: var(--space-1); }
.alert-ticker__label { flex: none; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; }
.alert-ticker__viewport { overflow: hidden; flex: 1; }
.alert-ticker__track { display: flex; gap: var(--space-5); white-space: nowrap; will-change: transform; }
.alert-ticker__track.is-marquee { animation: mena-ticker 40s linear infinite; }
.alert-ticker__item { display: inline-flex; align-items: center; gap: var(--space-1); color: var(--c-white); }
.alert-ticker:hover .alert-ticker__track { animation-play-state: paused; }
@keyframes mena-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.issue-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); }
.issue-card {
    display: flex; flex-direction: column; gap: var(--space-1);
    padding: var(--space-3); border: 1px solid var(--c-line); border-top: 4px solid var(--issue-color, var(--c-primary));
    border-radius: var(--r-card); background: var(--c-bg); box-shadow: var(--sh-card);
    transition: transform .15s ease, box-shadow .15s ease;
}
.issue-card:hover { transform: translateY(-4px); box-shadow: var(--sh-card-hover); text-decoration: none; }
.issue-card__name { font-weight: 800; color: var(--c-ink); }
.issue-card__summary { font-size: .88rem; color: var(--c-body); }

#region-map { width: 100%; min-height: 480px; border: 1px solid var(--c-line); border-radius: var(--r-card); background: var(--c-bg-alt); }
.map-legend { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); font-size: .85rem; }
.map-legend__key { display: inline-flex; align-items: center; gap: var(--space-1); }
.map-legend__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--level-color, var(--c-primary)); }
.map-disclaimer { margin-top: var(--space-2); font-size: .82rem; color: var(--c-body); opacity: .75; }
.map-fallback { list-style: none; margin: 0; padding: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-2); }
.map-fallback__item a { color: var(--c-primary); }

.about-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.about-col { background: var(--c-bg-alt); border: 1px solid var(--c-line); border-radius: var(--r-card); padding: var(--space-4); }
.about-col__title { margin-top: 0; }
.about-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.about-card { background: var(--c-bg-alt); border: 1px solid var(--c-line); border-radius: var(--r-card); padding: var(--space-4); }
.about-card__title { margin-top: 0; }
.about-cta__inner { background: var(--c-ink); color: #fff; border-radius: var(--r-card); padding: var(--space-5); text-align: center; }
.about-cta__text { max-width: 60ch; margin-inline: auto; }
.about-cta__actions { display: flex; gap: var(--space-2); justify-content: center; margin-bottom: 0; }

.about-badges { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.about-badge { background: var(--c-bg-alt); border: 1px solid var(--c-line); border-radius: 999px; padding: 6px 14px; font-size: .85rem; }
.related-group__title { margin: var(--space-4) 0 var(--space-2); }
.related-links .data-table { width: 100%; }
.contact-info__list { list-style: none; margin: 0; padding: 0; }
.contact-info__item { display: flex; flex-direction: column; gap: 2px; margin-bottom: var(--space-3); }
.contact-info__label { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.contact-info__item code { word-break: break-all; }
.media-pgp { margin-top: var(--space-2); font-size: .9rem; }
.contact-form__hint { display: block; font-size: .8rem; opacity: .7; }
.contact-form__field { margin-bottom: var(--space-3); }
.contact-form__field label { display: block; margin-bottom: 4px; }

.article-list { list-style: none; margin: 0; padding: 0; }
.article-item { padding: var(--space-2) 0; border-bottom: 1px solid var(--c-line); }
.article-item:last-child { border-bottom: 0; }
.article-item__title { font-weight: 600; }
.article-item__meta { display: block; font-size: .78rem; opacity: .7; margin-top: 2px; }
.article-item__summary { margin: 6px 0 0; font-size: .9rem; opacity: .92; }
.article-item__orig { font-size: .78rem; margin-left: .35em; opacity: .8; white-space: nowrap; }

.mode-card { border: 1px solid var(--c-line); border-radius: var(--r-card); padding: var(--space-4); margin-bottom: var(--space-4); }
.mode-card__title { margin-top: 0; }
.mode-card__desc { opacity: .85; }
.mode-tag { background: var(--c-primary); color: #fff; border-radius: 999px; padding: 2px 10px; font-size: .72rem; vertical-align: middle; }
.mode-demo { background: var(--c-bg-alt); border: 1px dashed var(--c-line); border-radius: var(--r-card); padding: var(--space-4); margin-top: var(--space-2); }
.mode-demo__h { margin-top: 0; }
.mode-demo__meta { font-size: .8rem; opacity: .7; }
.mode-demo__sum { opacity: .92; }
.mode-demo__hint { font-size: .8rem; opacity: .65; margin-bottom: 0; }
.mode-note { font-size: .85rem; opacity: .75; }

.article-breadcrumb { margin: var(--space-3) 0; font-size: .9rem; }
.mena-article { max-width: 840px; }
.mena-article .single-head__title { margin: var(--space-1) 0 var(--space-2); }
.article-byline { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; font-size: .85rem; opacity: .82; margin: 0 0 var(--space-3); }
.article-byline__source { font-weight: 600; }
.article-byline__orig { margin-left: auto; white-space: nowrap; }
.single-head__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--space-4); }
.article-figure { margin: 0 0 var(--space-4); }
.article-figure__img { width: 100%; height: auto; border-radius: var(--r-card); }
.article-standfirst { font-size: 1.12rem; line-height: 1.6; font-weight: 500; border-left: 3px solid var(--c-primary); padding-left: var(--space-3); margin: 0 0 var(--space-4); opacity: .95; }
.article-body { max-width: 72ch; }
.article-body p { margin-bottom: var(--space-3); line-height: 1.75; }
.article-body img { max-width: 100%; height: auto; border-radius: var(--r-card); }
.article-source-box { background: var(--c-bg-alt); border: 1px solid var(--c-line); border-radius: var(--r-card); padding: var(--space-4); margin: var(--space-5) 0; }
.article-source-box__label { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; opacity: .65; margin: 0; }
.article-source-box__name { font-weight: 600; margin: 0 0 var(--space-2); }
.article-related { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--c-line); }
.card--article { display: flex; flex-direction: column; gap: 4px; }

.article-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: var(--space-3) 0 var(--space-4); font-size: .85rem; }
.article-tools__meta { opacity: .7; }
.article-tools__sep { opacity: .4; }
.article-tool { border: 1px solid var(--c-line); background: var(--c-bg-alt); color: inherit; border-radius: 999px; padding: 4px 13px; font-size: .82rem; line-height: 1.5; cursor: pointer; text-decoration: none; }
.article-tool:hover, .article-tool:focus { border-color: var(--c-primary); color: var(--c-primary); }
.article-tools__status { font-size: .8rem; opacity: .85; }

html { -webkit-text-size-adjust: 100%; }
body { overflow-wrap: break-word; }
.article-item, .article-item__title, .article-item__meta, .article-item__summary,
.mena-article, .article-body, .article-standfirst, .entry-content, .card__title,
.about-card, .about-badge, .data-table th, .data-table td, .related-group__title,
.media-contacts, .contact-info__item { overflow-wrap: anywhere; word-break: break-word; }

.mena-article .article-body { font-size: clamp(1rem, 0.9rem + 0.45vw, 1.18rem); line-height: 1.75; }
.mena-article .article-body p { font-size: inherit; }
.mena-article .single-head__title { font-size: clamp(1.45rem, 1.05rem + 2.4vw, 2.5rem); line-height: 1.22; }
.article-standfirst { font-size: clamp(1.02rem, 0.95rem + 0.45vw, 1.28rem); line-height: 1.6; }
.article-byline { font-size: clamp(.78rem, .75rem + .15vw, .9rem); }

.chart-card__table, .article-body table { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--space-3); }

@media (max-width: 1023px) {
    .mena-article { max-width: 100%; }
    .mena-article .article-body { max-width: 100%; }
}

@media (max-width: 767px) {
    .container { padding-inline: 16px; }
    .article-body { line-height: 1.7; }
    .mena-article .single-head__title { line-height: 1.25; }
    .article-tools { gap: 6px; }
    .article-tool { padding: 5px 11px; font-size: .78rem; }
    .article-byline { flex-direction: column; align-items: flex-start; gap: 4px; }
    .article-byline__orig { margin-left: 0; }
    .article-figure { margin-inline: -16px; }
    .article-figure__img { border-radius: 0; }
    .article-source-box { padding: var(--space-3); }
    .card-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .data-table { font-size: .85rem; }
    .data-table th, .data-table td { padding: 6px 8px; }
}

@media (max-width: 420px) {
    .article-tool { padding: 4px 9px; font-size: .74rem; }
    .article-tools__meta { width: 100%; }
}

@media print {
    .site-header, .site-footer, .article-tools, .article-related, .article-breadcrumb, .single-head__tags { display: none !important; }
    .mena-article { max-width: 100%; }
    .article-body { max-width: 100%; }
    a[href]:after { content: ""; }
}
@media (max-width: 767px) {
    .about-cols, .about-cards { grid-template-columns: 1fr; }
}

.card { border-radius: var(--r-card); overflow: hidden; background: var(--c-bg); box-shadow: var(--sh-card); border: 1px solid var(--c-line); margin-bottom: var(--space-3); transition: box-shadow .15s ease, transform .15s ease; }
.card:hover { box-shadow: var(--sh-card-hover); transform: translateY(-3px); }
.card__link { display: block; color: inherit; }
.card__link:hover { text-decoration: none; }
.card__media { display: block; aspect-ratio: 3 / 2; background: var(--c-bg-alt) center/cover no-repeat; }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__media--placeholder { display: grid; place-items: center; font-weight: 800; color: var(--c-secondary); letter-spacing: .3em; }
.card__body { display: block; padding: var(--space-3); }
.card__meta { display: flex; gap: var(--space-2); font-size: .8rem; color: var(--c-secondary); text-transform: uppercase; letter-spacing: .04em; }
.card__title { display: block; font-weight: 800; font-size: 1.1rem; color: var(--c-ink); margin: var(--space-1) 0; }
.card__excerpt { display: block; font-size: .92rem; }
.card__tags { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-top: var(--space-2); }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.card-grid .card { margin-bottom: 0; }
.tag { display: inline-block; padding: 2px 12px; border-radius: var(--r-pill); background: var(--c-primary-soft); color: var(--c-primary); font-size: .78rem; font-weight: 700; }

.filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-4); }
.filterbar select,
.filterbar input[type="search"],
.filterbar input[type="text"] {
    padding: var(--space-1) var(--space-2); border: 1px solid var(--c-line); border-radius: var(--r-input);
    font: inherit; background: var(--c-bg); color: var(--c-ink);
}
.chip { padding: var(--space-1) var(--space-3); border-radius: var(--r-pill); border: 1px solid var(--c-line); color: var(--c-ink); font-weight: 600; font-size: .9rem; }
.chip.is-active, .chip:hover { background: var(--c-primary); border-color: var(--c-primary); color: var(--c-white); text-decoration: none; }

.archive-wrap { padding-block: var(--space-5); }
.archive-head { margin-bottom: var(--space-4); }
.archive-head__title { font-size: clamp(1.7rem, 4vw, 2.4rem); margin: 0 0 var(--space-2); }
.archive-head__intro { max-width: 70ch; color: var(--c-body); }
.pagination { display: flex; gap: var(--space-1); justify-content: center; margin-top: var(--space-4); }
.pagination .page-numbers { padding: var(--space-1) var(--space-2); border: 1px solid var(--c-line); border-radius: var(--r-pill); color: var(--c-ink); }
.pagination .page-numbers.current { background: var(--c-primary); color: var(--c-white); border-color: var(--c-primary); }
.empty-state { padding: var(--space-5); text-align: center; background: var(--c-bg-alt); border-radius: var(--r-card); }

.single-wrap { padding-block: var(--space-5); max-width: 820px; }
.single-head { margin-bottom: var(--space-4); }
.single-head__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: .85rem; color: var(--c-secondary); text-transform: uppercase; letter-spacing: .04em; }
.single-head__title { margin: var(--space-2) 0 0; font-size: clamp(1.7rem, 4vw, 2.6rem); }
.single-heroimg { margin: 0 0 var(--space-4); border-radius: var(--r-card); overflow: hidden; }
.entry-content { font-size: 1.05rem; }
.entry-content p { margin-block: var(--space-3); }
.entry-content blockquote { border-left: 4px solid var(--c-primary); margin: var(--space-4) 0; padding: var(--space-2) var(--space-4); background: var(--c-bg-alt); border-radius: 0 var(--r-input) var(--r-input) 0; }
.source-badge { display: inline-block; background: var(--c-bg-alt); border-radius: var(--r-input); padding: var(--space-1) var(--space-3); font-size: .85rem; }
.meta-list { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-1) var(--space-3); }
.meta-list dt { font-weight: 700; color: var(--c-ink); }
.meta-list dd { margin: 0; }
.post-nav { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-5); padding-top: var(--space-3); border-top: 1px solid var(--c-line); font-weight: 600; }

.search-wrap, .notfound { padding-block: var(--space-5); }
.notfound { max-width: 680px; }
.notfound__code { font-size: clamp(4rem, 12vw, 7rem); margin: 0; color: var(--c-primary); line-height: 1; }
.notfound__msg { font-size: 1.1rem; }
.notfound__search { margin-block: var(--space-3); }
.notfound__links { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; }
.search-form { display: flex; gap: var(--space-1); }
.search-form input[type="search"] { flex: 1; padding: var(--space-2) var(--space-3); border: 1px solid var(--c-line); border-radius: var(--r-input); font: inherit; }
.search-form button { padding: var(--space-2) var(--space-4); border: 0; border-radius: var(--r-btn); background: var(--c-primary); color: var(--c-white); font-weight: 700; cursor: pointer; }

.site-footer { background: var(--c-ink); color: var(--c-on-dark); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: var(--space-5); padding-block: var(--space-6); }
.footer-h { color: var(--c-on-dark-strong); font-size: 1rem; margin: 0 0 var(--space-2); }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin-bottom: var(--space-1); }
.footer-col a { color: var(--c-on-dark); }
.footer-col a:hover { color: var(--c-on-dark-strong); }
.social-row { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.social { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding-inline: var(--space-2); border: 1px solid var(--c-on-dark-line); border-radius: var(--r-pill); font-size: .8rem; text-transform: capitalize; }
.footer-legal { border-top: 1px solid var(--c-on-dark-line); padding-block: var(--space-3); font-size: .85rem; }
.legal-copy { margin: 0; opacity: .8; }
.legal-rss { margin: var(--space-1) 0 0; }
.rss-link { color: var(--c-accent); font-weight: 700; }

.cookie-consent { position: fixed; inset-inline: 0; bottom: 0; z-index: 9999; background: var(--c-ink); color: var(--c-on-dark-strong); box-shadow: 0 -6px 24px var(--c-shadow-color); }
.cookie-consent__inner { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; justify-content: space-between; padding-block: var(--space-3); }
.cookie-consent__text { margin: 0; font-size: .92rem; max-width: 70ch; }
.cookie-consent__text a { color: var(--c-accent); text-decoration: underline; }
.cookie-consent__actions { display: flex; gap: var(--space-2); flex: none; }
.cookie-consent__actions .btn--ghost { color: var(--c-on-dark-strong); border-color: var(--c-on-dark-line); }
.cookie-consent__actions .btn--primary { background: var(--c-accent); color: var(--c-ink); }

@media (max-width: 1023px) {
    .issue-grid { grid-template-columns: repeat(2, 1fr); }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
    .nav-toggle { display: block; }
    .primary-menu {
        display: none; flex-direction: column; width: 100%;
        margin-block: var(--space-2); padding: var(--space-2);
        background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-card);
    }
    .primary-menu.is-open { display: flex; }
    .issue-grid, .card-grid, .footer-grid, .meta-list { grid-template-columns: 1fr; }
    .hero__ctas, .notfound__links { flex-direction: column; align-items: flex-start; }
    .mainnav { flex-wrap: wrap; }
    .cookie-consent__inner { flex-direction: column; align-items: stretch; }
    .cookie-consent__actions { justify-content: flex-start; }
}

.lang-menu { position: relative; display: inline-block; }
.lang-btn { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px solid var(--c-line); border-radius: 999px; padding: 5px 11px; font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer; color: inherit; }
.lang-btn:hover, .lang-btn:focus-visible { border-color: var(--c-primary); color: var(--c-primary); }
.lang-list { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); min-width: 172px; background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-card); box-shadow: var(--sh-card-hover); padding: 6px; margin: 0; list-style: none; display: none; z-index: 60; }
.lang-menu.is-open .lang-list { display: block; }
.lang-list a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 7px 10px; border-radius: 8px; color: inherit; text-decoration: none; font-size: .9rem; }
.lang-list a:hover { background: var(--c-bg-alt); color: var(--c-primary); }
.lang-list a[aria-current="true"] { background: var(--c-bg-alt); font-weight: 700; }
.lang-list__code { opacity: .5; font-size: .76rem; letter-spacing: .04em; }
#google_translate_element, .goog-te-banner-frame, .skiptranslate { display: none !important; }
body { top: 0 !important; }

#region-map { width: 100%; height: 520px; min-height: 520px; border: 1px solid var(--c-line); border-radius: var(--r-card); overflow: hidden; background: #eef2f7; }
.region-map .leaflet-container { background: #eef2f7; font: inherit; }
.region-map .leaflet-tooltip { font-size: .82rem; }
.country-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(206px, 1fr)); gap: var(--space-2); margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.country-tile { margin: 0; }
.country-tile__link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--c-line); border-radius: var(--r-card); background: var(--c-bg); color: inherit; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.country-tile__link:hover, .country-tile__link:focus-visible { border-color: var(--c-primary); transform: translateY(-2px); }
.country-tile__iso { flex: none; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--c-bg-alt); font-weight: 800; font-size: .72rem; letter-spacing: .03em; color: var(--c-primary); }
.country-tile__body { display: flex; flex-direction: column; min-width: 0; }
.country-tile__name { font-weight: 600; font-size: .93rem; }
.country-tile__meta { font-size: .76rem; opacity: .72; display: flex; align-items: center; gap: 6px; }
.country-tile__dot { width: 3px; height: 3px; border-radius: 50%; background: currentColor; opacity: .55; }
@media (max-width: 767px) {
  #region-map { height: 380px; min-height: 380px; }
  .country-grid { grid-template-columns: 1fr 1fr; }
}

.block { padding-block: clamp(44px, 6vw, 80px); }
.block__title { position: relative; padding-inline-start: 16px; }
.block__title::before { content: ""; position: absolute; inset-inline-start: 0; top: .16em; bottom: .16em; width: 5px; border-radius: 5px; background: var(--c-grad); }
.block--alt { background: linear-gradient(180deg, var(--c-bg-alt), var(--c-bg)); }

.hero { background: linear-gradient(135deg, var(--c-primary-dark) 0%, var(--c-primary) 52%, var(--c-secondary) 100%); }
.hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 340px at 12% -12%, rgba(255,255,255,.16), transparent 62%), radial-gradient(700px 300px at 88% 108%, rgba(201,162,39,.22), transparent 60%); pointer-events: none; }
.hero__inner { position: relative; z-index: 2; }
.hero__title { font-family: var(--f-display); letter-spacing: -.015em; }
.hero__ctas .btn { box-shadow: 0 10px 26px rgba(6,18,34,.28); }

.btn--primary { background-image: var(--c-grad); border: 0; }
.btn--primary:hover { background-image: linear-gradient(135deg, var(--c-primary-dark), var(--c-primary)); }

.card { border-top: 3px solid transparent; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.card:hover { border-top-color: var(--c-accent); }
.card__media { background: var(--c-primary-soft); }
.card__title { letter-spacing: -.005em; }

.issue-card { position: relative; overflow: hidden; }
.issue-card::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 4px; background: var(--level-color, var(--c-primary)); }

.archive-head__title { position: relative; padding-bottom: 12px; }
.archive-head__title::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 56px; height: 4px; border-radius: 4px; background: var(--c-grad); }

.article-item { border-inline-start: 3px solid transparent; padding-inline-start: 12px; }
.article-item:hover { border-inline-start-color: var(--c-accent); }
.article-item__title { text-decoration-thickness: 1px; text-underline-offset: 3px; }

.site-footer { background: linear-gradient(180deg, var(--c-primary-dark), #0A2140); }
.footer-h { position: relative; padding-bottom: 10px; }
.footer-h::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 34px; height: 3px; border-radius: 3px; background: var(--c-accent); }
.footer-col a { text-underline-offset: 3px; }

.filterbar { background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-card); padding: var(--space-2); box-shadow: var(--sh-card); }
.tag, .chip { border-radius: var(--r-pill); }

.country-tile__link { box-shadow: 0 1px 2px rgba(18,24,31,.04); }
.country-tile__link:hover { box-shadow: var(--sh-card-hover); }

.media-contacts, .article-source-box { border-inline-start: 4px solid var(--c-accent); }

@media (max-width: 767px) {
  .block { padding-block: 36px; }
  .block__title { padding-inline-start: 13px; }
}

.contact-addresses { display: grid; gap: var(--space-2); margin: 0 0 var(--space-3); padding: 0; list-style: none; }
.contact-address { display: grid; gap: 3px; padding: 13px 16px; border: 1px solid var(--c-line); border-inline-start: 4px solid var(--c-accent); border-radius: var(--r-card); background: var(--c-bg); }
.contact-address__mail { font-weight: 700; font-size: 1.02rem; overflow-wrap: anywhere; }
.contact-address__note { font-size: .82rem; color: var(--c-body); opacity: .8; }

.article-photos { margin: var(--space-5) 0; }
.article-photos__title { font-size: 1.05rem; margin: 0 0 var(--space-2); }
.article-photos__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--space-2); }
.article-photos__item { display: block; border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--c-line); line-height: 0; }
.article-photos__item:hover { border-color: var(--c-primary); }
.article-photos__img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; display: block; transition: transform .25s ease; }
.article-photos__item:hover .article-photos__img { transform: scale(1.04); }
.article-photos__note { font-size: .78rem; color: var(--c-body); opacity: .72; margin: var(--space-2) 0 0; }
@media (max-width: 767px) { .article-photos__grid { grid-template-columns: 1fr 1fr; } }

.article-item--media { display: flex; gap: 14px; align-items: flex-start; }
.article-item__thumb { flex: none; width: 132px; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; border: 1px solid var(--c-line); line-height: 0; background: var(--c-bg-alt); }
.article-item__thumb--placeholder { display: block; background: linear-gradient(135deg, var(--c-primary-soft), var(--c-bg-alt)); }
.article-item__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.article-item__body { min-width: 0; }
.issue-card--media { position: relative; overflow: hidden; min-height: 168px; padding-top: 0; }
.issue-card__img { position: absolute; inset: 0; background-image: var(--issue-image); background-size: cover; background-position: center; opacity: .16; }
.issue-card--media .issue-card__icon,
.issue-card--media .issue-card__name,
.issue-card--media .issue-card__summary { position: relative; z-index: 1; }
.issue-card--media .issue-card__icon { margin-top: 62px; }
@media (max-width: 767px) {
  .article-item__thumb { width: 92px; }
}

.newsletter { background: linear-gradient(135deg, var(--c-primary-soft), var(--c-bg)); border: 1px solid var(--c-line); border-radius: var(--r-card); padding: var(--space-4); margin-block: var(--space-5); }
.newsletter__intro { max-width: 70ch; }
.newsletter__form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; margin-top: var(--space-3); }
.newsletter__input { flex: 1 1 300px; min-width: 0; padding: 13px 16px; border: 1px solid var(--c-line); border-radius: var(--r-input); font: inherit; font-size: 1rem; background: var(--c-bg); color: var(--c-ink); }
.newsletter__input::placeholder { color: var(--c-body); opacity: .55; }
.newsletter__input:focus { outline: 2px solid var(--c-primary); outline-offset: 1px; border-color: var(--c-primary); }
.newsletter__consent { flex: 1 1 100%; display: flex; gap: 8px; align-items: flex-start; font-size: .84rem; line-height: 1.5; color: var(--c-body); }
.newsletter__consent input { margin-top: 3px; flex: none; }
.newsletter__note { flex: 1 1 100%; margin: 0; font-size: .9rem; font-weight: 600; }
.newsletter__note.is-ok { color: var(--c-ok); }
.newsletter__note.is-err { color: var(--c-alert); }
.newsletter .btn { flex: none; }
.newsletter__hp { position: absolute !important; left: -9999px !important; top: 0; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; border: 0; }
@media (max-width: 767px) {
  .newsletter { padding: var(--space-3); }
  .newsletter__form { flex-direction: column; align-items: stretch; }
  .newsletter__input { flex: 1 1 auto; }
  .newsletter .btn { width: 100%; justify-content: center; }
}

.newsletter__input { order: 1; flex: 1 1 320px; }
.newsletter .btn { order: 2; flex: 0 0 auto; }
.newsletter__consent { order: 3; flex: 1 1 100%; }
.newsletter__note { order: 4; flex: 1 1 100%; }
.newsletter__hp { order: 99; }

.footer-contact { display: grid; gap: 12px; }
.footer-contact__item { margin: 0; }
.footer-contact__label { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; opacity: .62; color: var(--c-on-dark-strong); margin-bottom: 2px; }
.footer-contact__mail { display: inline-block; font-size: .82rem; line-height: 1.35; overflow-wrap: anywhere; word-break: break-word; }
.footer-contact__more { font-size: .86rem; font-weight: 600; color: var(--c-accent); }
.footer-grid { grid-template-columns: 1fr 1fr 1.55fr 1.05fr !important; }
@media (max-width: 1023px) { .footer-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) { .footer-grid { grid-template-columns: 1fr !important; } }

.mena-article { max-width: 1000px; }
.mena-article .article-body { max-width: 100%; font-size: clamp(1rem, 0.92rem + 0.42vw, 1.16rem); }
.mena-article .article-standfirst { max-width: 100%; }
.mena-article .single-head__title { max-width: 100%; }
@media (min-width: 1400px) {
  .mena-article { max-width: 1080px; }
}
@media (max-width: 1023px) {
  .mena-article { max-width: 100%; }
}

.article-related .block__title { text-align: center; padding-inline-start: 0; }
.article-related .block__title::before { display: none; }
.article-related .card-grid { grid-auto-rows: 1fr; }
.article-related .card--article { align-items: center; text-align: center; }
.article-related .card--article .card__title { text-align: center; }
.article-related .card--article .article-item__meta { text-align: center; }
@media (max-width: 767px) {
  .article-related .card-grid { grid-template-columns: 1fr; justify-items: stretch; }
  .article-related .card--article { align-items: flex-start; text-align: left; }
  .article-related .card--article .card__title,
  .article-related .card--article .article-item__meta { text-align: left; }
}

.article-related .card-grid { grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); justify-items: stretch; align-items: stretch; }
.article-related .card--article { width: 100%; height: 100%; min-height: 132px; justify-content: center; align-items: center; text-align: center; padding: 18px 20px; }
.article-related .card--article .card__title { display: block; width: 100%; text-align: center; }
.article-related .card--article .article-item__meta { display: block; width: 100%; text-align: center; }
@media (max-width: 767px) {
  .article-related .card-grid { grid-template-columns: 1fr; }
  .article-related .card--article { align-items: flex-start; justify-content: flex-start; text-align: left; }
  .article-related .card--article .card__title,
  .article-related .card--article .article-item__meta { text-align: left; }
}

.article-related .card--article .card__title { font-size: 1rem; line-height: 1.45; }
.article-related .card--article .article-item__meta { margin-top: 6px; }
