/*
Theme Name: IFOD Editorial
Theme URI: https://ifade.org.tr/
Author: İfade Özgürlüğü Derneği
Description: İFÖD'ün Türkçe ve İngilizce WordPress kurulumları için modern, erişilebilir ve içerik odaklı özel tema.
Version: 3.4.17
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: ifod-editorial
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--ifod-navy: #172834;
	--ifod-navy-soft: #243844;
	--ifod-cyan: #2eb6c3;
	--ifod-cyan-dark: #087581;
	--ifod-cyan-pale: #edf7f7;
	--ifod-text: #26343d;
	--ifod-muted: #647078;
	--ifod-line: #d7dee0;
	--ifod-bg: #f4f3ef;
	--ifod-white: #fff;
	--ifod-max: 1200px;
	--ifod-reading: 940px;
	--ifod-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	--ifod-radius: 2px;
	--ifod-shadow: 0 12px 34px rgba(23, 40, 52, .08);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--ifod-white);
	color: var(--ifod-text);
	font-family: var(--ifod-font);
	font-size: 16.5px;
	line-height: 1.68;
	-webkit-font-smoothing: antialiased;
}

img,
svg,
video { max-width: 100%; height: auto; }

iframe { max-width: 100%; }

a {
	color: var(--ifod-cyan-dark);
	text-decoration-thickness: .09em;
	text-underline-offset: .18em;
}

a:hover { color: var(--ifod-navy); }

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--ifod-cyan);
	outline-offset: 3px;
}

button,
input,
select,
textarea { font: inherit; }

button { color: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 .65em;
	color: var(--ifod-navy);
	font-weight: 640;
	line-height: 1.08;
	letter-spacing: -.045em;
}

p { margin: 0 0 1.25em; }

/* Avoid stacking the theme paragraph rhythm on top of Elementor's widget gap. */
.entry-content .elementor :is(.elementor-widget-text-editor, .elementor-tab-content) p {
	margin-block-end: .9em;
}

.entry-content .elementor :is(.elementor-widget-text-editor, .elementor-tab-content) p:last-child {
	margin-block-end: 0;
}

/* A single editorial hierarchy for the legacy Elementor advocacy page. */
.page-id-4445 .entry-content .elementor-widget-text-editor :is(h2, h3) {
	color: var(--ifod-navy);
	font-family: var(--ifod-font);
	font-weight: 650;
	letter-spacing: -.035em;
}

.page-id-4445 .entry-content .elementor-widget-text-editor h2 {
	font-size: clamp(1.85rem, 3vw, 2.55rem);
}

.page-id-4445 .entry-content .elementor-widget-text-editor h3 {
	font-size: clamp(1.3rem, 2vw, 1.65rem);
}

.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-toggle-title {
	color: var(--ifod-navy);
	font-family: var(--ifod-font);
	font-size: .95rem;
	font-weight: 720;
	letter-spacing: -.01em;
	line-height: 1.35;
	text-transform: none;
}

.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-toggle-icon,
.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-tab-title .elementor-toggle-icon i::before {
	color: var(--ifod-navy-soft);
}

.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg {
	fill: var(--ifod-navy-soft);
}

.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-tab-title.elementor-active a {
	color: var(--ifod-navy);
}

.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon,
.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon i::before {
	color: var(--ifod-cyan-dark);
}

.page-id-4445 .entry-content .elementor-4445 .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon svg {
	fill: var(--ifod-cyan-dark);
}

/* Keep advocacy records chronological in the DOM and lay them out row by row. */
.page-id-4445 .entry-content .elementor-4445 :is(.ifod-advocacy-full-section, .ifod-advocacy-grid-section) > .elementor-container {
	display: block;
}

.page-id-4445 .entry-content .elementor-4445 :is(.ifod-advocacy-full-section, .ifod-advocacy-grid-section) > .elementor-container > .elementor-column {
	width: 100% !important;
}

.page-id-4445 .entry-content .elementor-4445 .ifod-advocacy-grid-section .elementor-toggle {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 30px 20px;
}

.page-id-4445 .entry-content .elementor-4445 .ifod-advocacy-grid-section .elementor-toggle-item {
	min-width: 0;
	margin: 0 !important;
}

.page-id-4445 .ifod-application-summary {
	margin-bottom: .55rem !important;
	color: var(--ifod-text);
	font-weight: 450;
}

.page-id-4445 .ifod-application-note {
	margin-bottom: 1.15rem !important;
	color: var(--ifod-muted);
	font-size: .88rem;
	font-weight: 450;
}

.page-id-4445 .ifod-application-table-wrap {
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--ifod-line);
}

.page-id-4445 .entry-content table.ifod-application-table {
	width: 100%;
	margin: 0;
	table-layout: fixed;
	border: 0;
	font-size: .88rem;
}

.page-id-4445 .entry-content .ifod-application-table th,
.page-id-4445 .entry-content .ifod-application-table td {
	padding: 13px 15px;
	border-width: 0 1px 1px 0;
	border-color: var(--ifod-line);
	line-height: 1.45;
}

.page-id-4445 .entry-content .ifod-application-table td {
	color: var(--ifod-text);
	font-weight: 450;
}

