/* ============================================================
   SN ARTICLE TEMPLATE - template-article.css
   Loaded only on body.template-article pages.
   Fonts: League Spartan (headings/UI) + Poppins (body) - both
   already loaded globally. IBM Plex Mono for utility labels only.
   Type Scale: per SoccerNews Type Scale Spec v4 article column.
   Layout collapse: 1040px (TOC stacks). Mobile type: 768px.
   ============================================================ */

/* ============================================================
   TOKENS - difficulty badges only (not in global-style.css)
   All colours use site's existing CSS variables automatically
   so dark mode via body.dark works with zero extra code.
   ============================================================ */
:root {
    --art-diff-beginner-bar:     #10b981;
    --art-diff-beginner-bg:      #ecfdf5;
    --art-diff-beginner-text:    #047857;
    --art-diff-intermediate-bar: #f59e0b;
    --art-diff-intermediate-bg:  #fef3c7;
    --art-diff-intermediate-text:#92400e;
    --art-diff-advanced-bar:     #ef4444;
    --art-diff-advanced-bg:      #fee2e2;
    --art-diff-advanced-text:    #991b1b;

    --spec-slots-bg:   #eef2ff;
    --spec-slots-text: #3730a3;
    --spec-live-bg:    #fef3c7;
    --spec-live-text:  #92400e;
    --spec-both-bg:    #e8f5f3;
    --spec-both-text:  #0d7a70;

    --art-font-heading: 'League Spartan', system-ui, sans-serif;
    --art-font-body:    'Poppins', system-ui, sans-serif;
    --art-font-mono:    'Poppins', system-ui, sans-serif;
    --art-rail-toc: 240px;
    --art-reading:  680px;
}

/* ============================================================
   ARTICLE HEAD
   ============================================================ */
body.template-article .article-head {
    background: var(--white-gray-bkg);
    border-bottom: 1px solid var(--light-gray-border);
    padding: 2rem 2rem 2.5rem;
}

body.template-article .article-head-inner {
}

body.template-article .article-eyebrow-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

body.template-article .green-bar {
    width: 3px;
    height: 22px;
    background: #149688;
    flex-shrink: 0;
}

body.template-article .article-eyebrow {
    font-family: var(--art-font-heading);
    font-size: 13px;
    font-weight: 500;
    color: #149688;
    background: #e8f5f3;
    padding: 5px 11px;
    border-radius: 4px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.template-article .article-h1-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

body.template-article .article-h1-row .green-bar {
    height: auto;
    align-self: stretch;
    min-height: 38px;
}

body.template-article .article-h1-row .article-h1 {
    margin-bottom: 0;
}

body.template-article .article-h1 {
    font-family: var(--art-font-heading);
    font-size: var(--sn-h1-article, 38px);
    font-weight: 700;
    color: var(--text-white);
    letter-spacing: -0.01em;
    line-height: 1.2;
    margin: 0 0 0.75rem 0;
    max-width: 800px;
}

body.template-article .article-deck {
    font-family: var(--art-font-body);
    font-size: 17px;
    color: var(--light-white);
    line-height: 1.6;
    margin: 0 0 1.25rem 0;
    font-weight: 400;
}

/* Byline */
body.template-article .article-byline-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    font-family: var(--art-font-body);
    font-size: 14px;
    color: var(--light-white);
}

body.template-article .byline-authors {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body.template-article .byline-author {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

body.template-article .avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-color: #e8f5f3;
    flex-shrink: 0;
}

body.template-article .avatar-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--art-font-heading);
    font-size: 12px;
    font-weight: 600;
    color: var(--green-white);
    letter-spacing: 0.04em;
}

