/* SAKUGAART · module Témoins · encadré et fenêtre de contribution */

.sga-temo,
.sga-temo-bandeau,
.sga-temo-fond {
  --sga-fond: #f2ede6;
  --sga-papier: #fbf9f5;
  --sga-encre: #1d1a16;
  --sga-doux: #5b544b;
  --sga-filet: #d8cfc2;
  --sga-accent: var(--c, #7a2e1f);
  --sga-erreur: #a3221a;
  --sga-ok: #2f5d3a;
  --sga-titre: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sga-texte: Georgia, 'Times New Roman', serif;
  --sga-mono: 'DM Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --sga-jp: 'Shippori Mincho', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  box-sizing: border-box;
  color: var(--sga-encre);
  font-family: var(--sga-texte);
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
}
/* Neutralise les styles globaux des articles (p, dd, li, h2, ol…) */
.sga-temo p, .sga-temo-fond p, .sga-temo-fond dd, .sga-temo-fond dt, .sga-temo-fond li {
  font-size: 1em; letter-spacing: normal; line-height: 1.6; margin: 0 0 .8em; text-transform: none;
}
.sga-temo-ja p, .sga-temo-fond.sga-temo-ja p, .sga-temo-fond.sga-temo-ja dd, .sga-temo-fond.sga-temo-ja li { line-height: 1.85; }
.sga-temo *, .sga-temo *::before, .sga-temo *::after,
.sga-temo-fond *, .sga-temo-fond *::before, .sga-temo-fond *::after { box-sizing: border-box; }

.sga-temo.sga-temo-ja, .sga-temo-fond.sga-temo-ja { font-family: var(--sga-jp); font-size: 18px; line-height: 1.85; }

/* ---------- Encadré de fin d'article ---------- */
.sga-temo {
  background: var(--sga-fond);
  border-top: 3px solid var(--sga-accent);
  margin: 3.5em auto 2em;
  max-width: 860px;
  padding: 2em 2.2em 2.2em;
}
.sga-temo .sga-temo-surtitre {
  color: var(--sga-accent);
  font-family: var(--sga-mono);
  font-size: .72em;
  letter-spacing: .22em;
  margin: 0 0 .6em;
  text-transform: uppercase;
}
.sga-temo .sga-temo-encadre-titre {
  color: var(--sga-encre);
  font-family: var(--sga-titre);
  font-size: 1.85em;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 .8em;
  padding: 0;
  border: 0;
}
.sga-temo-ja .sga-temo-encadre-titre { font-family: var(--sga-jp); font-size: 1.5em; }
.sga-temo .sga-temo-encadre-texte { color: var(--sga-encre); font-size: 1.02em; margin: 0 0 1.2em; max-width: 62ch; }
.sga-temo-ja .sga-temo-encadre-texte { font-size: 18px; max-width: 40em; }
.sga-temo .sga-temo-sejour,
.sga-temo-fond .sga-temo-sejour {
  border-left: 2px solid var(--sga-accent);
  color: var(--sga-encre);
  font-size: .98em;
  font-style: italic;
  margin: 0 0 1.3em;
  padding: .2em 0 .2em .9em;
}
.sga-temo-ja .sga-temo-sejour { font-style: normal; }

/* ---------- Boutons ---------- */
.sga-temo .sga-temo-bouton,
.sga-temo-bandeau .sga-temo-bouton,
.sga-temo-fond .sga-temo-bouton {
  align-items: center;
  background: var(--sga-encre);
  border: 1px solid var(--sga-encre);
  border-radius: 2px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--sga-mono);
  font-size: .8em;
  justify-content: center;
  letter-spacing: .12em;
  line-height: 1.3;
  min-height: 48px;
  padding: .75em 1.5em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .15s ease, color .15s ease;
}
.sga-temo-ja .sga-temo-bouton, .sga-temo-fond.sga-temo-ja .sga-temo-bouton, .sga-temo-bandeau.sga-temo-ja .sga-temo-bouton {
  font-family: var(--sga-jp); font-size: 1em; letter-spacing: .08em; text-transform: none;
}
.sga-temo .sga-temo-bouton:hover,
.sga-temo-bandeau .sga-temo-bouton:hover,
.sga-temo-fond .sga-temo-bouton:hover { background: #3a342c; border-color: #3a342c; color: #fff; }
.sga-temo-fond .sga-temo-bouton-second,
.sga-temo .sga-temo-bouton-second { background: transparent; color: var(--sga-encre); }
.sga-temo-fond .sga-temo-bouton-second:hover { background: #e9e2d7; color: var(--sga-encre); }
.sga-temo-fond .sga-temo-bouton[disabled] { cursor: progress; opacity: .65; }
.sga-temo button:focus-visible,
.sga-temo-bandeau button:focus-visible,
.sga-temo-fond button:focus-visible,
.sga-temo-fond input:focus-visible,
.sga-temo-fond textarea:focus-visible,
.sga-temo-fond .sga-temo-fichiers-bouton:focus-within,
.sga-temo-tableau-lien:focus-visible {
  outline: 3px solid var(--sga-accent, #7a2e1f);
  outline-offset: 2px;
}

/* ---------- Bandeau d'une ligne en tête d'article (fond clair, texte foncé) ---------- */
.sga-temo-bandeau {
  align-items: center;
  background: var(--sga-fond);
  border-left: 3px solid var(--sga-accent);
  display: flex;
  gap: 1em 1.4em;
  justify-content: space-between;
  margin: 0 auto 2.2em;
  padding: .9em 1.2em;
}
.sga-temo-bandeau .sga-temo-bandeau-texte {
  color: var(--sga-encre);
  font-size: .98em;
  letter-spacing: normal;
  line-height: 1.5;
  margin: 0;
  text-transform: none;
}
.sga-temo-bandeau.sga-temo-ja .sga-temo-bandeau-texte { font-family: var(--sga-jp); font-size: 18px; line-height: 1.7; }
.sga-temo-bandeau .sga-temo-bouton { flex: none; min-height: 44px; padding: .6em 1.3em; }
@media (max-width: 640px) {
  .sga-temo-bandeau { align-items: stretch; flex-direction: column; }
  .sga-temo-bandeau .sga-temo-bouton { width: 100%; }
}

/* Lien placé sous les tableaux de staff et de filmographie */
.sga-temo-tableau-lien {
  background: none;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: .78em;
  letter-spacing: .08em;
  margin: .6em 0 1.6em;
  min-height: 44px;
  padding: .7em 0 .2em;
}
.sga-temo-tableau-lien[lang="ja"] { font-family: 'Shippori Mincho', serif; font-size: 16px; letter-spacing: .04em; }

/* ---------- Fenêtre ---------- */
html.sga-temo-ouvert, html.sga-temo-ouvert body { overflow: hidden; }
.sga-temo-fond[hidden], .sga-temo [hidden] { display: none !important; }
.sga-temo-fond {
  align-items: flex-start;
  background: rgba(20, 17, 13, .62);
  display: flex;
  inset: 0;
  justify-content: center;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 4vh 1em;
  position: fixed;
  z-index: 999999;
}
.sga-temo-fond .sga-temo-dialogue {
  background: var(--sga-papier);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .28);
  max-width: 720px;
  padding: 0 0 1.6em;
  position: relative;
  width: 100%;
}
.sga-temo-fond .sga-temo-tete {
  background: var(--sga-fond);
  border-bottom: 1px solid var(--sga-filet);
  padding: 1.4em 1.8em 1em;
}
.sga-temo-fond .sga-temo-etape-num {
  color: var(--sga-accent);
  font-family: var(--sga-mono);
  font-size: .72em;
  letter-spacing: .18em;
  margin: 0 0 .3em;
  text-transform: uppercase;
}
.sga-temo-fond.sga-temo-ja .sga-temo-etape-num { font-family: var(--sga-jp); font-size: .85em; letter-spacing: .06em; text-transform: none; }
.sga-temo-fond h2 {
  color: var(--sga-encre);
  font-family: var(--sga-titre);
  font-size: 1.7em;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 3.6em .3em 0;
  padding: 0;
  border: 0;
}
.sga-temo-fond.sga-temo-ja h2 { font-family: var(--sga-jp); font-size: 1.4em; }
.sga-temo-fond .sga-temo-contexte { color: var(--sga-doux); font-size: .95em; margin: 0 0 .2em; }
.sga-temo-fond .sga-temo-contexte strong { color: var(--sga-encre); font-weight: 600; }
.sga-temo-fond .sga-temo-fermer {
  background: transparent;
  border: 1px solid var(--sga-filet);
  color: var(--sga-encre);
  cursor: pointer;
  font-family: var(--sga-mono);
  font-size: .72em;
  letter-spacing: .12em;
  min-height: 44px;
  min-width: 44px;
  padding: .5em .9em;
  position: absolute;
  right: 1.2em;
  text-transform: uppercase;
  top: 1.2em;
}
.sga-temo-fond.sga-temo-ja .sga-temo-fermer { font-family: var(--sga-jp); font-size: .9em; text-transform: none; }
.sga-temo-fond .sga-temo-fermer:hover { background: #e9e2d7; }

.sga-temo-fond .sga-temo-progression {
  display: flex;
  gap: .5em;
  list-style: none;
  margin: 1em 0 0;
  padding: 0;
}
.sga-temo-fond .sga-temo-progression li {
  border-top: 3px solid var(--sga-filet);
  color: var(--sga-doux);
  flex: 1;
  font-family: var(--sga-mono);
  font-size: .68em;
  letter-spacing: .08em;
  margin: 0;
  padding: .45em 0 0;
}
.sga-temo-fond.sga-temo-ja .sga-temo-progression li { font-family: var(--sga-jp); font-size: .8em; letter-spacing: 0; }
.sga-temo-fond .sga-temo-progression li::before, .sga-temo-fond .sga-temo-progression li::after { content: none; }
.sga-temo-fond .sga-temo-progression li.est-faite { border-top-color: var(--sga-doux); }
.sga-temo-fond .sga-temo-progression li.est-active { border-top-color: var(--sga-accent); color: var(--sga-encre); font-weight: 600; }

.sga-temo-fond .sga-temo-formulaire,
.sga-temo-fond .sga-temo-succes { padding: 1.4em 1.8em 0; }

.sga-temo-fond .sga-temo-annonce {
  background: #fff;
  border-left: 3px solid var(--sga-accent);
  font-size: .95em;
  margin: 0 0 1.2em;
  padding: .7em 1em;
}
.sga-temo-fond .sga-temo-annonce.est-erreur { border-left-color: var(--sga-erreur); color: var(--sga-erreur); }

/* ---------- Champs ---------- */
.sga-temo-fond .sga-temo-champ { border: 0; margin: 0 0 1.35em; min-width: 0; padding: 0; }
.sga-temo-fond .sga-temo-champ[hidden], .sga-temo-fond [hidden] { display: none !important; }
.sga-temo-fond label,
.sga-temo-fond legend,
.sga-temo-fond .sga-temo-libelle {
  color: var(--sga-encre);
  display: block;
  font-size: 1em;
  font-weight: 600;
  margin: 0 0 .35em;
  padding: 0;
}
.sga-temo-fond .sga-temo-facultatif { color: var(--sga-doux); font-size: .85em; font-weight: 400; }
.sga-temo-fond .sga-temo-aide { color: var(--sga-doux); font-size: .9em; margin: -.1em 0 .45em; }
.sga-temo-fond.sga-temo-ja .sga-temo-aide { font-size: 16px; }
.sga-temo-fond input[type="text"],
.sga-temo-fond input[type="email"],
.sga-temo-fond input[type="tel"],
.sga-temo-fond textarea {
  appearance: none;
  background: #fff;
  border: 1px solid #b9ae9f;
  border-radius: 2px;
  color: var(--sga-encre);
  display: block;
  font: inherit;
  font-size: 1em;
  line-height: 1.5;
  margin: 0;
  min-height: 48px;
  padding: .65em .8em;
  width: 100%;
}
.sga-temo-fond.sga-temo-ja input, .sga-temo-fond.sga-temo-ja textarea { font-size: 18px; }
.sga-temo-fond textarea { min-height: 4.6em; resize: vertical; }
.sga-temo-fond #sga-temo-message { min-height: 9em; }
.sga-temo-fond .est-invalide input,
.sga-temo-fond .est-invalide textarea { border-color: var(--sga-erreur); box-shadow: 0 0 0 1px var(--sga-erreur); }
.sga-temo-fond .sga-temo-erreur { color: var(--sga-erreur); font-size: .9em; font-weight: 600; margin: .35em 0 0; }
.sga-temo-fond .sga-temo-compteur { color: var(--sga-doux); font-family: var(--sga-mono); font-size: .7em; margin: .25em 0 0; text-align: right; }

/* Choix en cartes */
.sga-temo-fond .sga-temo-options { display: grid; gap: .5em; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.sga-temo-fond .sga-temo-cartes .sga-temo-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sga-temo-fond .sga-temo-option {
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--sga-filet);
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  font-weight: 400;
  gap: .6em;
  margin: 0;
  min-height: 48px;
  padding: .7em .8em;
}
.sga-temo-fond .sga-temo-option:hover { border-color: var(--sga-doux); }
.sga-temo-fond .sga-temo-option input { accent-color: var(--sga-encre); flex: none; height: 1.15em; margin: .2em 0 0; width: 1.15em; }
.sga-temo-fond .sga-temo-option:has(input:checked) { background: var(--sga-fond); border-color: var(--sga-encre); box-shadow: inset 0 0 0 1px var(--sga-encre); }
.sga-temo-fond .sga-temo-option:has(input:focus-visible) { outline: 3px solid var(--sga-accent); outline-offset: 2px; }
.sga-temo-fond .sga-temo-option-texte { display: flex; flex-direction: column; }
.sga-temo-fond .sga-temo-option-titre { font-weight: 600; }
.sga-temo-fond .sga-temo-option-detail { color: var(--sga-doux); font-size: .88em; line-height: 1.4; margin-top: .15em; }
.sga-temo-fond.sga-temo-ja .sga-temo-option-detail { font-size: 15px; }
.sga-temo-fond .est-invalide .sga-temo-option { border-color: var(--sga-erreur); }

.sga-temo-fond .sga-temo-liste .sga-temo-options { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.sga-temo-fond [data-champ="avenir"] .sga-temo-options { grid-template-columns: 1fr; }
.sga-temo-fond legend .sga-temo-facultatif { display: inline; }

/* Mention sur les documents (fond clair, texte foncé) */
.sga-temo-fond .sga-temo-mention p {
  background: var(--sga-fond);
  border-left: 3px solid var(--sga-accent);
  color: var(--sga-encre);
  margin: 0;
  padding: .8em 1em;
}

/* Cases à cocher */
.sga-temo-fond .sga-temo-case label { align-items: flex-start; display: flex; font-weight: 400; gap: .7em; cursor: pointer; }
.sga-temo-fond .sga-temo-case input { accent-color: var(--sga-encre); flex: none; height: 1.25em; margin: .2em 0 0; width: 1.25em; }
.sga-temo-fond .sga-temo-case .sga-temo-aide { margin: .3em 0 0 1.95em; }

/* Fichiers */
.sga-temo-fond .sga-temo-fichiers-bouton { position: relative; overflow: hidden; display: inline-flex; font-weight: 400; margin: 0; }
.sga-temo-fond .sga-temo-fichiers-entree { cursor: pointer; inset: 0; opacity: 0; position: absolute; width: 100%; height: 100%; font-size: 0; }
.sga-temo-fond .sga-temo-fichiers-liste { list-style: none; margin: .6em 0 0; padding: 0; }
.sga-temo-fond .sga-temo-fichiers-liste li {
  align-items: center;
  border-bottom: 1px solid var(--sga-filet);
  display: flex;
  gap: .8em;
  justify-content: space-between;
  margin: 0;
  padding: .35em 0;
  font-size: .92em;
}
.sga-temo-fond .sga-temo-fichiers-liste span { overflow-wrap: anywhere; }
.sga-temo-fond .sga-temo-fichiers-liste button {
  background: none; border: 0; border-bottom: 1px solid currentColor; color: var(--sga-erreur);
  cursor: pointer; font: inherit; font-size: .85em; min-height: 44px; padding: 0 .2em;
}

/* Champ piège : hors écran, jamais visible */
.sga-temo-fond .sga-temo-piege { height: 1px; left: -9999px; overflow: hidden; position: absolute; width: 1px; }

/* Récapitulatif */
.sga-temo-fond .sga-temo-recap { background: var(--sga-fond); margin: 0 0 1em; padding: 1em 1.2em; }
.sga-temo-fond .sga-temo-recap h3 { font-family: var(--sga-mono); font-size: .72em; font-weight: 400; letter-spacing: .18em; margin: 0 0 .6em; text-transform: uppercase; color: var(--sga-doux); }
.sga-temo-fond.sga-temo-ja .sga-temo-recap h3 { font-family: var(--sga-jp); font-size: .9em; letter-spacing: .05em; }
.sga-temo-fond .sga-temo-recap dl { display: grid; gap: .3em 1em; grid-template-columns: max-content 1fr; margin: 0; }
.sga-temo-fond .sga-temo-recap dt { color: var(--sga-doux); font-size: .9em; }
.sga-temo-fond .sga-temo-recap dd { margin: 0; overflow-wrap: anywhere; }

/* Actions */
.sga-temo-fond .sga-temo-actions {
  border-top: 1px solid var(--sga-filet);
  display: flex;
  gap: .8em;
  justify-content: space-between;
  margin-top: 1.6em;
  padding-top: 1.2em;
}
.sga-temo-fond .sga-temo-suivant { margin-left: auto; }

/* Confirmation */
.sga-temo-fond .sga-temo-succes h3 { color: var(--sga-ok); font-family: var(--sga-titre); font-size: 1.6em; font-weight: 600; line-height: 1.25; margin: .4em 0 .8em; }
.sga-temo-fond.sga-temo-ja .sga-temo-succes h3 { font-family: var(--sga-jp); font-size: 1.3em; }
.sga-temo-fond .sga-temo-succes:focus { outline: none; }
.sga-temo-fond .sga-temo-reference { font-family: var(--sga-mono); letter-spacing: .08em; }

@media (max-width: 640px) {
  .sga-temo { padding: 1.5em 1.2em 1.7em; margin-top: 2.5em; }
  .sga-temo .sga-temo-encadre-titre { font-size: 1.55em; }
  .sga-temo .sga-temo-ouvrir { width: 100%; }
  .sga-temo-fond { padding: 0; scroll-padding-bottom: 6em; }
  .sga-temo-fond .sga-temo-dialogue { min-height: 100%; box-shadow: none; }
  .sga-temo-fond .sga-temo-tete { padding: 1.1em 1.1em .9em; }
  .sga-temo-fond .sga-temo-formulaire, .sga-temo-fond .sga-temo-succes { padding: 1.2em 1.1em 0; }
  .sga-temo-fond .sga-temo-fermer { right: .8em; top: .8em; }
  .sga-temo-fond .sga-temo-cartes .sga-temo-options, .sga-temo-fond .sga-temo-options { grid-template-columns: 1fr; }
  .sga-temo-fond .sga-temo-progression li span { display: none; }
  .sga-temo-fond .sga-temo-recap dl { grid-template-columns: 1fr; }
  .sga-temo-fond .sga-temo-recap dd { margin-bottom: .4em; }
  .sga-temo-fond .sga-temo-actions { position: sticky; bottom: 0; background: var(--sga-papier); padding-bottom: .8em; }
}

@media (prefers-reduced-motion: reduce) {
  .sga-temo *, .sga-temo-fond * { transition: none !important; }
}

/* ==========================================================================
   Couleurs verrouillées : chaque article a ses propres couleurs (fond sombre,
   texte clair, couleur d'accent) et le thème impose parfois les siennes aux
   boutons et aux liens. Les éléments du module gardent toujours un fond clair
   et un texte foncé, quel que soit l'article.
   ========================================================================== */
.sga-temo, .sga-temo-bandeau { background-color: #f2ede6 !important; }
.sga-temo :is(p, h2, h3, span, strong, em, label, legend, dt, dd, li),
.sga-temo-bandeau :is(p, span, strong),
.sga-temo-fond :is(p, h2, h3, span, strong, em, label, legend, dt, dd, li) {
  color: #1d1a16 !important;
  -webkit-text-fill-color: currentColor;
}
/* Textes secondaires */
.sga-temo .sga-temo-surtitre,
.sga-temo-fond .sga-temo-aide,
.sga-temo-fond .sga-temo-facultatif,
.sga-temo-fond .sga-temo-option-detail,
.sga-temo-fond .sga-temo-contexte,
.sga-temo-fond .sga-temo-compteur,
.sga-temo-fond .sga-temo-recap dt,
.sga-temo-fond .sga-temo-recap h3,
.sga-temo-fond .sga-temo-progression li,
.sga-temo-fond .sga-temo-progression li span { color: #5b544b !important; }
.sga-temo-fond .sga-temo-contexte strong,
.sga-temo-fond .sga-temo-progression li.est-active,
.sga-temo-fond .sga-temo-progression li.est-active span { color: #1d1a16 !important; }
.sga-temo-fond .sga-temo-etape-num { color: #7a2e1f !important; }
.sga-temo-fond .sga-temo-erreur,
.sga-temo-fond .sga-temo-annonce.est-erreur { color: #a3221a !important; }
.sga-temo-fond .sga-temo-succes h3 { color: #2f5d3a !important; }
/* Fonds des zones de la fenêtre */
.sga-temo-fond .sga-temo-dialogue { background-color: #fbf9f5 !important; }
.sga-temo-fond .sga-temo-tete,
.sga-temo-fond .sga-temo-recap,
.sga-temo-fond .sga-temo-mention p { background-color: #f2ede6 !important; }
.sga-temo-fond .sga-temo-annonce { background-color: #fff !important; }
/* Champs */
.sga-temo-fond input[type="text"],
.sga-temo-fond input[type="email"],
.sga-temo-fond input[type="tel"],
.sga-temo-fond textarea {
  background-color: #fff !important;
  color: #1d1a16 !important;
  -webkit-text-fill-color: #1d1a16;
}
.sga-temo-fond .sga-temo-option { background-color: #fff !important; }
.sga-temo-fond .sga-temo-option:has(input:checked) { background-color: #f2ede6 !important; }
/* Bouton principal : fond foncé, texte blanc */
.sga-temo .sga-temo-bouton,
.sga-temo-bandeau .sga-temo-bouton,
.sga-temo-fond .sga-temo-bouton {
  background-color: #1d1a16 !important;
  border: 1px solid #1d1a16 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}
.sga-temo .sga-temo-bouton:hover,
.sga-temo-bandeau .sga-temo-bouton:hover,
.sga-temo-fond .sga-temo-bouton:hover,
.sga-temo .sga-temo-bouton:focus,
.sga-temo-bandeau .sga-temo-bouton:focus,
.sga-temo-fond .sga-temo-bouton:focus {
  background-color: #3a342c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}
/* Boutons secondaires (Retour, Choisir des fichiers, Fermer) : fond clair, texte foncé */
.sga-temo-fond .sga-temo-bouton.sga-temo-bouton-second,
.sga-temo-fond .sga-temo-fermer {
  background-color: #fff !important;
  border: 1px solid #1d1a16 !important;
  color: #1d1a16 !important;
  -webkit-text-fill-color: #1d1a16;
}
.sga-temo-fond .sga-temo-bouton.sga-temo-bouton-second:hover,
.sga-temo-fond .sga-temo-bouton.sga-temo-bouton-second:focus,
.sga-temo-fond .sga-temo-fermer:hover,
.sga-temo-fond .sga-temo-fermer:focus {
  background-color: #e9e2d7 !important;
  color: #1d1a16 !important;
  -webkit-text-fill-color: #1d1a16;
}
.sga-temo-fond .sga-temo-fichiers-liste button {
  background: none !important;
  color: #a3221a !important;
  -webkit-text-fill-color: #a3221a;
}
/* Lien sous les tableaux : petite étiquette autonome, lisible sur tout fond d'article */
.sga-temo-tableau-lien {
  align-items: center;
  background-color: #f2ede6 !important;
  border: 1px solid #d8cfc2 !important;
  border-radius: 2px;
  color: #1d1a16 !important;
  -webkit-text-fill-color: #1d1a16;
  display: inline-flex;
  font-size: 14px;
  min-height: 44px;
  padding: .55em 1em;
  text-decoration: none !important;
}
.sga-temo-tableau-lien:hover,
.sga-temo-tableau-lien:focus {
  background-color: #e9e2d7 !important;
  color: #1d1a16 !important;
  -webkit-text-fill-color: #1d1a16;
}
.sga-temo-tableau-lien[lang="ja"] { font-size: 16px; }
/* Les styles des titres d'article (majuscules, espacement) ne s'appliquent pas au module */
.sga-temo .sga-temo-encadre-titre,
.sga-temo-bandeau .sga-temo-bandeau-texte,
.sga-temo-fond h2,
.sga-temo-fond h3:not(.sga-temo-recap h3),
.sga-temo-fond legend,
.sga-temo-fond label {
  letter-spacing: normal !important;
  text-transform: none !important;
}
