/**
 * Salary Calculator Plugin — CSS v3.0
 * Compact design — tailles de texte réduites sur tout le calculateur
 */

/* ── Variables ───────────────────────────────────────────── */
.sc-calculator {
  --sc-primary:    #0052CC;
  --sc-primary-dk: #003D99;
  --sc-accent:     #00875A;
  --sc-accent-lt:  #E3FCEF;
  --sc-warning:    #FF8B00;
  --sc-bg:         #F4F5F7;
  --sc-surface:    #FFFFFF;
  --sc-border:     #DFE1E6;
  --sc-text:       #172B4D;
  --sc-muted:      #5E6C84;
  --sc-radius:     10px;
  --sc-shadow:     0 2px 12px rgba(0,0,0,0.08);
  --sc-transition: all 0.2s cubic-bezier(0.4,0,0.2,1);
}

/* ── Wrapper principal ───────────────────────────────────── */
.sc-calculator {
  background: var(--sc-surface);
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0,82,204,0.12), 0 2px 8px rgba(0,0,0,0.06);
  overflow: hidden;
  font-family: 'DM Sans', 'Segoe UI', sans-serif;
  font-size: 0.875rem; /* base réduite */
  max-width: 900px;
  margin: 0 auto;
}

/* ── Header ──────────────────────────────────────────────── */
.sc-header {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: linear-gradient(135deg, #0047AB 0%, #0065CC 100%);
  padding: 1rem 1.5rem;     /* ↓ était 1.5rem 2rem */
  color: #fff;
}
.sc-header__icon {
  width: 38px;             /* ↓ était 48px */
  height: 38px;
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;       /* ↓ était 1.5rem */
  font-weight: 800;
  flex-shrink: 0;
  border: 1px solid rgba(255,255,255,0.2);
}
.sc-header__title {
  font-family: 'Sora', 'Segoe UI', sans-serif;
  font-size: 1rem;         /* ↓ était 1.25rem */
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.2rem;
  line-height: 1.2;
}
.sc-header__subtitle {
  font-size: 0.72rem;      /* ↓ était 0.8rem */
  color: rgba(255,255,255,0.7);
  margin: 0;
  line-height: 1;
}

/* ── Tabs ────────────────────────────────────────────────── */
.sc-tabs {
  display: flex;
  background: var(--sc-bg);
  border-bottom: 1px solid var(--sc-border);
  padding: 0 1rem;
}
.sc-tab {
  flex: 1;
  padding: 0.625rem 1rem;  /* ↓ était 0.875rem 1.5rem */
  font-family: inherit;
  font-size: 0.8rem;       /* ↓ était 0.9rem */
  font-weight: 600;
  color: var(--sc-muted);
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: var(--sc-transition);
  text-align: center;
}
.sc-tab:hover { color: var(--sc-primary); }
.sc-tab--active {
  color: var(--sc-primary);
  border-bottom-color: var(--sc-primary);
  background: var(--sc-surface);
}

/* ── Formulaire ──────────────────────────────────────────── */
.sc-form {
  padding: 1.25rem 1.5rem; /* ↓ était 1.75rem 2rem */
  background: var(--sc-bg);
  border-bottom: 1px solid var(--sc-border);
}
.sc-form__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 1rem;               /* ↓ était 1.25rem */
  align-items: start;
}

