/**
 * gc-calc.css — GlobalCalc Shared Calculator Stylesheet
 * =====================================================
 * Common styles for all calculator pages:
 * - Theme variables (dark, light, colourblind, auto)
 * - Reset & base typography
 * - Calculator form inputs & fields
 * - Results display & breakdowns
 * - GCI Chrome (topbar, region, theme)
 * - Ad infrastructure (GC-ADS v1.1)
 * - Footer
 * - Explorer component
 * - Jump grid navigation
 * - SEO content cards & accent colors
 * - Star rating widget
 * - Print styles
 *
 * Extracted from live GlobalCalc calculator pages
 */

:root{--gc-bg:#0d1117;--gc-surface:#161b22;--gc-surface-hover:#1c2333;--gc-border:#30363d;--gc-text:#e6edf3;--gc-text-muted:#adb6c0;--gc-text-dim:#9ba4ae;--gc-primary:#4f8ff7;--gc-primary-soft:rgba(79,143,247,0.12);--gc-primary-text:#fff;--gc-accent:#58a6ff;--gc-success:#3fb950;--gc-warning:#d29922;--gc-error:#f85149;--gc-chart-base:var(--gc-primary);--gc-chart-positive:var(--gc-success);--gc-chart-caution:var(--gc-warning);--gc-chart-negative:var(--gc-error);--gc-chart-principal:var(--gc-primary);--gc-chart-interest:var(--gc-warning);--gc-chart-total:var(--gc-primary);--gc-chart-tax:var(--gc-error);--gc-chart-fees:var(--gc-warning);--gc-chart-balloon:var(--gc-error);--gc-input-bg:#0d1117;--gc-input-border:#30363d;--gc-input-focus:#4f8ff7;--gc-result-gradient:linear-gradient(135deg,#1a2744 0%,#0d1a30 100%);--gc-result-border:#1f3a5f;--gc-shadow:0 1px 3px rgba(0,0,0,0.3);--gc-shadow-lg:0 8px 24px rgba(0,0,0,0.4);--gc-radius:8px;--gc-radius-lg:12px;--gc-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
[data-theme="light"]{--gc-bg:#f6f8fa;--gc-surface:#fff;--gc-surface-hover:#f3f4f6;--gc-border:#d1d5db;--gc-text:#1f2937;--gc-text-muted:#4b5563;--gc-text-dim:#5b6472;--gc-primary:#2563eb;--gc-primary-soft:rgba(37,99,235,0.08);--gc-primary-text:#fff;--gc-success:#16a34a;--gc-warning:#ca8a04;--gc-error:#dc2626;--gc-chart-base:var(--gc-primary);--gc-chart-positive:var(--gc-success);--gc-chart-caution:var(--gc-warning);--gc-chart-negative:var(--gc-error);--gc-chart-principal:var(--gc-primary);--gc-chart-interest:var(--gc-warning);--gc-chart-total:var(--gc-primary);--gc-chart-tax:var(--gc-error);--gc-chart-fees:var(--gc-warning);--gc-chart-balloon:var(--gc-error);--gc-input-bg:#fff;--gc-input-border:#d1d5db;--gc-input-focus:#2563eb;--gc-result-gradient:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);--gc-result-border:#bfdbfe;--gc-shadow:0 1px 3px rgba(0,0,0,0.08);--gc-shadow-lg:0 8px 24px rgba(0,0,0,0.12)}
[data-theme="colourblind"]{--gc-bg:#faf6f1;--gc-surface:#fff;--gc-surface-hover:#f5efe8;--gc-border:#d4c8b8;--gc-text:#1a1a1a;--gc-text-muted:#4a433a;--gc-text-dim:#5c5347;--gc-primary:#0047ab;--gc-primary-soft:rgba(0,71,171,0.10);--gc-primary-text:#fff;--gc-success:#ffb000;--gc-warning:#fe6100;--gc-error:#dc267f;--gc-chart-base:var(--gc-primary);--gc-chart-positive:var(--gc-success);--gc-chart-caution:var(--gc-warning);--gc-chart-negative:var(--gc-error);--gc-chart-principal:var(--gc-primary);--gc-chart-interest:var(--gc-warning);--gc-chart-total:var(--gc-primary);--gc-chart-tax:var(--gc-error);--gc-chart-fees:var(--gc-warning);--gc-chart-balloon:var(--gc-error);--gc-input-bg:#fff;--gc-input-border:#c4b8a8;--gc-input-focus:#0047ab;--gc-result-gradient:linear-gradient(135deg,#e8f0fe 0%,#d4e4fc 100%);--gc-result-border:#a8c4e8;--gc-shadow:0 1px 3px rgba(80,60,30,0.10);--gc-shadow-lg:0 8px 24px rgba(80,60,30,0.15)}
[data-theme="auto"]{}
@media(prefers-color-scheme:light){[data-theme="auto"]{--gc-bg:#f6f8fa;--gc-surface:#fff;--gc-surface-hover:#f3f4f6;--gc-border:#d1d5db;--gc-text:#1f2937;--gc-text-muted:#4b5563;--gc-text-dim:#5b6472;--gc-primary:#2563eb;--gc-primary-soft:rgba(37,99,235,0.08);--gc-primary-text:#fff;--gc-accent:#3b82f6;--gc-success:#16a34a;--gc-warning:#ca8a04;--gc-error:#dc2626;--gc-chart-base:var(--gc-primary);--gc-chart-positive:var(--gc-success);--gc-chart-caution:var(--gc-warning);--gc-chart-negative:var(--gc-error);--gc-chart-principal:var(--gc-primary);--gc-chart-interest:var(--gc-warning);--gc-chart-total:var(--gc-primary);--gc-chart-tax:var(--gc-error);--gc-chart-fees:var(--gc-warning);--gc-chart-balloon:var(--gc-error);--gc-input-bg:#fff;--gc-input-border:#d1d5db;--gc-input-focus:#2563eb;--gc-result-gradient:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);--gc-result-border:#bfdbfe;--gc-shadow:0 1px 3px rgba(0,0,0,0.08);--gc-shadow-lg:0 8px 24px rgba(0,0,0,0.12)}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--gc-font);font-size:15px;line-height:1.55;color:var(--gc-text);background:var(--gc-bg)}body{min-height:100vh}a{color:var(--gc-accent)}
a:hover{text-decoration:underline}

.gc-page{max-width:720px;margin:0 auto;padding:0 16px 60px}.gc-breadcrumbs{font-size:12px;color:var(--gc-text-dim);padding:10px 0 16px}.gc-breadcrumbs a{color:var(--gc-text-muted)}.gc-breadcrumbs .sep{margin:0 4px}h1{font-size:1.55rem;font-weight:700;letter-spacing:-0.02em;margin-bottom:6px}h2{font-size:1.15rem;font-weight:700;margin:24px 0 10px}h3{font-size:1rem;font-weight:600;margin:16px 0 8px}.gc-subtitle{color:var(--gc-text-muted);font-size:0.92rem;margin-bottom:20px;line-height:1.5}
.gc-theme-switcher{display:flex;justify-content:center;gap:2px;padding:10px 16px 6px}
.gc-theme-btn{background:transparent;border:1px solid transparent;color:var(--gc-text-dim);font-size:11px;padding:3px 10px;border-radius:99px;cursor:pointer;transition:all .15s}
.gc-theme-btn.active{background:var(--gc-primary-soft);color:var(--gc-primary);border-color:var(--gc-primary);font-weight:600}
.gci-precision-bar{display:flex;gap:4px;margin-bottom:16px;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);padding:4px}.gci-prec-btn{flex:1;padding:8px 0;font-size:13px;font-weight:500;border:none;background:transparent;color:var(--gc-text-muted);border-radius:var(--gc-radius);cursor:pointer;transition:all .15s}.gci-prec-btn:hover{color:var(--gc-text);background:var(--gc-surface-hover)}.gci-prec-btn.active{background:var(--gc-primary);color:var(--gc-primary-text);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,0.2)}
.gc-card{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--gc-shadow);min-height:180px;contain:layout}.gc-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--gc-text-dim);padding:12px 0 6px;grid-column:1/-1}.gc-section-label:first-child{padding-top:0}
.gc-fields-grid{display:grid;grid-template-columns:1fr;gap:12px}.gc-fields-grid.gc-2col{grid-template-columns:1fr 1fr}.gc-field{display:flex;flex-direction:column;gap:4px}.gc-field-label{font-size:13px;font-weight:500;color:var(--gc-text-muted)}.gc-field-hint{font-size:11px;color:var(--gc-text-dim);margin-top:-2px}
.gc-input-wrap{position:relative;display:flex;align-items:center}.gc-prefix,.gc-suffix{position:absolute;font-size:13px;color:var(--gc-text-dim);pointer-events:none;font-weight:500;z-index:1}.gc-prefix{left:12px}.gc-suffix{right:12px}.gc-input{width:100%;background:var(--gc-input-bg);border:1px solid var(--gc-input-border);border-radius:var(--gc-radius);padding:10px 12px;font-size:15px;color:var(--gc-text);transition:border-color .15s;font-variant-numeric:tabular-nums}.gc-input:focus-visible{outline:none;border-color:var(--gc-input-focus);box-shadow:0 0 0 3px var(--gc-primary-soft)}.gc-input.has-prefix{padding-left:28px}.gc-input.has-suffix{padding-right:48px}select.gc-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238b949e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}
.gc-live-indicator{display:flex;align-items:center;gap:8px;padding:10px 0 0;font-size:12px;color:var(--gc-text-dim)}.gc-live-dot{width:7px;height:7px;border-radius:50%;background:var(--gc-success);animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.gc-results{background:var(--gc-result-gradient);border:1px solid var(--gc-result-border);border-radius:var(--gc-radius-lg);overflow:hidden;margin-bottom:16px;box-shadow:var(--gc-shadow-lg)}.gc-results-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px 0}.gc-results-title{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gc-text-muted)}.gc-results-actions{display:flex;gap:6px}.gc-mini-btn{background:transparent;border:1px solid var(--gc-border);color:var(--gc-text-muted);font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;transition:all .15s}.gc-mini-btn:hover{color:var(--gc-text);border-color:var(--gc-text-muted)}
.gc-primary-result{padding:16px 20px 12px}.gc-primary-label{font-size:13px;color:var(--gc-text-muted);margin-bottom:4px}.gc-primary-value{font-size:2.1rem;font-weight:800;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;line-height:1.2}
.gc-period-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 20px 16px;background:var(--gc-border);border-radius:var(--gc-radius);overflow:hidden}
.gc-period-cell{background:var(--gc-surface);padding:10px 8px;text-align:center}
.gc-period-label{font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gc-text-dim);margin-bottom:4px}
.gc-period-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.gc-freq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 20px 6px;background:var(--gc-border);border-radius:var(--gc-radius);overflow:hidden}.gc-freq-cell{background:var(--gc-surface);padding:10px 8px;text-align:center}.gc-freq-label{font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gc-text-dim);margin-bottom:4px}.gc-freq-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.gc-percentile{margin:0 20px 12px;padding:10px 12px;border-radius:var(--gc-radius);background:var(--gc-primary-soft);border:1px solid rgba(79,143,247,0.2)}.gc-percentile-text{font-size:12px;color:var(--gc-primary);font-weight:500;text-align:center}
.gc-bracket-badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:99px;font-weight:600;margin-left:6px}
.gc-breakdown{padding:0 20px 16px}.gc-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--gc-border);font-size:13.5px}.gc-row:first-child{border-top:none}.gc-row-label{color:var(--gc-text-muted)}.gc-row-value{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.gc-row-value.positive{color:var(--gc-success)}.gc-row-value.negative{color:var(--gc-error)}.gc-row-value.warning{color:var(--gc-warning)}.gc-row.gc-row-total{border-top:2px solid var(--gc-border);font-weight:700}.gc-row-indent{padding-left:16px;font-size:12.5px;opacity:0.85}
.gc-row-value.muted{color:var(--gc-text-dim)}
.gc-chart-card{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);padding:16px;margin-bottom:16px;box-shadow:var(--gc-shadow)}.gc-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.gc-chart-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--gc-text-muted)}.gc-chart-legend{display:flex;gap:14px;flex-wrap:wrap}.gc-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--gc-text-muted)}.gc-legend-dot{width:10px;height:10px;border-radius:2px}
.gc-chart{position:relative;height:260px}.gc-chart canvas{width:100%;height:100%}
.gc-savings-callout{display:none;margin:0 20px 12px;padding:10px 14px;background:rgba(63,185,80,0.08);border:1px solid rgba(63,185,80,0.25);border-radius:var(--gc-radius);font-size:13px;color:var(--gc-success)}
[data-theme="colourblind"] .gc-savings-callout{background:rgba(255,176,0,0.08);border-color:rgba(255,176,0,0.25);color:var(--gc-success)}
/* High Contrast theme: strengthen breadcrumbs, badges, tabs */
[data-theme="colourblind"] .gc-breadcrumbs{color:#3d3526}
[data-theme="colourblind"] .gc-breadcrumbs a{color:#0047ab;text-decoration:underline}
[data-theme="colourblind"] .gc-breadcrumbs .sep{color:#3d3526}
[data-theme="colourblind"] .gc-position-badge{color:#3d3526 !important}
[data-theme="colourblind"] .gc-tnav-link{color:#4a433a}
[data-theme="colourblind"] .gc-tnav-link.gc-tnav-active{color:#0047ab;background:rgba(0,71,171,0.12);border:1px solid rgba(0,71,171,0.3)}
[data-theme="colourblind"] .gci-prec-btn{color:#4a433a}
[data-theme="colourblind"] .gci-prec-btn.active{background:#0047ab;color:#fff}
[data-theme="colourblind"] .gc-trust-banner{color:#3d3526}
[data-theme="colourblind"] .gc-human-first{color:#1a1a1a}
.gc-warning-callout{display:none;margin:0 20px 12px;padding:10px 14px;background:rgba(210,153,34,0.08);border:1px solid rgba(210,153,34,0.25);border-radius:var(--gc-radius);font-size:13px;color:var(--gc-warning)}
.gc-callout-positive{background:rgba(63,185,80,0.08);border:1px solid rgba(63,185,80,0.25);color:var(--gc-success)}
.gc-callout-warning{background:rgba(248,81,73,0.08);border:1px solid rgba(248,81,73,0.25);color:var(--gc-error)}
.gc-sensitivity-table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.gc-sensitivity-table th,.gc-sensitivity-table td{padding:6px 8px;border:1px solid var(--gc-border);text-align:right;font-variant-numeric:tabular-nums}.gc-sensitivity-table th{background:var(--gc-surface-hover);color:var(--gc-text-muted);font-weight:600;font-size:11px}.gc-sensitivity-table td.hl{background:var(--gc-primary-soft);font-weight:700;color:var(--gc-primary)}
.gc-formula-panel{background:var(--gc-input-bg);border:1px solid var(--gc-border);border-radius:var(--gc-radius);padding:12px 16px;font-family:'JetBrains Mono','SF Mono',monospace;font-size:11.5px;color:var(--gc-text-muted);line-height:1.7;white-space:pre-wrap;max-height:260px;overflow-y:auto;margin:8px 0}
.gc-content-card{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);padding:20px;margin-bottom:16px}.gc-content-card h2{font-size:1.05rem;margin:0 0 10px}.gc-content-card h3{font-size:0.95rem;margin:14px 0 6px}.gc-content-card p{color:var(--gc-text-muted);font-size:0.88rem;margin-bottom:8px;line-height:1.6}.gc-content-card table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}.gc-content-card th,.gc-content-card td{padding:8px 10px;border:1px solid var(--gc-border);text-align:left}.gc-content-card th{background:var(--gc-surface-hover);font-weight:600}
.gc-related{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gc-related-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--gc-radius);border:1px solid var(--gc-border);transition:all .15s;font-size:13px;color:var(--gc-text)}
.gc-related-link:hover{background:var(--gc-surface-hover);border-color:var(--gc-primary);text-decoration:none}
.gc-related-icon{font-size:1.4rem}
.gc-related-label{font-size:11px;color:var(--gc-text-dim);margin-top:1px}
.gc-reset-btn{display:block;width:100%;padding:10px;background:transparent;border:1px solid var(--gc-border);border-radius:var(--gc-radius);color:var(--gc-text-muted);font-size:13px;cursor:pointer;margin-bottom:16px;transition:all .15s}.gc-reset-btn:hover{border-color:var(--gc-error);color:var(--gc-error)}
.gc-privacy{text-align:center;font-size:11px;color:var(--gc-text-dim);padding:8px 0}
.gc-close-section{display:flex;justify-content:center;padding:16px 0 4px;margin-top:12px;border-top:1px solid var(--gc-border)}
.gc-gauge-wrap{padding:4px 20px 6px}
.gc-scenario-bar{display:flex;gap:4px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.gc-scen-tab{padding:6px 14px;border-radius:var(--gc-radius);font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--gc-border);background:var(--gc-surface);color:var(--gc-text-muted);transition:all .15s}.gc-scen-tab.active{background:var(--gc-primary);color:var(--gc-primary-text);border-color:var(--gc-primary)}.gc-scen-actions{display:flex;gap:4px;margin-left:auto}
.gc-scroll-top{position:fixed;bottom:24px;right:20px;z-index:150;width:44px;height:44px;border-radius:50%;border:1px solid var(--gc-border);background:var(--gc-surface);color:var(--gc-text-muted);font-size:20px;cursor:pointer;box-shadow:var(--gc-shadow-lg);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px);transition:opacity .25s,transform .25s;pointer-events:none}
.gc-scroll-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.gc-scroll-top:hover{border-color:var(--gc-primary);color:var(--gc-primary)}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gc-results,.gc-chart-card{animation:fadeIn .3s ease}
/* Below-fold lazy-render utility — skips style/layout/paint until scrolled near */
.gc-lazy{content-visibility:auto;contain-intrinsic-size:auto 200px}
.gc-lazy-sm{content-visibility:auto;contain-intrinsic-size:auto 100px}
@media(min-width:640px){.gc-fields-grid.gc-2col{grid-template-columns:1fr 1fr}.gc-freq-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:639px){.gc-fields-grid.gc-2col{grid-template-columns:1fr}.gc-primary-value{font-size:1.7rem}.gc-freq-grid{grid-template-columns:repeat(3,1fr)}.gc-related{grid-template-columns:1fr}.gc-region-detect-bar{align-items:flex-start;flex-wrap:wrap}.gc-region-detect-actions{width:100%;margin-left:23px;padding-top:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.gc-live-dot{animation:none}.gc-results,.gc-chart-card{animation:none}}
@media(prefers-contrast:more){:root,[data-theme="dark"]{--gc-text:#fff;--gc-text-muted:#d0d0d0;--gc-text-dim:#b0b0b0;--gc-border:#666;--gc-input-border:#888;--gc-primary:#6aadff}[data-theme="light"]{--gc-text:#000;--gc-text-muted:#333;--gc-text-dim:#444;--gc-border:#555;--gc-input-border:#666;--gc-primary:#1a4fd6}}
@media print{body{background:#fff!important;color:#000!important}.gci-precision-bar,.gc-live-indicator,.gc-reset-btn,.gc-mini-btn,.gc-content-card,.gc-scenario-bar{display:none!important}.gc-page{max-width:100%;padding:0}.gc-results,.gc-chart-card,.gc-card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.gc-primary-value{color:#000!important}canvas{max-height:200px}}

/* ─── GCI CHROME (injected) ─── */
/* ─── CHROME SHARED ─── */
.gc-topbar{position:sticky;top:0;z-index:200;background:var(--gc-bg);border-bottom:1px solid var(--gc-border);box-shadow:0 1px 12px rgba(0,0,0,.25)}
.gc-topbar-inner{max-width:1100px;margin:0 auto;padding:0 16px;height:52px;display:flex;align-items:center;gap:0}
.gc-logo-link{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0;margin-right:12px}
.gc-logo-mark{width:26px;height:26px;flex-shrink:0}
.gc-logo-text{font-size:15px;font-weight:800;letter-spacing:-.025em;color:var(--gc-text);line-height:1;white-space:nowrap}
.gc-topnav{display:flex;align-items:center;gap:2px;flex:1;overflow:hidden}
.gc-tnav-link{font-size:12px;font-weight:500;color:var(--gc-text-muted);text-decoration:none;padding:8px 10px;border-radius:20px;transition:all .15s;white-space:nowrap;min-height:32px;display:inline-flex;align-items:center}
.gc-tnav-link:hover,.gc-tnav-link.gc-tnav-active{color:var(--gc-text);background:var(--gc-surface-hover)}
.gc-tnav-link.gc-tnav-active{color:var(--gc-primary);background:var(--gc-primary-soft);font-weight:600}
/* Mobile hamburger toggle — injected at runtime by gc-analytics.js */
.gc-nav-toggle{display:none;background:transparent;border:1px solid var(--gc-border);border-radius:8px;color:var(--gc-text);padding:0;width:44px;height:44px;min-width:44px;min-height:44px;align-items:center;justify-content:center;cursor:pointer;margin-right:8px}
.gc-nav-toggle:hover{background:var(--gc-surface-hover);border-color:var(--gc-text-muted)}
.gc-nav-toggle:focus-visible{outline:2px solid var(--gc-primary);outline-offset:2px}
.gc-nav-toggle svg{display:block}
[data-theme="light"] .gc-tnav-link.gc-tnav-active{color:#1d4ed8}
@media(prefers-color-scheme:light){[data-theme="auto"] .gc-tnav-link.gc-tnav-active{color:#1d4ed8}}
.gc-topbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}

/* Region selector */
.gc-region-btn{display:flex;align-items:center;gap:5px;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:20px;padding:4px 10px;font-size:12px;color:var(--gc-text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}
.gc-region-btn:hover{border-color:var(--gc-text-muted);color:var(--gc-text)}
.gc-region-flag{font-size:14px;line-height:1}
.gc-region-name{font-weight:500}
.gc-region-caret{font-size:9px;opacity:.6}
.gc-region-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);box-shadow:0 8px 24px rgba(0,0,0,.3);min-width:200px;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .18s,transform .18s;z-index:300}
.gc-region-wrap{position:relative}
.gc-region-wrap.open .gc-region-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.gc-region-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-size:13px;color:var(--gc-text-muted);transition:background .1s}
.gc-region-option:hover{background:var(--gc-surface-hover);color:var(--gc-text)}
.gc-region-option.active{color:var(--gc-primary);background:var(--gc-primary-soft)}
.gc-region-option-flag{font-size:18px;line-height:1}
.gc-region-option-info{flex:1}
.gc-region-option-name{font-weight:600;color:inherit;font-size:13px}
.gc-region-option-sub{font-size:11px;color:var(--gc-text-dim);margin-top:1px}
.gc-region-option-badge{font-size:10px;padding:2px 6px;border-radius:10px;background:var(--gc-primary-soft);color:var(--gc-primary);font-weight:600}
.gc-region-detect-bar{padding:12px 14px;background:var(--gc-primary-soft);border-bottom:1px solid var(--gc-border);color:var(--gc-primary);display:flex;align-items:flex-start;gap:10px}
.gc-region-detect-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding-top:2px}
.gc-region-detect-icon svg{width:13px;height:13px;display:block}
.gc-region-detect-content{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}
.gc-region-detect-label{font-size:11px;font-weight:700;line-height:1.2}
.gc-region-detect-copy{font-size:11px;line-height:1.35}
.gc-region-detect-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto;padding-top:1px}
.gc-region-detect-confirm{font-size:10px;padding:3px 10px;background:var(--gc-primary);color:var(--gc-primary-text);border:none;border-radius:999px;cursor:pointer;font-weight:600}
.gc-region-detect-dismiss{font-size:10px;padding:0;background:transparent;color:var(--gc-primary);border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

/* Theme toggle (top right, compact) */
.gc-theme-wrap{position:relative}
.gc-theme-btn-top{display:flex;align-items:center;gap:5px;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:20px;padding:4px 10px;font-size:12px;color:var(--gc-text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}
.gc-theme-btn-top:hover{border-color:var(--gc-text-muted);color:var(--gc-text)}
.gc-theme-btn-top svg{width:13px;height:13px}
.gc-theme-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);box-shadow:0 8px 24px rgba(0,0,0,.3);min-width:160px;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .18s,transform .18s;z-index:300}
.gc-theme-wrap.open .gc-theme-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.gc-theme-option{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;font-size:13px;color:var(--gc-text-muted);transition:background .1s}
.gc-theme-option:hover{background:var(--gc-surface-hover);color:var(--gc-text)}
.gc-theme-option.active{color:var(--gc-primary);background:var(--gc-primary-soft)}
.gc-theme-option svg{width:15px;height:15px;flex-shrink:0;opacity:.8}
.gc-theme-option.active svg{opacity:1}
.gc-theme-option-label{font-weight:500}
.gc-theme-divider{height:1px;background:var(--gc-border);margin:4px 0}

/* Hide old side panel */
.gc-side-panel{display:none!important}
.gc-theme-switcher{display:none!important}

/* "All calculators" back link */
.gc-topbar-back{font-size:12px;color:var(--gc-text-dim);text-decoration:none;border:1px solid var(--gc-border);padding:4px 10px;border-radius:20px;transition:all .15s;white-space:nowrap;flex-shrink:0}
.gc-topbar-back:hover{color:var(--gc-text-muted);border-color:var(--gc-text-muted)}

/* Mobile */
@media(max-width:640px){
  .gc-nav-toggle{display:inline-flex}
  .gc-topbar{position:sticky}
  .gc-topnav{display:none;position:absolute;top:52px;left:0;right:0;flex-direction:column;background:var(--gc-bg);border-bottom:1px solid var(--gc-border);box-shadow:0 8px 24px rgba(0,0,0,.35);padding:8px;gap:4px;z-index:199;overflow:visible;max-height:calc(100vh - 52px);overflow-y:auto}
  .gc-topbar[data-nav="open"] .gc-topnav{display:flex}
  .gc-topnav .gc-tnav-link{font-size:14px;padding:12px 16px;border-radius:8px;width:100%;min-height:44px}
  .gc-region-name{display:none}
  .gc-theme-btn-top span{display:none}
}

/* Ad zones */
.gc-ad-top{background:var(--gc-surface);border-bottom:1px solid var(--gc-border);min-height:50px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px 0;font-size:11px;color:var(--gc-text-dim)}
.gc-ad-bottom{background:var(--gc-surface);border-top:1px solid var(--gc-border);min-height:50px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px 0;font-size:11px;color:var(--gc-text-dim)}

/* Footer */
.gc-footer{background:var(--gc-surface);border-top:1px solid var(--gc-border)}
.gc-footer-inner{max-width:1100px;margin:0 auto;padding:28px 16px 20px}
.gc-footer-trust{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--gc-border);margin-bottom:20px;justify-content:center}
.gc-trust-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--gc-text-muted);background:var(--gc-input-bg);border:1px solid var(--gc-border);border-radius:20px;padding:5px 11px}
.gc-trust-pill svg{width:13px;height:13px;color:var(--gc-success);flex-shrink:0}
.gc-footer-sitemap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 20px;margin-bottom:20px}
@media(max-width:640px){.gc-footer-sitemap{grid-template-columns:repeat(2,1fr)}}
.gc-fcol-head{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gc-text-muted);margin-bottom:6px}
.gc-fcol a{display:block;font-size:12px;color:var(--gc-text-muted);text-decoration:none;padding:6px 0;line-height:1.5;min-height:24px;transition:color .12s}
.gc-fcol a:hover{color:var(--gc-primary)}
.gc-footer-about{font-size:11px;color:var(--gc-text-dim);line-height:1.65;padding:14px 0;border-top:1px solid var(--gc-border);border-bottom:1px solid var(--gc-border);margin-bottom:14px}
.gc-footer-about strong{color:var(--gc-text-muted)}
.gc-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.gc-footer-copy{font-size:11px;color:var(--gc-text-dim)}
.gc-footer-legal{display:flex;gap:14px;flex-wrap:wrap}
.gc-footer-legal a{font-size:11px;color:var(--gc-text-dim);text-decoration:none;transition:color .12s}
.gc-footer-legal a:hover{color:var(--gc-text-muted)}
.gc-page{scroll-margin-top:52px}
@media print{.gc-topbar,.gc-side-panel,.gc-footer,.gc-ad-top,.gc-ad-bottom{display:none!important}}

/* ── GC-ADS v1.1 ── */
/**
 * GlobalCalc Ad Infrastructure — gc-ads.css v1.1
 * ================================================
 * FIXES in v1.1:
 * · Removed double-padding: gc-page-with-rail no longer has padding:0 16px
 *   (the existing .gc-page already has padding:0 16px 60px — adding again caused
 *   32px horizontal padding instead of 16px, squeezing the content area)
 * · gc-page inside the rail layout: removed margin:0 auto override —
 *   it's inside a grid cell, centering is handled by the grid
 * · Rail sticky: added explicit height:100% on the grid row and
 *   align-self:start to ensure sticky works correctly in CSS Grid
 * · gc-ad-top: full-width breakout — outside the grid so it spans 100vw correctly
 * · gc-ad-bottom: same full-width treatment
 * · Mobile: gc-page padding preserved correctly on single-column layout
 */

/* ── PAGE LAYOUT WITH RAIL ─────────────────────────────────────── */
.gc-page-with-rail {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 0 28px;
  max-width: 1080px;
  margin: 0 auto;
  /* NO padding here — .gc-page already has padding:0 16px 60px */
  align-items: start;
}

/* Main content column */
.gc-page-with-rail .gc-main-col {
  min-width: 0;
  /* No max-width needed — grid track handles width */
}

/* Override .gc-page centering inside the grid — not needed, grid handles it */
.gc-page-with-rail .gc-main-col .gc-page {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

/* Rail column — sticky requires align-self:start on the grid item */
.gc-page-with-rail .gc-rail-col {
  position: sticky;
  top: 60px;               /* 52px topbar + 8px breathing room */
  align-self: start;       /* CRITICAL for sticky in CSS Grid */
  padding-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  /* max-height ensures rail doesn't overflow viewport on short pages */
  max-height: calc(100vh - 68px);
  overflow-y: auto;
  scrollbar-width: none;   /* Hide scrollbar on rail */
}
.gc-page-with-rail .gc-rail-col::-webkit-scrollbar { display: none; }

/* Collapse rail on mobile / tablet */
@media (max-width: 900px) {
  .gc-page-with-rail {
    grid-template-columns: 1fr;
    /* Restore page horizontal padding on mobile when rail is gone */
    padding: 0;
  }
  .gc-rail-col {
    display: none !important;
  }
  /* Restore .gc-page centering when no rail */
  .gc-page-with-rail .gc-main-col .gc-page {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ── AD SLOT BASE ─────────────────────────────────────────────── */
[id^="gc-ad-"] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-height: 0;
  transition: opacity 0.3s ease;
}

/* "Advertisement" label above every slot */
[id^="gc-ad-"]::before {
  content: 'Advertisement';
  display: block;
  font-family: var(--gc-font, -apple-system, sans-serif);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gc-text-dim, #6e7681);
  text-align: center;
  width: 100%;
  padding: 3px 0 2px;
  line-height: 1;
  flex-shrink: 0;
}

/* Loading shimmer */
[id^="gc-ad-"][data-state="loading"]::after {
  content: '';
  display: block;
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    var(--gc-surface, #161b22) 25%,
    var(--gc-surface-hover, #1c2333) 50%,
    var(--gc-surface, #161b22) 75%
  );
  background-size: 400% 100%;
  animation: gc-shimmer 1.6s ease infinite;
}

@keyframes gc-shimmer {
  0%   { background-position: 100% 50% }
  100% { background-position: 0% 50% }
}

[id^="gc-ad-"][data-state="filled"] > iframe {
  border: none;
  display: block;
}

/* Reserve space on the <ins class="adsbygoogle"> itself so it doesn't
   collapse to 0 height between AdSense script load and ad creative fill
   (prevents Cumulative Layout Shift). Matches the shimmer dimensions
   above and is overridden once AdSense sets an explicit size. */
#gc-ad-top .adsbygoogle,
#gc-ad-mid .adsbygoogle,
#gc-ad-bottom .adsbygoogle { min-height: 90px; width: 100%; display: block; }
#gc-ad-result .adsbygoogle { min-height: 250px; width: 100%; display: block; }
#gc-ad-rail .adsbygoogle { min-height: 600px; width: 300px; display: block; }
@media (max-width: 767px) {
  #gc-ad-mid .adsbygoogle { min-height: 250px; }
  #gc-ad-top .adsbygoogle,
  #gc-ad-bottom .adsbygoogle { min-height: 50px; }
}

[id^="gc-ad-"].gc-ad-empty::before {
  display: none;
}

/* ── SLOT SIZES ───────────────────────────────────────────────── */

/* TOP — full-width leaderboard, OUTSIDE the grid, spans full content width */
#gc-ad-top {
  background: var(--gc-surface, #161b22);
  border-bottom: 1px solid var(--gc-border, #30363d);
  padding: 6px 0;
  /* Full bleed — sits between header and the grid wrapper */
}
#gc-ad-top[data-state="loading"]::after {
  width: min(728px, 100%);
  height: 90px;
}
@media (max-width: 767px) {
  #gc-ad-top{display:none}
  #gc-ad-top[data-state="loading"]::after {
    width: min(320px, 100%);
    height: 50px;
  }
}

/* MID — between reset button and SEO content cards */
#gc-ad-mid {
  margin: 20px 0;
  background: transparent;
}
#gc-ad-mid[data-state="loading"]::after {
  width: min(728px, 100%);
  height: 90px;
}
@media (max-width: 767px) {
  #gc-ad-mid[data-state="loading"]::after {
    width: min(300px, 100%);
    height: 250px;
  }
}

/* RESULT — in-flow, reveals after first calculation */
#gc-ad-result {
  margin: 16px 0;
  background: transparent;
}
#gc-ad-result[data-state="loading"]::after {
  width: 300px;
  height: 250px;
}

/* RAIL — sticky right column, desktop only */
#gc-ad-rail {
  background: transparent;
  width: 300px;
}
#gc-ad-rail[data-state="loading"]::after {
  width: 300px;
  height: 600px;
}

