/*
 * HERI Africa KU — site-wide brand skin over the Dsign/UiCore theme.
 * Enabled from Settings → HERI Site Design. Principles (from the brand guidelines):
 * white and off-white surfaces, Blue for text, Green as accent, the olive→green
 * gradient only as a thin strip, DM Sans throughout.
 */

body.heri-skin {
	--hs-blue: #274881;
	--hs-blue-dark: #1b335e;
	--hs-green: #47ad48;
	--hs-olive: #c0b931;
	--hs-charcoal: #212222;
	--hs-offwhite: #f3f7eb;
	--hs-line: #e2e6dc;
	--hs-gradient: linear-gradient(90deg, #c0b931, #47ad48);
	--hs-font: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-family: var(--hs-font);
	color: var(--hs-charcoal);
	-webkit-font-smoothing: antialiased;
}

/* Typography ------------------------------------------------------------- */
body.heri-skin,
body.heri-skin p,
body.heri-skin li,
body.heri-skin .elementor-widget-text-editor,
body.heri-skin .elementor-widget-container,
body.heri-skin input,
body.heri-skin textarea,
body.heri-skin select,
body.heri-skin button { font-family: var(--hs-font); }
body.heri-skin h1, body.heri-skin h2, body.heri-skin h3,
body.heri-skin h4, body.heri-skin h5, body.heri-skin h6,
body.heri-skin .elementor-heading-title { font-family: var(--hs-heading, var(--hs-font)) !important; letter-spacing: -.015em; }
body.heri-skin .elementor-heading-title { color: var(--hs-blue); }
body.heri-skin h1.elementor-heading-title, body.heri-skin h2.elementor-heading-title { font-weight: 800; }
body.heri-skin [class*="uicore-i-"] { font-family: "uicore-icons" !important; }

/* Top bar: slim, blue, quiet --------------------------------------------- */
body.heri-skin .uicore-top-bar { background: var(--hs-blue) !important; }
body.heri-skin .uicore-top-bar,
body.heri-skin .uicore-top-bar p,
body.heri-skin .uicore-top-bar a,
body.heri-skin .uicore-top-bar span { color: rgba(255, 255, 255, .86) !important; font-size: 13px !important; font-family: var(--hs-font) !important; }

/* Header: white, with the brand gradient as a thin line underneath -------- */
body.heri-skin .uicore-header-wrapper::before { background: #fff !important; opacity: 1 !important; }
body.heri-skin #wrapper-navbar { background: #fff !important; box-shadow: none; }
body.heri-skin .uicore-header-wrapper::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
	background: var(--hs-gradient); z-index: 5; pointer-events: none;
}
body.heri-skin .uicore-header-wrapper { position: relative; }
body.heri-skin .uicore-menu > li > a,
body.heri-skin .uicore-menu > li > a .ui-menu-item-wrapper {
	font-family: var(--hs-font) !important; font-size: 15px !important; font-weight: 600 !important;
	letter-spacing: .02em !important; color: var(--hs-charcoal) !important;
}
body.heri-skin .uicore-menu > li > a:hover,
body.heri-skin .uicore-menu > li.current-menu-item > a,
body.heri-skin .uicore-menu > li.current-menu-ancestor > a,
body.heri-skin .uicore-menu > li > a:hover .ui-menu-item-wrapper,
body.heri-skin .uicore-menu > li.current-menu-item > a .ui-menu-item-wrapper { color: var(--hs-blue) !important; }
body.heri-skin .uicore-menu > li.current-menu-item > a .ui-menu-item-wrapper,
body.heri-skin .uicore-menu > li.current-menu-ancestor > a .ui-menu-item-wrapper { box-shadow: inset 0 -2px 0 var(--hs-green); }
body.heri-skin .uicore-menu .sub-menu {
	background: #fff !important; border-radius: 12px; border: 1px solid var(--hs-line);
	box-shadow: 0 18px 40px rgba(16, 24, 40, .12) !important; padding: 8px !important;
}
body.heri-skin .uicore-menu .sub-menu a { border-radius: 8px; font-family: var(--hs-font) !important; font-weight: 500 !important; color: var(--hs-charcoal) !important; }
body.heri-skin .uicore-menu .sub-menu a:hover { background: var(--hs-offwhite) !important; color: var(--hs-blue) !important; }
body.heri-skin .uicore-branding img { max-height: 54px; width: auto; }
body.heri-skin .uicore-header-wrapper .bar { background: var(--hs-blue) !important; }

/* Page title band: calm off-white, blue title ---------------------------- */
body.heri-skin .uicore-page-title { background: var(--hs-offwhite) !important; border-bottom: 1px solid var(--hs-line); }
body.heri-skin .uicore-page-title .uicore-overlay { background: transparent !important; opacity: 0 !important; }
body.heri-skin .uicore-page-title h1,
body.heri-skin .uicore-page-title .uicore-title {
	font-family: var(--hs-heading, var(--hs-font)) !important; font-weight: 800 !important; letter-spacing: -.025em !important;
	color: var(--hs-blue) !important; font-size: clamp(30px, 4vw, 46px) !important; line-height: 1.1 !important; text-transform: none !important;
}
body.heri-skin .uicore-page-title .ui-breadcrumb,
body.heri-skin .uicore-page-title .ui-breadcrumb a,
body.heri-skin .uicore-page-title .ui-breadcrumb span { color: #5b6672 !important; font-family: var(--hs-font) !important; font-size: 14px !important; }
body.heri-skin .uicore-page-title .ui-breadcrumb a:hover { color: var(--hs-blue) !important; }
body.heri-skin .uicore-page-title .elementor-container { padding-top: 44px; padding-bottom: 40px; }

/* Buttons --------------------------------------------------------------- */
body.heri-skin .elementor-button {
	font-family: var(--hs-font) !important; font-weight: 600 !important; border-radius: 999px !important;
	background: var(--hs-blue) !important; color: #fff !important; transition: background .2s, transform .2s;
}
body.heri-skin .elementor-button:hover { background: var(--hs-blue-dark) !important; transform: translateY(-1px); }
body.heri-skin #uicore-back-to-top { background: var(--hs-blue) !important; color: #fff !important; }

/* Footer: deep blue, gradient strip on top, quiet copyright bar ---------- */
body.heri-skin .uicore-inner-footer { background: var(--hs-blue) !important; position: relative; }
body.heri-skin .uicore-inner-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--hs-gradient); }
body.heri-skin .uicore-footer-wrapper,
body.heri-skin .uicore-footer-wrapper p,
body.heri-skin .uicore-footer-wrapper li,
body.heri-skin .uicore-footer-wrapper a { font-family: var(--hs-font) !important; color: rgba(255, 255, 255, .78) !important; font-weight: 400 !important; }
body.heri-skin .uicore-footer-wrapper a:hover { color: #fff !important; }
body.heri-skin .uicore-footer-wrapper h4,
body.heri-skin .uicore-footer-title { font-family: var(--hs-font) !important; color: #fff !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; font-size: 13px !important; }
body.heri-skin .uicore-copyrights { background: var(--hs-blue-dark) !important; }
body.heri-skin .uicore-copyrights,
body.heri-skin .uicore-copyrights p,
body.heri-skin .uicore-copyrights a { color: rgba(255, 255, 255, .6) !important; font-family: var(--hs-font) !important; }

/* Existing Elementor pages: soften heavy colour blocks -------------------- */
body.heri-skin .elementor-widget-text-editor { color: #3e4a56; }
body.heri-skin ::selection { background: #dbe8c9; color: var(--hs-charcoal); }
