/*
Theme Name: Niche Kit
Description: Config-driven editorial theme with four layouts (A magazine, B centered, C split, D rail). Skinned per site.
Version: 1.0
*/
:root{--bg:#fff;--ink:#111;--muted:#666;--line:#e5e5e5;--card:#fff;--a1:#2563eb;--a2:#f59e0b;--radius:14px;--shadow:0 8px 24px rgba(0,0,0,.07);--head-bg:#fff;--head-ink:#111;--hero-bg:#f3f4f6;--hero-ink:#111;--hero-muted:#555;--btn-bg:var(--a1);--btn-ink:#fff;--foot-bg:#111;--foot-ink:#aaa;--tag:var(--a1);--cardline:var(--line)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--bf);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--hf);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
a{color:var(--a1);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.nt-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
/* header */
.nt-head{background:var(--head-bg);color:var(--head-ink);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.nt-headin{display:flex;align-items:center;gap:24px;min-height:68px}
.nt-logo{display:flex;align-items:center;gap:10px;color:var(--head-ink);font:700 20px var(--hf)}.nt-logo:hover{text-decoration:none}
.nt-mark{width:34px;height:34px;display:inline-block}.nt-mark svg{width:100%;height:100%}
.nt-nav{margin-left:auto;display:flex;gap:4px;align-items:center}
.nt-nav a{color:var(--head-ink);padding:8px 12px;border-radius:999px;font-weight:500;font-size:15px;opacity:.85}.nt-nav a:hover{opacity:1;background:rgba(127,127,127,.14);text-decoration:none}
.nt-burger{display:none;margin-left:auto;background:none;border:0;font-size:26px;color:var(--head-ink)}
/* hero */
.nt-hero{background:var(--hero-bg);color:var(--hero-ink);padding:64px 0}
.nt-hero h1{font-size:clamp(32px,5vw,56px);max-width:820px}
.nt-hero p{color:var(--hero-muted);font-size:18px;max-width:620px}
.nt-eyebrow{display:inline-block;font:700 12px var(--bf);letter-spacing:.14em;text-transform:uppercase;color:var(--tag);margin-bottom:14px}
.nt-search{display:flex;gap:8px;margin:22px 0 16px;max-width:520px}
.nt-search input{flex:1;padding:13px 16px;border-radius:calc(var(--radius) - 2px);border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:16px}
.nt-search button,.nt-btn{padding:12px 22px;border:0;border-radius:calc(var(--radius) - 2px);background:var(--btn-bg);color:var(--btn-ink)!important;font-weight:700;cursor:pointer;display:inline-block}.nt-btn:hover{text-decoration:none;filter:brightness(1.08)}
.nt-chips{display:flex;flex-wrap:wrap;gap:8px}.nt-chips a{padding:7px 14px;border-radius:999px;border:1px solid currentColor;color:var(--hero-ink);font-size:14px;opacity:.8}.nt-chips a:hover{opacity:1;text-decoration:none}
.nt-art{width:100%;height:100%}
/* cards */
.nt-main{padding:40px 20px 60px}.nt-sec{margin-bottom:44px}.nt-sech{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.nt-sech h2{font-size:28px;margin:0}
.nt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.nt-grid2{grid-template-columns:repeat(2,1fr)}.nt-grid3{grid-template-columns:repeat(3,1fr)}
.nt-card{background:var(--card);border:1px solid var(--cardline);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s}
.nt-card:hover{transform:translateY(-3px)}
.nt-th{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,var(--a1),var(--a2));overflow:hidden}.nt-th img{width:100%;height:100%;object-fit:cover}.nt-ph{display:block;padding:16px;height:100%;background:var(--hero-bg)}
.nt-bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.nt-card h3{font-size:19px;margin:0}.nt-card h3 a{color:var(--ink)}.nt-card p{margin:0;color:var(--muted);font-size:15px}
.nt-tag{font:700 11px var(--bf);letter-spacing:.12em;text-transform:uppercase;color:var(--tag)}.nt-meta{margin-top:auto;font-size:13px;color:var(--muted)}
/* pages */
.nt-pagehead{background:var(--hero-bg);color:var(--hero-ink);padding:44px 0 36px}.nt-pagehead h1{font-size:clamp(28px,4vw,44px);max-width:900px;margin:0}.nt-pagehead p{color:var(--hero-muted);max-width:700px}.nt-metaline{color:var(--hero-muted);font-size:14px}
.nt-artimg{margin-top:-1px}.nt-artimg img{width:100%;max-height:460px;object-fit:cover;border-radius:0 0 var(--radius) var(--radius)}
.nt-body{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:44px;justify-content:center;padding:40px 20px 64px}.nt-narrow{grid-template-columns:minmax(0,820px)}
.nt-content{font-size:18px}.nt-content h2{font-size:30px;margin-top:2em}.nt-content h3{font-size:23px;margin-top:1.6em}.nt-content img{border-radius:12px}
.nt-content table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:16px;display:block;overflow-x:auto}.nt-content th{background:var(--ink);color:var(--bg);padding:11px 14px;text-align:left}.nt-content td{padding:11px 14px;border-bottom:1px solid var(--line)}
.nt-content blockquote{border-left:4px solid var(--a1);margin:1.4em 0;padding:4px 18px;color:var(--muted)}
.nt-disc{font-size:13px;color:var(--muted);border:1px dashed var(--line);padding:10px 14px;border-radius:10px;margin-bottom:22px}
.nt-verdict{background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:22px 24px;margin:1.6em 0}.nt-verdict h3{color:var(--a2);margin-top:0}
.nt-note{background:rgba(245,158,11,.12);border-left:5px solid var(--a2);padding:12px 16px;border-radius:10px;font-size:15px;margin:1.4em 0}
.nt-pc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:1.4em 0}.nt-pc>div{border:1px solid var(--line);border-radius:12px;padding:14px 18px}.nt-pc .pro{border-top:4px solid #22c55e}.nt-pc .con{border-top:4px solid #ef4444}.nt-pc h4{margin:0 0 6px}.nt-pc ul{margin:0;padding-left:18px}
.nt-aside{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:16px}
.nt-box{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--card)}.nt-box h4{font-size:15px;margin-bottom:8px}.nt-box a{display:block;padding:7px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink)}.nt-box a:last-child{border:0}.nt-box p{margin:0;font-size:14px;color:var(--muted)}
.nt-pag{display:flex;gap:8px;margin:30px 0;flex-wrap:wrap}.nt-pag a,.nt-pag span{padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.nt-pag .current{background:var(--ink);color:var(--bg)}
/* footer */
.nt-foot{background:var(--foot-bg);color:var(--foot-ink);padding:48px 0 24px;margin-top:30px}.nt-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.nt-foot h4{color:#fff;font-size:15px}.nt-foot a{display:block;color:var(--foot-ink);padding:3px 0}.nt-foot a:hover{color:#fff}.nt-flogo{color:#fff!important}.nt-fine{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:16px;font-size:13px;line-height:1.6}
/* LAYOUT A: magazine */
.nt-heroA{padding:56px 0 44px}.nt-heroA .nt-herotxt{max-width:760px}
.nt-mag{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-bottom:40px}
.nt-bigcard{position:relative;display:block;border-radius:var(--radius);overflow:hidden;min-height:340px;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff}.nt-bigcard:hover{text-decoration:none}
.nt-bigimg{position:absolute;inset:0}.nt-bigimg img{width:100%;height:100%;object-fit:cover}.nt-bigimg svg{width:60%;margin:20px auto;opacity:.5}
.nt-bigtxt{position:absolute;left:0;right:0;bottom:0;padding:70px 26px 24px;background:linear-gradient(transparent,rgba(0,0,0,.78));display:flex;flex-direction:column;gap:6px}.nt-bigtxt strong{font:700 28px/1.15 var(--hf)}.nt-bigtxt em{font-style:normal;opacity:.85;font-size:15px}.nt-bigtxt .nt-tag{color:var(--a2)}
.nt-side{display:flex;flex-direction:column;gap:14px}.nt-mini{flex:1;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--card);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between}.nt-mini:hover{text-decoration:none;border-color:var(--a1)}.nt-mini b{font:700 19px/1.25 var(--hf)}.nt-mini span{font-size:13px;color:var(--muted)}
/* LAYOUT B: centered */
.nt-heroB{text-align:center;padding:72px 0 0;overflow:hidden}.nt-heroB h1,.nt-heroB p{margin-left:auto;margin-right:auto}.nt-heroB .nt-search{margin:22px auto 16px}.nt-heroB .nt-chips{justify-content:center}.nt-heroB .nt-heroart{max-width:360px;margin:28px auto -40px;position:relative}
.nt-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.nt-topics a{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--card);color:var(--ink);display:flex;flex-direction:column;gap:4px}.nt-topics a:hover{border-color:var(--a1);text-decoration:none}.nt-topics b{font:700 19px var(--hf)}.nt-topics span{font-size:14px;color:var(--muted)}
/* LAYOUT C: split */
.nt-split{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.nt-heroC .nt-heroart{max-width:380px;justify-self:center}
.nt-twocol{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px}
.nt-list{display:flex;flex-direction:column;gap:18px}.nt-list .nt-card{flex-direction:row}.nt-list .nt-th{width:260px;aspect-ratio:auto;flex:none}.nt-list .nt-bd{justify-content:center}
/* LAYOUT D: rail */
.nt-herogrid{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center}.nt-heroD .nt-heroart{max-width:320px;justify-self:center}
.nt-dgrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:30px}.nt-rail{display:flex;flex-direction:column;gap:16px;position:sticky;top:90px;align-self:start}.nt-rail .nt-search{flex-direction:column;margin:8px 0 0}
@media(max-width:960px){.nt-grid,.nt-grid3,.nt-topics{grid-template-columns:repeat(2,1fr)}.nt-mag,.nt-split,.nt-herogrid,.nt-body,.nt-twocol,.nt-dgrid{grid-template-columns:1fr}.nt-aside,.nt-rail{position:static}.nt-heroart{display:none}.nt-heroB .nt-heroart{display:block}.nt-cols{grid-template-columns:1fr 1fr}.nt-list .nt-card{flex-direction:column}.nt-list .nt-th{width:auto;aspect-ratio:16/10}}
@media(max-width:700px){.nt-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--head-bg);flex-direction:column;align-items:stretch;padding:10px 20px 18px;border-bottom:1px solid var(--line)}.nt-nav.open{display:flex}.nt-burger{display:block}.nt-grid,.nt-grid2,.nt-grid3,.nt-topics,.nt-pc,.nt-cols{grid-template-columns:1fr}.nt-hero{padding:44px 0}.nt-content{font-size:17px}}

/* skin */
h1,h2,h3,.nt-brand{text-transform:uppercase;letter-spacing:.02em}.nt-hero h1{font-size:clamp(36px,6vw,68px);line-height:1}.nt-card{border-left:4px solid var(--a1)}.nt-eyebrow{background:var(--a1);color:#111;padding:3px 10px;letter-spacing:.2em}.nt-head{border-bottom:3px solid var(--a1)}.nt-content th{background:#ff6a00;color:#111}.nt-verdict{background:#1b1b1b;border:1px solid #ff6a00}.nt-chips a{border-radius:2px;border-color:#555}.nt-search input{background:#1b1b1b;border-color:#333}
