/* ============================================================================
   Yggdralore - Wiki public · Codex de l'Arbre-Monde
   Direction artistique : grimoire / parchemin fantasy, encre sépia, enluminures.
   Animations généreuses (feuilles, glow, transitions douces).
   ============================================================================ */

/* === Polices grimoire chargées une seule fois en HEAD via <link>, mais on
       fallback ici au cas où elles ne se chargent pas (Georgia + serif). === */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Tangerine:wght@400;700&display=swap');

:root {
  /* ===== Palette parchemin (mode clair / défaut) ===== */
  --wiki-bg:        #F1E4C5;   /* parchemin légèrement ambré */
  --wiki-bg-deep:   #E5D4A8;   /* parchemin plus foncé pour zones encadrées */
  --wiki-paper:     #FBF3DE;   /* page de codex, plus claire */
  --wiki-paper-edge:#E0CC9A;   /* ombre de bord de page */
  --wiki-text:      #2A1A0A;   /* encre noire profonde */
  --wiki-ink:       #3D2817;   /* encre sépia */
  --wiki-ink-soft:  #6B4A2B;   /* encre délavée, secondaire */
  --wiki-muted:     #8B6F47;   /* encre très délavée */
  --wiki-border:    #C8A661;   /* or ancien pour bordures */
  --wiki-border-soft:#D9C28A;
  --wiki-accent:    #862020;   /* bordeaux enluminure */
  --wiki-accent-2:  #B8860B;   /* or feuille */
  --wiki-link:      #5C2A1F;   /* lien encre rouille */
  --wiki-link-hover:#A63319;
  --wiki-leaf:      #3F6B3A;   /* vert feuillage */
  --wiki-leaf-2:    #688E51;   /* vert plus clair */
  --wiki-bark:      #5C3A21;   /* brun écorce */
  --wiki-shadow:    0 2px 6px rgba(90, 60, 20, 0.18);
  --wiki-shadow-lg: 0 8px 28px rgba(90, 60, 20, 0.25);

  /* Polices */
  --wiki-font-display: 'Cinzel Decorative', 'Cinzel', Georgia, 'Times New Roman', serif;
  --wiki-font-title:   'Cinzel', Georgia, 'Times New Roman', serif;
  --wiki-font-body:    'EB Garamond', Georgia, 'Times New Roman', serif;
  --wiki-font-flourish:'Tangerine', 'EB Garamond', cursive;
}

/* ===== Mode sombre : codex de pierre, runes éclairées ===== */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --wiki-bg:        #1A1108;
    --wiki-bg-deep:   #261810;
    --wiki-paper:     #2B1D10;
    --wiki-paper-edge:#3D2A18;
    --wiki-text:      #F0E4C8;
    --wiki-ink:       #E6D4A8;
    --wiki-ink-soft:  #C5A877;
    --wiki-muted:     #8A744A;
    --wiki-border:    #8B6914;
    --wiki-border-soft:#5C4810;
    --wiki-accent:    #D97757;
    --wiki-link:      #DAA520;
    --wiki-link-hover:#FFD700;
    --wiki-leaf:      #7BAF63;
    --wiki-shadow:    0 2px 8px rgba(0,0,0,0.6);
    --wiki-shadow-lg: 0 8px 32px rgba(0,0,0,0.7);
  }
}
[data-theme="dark"] {
  --wiki-bg:        #1A1108;
  --wiki-bg-deep:   #261810;
  --wiki-paper:     #2B1D10;
  --wiki-paper-edge:#3D2A18;
  --wiki-text:      #F0E4C8;
  --wiki-ink:       #E6D4A8;
  --wiki-ink-soft:  #C5A877;
  --wiki-muted:     #8A744A;
  --wiki-border:    #8B6914;
  --wiki-border-soft:#5C4810;
  --wiki-accent:    #D97757;
  --wiki-link:      #DAA520;
  --wiki-link-hover:#FFD700;
  --wiki-leaf:      #7BAF63;
  --wiki-shadow:    0 2px 8px rgba(0,0,0,0.6);
  --wiki-shadow-lg: 0 8px 32px rgba(0,0,0,0.7);
}

/* ===== Production : nuances plus vertes/profondes ===== */
[data-env="production"] {
  --wiki-accent:    #5C2A1F;
  --wiki-link:      #5C2A1F;
  --wiki-link-hover:#A63319;
}

* { box-sizing: border-box; }