body.template-article .byline-author a {
    color: var(--text-white);
    text-decoration: none;
    font-weight: 600;
}
body.template-article .byline-author a:hover { color: #149688; }

body.template-article .byline-sep {
    color: var(--dark-gray);
    font-size: 12px;
}

body.template-article .byline-meta {
    font-family: var(--art-font-mono);
    font-size: 12px;
    color: var(--dark-gray);
    letter-spacing: 0.04em;
}
body.template-article .byline-meta strong {
    color: var(--text-white);
    font-weight: 600;
}

/* ============================================================
   ARTICLE FRAME - TOC + body grid
   ============================================================ */
body.template-article .article-frame {
    display: grid;
    grid-template-columns: var(--art-rail-toc) 1fr;
    gap: 3.5rem;
    padding: 3.5rem 2rem 5rem;
    max-width: 1280px;
}

@media (max-width: 1040px) {
    body.template-article .article-frame {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 2.5rem 1.5rem 3.5rem;
    }
    body.template-article .toc-aside {
        position: static;
        max-height: none;
    }
    body.template-article .toc {
        background: var(--white-gray-bkg);
        border: 1px solid var(--light-gray-border);
        padding: 1.25rem 1.5rem;
        border-radius: 6px;
    }
}

@media (max-width: 560px) {
    body.template-article .article-frame {
        padding: 2rem 1rem 2.5rem;
    }
    body.template-article .article-head {
        padding: 1.5rem 1rem 2rem;
    }
}

/* ============================================================
   STICKY TOC
   ============================================================ */
body.template-article .toc-aside {
    position: sticky;
    top: 5rem;
    align-self: start;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

body.template-article .toc-label {
    font-family: var(--art-font-mono);
    font-size: 10px;
    color: var(--dark-gray);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

body.template-article .toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-left: 1px solid var(--light-gray-border);
}

body.template-article .toc-list li { margin: 0; }

body.template-article .toc-list a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 7px 0 7px 14px;
    margin-left: -1px;
    border-left: 2px solid transparent;
    color: var(--light-white);
    text-decoration: none;
    font-family: var(--art-font-body);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    transition: color 0.12s, border-color 0.12s;
}

body.template-article .toc-list a:hover {
    color: #149688;
    border-left-color: #149688;
    text-decoration: none;
}

body.template-article .toc-list a.active {
    color: var(--green-white);
    font-weight: 600;
    border-left-color: #149688;
}

body.template-article .toc-num {
    font-family: var(--art-font-mono);
    font-size: 10px;
    color: var(--dark-gray);
    flex-shrink: 0;
    letter-spacing: 0.04em;
}

/* ============================================================
   ARTICLE BODY - Poppins, reading width, Type Scale Spec v4
   ============================================================ */
body.template-article .article-body {
    max-width: var(--art-reading);
    font-family: var(--art-font-body);
    font-size: var(--sn-body, 17px);
    font-weight: 400;
    line-height: 1.6;
    color: var(--text-white);
}

body.template-article .article-body p {
    font-family: var(--art-font-body);
    font-size: var(--sn-body, 17px);
    font-weight: 400;
    line-height: 1.6;
    color: var(--text-white);
    margin-bottom: 1rem;
}

body.template-article .article-body strong {
    color: var(--text-white);
    font-weight: 600;
}

body.template-article .article-body a {
    color: var(--green-white);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}
body.template-article .article-body a:hover { color: #149688; }

/* Headings */
body.template-article .article-body h2 {
    font-family: var(--art-font-heading);
    font-size: var(--sn-h2-article, 28px);
    font-weight: 600;
    color: var(--text-white);
    letter-spacing: 0;
    line-height: 1.2;
    margin: 3.5rem 0 0.5rem;
    padding-left: 1rem;
    border-left: 3px solid #149688;
    scroll-margin-top: 5rem;
}

body.template-article .article-body h3 {
    font-family: var(--art-font-heading);
    font-size: var(--sn-h3, 22px);
    font-weight: 600;
    color: var(--text-white);
    letter-spacing: 0;
    line-height: 1.3;
    margin: 2rem 0 0.75rem;
}

body.template-article .article-body h4 {
    font-family: var(--art-font-heading);
    font-size: var(--sn-h4, 19px);
    font-weight: 600;
    color: var(--text-white);
    line-height: 1.3;
    margin: 1.5rem 0 0.5rem;
}

/* ============================================================
   VARIANT META ROW - type chip + difficulty + featured
   ============================================================ */
body.template-article .variant-meta-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.75rem 0 1.5rem 17px;
    flex-wrap: wrap;
}

body.template-article .meta-chip {
    font-family: var(--art-font-mono);
    font-size: 10px;
    font-weight: 600;
    padding: 4px 9px;
    border-radius: 4px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.template-article .meta-chip.type {
    background: var(--white-gray-light-bkg);
    border: 1px solid var(--light-gray-border);
    color: var(--light-white);
}

body.template-article .meta-chip.diff-beginner     { background: var(--art-diff-beginner-bg);     color: var(--art-diff-beginner-text); }
body.template-article .meta-chip.diff-intermediate { background: var(--art-diff-intermediate-bg); color: var(--art-diff-intermediate-text); }
body.template-article .meta-chip.diff-advanced     { background: var(--art-diff-advanced-bg);     color: var(--art-diff-advanced-text); }

body.template-article .meta-chip.featured {
    background: #149688;
    color: #fff;
}

body.template-article .meta-chip.spec-slots { background: var(--spec-slots-bg); color: var(--spec-slots-text); }
body.template-article .meta-chip.spec-live  { background: var(--spec-live-bg);  color: var(--spec-live-text); }
body.template-article .meta-chip.spec-both  { background: var(--spec-both-bg);  color: var(--spec-both-text); }

/* ============================================================
   INFO CARD - at-a-glance facts per variant
   ============================================================ */
body.template-article .info-card {
    background: #f3faf9;
    border: 1px solid #c5e3df;
    border-left: 3px solid #149688;
    border-radius: 0 6px 6px 0;
    padding: 1.25rem 1.5rem;
    margin: 2rem 0;
}

body.template-article .info-card-label {
    font-family: var(--art-font-mono);
    font-size: 10px;
    color: var(--green-white);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

body.template-article .info-card dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 1.25rem;
    margin: 0;
}

body.template-article .info-card dt {
    font-family: var(--art-font-mono);
    font-size: 13px;
    color: var(--light-white);
    letter-spacing: 0.04em;
    font-weight: 500;
    padding: 1px 0;
}

body.template-article .info-card dd {
    font-family: var(--art-font-body);
    font-size: 13px;
    color: var(--text-white);
    margin: 0;
    padding: 1px 0;
    font-weight: 500;
}

/* ============================================================
   WHERE TO PLAY - inline per-variant block
   ============================================================ */
body.template-article .where-to-play {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    padding: 1.25rem;
    margin: 2rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    box-shadow: 0 1px 2px rgba(20, 24, 28, 0.04);
}

body.template-article .where-to-play-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e8f5f3;
    color: var(--green-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
}

body.template-article .where-to-play-text {
    flex: 1;
    min-width: 220px;
    font-family: var(--art-font-body);
    font-size: 14px;
    color: var(--text-white);
    line-height: 1.5;
}

body.template-article .where-to-play-text strong { color: var(--text-white); font-weight: 600; }

body.template-article .where-to-play-link,
body.template-article .article-body .where-to-play-link {
    font-family: var(--art-font-heading);
    font-size: 13px;
    color: #149688;
    text-decoration: none;
    border: 1.5px solid #149688;
    padding: 10px 1.25rem;
    border-radius: 6px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.18s, color 0.18s;
    display: inline-block;
}

body.template-article .where-to-play-link:hover {
    background: #e8f5f3;
    color: var(--green-white);
    text-decoration: none;
}

/* ============================================================
   VARIANT FAQ
   ============================================================ */
body.template-article .variant-faq {
    margin: 2rem 0;
}

body.template-article .variant-faq > h3 {
    font-family: var(--art-font-mono);
    font-size: 11px;
    color: var(--dark-gray);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0 0 0.75rem;
}

body.template-article .variant-faq-item {
    border-top: 1px solid var(--light-gray-border);
    padding: 0.75rem 0;
}

body.template-article .variant-faq-item:last-child {
    border-bottom: 1px solid var(--light-gray-border);
}

body.template-article .variant-faq-q {
    font-family: var(--art-font-heading);
    font-size: var(--sn-faq-question, 19px);
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 0.25rem;
    letter-spacing: 0;
}

body.template-article .variant-faq-a {
    font-family: var(--art-font-body);
    font-size: var(--sn-body, 17px);
    color: var(--text-white);
    line-height: 1.6;
}

/* ============================================================
   TRAILING CONVERSION BLOCK
   ============================================================ */
body.template-article .conversion-trailing {
    margin: 5rem 0 0;
    padding: 2.5rem 2rem;
    background: #14181c;
    color: #fff;
    border-radius: 8px;
}

body.template-article .conversion-trailing h2 {
    font-family: var(--art-font-heading);
    font-size: var(--sn-h2-article, 28px);
    font-weight: 600;
    color: #fff !important;
    letter-spacing: 0;
    margin: 0 0 0.75rem;
    padding-left: 0;
    border-left: none;
    text-transform: none;
}

body.template-article .conversion-trailing p {
    font-family: var(--art-font-body);
    color: rgba(255,255,255,0.78) !important;
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 1.25rem;
    max-width: 560px;
}

body.template-article .conversion-cta,
body.template-article .article-body .conversion-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #149688;
    color: #fff;
    font-family: var(--art-font-heading);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    border: 1.5px solid #149688;
    text-decoration: none;
    transition: background 0.18s, border-color 0.18s, transform 0.12s;
}

body.template-article .conversion-cta:hover {
    background: #64ffda;
    border-color: #64ffda;
    color: #1b1c1e;
    text-decoration: none;
    transform: translateY(-1px);
}

/* ============================================================
   MOBILE TYPE SCALE - 768px
   ============================================================ */
@media (max-width: 768px) {
    body.template-article .article-h1 { font-size: var(--sn-h1-article-mobile, 28px); }
    body.template-article .article-body h2 { font-size: var(--sn-h2-article-mobile, 22px); }
    body.template-article .article-body h3 { font-size: var(--sn-h3-mobile, 18px); }
    body.template-article .article-body,
    body.template-article .article-body p { font-size: var(--sn-body-mobile, 16px); }
    body.template-article .article-eyebrow { font-size: var(--sn-eyebrow-mobile, 12px); }
}

/* ============================================================
   RG STRIP
   ============================================================ */
body.template-article .rg-strip {
    background: #28292d;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
body.template-article .rg-strip p {
    font-size: 11px;
    color: #ccc;
    flex: 1;
    margin: 0;
}
body.template-article .rg-strip a {
    color: #149688;
    text-decoration: none;
    font-size: 11px;
    white-space: nowrap;
}
body.template-article .rg-strip a:hover { text-decoration: underline; }
body.template-article .rg-strip .rg-18 {
    background: #149688;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 3px;
    flex-shrink: 0;
}

body.dark.template-article .rg-strip { background: #ebf0f3; }
body.dark.template-article .rg-strip p { color: #28292d; }
body.dark.template-article .rg-strip a { color: #149688; }

/* ============================================================
   PROVIDERS COMPARE TABLE - casino providers page
   ============================================================ */
body.template-article .providers-compare {
    margin: 28px 0 8px;
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    overflow: hidden;
}

body.template-article .providers-compare table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}

body.template-article .providers-compare thead th {
    background: var(--light-gray-bkg);
    text-align: left;
    font-family: var(--art-font-heading);
    font-weight: 600;
    color: var(--text-white);
    font-size: 12px;
    letter-spacing: 0.02em;
    padding: 11px 14px;
    border-bottom: 1px solid var(--light-gray-border);
}

body.template-article .providers-compare tbody td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--light-gray-border);
    color: var(--text-white);
    vertical-align: top;
    line-height: 1.45;
}

body.template-article .providers-compare tbody tr:last-child td { border-bottom: none; }
body.template-article .providers-compare tbody tr:nth-child(even) td { background: #f3faf9; }

body.template-article .providers-compare td .pname {
    font-weight: 600;
    color: var(--text-white);
}

body.template-article .providers-compare td .pname a {
    color: #0d7a70;
    text-decoration: none;
}

body.template-article .providers-compare td .pname a:hover { color: #149688; }

body.template-article .providers-compare .spec-cell {
    font-family: var(--art-font-mono);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

body.template-article .providers-compare .spec-cell.slots { color: var(--spec-slots-text); }
body.template-article .providers-compare .spec-cell.live  { color: var(--spec-live-text); }
body.template-article .providers-compare .spec-cell.both  { color: var(--spec-both-text); }

body.template-article .providers-compare-note {
    font-size: 13px;
    color: var(--light-white);
    margin-top: 10px;
}

@media (max-width: 620px) {
    body.template-article .providers-compare { overflow-x: auto; }
    body.template-article .providers-compare table { min-width: 560px; }
}

/* Dark mode overrides for providers compare table */
body.dark.template-article .providers-compare tbody tr:nth-child(even) td {
    background: rgba(20, 150, 136, 0.06);
}

/* ============================================================
   DARK MODE - handled automatically via site CSS variables.
   body.dark swaps all var(--white-gray-bkg), var(--text-white),
   var(--light-gray-border) etc. in global-style.css.
   Only elements with hardcoded colours need overrides here.
   ============================================================ */
body.dark.template-article .info-card {
    background: rgba(20, 150, 136, 0.08);
    border-color: rgba(20, 150, 136, 0.2);
}

body.dark.template-article .meta-chip.type {
    background: var(--light-gray-bkg);
    border-color: var(--light-gray-border);
    color: var(--text-white);
}

body.dark.template-article .toc-list a.active,
body.dark.template-article .toc-list a:hover {
    color: #149688;
    border-left-color: #149688;
}

/* ============================================================
   CRITERIA LIST - numbered checklist (Beginners Guide §3)
   Reusable for 3–7 item numbered checklists across gambling section.
   ============================================================ */
body.template-article .criteria-list {
    margin: 1.75rem 0;
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    overflow: hidden;
}

body.template-article .criteria-list-row {
    display: grid;
    grid-template-columns: 44px 1fr;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--light-gray-border);
    gap: 0.875rem;
    align-items: baseline;
}

body.template-article .criteria-list-row:last-child { border-bottom: none; }

body.template-article .criteria-list-row:nth-child(even) {
    background: #f3faf9;
}

body.template-article .criteria-num {
    font-family: var(--art-font-mono);
    font-size: 14px;
    font-weight: 700;
    color: #0d7a70;
}

body.template-article .criteria-name {
    font-family: var(--art-font-heading);
    font-weight: 600;
    color: var(--text-white);
    display: block;
    margin-bottom: 4px;
    font-size: 15px;
}

body.template-article .criteria-body {
    font-family: var(--art-font-body);
    font-size: 14px;
    color: var(--light-white);
    line-height: 1.55;
}

body.template-article .criteria-body strong { color: var(--text-white); }

/* Dark mode */
body.dark.template-article .criteria-list-row:nth-child(even) {
    background: rgba(20, 150, 136, 0.06);
}

@media (max-width: 560px) {
    body.template-article .criteria-list-row {
        grid-template-columns: 36px 1fr;
        padding: 0.875rem;
        gap: 0.625rem;
    }
}

/* ============================================================
   READ FULL - editorial cross-link block (bridge sections)
   Repurposed from .where-to-play; points to internal child pages.
   ============================================================ */
body.template-article .read-full {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    padding: 1.25rem 1.25rem;
    margin: 1.75rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    box-shadow: 0 1px 2px rgba(20, 24, 28, 0.04);
}

body.template-article .read-full-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e8f5f3;
    color: #0d7a70;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
}

body.template-article .read-full-text {
    flex: 1;
    min-width: 200px;
    font-family: var(--art-font-body);
    font-size: 14px;
    color: var(--text-white);
    line-height: 1.5;
}

body.template-article .read-full-text strong { color: var(--text-white); font-weight: 600; }
body.template-article .read-full-text em { color: var(--light-white); }

body.template-article .read-full-link,
body.template-article .article-body .read-full-link {
    font-family: var(--art-font-heading);
    font-size: 13px;
    color: #149688;
    text-decoration: none;
    border: 1.5px solid #149688;
    padding: 8px 1.125rem;
    border-radius: 5px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
    display: inline-block;
}

body.template-article .read-full-link:hover,
body.template-article .article-body .read-full-link:hover {
    background: #149688;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 560px) {
    body.template-article .read-full {
        align-items: flex-start;
        gap: 0.75rem;
        padding: 1rem;
    }
    body.template-article .read-full-link {
        width: 100%;
        text-align: center;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* ============================================================
   CALC BLOCK - worked example calculation layout
   Used on: wagering requirements page (reusable across gambling cluster)
   ============================================================ */
body.template-article .calc-block {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
    margin: 1.5rem 0;
}

body.template-article .calc-block-label {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #0d7a70;
    font-weight: 600;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.template-article .calc-block-label::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #149688;
    border-radius: 50%;
    flex-shrink: 0;
}

body.template-article .calc-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 16px;
    padding: 8px 0;
    border-bottom: 1px solid var(--light-gray-border);
    font-size: 14px;
}

body.template-article .calc-row:last-child { border-bottom: none; }

body.template-article .calc-label {
    font-family: var(--art-font-body);
    color: var(--text-white);
}

body.template-article .calc-value {
    font-family: var(--art-font-mono);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-white);
    text-align: right;
    white-space: nowrap;
}

body.template-article .calc-row.calc-result .calc-label {
    font-family: var(--art-font-heading);
    font-weight: 600;
    color: var(--text-white);
}

body.template-article .calc-row.calc-result .calc-value {
    color: #0d7a70;
    font-size: 15px;
}

@media (max-width: 560px) {
    body.template-article .calc-block { padding: 1rem; }
}

/* ============================================================
   CONTRIBUTION TABLE - game contribution percentages
   Used on: wagering requirements page (reusable)
   ============================================================ */
body.template-article .contribution-table {
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    overflow: hidden;
    margin: 1.5rem 0;
}

body.template-article .contribution-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

body.template-article .contribution-table thead th {
    background: var(--white-gray-light-bkg);
    text-align: left;
    font-family: var(--art-font-heading);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 10px 14px;
    border-bottom: 1px solid var(--light-gray-border);
    color: var(--text-white);
}

body.template-article .contribution-table tbody td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--light-gray-border);
    color: var(--text-white);
    font-family: var(--art-font-body);
    vertical-align: middle;
}

body.template-article .contribution-table tbody tr:last-child td { border-bottom: none; }

body.template-article .contribution-table tbody tr:nth-child(even) td {
    background: rgba(20, 150, 136, 0.04);
}

body.template-article .contrib-pct {
    font-family: var(--art-font-mono);
    font-weight: 600;
    font-size: 13px;
}

body.template-article .contrib-pct.good { color: #0d7a70; }
body.template-article .contrib-pct.mid  { color: #b45309; }
body.template-article .contrib-pct.bad  { color: #b91c1c; }

@media (max-width: 620px) {
    body.template-article .contribution-table { overflow-x: auto; }
    body.template-article .contribution-table table { min-width: 480px; }
}

/* Dark mode */
body.dark.template-article .contribution-table tbody tr:nth-child(even) td {
    background: rgba(20, 150, 136, 0.08);
}

/* ============================================================
   COMPARISON GRID - two-card side-by-side (sticky vs non-sticky)
   Used on: wagering requirements page (reusable for any 2-option comparison)
   ============================================================ */
body.template-article .comparison-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 1.5rem 0;
}

body.template-article .comparison-card {
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    overflow: hidden;
}

body.template-article .comparison-card-head {
    padding: 0.75rem 1rem;
    font-family: var(--art-font-heading);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
}

body.template-article .comparison-card-head.sticky-head {
    background: #fef3c7;
    color: #92400e;
}

body.template-article .comparison-card-head.nonsticky-head {
    background: #e8f5f3;
    color: #0d7a70;
}

body.template-article .comparison-card-body {
    padding: 0.875rem 1rem;
    font-family: var(--art-font-body);
    font-size: 14px;
    color: var(--text-white);
    line-height: 1.6;
}

body.template-article .comparison-card-body ul {
    margin: 8px 0 0 16px;
}

body.template-article .comparison-card-body ul li {
    margin-bottom: 5px;
}

@media (max-width: 600px) {
    body.template-article .comparison-grid {
        grid-template-columns: 1fr;
    }
}

/* Dark mode */
body.dark.template-article .comparison-card-head.sticky-head {
    background: rgba(180, 83, 9, 0.15);
    color: #fbbf24;
}

body.dark.template-article .comparison-card-head.nonsticky-head {
    background: rgba(20, 150, 136, 0.15);
    color: #5fd5c1;
}

/* ============================================================
   RELATED GUIDES - sibling/parent cross-links block
   ============================================================ */
body.template-article .related-guides {
    margin: 2.5rem 0 0;
    padding: 1.25rem;
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
}

body.template-article .related-guides-label {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--dark-gray);
    font-weight: 600;
    margin-bottom: 0.75rem;
}

body.template-article .related-guides-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
}

body.template-article .related-guides-list a,
body.template-article .article-body .related-guides-list a {
    font-family: var(--art-font-mono);
    font-size: 12px;
    color: #0d7a70;
    text-decoration: none;
    border: 1px solid #149688;
    padding: 6px 12px;
    border-radius: 4px;
    letter-spacing: 0.04em;
    transition: background 0.15s, color 0.15s;
    display: inline-block;
}

body.template-article .related-guides-list a:hover,
body.template-article .article-body .related-guides-list a:hover {
    background: #149688;
    color: #fff;
    text-decoration: none;
}
/* ============================================================
   BANKROLL CALCULATOR - interactive session sizing tool
   Used on: bankroll management page
   ============================================================ */
body.template-article .bankroll-calc {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.75rem 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

body.template-article .bankroll-calc-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.25rem;
}

body.template-article .bankroll-calc-icon {
    width: 36px;
    height: 36px;
    background: #e8f5f3;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

body.template-article .bankroll-calc-title {
    font-family: var(--art-font-heading);
    font-size: 17px;
    font-weight: 600;
    color: var(--text-white);
    letter-spacing: 0;
}

body.template-article .bankroll-calc-subtitle {
    font-size: 13px;
    color: var(--light-white);
    margin-top: 1px;
}

body.template-article .calc-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

@media (max-width: 560px) {
    body.template-article .calc-inputs { grid-template-columns: 1fr; }
    body.template-article .bankroll-calc { padding: 1rem; }
}

body.template-article .calc-field label {
    display: block;
    font-family: var(--art-font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--light-white);
    font-weight: 600;
    margin-bottom: 8px;
}

body.template-article .calc-field select,
body.template-article .calc-field input[type="number"] {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--light-gray-border);
    border-radius: 6px;
    font-family: var(--art-font-body);
    font-size: 15px;
    color: var(--text-white);
    background: var(--white-gray-bkg);
    appearance: none;
    -webkit-appearance: none;
    transition: border-color 0.15s;
    outline: none;
}

body.template-article .calc-field select:focus,
body.template-article .calc-field input[type="number"]:focus {
    border-color: #149688;
    background: var(--white-gray-bkg);
}

body.template-article .calc-field .input-prefix-wrap { position: relative; }

body.template-article .calc-field .input-prefix-wrap::before {
    content: "£";
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--art-font-mono);
    font-size: 14px;
    color: var(--light-white);
    pointer-events: none;
}

