/* Scrimpr Network Compare */

:root {
    --snc-primary: #007cba;
    --snc-yes: #27ae60;
    --snc-no: #e74c3c;
    --snc-partial: #f39c12;
    --snc-muted: #888;
    --snc-border: #ddd;
    --snc-bg-light: #f8f9fa;
    --snc-text: #2c3e50;
}

.snc-container {
    max-width: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--snc-text);
}

/* ---------- Wizard ---------- */

.snc-wizard-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.snc-wizard-open {
    background: var(--snc-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

.snc-wizard-open:hover { background: #005a87; }

.snc-wizard-hint { color: var(--snc-muted); font-size: 14px; }

.snc-wizard {
    border: 2px solid var(--snc-primary);
    border-radius: 10px;
    background: #fff;
    margin-bottom: 20px;
}

.snc-wizard-inner { padding: 20px; }

.snc-wizard-progress {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--snc-muted);
    margin-bottom: 10px;
}

#snc-wizard-body h3 { margin: 0 0 6px; font-size: 20px; }

.snc-wizard-hint-text { color: var(--snc-muted); font-size: 14px; margin: 0 0 12px; }

.snc-wizard-options { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }

.snc-wizard-opt {
    background: var(--snc-bg-light);
    border: 1px solid var(--snc-border);
    border-radius: 8px;
    padding: 10px 18px;
    font-size: 15px;
    cursor: pointer;
}

.snc-wizard-opt:hover { border-color: var(--snc-primary); }

.snc-wizard-nav { display: flex; gap: 10px; margin-top: 14px; }

.snc-wizard-nav button {
    background: var(--snc-bg-light);
    border: 1px solid var(--snc-border);
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
}

#snc-wizard-next { background: var(--snc-primary); color: #fff; border-color: var(--snc-primary); }
#snc-wizard-close { margin-left: auto; }

.snc-results-list { list-style: none; padding: 0; margin: 0 0 16px; counter-reset: snc; }

.snc-result {
    border: 1px solid var(--snc-border);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 10px;
    counter-increment: snc;
    position: relative;
    padding-left: 46px;
}

.snc-result::before {
    content: counter(snc);
    position: absolute;
    left: 14px;
    top: 14px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--snc-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.snc-result-head { display: flex; gap: 8px; align-items: baseline; font-size: 16px; }
.snc-result-host { color: var(--snc-muted); font-size: 13px; }
.snc-result-perks { color: var(--snc-yes); font-size: 13px; margin-top: 2px; }
.snc-result-link { font-size: 14px; }
.snc-result-price { margin-left: auto; font-weight: 700; font-size: 14px; }
.snc-result-links { display: flex; align-items: center; gap: 12px; margin-top: 6px; }

/* ---------- Filters ---------- */

.snc-controls {
    background: var(--snc-bg-light);
    border: 1px solid var(--snc-border);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 16px;
}

.snc-filter-group h4 {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--snc-muted);
}

.snc-filter-group { margin-bottom: 12px; }

.snc-filter-note { font-size: 12px; color: var(--snc-muted); margin: 6px 0 0; }

.snc-chips { display: flex; flex-wrap: wrap; gap: 8px; }

.snc-chip {
    --chip: var(--snc-primary);
    background: #fff;
    border: 1.5px solid var(--snc-border);
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 14px;
    cursor: pointer;
    transition: all .15s;
}

.snc-chip:hover { border-color: var(--chip); }

.snc-chip-on, .snc-chip.snc-chip-on {
    background: var(--chip);
    border-color: var(--chip);
    color: #fff;
    font-weight: 600;
}

.snc-filter-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 4px;
}

#snc-search {
    padding: 8px 12px;
    border: 1px solid var(--snc-border);
    border-radius: 6px;
    font-size: 14px;
    min-width: 200px;
}

.snc-toggle { font-size: 14px; display: flex; align-items: center; gap: 6px; cursor: pointer; }

.snc-count { font-size: 13px; color: var(--snc-muted); margin-left: auto; }

/* ---------- Table ---------- */

.snc-table-wrap {
    overflow-x: auto;              /* horizontal scroll for the wide matrix */
    border: 1px solid var(--snc-border);
    border-radius: 8px;
    /* No max-height: the table shows its full height and scrolls with the page,
       rather than being trapped in a nested scroll box. */
}