.wiki-body {
  margin: 0;
  font-family: var(--wiki-font-body);
  background: var(--wiki-bg);
  color: var(--wiki-text);
  line-height: 1.7;
  font-size: 18px;
  /* Texture parchemin : superposition de gradients pour donner un grain papier */
  background-image:
    radial-gradient(ellipse at 20% 10%, rgba(184, 134, 11, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 90%, rgba(134, 32, 32, 0.07) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(92, 58, 33, 0.05) 0%, transparent 70%);
  background-attachment: fixed;
  overflow-x: hidden;
}

/* Conteneur de feuilles tombantes (en background, ne bloque rien) */
.wiki-leaves {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.wiki-leaf-falling {
  position: absolute;
  font-size: 22px;
  opacity: 0.45;
  color: var(--wiki-leaf-2);
  animation: wiki-fall linear infinite;
  user-select: none;
  filter: drop-shadow(0 2px 2px rgba(60, 40, 10, 0.2));
}
@keyframes wiki-fall {
  0%   { transform: translate3d(0, -10vh, 0) rotate(0deg); opacity: 0; }
  10%  { opacity: 0.5; }
  90%  { opacity: 0.5; }
  100% { transform: translate3d(40px, 110vh, 0) rotate(720deg); opacity: 0; }
}

/* ============================================================================
   HEADER : bandeau grimoire avec lettrage et ornements
   ============================================================================ */
.wiki-header {
  position: relative;
  background: linear-gradient(180deg, #2A1A0A 0%, #3D2817 100%);
  color: #F1E4C5;
  padding: 0.85rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  border-bottom: 4px double var(--wiki-accent-2);
  box-shadow: 0 4px 18px rgba(0,0,0,0.25);
  z-index: 10;
}
/* Anciennes barres dorées décoratives sous le header retirées : elles débordaient
   dans le contenu (visible notamment au-dessus de l'infobox sur les fiches).
   Le border-bottom du header suffit comme séparation. */
.wiki-header::before,
.wiki-header::after { display: none !important; content: none; }

.wiki-header a { color: #F1E4C5; text-decoration: none; }
.wiki-header h1 {
  font-family: var(--wiki-font-display);
  font-size: 1.5rem;
  margin: 0;
  font-weight: 700;
  flex: 1;
  min-width: 200px;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.wiki-header h1 a { display: inline-flex; align-items: baseline; gap: 0.5rem; }
.wiki-header h1 .wiki-flourish {
  font-family: var(--wiki-font-flourish);
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--wiki-accent-2);
  margin: 0 0.25rem;
}

.wiki-header-logo {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: radial-gradient(circle, #B8860B 0%, #6B4513 80%);
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 12px rgba(218, 165, 32, 0.45), inset 0 0 8px rgba(0,0,0,0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.wiki-header-logo:hover {
  transform: rotate(-10deg) scale(1.05);
  box-shadow: 0 0 22px rgba(218, 165, 32, 0.7), inset 0 0 8px rgba(0,0,0,0.3);
}
.wiki-header-logo img { width: 28px; height: 28px; filter: brightness(0) invert(1) opacity(0.95); }

.wiki-header form { margin: 0; flex: 1; max-width: 360px; position: relative; }
.wiki-header input[type="search"] {
  width: 100%;
  padding: 0.5rem 0.85rem 0.5rem 2.2rem;
  border-radius: 999px;
  border: 1px solid var(--wiki-accent-2);
  background: rgba(241, 228, 197, 0.95);
  color: var(--wiki-text);
  font-family: var(--wiki-font-body);
  font-size: 0.95rem;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}
.wiki-header input[type="search"]:focus {
  outline: none;
  background: #FBF3DE;
  box-shadow: 0 0 0 3px rgba(218, 165, 32, 0.35);
}
.wiki-header form::before {
  content: '';
  position: absolute;
  left: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 14px; height: 14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C2A1F' stroke-width='2.5' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4.3-4.3'/></svg>") no-repeat center / contain;
  opacity: 0.7;
  pointer-events: none;
}

/* Bouton loupe et bouton plume (mobile uniquement, cachés par défaut) */
.wiki-search-toggle,
.wiki-quill-toggle {
  display: none;
  background: transparent;
  border: 1px solid rgba(241, 228, 197, 0.3);
  color: #F1E4C5;
  width: 38px; height: 38px;
  border-radius: 50%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-shrink: 0;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.wiki-search-toggle:hover, .wiki-search-toggle:focus,
.wiki-quill-toggle:hover, .wiki-quill-toggle:focus {
  background: rgba(241, 228, 197, 0.12);
  border-color: rgba(241, 228, 197, 0.6);
  outline: none;
  text-decoration: none;
}
.wiki-search-toggle svg,
.wiki-quill-toggle svg { display: block; }

/* La plume garde une teinte ambre douce pour bien la distinguer de la loupe */
.wiki-quill-toggle { color: var(--wiki-accent-2, #E6C589); }

/* Branding texte (mobile uniquement) : remplace le logo rond à gauche */
.wiki-header-brand {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.05;
  text-decoration: none;
  padding: 0;
  flex-shrink: 0;
  letter-spacing: 0.04em;
}
.wiki-header-brand:hover,
.wiki-header-brand:focus { text-decoration: none; }
.wiki-header-brand-l1 {
  font-family: var(--wiki-font-flourish);
  font-weight: 400;
  color: var(--wiki-accent-2, #E6C589);
  font-size: 1.6rem;
}
.wiki-header-brand-l2 {
  font-family: var(--wiki-font-title);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(241, 228, 197, 0.85);
  margin-top: -2px;
}

/* Icônes SVG dans les actions (admin / sortir) : cachées par défaut, visibles en mobile */
.wiki-header-action-icon { display: none; }

.wiki-header-actions { display: flex; gap: 0.8rem; align-items: center; }
.wiki-header-actions a {
  font-family: var(--wiki-font-title);
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.85;
  padding: 0.3rem 0.7rem;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: all 0.2s;
}
.wiki-header-actions a:hover {
  opacity: 1;
  border-color: var(--wiki-accent-2);
  background: rgba(184, 134, 11, 0.12);
  text-decoration: none;
}

/* Pastille visiteur (compte) dans le header wiki */
.wiki-visitor-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  text-transform: none !important;
  letter-spacing: normal !important;
  background: linear-gradient(135deg, #7C3AED, #5B21B6);
  color: white !important;
  border: 1px solid transparent !important;
  font-weight: 600;
  opacity: 1 !important;
  text-decoration: none;
  font-family: var(--wiki-font-body) !important;
  font-size: 0.82rem !important;
  padding: 0.32rem 0.7rem !important;
}
.wiki-visitor-pill:hover {
  background: linear-gradient(135deg, #6D28D9, #4C1D95);
  border-color: transparent !important;
}
.wiki-visitor-pill-anon {
  background: rgba(124, 58, 237, 0.18);
  color: var(--wiki-ink) !important;
  border: 1px solid #7C3AED !important;
}
.wiki-visitor-pill-anon:hover {
  background: rgba(124, 58, 237, 0.32);
  color: var(--wiki-ink) !important;
}
.wiki-visitor-jetons {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  background: rgba(255,255,255,0.18);
  padding: 0.05rem 0.45rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.78rem;
}
.wiki-visitor-pseudo { white-space: nowrap; max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 768px) {
  .wiki-visitor-pseudo { max-width: 80px; }
}

/* Bandeau "jet de dé disponible" (Phase 4 visiteurs) */
.wiki-dice-banner {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  background: linear-gradient(135deg, #312E81, #4C1D95);
  color: white;
  padding: 0.55rem 1rem;
  font-size: 0.92rem;
  border-bottom: 2px solid #FCD34D;
  animation: dice-banner-glow 2.5s ease-in-out infinite;
}
@keyframes dice-banner-glow {
  0%, 100% { box-shadow: inset 0 -3px 0 rgba(252, 211, 77, 0.4); }
  50%      { box-shadow: inset 0 -3px 0 rgba(252, 211, 77, 1); }
}
.wiki-dice-banner-emoji { font-size: 1.3rem; }
.wiki-dice-banner-text { flex: 1; color: white !important; }
.wiki-dice-banner-text strong { color: #FCD34D !important; }
.wiki-dice-banner-cta {
  background: #FCD34D;
  color: #4C1D95 !important;
  font-weight: 700;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  text-decoration: none;
  font-family: 'Cinzel', serif;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.wiki-dice-banner-cta:hover { background: #FBBF24; color: #4C1D95 !important; }
@media (max-width: 560px) {
  .wiki-dice-banner-text { font-size: 0.82rem; }
}

/* ============================================================================
   FICHES VERROUILLÉES (Phase 2 visiteurs) — silhouettes dans les listings
   ============================================================================ */
.wiki-fiche-card.wiki-fiche-locked {
  position: relative;
  filter: saturate(0.5) brightness(0.95);
}
.wiki-fiche-card.wiki-fiche-locked .wiki-fiche-body strong {
  font-style: italic;
  color: var(--wiki-muted, #6B7280) !important;
  font-weight: 500;
}
.wiki-fiche-locked-img {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.wiki-fiche-locked-img::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.25), rgba(0,0,0,0.45));
}
.wiki-fiche-locked-icon {
  position: relative;
  z-index: 1;
  font-size: 2.2rem;
  color: white;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
  filter: drop-shadow(0 0 6px rgba(255,255,255,0.5));
}
.wiki-branch-locked {
  color: var(--wiki-muted, #6B7280) !important;
  font-style: italic;
}
.wiki-branch-locked em { font-style: italic; }

/* ============================================================================
   PAGE FICHE SCELLÉE (Phase 2 visiteurs) — hero plein écran
   ============================================================================ */
.wiki-locked-hero {
  position: relative;
  min-height: 70vh;
  margin: -1rem -1rem 0;
  padding: 4rem 1.5rem;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.wiki-locked-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: blur(8px) brightness(0.35);
  transform: scale(1.1); /* évite les bords flous */
}
.wiki-locked-bg-solid {
  background-size: 30px 30px;
  background-image: linear-gradient(135deg, currentColor 25%, transparent 25%, transparent 50%, currentColor 50%, currentColor 75%, transparent 75%, transparent);
  opacity: 0.3;
  filter: brightness(0.4);
}
.wiki-locked-overlay {
  position: relative;
  z-index: 2;
  max-width: 540px;
  color: white;
  padding: 2rem 1.5rem;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 16px;
  backdrop-filter: blur(8px);
}
.wiki-locked-icon {
  font-size: 4rem;
  filter: drop-shadow(0 0 12px var(--lock-color, #7C3AED));
  animation: lock-pulse 2.5s infinite ease-in-out;
}
@keyframes lock-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}
.wiki-locked-type {
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-size: 0.78rem;
  color: var(--lock-color, #7C3AED);
  margin: 0.5rem 0 0.3rem;
  font-weight: 600;
}
.wiki-locked-title {
  font-family: var(--wiki-font-display, 'Cinzel', serif);
  font-size: 2rem;
  margin: 0 0 1rem;
  color: white !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}
.wiki-locked-desc {
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
  margin: 0 0 1.6rem;
}
.wiki-locked-desc strong { color: #FCD34D; }
.wiki-locked-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
}
.wiki-locked-btn {
  padding: 0.7rem 1.2rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.04em;
  font-size: 0.9rem;
  transition: transform 0.12s, background 0.12s;
}
.wiki-locked-btn-primary {
  background: linear-gradient(135deg, #7C3AED, #5B21B6);
  color: white !important;
}
.wiki-locked-btn-primary:hover { background: linear-gradient(135deg, #6D28D9, #4C1D95); transform: translateY(-1px); }
.wiki-locked-btn-secondary {
  background: rgba(255,255,255,0.12);
  color: white !important;
  border: 1px solid rgba(255,255,255,0.3);
}
.wiki-locked-btn-secondary:hover { background: rgba(255,255,255,0.22); }
@media (max-width: 560px) {
  .wiki-locked-hero { min-height: 60vh; padding: 2.5rem 1rem; }
  .wiki-locked-title { font-size: 1.5rem; }
  .wiki-locked-icon  { font-size: 3rem; }
}

/* ============================================================================
   LAYOUT principal
   ============================================================================ */
.wiki-layout {
  position: relative;
  max-width: 880px;                       /* single column app-like, même en desktop */
  margin: 0 auto;
  padding: 1.5rem 1.25rem 3rem;
  z-index: 1;
}
/* La sidebar n'est plus affichée (la navigation passe par la top-nav horizontale
   sous le header en desktop, et par la bottom-nav fixe en mobile). On la garde
   en DOM pour ne pas casser les pages qui en dépendent éventuellement, mais
   masquée visuellement. */
.wiki-sidebar { display: none !important; }

/* ============================================================================
   SIDEBAR : Codex sommaire (table des matières)
   ============================================================================ */
.wiki-sidebar {
  position: sticky;
  top: 1.25rem;
  align-self: flex-start;
  background: var(--wiki-paper);
  border: 2px solid var(--wiki-border);
  border-radius: 6px;
  padding: 1.25rem 1rem 1rem;
  font-family: var(--wiki-font-body);
  font-size: 0.98rem;
  box-shadow: var(--wiki-shadow), inset 0 0 0 4px var(--wiki-paper),
              inset 0 0 0 5px var(--wiki-border-soft);
  position: sticky;
}
.wiki-sidebar::before {
  content: '❦';
  display: block;
  text-align: center;
  font-size: 1.4rem;
  color: var(--wiki-accent);
  margin-bottom: 0.4rem;
  font-family: var(--wiki-font-flourish);
}
.wiki-sidebar h3 {
  font-family: var(--wiki-font-display);
  font-size: 0.78rem;
  text-transform: uppercase;
  color: var(--wiki-accent);
  margin: 0.5rem 0 0.6rem;
  letter-spacing: 0.12em;
  text-align: center;
  border-top: 1px solid var(--wiki-border-soft);
  border-bottom: 1px solid var(--wiki-border-soft);
  padding: 0.3rem 0;
}
.wiki-sidebar h3:first-of-type { margin-top: 0; }
.wiki-sidebar ul { list-style: none; margin: 0 0 0.5rem; padding: 0; }
.wiki-sidebar li { position: relative; }
.wiki-sidebar a {
  display: flex;
  align-items: center;
  padding: 0.35rem 0.5rem 0.35rem 0.6rem;
  color: var(--wiki-ink);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--wiki-font-body);
  font-size: 0.95rem;
  transition: all 0.18s;
  border-left: 3px solid transparent;
}
.wiki-sidebar a:hover {
  background: linear-gradient(90deg, rgba(184, 134, 11, 0.15), transparent);
  border-left-color: var(--wiki-accent-2);
  color: var(--wiki-accent);
  padding-left: 0.85rem;
}
.wiki-sidebar a.active {
  background: linear-gradient(90deg, rgba(134, 32, 32, 0.18), transparent);
  border-left-color: var(--wiki-accent);
  color: var(--wiki-accent);
  font-weight: 600;
}
/* Lien spécial "Soumettre un conte" en sidebar : accent violet, look "appel à contribution" */
.wiki-sidebar a.wiki-sidebar-soumettre {
  color: #7C3AED;
  font-style: italic;
  border-left-color: #7C3AED;
  background: linear-gradient(90deg, rgba(124, 58, 237, 0.08), transparent);
}
.wiki-sidebar a.wiki-sidebar-soumettre:hover {
  color: #6D28D9;
  background: linear-gradient(90deg, rgba(124, 58, 237, 0.18), transparent);
}
.wiki-sidebar .ygg-dot {
  display: inline-block;
  width: 10px; height: 10px;
  border-radius: 50%;
  margin-right: 0.5rem;
  box-shadow: 0 0 0 2px var(--wiki-paper), 0 0 0 3px currentColor;
  opacity: 0.85;
}

/* ============================================================================
   MAIN : page de codex
   ============================================================================ */
.wiki-main {
  position: relative;
  background: var(--wiki-paper);
  border: 1px solid var(--wiki-border);
  border-radius: 4px;
  padding: 2.5rem 2.75rem 3rem;
  box-shadow: var(--wiki-shadow-lg);
  /* Texture papier */
  background-image:
    radial-gradient(circle at 10% 0%, rgba(184, 134, 11, 0.06), transparent 30%),
    radial-gradient(circle at 90% 100%, rgba(134, 32, 32, 0.05), transparent 35%);
}
.wiki-main::before,
.wiki-main::after {
  content: '';
  position: absolute;
  width: 32px; height: 32px;
  border: 2px solid var(--wiki-accent-2);
  opacity: 0.7;
}
.wiki-main::before {
  top: 10px; left: 10px;
  border-right: 0; border-bottom: 0;
  border-top-left-radius: 4px;
}
.wiki-main::after {
  bottom: 10px; right: 10px;
  border-left: 0; border-top: 0;
  border-bottom-right-radius: 4px;
}
@media (max-width: 700px) { .wiki-main { padding: 1.5rem 1.25rem 2rem; } }

.wiki-main h1 {
  font-family: var(--wiki-font-display);
  margin: 0 0 0.75rem;
  font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
  color: var(--wiki-accent);
  letter-spacing: 0.04em;
  position: relative;
  padding-bottom: 0.6rem;
  text-shadow: 0 1px 0 rgba(255, 230, 180, 0.5);
}
.wiki-main h1::after {
  /* Filet bref centré, plus discret (l'ornement principal vient maintenant des séparateurs ✦ entre sections) */
  content: '';
  display: block;
  width: 80px;
  height: 2px;
  margin: 0.5rem auto 0;
  background: var(--wiki-accent-2);
  opacity: 0.55;
  border-radius: 1px;
}
.wiki-main h2 {
  margin: 2rem 0 0.9rem;
  font-size: 1.45rem;
  font-weight: 600;
  font-family: var(--wiki-font-title);
  color: var(--wiki-accent);
  letter-spacing: 0.02em;
  position: relative;
  /* Pas de border-bottom qui traverse la colonne : on s'appuie sur l'étoile ✦
     en début et un petit espace au-dessus pour structurer visuellement. */
}
.wiki-main h2::before {
  content: '✦';
  color: var(--wiki-accent-2);
  font-size: 0.85em;
  margin-right: 0.5rem;
  opacity: 0.7;
}
.wiki-main h3 { margin: 1.25rem 0 0.4rem; font-size: 1.15rem; font-family: var(--wiki-font-title); color: var(--wiki-ink); }
.wiki-main p { margin: 0 0 1rem; }

/* Lettrine (drop cap) : appliquée UNIQUEMENT dans les champs riches (.ygg-rich)
   des fiches d'item, pour ne pas casser la mise en page d'autres pages
   comme l'accueil. */
.wiki-main .ygg-rich > p:first-child::first-letter,
.wiki-main .ygg-rich > div:first-child > p:first-child::first-letter {
  font-family: var(--wiki-font-display);
  font-size: 3.4rem;
  font-weight: 900;
  float: left;
  line-height: 0.85;
  padding: 0.4rem 0.5rem 0 0;
  margin-top: 0.1rem;
  color: var(--wiki-accent);
  text-shadow: 1px 1px 0 rgba(184, 134, 11, 0.3);
}
.wiki-main a { color: var(--wiki-link); text-decoration: underline; text-decoration-color: rgba(92, 42, 31, 0.3); text-underline-offset: 3px; transition: all 0.18s; }
.wiki-main a:hover { color: var(--wiki-link-hover); text-decoration-color: var(--wiki-link-hover); }

/* Breadcrumb : fil d'Ariane "carnet de voyage" */
.wiki-breadcrumb {
  font-size: 0.88rem;
  color: var(--wiki-ink-soft);
  margin-bottom: 1rem;
  font-family: var(--wiki-font-body);
  font-style: italic;
  letter-spacing: 0.02em;
}
.wiki-breadcrumb a { color: var(--wiki-ink-soft); text-decoration: none; border-bottom: 1px dotted currentColor; }
.wiki-breadcrumb a:hover { color: var(--wiki-accent); }

/* ============================================================================
   INFOBOX : cartouche ornementé
   ============================================================================ */
.wiki-infobox {
  float: right;
  width: 290px;
  margin: 0 0 1.25rem 1.5rem;
  background: var(--wiki-bg-deep);
  border: 2px solid var(--wiki-border);
  border-radius: 4px;
  padding: 1rem 1.1rem 1.1rem;
  font-size: 0.92rem;
  font-family: var(--wiki-font-body);
  box-shadow: var(--wiki-shadow), inset 0 0 0 1px var(--wiki-paper);
  position: relative;
}
.wiki-infobox::before {
  content: '❧';
  position: absolute;
  top: -16px; left: 50%; transform: translateX(-50%);
  background: var(--wiki-bg-deep);
  color: var(--wiki-accent);
  font-size: 1.2rem;
  padding: 0 0.4rem;
  font-family: var(--wiki-font-flourish);
}
@media (max-width: 720px) {
  .wiki-infobox { float: none; width: auto; margin: 0 0 1.25rem; }
}
.wiki-infobox img {
  width: 100%;
  /* On laisse la ratio naturelle de l'image (paysages comme portraits OK), mais
     on plafonne en hauteur et on aligne vers le haut pour ne pas couper les visages
     dans les portraits trop grands. */
  max-height: 420px;
  object-fit: cover;
  object-position: 50% 15%;
  border-radius: 4px;
  margin-bottom: 0.75rem;
  display: block;
  border: 1px solid var(--wiki-border-soft);
  box-shadow: 0 1px 4px rgba(60, 40, 10, 0.25);
  transition: transform 0.4s ease;
}
.wiki-infobox img:hover { transform: scale(1.02); }
.wiki-infobox dl { margin: 0; }
.wiki-infobox dt {
  font-family: var(--wiki-font-title);
  font-weight: 600;
  color: var(--wiki-accent);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.7rem;
  border-bottom: 1px dotted var(--wiki-border-soft);
  padding-bottom: 0.15rem;
}
.wiki-infobox dd { margin: 0.25rem 0 0.4rem; line-height: 1.5; }
.wiki-infobox .wiki-type-pill {
  display: inline-block;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  font-family: var(--wiki-font-title);
  font-size: 0.7rem;
  color: white;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.08em;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2), inset 0 1px 1px rgba(255,255,255,0.25);
}

/* ============================================================================
   GALERIE : mosaïque polaroid
   ============================================================================ */
.wiki-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.7rem;
  margin: 1.25rem 0;
}
.wiki-gallery a {
  position: relative;
  display: block;
  background: var(--wiki-paper);
  padding: 5px;
  border: 1px solid var(--wiki-border-soft);
  box-shadow: var(--wiki-shadow);
  border-radius: 2px;
  transform: rotate(0deg);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  text-decoration: none;
}
.wiki-gallery a:nth-child(odd)  { transform: rotate(-1.2deg); }
.wiki-gallery a:nth-child(even) { transform: rotate(1.2deg); }
.wiki-gallery a:hover {
  transform: rotate(0deg) translateY(-4px) scale(1.05);
  box-shadow: var(--wiki-shadow-lg);
  z-index: 2;
}
.wiki-gallery img {
  width: 100%; aspect-ratio: 1; object-fit: cover;
  border-radius: 1px;
  display: block;
}

.wiki-mention {
  color: var(--wiki-link);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: rgba(92, 42, 31, 0.35);
  text-underline-offset: 2px;
}
.wiki-mention:hover { color: var(--wiki-link-hover); }

/* ============================================================================
   PAGE D'ACCUEIL : version simple, grille de cartes centrées
   ============================================================================ */
.wiki-home-hero {
  text-align: center;
  margin: 0 auto 2rem;
  max-width: 720px;
  padding: 0 0.5rem;
}
.wiki-home-ornament {
  display: block;
  margin: 0 auto 0.5rem;
  width: 88px;
  height: 88px;
  opacity: 0.9;
}
.wiki-home-sub {
  font-family: var(--wiki-font-flourish);
  font-size: 1.85rem;
  color: var(--wiki-accent-2);
  margin: 0 0 0.4rem;
  line-height: 1;
  text-align: center;
}
.wiki-home-title {
  font-family: var(--wiki-font-display);
  font-size: 2.6rem;
  font-weight: 900;
  color: var(--wiki-accent);
  margin: 0 0 0.8rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255, 230, 180, 0.4);
  line-height: 1.15;
}
.wiki-home-title::after {
  content: '';
  display: block;
  width: 220px;
  max-width: 70%;
  height: 4px;
  margin: 0.5rem auto 0;
  background: linear-gradient(90deg, transparent, var(--wiki-accent-2) 30%, var(--wiki-accent) 50%, var(--wiki-accent-2) 70%, transparent);
}
.wiki-home-intro {
  margin: 0 auto;
  max-width: 580px;
  font-style: italic;
  color: var(--wiki-ink-soft);
  font-size: 1.05rem;
  text-align: center;
}
@media (max-width: 600px) {
  .wiki-home-title { font-size: 1.9rem; }
  .wiki-home-sub   { font-size: 1.5rem; }
  .wiki-home-ornament { width: 70px; height: 70px; }
}

/* ===== Grille des catégories sur l'accueil (8 cartes centrées) ===== */
/* Grille des 8 catégories sur l'accueil : MASQUÉE complètement.
   La navigation passe désormais par la top-nav (desktop) et la bottom-nav (mobile).
   On garde le markup côté PHP pour ne pas casser, mais on cache. */
.wiki-home-cats { display: none !important; }

.wiki-home-cat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.4rem 0.85rem 1.25rem;
  background: var(--wiki-paper);
  border: 1px solid var(--wiki-border);
  border-radius: 6px;
  text-decoration: none;
  color: var(--wiki-ink);
  box-shadow: var(--wiki-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow: hidden;
}
.wiki-home-cat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--wiki-cat-color, var(--wiki-accent)) 0%, var(--wiki-accent-2) 100%);
}
.wiki-home-cat::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid var(--wiki-border-soft);
  border-radius: 3px;
  pointer-events: none;
  opacity: 0.5;
}
.wiki-home-cat:hover {
  transform: translateY(-3px);
  box-shadow: var(--wiki-shadow-lg);
  border-color: var(--wiki-cat-color, var(--wiki-accent));
  text-decoration: none;
}
.wiki-home-cat-medallion {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wiki-cat-color, var(--wiki-accent));
  color: var(--wiki-paper);
  font-family: var(--wiki-font-flourish);
  font-weight: 700;
  font-size: 1.85rem;
  line-height: 1;
  margin-bottom: 0.6rem;
  border: 2px solid var(--wiki-paper);
  box-shadow: 0 0 0 2px var(--wiki-cat-color, var(--wiki-accent)),
              0 4px 10px rgba(60, 40, 10, 0.25);
  transition: transform 0.3s ease;
}
.wiki-home-cat:hover .wiki-home-cat-medallion {
  transform: rotate(-6deg) scale(1.05);
}
.wiki-home-cat-name {
  font-family: var(--wiki-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--wiki-accent);
  letter-spacing: 0.04em;
  margin: 0;
  line-height: 1.25;
}
.wiki-home-cat-sub {
  font-family: var(--wiki-font-body);
  font-style: italic;
  color: var(--wiki-ink-soft);
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

/* ===== Table des matières arborescente sous l'arbre ===== */
.wiki-codex-toc {
  margin-top: 2rem;
  background: var(--wiki-bg-deep);
  border: 2px solid var(--wiki-border);
  border-radius: 6px;
  padding: 1.5rem 1.75rem;
  position: relative;
  box-shadow: inset 0 0 0 1px var(--wiki-paper);
}
.wiki-codex-toc-title {
  text-align: center;
  font-family: var(--wiki-font-display);
  color: var(--wiki-accent);
  font-size: 1.3rem;
  margin: -1.85rem auto 1rem;
  width: max-content;
  background: var(--wiki-paper);
  padding: 0.25rem 1.5rem;
  border: 1px solid var(--wiki-border);
  border-radius: 999px;
  letter-spacing: 0.08em;
}
.wiki-codex-toc-title::before { content: '✦ '; color: var(--wiki-accent-2); }
.wiki-codex-toc-title::after  { content: ' ✦'; color: var(--wiki-accent-2); }

.wiki-branch {
  border-left: 3px solid var(--wiki-border);
  padding: 0.5rem 0 0.5rem 1.25rem;
  margin-left: 0.5rem;
  position: relative;
}
.wiki-branch::before {
  content: '';
  position: absolute;
  left: -8px; top: 1.1rem;
  width: 13px; height: 13px;
  border-radius: 50%;
  background: var(--wiki-accent-2);
  box-shadow: 0 0 0 3px var(--wiki-paper), 0 0 0 4px var(--wiki-border);
}
.wiki-branch > summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--wiki-font-title);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wiki-ink);
  padding: 0.2rem 0;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  transition: color 0.2s ease;
}
.wiki-branch > summary::-webkit-details-marker { display: none; }
.wiki-branch > summary::after {
  content: '❦';
  margin-left: auto;
  font-family: var(--wiki-font-flourish);
  color: var(--wiki-accent-2);
  font-size: 1.1rem;
  transition: transform 0.3s ease;
}
.wiki-branch[open] > summary::after { transform: rotate(180deg); }
.wiki-branch > summary:hover { color: var(--wiki-accent); }
.wiki-branch > summary .wiki-branch-dot {
  display: inline-block; width: 14px; height: 14px;
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--wiki-paper), 0 0 0 3px currentColor;
}
.wiki-branch > summary .wiki-branch-count {
  font-family: var(--wiki-font-flourish);
  font-size: 1.5rem;
  color: var(--wiki-accent);
  margin-left: 0.4rem;
  line-height: 1;
}
.wiki-branch-children {
  list-style: none;
  padding: 0.4rem 0 0.2rem;
  margin: 0;
}
.wiki-branch-children li {
  margin: 0.15rem 0;
  padding: 0.15rem 0 0.15rem 1.2rem;
  position: relative;
  font-family: var(--wiki-font-body);
}
.wiki-branch-children li::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  width: 12px; height: 1px;
  background: var(--wiki-border-soft);
}
.wiki-branch-children a {
  color: var(--wiki-ink);
  text-decoration: none;
  border-bottom: 1px dotted transparent;
  transition: all 0.15s;
}
.wiki-branch-children a:hover {
  color: var(--wiki-accent);
  border-bottom-color: var(--wiki-accent);
}
.wiki-branch-cta {
  display: inline-block;
  margin-top: 0.5rem;
  font-family: var(--wiki-font-title);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wiki-accent);
  border: 1px solid var(--wiki-accent);
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  text-decoration: none !important;
  transition: all 0.2s;
}
.wiki-branch-cta:hover {
  background: var(--wiki-accent);
  color: var(--wiki-paper) !important;
}

/* ===== Bloc "Dernières mises à jour" ===== */
.wiki-recent {
  margin-top: 2rem;
  background: var(--wiki-paper);
  border: 1px solid var(--wiki-border-soft);
  border-radius: 4px;
  padding: 1.25rem 1.5rem;
  position: relative;
}
.wiki-recent h2 {
  margin-top: 0;
  font-family: var(--wiki-font-display);
  color: var(--wiki-accent);
  font-size: 1.3rem;
  border: 0;
  text-align: center;
}
.wiki-recent ul { list-style: none; padding: 0; margin: 0; }
.wiki-recent li {
  padding: 0.65rem 0;
  border-bottom: 1px dotted var(--wiki-border-soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}
.wiki-recent li:last-child { border-bottom: 0; }
.wiki-recent li a {
  display: flex; align-items: center; gap: 0.6rem;
  color: var(--wiki-ink);
  text-decoration: none;
  flex: 1; min-width: 0;
}
.wiki-recent li a:hover strong { color: var(--wiki-accent); }
.wiki-recent li strong {
  font-family: var(--wiki-font-title);
  font-weight: 600;
  font-size: 1.02rem;
  transition: color 0.18s;
}
.wiki-recent li time {
  color: var(--wiki-muted);
  font-style: italic;
  font-size: 0.85rem;
  white-space: nowrap;
}

/* ============================================================================
   CARTES catégorie (page accueil et catégorie)
   ============================================================================ */
.wiki-cats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.1rem;
  margin-top: 1.5rem;
}
.wiki-cat-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.4rem 1.15rem;
  background: var(--wiki-paper);
  border: 1px solid var(--wiki-border);
  border-radius: 4px;
  text-decoration: none;
  color: var(--wiki-ink);
  font-family: var(--wiki-font-body);
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow: var(--wiki-shadow);
}
.wiki-cat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--wiki-cat-color, var(--wiki-accent)) 0%, var(--wiki-accent-2) 100%);
}
.wiki-cat-card::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid var(--wiki-border-soft);
  border-radius: 2px;
  pointer-events: none;
  opacity: 0.5;
}
.wiki-cat-card:hover {
  transform: translateY(-4px) rotate(-0.5deg);
  box-shadow: var(--wiki-shadow-lg);
  border-color: var(--wiki-cat-color, var(--wiki-accent));
  text-decoration: none;
}
.wiki-cat-card strong {
  font-family: var(--wiki-font-display);
  font-size: 1.2rem;
  color: var(--wiki-accent);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.wiki-cat-card .wiki-cat-count {
  font-family: var(--wiki-font-flourish);
  font-size: 1.7rem;
  color: var(--wiki-cat-color, var(--wiki-accent-2));
  line-height: 1;
  font-weight: 700;
}
.wiki-cat-card .wiki-cat-count-suffix {
  font-family: var(--wiki-font-body);
  font-size: 0.85rem;
  color: var(--wiki-ink-soft);
  font-style: italic;
}

/* ============================================================================
   LISTE de fiches dans une catégorie : mosaïque cartes "polaroid grimoire"
   ============================================================================ */
.wiki-fiches-grid {
  display: grid;
  /* auto-fit + minmax avec borne haute = les cartes ne s'étirent jamais au-delà
     de 220px. Combiné à justify-content:center, ça centre proprement quand il y
     a 1, 2 ou 3 items au lieu de les caler à gauche. */
  grid-template-columns: repeat(auto-fit, minmax(190px, 220px));
  justify-content: center;
  gap: 1.1rem;
  margin-top: 1.5rem;
}
.wiki-fiche-card {
  position: relative;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--wiki-ink);
  background: var(--wiki-paper);
  border: 1px solid var(--wiki-border);
  border-radius: 4px;
  overflow: hidden;
  font-family: var(--wiki-font-body);
  box-shadow: var(--wiki-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.wiki-fiche-card::before {
  content: '';
  position: absolute;
  top: 6px; left: 6px; right: 6px; bottom: 6px;
  border: 1px solid var(--wiki-border-soft);
  border-radius: 2px;
  pointer-events: none;
  opacity: 0.55;
  z-index: 2;
}
.wiki-fiche-card:nth-child(3n+1) { transform: rotate(-0.4deg); }
.wiki-fiche-card:nth-child(3n+2) { transform: rotate(0.3deg); }
.wiki-fiche-card:hover {
  transform: rotate(0deg) translateY(-5px) scale(1.02);
  box-shadow: var(--wiki-shadow-lg);
  border-color: var(--wiki-accent-2);
  z-index: 5;
}
.wiki-fiche-card .wiki-fiche-img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  /* Cadrage haut pour préserver les visages des personnages dans les vignettes carrées */
  object-position: 50% 15%;
  display: block;
  filter: sepia(0.18) saturate(1.08);
  transition: filter 0.35s ease;
}
.wiki-fiche-card:hover .wiki-fiche-img { filter: sepia(0) saturate(1.15); }
.wiki-fiche-noimg {
  width: 100%;
  aspect-ratio: 1;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--wiki-font-display);
  font-weight: 900;
  font-size: 4rem;
  color: var(--wiki-accent);
  background:
    radial-gradient(circle at 30% 30%, rgba(184, 134, 11, 0.25), transparent 50%),
    linear-gradient(135deg, var(--wiki-bg-deep) 0%, var(--wiki-paper) 100%);
  text-shadow: 1px 1px 0 rgba(255, 230, 180, 0.4);
}
.wiki-fiche-body {
  padding: 0.85rem 1rem 1rem;
  text-align: center;
  background: var(--wiki-paper);
  border-top: 1px solid var(--wiki-border-soft);
}
.wiki-fiche-body strong {
  display: block;
  font-family: var(--wiki-font-title);
  font-size: 1rem;
  font-weight: 600;
  color: var(--wiki-ink);
  line-height: 1.3;
}

/* Filtre alphabétique stylisé */
.wiki-letters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 1rem 0 1.5rem;
  padding: 0.6rem 0.8rem;
  background: var(--wiki-bg-deep);
  border: 1px solid var(--wiki-border-soft);
  border-radius: 4px;
}
.wiki-letters a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 32px; height: 32px;
  padding: 0 0.4rem;
  font-family: var(--wiki-font-display);
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--wiki-ink);
  text-decoration: none;
  border: 1px solid var(--wiki-border-soft);
  border-radius: 4px;
  background: var(--wiki-paper);
  transition: all 0.15s;
}
.wiki-letters a:hover {
  background: var(--wiki-accent-2);
  color: var(--wiki-paper);
  border-color: var(--wiki-accent-2);
  transform: translateY(-1px);
}
.wiki-letters a.active {
  background: var(--wiki-accent);
  color: var(--wiki-paper);
  border-color: var(--wiki-accent);
  box-shadow: 0 2px 6px rgba(134, 32, 32, 0.35);
}

