/* Down by Down: live blocks for theme-built pages ([dbd_block], class-dbd-blocks.php). Flat like the app: 1px rules, no shadows.
   Cards and tiles carry their own light surface; the games heading and the counts line take the surrounding text color, so they sit
   on any background (the home's green hero included). Divi's list and paragraph rules are reset with a doubled class. */
.dbd-hb{--ink:#121417;--ink2:#3b4255;--muted:#5d616a;--bg:#f4f1ea;--panel:#fffdf8;--line:rgba(22,30,54,.12);--red:#cb2026;
  font:400 16px/1.5 "IBM Plex Sans",system-ui,sans-serif;min-width:0}
.dbd-hb.dbd-hb *{box-sizing:border-box}
.dbd-hb.dbd-hb p{margin:0;padding:0}
.dbd-hb.dbd-hb a{text-decoration:none}
.dbd-hb .dbd-mk{display:block}
.dbd-hb .dbd-lgw{position:relative;display:inline-block;flex:none}
.dbd-hb .dbd-lgw .dbd-mk{position:absolute;inset:0}
.dbd-hb .dbd-lgw .dbd-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(var(--lgs,1))}
.dbd-hb .dbd-head{position:relative;display:inline-block;flex:none;border-radius:50%;overflow:hidden}
.dbd-hb .dbd-head .dbd-mk{border-radius:50%}
.dbd-hb .dbd-head img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}

