/* ================================================================
   main.css — enbi Theme v3.2
   Entry point: imports N2 tokens then N3 components
================================================================ */

@import url('tokens-n2.css');
@import url('components-n3.css');

/* ————————————————
   GHOST CONTENT CARD OVERRIDES
   Ghost injects card styles — ensure ours take precedence
———————————————— */
.kg-width-wide  { margin-inline: -5vw; }
.kg-width-full  { margin-inline: calc(-1 * clamp(1.5rem, 4vw, 3rem)); }
.kg-image-card img { border-radius: var(--radius-sm); }
.kg-gallery-card .kg-gallery-container { gap: .5rem; }
.kg-gallery-row { display: flex; flex-direction: row; justify-content: center; gap: .5rem; }
.kg-gallery-image { flex: 1 1 0; }
.kg-gallery-image img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-sm); }
.kg-bookmark-card { border: 1px solid var(--color-border-subtle) !important; border-radius: var(--radius-sm) !important; }
.kg-bookmark-container {
  display: flex;
  min-height: 148px;
  color: inherit;
  text-decoration: none;
  background: var(--color-bg-surface);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.kg-bookmark-content { display: flex; flex: 1; flex-direction: column; gap: .5rem; padding: 1.25rem; }
.kg-bookmark-title { font-size: 1rem; font-weight: 700; line-height: 1.35; }
.kg-bookmark-description { font-size: .875rem; line-height: 1.55; color: var(--color-text-secondary); }
.kg-bookmark-metadata { display: flex; align-items: center; gap: .5rem; margin-top: auto; font-size: .75rem; color: var(--color-text-faint); }
.kg-bookmark-icon { width: 18px; height: 18px; border-radius: 3px; }
.kg-bookmark-author,
.kg-bookmark-publisher { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kg-bookmark-thumbnail { position: relative; flex: 0 0 32%; min-width: 160px; }
.kg-bookmark-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.kg-callout-card { border-radius: var(--radius-sm); background: var(--color-bg-tint-blue) !important; border: none !important; }
.kg-toggle-card { border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); }

@media (max-width: 640px) {
  .kg-bookmark-container { flex-direction: column; }
  .kg-bookmark-thumbnail { flex-basis: auto; min-width: 0; aspect-ratio: 16 / 9; order: -1; }
}

/* Ghost member portal overrides */
#ghost-portal-root { z-index: 9999; }

/* ————————————————
   BODY CLASS VARIANTS
———————————————— */
.home-template    { background: var(--color-bg-page); }
.post-template    { background: var(--color-bg-page); }
.page-template    { background: var(--color-bg-page); }
.tag-template     { background: var(--color-bg-page); }
.author-template  { background: var(--color-bg-page); }
.error-template   { background: var(--color-bg-navy); }

/* Contact page: navy background throughout main */
.page-template.page-contact main { background: var(--color-bg-navy); }

/* ————————————————
   POST CONTENT: scoped enbi editorial components
   These classes are safe to use inside Ghost HTML cards
———————————————— */
.gh-content .blockquote-edito    { margin-block: 2rem; }
.gh-content .encadre             { margin-block: 2rem; }
.gh-content .encadre-chiffres    { margin-block: 2rem; }
.gh-content .synthese-bloc       { margin-block: 2.5rem; }
.gh-content .synthese-actionnable { margin-block: 2rem; }
.gh-content .synthese-table      { margin-block: 2rem; }
.gh-content .methode-checklist   { margin-block: 2.5rem; }
.gh-content .faq-item:first-child { margin-top: 2.5rem; }
.gh-content .cas-anonymise       { margin-block: 2rem; }
.gh-content .citation-scientifique { margin-block: 2rem; }
.gh-content .citation-juridique  { margin-block: 2rem; }
.gh-content .piece-jointe        { margin-block: 2rem; }
.gh-content .cta-inline          { margin-block: 3rem; }
.gh-content .resource-card       { margin-block: 1.5rem; }
.gh-content .bloc-auteur         { margin-top: 4rem; }