/* ============================================================================
   Section "Connexions" en fiche : arborescence de liens
   ============================================================================ */
.wiki-connections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}
.wiki-connection-group {
  background: var(--wiki-bg-deep);
  border: 1px solid var(--wiki-border-soft);
  border-radius: 4px;
  padding: 0.85rem 1rem;
  position: relative;
}
.wiki-connection-group::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px; height: 100%;
  background: var(--wiki-connection-color, var(--wiki-accent));
  border-radius: 4px 0 0 4px;
}
.wiki-connection-group strong {
  display: block;
  font-family: var(--wiki-font-title);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wiki-accent);
  margin-bottom: 0.4rem;
  border-bottom: 1px dotted var(--wiki-border-soft);
  padding-bottom: 0.25rem;
}
.wiki-connection-group ul { list-style: none; padding: 0; margin: 0; }
.wiki-connection-group li { padding: 0.12rem 0 0.12rem 0.85rem; position: relative; font-family: var(--wiki-font-body); }
.wiki-connection-group li::before {
  content: '◆';
  position: absolute; left: 0; top: 0.15rem;
  color: var(--wiki-accent-2);
  font-size: 0.65rem;
}

/* ============================================================================
   Page login wiki : page de gardien
   ============================================================================ */
.wiki-login-wrap {
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  background:
    radial-gradient(ellipse at center, rgba(184, 134, 11, 0.15), transparent 60%),
    var(--wiki-bg);
}
.wiki-login-card {
  background: var(--wiki-paper);
  border: 2px solid var(--wiki-border);
  border-radius: 6px;
  padding: 2.5rem 2.25rem;
  width: 100%;
  max-width: 460px;
  box-shadow: var(--wiki-shadow-lg), inset 0 0 0 1px var(--wiki-paper-edge);
  text-align: center;
  position: relative;
}
.wiki-login-card::before, .wiki-login-card::after {
  content: '';
  position: absolute;
  width: 40px; height: 40px;
  border: 2px solid var(--wiki-accent-2);
  opacity: 0.7;
}
.wiki-login-card::before { top: 8px; left: 8px; border-right: 0; border-bottom: 0; }
.wiki-login-card::after  { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }
.wiki-login-card h1 {
  font-family: var(--wiki-font-display);
  margin: 0 0 0.3rem;
  color: var(--wiki-accent);
  font-size: 1.8rem;
  letter-spacing: 0.06em;
}
.wiki-login-card .wiki-flourish {
  display: block;
  font-family: var(--wiki-font-flourish);
  color: var(--wiki-accent-2);
  font-size: 2.2rem;
  line-height: 1;
  margin: 0.2rem 0 1rem;
}
.wiki-login-card p { color: var(--wiki-ink-soft); margin-bottom: 1.5rem; font-style: italic; }
.wiki-login-card input[type="password"] {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--wiki-border);
  border-radius: 4px;
  font-size: 1.05rem;
  background: var(--wiki-bg);
  color: var(--wiki-text);
  font-family: var(--wiki-font-body);
  text-align: center;
  letter-spacing: 0.15em;
}
.wiki-login-card input[type="password"]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(218, 165, 32, 0.25);
}
.wiki-login-card button {
  margin-top: 1rem;
  width: 100%;
  padding: 0.85rem;
  background: linear-gradient(180deg, var(--wiki-accent) 0%, #5C1515 100%);
  color: var(--wiki-paper);
  border: 1px solid var(--wiki-accent);
  border-radius: 4px;
  font-family: var(--wiki-font-display);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 3px 8px rgba(134, 32, 32, 0.35);
}
.wiki-login-card button:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(134, 32, 32, 0.45);
}
.wiki-alert {
  background: rgba(166, 51, 25, 0.12);
  color: var(--wiki-accent);
  border: 1px solid var(--wiki-accent);
  border-radius: 4px;
  padding: 0.55rem 0.85rem;
  font-size: 0.9rem;
  margin-bottom: 1rem;
  font-style: italic;
}

