
/* Simulateur protection sociale : feuille isolée de la charte éditoriale */
.solid-intro{max-width:900px;margin:2rem auto 1.8rem;text-align:center}
.solid-intro h1{font-size:clamp(2.7rem,6vw,5.7rem);margin:.15em 0;line-height:.98;text-wrap:balance}
.solid-intro>p:last-child{max-width:78ch;margin:auto;font-size:1.08rem}
.solid-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.solid-panel{background:var(--sheet,#fffaf0);border:1px solid var(--line,#c9bca8);border-top:5px solid var(--ink,#1a1714);padding:clamp(1rem,2.5vw,1.5rem);margin-bottom:1.25rem;min-width:0}
.solid-panel h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.2em 0 .8em}
.solid-panel h3{font-size:1.28rem;margin:1.35rem 0 .6rem}
.solid-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.solid-fields label{display:flex;flex-direction:column;gap:.36rem;font:700 .82rem/1.3 Arial,sans-serif;color:var(--ink,#1a1714)}
.solid-fields input,.solid-fields select{width:100%;min-width:0;background:#fff;border:1px solid #948677;border-radius:2px;padding:.7rem;color:#201c18;font:400 1rem Arial,sans-serif}
.solid-fields input:focus-visible,.solid-fields select:focus-visible,.solid-submit:focus-visible{outline:3px solid #8b1515;outline-offset:2px}
.solid-submit{border:0;background:var(--red,#8b1515);color:#fff;padding:.85rem 1.05rem;font:800 .85rem Arial,sans-serif;cursor:pointer}
.solid-submit:disabled{opacity:.55;cursor:progress}
.solid-small{font-size:.84rem;line-height:1.5;color:var(--muted,#675f56)}
.solid-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.solid-metric{min-width:0;border:1px solid var(--line,#c9bca8);padding:.8rem;background:#fff}
.solid-metric strong{display:block;font:800 clamp(1.2rem,2.8vw,1.9rem) Arial,sans-serif;letter-spacing:-.03em;overflow-wrap:anywhere}
.solid-metric span{display:block;font:700 .75rem/1.3 Arial,sans-serif;color:#665c54;margin-top:.25rem}
.solid-dl{margin:0}
.solid-dl>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line,#c9bca8);padding:.5rem 0;font-size:.92rem}
.solid-dl dt{min-width:0;max-width:68%}
.solid-dl dd{font-weight:700;text-align:right;margin:0;white-space:nowrap}
.solid-care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.solid-care-grid article{min-width:0;background:#fff;border-left:3px solid var(--red,#8b1515);padding:1rem}
.solid-care-grid article h3{margin-top:0}
.solid-are #solid-are-result{font:800 clamp(1.4rem,4vw,2.4rem)/1.2 Arial,sans-serif}
.solid-are #solid-are-result span{font:400 .85rem/1.5 Arial,sans-serif;display:block;margin-top:.6rem}
.solid-compare{border-left:4px solid var(--ink,#1a1714);padding:.8rem 1rem;background:#fff;font-size:.94rem}
.solid-sources{margin:2rem 0 3rem;padding-top:1.2rem;border-top:5px double var(--ink,#1a1714);font-size:.91rem}
.solid-sources li{margin:.35rem 0}
@media(max-width:960px){.solid-layout{grid-template-columns:1fr}}
@media(max-width:620px){.solid-intro{text-align:left}.solid-fields,.solid-care-grid,.solid-metrics{grid-template-columns:1fr}.solid-dl dt{max-width:65%}.solid-panel{padding:.95rem}}

/* Extensions pédagogiques */
.solid-mode{border-top-color:var(--red,#8b1515)}
.solid-mode-buttons,.solid-profiles{display:flex;gap:.55rem;flex-wrap:wrap;margin:.75rem 0}
.solid-mode-buttons button,.solid-profiles button{border:1px solid var(--ink,#1a1714);padding:.65rem .9rem;color:var(--ink,#1a1714);background:transparent;font:800 .82rem Arial,sans-serif;cursor:pointer}
.solid-mode-buttons button[aria-pressed="true"],.solid-profiles button[aria-pressed="true"]{color:#fff;background:var(--ink,#1a1714)}
.solid-mode-buttons button:focus-visible,.solid-profiles button:focus-visible{outline:3px solid var(--red,#8b1515);outline-offset:3px}
.solid-profiles[hidden]{display:none}
.solid-wage-ratio{font:800 clamp(1.35rem,3vw,2rem) Arial,sans-serif;color:var(--red,#8b1515)}
.solid-wage-track{display:flex;width:100%;height:28px;border:1px solid var(--line,#c9bca8);margin:1rem 0}
.solid-wage-track span{height:100%;display:block;min-width:0}
.solid-wage-track .part-net{background:#4d7367}
.solid-wage-track .part-employee{background:#b68a4c}
.solid-wage-track .part-employer{background:#8b1515}
.solid-stat-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.solid-stop-fields{max-width:650px;margin:1rem 0}
.solid-illness #solid-stop-result{max-width:650px}
@media(max-width:950px){.solid-stat-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.solid-stat-metrics{grid-template-columns:1fr}}

/* Soins et confidentialité */
.solid-privacy{margin:1rem 0 1.5rem;border:1px solid #6b8d78;border-left:6px solid #4e735d;background:#eff5ef;color:#1c2f24;padding:1rem 1.2rem}
.solid-privacy strong{font:800 1rem/1.4 Arial,sans-serif}.solid-privacy p{font:.85rem/1.55 Arial,sans-serif}
.solid-ald-controls{margin:1rem 0;padding:1rem;border:1px solid var(--line,#c9bca8);background:#fff}
.solid-ald-controls[hidden]{display:none}
.solid-care-table{overflow-x:auto;margin:1rem 0}
.solid-care-table table{border-collapse:collapse;width:100%;min-width:630px;font:.88rem/1.5 Arial,sans-serif}
.solid-care-table th,.solid-care-table td{border-bottom:1px solid var(--line,#c9bca8);padding:.55rem .45rem;text-align:right}
.solid-care-table th:first-child,.solid-care-table td:first-child{text-align:left}
.solid-care-table th{background:#f3eadb}.solid-care-table tfoot td{border-top:3px solid var(--ink,#1a1714);font-weight:800}
.solid-profiles button[aria-pressed=true]{background:var(--ink,#1a1714);color:white}
.solid-dashboard-chart{display:grid;gap:.8rem;margin:1rem 0}
.solid-chart-item p{display:flex;justify-content:space-between;margin:0 0 .3rem;font:700 .82rem/1.4 Arial,sans-serif}
.solid-chart-track{height:17px;background:#e1d8c9}
.solid-chart-track span{display:block;height:100%;background:#8b1515}
.solid-chart-track .solid-chart-secu{background:#517a65}

/* Pédagogie des comptes nationaux - chiffres observés, distincts du simulateur individuel */
.solid-collective{border-top-color:var(--ink,#1a1714)}
.solid-collective-controls{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin:1rem 0}
.solid-collective-controls label{display:flex;align-items:center;gap:.6rem;font:700 .82rem Arial,sans-serif}
.solid-collective-controls select{background:#fff;border:1px solid #948677;padding:.6rem;font:400 1rem Arial,sans-serif}
.solid-national-bars{display:grid;gap:.85rem;margin:1rem 0 1.7rem}
.solid-national-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font:.86rem/1.45 Arial,sans-serif}
.solid-national-row-top span{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.solid-national-track{height:14px;margin-top:.3rem;background:#e7e0d6;border:1px solid var(--line,#c9bca8)}
.solid-national-track span{height:100%;display:block;background:#49765c}
.solid-national-row:nth-child(even) .solid-national-track span{background:#7b6e5a}
.solid-fact{border-bottom:1px solid var(--line,#c9bca8);padding:.7rem .3rem}
.solid-fact summary{cursor:pointer;font-weight:750;font-family:Arial,sans-serif}
.solid-fact summary:focus-visible,.solid-collective-controls select:focus-visible{outline:3px solid var(--red,#8b1515);outline-offset:2px}
.solid-fact p{max-width:95ch;line-height:1.55}
@media(max-width:580px){.solid-national-row-top{flex-direction:column;align-items:flex-start;gap:.12rem}.solid-national-row-top span{white-space:normal;text-align:left}}

/* Résultat principal : les deux colonnes comparables */
.solid-balance{border-top-color:var(--red,#8b1515);margin-top:1.2rem}
.solid-balance>h2{font-size:clamp(1.8rem,4vw,3.3rem)}
.solid-balance-period{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:1.2rem 0}
.solid-balance-period label{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font:700 .85rem Arial,sans-serif}
.solid-balance-period select{font:400 1rem Arial,sans-serif;padding:.65rem;border:1px solid #948677;background:#fff}
.solid-balance-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.solid-balance-metrics .solid-metric small{display:block;font:400 .72rem/1.4 Arial,sans-serif;color:#564e45;margin-top:.5rem}
.solid-balance-check{display:flex;align-items:flex-start;gap:.65rem;margin:1.1rem 0;font:.9rem/1.5 Arial,sans-serif}
.solid-balance-check input{width:1.15rem;height:1.15rem;accent-color:var(--red,#8b1515);flex-shrink:0}
.solid-benefits-fields{margin-top:.8rem}
@media(max-width:950px){.solid-balance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.solid-balance-metrics{grid-template-columns:1fr}}

.solid-balance #solid-balance-run{margin:.2rem 0 1rem}

/* Exploration des proches : part théorique du financement et prestations concrètes */
.solid-family-extension{border:1px solid #b2bea8;background:#f5f8f3;padding:1rem;margin:1.3rem 0}
.solid-family-toggle{display:flex;align-items:flex-start;gap:.75rem;font:600 1rem/1.5 Arial,sans-serif;cursor:pointer}
.solid-family-toggle input,.solid-family-checkbox input{accent-color:#4d765f;width:1.2rem;height:1.2rem;flex:none}
.solid-family-checkbox{display:flex;align-items:center;gap:.5rem;font:600 .85rem/1.35 Arial,sans-serif}
#solid-family-panel{margin-top:1rem}
#solid-family-panel[hidden],#solid-family-dependence-panel[hidden],#solid-family-social-panel[hidden]{display:none}
#solid-family-dependence-panel,#solid-family-social-panel{border-top:1px solid #b2bea8;margin-top:1rem;padding-top:.8rem}
#solid-family-panel .solid-fields{margin:.75rem 0}

/* Repères nationaux de soins et simulation d'aide au logement sans présomption de droits */
.solid-health-benchmark,.solid-housing-guide{border-left:4px solid #517a65;background:#f2f5f1;padding:1rem;margin:1rem 0;font-size:.9rem;line-height:1.55}
.solid-health-benchmark p,.solid-housing-guide p{margin:.6rem 0}
.solid-housing-guide button{padding:.65rem .8rem;background:#fff;border:1px solid #517a65;color:#213b2a;margin:.5rem .5rem .4rem 0;cursor:pointer}
.solid-housing-guide button:focus-visible{outline:3px solid #9b2424;outline-offset:2px}

/* Explications des notions, accessibles au clavier et au toucher */
.solid-family-toggle-row{display:flex;align-items:flex-start;gap:.6rem;flex-wrap:wrap}
.solid-family-toggle-row .solid-family-toggle{flex:1 1 240px}
.solid-term-help{position:relative;max-width:100%;flex:0 0 auto}
.solid-term-help summary{cursor:pointer;list-style:none;font:750 .9rem Arial,sans-serif;border:2px solid #517a65;border-radius:50%;min-width:2rem;min-height:2rem;display:grid;place-items:center;color:#284a38;background:#fff}
.solid-term-help summary::-webkit-details-marker{display:none}
.solid-term-help summary:focus-visible{outline:3px solid #8b1515;outline-offset:3px}
.solid-term-content{width:min(550px,90vw);max-width:calc(100vw - 2.5rem);border:1px solid #517a65;background:white;color:#1a2520;padding:1rem;margin:.6rem 0;font:.9rem/1.55 Arial,sans-serif}
.solid-term-content p{margin:.65rem 0}
.solid-term-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.solid-family-example-button{background:#fff;border:1px solid #517a65;padding:.6rem;margin:.5rem .5rem .5rem 0;cursor:pointer}
.solid-family-example-button:focus-visible{outline:3px solid #8b1515;outline-offset:2px}
.solid-are-opened{border-top:1px solid var(--line,#c9bca8);border-bottom:1px solid var(--line,#c9bca8);margin:1.1rem 0;padding:.9rem 0}
.solid-are-opened-panel{padding:.75rem;background:#f6f8f4}
#solid-are-opened-panel[hidden]{display:none}

/* Moyennes réellement retenues dans le comparateur et postes non cumulés */
.solid-assumptions{background:#f6f8f5;border:1px solid #9faf9c;padding:1rem;margin:1rem 0}
.solid-assumptions h3{margin:.1rem 0 .65rem}
.solid-assumptions .solid-fields{margin:1rem 0}
.solid-assumptions-status{font-weight:600}
.solid-received-breakdown{border-top:1px solid #bfc8bd;margin:.8rem 0 0}
.solid-breakdown-line{display:flex;justify-content:space-between;gap:1.2rem;padding:.55rem .1rem;border-bottom:1px solid #d6dcd2;font:.82rem/1.45 Arial,sans-serif}
.solid-breakdown-line strong{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:520px){.solid-breakdown-line{flex-wrap:wrap}.solid-breakdown-line strong{margin-left:auto}}

/* Les six risques, sous-postes et recettes publiques DREES 2024 */
.solid-national-overview{margin:1.3rem 0;padding:1rem;border:1px solid var(--line,#c9bca8);background:#f7f9f6}
.solid-national-risk-list{display:grid;gap:.4rem;margin:1rem 0}
.solid-national-risk{background:#fff;border:1px solid var(--line,#c9bca8)}
.solid-national-risk summary{cursor:pointer;display:grid;grid-template-columns:1.5fr .75fr 1fr 1fr;gap:.6rem;align-items:center;padding:.8rem;font:.83rem/1.4 Arial,sans-serif}
.solid-national-risk summary:hover{background:#f1f5ee}
.solid-national-risk summary:focus-visible{outline:3px solid #517a65;outline-offset:2px}
.solid-national-risk-name{font-weight:800}
.solid-national-risk-billions,.solid-national-risk-per-resident,.solid-national-risk-ratio{font-variant-numeric:tabular-nums}
.solid-national-risk-details{border-top:1px solid var(--line,#c9bca8);padding:.65rem 1rem;font:.88rem/1.55 Arial,sans-serif}
.solid-national-risk-details li{margin:.25rem 0}
.solid-national-salary-row{border-bottom:1px solid #c4cfc1;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:.6rem;padding:.75rem 0;font:.83rem/1.4 Arial,sans-serif}
.solid-national-salary-row span,.solid-national-salary-row strong{font-variant-numeric:tabular-nums}
.solid-national-bridge{margin:1rem 0;padding:.85rem 1rem;border-left:4px solid #547961;background:#f5f8f3;font:.9rem/1.55 Arial,sans-serif}
@media(max-width:850px){.solid-national-risk summary,.solid-national-salary-row{grid-template-columns:1fr 1fr}.solid-national-risk summary>*:first-child,.solid-national-salary-row>*:first-child{grid-column:1/-1}}
@media(max-width:460px){.solid-national-risk summary,.solid-national-salary-row{grid-template-columns:1fr}}

/* Perspective : retraite et facturation hypothétique de services publics */
.solid-debate{border-top-color:#8b1515;background:#fff5e7}
.solid-debate h2{max-width:24ch}
.solid-retirement,.solid-services{margin:1rem 0}
.solid-retirement{border-top-color:#4d7367}
.solid-services{border-top-color:#8b1515}
.solid-ret-metrics{margin:1.1rem 0}
.solid-ret-metrics .solid-metric small{display:block;font:.76rem/1.5 Arial,sans-serif;color:#625c56;margin-top:.3rem}
.solid-service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.solid-service-card{background:#fff;padding:1rem;border:1px solid #c9bca8;min-width:0}
.solid-service-card h3{font-size:1.2rem;margin:0 0 .7rem}
.solid-service-card p{font:.85rem/1.5 Arial,sans-serif}
.solid-service-card label{display:flex;align-items:center;gap:.65rem;justify-content:space-between;font:700 .83rem/1.4 Arial,sans-serif}
.solid-service-card input{min-width:4rem;width:5rem;font:1rem Arial,sans-serif;padding:.45rem;background:#fff;border:1px solid #948677}
.solid-service-card input:focus-visible{outline:3px solid #8b1515;outline-offset:2px}
.solid-service-card details{margin-top:.8rem;font:.8rem/1.5 Arial,sans-serif}
.solid-service-card summary{cursor:pointer;font-weight:700}
.solid-services #solid-service-totals{margin:1.2rem 0}
@media(max-width:780px){.solid-service-cards{grid-template-columns:1fr}}

.solid-service-strategy{margin:1rem 0;padding:1rem;background:#f4f8f2;border:1px solid #8ea692}
.solid-service-strategy label{display:block;font:.9rem/1.5 Arial,sans-serif}
.solid-service-strategy select{max-width:100%;width:100%;padding:.75rem;background:#fff;border:1px solid #948677;font:1rem/1.3 Arial,sans-serif;margin-top:.4rem}
.solid-service-strategy select:focus-visible{outline:3px solid #8b1515;outline-offset:2px}

/* Introduction éditoriale : citation RMC sourcée et contextualisée */
.solid-debate{padding:clamp(1rem,2.6vw,2rem);background:#fff9ed}
.solid-debate h2{max-width:24ch;font-size:clamp(1.85rem,4.3vw,3.5rem);line-height:1.07}
.solid-debate-quote{margin:1.2rem 0 1.4rem;border-left:5px solid #8b1515;background:#f5ecdf;padding:1.1rem clamp(.8rem,2vw,1.6rem)}
.solid-debate-quote blockquote{margin:0;font:700 clamp(1.13rem,2.5vw,1.7rem)/1.35 Georgia,serif;color:#271f1c;max-width:38ch}
.solid-debate-quote figcaption{margin-top:.9rem;font:400 .82rem/1.55 Arial,sans-serif;color:#51483e}
.solid-debate-standfirst{font:400 1.05rem/1.65 Georgia,serif;border-top:1px solid #c9bca8;padding-top:1rem}
.solid-debate-start{display:inline-block;font:800 .85rem/1.4 Arial,sans-serif;background:#8b1515;color:#fff;text-decoration:none;padding:.85rem 1.15rem;margin:.2rem 0 1rem}
.solid-debate-start:hover,.solid-debate-start:focus-visible{background:#241e1a;color:#fff;outline:3px solid #8b1515;outline-offset:3px}
@media(max-width:620px){.solid-debate-quote{margin-inline:0}.solid-debate-quote blockquote{font-size:1.18rem}}

/* Dépenses par fonction depuis 1995 et agents depuis 2011 */
.solid-service-history{border-top-color:#467354}
.solid-history-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.2rem 0}
.solid-history-controls label,.solid-history-staff-label{display:flex;flex-direction:column;gap:.3rem;font:700 .85rem/1.4 Arial,sans-serif}
.solid-history-controls select,.solid-history-staff-label select{background:white;width:100%;padding:.65rem;border:1px solid #948677;font:400 .95rem Arial,sans-serif}
.solid-history-chart{max-width:100%;background:#fff;border:1px solid #d3c7ba;padding:.6rem;margin:.9rem 0}
.solid-history-chart svg{width:100%;height:auto;display:block}
#solid-history-table{max-height:340px;overflow:auto}
#solid-history-table table{width:100%;border-collapse:collapse;font:.82rem/1.45 Arial,sans-serif}
#solid-history-table th,#solid-history-table td{padding:.35rem .7rem;border-bottom:1px solid #dad2c9;text-align:right}
#solid-history-table th:first-child,#solid-history-table td:first-child{text-align:left}
@media(max-width:700px){.solid-history-controls{grid-template-columns:1fr}}

/* Comparateur en première lecture : brut-net vs prestations, sans gonfler les chiffres. */
.solid-demo-deduction{display:flex;flex-direction:column;gap:.3rem;font:700 .8rem/1.4 Arial,sans-serif;max-width:300px}
.solid-demo-deduction input{background:#fff;border:1px solid #948677;padding:.65rem;font:1rem Arial,sans-serif;width:100%}
.solid-demo-deduction input:disabled{opacity:.65}
.solid-balance #solid-dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0}
.solid-balance #solid-dashboard-metrics .solid-metric:last-child{border-top:4px solid #517a65;background:#f1f7ef}
.solid-balance .solid-compare{font-weight:600;border-left-color:#517a65}
@media(max-width:750px){.solid-balance #solid-dashboard-metrics{grid-template-columns:1fr}}

/* Six fonctions sur un seul diagramme ; légende jamais uniquement par couleur */
.solid-history-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .9rem;margin:.8rem 0 .2rem}
.solid-history-key{display:flex;gap:.55rem;align-items:center;font:700 .81rem/1.45 Arial,sans-serif}
.solid-history-key-line{width:2.35rem;flex-shrink:0;border-top:4px solid;border-radius:1px}
.solid-history-legend-placeholder{align-self:center;font:.82rem Arial,sans-serif}
.solid-history-legend-placeholder p{margin:.1rem 0}
#solid-history-table{overflow:auto}
#solid-history-table table{min-width:720px}
@media(max-width:650px){.solid-history-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){.solid-history-legend{grid-template-columns:1fr}}

/* Une lecture courte ; modules accessibles uniquement si souhaités */
.solid-fold{margin:.85rem 0;border:1px solid var(--line,#c9bca8);background:#fffaf0}
.solid-fold>summary,.solid-privacy>summary{padding:.82rem 1.05rem;cursor:pointer;font:800 .92rem/1.35 Arial,sans-serif;color:#231b18;list-style:revert}
.solid-fold>summary:hover,.solid-privacy>summary:hover{background:#f0e6d6}
.solid-fold>summary:focus-visible,.solid-privacy>summary:focus-visible{outline:3px solid #8b1515;outline-offset:3px}
.solid-fold-section>.solid-panel,.solid-fold-section>.solid-sources{margin:0;border-left:none;border-right:none;border-bottom:none}
.solid-fold-mini{margin:.95rem 0}
.solid-fold-mini>div,.solid-fold-mini>p,.solid-fold-mini>h3,.solid-fold-mini>label,.solid-fold-mini>details{margin-left:1rem;margin-right:1rem}
.solid-fold-mini>div:last-child,.solid-fold-mini>p:last-child{margin-bottom:1rem}
.solid-privacy{margin:1rem 0;padding:.3rem 1rem}
.solid-privacy>summary{margin:0 -.75rem}
.solid-privacy:not([open]){padding-bottom:.3rem}
.solid-privacy[open]>strong{display:block;padding-top:.7rem}
.solid-fold-section{background:#f4ecdf}
@media(max-width:640px){.solid-fold>summary{padding:.8rem .65rem}}

/* Priorité mobile : bilan lisible en premier et chiffre clé sans défilement inutile */
.solid-balance:first-of-type{margin-top:1rem}
.solid-balance h1{font-size:clamp(1.65rem,4.6vw,3rem);line-height:1.14;margin:.25rem 0 .55rem;max-width:29ch}
.solid-balance>p:not(.solid-small){margin:.5rem 0 1rem;max-width:66ch}
.solid-balance #solid-dashboard-metrics{gap:.65rem;margin:.7rem 0}
@media(max-width:650px){.solid-balance{padding:1rem}.solid-balance h1{font-size:clamp(1.75rem,7vw,2.35rem)}.solid-balance-period{gap:.65rem}}

/* Sommaire accessible du simulateur, sans masquer le bilan principal. */
.solid-page-toc{background:var(--sheet,#fff9ed);border:1px solid var(--line,#c9bca8);border-left:4px solid var(--red,#8b1515);margin:.8rem 0 1rem;padding:clamp(.65rem,1.8vw,1rem)}
.solid-page-toc-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.15rem 1rem;flex-wrap:wrap;margin-bottom:.65rem}
.solid-page-toc-heading h2{font:900 .86rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--red,#8b1515);margin:0}
.solid-page-toc-heading p{font:.78rem/1.4 Arial,Helvetica,sans-serif;color:var(--muted,#675f56);margin:0}
.solid-page-toc-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem;margin:0;padding:0;list-style:none}
.solid-page-toc-links li{margin:0;min-width:0}
.solid-page-toc-links a{display:flex;align-items:center;gap:.45rem;min-height:2.45rem;padding:.4rem .5rem;border:1px solid #d6c8b3;background:#fffdfa;color:var(--ink,#1a1714);text-decoration:none;font:700 .77rem/1.25 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
.solid-page-toc-links a:hover,.solid-page-toc-links a:focus-visible,.solid-page-toc-links a[aria-current="location"]{border-color:var(--red,#8b1515);background:#f8ebde;color:var(--red,#8b1515)}
.solid-page-toc-links a:focus-visible{outline:3px solid var(--red,#8b1515);outline-offset:2px}
.solid-page-toc-num{color:var(--red,#8b1515);font-size:.67rem;flex-shrink:0}
body.solidarity-page main [id]{scroll-margin-top:1rem}
@media(max-width:860px){.solid-page-toc-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.solid-page-toc{padding:.65rem;margin:.6rem 0 .75rem}.solid-page-toc-heading{display:block;margin-bottom:.45rem}.solid-page-toc-heading p{margin-top:.18rem}.solid-page-toc-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.solid-page-toc-links a{padding:.3rem .45rem;min-height:2.35rem;font-size:.73rem}}
@media(max-width:350px){.solid-page-toc-links{grid-template-columns:1fr}}
html.a11y-readable .solid-page-toc,html.a11y-readable .solid-page-toc-links a{background:#fff!important;color:#101010!important;border-color:#333!important}

/* Exemple 1 700 € net : inversion officielle et choix avant/après prélèvement à la source */
.solid-net-example-label,.solid-net-tax-details label{display:flex;flex-direction:column;gap:.35rem;font:700 .83rem/1.4 Arial,sans-serif}
.solid-net-example-label input,.solid-net-tax-details input,.solid-net-tax-details select{width:100%;padding:.65rem;border:1px solid #948677;border-radius:2px;background:#fff;font:1rem Arial,sans-serif;color:#241d19}
.solid-net-tax-details{margin:.55rem 0 1rem;border-left:3px solid #bcb0a0;padding:.35rem .7rem}
.solid-net-tax-details summary{cursor:pointer;font:700 .81rem/1.4 Arial,sans-serif}
.solid-net-tax-details label{margin:.65rem 0}
.solid-net-example-label input:focus-visible,.solid-net-tax-details input:focus-visible,.solid-net-tax-details select:focus-visible{outline:3px solid #8b1515;outline-offset:2px}

/* Barèmes CAF 2026 : aides fondées sur conditions, calcul local et opt-in. */
.solid-caf-panel{border-left:4px solid #4b7361}
.solid-caf-intro{margin:1rem}
.solid-caf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1rem}
.solid-caf-card{min-width:0;border:1px solid #c6d2c6;background:#fcfffb;padding:1rem}
.solid-caf-card legend{font:800 .92rem/1.4 Arial,sans-serif;padding:0 .3rem}
.solid-caf-card label:not(.solid-caf-check){display:flex;flex-direction:column;gap:.3rem;font:.83rem/1.4 Arial,sans-serif;margin:.75rem 0}
.solid-caf-card input:not([type=checkbox]),.solid-caf-card select{border:1px solid #9ca99d;padding:.65rem;background:white;color:#212d23;width:100%;font:1rem Arial,sans-serif}
.solid-caf-check{display:flex;align-items:start;gap:.45rem;font:.8rem/1.4 Arial,sans-serif;margin:.8rem 0}
.solid-caf-check input{margin:.2rem 0 0;flex-shrink:0}
.solid-caf-figure{background:#eef5ec;border-left:3px solid #5c8262;padding:.7rem .85rem;font:800 .9rem/1.5 Arial,sans-serif}
.solid-caf-card a{overflow-wrap:anywhere}
.solid-caf-card input:focus-visible,.solid-caf-card select:focus-visible{outline:3px solid #22582d;outline-offset:2px}
@media(max-width:750px){.solid-caf-grid{grid-template-columns:1fr;margin:.65rem}.solid-caf-card{padding:.8rem}}


/* advarP – synthèse centrée sur la seule protection sociale et ses droits (2026-10-12). */
.soc-toc{display:flex;flex-wrap:wrap;gap:.45rem;padding:.8rem 0;margin:.8rem 0;border-bottom:1px solid #c9bca8}
.soc-toc a{background:#f5eee3;border:1px solid #c6b9a9;padding:.45rem .7rem;font:700 .76rem/1.25 Arial,sans-serif;text-decoration:none;color:#352721}
.soc-toc a:hover,.soc-toc a:focus-visible{border-color:#8b1515;color:#8b1515;outline-offset:2px}
.soc-hero,.soc-section{background:#fffaf3;border:1px solid #d6c9b8;padding:clamp(1rem,2.5vw,2rem);margin:1rem 0}
.soc-hero{border-top:5px solid #8b1515}
.soc-hero h1{font-size:clamp(1.85rem,4.5vw,3.3rem);line-height:1.12;max-width:25ch}
.soc-section h2{font-size:clamp(1.3rem,3vw,2rem);line-height:1.2}
.soc-form{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin:1rem 0}
.soc-form>label{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:210px;font:700 .84rem/1.4 Arial,sans-serif}
.soc-form input:not([type=checkbox]),.soc-form select{background:#fff;border:1px solid #8b7d6b;padding:.75rem;width:100%;font:1rem Arial,sans-serif;color:#241b17}
.soc-after-tax{width:100%;padding:.4rem .7rem;border-left:3px solid #b8a592}
.soc-after-tax summary{cursor:pointer;font:700 .78rem/1.4 Arial,sans-serif}
.soc-after-tax label{display:flex;flex-direction:column;gap:.25rem;margin:.6rem 0}
.soc-after-tax .soc-check{flex-direction:row;align-items:start;gap:.5rem}
.soc-after-tax .soc-check input{width:auto}
.soc-totals,.soc-rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.soc-total-card,.soc-rights-grid>div{border:1px solid #cbd6c5;background:#f5f8f2;padding:.85rem;display:flex;flex-direction:column;gap:.3rem}
.soc-total-card span,.soc-rights-grid span{font:700 .8rem/1.45 Arial,sans-serif}
.soc-total-card strong,.soc-rights-grid strong{font:800 clamp(1.35rem,3vw,2.1rem)/1.25 Arial,sans-serif;color:#285940;font-variant-numeric:tabular-nums}
.soc-total-card:nth-child(2){background:#fbf0ea;border-color:#c7ab9c}
.soc-total-card:nth-child(2) strong{color:#752a23}
.soc-breakdown-title{font:800 clamp(1.1rem,2.7vw,1.55rem)/1.3 Arial,sans-serif;margin:1.3rem 0 .6rem}
.soc-breakdown-line{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;border-bottom:1px solid #e0d5c7;padding:.55rem .2rem;font:.83rem/1.5 Arial,sans-serif}
.soc-breakdown-line strong{white-space:nowrap;font-size:.96rem;font-variant-numeric:tabular-nums}
.soc-reconcile{font:700 .83rem/1.55 Arial,sans-serif;color:#285940}
.soc-warning{color:#8b1515}
.soc-check-official{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin:.8rem 0}
.soc-check-official button{background:#8b1515;color:#fff;padding:.8rem 1rem;border:0;cursor:pointer;font:700 .83rem/1.4 Arial,sans-serif}
.soc-check-official button:disabled{opacity:.6;cursor:progress}
.soc-check-official span{font:.78rem/1.4 Arial,sans-serif}
.soc-caveat{font:.81rem/1.6 Arial,sans-serif;color:#534a42}
.soc-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:.8rem 0}
.soc-health-grid>div{border:1px solid #c9d4c7;padding:.7rem;background:#f1f5ee;display:flex;flex-direction:column;gap:.3rem}
.soc-health-grid span{font:700 .78rem/1.45 Arial,sans-serif}
.soc-health-grid strong{font:800 1.4rem Arial,sans-serif;color:#285940}
.soc-rights-grid small{font:.75rem/1.5 Arial,sans-serif}
.soc-sources summary{cursor:pointer;font-weight:700}
.soc-sources li{margin:.4rem 0;font:.86rem/1.5 Arial,sans-serif}
@media(max-width:770px){.soc-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.soc-totals,.soc-rights-grid{grid-template-columns:1fr}.soc-hero,.soc-section{padding:1rem}.soc-breakdown-line{font-size:.8rem}}
@media(max-width:360px){.soc-health-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.soc-toc a{scroll-behavior:auto}}