/* Rigour strip above the table — the comprehensiveness is the point, so say so. */
.snc-tablehead {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    align-items: baseline;
    padding: 2px 2px 12px;
    font-size: 13px;
    color: var(--snc-muted);
}
.snc-tablehead strong { color: var(--snc-text); font-weight: 700; }

.snc-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    font-size: 13px;
}

.snc-table thead th {
    position: sticky;
    top: 0;
    background: #34495e;
    color: #fff;
    padding: 9px 6px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    white-space: normal;          /* let long headers wrap instead of forcing width */
    vertical-align: bottom;
    line-height: 1.2;
    z-index: 2;
}
/* Feature columns stay as narrow as their (now wrapping) header allows. */
.snc-table thead th[data-feature] { width: 1%; min-width: 46px; max-width: 84px; }

.snc-th-label { cursor: default; border-bottom: 1px dotted rgba(255,255,255,.5); }

/* Instant styled tooltip (see network-compare.js) */
.snc-tip {
    position: fixed; z-index: 99999; pointer-events: none;
    background: #1f2a37; color: #fff; font-size: 12px; line-height: 1.4; font-weight: 400;
    padding: 7px 10px; border-radius: 7px; max-width: 260px;
    box-shadow: 0 6px 20px rgba(15,27,45,.28);
    opacity: 0; transition: opacity .07s;
}
.snc-tip.on { opacity: 1; }

.snc-table td {
    padding: 3px 4px;
    border-bottom: 1px solid #eef1f4;
    text-align: center;
    white-space: nowrap;
}

.snc-sticky {
    position: sticky;
    left: 0;
    background: #fff;
    text-align: left !important;
    z-index: 1;
    box-shadow: 2px 0 3px rgba(0,0,0,.05);
}

