/*
Theme Name: AIDE Migration
Theme URI: https://aidecanada.ca/
Author: AIDE Migration
Version: 1.0.0
Text Domain: aide-migration
*/

:root{
  --aide-purple:#5236B8;
  --aide-purple-2:#6b5cff;
  --aide-purple-light:#e6e8ff;
  --aide-slate:#4c4c4d;
  --aide-yellow:#ebbb49;
  --aide-green:#189451;
  --aide-red:#f75c45;
  --aide-white:#ffffff;
  --container:1100px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#1d1d1f;
  background:#fff;
}

a{ color: var(--aide-purple); text-decoration:none; }
a:hover{ color: var(--aide-purple-2); text-decoration:underline; }

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 12px;
}

/* Header */
.site-header{
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 9999;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.header-utility{
  background: var(--aide-slate);
  color:#fff;
  font-size:14px;
}
.header-utility .utility-inner{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  padding:8px 12px;
}
.header-utility a{ color:#fff; font-weight:800; }
.header-utility a:hover{ text-decoration:underline; }
.utility-btn{
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-size:16px;
  padding:6px 8px;
}

.brand-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
}
.brand img{ max-height:54px; width:auto; display:block; }

.menu-toggle{
  display:none;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
  cursor:pointer;
}

/* Nav */
.primary-nav{ display:flex; align-items:center; gap:18px; }
.primary-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:18px;
  align-items:center;
}
.primary-nav a{
  color:#222;
  font-weight:900;
  padding:10px 10px;
  border-radius:10px;
}
.primary-nav a:hover{ background: rgba(82,54,184,.08); text-decoration:none; }

.primary-nav .menu-item-has-children{ position:relative; }
.primary-nav .sub-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:260px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px;
  display:none;
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}
.primary-nav .menu-item-has-children:hover > .sub-menu{ display:block; }
.primary-nav .sub-menu a{
  display:block;
  padding:10px 12px;
  font-weight:800;
  border-radius:10px;
}

/* Search drawer */
.aide-search-drawer{
  display:none;
  padding:12px 0;
  border-top:1px solid rgba(0,0,0,.08);
}
.aide-search-drawer.is-open{ display:block; }
.aide-search-drawer form{ display:flex; gap:10px; }
.aide-search-drawer input[type="search"]{
  flex:1;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:12px;
  outline:none;
}
.aide-search-drawer button{
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  font-weight:900;
  cursor:pointer;
}

/* Main spacing for fixed header */
.site-main{ padding-top: 118px; }

/* Bands */
.band-yellow{ background: var(--aide-yellow); height:10px; }
.band-green{ background: var(--aide-green); height:10px; }
.band-purple{ background: var(--aide-purple); height:10px; }

.aide-hero{
  text-align:center;
  padding: 18px 0 10px;
}
.aide-hero h1{
  margin:0 0 10px;
  color: var(--aide-purple);
  font-size: clamp(2rem, 3vw, 3.2rem);
}
.aide-hero p{ margin:0 auto 10px; max-width: 920px; }

.aide-banner{ padding: 8px 0 18px; }
.aide-banner img{ width:100%; height:auto; display:block; }

/* Buttons */
.aide-btn{
  display:inline-block;
  padding:10px 14px;
  border-radius:10px;
  color:#fff !important;
  font-weight:900;
  text-decoration:none !important;
}
.aide-btn:hover{ filter:brightness(1.05); }
.aide-btn.purple{ background: var(--aide-purple); }
.aide-btn.green{ background: var(--aide-green); }
.aide-btn.yellow{ background: var(--aide-yellow); }
.aide-btn.red{ background: var(--aide-red); }
.aide-btn.slate{ background: var(--aide-slate); }

/* Cards / grids */
.aide-grid{ padding: 18px 0; }
.aide-three{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
.card{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:20px;
  padding:18px;
}
.icon-card img{ width:140px; height:auto; display:block; }
.section-title{
  text-align:center;
  color: var(--aide-purple);
  font-size: clamp(1.8rem, 2.6vw, 3rem);
  margin: 0;
}

/* Spotlight */
.spotlight{
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap:18px;
  align-items:center;
  padding: 14px 0 24px;
}
.spotlight img{ width:100%; height:auto; border-radius:14px; display:block; }

/* Community */
.community{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  padding: 10px 0 26px;
}
.community .stack{ display:flex; flex-direction:column; gap:12px; }
.community img{ width:394px; max-width:100%; height:auto; display:block; margin:0 auto; }

/* About */
.about{
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap:18px;
  align-items:center;
  padding: 10px 0 22px;
}
.about img{ width:100%; height:auto; display:block; }

/* Partners strip */
.partner-row{
  display:flex;
  gap:18px;
  overflow:auto;
  padding:10px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
}
.partner-row figure{ margin:0; min-width:160px; display:flex; align-items:center; justify-content:center; }
.partner-row img{ width:140px; height:140px; object-fit:contain; }

/* Contact */
.contact-wrap{
  background: var(--aide-purple-light);
  border-radius:22px;
  padding: 14px;
  margin: 14px 0 28px;
}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
}
.panel{
  background:#fff;
  border-radius:22px;
  padding:18px;
}
.panel h2{ margin-top:0; color: var(--aide-purple); }
.panel .field{ margin:10px 0; }
.panel label{ font-weight:900; display:block; margin-bottom:6px; }
.panel input, .panel select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.18);
}
.panel .submit{
  padding:10px 14px;
  border-radius:12px;
  border:0;
  background: var(--aide-purple);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

/* Footer */
.site-footer{
  background: var(--aide-slate);
  color:#fff;
  margin-top:40px;
}
.site-footer a{ color:#fff; }
.footer-inner{ padding: 26px 0; }
.footer-top{
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap:18px;
  align-items:center;
  border-bottom: 1px solid rgba(255,255,255,.2);
  padding-bottom:18px;
  margin-bottom:18px;
}
.footer-mid{
  display:grid;
  grid-template-columns: 1.2fr .8fr 1fr 1fr;
  gap:18px;
  border-bottom: 1px solid rgba(255,255,255,.2);
  padding-bottom:18px;
  margin-bottom:18px;
}
.footer-links ul{ margin:0; padding-left:18px; }
.footer-bottom{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:12px;
  text-align:center;
  font-size:13px;
}

/* Responsive */
@media (max-width: 991px){
  .menu-toggle{ display:inline-block; }
  .primary-nav{ display:none; flex-direction:column; align-items:flex-start; width:100%; padding: 0 0 12px; }
  .primary-nav.is-open{ display:flex; }
  .primary-nav ul{ flex-direction:column; align-items:flex-start; width:100%; }
  .primary-nav .sub-menu{
    position: static;
    display:block;
    box-shadow:none;
    border:0;
    padding: 0 0 0 12px;
    min-width: unset;
  }

  .aide-three{ grid-template-columns: 1fr; }
  .spotlight{ grid-template-columns: 1fr; }
  .community{ grid-template-columns: 1fr; }
  .about{ grid-template-columns: 1fr; }
  .contact-grid{ grid-template-columns: 1fr; }
  .footer-top{ grid-template-columns: 1fr; text-align:center; }
  .footer-mid{ grid-template-columns: 1fr; text-align:center; }
  .footer-bottom{ grid-template-columns: 1fr; }
}
