/**
 * AI20 Visual Identity v1 — Shared content surfaces (Staging).
 * News, profiles, join/enquiry, coming-soon — template-level, not page-by-page.
 */

/* News archive / articles */
body.ai20-vi-system .ai20-news,
body.ai20-vi-system .edpf-news,
body.ai20-vi-system.single-post .content-area,
body.ai20-vi-system.blog .content-area,
body.ai20-vi-system.archive .content-area,
body.ai20-vi-system.search .content-area {
  font-family: var(--ai20-vi-font);
  color: var(--ai20-vi-graphite);
}

body.ai20-vi-system .entry-title,
body.ai20-vi-system.single-post .entry-hero .entry-hero-container-inner .entry-header .entry-title,
body.ai20-vi-system .wp-block-post-title {
  font-family: var(--ai20-vi-font);
  color: var(--ai20-vi-midnight);
  letter-spacing: -0.02em;
}

body.ai20-vi-system .entry-meta,
body.ai20-vi-system .posted-on,
body.ai20-vi-system .entry-taxonomies {
  font-family: var(--ai20-vi-font);
  font-size: var(--ai20-vi-body-sm);
  color: var(--ai20-vi-muted);
}

body.ai20-vi-system article.post,
body.ai20-vi-system .wp-block-post,
body.ai20-vi-system .loop-entry {
  border-color: var(--ai20-vi-border);
}

body.ai20-vi-system .loop-entry .entry-title a:hover,
body.ai20-vi-system .entry-title a:hover {
  color: var(--ai20-vi-azure);
}

/* People / organization profiles */
body.ai20-vi-system .ai20-person-profile,
body.ai20-vi-system .ai20-entity-profile,
body.ai20-vi-system .edpf-entity-profile {
  font-family: var(--ai20-vi-font);
  color: var(--ai20-vi-graphite);
}

body.ai20-vi-system .edpf-entity-profile__title,
body.ai20-vi-system .ai20-person-profile h1,
body.ai20-vi-system .ai20-entity-profile h1 {
  font-family: var(--ai20-vi-font);
  color: var(--ai20-vi-midnight);
}

body.ai20-vi-system .ai20-entity-crumbs__link:hover,
body.ai20-vi-system .ai20-entity-profile__back a:hover {
  color: var(--ai20-vi-azure) !important;
}

@media (max-width: 767px) {
  body.ai20-vi-system.single-people .content-container,
  body.ai20-vi-system.single-people .site-main,
  body.ai20-vi-system.single-people .content-wrap,
  body.ai20-vi-system.single-people article.entry,
  body.ai20-vi-system.single-people .entry-content-wrap,
  body.ai20-vi-system.single-people .entry-content {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  body.ai20-vi-system.single-people .content-wrap {
    width: 100dvw;
    max-width: 100dvw;
    overflow-x: hidden;
  }

  body.ai20-vi-system.single-people article.entry {
    width: calc(100dvw - 2rem);
    max-width: calc(100dvw - 2rem);
    margin-inline: auto;
  }

  body.ai20-vi-system.single-people .entry-content,
  body.ai20-vi-system.single-people .entry-content p,
  body.ai20-vi-system.single-people .entry-content a,
  body.ai20-vi-system.single-people .entry-content strong {
    overflow-wrap: anywhere;
  }
}

/* Join / enquiry */
body.ai20-vi-system .ai20-join-page,
body.ai20-vi-system .ai20-join,
body.ai20-vi-system .ai20-public-search {
  font-family: var(--ai20-vi-font);
}

body.ai20-vi-system .ai20-join-page__hero,
body.ai20-vi-system .ai20-public-search__hero,
body.ai20-vi-system .ai20-countries-page__hero {
  border-bottom-color: var(--ai20-vi-border);
}

body.ai20-vi-system .ai20-join__cta-primary,
body.ai20-vi-system .ai20-join-teaser__link {
  font-family: var(--ai20-vi-font);
}

/* Coming soon / awaiting states */
body.ai20-vi-system .ai20-awaiting-content,
body.ai20-vi-system .ai20-coming-soon,
body.ai20-vi-system .coming-soon {
  border-radius: var(--ai20-vi-radius-card);
  border-color: var(--ai20-vi-border);
  background: var(--ai20-vi-future-white);
  font-family: var(--ai20-vi-font);
}

body.ai20-vi-system .ai20-awaiting-content__marker,
body.ai20-vi-system .ai20-coming-soon__label {
  color: var(--ai20-vi-azure) !important;
}

/* Contact / enquiry forms already covered in components; reinforce labels */
body.ai20-vi-system .wpcf7 label,
body.ai20-vi-system .contact-form label,
body.ai20-vi-system .ai20-join label {
  font-family: var(--ai20-vi-font);
  font-size: var(--ai20-vi-body-sm);
  color: var(--ai20-vi-graphite);
  font-weight: 500;
}

/* Prevent horizontal overflow from VI chrome */
body.ai20-vi-system .site,
body.ai20-vi-system .content-container,
body.ai20-vi-system .entry-content {
  max-width: 100%;
  overflow-x: clip;
}
