/*
Theme Name: United Wealth Alliance
Theme URI: https://unitedwealthalliance.com
Author: United Wealth Alliance
Description: Official WordPress theme for United Wealth Alliance — Building Morals Unto Liberty
Version: 5.0.0
License: Private
Text Domain: uwa-theme
*/

/* ============================================================
   COLOUR SYSTEM — Dangote-inspired flat corporate palette
   #7c6d8c purple · #C9960C gold · #FFFFFF white
   White base · Purple dominance · Gold accents
   ============================================================ */
:root {
  /* Brand — exact hex values as specified */
  --uwa-purple:        #7c6d8c;
  --uwa-purple-deep:   #5c4f6a;
  --uwa-purple-mid:    #9b8aad;
  --uwa-gold:          #C9960C;
  --uwa-gold-bright:   #DFA810;
  --uwa-white:         #FFFFFF;
  --uwa-off-white:     #F7F5FF;

  /* Surface — white-based system */
  --uwa-dark:          #FFFFFF;
  --uwa-dark2:         #F7F5FF;
  --uwa-dark3:         #EDE8FA;

  /* Text */
  --uwa-text:          #2d2636;
  --uwa-text-body:     #3d3550;
  --uwa-grey:          #6B6880;
  --uwa-grey-light:    #9E9BB5;

  /* Cards */
  --uwa-glass:         #FFFFFF;
  --uwa-glass-border:  rgba(124,109,140,0.12);
  --uwa-glass-hover:   #F7F5FF;

  /* Typography */
  --font-display:      'Cormorant Garamond', serif;
  --font-heading:      'Cinzel', serif;
  --font-body:         'Montserrat', sans-serif;

  /* Spacing */
  --section-padding:   100px 4vw;
  --card-padding:      48px;
  --border-radius:     0px;
  --transition:        all 0.3s ease;
  --transition-slow:   all 0.6s ease;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  background: #FFFFFF;
  color: var(--uwa-text);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
}

/* Scrollbar */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background: #F7F5FF; }
::-webkit-scrollbar-thumb { background: var(--uwa-purple); }

a { text-decoration:none; color:inherit; transition:var(--transition); }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }

/* ============================================================
   TYPOGRAPHY — Bolder, more readable
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--uwa-text);
}

h1 { font-size: clamp(44px, 7vw, 100px); font-weight: 700; }
h2 { font-size: clamp(30px, 4.5vw, 60px); font-weight: 700; }
h3 { font-size: clamp(22px, 2.5vw, 36px); font-weight: 600; }
h4 { font-size: clamp(17px, 1.8vw, 24px); font-weight: 700; }

p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--uwa-text-body);
}

/* ============================================================
   UTILITIES
   ============================================================ */
.uwa-container { max-width:1400px; margin:0 auto; padding:0 4vw; }
.uwa-section { padding: var(--section-padding); }
.text-gold { color: var(--uwa-gold); }
.text-white { color: var(--uwa-white); }
.text-purple { color: var(--uwa-purple); }
.italic { font-style:italic; }
.outline-text {
  -webkit-text-stroke: 2px var(--uwa-purple);
  color: transparent;
}

/* Section Labels */
.uwa-label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.uwa-label-line {
  width: 40px; height: 2px;
  background: var(--uwa-gold);
  flex-shrink: 0;
}
.uwa-label-text {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--uwa-gold);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-primary {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #FFFFFF;
  background: var(--uwa-purple);
  padding: 16px 32px;
  border: 2px solid var(--uwa-purple);
  cursor: pointer;
  transition: var(--transition);
}
.btn-primary:hover {
  background: var(--uwa-purple-deep);
  border-color: var(--uwa-purple-deep);
  color: #FFFFFF;
  transform: translateY(-2px);
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--uwa-purple);
  border: 2px solid var(--uwa-purple);
  padding: 16px 32px;
  background: transparent;
  cursor: pointer;
  transition: var(--transition);
}
.btn-ghost:hover {
  background: var(--uwa-purple);
  color: #FFFFFF;
}

