/* Association FAD — WordPress additions (site.css is shared with the static site and stays unchanged) */

/* Sticky header below the WordPress toolbar for logged-in users */
.admin-bar .site-header{top:calc(32px - var(--masthead-h))}
@media (max-width:1180px){.admin-bar .site-header{top:32px}}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* WordPress screen-reader text */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Contact form spam trap (hidden from people) */
.fad-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* ---------- news posts ---------- */
.story-kicker{color:var(--leaf-ink);font-size:1rem;font-weight:700}
.story-kicker + .story-date{margin-top:.15rem}
.impact-head .story-date{margin-top:.15rem}
.story-text > :is(ul,ol,figure,blockquote,.wp-block-image){margin-top:1rem}
.story-text ul,.story-text ol,.impact-body ul,.impact-body ol{padding-left:1.25em}
.story-text li + li,.impact-body li + li{margin-top:.35rem}
.story-text > :is(h2,h4),.story-text > h3:not(.story-title),.impact-body > :is(h2,h3,h4){margin:2rem 0 .6rem;color:var(--navy);font-size:1.25rem;line-height:1.3;font-weight:750}
.impact-body p + p,.impact-body p + ul,.impact-body ul + p{margin-top:1rem}
.impact-body > :first-child{margin-top:2rem}
.story-text img,.impact-body img{border-radius:12px}
.story-credits{grid-column:1 / -1;color:var(--slate);font-size:.8125rem;line-height:1.3}
.story-gallery--single{grid-template-columns:minmax(0,1fr)}
.story-gallery--single img{aspect-ratio:16 / 9}
.story-back{margin-top:clamp(2.5rem,5vw,3.5rem);font-weight:700}
.story-back a::before{content:"← "}
.page-hero--post{padding-block:clamp(1.5rem,3vw,2.25rem) clamp(1.25rem,2.5vw,1.75rem)}
.section--story{padding-top:clamp(2rem,4vw,3rem)}
.section--story .story-title,.section--story .impact-title{font-size:clamp(2rem,1.35rem + 2.3vw,3rem);line-height:1.08}
.news-empty{margin-bottom:1rem}

/* Paragraph styles offered in the editor */
.is-style-fad-lead{max-width:44ch;color:var(--navy);font-size:clamp(1.1875rem,1.05rem + .5vw,1.3125rem);line-height:1.45}
.story-text .is-style-fad-lead{margin-bottom:.5rem}
.is-style-fad-closing,.story-text .is-style-fad-closing,.impact-body .is-style-fad-closing{margin-top:1.4rem;color:var(--navy);font-size:1.25rem;font-weight:700}
.is-style-fad-note,.story-text .is-style-fad-note,.impact-body .is-style-fad-note{display:flex;align-items:center;gap:.85rem;margin-top:1.6rem;color:var(--navy);font-weight:700;line-height:1.35}
.is-style-fad-note::before{content:"";flex:none;width:40px;height:40px;border-radius:9px;background:var(--navy) url("../img/icon-tv.svg") center / 23px no-repeat}

/* Page numbers */
.pager{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:clamp(3rem,6vw,4.5rem)}
.pager .page-numbers{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 .8rem;border:2px solid var(--rule-strong);border-radius:var(--r-btn);color:var(--navy);font-weight:700;text-decoration:none}
.pager a.page-numbers:hover{border-color:var(--navy)}
.pager .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.pager .dots{border-color:transparent}

/* Ordinary pages written in the editor (privacy policy, ...) */
.entry-content{max-width:72ch}
.entry-content > * + *{margin-top:1.1rem}
.entry-content h2{margin-top:2.5rem;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);line-height:1.15}
.entry-content h3{margin-top:2rem;font-size:1.375rem;line-height:1.25}
.entry-content h4{margin-top:1.75rem;color:var(--navy);font-size:1.1875rem}
.entry-content ul,.entry-content ol{padding-left:1.25em}
.entry-content li + li{margin-top:.35rem}
.entry-content img{height:auto;border-radius:12px}
.entry-content blockquote{padding-left:1.25rem;border-left:4px solid var(--leaf);color:var(--navy);font-weight:600}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{padding:.6rem .75rem;border-bottom:1px solid var(--rule);text-align:left}
.wp-element-caption,.wp-caption-text{margin-top:.4rem;color:var(--slate);font-size:.875rem}
.alignleft{float:left;margin:.3rem 1.5rem 1rem 0}
.alignright{float:right;margin:.3rem 0 1rem 1.5rem}
.aligncenter{margin-inline:auto}

@media (max-width:960px){
  .impact-body > :is(h2,h3,h4):first-child,.impact-body > :first-child{margin-top:.25rem}
}
@media (max-width:560px){
  .alignleft,.alignright{float:none;margin:1rem 0}
}