body.template-article .calc-field .input-prefix-wrap input {
    padding-left: 28px;
}

body.template-article .calc-output {
    background: rgba(20, 150, 136, 0.06);
    border: 1px solid #d7ece9;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

@media (max-width: 500px) {
    body.template-article .calc-output { grid-template-columns: 1fr 1fr; }
}

body.template-article .calc-output-item { text-align: center; }

body.template-article .calc-output-value {
    font-family: var(--art-font-heading);
    font-size: 26px;
    font-weight: 700;
    color: #0d7a70;
    letter-spacing: -0.02em;
    display: block;
}

body.template-article .calc-output-label {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--light-white);
    margin-top: 3px;
    display: block;
}

body.template-article .calc-output-item.highlight .calc-output-value {
    color: var(--text-white);
}

body.template-article .calc-explanation {
    font-size: 13px;
    color: var(--light-white);
    line-height: 1.5;
    border-top: 1px solid var(--light-gray-border);
    padding-top: 0.75rem;
}

body.template-article .calc-explanation strong { color: var(--text-white); font-weight: 600; }

body.template-article .calc-disclaimer {
    font-family: var(--art-font-mono);
    font-size: 10px;
    color: var(--dark-gray);
    letter-spacing: 0.04em;
    margin-top: 8px;
}

