/*!
 * BJ Simulateurs : PLCI, styles.
 * Tout est préfixé par .bj-sim[data-bj-sim="plci"] pour ne pas casser le site
 * (ni être cassé par Elementor / Hello Elementor). Charte BJ avec valeurs de repli.
 * Champs, boutons, cases et étiquettes : spécificité (0,4,1) au moins, pour passer devant
 * les réglages du kit Elementor (ex. .elementor-kit-N input:not([type=button]):not([type=submit]),
 * spécificité (0,3,1)).
 */

.bj-sim[data-bj-sim="plci"] {
  --plci-deep: var(--bj-deep, #0F2A5C);
  --plci-night: var(--bj-night, #081C42);
  --plci-ink: var(--bj-ink, #0A1124);
  --plci-ink-soft: var(--bj-ink-soft, #475569);
  --plci-cream: var(--bj-cream, #FAF7F2);
  --plci-paper: var(--bj-paper, #F5EFE5);
  --plci-copper: var(--bj-copper, #B85420);
  --plci-copper-bright: var(--bj-copper-bright, #C4621F);
  --plci-line: var(--bj-line, #E2E8F0);
  --plci-white: #FFFFFF;
  --plci-copper-ink: #9A3F12;      /* cuivre assombri pour les petits textes (contraste AA) */
  --plci-copper-tint: #FFF4EC;     /* fond cuivre très clair */
  --plci-copper-light: #F0C9A8;    /* accent clair sur fond marine (9:1) */
  --plci-field-border: #7A8599;    /* bord des champs (3,7:1 sur blanc) */
  --plci-error: #B42318;           /* rouge d'erreur commun aux trois simulateurs (6,6:1 sur blanc) */
  --plci-focus-clair: #9A3F12;     /* anneau de focus sur fond blanc ou crème (6,3:1 sur crème) */
  --plci-focus-fonce: #F0C9A8;     /* anneau de focus sur fond marine (9:1) */
  --plci-serif: "Noto Serif Display", "Noto Serif", Georgia, "Times New Roman", serif;
  --plci-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --plci-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --plci-radius: 14px;
  --plci-radius-lg: 20px;
  display: block;
  box-sizing: border-box;
  width: 100%;              /* sinon le conteneur de requêtes s'effondre dans un parent flex */
  max-width: 1180px;
  margin: 0 auto;
  color: var(--plci-ink);
  font-family: var(--plci-sans);
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  -webkit-text-size-adjust: 100%;
}

.bj-sim[data-bj-sim="plci"] *,
.bj-sim[data-bj-sim="plci"] *::before,
.bj-sim[data-bj-sim="plci"] *::after {
  box-sizing: border-box;
}

.bj-sim[data-bj-sim="plci"] [hidden] { display: none !important; }

/* Remise à zéro des éléments que le thème stylise */
.bj-sim[data-bj-sim="plci"] h2,
.bj-sim[data-bj-sim="plci"] h3,
.bj-sim[data-bj-sim="plci"] p,
.bj-sim[data-bj-sim="plci"] ul,
.bj-sim[data-bj-sim="plci"] dl,
.bj-sim[data-bj-sim="plci"] dd,
.bj-sim[data-bj-sim="plci"] fieldset,
.bj-sim[data-bj-sim="plci"] legend,
.bj-sim[data-bj-sim="plci"] form {
  margin: 0;
  padding: 0;
}
.bj-sim[data-bj-sim="plci"] p,
.bj-sim[data-bj-sim="plci"] li,
.bj-sim[data-bj-sim="plci"] dt,
.bj-sim[data-bj-sim="plci"] dd {
  font-family: var(--plci-sans);
  font-size: 15px;
  line-height: 1.55;
  color: inherit;
  letter-spacing: normal;
  text-transform: none;
}
.bj-sim[data-bj-sim="plci"] fieldset { border: 0; min-width: 0; }
.bj-sim[data-bj-sim="plci"] strong { font-weight: 700; }
/* Étiquettes : jamais en MAJUSCULES, même si le kit Elementor le demande */
.bj-sim[data-bj-sim="plci"] .plci label,
.bj-sim[data-bj-sim="plci"] .plci legend {
  text-transform: none;
  letter-spacing: normal;
  text-shadow: none;
}

/* Zone lue par les lecteurs d'écran uniquement */
.bj-sim[data-bj-sim="plci"] .plci-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---------- Cadre ---------- */
.bj-sim[data-bj-sim="plci"] .plci {
  container-type: inline-size;
  container-name: plci;
  /* Un conteneur de requêtes n'a pas de largeur propre : dans un parent qui s'ajuste à son
     contenu (flex centré, inline-block), il tomberait à 34 px. Largeur de secours : 280 px. */
  contain-intrinsic-inline-size: auto 280px;
  width: 100%;
  background: var(--plci-cream);
  border: 1px solid var(--plci-line);
  border-radius: var(--plci-radius-lg);
  padding: 22px 16px 20px;
}

.bj-sim[data-bj-sim="plci"] .plci-head { margin-bottom: 20px; max-width: 760px; }
.bj-sim[data-bj-sim="plci"] .plci-eyebrow {
  display: inline-block;
  font-family: var(--plci-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--plci-copper-ink);
  margin-bottom: 10px;
}
.bj-sim[data-bj-sim="plci"] .plci-title {
  font-family: var(--plci-serif);
  font-weight: 600;
  font-size: 27px;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: var(--plci-deep);
  margin: 0 0 10px;
  text-transform: none;
}
.bj-sim[data-bj-sim="plci"] .plci-intro { color: var(--plci-ink-soft); font-size: 16px; }

.bj-sim[data-bj-sim="plci"] .plci-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}

/* ---------- Formulaire ---------- */
.bj-sim[data-bj-sim="plci"] .plci-form {
  background: var(--plci-white);
  border: 1px solid var(--plci-line);
  border-radius: var(--plci-radius);
  padding: 4px 16px 18px;
}
.bj-sim[data-bj-sim="plci"] .plci-step {
  padding: 18px 0 20px;
  border-bottom: 1px solid var(--plci-line);
}
.bj-sim[data-bj-sim="plci"] .plci-step:last-of-type { border-bottom: 0; }
.bj-sim[data-bj-sim="plci"] .plci-step-title {
  display: flex;
  align-items: center;
  gap: 10px;
  float: left;
  width: 100%;
  margin-bottom: 14px;
  font-family: var(--plci-serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--plci-deep);
}
.bj-sim[data-bj-sim="plci"] .plci-step-title + * { clear: both; }
.bj-sim[data-bj-sim="plci"] .plci-step-num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--plci-copper);
  color: var(--plci-white);
  font-family: var(--plci-mono);
  font-size: 14px;
  font-weight: 700;
}

.bj-sim[data-bj-sim="plci"] .plci-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 16px;
}
.bj-sim[data-bj-sim="plci"] .plci-field { margin-bottom: 16px; min-width: 0; }
.bj-sim[data-bj-sim="plci"] .plci label.plci-label,
.bj-sim[data-bj-sim="plci"] .plci legend.plci-label {
  display: block;
  margin: 0 0 6px;
  padding: 0;
  font-family: var(--plci-sans);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--plci-ink);
  vertical-align: baseline;
}
.bj-sim[data-bj-sim="plci"] .plci-help {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--plci-ink-soft);
}
.bj-sim[data-bj-sim="plci"] .plci-help--strong { color: var(--plci-deep); font-weight: 600; }
.bj-sim[data-bj-sim="plci"] .plci-error {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--plci-error);
}

/* Champs texte et listes : (0,4,1) */
.bj-sim[data-bj-sim="plci"] .plci input.plci-control,
.bj-sim[data-bj-sim="plci"] .plci select.plci-control {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 50px;
  margin: 0;
  padding: 11px 14px;
  border: 1px solid var(--plci-field-border);
  border-radius: 12px;
  background-color: var(--plci-white);
  color: var(--plci-ink);
  font-family: var(--plci-sans);
  font-size: 16px; /* 16 px au moins : pas de zoom automatique sur iPhone */
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  text-transform: none;
  box-shadow: none;
  outline: none;
  transition: border-color 0.15s ease;
  -webkit-appearance: none;
  appearance: none;
}
.bj-sim[data-bj-sim="plci"] .plci select.plci-control {
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230F2A5C' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px 9px;
  text-overflow: ellipsis;
}
.bj-sim[data-bj-sim="plci"] .plci input.plci-control--mono { font-family: var(--plci-mono); font-size: 17px; letter-spacing: 0.01em; }
.bj-sim[data-bj-sim="plci"] .plci input.plci-control::placeholder { font-family: var(--plci-sans); font-size: 16px; color: #6B7487; opacity: 1; }
.bj-sim[data-bj-sim="plci"] .plci input.plci-control:hover,
.bj-sim[data-bj-sim="plci"] .plci select.plci-control:hover { border-color: var(--plci-deep); }
/* Focus : anneau cuivre foncé (6,3:1 sur crème, 6,8:1 sur blanc), visible même si le thème met outline: none */
.bj-sim[data-bj-sim="plci"] .plci input.plci-control:focus,
.bj-sim[data-bj-sim="plci"] .plci select.plci-control:focus {
  border-color: var(--plci-deep);
  outline: 3px solid var(--plci-focus-clair);
  outline-offset: 2px;
  box-shadow: none;
}
.bj-sim[data-bj-sim="plci"] .plci input.plci-control[aria-invalid="true"] { border-color: var(--plci-error); border-width: 2px; padding: 10px 13px; }
.bj-sim[data-bj-sim="plci"] .plci-input-wrap { position: relative; }
.bj-sim[data-bj-sim="plci"] .plci .plci-input-wrap input.plci-control { padding-right: 46px; }
.bj-sim[data-bj-sim="plci"] .plci .plci-input-wrap input.plci-control[aria-invalid="true"] { padding-right: 45px; }
.bj-sim[data-bj-sim="plci"] .plci-suffix {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--plci-mono);
  font-size: 15px;
  color: var(--plci-ink-soft);
  pointer-events: none;
}

/* Choix segmentés (boutons radio) */
.bj-sim[data-bj-sim="plci"] .plci-seg { margin-bottom: 16px; }
.bj-sim[data-bj-sim="plci"] .plci-seg > .plci-label { float: left; width: 100%; }
.bj-sim[data-bj-sim="plci"] .plci-seg-options {
  clear: both;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.bj-sim[data-bj-sim="plci"] .plci-seg-item { position: relative; min-width: 0; }
.bj-sim[data-bj-sim="plci"] .plci input.plci-seg-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
}
.bj-sim[data-bj-sim="plci"] .plci label.plci-seg-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  height: 100%;
  min-height: 50px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--plci-field-border);
  border-radius: 12px;
  background: var(--plci-white);
  cursor: pointer;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.bj-sim[data-bj-sim="plci"] .plci-seg-title { font-size: 15px; font-weight: 600; color: var(--plci-ink); }
.bj-sim[data-bj-sim="plci"] .plci-seg-sub { font-size: 13px; color: var(--plci-ink-soft); }
.bj-sim[data-bj-sim="plci"] .plci label.plci-seg-label:hover { border-color: var(--plci-deep); }
.bj-sim[data-bj-sim="plci"] .plci input.plci-seg-input:checked + label.plci-seg-label {
  border: 2px solid var(--plci-copper);
  padding: 9px 11px;
  background: var(--plci-copper-tint);
}
.bj-sim[data-bj-sim="plci"] .plci input.plci-seg-input:checked + label.plci-seg-label .plci-seg-title { color: var(--plci-deep); }
.bj-sim[data-bj-sim="plci"] .plci input.plci-seg-input:focus-visible + label.plci-seg-label {
  outline: 3px solid var(--plci-focus-clair);
  outline-offset: 2px;
}

/* Cases à cocher : toute l'étiquette (44 px de haut au moins) est la cible tactile */
.bj-sim[data-bj-sim="plci"] .plci-check { margin: 0 0 4px; }
.bj-sim[data-bj-sim="plci"] .plci label.plci-check-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 44px;
  margin: 0;
  padding: 10px 0;
  font-family: var(--plci-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--plci-ink);
  cursor: pointer;
}
.bj-sim[data-bj-sim="plci"] .plci input.plci-check-input {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  accent-color: var(--plci-copper);
  cursor: pointer;
  -webkit-appearance: auto;
  appearance: auto;
}
.bj-sim[data-bj-sim="plci"] .plci input.plci-check-input:focus { outline: none; }
.bj-sim[data-bj-sim="plci"] .plci input.plci-check-input:focus-visible {
  outline: 3px solid var(--plci-focus-clair);
  outline-offset: 2px;
}