/* BOTTOM — above footer, full-width like TOP */
#gc-ad-bottom {
  background: var(--gc-surface, #161b22);
  border-top: 1px solid var(--gc-border, #30363d);
  margin-top: 24px;
  padding: 6px 0;
}
#gc-ad-bottom[data-state="loading"]::after {
  width: min(728px, 100%);
  height: 90px;
}
@media (max-width: 767px) {
  #gc-ad-bottom[data-state="loading"]::after {
    width: min(300px, 100%);
    height: 250px;
  }
}

/* ── HOUSE ADS ─────────────────────────────────────────────────── */

.gc-house-ad {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-decoration: none;
  border-radius: 6px;
  padding: 12px 20px;
  background: var(--ha-bg, rgba(79,143,247,0.08));
  border: 1px solid var(--ha-border, rgba(79,143,247,0.2));
  transition: opacity 0.15s, transform 0.15s;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}
.gc-house-ad:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}

/* Leaderboard layout (top/mid/bottom slots on desktop) */
.gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) {
  flex-direction: row;
  gap: 12px;
  padding: 0 20px;
  height: 90px;
  max-width: 728px;
  justify-content: flex-start;
}
.gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) .gc-house-ad__sub,
.gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) .gc-house-ad__cta,
.gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) .gc-house-ad__eyebrow {
  display: none;
}
.gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) .gc-house-ad__label {
  font-size: 14px;
  font-weight: 600;
}