.page-id-4445 .entry-content .ifod-application-table th {
	background: var(--ifod-cyan-pale);
	font-size: .76rem;
	font-weight: 750;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.page-id-4445 .entry-content .ifod-application-table :is(th, td):nth-child(1) { width: 58%; }
.page-id-4445 .entry-content .ifod-application-table :is(th, td):nth-child(2) { width: 42%; }
.page-id-4445 .entry-content .ifod-application-table :is(th, td):last-child { border-right: 0; }
.page-id-4445 .entry-content .ifod-application-table tbody tr:last-child td { border-bottom: 0; }
.page-id-4445 .ifod-application-list,
.page-id-4445 .ifod-application-ref { display: block; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	clip: auto !important;
	width: auto;
	height: auto;
	padding: .75rem 1rem;
	margin: 0;
	background: var(--ifod-navy);
	color: var(--ifod-white);
	z-index: 100000;
}

.skip-link { position: fixed; top: 1rem; left: 1rem; }

.ifod-wrap,
.content-shell {
	width: min(calc(100% - 48px), var(--ifod-max));
	margin-inline: auto;
}

.site-main { min-height: 58vh; }

/* Header */
.site-header {
	position: relative;
	z-index: 50;
	background: rgba(255, 255, 255, .98);
	border-bottom: 1px solid var(--ifod-line);
}

.header-inner {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	align-items: center;
	gap: 42px;
	min-height: 84px;
}

.site-branding,
.custom-logo-link { display: inline-flex; align-items: center; }

.custom-logo {
	display: block;
	width: auto;
	height: 50px;
	max-width: 145px;
	object-fit: contain;
}

.site-title { margin: 0; font-size: 1.25rem; }
.site-title a { color: var(--ifod-navy); text-decoration: none; }

.primary-navigation { justify-self: end; }

.primary-navigation ul {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2.1vw, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-navigation li { position: relative; }

.primary-navigation a {
	display: block;
	padding: 30px 0;
	color: var(--ifod-navy);
	font-size: .76rem;
	font-weight: 680;
	letter-spacing: .065em;
	line-height: 1.35;
	text-decoration: none;
	text-transform: uppercase;
}

.primary-navigation a:hover,
.primary-navigation .current-menu-item > a,
.primary-navigation .current-menu-ancestor > a { color: var(--ifod-cyan-dark); }

.primary-navigation .menu-item-language-switch { margin-left: 3px; }
.primary-navigation .menu-item-language-switch > a {
	padding: 7px 9px;
	border: 1px solid var(--ifod-navy);
	line-height: 1;
}
.primary-navigation .menu-item-language-switch > a:hover { background: var(--ifod-navy); border-color: var(--ifod-navy); color: var(--ifod-white); }

.primary-navigation .sub-menu {
	position: absolute;
	top: calc(100% - 13px);
	left: -20px;
	display: none;
	width: 290px;
	padding: 10px 20px;
	background: var(--ifod-white);
	border: 1px solid var(--ifod-line);
	border-radius: 0;
	box-shadow: var(--ifod-shadow);
}

.primary-navigation .sub-menu a {
	padding: 10px 0;
	font-size: .78rem;
	text-transform: none;
}

.primary-navigation li:hover > .sub-menu,
.primary-navigation li:focus-within > .sub-menu { display: block; }

.nav-toggle {
	display: none;
	align-items: center;
	justify-self: end;
	gap: 10px;
	padding: 10px 0;
	border: 0;
	background: transparent;
	font-size: .78rem;
	font-weight: 760;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.nav-toggle-lines,
.nav-toggle-lines::before,
.nav-toggle-lines::after {
	display: block;
	width: 24px;
	height: 2px;
	background: currentColor;
	content: "";
}

.nav-toggle-lines { position: relative; }
.nav-toggle-lines::before { position: absolute; top: -7px; }
.nav-toggle-lines::after { position: absolute; top: 7px; }

/* Shared controls */
.eyebrow,
.card-type,
.story-type {
	margin: 0 0 14px;
	color: var(--ifod-cyan-dark);
	font-size: .75rem;
	font-weight: 720;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ifod-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 11px 19px;
	background: var(--ifod-navy);
	border: 1px solid var(--ifod-navy);
	border-radius: 0;
	color: var(--ifod-white);
	font-size: .8rem;
	font-weight: 680;
	letter-spacing: .04em;
	text-decoration: none;
}

.ifod-button:hover { background: var(--ifod-cyan-dark); border-color: var(--ifod-cyan-dark); color: var(--ifod-white); }

.ifod-button--light {
	background: var(--ifod-white);
	border-color: var(--ifod-white);
	color: var(--ifod-navy);
}

.ifod-button--light:hover { background: var(--ifod-cyan); border-color: var(--ifod-cyan); color: var(--ifod-navy); }

.ifod-text-link {
	font-size: .86rem;
	font-weight: 680;
	text-decoration: underline;
}

.ifod-text-link--light { color: var(--ifod-white); }
.ifod-text-link--light:hover { color: var(--ifod-cyan); }

/* Homepage */
.home-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(72px, 8vw, 112px) 0;
	background: var(--ifod-bg);
	border-bottom: 1px solid var(--ifod-line);
	color: var(--ifod-text);
}

.home-hero.has-hero-image { background: var(--ifod-navy); border-bottom-color: #43545e; color: var(--ifod-white); }
.entry-header--image::before {
	position: absolute;
	inset: 0;
	background-image: var(--ifod-hero-image);
	background-position: center;
	background-size: cover;
	content: "";
	z-index: -2;
}

.home-hero-media {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.home-hero-media .ifod-responsive-picture,
.home-hero-media img {
	display: block;
	width: 100%;
	height: 100%;
}

.home-hero-media img { object-fit: cover; object-position: center; }

.home-hero.has-hero-image::after,
.entry-header--image::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(12, 30, 41, .92) 0%, rgba(16, 39, 52, .78) 52%, rgba(20, 44, 57, .67) 100%);
	content: "";
	z-index: -1;
}
.home-hero > .ifod-wrap { position: relative; z-index: 1; }

.hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	gap: clamp(54px, 9vw, 124px);
	align-items: center;
}

.home-hero .eyebrow { color: var(--ifod-cyan-dark); }

.home-hero h1 {
	max-width: 680px;
	margin: 0;
	color: var(--ifod-navy);
	font-size: clamp(3rem, 5.8vw, 5.2rem);
	font-weight: 620;
	line-height: 1;
	letter-spacing: .015em;
}

.home-hero.has-hero-image .eyebrow { color: #8fe6ec; }
.home-hero.has-hero-image h1 { color: var(--ifod-white); text-shadow: 0 2px 24px rgba(0, 0, 0, .28); }
.home-hero.has-hero-image .hero-copy,
.home-hero.has-hero-image .hero-copy :where(p, div, span, strong, em, font) { color: #edf4f6 !important; }
.home-hero.has-hero-image .hero-copy { padding-left: clamp(28px, 4vw, 58px); border-left: 1px solid rgba(255, 255, 255, .34); }
.home-hero.has-hero-image .hero-copy a:not(.ifod-button),
.home-hero.has-hero-image .hero-copy a:not(.ifod-button) * { color: var(--ifod-white) !important; }
.home-hero.has-hero-image .hero-copy .ifod-button,
.home-hero.has-hero-image .hero-copy .ifod-button * { background: var(--ifod-white); border-color: var(--ifod-white); color: var(--ifod-navy) !important; }
.home-hero.has-hero-image .hero-copy .ifod-button:hover,
.home-hero.has-hero-image .hero-copy .ifod-button:hover * { background: var(--ifod-cyan); border-color: var(--ifod-cyan); }

.hero-copy {
	color: var(--ifod-text);
	font-size: clamp(1rem, 1.3vw, 1.13rem);
	line-height: 1.7;
}

.hero-copy :where(p, div, span, strong, em, font) { color: var(--ifod-text) !important; }
.hero-copy > :last-child { margin-bottom: 0; }
.hero-copy a:not(.ifod-button),
.hero-copy a:not(.ifod-button) * { color: var(--ifod-cyan-dark) !important; }
.hero-copy .ifod-button,
.hero-copy .ifod-button * { color: var(--ifod-white) !important; }

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin-top: 30px;
}

.home-section { padding: clamp(72px, 8vw, 104px) 0; }
.home-section--tint { background: var(--ifod-bg); }
.home-section--publications { padding-block: clamp(54px, 6vw, 76px); background: var(--ifod-bg); border-block: 1px solid var(--ifod-line); }
.home-section--publications .section-header { margin-bottom: 32px; }
.home-section--publications .publication-links a { padding-block: 21px; }

.home-monitor {
	padding: 42px 0;
	background: var(--ifod-white);
	border-bottom: 1px solid var(--ifod-line);
}

.monitor-layout {
	display: grid;
	grid-template-columns: minmax(240px, .62fr) minmax(0, 1.38fr);
	gap: clamp(40px, 8vw, 110px);
	align-items: start;
}

.monitor-layout h2 { margin: 0; font-size: clamp(2rem, 3.8vw, 3.2rem); }
.monitor-copy { max-width: 720px; color: var(--ifod-muted); }
.monitor-copy > div > :last-child { margin-bottom: 14px; }

.home-reflections {
	padding: clamp(48px, 6vw, 76px) 0;
	background: var(--ifod-white);
	border-bottom: 1px solid var(--ifod-line);
}

.reflections-panel {
	padding: clamp(32px, 5vw, 58px);
	background: var(--ifod-bg);
	border: 1px solid var(--ifod-line);
}

.reflections-header {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr);
	gap: clamp(40px, 8vw, 104px);
	align-items: end;
	margin-bottom: 36px;
}

.reflections-header h2 { margin: 0; font-size: clamp(2.25rem, 4.4vw, 3.8rem); }
.reflections-intro { max-width: 660px; color: var(--ifod-muted); }
.reflections-intro p { margin-bottom: 12px; }

.home-reflection-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.home-reflection-grid .editorial-card { background: transparent; }

.section-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
	gap: 50px;
	align-items: end;
	margin-bottom: 42px;
}

