/*
Theme Name: IEA Theme
Theme URI: https://imperialeastafrica.tz/
Author: Imperial East Africa
Description: Original responsive WordPress theme for Imperial East Africa Limited.
Version: 0.4.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: iea-theme
License: GPL-2.0-or-later
*/

:root {
    --iea-navy: #09253f;
    --iea-blue: #0c5a88;
    --iea-orange: #ef7d22;
    --iea-ink: #122333;
    --iea-muted: #627283;
    --iea-paper: #f4f7f9;
    --iea-white: #fff;
    --iea-radius: 4px;
    --iea-shadow: 0 18px 45px rgba(9, 37, 63, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--iea-ink); background: var(--iea-white); font-family: var(--iea-body-font, Inter, Arial, sans-serif); font-size: var(--iea-base-font-size, 16px); line-height: 1.7; }
h1, h2, h3, h4, h5, h6 { font-family: var(--iea-heading-font, Inter, Arial, sans-serif); }
.iea-page-transition { animation: iea-page-in .35s ease both; }
@keyframes iea-page-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .iea-page-transition { animation: none; } }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.iea-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.iea-section { padding: 96px 0; }
.iea-eyebrow { color: var(--iea-orange); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: .76rem; }
.iea-title { color: var(--iea-navy); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.12; margin: .55rem 0 1.2rem; }
.iea-button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 23px; border-radius: var(--iea-radius); background: var(--iea-orange); color: var(--iea-white); font-weight: 800; transition: transform .2s, background .2s; }
.iea-button:hover { transform: translateY(-2px); background: #d76512; color: var(--iea-white); }
.iea-button--outline { background: transparent; border: 1px solid rgba(255,255,255,.55); margin-left: 10px; }
.iea-button--outline:hover { background: var(--iea-white); color: var(--iea-navy); }

.iea-topbar { background: var(--iea-navy); color: rgba(255,255,255,.8); font-size: .86rem; padding: 8px 0; }
.iea-preloader { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: var(--iea-navy); color: var(--iea-white); transition: opacity .35s, visibility .35s; }
.iea-preloader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.iea-preloader span { border: 2px solid var(--iea-orange); padding: 18px; font-weight: 900; letter-spacing: .16em; }
.iea-topbar .iea-container { display: flex; justify-content: flex-end; gap: 22px; }
.iea-header { background: var(--iea-white); border-bottom: 1px solid #e7edf1; position: relative; z-index: 10; }
.iea-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.iea-brand { color: var(--iea-navy); font-weight: 900; font-size: 1.25rem; letter-spacing: .02em; }
.iea-brand span { color: var(--iea-orange); }
.iea-brand .custom-logo { display: block; width: auto; max-height: 64px; }
.iea-nav ul { display: flex; list-style: none; gap: 25px; padding: 0; margin: 0; }
.iea-nav a { color: var(--iea-navy); font-size: .9rem; font-weight: 750; }
.iea-nav a:hover { color: var(--iea-orange); }
.iea-nav li { position: relative; }
.iea-nav .sub-menu { position: absolute; z-index: 30; top: calc(100% + 20px); left: -20px; display: block; min-width: 230px; padding: 12px 0; visibility: hidden; opacity: 0; transform: translateY(8px); background: var(--iea-white); border-top: 3px solid var(--iea-orange); box-shadow: var(--iea-shadow); transition: .2s ease; }
.iea-nav .sub-menu a { display: block; padding: 10px 20px; white-space: nowrap; }
.iea-nav li:hover > .sub-menu, .iea-nav li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
.iea-nav .iea-mega-menu { position: static; }
.iea-nav .iea-mega-menu > .sub-menu { right: 0; left: auto; display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); width: min(760px, calc(100vw - 40px)); padding: 24px; }
.iea-header-actions { display: flex; align-items: center; gap: 8px; }
.iea-menu-toggle, .iea-search-toggle { border: 0; background: transparent; color: var(--iea-navy); font-size: 1.55rem; cursor: pointer; }
.iea-menu-toggle { display: none; }
.iea-submenu-toggle { display: none; }
.iea-nav-backdrop { position: fixed; z-index: 89; inset: 0; display: none; width: 100%; border: 0; background: rgba(3,16,27,.62); }
.iea-search-overlay { position: fixed; z-index: 9998; inset: 0; display: grid; place-items: center; visibility: hidden; opacity: 0; color: var(--iea-white); background: rgba(4,22,37,.97); transition: opacity .25s, visibility .25s; }
.iea-search-overlay.is-open { visibility: visible; opacity: 1; }
.iea-search-overlay__inner { width: min(760px, calc(100% - 40px)); }
.iea-search-overlay form { display: flex; margin-top: 16px; }
.iea-search-overlay input[type="search"] { flex: 1; min-width: 0; padding: 18px; border: 0; font-size: 1.15rem; }
.iea-search-overlay input[type="submit"] { padding: 18px 26px; border: 0; color: var(--iea-white); background: var(--iea-orange); font-weight: 800; cursor: pointer; }
.iea-search-close { position: absolute; top: 28px; right: 34px; border: 0; color: var(--iea-white); background: transparent; font-size: 2.5rem; cursor: pointer; }
.iea-menu-open, .iea-search-open { overflow: hidden; }

.iea-hero { background: linear-gradient(115deg, rgba(9,37,63,.96), rgba(12,90,136,.78)), url('assets/images/hero-placeholder.svg') center/cover; color: var(--iea-white); min-height: 650px; display: flex; align-items: center; }
.iea-hero .iea-title { color: var(--iea-white); max-width: 760px; font-size: clamp(2.8rem, 6vw, 5.5rem); }
.iea-hero p { max-width: 680px; color: rgba(255,255,255,.85); font-size: 1.1rem; }
.iea-hero__actions { margin-top: 30px; }
.iea-hero--corporate { background: linear-gradient(110deg, rgba(9,37,63,.98), rgba(12,90,136,.72)), url('assets/images/hero-placeholder.svg') center/cover; }
.iea-hero--industrial { background: linear-gradient(110deg, rgba(6,25,42,.98), rgba(239,125,34,.35)), url('assets/images/hero-placeholder.svg') center/cover; }
.iea-hero__split { display: grid; grid-template-columns: minmax(0, 1fr) 240px; align-items: end; gap: 70px; }
.iea-hero-stat { border-left: 3px solid var(--iea-orange); padding: 12px 0 12px 28px; }
.iea-hero-stat strong { display: block; color: var(--iea-white); font-size: 5rem; line-height: .9; }
.iea-hero-stat span { display: block; margin-top: 12px; color: rgba(255,255,255,.75); font-weight: 700; }
.iea-page-hero { padding: 105px 0 90px; color: var(--iea-white); background: linear-gradient(115deg, var(--iea-navy), var(--iea-blue)); }
.iea-page-hero--projects { background: linear-gradient(115deg, #061a2c, var(--iea-navy)); }
.iea-page-hero--insights { background: linear-gradient(115deg, var(--iea-blue), #1780a8); }
.iea-page-hero .iea-title { max-width: 860px; color: var(--iea-white); }
.iea-page-hero p { max-width: 700px; color: rgba(255,255,255,.82); font-size: 1.08rem; }
.iea-page-hero .iea-breadcrumbs, .iea-page-hero .iea-breadcrumbs a { color: rgba(255,255,255,.7); }
.iea-metrics { color: var(--iea-white); background: var(--iea-navy); }
.iea-metrics .iea-container { display: grid; grid-template-columns: repeat(4, 1fr); }
.iea-metrics .iea-container > div { display: flex; align-items: center; gap: 14px; padding: 26px 20px; border-right: 1px solid rgba(255,255,255,.12); }
.iea-metrics strong { color: var(--iea-orange); font-size: 1.4rem; }
.iea-metrics span { font-weight: 750; }
.iea-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.iea-intro { background: var(--iea-paper); }
.iea-grid { display: grid; gap: 26px; grid-template-columns: repeat(3, 1fr); }
.iea-card { background: var(--iea-white); padding: 30px; border: 1px solid #e6edf1; box-shadow: 0 6px 20px rgba(9,37,63,.04); }
.iea-card h3 { color: var(--iea-navy); margin: 12px 0 8px; line-height: 1.25; }
.iea-card p { color: var(--iea-muted); margin: 0; }
.iea-card img { display: block; width: 100%; margin: -30px -30px 22px; width: calc(100% + 60px); }
.iea-grid--archive { align-items: stretch; }
.iea-content-card { padding: 0; overflow: hidden; }
.iea-content-card__media { display: block; }
.iea-content-card__media img { width: 100%; height: 240px; margin: 0; object-fit: cover; }
.iea-content-card__placeholder { display: grid; place-items: center; height: 240px; color: rgba(255,255,255,.35); background: linear-gradient(135deg, var(--iea-navy), var(--iea-blue)); font-size: 5rem; font-weight: 900; }
.iea-content-card__body { padding: 28px; }
.iea-content-card__body h2 { margin: 8px 0; color: var(--iea-navy); font-size: 1.45rem; line-height: 1.25; }
.iea-text-link { color: var(--iea-blue); font-weight: 800; }
.iea-text-link:hover { color: var(--iea-orange); }
.iea-entry-content { max-width: 820px; font-size: 1.05rem; }
.iea-entry-content--centered { margin: 0 auto; }
.iea-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 70px; align-items: start; }
.iea-detail-image { width: 100%; margin-bottom: 35px; }
.iea-detail-aside { position: sticky; top: 120px; padding: 30px; color: var(--iea-white); background: var(--iea-navy); }
.iea-detail-aside h2 { margin-top: 0; color: var(--iea-white); }
.iea-detail-aside p { color: rgba(255,255,255,.75); }
.iea-team-role { color: var(--iea-orange) !important; font-weight: 800; }
.iea-testimonial-card { margin: 0; }
.iea-testimonial-quote { color: var(--iea-navy); font-size: 1.1rem; font-style: italic; }
.iea-testimonial-card footer { display: grid; margin-top: 20px; }
.iea-testimonial-card footer span { color: var(--iea-muted); font-size: .9rem; }
.iea-event-list { display: grid; gap: 18px; }
.iea-event-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 30px; align-items: center; padding: 25px 30px; border: 1px solid #dce5eb; }
.iea-event-card time { color: var(--iea-orange); font-weight: 900; }
.iea-event-card h2 { margin: 3px 0; color: var(--iea-navy); }
.iea-event-card p { margin: 0; color: var(--iea-muted); }
.iea-event-card.is-past { opacity: .72; }
.iea-breadcrumbs { color: var(--iea-muted); font-size: .88rem; margin-bottom: 22px; }
.iea-breadcrumbs span { margin: 0 7px; }
.iea-entry-content h2, .iea-entry-content h3 { color: var(--iea-navy); }
.iea-widget-contact { padding: 20px 0; }
.iea-widget-contact p { color: var(--iea-navy); font-size: 1.15rem; font-weight: 800; margin: .3rem 0 0; }
.iea-process-step { padding: 22px 0 22px 26px; border-left: 3px solid var(--iea-orange); }
.iea-process-step h3 { color: var(--iea-navy); margin: 8px 0 4px; }
.iea-widget-testimonial p { color: var(--iea-navy); font-size: 1.15rem; font-style: italic; }
.iea-widget-testimonial footer { color: var(--iea-muted); font-size: .9rem; }
.iea-widget-testimonial footer strong { color: var(--iea-navy); }
.iea-widget-faq { border-bottom: 1px solid #dce5eb; padding: 18px 0; }
.iea-widget-faq summary { cursor: pointer; color: var(--iea-navy); font-weight: 800; }
.iea-widget-faq p { color: var(--iea-muted); margin-bottom: 0; }
.iea-widget-counter { display: flex; flex-direction: column; gap: 4px; }
.iea-widget-counter strong { color: var(--iea-orange); font-size: 2.6rem; line-height: 1; }
.iea-widget-counter span { color: var(--iea-muted); font-weight: 700; }
.iea-widget-pricing > strong { color: var(--iea-orange); font-size: 1.8rem; }
.iea-widget-pricing ul { padding-left: 1.2rem; color: var(--iea-muted); }
.iea-widget-timeline { display: grid; gap: 25px; }
.iea-widget-timeline article { border-left: 3px solid var(--iea-orange); padding-left: 20px; }
.iea-widget-timeline h3 { margin: 5px 0; color: var(--iea-navy); }
.iea-widget-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.iea-widget-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.iea-widget-slider { display: grid; gap: 20px; }
.iea-widget-slider article { background: var(--iea-navy); color: var(--iea-white); padding: 45px; min-height: 210px; }
.iea-widget-slider h2 { color: var(--iea-white); margin-top: 0; }
@media (max-width: 820px) { .iea-widget-gallery { grid-template-columns: 1fr 1fr; } }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { background: var(--iea-white); border: 1px solid #e6edf1; padding: 20px; }
.woocommerce ul.products li.product .price { color: var(--iea-blue); font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--iea-orange); color: var(--iea-white); border-radius: var(--iea-radius); }
.iea-card__number { color: var(--iea-orange); font-size: 1.7rem; font-weight: 900; }
.iea-cta { background: var(--iea-orange); color: var(--iea-white); }
.iea-cta .iea-title { color: var(--iea-white); margin-bottom: .4rem; }
.iea-cta p { max-width: 650px; }
.iea-footer { background: var(--iea-navy); color: rgba(255,255,255,.72); padding: 60px 0 24px; }
.iea-footer--blue { background: var(--iea-blue); }
.iea-footer--light { background: var(--iea-paper); color: var(--iea-muted); }
.iea-footer--light h3, .iea-footer--light a { color: var(--iea-navy); }
.iea-footer--light .iea-footer__bottom { border-color: #dce5eb; }
.iea-footer h3 { color: var(--iea-white); margin-top: 0; }
.iea-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 40px; }
.iea-footer__bottom { border-top: 1px solid rgba(255,255,255,.15); margin-top: 45px; padding-top: 18px; font-size: .85rem; }
.iea-social-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; font-weight: 700; }
.iea-social-links a:hover { color: var(--iea-orange); }

@media (max-width: 820px) {
    .iea-menu-toggle { display: block; }
    .iea-header__inner { gap: 12px; }
    .iea-nav { position: fixed; z-index: 90; top: 0; right: 0; bottom: 0; display: block; width: min(380px, 88vw); padding: 90px 26px 30px; overflow-y: auto; background: var(--iea-white); box-shadow: -20px 0 50px rgba(9,37,63,.18); transform: translateX(105%); transition: transform .3s ease; }
    .iea-nav.is-open { transform: none; }
    .iea-menu-open .iea-nav-backdrop { display: block; }
    .iea-menu-open .iea-menu-toggle { position: fixed; z-index: 91; top: 24px; right: 25px; }
    .iea-nav ul { flex-direction: column; gap: 13px; }
    .iea-nav li { padding-right: 36px; }
    .iea-nav .sub-menu, .iea-nav .iea-mega-menu > .sub-menu { position: static; display: none; width: auto; min-width: 0; padding: 10px 0 0 14px; visibility: visible; opacity: 1; transform: none; border: 0; box-shadow: none; }
    .iea-nav .is-submenu-open > .sub-menu { display: block; }
    .iea-submenu-toggle { position: absolute; top: -5px; right: 0; display: block; width: 34px; height: 34px; border: 0; color: var(--iea-navy); background: var(--iea-paper); cursor: pointer; }
    .iea-grid, .iea-footer__grid { grid-template-columns: 1fr; }
    .iea-hero { min-height: 560px; }
    .iea-button--outline { margin-left: 0; margin-top: 10px; }
    .iea-hero__actions { display: flex; flex-direction: column; align-items: flex-start; }
    .iea-hero__split, .iea-split, .iea-detail-layout { grid-template-columns: 1fr; gap: 35px; }
    .iea-hero-stat { display: none; }
    .iea-metrics .iea-container { grid-template-columns: 1fr 1fr; }
    .iea-detail-aside { position: static; }
    .iea-event-card { grid-template-columns: 1fr; gap: 8px; }
}
