/* =====================================================================
   Plein Cagnard — Tokens & primitives partagés
   Utilisé par home.css, article.css, categorie.css
   ===================================================================== */

:root {
  --pc-cream:        #f5efe1;
  --pc-cream-2:      #ede4cf;
  --pc-terra:        #c7541a;
  --pc-terra-deep:   #a8401a;
  --pc-olive:        #6b7a3a;
  --pc-olive-deep:   #4d5a28;
  --pc-saffron:      #e8a02b;
  --pc-sky:          #c7d9cf;
  --pc-ink:          #3a2a1a;
  --pc-ink-2:        #6b5a44;
  --pc-line:         rgba(58, 42, 26, 0.18);
  --pc-line-soft:    rgba(58, 42, 26, 0.08);

  --pc-font-serif:   'Fraunces', Georgia, serif;
  --pc-font-sans:    'Inter', system-ui, sans-serif;
  --pc-font-mono:    'IBM Plex Mono', ui-monospace, monospace;
}

/* ----- Reset ---------------------------------------------------------- */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--base-3);
  font-family: var(--pc-font-sans);
  color: var(--pc-ink);
}

/* ----- Page shell ----------------------------------------------------- */
.pc-page {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  background: var(--pc-cream);
  color: var(--pc-ink);
}

/* ----- Utility -------------------------------------------------------- */
.muted   { color: var(--pc-ink-2); }
.accent  { color: var(--pc-terra); }

/* ----- Eyebrow / labels ---------------------------------------------- */
.pc-eyebrow {
  font-family: var(--pc-font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pc-terra);
}
.pc-eyebrow--muted    { color: var(--pc-ink-2); }
.pc-eyebrow--ink      { color: var(--pc-ink); }
.pc-eyebrow--on-terra { color: var(--pc-cream); opacity: 0.8; }

/* ----- Section title -------------------------------------------------- */
.pc-section-title {
  font-family: var(--pc-font-serif);
  font-weight: 400;
  font-size: 38px;
  margin: 0;
}

/* ----- Rules ---------------------------------------------------------- */
.pc-rule { border: 0; border-top: 1px solid var(--pc-ink); margin: 0; }
.pc-rule--soft { border-top-color: var(--pc-line); }

/* ----- Buttons -------------------------------------------------------- */
.pc-btn {
  padding: 14px 22px;
  font-family: var(--pc-font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
}
.pc-btn--solid { background: var(--pc-ink); color: var(--pc-cream); }
.pc-btn--ghost { border: 1px solid var(--pc-ink); color: var(--pc-ink); }

/* ----- Header (commun) ------------------------------------------------ */
#masthead {
  justify-content: space-between;
  align-items: center;
  padding: 0;
  border-bottom: 1px solid var(--pc-line);
  background: var(--pc-cream);
}

.site-header .inside-header {
    padding: 8px 56px;
    max-width: 1440px;
}

.site-branding-container { display: flex; align-items: center; gap: 14px; }
.site-logo {
  border-radius: 50%;
  background: var(--pc-terra);
  display: grid; place-items: center;
  color: var(--pc-cream);
  letter-spacing: 0.05em;
  width: 32px; height: 32px;
  font-family: var(--pc-font-serif);
  font-style: italic;
  font-size: 18px;
}
.main-title {
  font-family: var(--pc-font-serif);
  color: var(--pc-ink);
  font-style: normal;
  font-size: 22px;
  font-weight: 500;
}
.main-navigation {
  display: flex;
  gap: 28px;
}
.main-navigation, .main-navigation a {
    font-size: 14px;
    font-family: var(--pc-font-sans);
}

.main-navigation .is-active { color: var(--pc-terra); }
.pc-subscribe {
  padding: 8px 14px;
  border: 1px solid var(--pc-ink);
  font-family: var(--pc-font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ----- Breadcrumb ----------------------------------------------------- */
.pc-breadcrumb-wrap { padding: 22px 56px 0; }
.pc-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--pc-font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pc-ink-2);
}
.pc-breadcrumb .sep     { opacity: 0.5; }
.pc-breadcrumb .current { color: var(--pc-ink); }

/* ----- Footer (commun) ----------------------------------------------- */
.site-footer {
  background: var(--pc-ink);
  color: var(--pc-cream);
  justify-content: space-between;
  font-family: var(--pc-font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* ----- Placeholder (image) ------------------------------------------- */
.pc-placeholder {
  background:
    repeating-linear-gradient(135deg, rgba(58,42,26,0.06) 0 8px, rgba(58,42,26,0) 8px 16px),
    var(--pc-cream-2);
  color: var(--pc-ink-2);
  font-family: var(--pc-font-mono);
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8px;
  border: 1px solid var(--pc-line-soft);
}
.pc-placeholder.tone-olive {
  background:
    repeating-linear-gradient(135deg, rgba(107,122,58,0.18) 0 8px, rgba(107,122,58,0.05) 8px 16px),
    #dbdbb7;
  color: #3d4820;
}
.pc-placeholder.tone-terra {
  background:
    repeating-linear-gradient(135deg, rgba(199,84,26,0.20) 0 8px, rgba(199,84,26,0.05) 8px 16px),
    #eccfb8;
  color: #6b2a10;
}
.pc-placeholder.tone-saffron {
  background:
    repeating-linear-gradient(135deg, rgba(232,160,43,0.22) 0 8px, rgba(232,160,43,0.06) 8px 16px),
    #f0d690;
  color: #6b4a10;
}
.pc-placeholder.tone-sky {
  background:
    repeating-linear-gradient(135deg, rgba(58,90,120,0.14) 0 8px, rgba(58,90,120,0.04) 8px 16px),
    #c9d6df;
  color: #2a3d4f;
}
.pc-placeholder.tone-ink {
  background:
    repeating-linear-gradient(135deg, rgba(58,42,26,0.5) 0 8px, rgba(58,42,26,0.3) 8px 16px),
    #3a2a1a;
  color: var(--pc-cream);
}

/* ajouts */

.site-main {
    margin: 0 !important;
}

.inside-article {
    padding: 0 !important;
}

.site-footer .site-info,
.site-footer .inside-site-info {
  font-size: 11px;
}

#masthead {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: var(--base-3);
}

.admin-bar #masthead {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar #masthead {
    top: 46px;
  }
}

#ez-toc-container {
    font-family: var(--pc-font-serif);
}

/* =====================================================================
   Responsive — shared
   ===================================================================== */
@media (max-width: 900px) {
  .inside-header { padding: 0 32px; }
  .pc-breadcrumb-wrap { padding: 14px 32px 0; }
  .pc-section-title { font-size: 30px; }
}

@media (max-width: 600px) {
  .inside-header { padding: 0 20px; }
  .main-navigation { display: none; }
  .pc-subscribe { display: none; }
  .pc-breadcrumb-wrap { padding: 12px 20px 0; }
  .pc-section-title { font-size: 26px; }
  .site-branding-container { gap: 10px; }
  .main-title { font-size: 18px; }
}