/* ============================================================================
   Bloc "Intégrer" (iframe embed)
   ============================================================================ */
.wiki-embed-tool {
  margin-top: 2.5rem;
  padding: 1.25rem 1.5rem;
  background: var(--wiki-bg-deep);
  border: 1px dashed var(--wiki-border);
  border-radius: 6px;
  font-family: var(--wiki-font-body);
  position: relative;
}
.wiki-embed-tool h3 {
  margin: 0 0 0.5rem;
  font-family: var(--wiki-font-title);
  font-size: 1.05rem;
  color: var(--wiki-accent);
}
.wiki-embed-code {
  width: 100%;
  font-family: ui-monospace, "Cascadia Code", Menlo, monospace;
  font-size: 0.78rem;
  padding: 0.6rem;
  border: 1px solid var(--wiki-border);
  border-radius: 4px;
  background: var(--wiki-paper);
  color: var(--wiki-text);
  resize: vertical;
  min-height: 75px;
}
.wiki-embed-copy {
  margin-top: 0.5rem;
  padding: 0.5rem 1.1rem;
  background: var(--wiki-accent);
  color: var(--wiki-paper);
  border: 0;
  border-radius: 4px;
  font-family: var(--wiki-font-title);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
}
.wiki-embed-copy:hover { background: var(--wiki-link-hover); }

