/*
Theme Name: Viking Fjord
Description: Ett svenskt redaktionellt tema för Viking IPTV.
Version: 3.2.0
Requires PHP: 7.4
*/
:root{--ink:#102b2a;--paper:#f7f5ed;--muted:#425b57;--line:#c6cdc4;--mint:#d9efad;--accent:#a84228;font:17px/1.55 system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--accent)}:focus-visible{outline:3px solid #bf542d;outline-offset:4px}.shell{width:min(91%,1340px);margin:auto}header,footer{background:var(--ink);color:var(--paper)}header{position:sticky;top:0;z-index:8}.admin-bar header{top:32px}.bar,.brand,.head-actions,.actions,.wide,.wide ul{display:flex;align-items:center}.bar{min-height:76px;justify-content:space-between;gap:16px}.brand{gap:9px;text-decoration:none;font-weight:850;letter-spacing:-.055em;font-size:24px}.brand svg{color:var(--mint)}.brand b{font-weight:350}.custom-logo{max-height:48px;width:auto}.wide,.wide ul{gap:clamp(14px,2vw,38px);font-size:.87rem}.wide a,.foot a,.mobile a{text-decoration:none}.wide a:hover,.foot a:hover,.brand:hover,.mobile a:hover{color:var(--mint);text-decoration:underline}.menu{list-style:none;padding:0}.action,button.action{display:inline-flex;align-items:center;gap:17px;padding:12px 18px;border:1px solid currentColor;border-radius:3px;text-decoration:none;font:600 .9rem/1.3 system-ui;color:var(--ink);transition:background .18s}.action span{font-size:1.1em}.action.primary{background:var(--mint);border-color:transparent;color:var(--ink)}.action:hover{background:#c5de9e;color:var(--ink)}.mobile{display:none}.hero{display:grid;grid-template-columns:.96fr 1fr;align-items:center;gap:6%;padding:clamp(40px,6vw,100px) 0}.kicker,small,.poster figcaption,.crumb{font:600 .72rem/1.5 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.kicker i{display:inline-block;background:var(--accent);width:9px;height:9px;border-radius:50%;margin-right:8px}h1,h2,h3,p{margin:0 0 1em}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.02;text-wrap:balance}.hero h1{font-size:clamp(64px,7.9vw,126px);margin:.36em 0 .27em}.hero em{color:var(--accent);font-weight:400}.lead{max-width:40ch;color:var(--muted);font-size:clamp(17px,1.5vw,23px)}.actions{gap:10px;flex-wrap:wrap;margin-top:27px}.actions p,.offer p:empty{margin:0}.poster{position:relative;margin:0;aspect-ratio:1.14;background:#204943 url(fjord.svg) center/cover;border:8px solid var(--ink);border-bottom-width:27px}.poster figcaption{position:absolute;inset:auto 1px -22px;display:flex;justify-content:space-between;color:#f1efd9;font-size:.55rem}.band,.closing{padding:clamp(45px,6vw,90px) 0;border-top:1px solid var(--line)}h2{font-size:clamp(36px,4.8vw,76px);margin:.35em 0 .55em}.band>.kicker,.inner small{color:var(--accent)}.rows{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(15px,2.8vw,44px)}.rows article{border-top:2px solid var(--ink);padding:15px 0}.rows small,.steps li:before,.offer small{color:var(--accent)}h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.03em;margin:.7em 0}.rows p,.steps p{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step}.steps li:before{content:'0' counter(step);font:italic 2.6rem Georgia}.pricing,.closing{background:var(--ink);color:var(--paper);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax)}.pricing>.kicker,.pricing small,.closing>.kicker{color:var(--mint)}.offer{border-left:3px solid #96b679;padding:0 24px}.offer p{max-width:55ch}.band details,.inner details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:600}details p{max-width:65ch;margin:.75em 0}.inner{padding:45px 0 85px;min-height:57vh}.crumb{margin:0 0 42px}.inner h1{font-size:clamp(46px,6.5vw,96px)}.inner h2{font-size:clamp(30px,3.7vw,58px);margin-top:1em}.inner>p{max-width:65ch}.foot{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:24px;padding:55px 0;border-top:1px solid #51716b}.foot nav{display:grid;align-content:start;gap:7px;font-size:.88rem}.foot small{color:var(--mint);margin-bottom:8px}.foot p{font-size:.86rem;margin:12px 0}.contact{max-width:600px}.contact label:not([hidden]){display:grid;gap:6px;font-weight:600;margin:18px 0}.contact input,.contact textarea{font:inherit;padding:11px;border:1px solid #788d85;background:#fff;color:var(--ink);width:100%}.contact button{cursor:pointer}.skip{position:absolute;left:-9999px}.skip:focus{position:fixed;top:0;left:0;z-index:20;background:white;padding:10px}img{max-width:100%;height:auto}
@media(max-width:920px){.wide{display:none}.mobile{display:block}.head-actions{gap:14px}.mobile nav{position:absolute;inset:100% 0 auto;background:var(--ink);padding:20px 5%;display:grid;gap:14px}.rows,.foot{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:3%}.admin-bar header{top:46px}}
@media(max-width:660px){.hero,.steps{grid-template-columns:1fr}.hero{gap:28px}.hero h1{margin:.2em 0}.bar{min-height:63px}.brand{font-size:20px}.brand svg{width:24px}.bar .action{padding:8px}.poster{aspect-ratio:1.5}.steps{gap:15px}.rows{grid-template-columns:1fr}.rows article{padding:12px 0}.rows article p{margin-bottom:0}.foot{gap:28px 15px}.inner{padding-top:25px}.admin-bar header{top:0}.action{min-height:44px}}
@media(prefers-reduced-motion:no-preference){.hero>div{animation:arrive .5s ease-out}@keyframes arrive{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:30px}.inner .item-title{font:650 1.4rem/1.22 system-ui;letter-spacing:-.03em;margin:.7em 0}
