/* ═══════════════════════════════════════════════════════════════
   THW CHILD THEME — thw-theme.css
   Thadeus' Worlds · Verne × Méliès × Gilliam
   ═══════════════════════════════════════════════════════════════ */

/* ─── Custom properties ─────────────────────────────────────────── */

:root {
  --thw-frame:   #331b09;
  --thw-frame2:  #1a0d04;
  --thw-parch:   #F5F0E8;
  --thw-parch2:  #EDE8DF;
  --thw-ink:     #2A1A0E;
  --thw-ink50:   rgba(42, 26, 14, 0.5);
  --thw-ink20:   rgba(42, 26, 14, 0.15);
  --thw-bl:      #12476a;
  --thw-bl20:    rgba(18, 71, 106, 0.2);
  --thw-or:      #C4A265;
  --thw-or40:    rgba(196, 162, 101, 0.4);
  --thw-or15:    rgba(196, 162, 101, 0.15);
  --thw-red:     #8B2E2E;
  --thw-iv:      #F5F0E8;
  --thw-iv50:    rgba(245, 240, 232, 0.5);
}


/* ─── Reset & base ──────────────────────────────────────────────── */

.thw-child *,
.thw-child *::before,
.thw-child *::after {
  box-sizing: border-box;
}

.thw-child {
  background: var(--thw-frame);
  font-family: 'DM Sans', sans-serif;
  color: var(--thw-ink);
  -webkit-font-smoothing: antialiased;
}

/* Reset Astra defaults that conflict */
.thw-child #page,
.thw-child .site,
.thw-child .site-content {
  background: transparent;
}

.thw-child .ast-container {
  max-width: 100%;
  padding: 0;
}


/* ═══════════════════════════════════════════════════════════════
   MODULE 4 — HEADER
   ═══════════════════════════════════════════════════════════════ */

.thw-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--thw-frame2);
  border-bottom: 2px solid var(--thw-bl);
  padding: 22px 5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Décale le header sticky sous la barre d'admin WP */
.admin-bar .thw-header {
  top: 32px;
}

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

/* Logo — étiquette parchemin */
.thw-header-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.thw-header-logo {
  height: 42px;
  width: auto;
  display: block;
}

.thw-header-brand-text {
  font-family: 'Courier New', monospace;
  font-size: 1.4em;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--thw-or);
  opacity: 0.85;
  white-space: nowrap;
}

/* Nav — sommaire de livre */
.thw-header-nav {
  display: flex;
  gap: 4px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.thw-header-nav li {
  margin: 0;
  padding: 0;
}

.thw-header-nav a {
  font-family: 'Courier New', monospace;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(245, 240, 232, 0.82);
  text-decoration: none;
  padding: 7px 16px;
  border: 1px solid rgba(245, 240, 232, 0.18);
  border-radius: 2px 2px 0 0;
  transition: all 0.2s ease;
  display: block;
  white-space: nowrap;
}

.thw-header-nav a:hover,
.thw-header-nav .current-menu-item > a {
  color: var(--thw-frame2);
  background: var(--thw-parch);
  border-color: var(--thw-parch);
}

/* Dernier item nav = CTA */
.thw-header-nav li:last-child > a {
  background: var(--thw-bl);
  color: var(--thw-iv);
  border-color: var(--thw-bl);
  border-radius: 2px;
}

.thw-header-nav li:last-child > a:hover {
  color: var(--thw-frame2);
  background: var(--thw-parch);
  border-color: var(--thw-parch);
}

/* Nav mobile et burger — cachés par défaut */
.thw-nav--mobile,
.thw-burger {
  display: none;
}

/* Burger — structure (display géré par les media queries) */
.thw-burger {
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}


/* Reset Astra header */
.thw-child #masthead,
.thw-child .ast-primary-header-bar,
.thw-child .main-header-bar {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   INTRO — séquence once-per-session
   ═══════════════════════════════════════════════════════════════ */

#thw-intro {
  position: relative;
  min-height: 100vh;
  background: #F0E8D8;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.thw-presenta-img {
  position: relative;
  z-index: 2;
  width: 82%;
  max-width: 900px;
  height: auto;
  display: block;
  user-select: none;
  pointer-events: none;
}

.thw-grain-canvas {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: multiply;
  opacity: 0.28;
}

.thw-vignette {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: radial-gradient(
    ellipse at center,
    transparent 45%,
    rgba(18, 71, 106, 0.06) 70%,
    rgba(18, 71, 106, 0.15) 100%
  );
  animation: thw-breathe 7s ease-in-out infinite;
}

@keyframes thw-breathe {
  0%, 100% { opacity: 0.5; }
  50%       { opacity: 1; }
}

.thw-scroll-hint {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  z-index: 5;
}

.thw-scroll-hint-text {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(18, 71, 106, 0.45);
}

.thw-scroll-hint-line {
  width: 1px;
  height: 36px;
  background: linear-gradient(to bottom, rgba(18, 71, 106, 0.3), transparent);
  animation: thw-pulse-line 2.4s ease-in-out infinite;
}

@keyframes thw-pulse-line {
  0%, 100% { opacity: 0.3; }
  50%       { opacity: 1; }
}


/* ═══════════════════════════════════════════════════════════════
   VIDÉO — séquence intro
   ═══════════════════════════════════════════════════════════════ */

#thw-video-section {
  position: relative;
  width: 100%;
  height: 100vh;
  background: var(--thw-frame2);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#thw-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ═══════════════════════════════════════════════════════════════
   HERO — Extraordinaire
   ═══════════════════════════════════════════════════════════════ */

.thw-hero {
  position: relative;
  width: 100%;
  height: 70vh;
  min-height: 500px;
  overflow: hidden;
  border-bottom: 2px solid var(--thw-bl);
}

.thw-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.75);
}

