/* ========================================================================
   CMMC Compliance Guide — Deferred Styles (Dark Authority)
   Extracted from inline <style> for PageSpeed optimization
   ======================================================================== */

/* Table of Contents */
.cmmc-toc { background: rgba(17,27,51,0.85); border: 1px solid rgba(255,255,255,0.12); border-radius: 16px; padding: 32px; margin-bottom: 40px; position: relative; z-index: 1; }
.cmmc-toc h2 { font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif); font-size: 1.35rem; color: var(--accent, #00A9E0); margin-bottom: 16px; }
.cmmc-toc ol { list-style: none; counter-reset: toc-counter; padding: 0; margin: 0; columns: 2; column-gap: 32px; }
.cmmc-toc ol li { counter-increment: toc-counter; margin-bottom: 10px; break-inside: avoid; }
.cmmc-toc ol li a { color: var(--text-secondary, rgba(240,240,240,0.72)); text-decoration: none; font-size: 0.98rem; line-height: 1.5; transition: color 0.2s; display: flex; align-items: baseline; gap: 8px; }
.cmmc-toc ol li a::before { content: counter(toc-counter) "."; color: var(--accent, #00A9E0); font-weight: 700; font-size: 0.9rem; min-width: 24px; }
.cmmc-toc ol li a:hover { color: var(--accent, #00A9E0); }
@media (max-width: 640px) { .cmmc-toc ol { columns: 1; } }

/* Comparison table */
.cmmc-comparison-table { width: 100%; border-collapse: collapse; margin: 24px 0; }
.cmmc-comparison-table th, .cmmc-comparison-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 0.95rem; }
.cmmc-comparison-table th { color: var(--accent, #00A9E0); font-weight: 700; font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif); background: rgba(0,169,224,0.06); }
.cmmc-comparison-table td { color: var(--text-secondary, rgba(240,240,240,0.72)); }
.cmmc-comparison-table tr:hover td { background: rgba(0,169,224,0.03); }

/* Cost table */
.cmmc-cost-table { width: 100%; border-collapse: collapse; margin: 24px 0; }
.cmmc-cost-table th, .cmmc-cost-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 0.95rem; }
.cmmc-cost-table th { color: var(--accent, #00A9E0); font-weight: 700; font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif); background: rgba(0,169,224,0.06); }
.cmmc-cost-table td { color: var(--text-secondary, rgba(240,240,240,0.72)); }
.cmmc-cost-table tr:hover td { background: rgba(0,169,224,0.03); }

/* Checklist styles */
.cmmc-checklist { list-style: none; padding: 0; margin: 20px 0; }
.cmmc-checklist li { padding: 10px 0 10px 32px; position: relative; color: var(--text-secondary, rgba(240,240,240,0.72)); line-height: 1.6; border-bottom: 1px solid rgba(255,255,255,0.04); }
.cmmc-checklist li::before { content: "\2713"; position: absolute; left: 0; color: var(--accent, #00A9E0); font-weight: 700; font-size: 1.1rem; }

/* Callout box */
.cmmc-callout { background: rgba(0,169,224,0.08); border-left: 4px solid var(--accent, #00A9E0); border-radius: 0 12px 12px 0; padding: 20px 24px; margin: 24px 0; }
.cmmc-callout strong { color: var(--text-primary, #F0F0F0); }
.cmmc-callout p { color: var(--text-secondary, rgba(240,240,240,0.72)); margin: 0; line-height: 1.7; }

/* Warning callout */
.cmmc-warning { background: rgba(220,38,38,0.08); border-left: 4px solid #ef4444; border-radius: 0 12px 12px 0; padding: 20px 24px; margin: 24px 0; }
.cmmc-warning strong { color: #ef4444; }
.cmmc-warning p { color: var(--text-secondary, rgba(240,240,240,0.72)); margin: 0; line-height: 1.7; }

/* Timeline */
.cmmc-timeline { position: relative; padding-left: 32px; margin: 28px 0; }
.cmmc-timeline::before { content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(to bottom, var(--accent, #00A9E0), rgba(124,58,237,0.5)); }
.cmmc-timeline-item { position: relative; margin-bottom: 28px; }
.cmmc-timeline-item::before { content: ''; position: absolute; left: -28px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent, #00A9E0); border: 2px solid var(--surface-0, #050810); }
.cmmc-timeline-item h4 { font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif); color: var(--text-primary, #F0F0F0); margin: 0 0 6px; font-size: 1.05rem; }
.cmmc-timeline-item p { color: var(--text-secondary, rgba(240,240,240,0.72)); margin: 0; line-height: 1.7; font-size: 0.95rem; }

/* Roadmap steps */
.cmmc-roadmap { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin: 28px 0; }
.cmmc-roadmap-step { background: rgba(17,27,51,0.7); border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; padding: 24px; position: relative; }
.cmmc-roadmap-step .step-num { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--accent, #00A9E0), #7C3AED); color: #fff; font-weight: 800; font-size: 0.95rem; margin-bottom: 12px; font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif); }
.cmmc-roadmap-step h4 { font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif); color: var(--text-primary, #F0F0F0); margin: 0 0 8px; font-size: 1.05rem; }
.cmmc-roadmap-step p { color: var(--text-secondary, rgba(240,240,240,0.72)); margin: 0; line-height: 1.65; font-size: 0.93rem; }

/* Mistake cards */
.cmmc-mistakes { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin: 28px 0; }
.cmmc-mistake-card { background: rgba(220,38,38,0.05); border: 1px solid rgba(220,38,38,0.15); border-radius: 14px; padding: 24px; }
.cmmc-mistake-card h4 { font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif); color: #ef4444; margin: 0 0 8px; font-size: 1rem; }
.cmmc-mistake-card p { color: var(--text-secondary, rgba(240,240,240,0.72)); margin: 0; line-height: 1.65; font-size: 0.93rem; }

/* Domain grid */
.cmmc-domain-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; margin: 20px 0; }
.cmmc-domain-item { background: rgba(17,27,51,0.6); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px 16px; }
.cmmc-domain-item strong { color: var(--accent, #00A9E0); font-size: 0.9rem; display: block; margin-bottom: 4px; }
.cmmc-domain-item span { color: var(--text-secondary, rgba(240,240,240,0.72)); font-size: 0.88rem; line-height: 1.5; }