.snc-table thead .snc-sticky { background: #34495e; z-index: 3; }

.snc-table tbody tr:hover td { background: #f2f8fc; }
.snc-table tbody tr:hover td.snc-sticky { background: #f2f8fc; }

.snc-name a { font-weight: 600; text-decoration: none; display: inline-block; max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }

/* Plans column — contract lengths the network sells (plain text, · separated) */
.snc-plans { white-space: nowrap; font-size: 12px; color: #37475c; }
.snc-plans-none { color: #9aa4b0; }

/* Operator logo + name row (sticky first column) */
.snc-nrow { display: flex; align-items: center; gap: 7px; min-width: 0; }
.snc-nlogo {
    width: 26px; height: 26px; flex: none;
    border-radius: 6px; object-fit: cover;
    box-shadow: 0 0 0 1px rgba(16,30,54,.08);
}
/* Host logo + label ("Runs on" column) */
.snc-runs { text-align: left !important; white-space: nowrap; }
.snc-runs span { vertical-align: middle; font-weight: 600; }
.snc-hlogo {
    width: 22px; height: 22px; border-radius: 5px; object-fit: cover;
    vertical-align: middle; margin-right: 7px;
    box-shadow: 0 0 0 1px rgba(16,30,54,.08);
}
.snc-chip-logo { width: 16px; height: 16px; border-radius: 3px; object-fit: cover; margin-right: 6px; vertical-align: -3px; }

/* This table is wide, so use the full menu-bar width (not the 1160 tool column). */
.simtool:has(.snc-container) .simtool-wrap { max-width: 1400px; }

.snc-main-tag {
    display: inline-block;
    background: #eef;
    color: #446;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 1px 6px;
    margin-left: 6px;
}

.snc-host-badge {
    --chip: #555;
    display: inline-block;
    background: var(--chip);
    color: #fff;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
}

.snc-updated { color: var(--snc-muted); font-size: 12px; }

.snc-price { font-weight: 600; font-size: 12px; }

.snc-closed-tag {
    display: inline-block;
    background: #fdecea;
    color: #c0392b;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 1px 6px;
    margin-left: 6px;
}

.snc-visit {
    display: inline-block;
    background: var(--snc-yes);
    color: #fff !important;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.snc-visit:hover { background: #1e8449; }

.snc-price-bar {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    background: var(--snc-bg-light);
    border: 1px solid var(--snc-border);
    border-radius: 10px;
    padding: 14px 18px;
    margin-top: 14px;
}

.snc-price-big { font-size: 20px; font-weight: 700; }
.snc-price-unl { font-size: 14px; color: var(--snc-muted); }
.snc-price-bar .snc-visit { margin-left: auto; font-size: 15px; padding: 10px 20px; }

/* Status cells */

/* Every status cell is a filled colour block, so the matrix reads as a field of
   colour you can scan at a glance rather than a sea of identical symbols. */
.snc-cell {
    display: block;
    padding: 6px 4px;
    border-radius: 5px;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.15;
}

.snc-yes     { background: #e3f5ea; color: #157a3d; }
.snc-no      { background: #fdeceb; color: #c23b2c; }
.snc-partial { background: #fdf3e0; color: #b26b09; }
.snc-unknown { background: #f1f3f5; color: #9aa4b0; }
.snc-na      { background: transparent; color: #cbd2da; }
/* Free-text cells stay on ONE line (ellipsis; full value on hover via title), so
   rows keep a uniform height instead of some wrapping tall. */
.snc-info    { background: #eef2f7; color: #37475c; font-weight: 600; font-size: 11.5px; max-width: 100px; margin: 0 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.snc-has-note { cursor: default; }
td .snc-cell.snc-has-note { box-shadow: inset 0 -2px 0 rgba(0,0,0,.08); }

/* Advanced columns hidden by default */
.snc-col-advanced { display: none; }
.snc-advanced-on .snc-col-advanced { display: table-cell; }

/* ---------- Status sections ---------- */
/* Full-width banded divider row; the section is the status label (no per-row
   badges). Networks you can't buy sit in their own section at the very bottom. */
.snc-section-row td { border-bottom: 0; }
.snc-section-cell {
    padding: 0 !important;
    background: #eef2f7;
    border-top: 2px solid #d7dee7;
    text-align: left !important;
    white-space: nowrap;
}
.snc-section-label {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #46566b;
}
.snc-section-label em { font-style: normal; font-weight: 700; opacity: .6; }
.snc-section-unclear .snc-section-cell { background: #fbf4e6; border-top-color: #ecd9ac; }
.snc-section-unclear .snc-section-label { color: #a76a09; }
.snc-section-closed  .snc-section-cell { background: #f4f0f0; border-top-color: #e0d3d3; }
.snc-section-closed  .snc-section-label { color: #8a7273; }
/* Host coverage bands (the primary grouping) */
.snc-section-host .snc-section-cell { background: #e8f0f8; border-top-color: #cadcef; }
.snc-section-host .snc-section-label { color: #2c5282; }
.snc-seclogo { width: 19px; height: 19px; border-radius: 4px; object-fit: cover; vertical-align: -4px; margin-right: 8px; box-shadow: 0 0 0 1px rgba(16,30,54,.08); }

/* Networks no longer selling are shown for completeness but visually muted. */
.snc-status-closed td:not(.snc-sticky) { opacity: .55; }
.snc-status-closed .snc-name a { color: #6a7381; }
.snc-name-reason {
    display: block;
    margin-top: 3px;
    max-width: 260px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--snc-muted);
    white-space: normal;
}

/* ---------- Legend & disclaimer ---------- */

.snc-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 13px;
    color: var(--snc-muted);
    margin: 12px 0;
}

.snc-note {
    font-size: 13px;
    color: var(--snc-muted);
    line-height: 1.55;
    max-width: 900px;
    margin: 14px 0 4px;
}
.snc-note strong { color: var(--snc-text); }

.snc-dag { color: var(--snc-primary); font-weight: 700; font-size: .85em; }

/* Price-rise reference table (below the comparison table) */
.snc-pricerise { margin: 22px 0 6px; }
.snc-pricerise h4 { margin: 0 0 8px; font-size: 15px; color: var(--snc-text); }
.snc-pricerise > p { font-size: 13px; color: var(--snc-muted); line-height: 1.55; max-width: 900px; margin: 0 0 12px; }
.snc-pricerise > p strong { color: var(--snc-text); }
.snc-pr-table { border-collapse: collapse; width: 100%; max-width: 820px; font-size: 13px; }
.snc-pr-table th {
    text-align: left; vertical-align: top;
    padding: 9px 16px 9px 0; width: 92px;
    font-weight: 700; color: var(--snc-text); white-space: nowrap;
    border-bottom: 1px solid var(--snc-border);
}
.snc-pr-table td {
    padding: 9px 0; border-bottom: 1px solid var(--snc-border);
    color: #37475c; line-height: 1.5;
}
.snc-pr-table strong { color: var(--snc-text); }
.snc-pr-foot { font-size: 12px; color: var(--snc-muted); margin: 10px 0 0; }

.snc-disclaimer {
    font-size: 12px;
    color: var(--snc-muted);
    border-top: 1px solid var(--snc-border);
    padding-top: 10px;
    margin-top: 16px;
}

/* ---------- Single network page ---------- */

.snc-single {
    --paper:#f5f7fa; --card:#fff; --ink:#1a202c; --muted:#64748b; --line:#e6e9ef;
    --navy:#2C5282; --navy-d:#1e3a5f; --green:#16a34a; --green-d:#15803d; --accent:#e60012;
    --shadow:0 1px 2px rgba(16,30,54,.06),0 4px 16px rgba(16,30,54,.06);
    max-width: 1000px; margin: 0 auto; padding: 0 16px 40px; color: var(--ink);
}

.snc-breadcrumb { font-size: 13px; color: var(--snc-muted); margin: 14px 0; }

.snc-hero h1 { margin: 0 0 10px; font-size: 30px; }

.snc-hero-sub { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.snc-updated-tag { font-size: 12px; color: var(--snc-muted); }

.snc-highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.snc-highlight-card {
    border: 1px solid var(--snc-border);
    border-radius: 10px;
    padding: 14px;
    text-align: center;
    background: #fff;
}

.snc-highlight-status .snc-cell { font-size: 22px; }
.snc-highlight-status .snc-info { font-size: 13px; }
.snc-highlight-label { font-weight: 600; font-size: 14px; margin-top: 4px; }
.snc-highlight-note { font-size: 12px; color: var(--snc-muted); margin-top: 4px; }

.snc-section { margin: 28px 0; }
.snc-section h2 { font-size: 22px; margin-bottom: 12px; }

.snc-detail-table { width: 100%; border-collapse: collapse; }

.snc-detail-table th {
    text-align: left;
    width: 55%;
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    font-weight: 600;
    font-size: 14px;
    vertical-align: top;
}

.snc-detail-desc {
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: var(--snc-muted);
    margin-top: 2px;
}

.snc-detail-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    vertical-align: top;
}

.snc-detail-note { font-size: 13px; color: var(--snc-muted); margin-left: 8px; }

.snc-sibling-list { columns: 2; font-size: 15px; }

.snc-cta { text-align: center; margin: 30px 0; }

.snc-cta-btn {
    display: inline-block;
    background: var(--snc-primary);
    color: #fff !important;
    border-radius: 8px;
    padding: 14px 26px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.snc-cta-btn:hover { background: #005a87; }

@media (max-width: 700px) {
    .snc-sibling-list { columns: 1; }
    .snc-hero h1 { font-size: 24px; }
    .snc-count { margin-left: 0; }
}

/* ---- live deals block on a network page (server-rendered for SEO) ---- */
.snc-section-intro{color:#5a6b85;font-size:14.5px;margin:-4px 0 14px}
.snc-deals-table{width:100%;border-collapse:collapse;font-size:15px}
.snc-deals-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding:0 10px 8px 0;border-bottom:1px solid #e6e9ef}
.snc-deals-table td{padding:12px 10px 12px 0;border-bottom:1px solid #eef1f6;vertical-align:top}
.snc-deal-data strong{font-size:16px}
.snc-deal-perk{display:block;font-size:12.5px;color:#15803d;font-weight:700;margin-top:2px}
.snc-deal-price{font-weight:800;white-space:nowrap}
.snc-deal-eff{display:block;font-size:12px;font-weight:700;color:#15803d;white-space:nowrap}
.snc-deals-foot{font-size:14px;color:#5a6b85;margin-top:14px}
/* ---- named benefits: each is its own H3 so it can rank on the programme name ---- */
.snc-benefit{padding:14px 0;border-bottom:1px solid #eef1f6}
.snc-benefit:last-child{border-bottom:0}
.snc-benefit h3{margin:0 0 5px;font-size:17px;font-weight:800;color:#1a202c}
.snc-benefit p{margin:0 0 6px;color:#39485f;line-height:1.5}
.snc-benefit-src{font-size:13px;color:#2C5282;font-weight:600}
/* ---- plan levels (EE-style tiered ranges) ---- */
.snc-tier{padding:14px 0;border-bottom:1px solid #eef1f6}
.snc-tier:last-child{border-bottom:0}
.snc-tier h3{margin:0 0 4px;font-size:17px;font-weight:800;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.snc-tier-from{font-size:14px;font-weight:700;color:#15803d}
.snc-tier-speed{margin:0 0 6px;font-size:14px;color:#39485f}
.snc-tier-teen{margin:0 0 6px;font-size:13.5px;color:#92600a;background:#fdf3e0;border:1px solid #f6dcae;border-radius:7px;padding:5px 9px;display:inline-block}
.snc-tier-list{margin:0 0 6px;padding-left:20px;color:#39485f;font-size:14px;line-height:1.55}
.snc-tier-extras{margin:0;font-size:14px;color:#15803d}

/* ===== Single network page — mirrors games .sect: FLAT on mobile, cards ≥900px ===== */
.snc-single a{color:var(--navy)}
.snc-single .snc-breadcrumb{font-size:13px;color:var(--muted);margin:16px 0}
.snc-single .snc-breadcrumb a{color:var(--muted);text-decoration:none}
.snc-single .snc-breadcrumb a:hover{color:var(--navy)}

/* hero — flat on mobile (no box), a card only on desktop */
.snc-np-hero{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch;justify-content:space-between;padding:6px 0 16px}
.snc-np-head{display:flex;gap:14px;align-items:center;min-width:200px;flex:1 1 260px}
.snc-np-logo{width:60px;height:60px;border-radius:13px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:5px;flex:none}
.snc-np-headmain h1{margin:0 0 9px;font-size:23px;line-height:1.15;color:var(--ink)}
.snc-np-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.snc-np-chip{display:inline-block;background:#eef2f8;color:#33507a;font-size:11.5px;font-weight:700;border-radius:6px;padding:3px 9px}
.snc-np-chip-muted{background:#f1f3f6;color:var(--muted)}

/* price panel — one light panel (like games .buycard) */
.snc-np-price{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:#f2f5f8;border-radius:14px;padding:15px 16px;flex:1 1 200px}
.snc-np-price-lab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.snc-np-price-big{font-size:32px;font-weight:800;color:var(--ink);line-height:1}
.snc-np-price-big small{font-size:15px;font-weight:700;color:var(--muted)}
.snc-np-price-sub{font-size:12.5px;color:var(--muted);margin-top:4px}
.snc-np-price-unl{font-size:12.5px;font-weight:700;color:var(--green-d);margin-top:2px}
.snc-np-cta{margin-top:12px;display:block;text-align:center;width:100%;background:var(--green);color:#fff!important;font-weight:800;font-size:15px;border-radius:10px;padding:12px 16px;text-decoration:none}
.snc-np-cta:hover{background:var(--green-d)}
.snc-np-cta-2{margin-top:9px;font-size:12.5px;color:var(--navy)!important;font-weight:700;text-decoration:none}
.snc-np-cta-2:hover{text-decoration:underline}
.snc-np-price-nofigure .snc-visit{margin-top:10px;padding:10px 18px;font-size:14px}

/* at-a-glance — a borderless key-facts strip (NOT one card per stat) */
.snc-np-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px 16px;margin:0;padding:14px 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.snc-np-stat{padding:0}
.snc-np-stat-lab{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:6px}
.snc-np-stat-val .snc-cell{display:inline-block;padding:3px 9px;font-size:12.5px}
.snc-np-stat-val .snc-info{max-width:none;margin:0;white-space:normal}

/* sections — hairline separator + spacing on mobile (like games .sect) */
.snc-single .snc-section{margin:0;padding:26px 0 8px;border-top:1px solid var(--line)}
.snc-single .snc-section h2{font-size:18px;font-weight:800;margin:0 0 13px;color:var(--ink);letter-spacing:-.01em}
.snc-single .snc-section-intro{color:#5a6b85;font-size:14px;margin:-4px 0 15px;line-height:1.55}

/* deals table — plain (the section is the frame) */
.snc-single .snc-deals-table td{padding:12px 8px;border-bottom:1px solid #eef1f6;vertical-align:middle}
.snc-single .snc-deals-table td:first-child{padding-left:0}
.snc-single .snc-deals-table tr:last-child td{border-bottom:0}
.snc-single .snc-visit{background:var(--green);color:#fff!important;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:800}
.snc-single .snc-visit:hover{background:var(--green-d)}

/* feature spec table — plain, like games .spec-t */
.snc-np-spec{width:100%;border-collapse:collapse}
.snc-np-spec th,.snc-np-spec td{padding:10px 4px;border-bottom:1px solid #f0f1f3;text-align:left;vertical-align:top;font-size:14px}
.snc-np-spec tr:last-child th,.snc-np-spec tr:last-child td{border-bottom:0}
.snc-np-spec th{font-weight:600;color:var(--muted);width:40%}
.snc-np-spec td .snc-cell{display:inline-block;padding:3px 9px;font-size:12.5px;vertical-align:middle}
.snc-np-spec td .snc-info{max-width:none;margin:0;white-space:normal}
.snc-np-spec-note{display:block;margin-top:5px;font-size:12.5px;color:#5a6b85;line-height:1.5}

/* faq — flat list, hairline dividers (like games .faq-item), no boxes */
.snc-np-faqitem{border-bottom:1px solid var(--line)}
.snc-np-faqitem:last-child{border-bottom:0}
.snc-np-faqitem summary{cursor:pointer;list-style:none;padding:13px 0;font-weight:700;font-size:15px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:12px}
.snc-np-faqitem summary::-webkit-details-marker{display:none}
.snc-np-faqitem summary::after{content:"+";font-size:19px;font-weight:400;color:var(--muted);flex:none}
.snc-np-faqitem[open] summary::after{content:"\2013"}
.snc-np-faqitem p{margin:0;padding:0 0 14px;color:#5a6b85;font-size:14px;line-height:1.6}

/* siblings — light chips, no shadow */
.snc-np-siblings{display:flex;flex-wrap:wrap;gap:8px}
.snc-np-sibling{display:inline-flex;align-items:center;gap:8px;background:#f5f7fa;border:1px solid var(--line);border-radius:9px;padding:7px 12px 7px 8px;text-decoration:none;color:var(--ink)!important;font-weight:700;font-size:13.5px}
.snc-np-sibling:hover{border-color:var(--navy);color:var(--navy)!important}
.snc-np-sibling img{border-radius:6px;object-fit:contain}
.snc-np-sibling-more{color:var(--navy)!important}

/* host badge / closed tag */
.snc-single .snc-host-badge{border-radius:6px;padding:3px 9px;font-size:11.5px}
.snc-single .snc-closed-tag{margin-left:0;border-radius:6px;padding:3px 9px;font-size:11px}

/* cta / disclaimer */
.snc-single .snc-cta{text-align:center;margin:30px 0 10px}
.snc-single .snc-cta-btn{background:var(--navy);color:#fff!important;border-radius:11px;padding:14px 26px;font-weight:800}
.snc-single .snc-cta-btn:hover{background:var(--navy-d)}
.snc-disclaimer{font-size:12px;color:var(--muted);line-height:1.55;margin:18px auto 0;text-align:center;max-width:680px}

/* ≥900px: hero + each section become cards (mirrors games .sect desktop rule) */
@media (min-width:900px){
  .snc-single{max-width:1080px}
  .snc-np-hero{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px;gap:20px}
  .snc-np-head{gap:16px}
  .snc-np-logo{width:72px;height:72px}
  .snc-np-headmain h1{font-size:27px}
  .snc-np-price{flex:0 0 auto;min-width:210px}
  .snc-np-glance{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:0;padding:18px 0 4px}
  .snc-single .snc-section{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:20px 22px;margin:14px 0}
  .snc-single .snc-section h2{font-size:20px}
}