.thw-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(26, 13, 4, 0.2) 0%,
    rgba(26, 13, 4, 0.1) 40%,
    rgba(26, 13, 4, 0.55) 100%
  );
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.thw-extraordinaire {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(56px, 10vw, 130px);
  font-weight: 700;
  color: var(--thw-iv);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.5);
  text-align: center;
}

.thw-hero-sub {
  margin-top: 16px;
  font-family: 'Courier New', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--thw-or);
  opacity: 0.8;
  text-align: center;
}


/* ═══════════════════════════════════════════════════════════════
   MODULE 1b — PRÉSENTATION COMPAGNIE
   ═══════════════════════════════════════════════════════════════ */

.thw-presenta-wrap {
  background: var(--thw-frame);
  padding: 64px 7%;
}

.thw-presenta-inner {
  display: flex;
  align-items: center;
  gap: 72px;
}

.thw-presenta-col-logo {
  flex: 0 0 38%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.thw-presenta-logo {
  width: 100%;
  height: auto;
  opacity: 0.95;
}

.thw-presenta-col-text {
  flex: 1;
}

/* Contenu WP (page Accueil, post=25) sur fond sombre — mêmes proportions
   que .thw-single-body (texte/prose du thème) mais palette ivoire/or,
   le fond .thw-presenta-wrap étant var(--thw-frame) et non le parchemin. */
.thw-presenta-body {
  font-size: 17px;
  line-height: 1.75;
  color: var(--thw-iv50);
}

.thw-presenta-body p {
  margin-bottom: 1.3em;
}

.thw-presenta-body a {
  color: var(--thw-or);
  text-underline-offset: 3px;
}

.thw-presenta-body strong {
  color: var(--thw-iv);
}

.thw-presenta-body h1,
.thw-presenta-body h2,
.thw-presenta-body h3 {
  font-family: 'Cormorant Garamond', serif;
  color: var(--thw-iv);
  margin-top: 1.1em;
  margin-bottom: 0.5em;
  line-height: 1.2;
}

.thw-presenta-body h1 { font-size: 1.9em; font-weight: 700; }
.thw-presenta-body h2 { font-size: 1.5em; font-weight: 700; }
.thw-presenta-body h3 { font-size: 1.2em; font-weight: 600; }

.thw-presenta-body h1:first-child,
.thw-presenta-body h2:first-child {
  margin-top: 0;
}

.thw-presenta-body hr {
  border: none;
  border-top: 1px solid var(--thw-or40);
  margin: 2em 0;
}

.thw-presenta-body blockquote {
  margin: 1.6em 0 0;
  padding: 14px 18px;
  border-left: 3px solid var(--thw-or);
  background: rgba(196, 162, 101, 0.08);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1em;
  font-style: italic;
  color: var(--thw-iv);
  line-height: 1.6;
}

.thw-presenta-body blockquote p { margin-bottom: 0; }


/* ═══════════════════════════════════════════════════════════════
   MODULE 2 — LE CARNET (parchemin + lignes + bord de page)
   ═══════════════════════════════════════════════════════════════ */

.thw-doc-wrap {
  margin: 16px 5% 32px;
  position: relative;
}

.thw-doc {
  background: var(--thw-parch);
  border: 1px solid var(--thw-or40);
  border-radius: 2px;
  position: relative;
  box-shadow:
    4px 4px 0 -1px #ede5d5,
    8px 8px 0 -1px #e4dcc9,
    12px 12px 0 -1px #dbd3bc;
}

/* Lignes réglées */
.thw-doc::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    180deg,
    transparent,
    transparent 27px,
    rgba(42, 26, 14, 0.04) 27px,
    rgba(42, 26, 14, 0.04) 28px
  );
  pointer-events: none;
  border-radius: 2px;
}

/* Folio */
.thw-doc-folio {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 28px;
  border-bottom: 1px dashed var(--thw-or40);
  background: rgba(196, 162, 101, 0.06);
  font-family: 'Courier New', monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--thw-or);
  position: relative;
  z-index: 1;
}


/* ═══════════════════════════════════════════════════════════════
   MODULE 3 — GRILLE 55/45
   ═══════════════════════════════════════════════════════════════ */

.thw-doc-body {
  display: grid;
  grid-template-columns: 55% 45%;
  min-height: 600px;
  position: relative;
  z-index: 1;
}

/* Colonne principale — billets de blog */
.thw-col-main {
  padding: 32px 28px;
  border-right: 1px dashed var(--thw-or40);
  min-width: 0; /* évite qu'un contenu peu compressible (ex. bloc de code sans retour à la ligne) n'étire la grille et fasse déborder toute la page */
}

.thw-col-main-label {
  font-family: 'Courier New', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--thw-or);
  opacity: 0.85;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--thw-or15);
}

/* Thumbnail billet */
.thw-billet-thumb-link {
  display: block;
  margin-bottom: 12px;
}

.thw-billet-thumb {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
  border-radius: 1px;
  filter: sepia(0.12) brightness(0.97);
}

/* Billets */
.thw-billet {
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px dashed var(--thw-ink20);
}

.thw-billet:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.thw-billet-meta {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 7px;
}

.thw-billet-voix {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--thw-bl);
  border: 1px solid var(--thw-bl20);
  padding: 2px 7px;
  border-radius: 1px;
}

.thw-billet-voix--antheaume {
  color: var(--thw-or);
  border-color: var(--thw-or40);
}

