/* ==========================================================================
   susannemurg.digital — style.css
   Ren CSS. Ingen rammeverk, ingen eksterne fonter, ingen eksterne kall.

   Identitet: «blåtimen». Mørk plommeblekk der arbeidsdagen aldri tar slutt,
   lys lilla-grå dagslys der lesingen skjer. Grønn signalfarge = vernet tid.

   Navnerom: .sm-<blokk>__<element>--<variant>
   Layout:   flexbox gjennomgående; ingen grid-baserte spalter.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens
   ----------------------------------------------------------------------- */
:root{
  /* Mørke flater */
  --sm-night:        #1B1622;
  --sm-night-raised: #241E2E;
  --sm-night-sunk:   #150F1C;
  --sm-night-edge:   #3A3144;

  /* Lyse flater */
  --sm-paper:        #EFECF2;
  --sm-paper-raised: #FFFFFF;
  --sm-rule:         #D8D2E0;
  --sm-rule-faint:   #E6E1EC;

  /* Tekst */
  --sm-ink:          #201B27;
  --sm-ink-soft:     #5C5468;
  --sm-chalk:        #EDE9F2;
  --sm-chalk-soft:   #A79FB4;

  /* Tid */
  --sm-claimed:      #7A7089;   /* timer som tilhører andre, lys flate  */
  --sm-claimed-dark: #4B4159;   /* timer som tilhører andre, mørk flate */
  --sm-yours:        #3FA98B;   /* vernet tid                            */
  --sm-yours-deep:   #1D6B57;   /* samme signal, nok kontrast for fyll   */
  --sm-yours-wash:   #DCEFE8;

  --sm-warn:         #9E3535;

  /* Skrift */
  --sm-face: system-ui, -apple-system, "Segoe UI", "Helvetica Neue",
             "Liberation Sans", Arial, sans-serif;
  --sm-face-book: Georgia, "Iowan Old Style", "Times New Roman", serif;

  /* Mål */
  --sm-measure: 42rem;          /* lesebredde brødtekst   */
  --sm-shell:   76rem;          /* ytre maksbredde        */
  --sm-band:    clamp(3.75rem, 7.5vw, 7rem);
  --sm-gap:     clamp(1.5rem, 3.5vw, 3.25rem);
  --sm-r:       10px;
  --sm-r-sm:    6px;
}

/* --------------------------------------------------------------------------
   2. Grunnlag
   ----------------------------------------------------------------------- */
*,
*::before,
*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:5.5rem;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,
  *::before,
  *::after{
    animation-duration:1ms !important;
    animation-iteration-count:1 !important;
    transition-duration:1ms !important;
  }
}

body{
  margin:0;
  background:var(--sm-paper);
  color:var(--sm-ink);
  font-family:var(--sm-face);
  font-size:clamp(1.0625rem, .35vw + 1rem, 1.1875rem);
  line-height:1.65;
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{ max-width:100%; height:auto; display:block; }

.sm-shell{
  width:min(var(--sm-shell), 100% - 2.75rem);
  margin-inline:auto;
}

.sm-skip{
  position:absolute;
  left:1rem;
  top:-5rem;
  z-index:80;
  background:var(--sm-night);
  color:var(--sm-chalk);
  padding:.8rem 1.25rem;
  border-radius:var(--sm-r-sm);
  font-size:.95rem;
  font-weight:600;
  text-decoration:none;
  transition:top .16s ease;
}
.sm-skip:focus{ top:1rem; }

:focus-visible{
  outline:3px solid var(--sm-yours);
  outline-offset:3px;
  border-radius:3px;
}

/* --------------------------------------------------------------------------
   3. Typografi
   ----------------------------------------------------------------------- */
h1, h2, h3, h4{
  margin:0;
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.08;
  text-wrap:balance;
}
h1{ font-size:clamp(2.5rem, 6.2vw, 4.4rem); letter-spacing:-.038em; line-height:1.02; }
h2{ font-size:clamp(1.8rem, 3.2vw, 2.65rem); }
h3{ font-size:1.28rem; letter-spacing:-.018em; }
h4{ font-size:1.05rem; letter-spacing:-.01em; }

p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }

a{
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
  text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);
}
a:hover{
  text-decoration-thickness:2px;
  text-decoration-color:var(--sm-yours-deep);
}

strong{ font-weight:650; }
em{ font-style:italic; }
code{
  font-family:var(--sm-face);
  background:var(--sm-rule-faint);
  padding:.1em .35em;
  border-radius:4px;
  font-size:.92em;
}

.sm-lede{
  font-size:clamp(1.15rem, .5vw + 1.05rem, 1.35rem);
  line-height:1.55;
  color:var(--sm-ink);
  max-width:34rem;
}
.sm-note{
  font-size:.92rem;
  line-height:1.55;
  color:var(--sm-ink-soft);
}
.sm-prose{ max-width:var(--sm-measure); }
.sm-prose--inverse{ color:var(--sm-chalk); }

/* --------------------------------------------------------------------------
   4. Knapper
   ----------------------------------------------------------------------- */
.sm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:.85rem 1.65rem;
  border:1.5px solid transparent;
  border-radius:var(--sm-r);
  font:inherit;
  font-size:1rem;
  font-weight:620;
  letter-spacing:-.01em;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .16s ease, border-color .16s ease,
             color .16s ease, transform .16s ease;
}
.sm-btn:hover{ transform:translateY(-1px); text-decoration:none; }
.sm-btn:active{ transform:translateY(0); }

.sm-btn--solid{
  background:var(--sm-yours-deep);
  border-color:var(--sm-yours-deep);
  color:#FFFFFF;
}
.sm-btn--solid:hover{ background:#175647; border-color:#175647; }

.sm-btn--outline{
  background:transparent;
  border-color:var(--sm-ink);
  color:var(--sm-ink);
}
.sm-btn--outline:hover{
  background:var(--sm-ink);
  color:var(--sm-paper);
}

.sm-btn--onnight{
  background:var(--sm-yours);
  border-color:var(--sm-yours);
  color:var(--sm-night-sunk);
}
.sm-btn--onnight:hover{ background:#57BEA0; border-color:#57BEA0; }

.sm-btn--onnight-outline{
  background:transparent;
  border-color:var(--sm-night-edge);
  color:var(--sm-chalk);
}
.sm-btn--onnight-outline:hover{
  border-color:var(--sm-chalk-soft);
  background:rgba(255,255,255,.05);
}

.sm-btn--plain{
  background:transparent;
  border-color:transparent;
  color:var(--sm-ink-soft);
  padding-inline:.5rem;
  text-decoration:underline;
  text-underline-offset:.25em;
}
.sm-btn--plain:hover{ color:var(--sm-ink); }

.sm-btn-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
}

/* --------------------------------------------------------------------------
   5. Toppstripe
   ----------------------------------------------------------------------- */
.sm-masthead{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--sm-night);
  color:var(--sm-chalk);
}
.sm-masthead__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem 2rem;
  padding-block:.9rem;
}

.sm-logotype{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.15rem .7rem;
  text-decoration:none;
  color:var(--sm-chalk);
}
.sm-logotype:hover{ text-decoration:none; }
.sm-logotype__name{
  font-size:1.1rem;
  font-weight:700;
  letter-spacing:-.02em;
}
.sm-logotype__role{
  font-size:.8rem;
  color:var(--sm-chalk-soft);
  letter-spacing:.005em;
}

.sm-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem 1.35rem;
  margin:0;
  padding:0;
  list-style:none;
}
.sm-nav__link{
  display:inline-block;
  padding-block:.3rem;
  font-size:.95rem;
  color:var(--sm-chalk-soft);
  text-decoration:none;
  border-bottom:2px solid transparent;
}
.sm-nav__link:hover{
  color:var(--sm-chalk);
  border-bottom-color:var(--sm-yours);
  text-decoration:none;
}
.sm-nav__link--action{
  color:var(--sm-night-sunk);
  background:var(--sm-yours);
  border-radius:var(--sm-r-sm);
  padding:.35rem .95rem;
  font-weight:620;
}
.sm-nav__link--action:hover{
  background:#57BEA0;
  color:var(--sm-night-sunk);
  border-bottom-color:transparent;
}

