/* ==========================================================
   PANTHERSTOOTH
   MASTER ARTICLE STYLESHEET

   Supports:
   1. Big South Big Preview
   2. Panther's Toothsayer
   3. Future articles using either layout

   Fonts: Roboto / Roboto Slab
   Primary Purple: #52258a
   Dark Purple: #35165e
   ========================================================== */


/* ==========================================================
   1. SHARED ARTICLE FOUNDATION
   ========================================================== */

.pt-big-south-preview,
.pt-toothsayer {

  --pt-purple: #52258a;
  --pt-purple-dark: #35165e;
  --pt-purple-light: #ede5f6;
  --pt-lavender: #b79ad8;
  --pt-ink: #202027;
  --pt-muted: #62616b;
  --pt-border: #e6e1eb;
  --pt-background: #f8f6fb;

  display: block;

  width: 100%;
  max-width: 1100px;

  margin: 0 auto;
  padding: 0 0 55px;

  box-sizing: border-box;

  font-family: 'Roboto', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.85;

  color: var(--pt-ink);
}

.pt-big-south-preview *,
.pt-big-south-preview *::before,
.pt-big-south-preview *::after,
.pt-toothsayer *,
.pt-toothsayer *::before,
.pt-toothsayer *::after {
  box-sizing: border-box;
}


/* ==========================================================
   2. ARTICLE BODY WIDTH
   ========================================================== */

body .pt-big-south-preview .pt-body,
body .pt-toothsayer .pt-body {

  display: block;

  width: 100% !important;
  max-width: 1000px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0;
  padding-right: 0;
}


/* ==========================================================
   3. SHARED TYPOGRAPHY
   ========================================================== */

body .pt-big-south-preview h1,
body .pt-big-south-preview h2,
body .pt-big-south-preview h3,
body .pt-toothsayer h1,
body .pt-toothsayer h2,
body .pt-toothsayer h3 {

  font-family: 'Roboto Slab', Georgia, serif !important;

  letter-spacing: -0.025em;
  font-weight: 800;
  line-height: 1.3;
}