.thw-billet-voix--robotheus {
  color: var(--thw-red);
  border-color: rgba(139, 46, 46, 0.3);
}

.thw-billet-voix--skand {
  color: var(--thw-ink50);
  border-color: var(--thw-ink20);
}

.thw-billet-date {
  font-family: 'Courier New', monospace;
  font-size: 11px;
  color: var(--thw-ink50);
  letter-spacing: 0.06em;
}

.thw-billet-titre {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  font-weight: 600;
  color: var(--thw-bl);
  line-height: 1.2;
  margin-bottom: 8px;
  text-decoration: none;
  display: block;
  transition: color 0.2s;
}

.thw-billet-titre:hover {
  color: var(--thw-frame);
}

.thw-billet-extrait {
  font-size: 14px;
  color: rgba(42, 26, 14, 0.72);
  line-height: 1.65;
  margin-bottom: 10px;
}

.thw-billet-lire {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--thw-bl);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.thw-billet-lire:hover {
  color: var(--thw-ink);
}

/* Colonne marge — statique */
.thw-col-margin {
  padding: 32px 24px 32px 28px;
  position: relative;
  min-width: 0; /* même précaution que .thw-col-main, cf. commentaire là-bas */
}

.thw-margin-section {
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--thw-or15);
}

.thw-margin-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.thw-margin-label {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--thw-or);
  opacity: 0.85;
  margin-bottom: 8px;
}

.thw-margin-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--thw-ink);
  line-height: 1.2;
  margin-bottom: 8px;
}

.thw-margin-text {
  font-size: 13px;
  color: rgba(42, 26, 14, 0.72);
  line-height: 1.65;
  font-style: italic;
}

.thw-margin-detail {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  color: var(--thw-ink50);
  margin-top: 8px;
  letter-spacing: 0.04em;
}

/* Liens réseaux — colonne marge (page-contact.php) */
.thw-margin-social {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.thw-margin-social-link {
  font-size: 13px;
  color: var(--thw-bl);
  text-decoration: none;
  text-underline-offset: 3px;
}

.thw-margin-social-link:hover {
  text-decoration: underline;
}

/* Colonne marge sticky — page-contact.php. Sur les grands écrans, le
   contenu de la marge (Nous suivre + cartouche BIDM) est bien plus court
   que la colonne principale (formulaire + mentions légales), ce qui laisse
   un vide sous la marge plutôt qu'une respiration voulue. En sticky, le
   contenu suit le défilement au lieu de rester figé en haut avec du vide
   dessous — désactivé sous 768px, cf. bloc RESPONSIVE plus bas. */
.thw-contact-margin-sticky {
  position: sticky;
  top: 100px;
}

/* Formulaire newsletter MailPoet — colonne marge page-contact.php
   Préfixé par .thw-col-margin : le CSS de MailPoet (mailpoet_public-css)
   se charge après thw-theme.css dans le <head>, donc à spécificité égale
   c'est le sien qui gagnait. On augmente la spécificité plutôt que de
   toucher à l'ordre global d'enqueue ou d'utiliser !important.
   Le plugin fixe aussi width/padding/margin en style inline sur les
   champs — propriétés évitées ici. */
.thw-col-margin .mailpoet_form_shortcode {
  font-family: 'DM Sans', sans-serif;
}

.thw-col-margin .mailpoet_paragraph {
  margin-bottom: 10px;
}

.thw-col-margin .mailpoet_text {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  border: 1px solid var(--thw-or40);
  border-radius: 2px;
  background: var(--thw-parch2);
  color: var(--thw-ink);
}

.thw-col-margin .mailpoet_text:focus {
  outline: none;
  border-color: var(--thw-bl);
}

/* Bouton "papier pressé" — même motif que .bidm__btn (offset + press au
   hover) plutôt qu'un flat design, cohérent avec le cartouche BIDM qui
   entoure ce formulaire. */
.thw-col-margin .mailpoet_submit {
  font-family: 'Courier New', monospace;
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background: #0F476A;
  color: #F6F0E4;
  border: 1px solid #0B3651;
  border-color: #0B3651 !important; /* le plugin fixe border-color:transparent en style inline sur ce champ */
  border-radius: 2px;
  box-shadow: 2px 2px 0 rgba(103, 65, 42, 0.35);
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.thw-col-margin .mailpoet_submit:hover {
  transform: translate(1px, 1px);
  box-shadow: 1px 1px 0 rgba(103, 65, 42, 0.35);
}

.thw-col-margin .mailpoet_message {
  margin-top: 4px;
}

/* Bouton du formulaire CF7 (page-contact.php) — même motif "papier pressé"
   que le bouton newsletter, pour que toute la page contact soit cohérente
   plutôt que d'avoir un bouton flat à côté d'un bouton en relief. */
.thw-col-main .wpcf7-submit {
  font-family: 'Courier New', monospace;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: var(--thw-bl);
  color: var(--thw-iv);
  border: 1px solid var(--thw-frame2);
  border-radius: 2px;
  padding: 10px 20px;
  box-shadow: 2px 2px 0 rgba(103, 65, 42, 0.35);
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.thw-col-main .wpcf7-submit:hover {
  transform: translate(1px, 1px);
  box-shadow: 1px 1px 0 rgba(103, 65, 42, 0.35);
}

.thw-col-margin .mailpoet_validate_success,
.thw-col-margin .mailpoet_validate_error {
  font-size: 12px;
  font-style: italic;
  color: var(--thw-ink50);
}

/* Visuels colonne marge */
.thw-margin-visual {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--thw-or15);
}

.thw-margin-visual:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.thw-margin-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1px;
  filter: sepia(0.06) brightness(0.97);
}

/* Single post — image en colonne marge, sticky */
.thw-margin-visual--single {
  position: sticky;
  top: 100px;
  z-index: 10; /* passe au-dessus du bloc BIDM et du contenu qui défilent dessous, reste sous le header (100) */
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.thw-col-margin--single .thw-margin-img {
  filter: none;
}

.thw-margin-img-caption {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  color: var(--thw-ink50);
  line-height: 1.55;
  margin-top: 8px;
  letter-spacing: 0.02em;
  font-style: italic;
}

/* Tampon */
.thw-tampon {
  position: absolute;
  top: 36px;
  right: 20px;
  border: 2px solid var(--thw-red);
  color: var(--thw-red);
  font-family: 'Courier New', monospace;
  font-size: 8px;
  font-weight: bold;
  letter-spacing: 0.12em;
  line-height: 1.4;
  padding: 4px 8px;
  transform: rotate(-7deg);
  opacity: 0.65;
  text-align: center;
  text-transform: uppercase;
}

/* Annotation */
.thw-annotation {
  margin-top: 16px;
  padding: 10px 12px;
  border-left: 2px solid var(--thw-bl);
  background: rgba(18, 71, 106, 0.04);
  font-family: 'Cormorant Garamond', serif;
  font-size: 13px;
  font-style: italic;
  color: var(--thw-bl);
  line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════════
   INDEX SPECTACLES
   ═══════════════════════════════════════════════════════════════ */

.thw-spectacles-index {
  padding: 40px 52px;
}

.thw-shows-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-top: 32px;
}

.thw-show-card {
  border: 1px solid var(--thw-or40);
  border-radius: 2px;
  overflow: hidden;
}

.thw-show-card-img-link {
  display: block;
}

.thw-show-card-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  filter: sepia(0.06) brightness(0.97);
}

.thw-show-card-body {
  padding: 20px 24px;
}

/* ═══════════════════════════════════════════════════════════════
   NARRATEURS — colonne marge blog
   ═══════════════════════════════════════════════════════════════ */

.thw-narrators {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 12px;
}

.thw-narrator-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.thw-narrator-avatar-link {
  flex-shrink: 0;
}

.thw-narrator-avatar {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50%;
  display: block;
  object-fit: cover;
  filter: sepia(0.15) brightness(0.96);
}

.thw-narrator-body {
  flex: 1;
}

.thw-narrator-name {
  display: inline-block;
  font-size: 11px;
  margin-bottom: 6px;
  text-decoration: none;
}

.thw-narrator-desc {
  font-size: 12px;
  color: rgba(42, 26, 14, 0.65);
  line-height: 1.6;
  font-style: italic;
  margin: 0;
}

.thw-narrator-placeholder {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--thw-iv);
  background: var(--thw-frame2);
  flex-shrink: 0;
}

