/* =============================================================
   PeaceReporter — Design System v2
   Thème : Dark Editorial Premium
   Dernière mise à jour : 2026-03-10
   ============================================================= */

/* -------------------------------------------------------------
   1. VARIABLES & SYNCHRONISATION KADENCE
------------------------------------------------------------- */
:root {
  /* Couleurs PeaceReporter */
  --pr-accent:          #E8621A;
  --pr-accent-hover:    #D05515;
  --pr-accent-light:    #F0844A;
  --pr-accent-glow:     rgba(232, 98, 26, 0.18);
  --pr-gold:            #C4873B;
  --pr-gold-light:      #E2B06A;

  /* Fonds sombres */
  --pr-bg-body:         #0F0C09;
  --pr-bg-card:         #1A1410;
  --pr-bg-card-hover:   #211A13;
  --pr-bg-input:        #241C14;
  --pr-border:          #3D2F20;
  --pr-border-light:    #4A3A28;

  /* Textes sur fond sombre */
  --pr-text-1:          #EDE5D8;   /* titres, texte fort */
  --pr-text-2:          #C8B8A6;   /* corps, extraits */
  --pr-text-3:          #A8957E;   /* meta, secondaire */
  --pr-text-4:          #6B5744;   /* discret */

  /* Page article (fond clair) */
  --pr-article-bg:      #FAFAF8;
  --pr-article-bg-2:    #F0EDE6;
  --pr-article-text:    #1A1410;
  --pr-article-text-2:  #4A3C30;

  /* Tokens UI */
  --pr-radius-sm:       4px;
  --pr-radius:          8px;
  --pr-radius-lg:       14px;
  --pr-shadow-sm:       0 1px 3px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.25);
  --pr-shadow-md:       0 4px 16px rgba(0,0,0,0.45), 0 8px 32px rgba(0,0,0,0.28);
  --pr-shadow-lg:       0 12px 40px rgba(0,0,0,0.55), 0 24px 64px rgba(0,0,0,0.32);
  --pr-shadow-card:     0 2px 12px rgba(0,0,0,0.4);
  --pr-glow:            0 0 24px var(--pr-accent-glow);

  /* Typographie */
  --pr-font-head:       'Georgia', 'Times New Roman', serif;
  --pr-font-body:       -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Transitions */
  --pr-ease:            cubic-bezier(0.4, 0, 0.2, 1);
  --pr-duration:        0.22s;
  --pr-transition:      0.22s cubic-bezier(0.4, 0, 0.2, 1);

  /* Espacement */
  --pr-gap-xs:          0.5rem;
  --pr-gap-sm:          1rem;
  --pr-gap-md:          1.75rem;
  --pr-gap-lg:          3rem;
  --pr-gap-xl:          5rem;

  /* Alias rétro-compatibilité (ancienne v1 du CSS) */
  --pr-dark:            var(--pr-bg-body);
  --pr-dark-2:          var(--pr-bg-card);
  --pr-dark-3:          var(--pr-bg-input);
  --pr-dark-border:     var(--pr-border);
  --pr-text-main:       var(--pr-text-1);
  --pr-text-muted:      var(--pr-text-3);
  --pr-text-dark:       #ffffff;   /* ← force blanc : tout texte --pr-text-dark sur fond sombre devient blanc */

  /* Synchronisation variables Kadence → PeaceReporter
     Notre CSS étant chargé après kadence-global, ces déclarations
     écrasent les valeurs Kadence et propagent notre palette
     dans tous les composants natifs Kadence/Kadence Blocks. */
  --global-palette1:    var(--pr-accent);
  --global-palette2:    var(--pr-gold);
  --global-palette3:    var(--pr-text-1);
  --global-palette4:    var(--pr-text-2);
  --global-palette5:    var(--pr-text-3);
  --global-palette6:    var(--pr-text-4);
  --global-palette7:    var(--pr-bg-card);
  --global-palette8:    var(--pr-bg-body);
  --global-palette9:    var(--pr-bg-body);
}