/* Hero white ghost variant */
.uwa-hero .btn-ghost {
  color: #FFFFFF;
  border-color: rgba(255,255,255,0.6);
}
.uwa-hero .btn-ghost:hover {
  background: #FFFFFF;
  color: var(--uwa-purple);
  border-color: #FFFFFF;
}

.btn-gold-outline {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--uwa-gold);
  border: 2px solid var(--uwa-gold);
  padding: 16px 32px;
  background: transparent;
  cursor: pointer;
  transition: var(--transition);
}
.btn-gold-outline:hover {
  background: var(--uwa-gold);
  color: #FFFFFF;
}

/* Arrow link */
.arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--uwa-purple);
  transition: gap 0.3s;
}
.arrow-link:hover { gap: 20px; color: var(--uwa-gold); }
.arrow-line {
  width: 36px; height: 2px;
  background: var(--uwa-gold);
  position: relative;
  transition: width 0.3s;
  flex-shrink: 0;
}
.arrow-line::after {
  content: '';
  position: absolute;
  right: 0; top: -3px;
  width: 8px; height: 8px;
  border-right: 2px solid var(--uwa-gold);
  border-top: 2px solid var(--uwa-gold);
  transform: rotate(45deg);
}
.arrow-link:hover .arrow-line { width: 48px; }

/* White arrow link (for hero/purple sections) */
.uwa-hero .arrow-link,
.uwa-cta-section .arrow-link,
.uwa-card-purple .arrow-link {
  color: #FFFFFF;
}
.uwa-hero .arrow-line,
.uwa-cta-section .arrow-line {
  background: var(--uwa-gold);
}
.uwa-hero .arrow-line::after,
.uwa-cta-section .arrow-line::after {
  border-color: var(--uwa-gold);
}

/* ============================================================
   CARDS — White flat cards with purple top border accent
   ============================================================ */
.uwa-card {
  background: #FFFFFF;
  border: 1px solid rgba(124,109,140,0.1);
  border-top: 3px solid var(--uwa-purple);
  padding: var(--card-padding);
  position: relative;
  transition: var(--transition-slow);
}
.uwa-card:hover {
  border-top-color: var(--uwa-gold);
  box-shadow: 0 4px 24px rgba(124,109,140,0.08);
  transform: translateY(-3px);
}
.uwa-card h3, .uwa-card h4 { color: var(--uwa-text); }
.uwa-card p { color: var(--uwa-text-body); }