.thw-narrator-placeholder--thadeus   { background: var(--thw-bl); }
.thw-narrator-placeholder--antheaume { background: var(--thw-frame); }
.thw-narrator-placeholder--robotheus { background: var(--thw-red); }
.thw-narrator-placeholder--skand     { background: var(--thw-ink); }

.thw-show-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin: 8px 0 10px;
}

.thw-show-card-title a {
  color: var(--thw-bl);
  text-decoration: none;
  transition: color 0.2s;
}

.thw-show-card-title a:hover {
  color: var(--thw-frame);
}

.thw-show-card-excerpt {
  font-size: 13px;
  color: rgba(42, 26, 14, 0.72);
  line-height: 1.65;
  margin-bottom: 12px;
}

.thw-shows-empty {
  font-size: 14px;
  color: var(--thw-ink50);
  font-style: italic;
  margin-top: 24px;
}

.thw-spectacles-show-logo {
  width: 50%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* ═══════════════════════════════════════════════════════════════
   DATES DE TOURNÉE
   ═══════════════════════════════════════════════════════════════ */

.thw-dates-section {
  margin-top: 4px;
}

.thw-dates-label {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--thw-or);
  opacity: 0.85;
  margin-bottom: 12px;
}

.thw-date-item {
  padding: 10px 0;
  border-bottom: 1px solid var(--thw-or15);
}

.thw-date-item:last-child {
  border-bottom: none;
}

.thw-date-venue {
  font-family: 'Cormorant Garamond', serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--thw-ink);
  margin-bottom: 3px;
}

.thw-date-info {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  color: var(--thw-ink50);
  letter-spacing: 0.04em;
}

.thw-dates-empty {
  font-size: 13px;
  color: var(--thw-ink50);
  font-style: italic;
}

/* CTA en marge homepage */
.thw-margin-cta {
  margin-bottom: 28px;
  border-radius: 2px;
}

/* Logo spectacle en marge */
.thw-ecouloir-logo {
  width: 72%;
  height: auto;
  display: block;
  margin: 0 auto 16px;
}

/* Pitch spectacle en marge */
.thw-margin-pitch {
  font-size: 14px;
  color: var(--thw-ink);
  line-height: 1.65;
}

.thw-margin-tagline {
  font-size: 14px;
  font-weight: 700;
  color: var(--thw-bl);
  line-height: 1.55;
  margin-top: 12px;
}

/* Lien fiche spectacle */
.thw-margin-link {
  display: inline-block;
  margin-top: 12px;
  font-family: 'Courier New', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--thw-bl);
  text-decoration: none;
  border-bottom: 1px solid var(--thw-bl20);
  padding-bottom: 1px;
  transition: border-color 0.2s;
}