/* Dark mode */
body.dark.template-article .calc-output {
    background: rgba(20, 150, 136, 0.1);
}

body.dark.template-article .calc-field select,
body.dark.template-article .calc-field input[type="number"] {
    background: var(--light-gray-bkg);
}

/* ============================================================
   RULES SUMMARY CARD - quick reference table
   Used on: bankroll management page (reusable)
   ============================================================ */
body.template-article .rules-card {
    border: 1px solid var(--light-gray-border);
    border-radius: 8px;
    overflow: hidden;
    margin: 1.75rem 0;
}

body.template-article .rules-card-header {
    background: #1a1a1a;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

body.template-article .rules-card-header span {
    font-family: var(--art-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.02em;
}

body.template-article .rules-badge {
    font-family: var(--art-font-mono);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: #149688;
    color: #fff;
    padding: 3px 8px;
    border-radius: 3px;
    font-weight: 600;
}

body.template-article .rules-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

body.template-article .rules-table thead th {
    background: var(--white-gray-light-bkg);
    text-align: left;
    font-family: var(--art-font-heading);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 10px 14px;
    border-bottom: 1px solid var(--light-gray-border);
    color: var(--text-white);
}

body.template-article .rules-table tbody td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--light-gray-border);
    vertical-align: middle;
    color: var(--text-white);
    font-family: var(--art-font-body);
}