body .pt-big-south-preview .pt-body p,
body .pt-toothsayer .pt-body p {

  display: block !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  margin-top: 0 !important;
  margin-bottom: 26px !important;

  padding: 0 !important;

  font-family: 'Roboto', Arial, sans-serif !important;

  font-size: 17px !important;
  font-weight: 400;

  line-height: 1.85 !important;
  letter-spacing: 0 !important;

  color: var(--pt-ink);

  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

body .pt-big-south-preview strong,
body .pt-toothsayer strong {
  font-weight: 800;
}


/* ==========================================================
   4. SHARED HERO DESIGN
   ========================================================== */

.pt-big-south-preview .pt-hero,
.pt-toothsayer .pt-hero {

  display: block !important;

  position: relative;
  overflow: hidden;

  background: linear-gradient(
    135deg,
    #25113f 0%,
    #492478 55%,
    #7045a2 100%
  ) !important;

  color: #ffffff !important;

  padding: 60px 48px 55px !important;
  margin-bottom: 48px !important;

  border-radius: 8px;
}

.pt-big-south-preview .pt-hero::after,
.pt-toothsayer .pt-hero::after {

  content: "";

  position: absolute;

  width: 350px;
  height: 350px;

  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;

  right: -110px;
  top: -140px;

  box-shadow:
    0 0 0 60px rgba(255,255,255,.025),
    0 0 0 120px rgba(255,255,255,.018);

  pointer-events: none;
}

.pt-big-south-preview .pt-kicker,
.pt-toothsayer .pt-eyebrow {

  display: inline-block;

  color: #d5baf1 !important;

  text-transform: uppercase;

  font-family: 'Roboto', Arial, sans-serif;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: .18em;

  margin-bottom: 19px;
}

body .pt-big-south-preview .pt-hero h1,
body .pt-toothsayer .pt-hero h1 {

  color: #ffffff !important;

  font-family: 'Roboto Slab', Georgia, serif !important;

  font-size: clamp(34px, 5vw, 57px) !important;
  line-height: 1.15 !important;

  margin: 0 0 22px !important;

  max-width: 850px;

  font-weight: 800 !important;
}

body .pt-toothsayer .pt-hero h1 span {
  color: #d5baf1 !important;
}

body .pt-big-south-preview .pt-hero .pt-hero-subtitle,
body .pt-toothsayer .pt-hero .pt-deck {

  color: #e6d9f4 !important;

  font-family: 'Roboto', Arial, sans-serif !important;

  font-size: 19px !important;
  line-height: 1.65 !important;

  max-width: 720px;

  margin: 0 !important;
}

.pt-big-south-preview .pt-hero-rule,
.pt-toothsayer .pt-hero-line {

  width: 74px;
  height: 4px;

  background: #c8a5ef;

  margin-top: 28px;
}

.pt-toothsayer .pt-hero-line {
  margin-top: 0;
  margin-bottom: 28px;
}


/* ==========================================================
   5. BIG SOUTH PREVIEW INTRODUCTION
   ========================================================== */

.pt-big-south-preview .pt-intro {

  display: block;

  padding: 0 10px;

  margin-bottom: 45px;
}

.pt-big-south-preview .pt-intro p:first-child::first-letter {

  font-family: 'Roboto Slab', Georgia, serif;

  float: left;

  font-size: 64px;
  line-height: .95;

  padding-right: 10px;
  padding-top: 6px;

  font-weight: 800;

  color: var(--pt-purple);
}


/* ==========================================================
   6. BIG SOUTH PREVIEW SECTION HEADINGS
   ========================================================== */

.pt-big-south-preview .pt-section-heading {

  position: relative;

  display: block;

  margin: 55px 0 28px;

  padding-bottom: 18px;

  border-bottom: 2px solid var(--pt-border);
}

.pt-big-south-preview .pt-section-heading::after {

  content: "";

  position: absolute;

  bottom: -2px;
  left: 0;

  width: 90px;
  height: 3px;

  background: var(--pt-purple);
}

body .pt-big-south-preview .pt-section-heading h2 {

  font-size: clamp(25px, 3vw, 34px);

  line-height: 1.3;

  color: var(--pt-purple-dark);

  margin: 0;

  font-weight: 800;
}

.pt-big-south-preview .pt-section-subtitle {

  display: block;

  font-family: 'Roboto', Arial, sans-serif;

  font-size: 15px;
  line-height: 1.6;

  color: var(--pt-muted);

  margin-top: 10px;
}


/* ==========================================================
   7. BIG SOUTH PREVIEW RANKINGS TABLE
   ========================================================== */

.pt-big-south-preview .pt-rankings-wrap {

  display: block;

  width: 100%;

  background: #ffffff;

  border: 1px solid var(--pt-border);
  border-radius: 10px;

  overflow: hidden;

  box-shadow: 0 8px 30px rgba(40,20,65,.07);

  margin-bottom: 18px;
}

.pt-big-south-preview .pt-table-scroll {

  width: 100%;
  overflow-x: auto;

  -webkit-overflow-scrolling: touch;
}

.pt-big-south-preview table.pt-rankings {

  width: 100%;
  min-width: 780px;

  border-collapse: collapse;

  margin: 0;

  font-family: 'Roboto', Arial, sans-serif;

  font-size: 13px;
}

.pt-big-south-preview .pt-rankings thead {
  background: var(--pt-purple-dark);
}

.pt-big-south-preview .pt-rankings th {

  background: var(--pt-purple-dark);

  color: #ffffff;

  padding: 16px 10px;

  font-size: 11px;
  font-weight: 800;

  letter-spacing: .045em;

  text-transform: uppercase;
  text-align: center;

  border: 0;

  line-height: 1.5;
}

.pt-big-south-preview .pt-rankings th:nth-child(2) {
  text-align: left;
}

.pt-big-south-preview .pt-rankings td {

  padding: 14px 10px;

  border-bottom: 1px solid #eeeaf2;

  text-align: center;

  font-weight: 600;

  color: #4c4854;

  background: #ffffff;

  line-height: 1.5;
}

.pt-big-south-preview .pt-rankings td:nth-child(2) {

  text-align: left;

  font-weight: 800;

  color: #29212f;
}

.pt-big-south-preview .pt-rankings tbody tr:nth-child(even) td {
  background: #faf8fd;
}

.pt-big-south-preview .pt-rankings tbody tr:first-child td {

  background: #f0e8f8;

  color: var(--pt-purple-dark);

  font-weight: 800;
}

.pt-big-south-preview .pt-rankings tbody tr:last-child td {
  border-bottom: 0;
}

.pt-big-south-preview .pt-rank-number {

  font-family: 'Roboto Slab', Georgia, serif;

  font-size: 17px;
  font-weight: 800;

  color: var(--pt-purple);
}

.pt-big-south-preview .pt-rankings .pt-first {

  display: inline-flex;

  width: 27px;
  height: 27px;

  align-items: center;
  justify-content: center;

  background: var(--pt-purple);

  color: #ffffff;

  border-radius: 5px;

  font-weight: 800;
}

body .pt-big-south-preview .pt-table-note {

  font-size: 13px !important;

  line-height: 1.75 !important;

  color: var(--pt-muted) !important;

  margin: 16px 0 40px !important;
}


/* ==========================================================
   8. BIG SOUTH PREVIEW TEAM PROFILES
   ========================================================== */

body .pt-big-south-preview .pt-team {

  display: block;

  width: 100%;
  max-width: none;

  margin-top: 65px !important;
  margin-bottom: 65px !important;

  padding-top: 38px !important;

  border-top: 2px solid var(--pt-border);
}

.pt-big-south-preview .pt-team-header {

  display: flex !important;

  align-items: center !important;

  gap: 20px !important;

  margin-bottom: 24px !important;
}

.pt-big-south-preview .pt-team-number {

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 67px !important;

  width: 67px !important;
  height: 67px !important;

  background: var(--pt-purple-dark) !important;

  color: #ffffff !important;

  font-family: 'Roboto Slab', Georgia, serif !important;

  font-size: 32px !important;
  font-weight: 800 !important;

  border-radius: 6px !important;
}

.pt-big-south-preview .pt-team:first-of-type .pt-team-number {
  background: var(--pt-purple) !important;
}

.pt-big-south-preview .pt-team-label {

  display: block;

  color: var(--pt-purple);

  font-family: 'Roboto', Arial, sans-serif;

  font-size: 12px;
  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: .13em;

  margin: 0 0 7px;
}

body .pt-big-south-preview .pt-team h3 {

  display: block;

  font-size: clamp(23px, 3vw, 31px);

  line-height: 1.25;

  color: var(--pt-ink);

  margin: 0;

  font-weight: 800;
}


/* ==========================================================
   9. BIG SOUTH PREVIEW RANKING BADGES
   ========================================================== */

.pt-big-south-preview .pt-team-meta {

  display: flex !important;

  flex-wrap: wrap !important;

  gap: 9px !important;

  margin-top: 17px !important;
  margin-bottom: 30px !important;
}

.pt-big-south-preview .pt-meta-pill {

  display: inline-block !important;

  background: #f0eaf7 !important;

  color: var(--pt-purple-dark) !important;

  border: 1px solid #e1d5ef !important;

  padding: 8px 13px !important;

  border-radius: 4px !important;

  font-family: 'Roboto', Arial, sans-serif !important;

  font-size: 12px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;

  letter-spacing: .025em;

  white-space: normal;
}


/* ==========================================================
   10. BIG SOUTH PREVIEW TEAM VERDICTS
   ========================================================== */

body .pt-big-south-preview .pt-verdict {

  display: block !important;

  margin-top: 30px !important;
  margin-bottom: 25px !important;

  background: var(--pt-background) !important;

  border-left: 4px solid var(--pt-purple) !important;

  padding: 22px 25px !important;

  border-radius: 0 6px 6px 0 !important;

  font-family: 'Roboto', Arial, sans-serif !important;

  font-size: 16px !important;

  line-height: 1.85 !important;

  color: var(--pt-ink);
}

.pt-big-south-preview .pt-verdict strong {

  color: var(--pt-purple-dark) !important;

  font-weight: 800 !important;
}


/* ==========================================================
   11. BIG SOUTH PREVIEW EDITORIAL CALLOUT
   ========================================================== */

.pt-big-south-preview .pt-editorial-callout {

  display: block;

  background: #f3edf9;

  border: 1px solid #e3d5f0;

  padding: 25px 30px;

  margin: 40px 0;

  border-radius: 7px;
}

body .pt-big-south-preview .pt-editorial-callout p {

  margin: 0 !important;

  font-family: 'Roboto Slab', Georgia, serif !important;

  font-size: 20px !important;

  line-height: 1.65 !important;

  font-weight: 700 !important;

  color: var(--pt-purple-dark) !important;
}


/* ==========================================================
   12. BIG SOUTH PREVIEW FINAL WORD
   ========================================================== */

.pt-big-south-preview .pt-closing {

  display: block;

  margin-top: 60px;

  padding: 38px;

  background: #f6f2fa;

  border-top: 4px solid var(--pt-purple);

  border-radius: 0 0 7px 7px;
}

body .pt-big-south-preview .pt-closing h2 {

  font-size: 29px;

  line-height: 1.3;

  color: var(--pt-purple-dark);

  margin: 0 0 24px;
}

body .pt-big-south-preview .pt-closing p:last-child {
  margin-bottom: 0 !important;
}


/* ==========================================================
   13. TOOTHSAYER SECTION HEADINGS
   ========================================================== */

.pt-toothsayer .pt-section {

  display: block;

  margin-top: 65px;
}

body .pt-toothsayer .pt-section-title {

  display: block;

  position: relative;

  color: var(--pt-purple-dark) !important;

  font-family: 'Roboto Slab', Georgia, serif !important;

  font-size: clamp(25px, 3vw, 34px) !important;
  font-weight: 800 !important;

  margin: 0 0 30px !important;

  padding-bottom: 18px;

  border-bottom: 2px solid var(--pt-border);
}

.pt-toothsayer .pt-section-title::after {

  content: "";

  position: absolute;

  bottom: -2px;
  left: 0;

  width: 90px;
  height: 3px;

  background: var(--pt-purple);
}

body .pt-toothsayer .pt-subhead {

  color: var(--pt-purple-dark) !important;

  font-family: 'Roboto Slab', Georgia, serif !important;

  font-size: 23px !important;
  font-weight: 800 !important;

  margin: 35px 0 18px !important;
}


/* ==========================================================
   14. TOOTHSAYER GAME INFORMATION
   ========================================================== */

.pt-toothsayer .pt-game-info {

  display: grid !important;

  grid-template-columns: repeat(3, 1fr);

  background: var(--pt-background);

  border: 1px solid var(--pt-border);

  border-radius: 7px;

  overflow: hidden;

  margin: 25px 0 30px;
}

.pt-toothsayer .pt-game-info > div {

  padding: 20px;

  border-right: 1px solid var(--pt-border);
}

.pt-toothsayer .pt-game-info > div:last-child {
  border-right: none;
}

.pt-toothsayer .pt-label {

  display: block;

  color: var(--pt-muted);

  font-size: 11px;
  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: 1.5px;

  margin-bottom: 7px;
}

.pt-toothsayer .pt-game-info strong {

  display: block;

  color: var(--pt-purple-dark);

  font-size: 15px;

  line-height: 1.5;
}


/* ==========================================================
   15. TOOTHSAYER NUMBERS TO NOTE
   ========================================================== */

.pt-toothsayer .pt-stats-grid {

  display: grid !important;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 20px;

  margin-top: 30px;
}

.pt-toothsayer .pt-stat-card {

  display: block;

  min-width: 0;

  background: #ffffff;

  border: 1px solid var(--pt-border);
  border-top: 4px solid var(--pt-purple);

  border-radius: 7px;

  padding: 25px;

  box-shadow: 0 5px 20px rgba(40,20,65,.045);
}

.pt-toothsayer .pt-stat-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.pt-toothsayer .pt-stat-number {

  font-family: 'Roboto Slab', Georgia, serif;

  font-size: 39px;
  font-weight: 800;

  line-height: 1.2;

  color: var(--pt-purple);

  margin-bottom: 10px;
}

body .pt-toothsayer .pt-stat-card h3 {

  color: var(--pt-purple-dark);

  font-size: 20px;

  margin: 0 0 16px;
}

body .pt-toothsayer .pt-stat-card p {

  font-size: 15.5px !important;

  line-height: 1.75 !important;

  margin-bottom: 16px !important;
}

body .pt-toothsayer .pt-stat-question {

  border-top: 1px solid var(--pt-border);

  padding-top: 15px !important;

  margin-top: 18px !important;
  margin-bottom: 0 !important;

  font-weight: 800 !important;

  color: var(--pt-purple-dark) !important;
}


/* ==========================================================
   16. TOOTHSAYER PLAYER PROFILES
   ========================================================== */

.pt-toothsayer .pt-player {

  display: block;

  padding: 28px 0;

  border-bottom: 1px solid var(--pt-border);
}

.pt-toothsayer .pt-player:last-child {
  border-bottom: none;
}

body .pt-toothsayer .pt-player h3 {

  color: var(--pt-purple-dark);

  font-size: 24px;

  margin: 0 0 7px;
}

body .pt-toothsayer .pt-player-role {

  color: var(--pt-purple) !important;

  font-size: 13px !important;

  font-weight: 800 !important;

  text-transform: uppercase;

  letter-spacing: 1px;

  margin-bottom: 18px !important;
}

.pt-toothsayer .pt-watch {

  display: block;

  background: var(--pt-background);

  border-left: 4px solid var(--pt-purple);

  padding: 16px 20px;

  margin-top: 18px;

  border-radius: 0 5px 5px 0;
}

body .pt-toothsayer .pt-watch p {

  margin: 0 !important;

  font-size: 15.5px !important;
  line-height: 1.75 !important;
}


/* ==========================================================
   17. TOOTHSAYER MARQUEE MATCHUPS
   ========================================================== */

.pt-toothsayer .pt-matchup {

  display: block;

  padding: 28px 0;

  border-bottom: 1px solid var(--pt-border);
}

.pt-toothsayer .pt-matchup:last-child {
  border-bottom: none;
}

body .pt-toothsayer .pt-matchup h3 {

  color: var(--pt-purple-dark);

  font-size: 23px;

  margin: 0 0 7px;
}

body .pt-toothsayer .pt-matchup-role {

  color: var(--pt-purple) !important;

  font-size: 15px !important;

  font-weight: 800 !important;

  margin-bottom: 18px !important;
}


/* ==========================================================
   18. TOOTHSAYER KEYS TO VICTORY
   ========================================================== */

.pt-toothsayer .pt-key {

  display: flex !important;

  align-items: flex-start;

  gap: 22px;

  margin-bottom: 32px;
}

.pt-toothsayer .pt-key-number {

  display: flex !important;

  align-items: center;
  justify-content: center;

  flex: 0 0 43px;

  width: 43px;
  height: 43px;

  background: var(--pt-purple);

  color: #ffffff;

  border-radius: 50%;

  font-family: 'Roboto Slab', Georgia, serif;

  font-size: 20px;
  font-weight: 800;
}

body .pt-toothsayer .pt-key h3 {

  color: var(--pt-purple-dark);

  font-size: 21px;

  margin: 0 0 12px;
}


/* ==========================================================
   19. TOOTHSAYER PREDICTION PANEL
   ========================================================== */

.pt-toothsayer .pt-prediction {

  display: block;

  background: linear-gradient(
    135deg,
    #25113f,
    #492478 60%,
    #7045a2
  );

  padding: 42px 30px;

  border-radius: 8px;

  text-align: center;

  color: #ffffff !important;

  margin: 35px 0;
}

.pt-toothsayer .pt-prediction-label {

  text-transform: uppercase;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 2px;

  color: #d9c9ff;

  margin-bottom: 15px;
}

.pt-toothsayer .pt-score {

  font-family: 'Roboto Slab', Georgia, serif;

  font-size: clamp(28px, 4vw, 46px);

  font-weight: 800;

  color: #ffffff !important;

  line-height: 1.5;
}

.pt-toothsayer .pt-score span {
  color: #d4b6ff;
}

body .pt-toothsayer .pt-prediction p {

  color: #eee8ff !important;

  font-size: 16px !important;

  max-width: 650px !important;

  margin: 20px auto 0 !important;
}

body .pt-toothsayer .pt-closing {

  font-family: 'Roboto Slab', Georgia, serif !important;

  font-size: 22px !important;
  line-height: 1.7 !important;

  font-weight: 800 !important;

  color: var(--pt-purple-dark) !important;

  margin-top: 35px !important;
}


/* ==========================================================
   20. REMOVE UNWANTED WORDPRESS LINE BREAKS
   ========================================================== */

/* Applies only to Big South Preview paragraphs */

body .pt-big-south-preview .pt-intro p br,
body .pt-big-south-preview .pt-team p br,
body .pt-big-south-preview .pt-closing p br,
body .pt-big-south-preview .pt-table-note br,
body .pt-big-south-preview .pt-verdict br {
  display: none !important;
}


/* ==========================================================
   21. MOBILE RESPONSIVENESS
   ========================================================== */

@media (max-width: 700px) {

  .pt-big-south-preview,
  .pt-toothsayer {
    font-size: 16px;
  }

  body .pt-big-south-preview .pt-body,
  body .pt-toothsayer .pt-body {

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 15px !important;
  }

  .pt-big-south-preview .pt-hero,
  .pt-toothsayer .pt-hero {

    padding: 38px 24px 40px !important;

    margin-bottom: 35px !important;

    border-radius: 5px;
  }

  body .pt-big-south-preview .pt-hero h1,
  body .pt-toothsayer .pt-hero h1 {
    font-size: 35px !important;
  }

  body .pt-big-south-preview .pt-hero .pt-hero-subtitle,
  body .pt-toothsayer .pt-hero .pt-deck {
    font-size: 16px !important;
  }

  body .pt-big-south-preview .pt-body p,
  body .pt-toothsayer .pt-body p {

    font-size: 16px !important;

    line-height: 1.85 !important;

    margin-bottom: 23px !important;
  }

  .pt-big-south-preview .pt-intro {
    padding: 0;
  }

  body .pt-big-south-preview .pt-team {

    margin-top: 48px !important;
    margin-bottom: 48px !important;

    padding-top: 30px !important;
  }

  .pt-big-south-preview .pt-team-header {
    gap: 13px !important;
  }

  .pt-big-south-preview .pt-team-number {

    flex-basis: 52px !important;

    width: 52px !important;
    height: 52px !important;

    font-size: 25px !important;
  }

  body .pt-big-south-preview .pt-team h3 {
    font-size: 23px;
  }

  .pt-big-south-preview .pt-meta-pill {

    font-size: 11px !important;

    padding: 7px 10px !important;
  }

  body .pt-big-south-preview .pt-verdict {

    padding: 18px !important;

    font-size: 15px !important;
  }

  .pt-big-south-preview .pt-editorial-callout {
    padding: 22px;
  }

  body .pt-big-south-preview .pt-editorial-callout p {
    font-size: 17px !important;
  }

  .pt-big-south-preview .pt-closing {
    padding: 27px 21px;
  }

  body .pt-big-south-preview .pt-closing h2 {
    font-size: 25px;
  }

  .pt-toothsayer .pt-game-info {
    grid-template-columns: 1fr;
  }

  .pt-toothsayer .pt-game-info > div {

    border-right: none;
    border-bottom: 1px solid var(--pt-border);
  }

  .pt-toothsayer .pt-game-info > div:last-child {
    border-bottom: none;
  }

  .pt-toothsayer .pt-stats-grid {
    grid-template-columns: 1fr;
  }

  .pt-toothsayer .pt-stat-card:last-child:nth-child(odd) {
    grid-column: auto;
  }

  body .pt-toothsayer .pt-section-title {
    font-size: 27px !important;
  }

  .pt-toothsayer .pt-key {
    gap: 15px;
  }

  .pt-toothsayer .pt-stat-card {
    padding: 22px;
  }

  body .pt-toothsayer .pt-stat-card p {
    font-size: 15px !important;
  }

  .pt-toothsayer .pt-prediction {
    padding: 35px 20px;
  }

}


/* ==========================================================
   22. BIG SOUTH PREVIEW — POST 1574
   HIDE DUPLICATE FEATURED IMAGE / TITLE
   ========================================================== */

/* Hide Astra featured image */

body.postid-1574 .post-thumb,
body.postid-1574 .post-thumb-img-content,
body.postid-1574 .ast-single-post-featured-section,
body.postid-1574 .ast-featured-img,
body.postid-1574 .wp-post-image {
  display: none !important;
}

/* Hide Astra title/banner area */

body.postid-1574 .ast-single-entry-banner,
body.postid-1574 .ast-article-single .entry-header,
body.postid-1574 .entry-header.ast-no-title {
  display: none !important;
}

/* Remove spacing */

body.postid-1574 .ast-article-single {
  padding-top: 0 !important;
}

/* Hide duplicate Elementor featured image widget */

body.postid-1574 .elementor-element-c7ef388 {
  display: none !important;
}
/* ==========================================================
   PANTHERSTOOTH | TOOTHSAYER LAYOUT REFINEMENTS

   Fixes:
   1. Narrow article paragraphs
   2. Numbers to Note alignment
   3. Full-width prediction panel
   ========================================================== */


/* ==========================================================
   1. WIDEN TOOTHSAYER ARTICLE CONTENT
   ========================================================== */

body .pt-toothsayer {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .pt-toothsayer .pt-body {
    display: block !important;

    width: 100% !important;
    max-width: 1000px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

/* Expand all article sections */

body .pt-toothsayer .pt-section,
body .pt-toothsayer .pt-intro,
body .pt-toothsayer .pt-player,
body .pt-toothsayer .pt-matchup,
body .pt-toothsayer .pt-key {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Remove inherited paragraph restrictions */

body .pt-toothsayer .pt-body p,
body .pt-toothsayer .pt-section p,
body .pt-toothsayer .pt-intro p {

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    white-space: normal !important;

    overflow-wrap: break-word !important;
    word-break: normal !important;
}


/* ==========================================================
   2. NUMBERS TO NOTE — FULL-WIDTH CARDS
   ========================================================== */

body .pt-toothsayer .pt-stats-grid {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) !important;

    gap: 24px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 30px 0 45px !important;
}

body .pt-toothsayer .pt-stat-card {

    display: block !important;

    grid-column: 1 / -1 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding: 30px 35px !important;

    background: #ffffff !important;

    border: 1px solid #e6e1eb !important;
    border-top: 4px solid #52258a !important;

    border-radius: 8px !important;

    box-shadow: 0 6px 22px rgba(40,20,65,.05);
}

body .pt-toothsayer .pt-stat-number {

    font-family: 'Roboto Slab', Georgia, serif !important;

    font-size: 42px !important;
    font-weight: 800 !important;

    color: #52258a !important;

    line-height: 1.2 !important;

    margin-bottom: 12px !important;
}

body .pt-toothsayer .pt-stat-card h3 {

    font-family: 'Roboto Slab', Georgia, serif !important;

    font-size: 22px !important;

    color: #35165e !important;

    margin: 0 0 18px !important;
}

body .pt-toothsayer .pt-stat-card p {

    width: 100% !important;
    max-width: none !important;

    font-size: 16px !important;
    line-height: 1.85 !important;

    margin-bottom: 18px !important;
}

body .pt-toothsayer .pt-stat-card .pt-stat-question {

    border-top: 1px solid #e6e1eb !important;

    padding-top: 17px !important;

    margin-top: 22px !important;
    margin-bottom: 0 !important;

    font-weight: 800 !important;

    color: #35165e !important;
}


/* ==========================================================
   3. PREDICTION PANEL — FULL EDITORIAL DESIGN
   ========================================================== */

body .pt-toothsayer .pt-prediction {

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 40px 0 !important;

    padding: 55px 55px 50px !important;

    background: linear-gradient(
        135deg,
        #25113f 0%,
        #492478 55%,
        #7045a2 100%
    ) !important;

    border-radius: 9px !important;

    color: #ffffff !important;

    text-align: center;
}

body .pt-toothsayer .pt-prediction-label {

    color: #d9c9ff !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    text-transform: uppercase;

    letter-spacing: 2px;

    margin-bottom: 22px !important;
}

body .pt-toothsayer .pt-score {

    color: #ffffff !important;

    font-family: 'Roboto Slab', Georgia, serif !important;

    font-size: clamp(32px, 4vw, 48px) !important;

    font-weight: 800 !important;

    line-height: 1.45 !important;

    margin-bottom: 25px !important;
}

body .pt-toothsayer .pt-score span {
    color: #d4b6ff !important;
}

/* Prediction explanation */

body .pt-toothsayer .pt-prediction p {

    color: #f0e9f8 !important;

    font-family: 'Roboto', Arial, sans-serif !important;

    font-size: 17px !important;
    line-height: 1.9 !important;

    font-weight: 400 !important;

    width: 100% !important;
    max-width: 850px !important;

    margin: 0 auto 24px !important;

    text-align: left !important;
}

/* Closing statement */

body .pt-toothsayer .pt-prediction .pt-final-statement {

    display: block !important;

    width: 100% !important;
    max-width: 850px !important;

    margin: 35px auto 0 !important;

    padding-top: 28px !important;

    border-top: 1px solid rgba(255,255,255,.25);

    color: #ffffff !important;

    font-family: 'Roboto Slab', Georgia, serif !important;

    font-size: 22px !important;
    font-weight: 800 !important;

    line-height: 1.7 !important;

    text-align: center !important;
}


/* ==========================================================
   4. MOBILE ADJUSTMENTS
   ========================================================== */

@media (max-width: 700px) {

    body .pt-toothsayer .pt-body {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
    }

    body .pt-toothsayer .pt-stat-card {
        padding: 24px 22px !important;
    }

    body .pt-toothsayer .pt-stat-number {
        font-size: 36px !important;
    }

    body .pt-toothsayer .pt-prediction {
        padding: 38px 24px !important;
    }

    body .pt-toothsayer .pt-prediction p {
        font-size: 16px !important;
        line-height: 1.8 !important;
    }

    body .pt-toothsayer .pt-prediction .pt-final-statement {
        font-size: 19px !important;
    }

}
/* ==========================================================
   PANTHERSTOOTH — FIX ARTICLE TEXT WIDTH
   ========================================================== */

/* Override inherited paragraph width restrictions */
body .pt-toothsayer p,
body .pt-toothsayer .pt-body p,
body .pt-toothsayer .pt-intro p,
body .pt-toothsayer .pt-section p,
body .pt-toothsayer .pt-prediction p,
body .pt-toothsayer .pt-prediction .pt-final-statement {

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    float: none !important;
    clear: both !important;
}

/* Ensure main content containers use available space */
body .pt-toothsayer .pt-body,
body .pt-toothsayer .pt-intro,
body .pt-toothsayer .pt-section,
body .pt-toothsayer .pt-prediction {

    width: 100% !important;
    max-width: 100% !important;
}

/* Allow the prediction text to fill the panel */
body .pt-toothsayer .pt-prediction p,
body .pt-toothsayer .pt-prediction .pt-final-statement {

    max-width: 900px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

/* Center the final prediction statement */
body .pt-toothsayer .pt-prediction .pt-final-statement {
    text-align: center !important;
}
/* ==========================================================
   PANTHERSTOOTH — REMOVE FORCED LINE BREAKS
   ========================================================== */

body .pt-toothsayer .pt-body p br,
body .pt-toothsayer .pt-section p br,
body .pt-toothsayer .pt-intro p br,
body .pt-toothsayer .pt-prediction p br {

    display: none !important;

}
/* ==========================================================
   PANTHERSTOOTH | TOOTHSAYER PREDICTION
   Reduce spacing between final scores
   ========================================================== */

body .pt-toothsayer .pt-prediction .pt-scoreboard {
    gap: 12px !important;
}

body .pt-toothsayer .pt-prediction .pt-scoreboard > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* ==========================================================
   PANTHERSTOOTH | LIBERTY TOOTHSAYER
   Post ID: 1617

   Hide Elementor duplicate title/banner and featured image
   Preserve custom purple article hero
   ========================================================== */

/* Hide Elementor-generated title/banner */
body.postid-1617 .elementor-element-5eeb6bd {
    display: none !important;
}

/* Hide Elementor-generated featured image */
body.postid-1617 .elementor-element-c7ef388 {
    display: none !important;
}