.thw-margin-link:hover {
  border-color: var(--thw-bl);
}


/* ─── Logo spectacle (colonne marge) ───────────────────────────── */

.thw-spectacle-logo-wrap {
  text-align: center;
  padding-bottom: 20px;
}

.thw-spectacle-logo {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}


/* ─── CTA Diffuseur ─────────────────────────────────────────────── */

.thw-cta-wrap {
  margin: 0 5%;
  margin-top: 12px;
}

.thw-cta {
  background: var(--thw-bl);
  padding: 44px 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  border-radius: 2px;
}

.thw-cta-eyebrow {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(245, 240, 232, 0.5);
  margin-bottom: 10px;
}

.thw-cta-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 34px;
  font-weight: 700;
  color: var(--thw-iv);
  margin-bottom: 4px;
  line-height: 1.05;
}

.thw-cta-sub {
  font-size: 13px;
  color: var(--thw-iv50);
  font-style: italic;
}

.thw-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
  flex-shrink: 0;
}

.thw-btn-primary {
  padding: 11px 24px;
  background: var(--thw-iv);
  color: var(--thw-bl);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.2s;
}

.thw-btn-primary:hover {
  opacity: 0.88;
  color: var(--thw-bl);
}

.thw-btn-secondary {
  padding: 11px 24px;
  background: transparent;
  color: var(--thw-iv);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border-radius: 2px;
  border: 1px solid rgba(245, 240, 232, 0.3);
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
  transition: border-color 0.2s;
}

.thw-btn-secondary:hover {
  border-color: rgba(245, 240, 232, 0.6);
  color: var(--thw-iv);
}

/* CTA en colonne marge (page spectacle) */
.thw-cta--sidebar {
  flex-direction: column;
  align-items: flex-start;
  padding: 28px 24px;
  gap: 12px;
  border-radius: 2px;
}

.thw-cta--sidebar .thw-cta-actions {
  align-items: stretch;
  width: 100%;
  flex-direction: column;
}

/* Colonne principale en contexte page (sans label "Dernières entrées") */
.thw-col-main--page {
  padding: 32px 28px;
}


/* ═══════════════════════════════════════════════════════════════
   MODULE 5 — FOOTER (dernière page du carnet)
   ═══════════════════════════════════════════════════════════════ */

.thw-footer-wrap {
  margin: 12px 5% 32px;
}

.thw-footer-doc {
  background: var(--thw-parch2);
  border: 1px solid var(--thw-or40);
  border-top: none;
  border-radius: 0 0 2px 2px;
  padding: 24px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  box-shadow:
    4px 4px 0 -1px #ddd5c4,
    8px 8px 0 -1px #d4ccba;
}

.thw-footer-nav {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.thw-footer-nav a {
  font-family: 'Courier New', monospace;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(42, 26, 14, 0.65);
  text-decoration: none;
  transition: color 0.2s;
}

.thw-footer-nav a:hover {
  color: var(--thw-ink);
}

.thw-footer-close {
  font-family: 'Courier New', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--thw-or);
  opacity: 0.75;
  text-align: center;
  flex-shrink: 0;
}

.thw-footer-copy {
  font-family: 'Courier New', monospace;
  font-size: 11px;
  color: rgba(42, 26, 14, 0.5);
  white-space: nowrap;
}

/* Reset Astra footer */
.thw-child #colophon,
.thw-child .ast-footer-html,
.thw-child .footer-widget-area,
.thw-child .ast-footer-bar {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE — article individuel
   ═══════════════════════════════════════════════════════════════ */

.thw-single-wrap {
  margin: 32px 5%;
}

.thw-single-doc {
  background: var(--thw-parch);
  border: 1px solid var(--thw-or40);
  border-radius: 2px;
  box-shadow:
    4px 4px 0 -1px #ede5d5,
    8px 8px 0 -1px #e4dcc9;
  overflow: hidden;
}

.thw-single-hero {
  width: 100%;
  max-height: 480px;
  overflow: hidden;
}

.thw-single-hero-img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: sepia(0.08) brightness(0.97);
}

.thw-single-content {
  padding: 40px 52px;
  max-width: 740px;
}

.thw-single-meta {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}

.thw-single-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 700;
  color: var(--thw-bl);
  line-height: 1.15;
  margin: 0 0 28px;
  transition: color 0.2s ease;
}
.thw-single-title:hover {
  color: var(--thw-frame);
}

.thw-single-body {
  font-size: 16px;
  line-height: 1.75;
  color: var(--thw-ink);
}

.thw-single-body p {
  margin-bottom: 1.4em;
}

.thw-single-body a {
  color: var(--thw-bl);
  text-underline-offset: 3px;
}

.thw-single-body h2,
.thw-single-body h3 {
  font-family: 'Cormorant Garamond', serif;
  color: var(--thw-ink);
  margin-top: 2em;
  margin-bottom: 0.6em;
  line-height: 1.2;
}

.thw-single-body h2 { font-size: 1.7em; font-weight: 700; }
.thw-single-body h3 { font-size: 1.35em; font-weight: 600; }

/* Images dans le corps de l'article */
.thw-single-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.6em auto;
  border-radius: 1px;
  filter: sepia(0.08) brightness(0.97);
}

.thw-single-body figure {
  margin: 1.6em 0;
}

.thw-single-body figcaption {
  font-family: 'Courier New', monospace;
  font-size: 11px;
  text-align: center;
  color: var(--thw-ink50);
  letter-spacing: 0.08em;
  margin-top: 8px;
}

