/* =============================================================
   AAWI Custom Styles
   Linked after theme CSS so !important rules win the cascade.
   ============================================================= */


/* ── GLOBAL ─────────────────────────────────────────────────── */

#Top_bar #menu ul li a span {
  font-weight: 700 !important;
}

.why-section {
  font-size: 54px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  text-align: center;
}


/* ── DESKTOP HEADER (≥1240px) ──────────────────────────────── */

@media only screen and (min-width: 1240px) {

  #Top_bar #logo img {
    max-height: 90px !important;
    width: auto !important;
  }

  #Top_bar {
    height: 145px !important;
  }

  #Top_bar.is-sticky {
    height: 145px !important;
  }

  /* Flex parent: logo pinned left, nav pinned right */
  #Top_bar .top_bar_left {
    height: 125px !important;
    display: flex !important;
    flex-direction: row !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 1450px !important;
  }

  #Top_bar .logo {
    float: none !important;
    flex: 0 0 auto !important;
  }

  #Top_bar #logo {
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
    height: auto !important;
  }

  /* Remove float and margin — parent flex handles placement */
  #Top_bar .menu_wrapper {
    float: none !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: flex-end !important;
    margin-left: auto !important;
  }

  /* Nav items share a text baseline */
  #Top_bar nav#menu ul.menu {
    display: flex !important;
    align-items: baseline !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* ── HERO SECTION ───────────────────────────────────────────── */

.aawi-hero {
  position: relative;
  max-width: 1500px;
  margin: 40px auto 80px auto;
  border-radius: 34px;
  overflow: hidden;
  min-height: 760px;
  box-shadow: 0 10px 40px rgba(0,0,0,.05);
  margin-top: 0px !important;
}

.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
}

.hero-slide1 {
  background-image: url('../images/hero-youth.jpg');
  animation: fade1 18s infinite;
}

.hero-slide2 {
  background-image: url('../images/hero-youth02.jpg');
  animation: fade2 18s infinite;
}

.hero-slide3 {
  background-image: url('../images/hero-youth03.jpg');
  animation: fade3 18s infinite;
}