.sc-label {
  display: flex;
  align-items: center;
  margin-bottom: 0.375rem; /* ↓ était 0.5rem */
}
.sc-label__text {
  font-size: 0.7rem;       /* ↓ était 0.8rem */
  font-weight: 700;
  color: var(--sc-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Input numérique — élément central, un peu plus grand pour la lisibilité */
.sc-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.sc-input {
  width: 100%;
  border: 2px solid var(--sc-border);
  border-radius: 8px;
  background: var(--sc-surface);
  font-family: 'Sora', sans-serif;
  font-size: 1.1rem;       /* ↓ était 1.25rem */
  font-weight: 700;
  color: var(--sc-text);
  padding: 0.6rem 2.25rem 0.6rem 0.875rem; /* ↓ était 0.75rem */
  transition: var(--sc-transition);
  outline: none;
  -moz-appearance: textfield;
}
.sc-input::-webkit-outer-spin-button,
.sc-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.sc-input:focus {
  border-color: var(--sc-primary);
  box-shadow: 0 0 0 3px rgba(0,82,204,0.12);
}
.sc-input::placeholder { color: #B0BEC5; font-weight: 400; }
.sc-input__suffix {
  position: absolute;
  right: 0.75rem;
  font-size: 0.95rem;      /* ↓ était 1.1rem */
  font-weight: 700;
  color: var(--sc-muted);
  pointer-events: none;
}

/* Radio groups */
.sc-radio-group {
  display: flex;
  gap: 0.375rem;           /* ↓ était 0.5rem */
  flex-wrap: wrap;
}
.sc-radio {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.45rem 0.6rem; /* ↓ était 0.625rem 0.75rem */
  border: 2px solid var(--sc-border);
  border-radius: 7px;
  cursor: pointer;
  background: var(--sc-surface);
  transition: var(--sc-transition);
  min-width: 80px;         /* ↓ était 100px */
}
.sc-radio input[type="radio"] { display: none; }
.sc-radio:hover { border-color: var(--sc-primary); }
.sc-radio--checked, .sc-radio:has(input:checked) {
  border-color: var(--sc-primary);
  background: #EEF5FF;
}
.sc-radio__label { line-height: 1.2; }
.sc-radio__title { display: block; font-size: 0.78rem; font-weight: 600; color: var(--sc-text); } /* ↓ était 0.875rem */
.sc-radio__sub   { display: block; font-size: 0.65rem; color: var(--sc-muted); }

/* Bouton calculer (mobile) */
.sc-btn-calculate {
  display: none;
  width: 100%;
  margin-top: 0.875rem;
  padding: 0.75rem;        /* ↓ était 0.875rem */
  background: var(--sc-primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: inherit;
  font-size: 0.9rem;       /* ↓ était 1rem */
  font-weight: 700;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: var(--sc-transition);
}
.sc-btn-calculate:hover { background: var(--sc-primary-dk); }

/* ── Loader ──────────────────────────────────────────────── */
.sc-loader {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem;
  color: var(--sc-muted);
  font-size: 0.8rem;
}
.sc-loader.sc-visible { display: flex; }
.sc-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid var(--sc-border);
  border-top-color: var(--sc-primary);
  border-radius: 50%;
  animation: sc-spin 0.7s linear infinite;
}
@keyframes sc-spin { to { transform: rotate(360deg); } }

/* ── Résultats ───────────────────────────────────────────── */
.sc-results {
  padding: 1.1rem 1.5rem;
}

/* ── Grille 6 cartes : 3 colonnes × 2 rangées ────────────── */
.sc-results__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  margin-bottom: 0.875rem;
}

/* Carte générique */
.sc-result-card {
  background: var(--sc-bg);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius);
  padding: 0.7rem 0.875rem;
  transition: var(--sc-transition);
  position: relative;
}
.sc-result-card:hover { box-shadow: var(--sc-shadow); }

/* Icône */
.sc-result-card__icon {
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
  display: block;
}

/* Label catégorie */
.sc-result-card__label {
  font-size: 0.63rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--sc-muted);
  margin-bottom: 0.2rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-wrap: wrap;
}

/* Valeur principale */
.sc-result-card__value {
  font-family: 'Sora', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--sc-primary);
  line-height: 1.1;
  margin-bottom: 0.15rem;
}

/* Sous-label */
.sc-result-card__sub {
  font-size: 0.62rem;
  color: var(--sc-muted);
  line-height: 1.3;
}

/* ── Carte Brut ──────────────────────────────────────────── */
.sc-result-card--brut {
  border-left: 3px solid var(--sc-border);
}
.sc-result-card--brut .sc-result-card__value { color: var(--sc-text); }

/* ── Carte Net (avant impôt) ─────────────────────────────── */
.sc-result-card--net {
  border-left: 3px solid var(--sc-primary);
}
.sc-result-card--net .sc-result-card__value { color: var(--sc-primary); }