/* ============================================================================
   Mode embed (iframe externe) : minimal grimoire compact
   ============================================================================ */
.wiki-embed-body {
  margin: 0;
  padding: 1.25rem 1.5rem;
  font-family: var(--wiki-font-body);
  background: transparent;
  color: var(--wiki-text);
  line-height: 1.65;
}
.wiki-embed-body .wiki-embed-card {
  background: var(--wiki-paper);
  border: 1px solid var(--wiki-border);
  border-radius: 4px;
  padding: 1.5rem 1.75rem;
  box-shadow: var(--wiki-shadow);
}
.wiki-embed-body h1 {
  margin: 0 0 0.5rem;
  font-size: 1.75rem;
  font-family: var(--wiki-font-display);
  color: var(--wiki-accent);
  border-bottom: 2px solid var(--wiki-border);
  padding-bottom: 0.4rem;
}
.wiki-embed-body img { max-width: 100%; border-radius: 4px; border: 1px solid var(--wiki-border-soft); }
.wiki-embed-body .mention,
.wiki-embed-body a.mention {
  background: transparent !important;
  color: var(--wiki-link) !important;
  text-decoration: none !important;
  pointer-events: none;
  cursor: default;
}
.wiki-embed-body .mention .ql-mention-denotation-char { display: none !important; }