.section-header--compact {
	grid-template-columns: 1fr auto;
	align-items: center;
}

.section-header h2,
.about-layout h2 {
	margin: 0;
	font-size: clamp(2.25rem, 4.4vw, 3.8rem);
}

.section-intro { margin: 0; color: var(--ifod-muted); font-size: 1.05rem; }
.section-intro > :last-child { margin-bottom: 0; }
.content-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}

.home-story-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--ifod-navy);
}

.home-story-grid .story-row { padding: 28px 30px 8px 0; border-bottom: 0; }
.home-story-grid .story-row + .story-row { padding-left: 30px; border-left: 1px solid var(--ifod-line); }

.editorial-card {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	background: var(--ifod-white);
	border-top: 1px solid var(--ifod-navy);
	transition: border-color .2s ease;
}

.editorial-card:hover {
	border-color: var(--ifod-cyan-dark);
}

.card-media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	margin-top: 16px;
	background: #e9eceb;
}

.card-media-frame {
	margin: 16px 0 0;
}

.card-media-frame .card-media {
	margin-top: 0;
}

.reflection-media-frame {
	overflow: hidden;
	background: var(--ifod-white);
	border: 1px solid var(--ifod-line);
	box-shadow: 0 8px 24px rgba(8, 28, 39, .08);
}