/* MREC (300×250) */
.gc-house-ad--mrec {
  width: 300px;
  height: 250px;
}

/* Rail (300×600) */
.gc-house-ad--rail {
  width: 300px;
  height: 600px;
}

.gc-house-ad__eyebrow {
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7fb0ff;
  width: 100%;
  text-align: center;
  margin-bottom: 4px;
  font-weight: 700;
}
[data-theme="light"] .gc-house-ad__eyebrow{color:#1d4ed8}
@media(prefers-color-scheme:light){[data-theme="auto"] .gc-house-ad__eyebrow{color:#1d4ed8}}
.gc-house-ad__icon {
  font-size: 28px;
  line-height: 1;
  flex-shrink: 0;
}
.gc-house-ad--mrec .gc-house-ad__icon,
.gc-house-ad--rail .gc-house-ad__icon {
  font-size: 36px;
  margin-bottom: 8px;
}
.gc-house-ad__label {
  font-family: var(--gc-font, sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: var(--gc-text, #e6edf3);
  line-height: 1.3;
}
.gc-house-ad--mrec .gc-house-ad__label,
.gc-house-ad--rail .gc-house-ad__label {
  font-size: 15px;
  margin-bottom: 4px;
}
.gc-house-ad__sub {
  font-size: 11.5px;
  color: var(--gc-text-muted, #8b949e);
  line-height: 1.4;
  max-width: 220px;
}
.gc-house-ad__cta {
  font-size: 12px;
  color: #7fb0ff;
  font-weight: 700;
  margin-top: 10px;
  letter-spacing: 0.02em;
}
[data-theme="light"] .gc-house-ad__cta{color:#1d4ed8}
@media(prefers-color-scheme:light){[data-theme="auto"] .gc-house-ad__cta{color:#1d4ed8}}

/* Mobile house ads */
@media (max-width: 767px) {
  .gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) {
    max-width: 100%;
    height: 50px;
    padding: 0 12px;
    gap: 8px;
  }
  .gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) .gc-house-ad__icon {
    font-size: 20px;
  }
  .gc-house-ad:not(.gc-house-ad--rail):not(.gc-house-ad--mrec) .gc-house-ad__label {
    font-size: 12px;
  }
}

/* ── RESULT SLOT ANIMATION ────────────────────────────────────── */
#gc-ad-result {
  animation: gc-slot-reveal 0.4s ease forwards;
}
@keyframes gc-slot-reveal {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── PRINT ─────────────────────────────────────────────────────── */
@media print {
  [id^="gc-ad-"],
  .gc-rail-col,
  .gc-house-ad {
    display: none !important;
  }
  .gc-page-with-rail {
    grid-template-columns: 1fr;
  }
}

/* ── LIGHT THEME ───────────────────────────────────────────────── */
[data-theme="light"] #gc-ad-top,
[data-theme="light"] #gc-ad-bottom {
  background: var(--gc-surface, #fff);
}
[data-theme="light"] .gc-house-ad {
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* ── RELATED CALCULATORS ──────────────────────────────────────── */
.gc-related-card,
.gc-interested-card {
  background: var(--gc-surface);
  border: 1px solid var(--gc-border);
  border-radius: 16px;
  padding: 24px;
  margin: 20px 0;
}
.gc-related-label,
.gc-interested-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gc-text-dim);
  margin-bottom: 14px;
}
.gc-related-grid,
.gc-interested-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.gc-related-item,
.gc-interested-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: var(--gc-bg);
  border: 1px solid var(--gc-border);
  border-radius: 12px;
  text-decoration: none;
  transition: border-color .15s, background .15s;
}
.gc-related-item:hover,
.gc-interested-item:hover {
  border-color: var(--gc-blue);
  background: var(--gc-surface);
}
.gc-related-icon,
.gc-interested-icon {
  font-size: 28px;
  line-height: 1;
  flex-shrink: 0;
  width: 40px;
  text-align: center;
}
.gc-related-item > div,
.gc-interested-item > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.gc-related-item strong,
.gc-interested-item strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--gc-text);
  line-height: 1.3;
}
.gc-related-item span,
.gc-interested-item span {
  font-size: 12px;
  color: var(--gc-text-muted);
  line-height: 1.3;
}
@media(max-width:640px) {
  .gc-related-grid,
  .gc-interested-grid {
    grid-template-columns: 1fr;
  }
  .gc-related-icon,
  .gc-interested-icon {
    font-size: 22px;
    width: 32px;
  }
}

/* ── QUICK ANSWER BOX ── */
.gc-instant-answer{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:10px;padding:14px 16px;margin-bottom:16px}
.gc-ia-eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gc-primary);margin-bottom:8px}
.gc-ia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:8px}
.gc-ia-item{background:var(--gc-bg);border-radius:7px;padding:8px 10px}
.gc-ia-label{font-size:11px;color:var(--gc-text-muted);margin-bottom:2px}
.gc-ia-value{font-size:14px;font-weight:700;color:var(--gc-text)}
.gc-ia-note{font-size:12px;color:var(--gc-text-muted);margin:4px 0 0}