@media (max-width:52rem){
  .sm-masthead{ position:static; }
  .sm-masthead__inner{ justify-content:flex-start; }
  .sm-nav{ width:100%; }
}

/* --------------------------------------------------------------------------
   6. Åpning
   ----------------------------------------------------------------------- */
.sm-opening{
  background:var(--sm-night);
  color:var(--sm-chalk);
  padding-block:clamp(3rem, 6vw, 5.5rem) clamp(3.5rem, 7vw, 6rem);
}
.sm-opening__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:clamp(2.25rem, 5vw, 4.5rem);
}
.sm-opening__copy{
  flex:1 1 26rem;
  min-width:min(100%, 20rem);
}
.sm-opening__figure{
  flex:1 1 21rem;
  min-width:min(100%, 18rem);
  margin:0;
}
@media (min-width:62rem){
  .sm-opening__copy{ flex:1 1 55%; }
  .sm-opening__figure{ flex:1 1 34%; }
}

.sm-opening__meta{
  margin:0 0 1.4rem;
  font-size:.92rem;
  color:var(--sm-chalk-soft);
}
.sm-opening h1{ margin-bottom:1.4rem; }
.sm-opening .sm-lede{
  color:var(--sm-chalk);
  margin-bottom:1.9rem;
}
.sm-opening__terms{
  margin:1.35rem 0 0;
  font-size:.92rem;
  line-height:1.6;
  color:var(--sm-chalk-soft);
  max-width:30rem;
}

/* Dagslinjer: fem dager, hver tegnet som én linje av ujevne bolker.
   Den siste bolken fredag er den eneste som er din.                     */