.reflection-media-caption {
	display: flex;
	min-height: 44px;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 10px 13px;
	background: #f7f9f8;
	border-top: 1px solid var(--ifod-line);
	color: var(--ifod-muted);
	font-size: .69rem;
	font-weight: 700;
	line-height: 1.25;
}

.reflection-media-kind {
	color: var(--ifod-navy);
	letter-spacing: .09em;
	text-transform: uppercase;
}

.reflection-media-source {
	max-width: 62%;
	text-align: right;
}

.card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ifod-responsive-picture {
	display: block;
	width: 100%;
	height: 100%;
}

.editorial-card:hover .card-media img { transform: none; }

.card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px 0 0;
}

.card-type { margin-bottom: 11px; }
.card-date { letter-spacing: .04em; text-transform: none; }

.editorial-card h3 {
	margin: 0 0 14px;
	font-size: clamp(1.16rem, 1.7vw, 1.42rem);
	line-height: 1.24;
}

.editorial-card h3 a { color: var(--ifod-navy); text-decoration: none; }
.editorial-card h3 a:hover { color: var(--ifod-cyan-dark); text-decoration: underline; }

.card-excerpt {
	margin-bottom: 24px;
	color: var(--ifod-muted);
	font-size: .94rem;
	line-height: 1.62;
}

.card-read-more {
	margin-top: auto;
	font-size: .8rem;
	font-weight: 780;
}

.legal-archive-card .card-body { padding-top: 24px; }

.legal-card-code {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
}

.legal-card-code .legal-path {
	flex: 1 1 240px;
	min-width: 0;
	max-width: 100%;
	color: #111820;
	font-size: .7rem;
	font-weight: 620;
	letter-spacing: 0;
	text-transform: none;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.legal-card-details {
	display: grid;
	margin: 2px 0 24px;
	border-top: 1px solid var(--ifod-line);
}

.legal-card-details div {
	display: grid;
	grid-template-columns: minmax(115px, .45fr) minmax(0, 1fr);
	gap: 18px;
	padding: 10px 0;
	border-bottom: 1px solid var(--ifod-line);
}

.legal-card-details dt {
	color: var(--ifod-muted);
	font-size: .68rem;
	font-weight: 760;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.legal-card-details dd {
	margin: 0;
	color: var(--ifod-navy);
	font-size: .86rem;
	font-weight: 620;
}

.section-action { margin-top: 42px; }

.publication-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--ifod-navy);
}

.publication-links a {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding: 25px 0;
	border-bottom: 1px solid var(--ifod-line);
	color: var(--ifod-navy);
	font-size: clamp(1.05rem, 1.7vw, 1.3rem);
	font-weight: 620;
	text-decoration: none;
}

.publication-links a:nth-child(odd) { padding-right: 30px; }
.publication-links a:nth-child(even) { padding-left: 30px; border-left: 1px solid var(--ifod-line); }
.publication-links a:hover { color: var(--ifod-cyan-dark); }

.about-panel { border-top: 1px solid var(--ifod-line); }

.about-layout {
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(360px, 1.22fr);
	gap: clamp(48px, 9vw, 120px);
	align-items: start;
}

.about-copy { color: var(--ifod-muted); font-size: 1.08rem; }

/* Archives and search */
.archive-hero {
	padding: clamp(58px, 6.5vw, 82px) 0 48px;
	background: var(--ifod-white);
	border-bottom: 1px solid var(--ifod-line);
}

.archive-header h1 {
	max-width: 980px;
	margin: 0;
	font-size: clamp(2.8rem, 5.2vw, 4.7rem);
	line-height: 1;
}

.archive-description { max-width: 760px; margin-top: 26px; color: var(--ifod-muted); }
.archive-description > :last-child { margin-bottom: 0; }
.archive-lede { max-width: 760px; margin: 18px 0 0; color: var(--ifod-muted); font-size: 1.05rem; }

.engelliweb-sections {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 26px;
	align-items: start;
	margin-top: 38px;
	padding-top: 18px;
	border-top: 1px solid var(--ifod-navy);
}

.engelliweb-sections-label {
	padding-top: 8px;
	color: var(--ifod-muted);
	font-size: .7rem;
	font-weight: 720;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.engelliweb-section-groups { display: grid; gap: 8px; }
.engelliweb-section-group {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}
.engelliweb-section-group-label {
	padding-top: 6px;
	color: var(--ifod-muted);
	font-size: .74rem;
	font-weight: 680;
	letter-spacing: .035em;
}
.engelliweb-section-links { display: flex; flex-wrap: wrap; column-gap: 26px; row-gap: 8px; }
.engelliweb-section-links a { padding: 5px 0 8px; border-bottom: 2px solid transparent; color: var(--ifod-navy); font-size: .9rem; font-weight: 620; text-decoration: none; }
.engelliweb-section-links a:hover { color: var(--ifod-cyan-dark); }
.engelliweb-section-links a.is-current { border-bottom-color: var(--ifod-cyan-dark); color: var(--ifod-cyan-dark); }

.archive-tools {
	display: grid;
	grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(150px, .7fr)) auto;
	gap: 14px;
	align-items: end;
	margin-top: 20px;
	padding: 0;
	background: transparent;
	border-top: 0;
}