/* Tags chips */
.wiki-tag-chip {
  display: inline-block;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  font-size: 0.72rem;
  color: var(--wiki-paper);
  font-family: var(--wiki-font-title);
  font-weight: 600;
  margin: 0 0.2rem 0.2rem 0;
  letter-spacing: 0.04em;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

/* Citation / pull quote dans une fiche */
.wiki-main blockquote {
  margin: 1.5rem 1rem;
  padding: 0.8rem 1.25rem;
  border-left: 4px solid var(--wiki-accent-2);
  font-family: var(--wiki-font-flourish);
  font-size: 1.4rem;
  color: var(--wiki-accent);
  font-style: italic;
  background: rgba(184, 134, 11, 0.08);
  border-radius: 0 4px 4px 0;
}

/* Footer ornementé */
.wiki-footer {
  text-align: center;
  padding: 2.5rem 1rem 3rem;
  color: var(--wiki-ink-soft);
  font-family: var(--wiki-font-body);
  font-size: 0.9rem;
  position: relative;
  margin-top: 1rem;
}
.wiki-footer::before {
  content: '✦ ❦ ✦';
  display: block;
  color: var(--wiki-accent-2);
  font-size: 1.2rem;
  letter-spacing: 0.6rem;
  margin-bottom: 0.6rem;
  opacity: 0.7;
}
.wiki-footer .wiki-version {
  font-family: ui-monospace, Menlo, monospace;
  background: rgba(184, 134, 11, 0.15);
  padding: 0.1rem 0.5rem;
  border-radius: 4px;
  font-size: 0.78rem;
  margin-left: 0.5rem;
}

/* Animations utilitaires */
@keyframes wiki-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.wiki-main, .wiki-sidebar { animation: wiki-fade-in 0.5s ease-out; }

/* Réduction des animations pour utilisateurs qui le demandent */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001s !important;
    transition-duration: 0.001s !important;
  }
  .wiki-leaves { display: none; }
}