.sm-daylines{
  background:var(--sm-night-raised);
  border:1px solid var(--sm-night-edge);
  border-radius:var(--sm-r);
  padding:1.5rem 1.4rem 1.25rem;
}
.sm-daylines__scale{
  display:flex;
  justify-content:space-between;
  margin:0 0 1rem;
  padding-left:2.6rem;
  font-size:.72rem;
  color:var(--sm-chalk-soft);
  letter-spacing:.02em;
}
.sm-daylines__list{
  display:flex;
  flex-direction:column;
  gap:.7rem;
  margin:0;
  padding:0;
  list-style:none;
}
.sm-dayline{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.sm-dayline__label{
  flex:0 0 1.85rem;
  font-size:.78rem;
  color:var(--sm-chalk-soft);
}
.sm-dayline__track{
  display:flex;
  flex:1 1 auto;
  gap:3px;
  height:.85rem;
}
.sm-dayline__slot{
  flex:1 1 0;
  border-radius:3px;
  background:rgba(255,255,255,.055);
  transform:scaleX(0);
  transform-origin:left center;
}
.sm-dayline__slot--claimed{ background:var(--sm-claimed-dark); }
.sm-dayline__slot--yours{
  background:var(--sm-yours);
  box-shadow:0 0 0 1px rgba(63,169,139,.35);
}
.sm-dayline__slot.is-drawn{ transform:scaleX(1); }

@media (prefers-reduced-motion: no-preference){
  .sm-dayline__slot{ transition:transform .34s cubic-bezier(.2,.7,.3,1); }
}
@media (prefers-reduced-motion: reduce){
  .sm-dayline__slot{ transform:scaleX(1); }
}

.sm-daylines__caption{
  margin:1.35rem 0 0;
  font-size:.9rem;
  line-height:1.6;
  color:var(--sm-chalk-soft);
}
.sm-daylines__fallback{
  font-size:.85rem;
  color:var(--sm-chalk-soft);
}

/* --------------------------------------------------------------------------
   7. Bånd — flex-basert spor: klebrig overskriftsspalte + brødtekst
   ----------------------------------------------------------------------- */
.sm-band{
  padding-block:var(--sm-band);
  background:var(--sm-paper);
}
.sm-band--raised{ background:var(--sm-paper-raised); }
.sm-band--night{
  background:var(--sm-night);
  color:var(--sm-chalk);
}
.sm-band--night a{ color:var(--sm-chalk); }
.sm-band--night h2{ color:#FFFFFF; }

.sm-band__inner{
  display:flex;
  flex-direction:column;
  gap:var(--sm-gap);
}
.sm-band__head{
  flex:0 0 auto;
}
.sm-band__body{
  flex:1 1 auto;
  min-width:0;
  max-width:var(--sm-measure);
}
.sm-band__head h2{ margin-bottom:.55rem; }
.sm-band__hint{
  margin:0;
  font-size:.92rem;
  line-height:1.5;
  color:var(--sm-ink-soft);
  max-width:17rem;
}
.sm-band--night .sm-band__hint{ color:var(--sm-chalk-soft); }

@media (min-width:62rem){
  .sm-band__inner{
    flex-direction:row;
    align-items:flex-start;
  }
  .sm-band__head{
    flex:0 0 clamp(13rem, 24%, 19rem);
    position:sticky;
    top:5.5rem;
  }
  .sm-band--night .sm-band__head,
  .sm-band__head--static{ position:static; }
}

/* --------------------------------------------------------------------------
   8. Mønsteret — symptomlisten
   ----------------------------------------------------------------------- */
.sm-symptoms{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:2rem 0;
  padding:0;
  list-style:none;
}
.sm-symptoms li{
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  padding:.85rem 0;
  border-bottom:1px solid var(--sm-rule);
  line-height:1.5;
}
.sm-symptoms li:first-child{ border-top:1px solid var(--sm-rule); }
.sm-symptoms li::before{
  content:"";
  flex:0 0 auto;
  width:.7rem;
  height:.7rem;
  margin-top:.55rem;
  border-radius:2px;
  background:var(--sm-claimed);
}

/* --------------------------------------------------------------------------
   9. Bærebjelkene
   ----------------------------------------------------------------------- */
.sm-pillars{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.sm-pillar{
  border-left:3px solid var(--sm-yours);
  padding:.15rem 0 .15rem 1.35rem;
}
.sm-pillar h3{ margin-bottom:.55rem; }
.sm-pillar p{ margin:0; }

/* --------------------------------------------------------------------------
   10. Omslag + kapitteloversikt
   ----------------------------------------------------------------------- */
.sm-cover{
  margin:1.75rem 0 0;
  max-width:19rem;
}
.sm-cover__image{
  width:100%;
  border-radius:var(--sm-r);
  box-shadow:0 14px 34px rgba(32,27,39,.16);
}

.sm-chapters{
  display:flex;
  flex-direction:column;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:sm-chapter;
  font-family:var(--sm-face-book);
}
.sm-chapters li{
  display:flex;
  align-items:baseline;
  gap:1rem;
  padding:.8rem 0;
  border-bottom:1px solid var(--sm-rule);
  counter-increment:sm-chapter;
}
.sm-chapters li:first-child{ border-top:1px solid var(--sm-rule); }
.sm-chapters li::before{
  content:counter(sm-chapter);
  flex:0 0 1.6rem;
  font-family:var(--sm-face);
  font-size:.85rem;
  font-weight:650;
  color:var(--sm-yours-deep);
}
.sm-chapters__title{ font-size:1.05rem; line-height:1.4; }

.sm-footnote{
  margin-top:1.6rem;
  font-size:.92rem;
  line-height:1.6;
  color:var(--sm-ink-soft);
}

/* --------------------------------------------------------------------------
   11. Egensjekken
   ----------------------------------------------------------------------- */
.sm-gauge{ margin-top:1.9rem; }

.sm-gauge__question{
  margin:0 0 1.5rem;
  padding:0 0 1.4rem;
  border:0;
  border-bottom:1px solid var(--sm-rule);
}
.sm-gauge__question legend{
  padding:0;
  margin-bottom:.85rem;
  font-size:1.05rem;
  font-weight:620;
  letter-spacing:-.012em;
  line-height:1.4;
}
.sm-gauge__options{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.sm-gauge__options label{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.6rem .85rem;
  border:1px solid var(--sm-rule);
  border-radius:var(--sm-r-sm);
  background:var(--sm-paper-raised);
  font-size:1rem;
  line-height:1.4;
  cursor:pointer;
  transition:border-color .14s ease, background-color .14s ease;
}
.sm-gauge__options label:hover{ border-color:var(--sm-claimed); }
.sm-gauge__options input{
  flex:0 0 auto;
  width:1.1rem;
  height:1.1rem;
  accent-color:var(--sm-yours-deep);
  margin:0;
}
.sm-gauge__options label:has(input:checked){
  border-color:var(--sm-yours-deep);
  background:var(--sm-yours-wash);
}

.sm-gauge__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  margin-top:.35rem;
}
.sm-gauge__error{
  margin:1rem 0 0;
  color:var(--sm-warn);
  font-size:.95rem;
  font-weight:600;
}

.sm-verdict{
  margin-top:2rem;
  padding:1.6rem 1.5rem;
  background:var(--sm-paper-raised);
  border:1px solid var(--sm-rule);
  border-radius:var(--sm-r);
}
.sm-verdict__top{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:.4rem 1rem;
  margin-bottom:.9rem;
}
.sm-verdict__level{
  margin:0;
  font-size:1.25rem;
  font-weight:700;
  letter-spacing:-.02em;
}
.sm-verdict__score{
  margin:0;
  font-size:.92rem;
  color:var(--sm-ink-soft);
}
.sm-verdict__meter{
  height:.55rem;
  border-radius:99px;
  background:var(--sm-rule-faint);
  overflow:hidden;
}
.sm-verdict__meter span{
  display:block;
  height:100%;
  width:var(--sm-fill, 0%);
  border-radius:99px;
  background:var(--sm-yours-deep);
  transition:width .4s ease;
}
.sm-verdict__body{ margin:1.1rem 0 0; line-height:1.6; }
.sm-verdict__care{
  margin:1.2rem 0 0;
  padding-top:1.1rem;
  border-top:1px solid var(--sm-rule);
  font-size:.92rem;
  line-height:1.6;
  color:var(--sm-ink-soft);
}

/* --------------------------------------------------------------------------
   12. Forfatteren
   ----------------------------------------------------------------------- */
.sm-author{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:1.75rem;
}
.sm-author__portrait{
  flex:0 0 13rem;
  max-width:13rem;
  border-radius:var(--sm-r);
}
.sm-author__text{
  flex:1 1 20rem;
  min-width:min(100%, 17rem);
}
.sm-author__contact{
  margin-top:1.2rem;
  padding-top:1.1rem;
  border-top:1px solid var(--sm-rule);
  font-size:.95rem;
  color:var(--sm-ink-soft);
}

/* --------------------------------------------------------------------------
   13. Utgaver og pris
   ----------------------------------------------------------------------- */
.sm-editions{
  display:flex;
  flex-wrap:wrap;
  gap:1.25rem;
}
.sm-edition{
  display:flex;
  flex-direction:column;
  flex:1 1 17rem;
  min-width:min(100%, 15rem);
  padding:1.6rem 1.5rem;
  background:var(--sm-paper-raised);
  border:1px solid var(--sm-rule);
  border-radius:var(--sm-r);
}
.sm-edition--print{
  border-color:var(--sm-yours-deep);
  border-width:2px;
}
.sm-edition__name{
  margin-bottom:.35rem;
  font-size:1.15rem;
}
.sm-edition__price{
  margin:0 0 1.1rem;
  font-size:2.35rem;
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1;
}
.sm-edition__price small{
  font-size:1rem;
  font-weight:500;
  letter-spacing:0;
  color:var(--sm-ink-soft);
  margin-left:.3rem;
}
.sm-edition__facts{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  margin:0 0 1.5rem;
  padding:0;
  list-style:none;
  font-size:.98rem;
  line-height:1.5;
}
.sm-edition__facts li{
  padding-left:1.15rem;
  position:relative;
}
.sm-edition__facts li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--sm-yours);
}

/* --------------------------------------------------------------------------
   14. Bestillingsskjema
   ----------------------------------------------------------------------- */
.sm-order{
  display:flex;
  flex-direction:column;
  gap:1.35rem;
  margin-top:2rem;
}
.sm-field{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin:0;
  padding:0;
  border:0;
}
.sm-field > label,
.sm-field > legend{
  padding:0;
  font-size:.98rem;
  font-weight:620;
  letter-spacing:-.005em;
  color:var(--sm-chalk);
}
.sm-field__optional{
  font-weight:400;
  color:var(--sm-chalk-soft);
}
.sm-field input[type="text"],
.sm-field input[type="email"],
.sm-field input[type="number"],
.sm-field textarea{
  width:100%;
  padding:.8rem .95rem;
  background:var(--sm-night-raised);
  border:1.5px solid var(--sm-night-edge);
  border-radius:var(--sm-r-sm);
  color:var(--sm-chalk);
  font:inherit;
  font-size:1rem;
  line-height:1.5;
  transition:border-color .14s ease;
}
.sm-field input:hover,
.sm-field textarea:hover{ border-color:var(--sm-claimed-dark); }
.sm-field input:focus,
.sm-field textarea:focus{ border-color:var(--sm-yours); }
.sm-field textarea{ resize:vertical; min-height:6rem; }
.sm-field__help{
  margin:0;
  font-size:.87rem;
  line-height:1.5;
  color:var(--sm-chalk-soft);
}
.sm-field--narrow input{ max-width:9rem; }

.sm-choice{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin-top:.2rem;
}
.sm-choice label{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.75rem .95rem;
  border:1.5px solid var(--sm-night-edge);
  border-radius:var(--sm-r-sm);
  background:var(--sm-night-raised);
  cursor:pointer;
  font-size:1rem;
  line-height:1.4;
  transition:border-color .14s ease;
}
.sm-choice label:hover{ border-color:var(--sm-claimed-dark); }
.sm-choice label:has(input:checked){ border-color:var(--sm-yours); }
.sm-choice input{
  width:1.1rem;
  height:1.1rem;
  accent-color:var(--sm-yours);
  margin:0;
  flex:0 0 auto;
}

.sm-consent label{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  font-size:.95rem;
  font-weight:400;
  line-height:1.55;
  color:var(--sm-chalk);
  cursor:pointer;
}
.sm-consent input{
  flex:0 0 auto;
  width:1.15rem;
  height:1.15rem;
  margin-top:.18rem;
  accent-color:var(--sm-yours);
}

.sm-order__submit{ align-self:flex-start; }
.sm-order__fineprint{
  margin:0;
  font-size:.9rem;
  line-height:1.6;
  color:var(--sm-chalk-soft);
  max-width:32rem;
}

/* --------------------------------------------------------------------------
   15. Spørsmål og svar
   ----------------------------------------------------------------------- */
.sm-qa{
  display:flex;
  flex-direction:column;
  margin:0;
}
.sm-qa__q{
  padding-top:1.35rem;
  border-top:1px solid var(--sm-rule);
  font-size:1.08rem;
  font-weight:650;
  letter-spacing:-.015em;
  line-height:1.4;
}
.sm-qa__a{
  margin:.5rem 0 1.35rem;
  line-height:1.6;
  color:var(--sm-ink-soft);
}
.sm-qa__a:last-child{ margin-bottom:0; }

/* --------------------------------------------------------------------------
   16. Bunn
   ----------------------------------------------------------------------- */
.sm-colophon{
  background:var(--sm-night-sunk);
  color:var(--sm-chalk-soft);
  padding-block:clamp(2.75rem, 5vw, 4rem);
  font-size:.93rem;
  line-height:1.6;
}
.sm-colophon__top{
  display:flex;
  flex-wrap:wrap;
  gap:2rem clamp(2rem, 6vw, 5rem);
  padding-bottom:1.9rem;
  border-bottom:1px solid var(--sm-night-edge);
}
.sm-colophon__brand{ flex:1 1 15rem; }
.sm-colophon__mark{
  display:block;
  margin-bottom:.4rem;
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--sm-chalk);
  text-decoration:none;
}
.sm-colophon__offices{
  display:flex;
  flex-wrap:wrap;
  flex:2 1 26rem;
  gap:1.5rem 2.5rem;
}
.sm-office{
  flex:1 1 13rem;
  margin:0;
  font-style:normal;
}
.sm-office__label{
  display:block;
  margin-bottom:.3rem;
  font-size:.82rem;
  font-weight:650;
  color:var(--sm-chalk);
}
.sm-colophon__nav{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.6rem;
  margin:1.6rem 0 0;
  padding:0;
  list-style:none;
}
.sm-colophon__nav a{ color:var(--sm-chalk); }
.sm-colophon__legal{
  margin:1.2rem 0 0;
  font-size:.87rem;
  max-width:52rem;
}

