/* Fabrika Template: warm-cream */
:root {
    --bg: #faf8f5; --bg-card: #ffffff; --bg-card-hover: #f5f0ea;
    --text: #44403c; --text-muted: #78716c;
    --accent: #ea580c; --accent-hover: #c2410c;
    --accent-glow: rgba(234,88,12,0.15); --border: #e7e5e4;
    --heading-color: #1c1917; --radius: 12px;
    --max-w: 900px;
    --font: 'DM Sans', -apple-system, sans-serif;
    --font-heading: 'Plus Jakarta Sans', 'DM Sans', sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font); background:var(--bg); color:var(--text); line-height:1.7; font-size:16px; -webkit-font-smoothing:antialiased; }
.container { max-width:var(--max-w); margin:0 auto; padding:0 20px; }
.site-header { position:sticky; top:0; z-index:100; background:#faf8f5e8; backdrop-filter:blur(12px); border-bottom:1px solid var(--border); padding:14px 0; transition:all .3s; }
.site-header.scrolled { background:#faf8f5f2; box-shadow:0 2px 16px rgba(250,248,245,0.5); }
.header-inner { display:flex; align-items:center; justify-content:space-between; max-width:1100px; }
.logo img { height:36px; display:block; }
.main-nav ul { display:flex; list-style:none; gap:6px; }
.main-nav a { color:var(--text-muted); text-decoration:none; font-size:14px; font-weight:500; padding:6px 12px; border-radius:var(--radius); transition:.2s; }
.main-nav a:hover,.main-nav a.active { color:var(--text); background:var(--bg-card); }
.header-cta { background:var(--accent); color:#fff!important; padding:8px 20px; border-radius:var(--radius); text-decoration:none; font-size:14px; font-weight:600; }
.header-cta:hover { background:var(--accent-hover); }
.menu-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; }
.menu-toggle span { display:block; width:22px; height:2px; background:var(--text); margin:5px 0; }
.breadcrumb { padding:20px 0 0; font-size:13px; color:var(--text-muted); }
.breadcrumb a { color:var(--accent); text-decoration:none; }
.breadcrumb span { margin:0 6px; }
.site-main { padding:40px 0 60px; }
.content h1 { font-family:var(--font-heading); font-size:2.2rem; font-weight:800; line-height:1.2; margin-bottom:8px; color:var(--heading-color); }
.article-meta { display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:13px; color:var(--text-muted); margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.meta-sep { opacity:0.4; }
.meta-author strong { color:var(--text); }
.content h2 { font-family:var(--font-heading); font-size:1.4rem; font-weight:700; margin:40px 0 16px; color:var(--heading-color); padding-bottom:8px; border-bottom:1px solid var(--border); }
.content h3 { font-size:1.1rem; font-weight:600; margin:24px 0 10px; color:var(--text); }
.content p { margin-bottom:16px; }
.content a { color:var(--accent); text-decoration:none; }
.content a:hover { border-bottom:1px solid var(--accent); }
.content ul,.content ol { margin:16px 0; padding-left:24px; }
.content li { margin-bottom:8px; }
.content table { width:100%; border-collapse:collapse; margin:20px 0; background:var(--bg-card); border-radius:var(--radius); overflow:hidden; }
.content th { background:var(--accent); color:#fff; font-weight:600; font-size:14px; padding:12px 16px; text-align:left; }
.content td { padding:12px 16px; border-bottom:1px solid var(--border); font-size:14px; }
.content tr:last-child td { border-bottom:none; }
.content tr:hover td { background:var(--bg-card-hover); }
.page-hero { margin:0 -20px 30px; border-radius:var(--radius); overflow:hidden; }
.page-hero img { width:100%; height:auto; display:block; border-radius:var(--radius); }
.cta-block { margin:40px 0; text-align:center; }
.cta-button,.content .cta-block .cta-button { display:inline-block; background:linear-gradient(135deg,var(--accent),var(--accent-hover)); color:#fff!important; padding:16px 48px; border-radius:50px; font-size:18px; font-weight:700; text-decoration:none; transition:transform .2s,box-shadow .2s; box-shadow:0 4px 24px var(--accent-glow); }
.cta-button:hover { transform:translateY(-2px); box-shadow:0 8px 32px var(--accent-glow); }
.content strong { color:var(--heading-color); }
.scroll-top { position:fixed; bottom:24px; right:24px; width:44px; height:44px; border-radius:50%; background:var(--accent); border:none; cursor:pointer; display:none; align-items:center; justify-content:center; box-shadow:0 4px 16px var(--accent-glow); z-index:50; }
.scroll-top.visible { display:flex; }
.scroll-top svg { fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; }
.site-footer { background:var(--bg-card); border-top:1px solid var(--border); padding:48px 0 24px; }
.site-footer .container { max-width:1100px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-brand p { color:var(--text-muted); font-size:14px; margin-top:12px; line-height:1.6; }
.footer-brand img { height:28px; }
.footer-links h4 { color:var(--heading-color); font-size:14px; font-weight:700; margin-bottom:16px; text-transform:uppercase; letter-spacing:.5px; }
.footer-links ul { list-style:none; }
.footer-links li { margin-bottom:8px; }
.footer-links a { color:var(--text-muted); text-decoration:none; font-size:14px; }
.footer-links a:hover { color:var(--accent); }
.footer-bottom { border-top:1px solid var(--border); padding-top:24px; }
.risk-warning { color:var(--text-muted); font-size:12px; line-height:1.6; margin-bottom:12px; }
.copyright { color:var(--text-muted); font-size:12px; }
@media(max-width:768px){
.content h1{font-size:1.6rem} .content h2{font-size:1.2rem} .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
.main-nav{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--bg);padding:20px;border-top:1px solid var(--border);overflow-y:auto;z-index:99}
.main-nav ul{flex-direction:column;gap:0} .main-nav a{padding:12px 16px;display:block;border-bottom:1px solid var(--border)}
.menu-open .main-nav{display:block} .menu-toggle{display:block}
.header-cta.desktop-only{display:none}
.mobile-cta{display:inline-block!important;background:var(--accent);color:#fff!important;padding:6px 14px;border-radius:var(--radius);font-size:12px;font-weight:600;text-decoration:none;margin-left:auto;margin-right:8px}
.toc-sidebar{display:none}
.sidebar-banner{display:none}
.content-with-toc{max-width:var(--max-w)}
.inline-banner{margin:20px -10px}
}
@media(min-width:769px){
.mobile-cta{display:none!important}
}
@media(max-width:480px){ .footer-grid{grid-template-columns:1fr} .cta-button{padding:14px 32px;font-size:16px} }

/* TOC Sidebar */
.content-wrapper{display:flex;gap:40px;max-width:1100px;margin:0 auto}
.content-with-toc{flex:1;min-width:0;max-width:var(--max-w)}
.toc-sidebar{width:260px;flex-shrink:0;position:sticky;top:80px;align-self:flex-start;max-height:calc(100vh - 100px);overflow-y:auto}
.toc-sidebar h4{font-family:var(--font-heading);font-size:14px;font-weight:700;color:var(--heading-color);margin-bottom:12px}
.toc-sidebar ul{list-style:none;padding:0;margin:0}
.toc-sidebar li{border-left:2px solid var(--border);padding:6px 0 6px 14px;font-size:13px;transition:.2s}
.toc-sidebar li:hover,.toc-sidebar li.active{border-left-color:var(--accent)}
.toc-sidebar a{color:var(--text-muted);text-decoration:none;display:block}
.toc-sidebar a:hover,.toc-sidebar li.active a{color:var(--accent)}

/* Sidebar Banner (under TOC) */
.sidebar-banner{margin-top:24px;text-align:center}
.sidebar-banner img{max-width:100%;border-radius:var(--radius);cursor:pointer}
.sidebar-banner a{display:block}

/* Inline Banner */
.inline-banner{margin:30px 0;text-align:center}
.inline-banner img{max-width:100%;border-radius:var(--radius);cursor:pointer}
.inline-banner a{display:block}

/* Page images */
.page-image{margin:24px 0;border-radius:var(--radius);overflow:hidden}
.page-image img{width:100%;height:auto;display:block}

/* Search */
.search-toggle{background:none;border:none;cursor:pointer;padding:8px;color:var(--text-muted)}
.search-toggle:hover{color:var(--text)}
.search-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:200;align-items:flex-start;justify-content:center;padding-top:15vh}
.search-overlay.active{display:flex}
.search-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:90%;max-width:560px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.search-box input{width:100%;padding:12px 16px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:16px;outline:none}
.search-box input:focus{border-color:var(--accent)}
.search-results{margin-top:12px;max-height:300px;overflow-y:auto}
.search-results a{display:block;padding:10px 12px;color:var(--text);text-decoration:none;border-radius:6px;font-size:14px}
.search-results a:hover{background:var(--bg-card-hover)}
.search-results .sr-title{font-weight:600}
.search-results .sr-desc{font-size:12px;color:var(--text-muted);margin-top:2px}

/* Dropdown Nav */
.nav-item{position:relative}
.nav-item .dropdown{display:none;position:absolute;top:100%;left:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:8px 0;min-width:180px;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:50}
.nav-item:hover .dropdown{display:block}
.dropdown a{display:block;padding:8px 16px;color:var(--text-muted);text-decoration:none;font-size:13px}
.dropdown a:hover{background:var(--bg-card-hover);color:var(--text)}