/* -------------------------------------------------------------
   2. BASE & RESET GLOBAL
------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--pr-bg-body);
  color: var(--pr-text-1);
  font-family: var(--pr-font-body);
  font-size: 1rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background: var(--pr-accent);
  color: #fff;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--pr-accent-light);
  transition: color var(--pr-transition);
}

a:hover {
  color: var(--pr-accent);
}

/* Séparateurs */
hr,
.wp-block-separator {
  border: none;
  border-top: 1px solid var(--pr-border);
  margin: var(--pr-gap-md) 0;
}

/* -------------------------------------------------------------
   3. HEADER & NAVIGATION
------------------------------------------------------------- */
.site-header,
#masthead,
.kadence-sticky-header {
  background: var(--pr-bg-card);
  border-bottom: 1px solid var(--pr-border);
  box-shadow: 0 2px 16px rgba(0,0,0,0.5);
}

/* Logo texte */
.site-title,
.site-title a {
  color: var(--pr-text-1);
  font-family: var(--pr-font-head);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-decoration: none;
}

.site-title a:hover {
  color: var(--pr-accent-light);
}

/* Logo image */
.custom-logo-link {
  transition: opacity var(--pr-transition);
}

.custom-logo-link:hover {
  opacity: 0.8;
}

/* Nav principale — liens */
.main-navigation a,
.primary-navigation a {
  color: var(--pr-text-3);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  transition: color var(--pr-transition);
  position: relative;
}

/* Soulignement animé */
.main-navigation a::after,
.primary-navigation a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0.75rem;
  right: 0.75rem;
  height: 2px;
  background: var(--pr-accent);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--pr-transition);
}

.main-navigation a:hover,
.primary-navigation a:hover,
.main-navigation .current-menu-item > a,
.primary-navigation .current-menu-item > a {
  color: var(--pr-text-1);
}

.main-navigation a:hover::after,
.primary-navigation a:hover::after,
.main-navigation .current-menu-item > a::after,
.primary-navigation .current-menu-item > a::after {
  transform: scaleX(1);
}

/* Sous-menu */
.main-navigation .sub-menu,
.primary-navigation .sub-menu {
  background: var(--pr-bg-card);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius);
  box-shadow: var(--pr-shadow-md);
  padding: 0.4rem 0;
}

.main-navigation .sub-menu a,
.primary-navigation .sub-menu a {
  padding: 0.5rem 1.25rem;
  display: block;
  border-radius: 0;
}

.main-navigation .sub-menu a::after,
.primary-navigation .sub-menu a::after {
  display: none;
}

/* Menu mobile toggle */
.kadence-mobile-nav-toggle,
#kadence-mobile-menu-toggle {
  color: var(--pr-text-1);
}

/* -------------------------------------------------------------
   4. ZONE PRINCIPALE
------------------------------------------------------------- */
.site-main,
main#main,
#primary,
.content-area {
  background: var(--pr-bg-body);
}

/* Conteneur de page */
.site {
  background: var(--pr-bg-body);
}

/* -------------------------------------------------------------
   5. TYPOGRAPHIE GLOBALE (fonds sombres)
------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--pr-font-head);
  color: var(--pr-text-1);
  font-weight: 700;
}

h1 {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
  margin: 0 0 var(--pr-gap-sm);
}

h2 {
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.22;
  letter-spacing: -0.015em;
  margin: var(--pr-gap-md) 0 var(--pr-gap-xs);
}

h3 {
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
  line-height: 1.28;
  margin: var(--pr-gap-sm) 0 var(--pr-gap-xs);
}

h4 {
  font-size: 1.1rem;
  line-height: 1.35;
  color: var(--pr-gold-light);
  margin: var(--pr-gap-sm) 0 var(--pr-gap-xs);
}

h5, h6 {
  font-size: 0.875rem;
  color: var(--pr-text-3);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin: var(--pr-gap-sm) 0 var(--pr-gap-xs);
}

p {
  margin-bottom: 1.25rem;
  color: var(--pr-text-2);
  line-height: 1.75;
}

/* -------------------------------------------------------------
   6. BADGES CATÉGORIE
------------------------------------------------------------- */
.cat-links a,
.entry-categories a,
.wp-block-post-terms a,
.taxonomy-category a,
.kt-blocks-post-top-meta .cat-links a {
  display: inline-block;
  background: var(--pr-accent);
  color: #fff;
  font-size: 0.675rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.6rem;
  border-radius: var(--pr-radius-sm);
  text-decoration: none;
  transition: background var(--pr-transition);
  line-height: 1.8;
}

