/* IWWB Reader Accessibility 0.3.0 — explicitly override old px sizes and
 * inline HTML styles; leave sizing of layout containers unaffected. */
:root{--iwwb-reader-scale:1}
body.iwwb-reader-layout .main-area .layout{grid-template-columns:minmax(0,1fr)!important}
body.iwwb-reader-layout .main-area .layout>.sidebar,
body.iwwb-reader-layout .main-area .layout>aside,
body.iwwb-reader-layout .main-area .layout>.widget-area{display:none!important}
body.iwwb-reader-layout .main-area .layout>:first-child{min-width:0;width:100%}

/* WordPress / legacy articles frequently contain inline font-size declarations,
 * so setting font-size on body or .entry-content alone cannot scale them. */
body.iwwb-reader-layout{font-size:calc(17px * var(--iwwb-reader-scale, 1))!important}
body.iwwb-reader-layout :is(.entry-content,.page-content,.post-content,.iwwb-studies-catalog,.iwwb-study-library,.iwwb-study-catalog),
body.iwwb-reader-layout :is(.entry-content,.page-content,.post-content,.iwwb-studies-catalog,.iwwb-study-library,.iwwb-study-catalog) :is(p,div,span,a,li,dt,dd,blockquote,td,th,label,strong,em,b,i,small,font),
body.iwwb-reader-layout :is(.article-card,.panel,.notice) :is(p,span,a,li){
  font-size:calc(17px * var(--iwwb-reader-scale, 1))!important;
  line-height:1.65!important;
}
/* Scale headings by level, not all to paragraph size. */
body.iwwb-reader-layout :is(.entry,.page,.entry-content,.page-content,.iwwb-studies-catalog) h1{font-size:clamp(30px,calc(46px * var(--iwwb-reader-scale, 1)),76px)!important;line-height:1.15!important}
body.iwwb-reader-layout :is(.entry,.page,.entry-content,.page-content,.iwwb-studies-catalog) h2{font-size:calc(30px * var(--iwwb-reader-scale, 1))!important;line-height:1.25!important}
body.iwwb-reader-layout :is(.entry,.page,.entry-content,.page-content,.iwwb-studies-catalog) h3{font-size:calc(24px * var(--iwwb-reader-scale, 1))!important;line-height:1.3!important}
body.iwwb-reader-layout :is(.entry,.page,.entry-content,.page-content,.iwwb-studies-catalog) :is(h4,h5,h6){font-size:calc(20px * var(--iwwb-reader-scale, 1))!important;line-height:1.35!important}
body.iwwb-reader-layout :is(.entry,.page) .meta{font-size:calc(12px * var(--iwwb-reader-scale, 1))!important}
/* Larger default top navigation, and scale it with the reader controls. */
body.iwwb-reader-layout :is(.site-nav, .site-header, .main-navigation, .primary-navigation) :is(a, .menu-item > a),
body.iwwb-reader-layout .elementor-nav-menu a.elementor-item {
  font-size:calc(21px * var(--iwwb-reader-scale, 1))!important;
  line-height:1.4!important;
  white-space:normal!important;
}
body.iwwb-reader-layout .site-nav ul { flex-wrap:wrap; }
body.iwwb-reader-layout .site-nav .nav-inner { min-width:0; }
@media(max-width:880px) {
  body.iwwb-reader-layout .site-nav .menu.open { flex-direction:column; }
  body.iwwb-reader-layout .site-nav a { overflow-wrap:anywhere; }
}
body.iwwb-reader-layout .entry-content a{overflow-wrap:anywhere}
body.iwwb-reader-layout :is(.entry-content,.page-content) :is(img,iframe,audio,video,embed){max-width:100%}

.iwwb-reader-controls{position:fixed;right:18px;bottom:18px;z-index:9998;display:flex;gap:5px;align-items:center;padding:8px;border:1px solid #b4c5cb;border-radius:12px;background:#fff;color:#163344;box-shadow:0 4px 18px rgba(0,0,0,.18);font:600 14px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif}
.iwwb-reader-controls .iwwb-reader-label{padding:0 7px;white-space:nowrap}
.iwwb-reader-controls button{appearance:none;border:1px solid #7c9aa5;border-radius:7px;background:#f7fafb;color:#17384a;padding:9px 11px;min-height:42px;min-width:42px;cursor:pointer;font:700 14px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif}
.iwwb-reader-controls button:hover{background:#e2f1f5}
.iwwb-reader-controls button:focus-visible{outline:3px solid #b58b45;outline-offset:2px}
.iwwb-reader-controls button:disabled{opacity:.45;cursor:not-allowed}
.iwwb-reader-controls .iwwb-reader-status-visible{font:600 12px/1.2 system-ui,sans-serif;min-width:35px;text-align:center}
@media(max-width:600px){.iwwb-reader-controls{right:8px;bottom:8px;padding:5px;gap:3px;border-radius:8px}.iwwb-reader-controls .iwwb-reader-label{display:none}.iwwb-reader-controls button{padding:8px 9px;min-width:42px;min-height:42px}body.iwwb-reader-layout .main-area .layout{display:block!important}}
@media print{.iwwb-reader-controls{display:none!important}body.iwwb-reader-layout :is(.entry-content,.page-content) :is(p,div,span,a,li,blockquote,td,th){font-size:12pt!important}}

/* v0.4: precise theme nav selector. The theme uses #primary-menu within .site-nav. */
@media(min-width:881px){
 body.iwwb-reader-layout nav.site-nav #primary-menu > li > a{
  font-size:calc(21px * var(--iwwb-reader-scale, 1))!important;
  font-weight:700!important;line-height:1.3!important;
  padding:12px clamp(6px,.75vw,13px)!important;
 }
 body.iwwb-reader-layout nav.site-nav .nav-inner{max-width:100%;gap:12px;flex-wrap:wrap;}
}
@media(max-width:880px){
 body.iwwb-reader-layout nav.site-nav #primary-menu a{
  font-size:calc(19px * var(--iwwb-reader-scale, 1))!important;
  line-height:1.4!important;
 }
}
/* Legacy weekly study intro: suppress inherited preformatted/large-spacing markup,
   keep article titles readable inside a constrained central column. */
body.iwwb-reader-layout .iwwb-library-original-intro {
 max-width:min(100%, 900px); margin-inline:auto; padding-block:0 1rem;
 font-family:system-ui,-apple-system,Segoe UI,sans-serif!important;
 text-align:left; overflow-wrap:anywhere;
}
body.iwwb-reader-layout .iwwb-library-original-intro :is(p,pre,div){
 margin-block:.55em!important; padding-block:0!important;
 white-space:normal!important; overflow-wrap:anywhere!important;
 font-family:inherit!important;line-height:1.55!important;
}
body.iwwb-reader-layout .iwwb-library-original-intro > p:has(>a) {
 text-align:left!important; margin-block:.45em!important;
}
body.iwwb-reader-layout .iwwb-library-original-intro a{
 display:inline!important; font-family:inherit!important;
 white-space:normal!important; overflow-wrap:anywhere!important;
}
body.iwwb-reader-layout .iwwb-library-original-intro hr{margin:1.25rem 0!important;}
@media(max-width:600px){
 body.iwwb-reader-layout .iwwb-library-original-intro{max-width:100%;}
}