/* hero-map: the week's most-targeted player */
.dbd-hb.hb-hero-map{background:var(--panel);color:var(--ink);border-radius:12px;padding:16px}
.hb-hero-map a{color:inherit}
.hb-hero-map a:hover{text-decoration:underline;text-underline-offset:3px}
.hb-who{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.hb-who b{display:block;font:800 20px/1.1 "Tourney",sans-serif;text-transform:uppercase}
.hb-who small{display:block;font:500 12px "IBM Plex Sans",sans-serif;color:var(--muted)}
.hb-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}
.hb-stats span{background:var(--bg);border-radius:6px;padding:6px 8px;font:500 11px "IBM Plex Sans",sans-serif;color:var(--muted);text-align:center}
.hb-stats b{display:block;font:800 22px/1.1 "Tourney",sans-serif;color:var(--ink)}
.hb-field{display:block;width:100%;height:auto;background:#2c4a35;border-radius:8px}
.hb-field text{font-family:"IBM Plex Sans",sans-serif}
.dbd-hb .hb-leg{margin:10px 0 0;font:500 12px "IBM Plex Sans",sans-serif;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.hb-leg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:-6px}
.hb-leg i.c{background:#5b9cf6}.hb-leg i.n{background:#9a96a6}.hb-leg i.t{background:#4fd18b}
.dbd-hb .hb-leg a{margin-left:auto;font-weight:600;color:var(--ink)}

/* games: this week's score tiles */
.dbd-hb.hb-games{color:inherit}
.hb-games-h{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;padding-top:12px;border-top:1px solid currentColor;border-top-color:color-mix(in srgb,currentColor 30%,transparent)}
.hb-games-h b{font:700 14px "Barlow Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.hb-games-h span{font:500 13px "IBM Plex Sans",sans-serif;opacity:.8}
.dbd-hb .hb-games-h a{margin-left:auto;color:inherit;font:700 13px "Barlow Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.hb-games-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.dbd-hb.dbd-hb .hb-gm{position:relative;display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 9px;color:var(--muted)}
.dbd-hb.dbd-hb .hb-gm:hover{border-color:var(--ink)}
.dbd-hb.dbd-hb .hb-gm.up{border-color:var(--red)}
.hb-gm .r{display:flex;align-items:center;gap:6px}
.hb-gm .r b{flex:1;font:700 14px "Barlow Condensed",sans-serif;letter-spacing:.06em}
.hb-gm .r em{font:600 13px "IBM Plex Mono",monospace;font-style:normal}
.hb-gm .r.w{color:var(--ink)}
.hb-gm .st{display:block;margin-top:3px;font:600 10.5px "IBM Plex Mono",monospace;color:var(--red)}
.hb-gm.up .st{color:var(--ink2)}
.hb-gm .nx{position:absolute;top:-7px;right:8px;padding:1px 6px;border-radius:3px;background:var(--red);color:#fff;font:700 10px/1.5 "Barlow Condensed",sans-serif;font-style:normal;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:1100px){.hb-games-g{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:700px){
  .hb-games-h{flex-wrap:wrap;row-gap:0}.hb-games-h span{order:3;flex:1 1 100%;padding-bottom:4px}
  .hb-games-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dbd-hb.dbd-hb .hb-gm:nth-child(n+9){display:none}  /* a phone shows the first eight; "Every matchup" has the rest */
}

/* counts: one plain line */
.dbd-hb.hb-counts{color:inherit}
.dbd-hb.hb-counts p{font:500 14px "IBM Plex Sans",sans-serif;padding-top:12px;border-top:1px solid currentColor;border-top-color:color-mix(in srgb,currentColor 30%,transparent);opacity:.92}
.hb-counts b{font:600 14px "IBM Plex Mono",monospace}

/* week-highlights: the latest week in three cards */
.dbd-hb.hb-week-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;color:var(--ink);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.dbd-hb.dbd-hb .hb-wk{position:relative;display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;color:var(--ink)}
.dbd-hb.dbd-hb a.hb-wk:hover{border-color:rgba(22,30,54,.35)}
.hb-wk>i{display:block;margin:0 0 12px;padding-right:44px;font:700 12px "Barlow Condensed",sans-serif;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hb-wk>.mk{position:absolute;right:16px;top:14px}
.dbd-hb.dbd-hb .hb-wk h3{margin:0 0 10px;padding:0 44px 0 0;font:600 18px/1.35 "IBM Plex Sans",sans-serif;color:var(--ink);text-transform:none;letter-spacing:0}
.dbd-hb .hb-wk p{font:500 14px/1.45 "IBM Plex Sans",sans-serif;color:var(--ink2)}
.hb-wk>p>b{font:800 18px "Tourney",sans-serif;color:#1e7f4a}  /* the EPA and the swing, not the wildest game's line */
.dbd-hb.dbd-hb .hb-wk ul{list-style:none;margin:0;padding:0}
.dbd-hb.dbd-hb .hb-wk li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:8px 0;border-bottom:1px solid var(--line);font:400 14px "IBM Plex Sans",sans-serif;list-style:none}
.dbd-hb.dbd-hb .hb-wk li::before{content:none}
.dbd-hb.dbd-hb .hb-wk li a{color:var(--ink)}
.hb-wk li b{font-weight:600}
.hb-wk li small{margin-left:auto;font:600 12px "IBM Plex Mono",monospace;color:var(--red)}
.dbd-hb .hb-wk .wild{margin-top:14px}
.hb-wk .wild span{display:block;margin-bottom:4px;font:700 12px "Barlow Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.dbd-hb.dbd-hb .hb-wk .wild a{color:var(--ink);font:400 14px "IBM Plex Sans",sans-serif}
.dbd-hb .hb-wk .wild b{font:600 14px "IBM Plex Sans",sans-serif;color:var(--ink)}
.dbd-hb .hb-wk a:hover b,.dbd-hb a.hb-wk:hover h3{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.dbd-hb.hb-week-highlights{grid-template-columns:minmax(0,1fr)}}

/* matchup: the game of the week over its offense vs defense */
.dbd-hb.hb-matchup{display:grid;gap:14px;color:var(--ink);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.hb-gotw,.hb-h2h{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.dbd-hb .hb-gotw .k{font:600 11px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hb-gotw .mt{display:flex;align-items:center;justify-content:space-around;gap:10px;padding:10px 0 12px;border-bottom:1px solid var(--line)}
.hb-gotw .mt>span{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.hb-gotw .mt b{font:800 24px/1.1 "Tourney",sans-serif;text-transform:uppercase}
.hb-gotw .mt small{font:600 12px "IBM Plex Mono",monospace;color:var(--muted)}
.hb-gotw .mt em{font:700 14px "Barlow Condensed",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-style:normal}
.dbd-hb .hb-gotw .ln{margin:10px 0;text-align:center;font:600 13px "IBM Plex Mono",monospace;color:var(--ink2)}
.dbd-hb .hb-gotw .say{margin:0 0 14px;font-size:16px;line-height:1.5}
.hb-gotw .say i{display:block;font:700 12px "Barlow Condensed",sans-serif;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.dbd-hb.dbd-hb .hb-link{color:var(--ink);font:700 13px "Barlow Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.dbd-hb.dbd-hb .hb-link:hover{color:var(--red)}
.hb-h2h{padding:14px 18px}
.hb-h2h .hh{display:flex;align-items:center;gap:8px;margin-bottom:8px;font:700 15px "Barlow Condensed",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.hb-h2h .hh span{flex:1;text-align:center;color:var(--muted);font-size:12px;letter-spacing:.2em}
.hb-h2h .hr{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line)}
.hb-h2h .o,.hb-h2h .d{display:flex;flex-direction:column;font:600 14px/1.15 "IBM Plex Mono",monospace}
.hb-h2h .d{text-align:right}
.hb-h2h small{font:600 11px "IBM Plex Mono",monospace;color:var(--muted)}
.hb-h2h .lab{text-align:center;font:500 13px "IBM Plex Sans",sans-serif;color:var(--ink2)}
.hb-h2h .bar{display:block;position:relative;height:8px;margin-top:4px;background:#e9e3d6;border-radius:4px}
.hb-h2h .bar::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:rgba(22,30,54,.25)}
.hb-h2h .bar i{position:absolute;top:0;bottom:0;border-radius:4px}
.hb-h2h .bar i.o{right:50%}.hb-h2h .bar i.d{left:50%}
@media (max-width:480px){.hb-gotw{padding:16px}.hb-gotw .mt b{font-size:19px}.hb-h2h .hh b{font-size:13px}.hb-h2h .hr{grid-template-columns:58px minmax(0,1fr) 58px}}

/* player-card: the share card image; movers: the week's risers in target share */
.hb-player-card a{display:block}
.hb-player-card img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.hb-movers .hb-panel{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.dbd-hb .hb-movers .k,.hb-movers .k{margin:0 0 6px;font:600 11px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dbd-hb.dbd-hb .hb-list{margin:0;padding:0;list-style:none}
.dbd-hb.dbd-hb .hb-list li{display:flex;align-items:center;gap:12px;margin:0;padding:9px 0;border-top:1px solid var(--line);list-style:none}
.dbd-hb.dbd-hb .hb-list li::before{content:none}
.hb-list li>span:not(.dbd-head):not(.dbd-lgw):not(.n){flex:1;min-width:0}
.hb-list b{display:block;font:600 15px "IBM Plex Sans",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dbd-hb.dbd-hb .hb-list b a{color:var(--ink)}
.dbd-hb.dbd-hb .hb-list b a:hover{text-decoration:underline;text-underline-offset:3px}
.hb-list small{display:block;font:500 12px "IBM Plex Sans",sans-serif;color:var(--muted)}
.hb-movers .hb-list em{flex:none;font:600 13px "IBM Plex Mono",monospace;font-style:normal;color:var(--muted);white-space:nowrap}
.hb-movers .hb-list em i{font-style:normal}
.hb-movers .hb-list em strong{font-size:15px;color:#1e7f4a}
.dbd-hb .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* fantasy: the softest defense at each position, two by two */
.dbd-hb.hb-fantasy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;color:var(--ink);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.dbd-hb.dbd-hb .hb-soft{display:flex;align-items:center;gap:12px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.dbd-hb.dbd-hb .hb-soft:hover{border-color:rgba(22,30,54,.35)}
.hb-soft>span:last-child{min-width:0}
.hb-soft i{display:block;font:700 12px "Barlow Condensed",sans-serif;font-style:normal;letter-spacing:.16em;color:#1e7f4a}
.hb-soft b{display:block;font:800 20px/1.1 "Tourney",sans-serif;text-transform:uppercase}
.hb-soft small{display:block;margin-top:2px;font:500 12px/1.35 "IBM Plex Sans",sans-serif;color:var(--muted)}
@media (max-width:480px){.dbd-hb.hb-fantasy{grid-template-columns:minmax(0,1fr)}}

/* leaders: season leader boards, side by side as room allows */
.dbd-hb.hb-leaders{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;color:var(--ink);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.hb-board{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.dbd-hb.dbd-hb .hb-board h3{margin:0;padding:0;color:var(--ink);font:800 22px/1.1 "Tourney",sans-serif;text-transform:uppercase}
.dbd-hb.dbd-hb .hb-board .sub{margin:2px 0 8px;font:500 13px "IBM Plex Sans",sans-serif;color:var(--muted)}
.dbd-hb.dbd-hb .hb-board .hb-list li{gap:10px}
.hb-board .hb-list b{font-size:14px;line-height:1.25;white-space:normal;overflow:visible}  /* long names wrap rather than cut off */
.hb-board .hb-list .n{flex:none;width:18px;font:800 16px "Tourney",sans-serif;color:var(--muted)}
.hb-board .hb-list em{flex:none;font:800 17px "Tourney",sans-serif;font-style:normal;white-space:nowrap}

/* teams: all 32 by division */
.dbd-hb.hb-teams{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;color:var(--ink)}
.hb-div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}
.dbd-hb.dbd-hb .hb-div h4{margin:0 0 6px;padding:0;font:700 12px "Barlow Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.dbd-hb.dbd-hb .hb-div a{display:flex;align-items:center;gap:10px;margin:0 -4px;padding:7px 8px;border-radius:6px;color:var(--ink)}
.dbd-hb.dbd-hb .hb-div a:hover{background:var(--bg)}
.hb-div a span{flex:1;min-width:0;font:700 16px "Barlow Condensed",sans-serif;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-div a em{flex:none;font:600 12px "IBM Plex Mono",monospace;font-style:normal;color:var(--muted)}
@media (max-width:1000px){.dbd-hb.hb-teams{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.dbd-hb.hb-teams{gap:10px}.hb-div{padding:10px 8px}.dbd-hb.dbd-hb .hb-div a{gap:6px;padding:6px 4px;margin:0}.hb-div a span{font-size:14px;letter-spacing:.02em}.hb-div a em{font-size:11px}
  .hb-div a>.dbd-lgw,.hb-div a>svg{width:22px!important;height:22px!important}}  /* a smaller mark so "Commanders" fits beside 2-4-1 */

/* newsletter-preview: the latest finished week as the Tuesday email */
.dbd-hb.hb-newsletter-preview{color:var(--ink);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.hb-mail{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px}
.hb-mail .mh{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#f2f2f4;border-bottom:1px solid #e1e1e6;font:400 13px/1.4 -apple-system,system-ui,sans-serif;color:#555}
.hb-mail .mh b{color:#111}
.hb-mail .mb{padding:18px 20px 20px}
.dbd-hb.dbd-hb .hb-mail .mk{font:700 12px "Barlow Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.dbd-hb.dbd-hb .hb-mail h4{margin:4px 0 12px;padding:0;color:var(--ink);font:800 22px/1.1 "Tourney",sans-serif;text-transform:uppercase}
.dbd-hb.dbd-hb .hb-mail p:not(.mk){margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--ink2)}
.hb-mail p b{color:var(--ink)}
.dbd-hb.dbd-hb .hb-mail .mbtn{display:inline-block;margin-top:6px;padding:10px 16px;background:var(--red);border-radius:6px;color:#fff;font:700 13px "Barlow Condensed",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.dbd-hb.dbd-hb .hb-mail .mbtn:hover{background:#a8181d}