@keyframes fade1 {
  0%   { opacity: 1; }
  30%  { opacity: 1; }
  33%  { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes fade2 {
  0%   { opacity: 0; }
  30%  { opacity: 0; }
  33%  { opacity: 1; }
  63%  { opacity: 1; }
  66%  { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes fade3 {
  0%   { opacity: 0; }
  63%  { opacity: 0; }
  66%  { opacity: 1; }
  96%  { opacity: 1; }
  100% { opacity: 0; }
}

.aawi-left {
  position: relative;
  z-index: 10;
  width: 52%;
  min-height: 760px;
  padding: 90px 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(
    90deg,
    rgba(249,238,225,.90) 0%,
    rgba(249,238,225,.82) 40%,
    rgba(249,238,225,.45) 75%,
    rgba(249,238,225,0) 100%
  );
  backdrop-filter: blur(2px);
}

.aawi-right {
  display: none;
}

.aawi-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aawi-pill {
  display: inline-block;
  background: #f5dfd0;
  padding: 4px 14px;
  border-radius: 100px;
  font-family: 'Sora';
  font-size: 10px;
  font-weight: 700;
  color: #5f2a5d;
  margin-bottom: 30px;
  letter-spacing: .5px;
}

.aawi-title {
  font-family: 'Sora';
  font-weight: 700;
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 35px;
}

.aawi-title .purple {
  display: block;
  font-size: 48px;
  color: #5f2a5d;
}

.aawi-title .orange {
  display: block;
  font-size: 84px;
  color: #ff885e;
}

.aawi-copy {
  font-family: 'Sora';
  font-size: 16px;
  line-height: 1.55;
  color: #3a3a3a;
  max-width: 540px;
  margin-bottom: 45px;
}

.aawi-buttons {
  display: flex;
  gap: 18px;
  margin-bottom: 50px;
}

.aawi-btn-primary {
  background: #ff885e;
  color: #fff;
  text-decoration: none;
  padding: 12px 28px;
  font-size: 16px;
  border-radius: 6px;
  font-weight: 700;
}

.aawi-btn-secondary {
  border: 2px solid #5f2a5d;
  color: #5f2a5d;
  text-decoration: none;
  padding: 10px 28px;
  font-size: 16px;
  border-radius: 6px;
  font-weight: 700;
}

.aawi-tagline {
  color: #5f2a5d;
  font-size: 20px;
  font-weight: 700;
  padding: 0;
  background: none;
  font-style: italic;
}

@media (max-width: 991px) {
  .aawi-hero {
    display: block;
    margin: 25px;
  }
  .aawi-left,
  .aawi-right {
    width: 100%;
  }
  .aawi-left {
    padding: 50px 35px;
  }
  .aawi-title .purple,
  .aawi-title .orange {
    font-size: 52px;
  }
  .aawi-copy {
    font-size: 18px;
  }
}


/* ── MOBILE MENU ────────────────────────────────────────────── */

#AAWI_mobile_menu,
#AAWI_mobile_overlay {
  display: none !important;
}

@media only screen and (max-width: 1239px) {

  #AAWI_mobile_menu.aawi-open {
    display: block !important;
  }

  #AAWI_mobile_overlay.aawi-open {
    display: block !important;
  }

  #AAWI_mobile_menu {
    position: fixed !important;
    top: 0 !important;
    right: -88% !important;
    width: 88% !important;
    max-width: 360px !important;
    height: 100vh !important;
    background: #ffffff !important;
    z-index: 999999 !important;
    box-shadow: -8px 0 30px rgba(0,0,0,.18) !important;
    padding: 90px 28px 30px 28px !important;
    transition: right .28s ease !important;
    overflow-y: auto !important;
  }

  #AAWI_mobile_menu.aawi-open {
    right: 0 !important;
  }

  #AAWI_mobile_menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #AAWI_mobile_menu li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(95,42,93,.15) !important;
  }

  #AAWI_mobile_menu a {
    display: block !important;
    color: #5f2a5d !important;
    font-family: 'Sora', Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    padding: 18px 0 !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #AAWI_mobile_close {
    position: absolute !important;
    top: 26px !important;
    right: 24px !important;
    width: 42px !important;
    height: 42px !important;
    border: 0 !important;
    background: #f9eee1 !important;
    color: #5f2a5d !important;
    border-radius: 50% !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  #AAWI_mobile_overlay {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.42) !important;
    z-index: 999998 !important;
  }

  #AAWI_mobile_overlay.aawi-open {
    display: block !important;
  }
}


/* ── RESPONSIVE: header/nav (≤1239px) ──────────────────────── */

@media only screen and (max-width: 1239px) {

  body, #Wrapper {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  #Top_bar,
  #Top_bar.is-sticky {
    height: auto !important;
    min-height: 68px !important;
  }

  #Top_bar .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #Top_bar .top_bar_left {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 68px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 16px !important;
    box-sizing: border-box !important;
  }

  #Top_bar .logo {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    height: auto !important;
  }

  #Top_bar #logo {
    display: block !important;
    height: auto !important;
    line-height: 1 !important;
    padding: 0 !important;
  }

  #Top_bar #logo img {
    max-height: 52px !important;
    width: auto !important;
    display: block !important;
  }

  #Top_bar #logo img.logo-sticky,
  #Top_bar #logo img.logo-mobile,
  #Top_bar #logo img.logo-mobile-sticky {
    display: none !important;
  }

  #Top_bar #logo img.logo-main {
    display: block !important;
  }

  #Top_bar .menu_wrapper {
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    flex: 0 0 auto !important;
    height: auto !important;
  }

  #Top_bar a.responsive-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    margin: 0 !important;
    top: auto !important;
    right: auto !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 1 !important;
    background: rgba(95,42,93,.10) !important;
    border-radius: 8px !important;
    color: #5f2a5d !important;
    z-index: 10 !important;
  }

  #Top_bar a.responsive-menu-toggle i {
    font-size: 22px !important;
    line-height: 1 !important;
    color: #5f2a5d !important;
    margin: 0 !important;
  }

  #Top_bar nav#menu,
  #Top_bar #menu,
  nav#menu,
  #menu {
    display: none !important;
  }

  #Top_bar .top_bar_right {
    display: none !important;
  }
}