/* ── Carte PAS (prélèvement source) ─────────────────────── */
.sc-result-card--pas {
  border-left: 3px solid var(--sc-warning);
}
.sc-result-card--pas .sc-result-card__value--pas {
  font-family: 'Sora', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--sc-warning);
  line-height: 1.1;
  margin-bottom: 0.15rem;
}

/* Badge auto-calculé */
.sc-pas-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0.1rem 0.35rem;
  border-radius: 9999px;
  text-transform: uppercase;
  vertical-align: middle;
}
.sc-pas-badge--zero {
  background: #E3FCEF;
  color: #00875A;
}
.sc-pas-badge--active {
  background: #FFF0B3;
  color: #974F0C;
}

/* ── Carte Net après impôt — proéminente ─────────────────── */
.sc-result-card--primary {
  background: linear-gradient(135deg, #005C3F 0%, #00875A 100%);
  border-color: transparent;
  color: #fff;
  grid-column: span 3;       /* pleine largeur sur les 3 colonnes */
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.9rem 1.25rem;
}
.sc-result-card--primary .sc-result-card__icon {
  font-size: 1.75rem;
  margin-bottom: 0;
  flex-shrink: 0;
}
.sc-result-card--primary .sc-result-card__label {
  color: rgba(255,255,255,0.8);
  font-size: 0.65rem;
}
.sc-result-card--primary .sc-result-card__value {
  font-size: 1.75rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 0.1rem;
}
.sc-result-card--primary .sc-result-card__sub {
  color: rgba(255,255,255,0.7);
  font-size: 0.63rem;
}

/* ── Graphique ───────────────────────────────────────────── */
.sc-chart-section {
  margin-bottom: 1rem;     /* ↓ était 1.5rem */
  padding: 1rem 1.25rem;   /* ↓ était 1.25rem 1.5rem */
  background: var(--sc-bg);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius);
}
.sc-chart-title {
  font-size: 0.68rem;      /* ↓ était 0.78rem */
  font-weight: 700;
  color: var(--sc-muted);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 0.875rem; /* ↓ était 1.25rem */
}
.sc-chart-wrap {
  display: flex;
  align-items: center;
  gap: 1.5rem;             /* ↓ était 2rem */
  flex-wrap: wrap;
}
/* Canvas : taille légèrement réduite */
.sc-chart-canvas-wrap {
  position: relative;
  width:  170px;           /* ↓ était 200px */
  height: 170px;
  flex-shrink: 0;
}
.sc-chart-canvas-wrap canvas {
  display: block;
  width:  170px !important;
  height: 170px !important;
}
.sc-chart-legend {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;           /* ↓ était 0.5rem */
  flex: 1;
  min-width: 160px;
}
.sc-legend-item {
  display: grid;
  grid-template-columns: 12px 1fr auto auto;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.73rem;      /* ↓ était 0.8rem */
  padding: 0.375rem 0.625rem; /* ↓ était 0.5rem 0.75rem */
  border-radius: 6px;
  background: var(--sc-surface);
  border: 1px solid var(--sc-border);
  transition: var(--sc-transition);
}
.sc-legend-item:hover {
  border-color: var(--sc-primary);
  box-shadow: 0 2px 6px rgba(0,82,204,0.08);
}
.sc-legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}
.sc-legend-label { color: var(--sc-muted); font-weight: 500; }
.sc-legend-pct   { font-weight: 700; color: var(--sc-muted); font-size: 0.68rem; text-align: right; }
.sc-legend-value { font-weight: 800; color: var(--sc-text); font-family: 'Sora', sans-serif; font-size: 0.78rem; text-align: right; }

@media (max-width: 640px) {
  .sc-chart-wrap        { flex-direction: column; align-items: stretch; }
  .sc-chart-canvas-wrap { margin: 0 auto; }
  .sc-legend-pct        { display: none; }
  .sc-legend-item       { grid-template-columns: 12px 1fr auto; }
}