/* Curseur */
.bj-sim[data-bj-sim="plci"] .plci input.plci-range {
  display: block;
  width: 100%;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  accent-color: var(--plci-copper);
  cursor: pointer;
  -webkit-appearance: auto;
  appearance: auto;
}
.bj-sim[data-bj-sim="plci"] .plci input.plci-range:focus { outline: none; }
.bj-sim[data-bj-sim="plci"] .plci input.plci-range:focus-visible {
  outline: 3px solid var(--plci-focus-clair);
  outline-offset: 2px;
}
.bj-sim[data-bj-sim="plci"] .plci-range-out { font-family: var(--plci-mono); font-weight: 700; color: var(--plci-deep); white-space: nowrap; }
.bj-sim[data-bj-sim="plci"] .plci-rdt-warn {
  margin-top: 6px;
  padding: 8px 12px;
  border: 1px solid #F1D6C2;
  border-left: 4px solid var(--plci-copper);
  border-radius: 0 10px 10px 0;
  background: var(--plci-copper-tint);
  font-size: 14px;
  font-weight: 600;
  color: var(--plci-copper-ink);
}

/* ---------- Boutons : (0,4,1), 48 px de haut ---------- */
.bj-sim[data-bj-sim="plci"] .plci button.plci-btn,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 48px;
  margin: 0;
  padding: 12px 22px;
  border: 2px solid transparent;
  border-radius: 12px;
  font-family: var(--plci-sans);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  text-shadow: none;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.bj-sim[data-bj-sim="plci"] .plci button.plci-btn--block { display: flex; width: 100%; margin-top: 8px; }