/* Purple card — used for featured/highlight cards */
.uwa-card-purple {
  background: var(--uwa-purple);
  border: none;
  border-top: 4px solid var(--uwa-gold);
}
.uwa-card-purple:hover {
  background: var(--uwa-purple-deep);
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(124,109,140,0.3);
}
.uwa-card-purple h1,
.uwa-card-purple h2,
.uwa-card-purple h3,
.uwa-card-purple h4 { color: #FFFFFF; }
.uwa-card-purple p { color: rgba(255,255,255,0.85); }
.uwa-card-purple .uwa-pillar-name { color: #FFFFFF; }
.uwa-card-purple .uwa-pillar-desc { color: rgba(255,255,255,0.75); }

/* ============================================================
   SCROLL ANIMATIONS
   ============================================================ */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }
.reveal-delay-4 { transition-delay:0.4s; }
.reveal-left {
  opacity:0; transform:translateX(-30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right {
  opacity:0; transform:translateX(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-right.visible { opacity:1; transform:translateX(0); }

/* ============================================================
   GRID
   ============================================================ */
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media(max-width:1024px) {
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .grid-3 { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
  .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; }
  :root { --section-padding:72px 4vw; }
}

/* ============================================================
   DIVIDER
   ============================================================ */
.uwa-divider {
  width:100%; height:1px;
  background: rgba(124,109,140,0.12);
  margin:0;
}

/* ============================================================
   BADGE
   ============================================================ */
.uwa-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #FFFFFF;
  background: var(--uwa-purple);
  padding: 6px 14px;
}
.uwa-badge-subtle {
  background: rgba(124,109,140,0.08);
  color: var(--uwa-purple);
  font-weight: 700;
}

/* ============================================================
   DIAMOND BULLET LIST
   ============================================================ */
.diamond-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--uwa-text-body);
  margin-bottom: 12px;
}
.diamond-list li::before {
  content: '';
  width: 7px; height: 7px;
  background: var(--uwa-gold);
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-top: 5px;
}
.uwa-card-purple .diamond-list li { color: rgba(255,255,255,0.85); }

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.uwa-page-hero {
  position: relative;
  padding: 140px 4vw 80px;
  background: var(--uwa-purple);
  border-bottom: 4px solid var(--uwa-gold);
  overflow: hidden;
}
.uwa-page-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 6px; height: 100%;
  background: var(--uwa-gold);
}
.uwa-page-hero-bg { display:none; }
.uwa-page-hero-inner { position:relative; z-index:2; max-width:800px; }
.uwa-page-hero .uwa-label-text { color:rgba(201,150,12,0.9); }
.uwa-page-hero .uwa-label-line { background:var(--uwa-gold); }
.uwa-page-hero h1 { color:#FFFFFF; font-weight:700; }
.uwa-page-hero-desc {
  font-size: 16px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
  margin-top: 20px;
  max-width: 600px;
  line-height: 1.7;
}

/* ============================================================
   VALUE CARDS
   ============================================================ */
.uwa-value-card {
  padding: 32px 24px;
  border: 1px solid rgba(124,109,140,0.1);
  border-top: 3px solid var(--uwa-gold);
  background: #FFFFFF;
}
.uwa-value-card h4 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--uwa-purple);
  margin: 12px 0 8px;
}
.uwa-value-card p { font-size:13px; color:var(--uwa-grey); }
.uwa-value-icon { font-size:24px; display:block; }

/* ============================================================
   GOVERNANCE CHART
   ============================================================ */
.uwa-governance-chart { margin-top:56px; }
.uwa-gov-level { display:flex; justify-content:center; }
.uwa-gov-box {
  background:#FFFFFF;
  border:1px solid rgba(124,109,140,0.12);
  border-left:4px solid var(--uwa-purple);
  padding:28px 36px;
  max-width:680px;
  width:100%;
}
.uwa-gov-box h4 { color:var(--uwa-purple); font-weight:700; margin-bottom:8px; }
.uwa-gov-box p { font-size:13px; color:var(--uwa-text-body); }
.uwa-gov-arrow {
  text-align:center;
  font-size:24px;
  color:var(--uwa-gold);
  font-weight:700;
  padding:12px 0;
}
.uwa-gov-req {
  display:inline-block;
  margin-top:10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--uwa-gold);
}
.uwa-gov-ec-grid {
  background:#FFFFFF;
  border:1px solid rgba(124,109,140,0.12);
  border-left:4px solid var(--uwa-gold);
  padding:28px 36px;
  max-width:680px;
  width:100%;
  margin:0 auto;
}
.uwa-gov-label {
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--uwa-purple);
  margin-bottom:14px;
}
.uwa-gov-ec-roles {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.uwa-gov-ec-roles span {
  padding:5px 12px;
  background:var(--uwa-purple);
  color:#FFFFFF;
  font-size:11px;
  font-weight:600;
}
.uwa-gov-level-1 .uwa-gov-box { border-left-color:var(--uwa-gold); }

/* ============================================================
   LEADERSHIP GRID
   ============================================================ */
.uwa-leadership-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:56px;
}
.uwa-leader-card { text-align:center; padding:48px 36px; }
.uwa-leader-avatar-large {
  width:100px; height:100px; border-radius:50%;
  background:var(--uwa-purple); color:#FFFFFF;
  font-size:32px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px;
  font-family:var(--font-display);
  border:3px solid var(--uwa-gold);
}
.uwa-leader-name {
  font-family:var(--font-display);
  font-size:22px; font-weight:700;
  color:var(--uwa-text); margin-bottom:6px;
}
.uwa-card-purple .uwa-leader-name { color:#FFFFFF; }
.uwa-leader-title {
  display:block;
  font-size:10px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--uwa-gold); margin-bottom:14px;
}

