/* Lecteur Coran — affichage public.
   Même palette et même esprit typographique que la version autonome, pour
   une identité visuelle cohérente, quel que soit le thème du site. */

.coran-lecteur{
  --coran-bg:#0E1734;
  --coran-panel:#16214A;
  --coran-panel-2:#111B3C;
  --coran-ink:#E8E4D9;
  --coran-ink-dim:#9098b3;
  --coran-line:rgba(232,228,217,.14);
  --coran-brass:#C9A227;
  --coran-gold-vif:#E7C34F;
  --coran-pomegranate:#9C3B48;
  --coran-olive:#6F7F5F;
  --coran-display:'Frank Ruhl Libre',Georgia,serif;
  --coran-body:'Cardo',Georgia,serif;
  --coran-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  max-width:46rem;margin:1.6rem auto;background:var(--coran-bg);
  color:var(--coran-ink);border-radius:6px;padding:1.6rem 1.8rem 2rem;
  font-family:var(--coran-ui);line-height:1.5;
  box-shadow:0 8px 30px rgba(0,0,0,.22);
}
.coran-lecteur *{box-sizing:border-box}

.coran-nav{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.3rem}
.coran-nav select{
  background:var(--coran-panel-2);color:var(--coran-ink);border:1px solid var(--coran-line);
  border-radius:4px;padding:.45rem .6rem;max-width:15rem;font-family:var(--coran-ui);font-size:.85rem;
}
.coran-nav select optgroup{font-family:var(--coran-display);font-style:normal}
.coran-toggle{
  margin-left:auto;background:none;border:1px solid var(--coran-line);color:var(--coran-ink-dim);
  border-radius:4px;padding:.4rem .8rem;font-size:.78rem;letter-spacing:.02em;cursor:pointer;
}
.coran-toggle:hover{color:var(--coran-ink);border-color:var(--coran-brass)}

.coran-titre{
  font-family:var(--coran-display);font-weight:500;font-size:1.9rem;margin:0 0 .3rem;color:var(--coran-ink);
}
.coran-badge{display:flex;gap:.7rem;align-items:center;margin:0 0 1.5rem;font-size:.78rem;color:var(--coran-ink-dim)}
.coran-pastille{
  border:1px solid currentColor;border-radius:99px;padding:.1rem .65rem;
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
}
.coran-pastille.coran-at{color:var(--coran-pomegranate)}
.coran-pastille.coran-nt{color:var(--coran-olive)}

.coran-commandes{display:flex;gap:.6rem;margin-bottom:1.5rem;flex-wrap:wrap}
.coran-commandes button{
  background:var(--coran-brass);color:#12183a;border:0;border-radius:4px;
  padding:.55rem 1.1rem;font-weight:600;font-size:.85rem;cursor:pointer;
}
.coran-commandes button.coran-stop{background:none;border:1px solid var(--coran-line);color:var(--coran-ink-dim)}
.coran-commandes button:hover{filter:brightness(1.08)}

.coran-versets{list-style:none;margin:0;padding:0}
.coran-verset{
  display:grid;grid-template-columns:3px 2.1rem 1fr;gap:0 .8rem;
  padding:.4rem .5rem .4rem 0;border-radius:4px;cursor:pointer;transition:background .25s ease;
}
.coran-verset:hover{background:rgba(201,162,39,.07)}
.coran-chant{position:relative;background:rgba(201,162,39,.15);border-radius:2px;overflow:hidden}
.coran-chant i{position:absolute;left:0;right:0;bottom:0;height:0;background:var(--coran-brass);
  display:block;transition:height 1.1s ease}
.coran-verset.coran-en-cours{background:rgba(201,162,39,.11)}
.coran-verset.coran-en-cours .coran-chant i{height:100%}
.coran-num{font-size:.72rem;color:var(--coran-ink-dim);text-align:right;padding-top:.44rem;user-select:none}
.coran-texte{font-family:var(--coran-body);font-size:1.15rem;line-height:1.65}
.coran-verset[data-audio] .coran-num::after{content:"\266A";margin-left:.15rem;color:var(--coran-brass)}