.bj-sim[data-bj-sim="plci"] .plci button.plci-btn--primary,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--primary {
  background-color: var(--plci-copper);
  border-color: var(--plci-copper);
  color: var(--plci-white);
}
.bj-sim[data-bj-sim="plci"] .plci button.plci-btn--primary:hover,
.bj-sim[data-bj-sim="plci"] .plci button.plci-btn--primary:focus {
  background-color: #A3481A;
  border-color: #A3481A;
  color: var(--plci-white);
  text-decoration: none;
}
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--secondary,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--secondary:visited {
  background-color: var(--plci-cream);
  border-color: var(--plci-cream);
  color: var(--plci-deep);
}
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--secondary:hover,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--secondary:focus {
  background-color: var(--plci-white);
  border-color: var(--plci-white);
  color: var(--plci-deep);
  text-decoration: none;
}
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--ghost,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--ghost:visited {
  background-color: transparent;
  border-color: rgba(250, 247, 242, 0.6);
  color: var(--plci-cream);
}
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--ghost:hover,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn--ghost:focus {
  background-color: rgba(250, 247, 242, 0.12);
  border-color: var(--plci-cream);
  color: var(--plci-cream);
  text-decoration: none;
}
/* Focus des boutons : anneau clair sur fond marine (9:1), cuivre foncé dans le formulaire blanc (6,8:1) */
.bj-sim[data-bj-sim="plci"] .plci button.plci-btn:focus,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn:focus { outline: none; }
.bj-sim[data-bj-sim="plci"] .plci button.plci-btn:focus-visible,
.bj-sim[data-bj-sim="plci"] .plci a.plci-btn:focus-visible {
  outline: 3px solid var(--plci-focus-fonce);
  outline-offset: 2px;
}
.bj-sim[data-bj-sim="plci"] .plci-form button.plci-btn:focus-visible { outline-color: var(--plci-focus-clair); }

