/*
Theme Name: Inclusive Ethiopia
Description: Accessible child theme for Inclusive Ethiopia, built on Hello Elementor.
Version: 0.2.1
Template: hello-elementor
Text Domain: inclusive-ethiopia
*/

:root {
	--ie-ink: #132531;
	--ie-teal: #075a66;
	--ie-teal-dark: #053f48;
	--ie-gold: #c75713;
	--ie-gold-dark: #933b09;
	--ie-paper: #fffdf8;
	--ie-surface: #eef5f3;
	--ie-line: #c7d5d3;
	--ie-muted: #49606a;
	--ie-max: 1200px;
}

html { scroll-behavior: smooth; }
body { background: var(--ie-paper); color: var(--ie-ink); font-family: var(--ie-font-sans); font-size: 18px; line-height: 1.65; }
body * { box-sizing: border-box; }
a { color: var(--ie-teal-dark); text-decoration-thickness: .09em; text-underline-offset: .16em; }
a:hover { color: var(--ie-gold-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #f3a21b; outline-offset: 3px; }
h1, h2, h3, h4 { color: #29486d; font-family: var(--ie-font-sans); line-height: 1.12; }
.ie-site-name, .ie-button, .ie-menu { font-family: var(--ie-font-sans); }
h1 { font-size: clamp(2.35rem, 5.5vw, 4.75rem); letter-spacing: -.04em; }
h2 { font-size: clamp(1.65rem, 3vw, 2.65rem); letter-spacing: -.025em; }
h3 { font-size: 1.22rem; }
img { height: auto; max-width: 100%; }
.ie-skip-link { background: #fff; color: #000; left: 1rem; padding: .75rem 1rem; position: absolute; top: -5rem; z-index: 1000; }
.ie-skip-link:focus { top: 1rem; }
.ie-site-header { background: var(--ie-paper); border-bottom: 1px solid var(--ie-line); font-family: var(--ie-font-sans); position: relative; z-index: 5; }
.ie-header-inner, .ie-container { margin: 0 auto; max-width: var(--ie-max); padding-left: 1.25rem; padding-right: 1.25rem; }
.ie-header-inner { align-items: center; display: flex; gap: 1rem; min-height: 5.5rem; }
.ie-brand { align-items: center; color: var(--ie-ink); display: inline-flex; flex-shrink: 0; gap: .75rem; text-decoration: none; }
.ie-brand img { max-height: 3.4rem; max-width: 10.2rem; object-fit: contain; }
.ie-site-name { font-size: 1rem; font-weight: 800; letter-spacing: .01em; }
.ie-menu-toggle { align-items: center; background: transparent; border: 2px solid var(--ie-teal); color: var(--ie-teal-dark); cursor: pointer; font: 800 .82rem/1 var(--ie-font-sans); gap: .4rem; justify-content: center; min-height: 44px; padding: .65rem .8rem; }
.ie-nav-wrap { margin-left: auto; }
.ie-menu { align-items: center; display: flex; flex-wrap: wrap; gap: .2rem .95rem; list-style: none; margin: 0; padding: .65rem 0; }
.ie-menu a { align-items: center; color: var(--ie-ink); display: inline-flex; font-size: .82rem; font-weight: 700; min-height: 44px; text-decoration: none; }
.ie-menu .current-menu-item > a, .ie-menu a:hover { color: var(--ie-teal); text-decoration: underline; }
.ie-actions { align-items: center; display: flex; flex-shrink: 0; gap: .55rem; }
.ie-search-launch { align-items: center; background: var(--ie-teal-dark); border: 0; color: #fff; cursor: pointer; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; }
.ie-action-link, a.ie-action-link { align-items: center; background: var(--ie-gold); border: 2px solid var(--ie-gold); color: #fff; display: inline-flex; font-size: .8rem; font-weight: 800; justify-content: center; min-height: 44px; padding: .55rem .7rem; text-decoration: none; }
.ie-action-link:hover, .ie-action-link:focus-visible { background: var(--ie-gold-dark); color: #fff; }
.ie-action-link--quiet { background: transparent; border-color: var(--ie-teal); color: var(--ie-teal-dark); }
.ie-action-link--quiet:hover { background: var(--ie-teal); color: #fff; }
.ie-main { min-height: 50vh; }
.ie-main .page-content, .ie-main .entry-content, .ie-main .entry-header { margin-left: auto; margin-right: auto; max-width: 860px; padding-left: 1.25rem; padding-right: 1.25rem; }
.ie-main .entry-header { padding-top: 3rem; }
.ie-main .entry-content { padding-bottom: 4rem; }
.ie-main .entry-title { font-size: clamp(2.2rem, 5vw, 4.2rem); }
body.home .ie-main .entry-content { margin: 0; max-width: none; padding: 0; }
.ie-hero { background: var(--ie-teal-dark); color: #fff; overflow: hidden; }
.ie-hero-grid { align-items: stretch; display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr); padding-bottom: 4rem; padding-top: 4rem; }
.ie-hero h1 { color: #fff !important; margin: .35rem 0 1.1rem; }
.ie-hero .ie-eyebrow { color: #bde9e5; }
.ie-lead { font-size: 1.22rem; max-width: 46rem; }
.ie-hero-media { align-self: center; }
.ie-hero-image, .ie-feature-image { aspect-ratio: 4 / 3; height: 100%; object-fit: cover; width: 100%; }
.ie-section { padding-bottom: 4.5rem; padding-top: 4.5rem; }
.ie-section h2 { margin-top: .15rem; }
.ie-surface { background: var(--ie-surface); }
.ie-eyebrow { color: var(--ie-teal); font-family: var(--ie-font-sans); font-size: .78rem; font-weight: 800; letter-spacing: .09em; margin-bottom: .45rem; text-transform: uppercase; }
.ie-card-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ie-pillar-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ie-card { background: #fff; border: 1px solid var(--ie-line); display: flex; flex-direction: column; padding: 1.35rem; }
.ie-card h2, .ie-card h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.2; margin: .1rem 0 .75rem; overflow-wrap: anywhere; }
.ie-card h3 { font-size: clamp(1.55rem, 2.4vw, 2.45rem); }
.ie-card p { margin: 0 0 1rem; }
.ie-card-grid:has(> .ie-card:only-child) { grid-template-columns: minmax(0, 42rem); }
.ie-text-link { align-items: center; display: inline-flex; font-family: var(--ie-font-sans); font-weight: 800; margin-top: auto; min-height: 44px; }
.ie-audience-links { display: flex; flex-wrap: wrap; gap: .75rem; }
.ie-audience-links a { align-items: center; border: 1px solid var(--ie-teal); color: var(--ie-teal-dark); display: inline-flex; font-family: var(--ie-font-sans); font-size: .9rem; font-weight: 700; min-height: 44px; padding: .7rem .8rem; text-decoration: none; }
.ie-audience-links a:hover { background: var(--ie-teal); color: #fff; }
.ie-two-column, .ie-feature-grid { align-items: center; display: grid; gap: 3rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ie-feature { background: #f7eee3; }
.ie-cta { background: var(--ie-teal-dark); color: #fff; }
.ie-cta .ie-eyebrow { color: #bde9e5; }
.ie-cta h2 { color: #fff; }
.ie-button, a.ie-button { align-items: center; background: var(--ie-gold); border: 2px solid var(--ie-gold); color: #fff; cursor: pointer; display: inline-flex; font-size: .9rem; font-weight: 800; justify-content: center; margin: .3rem .35rem .3rem 0; min-height: 44px; padding: .75rem 1rem; text-decoration: none; }
.ie-button:hover, .ie-button:focus-visible { background: var(--ie-gold-dark); color: #fff; }
.ie-button.ie-button-secondary, a.ie-button.ie-button-secondary { background: transparent; border-color: currentColor; color: inherit; }
.ie-hero .ie-button-secondary { color: #fff; }
.ie-filter { align-items: end; background: var(--ie-surface); display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.5rem 0; padding: 1rem; }
.ie-filter label { display: grid; font-family: var(--ie-font-sans); font-size: .82rem; font-weight: 700; gap: .25rem; }
.ie-filter select { background: #fff; border: 1px solid var(--ie-muted); color: var(--ie-ink); font: inherit; min-height: 2.6rem; padding: .3rem; }
.ie-filter .ie-button { margin: 0; }
.ie-form { background: var(--ie-surface); margin: 1.5rem 0; max-width: 46rem; padding: 1.25rem; }
.ie-form label { display: block; font-family: var(--ie-font-sans); font-weight: 700; }
.ie-form input, .ie-form textarea { background: #fff; border: 1px solid var(--ie-muted); color: var(--ie-ink); font: inherit; max-width: 100%; padding: .6rem; width: 100%; }
.ie-form textarea { resize: vertical; }
.ie-help, .ie-form-note { color: var(--ie-muted); display: block; font-size: .85rem; }
.ie-honeypot { height: 0; margin: 0; overflow: hidden; position: absolute; width: 0; }
.ie-form-status { background: #dff3e8; border-left: 5px solid #197342; padding: .8rem; }
.ie-error { background: #f9e2e0; border-left-color: #a82b20; }
.ie-empty { border-left: 4px solid var(--ie-gold); padding-left: 1rem; }
.ie-list-toggle { font-family: var(--ie-font-sans); font-size: .9rem; font-weight: 700; }
.ie-site-footer { background: var(--ie-ink); color: #f5f7f6; font-family: var(--ie-font-sans); padding: 3rem 0 1.5rem; }
.ie-footer-grid { display: grid; gap: 2rem; grid-template-columns: 1.2fr 1fr 1fr; }
.ie-site-footer h2 { color: #bde9e5; font-family: var(--ie-font-sans); font-size: 1.05rem; margin-top: 0; }
.ie-site-footer a { align-items: center; color: #fff; display: inline-flex; min-height: 44px; }
.ie-footer-links { list-style: none; margin: 0; padding: 0; }
.ie-footer-links li { margin: .45rem 0; }
.ie-footer-small { border-top: 1px solid #58707a; font-size: .78rem; margin-top: 2.2rem; padding-top: 1.2rem; }
.elementor-location-header { background: var(--ie-paper); position: relative; z-index: 10; }
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: wrap; justify-content: flex-end; }
.elementor-location-header .elementor-nav-menu--main .elementor-item { min-height: 44px; }
.elementor-location-header .elementor-button { background: var(--ie-gold); border: 2px solid var(--ie-gold); color: #fff; min-height: 44px; }
.elementor-location-header .elementor-button:hover, .elementor-location-header .elementor-button:focus-visible { background: var(--ie-gold-dark); color: #fff; }
.elementor-location-header .elementor-menu-toggle { min-height: 44px; min-width: 44px; }
.elementor-location-footer a { min-height: 44px; }
.elementor-location-footer .elementor-icon-list-item > a { align-items: center; display: flex; }
@media (max-width: 1000px) { .ie-header-inner { align-items: flex-start; flex-wrap: wrap; padding-bottom: .7rem; padding-top: .7rem; } .ie-nav-wrap { margin-left: 0; order: 3; width: 100%; } .ie-actions { margin-left: auto; } .ie-menu { gap: .4rem .8rem; } .ie-card-grid, .ie-pillar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { body { font-size: 17px; } .ie-header-inner { gap: .6rem; } .ie-brand img { max-width: 8rem; } .ie-site-name { font-size: .86rem; } .ie-menu-toggle:not([hidden]) { display: inline-flex; margin-left: auto; } .ie-actions { border-top: 1px solid var(--ie-line); flex-wrap: wrap; justify-content: flex-start; order: 3; padding-top: .65rem; width: 100%; } .ie-action-link { font-size: .73rem; } .ie-nav-wrap { border-top: 1px solid var(--ie-line); order: 4; padding-top: .35rem; } .ie-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .ie-hero-grid, .ie-two-column, .ie-feature-grid, .ie-footer-grid { grid-template-columns: 1fr; } .ie-hero-grid { padding-bottom: 2.5rem; padding-top: 2.5rem; } .ie-section { padding-bottom: 3rem; padding-top: 3rem; } .ie-card-grid, .ie-pillar-grid { grid-template-columns: 1fr; } .ie-filter { align-items: stretch; flex-direction: column; } .ie-filter select { width: 100%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
