/*
Theme Name: NorseCrypto
Theme URI: https://norsecrypto.com
Description: Norse/Viking Bitcoin crypto-blog theme for Twenty Twenty-Four. Black + gold/orange rune aesthetic (Cinzel / Share Tech Mono / Barlow), bilingual NO/EN, live NOK price ticker, WordPress blog cards, live crypto-news RSS strip, and an embedded X timeline. Built for norsecrypto.com.
Author: Erik Holmberg / CyberNorse
Author URI: https://cybernorse.io
Template: twentytwentyfour
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: norsecrypto
*/

*,*::before,*::after{box-sizing:border-box}
:root{
  --bg0:#050505;--bg1:#0a0800;--bg2:#0f0c00;
  --orange:#F7931A;--orange-dim:#8a4a08;--orange-deep:#3d2000;
  --gold:#C8922A;--gold-pale:#ffe8c0;
  --text:#e8d4a8;--text-muted:#7a5a30;
  --border:#1e1400;--border-bright:#2e1e00;--rune:#3a2200;
  --green:#16c784;--red:#e05050;
}
html{scroll-behavior:smooth}
body{
  background:var(--bg0);color:var(--text);
  font-family:'Barlow',sans-serif;font-weight:400;line-height:1.6;
  overflow-x:hidden;margin:0;
}

/* noise overlay */
body::before{
  content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:1000;opacity:.35;
}
/* scan line */
body::after{
  content:'';position:fixed;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--orange),transparent);
  animation:scan 8s linear infinite;z-index:999;opacity:.4;
}
@keyframes scan{0%{top:-2px}100%{top:100vh}}
@media(prefers-reduced-motion:reduce){body::after{animation:none;display:none}}

a{color:var(--orange);text-decoration:none}
a:hover{color:var(--gold)}