/* Liens dans le texte */
.bj-sim[data-bj-sim="plci"] .plci a.plci-link {
  color: var(--plci-copper-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-transform: none;
}
.bj-sim[data-bj-sim="plci"] .plci a.plci-link:focus { outline: none; }
.bj-sim[data-bj-sim="plci"] .plci a.plci-link:focus-visible { outline: 3px solid var(--plci-focus-clair); outline-offset: 2px; border-radius: 2px; }
.bj-sim[data-bj-sim="plci"] .plci a.plci-link--clair,
.bj-sim[data-bj-sim="plci"] .plci a.plci-link--clair:visited,
.bj-sim[data-bj-sim="plci"] .plci a.plci-link--clair:hover { color: var(--plci-cream); }
.bj-sim[data-bj-sim="plci"] .plci a.plci-link--clair:focus-visible { outline-color: var(--plci-focus-fonce); }

/* ---------- Résultats ---------- */
.bj-sim[data-bj-sim="plci"] .plci-results { position: relative; display: grid; gap: 16px; align-content: start; min-width: 0; }
.bj-sim[data-bj-sim="plci"] .plci-result,
.bj-sim[data-bj-sim="plci"] .plci-main { display: grid; gap: 12px; }

.bj-sim[data-bj-sim="plci"] .plci-empty {
  padding: 22px 18px;
  border: 1px dashed var(--plci-field-border);
  border-radius: var(--plci-radius);
  background: var(--plci-white);
  color: var(--plci-ink-soft);
}
.bj-sim[data-bj-sim="plci"] .plci-empty-title { font-family: var(--plci-serif); font-size: 19px; color: var(--plci-deep); margin-bottom: 4px; }

.bj-sim[data-bj-sim="plci"] .plci-hero {
  position: relative;
  overflow: hidden;
  padding: 20px 18px 18px;
  border-radius: var(--plci-radius);
  background: var(--plci-deep);
  background-image: linear-gradient(140deg, var(--plci-deep) 0%, var(--plci-night) 100%);
  color: var(--plci-cream);
}
.bj-sim[data-bj-sim="plci"] .plci-hero-label::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 10px;
  border-radius: 3px;
  background: var(--plci-copper-bright);
}
.bj-sim[data-bj-sim="plci"] .plci-hero-label {
  font-family: var(--plci-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--plci-copper-light);
}
.bj-sim[data-bj-sim="plci"] .plci-hero-value {
  margin: 6px 0 6px;
  font-family: var(--plci-serif);
  font-size: 42px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--plci-white);
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.bj-sim[data-bj-sim="plci"] .plci-hero-sub { font-size: 14px; color: rgba(250, 247, 242, 0.86); }

