/* Felles uttrykk fra godkjent portal. Bare aktivt når serveren velger portal. */
:root body[data-gratis-design="portal"] { --portal-blue:#e9eff4; --portal-green:#eaf0e7; --portal-apricot:#f6e8dc; }
:root body[data-gratis-design="portal"] > .nav { background:var(--surface); border-bottom:1px solid var(--line); box-shadow:none; }
:root body[data-gratis-design="portal"] .nav :is(button,a) { min-height:44px; }
:root body[data-gratis-design="portal"] .nav .logo { display:inline-flex; align-items:center; }
:root body[data-gratis-design="portal"] .nav :is(.searchbar input,.searchbar button,.nav-toggle) { border-radius:6px; }
:root body[data-gratis-design="portal"] .nav .navlinks a { display:inline-flex; align-items:center; }
:root body[data-gratis-design="portal"] .landing { max-width:1180px; margin:auto; padding:20px 0 40px; }
:root body[data-gratis-design="portal"] .landing-hero { max-width:none; margin:0 0 24px; padding:20px; text-align:left; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
:root body[data-gratis-design="portal"] .landing-hero h1 { font:700 clamp(1.75rem,5vw,2.8rem)/1.13 Inter,"Segoe UI",sans-serif; letter-spacing:-.035em; max-width:650px; margin:10px 0; }
:root body[data-gratis-design="portal"] .landing-hero .dek { margin:0 0 18px; font-size:1rem; }
:root body[data-gratis-design="portal"] .landing-search { margin:0; max-width:650px; gap:6px; }
:root body[data-gratis-design="portal"] .landing-search :is(input,button) { min-height:48px; border-radius:6px; padding:10px 12px; }
:root body[data-gratis-design="portal"] .landing-search input { font-size:16px; background:var(--surface); border-color:var(--accent); }
:root body[data-gratis-design="portal"] .landing-hero__tillit { justify-content:flex-start; }
:root body[data-gratis-design="portal"] .forside-eksempelvalg { justify-content:flex-start; font-size:.8rem; margin:12px 0; }
:root body[data-gratis-design="portal"] .forside-snarveier { justify-content:flex-start; }
:root body[data-gratis-design="portal"] .landing :is(.forside-marked,.forside-stats,.forside-produktbevis) { max-width:none; margin:20px 0; padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
:root body[data-gratis-design="portal"] .landing :is(h2,.page-h2,.landing-card h2) { font-family:Inter,"Segoe UI",sans-serif; font-weight:650; }
:root body[data-gratis-design="portal"] .landing :is(.landing-card,.forside-marked__kort) { border-radius:8px; box-shadow:none; }
:root body[data-gratis-design="portal"] .landing .ikon-brikke { border-radius:8px; background:var(--portal-green); color:#365243; }
:root body[data-gratis-design="portal"] .landing-card:nth-child(3n+2) .landing-icon { background:var(--portal-blue); color:#315677; }
:root body[data-gratis-design="portal"] .landing-card:nth-child(3n+3) .landing-icon { background:var(--portal-apricot); color:#835334; }
:root body[data-gratis-design="portal"] .portal-illustrasjoner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:20px 0; }
:root body[data-gratis-design="portal"] .visual-shortcut { position:relative; display:block; min-width:0; overflow:hidden; text-decoration:none; color:var(--ink); border:1px solid var(--line); border-radius:8px; background:var(--surface); transition:border-color .18s; }
:root body[data-gratis-design="portal"] .visual-shortcut:is(:hover,:focus-visible) { border-color:var(--accent); }
:root body[data-gratis-design="portal"] .feature-art { display:block; height:104px; overflow:hidden; border-bottom:1px solid var(--line); }
:root body[data-gratis-design="portal"] .feature-art svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.3; }
:root body[data-gratis-design="portal"] .map-art { background:#eaf0e7; }
:root body[data-gratis-design="portal"] .rental-art { background:#f6efdd; }
:root body[data-gratis-design="portal"] .feature-copy { display:block; padding:11px 23px 12px 11px; }
:root body[data-gratis-design="portal"] .feature-copy strong { display:block; font-size:.86rem; }
:root body[data-gratis-design="portal"] .feature-copy > span { display:block; margin-top:3px; font-size:.72rem; line-height:1.4; color:var(--muted); }
:root body[data-gratis-design="portal"] .feature-arrow { position:absolute; right:9px; bottom:25px; color:var(--accent); }
:root body[data-gratis-design="portal"] .map-pin { transform-origin:100px 59px; animation:portal-pin 2.8s ease-in-out both; }
:root body[data-gratis-design="portal"] .pin-ring { transform-origin:100px 59px; animation:portal-ring 2.8s ease-out both; }
:root body[data-gratis-design="portal"] .feature-cloud { animation:portal-cloud 4s ease-in-out both; }
:root body[data-gratis-design="portal"] .feature-windows rect { animation:portal-window 2.4s ease-in-out both; }
:root body[data-gratis-design="portal"] .feature-windows rect:nth-child(3n+1) { animation-delay:.35s; }
:root body[data-gratis-design="portal"] .feature-windows rect:nth-child(3n+2) { animation-delay:.65s; }
@keyframes portal-pin { 0%{transform:translateY(-8px)}18%{transform:translateY(0)}30%{transform:translateY(-5px) rotate(-3deg)}44%,76%,100%{transform:translateY(0)}61%{transform:translateY(-2px)} }
@keyframes portal-ring { 0%,12%{transform:scale(.5);opacity:0}24%{opacity:.4}70%,100%{transform:scale(2.2);opacity:0} }
@keyframes portal-cloud { from{transform:translateX(-9px);opacity:.5}60%{transform:translateX(4px);opacity:.85}to{transform:translateX(0);opacity:.85} }
@keyframes portal-window { 0%,100%{fill:#c0ac88}35%,60%{fill:#e1b66c} }
@media(min-width:900px) {
 :root body[data-gratis-design="portal"] .landing-hero { padding:32px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); column-gap:36px; align-items:start; }
 :root body[data-gratis-design="portal"] .landing-hero > * { grid-column:1; }
 :root body[data-gratis-design="portal"] .portal-illustrasjoner { grid-column:2; grid-row:1/5; align-self:center; margin:0; }
 :root body[data-gratis-design="portal"] .feature-art { height:140px; }
 :root body[data-gratis-design="portal"] .forside-snarveier { grid-column:1/-1; }
 :root body[data-gratis-design="portal"] .landing :is(.forside-marked,.forside-stats,.forside-produktbevis) { padding:24px; }
}
@media(max-width:430px) {
 :root body[data-gratis-design="portal"] .landing-hero { padding:16px; }
 :root body[data-gratis-design="portal"] .landing :is(.forside-marked,.forside-stats,.forside-produktbevis) { padding:14px; }
 :root body[data-gratis-design="portal"] .feature-art { height:88px; }
}
@media(prefers-reduced-motion:reduce) {
 :root body[data-gratis-design="portal"] .visual-shortcut * { animation:none!important; transition:none!important; }
}
@media print {
 :root body[data-gratis-design="portal"] .portal-illustrasjoner { display:none; }
}

/* Overstyr den eldre forsidens inverterte dagpalett uten å endre nattmodus. */
:root body[data-gratis-design="portal"] .landing-hero { color:var(--ink); box-shadow:none; }
:root body[data-gratis-design="portal"] .landing-hero :is(.dek,.landing-hero__eyebrow,.forside-eksempelvalg,.landing-hero__tillit li) { color:var(--muted); }
:root body[data-gratis-design="portal"] .landing-hero :is(.forside-eksempelvalg a,.forside-snarveier a) { color:var(--accent); border-color:var(--line); }
:root body[data-gratis-design="portal"] .landing-search { flex-direction:row; }
:root body[data-gratis-design="portal"] .landing-search button { width:auto; }
:root body[data-gratis-design="portal"] .landing-hero .landing-search input { border:1px solid var(--accent); color:var(--ink); }

/* Personlig oversikt hentes etter innlogging, aldri fra den offentlige HTML-en. */
:root body[data-gratis-design="portal"] .portal-konto {display:grid;gap:16px;margin:24px 0;min-width:0}
:root body[data-gratis-design="portal"] .portal-konto-kort {padding:16px;background:#fffdf8;border:1px solid #d6c8ae;border-radius:10px;min-width:0;color:#18314c}
:root body[data-gratis-design="portal"] .portal-konto-kort>header {display:flex;align-items:center;gap:10px;margin-bottom:12px}
:root body[data-gratis-design="portal"] .portal-konto h2 {font:700 19px/1.3 system-ui,sans-serif;margin:0}
:root body[data-gratis-design="portal"] .portal-konto h3 {font:650 15px/1.4 system-ui,sans-serif;margin:16px 0 4px}
:root body[data-gratis-design="portal"] .portal-konto-ikon {display:grid;place-items:center;background:#e6eee3;color:#385d47;border-radius:8px;width:38px;height:38px;flex-shrink:0;font-size:26px}
:root body[data-gratis-design="portal"] .portal-konto-ikon svg {width:21px;height:21px}
:root body[data-gratis-design="portal"] .portal-konto-kort:nth-child(2) .portal-konto-ikon {background:#fcf0cd;color:#775424}
:root body[data-gratis-design="portal"] .portal-konto p {font:14px/1.55 system-ui,sans-serif;margin:6px 0}
:root body[data-gratis-design="portal"] .portal-konto .portal-konto-meta {color:#655b4c;font-size:13px}
:root body[data-gratis-design="portal"] .portal-konto ul {padding:0;margin:0;list-style:none}
:root body[data-gratis-design="portal"] .portal-konto li {display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e6ddcd;padding:6px 0;min-width:0}
:root body[data-gratis-design="portal"] .portal-konto a {color:#18314c;text-underline-offset:3px;overflow-wrap:anywhere}
:root body[data-gratis-design="portal"] .portal-konto li>a {padding:10px 0;font-weight:600}
:root body[data-gratis-design="portal"] .portal-konto-kort>a {display:block;min-height:44px;padding-top:12px;box-sizing:border-box;font-size:14px;color:#775424}
:root body[data-gratis-design="portal"] .portal-konto button,
:root body[data-gratis-design="portal"] .portal-historikk-dialog button {min-width:44px;min-height:44px;border:1px solid #d6c8ae;background:#fffdf8;color:#18314c;border-radius:6px;padding:8px 12px;cursor:pointer;font:600 13px/1.3 system-ui,sans-serif;flex-shrink:0}
:root body[data-gratis-design="portal"] .portal-konto button:hover {background:#f5efdf}
:root body[data-gratis-design="portal"] .portal-konto button:disabled {opacity:.6;cursor:wait}
:root body[data-gratis-design="portal"] .portal-konto :focus-visible,
:root body[data-gratis-design="portal"] .portal-historikk-dialog :focus-visible {outline:3px solid #916733;outline-offset:3px}
:root body[data-gratis-design="portal"] .portal-historikk-valg {background:#f5f2ea;padding:0 12px;border-radius:6px;border:1px solid #e6ddcd}
:root body[data-gratis-design="portal"] .portal-historikk-valg summary {padding:12px 0;min-height:44px;box-sizing:border-box;cursor:pointer;font-size:14px}
:root body[data-gratis-design="portal"] .portal-historikk-valg button {margin:6px 6px 12px 0}
:root body[data-gratis-design="portal"] .portal-konto-nyheter li {padding:12px 0;align-items:flex-start}
:root body[data-gratis-design="portal"] .portal-konto-nyheter li>div {min-width:0}
:root body[data-gratis-design="portal"] .portal-konto-nyheter li.er-ulest {border-left:3px solid #608370;padding-left:10px}
:root body[data-gratis-design="portal"] .portal-konto-hendelse {display:block;color:#4c674f;font-size:12px;font-weight:700;margin-bottom:5px}
:root body[data-gratis-design="portal"] .portal-konto-nyheter a {display:block;font-weight:650;padding:4px 0}
:root body[data-gratis-design="portal"] .portal-konto-pris {font-variant-numeric:tabular-nums}
:root body[data-gratis-design="portal"] .portal-historikk-dialog {max-width:420px;width:calc(100% - 40px);box-sizing:border-box;border:1px solid #d6c8ae;border-radius:10px;padding:20px;background:#fffdf8;color:#18314c}
:root body[data-gratis-design="portal"] .portal-historikk-dialog::backdrop {background:rgb(24 49 76 / 45%)}
:root body[data-gratis-design="portal"] .portal-historikk-dialog button {margin:12px 8px 0 0}
@media(min-width:800px) { :root body[data-gratis-design="portal"] .portal-konto {grid-template-columns:1fr 1fr;align-items:start} }

@media(max-width:440px) {
 :root body[data-gratis-design="portal"] .portal-konto-nyheter li {display:block}
 :root body[data-gratis-design="portal"] .portal-konto-nyheter button {margin-top:6px}
}
