/* Forum — classes utilitaires extraites des styles inline (CSP : aucun style/JS inline dans les templates).
   Complète parchemin.css (qui garde les classes forum structurelles existantes : .msg, .sujet-barre, .fo-flash…). */

/* ---- Nom de l'ouvreur dans l'en-tête du sujet ---- */
.fo-ouvreur { color: #2a1d0e; }

/* ---- Largeur de contenu forum commune (dédup de max-width:820px;margin:auto) ---- */
.fo-card { max-width: 820px; margin-inline: auto; }
.fo-card-quete { margin: 10px 0; }
.fo-m0 { margin: 0; }
.fo-mt6 { margin: 6px 0 0; }

/* ---- Bannières / notifications ---- */
.fo-alert { max-width: 820px; margin: .8rem auto; border-radius: 6px; padding: .6rem .9rem; }
.fo-alert--ok { background: #e7f3e0; border: 1px solid #9cc587; color: #365c25; }
.fo-alert--or { background: #f3e6c2; border: 1px solid #c9a24a; border-radius: 8px; padding: .7rem .9rem; }
.fo-alert-titre { margin: 0 0 .5rem; font-size: 13px; }

/* ---- Badge Rétro-RP / bannières d'info centrées ---- */
.fo-banner { max-width: 820px; margin: .6rem auto; }
.fo-badge { background: #efe7d2; border: 1px solid #c9a24a; color: #6a5320; border-radius: 6px; padding: .5rem .8rem; font-size: 13px; }

/* ---- Formulaires courts (boutons d'action inline) — flex, robuste mobile ---- */
.fo-form-inline { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0 .5rem .3rem 0; }
.fo-form-inline:last-child { margin-right: 0; }

/* ---- Carte d'auteur / actions de message ---- */
.msg-cnt { display: block; }
.msg-ami { margin-top: 6px; }

/* ---- Apparition de boss (message d'entrée) ---- */
.boss-apparition { margin: 14px 0; padding: 14px 18px; border: 2px solid var(--or-fonce); border-radius: 14px;
  background: linear-gradient(180deg,#efe0b4,#e4d09a); box-shadow: 0 4px 14px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.5); }
.boss-apparition .ba-tete { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.boss-apparition .ba-ic { font-size: 20px; line-height: 1; }
.boss-apparition .ba-lbl { font-family: var(--serif); font-weight: 700; font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--ombre); }
.boss-apparition .ba-corps { color: var(--encre); }

/* ---- Boss barrant le sujet ---- */
.boss-sujet { margin: 14px 0; padding: 16px 18px; border: 2px solid var(--or-fonce); border-radius: 14px;
  background: linear-gradient(180deg,#f3e3b7,#ead29c); box-shadow: 0 6px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.5); }
.boss-sujet .bs-tete { display: flex; align-items: center; gap: 12px; }
.boss-sujet .bs-ic { font-size: 30px; line-height: 1; }
.boss-sujet .bs-nom { display: block; font-family: var(--serif); font-weight: 700; font-size: 19px; color: var(--encre); }
.boss-sujet .bs-sous { display: block; font-size: 12.5px; color: var(--ombre); }
.boss-sujet .bs-jauge { height: 16px; margin: 12px 0 4px; border: 1px solid var(--or-fonce); border-radius: 9px; background: rgba(60,30,20,.18); overflow: hidden; }
.boss-sujet .bs-barre { display: block; height: 100%; width: var(--pct, 0%); background: linear-gradient(90deg,#9d2f24,#d4452f); transition: width .35s ease; }
.boss-sujet .bs-pv { margin: 0 0 10px; font-weight: 700; font-size: 13px; color: var(--encre); }
.boss-sujet .bs-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.boss-sujet .bs-note { margin: 10px 0 0; font-size: 12px; color: var(--ombre); font-style: italic; }

/* ---- ②.4a Cueillette forum (plante sous un sujet RP) ---- */
.recolte-sujet { margin: 14px 0; padding: 14px 16px; border: 2px solid #6f8f3f; border-radius: 14px;
  background: linear-gradient(180deg,#eef3d8,#e2ecc0); box-shadow: 0 5px 14px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.5); }
.recolte-sujet .rs-tete { display: flex; align-items: center; gap: 12px; }
.recolte-sujet .rs-ic { font-size: 28px; line-height: 1; }
.recolte-sujet .rs-nom { display: block; font-family: var(--serif); font-weight: 700; font-size: 17px; color: var(--encre); }
.recolte-sujet .rs-sous { display: block; font-size: 12.5px; color: var(--ombre); }
.recolte-sujet .rs-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 10px; }
.recolte-sujet .rs-reserve { margin: 0; font-size: 12.5px; color: var(--ombre); font-style: italic; }
.recolte-flash { margin: 12px 0; padding: 10px 14px; border-radius: 10px; font-weight: 600; }
.recolte-flash.ok { border: 1px solid #6f8f3f; background: #eef3d8; color: #3c4a1e; }
.recolte-flash.ko { border: 1px solid var(--or-fonce); background: #f6e3c8; color: #6b3b1e; }

/* ---- Création de sujet ---- */
.fo-textarea { width: 100%; }
.fo-options { display: flex; flex-direction: column; gap: 2px; margin: 8px 0; padding: 10px 12px; border: 1px solid var(--bord, #c9a24a); border-radius: 8px; background: rgba(255,255,255,.28); }
.fo-options p { margin: 4px 0; }
.fo-sondage-bloc { margin: 10px 0; }
.fo-sondage-bloc > summary { cursor: pointer; font-weight: 700; font-family: var(--serif); }
.fo-sondage-bloc .sf-bloc { display: flex; flex-direction: column; gap: 6px; border: 0; margin: 8px 0; padding: 0; }
.fo-sondage-bloc fieldset.sf-bloc { gap: 6px; }
.fo-sondage-bloc .sf-lbl { font-family: var(--serif); font-weight: 700; font-size: 13px; color: var(--ombre); }
.fo-sondage-bloc input[type=text], .fo-sondage-bloc input[type=datetime-local] { width: 100%; padding: 7px 9px; }
.fo-sondage-bloc .sf-radio { font-weight: 400; display: inline-flex; align-items: center; gap: 5px; margin-right: 14px; }
.sondage-err { border-color: var(--rouge,#9a3b2a); }
.sondage-err ul { margin: 0; padding-left: 18px; color: var(--rouge,#9a3b2a); }

/* ---- Poussoir HRP dans le formulaire de réponse ---- */
.fo-hrp-push { margin-right: auto; }

/* ---- Navigation du sujet : paire flottante bas-GAUCHE (le chat occupe le bas-droite). Thème parchemin. ---- */
.fo-nav { position: fixed; left: 16px; bottom: 16px; z-index: 60; display: flex; flex-direction: column; gap: 8px; }
.fo-nav a { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 999px;
  background: linear-gradient(180deg,#fbf6e6,#f3e7c6); border: 1px solid var(--or-fonce); color: var(--encre);
  text-decoration: none; font-size: 16px; line-height: 1; box-shadow: 0 8px 22px rgba(0,0,0,.35); }
.fo-nav a:hover { background: linear-gradient(180deg,#fff,#f3e7c6); }
#fo-haut { scroll-margin-top: 80px; }   /* ne pas passer sous le topbar collant */
@media (max-width: 640px) { .fo-nav a { width: 38px; height: 38px; } }

/* ---- Responsive : largeurs fixes → pleine largeur avec marge sur petit écran ---- */
@media (max-width: 860px) {
  .fo-alert, .fo-banner, .fo-card { max-width: none; margin-inline: 12px; }
}

/* ===== Narration MJ : post publié « en tant que Maître du jeu » (identité masquée) ===== */
.msg-ava-mj{ display:flex; align-items:center; justify-content:center; font-family:var(--serif,Georgia,serif);
  font-weight:800; font-size:22px; letter-spacing:1px; color:#f4e9c8;
  background:radial-gradient(circle at 30% 25%,#6b3fa0,#3a1d63); border:2px solid #c9a94a;
  text-shadow:0 1px 2px rgba(0,0,0,.5); box-shadow:0 0 0 2px rgba(201,169,74,.25),0 4px 10px rgba(40,20,60,.35); }
.msg-nom-mj{ color:#7a4fb0; font-weight:800; font-family:var(--serif,Georgia,serif); }
.msg-auteur-mj .msg-rc{ color:#8a6bb0; font-style:italic; }
.fo-mj-push{ color:#6b3fa0; font-weight:600; }