/* ── YOU MIGHT ALSO BE INTERESTED IN — aligns with main content column ── */
.gc-interested-wrap{
  max-width:1080px;
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:1fr 300px;
  gap:0 28px;
}
.gc-interested-card{
  grid-column:1;
  margin:0 0 24px;
  padding:0 16px;
  border-radius:0;
  background:transparent;
  border:none;
}
@media(max-width:900px){
  .gc-interested-wrap{
    display:block;
    max-width:720px;
    padding:0 16px;
  }
  .gc-interested-card{
    padding:0;
    margin:0 0 20px;
  }
}

/* ── PAGE ADDITIONS ── */
/* ── QUICK ANSWERS — clean stat row + expandable grid ── */
.gc-qa-section{margin:0 0 12px;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);overflow:hidden;contain:layout;max-width:100%}

/* ── ROW 1: 3 income chips side by side ── */
.gc-qa-row1{display:grid;grid-template-columns:repeat(3,1fr)}
/* ── ROW 2: 2 factor chips side by side ── */
.gc-qa-row2{display:grid;grid-template-columns:repeat(2,1fr)}
/* ── ROW 3: More button + disclaimer ── */
.gc-qa-row3{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--gc-input-bg)}
/* Thin divider between rows */
.gc-qa-row-divider{height:1px;background:var(--gc-border)}