@media(max-width:560px){
  .coran-lecteur{margin:1rem 0;padding:1.2rem 1.1rem 1.6rem;border-radius:0}
  .coran-titre{font-size:1.5rem}
  .coran-texte{font-size:1.05rem}
}
@media(prefers-reduced-motion:reduce){
  .coran-chant i{transition:none}
}

.coran-xref-inline{
  grid-column:3/-1;margin:.4rem 0 .2rem;padding:.5rem .7rem;
  background:var(--coran-panel-2);border-left:2px solid var(--coran-brass);border-radius:0 4px 4px 0;
}
.coran-xref-inline summary{
  font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coran-brass);
  cursor:pointer;list-style:none;font-family:var(--coran-ui);font-weight:600;
}
.coran-xref-inline summary::-webkit-details-marker{display:none}
.coran-xref-inline summary::before{content:"▸ ";display:inline-block;transition:transform .15s}
.coran-xref-inline[open] summary::before{transform:rotate(90deg)}
.coran-xref-n{color:var(--coran-ink-dim);font-weight:400;letter-spacing:0;text-transform:none}
.coran-xref-liens{line-height:1.9;margin-top:.5rem}
.coran-xref-lien{
  background:var(--coran-panel);border:1px solid var(--coran-line);border-radius:99px;
  padding:.1rem .55rem;margin:0 .3rem .3rem 0;font-size:.72rem;color:var(--coran-ink-dim);
  display:inline-block;text-decoration:none;
}
.coran-xref-lien:hover{color:var(--coran-ink);border-color:var(--coran-brass)}

