/* Delta-Sierra site-wide visual/readability QA contract V21.83 */
html{overflow-x:hidden}
body{overflow-x:clip}
/* Long-form pages: use the full editorial column rather than an arbitrary 78/80ch cap. */
.ds-longform-reading .ds-reading-flow-v2138>p,
.ds-longform-reading .ds-reading-flow-v2138>ul,
.ds-longform-reading .ds-reading-flow-v2138>ol,
.ds-book-continuous-v2137 main.seo-main>.seo-section p,
.ds-program-continuous-v2137 main .ds-content-section p,
.ds-economics-school-page .ds-econ-longbook p,
.ds-econ-longbook[data-v2159="true"] p,
.ds-econ-longbook[data-v2160="true"] p,
.ds-econ-longbook[data-v2161="true"] p{max-width:none!important;width:auto!important}
/* Diagrams must occupy the useful reading width. SVGs are resolution-independent. */
.audit-reader-page main figure,
.ds-longform-reading main figure,
.ds-economics-school-page main figure{max-width:100%;box-sizing:border-box}
.audit-reader-page main figure img[src$=".svg"],
.ds-longform-reading main figure img[src$=".svg"],
.ds-economics-school-page main figure img[src$=".svg"]{display:block;width:100%!important;max-width:none!important;height:auto!important;object-fit:contain!important}
.audit-reader-page main figure img:not([src$=".svg"]),
.ds-longform-reading main figure img:not([src$=".svg"]),
.ds-economics-school-page main figure img:not([src$=".svg"]){height:auto!important;object-fit:contain!important;max-width:100%!important}
/* Dense diagrams: never clip; allow a contained horizontal pan on narrow screens. */
.ds-econ-diagram-v2146,.ds-econ-diagram-v2159,.ds-econ-diagram-v2160,.ds-econ-diagram-v2161,
[class*="diagram"],figure[data-ds-diagram]{overflow:visible;box-sizing:border-box}
/* Floating TOCs/panels must remain inside the viewport. */
.ds-reading-toc-panel,.france-reading-toc,.ds-reading-toc,[class*="floating-toc"],[class*="reading-toc-panel"]{
  max-width:min(390px,calc(100vw - 32px))!important;max-height:calc(100vh - 120px)!important;
  right:max(12px,env(safe-area-inset-right))!important;box-sizing:border-box!important;overflow:auto!important
}
/* Information notice: detached from surrounding image/hero. */
.ds-information-notice,[data-ds-info-notice]{margin:1.25rem 0 1.45rem!important;clear:both}
@media(max-width:700px){
  .audit-reader-page main figure:has(img[src$=".svg"]),.ds-longform-reading main figure:has(img[src$=".svg"]){overflow-x:auto;overscroll-behavior-inline:contain}
  .audit-reader-page main figure:has(img[src$=".svg"]) img,.ds-longform-reading main figure:has(img[src$=".svg"]) img{min-width:min(760px,92vw)}
  .ds-reading-toc-panel,.france-reading-toc,.ds-reading-toc,[class*="floating-toc"],[class*="reading-toc-panel"]{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;max-height:70vh!important}
}

/* Accessibility / layout closure */
.skip-link{position:fixed;left:12px;top:8px;z-index:2147483647;padding:.65rem .9rem;border-radius:.5rem;background:#fff;color:#071018!important;font-weight:800;box-shadow:0 4px 18px rgba(0,0,0,.28);transform:translateY(-180%);transition:transform .12s ease}
.skip-link:focus{transform:translateY(0)}
figure img{box-sizing:border-box}

/* V21.87 — contrast contract for competence/category badges */
.compet-badge{color:#12375e!important;background:#eef4fb!important;border:1px solid #c7d6e6!important;border-radius:999px!important;padding:.32rem .65rem!important;display:inline-flex!important;align-items:center!important;font-weight:800!important;line-height:1.2!important;text-shadow:none!important;-webkit-text-fill-color:#12375e!important}