/* Primary chips — shared style for rows 1 & 2 */
.gc-qa-chip--primary{
  background:transparent;border:none;
  border-right:1px solid var(--gc-border);
  padding:18px 20px 16px;
  cursor:pointer;text-align:left;
  transition:background .15s;
  display:flex;flex-direction:column;gap:8px;
  -webkit-tap-highlight-color:transparent
}
.gc-qa-chip--primary:last-child{border-right:none}
.gc-qa-chip--primary:hover{background:var(--gc-surface-hover)}
.gc-qa-chip--primary[aria-selected="true"]{background:rgba(79,143,247,.09);box-shadow:inset 0 -2px 0 var(--gc-primary)}
/* Label — full descriptive text, can wrap to 2 lines if needed */
.gc-qa-chip--primary .gc-qa-chip-income{
  font-size:12.5px;
  color:var(--gc-text-muted);
  font-weight:500;
  line-height:1.45;
  font-family:var(--gc-font)
}
/* Value — large bold figure */
.gc-qa-chip--primary .gc-qa-chip-val{
  font-size:1.5rem;
  font-weight:800;
  color:var(--gc-text);
  font-family:var(--gc-font);
  letter-spacing:-.015em;
  line-height:1.1;
  white-space:normal;
  overflow-wrap:anywhere
}
.gc-qa-chip--primary[aria-selected="true"] .gc-qa-chip-val{color:var(--gc-primary)}
/* Row 2 chips get slightly smaller value since text is longer */
.gc-qa-row2 .gc-qa-chip--primary .gc-qa-chip-val{font-size:1.15rem}

/* Standardized snapshot grid: consistent chip heights */
.gc-qa-chip--primary{min-height:62px;display:flex;flex-direction:column;justify-content:center}

/* Key insight chip styling */
.gc-qa-chip--insight{position:relative}
.gc-qa-chip--insight::before{
  content:"Key insight";
  position:absolute;top:-8px;left:8px;
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;
  color:var(--gc-primary);background:var(--gc-bg);padding:0 4px;line-height:1
}

/* Human-first sentence above SEO description */
.gc-human-first{font-size:1.05rem;color:var(--gc-text);margin-bottom:6px;font-style:italic}

/* Privacy & trust banner below subtitle */
.gc-trust-banner{
  display:flex;flex-wrap:wrap;gap:6px 12px;
  font-size:0.78rem;color:var(--gc-text-muted);
  margin:8px 0 14px;padding:0;line-height:1.3
}
.gc-trust-banner span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.gc-trust-banner svg{width:13px;height:13px;flex-shrink:0;opacity:0.7}

/* Precision tab descriptors */
.gci-prec-desc{
  display:none;font-size:0.75rem;color:var(--gc-text-muted);
  text-align:center;margin:-4px 0 10px;line-height:1.3
}
.gci-prec-desc.active{display:block}

/* "More scenarios ▾" button in row 3 */
.gc-qa-more-btn{
  flex-shrink:0;
  background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius);
  padding:8px 14px;
  cursor:pointer;
  font-size:12.5px;font-weight:600;color:var(--gc-text-muted);
  font-family:var(--gc-font);
  transition:all .15s;
  white-space:nowrap;
  display:flex;align-items:center;gap:6px;
  -webkit-tap-highlight-color:transparent
}
.gc-qa-more-btn:hover{border-color:var(--gc-primary);color:var(--gc-primary);background:var(--gc-surface-hover)}
.gc-qa-more-btn[aria-expanded="true"]{border-color:var(--gc-primary);color:var(--gc-primary);background:rgba(79,143,247,.09)}
.gc-qa-more-arrow{font-size:10px;transition:transform .2s ease;display:inline-block}
.gc-qa-more-btn[aria-expanded="true"] .gc-qa-more-arrow{transform:rotate(180deg)}

/* Disclaimer text in row 3 */
.gc-qa-disclaimer{font-size:12px;color:var(--gc-text-dim);line-height:1.5;margin:0;flex:1}

