/* ============================================================
   RCF · LOT 6 — BIBLE INDUSTRIELLE — STYLE
   ------------------------------------------------------------
   Aucune direction artistique nouvelle. Tout est exprimé avec les JETONS
   du thème (--panel, --edge, --ink, --dim, --faint, --hivis, --radius,
   --tap, --disp, --mono) : bleu profond, verre fumé, accent jaune, bordures
   fines, titres très lisibles — exactement le langage des cartes du jeu.

   Les repères sont écrits avec un repli (`var(--tap, 48px)`) pour que le
   fichier reste valable dans un thème plus ancien qui ne déclarerait pas
   encore tous les jetons.
   ============================================================ */

/* Écran plein format : comme l'accueil, il ne porte pas le bandeau de saison. */
.wrap:has(#scBible.on) header.top{display:none}

.bible-wrap{padding-bottom:26px}

/* --- En-tête ------------------------------------------------------------ */
.bible-head{display:flex;align-items:center;gap:12px;margin:2px 0 14px;flex-wrap:wrap}
.bible-head--home{align-items:flex-start}
.bible-title{font-family:var(--disp);font-size:26px;line-height:1.1;letter-spacing:.02em;
  text-transform:uppercase;color:var(--ink);margin:2px 0 0}
.bible-sub{font-size:13px;color:var(--dim);margin:4px 0 0}
.bible-back{flex:0 0 auto}

/* --- Pictogrammes -------------------------------------------------------
   Le fichier déclaré par le thème s'il charge, sinon le SVG intégré en
   `currentColor`. Dans les deux cas la boîte fait la même taille : l'un ne
   décale pas l'autre. */
.bible-ic{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;flex:0 0 26px;color:var(--hivis)}
.bible-ic img{width:100%;height:100%;object-fit:contain}

/* --- Barre de recherche ------------------------------------------------- */
.bible-searchbar{margin:0 0 14px}
.bible-input{width:100%;box-sizing:border-box;min-height:var(--tap,48px);
  padding:12px 14px;border-radius:var(--radius-sm,12px);
  border:1px solid var(--edge);background:rgba(8,24,39,.54);
  color:var(--ink);font-family:var(--body,inherit);font-size:15px;
  -webkit-appearance:none;appearance:none}
.bible-input::placeholder{color:var(--faint)}
.bible-input:focus{outline:none;border-color:var(--hivis);box-shadow:var(--shadow-focus,0 0 0 2px rgba(255,192,46,.24))}

/* --- Grille des 8 grandes familles --------------------------------------
   Deux colonnes dès que la largeur le permet, une seule sur les écrans les
   plus étroits : jamais de débordement horizontal. */
.bible-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:340px){ .bible-grid{grid-template-columns:1fr 1fr} }
@media (min-width:720px){ .bible-grid{grid-template-columns:1fr 1fr 1fr} }

.bible-fam{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--tap,48px);
  padding:14px 12px;text-align:left;cursor:pointer;
  border:1px solid var(--edge);border-radius:var(--radius-sm,12px);
  background:var(--glassgrad,linear-gradient(165deg,rgba(18,47,70,.62),rgba(4,15,26,.82)));
  color:var(--ink);font-family:var(--disp);font-size:15px;letter-spacing:.02em}
.bible-fam__l{flex:1;min-width:0}
.bible-fam__c{color:var(--faint);font-size:17px}
.bible-fam:hover{border-color:var(--steel);transform:translateY(-1px)}
.bible-fam:active{transform:scale(.985)}
.bible-fam:focus-visible{outline:none;box-shadow:var(--shadow-focus,0 0 0 2px rgba(255,192,46,.24))}

/* --- Ligne de terme (reprend `.cp-row` du jeu) --------------------------- */
.bible-row{width:100%;text-align:left;cursor:pointer;margin-bottom:8px;
  color:var(--ink);font-family:inherit;font-size:inherit}
.bible-row .cp-d{white-space:normal}
.bible-row__c{color:var(--faint);font-size:17px;flex:0 0 auto}

