/* White Apple Institute — site-wide styles ported from the WP theme customizer + inline blocks. */

/* ---- Header critical (was inline) ---- */

	/* Critical header CSS inlined to prevent flash of unstyled header on load */
	.wai-utility-bar{background-color:#003161}
	.wai-utility-bar-inner{max-width:1400px;margin:0 auto;padding:10px 40px;min-height:42px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
	.wai-utility-message span,.wai-utility-learnmore,.wai-utility-links a{color:#fff;font-size:14px}
	.wai-utility-links{display:flex;align-items:center;gap:20px}
	.wai-header{background-color:#fff;box-shadow:0 2px 4px 0 rgba(0,0,0,.12)}
	.wai-header-inner{max-width:1400px;margin:0 auto;padding:8px 40px;min-height:64px;box-sizing:border-box;display:flex;align-items:center;flex-wrap:nowrap;gap:20px}
	.wai-site-branding{display:flex;align-items:center;flex:0 0 auto}
	.wai-site-logo a{display:flex;align-items:center;gap:12px;text-decoration:none}
	.wai-header-logo-img{width:50px;height:50px;display:block}
	.wai-header-wordmark{color:#003161;font-size:18px;font-weight:800;line-height:1.15;text-transform:uppercase;white-space:nowrap}
	.wai-main-navigation{flex:1 1 auto;display:flex;justify-content:center}
	.main-navigation-toggle,.wai-main-navigation .submenu-button{display:none}
	@media (max-width:1400px){.main-navigation-toggle{display:block}.wai-header-inner{flex-wrap:wrap}.wai-main-navigation{flex:1 1 100%}.wai-main-navigation > ul{flex-direction:column;align-items:flex-start}}
	.wai-main-navigation > ul{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:0;list-style:none;margin:0;padding:0;width:100%}
	.wai-main-navigation ul li a{color:#003161;font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:normal;padding:17px 10px;display:inline-block;line-height:1;white-space:nowrap}
	.wai-main-navigation ul li a>span{display:inline-block;padding:2px}
	.wai-main-navigation ul ul,.wai-main-navigation ul.sub-menu{position:absolute;top:100%;left:0;opacity:0;visibility:hidden;margin:0;padding:0;list-style:none}
	.wai-main-navigation li{position:relative}
	.wai-header-donate-btn{display:inline-block;flex:0 0 auto;background-color:#b5121b;border:2px solid #b5121b;color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;text-decoration:none;padding:14px 28px;min-width:150px;text-align:center;box-sizing:border-box;white-space:nowrap}
	
/* ---- Footer (was inline in footer.php) ---- */

  .wai-footer {
    width: 100%;
    background-color: #000000;
    color: #ffffff;
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
  }

  .wai-footer-topbar {
    height: 6px;
    width: 100%;
    background-color: #4a7fd5;
  }

  .wai-footer-main {
    max-width: 1140px;
    margin: 0 auto;
    padding: 50px 40px 30px 40px;
    box-sizing: border-box;
  }

  .wai-footer-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 70px;
    padding-bottom: 30px;
  }

  .wai-footer-brand {
    flex: 0 0 180px;
  }

  .wai-footer-logo {
    width: 70px;
    height: auto;
    margin-bottom: 16px;
  }

  .wai-footer-phone {
    margin: 0 0 6px 0;
  }

  .wai-footer-phone a {
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
  }

  .wai-footer-phone a:hover {
    color: #4a7fd5;
  }

  .wai-footer-address {
    color: #6b7a90;
    font-size: 13px;
    line-height: 1.5;
    margin: 12px 0 0 0;
  }

  .wai-footer-columns {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 70px;
  }

  .wai-footer-col {
    flex: 0 0 180px;
  }

  .wai-footer-col h4 {
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 18px 0;
  }

  .wai-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .wai-footer-col li {
    margin-bottom: 12px;
  }

  .wai-footer-col a {
    color: #c5ccd0;
    font-size: 14px;
    text-decoration: none;
  }

  .wai-footer-col a:hover {
    color: #4a7fd5;
    text-decoration: underline;
  }

  .wai-footer-badges {
    display: flex;
    gap: 22px;
    margin-top: 24px;
    flex-wrap: nowrap;
    align-items: flex-start;
  }

  .wai-badge-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  .wai-footer-badges .wai-badge {
    width: 54px;
    height: 54px;
    display: block;
    flex: 0 0 auto;
  }

  .wai-badge-caption {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #c5ccd0;
    white-space: nowrap;
  }

  .wai-footer-badges img {
    height: 54px;
    width: auto;
    border-radius: 4px;
    background-color: #ffffff;
    padding: 4px;
  }

  .wai-footer-social-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    padding-top: 24px;
    flex-wrap: wrap;
  }

  .wai-footer-connect-label {
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
  }

  .wai-footer-social-icons {
    display: flex;
    gap: 26px;
    align-items: center;
  }

  .wai-footer-social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #c5ccd0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: color 300ms;
  }

  .wai-footer-social-icons a:hover {
    color: #4a7fd5;
  }

  .wai-footer-bottombar {
    background-color: #181818;
    border-top: 1px solid #1f2937;
  }

  .wai-footer-bottombar-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 18px 40px;
    box-sizing: border-box;
  }

  .wai-footer-copyright {
    color: #c5ccd0;
    font-size: 13px;
    margin: 0 0 6px 0;
  }

  .wai-footer-copyright a {
    color: #c5ccd0;
    text-decoration: underline;
  }

  .wai-footer-copyright a:hover {
    color: #4a7fd5;
  }

  .wai-footer-legal {
    color: #5b6b82;
    font-size: 12px;
    margin: 0;
  }

  @media (max-width: 700px) {
    .wai-footer-inner {
      flex-direction: column;
      gap: 30px;
    }
    .wai-footer-columns {
      gap: 30px;
    }
  }

/* ---- Home: founder band (was Elementor HTML widget) ---- */

  .wai-founder {
    width: 100%;
    background-color: #d3e4f0;
    padding: 70px 40px;
    box-sizing: border-box;
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
  }
  .wai-founder-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
    flex-wrap: wrap;
  }
  .wai-founder-text {
    flex: 1 1 480px;
    min-width: 300px;
  }
  .wai-founder-eyebrow {
    color: #005da5;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 14px 0;
  }
  .wai-founder-title {
    color: #1a2233;
    font-size: clamp(24px, 2.6vw, 32px);
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 20px 0;
  }
  .wai-founder-body {
    color: #38455a;
    font-size: 18px;
    line-height: 1.7;
    margin: 0 0 20px 0;
  }
  .wai-founder-donate-link {
    color: #005da5;
    font-weight: 700;
    text-decoration: underline;
  }
  .wai-founder-gofundme {
    color: #1a2233;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .3px;
    margin: 0 0 20px 0;
  }
  .wai-founder-gofundme a {
    color: #005da5;
    text-decoration: underline;
  }
  .wai-founder-fine-print {
    color: #6b7a90;
    font-size: 12px;
    line-height: 1.6;
    margin: 0;
  }

  .wai-founder-video {
    flex: 0 1 300px;         /* don't grow past the video */
    min-width: 260px;
    display: flex;
    justify-content: center;
  }
  /* --- Zoom-crop to hide the video's baked-in black bars --- */
  .wai-video-wrapper {
    position: relative;
    width: 100%;
    max-width: 300px;
    padding-top: 133%;        /* visible window = the footage shape. TUNE #1 */
    overflow: hidden;         /* clips the black bars pushed outside */
    background-color: #d3e4f0;
    border-radius: 6px;       /* matches the impact cards */
    margin: 0 auto;
  }
  .wai-video-frame {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 182%;             /* zoom so footage fills; bigger = crops more. TUNE #2 */
    border: 0;
  }
  @media (max-width: 900px) {
    .wai-founder-inner {
      flex-direction: column;
    }
    .wai-founder-text,
    .wai-founder-video {
      flex: 1 1 100%;
    }
  }

/* ---- Form page right rail (was Elementor HTML widget) ---- */
  .wai-rail{
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color:#3d4550;
    position:sticky;
    top:100px;
    align-self:flex-start;
  }
  .wai-rail__tag{
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 20px; font-weight: 700; line-height: 1.3;
    color: #0E0E0E; text-align: left; letter-spacing: 0;
    text-transform: none; margin: 0 0 20px;
  }
  .wai-rail__tag em{ font-style:normal; color:#C8102E; }
  .wai-rail__lead{ font-size:15px; line-height:1.6; margin:0 0 24px; }
  .wai-rail__fig{ margin:0 !important; overflow:hidden; border-radius:4px; display:block; }
  .wai-rail__fig img{
    display:block; width:100%; height:auto;
    transition:transform .5s ease;
  }
  .wai-rail__fig:hover img{ transform:scale(1.03); }

  .wai-rail__cta{
    display:inline-flex; align-items:center; gap:8px;
    margin-top:24px !important;
    background:#C8102E; color:#fff !important;
    font-size:14px; font-weight:700; letter-spacing:.02em;
    text-decoration:none; text-transform:uppercase;
    padding:13px 26px; border-radius:6px;
    box-shadow:0 2px 6px rgba(200,16,46,.25);
    transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .wai-rail__cta:hover{
    background:#a60d26; transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(200,16,46,.32);
  }
  .wai-rail__cta svg{ width:16px; height:16px; }

  @media (max-width:1024px){
    .wai-rail{ position:static; margin-top:32px; }
  }

/* ======================================================================
   Laravel build additions
   ====================================================================== */

/* Base rules Elementor applied to all page content on the WP site. The plugin CSS
   was tuned on top of these, so <main class="elementor"> keeps the same cascade. */
.elementor *, .elementor :after, .elementor :before { box-sizing: border-box; }
.elementor a { box-shadow: none; text-decoration: none; }
.elementor img { border: none; border-radius: 0; box-shadow: none; height: auto; max-width: 100%; }
.elementor embed, .elementor iframe, .elementor object, .elementor video { border: none; line-height: 1; margin: 0; max-width: 100%; width: 100%; }
/* Fix: let impact-card photos fill the whole card (Elementor's img rule cropped them to the top). */
.elementor .waic-card-dark .waic-card-image { height: 100%; }
/* Home: Elementor added 20px widget spacing below the slider + an empty programs widget. */
.home .htmlslider { margin-bottom: 40px; }
.wai-main { display: block; }
.wai-main > section + section { margin-top: 0; }

/* Flash messages */
.wai-flash { max-width: 1140px; margin: 16px auto; padding: 12px 18px; border-radius: 6px; font-size: 15px; }
.wai-flash--ok { background: #e7f5ec; color: #155c2e; border: 1px solid #b7e0c4; }
.wai-flash--err { background: #fdecee; color: #8a1020; border: 1px solid #f3c1c8; }

/* Two-column form pages (form + rail) — replaces the Elementor 2-col container */
.wai-split { max-width: 1140px; margin: 0 auto; padding: 50px 20px 70px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; box-sizing: border-box; }
.wai-split__side { align-self: stretch; }
.wai-split__side .wai-rail { position: sticky; top: 100px; }
@media (max-width: 1024px) { .wai-split { grid-template-columns: 1fr; } .wai-split__side .wai-rail { position: static; } }

/* Narrow single-column pages (login, account, legal) */
.wai-narrow { max-width: 760px; margin: 0 auto; padding: 50px 20px 70px; box-sizing: border-box; }
.wai-narrow__title { font-family: Montserrat, Arial, sans-serif; font-weight: 800; color: #003161; font-size: clamp(26px, 3vw, 34px); margin: 0 0 18px; }
.wai-narrow__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.wai-prose { font-size: 17px; line-height: 1.7; color: #38455a; }
.wai-prose h2, .wai-prose h3 { color: #1a2233; margin: 1.4em 0 .5em; }
.wai-prose a { color: #005da5; }
.wai-empty { text-align: center; color: #6b7a90; padding: 30px 0; }

.wai-ui-btn, .wai-ui-btn--ghost { display: inline-block; padding: 12px 24px; border-radius: 6px; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .02em; text-decoration: none; cursor: pointer; border: 2px solid #003161; line-height: 1.2; }
.wai-ui-btn { background: #003161; color: #fff !important; }
.wai-ui-btn:hover { background: #06427f; border-color: #06427f; }
.wai-ui-btn--ghost { background: #fff; color: #003161 !important; }
.wai-ui-btn--ghost:hover { background: #f0f4f9; }
.wai-check { display: flex; align-items: center; gap: 8px; margin: 6px 0 16px; font-size: 14px; }

/* Account */
.wai-account__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.wai-account__card { background: #fff; border: 1px solid #d7dee7; border-radius: 8px; padding: 24px 26px; margin-bottom: 22px; }
.wai-account__card h2 { font-size: 20px; color: #003161; margin: 0 0 12px; }
.wai-account__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 16px 0 0; }
.wai-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.wai-table th, .wai-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #e5e9f0; }
.wai-table th { color: #6b7a90; font-weight: 600; font-size: 13px; text-transform: uppercase; }

/* Events: upcoming list (side column) */
.wai-net-upcoming-item { display: block; padding: 12px 14px; border-left: 4px solid #003161; background: #f4f7fb; margin-bottom: 10px; text-decoration: none; color: #1a2233; }
.wai-net-upcoming-item:hover { background: #e8eef7; }
.wai-net-upcoming-date { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; color: #b5121b; letter-spacing: .04em; }
.wai-net-upcoming-title { display: block; font-weight: 700; margin-top: 2px; }
.wai-net-event-banner { display: block; width: 100%; height: auto; border-radius: 6px; margin-bottom: 18px; }

/* GoFundMe page (was the wai-gofundme plugin) */
.wai-gf { padding: 60px 20px 80px; background: #f6f8fb; }
.wai-gf__inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px; align-items: start; }
.wai-gf__media img { width: 100%; height: auto; border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.12); position: sticky; top: 100px; }
.wai-gf__title { font-family: Montserrat, Arial, sans-serif; font-weight: 800; color: #1a2233; font-size: clamp(28px, 3.2vw, 40px); margin: 0 0 18px; }
.wai-gf__bar { height: 10px; background: #e1e7ef; border-radius: 6px; overflow: hidden; }
.wai-gf__bar span { display: block; height: 100%; background: var(--wai-gf-accent); }
.wai-gf__stats { margin: 10px 0 2px; color: #38455a; }
.wai-gf__bartext { margin: 0 0 18px; font-size: 14px; color: #6b7a90; }
.wai-gf__btn { display: inline-block; background: var(--wai-gf-accent); color: #fff !important; font-weight: 700; padding: 14px 34px; border-radius: 8px; text-decoration: none; font-size: 16px; margin: 6px 0 22px; }
.wai-gf__btn:hover { filter: brightness(.92); }
.wai-gf__desc { font-size: 17px; line-height: 1.75; color: #38455a; }
@media (max-width: 900px) { .wai-gf__inner { grid-template-columns: 1fr; } .wai-gf__media img { position: static; } }

/* Search */
.wai-search-form { display: flex; gap: 10px; margin-bottom: 18px; }
.wai-search-form input { flex: 1; padding: 12px 14px; border: 1px solid #c9d3df; border-radius: 6px; font-size: 16px; }
.wai-search-count { color: #6b7a90; }
.wai-search-results { list-style: none; padding: 0; margin: 0; }
.wai-search-results li { padding: 16px 0; border-bottom: 1px solid #e5e9f0; }
.wai-search-results a { font-size: 18px; font-weight: 700; color: #003161; text-decoration: none; }
.wai-search-results p { margin: 6px 0 0; color: #38455a; }
.wai-search-type { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; color: #fff; background: #4a7fd5; padding: 2px 8px; border-radius: 10px; margin-right: 8px; vertical-align: middle; }
.wai-sitemap { columns: 2; }
.wai-contact-map-wrap { max-width: 960px; margin: 40px auto 0; padding: 0 20px; }
.wai-utility-links a { text-decoration: none; }
