/* rapport_carte.css — styles de la carte de résultat Compas (BILAN-PDF-CARTE-APPLE-V1, 26/09/2026)
   Source unique pour l'affichage web (compas_chat_apple.html) et le rendu PDF WeasyPrint (bilan_v7.html).
   Variables reprises de /static/charte_clair.css — identiques, pas de redéclaration conflictuelle. */

:root {
  --fond:         #FAF8F5;
  --texte:        #1A1A1A;
  --texte-doux:   #4A4438;
  --or-texte:     #7C5E2A;
  --or-deco:      #C8A96E;
  --or-filet:     rgba(124,94,42,.30);
  --bouton-fond:  #C8A96E;
  --bouton-texte: #15100A;
  --ombre:        0 2px 14px rgba(26,26,26,.07);
  --rayon:        18px;
  --rayon-bulle:  20px;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant';
  src: url('fonts/Cormorant.ttf') format('truetype');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant';
  src: url('fonts/Cormorant-Italic.ttf') format('truetype');
  font-weight: 300 700;
  font-style: italic;
  font-display: swap;
}

.rapport-web-card {
  background: #FFFFFF;
  border-radius: var(--rayon-bulle);
  padding: 48px 52px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.04);
  color: var(--texte);
  font-family: 'Outfit', sans-serif;
  margin-top: 12px;
  margin-bottom: 24px;
}
.rapport-web-card .cover   { display: none !important; }
.rapport-web-card .statement { display: none !important; }
.rapport-web-card #pied-courant { display: none; }

.rapport-web-card .carte-header {
  border-bottom: 1px solid var(--or-deco);
  padding-bottom: 24px;
  margin-bottom: 36px;
}
.rapport-web-card .carte-kicker {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--or-texte);
  margin-bottom: 10px;
}
.rapport-web-card .carte-titre-principal {
  font-family: 'Cormorant', serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 1.15;
  color: var(--texte);
}
.rapport-web-card .carte-meta {
  font-size: 12px;
  color: #6B5840;
  margin-top: 8px;
  display: flex;
  gap: 24px;
}
.rapport-web-card .corps { all: unset; display: block; }
.rapport-web-card .bloc {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(200,169,110,0.2);
}
.rapport-web-card .bloc:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.rapport-web-card .opener .num {
  font-family: 'Cormorant', serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 0.9;
  color: var(--or-deco);
  letter-spacing: .02em;
}
.rapport-web-card .opener .kicker {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #6B5840;
  margin-top: 14px;
  margin-bottom: 7px;
}
.rapport-web-card .opener h2 {
  font-family: 'Cormorant', serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.2;
  color: var(--texte);
  margin-top: 0;
}
.rapport-web-card p,
.rapport-web-card .corps p {
  font-family: 'Outfit', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.78;
  color: #2C2C2C;
  margin-bottom: 14px;
  text-align: justify;
}
.rapport-web-card .cle {
  font-family: 'Cormorant', serif;
  font-weight: 400;
  font-style: italic;
  font-size: 20px;
  line-height: 1.4;
  color: var(--texte);
  border-left: 2px solid var(--or-deco);
  padding-left: 20px;
  margin: 24px 0 0;
}
.rapport-web-card .liste { margin: 20px 0 16px; }
.rapport-web-card .liste-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 20px;
}
.rapport-web-card .liste-num {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 9px;
  letter-spacing: .22em;
  color: var(--or-deco);
  padding-top: 4px;
  flex-shrink: 0;
  width: 20px;
}
.rapport-web-card .liste-label {
  font-family: 'Cormorant', serif;
  font-weight: 400;
  font-style: italic;
  font-size: 19px;
  line-height: 1.2;
  color: var(--texte);
  display: block;
  margin-bottom: 4px;
}
.rapport-web-card .liste-desc {
  font-family: 'Outfit', sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.7;
  color: #2C2C2C;
}
.rapport-web-card .liste-conclusion {
  font-family: 'Outfit', sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.75;
  color: #2C2C2C;
  border-top: 1px solid rgba(200,169,110,0.25);
  padding-top: 16px;
  margin-top: 4px;
}
.rapport-web-card .cloture-wrap {
  all: unset;
  display: block !important;
  background: var(--texte) !important;
  color: var(--fond) !important;
  border-radius: 16px;
  padding: 32px 36px;
  margin-top: 8px;
  width: 100%;
  box-sizing: border-box;
}
.rapport-web-card .cloture-wrap[style*="display:none"],
.rapport-web-card section[style*="display:none"] { display: none !important; }
.rapport-web-card .cloture-inner {
  border-top: 1px solid var(--or-deco) !important;
  border-bottom: 1px solid var(--or-deco) !important;
  padding: 28px 0;
}
.rapport-web-card .cloture-wrap * { color: var(--fond) !important; }
.rapport-web-card .cloture-etape {
  font-weight: 600;
  font-size: 8.5px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--or-deco) !important;
  margin-bottom: 14px;
  display: block;
}
.rapport-web-card .cloture-titre {
  font-family: 'Cormorant', serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.2;
  color: var(--fond) !important;
  margin-bottom: 16px;
  display: block;
}
.rapport-web-card .cloture-txt {
  font-weight: 300;
  font-size: 14px;
  line-height: 1.78;
  color: #E8E4DC !important;
  display: block;
}
.rapport-web-card .cloture-lien { margin-top: 22px; display: block; }
.rapport-web-card .cloture-lien a,
.rapport-web-card .cloture-lien a:visited {
  font-weight: 500;
  font-size: 13px;
  color: var(--or-deco) !important;
  text-decoration: none;
  letter-spacing: .06em;
}
.rapport-web-card .cloture-lien a:hover { color: var(--fond) !important; }
.rapport-web-card body, .rapport-web-card html { display: contents; }

@media (max-width: 560px) {
  .rapport-web-card { padding: 28px 20px; border-radius: 16px; }
  .rapport-web-card .opener .num { font-size: 40px; }
  .rapport-web-card .opener h2 { font-size: 21px; }
  .rapport-web-card .carte-titre-principal { font-size: 24px; }
}

/* ── Selawik (remplaçant libre Segoe UI, SIL OFL 1.1, Microsoft) ─────────── */
@font-face {
  font-family: 'Selawik';
  src: url('fonts/selawkl.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Selawik';
  src: url('fonts/selawksl.ttf') format('truetype');
  font-weight: 350;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Selawik';
  src: url('fonts/selawk.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Selawik';
  src: url('fonts/selawksb.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Selawik';
  src: url('fonts/selawkb.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Selawik';
  src: url('fonts/inter-400-italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Pile système identique à charte_clair_apple.css — Selawik = repli universel */
.rapport-web-card,
.rapport-web-card *:not(.sig) {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Selawik", Roboto, Helvetica, Arial, sans-serif !important;
}

/* BILAN-6-BLOCS-V1 : chips de choix de dialogue */
.chips-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 0 10px 0;
}
.chip-choice {
  background: none;
  border: 1.5px solid var(--or-deco);
  color: var(--or-texte);
  border-radius: 20px;
  padding: 6px 16px;
  font-size: .88rem;
  cursor: pointer;
  font-family: inherit;
  transition: background .15s, color .15s;
}
.chip-choice:hover, .chip-choice:focus {
  background: var(--bouton-fond);
  color: var(--bouton-texte);
  outline: none;
}