/* --- Fiche complète ------------------------------------------------------ */
.bible-fiche{padding:16px 15px 18px}
.bible-fiche__cat{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.bible-fiche__t{font-family:var(--disp);font-size:23px;line-height:1.15;letter-spacing:.02em;
  color:var(--ink);margin:0}
.bible-fiche__dev{font-size:13px;color:var(--hivis);margin:5px 0 0}
.bible-fiche__b{font-size:15px;line-height:1.55;color:var(--dim);margin:12px 0 0}

.bible-linked{margin-top:16px;padding-top:13px;border-top:1px solid var(--edge)}
.bible-linked__t{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.bible-chips{display:flex;flex-wrap:wrap;gap:7px}
.bible-chip{padding:8px 12px;min-height:36px;cursor:pointer;
  border:1px solid var(--edge);border-radius:999px;background:rgba(8,24,39,.54);
  color:var(--ink);font-size:13px}
.bible-chip:hover{border-color:var(--hivis)}
.bible-chip:focus-visible{outline:none;box-shadow:var(--shadow-focus,0 0 0 2px rgba(255,192,46,.24))}

/* --- Terme signalé dans un événement -------------------------------------
   Soulignement pointillé fin et légère variation de teinte : le mot reste
   dans la phrase. Surtout pas un lien bleu d'Internet. */
.bible-term{color:var(--ink);cursor:pointer;
  text-decoration:underline dotted var(--hivis);text-underline-offset:3px;
  text-decoration-thickness:1px;-webkit-tap-highlight-color:transparent}
.bible-term:hover{color:var(--hivis)}
.bible-term:focus-visible{outline:none;border-radius:4px;
  box-shadow:var(--shadow-focus,0 0 0 2px rgba(255,192,46,.24))}
/* Dans un libellé de choix, le contraste passe par l'accent du bouton. */
.choice .bible-term,.pause-rcf__choice .bible-term{color:inherit;text-decoration-color:currentColor;opacity:.96}

/* --- Mini-fiche contextuelle --------------------------------------------
   L'événement reste affiché derrière, à peine assombri. La carte monte du
   bas et n'occupe jamais tout l'écran : le terme et les choix restent lus. */
.bible-scrim{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;
  justify-content:center;background:rgba(2,9,16,.52);padding:0 10px 10px}
.bible-scrim[hidden]{display:none!important}
.bible-sheet{width:min(100%,560px);max-height:52dvh;overflow-y:auto;overscroll-behavior:contain;
  padding:10px 16px 16px;border:1px solid var(--edge);
  border-radius:var(--radius,18px) var(--radius,18px) 0 0;
  background:linear-gradient(180deg,rgba(16,42,64,.99),rgba(5,18,31,.99));
  box-shadow:0 -26px 60px -30px rgba(0,0,0,.95);
  animation:bibleSheetUp .26s cubic-bezier(.2,.8,.25,1) both}
@keyframes bibleSheetUp{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
.bible-sheet__grab{width:38px;height:4px;margin:0 auto 10px;border-radius:999px;background:var(--edge)}
.bible-sheet__t{font-family:var(--disp);font-size:19px;letter-spacing:.02em;color:var(--ink);margin:0}
.bible-sheet__dev{font-size:12.5px;color:var(--hivis);margin:3px 0 0}
.bible-sheet__dev[hidden]{display:none}
.bible-sheet__q{font-size:14.5px;line-height:1.5;color:var(--dim);margin:9px 0 13px}
.bible-sheet__more{width:100%}

/* Deuxième garde-fou : même si un thème rendait le voile transparent, aucun
   choix ne peut être activé pendant la lecture de la mini-fiche. */
.bible-locked .choices,.bible-locked .pause-rcf__choices{pointer-events:none}

/* --- Confort mobile ------------------------------------------------------ */
@media (max-width:400px){
  .bible-title{font-size:23px}
  .bible-fam{padding:12px 10px;font-size:14px;gap:8px}
  .bible-ic{width:22px;height:22px;flex-basis:22px}
  .bible-ic svg{width:20px;height:20px}
  .bible-fiche__t{font-size:21px}
}

/* --- Accès Bible dans la barre de carrière ------------------------------- */
.toolbar .bible-btn{display:inline-flex;align-items:center;gap:7px;margin-right:8px}
.toolbar .bible-btn svg{width:18px;height:18px}
/* Sous 330 px, le picto suffit : l'aria-label porte l'intitulé. */
@media (max-width:330px){ .toolbar .bible-btn__l{display:none} }

/* --- Réduction de mouvement respectée ------------------------------------ */
@media (prefers-reduced-motion:reduce){
  .bible-sheet{animation:none}
  .bible-fam:hover,.bible-row:hover{transform:none}
}