/* ============================================================
   INVEST PAGE
   ============================================================ */
.uwa-invest-philosophy-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
}
.uwa-invest-pillars { display:flex; flex-direction:column; gap:24px; }
.uwa-invest-pillar {
  display:flex; gap:20px; align-items:flex-start;
  padding:20px;
  border-left:3px solid var(--uwa-gold);
  background:#FFFFFF;
}
.uwa-invest-pillar-icon { font-size:28px; flex-shrink:0; }
.uwa-invest-pillar h4 {
  font-size:14px; font-weight:700;
  color:var(--uwa-purple); margin-bottom:6px;
}
.uwa-invest-pillar p { font-size:13px; color:var(--uwa-text-body); }
@media(max-width:900px) { .uwa-invest-philosophy-grid { grid-template-columns:1fr; gap:48px; } }

/* ============================================================
   MEMBERSHIP TIERS
   ============================================================ */
.uwa-mem-tiers {
  display:grid; grid-template-columns:1fr 1fr;
  gap:28px; margin-top:48px;
}
.uwa-mem-tier-card { }
.uwa-mem-tier-header { margin-bottom:24px; }
.uwa-mem-tier-header h3 {
  font-family:var(--font-display);
  font-size:36px; font-weight:700;
  margin:12px 0 8px;
}
.uwa-card-purple .uwa-mem-tier-header h3 { color:#FFFFFF; }
.uwa-mem-tier-price {
  font-family:var(--font-display);
  font-size:28px; font-weight:600;
  color:var(--uwa-gold);
}
.uwa-mem-tier-price span { font-size:14px; color:var(--uwa-grey); font-weight:400; }
.uwa-mem-tier-eligibility {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 0;
  border-top:1px solid rgba(124,109,140,0.1);
  border-bottom:1px solid rgba(124,109,140,0.1);
  margin-bottom:24px;
}
.uwa-card-purple .uwa-mem-tier-eligibility {
  border-color:rgba(255,255,255,0.15);
}
.uwa-elig-label {
  font-size:10px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--uwa-grey);
}
.uwa-elig-value {
  font-family:var(--font-display);
  font-size:18px; font-weight:700;
  color:var(--uwa-gold);
}
@media(max-width:768px) { .uwa-mem-tiers { grid-template-columns:1fr; } }

/* ============================================================
   STEPS (Membership join process)
   ============================================================ */
.uwa-steps-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:24px; margin-top:56px;
}
.uwa-step-card {
  padding:36px 28px;
  border-top:4px solid var(--uwa-gold);
  background:#FFFFFF;
  border:1px solid rgba(124,109,140,0.1);
  border-top:4px solid var(--uwa-gold);
}
.uwa-step-num {
  font-family:var(--font-display);
  font-size:52px; font-weight:700;
  color:var(--uwa-purple); opacity:0.15;
  line-height:1; margin-bottom:16px;
}
.uwa-step-title {
  font-size:15px; font-weight:700;
  color:var(--uwa-purple);
  letter-spacing:0.05em; margin-bottom:10px;
}
.uwa-step-card p { font-size:13px; color:var(--uwa-text-body); }
@media(max-width:1100px) { .uwa-steps-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .uwa-steps-grid { grid-template-columns:1fr; } }

