/* ==========================================================================
   GLS Equity - Resources page (Session B, 15 Oct 2026)
   Page layout only; cards, tables, buttons and text links come from styles.css.
   ========================================================================== */
.rs-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.rs-main { min-width: 0; }
.rs-side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 90px; }
.rs-side .panel-card h3 { margin: 0 0 8px; font-size: 1rem; }

.rs-head { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 8px; }
.rs-eyebrow { margin: 0 0 4px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #059669; }
.rs-title { margin: 0 0 12px; font-size: 1.6rem; line-height: 1.2; }
.rs-disclosure { margin: 0; font-size: 14px; line-height: 1.6; color: #334155; background: #f8fafc; border-left: 4px solid #10b981; padding: 10px 14px; border-radius: 0 8px 8px 0; }

.rs-section { padding: 26px 0 6px; border-bottom: 1px solid #f1f5f9; scroll-margin-top: 90px; }
.rs-section:last-of-type { border-bottom: 0; }
.rs-section h2 { margin: 0 0 10px; font-size: 1.2rem; color: #0f172a; }
.rs-section p { margin: 0 0 12px; line-height: 1.65; color: #334155; font-size: 15px; }
.rs-section ul, .rs-section ol { margin: 0 0 12px 20px; padding: 0; line-height: 1.6; color: #334155; font-size: 15px; }
.rs-section li { margin-bottom: 6px; }

/* the brokers-by-country table: a reference list, shown in full (the global box caps tables at 70vh and scrolls) */
.rs-table-box { margin: 0 0 12px; max-height: none; }
.rs-table th:first-child, .rs-table td:first-child { white-space: nowrap; }
.rs-table tr.rs-group th { background: #f1f5f9; color: #0f172a; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; padding: 8px 12px; cursor: default; }
.rs-table tr.rs-group th::after { display: none; }
.rs-table th { cursor: default; }
.rs-table th:hover { background-color: #f8fafc; color: #475569; }
.rs-table th::after { display: none; }
.rs-table td.rs-yes { color: #047857; font-weight: 700; white-space: nowrap; }
.rs-table td.rs-fee, .rs-table td.rs-notes { white-space: normal; }   /* the global .data-table is nowrap; these two columns wrap so the table fits the column */
.rs-table td.rs-fee { min-width: 150px; }
.rs-table td.rs-notes { font-size: 13px; color: #475569; min-width: 220px; line-height: 1.45; }
.rs-table td.rs-link { white-space: nowrap; }
.rs-table td.rs-link a { font-weight: 700; }
.rs-table .rs-nolink { color: #94a3b8; font-size: 12px; }
.aff-plain { font-weight: 600; color: #0f172a; }

/* tool / research / book cards */
.rs-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin: 0 0 14px; }
.rs-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; background: #fff; }
.rs-item h3 { margin: 0 0 4px; font-size: 1rem; color: #0f172a; }
.rs-item .rs-item-sub { margin: 0 0 8px; font-size: 12.5px; color: #64748b; }
.rs-item p { margin: 0 0 8px; font-size: 14px; line-height: 1.55; }
.rs-item p:last-child { margin-bottom: 0; }
.rs-item .rs-item-cta { font-weight: 700; }
.rs-badge { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: #d1fae5; color: #047857; margin-left: 6px; vertical-align: middle; }
.rs-badge.free { background: #dbeafe; color: #1d4ed8; }
.aff-disclosure { margin: 0 0 12px; }

.rs-foot { margin-top: 20px; padding-top: 12px; border-top: 1px solid #f1f5f9; }

/* sidebar */
.rs-toc ol { margin: 0; padding: 0 0 0 18px; font-size: 13.5px; line-height: 1.5; color: #334155; }
.rs-toc li { margin-bottom: 4px; }
.rs-toc a { color: #0f172a; font-weight: 600; text-decoration: none; }
.rs-toc a:hover { color: #059669; }
.rs-cta { background: #0f172a; color: #e2e8f0; }
.rs-cta h3 { color: #fff; }
.rs-cta .text-sm-muted { color: #cbd5e1; }
.rs-cta-btn { display: block; text-align: center; margin-top: 10px; }

@media (max-width: 1024px) {
    .rs-layout { grid-template-columns: 1fr; }
    .rs-side { position: static; }
    .rs-toc { display: none; }
}
@media (max-width: 768px) {
    .rs-title { font-size: 1.3rem; }
    .rs-table td.rs-notes { min-width: 190px; }
    /* every row is "Yes" - on a phone the column is dead width, so it goes (the heading says every broker offers US options) */
    .table-responsive .rs-table thead th:nth-child(2), .rs-table td.rs-yes { display: none; }
    .rs-table td.rs-fee { min-width: 130px; }
}