/* ── RESPONSIVE: content layout (≤767px) ───────────────────── */

@media only screen and (max-width: 767px) {

  /* ── HERO ── */
  .aawi-hero {
    margin: 12px 12px 40px !important;
    border-radius: 18px !important;
    min-height: 420px !important;
  }
  .aawi-left {
    width: 100% !important;
    min-height: 420px !important;
    padding: 36px 22px 40px !important;
  }
  .aawi-title .purple { font-size: 26px !important; }
  .aawi-title .orange { font-size: 46px !important; }
  .aawi-copy { font-size: 14px !important; max-width: 100% !important; }
  .aawi-buttons { flex-wrap: wrap !important; gap: 12px !important; }

  /* ── GLOBAL CONTAINER ── */
  .section_wrapper, .container {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  .mcb-wrap {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .mcb-wrap_inner.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* ── "Every young person" section ── */
  .mcb_section_custom40 {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
    margin-top: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ── "Our Vision" section ── */
  .mcb_section_custom43 {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    margin-bottom: 20px !important;
  }
  .mcb_section_custom43 .section_wrapper {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* ── "Our Mission" section ── */
  .mcb_section_custom42 {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ── "Why Mental Health?" stats section ── */
  .mcb_section_custom53 {
    padding-top: 40px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: 40px !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
  .mcb_section_custom53 .col-md-3 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    float: left !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
    margin-bottom: 12px !important;
  }
  .mcb_item_custom522 .mfn-icon-box,
  .mcb_item_custom523 .mfn-icon-box,
  .mcb_item_custom524 .mfn-icon-box {
    padding: 20px !important;
  }

  /* ── "Augustus A. White" section ── */
  .mcb_section_custom44 {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ── JOIN US section ── */
  .mcb_section_custom45 {
    padding: 44px 0 44px !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    min-height: auto !important;
    overflow: hidden !important;
  }
  .mcb_section_custom45 .section_wrapper {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .mcb_item_custom554 .image_wrapper {
    position: absolute !important;
    right: -30px !important;
    top: 20px !important;
    width: 160px !important;
    left: auto !important;
  }
  .mcb_item_custom554 .image_wrapper img {
    opacity: .10 !important;
  }
  .mcb-section .mcb_wrap_custom44 .mcb-wrap_inner {
    margin-top: 0 !important;
  }
  .col-md-10.mcb_item_custom555 {
    margin-top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .mcb_item_custom555 h2.title {
    margin-top: 0 !important;
    font-size: 32px !important;
    max-width: 100% !important;
  }
  .col-md-4.mcb_wrap_custom45 {
    position: relative !important;
    bottom: auto !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 32px !important;
    padding: 0 !important;
  }
  .mcb_item_custom557 h2.title {
    margin-left: 0 !important;
  }

  /* ── HEADINGS ── */
  h2 { font-size: 28px !important; line-height: 1.2 !important; }
  h3 { font-size: 22px !important; line-height: 1.3 !important; }

  /* ── IMAGES ── */
  img { max-width: 100% !important; height: auto !important; }

  /* ── FOOTER ── */
  #Footer .col-md-6,
  #Footer .col-md-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 24px !important;
    float: none !important;
  }
  #Footer figure img {
    max-width: 180px !important;
    width: 180px !important;
    height: auto !important;
  }
}


/* ── Stats: 2-col grid on tablets (768px–1199px) ───────────── */

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .mcb_section_custom53 .col-md-3 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    box-sizing: border-box !important;
    margin-bottom: 20px !important;
  }
}


/* ── Small phones (≤479px) ─────────────────────────────────── */

@media only screen and (max-width: 479px) {
  .aawi-title .orange { font-size: 38px !important; }
  .aawi-title .purple { font-size: 21px !important; }
  .aawi-left { padding: 28px 16px 32px !important; }
  .mcb_section_custom53 .col-md-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
  }
  h2 { font-size: 24px !important; }
  h3 { font-size: 20px !important; }
  .aawi-hero { margin: 8px 8px 32px !important; }
  .mcb_section_custom43,
  .mcb_section_custom45,
  .mcb_section_custom53 {
    margin-left: 6px !important;
    margin-right: 6px !important;
  }
}