.coran-recherche{position:relative;margin:-.6rem 0 1.2rem}
.coran-recherche-bouton{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:4px;
  padding:.4rem .7rem;font-size:.95rem;cursor:pointer;color:var(--coran-ink);line-height:1;
}
.coran-recherche-bouton:hover{border-color:var(--coran-brass)}
.coran-recherche-panneau{
  position:absolute;z-index:5;top:calc(100% + 6px);left:0;width:min(30rem,90vw);
  background:var(--coran-panel);border:1px solid var(--coran-brass);border-radius:6px;
  padding:.8rem;box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.coran-recherche-champ{
  width:100%;background:var(--coran-panel-2);color:var(--coran-ink);border:1px solid var(--coran-line);
  border-radius:4px;padding:.5rem .7rem;font-size:.9rem;
}
.coran-recherche-barre{display:flex;gap:.4rem;align-items:stretch}
.coran-recherche-champ{
  flex:1;background:var(--coran-panel-2);color:var(--coran-ink);border:1px solid var(--coran-line);
  border-radius:4px;padding:.5rem .7rem;font-size:.9rem;
}
.coran-recherche-micro{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:4px;
  padding:0 .6rem;font-size:1rem;cursor:pointer;color:var(--coran-ink);flex:none;
}
.coran-recherche-micro:hover{border-color:var(--coran-brass)}
.coran-recherche-micro-actif{background:var(--coran-pomegranate);border-color:var(--coran-pomegranate);
  color:#fff;animation:coran-pouls 1.1s infinite}
@keyframes coran-pouls{50%{opacity:.55}}
.coran-recherche-resultats{max-height:19rem;overflow-y:auto;margin-top:.6rem}
.coran-recherche-ligne{
  display:flex;align-items:center;gap:.4rem;border-bottom:1px solid var(--coran-line);
}
.coran-recherche-ligne:hover{background:rgba(201,162,39,.08)}
.coran-recherche-item{
  display:block;flex:1;min-width:0;padding:.5rem .3rem;
  text-decoration:none;color:inherit;
}
.coran-recherche-ecouter{
  flex:none;background:none;border:0;font-size:1rem;cursor:pointer;color:var(--coran-ink-dim);
  padding:.3rem .5rem;
}
.coran-recherche-ecouter:hover{color:var(--coran-brass)}
.coran-recherche-ref{
  display:block;font-family:var(--coran-ui);font-size:.7rem;letter-spacing:.05em;
  color:var(--coran-brass);text-transform:uppercase;margin-bottom:.15rem;
}
.coran-recherche-texte{font-family:var(--coran-body);font-size:.92rem;color:var(--coran-ink-dim);line-height:1.5}
.coran-recherche-attente,.coran-recherche-vide{font-size:.82rem;color:var(--coran-ink-dim);padding:.4rem .2rem}

.coran-bulle{
  position:absolute;z-index:60;max-width:22rem;background:#fff;
  border:1px solid var(--coran-brass);border-radius:4px;padding:.6rem .8rem;
  font-family:var(--coran-body);font-size:.88rem;line-height:1.55;color:#1a1a1a;
  box-shadow:0 8px 22px rgba(0,0,0,.28);pointer-events:none;
}

.coran-mention{
  font-size:.72rem;line-height:1.5;color:var(--coran-ink-dim);
  margin:0 0 1rem;padding-bottom:.7rem;border-bottom:1px solid var(--coran-line);
}

.coran-glossaire{position:relative;margin:0 0 1.2rem}
.coran-glossaire-bouton{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:4px;
  padding:.4rem .8rem;font-size:.85rem;cursor:pointer;color:var(--coran-ink);
}
.coran-glossaire-bouton:hover{border-color:var(--coran-brass)}
.coran-glossaire-panneau{
  position:absolute;z-index:5;top:calc(100% + 6px);left:0;width:min(30rem,90vw);
  background:var(--coran-panel);border:1px solid var(--coran-brass);border-radius:6px;
  padding:.8rem;box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.coran-glossaire-champ{
  flex:1;background:var(--coran-panel-2);color:var(--coran-ink);border:1px solid var(--coran-line);
  border-radius:4px;padding:.5rem .7rem;font-size:.9rem;
}
.coran-glossaire-fermer{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:4px;
  padding:0 .6rem;font-size:.9rem;cursor:pointer;color:var(--coran-ink);flex:none;
}
.coran-glossaire-fermer:hover{border-color:var(--coran-brass)}
.coran-glossaire-liste{max-height:22rem;overflow-y:auto;margin-top:.6rem}
.coran-glossaire-item{padding:.55rem .3rem;border-bottom:1px solid var(--coran-line)}
.coran-glossaire-terme{
  display:block;font-family:var(--coran-display);font-size:1rem;font-weight:500;
  color:var(--coran-brass);margin-bottom:.2rem;
}
.coran-glossaire-def{display:block;font-family:var(--coran-body);font-size:.9rem;color:var(--coran-ink-dim);line-height:1.5}

/* ---- noms propres cliquables ---- */
/* Sélecteur volontairement appuyé, et !important sur les seules propriétés
   visuelles : les thèmes WordPress stylent les <button> avec une spécificité
   souvent supérieure (.entry-content button, .wp-block-* button…), et leur
   couleur écrasait la nôtre — le nom se fondait alors dans l'arrière-plan. */
.coran-lecteur button.coran-nom,
.coran-lecteur .coran-texte button.coran-nom{
  background:none !important;
  border:0 !important;
  border-bottom:1px solid rgba(231,195,79,.6) !important;
  border-radius:0 !important;
  padding:0 .05em !important;
  margin:0 !important;
  font:inherit !important;
  text-transform:none !important;
  letter-spacing:inherit !important;
  line-height:inherit !important;
  box-shadow:none !important;
  text-decoration:none !important;
  cursor:pointer;
  color:var(--coran-gold-vif) !important;
  min-height:0 !important;
  width:auto !important;
}
.coran-lecteur button.coran-nom:hover,
.coran-lecteur button.coran-nom:focus{
  color:#FFE58A !important;
  border-bottom-color:#FFE58A !important;
  background:rgba(231,195,79,.16) !important;
  border-radius:2px !important;
  outline:none;
}
/* Les noms divins se distinguent des autres sans crier. */
.coran-lecteur button.coran-nom-divin{font-weight:600 !important}
/* Les termes portent un trait ondulé : on distingue d'un coup d'œil
   « qui est-ce ? » (nom propre) de « que veut dire ce mot ? » (terme). */
.coran-lecteur button.coran-nom-terme{
  border-bottom:0 !important;
  text-decoration:underline !important;
  text-decoration-style:dotted !important;
  text-decoration-color:rgba(231,195,79,.75) !important;
  text-underline-offset:3px;
}
.coran-lecteur button.coran-nom-terme:hover{
  text-decoration-color:#FFE58A !important;
}
.coran-bulle-nom{
  position:absolute;z-index:70;background:#fff;border:1px solid var(--coran-brass);
  border-radius:5px;padding:.7rem .95rem;box-shadow:0 8px 22px rgba(0,0,0,.28);
  text-align:center;min-width:9rem;pointer-events:none;
}
.coran-bulle-heb{
  display:block;font-size:1.7rem;line-height:1.35;color:#1a1a1a;
  font-family:'Frank Ruhl Libre',serif;
}
.coran-bulle-phon{
  display:block;margin-top:.25rem;font-size:1rem;color:#7a5c10;font-style:italic;
}
.coran-bulle-fr{
  display:block;margin-top:.3rem;padding-top:.3rem;border-top:1px solid #e6e6e6;
  font-size:.78rem;color:#666;
}
.coran-bulle-sens{
  display:block;margin-top:.45rem;padding-top:.45rem;border-top:1px solid #e6e6e6;
  font-size:.86rem;line-height:1.5;color:#2b2b2b;text-align:left;max-width:22rem;
}
.coran-bulle-nom{max-width:24rem}

/* ---- lexique consultable ---- */
.coran-lexique{position:relative;display:inline-block;margin:0 0 1.2rem .4rem}
.coran-lexique-bouton{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:4px;
  padding:.4rem .8rem;font-size:.85rem;cursor:pointer;color:var(--coran-ink);
}
.coran-lexique-bouton:hover{border-color:var(--coran-gold-vif);color:var(--coran-gold-vif)}
.coran-lexique-panneau{
  position:absolute;z-index:8;top:calc(100% + 6px);left:0;width:min(38rem,92vw);
  background:var(--coran-panel);border:1px solid var(--coran-gold-vif);border-radius:6px;
  padding:.85rem;box-shadow:0 12px 34px rgba(0,0,0,.42);
}
.coran-lexique-champ{
  flex:1;background:var(--coran-panel-2);color:var(--coran-ink);border:1px solid var(--coran-line);
  border-radius:4px;padding:.5rem .7rem;font-size:.9rem;
}
.coran-lexique-fermer{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:4px;
  padding:0 .6rem;font-size:.9rem;cursor:pointer;color:var(--coran-ink);flex:none;
}
.coran-lexique-filtres{display:flex;flex-wrap:wrap;gap:.3rem;margin:.6rem 0 .4rem}
.coran-lexique-filtre{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:99px;
  padding:.15rem .7rem;font-size:.72rem;color:var(--coran-ink-dim);cursor:pointer;
}
.coran-lexique-filtre:hover{color:var(--coran-ink)}
.coran-lexique-filtre-actif{
  background:rgba(231,195,79,.18);border-color:var(--coran-gold-vif);color:var(--coran-gold-vif);
}
.coran-lexique-etat{font-size:.72rem;color:var(--coran-ink-dim);margin:.15rem 0 .35rem}
.coran-lexique-liste{max-height:26rem;overflow-y:auto}
.coran-lex-item{padding:.6rem .3rem;border-bottom:1px solid var(--coran-line)}
.coran-lex-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem}
.coran-lex-mot{font-family:var(--coran-display);font-size:1.05rem;color:var(--coran-gold-vif);font-weight:600}
.coran-lex-heb{font-size:1.15rem;color:var(--coran-ink)}
.coran-lex-phon{font-style:italic;font-size:.85rem;color:var(--coran-ink-dim)}
.coran-lex-cat{
  margin-left:auto;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--coran-ink-dim);border:1px solid var(--coran-line);border-radius:99px;padding:.05rem .45rem;
}
.coran-lex-sens{margin:.3rem 0 0;font-size:.87rem;line-height:1.55;color:var(--coran-ink-dim)}

/* ---- partage ---- */
.coran-partage{position:relative;display:inline-block;margin:0 0 1.2rem .4rem}
.coran-partage-bouton{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:4px;
  padding:.4rem .8rem;font-size:.85rem;cursor:pointer;color:var(--coran-ink);
}
.coran-partage-bouton:hover{border-color:var(--coran-gold-vif);color:var(--coran-gold-vif)}
.coran-partage-panneau{
  position:absolute;z-index:9;top:calc(100% + 6px);left:0;width:min(24rem,92vw);
  background:var(--coran-panel);border:1px solid var(--coran-gold-vif);border-radius:6px;
  padding:.85rem;box-shadow:0 12px 34px rgba(0,0,0,.42);
}
.coran-partage-quoi{margin:0 0 .6rem;font-size:.76rem;color:var(--coran-ink-dim);line-height:1.45}
.coran-partage-liens{display:flex;flex-wrap:wrap;gap:.4rem}
.coran-partage-liens a,.coran-partage-liens button{
  background:var(--coran-panel-2);border:1px solid var(--coran-line);border-radius:99px;
  padding:.28rem .8rem;font-size:.8rem;color:var(--coran-ink);cursor:pointer;
  text-decoration:none;display:inline-block;
}
.coran-partage-liens a:hover,.coran-partage-liens button:hover{
  border-color:var(--coran-gold-vif);color:var(--coran-gold-vif);
}
.coran-partage-natif{
  background:rgba(231,195,79,.16) !important;border-color:var(--coran-gold-vif) !important;
  color:var(--coran-gold-vif) !important;flex-basis:100%;text-align:center;
}
.coran-partage-etat{margin:.55rem 0 0;font-size:.76rem;color:var(--coran-gold-vif);min-height:1em}

/* Les définitions du glossaire acceptent une mise en forme : on lui donne
   de quoi respirer plutôt que de la laisser en bloc compact. */
.coran-glossaire-def p{margin:0 0 .5rem}
.coran-glossaire-def p:last-child{margin-bottom:0}
.coran-glossaire-def ul,.coran-glossaire-def ol{margin:.35rem 0 .5rem 1.2rem;padding:0}
.coran-glossaire-def li{margin:.15rem 0}
.coran-glossaire-def strong,.coran-glossaire-def b{color:var(--coran-ink)}
.coran-glossaire-def a{color:var(--coran-gold-vif);text-decoration:underline}
.coran-glossaire-def a:hover{color:#FFE58A}

/* ---- lisibilité des boutons de commande ----
   Mêmes précautions que pour les mots cliquables : les thèmes stylent les
   <button> avec une spécificité supérieure, et leur couleur passait devant
   la nôtre — le libellé se fondait alors dans le fond sombre. */
.coran-lecteur button.coran-glossaire-bouton,
.coran-lecteur button.coran-lexique-bouton,
.coran-lecteur button.coran-partage-bouton,
.coran-lecteur button.coran-toggle{
  background:var(--coran-panel-2) !important;
  border:1px solid rgba(231,195,79,.55) !important;
  border-radius:4px !important;
  color:var(--coran-gold-vif) !important;
  font-weight:600 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  text-decoration:none !important;
  box-shadow:none !important;
  padding:.42rem .85rem !important;
  font-size:.88rem !important;
  line-height:1.25 !important;
  min-height:0 !important;
  width:auto !important;
  text-shadow:none !important;
}
.coran-lecteur button.coran-glossaire-bouton:hover,
.coran-lecteur button.coran-lexique-bouton:hover,
.coran-lecteur button.coran-partage-bouton:hover,
.coran-lecteur button.coran-toggle:hover,
.coran-lecteur button.coran-glossaire-bouton:focus,
.coran-lecteur button.coran-lexique-bouton:focus,
.coran-lecteur button.coran-partage-bouton:focus,
.coran-lecteur button.coran-toggle:focus{
  background:rgba(231,195,79,.16) !important;
  border-color:#FFE58A !important;
  color:#FFE58A !important;
  outline:none;
}

/* ---- lisibilité du panneau Glossaire ----
   Les définitions étaient servies en --coran-ink-dim, une encre volontairement
   effacée destinée aux mentions secondaires. Pour un texte qu'on vient lire,
   c'est trop discret : on passe à l'encre pleine, et le terme au doré vif.
   Les couleurs choisies dans l'éditeur restent prioritaires, puisqu'elles
   sont posées en style direct sur les mots concernés. */
.coran-lecteur .coran-glossaire-panneau{
  background:var(--coran-panel) !important;
  border-color:var(--coran-gold-vif) !important;
}
.coran-lecteur .coran-glossaire-terme{
  color:var(--coran-gold-vif) !important;
  font-weight:700 !important;
  font-size:1.02rem !important;
}
.coran-lecteur .coran-glossaire-def{
  color:var(--coran-ink) !important;
  font-size:.94rem !important;
  line-height:1.6 !important;
}
.coran-lecteur .coran-glossaire-def strong,
.coran-lecteur .coran-glossaire-def b{ color:#FFFFFF !important; }
.coran-lecteur .coran-glossaire-def em,
.coran-lecteur .coran-glossaire-def i{ color:var(--coran-ink) !important; }
.coran-lecteur .coran-glossaire-def li{ color:var(--coran-ink) !important; }
.coran-lecteur .coran-glossaire-item{ border-bottom-color:rgba(232,228,217,.22) !important; }
.coran-lecteur .coran-glossaire-champ{
  color:var(--coran-ink) !important;
  background:var(--coran-panel-2) !important;
  border-color:rgba(231,195,79,.45) !important;
}
.coran-lecteur .coran-glossaire-champ::placeholder{ color:var(--coran-ink-dim) !important; opacity:1; }
.coran-lecteur .coran-glossaire-etat{ color:var(--coran-ink-dim) !important; }

/* ---- texte arabe ----
   L'arabe se lit de droite à gauche et demande plus d'interligne : les
   signes vocaliques se placent au-dessus et au-dessous des lettres, et se
   chevauchent si les lignes sont serrées. Le corps est agrandi en
   conséquence, la ligature restant illisible en petit. */
.coran-lecteur .coran-verset.coran-rtl{
  direction:rtl;
  text-align:right;
}
.coran-lecteur .coran-rtl .coran-texte{
  font-family:'Amiri','Scheherazade New','Noto Naskh Arabic','Traditional Arabic',serif;
  font-size:1.55rem;
  line-height:2.3;
  letter-spacing:0;
}
/* Le numéro de verset reste à gauche du bloc, donc à droite en écriture
   inverse : on le repousse du bon côté plutôt que de le laisser flotter. */
.coran-lecteur .coran-rtl .coran-num{
  float:right;
  margin:0 0 0 .6rem;
  direction:ltr;
}
.coran-lecteur .coran-rtl .coran-outils{ direction:ltr; text-align:left; }

/* La basmala, quand elle ouvre une sourate, mérite d'être détachée. */
.coran-basmala{
  display:block;text-align:center;direction:rtl;
  font-family:'Amiri','Scheherazade New','Noto Naskh Arabic',serif;
  font-size:1.5rem;line-height:2;color:var(--coran-gold-vif);
  margin:.4rem 0 1.2rem;padding-bottom:.8rem;
  border-bottom:1px solid var(--coran-line);
}
/* En-tête de sourate : nom arabe et lieu de révélation. */
.coran-sourate-arabe{
  direction:rtl;font-family:'Amiri','Scheherazade New',serif;
  font-size:1.5rem;color:var(--coran-gold-vif);margin-inline-start:.6rem;
}
.coran-sourate-lieu{
  font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--coran-ink-dim);border:1px solid var(--coran-line);
  border-radius:99px;padding:.1rem .55rem;margin-inline-start:.6rem;
}

/* ---- agent d'étude ---- */
.coran-agent{position:relative;display:inline-block;margin:0 0 1.2rem .4rem}
.coran-lecteur button.coran-agent-bouton{
  background:var(--coran-panel-2) !important;
  border:1px solid rgba(231,195,79,.55) !important;border-radius:4px !important;
  color:var(--coran-gold-vif) !important;font-weight:600 !important;
  padding:.42rem .85rem !important;font-size:.88rem !important;
  text-transform:none !important;box-shadow:none !important;width:auto !important;
}
.coran-lecteur button.coran-agent-bouton:hover{
  background:rgba(231,195,79,.16) !important;border-color:#FFE58A !important;color:#FFE58A !important;
}
.coran-agent-panneau{
  position:absolute;z-index:12;top:calc(100% + 6px);left:0;width:min(42rem,94vw);
  background:var(--coran-panel);border:1px solid var(--coran-gold-vif);border-radius:6px;
  padding:.9rem;box-shadow:0 12px 34px rgba(0,0,0,.45);
}
.coran-agent-intro,.coran-agent-note{
  margin:0 0 .6rem;font-size:.76rem;line-height:1.5;color:var(--coran-ink-dim);
}
.coran-agent-note{margin:.6rem 0 0;font-style:italic}
.coran-agent-fil{max-height:24rem;overflow-y:auto;margin-bottom:.6rem}
.coran-agent-msg{
  padding:.55rem .75rem;border-radius:5px;margin-bottom:.5rem;
  font-size:.9rem;line-height:1.6;white-space:pre-wrap;
}
.coran-agent-question{background:rgba(231,195,79,.14);color:var(--coran-ink);border:1px solid rgba(231,195,79,.3)}
.coran-agent-reponse{background:var(--coran-panel-2);color:var(--coran-ink);border:1px solid var(--coran-line)}
.coran-agent-attente{color:var(--coran-ink-dim);font-style:italic}
.coran-agent-erreur{background:rgba(180,60,60,.18);color:#f3c8c8;border:1px solid rgba(180,60,60,.5)}
.coran-agent-sources{
  font-size:.74rem;color:var(--coran-ink-dim);margin:0 0 .6rem .2rem;
}
.coran-agent-sources summary{cursor:pointer;color:var(--coran-gold-vif)}
.coran-agent-sources ul{margin:.35rem 0 0 1.2rem;padding:0;max-height:11rem;overflow-y:auto}
.coran-agent-saisie{display:flex;gap:.45rem;align-items:flex-end}
.coran-agent-champ{
  flex:1;background:var(--coran-panel-2);color:var(--coran-ink);
  border:1px solid rgba(231,195,79,.45);border-radius:4px;
  padding:.5rem .7rem;font-size:.9rem;font-family:inherit;resize:vertical;
}
.coran-lecteur button.coran-agent-envoyer{
  background:rgba(231,195,79,.16) !important;border:1px solid var(--coran-gold-vif) !important;
  border-radius:4px !important;color:var(--coran-gold-vif) !important;
  padding:.5rem .9rem !important;font-size:.85rem !important;font-weight:600 !important;
  white-space:nowrap;width:auto !important;
}
.coran-lecteur button.coran-agent-envoyer:disabled{opacity:.5;cursor:default}

/* ---- plafond de questions ---- */
.coran-agent-plafond{
  background:rgba(231,195,79,.12);border:1px solid rgba(231,195,79,.5);
  color:var(--coran-ink);
}
.coran-agent-plafond p{margin:0}
.coran-agent-liens{display:flex;gap:.5rem;margin-top:.7rem !important;flex-wrap:wrap}
.coran-agent-liens a{
  background:rgba(231,195,79,.18);border:1px solid var(--coran-gold-vif);
  border-radius:99px;padding:.3rem .9rem;font-size:.82rem;font-weight:600;
  color:var(--coran-gold-vif);text-decoration:none;
}
.coran-agent-liens a:hover{background:rgba(231,195,79,.3);color:#FFE58A}
.coran-agent-reste{
  margin:.1rem 0 .6rem .2rem;font-size:.74rem;font-style:italic;
  color:var(--coran-ink-dim);
}
