/*
 * Hverdagsverktøy — style.css
 * © 2026 Kasper Skjæveland Espedal. All rights reserved.
 * https://hverdagsverktoy.com
 */

/* Hide native number spinners */
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
input[type=number]{-moz-appearance:textfield;}

/* ══════════════════════════════════════
   BLUE PROFESSIONAL THEME
══════════════════════════════════════ */
:root{--bg:#ffffff;--surface:#ffffff;--surface2:#f0f4fa;--border:#e0e8f4;--border2:#d0dae8;--ink:#1a1a2e;--ink2:#4a5568;--ink3:#8a9ab4;--text:#1a1a2e;--muted:#6b7280;--red:#dc2626;--green:#16a34a;--gold:#818cf8;--gold-l:#a5b4fc;--sh:0 1px 3px rgba(14,40,110,.05),0 4px 18px rgba(14,40,110,.07);--sh-lg:0 2px 10px rgba(14,40,110,.08),0 20px 56px rgba(14,40,110,.1);--r:14px;--rs:9px;}
/* B&W — Swiss minimalist monochrome */
[data-theme="bw"] {
  --bg:#f5f5f5;--surface:#fafafa;--surface2:#efefef;--border:#d4d4d4;--border2:#c0c0c0;
  --ink:#1a1a1a;--ink2:#4a4a4a;--ink3:#8a8a8a;
  --accent:#1a1a1a;--accent-l:#3a3a3a;--accent-d:#111111;
  --gold:#1a1a1a;--gold-l:#4a4a4a;
  --red:#1a1a1a;--green:#1a1a1a;
  --grad-dark:#1a1a1a;--grad-light:#3a3a3a;
  --sh:0 1px 3px rgba(0,0,0,.08);
  --sh-lg:0 4px 12px rgba(0,0,0,.1);
  --r:8px;--rs:5px;
}
/* B&W — buttons invert on hover */
[data-theme="bw"] .btn-calc{background:#1a1a1a;color:#f5f5f5;box-shadow:none;transition:all .2s ease;}
@media(hover:hover){[data-theme="bw"] .btn-calc:hover{background:#111;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);}}
[data-theme="bw"] .calc-tab.active{background:#1a1a1a;color:#f5f5f5;}
/* B&W — cards & surfaces */
[data-theme="bw"] .dash-tool-card{border:1px solid #d4d4d4;transition:all .2s ease;}
@media(hover:hover){[data-theme="bw"] .dash-tool-card:hover{background:#1a1a1a;color:#f5f5f5;border-color:#1a1a1a;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12);}
[data-theme="bw"] .dash-tool-card:hover .dash-tool-name,[data-theme="bw"] .dash-tool-card:hover .dash-tool-desc{color:#f5f5f5;}}
[data-theme="bw"] .card{border-color:#d4d4d4;}
@media(hover:hover){[data-theme="bw"] .card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);}}
/* B&W — result header */
/* [data-theme="bw"] .rh — bruker ny unified hero-design (2026-04-20) */
/* B&W — hero clean */
[data-theme="bw"] .hero::after{display:none;}
[data-theme="bw"] .hero{background:#fafafa;}
[data-theme="bw"] .hero-dash-rule{background:#1a1a1a;opacity:.2;}
/* B&W — input focus */
[data-theme="bw"] .fc:focus{border-color:#1a1a1a;box-shadow:none;outline:2px solid #1a1a1a;outline-offset:1px;}
/* B&W — selection */
[data-theme="bw"] ::selection{background:rgba(26,26,26,.15);color:#1a1a1a;}
/* B&W — scrollbar */
[data-theme="bw"] ::-webkit-scrollbar-thumb{background:#c0c0c0;border-radius:5px;border:2px solid #f5f5f5;}
[data-theme="bw"] ::-webkit-scrollbar-thumb:hover{background:#8a8a8a;}
/* B&W — info card titles */
[data-theme="bw"] .info-card .card-title{font-weight:700;}
@media(hover:hover){[data-theme="bw"] .info-card .card-hdr:hover{background:#efefef!important;}}
/* B&W — footer */
[data-theme="bw"] footer{background:#efefef;border-top:1px solid #d4d4d4;}
/* B&W — theme trigger */
[data-theme="bw"] #theme-trigger{border-color:#d4d4d4;background:#fafafa;}
[data-theme="bw"] #theme-trigger:hover{border-color:#1a1a1a;}
[data-theme="pink"] {
  --bg:#fffbfc;--surface:#ffffff;--surface2:#fef5f8;--border:#f0d6e2;--border2:#e8c4d4;
  --accent:#d4748e;--accent-l:#e8a0b8;--accent-d:#b85a74;
  --ink:#3a2030;--ink2:#6a4458;--ink3:#b89aaa;
  --gold:#d4748e;--gold-l:#e8a0b8;
  --red:#c44a60;--green:#5aaa78;
  --grad-dark:#c86882;--grad-light:#e8a0b8;
  --sh:0 1px 3px rgba(140,50,80,.06),0 4px 18px rgba(140,50,80,.08);
  --sh-lg:0 2px 10px rgba(140,50,80,.1),0 20px 56px rgba(140,50,80,.12);
}
/* Pink — hero */
[data-theme="pink"] .hero::after{inset:0;background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(212,116,142,.20) 0%,rgba(212,116,142,.14) 25%,rgba(212,116,142,.08) 50%,rgba(212,116,142,.03) 70%,transparent 85%);filter:blur(24px);will-change:opacity;animation:heroSpotlight 16s ease-in-out infinite;transform:none!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);}
[data-theme="pink"] .hero h1{
  color:#b85a74;
  background:linear-gradient(135deg,#b85a74 0%,#d4748e 50%,#b85a74 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
[data-theme="pink"] .hero h1 em{-webkit-text-fill-color:var(--ink3);}
[data-theme="pink"] .hero-dash-rule{background:linear-gradient(90deg,transparent,#d4748e,transparent);}
/* Pink — buttons */
[data-theme="pink"] .btn-calc{
  background:linear-gradient(135deg,#c86882,#d4748e);
  box-shadow:0 2px 8px rgba(200,104,130,.25);
  transition:all .25s ease;
}
@media(hover:hover){[data-theme="pink"] .btn-calc:hover{
  background:linear-gradient(135deg,#b85a74,#c86882);
  box-shadow:0 4px 16px rgba(184,90,116,.3);
  transform:translateY(-2px);
}}
/* Pink — active tab */
[data-theme="pink"] .calc-tab.active{
  background:linear-gradient(135deg,#c86882,#d4748e);
  color:#fff;
  box-shadow:0 2px 10px rgba(200,104,130,.2);
}
/* Pink — dashboard cards */
[data-theme="pink"] .dash-tool-card{
  border:1.5px solid #f0d6e2;
  transition:all .25s ease;
}
@media(hover:hover){[data-theme="pink"] .dash-tool-card:hover{
  border-color:#d4748e;
  box-shadow:0 4px 24px rgba(200,104,130,.12),0 0 0 1px rgba(212,116,142,.1);
  transform:translateY(-3px);
}}
/* Pink — info cards */
[data-theme="pink"] .card{
  border-color:#f0d6e2;
  transition:box-shadow .25s ease;
}
@media(hover:hover){[data-theme="pink"] .card:hover{box-shadow:0 2px 16px rgba(200,104,130,.08);}
[data-theme="pink"] .info-card .card-hdr:hover{background:rgba(212,116,142,.04)!important;}}
[data-theme="pink"] .info-card .card-title{color:#b85a74;}
/* Pink — result header */
/* [data-theme="pink"] .rh — bruker ny unified hero-design (2026-04-20) */
/* Pink — input focus */
[data-theme="pink"] .fc:focus{
  border-color:#d4748e;
  box-shadow:0 0 0 3px rgba(212,116,142,.12),0 0 8px rgba(200,104,130,.06);
}
/* Pink — footer */
[data-theme="pink"] footer{background:#fef5f8;border-top-color:#f0d6e2;}
/* Pink — scrollbar */
[data-theme="pink"] ::-webkit-scrollbar-thumb{background:#e0b0c4;border-radius:8px;border:2px solid #fffbfc;}
[data-theme="pink"] ::-webkit-scrollbar-thumb:hover{background:#d4748e;}
/* Pink — selection */
[data-theme="pink"] ::selection{background:rgba(212,116,142,.18);color:#3a2030;}
/* Pink — AI header */
[data-theme="pink"] .ai-hdr{background:linear-gradient(135deg,#c86882,#d4748e);}
[data-theme="dark"] {
  --bg:#141520;--surface:#1c1e2e;--surface2:#242738;--border:#2f3450;--border2:#3a4060;
  --ink:#f0f0f5;--ink2:#b0b8cc;--ink3:#6a7494;
  --accent:#6c8aef;--accent-l:#8aa4ff;--accent-d:#4f6ed0;
  --gold:#818cf8;--gold-l:#a5b4fc;
  --red:#f87171;--green:#4ade80;
  --grad-dark:#1c1e2e;--grad-light:#242738;
  --sh:0 1px 3px rgba(0,0,0,.4),0 4px 18px rgba(0,0,0,.5);
  --sh-lg:0 2px 10px rgba(0,0,0,.4),0 20px 56px rgba(0,0,0,.6);
}
/* Carbon — warm charcoal, neutral tones, clean */
[data-theme="carbon"] {
  --bg:#161616;--surface:#1e1e1e;--surface2:#262626;--border:#333;--border2:#3d3d3d;
  --ink:#e8e8e8;--ink2:#a8a8a8;--ink3:#6f6f6f;
  --accent:#d4a574;--accent-l:#e6c09a;--accent-d:#b8885a;
  --gold:#d4a574;--gold-l:#e6c09a;
  --red:#ef6f6f;--green:#66d48f;
  --grad-dark:#1e1e1e;--grad-light:#262626;
  --sh:0 1px 3px rgba(0,0,0,.5),0 4px 18px rgba(0,0,0,.4);
  --sh-lg:0 2px 10px rgba(0,0,0,.5),0 20px 56px rgba(0,0,0,.5);
}
[data-theme="carbon"] footer{background:#222;border-top-color:#333;}
/* Carbon — warm amber top spotlight (breathes) */
[data-theme="carbon"] .hero::after{inset:0;background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(180,140,90,.24) 0%,rgba(180,140,90,.18) 25%,rgba(180,140,90,.10) 50%,rgba(180,140,90,.04) 70%,transparent 85%);filter:blur(24px);will-change:opacity;animation:heroSpotlight 16s ease-in-out infinite;transform:none!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);}
[data-theme="frost"] {
  --bg:#f7f9fc;--surface:#ffffff;--surface2:#f0f4fb;--border:#e4e9f2;--border2:#d0d8e8;
  --ink:#0f172a;--ink2:#3b4963;--ink3:#7c8db5;
  --accent:#4f5fe5;--accent-l:#6e7cf0;--accent-d:#3b4ad0;
  --gold:#6366f1;--gold-l:#818cf8;
  --red:#ef4444;--green:#22c55e;
  --grad-dark:#4f5fe5;--grad-light:#6e7cf0;
  --sh:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(79,95,229,.06);
  --sh-lg:0 2px 8px rgba(15,23,42,.04),0 12px 40px rgba(79,95,229,.1);
  --r:16px;--rs:10px;
}
[data-theme="glass"] {
  --bg:#e8edf6;--surface:rgba(255,255,255,.55);--surface2:rgba(255,255,255,.35);--border:rgba(255,255,255,.5);--border2:rgba(200,210,230,.5);
  --ink:#1a1a2e;--ink2:#4a5568;--ink3:#8a9ab4;
  --accent:#6875f5;--accent-l:#8b95ff;--accent-d:#4f5bd5;
  --gold:#818cf8;--gold-l:#a5b4fc;
  --red:#dc2626;--green:#16a34a;
  --grad-dark:#6875f5;--grad-light:#8b95ff;
  --sh:0 2px 16px rgba(100,120,180,.1);
  --sh-lg:0 4px 30px rgba(100,120,180,.15);
  --r:14px;--rs:9px;
}
/* ══════════════════════════════════════
   HENDRIX — 60s Psychedelic Theme
   Inspired by Wes Wilson posters & flower power
══════════════════════════════════════ */
[data-theme="hendrix"] {
  --bg:#fffdf9;--surface:#ffffff;--surface2:#fef9f0;--border:#ead8c0;--border2:#dfc8aa;
  --ink:#2a1a3e;--ink2:#5a3d6a;--ink3:#b098c0;
  --accent:#c45e2c;--accent-l:#e8844a;--accent-d:#a04820;
  --gold:#d4a030;--gold-l:#e8c060;
  --red:#c0392b;--green:#2a7a4a;
  --grad-dark:#7b2d8e;--grad-light:#c45e2c;
  --sh:0 1px 3px rgba(120,40,80,.06),0 4px 18px rgba(120,40,80,.08);
  --sh-lg:0 2px 10px rgba(120,40,80,.08),0 20px 56px rgba(120,40,80,.1);
  --r:12px;--rs:8px;
}
/* Hendrix — animated psychedelic background */
[data-theme="hendrix"] body{
  background-color:#fffdf9;
  background-image:
    radial-gradient(ellipse at 20% 30%,rgba(123,45,142,.05),transparent 50%),
    radial-gradient(ellipse at 80% 60%,rgba(196,94,44,.05),transparent 50%),
    radial-gradient(ellipse at 50% 80%,rgba(212,160,48,.04),transparent 45%);
  background-attachment:fixed;
}
/* Hendrix — transparent hero so body's fixed radial-gradient reads through uniformly */
[data-theme="hendrix"] .hero{background:transparent;}
/* Hendrix — hero psychedelic title */
[data-theme="hendrix"] .hero::after {
  opacity:.4;
  background:
    radial-gradient(circle at 15% 35%, rgba(123,45,142,.45), transparent 45%),
    radial-gradient(circle at 85% 25%, rgba(196,94,44,.4), transparent 45%),
    radial-gradient(circle at 50% 80%, rgba(212,160,48,.35), transparent 40%);
  -webkit-mask-image:linear-gradient(to bottom,black 0%,black 55%,transparent 100%);
  mask-image:linear-gradient(to bottom,black 0%,black 55%,transparent 100%);
  will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation:hendrixHeroShift 20s ease-in-out infinite alternate;
}
@keyframes hendrixHeroShift{
  0%{transform:translate(0,0) scale(1);}
  50%{transform:translate(5%,-3%) scale(1.05);}
  100%{transform:translate(-3%,4%) scale(.97);}
}
[data-theme="hendrix"] .hero h1 {
  color:#7b2d8e; /* fallback */
  background: linear-gradient(135deg, #7b2d8e 0%, #c45e2c 25%, #d4a030 50%, #c45e2c 75%, #7b2d8e 100%);
  background-size:300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  -webkit-animation:hendrixTitleShift 8s ease-in-out infinite;
  animation:hendrixTitleShift 8s ease-in-out infinite;
}
@-webkit-keyframes hendrixTitleShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes hendrixTitleShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){[data-theme="hendrix"] .hero h1{-webkit-animation:none;animation:none;background-position:0% 50%;}}
[data-theme="hendrix"] .hero h1 em {
  -webkit-text-fill-color: var(--ink3);
}
/* Hendrix — result header bruker ny unified hero-design (2026-04-20) */
[data-theme="hendrix"] .btn-calc {
  background: linear-gradient(135deg, #7b2d8e, #c45e2c, #d4a030);
  background-size:200% 100%;
  transition:all .3s ease;
}
@media(hover:hover){[data-theme="hendrix"] .btn-calc:hover {
  background-position:100% 0;
  box-shadow: 0 0 20px rgba(123,45,142,.3), 0 0 40px rgba(196,94,44,.15);
  transform:translateY(-2px);
}}
[data-theme="hendrix"] .calc-tab.active {
  background: linear-gradient(135deg, #7b2d8e, #c45e2c);
  color: #fff;
  box-shadow:0 0 12px rgba(123,45,142,.25);
}
/* Hendrix — psychedelic card borders with glow */
[data-theme="hendrix"] .dash-tool-card {
  border: 1.5px solid rgba(123,45,142,.22);
  transition: all .4s ease;
}
@media(hover:hover){[data-theme="hendrix"] .dash-tool-card:hover {
  border-color: rgba(196,94,44,.55);
  box-shadow: 0 4px 30px rgba(123,45,142,.15), 0 0 15px rgba(196,94,44,.08);
  transform:translateY(-4px) scale(1.01);
}}
[data-theme="hendrix"] .card{
  border:none; /* bruker ingen ytre border paa Hendrix — vi har allerede
                  skygge + inn-skillere mellom info-cards. Forrige
                  color-mix(accent 15%, border) syntes som mork flekk paa
                  Safari og konkurrerte visuelt med gradient-tittelen. */
  transition:box-shadow .3s ease;
}
@media(hover:hover){[data-theme="hendrix"] .card:hover{
  box-shadow:0 2px 16px rgba(123,45,142,.06);
}}
[data-theme="hendrix"] .info-card .card-title{
  color:#7b2d8e; /* fallback */
  background:linear-gradient(135deg,#7b2d8e,#c45e2c);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
@media(hover:hover){[data-theme="hendrix"] .info-card .card-hdr:hover{
  background:linear-gradient(135deg,rgba(123,45,142,.03),rgba(196,94,44,.03))!important;
}}
/* Hendrix — footer & dividers */
[data-theme="hendrix"] footer {
  background: #fef7ee;
  border-top-color: #ead8c0;
}
[data-theme="hendrix"] .hero-dash-rule {
  background: linear-gradient(90deg, #7b2d8e, #c45e2c, #d4a030, #c45e2c, #7b2d8e);
  background-size:300% 100%;
  animation:hendrixTitleShift 6s ease-in-out infinite;
  opacity: .8;
  height: 3px;
  width: 80px;
}
[data-theme="hendrix"] .ai-hdr {
  background: linear-gradient(135deg, #7b2d8e, #c45e2c);
}
/* Hendrix — psychedelic scrollbar */
[data-theme="hendrix"] ::-webkit-scrollbar{width:10px;}
[data-theme="hendrix"] ::-webkit-scrollbar-track{background:#fef9f0;}
[data-theme="hendrix"] ::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#7b2d8e,#c45e2c,#d4a030);border-radius:8px;border:2px solid #fef9f0;
}
[data-theme="hendrix"] ::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#9b4dca,#e8844a,#e8c060);
}
/* Hendrix — selection */
[data-theme="hendrix"] ::selection{background:rgba(123,45,142,.2);color:#2a1a3e;}
/* Hendrix — input focus glow */
[data-theme="hendrix"] .fc:focus{
  border-color:#c45e2c;
  box-shadow:0 0 0 3px rgba(123,45,142,.1),0 0 12px rgba(196,94,44,.08);
}

/* DISCO - Neon Nightclub Theme */
[data-theme="disco"] {
  --bg:#0d0a18;--surface:#161226;--surface2:#1e1832;--border:#2e2650;--border2:#3d3468;
  --ink:#f0e6ff;--ink2:#c4b0e0;--ink3:#8a72b0;
  --accent:#e91e8c;--accent-l:#ff4da6;--accent-d:#c0186e;
  --gold:#ffd700;--gold-l:#ffe44d;
  --red:#ff4757;--green:#00e676;
  --grad-dark:#7b2ff7;--grad-light:#e91e8c;
  --sh:0 2px 12px rgba(123,47,247,.15),0 4px 24px rgba(233,30,140,.1);
  --sh-lg:0 4px 20px rgba(123,47,247,.2),0 20px 60px rgba(233,30,140,.12);
  --r:12px;--rs:8px;
}
/* Disco — animated neon background */
[data-theme="disco"] body{
  background-color:#0d0a18;
  background-image:
    radial-gradient(ellipse at 15% 20%,rgba(123,47,247,.08),transparent 50%),
    radial-gradient(ellipse at 85% 50%,rgba(233,30,140,.06),transparent 50%),
    radial-gradient(ellipse at 40% 85%,rgba(255,107,53,.05),transparent 45%),
    radial-gradient(ellipse at 70% 10%,rgba(0,212,255,.04),transparent 40%);
  background-attachment:fixed;
}
/* Disco — hero neon glow */
[data-theme="disco"] .hero::after {
  opacity:.55;
  background:
    radial-gradient(circle at 20% 30%, rgba(123,47,247,.6), transparent 45%),
    radial-gradient(circle at 80% 25%, rgba(233,30,140,.5), transparent 40%),
    radial-gradient(circle at 50% 75%, rgba(255,107,53,.45), transparent 40%),
    radial-gradient(circle at 65% 50%, rgba(0,212,255,.3), transparent 35%);
  will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  animation:discoHeroShift 20s ease-in-out infinite alternate;
}
@keyframes discoHeroShift{
  0%{transform:translate(0,0) scale(1) rotate(0deg);}
  33%{transform:translate(4%,-3%) scale(1.06) rotate(.5deg);}
  66%{transform:translate(-3%,5%) scale(.95) rotate(-.5deg);}
  100%{transform:translate(2%,-2%) scale(1.02) rotate(0deg);}
}
/* Disco — neon gradient title */
[data-theme="disco"] .hero h1 {
  color:#ff4da6;
  background: linear-gradient(135deg, #7b2ff7 0%, #e91e8c 20%, #ff6b35 40%, #ffd700 55%, #00d4ff 70%, #e91e8c 85%, #7b2ff7 100%);
  background-size:400% 100%;
  background-position:50% 50%; /* start midt i regnbuen — unngaar 5 sek statisk
                                  violet/pink paa Mac Safari mens font swapper */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation:discoTitleShift 10s ease-in-out infinite;
  animation-delay:-2.5s; /* hopp til 25% av animasjonen saa initial frame
                            viser gul/cyan-midten, ikke de violette edge-farger */
  will-change:background-position;
}
@keyframes discoTitleShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){[data-theme="disco"] .hero h1{animation:none;background-position:25% 50%;}}
[data-theme="disco"] .hero h1 em {
  -webkit-text-fill-color: var(--ink3);
  animation:discoSubSpin 1.2s cubic-bezier(.25,.46,.45,.94) both;
  display:inline-block;
  position:relative;z-index:5;pointer-events:auto;
}
[data-theme="disco"] .hero h1 em a{pointer-events:auto;cursor:pointer;}
/* Disco ball */
.disco-ball{display:none;}
[data-theme="disco"] .disco-ball{
  display:block;position:absolute;top:0;z-index:2;pointer-events:none;
}
[data-theme="disco"] .disco-ball.disco-ball-left{left:28px;}
[data-theme="disco"] .disco-ball.disco-ball-right{right:28px;}
.disco-ball-wire{width:2px;height:28px;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,.12));margin:0 auto;}
.disco-ball canvas{display:block;margin:0 auto;}
@media(max-width:600px){[data-theme="disco"] .disco-ball{opacity:0.45;transform:scale(0.85);}}
@keyframes discoSubSpin{
  0%{transform:rotate(0deg) scale(0);opacity:0;}
  40%{transform:rotate(400deg) scale(1.15);opacity:1;}
  60%{transform:rotate(700deg) scale(.95);}
  80%{transform:rotate(710deg) scale(1.02);}
  100%{transform:rotate(720deg) scale(1);opacity:1;}
}
@media(prefers-reduced-motion:reduce){[data-theme="disco"] .hero h1 em{animation:none;}}
/* Disco — dash rule rainbow */
[data-theme="disco"] .hero-dash-rule {
  background: linear-gradient(90deg, #7b2ff7, #e91e8c, #ff6b35, #ffd700, #00d4ff, #e91e8c, #7b2ff7);
  background-size:400% 100%;
  animation:discoTitleShift 6s ease-in-out infinite;
  opacity:.9;height:3px;width:80px;
}
/* Disco — result header bruker ny unified hero-design (2026-04-20) */
[data-theme="disco"] .btn-calc {
  background: linear-gradient(135deg, #7b2ff7, #e91e8c, #ff6b35);
  background-size:200% 100%;
  color:#fff;transition:all .3s ease;
  box-shadow:0 2px 12px rgba(123,47,247,.25);
}
@media(hover:hover){[data-theme="disco"] .btn-calc:hover {
  background-position:100% 0;
  box-shadow: 0 0 20px rgba(233,30,140,.4), 0 0 40px rgba(123,47,247,.2);
  transform:translateY(-2px);
}}
[data-theme="disco"] .calc-tab.active {
  background: linear-gradient(135deg, #7b2ff7, #e91e8c);
  color: #fff;
  box-shadow:0 0 16px rgba(233,30,140,.3);
}
/* Disco — neon card borders */
[data-theme="disco"] .dash-tool-card {
  border: 1.5px solid transparent;
  background-image:linear-gradient(var(--surface),var(--surface)),linear-gradient(135deg,rgba(123,47,247,.4),rgba(233,30,140,.4),rgba(255,107,53,.3));
  background-origin:border-box;background-clip:padding-box,border-box;
  transition: all .4s ease;
}
@media(hover:hover){[data-theme="disco"] .dash-tool-card:hover {
  background-image:linear-gradient(var(--surface),var(--surface)),linear-gradient(135deg,rgba(123,47,247,.8),rgba(233,30,140,.7),rgba(255,107,53,.6));
  box-shadow: 0 0 20px rgba(233,30,140,.2), 0 0 40px rgba(123,47,247,.12);
  transform:translateY(-4px) scale(1.01);
}}
[data-theme="disco"] .card{
  border-color:#2e2650;
  transition:box-shadow .3s ease;
}
@media(hover:hover){[data-theme="disco"] .card:hover{
  box-shadow:0 2px 16px rgba(123,47,247,.1);
}}
[data-theme="disco"] .info-card .card-title{
  color:#e91e8c;
  background:linear-gradient(135deg,#7b2ff7,#e91e8c);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
@media(hover:hover){[data-theme="disco"] .info-card .card-hdr:hover{
  background:linear-gradient(135deg,rgba(123,47,247,.05),rgba(233,30,140,.05))!important;
}}
/* Disco — footer & header dark */
[data-theme="disco"] footer {
  background:#0a0814;
  border-top-color:#2e2650;
}
[data-theme="disco"] .footer-links a{color:rgba(240,230,255,.4);}
[data-theme="disco"] header{box-shadow:0 1px 0 var(--border),0 4px 20px rgba(0,0,0,.3);}
[data-theme="disco"] .topbar{background:#080614;color:rgba(240,230,255,.5);}
[data-theme="disco"] .ai-hdr {
  background: linear-gradient(135deg, #7b2ff7, #e91e8c);
}
/* Disco — neon scrollbar */
[data-theme="disco"] ::-webkit-scrollbar{width:10px;}
[data-theme="disco"] ::-webkit-scrollbar-track{background:#0d0a18;}
[data-theme="disco"] ::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#7b2ff7,#e91e8c,#ff6b35);border-radius:8px;border:2px solid #0d0a18;
}
[data-theme="disco"] ::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#9b5ff7,#ff4da6,#ff8855);
}
/* Disco — selection & focus */
[data-theme="disco"] ::selection{background:rgba(233,30,140,.3);color:#f0e6ff;}
[data-theme="disco"] .fc:focus{
  border-color:#e91e8c;
  box-shadow:0 0 0 3px rgba(123,47,247,.15),0 0 16px rgba(233,30,140,.12);
}
/* Disco — dark UI overrides */
[data-theme="disco"] select option{background:var(--surface);color:#f0e6ff;}
[data-theme="disco"] #theme-trigger{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.06);}
[data-theme="disco"] #theme-trigger span{opacity:1!important;color:#c8b0e0!important;}
[data-theme="disco"] #theme-trigger:hover{border-color:var(--accent-l);}
[data-theme="disco"] .region-cur:hover{border-color:var(--accent-l);}

/* Dark mode overrides */
[data-theme="dark"] .hero::after{inset:0;background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(108,138,239,.24) 0%,rgba(108,138,239,.18) 25%,rgba(108,138,239,.10) 50%,rgba(108,138,239,.04) 70%,transparent 85%);filter:blur(24px);will-change:opacity;animation:heroSpotlight 16s ease-in-out infinite;transform:none!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);}
@keyframes heroSpotlight{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes heroSpotlightMobile{0%,100%{opacity:.3}50%{opacity:.5}}
/* Noise dither layer — disrupts 8-bit color banding in dark gradients */
[data-theme="dark"] .hero::before,[data-theme="carbon"] .hero::before,[data-theme="frost"] .hero::before,[data-theme="glass"] .hero::before,[data-theme="pink"] .hero::before{content:'';display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='1' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 70%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 70%,transparent 100%);}
/* TEST 2026-04-20: mobil arver desktop-intensitet (.7→1). Revert: fjern /* */ rundt blokken under for å gjenopprette dempet mobil (.3→.5 + blur40) */
/* @media(max-width:768px){[data-theme="dark"] .hero::after,[data-theme="carbon"] .hero::after,[data-theme="frost"] .hero::after,[data-theme="glass"] .hero::after,[data-theme="pink"] .hero::after{animation-name:heroSpotlightMobile;filter:blur(40px);}} */
@media(prefers-reduced-motion:reduce){[data-theme="dark"] .hero::after,[data-theme="carbon"] .hero::after,[data-theme="frost"] .hero::after,[data-theme="glass"] .hero::after,[data-theme="pink"] .hero::after{animation:none;opacity:.9;}}
[data-theme="dark"] .topbar{background:#0f1018;color:rgba(255,255,255,.5);}
[data-theme="dark"] footer{background:var(--surface)!important;background:color-mix(in srgb,var(--accent-l) 6%,var(--surface))!important;border-top-color:rgba(255,255,255,.06)!important;}
[data-theme="dark"] .footer-links a{color:rgba(255,255,255,.4);}
[data-theme="dark"] .btn-calc{background:linear-gradient(135deg,var(--accent-d),var(--accent));color:#fff;}
[data-theme="dark"] .calc-tab.active{color:#fff;background:var(--accent);}
[data-theme="dark"] .dash-tool-card{border:1.5px solid #3a5090!important;}
@media(hover:hover){[data-theme="dark"] .dash-tool-card:hover{border-color:#6c8aef!important;box-shadow:0 4px 20px rgba(108,138,239,.15)!important;}}
/* BUG-07: glow på generelle kort i mørkt tema (mørk-blå-mønster — rgba(108,138,239) accent) */
[data-theme="dark"] .card,[data-theme="dark"] .info-card{box-shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(108,138,239,.08);transition:box-shadow .3s ease,border-color .3s ease;}
@media(hover:hover){[data-theme="dark"] .card:hover,[data-theme="dark"] .info-card:hover{box-shadow:0 2px 4px rgba(0,0,0,.4),0 8px 28px rgba(108,138,239,.15);border-color:rgba(108,138,239,.3);}}
[data-theme="dark"] .dash-ref-header{color:#6a7494;}
[data-theme="dark"] header{box-shadow:0 1px 0 var(--border),0 4px 20px rgba(0,0,0,.3);}
[data-theme="dark"] .region-cur:hover{border-color:var(--accent-l);}
[data-theme="dark"] select option{background:var(--surface);color:#f0f0f5;}
/* [data-theme="dark"] .rh — bruker ny unified hero-design (2026-04-20) */
[data-theme="dark"] #theme-trigger{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.06);}
[data-theme="dark"] #theme-trigger span{opacity:1!important;color:#c8d0e0!important;}
[data-theme="dark"] #theme-trigger:hover{border-color:var(--accent-l);}
/* Glass overrides */
/* Frost overrides */
[data-theme="frost"] .topbar{background:rgba(79,95,229,1);}
[data-theme="frost"] footer{background:var(--surface2);border-top-color:var(--border);}

/* ── Frost Premium Overrides ── */

/* Frost keyframes */
@keyframes frostBlurIn{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes frostCardIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes frostFadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes frostShimmer{0%{background-position:200% center;}100%{background-position:-200% center;}}
@keyframes frostGlow{0%,100%{box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(79,95,229,.06);}50%{box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 20px rgba(79,95,229,.12);}}

/* Hero */
[data-theme="frost"] .hero{background:var(--bg);}
[data-theme="frost"] .hero::after{inset:0;background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(79,95,229,.16) 0%,rgba(79,95,229,.11) 25%,rgba(79,95,229,.06) 50%,rgba(79,95,229,.02) 70%,transparent 85%);filter:blur(24px);will-change:opacity;animation:heroSpotlight 16s ease-in-out infinite;transform:none!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);}
[data-theme="glass"] .hero::after{inset:0;background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(79,95,229,.14) 0%,rgba(79,95,229,.10) 25%,rgba(79,95,229,.05) 50%,rgba(79,95,229,.02) 70%,transparent 85%);filter:blur(24px);will-change:opacity;animation:heroSpotlight 16s ease-in-out infinite;transform:none!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 72%,transparent 100%);}
[data-theme="frost"] .hero h1{animation:frostBlurIn .9s cubic-bezier(.22,1,.36,1) both;}
[data-theme="frost"] .hero h1 em{animation:frostFadeUp .6s cubic-bezier(.22,1,.36,1) .35s both;}
[data-theme="frost"] .hero-dash-rule{animation:frostFadeUp .5s cubic-bezier(.22,1,.36,1) .15s both;}

/* Dashboard container */
[data-theme="frost"] .dash-container{animation:frostFadeUp .4s cubic-bezier(.22,1,.36,1) both;}
[data-theme="frost"] .dash-section-title{animation:frostFadeUp .5s cubic-bezier(.22,1,.36,1) both;}

/* Dashboard cards */
[data-theme="frost"] .dash-tool-card{animation:frostCardIn .5s cubic-bezier(.22,1,.36,1) both;border:1px solid var(--border);box-shadow:0 1px 3px rgba(79,95,229,.04);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease;}
[data-theme="frost"] .dash-tool-card:nth-child(1){animation-delay:.04s;}
[data-theme="frost"] .dash-tool-card:nth-child(2){animation-delay:.09s;}
[data-theme="frost"] .dash-tool-card:nth-child(3){animation-delay:.14s;}
[data-theme="frost"] .dash-tool-card:nth-child(4){animation-delay:.19s;}
[data-theme="frost"] .dash-tool-card:nth-child(5){animation-delay:.24s;}
[data-theme="frost"] .dash-tool-card:nth-child(6){animation-delay:.29s;}
@media(hover:hover){[data-theme="frost"] .dash-tool-card:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(79,95,229,.25);box-shadow:0 8px 30px rgba(79,95,229,.12),0 2px 8px rgba(79,95,229,.06);}}
[data-theme="frost"] .dash-tool-card:active{transform:translateY(-2px) scale(.98);transition:all .12s cubic-bezier(.22,1,.36,1);}

/* Cards */
[data-theme="frost"] .card{border:1px solid var(--border);box-shadow:0 1px 2px rgba(15,23,42,.03),0 4px 16px rgba(79,95,229,.05);transition:box-shadow .3s ease,border-color .3s ease;}
@media(hover:hover){[data-theme="frost"] .card:hover{box-shadow:0 2px 4px rgba(15,23,42,.04),0 8px 28px rgba(79,95,229,.09);}}
[data-theme="frost"] .info-card{border:1px solid var(--border);transition:box-shadow .3s ease;}

/* Buttons */
[data-theme="frost"] .btn-calc{background:linear-gradient(135deg,#4f5fe5,#6e7cf0);box-shadow:0 2px 12px rgba(79,95,229,.3);transition:all .3s cubic-bezier(.34,1.56,.64,1);}
@media(hover:hover){[data-theme="frost"] .btn-calc:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(79,95,229,.35);}}
[data-theme="frost"] .btn-calc:active{transform:translateY(0) scale(.97);box-shadow:0 1px 6px rgba(79,95,229,.2);transition:all .1s;}

/* Inputs */
[data-theme="frost"] .fc:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,95,229,.1),0 0 0 1px rgba(79,95,229,.2);transition:all .2s cubic-bezier(.22,1,.36,1);}

/* Calc tabs */
[data-theme="frost"] .calc-tab{transition:all .25s cubic-bezier(.22,1,.36,1);}
[data-theme="frost"] .calc-tab.active{background:var(--accent);box-shadow:0 2px 10px rgba(79,95,229,.3);}
[data-theme="frost"] .calc-tab:hover:not(.active){background:rgba(79,95,229,.06);}

/* Result highlight */
/* [data-theme="frost"] .rh — bruker ny unified hero-design (2026-04-20) */

/* Reference cards */
[data-theme="frost"] .dash-ref-card{border:1px solid var(--border);box-shadow:0 1px 3px rgba(79,95,229,.04);transition:all .3s cubic-bezier(.22,1,.36,1);}
@media(hover:hover){[data-theme="frost"] .dash-ref-card:hover{box-shadow:0 4px 20px rgba(79,95,229,.1);}}
[data-theme="frost"] .dash-ref-header{background:var(--surface2);border-bottom:1px solid var(--border);}

/* Dropdown */
[data-theme="frost"] .region-dd.open{animation:frostFadeUp .2s cubic-bezier(.22,1,.36,1);}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  [data-theme="frost"] .dash-tool-card,[data-theme="frost"] .hero h1,[data-theme="frost"] .hero h1 em,[data-theme="frost"] .dash-container,[data-theme="frost"] .dash-section-title,[data-theme="frost"] .hero-dash-rule{animation:none!important;}
}

/* Glass overrides */
[data-theme="glass"] .card,[data-theme="glass"] .info-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--surface);}
[data-theme="glass"] .topbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(104,117,245,.8);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-weight:400;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}

/* TOP BAR */
.topbar{background:var(--accent);color:rgba(255,255,255,.7);font-size:12px;font-weight:500;letter-spacing:.4px;padding:9px 0;text-align:center;}
.topbar span{color:#fff;}

/* HEADER */
header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:200;box-shadow:0 1px 0 var(--border),0 4px 20px rgba(14,40,110,.06);}
.hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px;flex-wrap:wrap;}
.logo{font-family:'Inter',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.4px;color:var(--ink);}
.hdr-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-inline-start:auto;}

/* PREMIUM BADGE */

/* REGION SELECTOR */
.region-sel{position:relative;}
.region-cur{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--rs);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--ink);white-space:nowrap;font-family:inherit;line-height:inherit;}
.region-cur:hover{border-color:var(--accent-l);background:var(--surface);}
.flag{width:20px;height:15px;object-fit:cover;border-radius:2px;vertical-align:middle;}
.region-cur .chev{font-size:10px;color:var(--ink3);}
.region-dd{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--rs);box-shadow:var(--sh-lg);overflow-y:auto;min-width:240px;max-height:70vh;display:none;z-index:300;}
[data-theme="glass"] .region-dd{background:#e8edf6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
.region-dd.open{display:block;animation:dropIn .15s ease;}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.region-group-label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink3);padding:10px 16px 4px;}
.region-opt{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .1s;color:var(--ink);background:none;border:none;width:100%;text-align:left;font-family:inherit;line-height:inherit;}
.region-opt:hover{background:var(--surface2);}
.region-opt.active{background:var(--surface2);color:var(--accent-l);font-weight:600;}
.region-opt .flag{width:22px;height:16px;}
.region-divider{height:1px;background:var(--border);margin:4px 0;}

/* HERO */
.hero{background:var(--surface);color:var(--ink);padding:48px 0 32px;position:relative;overflow:hidden;overflow:clip;}
[data-theme="dark"] .hero{background:#141520!important;}
[data-theme="carbon"] .hero{background:#161616;}
.hero::before,.hero .hero-lines{display:none;}
.hero::after{content:'';position:absolute;inset:-20%;z-index:0;opacity:.45;background:radial-gradient(circle at 25% 35%,rgba(154,196,255,.4),transparent 50%),radial-gradient(circle at 75% 55%,rgba(122,158,204,.35),transparent 50%),radial-gradient(circle at 50% 70%,rgba(154,196,255,.3),transparent 45%);filter:blur(40px);will-change:transform;animation:heroGrad 16s ease-in-out infinite alternate;backface-visibility:hidden;-webkit-backface-visibility:hidden;clip-path:inset(0);}
@keyframes heroGrad{0%{transform:translate(0,0) scale(1)}25%{transform:translate(12%,-8%) scale(1.1)}50%{transform:translate(-8%,10%) scale(.93)}75%{transform:translate(6%,-12%) scale(1.08)}100%{transform:translate(-4%,6%) scale(1.03)}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none;}}
/* Desktop hero — darker bg, softer gradient for cleaner look */
@media(min-width:769px){
  .hero::after{filter:blur(60px);opacity:.32;animation-duration:22s;}
  [data-theme="carbon"] .hero{background:#161616;}
}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;align-items:center;gap:40px;justify-content:center;text-align:center;}
.hero-kicker{display:none;}
.hero h1{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--ink);letter-spacing:-.3px;font-weight:700;font-size:clamp(36px,5.5vw,60px);line-height:1.15;margin-bottom:0;animation:heroTitle 1.2s ease-out both;}
@keyframes heroTitle{from{opacity:0;transform:translateY(18px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.hero h1 em{display:block;font-family:'Inter',sans-serif;color:var(--ink3);font-style:normal;font-weight:400;font-size:14px;letter-spacing:2.5px;text-transform:uppercase;margin-top:18px;line-height:1.6;animation:heroFade .8s ease-out .4s both;}
.hero p{font-size:15.5px;color:var(--ink3);max-width:480px;line-height:1.75;font-weight:400;margin:0 auto;}
.hero-dash-rule{display:block;width:48px;height:2px;background:var(--accent-l);margin:0 auto 28px;border-radius:2px;opacity:.5;animation:heroFade .8s ease-out .2s both;}
@keyframes heroFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
#hero-dash-rule2{margin:28px auto 0;}
.hero-stats{display:flex;flex-direction:column;gap:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px 28px;backdrop-filter:blur(12px);min-width:210px;}
.hs-num{font-family:'Inter',sans-serif;font-size:28px;font-weight:800;color:#fff;line-height:1;letter-spacing:-1px;}
.hs-lbl{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.5px;margin-top:4px;font-weight:500;}
.hs-div{height:1px;background:rgba(255,255,255,.08);}

/* Cross-document view transitions (Chrome 126+, Safari 18+) */
@view-transition{navigation:auto;}
::view-transition-old(root){animation:vtFade .12s ease-out;}
::view-transition-new(root){animation:vtFade .12s ease-in reverse;}
@keyframes vtFade{to{opacity:0;}}

main{padding:16px 0 0;flex:1;}

/* CALC NAV */
.calc-nav{display:flex;gap:4px;background:var(--surface);border:1.5px solid var(--border);border-radius:13px;padding:5px;margin-bottom:28px;flex-wrap:nowrap;overflow-x:auto;scroll-behavior:auto;scrollbar-width:none;box-shadow:var(--sh);position:sticky;top:65px;z-index:100;-webkit-overflow-scrolling:touch;}
.calc-nav-pill{position:absolute;background:var(--accent);border-radius:9px;box-shadow:0 2px 10px rgba(26,58,143,.3);transition:all .3s cubic-bezier(.22,1,.36,1);z-index:0;pointer-events:none;}
.calc-nav::-webkit-scrollbar{display:none;}
.calc-tab{flex:1 1 0;padding:10px 16px;border:none;background:transparent;border-radius:9px;font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:var(--ink3);cursor:pointer;transition:color .2s,background .2s;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;position:relative;z-index:1;}
.calc-tab:hover{color:var(--accent);background:var(--surface2);}
.calc-tab:active{transform:scale(.95);transition:transform .1s;}
.calc-tab.active{background:var(--accent,#4f5fe5);color:#fff;border-radius:9px;}

/* GRID */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;animation:fadeIn .3s ease;padding-bottom:48px;align-items:start;}
.calc-grid>div{align-self:start;min-width:0;display:flex;flex-direction:column;}
@media(min-width:901px){.calc-grid>div:first-child{position:sticky;top:130px;}
/* Boliglan desktop: kalkulator venstre (sticky), guide høyre (scroll) */
#calc-mortgage>div:first-child{position:static;order:2;}
#calc-mortgage>.right-col{order:1;position:sticky;top:130px;align-self:start;}
/* E28 bug #1 fix: Fjern sticky venstre pa /skatt og /avgift — venstre kolonne blir
   ofte mye lengre enn hoyre nar bruker apner info-cards (fradrag, lovref, sjekk).
   Sticky gir "blankt omrade" til hoyre under scroll. Begge kolonner scroller naturlig. */
#calc-salary>div:first-child,#calc-vat>div:first-child{position:static;}
}
/* E28 bug #3 fix: sparing-graf canvas display:inline gav baseline-gap + height-mismatch
   pa mobil. Eksplisitt display:block + aspect-ratio sikrer konsistent rendering. */
#spare-chart{display:block;width:100%;height:auto;aspect-ratio:2/1;max-height:340px;}

/* E30 — Kompleksitets-indikator per kalkulator (3 fargede prikker, nedre-hoyre).
   Vises kun naar kortet er collapsed — motsatt state av .calc-help-btn som vises
   kun naar expanded (E18-regel). Deler samme plass uten clash.
   Tekst-label fjernet 2026-04-25: hardkodet NO laa CSS-content (ikke i18n-bar) +
   kolliderte med RTL-arabisk desc. Prikkene + farge er sprak-uavhengige. */
.info-card[data-complexity]{position:relative;}
.info-card[data-complexity]::after{
  position:absolute;bottom:14px;right:16px;font-size:10px;letter-spacing:2px;line-height:1;pointer-events:none;
}
.info-card[data-complexity]:not(.collapsed)::after{display:none;}
.info-card[data-complexity="easy"]::after{content:'\25CF\25CB\25CB';color:#5dd47f;}
.info-card[data-complexity="medium"]::after{content:'\25CF\25CF\25CB';color:#f5c445;}
.info-card[data-complexity="hard"]::after{content:'\25CF\25CF\25CF';color:#e66d6d;}
@media(max-width:900px){.calc-grid{grid-template-columns:1fr;}}
/* 3-column variant (skatt.html) */
@media(min-width:1201px){.calc-grid-3col{grid-template-columns:2fr 1fr 1fr;}}
@media(min-width:901px) and (max-width:1200px){.calc-grid-3col{grid-template-columns:1fr 1fr;}.calc-grid-3col>div:nth-child(3){grid-column:1/-1;}}
@media(max-width:900px){.calc-grid-3col{grid-template-columns:1fr;}}
/* Skatteloven sub-group labels */
.law-group-label{font-family:'Inter',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);padding:24px 0 12px;margin:0;border-bottom:1px solid var(--border);border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,transparent);opacity:1;}
.law-group-label:first-child{padding-top:10px;}
/* Mobile section tabs — DISABLED (content stacks naturally) */
.mobile-section-tabs{display:none!important;}
/* Mobile column reorder: calculators first, guide below (default for most pages) */
@media(max-width:900px){.calc-grid>div:first-child{order:2;}.calc-grid>div:last-child,.calc-grid>.right-col{order:1;}
/* Skatt page exception: guide/veiledning first */
#calc-salary>div:first-child{order:1!important;}#calc-salary>.right-col{order:2!important;}
/* Selskap page exception: selskapsformer first */
#calc-selskap>div:first-child{order:1!important;}#calc-selskap>.right-col{order:2!important;}}
/* Nested cards flat design (always, not just focus mode) */
.info-card .info-card,.card>.info-card{border:none!important;border-radius:0!important;box-shadow:none!important;border-bottom:1px solid var(--border)!important;margin:0!important;}
.info-card .info-card .card-hdr,.card>.info-card .card-hdr{padding:14px 20px 12px;}
.info-card .info-card:not(.collapsed) .card-hdr,.card>.info-card:not(.collapsed) .card-hdr{border-bottom:1px solid var(--border);}
.card>.info-card:first-child .card-hdr{border-radius:var(--r) var(--r) 0 0;}
.card>.info-card:last-child.collapsed .card-hdr{border-radius:0 0 var(--r) var(--r);}
.card>.info-card:first-child:last-child.collapsed .card-hdr{border-radius:var(--r);}
.info-card .info-card .card-title{font-size:15px;}
.info-card .info-card .card-desc{font-size:12px;}
.info-card .info-card:not(.collapsed)>.card-hdr{position:sticky;top:96px;z-index:10;background:var(--surface);}
.info-card.law-chips-active .info-card:not(.collapsed)>.card-hdr{top:134px;}
.info-card .info-card:last-child{border-bottom:none!important;}
/* E4-U3: Fjern separator-linje OVER ekspandert info-card så det smelter sammen med kortet over som "samme kort". Bruker transparent border (ikke display:none) for å bevare layout-flow. */
/* @supports gate: Safari 15.0-15.3 mangler :has() — uten wrapping ville hele regelen bli ignorert. */
@supports selector(:has(*)){
  .card>.info-card:has(+ .info-card:not(.collapsed)),
  .info-card .info-card:has(+ .info-card:not(.collapsed)){border-bottom-color:transparent!important;}
}

@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* CARD */
.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;overflow:clip;}
.card-hdr{padding:10px 20px 8px;border-bottom:1.5px solid var(--border);display:flex;align-items:flex-start;gap:13px;position:relative;}
/* Allow <button class="card-hdr"> to reset native button styling so the same class
   renders identically whether rendered as <div> or <button>. Used for keyboard/a11y. */
button.card-hdr,button.priv-back,button.cm-opt,button#cc-swap{font:inherit;color:inherit;background:transparent;border:0;text-align:left;width:100%;cursor:pointer;}
button.card-hdr:focus-visible,button.priv-back:focus-visible,button.cm-opt:focus-visible,button#cc-swap:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.card-title{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.3px;}
.card-desc{font-size:12px;color:var(--ink3);margin-top:3px;line-height:1.5;font-weight:400;}
.card-body{padding:20px 24px;}

/* FORM */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;}
.fg{margin-bottom:14px;}
.flbl{display:block;font-size:11px;font-weight:700;color:var(--ink2);letter-spacing:.6px;text-transform:uppercase;margin-bottom:7px;}
.fc{width:100%;background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--rs);padding:10px 13px;color:var(--ink);font-size:14px;font-family:'Inter',sans-serif;font-weight:500;transition:all .15s;outline:none;-webkit-appearance:none;}
.fc:focus{border-color:var(--accent-l);background:var(--surface);box-shadow:0 0 0 3px rgba(37,99,235,.1);}
.fc::placeholder{color:var(--ink3);font-weight:400;opacity:.5;}
select.fc{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236478a8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;}
.btn-calc{width:100%;padding:12px;background:linear-gradient(135deg,var(--accent),var(--accent-l));color:#fff;border:none;border-radius:var(--rs);font-family:'Inter',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;margin-top:4px;letter-spacing:.1px;box-shadow:0 2px 12px rgba(26,58,143,.25);}
@media(hover:hover){.btn-calc:hover{transform:translateY(-1px);box-shadow:0 5px 20px rgba(26,58,143,.35);}}
.btn-calc:active{transform:scale(.97);box-shadow:0 1px 6px rgba(26,58,143,.2);transition:transform .1s;}
.btn-calc:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.calc-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--rs);}
.region-cur:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--rs);}
.card-hdr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--rs);}
.logo:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px;}

/* RESULTS */
.result-sec{margin-top:20px;border-top:1.5px solid var(--border);padding-top:20px;}
/* Result-header: hero-kort sentrert (prototype 3, 2026-04-20) */
.rh{background:var(--surface2);background:radial-gradient(ellipse at top, color-mix(in srgb, var(--accent,#4f5fe5) 18%, transparent), transparent 70%), var(--surface2);border:1.5px solid rgba(120,120,120,.25);border:1.5px solid color-mix(in srgb, var(--accent,#4f5fe5) 35%, transparent);border-radius:18px;padding:32px 24px 24px;color:var(--ink);margin-bottom:14px;text-align:center;position:relative;overflow:hidden;}
.rh-lbl{font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent,#4f5fe5);margin-bottom:12px;}
.rh-val{font-family:'Inter',sans-serif;font-size:44px;font-weight:800;color:var(--ink);letter-spacing:-1.5px;line-height:1;font-variant-numeric:tabular-nums;}
.rh-sub{font-size:12px;color:var(--ink2);margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-weight:500;letter-spacing:.2px;}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.rt{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;}
.rt-lbl{font-size:10.5px;font-weight:500;color:var(--ink3);letter-spacing:.3px;text-transform:uppercase;margin-bottom:6px;}
.rt-val{font-family:'Inter',sans-serif;font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.2px;}
.rt-val.gld{color:var(--ink);}

/* RIGHT COL */
.right-col{display:flex;flex-direction:column;gap:16px;align-self:start;}

/* INFO TABLE */
.info-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;scroll-margin-top:160px;}
.info-card:not(.collapsed).has-law-body{overflow:visible;}
.card-body>.info-card,.card>.info-card{border:none;border-radius:0;box-shadow:none;border-bottom:1px solid var(--border);}
.card-body>.info-card:last-child,.card>.info-card:last-child{border-bottom:none!important;}
.law-body{overflow:hidden;}
.info-card:not(.collapsed)>.law-body{overflow:visible;}
.info-card.collapsed .law-body{display:none;}
.law-body.opening{animation:slideOpen .3s ease both;overflow:hidden!important;}
@keyframes slideOpen{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.card>.info-card.collapsed,.card-body>.info-card.collapsed{min-height:84px;display:flex;flex-direction:column;justify-content:center;}
.ir{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;border-bottom:1px solid var(--border);font-size:13px;transition:background .1s;}
.ir:last-child{border-bottom:none;}
.ir:hover{background:var(--surface2);}
/* V11 A-fix: focus-visible outline for keyboard users on clickable .ir (role="link" + tabindex) */
.ir[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface2);}
.ir .k{color:var(--ink3);font-weight:500;} .ir .v{font-weight:700;color:var(--ink);} .ir .v.a{color:var(--ink);} .ir .v.g{color:var(--ink);}

/* AI CARD */
.ai-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;flex:1;}
.ai-hdr{background:linear-gradient(135deg,var(--accent),var(--accent-d));padding:17px 22px;display:flex;align-items:center;gap:13px;}
.ai-av{width:38px;height:38px;background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.ai-hdr h3{font-family:'Inter',sans-serif;font-size:14px;color:#fff;font-weight:700;letter-spacing:-.2px;}
.ai-hdr p{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px;font-weight:400;}
.ai-body{padding:18px 22px;}

/* PAYWALL */

/* DASHBOARD */
.dash-container{animation:fadeIn .3s ease;padding-bottom:48px;}

.dash-section-title{font-family:'Inter',sans-serif;font-size:11px;font-weight:700;color:var(--ink3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:14px;animation:fadeIn .4s ease both;}

.dash-tools-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:32px;}
@media(max-width:960px){.dash-tools-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.dash-tools-grid{grid-template-columns:repeat(2,1fr);}}
.dash-tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px 14px;cursor:pointer;transition:all .2s;text-align:center;animation:cardSlideUp .4s ease both;min-width:0;min-height:92px;}
.dash-tool-card:nth-child(1){animation-delay:.05s;}.dash-tool-card:nth-child(2){animation-delay:.1s;}.dash-tool-card:nth-child(3){animation-delay:.15s;}.dash-tool-card:nth-child(4){animation-delay:.2s;}.dash-tool-card:nth-child(5){animation-delay:.25s;}.dash-tool-card:nth-child(6){animation-delay:.3s;}
@keyframes cardSlideUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@media(hover:hover){.dash-tool-card:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.06);}}
.dash-tool-card:active{transform:scale(.97);transition:transform .1s;}
.dash-tool-icon-wrap{display:none;}
.dash-tool-name{font-family:'Inter',sans-serif;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:5px;letter-spacing:-.2px;}
.dash-tool-desc{font-size:12px;color:var(--ink3);line-height:1.5;font-weight:400;}

.dash-ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:900px){.dash-ref-grid{grid-template-columns:1fr;}}
.dash-ref-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;}
.dash-ref-header{background:var(--surface2);color:var(--ink2);font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;padding:11px 18px;text-transform:uppercase;border-bottom:1px solid var(--border);}
.dash-ref-rows{padding:4px 0;}
.dash-ref-row{display:flex;justify-content:space-between;align-items:center;padding:7px 18px;font-size:13px;border-bottom:1px solid var(--border);transition:background .1s;}
.dash-ref-row:last-child{border-bottom:none;}
.dash-ref-row:hover{background:var(--surface2);}
.dash-ref-row span:first-child{color:var(--ink2);font-weight:500;}
.dash-ref-val{font-weight:700;color:var(--ink);font-family:'Inter',sans-serif;}

/* FOOTER */
footer{background:var(--surface2);background:color-mix(in srgb,var(--accent-l) 12%,var(--surface));color:var(--muted);padding:34px 0 26px;border-top:1px solid var(--border);}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-logo{font-family:'Inter',sans-serif;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.3px;}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;}
.footer-links a{color:var(--ink3);font-size:13px;text-decoration:none;transition:color .15s;font-weight:500;}
.footer-links a:hover{color:var(--accent);}
.footer-copy{font-size:11px;color:var(--ink3);opacity:.55;margin-top:14px;text-align:center;font-weight:400;}

/* PRIVACY OVERLAY */
.priv-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg);overflow-y:auto;display:none;animation:privIn .25s ease;}
.priv-overlay.open{display:block;}
@keyframes privIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.priv-page{max-width:720px;margin:0 auto;padding:60px 28px 80px;}
.priv-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent);cursor:pointer;margin-bottom:40px;transition:opacity .15s;}
.priv-back:hover{opacity:.7;}
.priv-page h1,.priv-page h2.priv-title{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-.3px;}
.priv-page .priv-updated{font-size:13px;color:var(--ink3);margin-bottom:36px;}
.priv-page .priv-intro{font-size:15px;color:var(--ink);line-height:1.75;margin-bottom:32px;}
.priv-section{margin-bottom:28px;}
.priv-section h2{font-size:14px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;}
.priv-section p{font-size:14px;color:var(--ink);line-height:1.75;}
.priv-contact{margin-top:40px;padding:20px 24px;background:var(--surface2);border-radius:var(--r);border:1px solid var(--border);}
.priv-contact h2{font-size:14px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;}
.priv-contact p{font-size:14px;color:var(--ink);line-height:1.75;}

/* CONTACT OVERLAY */
.contact-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg);overflow-y:auto;display:none;animation:privIn .25s ease;}
.contact-overlay.open{display:block;}
.contact-page{max-width:720px;margin:0 auto;padding:60px 28px 80px;}
.contact-page h1,.contact-page h2.contact-title{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-.3px;}
/* Screen-reader only utility — visible to search engines & AT, invisible visually */
.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;}
.contact-page .contact-sub{font-size:15px;color:var(--ink);line-height:1.75;margin-bottom:36px;}
.contact-form{display:flex;flex-direction:column;gap:20px;}
.contact-fg{display:flex;flex-direction:column;gap:6px;}
.contact-fg label{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.8px;}
.contact-fg input,.contact-fg textarea,.contact-fg select{font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--rs);padding:12px 14px;transition:border-color .15s;outline:none;width:100%;}
.contact-fg input:focus,.contact-fg textarea:focus,.contact-fg select:focus{border-color:var(--accent);}
.contact-fg textarea{min-height:140px;resize:vertical;line-height:1.6;}
.contact-fg [aria-invalid="true"]{border-color:#d64545;}
.con-err{font-size:12px;color:#d64545;min-height:14px;}
.con-err:empty{display:none;}
.contact-btn{font-family:'Inter',sans-serif;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-l));border:none;border-radius:var(--rs);padding:14px 28px;cursor:pointer;transition:opacity .15s;align-self:flex-start;}
.contact-btn:hover{opacity:.85;}
.contact-alt{margin-top:36px;padding:20px 24px;background:var(--surface2);border-radius:var(--r);border:1px solid var(--border);}
.contact-alt h2{font-size:14px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;}
.contact-alt p{font-size:14px;color:var(--ink);line-height:1.75;}
.contact-alt a{color:var(--accent);text-decoration:none;font-weight:600;}
.contact-alt a:hover{text-decoration:underline;}
.contact-success{display:none;text-align:center;padding:40px 20px;}
.contact-success.show{display:block;}
.contact-success .check{font-size:48px;margin-bottom:16px;}
.contact-success h2{font-family:'Playfair Display',serif;font-size:24px;color:var(--ink);margin-bottom:8px;}
.contact-success p{font-size:14px;color:var(--ink);line-height:1.75;}
/* CALC MODE SELECTOR */
@media(hover:hover){.cm-opt:hover{background:var(--surface2);}}
.cm-active{background:var(--surface2)!important;color:var(--accent-l)!important;font-weight:700!important;}
/* Fagkalkulatorer list — always visible */
#cm-extra-list{padding-left:4px;}
/* Smooth result sections */
.result-sec:not(.hidden){animation:resultIn .35s ease both;}
@keyframes resultIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
/* Smooth calculator mode panels inside basic calc */
.bc-panel-anim{animation:bcPanelIn .35s cubic-bezier(.22,1,.36,1) both;}
@keyframes bcPanelIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@media(hover:hover){.info-card .card-hdr:hover{background:var(--surface2);transition:background .15s ease;}}
.info-card .card-hdr{transition:background .15s ease;}
@media(hover:hover){.info-card .card-hdr:active{transform:scale(.98);transition:transform .1s ease;}}
.info-card.collapsed .card-hdr{border-bottom:none;}
.info-card:not(.collapsed) .card-hdr{border-bottom:1.5px solid var(--border);margin-bottom:6px;}
/* Mobile mode bar */
.mobile-mode-bar{display:none;}
.mobile-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;}
@media(max-width:768px){
  #calc-basic{grid-template-columns:1fr!important;}
  #calc-basic>div:last-child{display:none!important;}
  /* Mobil: overstyr inline min-height:700px så calc-card tilpasser skjermen (calc-focus + calc-landscape overstyrer under) */
  #calc-basic>div:first-child>.card{min-height:auto!important;}
  body.mobile-sidebar-open #calc-basic>div:last-child{display:flex!important;flex-direction:column;gap:14px;position:fixed;top:0;right:0;bottom:0;width:280px;z-index:210;background:var(--surface);overflow-y:auto;box-shadow:-4px 0 24px rgba(0,0,0,.15);animation:slideInRight .25s ease;padding:16px 0;}
  .mobile-mode-bar{display:flex!important;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:65px;z-index:90;}
  .mobile-mode-label{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:-.2px;}
  .mobile-mode-actions{display:flex;gap:12px;align-items:center;}
  .mobile-mode-link{font-size:14px;font-weight:700;color:var(--accent);cursor:pointer;padding:6px 16px;border-radius:8px;transition:all .15s;border:1.5px solid var(--accent);letter-spacing:.1px;}
  .mobile-mode-link:active{background:var(--surface2);}
  .mobile-focus-btn,.mobile-focus-exit{border:none;font-size:13px;font-weight:600;padding:4px 10px;border-radius:6px;}
  .mobile-sidebar-backdrop{display:block!important;pointer-events:none;opacity:0;transition:opacity .25s;}
  body.mobile-sidebar-open .mobile-sidebar-backdrop{pointer-events:auto;opacity:1;}
  /* Focus mode */
  body.calc-focus header,body.calc-focus .calc-nav,body.calc-focus footer{display:none!important;}
  body.calc-focus .mobile-mode-bar{position:fixed;top:0;left:0;right:0;z-index:301;border-bottom:1.5px solid var(--border);padding:6px 14px;background:var(--surface);}
  body.calc-focus #calc-basic>div:first-child{position:fixed;top:42px;left:0;right:0;bottom:0;z-index:300;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0;padding:0;}
  body.calc-focus .mobile-mode-bar{touch-action:manipulation;}
  body.calc-focus #bc-keys,body.calc-focus #bc-keys *{touch-action:manipulation;}
  body.calc-focus #calc-basic>div:first-child>.card{border-radius:0!important;box-shadow:none!important;min-height:100%;overflow:visible!important;}
  body.calc-focus .mobile-focus-btn{display:none!important;}
  body.calc-focus .mobile-focus-exit{display:inline!important;}
  body.calc-focus #calc-basic{padding-bottom:0!important;}
  body.calc-focus .mobile-sidebar-backdrop{z-index:310;}
  body.calc-focus.mobile-sidebar-open #calc-basic>div:last-child{z-index:320!important;}
}
/* Landscape phone: fullscreen scientific calculator (iPhone-style) */
@media(orientation:landscape) and (max-height:500px){
  body.calc-landscape header,body.calc-landscape footer,body.calc-landscape .calc-nav,body.calc-landscape .mobile-mode-bar{display:none!important;}
  body.calc-landscape #calc-basic>div:first-child{position:fixed;inset:0;z-index:300;overflow-y:auto;margin:0;padding:0;}
  body.calc-landscape #calc-basic>div:first-child>.card{border-radius:0!important;box-shadow:none!important;min-height:100vh;display:flex;flex-direction:column;}
  body.calc-landscape #calc-basic>div:last-child{display:none!important;}
  body.calc-landscape #calc-basic{padding-bottom:0!important;}
  body.calc-landscape #bc-display{font-size:28px;padding:6px 12px;min-height:auto;}
  body.calc-landscape #bc-expr-display{font-size:11px;min-height:14px;}
  body.calc-landscape #bc-keys{flex:1;display:flex;flex-direction:column;}
  body.calc-landscape #bc-keys>div{flex:1;}
  body.calc-landscape #bc-keys button{padding:6px 4px!important;font-size:13px!important;border-radius:8px!important;}
}
@keyframes slideInRight{from{transform:translateX(100%);}to{transform:translateX(0);}}
@keyframes slideUpDD{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.hidden{display:none!important;}
/* Law chapter sticky nav */
.law-chapter-nav{display:none;position:fixed;top:130px;left:0;right:0;z-index:150;background:var(--surface);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding:10px 24px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;box-shadow:0 4px 20px rgba(0,0,0,.08);}
.law-chapter-nav::-webkit-scrollbar{display:none;}
.law-chapter-nav.visible{display:flex;align-items:center;justify-content:center;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px;border-radius:16px;border:1.5px solid var(--border);border-bottom:1.5px solid var(--border);}
.law-chapter-chip{flex:0 0 auto;padding:7px 18px;border-radius:99px;font-size:13px;font-weight:600;color:var(--ink2);background:var(--surface2);border:1.5px solid var(--border);cursor:pointer;transition:all .2s cubic-bezier(.22,1,.36,1);font-family:'Inter',sans-serif;letter-spacing:-.15px;}
@media(hover:hover){.law-chapter-chip:hover{border-color:var(--accent);color:var(--ink);background:var(--surface2);background:color-mix(in srgb,var(--accent) 8%,var(--surface2));transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.06);}}
.law-chapter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 12px rgba(0,0,0,.15);box-shadow:0 2px 12px color-mix(in srgb,var(--accent) 35%,transparent);}
@media(max-width:600px){.law-chapter-nav{padding:6px 12px;gap:5px;}.law-chapter-chip{font-size:11px;padding:4px 10px;border-radius:16px;}}
/* Law group dropdown */
.law-group{margin-top:16px;border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface);}
.law-group-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;cursor:pointer;transition:background .15s;}
.law-group-hdr:hover{background:var(--surface2);}
.law-group-title{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.2px;}
.law-group-desc{font-size:12px;color:var(--ink3);margin-top:2px;}
.desc-link{cursor:pointer;color:var(--ink2);text-decoration:none;border-bottom:1px dotted var(--ink3);padding-bottom:1px;transition:color .15s,border-color .15s;}
.desc-link:hover{color:var(--accent);border-bottom-color:var(--accent);}
.law-group-arrow{font-size:10px;color:var(--ink3);transition:transform .25s;}
.law-group.open .law-group-arrow{transform:rotate(180deg);}
.law-group-body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1),padding .3s ease;padding:0 12px;}
.law-group.open .law-group-body{overflow:visible;padding:0 12px 12px;}
.law-group-body .info-card{margin-top:10px!important;}
.law-group-body .info-card:first-child{margin-top:0!important;}
::-webkit-scrollbar{width:10px;} ::-webkit-scrollbar-track{background:var(--bg);border-radius:5px;} ::-webkit-scrollbar-thumb{background:rgba(128,128,180,.2);background:color-mix(in srgb,var(--accent) 20%,transparent);border-radius:5px;border:2px solid var(--bg);} ::-webkit-scrollbar-thumb:hover{background:rgba(128,128,180,.35);background:color-mix(in srgb,var(--accent) 35%,transparent);}
html{scrollbar-width:auto;scrollbar-color:rgba(128,128,180,.2) var(--bg);scrollbar-color:color-mix(in srgb,var(--accent) 20%,transparent) var(--bg);}

/* Tablet portrait (601–768px gap fill) */
@media(max-width:768px) and (min-width:601px){
  .hero{padding:36px 0 24px;}
  .hero h1{font-size:clamp(36px,6vw,48px);}
  .calc-nav{gap:3px;padding:4px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 88%,transparent 100%);mask-image:linear-gradient(to right,#000 88%,transparent 100%);}
  .calc-nav.scrolled-end{-webkit-mask-image:none;mask-image:none;}
  .calc-tab{flex:0 0 auto;font-size:13px;padding:10px 12px;}
  .card-body{padding:18px;}
  #avs-table{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  #avs-table table{font-size:12.5px;}
  .footer-inner{flex-direction:column;text-align:center;gap:10px;}
  .info-card.collapsed,.card-body>.info-card.collapsed{min-height:72px;}
}
@media(max-width:600px){
  .hdr{padding:8px 0;gap:6px;flex-wrap:nowrap;}
  .logo{font-size:15px;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;}
  .hdr-right{flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;flex-wrap:nowrap;}
  .hdr-right .region-cur{padding:6px 10px;font-size:11px;gap:6px;border-radius:8px;}
  .hdr-right .region-cur .flag{width:20px;height:15px;}
  .hdr-right .region-cur #rn{display:none;}
  .hdr-right .region-cur .chev{font-size:8px;}
  .region-dd{position:fixed!important;top:auto!important;right:16px!important;left:16px!important;bottom:16px!important;min-width:0!important;max-height:70vh!important;border-radius:16px!important;box-shadow:0 -4px 40px rgba(0,0,0,.25)!important;animation:slideUpDD .2s ease!important;z-index:310!important;}
  .hdr-right #theme-trigger{padding:4px 8px!important;font-size:11px!important;border-radius:8px!important;}
  .hdr-right #theme-trigger span{font-size:11px!important;}
  .hdr-right #theme-trigger span:first-child{width:12px!important;height:12px!important;}
  .hero{padding:28px 0 20px;}
  .hero h1{letter-spacing:-1px;}
  .hero p{font-size:14px;}
  .calc-nav{gap:2px;padding:4px;padding-right:24px;-webkit-mask-image:linear-gradient(to right,#000 85%,transparent 100%);mask-image:linear-gradient(to right,#000 85%,transparent 100%);}
  .calc-nav.scrolled-end{-webkit-mask-image:none;mask-image:none;}
  .calc-tab{flex:0 0 auto;font-size:12px;padding:9px 10px;}
  .card-body{padding:16px 16px;}
  .form-row{gap:8px;}
  /* /personlig: 2-kol form-row kollapser til 1-kol på mobil — labels wrapper ellers til 2 linjer (E4-U4) */
  #personlig-cols .form-row{grid-template-columns:1fr;}
  .fg{margin-bottom:10px;}
  .fc{padding:11px 13px;min-height:44px;}
  .btn-calc{padding:13px 12px;min-height:44px;}
  select.fc{min-height:44px;}
  .rh{padding:24px 18px 20px;border-radius:14px;}
  .rh-val{font-size:34px;letter-spacing:-1px;}
  .rh-lbl{font-size:10px;letter-spacing:1.4px;margin-bottom:10px;}
  .calc-grid{gap:14px;padding-bottom:24px;}
  .rgrid{grid-template-columns:1fr;}
  .ir{flex-wrap:wrap;gap:4px;padding:10px 16px;}
  .ir .k{flex:0 0 100%;font-size:12px;}
  .ir .v{flex:0 0 100%;font-size:14px;}
  #avs-table{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  #avs-table table{font-size:11.5px;table-layout:fixed;width:100%!important;}
  #avs-table table td{padding:5px 4px!important;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;}
  #avs-table table td:first-child{width:46px;}
  #avs-table table tr:first-child td{font-size:10.5px;white-space:normal;word-break:break-word;}
  .info-card.collapsed,.card-body>.info-card.collapsed{min-height:68px;}
  .info-card{scroll-margin-top:120px;}
  .footer-inner{flex-direction:column;text-align:center;gap:10px;}
  .footer-logo{font-size:15px;}
  .footer-links{justify-content:center;gap:14px;}
  footer{padding:24px 0 18px;}
  .container{padding:0 16px;}
}
.avs-mode-btn{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink2);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;}
.avs-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.avs-mode-btn:hover:not(.active){background:var(--surface2);}

/* ═══════ Comparison table ═══════ */
.cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;line-height:1.6;}
.cmp-table thead th{padding:10px 12px;text-align:center;font-weight:800;font-size:14px;color:var(--ink);letter-spacing:-.2px;border-bottom:2px solid var(--border);border-bottom:2px solid color-mix(in srgb,var(--accent) 30%,transparent);background:var(--surface);}
.cmp-table thead th:first-child{text-align:left;color:var(--ink3);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;}
.cmp-table tbody td{padding:11px 12px;color:var(--ink2);text-align:center;border-bottom:1px solid var(--border);font-size:12.5px;vertical-align:middle;}
.cmp-table tbody td:first-child{font-weight:600;color:var(--ink);text-align:left;white-space:nowrap;font-size:12px;position:sticky;left:0;background:var(--surface);z-index:1;box-shadow:2px 0 4px rgba(0,0,0,.06);}
.cmp-table thead th:first-child{position:sticky;left:0;z-index:2;box-shadow:2px 0 4px rgba(0,0,0,.06);}
.cmp-table tbody tr:last-child td{border-bottom:none;}
.cmp-table tbody tr:nth-child(even){background:var(--surface2);background:color-mix(in srgb,var(--surface2) 50%,transparent);}
.cmp-table tbody tr:nth-child(even) td:first-child{background:var(--surface2);background:color-mix(in srgb,var(--surface2) 50%,var(--surface));}
.cmp-pill{display:inline-block;padding:2px 7px;border-radius:6px;font-size:10.5px;font-weight:600;line-height:1.5;white-space:nowrap;}
.cmp-pill.green{background:rgba(34,197,94,.12);background:color-mix(in srgb,#22c55e 12%,transparent);color:#16a34a;}
.cmp-pill.amber{background:rgba(245,158,11,.12);background:color-mix(in srgb,#f59e0b 12%,transparent);color:#d97706;}
.cmp-pill.blue{background:rgba(128,128,200,.12);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);}
[data-theme="dark"] .cmp-pill.green,[data-theme="disco"] .cmp-pill.green{color:#4ade80;}
[data-theme="dark"] .cmp-pill.amber,[data-theme="disco"] .cmp-pill.amber{color:#fbbf24;}
@media(max-width:600px){.cmp-table thead th{font-size:13px;padding:8px 8px;}.cmp-table tbody td{padding:9px 8px;font-size:11.5px;}}

/* ═══════ Search bar ═══════ */
#site-search{position:relative;max-width:480px;margin:24px auto 28px;width:100%;}
.search-box{position:relative;display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:0 14px;transition:border-color .2s,box-shadow .2s;}
.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(128,128,200,.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);}
.search-icon{color:var(--ink3);flex-shrink:0;margin-right:10px;opacity:.5;}
.search-box:focus-within .search-icon{color:var(--accent);opacity:.8;}
#search-input{flex:1;border:none;background:transparent;font-family:'Inter',sans-serif;font-size:16px;font-weight:400;color:var(--ink);padding:14px 0;outline:none;min-width:0;min-height:44px;}
/* Extend tap-target of theme swatches to ~44px (a11y) while keeping visual dot size */
#theme-panel button{position:relative;}
#theme-panel button::before{content:'';position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);}
#search-input::placeholder{color:var(--ink3);opacity:.6;}
.search-kbd{display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--border);border-radius:5px;font-family:'Inter',sans-serif;font-size:11px;font-weight:600;color:var(--ink3);padding:2px 6px;line-height:1;flex-shrink:0;margin-left:8px;opacity:.5;cursor:help;}
.search-box:focus-within .search-kbd{display:none;}

/* Dropdown */
.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;box-shadow:var(--sh-lg);z-index:50;max-height:400px;overflow-y:auto;display:none;padding:6px;}
.search-dropdown.visible{display:block;animation:searchFadeIn .15s ease;}
@keyframes searchFadeIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}

.search-result{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;text-decoration:none;color:inherit;gap:12px;transition:background .1s;}
.search-result:hover,.search-result-active{background:var(--surface2);}
.search-result-left{flex:1;min-width:0;}
.search-result-name{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-result-name mark{background:rgba(128,128,200,.2);background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);border-radius:2px;padding:0 1px;}
.search-result-desc{font-size:12px;color:var(--ink3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-result-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;}
.search-result-tag{font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 6px;border-radius:4px;line-height:1.2;}
.search-tag-tool{background:rgba(128,128,200,.12);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);}
.search-tag-concept{background:rgba(230,168,23,.12);background:color-mix(in srgb,#e6a817 12%,transparent);color:#b8860b;}
.search-tag-law{background:rgba(124,58,237,.12);background:color-mix(in srgb,#7c3aed 12%,transparent);color:#7c3aed;}
.search-tag-question{background:rgba(14,165,120,.12);background:color-mix(in srgb,#0ea578 14%,transparent);color:#0a8f66;}
.search-result-page{font-size:10px;color:var(--ink3);opacity:.6;}

/* No results */
.search-no-results{padding:16px;text-align:center;}
.search-no-results-text{font-size:14px;color:var(--ink2);margin-bottom:8px;}
.search-missing-link{font-size:13px;font-weight:600;color:var(--accent);text-decoration:none;transition:opacity .15s;}
.search-missing-link:hover{opacity:.7;}

/* Suggestion chips */
.search-suggestions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin-top:10px;opacity:0;max-height:0;overflow:hidden;transition:opacity .2s,max-height .2s;}
.search-suggestions.visible{opacity:1;max-height:120px;}
.search-chip-label{font-size:11px;color:var(--ink3);font-weight:500;opacity:.6;display:block;flex:0 0 100%;text-align:center;margin-bottom:2px;}
.search-chip{font-size:12px;font-weight:500;color:var(--ink2);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:4px 12px;text-decoration:none;transition:all .15s;white-space:nowrap;}
.search-chip:hover{border-color:var(--accent);color:var(--accent);background:transparent;background:color-mix(in srgb,var(--accent) 5%,transparent);}

/* Mobile adjustments */
@media(max-width:600px){
  #site-search{max-width:100%;margin:20px auto 16px;}
  #search-input{font-size:16px;padding:12px 0;min-height:44px;}
  .search-kbd{display:none;}
  .search-suggestions{gap:5px;}
  .search-chip{font-size:11px;padding:3px 10px;}
  .search-chip-label{font-size:10px;display:block;flex:0 0 100%;text-align:center;}
  .search-result-right{display:none;}
  .search-result-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}

/* ═══════ RTL support (Arabic) ═══════ */
[dir="rtl"]{direction:rtl;text-align:right;}
[dir="rtl"] .hdr{flex-direction:row-reverse;}
[dir="rtl"] .hdr-right{margin-left:0;margin-right:auto;flex-direction:row-reverse;}
[dir="rtl"] .region-dd{right:auto;left:0;}
[dir="rtl"] .logo{text-align:right;}
[dir="rtl"] select.fc{background-position:left 13px center;padding-right:13px;padding-left:34px;}
[dir="rtl"] .search-icon{margin-right:0;margin-left:10px;}
[dir="rtl"] .search-kbd{margin-left:0;margin-right:8px;}
[dir="rtl"] .rh::before{right:auto;left:-24px;}
[dir="rtl"] .calc-nav{padding-right:4px;padding-left:24px;-webkit-mask-image:linear-gradient(to left,#000 85%,transparent 100%);mask-image:linear-gradient(to left,#000 85%,transparent 100%);}
[dir="rtl"] .calc-nav.scrolled-end{-webkit-mask-image:none;mask-image:none;}
[dir="rtl"] .footer-inner{flex-direction:row-reverse;}
[dir="rtl"] .footer-links{flex-direction:row-reverse;}
[dir="rtl"] .ir .k{text-align:right;}
[dir="rtl"] .ir .v{text-align:left;}
[dir="rtl"] .card-hdr{text-align:right;}
[dir="rtl"] .law-group-hdr{flex-direction:row-reverse;}
[dir="rtl"] body.mobile-sidebar-open #calc-basic>div:last-child{right:auto;left:0;animation:slideInLeft .25s ease;}
@keyframes slideInLeft{from{transform:translateX(-100%);}to{transform:translateX(0);}}
[dir="rtl"] [data-theme="disco"] .disco-ball.disco-ball-left{left:auto;right:28px;}
[dir="rtl"] [data-theme="disco"] .disco-ball.disco-ball-right{right:auto;left:28px;}
@media(hover:hover){[dir="rtl"] .back-pill:hover{transform:translateX(3px);}}
@media(max-width:600px){
  [dir="rtl"] .calc-nav{padding-left:24px;padding-right:4px;}
  [dir="rtl"] .footer-inner{flex-direction:column;text-align:center;}
}

/* ═══ SEO STATIC ARTICLE (collapsible, above footer) ═══ */
.seo-details{max-width:900px;margin:0 auto 24px;padding:0 20px;}
.seo-toggle{display:inline-block;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink3,#888);letter-spacing:.5px;text-transform:uppercase;padding:10px 0;list-style:none;}
.seo-toggle::-webkit-details-marker{display:none;}
.seo-toggle::before{content:'▸ ';font-size:11px;}
.seo-details[open] .seo-toggle::before{content:'▾ ';}
.seo-article{padding:16px 0 0;font-size:13.5px;line-height:1.7;color:var(--ink3,#777);}
.seo-article h2{font-size:18px;font-weight:700;color:var(--ink2,#555);margin:0 0 10px;}
.seo-article h3{font-size:14px;font-weight:600;color:var(--ink2,#666);margin:18px 0 6px;}
.seo-article p{margin:0 0 10px;}
.seo-article ul{margin:0 0 10px;padding-left:22px;}
.seo-article li{margin:0 0 4px;}

/* Safari <14.1 flex gap fallback — critical layout elements only */
.calc-nav>.calc-tab{margin-right:4px;}.calc-nav>.calc-tab:last-child{margin-right:0;}
.hdr>*{margin-right:8px;}.hdr>*:last-child{margin-right:0;}
.hdr-right>*{margin-right:6px;}.hdr-right>*:last-child{margin-right:0;}
.card-hdr>*{margin-right:8px;}.card-hdr>*:last-child{margin-right:0;}
.footer-inner>*{margin-bottom:8px;}.footer-inner>*:last-child{margin-bottom:0;}
.footer-links>*{margin-right:10px;}.footer-links>*:last-child{margin-right:0;}
.seo-article a{color:var(--accent);text-decoration:underline;}

/* Page-load visibility — prevents white flash + language flicker */
.hvt-loading{opacity:0}
.hvt-ready{opacity:1;transition:opacity .12s ease-out}

/* /personlig — symmetric 2-column layout with independent per-column sections */
#personlig-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.personlig-col{display:flex;flex-direction:column;gap:4px}
@media(max-width:900px){#personlig-cols{grid-template-columns:1fr}}
/* /personlig premium mobil-polish: pust, rytme, typografi (E4-U4 Fase 2) */
@media(max-width:900px){
  .personlig-col{gap:12px}
  /* La collapsed cards vokse når tittel/desc trenger plass — ikke klem i 76px */
  #personlig-cols .card>.info-card.collapsed>.card-hdr{max-height:none;padding:22px 22px 20px;}
  #personlig-cols .card>.info-card.collapsed>.card-hdr>div{padding-right:80px;}
  #personlig-cols .card>.info-card.collapsed>.card-hdr .card-title{font-size:17px;line-height:1.32;letter-spacing:-.2px;}
  #personlig-cols .card>.info-card.collapsed>.card-hdr .card-desc{margin-top:8px;line-height:1.55;font-size:12.5px;opacity:.72;}
  /* Cat-title premium vertikal rytme + refinert typo */
  #personlig-cols .personlig-col>.cat-title{padding-bottom:9px!important;letter-spacing:1.6px!important;font-size:10.5px!important;margin-bottom:10px!important;}
  #personlig-cols .personlig-col>.cat-title:not(:first-child){margin-top:24px!important;}
}
/* Uniform card header height + ellipsis for symmetry — applies to info-cards inside a section's .card wrapper */
#personlig-cols .card>.info-card{position:relative}
#personlig-cols .card>.info-card.collapsed>.card-hdr{min-height:76px;max-height:76px;align-items:center}
#personlig-cols .card>.info-card.collapsed>.card-hdr>div{min-width:0;width:100%;padding-right:76px}
/* calc-help-btn: sibling of card-hdr. Align top:8 for symmetry when card is open. */
#personlig-cols .card>.info-card>.calc-help-btn{top:8px;transform:none}
/* Sparekalk scenario pills */
.spare-scenarios{display:flex;gap:8px;flex-wrap:wrap;}
.spare-scenarios button{background:var(--surface2);border:1px solid var(--border);color:var(--ink2);border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1.2;text-align:left;}
@media(hover:hover){.spare-scenarios button:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface2));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));}}
@media(max-width:480px){.spare-innskudd-grid{grid-template-columns:1fr!important;}}
.card>.info-card.collapsed>.calc-help-btn{display:none}
#personlig-cols .card>.info-card.collapsed>.card-hdr .card-desc{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.card>.info-card:not(.collapsed)>.card-hdr{border-bottom:none}
.card-title>span{display:none}
.card-title>span.howto-close-label{display:inline-block;margin-left:10px;padding:2px 8px;font-size:11px!important;font-weight:600!important;opacity:1!important;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:6px;letter-spacing:.3px;vertical-align:middle;cursor:pointer}
/* Fix rectangle-behind-expanded-card bug: ensure info-card body doesn't show parent .card background leak */
#personlig-cols .card>.info-card:not(.collapsed){background:var(--surface);position:relative;z-index:1}
/* Last info-card in section has no bottom border (visual cleanliness) */
#personlig-cols .card>.info-card:last-child{border-bottom:none!important}
/* Howto cards: hidden by default, revealed via ? button (openCalcHelp) */
.info-card[id$="-howto-card"]{max-height:2000px;overflow:hidden;transition:max-height .28s ease,opacity .2s ease,margin .28s ease,padding .28s ease,border-width .2s ease;}
.info-card[id$="-howto-card"]:not(.howto-visible){max-height:0!important;min-height:0!important;opacity:0;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important;pointer-events:none;}
/* Tiny extra top-margin on subsequent category titles (not the first in each column) */
#personlig-cols .personlig-col>.cat-title:not(:first-child){margin-top:18px!important;}
/* ? help button */
.calc-help-btn{position:absolute;top:8px;right:44px;width:24px;height:24px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);color:var(--ink2);font-weight:700;font-size:13px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;font-family:inherit;transition:background .15s,color .15s}
@media(hover:hover){.calc-help-btn:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface2));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}}
/* Static pre-render of basic calc keypad — prevents FOUC pa hard refresh for buildCalcKeys kjorer. Matches bcBtnStyle() output i core.js. */
.bc-static-keys{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);gap:8px;flex:1}
.bc-static-keys>button{border:none;border-radius:14px;padding:18px 8px;font-family:'Inter',sans-serif;font-size:17px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}
.bc-static-keys>button.t-num{background:var(--surface);color:var(--ink);border:1px solid var(--border)}
.bc-static-keys>button.t-op{background:var(--surface2);color:var(--ink3);border:1px solid var(--border);font-weight:600}
.bc-static-keys>button.t-fn{background:rgba(100,120,200,.04);color:var(--accent-d,#5b8def);border:1px solid rgba(100,120,200,.06);font-weight:600}
.bc-static-keys>button.t-acc{background:rgba(100,120,200,.06);color:var(--accent-d,#5b8def);border:1px solid rgba(100,120,200,.08);font-weight:600}
.bc-static-keys>button.t-eq{background:linear-gradient(135deg,var(--accent-d,#5b8def),var(--accent));color:#fff;font-size:18px;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.12)}
/* Inline field-label ? help button — for forklaringer på spesifikke input-felter */
.flbl-row{display:flex;align-items:center;gap:4px;margin-bottom:7px}
.flbl-row .flbl{margin-bottom:0}
.flbl-help{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);color:var(--ink3);font-size:9px;font-weight:700;cursor:help;padding:0;line-height:1;font-family:inherit;text-transform:none;letter-spacing:0;transition:background .15s,color .15s,border-color .15s}
@media(hover:hover){.flbl-help:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface2));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}}

/* A11y: skip-to-main link — hidden until focused */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--accent,#4a6fa5);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;text-decoration:none;font-weight:600;font-size:14px}
.skip-link:focus{left:0;outline:2px solid #fff;outline-offset:-4px}
/* A11y: visually-hidden utility (for aria-live regions & sr-only text) */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}