.archive-tools-section {
	margin: 58px 0 92px;
	padding-top: 24px;
	border-top: 1px solid var(--ifod-navy);
}

.archive-tools-section h2 {
	margin: 0;
	font-size: 1.15rem;
	letter-spacing: -.02em;
}

.archive-tools label {
	display: grid;
	gap: 7px;
	color: var(--ifod-navy);
	font-size: .75rem;
	font-weight: 780;
	letter-spacing: .04em;
	text-transform: uppercase;
}

input[type="search"],
input[type="text"],
input[type="email"],
input[type="url"],
select,
textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	background: var(--ifod-white);
	border: 1px solid #aebdc4;
	border-radius: 0;
	color: var(--ifod-text);
}

.archive-tools button,
.search-submit,
input[type="submit"] {
	min-height: 48px;
	padding: 10px 20px;
	background: var(--ifod-navy);
	border: 1px solid var(--ifod-navy);
	border-radius: 0;
	color: var(--ifod-white);
	font-weight: 760;
	cursor: pointer;
}

.archive-content { padding: 58px 0 1px; }

.archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.archive-grid:last-child { margin-bottom: 92px; }

.ifod-pagination {
	margin: 58px 0 92px;
	clear: both;
}

.ifod-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ifod-pagination a,
.ifod-pagination .current,
.ifod-pagination .dots {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 7px 13px;
	border: 1px solid var(--ifod-line);
	border-radius: 0;
	background: var(--ifod-white);
	color: var(--ifod-navy);
	font-size: .84rem;
	font-weight: 740;
	line-height: 1.2;
	text-decoration: none;
}

.ifod-pagination a:hover { border-color: var(--ifod-cyan-dark); color: var(--ifod-cyan-dark); }
.ifod-pagination .current { background: var(--ifod-navy); border-color: var(--ifod-navy); color: var(--ifod-white); }
.ifod-pagination .dots { min-width: auto; border-color: transparent; }
.ifod-pagination .prev,
.ifod-pagination .next { padding-inline: 21px; }
.archive-content--engelliweb .ifod-pagination { margin-bottom: 0; }
.archive-content > .ifod-wrap > .ifod-pagination:last-child { margin-bottom: 92px; }

.search-form { display: flex; max-width: 650px; gap: 10px; margin-top: 30px; }
.search-form label { flex: 1; }

/* Singular content */
.content-shell { padding: clamp(36px, 3.5vw, 50px) 0 100px; }

.entry-header {
	padding-bottom: 42px;
	margin-bottom: 44px;
	border-bottom: 1px solid var(--ifod-line);
}

.entry-header-inner { max-width: 1040px; }

.entry-header--image {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	min-height: clamp(310px, 34vw, 450px);
	align-items: flex-end;
	padding: clamp(48px, 6vw, 78px);
	border: 0;
}
.entry-header--image::after { background: linear-gradient(90deg, rgba(13, 31, 42, .9) 0%, rgba(17, 39, 51, .66) 66%, rgba(17, 39, 51, .5) 100%); }
.entry-header--image > * { position: relative; z-index: 1; }
.entry-header--image .entry-title { max-width: 900px; color: var(--ifod-white); text-shadow: 0 2px 20px rgba(0, 0, 0, .34); }

.entry-header--document {
	width: min(100%, var(--ifod-reading));
	padding-bottom: 32px;
	margin-bottom: 40px;
}

.entry-header--document .entry-header-inner,
.entry-header--document .entry-title { max-width: 100%; }

.entry-header--document .entry-title {
	font-size: clamp(2.1rem, 3.2vw, 3rem);
	line-height: 1.06;
}

.entry-published {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 16px 0 0;
	color: var(--ifod-muted);
	font-size: .82rem;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	letter-spacing: .035em;
}

.entry-published::before {
	width: 22px;
	height: 1px;
	background: var(--ifod-cyan-dark);
	content: "";
}

.entry-title {
	max-width: 1040px;
	margin: 0;
	font-size: clamp(2.55rem, 5vw, 4.8rem);
	line-height: 1.02;
}

.entry-featured {
	overflow: hidden;
	width: 100%;
	margin: 0 0 52px;
	aspect-ratio: 16 / 7;
	background: var(--ifod-bg);
	border-radius: 0;
}

.entry-featured img { display: block; width: 100%; height: 100%; object-fit: contain; }

.entry-featured.reflection-media-frame {
	aspect-ratio: auto;
	background: var(--ifod-white);
}

.entry-featured .reflection-media-visual {
	background: var(--ifod-bg);
}

.entry-featured.reflection-media-frame img {
	height: auto;
}

.entry-content { width: 100%; max-width: 100%; }

.entry-content > :where(p, h2, h3, h4, h5, h6, ul, ol, blockquote, pre, .wp-block-footnotes) { max-width: var(--ifod-reading); }

/* One geometry for every static page, regardless of its historical editor. */
.wp-singular.page:not(.home) .entry-header--document { width: 100%; }
.wp-singular.page:not(.home) .entry-content > * { max-width: 100%; }
.wp-singular.page:not(.home) .entry-content > .elementor,
.wp-singular.page:not(.home) .entry-content > .elementor > .elementor-section > .elementor-container {
	width: 100%;
	max-width: 100%;
}
.wp-singular.page:not(.home) .entry-content > .elementor > .elementor-section > .elementor-container.elementor-column-gap-default {
	width: calc(100% + 20px);
	max-width: calc(100% + 20px);
	margin-inline: -10px;
}

