/* ==========================================================================
   SINGLE POST ENHANCEMENT LAYER — loaded only on singular posts
   (see inc/enqueue.php). Every rule below reuses the sitewide --aii-*
   design tokens and existing component classes (.aii-btn, .aii-card,
   .aii-feature-card, .aii-faq, .aii-opportunity-details__icon) — no
   new colors, radii, shadows, or spacing scale is introduced.
   ========================================================================== */

/* -------------------- Post meta line (published/updated/author/
   reading time/category) — extends the existing .aii-card__meta
   typography already used elsewhere on the site. -------------------- */
.aii-post-meta-line{
  display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;align-items:center;
  font-size:.8125rem;color:#667685;margin:.6rem 0 0;
}
.aii-post-meta-line__item{display:inline-flex;align-items:center;gap:.35rem;}
.aii-post-meta-line__icon{width:15px;height:15px;color:var(--aii-primary);flex-shrink:0;}
.aii-post-meta-line a{color:var(--aii-primary);text-decoration:none;font-weight:600;}
.aii-post-meta-line a:hover{text-decoration:underline;}

/* -------------------- Official Information card -------------------- */
.aii-official-info{margin:1.5rem 0 2rem;}
/* Compact variant of the existing .aii-feature-grid — same card,
   tighter grid so 4 short trust badges read well above the fold. */
.aii-feature-grid--compact{grid-template-columns:repeat(2,1fr);gap:.85rem;}
@media(min-width:640px){.aii-feature-grid--compact{grid-template-columns:repeat(4,1fr);}}
.aii-feature-grid--compact .aii-feature-card{padding:1rem .75rem;}
.aii-feature-grid--compact .aii-feature-card__icon{width:24px;height:24px;margin-bottom:.4rem;}
.aii-feature-grid--compact .aii-feature-card__title{font-size:.75rem;}

/* -------------------- Single-post layout: TOC + content -------------------- */
.aii-single-layout{display:block;}
@media(min-width:1024px){
  .aii-single-layout{
    display:grid;grid-template-columns:260px minmax(0,1fr);gap:2.5rem;align-items:start;
  }
}

/* TOC box — same white-card language as .aii-search (border, radius, shadow). */
.aii-toc{
  background:var(--aii-white);border:1px solid #e6ebf1;border-radius:var(--aii-radius);
  padding:1.1rem 1.25rem;margin:0 0 2rem;
}
@media(min-width:1024px){
  .aii-toc{position:sticky;top:calc(var(--aii-header-h) + 1.25rem);margin:0;max-height:calc(100vh - var(--aii-header-h) - 2.5rem);overflow-y:auto;}
}
.aii-toc__title{
  display:flex;align-items:center;gap:.45rem;margin:0 0 .75rem;
  font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--aii-dark);
}
.aii-toc__title-icon{width:15px;height:15px;color:var(--aii-primary);}
.aii-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem;}
.aii-toc__item--level-3{padding-left:1rem;}
.aii-toc__link{
  display:block;padding:.35rem 0;font-size:.875rem;color:#526070;text-decoration:none;
  border-left:2px solid transparent;padding-left:.65rem;margin-left:-.65rem;transition:color .15s ease,border-color .15s ease;
}
.aii-toc__link:hover{color:var(--aii-primary);}
.aii-toc__link.is-active{color:var(--aii-primary);font-weight:700;border-left-color:var(--aii-primary);}

/* -------------------- Dynamic FAQ (single post) -------------------- */
.aii-post-faq{margin:2.5rem 0;}
.aii-post-faq__title{
  margin:0 0 1.25rem;font-size:1.15rem;font-weight:800;color:var(--aii-dark);
  display:flex;align-items:center;gap:.5rem;
}
.aii-post-faq__title::before{
  content:"";display:inline-block;width:6px;height:1.1rem;background:var(--aii-primary);border-radius:2px;flex-shrink:0;
}

/* -------------------- Share buttons -------------------- */
.aii-share-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:2rem 0;}
.aii-share-buttons__label{font-size:.8125rem;font-weight:700;color:var(--aii-dark);margin-right:.15rem;}
.aii-share-buttons__link{
  width:38px;height:38px;border-radius:50%;background:rgba(11,94,215,.08);color:var(--aii-primary);
  display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;
  transition:background-color .15s ease,color .15s ease;
}
.aii-share-buttons__link .aii-icon{width:17px;height:17px;}
.aii-share-buttons__link:hover,.aii-share-buttons__link:focus-visible{background:var(--aii-primary);color:#fff;}
.aii-share-buttons__link.is-copied{background:var(--aii-green);color:#fff;}

/* -------------------- Previous / Next navigation -------------------- */
.aii-post-nav{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.5rem 0;padding-top:1.5rem;border-top:1px solid #eef1f5;
}
.aii-post-nav__link{align-items:center;gap:.6rem;text-align:left;}
.aii-post-nav__link--next{justify-content:flex-end;text-align:right;flex-direction:row;}
.aii-post-nav__text{display:flex;flex-direction:column;gap:.15rem;min-width:0;}
.aii-post-nav__label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em;opacity:.75;}
.aii-post-nav__title{font-size:.8125rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;}
.aii-flip-x{transform:scaleX(-1);}
@media(max-width:559px){
  .aii-post-nav{grid-template-columns:1fr;}
  .aii-post-nav__title{max-width:none;white-space:normal;}
}

/* -------------------- Official Disclaimer card -------------------- */
.aii-single-disclaimer{
  display:flex;gap:.85rem;align-items:flex-start;margin:2rem 0 0;padding:1.1rem 1.25rem;
  background:var(--aii-bg);border:1px solid #e6ebf1;border-radius:var(--aii-radius);
}
.aii-single-disclaimer__icon{width:20px;height:20px;color:var(--aii-dark);flex-shrink:0;margin-top:.15rem;}
.aii-single-disclaimer__text{margin:0;font-size:.8125rem;line-height:1.6;color:#526070;}
.aii-single-disclaimer__text a{color:var(--aii-primary);font-weight:600;text-decoration:underline;margin-left:.2rem;}

@media(prefers-reduced-motion:reduce){
  .aii-toc__link{transition:none;}
  .aii-share-buttons__link{transition:none;}
}
