/* Shared CSS for Intellegal blog articles. Mirrors C-concept-pages/_shared.css + feature-article additions. */
:root { --purple:#4A2A76; --purple-deep:#351B4B; --gold:#C8A951; --cream:#faf7f2; --ink:#1a1a1a; --ink-2:#374151; --ink-3:#6b7280; --line:#e5e7eb; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:-apple-system,"Inter","Segoe UI",system-ui,sans-serif; background:var(--cream); color:var(--ink); line-height:1.7; }
.page-header { background:linear-gradient(135deg,var(--purple) 0%,var(--purple-deep) 100%); color:#fff; padding:48px 32px 40px; border-bottom:4px solid var(--gold); }
.page-header-inner { max-width:840px; margin:0 auto; }
.kicker { font-size:11px; font-weight:700; color:#DBC6F7; letter-spacing:0.24em; text-transform:uppercase; margin-bottom:10px; }
.page-title { font-size:36px; font-weight:700; line-height:1.15; letter-spacing:-0.02em; margin-bottom:10px; }
.page-sub { font-size:15px; color:rgba(255,255,255,0.86); }
main { max-width:840px; margin:0 auto; padding:36px 32px 80px; font-size:15px; }
h2 { color:var(--purple-deep); font-size:22px; margin:32px 0 10px; padding-bottom:5px; border-bottom:1px solid var(--line); }
h3 { color:var(--purple); font-size:17px; margin:20px 0 8px; }
p { color:var(--ink-2); margin:10px 0; }
ul, ol { padding-left:24px; color:var(--ink-2); margin:10px 0; }
li { margin:6px 0; }
strong { color:var(--ink); }
code { background:#ede5d4; color:#2c1c40; padding:1px 6px; border-radius:3px; font-family:"SF Mono",Consolas,monospace; font-size:13px; }
.key-facts { background:#fff; border-left:5px solid var(--gold); padding:16px 22px; border-radius:8px; margin:14px 0 24px; box-shadow:0 1px 3px rgba(0,0,0,0.05); font-size:14px; }
.key-facts p { margin:0; color:var(--ink); font-weight:500; line-height:1.7; }
.case-card { background:#fff; padding:14px 18px; border-radius:8px; margin:10px 0; border-left:3px solid var(--purple); box-shadow:0 1px 3px rgba(0,0,0,0.04); font-size:14px; }
.case-card .gr { font-family:"SF Mono",Consolas,monospace; font-size:12px; color:var(--ink-3); margin-bottom:4px; }
.case-card .case-name { font-weight:700; color:var(--purple-deep); margin-bottom:6px; }
.case-card .holding { color:var(--ink-2); font-size:13px; }
.case-card .verify-link { display:inline-block; margin-top:6px; font-size:12px; color:var(--purple); text-decoration:none; }
.cta { background:linear-gradient(135deg, var(--purple) 0%, var(--purple-deep) 100%); color:#fff; padding:22px 28px; border-radius:10px; margin:24px 0; text-align:center; }
.cta a { color:var(--gold); font-weight:700; text-decoration:none; font-size:16px; }
.faq { background:#fff; border-radius:6px; padding:14px 20px; margin:8px 0; box-shadow:0 1px 2px rgba(0,0,0,0.04); font-size:14px; }
.faq h3 { margin:0 0 6px; font-size:15px; }
.disclaimer { font-size:12px; color:var(--ink-3); padding:16px 0; margin-top:30px; border-top:1px solid var(--line); }
footer { background:#ede5d4; padding:20px 32px; text-align:center; font-size:12px; color:var(--ink-3); }
footer a { color:var(--purple); text-decoration:none; }
.lawyer-review { background:#fff8e7; padding:4px 8px; border-radius:3px; font-size:11px; color:#7a5d20; font-style:italic; }

/* ---- Feature-article additions ---- */
.spec-table { width:100%; border-collapse:collapse; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,0.05); margin:14px 0; font-size:14px; }
.spec-table th { background:var(--purple); color:#fff; text-align:left; padding:10px 14px; font-weight:600; }
.spec-table td { padding:10px 14px; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:top; }
.spec-table tr:nth-child(even) td { background:#fafafa; }
.spec-table td:first-child { font-weight:600; color:var(--ink); white-space:nowrap; }

.steps { counter-reset:step; list-style:none; padding-left:0; margin:14px 0; }
.steps .step { position:relative; background:#fff; border-left:3px solid var(--purple); border-radius:8px; padding:12px 18px 12px 52px; margin:8px 0; box-shadow:0 1px 3px rgba(0,0,0,0.04); }
.steps .step::before { counter-increment:step; content:counter(step); position:absolute; left:14px; top:12px; width:26px; height:26px; border-radius:50%; background:var(--purple); color:#fff; font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; }
.steps .step strong { display:block; color:var(--purple-deep); margin-bottom:2px; }

.flag-legend { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.flag { flex:1 1 200px; background:#fff; border-radius:8px; padding:12px 16px; box-shadow:0 1px 3px rgba(0,0,0,0.04); border-top:4px solid var(--line); }
.flag .flag-label { font-weight:700; font-size:13px; margin-bottom:4px; }
.flag .flag-body { font-size:13px; color:var(--ink-2); }
.flag-red { border-top-color:#c0392b; }
.flag-red .flag-label { color:#c0392b; }
.flag-yellow { border-top-color:#d97706; }
.flag-yellow .flag-label { color:#b45309; }
.flag-green { border-top-color:#16a34a; }
.flag-green .flag-label { color:#15803d; }

.privacy-note { background:#eef2fb; border-left:4px solid var(--purple); border-radius:6px; padding:12px 18px; margin:16px 0; font-size:13px; color:var(--ink-2); }
.privacy-note strong { color:var(--purple-deep); }