.entry-content h2 { margin-top: 1.8em; font-size: clamp(1.8rem, 3.3vw, 2.7rem); }
.entry-content h3 { margin-top: 1.7em; font-size: clamp(1.4rem, 2.6vw, 2rem); }
.entry-content a { color: var(--ifod-cyan-dark); text-decoration: underline; }
.entry-content a:hover { color: var(--ifod-navy); }

.ifod-source-action { margin-top: 2rem; }

.entry-content a.ifod-source-link {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .2rem 0 .28rem;
	border-bottom: 2px solid var(--ifod-cyan);
	color: var(--ifod-navy);
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1.35;
	text-decoration: none;
}

.entry-content a.ifod-source-link::after {
	color: var(--ifod-cyan-dark);
	content: "↗";
	font-size: 1.08em;
	transition: transform .18s ease;
}

.entry-content a.ifod-source-link:hover { color: var(--ifod-cyan-dark); }
.entry-content a.ifod-source-link:hover::after { transform: translate(2px, -2px); }

.entry-content figure,
.entry-content .wp-block-image,
.entry-content .wp-block-gallery,
.entry-content .wp-block-embed,
.entry-content .wp-block-table { margin-top: 2.2rem; margin-bottom: 2.2rem; }

.entry-content figure img { border-radius: 0; }
.entry-content figcaption { color: var(--ifod-muted); font-size: .82rem; }

.entry-content blockquote {
	margin-left: 0;
	padding: 8px 0 8px 25px;
	border-left: 5px solid var(--ifod-cyan);
	color: var(--ifod-muted);
	font-size: 1.15rem;
}

.entry-content table,
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: .92rem;
}

.entry-content th,
.entry-content td {
	padding: 12px 14px;
	border: 1px solid var(--ifod-line);
	vertical-align: top;
	text-align: left;
}

.entry-content th { background: var(--ifod-cyan-pale); color: var(--ifod-navy); }
.wp-block-table { overflow-x: auto; }

.wp-block-button__link { border-radius: 0; }
.alignwide { width: 100%; max-width: var(--ifod-max); }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }

.pdfemb-viewer,
.wp-block-pdfemb-pdf-embedder-viewer { max-width: 100% !important; }

.single-post .content-shell { width: min(calc(100% - 48px), 1000px); }
.single-post .entry-header,
.single-post .entry-featured,
.single-post .entry-content { width: min(100%, var(--ifod-reading)); margin-inline: auto; }
.single-post .entry-featured { aspect-ratio: auto; }
.single-post .entry-featured img { height: auto; }
.single-post .entry-header-inner,
.single-post .entry-title,
.single-post .entry-content > :where(p, h2, h3, h4, h5, h6, ul, ol, blockquote, pre, .wp-block-footnotes) { max-width: 100%; }
.single-post .entry-content figure,
.single-post .entry-content .wp-block-image,
.single-post .entry-content .wp-block-gallery,
.single-post .entry-content .wp-block-embed,
.single-post .entry-content .wp-block-table { width: 100%; max-width: 100%; }

