/* Hidayah 1.5 — institutional visual system */
:root {
  --hidayah-primary: #173f8f;
  --hidayah-secondary: #2559ad;
  --hidayah-accent: #d99a32;
  --hidayah-deep: #101747;
  --hidayah-surface: #f6f7fb;
  --hidayah-text: #29324a;
  --hidayah-muted: #697187;
  --hidayah-border: #e2e6ef;
  --hidayah-container: 1240px;
  --hidayah-radius: 14px;
  --hidayah-shadow: 0 18px 50px rgba(16, 23, 71, .09);
  --hidayah-shadow-soft: 0 8px 28px rgba(16, 23, 71, .06);
}

html { background: #fff; }
body { font-size: 15px; line-height: 1.9; overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { color: var(--hidayah-deep); letter-spacing: -.018em; }
.container { width: min(100% - 40px, var(--hidayah-container)); }
.section { padding: 74px 0; }
.section-title { font-size: clamp(28px, 3vw, 41px); line-height: 1.45; }
.section-lead { color: var(--hidayah-muted); }
.eyebrow { color: var(--hidayah-accent); font-size: 12px; font-weight: 800; }

/* Two-level institutional header */
.site-header { background: rgba(255, 255, 255, .98); border: 0; box-shadow: 0 5px 22px rgba(16, 23, 71, .06); }
.topbar { background: var(--hidayah-deep); font-size: 11px; }
.topbar-inner { min-height: 32px; }
.topbar-location { color: rgba(255, 255, 255, .78); }
.topbar-links { gap: 20px; direction: ltr; }
.topbar-links a { display: inline-flex; align-items: center; gap: 6px; color: rgba(255, 255, 255, .9); }
.header-inner { min-height: 78px; gap: 16px; }
.header-identity { display: contents; }
@media (min-width: 1181px) {
  .header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .header-identity { display: flex; align-items: center; gap: 16px; min-width: 0; }
  .header-identity .header-brand-name { flex: 1 1 auto; }
  .header-identity .site-title { white-space: normal; }
  .primary-navigation { margin-inline: 0; justify-self: center; }
  .header-actions { justify-self: end; }
}
.site-branding { min-width: 74px; }
.header-brand-name { display: flex; min-width: 0; margin-inline-start: -7px; flex: 0 0 auto; flex-direction: column; justify-content: center; }
.header-brand-name .site-title {
  display: block;
  color: var(--hidayah-deep);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.45;
  white-space: nowrap;
}
.header-brand-name .site-description { margin-top: 1px; color: var(--hidayah-muted); font-size: 10px; line-height: 1.5; }
.custom-logo { max-height: 58px; }
.nav-menu { gap: clamp(8px, .82vw, 14px); }
.nav-menu > li > a { padding: 27px 0 23px; font-size: 12.5px; color: #20274e; }
.nav-menu > li.current-menu-item > a,
.nav-menu > li.current-menu-ancestor > a,
.nav-menu > li > a:hover { color: var(--hidayah-primary); border-color: var(--hidayah-accent); }
.nav-menu .sub-menu { min-width: 260px; border-radius: 10px; border-top: 3px solid var(--hidayah-accent); }
.sub-menu a { font-size: 12.5px; }
.header-actions .btn-accent { min-height: 43px; padding: 10px 16px; border-radius: 8px; background: var(--hidayah-accent); color: #fff; white-space: nowrap; box-shadow: 0 8px 20px rgba(217, 154, 50, .25); }
.header-actions .btn-accent:hover { background: #c88720; color: #fff; }

/* Home refinements */
.hero-photo { min-height: 530px; }
.home .elementor-element-ddb4c66 { width: auto !important; max-width: 100% !important; margin-inline: 0 !important; }
.hero-grid-photo { padding-block: 72px; }
.hero-photo h1 { font-size: clamp(39px, 4.2vw, 58px); line-height: 1.5; }
.hero-photo .hero-kicker { color: #f6bd55; }
.hero-photo .btn { border-radius: 8px; }
.journey-grid { padding-block: 20px; }
.journey-icon { width: 54px; height: 54px; font-size: 24px; }
.intro-metrics div,
.media-card,
.partner-card { border-radius: 12px !important; box-shadow: var(--hidayah-shadow-soft); }
.impact-feature { padding: 78px 0; }
.cta-premium { border-radius: 16px; padding: 42px 46px; }

/* Compact page banners inspired by the supplied references */
.elementor-widget-hidayah_page_hero { width: 100vw !important; max-width: none !important; margin-inline: calc(50% - 50vw) !important; }
.elementor-widget-hidayah_page_hero > .elementor-widget-container { width: 100%; }
.hidayah-page-hero {
  width: 100%;
  min-height: 248px;
  align-items: center;
  background: #0d2860;
  border: 0;
}
.hidayah-page-hero:before { background-position: var(--page-hero-position, center 45%); }
.hidayah-page-hero-overlay { background: linear-gradient(90deg, rgba(8, 25, 66, .72), rgba(16, 35, 88, .94)); }
.hidayah-page-hero-inner { padding-block: 44px; }
.hidayah-page-hero .hero-kicker { margin: 0 0 8px; color: #efb34e; font-size: 12px; }
.hidayah-page-hero h1 { max-width: 760px; margin: 0 0 10px; font-size: clamp(32px, 3.4vw, 46px); line-height: 1.35; }
.hidayah-page-hero h1:after { content: ""; display: block; width: 54px; height: 3px; margin-top: 10px; background: var(--hidayah-accent); border-radius: 99px; }
.hidayah-page-hero p { max-width: 650px; font-size: 14px; line-height: 1.85; }

.page-slug-about-hidayah .hidayah-page-hero,
.page-slug-contact .hidayah-page-hero { --page-hero-image: url('../images/release/image-181.jpg'); }
.page-slug-governance .hidayah-page-hero,
.page-slug-complaints .hidayah-page-hero,
.page-slug-safeguarding .hidayah-page-hero { --page-hero-image: url('../images/release/image-286.jpg'); }
.page-slug-partnerships .hidayah-page-hero,
.page-slug-partner-with-us .hidayah-page-hero { --page-hero-image: url('../images/release/image-154.png'); }
.page-slug-programs .hidayah-page-hero,
.page-slug-training-courses .hidayah-page-hero { --page-hero-image: url('../images/release/image-216.png'); }
.page-slug-donate .hidayah-page-hero,
.page-slug-volunteer .hidayah-page-hero { --page-hero-image: url('../images/release/image-223.png'); }

/* Rich page content */
.elementor-widget-hidayah_content .hidayah-rich-content {
  width: min(100% - 40px, 1140px);
  max-width: 1140px;
  margin-inline: auto;
  padding: 62px 0;
  font-size: 15px;
}
.elementor-widget-hidayah_content .hidayah-rich-content .hidayah-rich-content { width: 100%; padding: 0; }
.hidayah-rich-content > h2:first-child { margin-top: 0; }
.hidayah-rich-content h2 { position: relative; margin: 42px 0 18px; padding-bottom: 12px; font-size: 27px; }
.hidayah-rich-content h2:after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 48px; height: 3px; border-radius: 99px; background: var(--hidayah-accent); }
.hidayah-rich-content h3 { margin: 30px 0 10px; color: var(--hidayah-primary); font-size: 18px; }
.hidayah-rich-content p { color: #545d72; }
.content-highlight { border: 1px solid #e5e8f0; border-inline-start: 4px solid var(--hidayah-accent); background: #fafbfe; border-radius: 10px; }

/* Governance */
.page-slug-governance .elementor-widget-hidayah_content .hidayah-rich-content { padding-top: 42px; }
.governance-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 28px 0 54px; }
.governance-grid > div { position: relative; min-height: 190px; padding: 56px 24px 24px; border: 1px solid var(--hidayah-border); border-radius: 12px; box-shadow: var(--hidayah-shadow-soft); }
.governance-grid > div:before { content: "✓"; position: absolute; top: 18px; inset-inline-start: 22px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #cad6eb; border-radius: 50%; color: var(--hidayah-primary); font-weight: 800; }
.governance-grid h3 { margin: 0 0 8px; color: var(--hidayah-primary); }
.governance-grid p { margin: 0; font-size: 13px; }
.page-slug-governance .check-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.page-slug-governance .check-list li { min-height: 74px; margin: 0; padding: 15px 48px 15px 16px; border: 1px solid var(--hidayah-border); border-radius: 10px; background: #fff; }
.page-slug-governance .check-list li:before { inset-inline-start: 18px; top: 15px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #eef3fb; }

/* Partner and accreditation cards */
.partner-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.partner-card { min-height: 148px; padding: 17px 12px; border: 1px solid var(--hidayah-border); background: #fff; }
.partner-logo { min-height: 65px; display: grid; place-items: center; }
.partner-logo img { max-width: 118px; max-height: 58px; object-fit: contain; }
.partner-card h3 { margin-top: 10px; font-size: 11px; color: #3b4663; }
.page-slug-partnerships .elementor-widget-hidayah_content .hidayah-rich-content { padding-bottom: 48px; }

/* Professional forms */
.hidayah-form-shell {
  width: min(100% - 40px, 980px);
  margin: 58px auto 72px;
  padding: 34px;
  border: 1px solid var(--hidayah-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 52px rgba(16, 23, 71, .09);
}
.hidayah-form-head { padding-bottom: 20px; border-bottom: 1px solid var(--hidayah-border); }
.hidayah-form-head h2 { font-size: 25px; }
.hidayah-form-head p { font-size: 13px; }
.form-grid { gap: 15px 18px; }
.form-field { gap: 6px; }
.form-field > span { color: #303953; font-weight: 700; }
.hidayah-advanced-form input,
.hidayah-advanced-form textarea,
.hidayah-advanced-form select { min-height: 48px; padding: 11px 13px; border-color: #dce1eb; border-radius: 8px; color: #29324a; }
.hidayah-advanced-form textarea { min-height: 130px; }
.hidayah-advanced-form input:focus,
.hidayah-advanced-form textarea:focus,
.hidayah-advanced-form select:focus { border-color: var(--hidayah-primary); box-shadow: 0 0 0 3px rgba(23, 63, 143, .09); }
.form-consent { align-items: center; padding: 12px 14px; border-radius: 8px; background: #f7f9fc; }
.hidayah-form-shell .btn-primary { min-height: 48px; min-width: 180px; border-radius: 8px; }

/* Contact and donation become structured two-column service pages */
.page-slug-contact main > .elementor,
.page-slug-donate main > .elementor {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(20px, 1fr) minmax(300px, 420px) minmax(500px, 720px) minmax(20px, 1fr);
  gap: 28px;
  align-items: start;
}
.page-slug-contact main > .elementor > .e-con:first-child,
.page-slug-donate main > .elementor > .e-con:first-child {
  grid-column: 1 / -1;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  --content-width: 100%;
  padding: 0 !important;
}
.page-slug-contact main > .elementor > .e-con:nth-child(2),
.page-slug-donate main > .elementor > .e-con:nth-child(2) { grid-column: 2; }
.page-slug-contact main > .elementor > .e-con:nth-child(3),
.page-slug-donate main > .elementor > .e-con:nth-child(3) { grid-column: 3; }
.page-slug-contact main > .elementor > .e-con:first-child .elementor-widget-hidayah_page_hero,
.page-slug-donate main > .elementor > .e-con:first-child .elementor-widget-hidayah_page_hero {
  width: 100% !important;
  margin-inline: 0 !important;
}
.page-slug-contact main > .elementor > .e-con:nth-child(n+2),
.page-slug-donate main > .elementor > .e-con:nth-child(n+2) { padding-top: 54px; }
.page-slug-contact main > .elementor > .e-con:nth-child(2) .section { padding: 0; }
.page-slug-contact main > .elementor > .e-con:nth-child(2) .container { width: 100%; }
.page-slug-contact .hidayah-section-body,
.page-slug-donate .hidayah-rich-content { padding: 26px; border: 1px solid var(--hidayah-border); border-radius: 12px; background: #f8f9fc; }
.page-slug-contact .hidayah-section-body p { margin: 0; padding: 15px 0; border-bottom: 1px solid var(--hidayah-border); }
.page-slug-contact .hidayah-section-body p:last-child { border: 0; }
.page-slug-contact .hidayah-form-shell,
.page-slug-donate .hidayah-form-shell { width: 100%; margin: 0 0 72px; }
.page-slug-donate .elementor-widget-hidayah_content .hidayah-rich-content { width: 100%; }

/* Archives and detail pages */
.page-hero-premium { padding: 58px 0; background: linear-gradient(115deg, #101747, #173f8f); }
.premium-archive-grid { gap: 20px; }
.media-card { border-color: var(--hidayah-border) !important; }
.media-card-body { padding: 20px; }
.single-hero { padding: 58px 0; background: linear-gradient(115deg, #101747, #173f8f); }
.single-hero-media { border-radius: 14px; }
.single-content-grid { gap: 42px; }
.aside-card { border-radius: 12px; background: #f7f8fc; }
.rich-entry h2 { position: relative; padding-bottom: 10px; }
.rich-entry h2:after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 46px; height: 3px; background: var(--hidayah-accent); }

/* Footer */
.site-footer { margin-top: 0; background: var(--hidayah-deep); }
.footer-main { padding: 54px 0 46px; }
.footer-grid { grid-template-columns: 1.35fr .9fr .95fr 1.05fr; gap: 42px; }
.footer-brand-row { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; }
.footer-brand-row .custom-logo-link { flex: 0 0 auto; }
.footer-brand-row .custom-logo { max-height: 60px; filter: brightness(0) invert(1); opacity: .92; }
.footer-brand { margin: 0; font-size: 21px; }
.footer-brand-row span { color: var(--hidayah-accent); font-size: 11px; }
.footer-about p { max-width: 360px; font-size: 13px; line-height: 2; }
.footer-title { padding-bottom: 11px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.footer-links a,
.site-footer p { font-size: 12px; color: rgba(255, 255, 255, .7); }
.footer-bottom { padding: 16px 0; font-size: 11px; }

@media (max-width: 1180px) {
  .header-brand-name { margin-inline-end: auto; }
  .primary-navigation { inset-block-start: 78px; }
  .nav-menu > li > a { font-size: 14px; }
  .partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .page-slug-contact main > .elementor,
  .page-slug-donate main > .elementor { display: block; width: 100%; }
  .page-slug-contact main > .elementor > .e-con:first-child,
  .page-slug-donate main > .elementor > .e-con:first-child { width: 100%; margin: 0; }
  .page-slug-contact main > .elementor > .e-con:nth-child(n+2),
  .page-slug-donate main > .elementor > .e-con:nth-child(n+2) { padding-top: 42px; }
  .page-slug-contact main > .elementor > .e-con:nth-child(n+2) > *,
  .page-slug-donate main > .elementor > .e-con:nth-child(n+2) > * { width: min(100% - 32px, 720px); margin-inline: auto; }
  .governance-grid { grid-template-columns: 1fr; }
  .page-slug-governance .check-list { grid-template-columns: 1fr; }
  .partner-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .container { width: min(100% - 28px, var(--hidayah-container)); }
  .topbar { display: none; }
  .header-inner { min-height: 70px; }
  .primary-navigation { inset-block-start: 70px; }
  .custom-logo { max-height: 50px; }
  .header-brand-name .site-title { font-size: 14px; }
  .section { padding: 58px 0; }
  .hero-photo { min-height: auto; }
  .hidayah-page-hero { min-height: 220px; }
  .hidayah-page-hero-inner { padding-block: 38px; }
  .hidayah-page-hero h1 { font-size: 30px; }
  .hidayah-page-hero p { font-size: 13px; }
  .elementor-widget-hidayah_content .hidayah-rich-content { width: calc(100% - 28px); padding: 48px 0; }
  .governance-grid > div { min-height: 0; }
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hidayah-form-shell { width: calc(100% - 28px); margin-block: 38px 58px; padding: 21px; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom-inner { display: grid; gap: 5px; text-align: center; }
}

/* Footer 2.0: stronger hierarchy, contrast and a calm ambient backdrop. */
.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 88% 18%, rgba(43,101,198,.2), transparent 28%),
    radial-gradient(circle at 12% 82%, rgba(217,154,50,.11), transparent 26%),
    linear-gradient(118deg,#09143d 0%,#101d51 54%,#0c1745 100%);
}
.site-footer:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg,transparent 4%,#d99a32 30%,#4b86db 70%,transparent 96%);
}
.site-footer:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 360px;
  height: 360px;
  inset: -215px auto auto 28%;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 42% 58% 64% 36%/45% 42% 58% 55%;
  box-shadow: 0 0 90px rgba(60,119,211,.1);
  animation: hidayah-footer-orbit 26s linear infinite;
  pointer-events: none;
}
.footer-main { padding: 64px 0 56px; }
.footer-grid {
  grid-template-columns: minmax(280px,1.45fr) repeat(2,minmax(180px,.86fr)) minmax(220px,1.05fr);
  align-items: start;
  gap: clamp(30px,4vw,58px);
}
.footer-grid > div { min-width: 0; }
.footer-about {
  padding: 25px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow: 0 18px 45px rgba(2,9,34,.18);
}
.footer-brand-row { align-items: flex-start; gap: 15px; margin-bottom: 17px; }
.footer-brand-row .custom-logo-link { display: grid; place-items: center; width: 68px; height: 68px; }
.footer-brand-row .custom-logo { width: auto; max-width: 68px; max-height: 68px; object-fit: contain; filter: brightness(0) invert(1); opacity: 1; }
.footer-brand { color: #fff; font-size: clamp(21px,2vw,27px); line-height: 1.55; }
.footer-brand-row span { display: block; margin-top: 2px; color: #f0aa3b; font-size: 12px; font-weight: 700; }
.footer-about p { max-width: 430px; margin: 0; color: rgba(255,255,255,.78); font-size: 13px; line-height: 2.05; }
.footer-title {
  position: relative;
  margin: 7px 0 20px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(255,255,255,.14);
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
}
.footer-title:after {
  content: "";
  position: absolute;
  inset: auto 0 -1px auto;
  width: 42px;
  height: 2px;
  border-radius: 4px;
  background: #d99a32;
}
.footer-links { display: grid; gap: 4px; }
.footer-links li { margin: 0; }
.site-footer .footer-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 35px;
  padding-inline-start: 15px;
  color: rgba(255,255,255,.84) !important;
  font-size: 13px;
  line-height: 1.7;
  transition: color .22s ease, transform .22s ease;
}
.site-footer .footer-links a:before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  width: 6px;
  height: 6px;
  border: 1px solid rgba(217,154,50,.9);
  border-radius: 50%;
  transition: background .22s ease, transform .22s ease;
}
.site-footer .footer-links a:hover { color: #ffc45f !important; transform: translateX(-4px); }
.site-footer .footer-links a:hover:before { background: #d99a32; transform: scale(1.25); }
.footer-grid > div:last-child > p {
  position: relative;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.78);
  font-size: 13px;
  line-height: 1.85;
}
.footer-grid > div:last-child > p:last-child { border-bottom: 0; }
.site-footer .footer-grid > div:last-child a { color: rgba(255,255,255,.9) !important; direction: ltr; unicode-bidi: embed; }
.site-footer .footer-grid > div:last-child a:hover { color: #ffc45f !important; }
.footer-bottom { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); background: rgba(2,8,31,.22); }
.footer-bottom-inner { align-items: center; color: rgba(255,255,255,.68); font-size: 11px; }
.footer-bottom strong { color: #f0aa3b; }

@keyframes hidayah-footer-orbit {
  from { transform: translate3d(0,0,0) rotate(0deg); }
  50% { transform: translate3d(38px,20px,0) rotate(180deg); }
  to { transform: translate3d(0,0,0) rotate(360deg); }
}
@media (max-width: 980px) {
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 40px; }
}
@media (max-width: 640px) {
  .footer-main { padding: 44px 0 38px; }
  .footer-grid { grid-template-columns: 1fr; gap: 22px; }
  .footer-about { padding: 21px; }
  .footer-title { margin-top: 2px; }
  .site-footer .footer-links a { min-height: 32px; }
  .footer-bottom-inner { gap: 8px; line-height: 1.8; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer:after { animation: none; }
  .site-footer .footer-links a { transition: none; }
}