.cat-links a:hover,
.entry-categories a:hover,
.taxonomy-category a:hover {
  background: var(--pr-accent-hover);
  color: #fff;
}

/* -------------------------------------------------------------
   7. CARDS D'ARTICLES (archive, home)
------------------------------------------------------------- */
.loop-entry,
.loop-entry.content-bg {
  background: var(--pr-bg-card);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  overflow: hidden;
  box-shadow: var(--pr-shadow-card);
  transition:
    transform var(--pr-transition),
    box-shadow var(--pr-transition),
    border-color var(--pr-transition);
  /* Pas de padding ici : géré par entry-content-wrap */
}

.loop-entry:hover {
  transform: translateY(-4px);
  box-shadow: var(--pr-shadow-md), var(--pr-glow);
  border-color: var(--pr-border-light);
}

/* Kadence Blocks Post Grid */
.kt-blocks-post-grid-item-inner-wrap {
  background: var(--pr-bg-card);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  overflow: hidden;
  box-shadow: var(--pr-shadow-card);
  transition:
    transform var(--pr-transition),
    box-shadow var(--pr-transition),
    border-color var(--pr-transition);
}

.kt-blocks-post-grid-item-inner-wrap:hover {
  transform: translateY(-4px);
  box-shadow: var(--pr-shadow-md), var(--pr-glow);
  border-color: var(--pr-border-light);
}

/* Zone de contenu des cartes */
.loop-entry .entry-content-wrap,
.kt-blocks-post-grid-item-inner-wrap .entry-content-wrap,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-grid-item-body,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-header {
  padding: 1.1rem 1.25rem 1.4rem;
}

.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-top-meta {
  padding: 0.9rem 1.25rem 0;
}

/* Image featured — zoom au hover */
.loop-entry .entry-image,
.loop-entry .post-thumbnail,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-thumbnail {
  overflow: hidden;
  display: block;
}

.loop-entry .entry-image img,
.loop-entry .post-thumbnail img,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-thumbnail img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 0.4s var(--pr-ease);
  display: block;
}

.loop-entry:hover .entry-image img,
.loop-entry:hover .post-thumbnail img,
.kt-blocks-post-grid-item-inner-wrap:hover .kt-blocks-post-thumbnail img {
  transform: scale(1.04);
}

/* Titre dans les cartes */
.loop-entry .entry-title,
.loop-entry .entry-title a,
.kt-blocks-post-grid-item-inner-wrap .entry-title,
.kt-blocks-post-grid-item-inner-wrap .entry-title a,
.kt-blocks-post-grid-item-inner-wrap h2,
.kt-blocks-post-grid-item-inner-wrap h3 {
  color: var(--pr-text-1);
  font-family: var(--pr-font-head);
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  transition: color var(--pr-transition);
}

.loop-entry .entry-title a:hover,
.kt-blocks-post-grid-item-inner-wrap .entry-title a:hover {
  color: var(--pr-accent-light);
}

/* Extrait dans les cartes */
.loop-entry .entry-summary,
.loop-entry .kt-blocks-post-excerpt,
.loop-entry p,
.kt-blocks-post-grid-item-inner-wrap .entry-summary,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-excerpt,
.kt-blocks-post-grid-item-inner-wrap p {
  color: var(--pr-text-2);
  font-size: 0.875rem;
  line-height: 1.65;
  margin-bottom: 0.75rem;
}

