.ipf-reading-figure { margin:0 0 28px; padding:clamp(16px,2.5vw,28px); background:#fff; border-radius:8px; }
.ipf-reading-figure img { display:block; width:100%; max-width:1100px; height:auto; margin-inline:auto; }
.ipf-reading-figure figcaption { margin-top:16px; color:#40516a; font-size:.9rem; }
.ipf-reading-table { max-width:100%; overflow:auto; background:#fff; border:1px solid var(--ipf-line); border-radius:8px; }
.ipf-reading-table table { border-collapse:collapse; width:100%; text-align:left; line-height:1.65; }
.ipf-reading-table caption { text-align:left; padding:20px 24px; font-weight:700; color:var(--ipf-ink); }
.ipf-reading-table th,.ipf-reading-table td { padding:18px 24px; border-top:1px solid var(--ipf-line); vertical-align:top; min-width:150px; }
.ipf-reading-table thead { background:#002355; color:#fff; }
.ipf-reading-table tbody th { width:24%; font-weight:700; }
.ipf-reading-table tbody tr:nth-child(even) { background:#f3f6fa; }
.ipf-reading-conclusion { margin-top:24px; padding:24px; background:#e8eff7; border-left:4px solid #406c99; }
.ipf-reading-conclusion h3 { margin-top:0; }
.ipf-reading-conclusion p { margin-bottom:0; max-width:95ch; }
.ipf-reading-sources { font-size:.9rem; color:#40516a; }
.ipf-reading-sources a,.ipf-reading-links a { text-decoration:underline; text-underline-offset:3px; }
.ipf-reading-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; font-weight:700; }
.ipf-reading-links a { display:inline-block; padding-block:7px; }
.ipf-orientation-controls { padding:24px; margin-bottom:24px; background:#fff; border:1px solid var(--ipf-line); border-radius:8px; }
.ipf-orientation-controls label { display:block; font-weight:700; margin-bottom:10px; }
.ipf-orientation-controls select { width:min(100%,650px); padding:12px; background:#fff; color:var(--ipf-ink); border:1px solid #63768b; border-radius:4px; font:inherit; }
.ipf-orientation-controls p { font-size:.9rem; margin-bottom:0; }
.ipf-civic-orientation [hidden] { display:none; }
.ipf-reading-table:focus-visible,.ipf-reading-links a:focus-visible,.ipf-orientation-controls select:focus-visible { outline:3px solid #406c99; outline-offset:4px; }
body.ipf-page .ipf-reading-dossier .ipf-section-heading { max-width:100%; }
body.ipf-page .ipf-home-tools .ipf-resource-card { display:flex; flex-direction:column; }
body.ipf-page .ipf-home-tools .ipf-text-link { margin-top:auto; }
@media(max-width:680px) {
  .ipf-reading-table th,.ipf-reading-table td { padding:16px; min-width:140px; }
  .ipf-reading-table caption { padding:16px; }
  .ipf-reading-conclusion,.ipf-orientation-controls { padding:20px; }
  .ipf-reading-links { flex-direction:column; gap:4px; }
}
@media print { .ipf-orientation-controls { display:none; } .ipf-civic-orientation [hidden] { display:block; } .ipf-reading-table { overflow:visible; } }