.bj-sim[data-bj-sim="plci"] .plci-stats {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.bj-sim[data-bj-sim="plci"] .plci-stat {
  padding: 14px 16px;
  border: 1px solid var(--plci-line);
  border-radius: var(--plci-radius);
  background: var(--plci-white);
}
.bj-sim[data-bj-sim="plci"] .plci-stat--accent { background: var(--plci-copper-tint); border-color: #F1D6C2; }
.bj-sim[data-bj-sim="plci"] .plci-stat-label { font-size: 14px; font-weight: 600; color: var(--plci-ink-soft); }
.bj-sim[data-bj-sim="plci"] .plci-stat-value {
  margin: 2px 0 4px;
  font-family: var(--plci-mono);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--plci-deep);
  font-variant-numeric: tabular-nums;
}
.bj-sim[data-bj-sim="plci"] .plci-stat--accent .plci-stat-value { color: var(--plci-copper-ink); }
.bj-sim[data-bj-sim="plci"] .plci-stat-sub { font-size: 13px; color: var(--plci-ink-soft); }

.bj-sim[data-bj-sim="plci"] .plci-line {
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--plci-white);
  border: 1px solid var(--plci-line);
  font-size: 14px;
  color: var(--plci-ink);
}
.bj-sim[data-bj-sim="plci"] .plci-note {
  padding: 12px 14px;
  border-left: 4px solid var(--plci-copper);
  border-radius: 0 12px 12px 0;
  background: var(--plci-paper);
  font-size: 14px;
  color: var(--plci-ink);
}
.bj-sim[data-bj-sim="plci"] .plci-alerts {
  list-style: none;
  display: grid;
  gap: 8px;
}
.bj-sim[data-bj-sim="plci"] .plci-alerts li {
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--plci-copper-tint);
  border: 1px solid #F1D6C2;
  font-size: 14px;
  color: var(--plci-ink);
}
.bj-sim[data-bj-sim="plci"] .plci-alert {
  padding: 16px;
  border-radius: var(--plci-radius);
  border: 1px solid #F1D6C2;
  background: var(--plci-copper-tint);
  display: grid;
  gap: 8px;
}
.bj-sim[data-bj-sim="plci"] .plci-alert-title { font-family: var(--plci-serif); font-size: 19px; font-weight: 600; color: var(--plci-copper-ink); }
.bj-sim[data-bj-sim="plci"] .plci-alert--error { border-color: #F4C7C3; border-left: 4px solid var(--plci-error); background: #FEF3F2; }
.bj-sim[data-bj-sim="plci"] .plci-alert--error .plci-alert-title { color: var(--plci-error); }

.bj-sim[data-bj-sim="plci"] .plci-inami {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid var(--plci-line);
  border-left: 4px solid var(--plci-deep);
  border-radius: 0 var(--plci-radius) var(--plci-radius) 0;
  background: var(--plci-white);
}
.bj-sim[data-bj-sim="plci"] .plci-inami-title { font-weight: 600; color: var(--plci-deep); }
.bj-sim[data-bj-sim="plci"] .plci-inami-montant { font-family: var(--plci-mono); white-space: nowrap; }
.bj-sim[data-bj-sim="plci"] .plci-inami-cond,
.bj-sim[data-bj-sim="plci"] .plci-inami-src { font-size: 13px; color: var(--plci-ink-soft); }

/* Repliables */
.bj-sim[data-bj-sim="plci"] .plci-disclosure {
  border: 1px solid var(--plci-line);
  border-radius: 12px;
  background: var(--plci-white);
}
.bj-sim[data-bj-sim="plci"] .plci-disclosure > summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 44px 12px 14px;
  list-style: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: var(--plci-deep);
  border-radius: 12px;
}
.bj-sim[data-bj-sim="plci"] .plci-disclosure > summary::-webkit-details-marker { display: none; }
.bj-sim[data-bj-sim="plci"] .plci-disclosure > summary::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -6px;
  border-right: 2px solid var(--plci-copper);
  border-bottom: 2px solid var(--plci-copper);
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}
.bj-sim[data-bj-sim="plci"] .plci-disclosure[open] > summary::after { transform: rotate(-135deg); margin-top: -1px; }
.bj-sim[data-bj-sim="plci"] .plci-disclosure > summary:focus { outline: none; }
.bj-sim[data-bj-sim="plci"] .plci-disclosure > summary:focus-visible { outline: 3px solid var(--plci-focus-clair); outline-offset: 2px; }
.bj-sim[data-bj-sim="plci"] .plci-disclosure-body { padding: 0 14px 14px; display: grid; gap: 10px; }
.bj-sim[data-bj-sim="plci"] .plci-form .plci-disclosure { margin-top: 4px; }