/* Date & meta dans les cartes */
.loop-entry .entry-meta,
.loop-entry .posted-on,
.loop-entry time,
.loop-entry .kt-blocks-post-date,
.kt-blocks-post-grid-item-inner-wrap .entry-meta,
.kt-blocks-post-grid-item-inner-wrap time,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-date,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-top-meta,
.kt-post-date,
.kt-blocks-post-date {
  color: var(--pr-gold-light);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.loop-entry .entry-meta a,
.kt-blocks-post-grid-item-inner-wrap .entry-meta a,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-top-meta a {
  color: var(--pr-text-3);
  text-decoration: none;
  transition: color var(--pr-transition);
}

.loop-entry .entry-meta a:hover,
.kt-blocks-post-grid-item-inner-wrap .entry-meta a:hover {
  color: var(--pr-accent-light);
}

/* Lien "Lire la suite" */
.loop-entry .more-link,
.kt-blocks-post-grid-item-inner-wrap .more-link,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-readmore a {
  color: var(--pr-accent-light);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color var(--pr-transition);
}

.loop-entry .more-link:hover,
.kt-blocks-post-grid-item-inner-wrap .more-link:hover,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-readmore a:hover {
  color: var(--pr-text-1);
}

/* Override variables Kadence dans les cartes (composants dynamiques) */
.loop-entry,
.loop-entry *,
.kt-blocks-post-grid-item-inner-wrap,
.kt-blocks-post-grid-item-inner-wrap * {
  --global-palette3: var(--pr-text-1);
  --global-palette4: var(--pr-text-2);
  --global-palette5: var(--pr-text-3);
  --global-palette6: var(--pr-text-4);
}

/* -------------------------------------------------------------
   8. PAGE ARTICLE (single post) — fond clair, lecture premium
------------------------------------------------------------- */
body.single {
  background: var(--pr-article-bg);
  color: var(--pr-article-text);
}

body.single .site-main,
body.single #primary,
body.single .content-area {
  background: var(--pr-article-bg);
}

/* Hero sombre avec le titre */
body.single .entry-header {
  background: var(--pr-bg-card);
  border-bottom: 1px solid var(--pr-border);
  padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 2.5rem) clamp(1.75rem, 4vw, 3rem);
  margin-bottom: 0;
}

body.single .entry-header h1,
body.single .entry-header .entry-title {
  color: var(--pr-text-1);
  font-family: var(--pr-font-head);
  font-size: clamp(1.6rem, 4vw, 2.75rem);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.025em;
  max-width: 820px;
  margin-bottom: 1rem;
}

/* Meta dans le hero (catégorie, date, auteur) */
body.single .entry-header .entry-meta,
body.single .entry-header time,
body.single .entry-header .posted-on {
  color: var(--pr-text-3);
  font-size: 0.8rem;
}

body.single .entry-header .entry-meta time {
  color: var(--pr-gold-light);
}

body.single .entry-header .cat-links a {
  /* Hérité de la section badges */
}

/* Image featured en single */
body.single .post-thumbnail,
body.single .entry-thumbnail {
  max-height: 520px;
  overflow: hidden;
}

body.single .post-thumbnail img,
body.single .entry-thumbnail img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
}

/* Contenu de l'article */
body.single .entry-content {
  font-size: 1.0625rem;
  line-height: 1.85;
  max-width: 740px;
  margin: 0 auto;
  padding: var(--pr-gap-lg) var(--pr-gap-sm);
}

body.single .entry-content h2 {
  font-size: clamp(1.3rem, 3vw, 1.65rem);
  color: var(--pr-article-text);
  margin-top: 2.75rem;
  margin-bottom: 1rem;
  padding-top: 0.5rem;
  border-top: 2px solid var(--pr-article-bg-2);
}

body.single .entry-content h3 {
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  color: var(--pr-article-text);
  margin-top: 2.25rem;
  margin-bottom: 0.85rem;
}

body.single .entry-content h4 {
  font-size: 1.1rem;
  color: var(--pr-accent);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

body.single .entry-content h5,
body.single .entry-content h6 {
  color: var(--pr-article-text-2);
}

body.single .entry-content p {
  margin-bottom: 1.4rem;
}

body.single .entry-content a {
  color: var(--pr-accent);
  text-decoration: underline;
  text-decoration-color: rgba(232, 98, 26, 0.35);
  text-underline-offset: 3px;
  transition: text-decoration-color var(--pr-transition);
}

body.single .entry-content a:hover {
  text-decoration-color: var(--pr-accent);
}

/* Blockquote */
body.single .entry-content blockquote {
  border-left: 4px solid var(--pr-accent);
  background: var(--pr-article-bg-2);
  margin: 2rem 0;
  padding: 1.25rem 1.75rem;
  border-radius: 0 var(--pr-radius) var(--pr-radius) 0;
  font-style: italic;
}

body.single .entry-content blockquote p {
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--pr-article-text-2);
  margin-bottom: 0;
}