/* --------------------------------------------------------------------------
   17. Samtykkebanner
   ----------------------------------------------------------------------- */
.sm-cookie{
  position:fixed;
  inset-inline:0;
  bottom:0;
  z-index:70;
  background:var(--sm-night-raised);
  border-top:1px solid var(--sm-night-edge);
  color:var(--sm-chalk);
  padding:1.15rem 0;
  box-shadow:0 -12px 30px rgba(10,7,15,.3);
}
.sm-cookie__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem 2rem;
}
.sm-cookie__text{ flex:1 1 24rem; min-width:min(100%, 18rem); }
.sm-cookie__title{
  margin:0 0 .3rem;
  font-size:1.05rem;
  font-weight:650;
  letter-spacing:-.015em;
}
.sm-cookie__text p{
  margin:0;
  font-size:.92rem;
  line-height:1.55;
  color:var(--sm-chalk-soft);
}
.sm-cookie__text a{ color:var(--sm-chalk); }
.sm-cookie__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  flex:0 1 auto;
}
.sm-cookie__actions .sm-btn{ min-height:2.75rem; padding-block:.65rem; }

/* --------------------------------------------------------------------------
   18. Dokumentsider (juridisk) og feilside
   ----------------------------------------------------------------------- */
.sm-doc{
  padding-block:clamp(2.5rem, 5vw, 4rem) var(--sm-band);
}
.sm-crumbs{
  margin:0 0 2rem;
  font-size:.9rem;
  color:var(--sm-ink-soft);
}
.sm-doc__title{ margin-bottom:.6rem; font-size:clamp(2.1rem, 4.5vw, 3.1rem); }
.sm-doc__date{
  margin:0 0 2.5rem;
  font-size:.92rem;
  color:var(--sm-ink-soft);
}
.sm-doc__body{ max-width:44rem; }
.sm-doc__body h2{
  margin:2.75rem 0 .9rem;
  font-size:clamp(1.35rem, 2.2vw, 1.7rem);
}
.sm-doc__body h3{ margin:1.9rem 0 .6rem; }
.sm-doc__body ul,
.sm-doc__body ol{
  margin:0 0 1.15em;
  padding-left:1.35rem;
  line-height:1.6;
}
.sm-doc__body li{ margin-bottom:.5rem; }
.sm-doc__body li:last-child{ margin-bottom:0; }