/* Blockquote — annotation style */
.thw-single-body blockquote {
  margin: 1.8em 0;
  padding: 14px 18px;
  border-left: 3px solid var(--thw-bl);
  background: rgba(18, 71, 106, 0.04);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.12em;
  font-style: italic;
  color: var(--thw-bl);
  line-height: 1.6;
}

.thw-single-body blockquote p { margin-bottom: 0; }

/* Code inline & blocs */
.thw-single-body code {
  font-family: 'Courier New', monospace;
  font-size: 0.88em;
  background: var(--thw-or15);
  padding: 2px 5px;
  border-radius: 2px;
  color: var(--thw-ink);
}

.thw-single-body pre {
  background: var(--thw-parch2);
  border: 1px solid var(--thw-or40);
  border-radius: 2px;
  padding: 16px 20px;
  overflow-x: auto;
  margin: 1.6em 0;
}

.thw-single-body pre code {
  background: none;
  padding: 0;
  font-size: 13px;
  line-height: 1.6;
}

.thw-single-nav {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px dashed var(--thw-or40);
}

.thw-single-nav-link {
  font-family: 'Cormorant Garamond', serif;
  font-size: 15px;
  color: var(--thw-bl);
  text-decoration: none;
  font-style: italic;
  max-width: 45%;
  line-height: 1.3;
}

.thw-single-nav-link:hover {
  color: var(--thw-ink);
}

.thw-single-nav-next {
  text-align: right;
  margin-left: auto;
}

.thw-single-back {
  margin-top: 24px;
}

.thw-page-folio {
  display: flex;
  justify-content: space-between;
  font-family: 'Courier New', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--thw-or);
  opacity: 0.75;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--thw-or40);
}

@media (max-width: 768px) {
  .thw-single-content {
    padding: 28px 20px;
  }

  .thw-single-nav {
    flex-direction: column;
  }

  .thw-single-nav-link {
    max-width: 100%;
  }

  .thw-single-nav-next {
    text-align: left;
    margin-left: 0;
  }
}


/* ═══════════════════════════════════════════════════════════════
   PAGES INTÉRIEURES — billets single, archives
   ═══════════════════════════════════════════════════════════════ */

.thw-child .ast-article-single,
.thw-child .ast-single-post,
.thw-child #primary {
  background: var(--thw-parch);
  color: var(--thw-ink);
}

.thw-child .entry-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  color: var(--thw-ink);
}

.thw-child .entry-content {
  font-family: 'DM Sans', sans-serif;
  color: var(--thw-ink);
  line-height: 1.7;
}

.thw-child .entry-content a {
  color: var(--thw-bl);
}

/* Inner content wrapper — parchemin */
.thw-child .site-content {
  background: var(--thw-parch);
}

.thw-child .ast-container {
  max-width: 900px;
}


/* ═══════════════════════════════════════════════════════════════
   ARCHIVE CATÉGORIE — pleine largeur (pas de grille 55/45)
   ═══════════════════════════════════════════════════════════════ */

.thw-archive-col {
  max-width: 740px;
  border-right: none;
}

.thw-archive-pagination {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px dashed var(--thw-or40);
}

.thw-archive-pagination a {
  font-family: 'Cormorant Garamond', serif;
  font-size: 15px;
  color: var(--thw-bl);
  text-decoration: none;
  font-style: italic;
}

.thw-archive-pagination a:hover {
  color: var(--thw-ink);
}


/* ═══════════════════════════════════════════════════════════════
   NAV — zone d'étranglement desktop (1281–1600px, sous le seuil du
   menu "Livre n" complet). Le texte de marque complet ne tient plus
   à ces largeurs (ex. fenêtre en demi-écran sur un grand moniteur)
   — abrégé en "THW", même technique que le breakpoint mobile ≤480px
   (font-size:0 + ::before). Le menu navmobile (libellés courts) est
   déjà actif sur cette plage, cf bloc suivant.
   ═══════════════════════════════════════════════════════════════ */

@media (min-width: 1281px) and (max-width: 1600px) {
  .thw-header-brand-text {
    font-size: 0;
  }

  .thw-header-brand-text::before {
    content: 'THW';
    font-size: 1.4rem;
  }
}


/* ═══════════════════════════════════════════════════════════════
   NAV — menu "Livre n" (thw-primary) réservé aux écrans larges ;
   au-dessous, le menu navmobile (déjà en libellés courts : Accueil,
   Spectacles, Actualités, Blog, Correspondance) prend le relais au
   lieu de laisser "Livre n" déborder — burger uniquement sous 768px.
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 1600px) {
  .thw-header {
    padding: 12px 4%;
    gap: 10px;
  }

  .thw-nav--primary {
    display: none;
  }
}

/* Tablette + zone d'étranglement desktop (768–1600px) : navmobile inline, pas de burger */
@media (min-width: 768px) and (max-width: 1600px) {
  .thw-nav--mobile {
    display: block;
  }
  .thw-burger {
    display: none;
  }
}

/* Sous 768px : burger */
@media (max-width: 768px) {
  .thw-burger {
    display: flex;
  }
}


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — layout mobile (≤768px)
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .thw-doc-body {
    grid-template-columns: 1fr;
  }

  .thw-col-main {
    border-right: none;
    border-bottom: 1px dashed var(--thw-or40);
  }

  .thw-contact-margin-sticky {
    position: static;
    top: auto;
  }

  .thw-tampon {
    display: none;
  }

  .thw-cta {
    flex-direction: column;
    padding: 32px 24px;
    align-items: flex-start;
  }

  .thw-cta-actions {
    align-items: stretch;
    width: 100%;
  }

  .thw-footer-doc {
    flex-direction: column;
    text-align: center;
  }

  .thw-footer-nav {
    flex-wrap: wrap;
    justify-content: center;
  }

  .thw-extraordinaire {
    font-size: clamp(40px, 12vw, 80px);
  }
}