/* Code inline */
body.single .entry-content code {
  background: var(--pr-article-bg-2);
  color: var(--pr-accent);
  padding: 0.15em 0.45em;
  border-radius: var(--pr-radius-sm);
  font-size: 0.9em;
}

/* Listes */
body.single .entry-content ul,
body.single .entry-content ol {
  color: var(--pr-article-text);
  padding-left: 1.5rem;
  margin-bottom: 1.4rem;
}

body.single .entry-content li {
  margin-bottom: 0.4rem;
  line-height: 1.75;
}

/* Séparateur dans article */
body.single .entry-content hr {
  border-top-color: var(--pr-article-bg-2);
}

/* Résoudre les h1–h6 sur fond clair (surcharger la règle globale) */
body.single h1,
body.single h2,
body.single h3,
body.single h4,
body.single h5,
body.single h6 {
  color: var(--pr-article-text);
}

/* Sauf dans le header du single (reste sombre) */
body.single .entry-header h1,
body.single .entry-header h2,
body.single .entry-header h3,
body.single .entry-header h4,
body.single .entry-header h5,
body.single .entry-header h6 {
  color: var(--pr-text-1);
}

/* -------------------------------------------------------------
   9. BOUTONS & CTA
------------------------------------------------------------- */
.wp-block-button__link,
.wp-element-button,
.button,
button.wp-block-button__link {
  background: var(--pr-accent);
  color: #fff;
  border: 2px solid transparent;
  border-radius: var(--pr-radius);
  font-family: var(--pr-font-body);
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.03em;
  padding: 0.7rem 1.5rem;
  transition:
    background var(--pr-transition),
    transform var(--pr-transition),
    box-shadow var(--pr-transition);
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.button:hover {
  background: var(--pr-accent-hover);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(232,98,26,0.4);
}

/* Variante outline */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border-color: var(--pr-accent);
  color: var(--pr-accent);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--pr-accent);
  color: #fff;
}

/* Formulaires — submit */
input[type="submit"],
button[type="submit"] {
  background: var(--pr-accent);
  color: #fff;
  border: none;
  border-radius: var(--pr-radius);
  font-weight: 600;
  padding: 0.7rem 1.5rem;
  cursor: pointer;
  transition: background var(--pr-transition), transform var(--pr-transition);
}

input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--pr-accent-hover);
  transform: translateY(-1px);
}

/* -------------------------------------------------------------
   10. BARRE LATÉRALE
------------------------------------------------------------- */
.widget-area,
#secondary {
  background: var(--pr-bg-card);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  padding: 1.5rem;
}

.widget {
  margin-bottom: var(--pr-gap-md);
}

.widget:last-child {
  margin-bottom: 0;
}

.widget-title,
.widgettitle {
  font-family: var(--pr-font-head);
  color: var(--pr-text-1);
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid var(--pr-accent);
  margin-bottom: 1rem;
}

.widget a {
  color: var(--pr-text-3);
  text-decoration: none;
  transition: color var(--pr-transition);
}

.widget a:hover {
  color: var(--pr-accent-light);
}

.widget p,
.widget li {
  color: var(--pr-text-2);
  font-size: 0.9rem;
}

/* -------------------------------------------------------------
   11. FOOTER
------------------------------------------------------------- */
.site-footer,
#colophon {
  background: var(--pr-bg-card);
  border-top: 1px solid var(--pr-border);
  color: var(--pr-text-3);
}

.site-footer a {
  color: var(--pr-text-3);
  text-decoration: none;
  transition: color var(--pr-transition);
}

.site-footer a:hover {
  color: var(--pr-accent-light);
}

.site-footer .widget-title,
.site-footer .widgettitle {
  color: var(--pr-text-1);
}