/* ── NAV ── */
.nc-nav{
  position:fixed;top:0;left:0;right:0;z-index:500;padding:1rem 2rem;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(5,5,5,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border-bright);
}
.nc-nav-logo{font-family:'Cinzel',serif;font-size:1.15rem;font-weight:900;letter-spacing:.1em;color:#fff;display:flex;align-items:center;gap:.7rem}
.nc-nav-logo img{height:36px;width:36px;object-fit:contain}
.nc-nav-logo span{color:var(--orange)}
.nc-nav-right{display:flex;align-items:center;gap:1.5rem}
.nc-nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
.nc-nav-links a{font-family:'Barlow',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}
.nc-nav-links a:hover{color:var(--orange)}
.nc-lang-toggle{display:flex;align-items:center;border:1px solid var(--border-bright);overflow:hidden}
.nc-lang-btn{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.1em;padding:.35rem .7rem;background:transparent;color:var(--text-muted);border:none;cursor:pointer;transition:background .2s,color .2s}
.nc-lang-btn.active{background:var(--orange);color:#050505;font-weight:700}
.nc-lang-sep{width:1px;align-self:stretch;background:var(--border-bright)}
.nc-nav-cta{font-family:'Share Tech Mono',monospace;font-size:.75rem;padding:.45rem 1.1rem;border:1px solid var(--orange-dim);color:var(--orange);letter-spacing:.08em;transition:background .2s,border-color .2s}
.nc-nav-cta:hover{background:rgba(247,147,26,.1);border-color:var(--orange)}
@media(max-width:640px){.nc-nav-links{display:none}.nc-nav{padding:.75rem 1.25rem}}

/* ── HERO ── */
.nc-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8rem 2rem 5rem;position:relative;overflow:hidden}
.nc-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(80,40,0,.22) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 80% 20%,rgba(100,60,0,.12) 0%,transparent 60%)}
.nc-hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 30%,transparent 100%);opacity:.5}
.nc-hero-runes{position:absolute;inset:0;font-family:'Cinzel',serif;font-size:8rem;font-weight:900;color:rgba(247,147,26,.025);display:flex;align-items:center;justify-content:center;letter-spacing:.5em;user-select:none;pointer-events:none;white-space:nowrap}
.nc-hero-content{position:relative;z-index:2;text-align:center;max-width:860px}
.nc-hero-logo{width:min(190px,40vw);margin-bottom:2rem;opacity:0;animation:fadeUp .8s .1s ease forwards}
.nc-hero-eyebrow{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:.3em;color:var(--orange);text-transform:uppercase;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .2s ease forwards}
.nc-hero-title{font-family:'Cinzel',serif;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900;line-height:1.05;color:#fff;margin:0 0 .5rem;opacity:0;animation:fadeUp .8s .4s ease forwards,glitch 6s 2.5s infinite}
.nc-hero-title em{font-style:normal;color:var(--orange);position:relative}
.nc-hero-title em::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;animation:lineIn 1s 1.4s ease forwards}
@keyframes lineIn{to{transform:scaleX(1)}}
.nc-hero-sub{font-size:1.05rem;font-weight:300;color:var(--text-muted);max-width:560px;margin:1.5rem auto 2.5rem;opacity:0;animation:fadeUp .8s .6s ease forwards}
.nc-hero-sub strong{color:var(--text);font-weight:400}
.nc-hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s ease forwards}
.nc-btn-primary{font-family:'Share Tech Mono',monospace;font-size:.8rem;letter-spacing:.08em;padding:.75rem 2rem;background:var(--orange);color:#050505;font-weight:700;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:filter .2s}
.nc-btn-primary:hover{filter:brightness(1.12);color:#050505}
.nc-btn-secondary{font-family:'Share Tech Mono',monospace;font-size:.8rem;letter-spacing:.08em;padding:.75rem 2rem;background:transparent;color:var(--text);border:1px solid var(--border-bright);transition:border-color .2s,color .2s}
.nc-btn-secondary:hover{border-color:var(--gold);color:var(--gold)}
.nc-hero-stats{margin-top:4rem;display:flex;gap:3rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .8s 1s ease forwards}
.nc-stat{text-align:center}
.nc-stat-num{font-family:'Cinzel',serif;font-size:1.8rem;font-weight:900;color:#fff;display:block}
.nc-stat-num span{color:var(--orange)}
.nc-stat-label{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase}
.nc-hero-divider{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--orange-dim),var(--border),transparent)}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes glitch{0%,95%{clip-path:none;transform:none}96%{clip-path:polygon(0 20%,100% 20%,100% 25%,0 25%);transform:translate(-2px,0)}97%{clip-path:polygon(0 65%,100% 65%,100% 70%,0 70%);transform:translate(2px,0)}98%{clip-path:none;transform:none}}
@media(prefers-reduced-motion:reduce){.nc-hero-logo,.nc-hero-eyebrow,.nc-hero-title,.nc-hero-sub,.nc-hero-actions,.nc-hero-stats{animation:none;opacity:1}.nc-hero-title{animation:none}}

/* ── SECTION COMMONS ── */
.nc-section{padding:5rem 2rem}
.nc-container{max-width:1100px;margin:0 auto}
.nc-section-header{margin-bottom:3rem}
.nc-section-eyebrow{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.28em;color:var(--orange);text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}
.nc-section-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--orange)}
.nc-section-title{font-family:'Cinzel',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:600;color:#fff;letter-spacing:.02em;margin:0}
.nc-section-desc{margin-top:.75rem;color:var(--text-muted);max-width:520px;font-size:.95rem}

/* ── TICKER ── */
.nc-ticker-wrap{background:var(--bg1);border-top:1px solid var(--border-bright);border-bottom:1px solid var(--border-bright);padding:.55rem 0;overflow:hidden}
.nc-ticker{display:flex;gap:3rem;animation:ticker 40s linear infinite;white-space:nowrap;width:max-content}
.nc-ticker-wrap:hover .nc-ticker{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.nc-ticker-item{font-family:'Share Tech Mono',monospace;font-size:.72rem;letter-spacing:.04em;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.nc-ticker-item span{color:var(--gold)}
.nc-ticker-item .up{color:var(--orange)}
.nc-ticker-item .dn{color:var(--red)}
.nc-ticker-loading{font-family:'Share Tech Mono',monospace;font-size:.72rem;color:var(--text-muted);padding-left:2rem}
@media(prefers-reduced-motion:reduce){.nc-ticker{animation:none;flex-wrap:wrap;white-space:normal;width:auto}}

/* ── CARDS (blog + news share this) ── */
.nc-cards-section{background:var(--bg0)}
.nc-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:720px){.nc-card-grid{grid-template-columns:1fr}}
.nc-card-featured{grid-column:1/-1}
.nc-card{background:var(--bg1);border:1px solid var(--border);padding:1.75rem;position:relative;overflow:hidden;transition:border-color .25s,transform .25s;display:block;color:inherit}
.nc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--orange),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nc-card:hover{border-color:var(--border-bright);transform:translateY(-2px)}
.nc-card:hover::before{transform:scaleX(1)}
.nc-card-tag{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}
.nc-card-tag.analysis{color:var(--gold)}
.nc-card-tag.altcoin{color:#e8d0a0}
.nc-card-title{font-family:'Cinzel',serif;font-size:1.1rem;font-weight:600;color:var(--gold-pale);line-height:1.3;margin-bottom:.6rem}
.nc-card-featured .nc-card-title{font-size:1.5rem}
.nc-card-excerpt{font-size:.88rem;color:var(--text-muted);line-height:1.65;margin-bottom:1rem}
.nc-card-meta{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.06em;color:var(--rune);display:flex;align-items:center;gap:1rem;border-top:1px solid var(--border);padding-top:.85rem;margin-top:.5rem;flex-wrap:wrap}
.nc-card-meta .author{color:var(--text-muted)}
.nc-card-corner{position:absolute;bottom:.75rem;right:.75rem;font-size:1.2rem;color:rgba(247,147,26,.12);font-family:'Cinzel',serif;font-weight:900}
.nc-featured-badge{display:inline-block;font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .6rem;border:1px solid var(--orange-dim);color:var(--orange);margin-bottom:.75rem}
.nc-view-all{margin-top:2rem;text-align:center}
.nc-btn-ghost{font-family:'Share Tech Mono',monospace;font-size:.75rem;letter-spacing:.12em;padding:.65rem 2rem;border:1px solid var(--border-bright);color:var(--text-muted);display:inline-block;transition:color .2s,border-color .2s}
.nc-btn-ghost:hover{color:var(--orange);border-color:var(--orange-dim)}
.nc-empty{color:var(--text-muted);font-size:.9rem;grid-column:1/-1;padding:1rem 0}

/* news-specific: 3-up grid */
.nc-news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}

/* ── X / TWITTER EMBED ── */
.nc-x-section{background:var(--bg1);border-top:1px solid var(--border-bright);border-bottom:1px solid var(--border-bright)}
.nc-x-wrap{max-width:600px;margin:0 auto;border:1px solid var(--border);background:var(--bg0);padding:.5rem}
.nc-x-fallback{text-align:center;color:var(--text-muted);font-size:.9rem;padding:2rem}

/* ── ABOUT ── */
.nc-about{background:var(--bg1);border-top:1px solid var(--border-bright);border-bottom:1px solid var(--border-bright);padding:4rem 2rem}
.nc-about-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
@media(max-width:720px){.nc-about-inner{grid-template-columns:1fr;gap:2rem}}
.nc-about-rune{font-family:'Cinzel',serif;font-size:7rem;font-weight:900;color:rgba(247,147,26,.05);line-height:1;user-select:none}
.nc-about-text h2{font-family:'Cinzel',serif;font-size:1.6rem;font-weight:600;color:#fff;margin-bottom:1rem}
.nc-about-text p{font-size:.95rem;color:var(--text-muted);line-height:1.8;margin-bottom:1rem}
.nc-pillars{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem}
.nc-pillar{background:var(--bg2);border:1px solid var(--border);padding:.75rem 1rem}
.nc-pillar-label{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:.25rem}
.nc-pillar p{font-size:.8rem;color:var(--text-muted);margin:0}

/* ── COMMUNITY ── */
.nc-community-section{background:var(--bg0)}
.nc-community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}
.nc-comm-card{background:var(--bg1);border:1px solid var(--border);padding:1.75rem 1.5rem;color:inherit;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .25s,transform .25s}
.nc-comm-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nc-comm-card.discord::after{background:#5865f2}
.nc-comm-card.telegram::after{background:#29a8e8}
.nc-comm-card.twitter::after{background:var(--text-muted)}
.nc-comm-card.facebook::after{background:#1877F2}
.nc-comm-card.newsletter::after{background:var(--orange)}
.nc-comm-card:hover{border-color:var(--border-bright);transform:translateY(-2px)}
.nc-comm-card:hover::after{transform:scaleX(1)}
.nc-comm-icon{font-size:1.6rem;margin-bottom:1rem;display:block}
.discord .nc-comm-icon{color:#5865f2}
.telegram .nc-comm-icon{color:#29a8e8}
.twitter .nc-comm-icon{color:var(--text-muted)}
.facebook .nc-comm-icon{color:#1877F2}
.newsletter .nc-comm-icon{color:var(--orange)}
.nc-comm-name{font-family:'Cinzel',serif;font-size:1rem;font-weight:600;color:var(--gold-pale);margin-bottom:.35rem}
.nc-comm-desc{font-size:.82rem;color:var(--text-muted);line-height:1.6;flex:1}
.nc-comm-action{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;margin-top:1.25rem}
.discord .nc-comm-action{color:#5865f2}
.telegram .nc-comm-action{color:#29a8e8}
.twitter .nc-comm-action{color:var(--text-muted)}
.facebook .nc-comm-action{color:#1877F2}
.newsletter .nc-comm-action{color:var(--orange)}
.nc-comm-card.soon{opacity:.72}

/* ── NEWSLETTER ── */
.nc-newsletter-strip{background:var(--bg2);border-top:1px solid var(--border-bright);border-bottom:1px solid var(--border-bright);padding:3.5rem 2rem;text-align:center}
.nc-newsletter-strip h2{font-family:'Cinzel',serif;font-size:1.4rem;font-weight:600;color:#fff;margin-bottom:.5rem}
.nc-newsletter-strip p{font-size:.9rem;color:var(--text-muted);margin-bottom:1.5rem}
.nc-newsletter-form{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;max-width:480px;margin:0 auto}
.nc-newsletter-form input{flex:1;min-width:220px;background:var(--bg1);border:1px solid var(--border-bright);color:var(--text);padding:.65rem 1rem;font-family:'Barlow',sans-serif;font-size:.9rem;outline:none;transition:border-color .2s}
.nc-newsletter-form input:focus{border-color:var(--orange-dim)}
.nc-newsletter-form input::placeholder{color:var(--text-muted)}
.nc-newsletter-form button{font-family:'Share Tech Mono',monospace;font-size:.75rem;letter-spacing:.08em;padding:.65rem 1.4rem;background:var(--orange);color:#050505;border:none;cursor:pointer;font-weight:700;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);transition:filter .2s}
.nc-newsletter-form button:hover{filter:brightness(1.12)}

/* ── FOOTER ── */
.nc-footer{background:var(--bg1);border-top:1px solid var(--border-bright);padding:3rem 2rem 1.5rem}
.nc-footer-inner{max-width:1100px;margin:0 auto}
.nc-footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.nc-footer-logo{font-family:'Cinzel',serif;font-size:1.1rem;font-weight:900;color:#fff;letter-spacing:.1em;margin-bottom:.5rem}
.nc-footer-logo span{color:var(--orange)}
.nc-footer-tagline{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}
.nc-footer-links{display:flex;gap:3rem;flex-wrap:wrap}
.nc-footer-col h4{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:.75rem}
.nc-footer-col a{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.4rem;transition:color .2s}
.nc-footer-col a:hover{color:var(--gold-pale)}
.nc-footer-bottom{padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.nc-footer-copy{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.06em;color:var(--rune)}
.nc-footer-rune{font-family:'Cinzel',serif;font-size:1.5rem;color:rgba(247,147,26,.1);user-select:none}

/* ── SCROLL REVEAL ── */
.nc-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.nc-reveal.visible{opacity:1;transform:none}
.nc-reveal-1{transition-delay:.1s}.nc-reveal-2{transition-delay:.2s}.nc-reveal-3{transition-delay:.3s}.nc-reveal-4{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.nc-reveal{opacity:1;transform:none}}

/* ── ARTICLE / ARCHIVE PAGES (single.html, index.html) ── */
.nc-page{padding:8rem 2rem 4rem;max-width:760px;margin:0 auto}
.nc-page.wide{max-width:1100px}
.nc-page .wp-block-post-title,.nc-page h1.wp-block-post-title{font-family:'Cinzel',serif;color:#fff;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}
.nc-page .wp-block-post-content{color:var(--text);font-size:1.02rem;line-height:1.8}
.nc-page .wp-block-post-content h2,.nc-page .wp-block-post-content h3{font-family:'Cinzel',serif;color:var(--gold-pale);margin-top:2rem}
.nc-page .wp-block-post-date,.nc-page .wp-block-post-terms{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:.08em;color:var(--text-muted)}
.nc-page blockquote{border-left:2px solid var(--orange-dim);padding-left:1rem;color:var(--gold-pale)}
.nc-page .wp-block-post-title a{color:#fff}
.nc-page .wp-block-post-title a:hover{color:var(--orange)}
