/*
Theme Name: Boelo Stormportal
Theme URI: https://boelo.no
Author: OpenAI
Description: En moderne, mobiltilpasset norsk informasjons- og nyhetsportal for stormen Boelo, med innebygd én-klikk demoimport.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: boelo
*/

:root{
  --bg:#071019;
  --bg-2:#0b1722;
  --panel:#101e2a;
  --panel-2:#132432;
  --text:#f7fbff;
  --muted:#a9bbc8;
  --line:rgba(255,255,255,.10);
  --cyan:#64d8ff;
  --blue:#4b8cff;
  --amber:#ffb547;
  --orange:#ff7a21;
  --red:#ff5a66;
  --green:#55d6a3;
  --shadow:0 24px 70px rgba(0,0,0,.28);
  --radius:26px;
  --radius-sm:18px;
  --wrap:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.wrap{width:min(calc(100% - 40px),var(--wrap));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.boelo-alertbar{background:#ff7a21;color:#16110d;font-size:14px;font-weight:750}
.boelo-alertbar .wrap{min-height:42px;display:flex;gap:10px;align-items:center;justify-content:center;text-align:center}
.boelo-alertbar-dot{width:8px;height:8px;border-radius:50%;background:#16110d;box-shadow:0 0 0 5px rgba(22,17,13,.12)}

.site-header{position:sticky;top:0;z-index:50;background:rgba(7,16,25,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.header-inner{min-height:76px;display:flex;align-items:center;gap:24px}
.site-brand{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:900;letter-spacing:-.045em}
.brand-mark{width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,var(--cyan),var(--blue));position:relative;box-shadow:0 10px 30px rgba(75,140,255,.25)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--bg);border-radius:999px;transform:rotate(-30deg)}
.brand-mark:before{width:22px;height:4px;left:6px;top:10px}.brand-mark:after{width:16px;height:4px;left:9px;top:20px}
.site-brand em{font-style:normal;color:var(--cyan)}
.main-nav{margin-left:auto}
.main-nav ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;align-items:center}
.main-nav a{display:block;padding:10px 13px;border-radius:12px;color:#d8e5ed;font-weight:680;font-size:14px}
.main-nav a:hover,.main-nav .current-menu-item>a{background:rgba(255,255,255,.07);color:#fff}
.header-live{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(100,216,255,.25);border-radius:999px;color:var(--cyan);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.header-live:before{content:"";width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 0 5px rgba(100,216,255,.10)}
.menu-toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--line);color:#fff;border-radius:12px;padding:9px 11px}

.hero{position:relative;overflow:hidden;padding:84px 0 66px;background:
radial-gradient(circle at 80% 30%,rgba(75,140,255,.18),transparent 28%),
radial-gradient(circle at 62% 80%,rgba(100,216,255,.10),transparent 25%),
linear-gradient(180deg,#08131d 0%,#071019 100%)}
.hero:after{content:"";position:absolute;inset:auto -12% -210px 35%;height:420px;border:1px solid rgba(100,216,255,.14);border-radius:50%;transform:rotate(-9deg);box-shadow:0 0 80px rgba(75,140,255,.08)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);gap:70px;align-items:center;position:relative;z-index:2}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--cyan);font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.eyebrow:before{content:"";width:30px;height:1px;background:var(--cyan)}
.hero h1{font-size:clamp(52px,7vw,92px);line-height:.96;letter-spacing:-.065em;margin:0 0 24px;max-width:760px}
.hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.62)}
.hero-lead{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#c7d7e0;max-width:720px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 18px;border-radius:14px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s ease}
.btn-primary{background:var(--cyan);color:#051018}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(100,216,255,.18)}
.btn-secondary{border-color:var(--line);background:rgba(255,255,255,.04);color:#fff}.btn-secondary:hover{background:rgba(255,255,255,.08)}

.storm-orbit{min-height:430px;position:relative;display:grid;place-items:center}
.storm-orbit:before,.storm-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(100,216,255,.16)}
.storm-orbit:before{width:390px;height:390px;animation:spin 34s linear infinite}.storm-orbit:after{width:290px;height:290px;border-style:dashed;animation:spinReverse 24s linear infinite}
.orbit-core{width:205px;height:205px;border-radius:50%;background:radial-gradient(circle at 36% 35%,#7ee5ff 0 4%,#4388e8 18%,#15314d 46%,#071019 70%);box-shadow:0 0 0 28px rgba(75,140,255,.06),0 0 0 58px rgba(100,216,255,.025),0 40px 100px rgba(0,0,0,.35);position:relative}
.orbit-core:before{content:"";position:absolute;width:100px;height:38px;border-radius:50%;border-top:5px solid rgba(255,255,255,.82);left:54px;top:48px;transform:rotate(-28deg)}
.orbit-core:after{content:"";position:absolute;width:72px;height:22px;border-radius:50%;border-bottom:3px solid rgba(255,255,255,.45);left:69px;top:101px;transform:rotate(-28deg)}
.orbit-label{position:absolute;right:2%;bottom:12%;background:rgba(13,27,39,.88);border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);max-width:205px}
.orbit-label strong{display:block;font-size:13px}.orbit-label span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}

.status-strip{margin-top:-25px;position:relative;z-index:4}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.status-card{background:rgba(16,30,42,.96);border:1px solid var(--line);border-radius:20px;padding:18px 19px;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.status-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.status-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}
.badge{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px}
.badge-orange{background:rgba(255,122,33,.15);color:#ffb27d}.badge-yellow{background:rgba(255,181,71,.15);color:#ffd58c}.badge-blue{background:rgba(100,216,255,.12);color:var(--cyan)}.badge-green{background:rgba(85,214,163,.12);color:var(--green)}
.status-card strong{font-size:19px;line-height:1.2;display:block;letter-spacing:-.025em}.status-card p{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.45}

.section{padding:78px 0}.section-tight{padding:54px 0}.section-soft{background:#0a151f;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}
.section-title{font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.045em;margin:0}.section-sub{color:var(--muted);max-width:570px;margin:8px 0 0}
.text-link{color:var(--cyan);font-weight:800;font-size:14px;white-space:nowrap}

.news-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.news-card{grid-column:span 4;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;min-height:280px;display:flex;flex-direction:column;transition:.2s ease}
.news-card:hover{transform:translateY(-4px);border-color:rgba(100,216,255,.26);box-shadow:var(--shadow)}
.news-card.featured{grid-column:span 8;min-height:360px;background:linear-gradient(145deg,#122838,#0b1721)}
.news-visual{height:130px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1c3d52,#0d1822)}
.news-card.featured .news-visual{height:170px}
.news-visual:before{content:"";position:absolute;inset:-40% -10% 20% 35%;border:1px solid rgba(100,216,255,.22);border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 0 40px rgba(100,216,255,.025),0 0 0 82px rgba(75,140,255,.02)}
.news-visual:after{content:"";position:absolute;width:100px;height:4px;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.55;left:22%;top:48%;transform:rotate(-18deg);box-shadow:35px 25px 0 rgba(100,216,255,.25),-30px -21px 0 rgba(255,255,255,.15)}
.news-body{padding:20px 20px 22px;display:flex;flex:1;flex-direction:column}
.kicker{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.news-card h3{font-size:21px;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px}.news-card.featured h3{font-size:30px}
.news-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.news-meta{margin-top:auto;display:flex;justify-content:space-between;gap:12px;color:#7f95a4;font-size:12px}

.timeline{display:grid;grid-template-columns:180px 1fr;gap:0;max-width:900px}.timeline-row{display:contents}.timeline-time{padding:18px 24px 18px 0;color:var(--cyan);font-size:12px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;border-right:1px solid var(--line)}.timeline-event{padding:16px 0 26px 30px;position:relative}.timeline-event:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cyan);left:-5px;top:25px;box-shadow:0 0 0 7px #0a151f}.timeline-event strong{display:block;font-size:17px}.timeline-event p{color:var(--muted);margin:5px 0 0;font-size:14px}

.safety-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.safety-main,.source-panel{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--panel)}.safety-main{background:linear-gradient(145deg,#102a31,#0d1e28)}
.safety-main h3,.source-panel h3{margin:0 0 13px;font-size:27px;letter-spacing:-.035em}.safety-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.safety-list li{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.065);border-radius:15px;padding:14px 15px;font-size:14px;color:#dce8ee}.safety-list li:before{content:"✓";color:var(--green);font-weight:900;margin-right:9px}
.source-links{display:grid;gap:10px;margin-top:18px}.source-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-weight:750;font-size:14px}.source-links a:hover{border-color:rgba(100,216,255,.25)}

.content-wrap{width:min(calc(100% - 40px),920px);margin-inline:auto}.content-hero{padding:64px 0 36px}.content-hero .kicker{margin-bottom:12px}.content-hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.055em;margin:0 0 18px}.content-hero .lede{font-size:20px;color:#c2d2dc;max-width:760px;margin:0}.article-meta{display:flex;gap:15px;flex-wrap:wrap;color:#8096a5;font-size:13px;margin-top:22px}.article-shell{padding:16px 0 80px}.article-content{font-size:18px;color:#d8e4ea}.article-content p{margin:0 0 1.4em}.article-content h2{font-size:34px;line-height:1.15;letter-spacing:-.035em;color:#fff;margin:1.7em 0 .55em}.article-content h3{font-size:24px;color:#fff;margin:1.5em 0 .5em}.article-content ul,.article-content ol{padding-left:1.3em}.article-content li{margin:.45em 0}.article-content a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}.article-content blockquote{margin:32px 0;padding:20px 22px;border-left:3px solid var(--cyan);background:rgba(100,216,255,.055);border-radius:0 16px 16px 0}.source-box{margin:40px 0 0;padding:20px;border:1px solid var(--line);background:var(--panel);border-radius:18px}.source-box strong{display:block;margin-bottom:6px}.source-box p{font-size:14px;color:var(--muted);margin:0}

.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px}.sidebar-box{position:sticky;top:110px;border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:20px}.sidebar-box h3{margin:0 0 12px}.sidebar-box a{display:block;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;color:#d8e4ea}.sidebar-box a:last-child{border:0}

.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:80px}.archive-card{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:18px}.archive-card h2{font-size:22px;line-height:1.2;margin:8px 0 10px}.archive-card p{font-size:14px;color:var(--muted)}

.site-footer{border-top:1px solid var(--line);background:#050c12;padding:54px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}.footer-brand p{color:var(--muted);max-width:460px}.footer-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#8096a5;font-weight:900;margin-bottom:12px}.footer-links{display:grid;gap:8px;font-size:14px;color:#c7d6de}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;color:#748997;font-size:12px;display:flex;justify-content:space-between;gap:20px}

.notice-inline{border:1px solid rgba(255,181,71,.25);background:rgba(255,181,71,.07);border-radius:15px;padding:14px 16px;color:#f0ddbb;font-size:13px;margin-top:22px}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:28px}.storm-orbit{min-height:320px}.storm-orbit:before{width:300px;height:300px}.storm-orbit:after{width:225px;height:225px}.orbit-core{width:160px;height:160px}.orbit-core:before{left:42px;top:37px;width:78px}.orbit-core:after{left:52px;top:78px;width:58px}.status-grid{grid-template-columns:1fr 1fr}.news-card,.news-card.featured{grid-column:span 6}.safety-grid{grid-template-columns:1fr}.page-grid{grid-template-columns:1fr}.sidebar-box{position:static}.archive-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
  .main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#08131d;border-bottom:1px solid var(--line);padding:12px 20px 20px}.main-nav.open{display:block}.main-nav ul{display:grid}.menu-toggle{display:block}.header-live{display:none}
}
@media (max-width:640px){
  .wrap,.content-wrap{width:min(calc(100% - 28px),var(--wrap))}.boelo-alertbar .wrap{min-height:46px;font-size:12px}.hero{padding:52px 0 54px}.hero-grid{gap:14px}.hero h1{font-size:53px}.hero-lead{font-size:17px}.storm-orbit{min-height:250px}.storm-orbit:before{width:230px;height:230px}.storm-orbit:after{width:170px;height:170px}.orbit-core{width:122px;height:122px}.orbit-core:before{left:32px;top:29px;width:60px;height:30px}.orbit-core:after{left:39px;top:60px;width:44px}.orbit-label{right:0;bottom:2%;max-width:170px}.status-grid{grid-template-columns:1fr}.status-strip{margin-top:-14px}.section{padding:58px 0}.section-head{align-items:flex-start;flex-direction:column}.news-card,.news-card.featured{grid-column:span 12;min-height:auto}.news-card.featured h3{font-size:24px}.timeline{grid-template-columns:110px 1fr}.timeline-time{padding-right:12px}.timeline-event{padding-left:20px}.safety-main,.source-panel{padding:22px}.safety-list{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.content-hero{padding-top:42px}.article-content{font-size:17px}.article-content h2{font-size:29px}
}
