/*
Theme Name: Terminalcraft
Theme URI: https://terminalcraft.io
Author: Terminalcraft
Author URI: https://terminalcraft.io
Description: XRP-first crypto news theme. Terminal/trader aesthetic with live ticker, featured story, category grids, newsletter capture, merch and sponsor slots. Built for speed and SEO.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: terminalcraft
*/

:root{
  --bg:#080b10;--panel:#0e131b;--panel-2:#121a24;--line:#1e2a38;--text:#e6edf3;--muted:#8a99ab;
  --green:#00e08a;--cyan:#38d6ff;--xrp:#23a0ff;--red:#ff4d63;--amber:#ffb020;
  --mono:'SFMono-Regular',ui-monospace,'JetBrains Mono','Cascadia Code',Consolas,monospace;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}

/* Ticker */
.ticker{background:#05070a;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12.5px;overflow:hidden;white-space:nowrap;position:relative}
.ticker-track{display:inline-block;padding:9px 0;animation:scroll 38s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.tk{display:inline-block;padding:0 22px;color:var(--muted)}
.tk b{color:var(--text);font-weight:600}
.up{color:var(--green)} .down{color:var(--red)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Header */
.site-header{background:rgba(8,11,16,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;gap:26px;height:64px}
.logo{font-family:var(--mono);font-weight:700;font-size:20px;letter-spacing:-.5px;display:flex;align-items:center;gap:2px}
.logo .br{color:var(--green)}
.logo .cur{display:inline-block;width:9px;height:17px;background:var(--green);margin-left:3px;animation:blink 1.1s steps(1) infinite;transform:translateY(2px)}
@keyframes blink{50%{opacity:0}}
.main-nav ul{list-style:none;display:flex;gap:20px;font-size:14px;font-weight:500;margin:0;padding:0}
.main-nav a{color:var(--muted);transition:color .15s;padding:4px 0;border-bottom:2px solid transparent}
.main-nav a:hover{color:var(--text)}
.main-nav .current-menu-item a{color:var(--xrp)}
.spacer{flex:1}
.search{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 11px;color:var(--muted);font-family:var(--mono);font-size:12.5px;cursor:text}
.btn{background:var(--green);color:#04120c;font-weight:700;font-size:13.5px;padding:9px 15px;border-radius:8px;border:none;cursor:pointer;font-family:var(--sans);transition:transform .12s,box-shadow .12s;display:inline-block}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,224,138,.25)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 10px;font-size:16px;cursor:pointer}

/* Lead / featured */
.lead{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;padding:26px 0 10px}
.feat{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;background:linear-gradient(120deg,#0c2237,#0a1420)}
.feat .img{position:absolute;inset:0;background-size:cover;background-position:center}
.feat .overlay{position:absolute;inset:0;background:radial-gradient(120% 120% at 80% 10%,rgba(35,160,255,.30),transparent 55%),linear-gradient(180deg,rgba(8,11,16,0) 30%,rgba(8,11,16,.92) 100%)}
.feat .grid-lines{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;opacity:.18}
.feat .content{position:relative;padding:30px;z-index:2}
.kicker{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--xrp);background:rgba(35,160,255,.12);border:1px solid rgba(35,160,255,.3);padding:5px 10px;border-radius:6px}
.kicker.live{color:var(--red);background:rgba(255,77,99,.1);border-color:rgba(255,77,99,.3)}
.kicker.live .dot{width:7px;height:7px;background:var(--red);border-radius:50%;animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.feat h1,.feat h2{font-size:32px;line-height:1.15;margin:14px 0 10px;letter-spacing:-.8px;font-weight:800;color:#fff}
.feat p{color:var(--muted);font-size:15px;max-width:560px}
.byline{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:14px}
.byline b{color:var(--green)}

.side{display:flex;flex-direction:column;gap:14px}
.side-item{display:flex;gap:13px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px;transition:border-color .15s,transform .15s}
.side-item:hover{border-color:var(--green);transform:translateY(-2px)}
.side-item .num{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--line);line-height:1}
.side-item:hover .num{color:var(--green)}
.side-item h3{font-size:15px;font-weight:600;line-height:1.3}
.tag{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}
.tag.b{color:var(--xrp)} .tag.g{color:var(--green)} .tag.a{color:var(--amber)}

/* Section heads */
.sec{padding:34px 0 8px}
.sec-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:12px}
.sec-head h2{font-family:var(--mono);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px}
.sec-head h2::before{content:'>';color:var(--green);margin-right:8px}
.sec-head .more{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}
.sec-head .more:hover{color:var(--green)}

/* Card grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:#2a3b4d}
.card .thumb{height:158px;position:relative;background:linear-gradient(135deg,#0c1a2a,#0a1017);background-size:cover;background-position:center}
.card .thumb .gl{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:30px 30px;opacity:.16}
.card .thumb .badge{position:absolute;top:11px;left:11px;font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:4px 8px;border-radius:5px;background:rgba(8,11,16,.75);border:1px solid var(--line);color:var(--xrp)}
.card .body{padding:15px 16px 17px;display:flex;flex-direction:column;gap:9px;flex:1}
.card h3{font-size:16.5px;font-weight:650;line-height:1.32;letter-spacing:-.2px}
.card:hover h3{color:#fff}
.card p{font-size:13px;color:var(--muted);flex:1}
.card .meta{font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;gap:10px;margin-top:2px}

/* Split main + rail */
.split{display:grid;grid-template-columns:1fr 320px;gap:30px;align-items:start}
.rail>div{margin-bottom:22px}
.box{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:18px}
.box h4{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:14px}
.rank{display:flex;gap:11px;padding:10px 0;border-bottom:1px dashed var(--line)}
.rank:last-child{border-bottom:none}
.rank .n{font-family:var(--mono);color:var(--green);font-weight:700;font-size:13px}
.rank a{font-size:13.5px;font-weight:550;line-height:1.35}
.rank a:hover{color:var(--green)}

.list-item{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.list-item:first-child{padding-top:0}
.list-item .lthumb{width:120px;height:80px;flex:none;border-radius:8px;background:linear-gradient(135deg,#0c1a2a,#0a1017);position:relative;overflow:hidden;background-size:cover;background-position:center}
.list-item .lthumb .gl{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:22px 22px;opacity:.16}
.list-item h3{font-size:16px;font-weight:620;line-height:1.32;margin-bottom:5px}
.list-item:hover h3{color:var(--green)}
.list-item p{font-size:12.5px;color:var(--muted)}
.list-item .meta{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:6px}

/* Newsletter */
.news-cta{margin:40px 0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,#0c1622,#0a1119);padding:34px;position:relative;overflow:hidden}
.news-cta .gl{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:.14}
.news-cta .in{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:center}
.news-cta h2{font-size:26px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}
.news-cta h2 .g{color:var(--green)}
.news-cta p{color:var(--muted);font-size:14.5px}
.signup{display:flex;gap:9px;margin-top:4px}
.signup input{flex:1;background:#05070a;border:1px solid var(--line);border-radius:9px;padding:13px 14px;color:var(--text);font-family:var(--mono);font-size:13px;outline:none}
.signup input:focus{border-color:var(--green)}
.fineprint{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:10px}

/* Merch */
.merch .grid{grid-template-columns:repeat(4,1fr)}
.merch-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden;transition:transform .15s,border-color .15s}
.merch-card:hover{transform:translateY(-3px);border-color:var(--amber)}
.merch-card .pic{height:190px;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 50% 20%,#12202e,#0a0f16);position:relative}
.merch-card .pic .print{font-family:var(--mono);font-weight:800;font-size:19px;text-align:center;padding:0 14px;line-height:1.3}
.merch-card .pic .print small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:6px;font-weight:500}
.merch-card .info{padding:13px 15px 16px;display:flex;justify-content:space-between;align-items:center}
.merch-card .info h3{font-size:14px;font-weight:600}
.merch-card .price{font-family:var(--mono);color:var(--amber);font-weight:700;font-size:14px}

/* Sponsor */
.sponsor{border:1px dashed var(--line);border-radius:12px;padding:20px;display:flex;align-items:center;gap:18px;background:var(--panel);margin:8px 0 0}
.sponsor .label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg)}
.sponsor .body{flex:1}
.sponsor h3{font-size:17px;font-weight:700;margin-bottom:4px}
.sponsor p{font-size:13px;color:var(--muted)}
.sponsor .cta{font-family:var(--mono);font-size:12px;color:var(--cyan);white-space:nowrap}

/* Single article */
.progress{position:fixed;top:0;left:0;height:3px;background:var(--green);width:0;z-index:100;box-shadow:0 0 10px var(--green)}
.crumb{font-family:var(--mono);font-size:12px;color:var(--muted);padding:22px 0 0}
.crumb a:hover{color:var(--green)} .crumb .xrp{color:var(--xrp)}
.article-grid{display:grid;grid-template-columns:1fr 300px;gap:44px;padding:8px 0 40px;align-items:start}
.single-article{max-width:720px}
.single-article h1{font-size:40px;line-height:1.13;letter-spacing:-1px;font-weight:800;margin:16px 0 14px}
.standfirst{font-size:19px;color:var(--muted);line-height:1.5;margin-bottom:22px;font-weight:400}
.meta-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--xrp));display:flex;align-items:center;justify-content:center;font-weight:800;color:#04120c;font-family:var(--mono);flex:none}
.meta-row b{font-weight:600} .meta-row .muted{color:var(--muted);font-family:var(--mono);font-size:12px}
.hero-img{height:360px;border-radius:14px;margin:24px 0;overflow:hidden;background:linear-gradient(120deg,#0c2237,#0a1420);background-size:cover;background-position:center;position:relative}
.hero-img .gl{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;opacity:.18}
.body-copy{font-size:18px;line-height:1.75}
.body-copy p{margin:0 0 22px}
.body-copy h2{font-size:25px;font-weight:750;letter-spacing:-.4px;margin:34px 0 14px}
.body-copy h3{font-size:20px;margin:26px 0 12px}
.body-copy a{color:var(--cyan);border-bottom:1px solid rgba(56,214,255,.35)}
.body-copy strong{color:#fff}
.body-copy ul,.body-copy ol{margin:0 0 22px 22px}
.body-copy li{margin-bottom:9px}
.body-copy img{border-radius:12px;margin:20px 0}
.body-copy blockquote{border-left:3px solid var(--green);background:var(--panel);padding:18px 22px;margin:26px 0;border-radius:0 10px 10px 0;font-size:19px;font-style:italic;color:#d3dde6}
.affiliate{border:1px dashed var(--amber);background:rgba(255,176,32,.05);border-radius:12px;padding:18px;margin:28px 0;display:flex;gap:15px;align-items:center}
.affiliate .albl{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--amber);flex:none}
.affiliate p{font-size:14px;margin:0;color:var(--muted)} .affiliate b{color:var(--text)}
.affiliate .go{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--amber);white-space:nowrap}
.post-tags{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0}
.post-tags a{font-family:var(--mono);font-size:12px;color:var(--muted);border:1px solid var(--line);padding:5px 11px;border-radius:20px}
.post-tags a:hover{border-color:var(--green);color:var(--green)}
.disclaim{border:1px solid var(--line);border-radius:10px;padding:16px 18px;font-size:12.5px;color:var(--muted);font-family:var(--mono);line-height:1.6;margin:20px 0}
.authorbox{display:flex;gap:16px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:20px;margin:26px 0}
.authorbox .avatar{width:54px;height:54px;font-size:18px}
.authorbox h4{font-size:16px;margin-bottom:4px}
.authorbox p{font-size:13px;color:var(--muted)}
.box.brief{border-color:rgba(0,224,138,.35)}
.box.brief input{width:100%;background:#05070a;border:1px solid var(--line);border-radius:8px;padding:11px;color:var(--text);font-family:var(--mono);font-size:12.5px;margin-bottom:9px;outline:none}
.box.brief input:focus{border-color:var(--green)}

/* Footer */
.site-footer{border-top:1px solid var(--line);margin-top:50px;background:#05070a}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:26px;padding:44px 0 30px}
.foot .logo{margin-bottom:12px}
.foot p{color:var(--muted);font-size:13px;max-width:280px}
.foot h5{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:14px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot ul a{font-size:13.5px;color:var(--text)}
.foot ul a:hover{color:var(--green)}
.sub{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11.5px;color:var(--muted);flex-wrap:wrap;gap:10px}
.disclaimer{max-width:760px;line-height:1.6}

/* WP core alignment / pagination */
.aligncenter{margin-left:auto;margin-right:auto}
.alignright{float:right;margin:0 0 15px 20px}
.alignleft{float:left;margin:0 20px 15px 0}
.wp-caption{max-width:100%}
.pagination{display:flex;gap:8px;justify-content:center;padding:30px 0;font-family:var(--mono)}
.pagination .page-numbers{border:1px solid var(--line);padding:8px 13px;border-radius:8px;color:var(--muted)}
.pagination .current{background:var(--green);color:#04120c;border-color:var(--green);font-weight:700}

@media(max-width:900px){
  .main-nav,.search{display:none}
  .menu-toggle{display:block}
  .lead{grid-template-columns:1fr}
  .split,.article-grid{grid-template-columns:1fr}
  .rail{display:none}
  .grid{grid-template-columns:repeat(2,1fr)}
  .merch .grid{grid-template-columns:repeat(2,1fr)}
  .news-cta .in{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .feat h1,.feat h2{font-size:26px}
  .single-article h1{font-size:29px}
}
@media(max-width:560px){
  .grid,.merch .grid{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  .list-item .lthumb{width:92px;height:66px}
}

/* ===== Gold Premium reskin ===== */
:root{
  --bg:#14120e; --panel:#1e1b14; --panel-2:#232019; --line:#3a3220;
  --text:#f5efe2; --muted:#b8a98a; --green:#d4af37; --cyan:#caa84a;
  --xrp:#d4af37; --amber:#e0b84d; --red:#e0576b;
}
body{background:#14120e}
.feat .overlay{background:radial-gradient(120% 120% at 80% 10%,rgba(212,175,55,.12),transparent 55%),linear-gradient(180deg,rgba(20,18,14,0) 30%,rgba(20,18,14,.94) 100%)!important}
.news-cta{background:linear-gradient(120deg,#221d13,#16130d)!important}
.btn{color:#14120e!important}

/* image aspect fix - no square cropping on mobile */
.card .thumb,.rcard .t,.hero-img{aspect-ratio:1200/630;height:auto;min-height:0}
@media(max-width:900px){
  .feat{aspect-ratio:1200/630;min-height:0}
  .feat .content{display:none}
}