body.template-article .rules-table tbody tr:last-child td { border-bottom: none; }

body.template-article .rules-table tbody tr:nth-child(even) td {
    background: rgba(20, 150, 136, 0.04);
}

body.template-article .rule-metric {
    font-family: var(--art-font-heading);
    font-weight: 600;
    font-size: 13px;
    color: var(--text-white);
}

body.template-article .rule-value {
    font-family: var(--art-font-mono);
    font-weight: 600;
    font-size: 13px;
    color: #0d7a70;
    white-space: nowrap;
}

body.template-article .rule-note {
    font-size: 12px;
    color: var(--light-white);
}

/* Dark mode */
body.dark.template-article .rules-table tbody tr:nth-child(even) td {
    background: rgba(20, 150, 136, 0.08);
}

/* ============================================================
   GAME VARIANCE STRIP - 3-column game comparison
   Used on: bankroll management page (reusable)
   ============================================================ */
body.template-article .game-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 1.75rem 0;
}

@media (max-width: 700px) {
    body.template-article .game-strip { grid-template-columns: 1fr; }
}

body.template-article .game-card {
    border: 1px solid var(--light-gray-border);
    border-radius: 8px;
    overflow: hidden;
}

body.template-article .game-card-head {
    padding: 12px 16px;
    font-family: var(--art-font-heading);
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.template-article .game-card-head.slots-head     { background: #fef3c7; color: #92400e; }
body.template-article .game-card-head.blackjack-head { background: #e8f5f3; color: #0d7a70; }
body.template-article .game-card-head.roulette-head  { background: #f3e8ff; color: #6b21a8; }

body.template-article .game-card-body { padding: 14px 16px; }

body.template-article .game-card-stat {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 5px 0;
    border-bottom: 1px solid var(--light-gray-border);
    font-size: 13px;
}

body.template-article .game-card-stat:last-child { border-bottom: none; }

body.template-article .game-card-stat-label { color: var(--light-white); font-size: 12px; }

body.template-article .game-card-stat-value {
    font-family: var(--art-font-mono);
    font-weight: 600;
    color: var(--text-white);
    font-size: 12px;
}

/* Dark mode */
body.dark.template-article .game-card-head.slots-head {
    background: rgba(180, 83, 9, 0.15);
    color: #fbbf24;
}

body.dark.template-article .game-card-head.blackjack-head {
    background: rgba(20, 150, 136, 0.15);
    color: #5fd5c1;
}

body.dark.template-article .game-card-head.roulette-head {
    background: rgba(107, 33, 168, 0.15);
    color: #c084fc;
}

/* ============================================================
   KEY TAKEAWAYS BLOCK — top-of-article summary
   Used on: Soccer Betting Guide hub (reusable)
   ============================================================ */
body.template-article .takeaways {
    background: rgba(20, 150, 136, 0.06);
    border: 1px solid #d7ece9;
    border-radius: 8px;
    padding: 1.125rem 1.375rem;
    margin: 1.5rem 0 2rem;
}

body.template-article .takeaways-label {
    font-family: var(--art-font-mono);
    font-size: 11px;
    color: #0d7a70;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0.625rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.template-article .takeaways ul {
    list-style: none;
    margin: 0 !important;
    padding: 0;
}

body.template-article .takeaways ul li {
    font-family: var(--art-font-body);
    font-size: 15px;
    color: var(--text-white);
    line-height: 1.5;
    padding-left: 18px;
    position: relative;
    margin-bottom: 6px !important;
}

body.template-article .takeaways ul li:last-child { margin-bottom: 0 !important; }

body.template-article .takeaways ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    background: #149688;
    border-radius: 50%;
}

body.template-article .article-body .takeaways ul { margin-left: 0; }

/* ============================================================
   CALLOUT BLOCK — generic editorial sidebar
   Used on: Soccer Betting Guide (overround, xG, system reframe, live)
   Amber variant for warning content
   ============================================================ */
body.template-article .callout {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-left: 3px solid #149688;
    border-radius: 0 6px 6px 0;
    padding: 1.25rem 1.5rem;
    margin: 1.75rem 0;
}

body.template-article .callout-eyebrow {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #0d7a70;
    font-weight: 600;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.template-article .callout-eyebrow svg { flex-shrink: 0; }

body.template-article .callout-title {
    font-family: var(--art-font-heading);
    font-size: 18px;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 10px;
    letter-spacing: 0;
}

body.template-article .callout p {
    font-size: 15px !important;
    color: var(--text-white);
    margin-bottom: 10px !important;
    line-height: 1.55;
}

body.template-article .callout p:last-child { margin-bottom: 0 !important; }
body.template-article .callout p:first-child { font-size: 15px !important; color: var(--text-white) !important; }
body.template-article .callout strong { color: var(--text-white); font-weight: 600; }

/* Amber variant */
body.template-article .callout.amber {
    border-left-color: #d97706;
    background: #fffbeb;
    border-color: #fde68a;
}

body.template-article .callout.amber .callout-eyebrow { color: #92400e; }

body.dark.template-article .callout.amber {
    background: rgba(180, 83, 9, 0.1);
    border-color: rgba(251, 191, 36, 0.3);
    border-left-color: #d97706;
}

body.dark.template-article .callout.amber .callout-eyebrow { color: #fbbf24; }

/* ============================================================
   GLOSSARY CARD — anchored betting terms reference
   Used on: Soccer Betting Guide hub
   ============================================================ */
body.template-article .glossary-card {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 8px;
    overflow: hidden;
    margin: 1.75rem 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

body.template-article .glossary-header {
    background: #1a1a1a;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

body.template-article .glossary-header-title {
    font-family: var(--art-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.02em;
}

body.template-article .glossary-header-badge {
    font-family: var(--art-font-mono);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: #149688;
    color: #fff;
    padding: 3px 8px;
    border-radius: 3px;
    font-weight: 600;
}

body.template-article .glossary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

@media (max-width: 560px) {
    body.template-article .glossary-grid { grid-template-columns: 1fr; }
}

body.template-article .glossary-term {
    padding: 14px 18px;
    border-right: 1px solid var(--light-gray-border);
    border-bottom: 1px solid var(--light-gray-border);
}

body.template-article .glossary-term:nth-child(even) { border-right: none; }
body.template-article .glossary-term:last-child { border-bottom: none; }
body.template-article .glossary-term:nth-last-child(2):nth-child(odd) { border-bottom: none; }
body.template-article .glossary-term:nth-last-child(2):nth-child(odd) + .glossary-term { border-bottom: none; }

body.template-article .glossary-term-name {
    font-family: var(--art-font-mono);
    font-size: 12px;
    font-weight: 600;
    color: #0d7a70;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

body.template-article .glossary-term-full {
    font-family: var(--art-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 6px;
}

body.template-article .glossary-term-def {
    font-family: var(--art-font-body);
    font-size: 13px;
    color: var(--text-white);
    line-height: 1.5;
}

body.template-article .glossary-footnote {
    padding: 10px 18px;
    background: var(--white-gray-light-bkg);
    font-family: var(--art-font-mono);
    font-size: 11px;
    color: var(--light-white);
    letter-spacing: 0.04em;
    text-align: center;
    border-top: 1px solid var(--light-gray-border);
}

body.template-article .glossary-footnote a { color: #0d7a70; text-decoration: underline; }

/* ============================================================
   MARKET STRIP — 3-column market overview cards
   Used on: Soccer Betting Guide hub
   ============================================================ */
body.template-article .market-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 1.75rem 0;
}

@media (max-width: 700px) {
    body.template-article .market-strip { grid-template-columns: 1fr; }
}

body.template-article .market-card {
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--white-gray-bkg);
}

body.template-article .market-card-head {
    background: rgba(20, 150, 136, 0.06);
    padding: 10px 14px;
    border-bottom: 1px solid var(--light-gray-border);
}

body.template-article .market-card-tag {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0d7a70;
    font-weight: 600;
    margin-bottom: 2px;
}

body.template-article .market-card-title {
    font-family: var(--art-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-white);
    letter-spacing: 0;
}

body.template-article .market-card-body {
    padding: 12px 14px;
    font-family: var(--art-font-body);
    font-size: 13px;
    color: var(--text-white);
    line-height: 1.5;
}

/* ============================================================
   RG BLOCK — responsible gambling dark section (in-body)
   Used on: Soccer Betting Guide hub (mandatory above FAQ)
   ============================================================ */
body.template-article .rg-block {
    background: #1a1a1a;
    color: #fff;
    border-radius: 8px;
    padding: 1.75rem;
    margin: 2.5rem 0 0;
}

body.template-article .rg-block h2 {
    color: #fff !important;
    border-left: none !important;
    padding-left: 0 !important;
    margin: 0 0 0.75rem !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
}

body.template-article .rg-block p {
    color: rgba(255,255,255,0.85) !important;
    font-size: 15px !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.55 !important;
}

body.template-article .rg-block p:first-child { color: rgba(255,255,255,0.85) !important; font-size: 15px !important; }
body.template-article .rg-block p:last-child { margin-bottom: 0 !important; }
body.template-article .rg-block a { color: #5fd5c1 !important; text-decoration: underline !important; }
body.template-article .rg-block strong { color: #fff !important; }

body.template-article .rg-resources {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 1rem;
}

@media (max-width: 560px) {
    body.template-article .rg-resources { grid-template-columns: 1fr; }
}

body.template-article .rg-resource {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    padding: 12px 14px;
    border-radius: 5px;
    text-decoration: none;
    display: block;
    transition: background 0.15s;
}

body.template-article .rg-resource:hover { background: rgba(255,255,255,0.1); }

body.template-article .rg-resource-name {
    font-family: var(--art-font-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5fd5c1 !important;
    font-weight: 600;
    text-decoration: none !important;
    display: block;
    margin-bottom: 4px;
}

body.template-article .rg-resource-meta {
    font-family: var(--art-font-mono);
    font-size: 12px;
    color: rgba(255,255,255,0.65);
}

/* ============================================================
   NEXT BLOCK — editorial navigation grid (2x2)
   Used on: Soccer Betting Guide hub (reusable for any hub)
   ============================================================ */
body.template-article .next-block { margin: 2.25rem 0 0; }

body.template-article .next-block-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-items: stretch;
}

/* Gutenberg injects <p> and <br> between grid items — neutralise them */
body.template-article .next-block-grid > p,
body.template-article .next-block-grid > br,
body.template-article .market-strip > p,
body.template-article .market-strip > br,
body.template-article .game-strip > p,
body.template-article .game-strip > br,
body.template-article .comparison-grid > p,
body.template-article .comparison-grid > br,
body.template-article .glossary-grid > p,
body.template-article .glossary-grid > br,
body.template-article .calc-inputs > p,
body.template-article .calc-inputs > br,
body.template-article .calc-output > p,
body.template-article .calc-output > br,
body.template-article .rg-resources > p,
body.template-article .rg-resources > br {
    display: none;
}

@media (max-width: 560px) {
    body.template-article .next-block-grid { grid-template-columns: 1fr; }
}

body.template-article .next-card {
    display: block;
    padding: 1.125rem 1.25rem;
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    background: var(--white-gray-bkg);
    text-decoration: none !important;
    transition: border-color 0.15s, background 0.15s;
    height: 100%;
}

body.template-article .next-card:hover {
    border-color: #149688;
    background: rgba(20, 150, 136, 0.06);
}

body.template-article .next-card-eyebrow {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--light-white);
    font-weight: 600;
    margin-bottom: 6px;
}

body.template-article .next-card-title {
    font-family: var(--art-font-heading);
    font-size: 17px;
    font-weight: 600;
    color: var(--text-white) !important;
    margin-bottom: 6px;
    letter-spacing: 0;
}

body.template-article .next-card-desc {
    font-family: var(--art-font-body);
    font-size: 13px;
    color: var(--light-white);
    line-height: 1.5;
}

body.template-article .article-body .next-card { text-decoration: none; }

/* ============================================================
   TOC GROUP LABELS — used on Soccer Betting Markets page
   Presentational only, not scroll-spy targets
   ============================================================ */
body.template-article .toc-group-item {
    list-style: none;
    margin: 0;
}

body.template-article .toc-group-label {
    font-family: var(--art-font-mono);
    font-size: 10px;
    color: #0d7a70;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    display: block;
    margin: 14px 0 4px 14px;
}

body.template-article .toc-group-item:first-child .toc-group-label { margin-top: 0; }

/* ============================================================
   WORKED EXAMPLE — market definition boxes
   Used on: Soccer Betting Markets page
   ============================================================ */
body.template-article .worked-example {
    background: rgba(20, 150, 136, 0.06);
    border: 1px solid #d7ece9;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin: 1.25rem 0;
}

body.template-article .worked-example-eyebrow {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #0d7a70;
    font-weight: 600;
    margin-bottom: 8px;
}

body.template-article .worked-example p {
    font-size: 15px !important;
    color: var(--text-white);
    margin-bottom: 8px !important;
    line-height: 1.55;
}

body.template-article .worked-example p:last-child { margin-bottom: 0 !important; }
body.template-article .worked-example p:first-child { font-size: 15px !important; }
body.template-article .worked-example strong { color: var(--text-white); font-weight: 600; }

body.template-article .price-line {
    font-family: var(--art-font-mono);
    font-size: 13px;
    color: var(--text-white);
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
    display: inline-block;
}

/* Dark mode */
body.dark.template-article .worked-example {
    background: rgba(20, 150, 136, 0.1);
}

/* ============================================================
   GLOSSARY LINK — footnote below each market section
   ============================================================ */
body.template-article .glossary-link {
    font-family: var(--art-font-mono);
    font-size: 12px;
    color: var(--dark-gray);
    letter-spacing: 0.04em;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--light-gray-border);
    margin-bottom: 2rem;
}

body.template-article .glossary-link a { color: #0d7a70; text-decoration: underline; }

/* ============================================================
   QUICK NAV STRIP — jump-to-market grid below intro
   ============================================================ */
body.template-article .quick-nav-strip {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    padding: 1.375rem 1.625rem;
    margin: 1.75rem 0 0;
}

body.template-article .quick-nav-eyebrow {
    font-family: var(--art-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #0d7a70;
    font-weight: 600;
    margin-bottom: 0.875rem;
}

body.template-article .quick-nav-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 14px;
}

@media (max-width: 560px) {
    body.template-article .quick-nav-grid { grid-template-columns: repeat(2, 1fr); }
}

body.template-article .quick-nav-grid > p,
body.template-article .quick-nav-grid > br { display: none; }

body.template-article .quick-nav-grid a {
    font-family: var(--art-font-body);
    font-size: 14px;
    color: #0d7a70;
    text-decoration: none;
    padding: 6px 0;
    border-bottom: 1px solid var(--light-gray-border);
    transition: color 0.15s;
}

body.template-article .quick-nav-grid a:hover { color: #149688; }

/* ============================================================
   PAIRING BLOCK — cross-market comparison cards
   Used in "How to pick the right market" section
   ============================================================ */
body.template-article .pairing-block {
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    padding: 1.375rem 1.625rem;
    margin: 1.5rem 0;
}

body.template-article .pairing-vs {
    font-family: var(--art-font-heading);
    font-size: 19px;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 8px;
    letter-spacing: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

body.template-article .vs-word {
    font-family: var(--art-font-mono);
    font-size: 11px;
    color: var(--dark-gray);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
}

body.template-article .pairing-block p {
    font-size: 15px !important;
    margin-bottom: 0 !important;
    color: var(--text-white);
    line-height: 1.55;
}

/* Gutenberg p/br injection fix for pairing blocks */
body.template-article .article-body > .pairing-block + br { display: none; }

/* ============================================================
   FAQ LIST — markets page variant
   Uses .faq-list / .faq-item / .faq-q / .faq-a
   ============================================================ */
body.template-article .faq-list { margin: 1.5rem 0; }

body.template-article .faq-item {
    border-top: 1px solid var(--light-gray-border);
    padding: 1.25rem 0 1.125rem;
}

body.template-article .faq-item:last-child {
    border-bottom: 1px solid var(--light-gray-border);
}

body.template-article .faq-q {
    font-family: var(--art-font-heading);
    font-size: 19px;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 10px;
    letter-spacing: 0;
    line-height: 1.35;
}

body.template-article .faq-a {
    font-family: var(--art-font-body);
    font-size: 16px !important;
    color: var(--text-white);
    line-height: 1.55;
    margin-bottom: 0 !important;
}

/* ============================================================
   INFO TABLE — line shopping comparison table
   Used on: Soccer Betting Strategy page
   ============================================================ */
body.template-article .info-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0;
    font-size: 14px;
    background: var(--white-gray-bkg);
    border: 1px solid var(--light-gray-border);
    border-radius: 6px;
    overflow: hidden;
}

body.template-article .info-table th {
    background: var(--white-gray-light-bkg);
    padding: 10px 14px;
    text-align: left;
    font-family: var(--art-font-heading);
    font-weight: 600;
    font-size: 13px;
    color: var(--text-white);
    letter-spacing: 0;
    border-bottom: 1px solid var(--light-gray-border);
}

body.template-article .info-table td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--light-gray-border);
    color: var(--text-white);
    font-family: var(--art-font-body);
}

body.template-article .info-table tr:last-child td { border-bottom: none; }

body.template-article .info-table td.mono {
    font-family: var(--art-font-mono);
    font-size: 13px;
}

body.template-article .info-table td.highlight {
    background: rgba(20, 150, 136, 0.08);
    color: #0d7a70;
    font-weight: 600;
}

/* Gutenberg p/br fix inside worked-example with info-table */
body.template-article .worked-example .info-table + br { display: none; }
