/* =====================================================================
 * Health information — campaigns index + detail ([djc_health_campaigns])
 * Uses the design-system tokens (design-system.css); fallbacks keep it readable without them.
 * Glass cards, teal identity, no decorative icons, no dates. No backdrop-filter.
 * Kill switch: update_option( 'djc_health_page', '0' )
 * ===================================================================== */
.djc-hc{--hc-w:min(var(--djc-content,1160px),calc(100vw - 48px));width:var(--hc-w);margin-inline:calc((100% - var(--hc-w)) / 2);box-sizing:border-box;color:var(--djc-text,#33475b);font-family:var(--djc-font-body,system-ui,sans-serif)}
.djc-hc *,.djc-hc *::before,.djc-hc *::after{box-sizing:border-box}
.djc-hc img{display:block;max-width:100%;height:auto}
.djc-hc p{margin:0}
.djc-hc a{text-decoration:none}

/* ---------- shared text ---------- */
.djc-hc__lead{font-size:var(--djc-fs-lead,18px);line-height:1.85;color:var(--djc-muted,#5f7383);max-width:var(--djc-narrow,780px)}
.djc-hc__lead--index{margin:0 auto var(--djc-head-block,40px)!important;text-align:center;text-wrap:pretty}
body.djc-ds #main .djc-hc .djc-hc__h{position:relative;margin:0 0 var(--djc-s5,24px)!important;padding-top:0;font-size:var(--djc-fs-h3,22px)!important;font-weight:800;color:var(--djc-ink,#0b1f2a)!important;line-height:1.4!important}
.djc-hc__disclaimer{margin:var(--djc-s8,64px) auto 0!important;max-width:var(--djc-narrow,780px);text-align:center;font-size:var(--djc-fs-small,14px);line-height:1.8;color:var(--djc-muted,#5f7383)}

/* ---------- index ---------- */
.djc-hc__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--djc-gap,24px)}
body.djc-ds #main .djc-hc .djc-hc__h--archive{margin-top:var(--djc-s8,64px)!important}
.djc-hc-card{display:flex;flex-direction:column;padding:12px;border-radius:var(--djc-r-lg,28px);background:var(--djc-glass,rgba(255,255,255,.8));border:1px solid var(--djc-glass-edge,#fff);box-shadow:var(--djc-shadow,0 10px 30px -10px rgba(10,48,66,.2));color:inherit!important;transition:box-shadow .25s ease,transform .25s ease}
.djc-hc-card__media{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:calc(var(--djc-r-lg,28px) - 8px);background:var(--djc-tint,#e8f3f6)}
.djc-hc-card__media img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform .5s ease}
.djc-hc-card__body{display:flex;flex:1;flex-direction:column;gap:var(--djc-s2,8px);padding:var(--djc-s5,24px) var(--djc-s3,12px) var(--djc-s3,12px)}
.djc-hc-card__title{font-family:var(--djc-font-head,inherit);font-size:20px;font-weight:800;line-height:1.45;color:var(--djc-ink,#0b1f2a);text-wrap:balance}
.djc-hc-card__sum{font-size:15px;line-height:1.75;color:var(--djc-muted,#5f7383);text-wrap:pretty}
.djc-hc-card__meta{margin-top:auto;padding-top:var(--djc-s4,16px);border-top:1px solid var(--djc-line,rgba(14,90,117,.12));font-size:13px;font-weight:700;color:var(--djc-teal,#14789c)}
.djc-hc-card__body .djc-hc-card__meta{margin-top:auto}
.djc-hc-card__sum + .djc-hc-card__meta{margin-top:auto}
@media (hover:hover){
  .djc-hc-card:hover{box-shadow:var(--djc-shadow-hover);transform:translateY(-3px)}
  .djc-hc-card:hover .djc-hc-card__media img{transform:scale(1.035)}
  .djc-hc-card:hover .djc-hc-card__title{color:var(--djc-teal-d,#0e5a75)}
}
.djc-hc-card:focus-visible{outline:2px solid var(--djc-teal,#14789c);outline-offset:3px}
.djc-hc__grid--archive .djc-hc-card__media{aspect-ratio:16/10}
.djc-hc__grid--archive{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- detail ---------- */
.djc-hc__back{margin:0 0 var(--djc-s6,32px)}
.djc-hc__back a{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 18px;border-radius:var(--djc-pill,999px);background:rgba(255,255,255,.75);border:1px solid var(--djc-line-2,rgba(14,90,117,.2));color:var(--djc-teal-d,#0e5a75)!important;font-size:14px;font-weight:700;transition:background .2s ease}
.djc-hc__back a::before{content:"←"}
.djc-hc[dir="rtl"] .djc-hc__back a::before{content:"→"}
.djc-hc__back a:hover{background:#fff}
.djc-hc__head{max-width:var(--djc-narrow,780px);margin:0 0 var(--djc-s7,48px)}
.djc-hc__eyebrow{margin:0 0 var(--djc-s2,8px)!important;font-size:14px;font-weight:700;color:var(--djc-teal,#14789c)}
body.djc-ds #main .djc-hc .djc-hc__title{margin:0 0 var(--djc-head-gap,12px)!important;font-size:var(--djc-fs-h1,42px)!important;font-weight:800;line-height:1.3!important;color:var(--djc-ink,#0b1f2a)!important}
.djc-hc__info{position:relative;max-width:var(--djc-narrow,780px);margin:0 0 var(--djc-s8,64px);padding:var(--djc-s7,48px) var(--djc-s7,48px) var(--djc-s6,32px);border-radius:var(--djc-r-lg,28px);background:var(--djc-glass,rgba(255,255,255,.8));border:1px solid var(--djc-glass-edge,#fff);box-shadow:var(--djc-shadow)}
body.djc-ds #main .djc-hc .djc-hc__info .djc-hc__h3{margin:0 0 var(--djc-s4,16px)!important;font-size:15px!important;font-weight:800;color:var(--djc-teal,#14789c)!important;line-height:1.4!important}
.djc-hc__info p{font-size:var(--djc-fs-body,17px);line-height:2;color:var(--djc-text,#33475b);text-wrap:pretty}
.djc-hc__info p + p{margin-top:var(--djc-s4,16px)!important}
.djc-hc__info .djc-hc__disclaimer--in{margin:var(--djc-s5,24px) 0 0!important;padding-top:var(--djc-s4,16px);border-top:1px solid var(--djc-line,rgba(14,90,117,.12));text-align:start;font-size:13px;line-height:1.8;color:var(--djc-muted,#5f7383)}
.djc-hc__sec{margin:0 0 var(--djc-s8,64px)}

/* carousel (scroll-snap, swipe natively) */
.djc-hc-car + .djc-hc-car{margin-top:var(--djc-s7,48px)}
.djc-hc-car__label{margin:0 0 var(--djc-s3,12px)!important;font-size:14px;font-weight:700;color:var(--djc-muted,#5f7383)}
.djc-hc-car__track{display:flex;gap:var(--djc-s4,16px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.djc-hc-car__track::-webkit-scrollbar{display:none}
.djc-hc-car__track:focus-visible{outline:2px solid var(--djc-teal,#14789c);outline-offset:4px;border-radius:var(--djc-r,22px)}
.djc-hc-car__slide{flex:0 0 clamp(260px,36%,420px);margin:0;scroll-snap-align:start;border-radius:var(--djc-r,22px);overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(14,90,117,.07),0 12px 30px -14px rgba(10,48,66,.35)}
.djc-hc-car__slide img{width:100%;height:auto}
.djc-hc-car__bar{display:flex;align-items:center;justify-content:center;gap:var(--djc-s4,16px);margin-top:var(--djc-s2,8px)}
.djc-hc-car__count{min-width:64px;text-align:center;font-size:14px;font-weight:700;color:var(--djc-muted,#5f7383);font-variant-numeric:tabular-nums;direction:ltr}
.djc-hc-car__count b{color:var(--djc-ink,#0b1f2a)}
.djc-hc-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0!important;border-radius:50%!important;border:1px solid var(--djc-line-2,rgba(14,90,117,.2))!important;background:rgba(255,255,255,.85)!important;color:var(--djc-teal-d,#0e5a75)!important;font-size:24px!important;line-height:1!important;font-weight:400!important;cursor:pointer;box-shadow:0 4px 14px -8px rgba(10,48,66,.35);transition:background .2s ease,transform .2s ease,opacity .2s ease;min-height:0!important}
.djc-hc-btn:hover{background:#fff!important;transform:translateY(-1px)}
.djc-hc-btn[disabled]{opacity:.35;cursor:default;transform:none}

/* gallery (masonry columns, full image visible) */
.djc-hc-gal__label{margin:var(--djc-s6,32px) 0 var(--djc-s3,12px)!important;font-size:14px;font-weight:700;color:var(--djc-muted,#5f7383)}
.djc-hc-gal__label:first-child{margin-top:0!important}
.djc-hc-gal__grid{columns:4 200px;column-gap:var(--djc-s4,16px)}
.djc-hc-gal__item{display:block;margin:0 0 var(--djc-s4,16px);break-inside:avoid;border-radius:var(--djc-r-sm,12px);overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(14,90,117,.07),0 8px 22px -14px rgba(10,48,66,.35);transition:box-shadow .25s ease,transform .25s ease}
.djc-hc-gal__item img{width:100%}
@media (hover:hover){.djc-hc-gal__item:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(20,120,156,.14),0 18px 34px -16px rgba(10,48,66,.4)}}

/* videos */
.djc-hc-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--djc-gap,24px);align-items:start}
.djc-hc-vid{margin:0;border-radius:var(--djc-r,22px);overflow:hidden;background:var(--djc-navy,#073247);box-shadow:0 0 0 1px rgba(14,90,117,.07),0 12px 30px -14px rgba(10,48,66,.4)}
.djc-hc-vid video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:var(--djc-navy,#073247)}
.djc-hc-vid--wide{grid-column:span 2}
.djc-hc-vid--wide video{aspect-ratio:16/9}

/* previous / next */
.djc-hc__pn{display:grid;grid-template-columns:1fr 1fr;gap:var(--djc-gap,24px);margin-top:var(--djc-s8,64px)}
.djc-hc__pn-link{display:flex;flex-direction:column;gap:6px;padding:var(--djc-s5,24px) var(--djc-s6,32px);border-radius:var(--djc-r,22px);background:var(--djc-glass,rgba(255,255,255,.8));border:1px solid var(--djc-glass-edge,#fff);box-shadow:var(--djc-shadow);color:inherit!important;transition:box-shadow .25s ease,transform .25s ease}
.djc-hc__pn-link small{font-size:13px;font-weight:700;color:var(--djc-teal,#14789c)}
.djc-hc__pn-link span{font-size:18px;font-weight:800;line-height:1.45;color:var(--djc-ink,#0b1f2a)}
.djc-hc__pn-link--next{text-align:end}
@media (hover:hover){.djc-hc__pn-link:hover{box-shadow:var(--djc-shadow-hover);transform:translateY(-2px)}}

/* lightbox */
.djc-hc-lb{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:rgba(5,30,43,.94);color:#fff}
.djc-hc-lb::backdrop{background:rgba(5,30,43,.6)}
.djc-hc-lb[open]{display:flex;flex-direction:column}
.djc-hc-lb__stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:24px 24px 8px;touch-action:pan-y}
.djc-hc-lb__stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px -20px rgba(0,0,0,.6)}
.djc-hc-lb__bar{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px 22px}
.djc-hc-lb__count{min-width:72px;text-align:center;font-size:14px;font-weight:700;color:rgba(255,255,255,.85);direction:ltr;font-variant-numeric:tabular-nums}
.djc-hc-lb .djc-hc-btn{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.25)!important;color:#fff!important;box-shadow:none}
.djc-hc-lb .djc-hc-btn:hover{background:rgba(255,255,255,.22)!important}
.djc-hc-btn--close{margin-inline-start:16px}
html.djc-hc-lock{overflow:hidden}

/* ---------- responsive ---------- */
@media (max-width:999.98px){
  .djc-hc__grid,.djc-hc__grid--archive{grid-template-columns:repeat(2,minmax(0,1fr))}
  .djc-hc-car__slide{flex-basis:clamp(240px,44%,400px)}
}
@media (max-width:689.98px){
  .djc-hc{--hc-w:calc(100vw - 32px)}
  .djc-hc__grid,.djc-hc__grid--archive{grid-template-columns:1fr;gap:var(--djc-s5,24px)}
  .djc-hc-card{padding:10px;border-radius:var(--djc-r,22px)}
  .djc-hc-card__media{border-radius:calc(var(--djc-r,22px) - 6px)}
  .djc-hc-card__body{padding:var(--djc-s4,16px) var(--djc-s2,8px) var(--djc-s2,8px)}
  .djc-hc-card__title{font-size:19px}
  body.djc-ds #main .djc-hc .djc-hc__title{font-size:30px!important}
  .djc-hc__info{padding:var(--djc-s6,32px) var(--djc-s5,24px) var(--djc-s5,24px);border-radius:var(--djc-r,22px);margin-bottom:var(--djc-s7,48px)}
  .djc-hc__info p{font-size:16px;line-height:1.95}
  .djc-hc__sec{margin-bottom:var(--djc-s7,48px)}
  .djc-hc-car__track{margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;gap:12px}
  .djc-hc-car__slide{flex-basis:84%;border-radius:18px}
  .djc-hc-gal__grid{columns:2;column-gap:12px}
  .djc-hc-gal__item{margin-bottom:12px}
  .djc-hc-vids{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .djc-hc-vid{border-radius:16px}
  .djc-hc__pn{grid-template-columns:1fr;gap:12px}
  .djc-hc__pn-link--next{text-align:start}
  .djc-hc__disclaimer{margin-top:var(--djc-s7,48px)!important}
}
@media (prefers-reduced-motion:reduce){.djc-hc *{transition:none!important;scroll-behavior:auto!important}}
/* a single card left on the last row sits in the middle */
@media (min-width:1000px){.djc-hc__grid:not(.djc-hc__grid--archive) > .djc-hc-card:last-child:nth-child(3n+1){grid-column:2}}
@media (min-width:690px) and (max-width:999.98px){.djc-hc__grid > .djc-hc-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - var(--djc-gap,24px) / 2)}}
/* phones: compact editorial list (thumbnail + text) so 15 campaigns stay scannable */
@media (max-width:689.98px){
  .djc-hc__grid{gap:12px}
  .djc-hc-card{flex-direction:row;align-items:center;gap:14px;padding:10px}
  .djc-hc-card__media,.djc-hc__grid--archive .djc-hc-card__media{flex:0 0 104px;width:104px;aspect-ratio:1/1;border-radius:14px}
  .djc-hc-card__body{padding:2px 0;gap:4px;min-width:0}
  .djc-hc-card__title{font-size:16.5px;line-height:1.45}
  .djc-hc-card__sum{font-size:13.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .djc-hc-card__meta{padding-top:6px;border-top:0;font-size:12px}
}
/* story-format (9:16) sets: denser columns */
.djc-hc-gal__grid--tall{columns:6 150px}
@media (max-width:689.98px){.djc-hc-gal__grid--tall{columns:3;column-gap:10px}.djc-hc-gal__grid--tall .djc-hc-gal__item{margin-bottom:10px;border-radius:10px}}