/* Publications index */
.ifod-publications-index .content-shell { width: min(calc(100% - 48px), var(--ifod-max)); }
.publication-index-header {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .65fr);
	gap: clamp(50px, 9vw, 120px);
	align-items: end;
	padding-bottom: 50px;
	border-bottom: 1px solid var(--ifod-navy);
}
.publication-index-header .entry-title { max-width: 760px; }
.publication-index-header p { max-width: 520px; margin: 0 0 5px; color: var(--ifod-muted); font-size: 1.06rem; }
.publication-index-header.entry-header--image { margin-bottom: 30px; border: 0; }
.publication-index-header.entry-header--image p { color: #edf4f6; text-shadow: 0 1px 16px rgba(0, 0, 0, .4); }
.publication-index-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.publication-index-item { display: grid; grid-template-columns: 42px minmax(0, 1fr) 26px; gap: 18px; min-height: 230px; padding: 34px 28px 38px 0; border-bottom: 1px solid var(--ifod-line); }
.publication-index-item:nth-child(even) { padding-right: 0; padding-left: 28px; border-left: 1px solid var(--ifod-line); }
.publication-index-number { padding-top: 5px; color: var(--ifod-muted); font-size: .72rem; letter-spacing: .08em; }
.publication-index-item h2 { margin: 0 0 15px; font-size: clamp(1.35rem, 2.2vw, 1.85rem); line-height: 1.16; }
.publication-index-item h2 a { color: var(--ifod-navy); text-decoration: none; }
.publication-index-item h2 a:hover { color: var(--ifod-cyan-dark); text-decoration: underline; }
.publication-index-item p { margin: 0; color: var(--ifod-muted); font-size: .92rem; }
.publication-index-arrow { align-self: start; color: var(--ifod-cyan-dark); font-size: 1.2rem; text-decoration: none; }

.post-navigation {
	margin-top: 72px;
	padding-top: 30px;
	border-top: 1px solid var(--ifod-line);
}

.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.post-navigation a { color: var(--ifod-cyan-dark); font-weight: 700; }
.nav-next { text-align: right; }

.story-list { width: min(calc(100% - 48px), var(--ifod-max)); margin-inline: auto; }
.story-row { padding: 30px 0; border-bottom: 1px solid var(--ifod-line); }
.story-row h2,
.story-row h3 { margin: 0 0 10px; font-size: clamp(1.25rem, 2.2vw, 1.8rem); }
.story-row h2 a,
.story-row h3 a { color: var(--ifod-navy); text-decoration: none; }
.story-excerpt { max-width: 800px; margin: 0; color: var(--ifod-muted); }

.no-results,
.not-found { width: min(calc(100% - 48px), var(--ifod-max)); margin: 60px auto 100px; }

/* Footer */
.site-footer {
	margin-top: 0;
	padding: 0 0 26px;
	background: var(--ifod-navy);
	border-top: 1px solid var(--ifod-cyan);
	color: #cbd6dc;
}

.footer-directory {
	display: grid;
	grid-template-columns: minmax(230px, .56fr) minmax(0, 1.44fr);
	gap: clamp(46px, 9vw, 126px);
	padding-top: 58px;
	padding-bottom: 52px;
}

.footer-contact .footer-name { max-width: 310px; margin-bottom: 28px; font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.2; }
.footer-contact-label,
.footer-social-directory h2 {
	margin: 0 0 9px;
	color: #91a4ae;
	font-size: .69rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.footer-contact a { color: var(--ifod-white); font-size: .9rem; }
.footer-social-directory h2 { margin-bottom: 14px; }
.footer-social-directory dl { margin: 0; border-top: 1px solid #41515b; }
.footer-social-row { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 24px; padding: 13px 0; border-bottom: 1px solid #344752; }
.footer-social-row:last-child { border-bottom: 0; }
.footer-social-row dt { color: #91a4ae; font-size: .78rem; }
.footer-social-row dd { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }
.footer-social-row a { color: var(--ifod-white); font-size: .82rem; font-weight: 620; text-decoration: none; }
.footer-social-row a:hover { color: var(--ifod-cyan); text-decoration: underline; }

.footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-top: 22px;
	border-top: 1px solid #41515b;
}

.footer-name { margin: 0 0 5px; color: var(--ifod-white); font-weight: 680; }
.footer-note,
.footer-note p { margin: 0; font-size: .82rem; }
.footer-note a,
.footer-home,
.footer-meta-links a { color: var(--ifod-white); }
.footer-meta-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.footer-meta-links a { font-size: .78rem; font-weight: 650; }

.comment-list { padding-left: 1.3rem; }
.comments-area { margin-top: 60px; }

@media (max-width: 1120px) {
	.header-inner { grid-template-columns: 150px 1fr auto; }
	.nav-toggle { display: inline-flex; }
	.primary-navigation {
		display: none;
		grid-column: 1 / -1;
		justify-self: stretch;
		padding-bottom: 20px;
	}
	.primary-navigation.is-open { display: block; }
	.primary-navigation ul { display: block; }
	.primary-navigation a { padding: 11px 0; }
	.primary-navigation .sub-menu {
		position: static;
		display: block;
		width: auto;
		padding: 0 0 0 20px;
		background: transparent;
		border: 0;
		box-shadow: none;
	}
	.primary-navigation .sub-menu a { padding: 8px 0; }
	.primary-navigation .menu-item-language-switch { margin: 9px 0 0; }
	.primary-navigation .menu-item-language-switch > a { display: inline-block; padding: 8px 10px; }
}

@media (max-width: 900px) {
	.hero-layout,
	.section-header,
	.about-layout,
	.monitor-layout,
	.reflections-header,
	.publication-index-header,
	.footer-directory { grid-template-columns: 1fr; gap: 30px; }
	.hero-layout { align-items: start; }
	.home-hero.has-hero-image .hero-copy { padding: 30px 0 0; border-top: 1px solid rgba(255, 255, 255, .34); border-left: 0; }
	.content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.home-story-grid { grid-template-columns: 1fr; }
	.home-story-grid .story-row,
	.home-story-grid .story-row + .story-row { padding: 24px 0; border-left: 0; border-bottom: 1px solid var(--ifod-line); }
	.archive-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.archive-tools button { align-self: end; }
	.publication-links { grid-template-columns: 1fr; }
	.publication-links a:nth-child(odd),
	.publication-links a:nth-child(even) { padding-inline: 0; border-left: 0; }
	.publication-index-list { grid-template-columns: 1fr; }
	.publication-index-item:nth-child(even) { padding-left: 0; border-left: 0; }
}

@media (max-width: 620px) {
	body { font-size: 16px; }
	.ifod-wrap,
	.content-shell,
	.story-list,
	.no-results,
	.not-found { width: min(calc(100% - 32px), var(--ifod-max)); }
	.header-inner { min-height: 76px; grid-template-columns: 125px 1fr auto; gap: 12px; }
	.custom-logo { height: 44px; max-width: 125px; }
	.home-hero { padding: 62px 0 70px; }
	.home-hero h1 { font-size: clamp(2.75rem, 13vw, 4rem); }
	.hero-copy { font-size: 1rem; }
	.home-section { padding: 64px 0; }
	.home-section--publications { padding-block: 52px; }
	.home-reflections { padding: 44px 0; }
	.reflections-panel { padding: 32px 20px; }
	.home-reflection-grid { grid-template-columns: 1fr; gap: 32px; }
	.section-header { margin-bottom: 30px; }
	.section-header--compact { grid-template-columns: 1fr; }
	.section-header h2,
	.about-layout h2 { font-size: 2.65rem; }
	.content-grid { grid-template-columns: 1fr; gap: 20px; }
	.card-media { aspect-ratio: 16 / 9; }
	.card-body { padding-top: 20px; }
	.legal-card-details div { grid-template-columns: 1fr; gap: 3px; }
	.archive-hero { padding: 48px 0 38px; }
	.archive-header h1 { font-size: 2.8rem; }
	.engelliweb-sections { grid-template-columns: 1fr; gap: 8px; }
	.engelliweb-section-groups { gap: 14px; min-width: 0; }
	.engelliweb-section-group { grid-template-columns: 1fr; gap: 2px; min-width: 0; }
	.engelliweb-section-group-label { padding-top: 0; }
	.engelliweb-section-links {
		flex-wrap: wrap;
		column-gap: 18px;
	}
	.archive-tools { grid-template-columns: 1fr; padding-top: 17px; }
	.archive-tools-section { margin: 44px 0 70px; }
	.archive-tools-section .archive-tools { padding-top: 0; }
	.archive-content { padding-top: 42px; }
	.archive-grid:last-child,
	.archive-content > .ifod-wrap > .ifod-pagination:last-child { margin-bottom: 70px; }
	.ifod-pagination { margin: 44px 0 70px; }
	.ifod-pagination a,
	.ifod-pagination .current,
	.ifod-pagination .dots { min-width: 40px; min-height: 40px; padding: 6px 10px; }
	.ifod-pagination .prev,
	.ifod-pagination .next { padding-inline: 16px; }
	.content-shell { padding: 30px 0 76px; }
	.entry-title { font-size: 2.75rem; }
	.entry-header { padding-bottom: 30px; margin-bottom: 32px; }
	.entry-header--image { min-height: 290px; padding: 36px 26px; }
	.publication-index-header.entry-header--image { padding: 36px 26px; }
	.entry-featured { margin-bottom: 36px; aspect-ratio: 16 / 9; border-radius: 0; }
	.entry-featured.reflection-media-frame { aspect-ratio: auto; }
	.reflection-media-caption { gap: 8px; padding-inline: 11px; font-size: .64rem; }
	.reflection-media-source { max-width: 58%; }
	.elementor-toggle .elementor-tab-title { display: flow-root; }
	.elementor-toggle .elementor-toggle-title {
		display: block;
		min-width: 0;
		line-height: 1.25;
		overflow-wrap: anywhere;
	}
	.page-id-4445 .entry-content .elementor-4445 .ifod-advocacy-grid-section .elementor-toggle {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.page-id-4445 .entry-content .elementor-4445 :is(.ifod-advocacy-full-section, .ifod-advocacy-grid-section) .elementor-tab-content {
		padding: 14px 16px 18px !important;
	}
	.page-id-4445 .ifod-application-table-wrap { border: 0; }
	.page-id-4445 .entry-content table.ifod-application-table,
	.page-id-4445 .entry-content .ifod-application-table tbody,
	.page-id-4445 .entry-content .ifod-application-table tr,
	.page-id-4445 .entry-content .ifod-application-table td {
		display: block;
		width: 100%;
	}
	.page-id-4445 .entry-content .ifod-application-table thead { display: none; }
	.page-id-4445 .entry-content .ifod-application-table tbody {
		display: grid;
		gap: 12px;
	}
	.page-id-4445 .entry-content .ifod-application-table tr {
		padding: 7px 14px;
		border: 1px solid var(--ifod-line);
		background: var(--ifod-white);
	}
	.page-id-4445 .entry-content .ifod-application-table td,
	.page-id-4445 .entry-content .ifod-application-table td:nth-child(n) {
		display: grid;
		width: 100%;
		grid-template-columns: minmax(116px, .42fr) minmax(0, 1fr);
		gap: 12px;
		padding: 10px 0;
		border: 0;
		border-bottom: 1px solid var(--ifod-line);
	}
	.page-id-4445 .entry-content .ifod-application-table td:last-child { border-bottom: 0; }
	.page-id-4445 .entry-content .ifod-application-table td::before {
		color: var(--ifod-navy);
		content: attr(data-label);
		font-size: .72rem;
		font-weight: 750;
		letter-spacing: .025em;
		line-height: 1.35;
		text-transform: uppercase;
	}
	.page-id-4445 :is(
		.elementor-element-c869a57,
		.elementor-element-02cc8e3,
		.elementor-element-78a7495
	) > .elementor-element-populated { padding: 0 20px 50px !important; }
	.single-post .content-shell { width: min(calc(100% - 32px), 1000px); }
	.ifod-publications-index .content-shell { width: min(calc(100% - 32px), var(--ifod-max)); }
	.publication-index-header { padding-bottom: 34px; }
	.publication-index-item { min-height: 0; grid-template-columns: 34px minmax(0, 1fr) 22px; gap: 12px; padding: 28px 0; }
	.post-navigation .nav-links { grid-template-columns: 1fr; }
	.nav-next { text-align: left; }
	.footer-inner { align-items: flex-start; flex-direction: column; }
	.footer-directory { padding-top: 44px; padding-bottom: 38px; }
	.footer-social-row { grid-template-columns: 70px minmax(0, 1fr); align-items: baseline; gap: 12px; }
	.footer-social-row dd { flex-wrap: nowrap; gap: 16px; }
	.footer-social-row a { white-space: nowrap; }
	.search-form { align-items: stretch; flex-direction: column; }
}

@media (max-width: 420px) {
	.page-id-4445 .entry-content .ifod-application-table td,
	.page-id-4445 .entry-content .ifod-application-table td:nth-child(n) {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
