/* ==========================================================================
   MAIN STYLESHEET — loaded non-render-blocking (see inc/enqueue.php)
   Sitewide components below the fold. BEM naming. Mobile-first.
   ========================================================================== */

/* Layout helpers */
.aii-container{max-width:1280px;margin:0 auto;padding:0 1rem;}
.aii-section{padding:3rem 0;}
.aii-section__header{text-align:center;max-width:680px;margin:0 auto 2.5rem;}
.aii-section__title{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;color:var(--aii-dark);margin:0 0 .5rem;}
.aii-section__desc{color:#526070;margin:0;}
.aii-section--alt{background:var(--aii-white);}

/* Announcement Bar */
.aii-announcement-bar{background:var(--aii-green);color:#fff;font-size:.8125rem;}
.aii-announcement-bar__inner{padding:.55rem 1rem;text-align:center;}
.aii-announcement-bar__link{color:#fff;font-weight:700;text-decoration:underline;margin-left:.5rem;}

/* Breadcrumb */
.aii-breadcrumb{padding:.75rem 0;font-size:.8125rem;background:var(--aii-white);border-bottom:1px solid #eef1f5;}
.aii-breadcrumb__list{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;max-width:1280px;margin:0 auto;padding-left:1rem;padding-right:1rem;}
.aii-breadcrumb__list li{display:flex;align-items:center;gap:.35rem;color:#667685;}
.aii-breadcrumb__list a{color:var(--aii-primary);text-decoration:none;}
.aii-breadcrumb__list a:hover{text-decoration:underline;}
.aii-breadcrumb__icon{width:14px;height:14px;}

/* Quick Services Grid */
.aii-services{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr);}
@media(min-width:720px){.aii-services{grid-template-columns:repeat(4,1fr);}}
.aii-service-card{
  background:var(--aii-white);border:1px solid #e6ebf1;border-radius:var(--aii-radius);
  padding:1.5rem 1.25rem;text-align:center;text-decoration:none;color:var(--aii-text);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.aii-service-card:hover,.aii-service-card:focus-visible{
  transform:translateY(-4px);box-shadow:0 10px 24px rgba(11,94,215,.12);border-color:var(--aii-primary);
}
.aii-service-card__icon{width:44px;height:44px;margin:0 auto .75rem;color:var(--aii-primary);}
.aii-service-card__title{font-weight:700;font-size:.95rem;margin:0 0 .35rem;color:var(--aii-dark);}
.aii-service-card__desc{font-size:.8125rem;color:#667685;margin:0;}

/* Search Apprenticeships */
.aii-search{background:var(--aii-white);border:1px solid #e6ebf1;border-radius:var(--aii-radius);padding:1.5rem;box-shadow:0 8px 24px rgba(0,59,117,.06);}
.aii-search__form{display:grid;gap:.75rem;grid-template-columns:1fr;}
@media(min-width:780px){.aii-search__form{grid-template-columns:2fr 1fr 1fr auto;}}
.aii-search__field{display:flex;flex-direction:column;gap:.35rem;}
.aii-search__label{font-size:.8125rem;font-weight:600;color:var(--aii-dark);}
.aii-search__input,.aii-search__select{
  padding:.65rem .75rem;border:1.5px solid #d5dce4;border-radius:var(--aii-radius);font-size:1rem;font-family:inherit;
}
/* font-size was 15px — below the 16px iOS Safari threshold, which
   forces the whole page to zoom in whenever a phone user taps this
   field. 16px (1rem) stops that unwanted zoom on the search widget. */
.aii-search__input:focus,.aii-search__select:focus{outline:2px solid var(--aii-primary);outline-offset:1px;}

/* Cards (opportunities / news / partners) */
.aii-cards-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;}
@media(min-width:640px){.aii-cards-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.aii-cards-grid{grid-template-columns:repeat(3,1fr);}}
.aii-card{
  background:var(--aii-white);border:1px solid #e6ebf1;border-radius:var(--aii-radius);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s ease, transform .18s ease;
}
.aii-card:hover{box-shadow:0 12px 28px rgba(0,59,117,.1);transform:translateY(-3px);}
.aii-card__image{aspect-ratio:16/10;background:#eef2f7;object-fit:cover;width:100%;}
.aii-card__body{padding:1.1rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.aii-card__tag{display:inline-flex;align-self:flex-start;background:#e7f0fe;color:var(--aii-primary);font-size:.6875rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;}
.aii-card__title{font-size:1rem;font-weight:700;color:var(--aii-dark);margin:0;}
.aii-card__meta{font-size:.8125rem;color:#667685;display:flex;gap:.75rem;flex-wrap:wrap;}
.aii-card__footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;}
.aii-card__footer--dual{gap:.6rem;flex-wrap:wrap;}
.aii-card__footer--dual .aii-btn{flex:1 1 auto;justify-content:center;}
.aii-card__org{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;color:#3a4a5a;font-weight:600;margin:0;}
.aii-card__org .aii-icon{width:15px;height:15px;color:var(--aii-primary);}
.aii-card__last-date{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--aii-green);font-weight:600;margin:0;}
.aii-card__last-date .aii-icon{width:14px;height:14px;}
.aii-card__last-date--closed{color:#b91c1c;}

/* Opportunity Details card — single post page (see inc/opportunity-fields.php) */
.aii-opportunity-details{
  background:var(--aii-white);border:1px solid #e6ebf1;border-radius:var(--aii-radius);
  padding:1.5rem;margin:2rem 0;
}
.aii-opportunity-details__title{font-size:1.125rem;font-weight:800;color:var(--aii-dark);margin:0 0 1.25rem;}
.aii-opportunity-details__grid{display:grid;gap:1rem;grid-template-columns:1fr;margin:0;}
@media(min-width:640px){.aii-opportunity-details__grid{grid-template-columns:repeat(2,1fr);}}
.aii-opportunity-details__item{display:flex;gap:.65rem;align-items:flex-start;}
.aii-opportunity-details__icon{width:20px;height:20px;color:var(--aii-primary);flex-shrink:0;margin-top:.15rem;}
.aii-opportunity-details__content dt{font-size:.75rem;color:#8492a1;font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin:0;}
.aii-opportunity-details__content dd{font-size:.9375rem;color:var(--aii-text);font-weight:600;margin:.15rem 0 0;}
.aii-opportunity-details__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #eef1f5;}
.aii-btn__icon{width:16px;height:16px;}

/* Related Opportunities — single post page */
.aii-related-opportunities{margin:2.5rem 0;}
.aii-related-opportunities__title{font-size:1.125rem;font-weight:800;color:var(--aii-dark);margin:0 0 1.25rem;}

/* Statistics */
.aii-stats{background:var(--aii-dark);color:#fff;padding:2.5rem 1rem;}
.aii-stats__inner{max-width:1280px;margin:0 auto;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);text-align:center;}
@media(min-width:720px){.aii-stats__inner{grid-template-columns:repeat(4,1fr);}}
.aii-stats__number{display:block;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;color:#7db4ff;}
.aii-stats__label{font-size:.8125rem;opacity:.85;}

/* Timeline (How It Works) */
.aii-timeline{position:relative;max-width:840px;margin:0 auto;padding-left:2rem;border-left:3px solid #d7e6ff;}
.aii-timeline__step{position:relative;padding-bottom:2rem;}
.aii-timeline__step::before{
  content:"";position:absolute;left:-2.44rem;top:.15rem;width:16px;height:16px;border-radius:50%;
  background:var(--aii-primary);border:3px solid #fff;box-shadow:0 0 0 2px var(--aii-primary);
}
.aii-timeline__title{font-weight:700;color:var(--aii-dark);margin:0 0 .3rem;}
.aii-timeline__desc{color:#526070;margin:0;font-size:.9375rem;}

/* Benefits */
.aii-benefits{display:grid;gap:1.25rem;grid-template-columns:1fr;}
@media(min-width:720px){.aii-benefits{grid-template-columns:repeat(3,1fr);}}
.aii-benefit{display:flex;gap:.85rem;align-items:flex-start;}
.aii-benefit__icon{width:32px;height:32px;color:var(--aii-green);flex-shrink:0;}
.aii-benefit__title{font-weight:700;margin:0 0 .25rem;color:var(--aii-dark);}
.aii-benefit__desc{margin:0;font-size:.875rem;color:#667685;}

/* FAQ Accordion */
.aii-faq{max-width:820px;margin:0 auto;}
.aii-faq__item{border-bottom:1px solid #e6ebf1;}
.aii-faq__question{
  width:100%;text-align:left;background:none;border:none;padding:1rem 0;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-weight:600;color:var(--aii-dark);cursor:pointer;font-size:.9375rem;
}
.aii-faq__icon{width:18px;height:18px;flex-shrink:0;transition:transform .2s ease;}
.aii-faq__question[aria-expanded="true"] .aii-faq__icon{transform:rotate(180deg);}
.aii-faq__answer{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.aii-faq__answer-inner{padding:0 0 1rem;color:#526070;font-size:.9375rem;}

/* Downloads / Resources */
.aii-download-item{
  display:flex;align-items:center;gap:.85rem;padding:1rem;background:var(--aii-white);
  border:1px solid #e6ebf1;border-radius:var(--aii-radius);text-decoration:none;color:var(--aii-text);
}
.aii-download-item__icon{width:28px;height:28px;color:var(--aii-primary);flex-shrink:0;}
.aii-download-item__title{font-weight:600;margin:0;font-size:.9375rem;}
.aii-download-item__meta{font-size:.75rem;color:#8492a1;margin:0;}

/* Footer */
.aii-footer{background:#0d1b2a;color:#c6d2e0;padding:3rem 0 1.5rem;font-size:.875rem;}
.aii-footer__grid{display:grid;gap:2rem;grid-template-columns:1fr;}
@media(min-width:780px){.aii-footer__grid{grid-template-columns:2fr repeat(3,1fr);}}
.aii-footer__heading{color:#fff;font-size:.9375rem;font-weight:700;margin:0 0 1rem;}
.aii-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.aii-footer__list a{color:#c6d2e0;text-decoration:none;}
.aii-footer__list a:hover{color:#fff;text-decoration:underline;}
.aii-footer__social{display:flex;gap:.6rem;margin-top:1rem;}
.aii-footer__social a{width:34px;height:34px;border-radius:50%;background:#16263a;display:flex;align-items:center;justify-content:center;color:#c6d2e0;}
.aii-footer__social a:hover{background:var(--aii-primary);color:#fff;}
.aii-footer__bottom{border-top:1px solid #1c2c40;margin-top:2.5rem;padding-top:1.25rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-size:.8125rem;color:#8492a1;}
.aii-footer__disclaimer{max-width:900px;font-size:.75rem;color:#7789a0;line-height:1.5;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #1c2c40;}

/* Back to top */
.aii-back-to-top{
  position:fixed;right:1.25rem;bottom:1.25rem;width:44px;height:44px;border-radius:50%;
  background:var(--aii-dark);color:#fff;border:none;display:flex;align-items:center;justify-content:center;
  cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;z-index:90;
}
.aii-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.aii-back-to-top svg{width:20px;height:20px;}

/* Floating Help Button */
.aii-floating-help{
  position:fixed;left:1.25rem;bottom:1.25rem;background:var(--aii-green);color:#fff;
  border-radius:999px;padding:.75rem 1.1rem;display:flex;align-items:center;gap:.5rem;
  text-decoration:none;font-weight:600;font-size:.875rem;box-shadow:0 8px 20px rgba(25,135,84,.3);z-index:90;
}
.aii-floating-help svg{width:18px;height:18px;}

/* Accessibility toolbar */
.aii-a11y-toolbar{display:flex;gap:.4rem;background:#0d1b2a;padding:.35rem .75rem;justify-content:flex-end;max-width:1280px;margin:0 auto;}
.aii-a11y-toolbar__btn{background:#16263a;color:#c6d2e0;border:none;border-radius:4px;padding:.25rem .55rem;font-size:.75rem;cursor:pointer;}
.aii-a11y-toolbar__btn[aria-pressed="true"]{background:var(--aii-primary);color:#fff;}

/* Mega menu (progressive enhancement — CSS-only fallback via :focus-within) */
.aii-nav{display:none;}
@media(min-width:960px){
  .aii-nav{display:block;}
  /* Hamburger toggle had no rule hiding it at desktop widths, so it
     sat next to the full mega menu at the same time — a redundant,
     confusing duplicate entry point into the (unneeded) mobile drawer. */
  [data-mobile-nav-toggle]{display:none;}
  .aii-nav__list{list-style:none;display:flex;gap:1.75rem;margin:0;padding:0;}
  .aii-nav__link{
    display:flex;align-items:center;gap:.3rem;color:var(--aii-dark);text-decoration:none;
    font-weight:600;font-size:.9375rem;padding:1.1rem 0;
  }
  .aii-nav__item{position:relative;}
  .aii-nav__mega{
    position:absolute;top:100%;left:0;background:#fff;border:1px solid #e6ebf1;border-radius:var(--aii-radius);
    box-shadow:0 16px 32px rgba(0,59,117,.12);min-width:520px;padding:1.5rem;
    display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;
    opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease, transform .15s ease, visibility .15s;
  }
  .aii-nav__item:hover .aii-nav__mega,
  .aii-nav__item:focus-within .aii-nav__mega{opacity:1;visibility:visible;transform:translateY(0);}
  .aii-nav__mega-link{display:block;text-decoration:none;color:var(--aii-text);font-size:.875rem;padding:.4rem 0;}
  .aii-nav__mega-link:hover{color:var(--aii-primary);}
}

/* Mobile drawer nav */
.aii-mobile-nav{
  position:fixed;inset:0;background:#fff;z-index:200;transform:translateX(-100%);
  transition:transform .25s ease;overflow-y:auto;padding:1rem;
}
.aii-mobile-nav.is-open{transform:translateX(0);}
.aii-mobile-nav__close{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--aii-dark);}
.aii-mobile-nav__list{list-style:none;margin:1.5rem 0 0;padding:0;}
.aii-mobile-nav__list a{display:block;padding:.85rem 0;border-bottom:1px solid #eef1f5;color:var(--aii-text);text-decoration:none;font-weight:600;}

/* Page / Single content typography */
.aii-page-content__body{font-size:1rem;color:var(--aii-text);}
.aii-page-content__body h2{color:var(--aii-dark);font-size:1.5rem;margin-top:2rem;}
.aii-page-content__body h3{color:var(--aii-dark);font-size:1.2rem;margin-top:1.5rem;}
.aii-page-content__body p{margin:0 0 1.1rem;}
.aii-page-content__body ul,.aii-page-content__body ol{margin:0 0 1.1rem;padding-left:1.4rem;}
.aii-page-content__body a{text-decoration:underline;}
.aii-disclaimer-full p{margin:0 0 1rem;color:#526070;}

/* Utility */
.aii-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.aii-mt-0{margin-top:0;}