/* ═══════════════════════════════════════════════════════════════
   COMMENTAIRES — bloc unifié : barre identité + note
   ═══════════════════════════════════════════════════════════════ */

.thw-col-main .comments-area {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px dashed var(--thw-or40);
}

.thw-col-main .comments-title {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--thw-or);
  opacity: 0.75;
  margin-bottom: 28px;
}

.thw-col-main .ast-comment-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.thw-col-main .ast-comment-list li.comment {
  margin-bottom: 24px;
}

/* ─── Bloc unifié : bordure dorée, barre + note collées ─────── */

.thw-col-main .comment-body {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--thw-or);
  overflow: hidden;
}

/* ─── Barre identité : portrait centré, puis ligne folio ─────── */

.thw-col-main .ast-comment-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px 20px 14px;
  background: var(--thw-parch);
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

/* Coins ornementaux */
.thw-col-main .ast-comment-info::before,
.thw-col-main .ast-comment-info::after {
  content: '§';
  font-family: 'Courier New', monospace;
  font-size: 7px;
  color: var(--thw-or);
  position: absolute;
  line-height: 1;
}

.thw-col-main .ast-comment-info::before { top: 4px; left: 6px; }
.thw-col-main .ast-comment-info::after  { bottom: 4px; right: 6px; }

/* Portrait centré en haut de la barre */
.thw-col-main .ast-comment-avatar-wrap {
  margin-bottom: 10px;
}

.thw-col-main .ast-comment-avatar-wrap img {
  width: 60px;
  height: 70px;
  border-radius: 50%;
  border: 1px solid var(--thw-or);
  filter: sepia(0.3);
  display: block;
  object-fit: cover;
}

/* Méta : NOM · Titre · date sur une ligne — reset Astra */
.thw-col-main .ast-comment-meta,
.thw-col-main .ast-comment-info header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  position: static !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  background: none;
  padding: 0;
  margin: 0;
  width: auto !important;
}

/* Nom */
.thw-col-main .ast-comment-cite-wrap {
  display: inline-flex;
  align-items: center;
}

.thw-col-main .ast-comment-cite-wrap cite,
.thw-col-main .ast-comment-cite-wrap .fn {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  font-weight: normal;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--thw-ink);
}

/* Titre — inline après le nom, avec séparateur */
.thw-col-main .ast-comment-cite-wrap::after {
  display: inline;
  font-family: 'Courier New', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--thw-or);
}

.thw-col-main li.comment-author-antheaume .ast-comment-cite-wrap::after {
  content: '\00A0\00B7\00A0 Xénobiotemporalogue associé';
}

.thw-col-main li.comment-author-thadeus .ast-comment-cite-wrap::after {
  content: '\00A0\00B7\00A0 Professeur';
}

.thw-col-main li.comment-author-robotheus .ast-comment-cite-wrap::after {
  content: '\00A0\00B7\00A0 Essai n\00BA\00A01 · Série Ω';
}

.thw-col-main li.comment-author-skand .ast-comment-cite-wrap::after {
  content: '\00A0\00B7\00A0 Direction artistique';
}

/* Date — séparateur devant */
.thw-col-main .ast-comment-time {
  display: inline-flex;
  align-items: center;
  position: static !important;
  float: none !important;
  right: auto !important;
}

.thw-col-main .ast-comment-time::before {
  content: '\00A0\00B7\00A0';
  font-family: 'Courier New', monospace;
  font-size: 9px;
  color: var(--thw-or);
}

.thw-col-main .ast-comment-time a,
.thw-col-main .ast-comment-time time {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--thw-ink50);
  text-decoration: none;
}

/* ─── Note ───────────────────────────────────────────────────── */

.thw-col-main .ast-comment-content {
  background: var(--thw-parch2);
  padding: 18px 22px;
}

.thw-col-main .ast-comment-content p {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.93em;
  line-height: 1.75;
  color: var(--thw-ink);
  font-style: italic;
  margin: 0;
}

.thw-col-main .ast-comment-content p + p {
  margin-top: 10px;
}

/* ─── Variations par accrédité ───────────────────────────────── */

/* Thadeus — carte céleste */
.thw-col-main li.comment-author-thadeus .comment-body {
  border-color: var(--thw-or40);
}

.thw-col-main li.comment-author-thadeus .ast-comment-info {
  background: var(--thw-bl);
  border-bottom-color: rgba(245, 240, 232, 0.15);
}

.thw-col-main li.comment-author-thadeus .ast-comment-info::before,
.thw-col-main li.comment-author-thadeus .ast-comment-info::after {
  content: '★';
}

.thw-col-main li.comment-author-thadeus .ast-comment-cite-wrap cite,
.thw-col-main li.comment-author-thadeus .ast-comment-cite-wrap .fn {
  color: var(--thw-iv);
}

.thw-col-main li.comment-author-thadeus .ast-comment-cite-wrap::after,
.thw-col-main li.comment-author-thadeus .ast-comment-time::before {
  color: var(--thw-or);
}

.thw-col-main li.comment-author-thadeus .ast-comment-time a,
.thw-col-main li.comment-author-thadeus .ast-comment-time time {
  color: var(--thw-iv50);
}

.thw-col-main li.comment-author-thadeus .ast-comment-avatar-wrap img {
  filter: sepia(0.1) brightness(1.05);
  border-color: var(--thw-or40);
}