/* Expanded scenario grid */
.gc-qa-expanded{border-top:1px solid var(--gc-border);padding:10px 14px 13px;animation:gc-qa-in .18s ease both}
@keyframes gc-qa-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.gc-qa-group-label{font-size:9.5px;font-weight:700;color:var(--gc-text-dim);letter-spacing:.1em;text-transform:uppercase;padding:8px 0 4px}
.gc-qa-group-label:first-child{padding-top:2px}
.gc-qa-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:2px}
.gc-qa-chip{display:flex;flex-direction:column;gap:1px;padding:6px 11px;border-radius:var(--gc-radius);border:1px solid var(--gc-border);background:var(--gc-input-bg);cursor:pointer;transition:all .15s;text-align:left;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.gc-qa-chip:hover{border-color:var(--gc-primary);background:var(--gc-surface-hover)}
.gc-qa-chip[aria-selected="true"]{background:var(--gc-primary);border-color:var(--gc-primary)}
.gc-qa-chip.is-shared-active{background:rgba(79,143,247,.12);border-color:var(--gc-primary)}
.gc-qa-chip.is-shared-active .gc-qa-chip-income,.gc-qa-chip.is-shared-active .gc-qa-chip-val{color:var(--gc-primary)}
.gc-qa-chip-income{font-size:10px;color:var(--gc-text-muted);font-weight:500;line-height:1.25;white-space:normal;overflow-wrap:anywhere;font-family:var(--gc-font)}
.gc-qa-chip[aria-selected="true"] .gc-qa-chip-income{color:rgba(255,255,255,.75)}
.gc-qa-chip-val{font-size:12px;font-weight:700;color:var(--gc-text);white-space:normal;overflow-wrap:anywhere;line-height:1.25;font-family:var(--gc-font)}
.gc-qa-chip[aria-selected="true"] .gc-qa-chip-val{color:#fff}

/* Answer panel */
.gc-qa-panel{border-top:2px solid var(--gc-primary);background:linear-gradient(135deg,rgba(79,143,247,.06) 0%,rgba(79,143,247,.02) 100%);animation:gc-qa-in .2s ease both}
.gc-qa-panel-inner{padding:16px 18px 12px}
.gc-qa-panel-inner h3{font-size:.95rem;font-weight:700;color:var(--gc-text);margin:0 0 8px;line-height:1.3;font-family:var(--gc-font)}
.gc-qa-panel-inner .qa-summary{font-size:.84rem;color:var(--gc-text-muted);line-height:1.75;margin:0 0 12px}
.gc-qa-panel-inner .qa-summary strong{color:var(--gc-primary)}
.gc-qa-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.gc-qa-fact{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius);padding:8px 11px}
.gc-qa-fact-label{font-size:9.5px;color:var(--gc-text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-weight:600}
.gc-qa-fact-val{font-size:12.5px;font-weight:700;color:var(--gc-text);font-family:var(--gc-font)}
.gc-qa-fact-val.qa-pos{color:var(--gc-success)}
.gc-qa-fact-val.qa-neg{color:var(--gc-error)}
.gc-qa-fact-val.qa-warn{color:var(--gc-warning)}
.gc-qa-fact.qa-pos .gc-qa-fact-val{color:var(--gc-success)}
.gc-qa-fact.qa-neg .gc-qa-fact-val{color:var(--gc-error)}
.gc-qa-fact.qa-warn .gc-qa-fact-val{color:var(--gc-warning)}
.gc-qa-impacts-label{font-size:9.5px;font-weight:700;color:var(--gc-text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.gc-qa-impact-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-top:1px solid var(--gc-border);font-size:12px;font-family:var(--gc-font)}
.gc-qa-impact-row:first-of-type{border-top:none}
.gc-qa-impact-desc{color:var(--gc-text-muted)}
.gc-qa-impact-val{font-weight:700;color:var(--gc-error);white-space:nowrap;padding-left:12px}
.gc-qa-impact-val.qa-pos{color:var(--gc-success)}
.gc-qa-impacts{display:flex;flex-direction:column;gap:0}
.gc-qa-impact{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-top:1px solid var(--gc-border);font-size:12px;font-family:var(--gc-font)}
.gc-qa-impact:first-child{border-top:none}
.gc-qa-impact .gc-qa-impact-desc{color:var(--gc-text-muted)}
.gc-qa-impact .gc-qa-impact-val{font-weight:700;color:var(--gc-error);white-space:nowrap;padding-left:12px}
.gc-qa-impact .gc-qa-impact-val.qa-pos{color:var(--gc-success)}
.gc-qa-panel-close{display:block;width:100%;padding:7px;background:transparent;border:none;border-top:1px solid var(--gc-border);font-size:11px;color:var(--gc-text-dim);cursor:pointer;transition:color .15s;font-family:var(--gc-font)}
.gc-qa-panel-close:hover{color:var(--gc-error)}

/* Responsive */
@media(max-width:680px){
  .gc-qa-row1{grid-template-columns:1fr 1fr}
  .gc-qa-chip--primary .gc-qa-chip-val{font-size:1.15rem}
  .gc-qa-row2 .gc-qa-chip--primary .gc-qa-chip-val{font-size:1rem}
  .gc-qa-breakdown{grid-template-columns:1fr 1fr}
}
@media(max-width:440px){
  .gc-qa-row1,.gc-qa-row2{grid-template-columns:1fr}
  .gc-qa-chip--primary{border-right:none;border-bottom:1px solid var(--gc-border)}
  .gc-qa-row3{flex-direction:column;align-items:flex-start;gap:10px}
  .gc-qa-breakdown{grid-template-columns:1fr}
}

/* ── INSTANT ANSWER (legacy compat) ── */
.gc-instant-answer{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:10px;padding:14px 16px;margin-bottom:16px}
.gc-ia-eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gc-primary);margin-bottom:8px}
.gc-ia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:8px}
.gc-ia-item{background:var(--gc-bg);border-radius:7px;padding:8px 10px}
.gc-ia-label{font-size:11px;color:var(--gc-text-muted);margin-bottom:2px}
.gc-ia-value{font-size:14px;font-weight:700;color:var(--gc-text)}
.gc-ia-note{font-size:12px;color:var(--gc-text-muted);margin:4px 0 0}

/* ── EXPLORER ── */
.gc-explorer{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);margin:0 0 18px;overflow:hidden;box-shadow:var(--gc-shadow)}
.gc-explorer-hd{padding:18px 20px 0}
.gc-explorer-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gc-text-dim);margin-bottom:6px}
.gc-fallback-card{margin-bottom:16px}
.gc-fallback-note{font-size:12px;color:var(--gc-text-muted);line-height:1.65;margin:0}
.gc-fallback-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:12px}
.gc-fallback-metric{padding:10px 12px;border:1px solid var(--gc-border);border-radius:var(--gc-radius);background:var(--gc-input-bg)}
.gc-fallback-metric-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gc-text-dim);margin-bottom:4px}
.gc-fallback-metric-value{font-size:14px;font-weight:700;color:var(--gc-text);font-variant-numeric:tabular-nums}
.gc-fallback-chart-card .gc-chart{height:220px}
.gc-explorer-intro{font-size:.88rem;color:var(--gc-text-muted);margin:0 0 14px;line-height:1.6}
.gc-explorer-tabs{display:flex;border-bottom:1px solid var(--gc-border);padding:0 20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gc-explorer-tabs::-webkit-scrollbar{display:none}
.gc-etab{flex-shrink:0;padding:9px 13px;font-size:12.5px;font-weight:600;border:none;background:transparent;color:var(--gc-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap}
.gc-etab:hover{color:var(--gc-text)}
.gc-etab.is-active{color:var(--gc-primary);border-bottom-color:var(--gc-primary)}
.gc-epanel{display:none;padding:20px;animation:gc-fade-up .2s ease both}
.gc-epanel.is-active{display:block}
.gc-epanel-lead{margin-bottom:16px}
.gc-epanel-lead p{font-size:.88rem;color:var(--gc-text-muted);line-height:1.75;margin-bottom:8px}
.gc-epanel-lead p:last-child{margin-bottom:0}
.gc-ecard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.gc-ecard{background:var(--gc-input-bg);border:1px solid var(--gc-border);border-radius:10px;padding:14px}
.gc-ecard.gc-ecard-full{grid-column:1/-1}
.gc-ecard-title{font-size:.83rem;font-weight:700;color:var(--gc-text);margin-bottom:7px;line-height:1.3}
.gc-ecard p{font-size:.82rem;color:var(--gc-text-muted);line-height:1.65;margin:0}
.gc-ecard-link{display:inline-block;margin-top:9px;font-size:.8rem;font-weight:700;color:var(--gc-primary);text-decoration:none}
.gc-epanel-links{font-size:.82rem;color:var(--gc-text-dim);padding:12px 0 0;border-top:1px solid var(--gc-border)}
.gc-epanel-links span{margin-right:8px}
.gc-epanel-links a{margin-right:10px;color:var(--gc-primary);font-weight:600;text-decoration:none}
@keyframes gc-fade-up{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.gc-ecard-grid{grid-template-columns:1fr}.gc-ecard.gc-ecard-full{grid-column:1}}

/* ── JUMP GRID — coloured buttons matching sections ── */
.gc-jump-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 16px;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);padding:18px 20px;box-shadow:var(--gc-shadow)}
.gc-jump-grid-label{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gc-text-dim);margin-bottom:4px}
.gc-jump-item{display:flex;align-items:center;gap:7px;background:var(--gc-input-bg);border:1px solid var(--gc-border);border-radius:var(--gc-radius);padding:9px 12px;text-decoration:none;color:var(--gc-text-muted);font-size:12px;font-weight:600;transition:all .18s ease;white-space:nowrap;overflow:hidden}
.gc-jump-item:hover,.gc-jump-item.is-active{color:var(--gc-text)}