/* ── Tableau détaillé ────────────────────────────────────── */
.sc-details { margin-bottom: 0.875rem; }
.sc-details__toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.78rem;      /* ↓ était 0.875rem */
  font-weight: 600;
  color: var(--sc-primary);
  padding: 0.6rem 0.875rem;/* ↓ était 0.75rem */
  background: var(--sc-bg);
  border-radius: 7px;
  list-style: none;
  border: 1px solid var(--sc-border);
  transition: var(--sc-transition);
}
.sc-details__toggle::-webkit-details-marker { display: none; }
.sc-details__toggle:hover { background: #EEF5FF; }
details[open] .sc-details__toggle svg { transform: rotate(180deg); }

.sc-cot-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;      /* ↓ était 0.82rem */
  margin-top: 0.625rem;
}
.sc-cot-table th {
  padding: 0.4rem 0.625rem;/* ↓ était 0.5rem 0.75rem */
  background: #F0F4FF;
  color: var(--sc-muted);
  font-weight: 700;
  text-align: left;
  font-size: 0.68rem;      /* ↓ était 0.75rem */
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sc-cot-table td {
  padding: 0.4rem 0.625rem;
  border-bottom: 1px solid var(--sc-border);
  color: var(--sc-muted);
}
.sc-cot-table tbody tr:last-child td { border-bottom: none; }
.sc-cot-table tfoot td {
  padding: 0.5rem 0.625rem;
  background: var(--sc-accent-lt);
  color: var(--sc-accent);
  font-weight: 700;
  border-top: 2px solid var(--sc-accent);
}

/* ── Notice ──────────────────────────────────────────────── */
.sc-notice {
  font-size: 0.65rem;      /* ↓ était 0.72rem */
  color: #B0BEC5;
  margin-top: 0.875rem;
  line-height: 1.5;
}

/* ── Erreur ──────────────────────────────────────────────── */
.sc-error {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #FFF0EE;
  border: 1px solid #FFBDAD;
  border-radius: 7px;
  margin: 0.875rem 1.5rem;
  font-size: 0.8rem;
  color: #BF2600;
}

/* ── Admin CSS ───────────────────────────────────────────── */
.sc-admin .sc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.sc-admin .sc-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1.5rem;
}
.sc-admin .sc-card--full { grid-column: 1 / -1; }
.sc-stat-grid { display: flex; gap: 1.5rem; }
.sc-stat { text-align: center; flex: 1; }
.sc-stat__value { font-size: 2rem; font-weight: 800; color: #0052CC; }
.sc-stat__label { font-size: 0.72rem; color: #666; }

/* ── Animations ──────────────────────────────────────────── */
@keyframes sc-result-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.sc-result-card { animation: sc-result-in 0.25s ease both; }
.sc-result-card:nth-child(1) { animation-delay: 0.04s; }
.sc-result-card:nth-child(2) { animation-delay: 0.08s; }
.sc-result-card:nth-child(3) { animation-delay: 0.12s; }
.sc-result-card:nth-child(4) { animation-delay: 0.16s; }

/* ── Responsive base ─────────────────────────────────────── */
@media (max-width: 768px) {
  .sc-form__grid { grid-template-columns: 1fr; }
  .sc-btn-calculate { display: flex; }
  /* Grille résultats : 2 colonnes sur tablette */
  .sc-results__grid { grid-template-columns: repeat(2, 1fr); }
  /* Carte primaire reste pleine largeur */
  .sc-result-card--primary { grid-column: span 2; }
  .sc-result-card--primary .sc-result-card__value { font-size: 1.5rem; }
  .sc-chart-wrap { flex-direction: column; }
  .sc-header { padding: 0.875rem 1.25rem; }
  .sc-form, .sc-results { padding: 1rem 1.25rem; }
  .sc-admin .sc-grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  /* Grille résultats : 1 colonne sur mobile */
  .sc-results__grid { grid-template-columns: 1fr; }
  .sc-result-card--primary {
    grid-column: span 1;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
  }
  .sc-result-card--primary .sc-result-card__value { font-size: 1.4rem; }
}

@media (max-width: 480px) {
  .sc-tabs { padding: 0; }
  .sc-tab { padding: 0.5rem; font-size: 0.75rem; }
  .sc-input { font-size: 0.95rem; }
}

/* ============================================================
   COMPOSANTS v2+ : Statuts · Options · Sliders · Extras
   ============================================================ */

/* ── Statuts (6 cartes) ──────────────────────────────────── */
.sc-field--full { grid-column: 1 / -1; }

.sc-statut-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.375rem;           /* ↓ était 0.5rem */
  margin-top: 0.875rem;
}

.sc-statut-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0.5rem 0.375rem;/* ↓ était 0.75rem 0.5rem */
  border: 2px solid var(--sc-border);
  border-radius: 8px;
  cursor: pointer;
  background: var(--sc-surface);
  transition: var(--sc-transition);
  gap: 0.2rem;
}
.sc-statut-card input[type="radio"] { display: none; }
.sc-statut-card:hover {
  border-color: var(--sc-primary);
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0,82,204,0.10);
}
.sc-statut-card--active {
  border-color: var(--sc-primary);
  background: #EEF5FF;
  box-shadow: 0 0 0 2px rgba(0,82,204,0.10);
}
.sc-statut-card__icon  { font-size: 1.1rem; line-height: 1; } /* ↓ était 1.4rem */
.sc-statut-card__title { font-size: 0.62rem; font-weight: 700; color: var(--sc-text); line-height: 1.2; } /* ↓ était 0.7rem */
.sc-statut-card__sub   {
  font-size: 0.58rem;      /* ↓ était 0.65rem */
  color: var(--sc-primary);
  font-weight: 700;
  background: var(--sc-primary-lt, #EEF5FF);
  padding: 0.1rem 0.35rem;
  border-radius: 9999px;
}

/* ── Options avancées ────────────────────────────────────── */
.sc-options-details {
  border: 1px solid var(--sc-border);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 0.75rem;
}

/* Le summary reste cliquable visuellement mais on bloque
   la fermeture avec pointer-events: none si JS a ouvert */
.sc-options-details[open] > summary {
  /* On garde la cursor pour indiquer qu'il est fixe */
  cursor: default;
  pointer-events: none;
}

.sc-options-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.875rem;/* ↓ était 0.75rem 1rem */
  font-size: 0.72rem;      /* ↓ était 0.8rem */
  font-weight: 600;
  color: var(--sc-muted);
  cursor: pointer;
  background: var(--sc-bg);
  list-style: none;
  user-select: none;
  transition: var(--sc-transition);
}
.sc-options-toggle::-webkit-details-marker { display: none; }
.sc-options-toggle:hover { color: var(--sc-primary); background: #EEF5FF; }
details[open] .sc-options-toggle {
  color: var(--sc-primary);
  border-bottom: 1px solid var(--sc-border);
}
details[open] .sc-options-toggle svg { transform: rotate(45deg); }
.sc-options-toggle svg { transition: transform 0.2s ease; flex-shrink: 0; }

.sc-options-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  padding: 1rem;
  background: var(--sc-surface);
}

