/* pages-r3.css - the round-3 secondary pages (hub, utstyr, bedriftskurs, kontakt, om-oss, bestattgaranti, nettkurs, jobb, personvern,
   salgsvilkar, sjomynt, takk, 404) on top of /glass/system.css + /glass/r3.css. Nothing in those two files is redefined here; this file
   adds the parts the hub/product/city templates do not have: the type hero (no photo), the legacy form classes the live handlers need,
   price rows, cover lists, press rows, the legal reading column, the member card (sjomynt) and the confirmation (takk).
   Type: Oswald for titles and numbers, Outfit for the rest; no serif, no italic. Motion: none of its own (the title rise is r3.css). */

body.r3p{background:var(--paper)}
.r3main{display:block;min-width:0}
.r3p [hidden]{display:none!important}
.r3p .accent{color:var(--red)}
.r3p :where(h1,h2,h3){text-wrap:balance}
/* the title's .86 leading lets a ring (Å) touch the line above (FLEST / UT PÅ): a little air between big lines on these pages */
.r3p .hh :is(.l,em)+:is(.l,em):not(.l-mid){margin-top:.2em}
.r3p .display{line-height:1.02}   /* wrapped section titles: room for Å above the next line */

/* ================================================================ 1 · type hero: no photo, the haze is the surface */
.th{position:relative;isolation:isolate;background:linear-gradient(180deg,var(--sky) 0,#e6e4dd 62%,#e2e5e3 100%);overflow:hidden}
.th__in{padding-top:calc(var(--head) + 10px);padding-bottom:clamp(34px,6vw,72px)}
.th .hh{--cw:calc(100vw - 2 * var(--gut));--cap:17vw}
.th .eyebrow{margin:0 0 26px}
.th__lede{margin-top:18px;max-width:40ch;font-size:var(--t-lede);line-height:1.42;color:var(--ink)}
.th__lede a{font-weight:600}
.th__act{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.th__act .btn{min-height:52px;white-space:normal;text-align:center}
@media(max-width:559px){.th__act .btn{flex:1 1 100%}}
@media(min-width:900px){
  .th__in{padding-top:calc(var(--head) + clamp(28px,5vh,72px));padding-bottom:clamp(40px,6vh,80px)}
  .th .hh{--cw:calc(min(100vw - 2 * var(--gut),var(--max)) * .6);--cap:min(13svh,150px)}
  .th__lede{max-width:44ch}
  .th__act{margin-top:clamp(26px,3.6vh,40px)}
}
@media(min-width:2000px){.th .hh{--cap:min(13svh,190px)}}

/* documents (personvern, salgsvilkar): sender line, title, date, the club pennant on the right */
.th--doc{--color-surface-felt:#18272d;--color-surface-read-warm:#8b999f;--color-surface-card:#f5f8fa;--color-action:#bc1c2b}
.th--doc .th__in{display:grid;justify-items:start}
.th--doc .doc-sender{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.th__meta{margin-top:18px;padding:7px 14px;border-radius:var(--pill);background:#ffffffb8;box-shadow:inset 0 0 0 1px var(--line);font-size:.9em;font-weight:600}
.th__emblem{display:none}
.th__emblem svg{display:block;width:100%;height:auto}
@media(min-width:900px){
  .th--doc .th__in{grid-template-columns:minmax(0,1fr) auto;column-gap:40px}
  .th--doc .th__in>*{grid-column:1}
  .th__emblem{display:block;grid-column:2!important;grid-row:1/span 4;align-self:center;width:clamp(110px,9vw,170px)}
}

/* ================================================================ 2 · photo hero variants */
.ch--biz .ch__media img{object-position:50% 60%}
@media(min-width:900px){.ch--biz .hh{--cw:calc(min(100vw - 2 * var(--gut),var(--max)) * .42)}}
/* om oss: the portrait beside the copy (product-hero grid), never under the title */
.pp{background:var(--sky)}
.pp .ph__copy .th__act{margin-top:22px}
.pp__fig img{width:100%;max-height:none;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh-2)}
@media(max-width:899px){.pp__fig{margin-top:24px}}
@media(min-width:900px){.pp .ph__grid{grid-template-rows:1fr}.pp__fig img{max-height:calc(100svh - var(--head) - 120px)}}

/* ================================================================ 3 · bands */
.prose>p+p{margin-top:1em}
.prose>p{max-width:60ch}
.prose a{font-weight:600}
.prose .facts{margin-top:32px}
.facts .plain{display:grid;gap:4px}
.split>div>.items:first-child{margin-top:0}

/* bedriftskurs: three formats, the price on the right */
.fmt{border-top:1px solid var(--line)}
.fmt li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.fmt h3{font:500 clamp(24px,2.2vw,36px)/1.02 var(--f-dis);text-transform:uppercase}
.fmt li p{margin-top:8px;color:var(--ink-2);max-width:44ch}
.fmt__p{text-align:right}
.fmt__p b{display:block;font:500 clamp(28px,2.6vw,44px)/1 var(--f-dis);white-space:nowrap}
.fmt__p small{display:block;margin-top:6px;font-size:.84em;color:var(--ink-2)}
.fmt__foot{margin-top:18px;font-size:.92em;color:var(--ink-2);max-width:62ch}
.fmt__foot strong{color:var(--ink)}
.fmt__go{margin-top:22px}
@media(max-width:479px){.fmt li{grid-template-columns:1fr}.fmt__p{text-align:left}}

/* bestattgaranti: what is covered / what is not */
.cover{display:grid;gap:14px}
.cover>div{padding:24px;border-radius:var(--r)}
.cover h3{font:500 clamp(24px,2vw,32px)/1 var(--f-dis);text-transform:uppercase;margin-bottom:12px}
.cover ul{display:grid;gap:0}
.cover li{position:relative;padding:12px 0 12px 30px;border-top:1px solid var(--line);line-height:1.45}
.cover li::before{position:absolute;left:0;top:12px;font-weight:700}
.cover__in{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}
.cover__in li::before{content:'✓';color:#1d5b3a}
.cover__out{background:var(--ink);color:#fff}
.cover__out li{border-color:#ffffff26;color:#ffffffd9}
.cover__out li::before{content:'×';color:#ee4b58;font-size:1.2em;top:9px}
@media(min-width:1100px){.cover{grid-template-columns:1fr 1fr}}

/* om oss: the press, outlet + headline + date, each a link */
.press{border-top:1px solid var(--line)}
.press a{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.press__o{font-size:.82em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.press h3{font:600 clamp(19px,1.5vw,24px)/1.3 var(--f-ui)}
.press__d{font-size:.86em;color:var(--ink-2)}
@media(hover:hover) and (pointer:fine){.press a:hover h3{text-decoration:underline;text-underline-offset:4px}}

/* kontakt: the form card and the five facts side by side */
.k2{display:grid;gap:32px}
.kfacts dd p+p{margin-top:6px}
.kfacts dd a{position:relative;font-weight:600}
.kfacts dd a::after{content:"";position:absolute;inset:-11px -4px}  /* F47: a 44 px target without a taller line */
@media(min-width:900px){.k2{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,5vw,96px);align-items:start}
  .kfacts>div{grid-template-columns:1fr;gap:4px}}

/* jobb: four rows, title left */
.jobb{display:grid}
.jrow{display:grid;gap:10px;padding:26px 0;border-top:1px solid var(--line)}
.jrow:last-child{border-bottom:1px solid var(--line)}
.jrow h2{font:500 clamp(28px,2.6vw,44px)/1 var(--f-dis);text-transform:uppercase}
.jrow .dash{display:grid;gap:8px}
.jrow .dash li{position:relative;padding-left:22px;max-width:60ch}
.jrow .dash li::before{content:'';position:absolute;left:0;top:.72em;width:10px;height:2px;background:var(--red)}
@media(min-width:900px){.jrow{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px}}

/* 404: every city and the guides, crawlable */
.nf-byer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.nf-byer a,.nf-guider a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-weight:500;text-decoration:none}
.nf-guider a{font-weight:600}
@media(min-width:700px){.nf-byer{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.nf-byer{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(hover:hover) and (pointer:fine){.nf-byer a:hover,.nf-guider a:hover{text-decoration:underline;text-underline-offset:4px}}

/* ================================================================ 4 · forms: the live markup with the r3 look */
.order__h{font:500 clamp(26px,2.2vw,36px)/1 var(--f-dis);text-transform:uppercase}
.order .form-intro{margin:8px 0 18px;color:var(--ink-2)}
.f select,.f textarea{width:100%;min-height:50px;padding:12px 14px;border:0;border-radius:var(--r-ctl);background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);font:500 17px var(--f-ui);color:var(--ink)}
.f select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2318272d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 18px center}
.f textarea{min-height:132px;resize:vertical;line-height:1.45}
.f select:focus-visible,.f textarea:focus-visible{outline:0;box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px #18272d14}
.f label span{font-weight:400;color:var(--ink-2)}
.form .btn--block{justify-self:stretch}
.sj-status.ok{color:#1d5b3a}
.sj-status.err{color:var(--red-p)}
.sj-status:not(:empty){padding:10px 12px;border-radius:var(--r-ctl);background:#18272d0a}
.ok.form-consent label{font-size:1em;font-weight:400;color:var(--ink-2)}
.bform .req{font-weight:600}
.form-msg{padding:12px 14px;border-radius:var(--r-ctl);line-height:1.5}
.form-msg.success{background:#1d5b3a14;color:#1d5b3a}
.form-msg.error{background:#bc1c2b12}
#utstyr-stripe:not(:empty){margin-top:4px}

/* the live forms' consent row is <label class="consent">: system.css's .consent is the fixed banner, so the label is put back in the flow */
label.ok.consent{position:static;z-index:auto;left:auto;right:auto;bottom:auto;display:flex;justify-content:flex-start;padding:0;pointer-events:auto}

/* ================================================================ 5 · consent: the page's own banner in the system's card */
.consent--page .consent__btns{grid-template-columns:1fr 1fr}
@media(min-width:701px){.consent--page .consent__btns{grid-template-columns:repeat(2,minmax(120px,1fr))}}

/* ================================================================ 6 · legal reading column */
.legalband{padding-top:clamp(36px,5vw,72px)}
.legal{max-width:720px;font-size:17px;line-height:1.72;color:var(--ink)}
.legal h2{margin:2.1em 0 .55em;font:600 clamp(21px,2.4vw,26px)/1.3 var(--f-ui);letter-spacing:-.01em;scroll-margin-top:calc(var(--head) + 14px)}
.legal h2:first-child{margin-top:0}
.legal h2:has(+ .toc){margin:30px 0 10px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.legal h3{margin:1.5em 0 .4em;font-size:1.05em;font-weight:600}
.legal p{margin:0 0 1em}
.legal ul{margin:0 0 1em;padding-left:1.2em;list-style:disc}
.legal ol{margin:0 0 1em;padding-left:1.4em;list-style:decimal}
.legal li{margin:.4em 0}
.legal a:not(.back){font-weight:600;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.legal .lead{margin:0 0 6px;padding:18px 20px;border-radius:var(--r-ctl);background:var(--paper);box-shadow:inset 4px 0 0 var(--red)}
.legal .toc{display:grid;gap:0 28px;margin:0 0 8px;padding:6px 18px;list-style:none;background:var(--paper);border-radius:var(--r-ctl)}
.legal .toc li{margin:0;border-top:1px solid var(--line)}
.legal .toc li:first-child{border-top:0}
.legal .toc a{display:flex;align-items:center;min-height:44px;padding:6px 2px;font-weight:500;text-decoration:none;line-height:1.35}
@media(min-width:760px){.legal .toc{grid-template-columns:1fr 1fr}.legal .toc li:nth-child(2){border-top:0}}
.legal .table-wrap{margin:0 0 1.2em;overflow-x:auto;border-radius:var(--r-ctl);box-shadow:inset 0 0 0 1px var(--line);-webkit-overflow-scrolling:touch}
.legal table{width:100%;min-width:620px;border-collapse:collapse;font-size:15px;line-height:1.5}
.legal th{padding:10px 12px;background:var(--paper);text-align:left;font-weight:600}
.legal td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
.legal a.back{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-weight:600;text-decoration:none}
.legal footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.6;color:var(--ink-2)}

/* ================================================================ 7 · sjomynt: the member card (ids, classes and hooks of the live script) */
.sp-page{background:linear-gradient(180deg,var(--sky) 0,#e6e4dd 70%,#e2e5e3 100%);padding:calc(var(--head) + 10px) var(--gut) 56px;min-height:calc(100svh - 80px)}
.sp{max-width:540px;margin:0 auto}
#sp-inn{padding:24px 20px 26px;background:#fff;border-radius:var(--r);box-shadow:var(--sh-2)}
.sp h1{margin:0 0 8px;font:500 clamp(44px,12vw,72px)/.9 var(--f-dis);letter-spacing:-.012em;text-transform:uppercase}
.sp .sp-under{margin:0 0 22px;font-size:17px;line-height:1.5;color:var(--ink-2)}
.sp button{font-family:var(--f-ui);cursor:pointer}
.sp-kort{padding:20px;background:#fff;border-radius:var(--r);box-shadow:var(--sh-1)}
.sp-kort+.sp-kort,.sp-pass+.sp-kort,.sp-rad3+.sp-kort,.sp-kort+.sp-rad3,.sp-venter+.sp-kort{margin-top:14px}
.sp-form{display:grid;gap:14px}
.sp-form label{display:grid;gap:7px;font-weight:600;font-size:.94em}
.sp-form input{width:100%;min-height:52px;padding:12px 14px;border:0;border-radius:var(--r-ctl);background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);font:500 17px var(--f-ui);color:var(--ink)}
.sp-form input:focus-visible{outline:0;box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px #18272d14}
.sp-pille{width:100%;min-height:56px;padding:0 20px;border:0;border-radius:var(--pill);background:var(--red);color:#fff;font:600 17px/1 var(--f-ui);box-shadow:var(--sh-red);transition:background-color var(--d-ui) var(--ease),transform var(--d-press) var(--ease)}
.sp-pille:active{transform:scale(.98);background:var(--red-p)}
.sp-pille[disabled]{opacity:.55}
.sp-feil{min-height:1.4em;margin:0;font-size:15.5px;line-height:1.4;color:var(--red-p)}
.sp-feil:not(:empty){padding:10px 12px;border-radius:var(--r-ctl);background:#bc1c2b12}
.sp-pass{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1.586;min-height:200px;padding:20px 22px;border-radius:22px;color:#fff;
  background:radial-gradient(120% 140% at 0% 0%,#34505c 0%,#18272d 52%,#0f1a1f 100%);box-shadow:var(--sh-3);
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}
.sp-pass:before{content:"";position:absolute;inset:-40%;z-index:-1;pointer-events:none;background:radial-gradient(40% 40% at 50% 50%,#ffffff38,transparent 70%);transform:translate(var(--lx,-60%),var(--ly,-40%))}
.sp-pass-topp{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.sp-pass-saldo{display:flex;align-items:baseline;gap:10px}
.sp-pass-saldo b{font:500 clamp(68px,21vw,96px)/.9 var(--f-dis);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sp-pass-saldo span{font-size:17px;font-weight:600;opacity:.85}
.sp-pass-bunn{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.sp-pass-bunn small{display:block;margin-bottom:3px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.sp-pass-kode{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:19px;letter-spacing:.14em;overflow-wrap:anywhere}
.sp-pass button{min-height:44px;padding:0 18px;border:1px solid #ffffff55;border-radius:var(--pill);background:#ffffff1f;color:#fff;font-size:14.5px;font-weight:600}
.sp-ring{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center}
.sp-ring svg{display:block;width:104px;height:104px;transform:rotate(-90deg)}
.sp-ring circle{fill:none;stroke-width:14;stroke-linecap:round}
.sp-ring .spor{stroke:#18272d1c}
.sp-ring .fyll{stroke:url(#sp-gull);stroke-dasharray:339.3;stroke-dashoffset:339.3;transition:stroke-dashoffset 1200ms var(--ease)}
.sp-ring-midt{position:relative}
.sp-ring-midt p{position:absolute;inset:0;margin:0;display:grid;place-content:center;text-align:center;font-size:13px;font-weight:600;color:var(--ink-2)}
.sp-ring-midt p b{display:block;font:500 32px/1 var(--f-dis);color:var(--ink);font-variant-numeric:tabular-nums}
.sp-ring small{display:block;margin-bottom:4px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.sp-ring strong{display:block;font-size:clamp(19px,5.2vw,24px);font-weight:600;line-height:1.15;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.sp-ring em{display:block;margin-top:6px;font-style:normal;font-size:15.5px;line-height:1.4;color:var(--ink-2)}
.sp-rad3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sp-rad3 div{padding:16px 12px;background:#fff;border-radius:16px;box-shadow:var(--sh-1)}
.sp-rad3 b{display:block;font:500 34px/1 var(--f-dis);font-variant-numeric:tabular-nums}
.sp-rad3 span{display:block;margin-top:6px;font-size:13.5px;line-height:1.25;color:var(--ink-2)}
.sp-venter{margin:10px 4px 0;padding:10px 12px;border-radius:var(--r-ctl);background:#ffffffc2;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.sp-kort h2{margin:0 0 4px;font:500 30px/1.05 var(--f-dis);text-transform:uppercase}
.sp-liste{margin:8px 0 0}
.sp-liste li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center;padding:14px 0;margin:0}
.sp-liste li+li{border-top:1px solid var(--line)}
.sp-liste .navn{font-size:17px;font-weight:600;line-height:1.3}
.sp-liste .pris{grid-column:1;font-size:14px;color:var(--ink-2)}
.sp-liste .strek{grid-column:1;height:5px;margin-top:8px;border-radius:5px;background:#18272d1c;overflow:hidden}
.sp-liste .strek i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d9b873,#b08d4f);transform-origin:left;transform:scaleX(0);transition:transform 900ms var(--ease)}
.sp-liste .hent{grid-column:2;grid-row:1/span 3;min-width:88px;min-height:44px;padding:0 18px;border:0;border-radius:var(--pill);background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink);font-size:15px;font-weight:600}
.sp-liste .hent.klar{background:var(--red);box-shadow:none;color:#fff}
.sp-liste .hent[disabled]{color:var(--ink-2);cursor:default;opacity:.8}
.sp-bekreft{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:10px;font-size:15.5px}
.sp-bekreft span{flex:1 1 100%;color:var(--ink-2)}
.sp-bekreft button{min-height:44px;padding:0 18px;border:0;border-radius:var(--pill);background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink);font-size:15px;font-weight:600}
.sp-bekreft button.ja{background:var(--ink);box-shadow:none;color:#fff}
.sp-kvittering{margin:14px 2px 0;padding:12px 14px;border-radius:var(--r-ctl);background:#1d5b3a14;font-size:15.5px;line-height:1.45}
.sp-bytt{display:block;margin:16px auto 0;min-height:44px;padding:0 20px;background:#fff;border:0;border-radius:var(--pill);box-shadow:var(--sh-1);color:var(--ink);font-size:15.5px;font-weight:600}
.sp-bunn{position:fixed;left:0;right:0;bottom:0;z-index:5;padding:12px max(16px,calc(50vw - 254px)) calc(12px + env(safe-area-inset-bottom))}
.sp-bunn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:1px solid var(--line)}
.sp-tips{width:100%;min-height:52px;border:0;border-radius:var(--pill);background:var(--red);color:#fff;font-size:17px;font-weight:600;box-shadow:var(--sh-red)}
.sp-bunn p{margin:8px 0 0;font-size:12.5px;line-height:1.35;text-align:center;color:var(--ink-2)}
#sp-resultat{padding-bottom:132px}
.sp-inn-anim>*{opacity:0;transform:translateY(14px);transition:opacity 520ms var(--ease),transform 520ms var(--ease)}
.sp-inn-anim>.sp-bunn{transform:translateY(100%)}
.sp-inn-anim.pa>*{opacity:1;transform:none}
.sp-inn-anim.pa>.sp-pass{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
@media(prefers-reduced-motion:reduce){.sp-inn-anim>*,.sp-ring .fyll,.sp-liste .strek i,.sp-pass{transition:none!important}.sp-inn-anim>*{opacity:1;transform:none}.sp-pass{transform:none!important}}

/* ================================================================ 8 · takk: the page script mounts <template>s into #conf-root */
.takk-page{background:linear-gradient(180deg,var(--sky) 0,#e6e4dd 70%,#e2e5e3 100%);padding:calc(var(--head) + 10px) var(--gut) 64px;min-height:calc(100svh - 80px)}
.pg-takkcard{max-width:680px;margin:0 auto;padding:30px 22px 32px;background:#fff;border-radius:var(--r);box-shadow:var(--sh-2)}
/* F20: on the receipt the banner sits under the card, in the page */
.consent.consent--flow{position:static;z-index:auto;left:auto;right:auto;bottom:auto;padding:0;margin:18px auto 0;max-width:680px;pointer-events:auto}
.consent--flow .consent__card{max-width:none;max-height:none;margin:0;animation:none}
@media(min-width:700px){.pg-takkcard{padding:40px 44px 44px}}
.loading-state{padding:56px 16px;text-align:center}
.loading-spinner{width:40px;height:40px;margin:0 auto 22px;border:3px solid #18272d22;border-top-color:var(--red);border-radius:50%}
@media(prefers-reduced-motion:no-preference){.loading-spinner{animation:r3-spin .8s linear infinite}}   /* a wait indicator, removed when the data is there */
@keyframes r3-spin{to{transform:rotate(360deg)}}
.loading-text{margin:0;font-size:17px;color:var(--ink-2)}
.conf-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.conf-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.pg-takkcard h1{margin:0 0 14px;font:500 clamp(40px,10vw,64px)/.94 var(--f-dis);letter-spacing:-.012em;text-transform:uppercase;overflow-wrap:anywhere}
.pg-takkcard h1 em{font-style:normal;color:var(--red)}
.pg-takkcard .lede{margin:0 0 26px;max-width:540px;font-size:17.5px;line-height:1.55;color:var(--ink-2)}
.summary-card{margin-bottom:20px;padding:18px 20px;background:var(--paper);border-radius:var(--r-ctl)}
.summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0}
.summary-row+.summary-row{border-top:1px solid var(--line)}
.summary-row span:first-child{font-weight:500}
.summary-row strong{font:500 24px/1.1 var(--f-dis)}
.summary-discount span:last-child{color:#1d5b3a;font-weight:600}
.summary-meta{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2);white-space:pre-line}
.vervekode-card{margin-bottom:20px;padding:24px 20px;text-align:center;color:#fff;background:radial-gradient(120% 140% at 0% 0%,#34505c,#18272d 55%,#0f1a1f);border-radius:18px;box-shadow:var(--sh-2)}
.vervekode-card .label{margin:0 0 10px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf}
.vervekode-card .code{margin:0 0 10px;font:600 clamp(26px,7vw,34px)/1.15 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.08em;word-break:break-all}
.vervekode-card .hint{margin:0 0 14px;font-size:15px;line-height:1.5;color:#ffffffc7}
.vervekode-card .hint a{color:#fff;font-weight:600;text-underline-offset:3px}
.copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid #ffffff59;border-radius:var(--pill);background:#ffffff1f;color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.copy-btn.tips-btn{border-color:var(--red);background:var(--red)}
.tips-knapper{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:14px}
.copy-btn:focus-visible,.kilde-btn:focus-visible,.kilde-send:focus-visible,.mynt-merke:focus-visible .rund,.pg-takkcard .btn:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--ink)}
.mynt{margin:6px 0 20px}
.mynt-saldo{display:flex;align-items:baseline;justify-content:center;gap:8px;min-height:2.1rem;margin:0 0 12px;font-size:15.5px;color:#ffffffc7}
.mynt-saldo b{font:500 38px/1 var(--f-dis);color:#e9d29c;font-variant-numeric:tabular-nums}
.mynt.laster .mynt-saldo,.mynt.laster .mynt-fyll,.mynt.ukjent .mynt-fyll{visibility:hidden}
.mynt-bar{position:relative;height:56px}
.mynt-spor,.mynt-vei,.mynt-fyll{position:absolute;left:0;top:10px;height:6px;border-radius:6px}
.mynt-spor{background:#ffffff26}
.mynt-vei{width:0;background:#e3c88f59}
.mynt-fyll{width:0;min-width:6px;background:linear-gradient(90deg,#c9a866,#e9d29c);transition:width 900ms var(--ease)}
.mynt-merker{position:absolute;inset:0;display:grid}
.mynt-merke{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:48px;margin:0;padding:0;background:none;border:0;font:inherit;color:#ffffffc7;cursor:pointer}
.mynt-merke:first-child{grid-column-start:2}
.mynt-merke .rund{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#18272d;border:1.5px solid #ffffff66;color:#fff;font:700 12px/1 var(--f-ui);font-variant-numeric:tabular-nums;transition:transform .16s var(--ease),box-shadow .2s}
.mynt-merke .navn{font-size:11.5px;line-height:1.15;white-space:nowrap}
.mynt-merke svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mynt-merke.nadd .rund{background:#e3c88f;border-color:#e3c88f;color:#18272d}
.mynt-merke[aria-pressed="true"]{color:#fff}
.mynt-merke[aria-pressed="true"] .rund{transform:scale(1.12);box-shadow:0 0 0 3px #18272d,0 0 0 5px #e3c88f}
.mynt-merke:focus{outline:none}
.mynt-detalj{min-height:2.8em;margin:8px 0 0;font-size:15px;line-height:1.4;color:#ffffffc7}
.mynt-detalj strong{color:#fff;font-weight:600}
@media(prefers-reduced-motion:reduce){.mynt-fyll,.mynt-merke .rund{transition:none}}
.checklist,.kilde-card,.handbok-card{margin-bottom:20px;padding:20px;background:var(--paper);border-radius:var(--r-ctl)}
.checklist h3,.kilde-card h3,.handbok-card h3{margin:0 0 12px;font-size:19px;font-weight:600;line-height:1.3}
.checklist li{position:relative;margin:0;padding:10px 0 10px 28px;font-size:16px;line-height:1.5;color:var(--ink-2)}
.checklist li+li{border-top:1px solid var(--line)}
.checklist li:before{content:"\2713";position:absolute;left:0;top:10px;font-weight:700;color:#1d5b3a}
.checklist a,.pg-takkcard .support a,.empty-state p a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.kilde-card h3{margin-bottom:4px}
.kilde-hint,.handbok-card-desc{margin:0 0 14px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.kilde-valg{display:flex;flex-wrap:wrap;gap:8px}
.kilde-btn,.kilde-send{min-height:44px;padding:0 16px;border:0;border-radius:var(--pill);background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink);font:500 15px/1.2 var(--f-ui);cursor:pointer}
.kilde-btn[aria-pressed="true"],.kilde-send{background:var(--ink);box-shadow:none;color:#fff}
.kilde-annet{display:flex;gap:8px;margin-top:12px}
.kilde-annet[hidden]{display:none}
.kilde-annet input{flex:1;min-width:0;min-height:44px;padding:0 14px;border:0;border-radius:var(--r-ctl);background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink);font:400 16px/1.3 var(--f-ui)}
.kilde-takk{min-height:1.4em;margin:12px 0 0;font-size:15px;color:var(--ink-2)}
.kilde-takk:empty{margin:0;min-height:0}
.pg-takkcard .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pg-takkcard .actions .btn{flex:1 1 220px;min-height:52px}
.pg-takkcard .btn.btn-primary{background:var(--red);color:#fff;box-shadow:var(--sh-red)}
.pg-takkcard .btn.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.pg-takkcard .support{margin:26px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:15px;text-align:center;color:var(--ink-2)}
.empty-state{padding:34px 4px;text-align:center}
.empty-state h1{margin-bottom:14px}
.empty-state p{max-width:480px;margin:0 auto 26px;color:var(--ink-2)}
.handbok-card{box-shadow:inset 4px 0 0 var(--red)}

/* ================================================================ 9 · selling pages: the buy entry inside the first screen
   (phones, tablets and short screens; the photo gives way, never the price or the button) */
@media(max-width:899px){
  .t-prod .ph__img img{max-height:min(184px,47vw)}
}
@media(min-width:560px) and (max-width:899px){
  .t-hub .hh{--cw:calc((100vw - 2 * var(--gut)) * .7)}
  .t-hub .ch__media--hub{height:240px}
  .t-prod .hh--prod{--cw:calc((100vw - 2 * var(--gut)) * .7)}
}
@media(max-width:899px) and (max-height:700px){
  .t-hub .ch__media--hub{display:none}
  .t-hub .ch--hub .ch__bar{margin-top:18px}
  .t-hub .hh{--cap:9svh}
  .t-hub .ch__bar .gbar__price small{display:none}  /* «Beståttgaranti inkludert» is in the facts right below */
  .t-hub .crumbs{margin-bottom:0}
  .t-hub .gbar,.t-prod .gbar{padding:10px 12px;gap:8px 14px}
  .t-hub .ch__lede,.t-prod .ch__lede{font-size:15.5px;line-height:1.4;margin-top:10px}
  .t-prod .ph__copy{order:1}
  .t-prod .ph__bar{order:2;margin-top:16px}
  .t-prod .ph__img{order:3}
  .t-prod .hh--prod{--cap:8.5svh}
  .t-prod .ph__bar .gbar__fact{display:none}  /* delivery and returns are repeated in the order card */
}
#sp-inn .sp-kort{padding:0;box-shadow:none;background:transparent}   /* no card inside the card */