.site-footer p {
  color: var(--pr-text-3);
}

/* Footer bottom bar */
.site-footer .footer-bottom-wrap {
  border-top: 1px solid var(--pr-border);
  padding-top: 1.25rem;
  margin-top: 2rem;
}

/* -------------------------------------------------------------
   12. FORMULAIRES & RECHERCHE
------------------------------------------------------------- */
input[type="search"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
textarea,
select {
  background: var(--pr-bg-input);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius);
  color: var(--pr-text-1);
  padding: 0.65rem 1rem;
  font-family: var(--pr-font-body);
  font-size: 0.9375rem;
  width: 100%;
  transition:
    border-color var(--pr-transition),
    box-shadow var(--pr-transition);
}

input[type="search"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-color: var(--pr-accent);
  box-shadow: 0 0 0 3px rgba(232,98,26,0.2);
  outline: none;
}

input::placeholder,
textarea::placeholder {
  color: var(--pr-text-4);
}

label {
  color: var(--pr-text-2);
  font-size: 0.875rem;
  display: block;
  margin-bottom: 0.35rem;
}

/* Champ de recherche Kadence */
.kadence-search-form input[type="search"] {
  min-height: 44px;
}

/* -------------------------------------------------------------
   13. PAGINATION
------------------------------------------------------------- */
.page-numbers,
.nav-links a,
.nav-links span {
  background: var(--pr-bg-card);
  border: 1px solid var(--pr-border);
  color: var(--pr-text-3);
  border-radius: var(--pr-radius);
  padding: 0.5rem 0.9rem;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  text-decoration: none;
  transition: all var(--pr-transition);
}

.page-numbers:hover,
.nav-links a:hover {
  background: var(--pr-bg-card-hover);
  border-color: var(--pr-accent);
  color: var(--pr-text-1);
}

.page-numbers.current {
  background: var(--pr-accent);
  border-color: var(--pr-accent);
  color: #fff;
  font-weight: 700;
}

/* Navigation prev/next article */
.post-navigation .nav-links a {
  color: var(--pr-text-3);
  background: var(--pr-bg-card);
  border: 1px solid var(--pr-border);
  padding: 0.85rem 1.25rem;
  border-radius: var(--pr-radius);
  transition: all var(--pr-transition);
  min-height: auto;
  min-width: auto;
}

.post-navigation .nav-links a:hover {
  border-color: var(--pr-accent);
  color: var(--pr-text-1);
}

.post-navigation .nav-previous .nav-subtitle,
.post-navigation .nav-next .nav-subtitle {
  color: var(--pr-text-4);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* -------------------------------------------------------------
   14. COMMENTAIRES
------------------------------------------------------------- */
.comment-list .comment-body {
  background: var(--pr-bg-card);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius);
  padding: 1.25rem;
  margin-bottom: 1rem;
}

.comment-list .comment-author .fn {
  color: var(--pr-text-1);
  font-weight: 600;
}

.comment-list .comment-metadata a,
.comment-list .comment-metadata time {
  color: var(--pr-text-4);
  font-size: 0.8rem;
}

.comment-list .comment-content p {
  color: var(--pr-article-text-2);
}

/* Formulaire commentaire en page article */
body.single #respond {
  background: var(--pr-article-bg-2);
  border-radius: var(--pr-radius-lg);
  padding: var(--pr-gap-md);
  max-width: 740px;
  margin: 0 auto var(--pr-gap-lg);
}

body.single #respond h2,
body.single #respond .comment-reply-title {
  color: var(--pr-article-text);
}

/* -------------------------------------------------------------
   15. SCROLLBAR
------------------------------------------------------------- */
::-webkit-scrollbar {
  width: 7px;
}

::-webkit-scrollbar-track {
  background: var(--pr-bg-body);
}

::-webkit-scrollbar-thumb {
  background: var(--pr-border);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--pr-accent);
}

/* -------------------------------------------------------------
   16. FOCUS VISIBLE (accessibilité)
------------------------------------------------------------- */
:focus-visible {
  outline: 2px solid var(--pr-accent);
  outline-offset: 3px;
  border-radius: var(--pr-radius-sm);
}