/* Each button inherits its section's accent colour on hover/active */
.gc-jump-item.jump-blue{border-left:3px solid rgba(79,143,247,.4)}
.gc-jump-item.jump-blue:hover,.gc-jump-item.jump-blue.is-active{background:rgba(79,143,247,.1);border-color:rgba(79,143,247,.6);border-left-color:#4f8ff7;color:#4f8ff7}

.gc-jump-item.jump-green{border-left:3px solid rgba(63,185,80,.4)}
.gc-jump-item.jump-green:hover,.gc-jump-item.jump-green.is-active{background:rgba(63,185,80,.1);border-color:rgba(63,185,80,.6);border-left-color:#3fb950;color:#3fb950}

.gc-jump-item.jump-teal{border-left:3px solid rgba(45,212,191,.4)}
.gc-jump-item.jump-teal:hover,.gc-jump-item.jump-teal.is-active{background:rgba(45,212,191,.1);border-color:rgba(45,212,191,.6);border-left-color:#2dd4bf;color:#2dd4bf}

.gc-jump-item.jump-yellow{border-left:3px solid rgba(210,153,34,.4)}
.gc-jump-item.jump-yellow:hover,.gc-jump-item.jump-yellow.is-active{background:rgba(210,153,34,.1);border-color:rgba(210,153,34,.6);border-left-color:#d29922;color:#d29922}

.gc-jump-item.jump-orange{border-left:3px solid rgba(249,115,22,.4)}
.gc-jump-item.jump-orange:hover,.gc-jump-item.jump-orange.is-active{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.6);border-left-color:#f97316;color:#f97316}

.gc-jump-item.jump-purple{border-left:3px solid rgba(167,139,250,.4)}
.gc-jump-item.jump-purple:hover,.gc-jump-item.jump-purple.is-active{background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.6);border-left-color:#a78bfa;color:#a78bfa}

.gc-jump-item.jump-pink{border-left:3px solid rgba(244,114,182,.4)}
.gc-jump-item.jump-pink:hover,.gc-jump-item.jump-pink.is-active{background:rgba(244,114,182,.1);border-color:rgba(244,114,182,.6);border-left-color:#f472b6;color:#f472b6}

.gc-jump-item.jump-cyan{border-left:3px solid rgba(34,211,238,.4)}
.gc-jump-item.jump-cyan:hover,.gc-jump-item.jump-cyan.is-active{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.6);border-left-color:#22d3ee;color:#22d3ee}

.gc-jump-item.jump-indigo{border-left:3px solid rgba(99,102,241,.4)}
.gc-jump-item.jump-indigo:hover,.gc-jump-item.jump-indigo.is-active{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.6);border-left-color:#6366f1;color:#6366f1}

.gc-jump-item.jump-lime{border-left:3px solid rgba(132,204,22,.4)}
.gc-jump-item.jump-lime:hover,.gc-jump-item.jump-lime.is-active{background:rgba(132,204,22,.1);border-color:rgba(132,204,22,.6);border-left-color:#84cc16;color:#84cc16}

.gc-jump-item.jump-red{border-left:3px solid rgba(248,81,73,.4)}
.gc-jump-item.jump-red:hover,.gc-jump-item.jump-red.is-active{background:rgba(248,81,73,.1);border-color:rgba(248,81,73,.6);border-left-color:#f85149;color:#f85149}

@media(max-width:680px){.gc-jump-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:420px){.gc-jump-grid{grid-template-columns:1fr 1fr}}

/* Details open animation */
details[open]>.gc-seo-body,details[open]>p,details[open]>div:not(summary){animation:gc-detail-in .2s ease both}
@keyframes gc-detail-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

/* ── SEO CONTENT CARDS ── */
.gc-seo-card{padding:0!important}
.gc-seo-card>details{margin:0!important;border:none!important;background:transparent!important;border-radius:var(--gc-radius-lg)!important;padding:20px 22px!important}
.gc-seo-card>details>summary{font-size:.98rem;font-weight:700;color:var(--gc-text);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0}
.gc-seo-card>details>summary::-webkit-details-marker{display:none}
.gc-seo-card>details>summary::after{content:'';width:10px;height:10px;border-right:2px solid var(--gc-text-dim);border-bottom:2px solid var(--gc-text-dim);transform:rotate(45deg) translateY(-3px);transition:transform .2s ease;flex-shrink:0}
.gc-seo-card>details[open]>summary{color:var(--gc-text);margin-bottom:18px}
.gc-seo-card>details[open]>summary::after{transform:rotate(-135deg) translateY(-3px);border-color:var(--gc-primary)}
/* FAQ card details use standard styling */
.gc-seo-card .gc-content-card details,
.gc-seo-card#faq details{margin:6px 0;background:var(--gc-input-bg);border:1px solid var(--gc-border);border-radius:8px;padding:11px 14px}
.gc-seo-card details details,
#faq details{margin:6px 0;background:var(--gc-input-bg);border:1px solid var(--gc-border);border-radius:8px;padding:11px 14px}
#faq details summary{cursor:pointer;font-weight:600;font-size:.88rem;color:var(--gc-text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}
#faq details summary::-webkit-details-marker{display:none}
#faq details summary::after{content:'';width:8px;height:8px;border-right:1.5px solid var(--gc-text-dim);border-bottom:1.5px solid var(--gc-text-dim);transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;flex-shrink:0}
#faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px);border-color:var(--gc-primary)}
#faq details[open] summary{margin-bottom:8px;color:var(--gc-primary)}
#faq details p{font-size:.84rem;color:var(--gc-text-muted);line-height:1.7;margin:0}

/* SEO body typography */
/* Show preview of first paragraph when details is closed */
.gc-seo-card>details:not([open])>.gc-seo-body{
  display:block;max-height:3.2em;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent);
  mask-image:linear-gradient(to bottom,#000 40%,transparent);
  margin-top:8px;pointer-events:none
}
.gc-seo-body h3{font-size:.9rem;font-weight:700;color:var(--gc-text);margin:16px 0 6px}
.gc-seo-body h3:first-child{margin-top:0}
.gc-seo-body p{font-size:.86rem;color:var(--gc-text-muted);line-height:1.72;margin-bottom:10px}
.gc-seo-body p strong{color:var(--gc-text)}
.gc-seo-body p:last-child{margin-bottom:0}
.gc-seo-body ul{padding-left:20px;margin-bottom:10px}
.gc-seo-body li{font-size:.86rem;color:var(--gc-text-muted);line-height:1.7;padding:2px 0}

/* Data tables inside SEO sections */
.gc-data-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:10px 0 16px;overflow:hidden;border-radius:8px;border:1px solid var(--gc-border)}
.gc-data-table thead tr{background:var(--gc-surface-hover)}
.gc-data-table th{padding:8px 10px;text-align:left;font-weight:700;color:var(--gc-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gc-border)}
.gc-data-table td{padding:8px 10px;border-bottom:1px solid var(--gc-border);vertical-align:top;color:var(--gc-text-muted)}
.gc-data-table td:first-child{font-weight:600;color:var(--gc-text);white-space:nowrap}
.gc-data-table td:nth-child(2){font-weight:700;color:var(--gc-primary);white-space:nowrap;font-variant-numeric:tabular-nums}
.gc-data-table tbody tr:last-child td{border-bottom:none}
.gc-data-table tbody tr:hover td{background:var(--gc-surface-hover)}
@media(max-width:580px){.gc-data-table{font-size:11.5px}.gc-data-table th,.gc-data-table td{padding:7px 8px}}

/* ── SEO SECTION VISUAL BREAKS ── */

/* Section category label */
.gc-section-tag{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;padding:3px 9px;border-radius:20px}
.gc-section-tag--method{background:rgba(79,143,247,.12);color:#4f8ff7}
.gc-section-tag--data{background:rgba(63,185,80,.12);color:#3fb950}
.gc-section-tag--guide{background:rgba(210,153,34,.12);color:#d29922}
.gc-section-tag--faq{background:rgba(248,81,73,.1);color:#f85149}
[data-theme="light"] .gc-section-tag--method{background:rgba(37,99,235,.08);color:#1d4ed8}
[data-theme="light"] .gc-section-tag--data{background:rgba(22,163,74,.08);color:#15803d}
[data-theme="light"] .gc-section-tag--guide{background:rgba(161,98,7,.09);color:#854d0e}
[data-theme="light"] .gc-section-tag--faq{background:rgba(220,38,38,.07);color:#b91c1c}
@media(prefers-color-scheme:light){[data-theme="auto"] .gc-section-tag--method{background:rgba(37,99,235,.08);color:#1d4ed8}[data-theme="auto"] .gc-section-tag--data{background:rgba(22,163,74,.08);color:#15803d}[data-theme="auto"] .gc-section-tag--guide{background:rgba(161,98,7,.09);color:#854d0e}[data-theme="auto"] .gc-section-tag--faq{background:rgba(220,38,38,.07);color:#b91c1c}}

/* ── Base card: left accent border only (closed state) ── */
.gc-seo-card{
  margin-bottom:10px!important;
  border-left-width:3px!important;
  border-left-style:solid!important;
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

/* ── COLOUR PALETTE: 10 unique accent colours, one per section ── */

/* 1 - Blue */
.gc-seo-card.accent-blue{border-left-color:rgba(79,143,247,.45)!important}
.gc-seo-card.accent-blue:has(details[open]),.gc-seo-card.accent-blue.is-open{background:linear-gradient(135deg,rgba(79,143,247,.09) 0%,rgba(79,143,247,.02) 100%)!important;border-left-color:#4f8ff7!important;border-color:rgba(79,143,247,.28)!important;box-shadow:0 0 0 1px rgba(79,143,247,.15),0 4px 20px rgba(79,143,247,.1)!important}
.gc-seo-card.accent-blue details[open]>summary{color:#4f8ff7!important}
.gc-seo-card.accent-blue details[open]>summary::after{border-color:#4f8ff7!important}

/* 2 - Green */
.gc-seo-card.accent-green{border-left-color:rgba(63,185,80,.45)!important}
.gc-seo-card.accent-green:has(details[open]),.gc-seo-card.accent-green.is-open{background:linear-gradient(135deg,rgba(63,185,80,.09) 0%,rgba(63,185,80,.02) 100%)!important;border-left-color:#3fb950!important;border-color:rgba(63,185,80,.28)!important;box-shadow:0 0 0 1px rgba(63,185,80,.15),0 4px 20px rgba(63,185,80,.1)!important}
.gc-seo-card.accent-green details[open]>summary{color:#3fb950!important}
.gc-seo-card.accent-green details[open]>summary::after{border-color:#3fb950!important}

/* 3 - Teal */
.gc-seo-card.accent-teal{border-left-color:rgba(45,212,191,.45)!important}
.gc-seo-card.accent-teal:has(details[open]),.gc-seo-card.accent-teal.is-open{background:linear-gradient(135deg,rgba(45,212,191,.09) 0%,rgba(45,212,191,.02) 100%)!important;border-left-color:#2dd4bf!important;border-color:rgba(45,212,191,.28)!important;box-shadow:0 0 0 1px rgba(45,212,191,.15),0 4px 20px rgba(45,212,191,.1)!important}
.gc-seo-card.accent-teal details[open]>summary{color:#2dd4bf!important}
.gc-seo-card.accent-teal details[open]>summary::after{border-color:#2dd4bf!important}

/* 4 - Yellow */
.gc-seo-card.accent-yellow{border-left-color:rgba(210,153,34,.45)!important}
.gc-seo-card.accent-yellow:has(details[open]),.gc-seo-card.accent-yellow.is-open{background:linear-gradient(135deg,rgba(210,153,34,.09) 0%,rgba(210,153,34,.02) 100%)!important;border-left-color:#d29922!important;border-color:rgba(210,153,34,.28)!important;box-shadow:0 0 0 1px rgba(210,153,34,.15),0 4px 20px rgba(210,153,34,.1)!important}
.gc-seo-card.accent-yellow details[open]>summary{color:#d29922!important}
.gc-seo-card.accent-yellow details[open]>summary::after{border-color:#d29922!important}

/* 5 - Orange */
.gc-seo-card.accent-orange{border-left-color:rgba(249,115,22,.45)!important}
.gc-seo-card.accent-orange:has(details[open]),.gc-seo-card.accent-orange.is-open{background:linear-gradient(135deg,rgba(249,115,22,.09) 0%,rgba(249,115,22,.02) 100%)!important;border-left-color:#f97316!important;border-color:rgba(249,115,22,.28)!important;box-shadow:0 0 0 1px rgba(249,115,22,.15),0 4px 20px rgba(249,115,22,.1)!important}
.gc-seo-card.accent-orange details[open]>summary{color:#f97316!important}
.gc-seo-card.accent-orange details[open]>summary::after{border-color:#f97316!important}

/* 6 - Purple */
.gc-seo-card.accent-purple{border-left-color:rgba(167,139,250,.45)!important}
.gc-seo-card.accent-purple:has(details[open]),.gc-seo-card.accent-purple.is-open{background:linear-gradient(135deg,rgba(167,139,250,.09) 0%,rgba(167,139,250,.02) 100%)!important;border-left-color:#a78bfa!important;border-color:rgba(167,139,250,.28)!important;box-shadow:0 0 0 1px rgba(167,139,250,.15),0 4px 20px rgba(167,139,250,.1)!important}
.gc-seo-card.accent-purple details[open]>summary{color:#a78bfa!important}
.gc-seo-card.accent-purple details[open]>summary::after{border-color:#a78bfa!important}

/* 7 - Pink */
.gc-seo-card.accent-pink{border-left-color:rgba(244,114,182,.45)!important}
.gc-seo-card.accent-pink:has(details[open]),.gc-seo-card.accent-pink.is-open{background:linear-gradient(135deg,rgba(244,114,182,.09) 0%,rgba(244,114,182,.02) 100%)!important;border-left-color:#f472b6!important;border-color:rgba(244,114,182,.28)!important;box-shadow:0 0 0 1px rgba(244,114,182,.15),0 4px 20px rgba(244,114,182,.1)!important}
.gc-seo-card.accent-pink details[open]>summary{color:#f472b6!important}
.gc-seo-card.accent-pink details[open]>summary::after{border-color:#f472b6!important}

/* 8 - Cyan */
.gc-seo-card.accent-cyan{border-left-color:rgba(34,211,238,.45)!important}
.gc-seo-card.accent-cyan:has(details[open]),.gc-seo-card.accent-cyan.is-open{background:linear-gradient(135deg,rgba(34,211,238,.09) 0%,rgba(34,211,238,.02) 100%)!important;border-left-color:#22d3ee!important;border-color:rgba(34,211,238,.28)!important;box-shadow:0 0 0 1px rgba(34,211,238,.15),0 4px 20px rgba(34,211,238,.1)!important}
.gc-seo-card.accent-cyan details[open]>summary{color:#22d3ee!important}
.gc-seo-card.accent-cyan details[open]>summary::after{border-color:#22d3ee!important}

/* 9 - Indigo */
.gc-seo-card.accent-indigo{border-left-color:rgba(99,102,241,.45)!important}
.gc-seo-card.accent-indigo:has(details[open]),.gc-seo-card.accent-indigo.is-open{background:linear-gradient(135deg,rgba(99,102,241,.09) 0%,rgba(99,102,241,.02) 100%)!important;border-left-color:#6366f1!important;border-color:rgba(99,102,241,.28)!important;box-shadow:0 0 0 1px rgba(99,102,241,.15),0 4px 20px rgba(99,102,241,.1)!important}
.gc-seo-card.accent-indigo details[open]>summary{color:#6366f1!important}
.gc-seo-card.accent-indigo details[open]>summary::after{border-color:#6366f1!important}

/* 10 - Lime */
.gc-seo-card.accent-lime{border-left-color:rgba(132,204,22,.45)!important}
.gc-seo-card.accent-lime:has(details[open]),.gc-seo-card.accent-lime.is-open{background:linear-gradient(135deg,rgba(132,204,22,.09) 0%,rgba(132,204,22,.02) 100%)!important;border-left-color:#84cc16!important;border-color:rgba(132,204,22,.28)!important;box-shadow:0 0 0 1px rgba(132,204,22,.15),0 4px 20px rgba(132,204,22,.1)!important}
.gc-seo-card.accent-lime details[open]>summary{color:#84cc16!important}
.gc-seo-card.accent-lime details[open]>summary::after{border-color:#84cc16!important}

/* 11 - Red (FAQ) */
.gc-seo-card.accent-red{border-left-color:rgba(248,81,73,.45)!important}
.gc-seo-card.accent-red:has(details[open]),.gc-seo-card.accent-red.is-open{background:linear-gradient(135deg,rgba(248,81,73,.09) 0%,rgba(248,81,73,.02) 100%)!important;border-left-color:#f85149!important;border-color:rgba(248,81,73,.28)!important;box-shadow:0 0 0 1px rgba(248,81,73,.15),0 4px 20px rgba(248,81,73,.1)!important}
.gc-seo-card.accent-red details[open]>summary{color:#f85149!important}
.gc-seo-card.accent-red details[open]>summary::after{border-color:#f85149!important}

/* ── FAQ outer wrapper — the outer details toggles the whole FAQ block ── */
#faq-outer{padding:0}
#faq-outer>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 22px;font-size:.98rem;font-weight:700;color:var(--gc-text);border-radius:var(--gc-radius-lg)}
#faq-outer>summary::-webkit-details-marker{display:none}
#faq-outer>summary::after{content:'';width:10px;height:10px;border-right:2px solid var(--gc-text-dim);border-bottom:2px solid var(--gc-text-dim);transform:rotate(45deg) translateY(-3px);transition:transform .2s ease;flex-shrink:0}
#faq-outer[open]>summary{margin-bottom:0;color:#f85149}
#faq-outer[open]>summary::after{transform:rotate(-135deg) translateY(-3px);border-color:#f85149}
#faq-outer .gc-faq-items{padding:0 22px 18px}

/* Section dividers — pill-style landmark between content-card groups */
.gc-content-divider{display:flex;align-items:center;gap:10px;margin:26px 0 12px}
.gc-content-divider span{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gc-primary);background:var(--gc-primary-soft);border:1px solid var(--gc-primary-soft);padding:5px 12px;border-radius:99px;white-space:nowrap}
.gc-content-divider::before,.gc-content-divider::after{content:'';flex:1;height:1px;background:var(--gc-border)}

/* Zebra alt-stripe on stacked content cards (tagged by add-section-rhythm.mjs)
   — gives visual rhythm when a page has many collapsed sections in a row. */
.gc-content-card[data-nth="alt"]{background:var(--gc-surface-hover)}

/* Related calculators inline card */
.gc-related-inline{background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);padding:18px 20px;margin:0 0 40px;box-shadow:var(--gc-shadow)}
.gc-related-inline-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gc-text-dim);margin-bottom:12px}
.gc-related-inline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gc-related-inline-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--gc-input-bg);border:1px solid var(--gc-border);border-radius:var(--gc-radius);text-decoration:none;transition:border-color .15s,background .15s}
.gc-related-inline-item:hover{border-color:var(--gc-primary);background:var(--gc-surface-hover)}
.gc-related-inline-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}
.gc-related-inline-item strong{display:block;font-size:12.5px;font-weight:600;color:var(--gc-text);line-height:1.25}
.gc-related-inline-item span{display:block;font-size:11px;color:var(--gc-text-muted);line-height:1.3}
@media(max-width:580px){.gc-related-inline-grid{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.gc-related-inline-grid{grid-template-columns:1fr}}

.gc-close-section{display:flex;justify-content:center;padding:16px 0 4px;margin-top:12px;border-top:1px solid var(--gc-border)}.gc-close-section button{display:inline-flex;align-items:center;gap:6px;padding:10px 28px;border:1px solid var(--gc-border);border-radius:var(--gc-radius);background:var(--gc-surface-hover,rgba(255,255,255,.04));color:var(--gc-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.gc-close-section button:hover{border-color:var(--gc-primary);color:var(--gc-primary)}

/* Fix 1: Keep ad slots visible even if they were previously flagged as stale */
[id^="gc-ad-"][data-state="loading"].gc-ad-stale{min-height:inherit;height:auto;overflow:visible;padding:inherit;margin:inherit;border:inherit;opacity:1;pointer-events:auto}

/* Fix 2: Tab scroll fade indicator */
.gc-explorer-tabs-wrap{position:relative}
.gc-explorer-tabs-wrap::after{content:"";position:absolute;right:0;top:0;bottom:1px;width:40px;background:linear-gradient(90deg,transparent,var(--gc-surface));pointer-events:none;transition:opacity .2s}
.gc-explorer-tabs-wrap.scrolled-end::after{opacity:0}


/* ── Star Rating Widget ── */
.gc-rating{text-align:center;padding:28px 16px;margin:0 -16px;background:var(--gc-surface);border-bottom:1px solid var(--gc-border)}
.gc-rating-label{font-size:14px;color:var(--gc-text-muted);margin-bottom:8px}
.gc-rating-stars{display:inline-flex;gap:4px;cursor:pointer;font-size:0}
.gc-rating-stars svg{width:32px;height:32px;fill:var(--gc-border);transition:fill .15s}
.gc-rating-stars svg.gc-star-active{fill:#f59e0b}
.gc-rating-stars:hover svg{fill:#f59e0b}
.gc-rating-stars svg:hover~svg{fill:var(--gc-border)}
.gc-rating-avg{font-size:13px;color:var(--gc-text-dim);margin-top:8px}
.gc-rating-thanks{font-size:14px;color:var(--gc-success);margin-top:4px}