/* === Badge "Généré par IA" sur les images du wiki public === */
.wiki-img-wrapper { position: relative; display: inline-block; width: 100%; }
.wiki-img-wrapper img { display: block; max-width: 100%; }
.wiki-gal-link { position: relative; display: block; }
.wiki-ia-badge {
  position: absolute;
  top: 0.4rem; right: 0.4rem;
  background: linear-gradient(135deg, #862020 0%, #5C2A1F 100%);
  color: #FBF3DE;
  font-family: var(--wiki-font-title, Georgia, serif);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--wiki-accent-2, #B8860B);
  box-shadow: 0 2px 6px rgba(0,0,0,0.35);
  cursor: help;
  z-index: 2;
  text-shadow: 0 1px 0 rgba(0,0,0,0.3);
}
.wiki-ia-badge::before { content: '✦ '; opacity: 0.8; }

/* Note explicative quand on survole/clique sur une image IA principale dans la fiche */
.wiki-ia-note {
  margin: 0.5rem 0 1rem;
  padding: 0.65rem 0.85rem;
  background: rgba(184, 134, 11, 0.12);
  border-left: 3px solid var(--wiki-accent-2, #B8860B);
  border-radius: 4px;
  font-style: italic;
  font-size: 0.88rem;
  color: var(--wiki-ink-soft, #6B4A2B);
}
.wiki-ia-note strong { color: var(--wiki-accent, #862020); font-style: normal; }

/* ============================================================================
   TOP NAV horizontale (desktop) : pendant de la bottom-nav mobile, posée juste
   sous le header. Cachée en mobile (la bottom-nav prend le relais).
   ============================================================================ */
.wiki-top-nav {
  background: linear-gradient(180deg, #3D2817 0%, #2A1A0A 100%);
  border-bottom: 2px solid var(--wiki-accent-2, #C99A4F);
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  z-index: 9;
  position: relative;
}
.wiki-top-nav-inner {
  max-width: 880px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  padding: 0.4rem 0.5rem;
  gap: 0.4rem;
}
.wiki-tn-item {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 0.8rem;
  border-radius: 6px;
  text-decoration: none !important;
  color: rgba(255, 230, 200, 0.78);
  font-family: var(--wiki-font-title, "Cinzel", serif);
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  transition: color 0.15s, background 0.15s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wiki-tn-item:hover {
  color: #FFF8E8;
  background: rgba(255, 235, 200, 0.06);
}
.wiki-tn-item.active {
  color: var(--wiki-accent-2, #E6C589);
  background: rgba(255, 235, 200, 0.09);
  box-shadow: inset 0 -2px 0 var(--wiki-accent-2, #C99A4F);
}
.wiki-tn-icon { display: inline-flex; align-items: center; }
.wiki-tn-icon svg { width: 20px; height: 20px; display: block; }
.wiki-tn-item.active .wiki-tn-icon svg { stroke-width: 1.9; }

/* Cache la top-nav en mobile : la bottom-nav fixe en bas suffit */
@media (max-width: 768px) {
  .wiki-top-nav { display: none; }
}

/* Sur écrans étroits desktop, on raccourcit ; sur très étroits on ne montre que l'icône */
@media (min-width: 769px) and (max-width: 880px) {
  .wiki-tn-label { font-size: 0.78rem; }
}

/* ============================================================================
   HOME : 3 « bulles-graines » des prochains événements
   Affichées juste sous le hero. Forme de feuille / graine en SVG (var couleur
   propre à chaque event = ambre par défaut, ou couleur du type).
   ============================================================================ */
.wiki-home-seeds {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 0 auto 2rem;
  max-width: 560px;
}
.wiki-seed {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  text-align: center;
  transition: transform 0.22s ease;
  /* Couleur de remplissage de la feuille (utilisée via currentColor dans le SVG).
     Largeur ET hauteur fixes pour que le bloc ne s'étire jamais, même quand il
     est seul ou en flex-grow. */
  color: #C99A4F;
  width: 150px;
  flex: 0 0 150px;
}
.wiki-seed:hover,
.wiki-seed:focus { transform: translateY(-4px); text-decoration: none; }
.wiki-seed:nth-child(2) { color: #8B5A2B; }
.wiki-seed:nth-child(3) { color: #A56A38; }
.wiki-seed-leaf {
  width: 110px;
  height: 110px;
  flex-shrink: 0;
  filter: drop-shadow(0 4px 10px rgba(60, 35, 10, 0.35));
}
.wiki-seed-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  color: #FFF8E8;
  text-shadow: 0 1px 2px rgba(0,0,0,0.45);
}
.wiki-seed-nom {
  font-family: var(--wiki-font-title, "Cinzel", serif);
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wiki-seed-edition {
  font-family: var(--wiki-font-flourish, "Tangerine", cursive);
  font-size: 1.1rem;
  margin-top: 0.1rem;
  opacity: 0.95;
}
.wiki-seed-date {
  font-size: 0.7rem;
  margin-top: 0.15rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.85;
}

/* ============================================================================
   HOME : bloc « Voyageur, partage ton conte » harmonisé avec le sommaire
   ============================================================================ */
.wiki-call-contrib {
  margin: 2rem auto;
  padding: 1.4rem 1.5rem;
  max-width: 720px;
  background: var(--wiki-paper, #FBF3DE);
  border: 1px solid var(--wiki-border, #D6C9A6);
  border-left: 4px solid #7C3AED;        /* accent violet "Conte du Voyageur" */
  border-radius: 6px;
  box-shadow: var(--wiki-shadow, 0 1px 4px rgba(0,0,0,0.08));
}
.wiki-call-contrib h2 {
  margin: 0 0 0.5rem;
  font-family: var(--wiki-font-title, "Cinzel", serif);
  color: var(--wiki-accent, #862020);
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  letter-spacing: 0.02em;
}
.wiki-call-contrib h2::before { content: none; }   /* override du ::before étoile global */
.wiki-call-contrib-icon { font-size: 1.4rem; }
.wiki-call-contrib p {
  margin: 0 0 1rem;
  font-style: italic;
  color: var(--wiki-ink-soft, #6B4A2B);
  font-size: 0.95rem;
}
.wiki-call-contrib-cta {
  display: inline-block;
  padding: 0.55rem 1.2rem;
  background: linear-gradient(180deg, #1E3A5F 0%, #14283F 100%);
  color: #F5E9D0 !important;
  text-decoration: none !important;
  border-radius: 6px;
  font-family: var(--wiki-font-title, "Cinzel", serif);
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  border: 1px solid #C99A4F;
  transition: transform 0.15s, box-shadow 0.15s;
}
.wiki-call-contrib-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  text-decoration: none !important;
}

/* ============================================================================
   Conteneur formulaire wiki (carte parchemin neutre, sans rotation polaroid)
   Utilisé par /wiki/soumettre-personnage.php
   ============================================================================ */
.wiki-form-card {
  max-width: 740px;
  margin: 0 auto 2rem;
  padding: 1.6rem 1.8rem;
  background: var(--wiki-paper, #FBF3DE);
  border: 1px solid var(--wiki-border, #D6C9A6);
  border-radius: 8px;
  box-shadow: var(--wiki-shadow, 0 1px 4px rgba(0,0,0,0.08));
}
.wiki-form-card fieldset { margin-bottom: 1rem; }
.wiki-form-card input[type=text],
.wiki-form-card input[type=email],
.wiki-form-card input[type=search],
.wiki-form-card input[type=file],
.wiki-form-card select,
.wiki-form-card textarea {
  width: 100%;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--wiki-border, #D6C9A6);
  border-radius: 4px;
  background: #FFFCF5;
  font-family: var(--wiki-font-body);
  font-size: 0.95rem;
  color: var(--wiki-ink, #2A1810);
  box-sizing: border-box;
}
.wiki-form-card input:focus,
.wiki-form-card select:focus,
.wiki-form-card textarea:focus {
  outline: 2px solid var(--wiki-accent-2, #C99A4F);
  outline-offset: 1px;
  background: #FFFFFF;
}
.wiki-form-card textarea { line-height: 1.5; resize: vertical; }
.wiki-form-card label { font-size: 0.92rem; color: var(--wiki-ink, #2A1810); }
.wiki-form-card legend { padding: 0 0.5rem; }

@media (max-width: 768px) {
  .wiki-form-card { padding: 1.1rem 1rem; }
  .wiki-form-card fieldset { padding: 0.8rem 0.9rem !important; }
  .wiki-form-card > h1, .wiki-form-card + h1 { font-size: 1.5rem; }
}

/* ============================================================================
   CATEGORIE.PHP : mode accordéons pour la catégorie événements
   ============================================================================ */
.wiki-events-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  max-width: 720px;
  margin: 1.5rem auto 0;
}
.wiki-event-block {
  background: var(--wiki-paper, #FBF3DE);
  border: 1px solid var(--wiki-border, #D6C9A6);
  border-left: 4px solid var(--wiki-accent-2, #C99A4F);
  border-radius: 6px;
  box-shadow: var(--wiki-shadow, 0 1px 4px rgba(0,0,0,0.08));
  overflow: hidden;
}
.wiki-event-summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.65rem 0.9rem;
  cursor: pointer;
  user-select: none;
  font-family: var(--wiki-font-body);
  transition: background 0.12s;
}
.wiki-event-summary::-webkit-details-marker { display: none; }
.wiki-event-summary:hover { background: rgba(218, 165, 32, 0.06); }
.wiki-event-mini {
  width: 48px; height: 48px;
  border-radius: 6px;
  object-fit: cover;
  object-position: 50% 25%;
  border: 1px solid var(--wiki-border-soft, #E5D5A8);
  flex-shrink: 0;
}
.wiki-event-mini-noimg {
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #C99A4F, #8B5A2B);
  color: #FFF8E8; font-size: 1.4rem;
}
.wiki-event-titles {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column;
  line-height: 1.15;
}
.wiki-event-titles strong {
  font-family: var(--wiki-font-title, "Cinzel", serif);
  color: var(--wiki-accent, #862020);
  font-size: 1rem;
  letter-spacing: 0.02em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wiki-event-chap-count {
  font-size: 0.75rem;
  color: var(--wiki-ink-soft, #6B4A2B);
  font-style: italic;
  margin-top: 0.15rem;
}
.wiki-event-chap-empty { opacity: 0.65; }
.wiki-event-chevron {
  font-size: 1rem;
  color: var(--wiki-accent-2, #C99A4F);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.wiki-event-block[open] .wiki-event-chevron { transform: rotate(180deg); }

.wiki-event-content {
  padding: 0 0.9rem 0.9rem 4.3rem;     /* aligne sous le titre, pas sous l'image mini */
  border-top: 1px dotted var(--wiki-border-soft, #E5D5A8);
  padding-top: 0.6rem;
}
.wiki-event-cta {
  display: inline-block;
  font-size: 0.82rem;
  font-family: var(--wiki-font-title, "Cinzel", serif);
  color: var(--wiki-accent, #862020) !important;
  margin-bottom: 0.5rem;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}
.wiki-event-cta:hover { color: var(--wiki-link-hover, #A82424) !important; }
.wiki-event-empty {
  font-style: italic;
  color: var(--wiki-muted, #8C7A55);
  font-size: 0.88rem;
  margin: 0.3rem 0 0;
}
.wiki-chapitres-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.wiki-chapitres-list li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0.5rem;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 4px;
  font-size: 0.92rem;
}
.wiki-chap-dot { color: var(--wiki-accent-2, #C99A4F); flex-shrink: 0; }
.wiki-chap-nom { color: var(--wiki-ink, #2A1810); }

@media (max-width: 768px) {
  .wiki-event-content { padding-left: 0.9rem; }   /* en mobile on n'aligne plus sous l'image */
  .wiki-event-mini { width: 42px; height: 42px; }
}

/* ============================================================================
   FICHE ÉVÉNEMENT (wiki/item.php) : programme = liste simple de chapitres
   ============================================================================ */
.wiki-event-chapitres-list {
  list-style: none;
  margin: 0.8rem 0 1.4rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.wiki-event-chapitres-list li {
  background: var(--wiki-paper, #FBF3DE);
  border: 1px solid var(--wiki-border-soft, #E5D5A8);
  border-left: 4px solid var(--wiki-accent-2, #C99A4F);
  border-radius: 6px;
  overflow: hidden;
  transition: transform 0.15s, box-shadow 0.15s;
}
.wiki-event-chapitres-list li:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(60, 35, 10, 0.18);
}
.wiki-event-chap-link {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.65rem 0.9rem;
  text-decoration: none !important;
  color: var(--wiki-ink, #2A1810);
}
.wiki-event-chap-dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.5);
}
.wiki-event-chap-text {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column;
  line-height: 1.3;
}
.wiki-event-chap-text strong {
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.wiki-event-chap-excerpt {
  font-size: 0.83rem;
  color: var(--wiki-ink-soft, #6B4A2B);
  font-style: italic;
  margin-top: 0.15rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wiki-event-chap-arrow {
  color: var(--wiki-accent-2, #C99A4F);
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* ============================================================================
   PAGE CHAPITRE PUBLIQUE (wiki/chapitre.php)
   ============================================================================ */
.wiki-chap-hero {
  position: relative;
  margin: 0.5rem 0 1.5rem;
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--chap-color, #8B5A2B) 0%, var(--chap-color-2, #5C3A1C) 100%);
  color: #FFF8E8;
  min-height: 160px;
  border: 1px solid var(--wiki-border, #D6C9A6);
  box-shadow: var(--wiki-shadow, 0 1px 4px rgba(0,0,0,0.08));
}
.wiki-chap-hero-img {
  position: absolute; inset: 0;
  z-index: 0;
}
.wiki-chap-hero-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
  opacity: 0.55;
  filter: saturate(1.05);
}
.wiki-chap-hero::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.55) 100%);
  z-index: 1;
}
.wiki-chap-hero-inner {
  position: relative;
  z-index: 2;
  padding: 1.4rem 1.4rem 1.6rem;
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
}
.wiki-chap-hero-logo {
  width: 64px; height: 64px;
  border-radius: 50%;
  border: 2px solid var(--wiki-accent-2, #C99A4F);
  background: rgba(0,0,0,0.25);
  object-fit: cover;
  margin-bottom: 0.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
.wiki-chap-hero-context {
  font-size: 0.78rem;
  margin: 0 0 0.3rem;
  letter-spacing: 0.04em;
  opacity: 0.9;
}
.wiki-chap-hero-context a { color: #FFE8B8 !important; text-decoration: underline; text-decoration-style: dotted; }
.wiki-chap-hero-title {
  margin: 0;
  font-size: 1.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 6px rgba(0,0,0,0.55);
  color: #FFF8E8 !important;
}

.wiki-chap-descriptif {
  max-width: 760px;
  margin: 1.5rem auto 2rem;
  font-size: 1rem;
}

.wiki-chap-children { margin: 2rem auto; max-width: 880px; }
.wiki-chap-children > h2 { text-align: center; }
.wiki-chap-children-block { margin: 1.6rem 0 0; }
.wiki-chap-children-block > h3 {
  font-family: var(--wiki-font-title, "Cinzel", serif);
  font-size: 1.1rem;
  letter-spacing: 0.04em;
  margin: 0 0 0.6rem;
  text-align: center;
}

@media (max-width: 768px) {
  .wiki-chap-hero { min-height: 140px; }
  .wiki-chap-hero-title { font-size: 1.5rem; }
  .wiki-chap-hero-logo { width: 52px; height: 52px; }
}

/* ============================================================================
   Accordéon « grimoire » pour les champs riches mis en repli (ex. description
   physique, costumes sur la fiche personnage).
   ============================================================================ */
.wiki-rich-collapse {
  margin: 1.6rem 0 0.8rem;
  border-top: 1px solid var(--wiki-border-soft);
  padding-top: 0.5rem;
}
.wiki-rich-collapse > summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--wiki-font-title, "Cinzel", serif);
  color: var(--wiki-accent);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0;
  user-select: none;
  transition: color 0.15s;
}
.wiki-rich-collapse > summary::-webkit-details-marker { display: none; }
.wiki-rich-collapse > summary::after {
  content: '▾';
  margin-left: auto;
  font-size: 0.85em;
  color: var(--wiki-accent-2);
  transition: transform 0.18s ease;
}
.wiki-rich-collapse[open] > summary::after { transform: rotate(180deg); }
.wiki-rich-collapse > summary:hover { color: var(--wiki-link-hover, var(--wiki-accent)); }
.wiki-rich-collapse-icon { color: var(--wiki-accent-2); font-size: 0.85em; opacity: 0.8; }
.wiki-rich-collapse > .ygg-rich {
  margin-top: 0.5rem;
  animation: wiki-collapse-fade 0.25s ease;
}
@keyframes wiki-collapse-fade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================================
   BOTTOM NAV (mobile uniquement — masquée en desktop)
   Style : fixe en bas de l'écran, fond parchemin foncé, 5 entrées icône+label.
   ============================================================================ */
.wiki-bottom-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  display: none;                     /* visible uniquement en mobile, cf. media query */
  background: linear-gradient(180deg, #2A1810 0%, #1F100A 100%);
  border-top: 2px solid var(--wiki-accent-2, #C99A4F);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.35);
  padding: 0.35rem 0 calc(0.35rem + env(safe-area-inset-bottom));
  justify-content: space-around;
  align-items: stretch;
}
.wiki-bn-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.3rem 0.2rem;
  text-decoration: none;
  color: rgba(255, 230, 200, 0.7);
  font-size: 0.68rem;
  font-family: var(--wiki-font-title, "Cinzel", serif);
  letter-spacing: 0.04em;
  border-radius: 8px;
  transition: color 0.15s, background 0.15s;
  min-width: 0;
}
.wiki-bn-item:hover,
.wiki-bn-item:focus { color: rgba(255, 230, 200, 1); text-decoration: none; }
.wiki-bn-item.active {
  color: var(--wiki-accent-2, #E6C589);
  background: rgba(255, 235, 200, 0.08);
}
.wiki-bn-item.active::after {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.wiki-bn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin-bottom: 0.05rem;
}
.wiki-bn-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  /* currentColor → respecte la couleur active/inactive du parent */
  color: inherit;
  stroke-width: 1.7;
}
.wiki-bn-item.active .wiki-bn-icon svg { stroke-width: 1.9; }
.wiki-bn-label {
  font-size: 0.68rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* ============================================================================
   MOBILE — Wiki en mode app : single column, padding réduit, bottom-nav visible
   ============================================================================ */
@media (max-width: 768px) {

  /* Affiche la bottom-nav */
  .wiki-bottom-nav { display: flex; }

  /* Laisse la place à la bottom-nav (≈ 62px + safe-area) */
  body.wiki-body {
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }

  /* ==========================================================
     Header wiki en mode app : compact, STICKY top, sans wrap
     ========================================================== */
  .wiki-header {
    position: sticky;
    top: 0;
    z-index: 30;
    padding: 0.55rem 0.7rem;
    gap: 0.45rem;
    flex-wrap: nowrap;                          /* tout sur une seule ligne */
    border-bottom-width: 2px;
    min-height: 52px;
    align-items: center;
  }
  .wiki-header::before,
  .wiki-header::after { display: none; }        /* ornements coins masqués pour gagner de la place */

  /* Logo rond caché : remplacé par le bloc texte branding */
  .wiki-header-logo { display: none; }
  .wiki-header-brand { display: inline-flex; flex-shrink: 0; }

  /* On masque le H1 (le branding texte fait office de titre cliquable) */
  .wiki-header h1 { display: none !important; }

  /* Spacer pour pousser les actions à droite */
  .wiki-header h1 + .wiki-search-toggle,
  .wiki-header-brand ~ .wiki-search-toggle { margin-left: auto; }

  /* Boutons loupe + plume visibles */
  .wiki-search-toggle,
  .wiki-quill-toggle { display: inline-flex; }

  /* La barre de recherche devient un overlay sous le header, masqué par défaut */
  .wiki-header .wiki-header-search {
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    margin: 0;
    max-width: none;
    padding: 0.55rem 0.7rem;
    background: linear-gradient(180deg, #3D2817 0%, #2A1A0A 100%);
    border-bottom: 2px solid var(--wiki-accent-2);
    box-shadow: 0 6px 14px rgba(0,0,0,0.35);
    transform: translateY(-110%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.22s ease, opacity 0.22s ease;
    z-index: 9;
  }
  .wiki-header.search-open .wiki-header-search {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .wiki-header .wiki-header-search input[type="search"] {
    width: 100%;
    font-size: 1rem;
    padding: 0.55rem 0.9rem 0.55rem 2.4rem;
  }
  .wiki-header .wiki-header-search::before { left: 1.1rem; }

  /* Actions admin/sortir : icônes uniquement (labels masqués) */
  .wiki-header-actions {
    gap: 0.3rem;
    flex-shrink: 0;
  }
  .wiki-header-actions a {
    padding: 0.4rem;
    border: 1px solid rgba(241, 228, 197, 0.25);
    width: 38px; height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 0;            /* masque tout texte direct enfant non-svg */
  }
  .wiki-header-action-label { display: none; }
  .wiki-header-action-icon { display: block; }

  /* Layout principal : marges réduites */
  .wiki-main {
    padding: 0.6rem 0.8rem 1.5rem;
  }
  .wiki-main h1 {
    font-size: 1.85rem;
    padding-bottom: 0.4rem;
  }
  .wiki-main h2 {
    font-size: 1.2rem;
    margin: 1.4rem 0 0.6rem;
  }
  .wiki-main p { font-size: 0.98rem; line-height: 1.55; }

  /* Infobox passe sous le titre (full width) */
  .wiki-infobox {
    float: none;
    width: 100%;
    margin: 0 0 1.2rem;
    padding: 1rem;
  }
  .wiki-infobox::before { display: none; }
  .wiki-infobox img {
    aspect-ratio: 4 / 5;
    max-height: 320px;
    object-fit: cover;
    object-position: 50% 12%;
  }

  /* Grilles compactes pour les listes de fiches :
     auto-fit + minmax avec borne haute = centrage propre quand peu d'items
     (1 item → centré ; 2 items → côte à côte centrés ; 3+ → grille pleine). */
  .wiki-fiches-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 200px)) !important;
    justify-content: center;
    gap: 0.65rem;
  }
  .wiki-fiche-card { padding: 0.4rem 0.4rem 0.55rem; }
  .wiki-fiche-card .wiki-fiche-img,
  .wiki-fiche-card .wiki-fiche-noimg {
    aspect-ratio: 4 / 5;
  }
  .wiki-fiche-card:nth-child(3n+1),
  .wiki-fiche-card:nth-child(3n+2) { transform: none; }  /* pas de rotation polaroid en mobile */
  .wiki-fiche-card .wiki-fiche-body strong {
    font-size: 0.85rem;
    line-height: 1.25;
  }

  /* Hero accueil compact */
  .wiki-home-hero { padding: 1.2rem 0.4rem 0.8rem; }
  .wiki-home-ornament { width: 64px; height: 64px; }
  .wiki-home-title { font-size: 1.7rem; }
  .wiki-home-intro { font-size: 0.92rem; }

  /* Grille des 8 catégories CACHÉE en mobile : la bottom-nav suffit à naviguer. */
  .wiki-home-cats { display: none !important; }

  /* Sidebar gauche (« Branches du Codex » + « Naviguer ») CACHÉE en mobile :
     redondante avec la bottom-nav. */
  .wiki-sidebar { display: none !important; }

  /* Bulles-graines : centrées, plus petites */
  .wiki-home-seeds { gap: 0.8rem; }
  .wiki-seed { width: 130px; }
  .wiki-seed-leaf { width: 100px; height: 100px; }
  .wiki-seed-nom { font-size: 0.72rem; -webkit-line-clamp: 2; }
  .wiki-seed-edition { font-size: 0.95rem; }
  .wiki-seed-date { font-size: 0.62rem; }

  /* Sommaire : marges allégées */
  .wiki-codex-toc { padding: 0.5rem 0.4rem; }
  .wiki-branch { padding: 0.5rem 0.7rem; }
  .wiki-branch summary { font-size: 0.95rem; }

  /* Filtre alphabétique : wrap propre */
  .wiki-letters { gap: 0.15rem; flex-wrap: wrap; justify-content: center; }
  .wiki-letters a { padding: 0.3rem 0.5rem; min-width: 32px; font-size: 0.85rem; }

  /* Footer plus discret en mobile (la bottom-nav prend le relais) */
  .wiki-footer {
    font-size: 0.7rem;
    padding: 0.5rem 0.8rem;
    margin-bottom: 0;     /* la bottom-nav s'en charge */
  }
}

/* Mobile très étroit : compaction supplémentaire */
@media (max-width: 380px) {
  .wiki-bn-label { font-size: 0.62rem; }
  .wiki-bn-icon  { font-size: 1.2rem; }
  .wiki-fiches-grid {
    grid-template-columns: repeat(auto-fit, minmax(130px, 180px)) !important;
    justify-content: center;
    gap: 0.5rem;
  }
}