/* -------------------------------------------------------------
   17. RESPONSIVE
------------------------------------------------------------- */
@media (max-width: 1024px) {
  body.single .entry-content {
    padding-left: var(--pr-gap-md);
    padding-right: var(--pr-gap-md);
  }
}

@media (max-width: 768px) {
  body.single .entry-header {
    padding: 1.75rem 1.25rem 1.5rem;
  }

  body.single .entry-content {
    font-size: 1rem;
    padding: var(--pr-gap-md) 1.25rem;
  }

  .loop-entry,
  .kt-blocks-post-grid-item-inner-wrap {
    border-radius: var(--pr-radius);
  }

  .widget-area,
  #secondary {
    border-radius: var(--pr-radius);
  }
}

@media (max-width: 480px) {
  body.single .entry-header h1,
  body.single .entry-header .entry-title {
    font-size: 1.5rem;
  }

  body.single .entry-content {
    padding: 1.5rem 1rem;
  }

  .page-numbers,
  .nav-links a {
    min-width: 40px;
    min-height: 40px;
    padding: 0.4rem 0.65rem;
  }
}

/* -------------------------------------------------------------
   18. FORCE TEXTE CLAIR — TOUS CONTENEURS SOMBRES
   Kadence Blocks génère des couleurs inline hardcodées (palette
   capturée au moment de la sauvegarde du bloc). Ces règles
   !important écrasent systématiquement tout texte sombre sur
   fond sombre, quelle que soit l'origine du style.
------------------------------------------------------------- */

/* Tous les blocs post-grid et cartes d'articles */
.loop-entry h1, .loop-entry h2, .loop-entry h3,
.loop-entry h4, .loop-entry h5, .loop-entry h6,
.loop-entry .entry-title,
.loop-entry .entry-title a,
.loop-entry .entry-title span {
  color: #EDE5D8 !important;
}

.loop-entry p,
.loop-entry .entry-summary,
.loop-entry .entry-excerpt,
.loop-entry .kt-blocks-post-excerpt {
  color: #ffffff !important;
}

.loop-entry .entry-meta,
.loop-entry .entry-meta *,
.loop-entry .posted-on,
.loop-entry .posted-on *,
.loop-entry time,
.loop-entry .kt-blocks-post-date,
.loop-entry .kt-blocks-post-date *,
.loop-entry .kt-blocks-post-top-meta,
.loop-entry .kt-blocks-post-top-meta * {
  color: #E2B06A !important;
}

.loop-entry .author,
.loop-entry .author a,
.loop-entry .entry-meta a {
  color: #A8957E !important;
}

.loop-entry .more-link,
.loop-entry .kt-blocks-post-readmore a {
  color: #F0844A !important;
}

/* Kadence Blocks Post Grid — conteneur interne */
.kt-blocks-post-grid-item-inner-wrap h1,
.kt-blocks-post-grid-item-inner-wrap h2,
.kt-blocks-post-grid-item-inner-wrap h3,
.kt-blocks-post-grid-item-inner-wrap h4,
.kt-blocks-post-grid-item-inner-wrap h5,
.kt-blocks-post-grid-item-inner-wrap h6,
.kt-blocks-post-grid-item-inner-wrap .entry-title,
.kt-blocks-post-grid-item-inner-wrap .entry-title a,
.kt-blocks-post-grid-item-inner-wrap .entry-title span,
.kt-blocks-post-grid-item-inner-wrap .wp-block-post-title,
.kt-blocks-post-grid-item-inner-wrap .wp-block-post-title a {
  color: #EDE5D8 !important;
}

.kt-blocks-post-grid-item-inner-wrap p,
.kt-blocks-post-grid-item-inner-wrap .entry-summary,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-excerpt,
.kt-blocks-post-grid-item-inner-wrap .wp-block-post-excerpt__excerpt {
  color: #ffffff !important;
}

.kt-blocks-post-grid-item-inner-wrap time,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-date,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-date *,
.kt-blocks-post-grid-item-inner-wrap .kt-post-date,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-top-meta time,
.kt-blocks-post-grid-item-inner-wrap .entry-meta time {
  color: #E2B06A !important;
}