.bj-sim[data-bj-sim="plci"] .plci-bareme { list-style: none; display: grid; gap: 2px; }
.bj-sim[data-bj-sim="plci"] .plci-bareme li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--plci-line);
  font-family: var(--plci-mono);
  font-size: 14px;
}
.bj-sim[data-bj-sim="plci"] .plci-list { padding-left: 20px; display: grid; gap: 6px; }

.bj-sim[data-bj-sim="plci"] .plci-detail-list { display: grid; gap: 0; }
.bj-sim[data-bj-sim="plci"] .plci-detail-row { padding: 10px 0; border-bottom: 1px solid var(--plci-line); }
.bj-sim[data-bj-sim="plci"] .plci-detail-row:last-child { border-bottom: 0; }
.bj-sim[data-bj-sim="plci"] .plci-detail-row dt { font-size: 13px; font-weight: 700; color: var(--plci-ink-soft); text-transform: none; }
.bj-sim[data-bj-sim="plci"] .plci-detail-row dd { margin: 2px 0 0; font-size: 14px; color: var(--plci-ink); font-variant-numeric: tabular-nums; }

/* ---------- Projection (hypothèse) ---------- */
.bj-sim[data-bj-sim="plci"] .plci-proj {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 2px dashed #C9B8A6;
  border-radius: var(--plci-radius);
  background: var(--plci-paper);
}
.bj-sim[data-bj-sim="plci"] .plci-proj-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bj-sim[data-bj-sim="plci"] .plci-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 2px 10px;
  border: 1.5px solid var(--plci-copper-ink);
  border-radius: 999px;
  font-family: var(--plci-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--plci-copper-ink);
  background: var(--plci-white);
}
.bj-sim[data-bj-sim="plci"] .plci-h3 {
  margin: 0;
  font-family: var(--plci-serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--plci-deep);
  text-transform: none;
}
.bj-sim[data-bj-sim="plci"] .plci-proj-intro { font-size: 14px; color: var(--plci-ink-soft); }
.bj-sim[data-bj-sim="plci"] .plci-proj .plci-field { margin-bottom: 8px; }
.bj-sim[data-bj-sim="plci"] .plci-proj-body { display: grid; gap: 10px; }
.bj-sim[data-bj-sim="plci"] .plci-proj-hero {
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--plci-white);
  border: 1px solid #E4D8CB;
}
.bj-sim[data-bj-sim="plci"] .plci-proj-label { font-size: 14px; font-weight: 600; color: var(--plci-ink-soft); }
.bj-sim[data-bj-sim="plci"] .plci-proj-value {
  margin: 2px 0;
  font-family: var(--plci-serif);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.1;
  color: var(--plci-deep);
  font-variant-numeric: tabular-nums lining-nums;
}
.bj-sim[data-bj-sim="plci"] .plci-proj-sub { font-size: 14px; color: var(--plci-ink-soft); }
.bj-sim[data-bj-sim="plci"] .plci-detail-list--proj {
  padding: 2px 14px;
  border-radius: 12px;
  background: var(--plci-white);
  border: 1px solid #E4D8CB;
}
.bj-sim[data-bj-sim="plci"] .plci-proj-note { font-size: 13px; color: var(--plci-ink-soft); }