.sm-callout{
  margin:0 0 1.75rem;
  padding:1.35rem 1.4rem;
  background:var(--sm-paper-raised);
  border-left:3px solid var(--sm-yours);
  border-radius:0 var(--sm-r) var(--sm-r) 0;
}
.sm-callout p{ margin-bottom:.75rem; }
.sm-callout p:last-child{ margin-bottom:0; }
.sm-callout__label{
  display:block;
  margin-bottom:.35rem;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:-.005em;
}

.sm-offices-inline{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 2.5rem;
  margin:.9rem 0 0;
}
.sm-offices-inline .sm-office{ flex:1 1 15rem; }
.sm-offices-inline .sm-office__label{ color:var(--sm-ink); }

.sm-notfound{
  padding-block:clamp(3rem, 7vw, 6rem);
  max-width:42rem;
}
.sm-notfound__code{
  margin:0 0 .9rem;
  font-size:.95rem;
  font-weight:650;
  color:var(--sm-yours-deep);
}
.sm-notfound h1{ margin-bottom:1.4rem; }
.sm-notfound ul{
  margin:1.25rem 0;
  padding-left:1.35rem;
  line-height:1.7;
}
.sm-notfound__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:2rem;
}

/* --------------------------------------------------------------------------
   19. Skjermleser-hjelp
   ----------------------------------------------------------------------- */
.sm-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

@media print{
  .sm-masthead,
  .sm-cookie,
  .sm-btn{ display:none !important; }
  body{ background:#fff; color:#000; }
}