.kt-blocks-post-grid-item-inner-wrap .entry-meta a,
.kt-blocks-post-grid-item-inner-wrap .author a,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-top-meta a {
  color: #A8957E !important;
}

.kt-blocks-post-grid-item-inner-wrap .more-link,
.kt-blocks-post-grid-item-inner-wrap .kt-blocks-post-readmore a {
  color: #F0844A !important;
}

/* Hover sur les titres des cartes */
.loop-entry .entry-title a:hover,
.loop-entry .entry-title:hover,
.kt-blocks-post-grid-item-inner-wrap .entry-title a:hover,
.kt-blocks-post-grid-item-inner-wrap .wp-block-post-title a:hover {
  color: #F0844A !important;
}

/* Conteneur .content-bg (style Kadence "boxed") */
.content-bg h1, .content-bg h2, .content-bg h3,
.content-bg h4, .content-bg h5, .content-bg h6,
.content-bg .entry-title,
.content-bg .entry-title a {
  color: #EDE5D8 !important;
}

.content-bg p,
.content-bg .entry-summary {
  color: #C8B8A6 !important;
}

.content-bg time,
.content-bg .entry-meta,
.content-bg .entry-meta * {
  color: #E2B06A !important;
}

/* Header du site */
.site-header h1, .site-header h2, .site-header h3,
.site-header span, .site-header a,
#masthead h1, #masthead h2, #masthead h3,
#masthead span {
  color: #EDE5D8 !important;
}

/* Footer */
.site-footer h1, .site-footer h2, .site-footer h3,
.site-footer h4, .site-footer h5, .site-footer h6,
#colophon h1, #colophon h2, #colophon h3,
#colophon h4, #colophon h5, #colophon h6 {
  color: #EDE5D8 !important;
}

/* Sidebar */
.widget-area h1, .widget-area h2, .widget-area h3,
.widget-area h4, .widget-area h5, .widget-area h6,
#secondary h1, #secondary h2, #secondary h3,
#secondary h4, #secondary h5, #secondary h6 {
  color: #EDE5D8 !important;
}

.widget-area p, .widget-area span, .widget-area li,
#secondary p, #secondary span, #secondary li {
  color: #C8B8A6 !important;
}

/* Body global (hors single) */
body:not(.single) p {
  color: #ffffff !important;
}

/* Surcharge des fallbacks hardcodés dans les blocs Kadence.
   Kadence Blocks génère : color: var(--global-palette3, #302826)
   La valeur de fallback (#302826 = brun très sombre) s'affiche
   quand la variable n'est pas encore résolue (FOUC) ou sur fond sombre.
   Ces règles !important avec sélecteurs très spécifiques l'écrasent. */
body:not(.single) .kt-adv-heading,
body:not(.single) .wp-block-kadence-advancedheading,
body:not(.single) [class*="kt-adv-heading"] {
  color: #EDE5D8 !important;
}

body:not(.single) .kb-adv-text p,
body:not(.single) .wp-block-kadence-advancedtext p,
body:not(.single) [class*="kt-adv-text"] p,
body:not(.single) .wp-block-kadence-column p,
body:not(.single) .kb-inside-container p,
body:not(.single) .kadence-column p,
body:not(.single) .kt-inside-inner-col p {
  color: #ffffff !important;
}

/* Réinitialiser en page article (fond clair) */
body.single .entry-content h1,
body.single .entry-content h2,
body.single .entry-content h3,
body.single .entry-content h4,
body.single .entry-content h5,
body.single .entry-content h6 {
  color: #1A1410 !important;
}


/* -------------------------------------------------------------
   19. MICRO-ANIMATIONS
------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(16px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .loop-entry {
    animation: fadeInUp 0.35s var(--pr-ease) both;
  }

  /* Décalage en cascade pour les grilles */
  .loop-entry:nth-child(2) { animation-delay: 0.06s; }
  .loop-entry:nth-child(3) { animation-delay: 0.12s; }
  .loop-entry:nth-child(4) { animation-delay: 0.18s; }
  .loop-entry:nth-child(n+5) { animation-delay: 0.24s; }
}
