/* ============================================================
   AI & Humanities Initiatives — design-system overrides
   Closes visual gaps that Elementor's default container CSS leaves open.
   ============================================================ */

html, body {
  background: #000000 !important;
  color: #ffffff;
  font-family: "Aeonik Pro Regular", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
body, body .site-content {
  background: #000000 !important;
}

/* Site content inner padding */
.ast-container, .site-content > .ast-container {
  max-width: 1440px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.site-content, .site-content .ast-container, .site-content .entry-content {
  background: #000000 !important;
}

/* Disable any leftover entry title */
.entry-header, .entry-title { display: none !important; }
.entry-content { margin-top: 0 !important; }

/* Sticky XPRO header */
.xpro-theme-builder-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 99 !important;
  background: rgba(0, 0, 0, 0.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid #242424 !important;
}

/* Hero: photo + motif + 2-column content */
.aih-hero-photo {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.4) 45%, rgba(0,0,0,0.88) 100%), url('https://via.placeholder.com/2880x1620/0a0a0a/242424?text=Hero') center/cover no-repeat;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}
.aih-hero-motif {
  position: absolute;
  right: 5%;
  bottom: 8%;
  width: 38vw;
  max-width: 600px;
  opacity: 0.5;
  z-index: 1;
  pointer-events: none;
}

/* Two-column hero layout: left text 65%, right meta 35% on desktop */
.aih-hero {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  position: relative !important;
  min-height: 90vh !important;
  padding: clamp(64px, 8vh, 96px) clamp(20px, 4vw, 56px) !important;
  background: #000000 !important;
  max-width: 100% !important;
  gap: 32px !important;
}
.aih-hero-text {
  flex: 1 1 0 !important;
  min-width: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  z-index: 2;
}
.aih-hero-meta {
  flex: 0 1 380px !important;
  width: 380px !important;
  max-width: 100% !important;
  padding: 24px !important;
  border: 1px solid #242424 !important;
  border-radius: 8px !important;
  background: #0a0a0a !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  min-height: 200px !important;
  z-index: 2;
}
.aih-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  margin-top: 8px !important;
  align-items: center !important;
}
.aih-hero-actions .elementor-widget-wrap { width: auto !important; }

/* Section head: 2-column row */
.aih-sec-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  padding: 0 clamp(20px, 4vw, 56px) 32px !important;
  gap: 32px !important;
}
.aih-sec-head-left {
  flex: 1 1 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.aih-sec-head-right {
  flex: 0 0 auto !important;
}

/* Section wrapper: vertical, padded */
.aih-section {
  padding: clamp(56px, 8vh, 80px) 0 !important;
}

/* News / programmes / people / social / 5-area / routes: row flex grids */
.aih-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  padding: 0 clamp(20px, 4vw, 56px) !important;
}
.aih-grid-3 > .elementor-element { flex: 1 1 0 !important; min-width: 280px !important; }
.aih-grid-4 > .elementor-element { flex: 1 1 0 !important; min-width: 220px !important; }
.aih-grid-5 > .elementor-element { flex: 1 1 0 !important; min-width: 200px !important; }

/* Accordion wraps full width */
.aih-accordion-wrap {
  padding: 0 clamp(20px, 4vw, 56px) !important;
}

/* Page Head: vertical, large top padding */
.aih-page-head {
  padding: clamp(64px, 10vh, 96px) clamp(20px, 4vw, 56px) clamp(32px, 6vh, 64px) !important;
}

/* Contact panel split */
.aih-contact-panel {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  padding: 0 clamp(20px, 4vw, 56px) !important;
}
.aih-contact-panel > .elementor-element { flex: 1 1 0 !important; min-width: 280px !important; }
.aih-contact-form-card {
  padding: 24px !important;
  border: 1px solid #242424 !important;
  border-radius: 8px !important;
  background: #0a0a0a !important;
}

/* Hairline */
.aih-hairline {
  width: 100% !important;
  border: 0 !important;
  border-top: 1px solid #242424 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Initiative tile min-height */
.aih-tile {
  min-height: 360px !important;
  padding: 24px !important;
  border: 1px solid #242424 !important;
  border-radius: 8px !important;
  background: #0a0a0a !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

/* Route card */
.aih-route-card {
  min-height: 280px !important;
  padding: 24px !important;
  border: 1px solid #242424 !important;
  border-radius: 8px !important;
  background: #000000 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* About block grid */
.aih-about-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 48px !important;
  padding: 0 clamp(20px, 4vw, 56px) !important;
}
.aih-about-grid > .elementor-element { flex: 1 1 0 !important; min-width: 280px !important; }

/* Hide default Astra footer credits / scroll-to-top */
#ast-scroll-top, .astra-widget-footer-social, .site-footer-credit {
  display: none !important;
}
/* ===== HIGH-SPECIFICITY OVERRIDES (must beat Elementor per-element selectors) ===== */
.aih-hero .elementor-element.elementor-element { width: auto !important; }
.aih-hero-text { flex: 1 1 0 !important; min-width: 280px !important; }
.aih-hero-meta { --width: 380px !important; flex: 0 0 380px !important; width: 380px !important; }
.aih-hero-actions { --width: 100% !important; width: 100% !important; }
.aih-hero-photo { z-index: 0 !important; }

.aih-grid { display: flex !important; flex-wrap: wrap !important; gap: 24px !important; padding: 0 clamp(20px, 4vw, 56px) !important; }
.aih-grid > .elementor-element { --width: auto !important; }
.aih-grid-3 > .elementor-element { flex: 1 1 0 !important; min-width: 280px !important; }
.aih-grid-4 > .elementor-element { flex: 1 1 0 !important; min-width: 220px !important; }
.aih-grid-5 > .elementor-element { flex: 1 1 0 !important; min-width: 200px !important; }

.aih-tile { --width: 100% !important; min-height: 360px !important; padding: 24px !important; border: 1px solid #242424 !important; border-radius: 8px !important; background: #0a0a0a !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; gap: 12px !important; }
.aih-route-card { --width: 100% !important; min-height: 280px !important; padding: 24px !important; border: 1px solid #242424 !important; border-radius: 8px !important; background: #000000 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }

.aih-section { --width: 100% !important; padding: clamp(56px, 8vh, 80px) 0 !important; }
.aih-contact-panel { display: flex !important; flex-wrap: wrap !important; gap: 32px !important; padding: 0 clamp(20px, 4vw, 56px) !important; }
.aih-contact-panel > .elementor-element { --width: auto !important; flex: 1 1 0 !important; min-width: 280px !important; }

.aih-about-grid { display: flex !important; flex-wrap: wrap !important; gap: 48px !important; padding: 0 clamp(20px, 4vw, 56px) !important; }
.aih-about-grid > .elementor-element { --width: auto !important; flex: 1 1 0 !important; min-width: 280px !important; }