/* ---------- Mentions, appel à l'action, sources ---------- */
.bj-sim[data-bj-sim="plci"] .plci-calc-note { margin-top: 10px; font-size: 13px; color: var(--plci-ink-soft); }
.bj-sim[data-bj-sim="plci"] .plci-legal {
  padding: 12px 0 0;
  border-top: 1px solid var(--plci-line);
  font-size: 13px;
  color: var(--plci-ink-soft);
}
.bj-sim[data-bj-sim="plci"] .plci-cta {
  display: grid;
  gap: 12px;
  padding: 20px 18px;
  border-radius: var(--plci-radius);
  background: var(--plci-deep);
  background-image: linear-gradient(160deg, var(--plci-deep) 0%, var(--plci-night) 100%);
  color: var(--plci-cream);
}
.bj-sim[data-bj-sim="plci"] .plci-h3--light { color: var(--plci-white); }
.bj-sim[data-bj-sim="plci"] .plci-cta p { color: rgba(250, 247, 242, 0.9); font-size: 15px; }
.bj-sim[data-bj-sim="plci"] .plci-cta-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.bj-sim[data-bj-sim="plci"] .plci-cta-actions .plci-btn { width: 100%; }
.bj-sim[data-bj-sim="plci"] .plci .plci-cta-actions button.plci-btn--primary { width: 100%; font-size: 17px; }
.bj-sim[data-bj-sim="plci"] .plci .plci-cta-actions a.plci-btn { width: 100%; }
.bj-sim[data-bj-sim="plci"] .plci-cta .plci-cta-info { font-size: 14px; color: var(--plci-copper-light); }
.bj-sim[data-bj-sim="plci"] .plci-cta .plci-cta-info:empty { display: none; }
.bj-sim[data-bj-sim="plci"] .plci-cta .plci-privacy { font-size: 13px; color: rgba(250, 247, 242, 0.85); }