.thw-col-main li.comment-author-thadeus .ast-comment-content {
  background: rgba(18, 71, 106, 0.05);
}

/* Robotheus — schéma brevet */
.thw-col-main li.comment-author-robotheus .comment-body {
  border: 1px dashed var(--thw-ink);
}

.thw-col-main li.comment-author-robotheus .ast-comment-info {
  background: var(--thw-iv);
  border-bottom: 1px dashed var(--thw-ink20);
}

.thw-col-main li.comment-author-robotheus .ast-comment-info::before,
.thw-col-main li.comment-author-robotheus .ast-comment-info::after {
  content: '⊕';
  color: var(--thw-ink);
}

.thw-col-main li.comment-author-robotheus .ast-comment-cite-wrap::after,
.thw-col-main li.comment-author-robotheus .ast-comment-time::before {
  color: var(--thw-ink50);
}

.thw-col-main li.comment-author-robotheus .ast-comment-avatar-wrap img {
  filter: grayscale(0.8);
  border-radius: 2px;
  border-color: var(--thw-ink20);
}

.thw-col-main li.comment-author-robotheus .ast-comment-content {
  background: #F7F6F4;
}

/* Skand — DA */
.thw-col-main li.comment-author-skand .ast-comment-info {
  background: var(--thw-frame2);
  border-bottom-color: var(--thw-or40);
}

.thw-col-main li.comment-author-skand .ast-comment-cite-wrap cite,
.thw-col-main li.comment-author-skand .ast-comment-cite-wrap .fn {
  color: var(--thw-or);
}

.thw-col-main li.comment-author-skand .ast-comment-cite-wrap::after,
.thw-col-main li.comment-author-skand .ast-comment-time::before {
  color: var(--thw-or40);
}

.thw-col-main li.comment-author-skand .ast-comment-time a,
.thw-col-main li.comment-author-skand .ast-comment-time time {
  color: var(--thw-iv50);
}

.thw-col-main li.comment-author-skand .ast-comment-content {
  background: rgba(42, 26, 14, 0.06);
}

/* ─── Commentateur extérieur (non-personnage) ────────────────── */

.thw-col-main li.comment:not(.comment-author-thadeus):not(.comment-author-antheaume):not(.comment-author-robotheus):not(.comment-author-skand) .comment-body {
  border: 1px dashed var(--thw-or40);
}

.thw-col-main li.comment:not(.comment-author-thadeus):not(.comment-author-antheaume):not(.comment-author-robotheus):not(.comment-author-skand) .ast-comment-info {
  background: var(--thw-iv);
  opacity: 0.85;
}

.thw-col-main li.comment:not(.comment-author-thadeus):not(.comment-author-antheaume):not(.comment-author-robotheus):not(.comment-author-skand) .ast-comment-info::before,
.thw-col-main li.comment:not(.comment-author-thadeus):not(.comment-author-antheaume):not(.comment-author-robotheus):not(.comment-author-skand) .ast-comment-info::after {
  content: none;
}

.thw-col-main li.comment:not(.comment-author-thadeus):not(.comment-author-antheaume):not(.comment-author-robotheus):not(.comment-author-skand) .ast-comment-avatar-wrap img {
  filter: grayscale(0.4) sepia(0.2);
}

.thw-col-main li.comment:not(.comment-author-thadeus):not(.comment-author-antheaume):not(.comment-author-robotheus):not(.comment-author-skand) .ast-comment-content {
  background: var(--thw-parch2);
  font-style: normal;
}

/* ─── Masquer reply et formulaire ────────────────────────────── */

.thw-col-main .ast-comment-edit-reply-wrap,
.thw-col-main #respond {
  display: none;
}

/* ─── Mobile ─────────────────────────────────────────────────── */

@media (max-width: 600px) {
  .thw-col-main .ast-comment-time {
    display: block;
  }

  .thw-col-main .ast-comment-time::before {
    display: none;
  }

  .thw-col-main .ast-comment-meta,
  .thw-col-main .ast-comment-info header {
    flex-direction: column !important;
    gap: 4px;
  }
}


/* ═══════════════════════════════════════════════════════════════
   BURGER MENU — mobile nav toggle
   ═══════════════════════════════════════════════════════════════ */

.thw-burger span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--thw-or);
  border-radius: 1px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

/* Animation burger → croix */
.thw-burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.thw-burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.thw-burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* Nav mobile ouverte — s'applique dès que le burger est actif */
@media (max-width: 1280px) {
  .thw-nav--mobile.thw-nav-open {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--thw-frame2);
    border-top: 1px solid var(--thw-bl);
    padding: 8px 0;
    z-index: 99;
  }

  .thw-nav--mobile.thw-nav-open .thw-header-nav {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .thw-nav--mobile.thw-nav-open li {
    width: 100%;
  }

  .thw-nav--mobile.thw-nav-open a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid rgba(245, 240, 232, 0.08);
    padding: 14px 5%;
    white-space: normal;
  }

  .thw-nav--mobile.thw-nav-open li:last-child > a {
    border-bottom: none;
    border-radius: 0;
  }
}

@media (max-width: 768px) {
  /* Image featured au-dessus du contenu sur mobile (single) */
  .thw-col-margin--single {
    order: -1;
  }

  .thw-margin-visual--single {
    position: static;
    top: auto;
  }
}

/* Petits mobiles — abréger "Thadeus' Worlds" en THW */
@media (max-width: 480px) {
  .thw-header-brand-text {
    font-size: 0;
  }

  .thw-header-brand-text::before {
    content: 'THW';
    font-size: 1.1rem;
  }
}