/* ============================================================
   PORTFOLIO SECTORS
   ============================================================ */
.uwa-portfolio-sector { text-align:center; }
.uwa-portfolio-icon {
  font-size:40px; margin-bottom:16px; display:block;
}
.uwa-portfolio-sector h4 {
  font-size:15px; font-weight:700;
  color:var(--uwa-purple); margin-bottom:10px;
}
.uwa-portfolio-sector p { font-size:13px; color:var(--uwa-text-body); }

/* ============================================================
   COMMUNITY IMPACT CARDS
   ============================================================ */
.uwa-community-impact-card {
  border-top:4px solid var(--uwa-purple);
}
.uwa-community-impact-card h3 { color:var(--uwa-text); }
.uwa-community-impact-card p { color:var(--uwa-text-body); }

/* ============================================================
   CONTACT
   ============================================================ */
.uwa-contact-item {
  display:flex; gap:20px; align-items:flex-start;
  padding:20px 0;
  border-bottom:1px solid rgba(124,109,140,0.08);
}
.uwa-contact-item:last-child { border-bottom:none; }
.uwa-contact-item-icon {
  font-size:22px; flex-shrink:0;
  width:44px; height:44px;
  background:var(--uwa-purple);
  display:flex; align-items:center; justify-content:center;
  font-style:normal;
}
.uwa-contact-item-label {
  display:block;
  font-size:10px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--uwa-grey); margin-bottom:4px;
}
.uwa-contact-item-value {
  font-size:15px; font-weight:600;
  color:var(--uwa-purple);
}
a.uwa-contact-item-value:hover { color:var(--uwa-gold); }

/* ============================================================
   INNER PAGE SECTIONS — alternating background
   ============================================================ */
.uwa-section[style*="var(--uwa-dark2)"] {
  background: #F7F5FF !important;
}

/* ============================================================
   MISC INNER PAGE ELEMENTS
   ============================================================ */
.uwa-section-intro {
  max-width:580px;
  font-size:16px;
  font-weight:500;
  color:var(--uwa-text-body);
  margin:16px 0 56px;
  line-height:1.7;
}

/* ============================================================
   NEWS GRID
   ============================================================ */
.uwa-news-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:28px; margin-bottom:48px;
}
.uwa-news-card { overflow:hidden; }
.uwa-news-thumb img { width:100%; height:220px; object-fit:cover; }
.uwa-news-body { padding:28px; }
.uwa-news-meta {
  display:flex; gap:16px; margin-bottom:12px;
  font-size:11px; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
}
.uwa-news-date { color:var(--uwa-gold); }
.uwa-news-cat { color:var(--uwa-grey); }
.uwa-news-title a {
  font-family:var(--font-display);
  font-size:22px; font-weight:700;
  color:var(--uwa-text);
  transition:color 0.2s;
}
.uwa-news-title a:hover { color:var(--uwa-purple); }
.uwa-news-excerpt { font-size:13px; margin-top:8px; }

/* Pagination */
.uwa-pagination { text-align:center; margin-top:40px; }
.uwa-pagination .page-numbers {
  display:inline-block; padding:10px 16px;
  border:1px solid rgba(124,109,140,0.2);
  font-size:12px; font-weight:600;
  color:var(--uwa-purple); margin:0 3px;
}
.uwa-pagination .current {
  background:var(--uwa-purple);
  color:#FFFFFF; border-color:var(--uwa-purple);
}

/* Empty state */
.uwa-empty-state {
  text-align:center; padding:80px 40px;
  border:1px dashed rgba(124,109,140,0.2);
}
.uwa-empty-state span { font-size:48px; display:block; margin-bottom:16px; }
.uwa-empty-state h3 { color:var(--uwa-purple); margin-bottom:8px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px) {
  .uwa-leadership-grid { grid-template-columns:1fr; max-width:480px; margin-left:auto; margin-right:auto; }
}