/* v4 : seulement 2 champs dans options (PAS supprimé → auto) */
.sc-options-grid--two {
  grid-template-columns: 1fr 1fr;
}

.sc-option-field { display: flex; flex-direction: column; gap: 0.375rem; }

/* ── Sliders ─────────────────────────────────────────────── */
.sc-slider-wrap {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.sc-slider-min, .sc-slider-max {
  font-size: 0.62rem;      /* ↓ était 0.7rem */
  color: var(--sc-muted);
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 1.75rem;
}
.sc-slider-max { text-align: right; }

.sc-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 5px;             /* ↓ était 6px */
  border-radius: 9999px;
  background: var(--sc-border);
  outline: none;
  cursor: pointer;
  transition: background 0.2s;
}
.sc-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 17px;             /* ↓ était 20px */
  height: 17px;
  border-radius: 50%;
  background: var(--sc-primary);
  border: 2px solid #fff;
  box-shadow: 0 1px 5px rgba(0,82,204,0.30);
  cursor: pointer;
  transition: transform 0.15s ease;
}
.sc-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }
.sc-slider::-moz-range-thumb {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--sc-primary);
  border: 2px solid #fff;
  cursor: pointer;
}
.sc-slider--orange::-webkit-slider-thumb { background: var(--sc-warning, #FF8B00); }
.sc-slider--orange::-moz-range-thumb     { background: var(--sc-warning, #FF8B00); }

.sc-slider-ticks {
  display: flex;
  justify-content: space-between;
  font-size: 0.58rem;      /* ↓ était 0.62rem */
  color: var(--sc-muted);
  padding: 0 0.2rem;
  margin-top: -0.2rem;
}

.sc-label__value {
  margin-left: auto;
  font-weight: 800;
  color: var(--sc-primary);
  font-family: 'Sora', sans-serif;
  font-size: 0.8rem;       /* ↓ était 0.9rem */
}

/* ── Radios compacts (nombre de mois) ────────────────────── */
.sc-radio-group--compact { flex-wrap: nowrap; gap: 0.3rem; }
.sc-radio--sm { padding: 0.35rem 0.4rem; min-width: unset; flex: 1; }
.sc-radio--sm .sc-radio__title { font-size: 0.68rem; } /* ↓ était 0.75rem */

/* ── Résultats extras (ligne basse) ──────────────────────── */
/* Grille auto-fill : 3 cartes si prime cachée, 4 si prime visible.
   auto-fill + minmax évite le layout cassé quand la 4e carte apparaît. */
.sc-results__extra {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.625rem;
  margin-bottom: 1rem;
}
.sc-extra-card {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.625rem 0.75rem;/* ↓ était 0.875rem */
  background: var(--sc-bg);
  border: 1px solid var(--sc-border);
  border-radius: 8px;
}
.sc-extra-card__label {
  font-size: 0.65rem;      /* ↓ était 0.72rem */
  color: var(--sc-muted);
  font-weight: 500;
}
.sc-extra-card__value {
  font-family: 'Sora', sans-serif;
  font-size: 0.9rem;       /* ↓ était 1.05rem */
  font-weight: 800;
  color: var(--sc-text);
}
/* Sous-label carte extra */
.sc-extra-card__sub {
  font-size: 0.6rem;
  color: var(--sc-muted);
  font-weight: 500;
  margin-top: 0.05rem;
  font-style: italic;
}

/* Carte Prime — mise en évidence accent vert */
.sc-extra-card--prime {
  border: 1px solid #B7EBD3;
  background: #F0FBF6;
}
.sc-extra-card__value--prime {
  color: var(--sc-accent);
}

/* ── Bouton partager ─────────────────────────────────────── */
.sc-share-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin: 0.625rem 0;
}
.sc-btn-share {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.875rem;/* ↓ était 0.5rem 1rem */
  background: var(--sc-bg);
  border: 1px solid var(--sc-border);
  border-radius: 7px;
  font-size: 0.72rem;      /* ↓ était 0.8rem */
  font-weight: 600;
  color: var(--sc-muted);
  cursor: pointer;
  transition: var(--sc-transition);
  font-family: inherit;
}
.sc-btn-share:hover {
  border-color: var(--sc-primary);
  color: var(--sc-primary);
  background: #EEF5FF;
}
.sc-share-confirm {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--sc-accent, #00875A);
}

/* ── Responsive nouvelles sections ──────────────────────── */
@media (max-width: 900px) {
  .sc-statut-grid         { grid-template-columns: repeat(3, 1fr); }
  .sc-options-grid        { grid-template-columns: 1fr 1fr; }
  .sc-options-grid--two   { grid-template-columns: 1fr 1fr; }
  /* .sc-results__extra géré par auto-fill — pas d'override nécessaire */
}

@media (max-width: 600px) {
  .sc-statut-grid           { grid-template-columns: repeat(2, 1fr); }
  .sc-options-grid          { grid-template-columns: 1fr; }
  .sc-options-grid--two     { grid-template-columns: 1fr; }
  /* extras : 2 cols sur mobile (minmax 130px → 2 par ligne sur écran étroit) */
  .sc-results__extra        { grid-template-columns: 1fr 1fr; }
  .sc-radio-group--compact  { flex-wrap: wrap; }
  .sc-form, .sc-results     { padding: 0.875rem 1rem; }
}

@media (max-width: 360px) {
  .sc-results__extra        { grid-template-columns: 1fr; }
}
