/*
Theme Name: 7 Geniuses & The Loser
Theme URI: https://www.7geniuses.com/fantasy/
Author: 7 Geniuses League Office
Description: A custom editorial block theme for 7 Geniuses & The Loser — fantasy football's least reliable source of journalism.
Version: 4.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: seven-geniuses
*/

:root {
  --sg-ink:#171714;
  --sg-paper:#f4efe3;
  --sg-paper-2:#e9e0cf;
  --sg-red:#8e1f1f;
  --sg-gold:#a77b2d;
  --sg-muted:#6d675d;
  --sg-rule:#25231f;
}

html { scroll-behavior:smooth; }
body { background:var(--sg-paper); color:var(--sg-ink); }
a { text-underline-offset:.16em; }
a:hover { text-decoration-thickness:2px; }

.sg-top-rule { border-top:7px solid var(--sg-ink); }
.sg-kicker {
  font-family: Arial, Helvetica, sans-serif;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sg-red);
}
.sg-masthead {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(3.1rem,8vw,7.4rem);
  line-height:.78;
  letter-spacing:-.035em;
  text-transform:uppercase;
  margin:0;
}
.sg-masthead-loser { color:var(--sg-red); }
.sg-tagline {
  font-family: Georgia, "Times New Roman", serif;
  font-style:italic;
  font-size:1.05rem;
}
.sg-dateline {
  font-family: Arial, Helvetica, sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sg-nav {
  border-top:1px solid var(--sg-rule);
  border-bottom:3px solid var(--sg-rule);
  padding:.7rem 0;
}
.sg-nav .wp-block-navigation-item__content {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.sg-section-label {
  border-top:5px solid var(--sg-ink);
  border-bottom:1px solid var(--sg-ink);
  padding:.38rem 0 .3rem;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sg-card {
  border-top:4px solid var(--sg-ink);
  padding-top:.8rem;
}
.sg-card-red { border-top-color:var(--sg-red); }
.sg-card-gold { border-top-color:var(--sg-gold); }
.sg-post-grid .wp-block-post { border-top:1px solid #9c9588; padding-top:1rem; }
.sg-post-grid .wp-block-post-title {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  text-transform:uppercase;
  line-height:.98;
  letter-spacing:-.01em;
}
.sg-post-grid .wp-block-post-excerpt {
  font-family:Georgia, "Times New Roman", serif;
}
.sg-single-header { border-bottom:5px solid var(--sg-ink); padding-bottom:1.5rem; }
.sg-single-title {
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  text-transform:uppercase;
  font-size:clamp(3rem,7vw,6.5rem) !important;
  line-height:.88 !important;
  letter-spacing:-.025em;
}
.sg-byline {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sg-article {
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.16rem;
  line-height:1.72;
}
.sg-article > h2 {
  margin-top:3.2rem;
  padding:.48rem 0 .38rem;
  border-top:6px solid var(--sg-ink);
  border-bottom:1px solid var(--sg-ink);
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:2.25rem;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.sg-article > h3 {
  margin-top:2.35rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:1.42rem;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  border-left:6px solid var(--sg-red);
  padding-left:.75rem;
}
.sg-article strong {
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
}
.sg-article ul { padding-left:1.25rem; }
.sg-article li { margin-bottom:.8rem; }
.sg-article blockquote {
  border-left:6px solid var(--sg-gold);
  margin-left:0;
  padding-left:1.2rem;
  font-style:italic;
}
.sg-archive-title {
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  text-transform:uppercase;
  font-size:clamp(2.8rem,6vw,5.5rem) !important;
  line-height:.9 !important;
}
.sg-footer {
  border-top:7px solid var(--sg-ink);
  margin-top:5rem;
  padding-top:1.5rem;
}
.sg-department {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sg-red);
}
.wp-block-post-featured-image img { filter:saturate(.82) contrast(1.04); }
@media (max-width:781px) {
  .sg-masthead { font-size:3.6rem; }
  .sg-nav { overflow-x:auto; }
  .sg-single-title { font-size:3.4rem !important; }
  .sg-article { font-size:1.08rem; line-height:1.65; }
}

/* v2 editorial refinement */
.sg-masthead-wrap{padding-top:.45rem!important;padding-bottom:.3rem!important}
.sg-masthead{width:100%;max-width:none;font-size:clamp(4.4rem,10.8vw,9.8rem);line-height:.73;letter-spacing:-.05em}
.sg-tagline{margin-top:.65rem;margin-bottom:.35rem}
.sg-dateline{margin-top:.25rem;margin-bottom:.6rem}
.sg-nav{margin-top:.1rem}
.sg-front{max-width:1180px!important}
.sg-front-kicker{margin-top:.1rem;margin-bottom:1.15rem}
.sg-lead{border-top:5px solid var(--sg-red);border-bottom:1px solid #8e877b;padding-top:.85rem;padding-bottom:1.7rem}
.sg-lead .wp-block-post-title{max-width:1080px;margin:.35rem 0 .7rem;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(3.25rem,6vw,6.1rem);line-height:.88;letter-spacing:-.025em;text-transform:uppercase}
.sg-lead .wp-block-post-title a{color:var(--sg-ink)}
.sg-lead .wp-block-post-excerpt{max-width:850px;font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;line-height:1.5}
.sg-lead .wp-block-post-excerpt__more-link{display:inline-block;margin-top:.65rem;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.sg-departments{align-items:stretch;gap:1.5rem!important}
.sg-department-column{border-top:5px solid var(--sg-ink);padding-top:.7rem}
.sg-department-column:nth-child(2){border-top-color:var(--sg-red)}
.sg-department-column:nth-child(3){border-top-color:var(--sg-gold)}
.sg-department-title{margin:.15rem 0 .2rem;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:2.15rem;line-height:1;letter-spacing:.02em;text-transform:uppercase}
.sg-department-deck{margin-top:.1rem;padding-bottom:.55rem;border-bottom:1px solid #9c9588;color:var(--sg-muted);font-family:Georgia,"Times New Roman",serif;font-size:.92rem;font-style:italic}
.sg-department-column .wp-block-post-title{margin:.65rem 0 .3rem;font-family:Arial,Helvetica,sans-serif;font-size:1.22rem!important;line-height:1.08;font-weight:900}
.sg-department-column .wp-block-post-title a,.sg-newsroom .wp-block-post-title a{color:var(--sg-ink)}
.sg-department-column .wp-block-post-excerpt{font-size:.96rem;line-height:1.45}
.sg-newsroom{margin-top:2.6rem}
@media(min-width:1000px){.sg-masthead-wrap{max-width:1180px!important}}
@media(max-width:781px){.sg-masthead{font-size:4.4rem;line-height:.76}.sg-lead .wp-block-post-title{font-size:3.25rem}.sg-departments{gap:2rem!important}}


/* ===== v3 PRODUCTION REFINEMENTS ===== */

/* Slightly calmer nameplate and homepage lead */
.sg-masthead {
  font-size:clamp(4.2rem,10.25vw,9.25rem);
}
.sg-lead .wp-block-post-title {
  font-size:clamp(2.9rem,5.25vw,5.35rem);
  line-height:.91;
}

/* Long-form article canvas */
.sg-single-header,
.sg-article {
  max-width:835px !important;
}
.sg-single-header {
  padding-bottom:1.15rem;
}
.sg-single-title {
  font-size:clamp(2.8rem,5.65vw,5.45rem) !important;
  line-height:.9 !important;
  max-width:835px;
}
.sg-byline {
  margin-top:.75rem;
  color:var(--sg-muted);
}
.sg-byline .wp-block-post-author-name {
  display:none;
}
.sg-byline::before {
  content:"BY THE 7 GENIUSES LEAGUE OFFICE";
  color:var(--sg-red);
  font-weight:900;
}

/* The first paragraph is the article deck */
.sg-article > p:first-child {
  margin-top:1.45rem;
  margin-bottom:1.75rem;
  padding-left:1rem;
  border-left:4px solid var(--sg-red);
  font-size:1.27rem;
  line-height:1.52;
  font-style:italic;
}

/* Recurring department heads */
.sg-article > h2 {
  margin-top:3.7rem;
  padding:.5rem 0 .4rem;
  border-top:6px solid var(--sg-ink);
  border-bottom:1px solid var(--sg-ink);
  font-size:2.35rem;
}

/* Matchup separation */
.sg-article > h3 {
  margin-top:2.8rem;
  margin-bottom:1.2rem;
  padding:.15rem 0 .15rem .8rem;
}
.sg-article > h3:not(:first-of-type) {
  border-top:1px solid #b3ab9d;
  padding-top:1.25rem;
}

/* Hype / Hate / Verdict editorial labels */
.sg-article p strong:first-child {
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
  letter-spacing:.015em;
}
.sg-article p strong:first-child {
  color:var(--sg-ink);
}
.sg-article p:has(strong:first-child) {
  margin-top:1.25rem;
}
.sg-article p:has(strong:first-child) strong:first-child {
  padding-right:.15rem;
}

/* Browsers supporting :has get semantic color accents based on generated labels */
.sg-article p:has(strong:first-child) strong {
  text-transform:none;
}
.sg-article p:has(strong:first-child) {
  border-left:3px solid transparent;
  padding-left:.75rem;
}
.sg-article p:has(strong:first-child) {
  border-left-color:#b9b0a0;
}

/* Panic Index gets a stronger tabloid treatment */
.sg-article h2 + ul {
  margin-top:1.35rem;
}
.sg-article h2 + ul li {
  padding:.55rem 0;
  border-bottom:1px solid #c5bdaf;
}

/* Bottom story navigation */
.sg-story-nav {
  max-width:835px !important;
  margin-top:3.5rem;
  padding-top:1rem;
  border-top:5px solid var(--sg-ink);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sg-story-nav a {
  color:var(--sg-red);
}

/* Keep article readable on mobile */
@media(max-width:781px) {
  .sg-masthead { font-size:4.15rem; }
  .sg-lead .wp-block-post-title { font-size:2.95rem; }
  .sg-single-title { font-size:3rem !important; }
  .sg-article { font-size:1.07rem; }
  .sg-article > p:first-child { font-size:1.16rem; }
  .sg-article > h2 { font-size:2rem; }
}


/* ===== v4 LIVE LEAGUE BOARD ===== */
.sg-league-board{
  margin:.35rem 0 2.35rem;
  border-top:7px solid var(--sg-ink);
  border-bottom:3px solid var(--sg-ink);
  padding:.85rem 0 1rem;
}
.sg-board-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  border-bottom:1px solid #8e877b;
  padding-bottom:.55rem;
  margin-bottom:1rem;
}
.sg-board-kicker{
  margin:0 0 .12rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.14em;
  color:var(--sg-red);
  text-transform:uppercase;
}
.sg-board-title{
  margin:0;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(2.1rem,4vw,3.5rem);
  line-height:.9;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.sg-board-week{
  margin:0 0 .08rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}
.sg-board-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
  gap:1.6rem;
  align-items:start;
}
.sg-board-standings h3,
.sg-board-fights h3{
  margin:0 0 .55rem;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:1.7rem;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.sg-board-table-wrap{overflow-x:auto}
.sg-board-table{
  width:100%;
  border-collapse:collapse;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.82rem;
}
.sg-board-table th{
  border-bottom:2px solid var(--sg-ink);
  padding:.32rem .38rem;
  font-size:.65rem;
  letter-spacing:.09em;
  text-align:left;
}
.sg-board-table td{
  border-bottom:1px solid #b7afa1;
  padding:.42rem .38rem;
  vertical-align:middle;
}
.sg-board-rank{width:2rem;font-weight:900;color:var(--sg-red)}
.sg-board-team{font-weight:900}
.sg-board-owner{color:var(--sg-muted)}
.sg-board-record,.sg-board-pf{font-weight:800;white-space:nowrap}
.sg-board-pf{text-align:right}
.sg-board-table th:last-child{text-align:right}
.sg-board-fights{
  border-left:1px solid #8e877b;
  padding-left:1.35rem;
}
.sg-board-fights-head{
  border-bottom:2px solid var(--sg-ink);
  padding-bottom:.45rem;
  margin-bottom:.15rem;
}
.sg-board-matchup{
  display:grid;
  grid-template-columns:minmax(0,1fr) 2.1rem minmax(0,1fr);
  gap:.4rem;
  align-items:center;
  border-bottom:1px solid #b7afa1;
  padding:.72rem 0;
  font-family:Arial,Helvetica,sans-serif;
}
.sg-board-side strong{
  display:block;
  font-size:.82rem;
  line-height:1.08;
  text-transform:uppercase;
}
.sg-board-side span{
  display:block;
  margin-top:.18rem;
  color:var(--sg-muted);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.78rem;
  font-style:italic;
}
.sg-board-side-right{text-align:right}
.sg-board-vs{
  color:var(--sg-red);
  font-size:.66rem;
  font-weight:900;
  text-align:center;
  letter-spacing:.05em;
}
.sg-board-empty{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  color:var(--sg-muted);
}
.sg-league-board-empty{
  margin:.5rem 0 2rem;
  border-top:5px solid var(--sg-ink);
  border-bottom:1px solid #8e877b;
  padding:.8rem 0;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  color:var(--sg-muted);
}
@media(max-width:900px){
  .sg-board-grid{grid-template-columns:1fr}
  .sg-board-fights{border-left:0;border-top:4px solid var(--sg-ink);padding-left:0;padding-top:.8rem}
}
@media(max-width:600px){
  .sg-board-header{align-items:flex-start;flex-direction:column}
  .sg-board-owner{display:none}
  .sg-board-table th:nth-child(3){display:none}
  .sg-board-table{font-size:.76rem}
  .sg-board-matchup{grid-template-columns:minmax(0,1fr) 1.7rem minmax(0,1fr)}
}