.bj-sim[data-bj-sim="plci"] .plci-sources {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid var(--plci-line);
  color: var(--plci-ink-soft);
}
.bj-sim[data-bj-sim="plci"] .plci-sources-title {
  margin-bottom: 6px;
  font-family: var(--plci-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--plci-ink-soft);
}
.bj-sim[data-bj-sim="plci"] .plci-sources ul { padding-left: 18px; margin-bottom: 8px; display: grid; gap: 4px; }
.bj-sim[data-bj-sim="plci"] .plci-sources li,
.bj-sim[data-bj-sim="plci"] .plci-sources p { font-size: 13px; }
.bj-sim[data-bj-sim="plci"] .plci-sources .plci-legal-mention { margin-top: 6px; color: var(--plci-ink); }

/* ---------- Écrans plus larges (requêtes de conteneur) ---------- */
@container plci (min-width: 420px) {
  .bj-sim[data-bj-sim="plci"] .plci-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bj-sim[data-bj-sim="plci"] .plci-cta-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bj-sim[data-bj-sim="plci"] .plci-cta-actions .plci-btn--primary { grid-column: 1 / -1; }
}
@container plci (min-width: 560px) {
  .bj-sim[data-bj-sim="plci"] .plci-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@container plci (min-width: 720px) {
  .bj-sim[data-bj-sim="plci"] .plci { padding: 32px 28px 26px; }
  .bj-sim[data-bj-sim="plci"] .plci-title { font-size: 34px; }
  .bj-sim[data-bj-sim="plci"] .plci-form { padding: 6px 22px 22px; }
  .bj-sim[data-bj-sim="plci"] .plci-hero { padding: 24px 24px 22px; }
  .bj-sim[data-bj-sim="plci"] .plci-hero-value { font-size: 50px; }
}
@container plci (min-width: 960px) {
  .bj-sim[data-bj-sim="plci"] .plci-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
    gap: 28px;
    align-items: start;
  }
}

/* Repli pour les navigateurs sans requêtes de conteneur */
@supports not (container-type: inline-size) {
  @media (min-width: 640px) {
    .bj-sim[data-bj-sim="plci"] .plci-row,
    .bj-sim[data-bj-sim="plci"] .plci-stats { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  }
  @media (min-width: 1024px) {
    .bj-sim[data-bj-sim="plci"] .plci-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr); gap: 28px; align-items: start; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .bj-sim[data-bj-sim="plci"] * { transition: none !important; }
}
