@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&display=swap');

/* Salmantinos Julverkstaden, mockup. Palett från specialsnickerier.nu (sidfärgerna). */

:root{
  --papper:#FBF9F4;
  --blek:#F1EDE3;
  --black:#171410;
  --grafit:#4d463c;
  --falu:#C13327;      /* ljusare julröd (Sebastian 19/8 kväll); förra #A3231B blev hover */
  --falu-mork:#A3231B;
  --gran:#2F5741;
  --gran-ljus:#3E6E52;
  --linje:#d8d2c4;
  --vit:#ffffff;

  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --t-press:140ms;
  --t-menu:200ms;
  --t-modal:320ms;

  --radie:12px;
  --maxw:1200px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

body{
  background:var(--papper);
  color:var(--black);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
  min-height:100vh;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;touch-action:manipulation}
a{color:inherit}

h1,h2,.serif{font-family:"DM Serif Display",Georgia,serif;font-weight:400}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky;top:0;z-index:60;
  background:rgba(251,249,244,.92);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--linje);
}
.topbar-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 20px;
  height:60px;display:flex;align-items:center;gap:16px;
}
.tb-logo{display:flex;flex-direction:column;line-height:1.05;text-decoration:none;flex-shrink:0}
.tb-logo .serif{font-size:20px;letter-spacing:.2px}
.tb-logo small{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:var(--falu)}

.tb-steps{display:flex;gap:4px;margin:0 auto}
.tb-step{
  display:flex;align-items:center;gap:7px;
  padding:6px 12px;border-radius:99px;
  font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--grafit);
  transition:background var(--t-menu) var(--ease-out),color var(--t-menu) var(--ease-out),opacity var(--t-menu) var(--ease-out);
}
.tb-step[disabled]{opacity:.38;cursor:default}
.tb-step .n{
  width:20px;height:20px;border-radius:50%;
  border:1px solid var(--grafit);
  display:grid;place-items:center;font-size:11px;
  transition:background var(--t-menu) var(--ease-out),color var(--t-menu) var(--ease-out),border-color var(--t-menu) var(--ease-out);
}
.tb-step.aktiv{color:var(--black)}
.tb-step.aktiv .n{background:var(--falu);border-color:var(--falu);color:var(--papper)}
.tb-step.klar .n{background:var(--gran);border-color:var(--gran);color:var(--papper)}
@media (hover:hover) and (pointer:fine){
  .tb-step:not([disabled]):hover{background:var(--blek)}
}
@media(max-width:760px){
  .tb-step .txt{display:none}
  .tb-step{padding:6px 8px}
}
@media(max-width:560px){
  .topbar-inner{gap:8px;padding:0 14px}
  .tb-logo .serif{font-size:17px}
  .tb-logo small{display:none}
  .tb-summa .belopp{font-size:15px}
  .tb-summa small{font-size:9px;letter-spacing:1px}
}

.tb-summa{
  margin-left:auto;flex-shrink:0;text-align:right;
  font-variant-numeric:tabular-nums;
}
.tb-summa .belopp{font-size:17px;font-weight:600;display:inline-block;transition:transform var(--t-press) var(--ease-out)}
.tb-summa .belopp.puls{transform:scale(1.12)}
.tb-summa small{display:block;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--grafit)}
.tb-rensa{
  display:block;margin-left:auto;margin-top:1px;
  font-size:10px;letter-spacing:1px;text-transform:uppercase;
  color:var(--falu);text-decoration:underline;text-underline-offset:2px;
  transition:color var(--t-press) var(--ease-out);
}
.tb-rensa[hidden]{display:none}
.tb-rensa.bekrafta{font-weight:700;text-decoration:none}
@media (hover:hover) and (pointer:fine){
  .tb-rensa:hover{color:var(--falu-mork)}
}
@media(max-width:560px){.tb-rensa{display:none}}

/* ---------- Snöfall ---------- */
.sno{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden;transition:opacity 4000ms var(--ease-out)}
.sno--slut{opacity:0!important}
.sno--extra{transition:opacity 5600ms var(--ease-out)}
body[data-vy]:not([data-vy="valj"]) .sno--extra{opacity:0}
.flinga{
  position:absolute;top:-4vh;
  color:var(--linje);
  user-select:none;
  animation:sno-fall linear infinite;
  will-change:transform;
}
.flinga::after{content:"❄"}
.flinga.prick::after{content:"•"}
@keyframes sno-fall{
  from{transform:translate3d(0,-6vh,0) rotate(0deg)}
  to{transform:translate3d(var(--drift,20px),106vh,0) rotate(240deg)}
}
@media (prefers-reduced-motion:reduce){
  .sno{display:none}
}

/* ---------- Hero ---------- */
.hero{position:relative;padding:84px 20px 40px;text-align:center}
.hero-kicker{
  font-size:12px;letter-spacing:3.5px;text-transform:uppercase;color:var(--falu);
  margin-bottom:18px;
}
.hero h1{
  font-size:clamp(42px,7vw,76px);
  line-height:1.04;
  max-width:14em;margin:0 auto;
}
.hero h1 em{font-style:italic;color:var(--falu)}
.hero-under{
  max-width:34em;margin:26px auto 0;
  font-size:17px;color:var(--grafit);
}
.hero-cta{margin-top:34px}

/* entré för herons delar */
.hero-in{opacity:1;transform:none;transition:opacity 2400ms var(--ease-out),transform 2400ms var(--ease-out)}
@starting-style{
  .hero-in{opacity:0;transform:translateY(14px)}
}

/* ---------- Knappstil ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 30px;border-radius:99px;
  font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:600;
  background:var(--falu);color:var(--papper);
  transition:background var(--t-menu) var(--ease-out),transform var(--t-press) var(--ease-out),opacity var(--t-menu) var(--ease-out);
}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.4;cursor:default}
@media (hover:hover) and (pointer:fine){
  .btn:not([disabled]):hover{background:var(--falu-mork)}
}
.btn.gron{background:var(--gran)}
@media (hover:hover) and (pointer:fine){
  .btn.gron:not([disabled]):hover{background:#24452F}
}
.btn.ghost{
  background:transparent;color:var(--black);
  box-shadow:inset 0 0 0 1.5px var(--linje);
}
@media (hover:hover) and (pointer:fine){
  .btn.ghost:not([disabled]):hover{background:var(--blek)}
}

/* ---------- Så funkar det ---------- */
.hur{padding:30px 20px 10px}
.hur-grid{
  max-width:960px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
@media(max-width:760px){.hur-grid{grid-template-columns:1fr;max-width:420px}}
.hur-kort{
  background:var(--blek);border-radius:var(--radie);
  padding:30px 26px 26px;text-align:center;
  opacity:0;transform:translateY(16px);
  transition:opacity 2000ms var(--ease-out),transform 2000ms var(--ease-out);
}
.hur-kort.syns{opacity:1;transform:none}
.hur-kort:nth-child(2){transition-delay:280ms}
.hur-kort:nth-child(3){transition-delay:560ms}
.hur-kort svg{width:84px;height:84px;margin:0 auto 14px;color:var(--falu)}
.hur-kort svg [data-rita]{
  stroke-dasharray:var(--len,200);
  stroke-dashoffset:var(--len,200);
  transition:stroke-dashoffset 4400ms var(--ease-in-out);
}
.hur-kort.syns svg [data-rita]{stroke-dashoffset:0}
.hur-kort.syns svg [data-rita].sen{transition-delay:1800ms}
.hur-nr{
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--falu);
  margin-bottom:6px;
}
.hur-kort h3{font-size:19px;font-family:"DM Serif Display",Georgia,serif;font-weight:400;margin-bottom:8px}
.hur-kort p{font-size:14.5px;color:var(--grafit)}
@media (prefers-reduced-motion:reduce){
  .hur-kort{opacity:1;transform:none;transition:none}
  .hur-kort svg [data-rita]{stroke-dashoffset:0;transition:none}
}

/* ---------- Vyer ---------- */
.vy{display:none;padding:64px 0 90px}
#vy-fyll{padding-top:12px}
.vy.aktiv{display:block}
.vy-rubrik{text-align:center;margin-bottom:40px;padding:0 20px}
.vy-rubrik .kicker{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--falu);margin-bottom:12px}
.vy-rubrik h2{font-size:clamp(30px,4.4vw,44px);line-height:1.1}
.vy-rubrik p{max-width:36em;margin:14px auto 0;color:var(--grafit)}

/* ---------- Steg 1: emballage ---------- */
.emb-grid{
  max-width:1100px;margin:0 auto;padding:0 20px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;
}
@media(max-width:700px){.emb-grid{grid-template-columns:1fr;max-width:440px}}
.emb-kort{
  position:relative;text-align:left;
  background:var(--vit);border-radius:var(--radie);
  border:1.5px solid var(--linje);
  padding:18px 18px 22px;
  transition:border-color var(--t-menu) var(--ease-out),transform var(--t-press) var(--ease-out),box-shadow var(--t-menu) var(--ease-out);
}
.emb-kort:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){
  .emb-kort:hover{border-color:var(--grafit)}
}
.emb-kort.vald{border-color:var(--falu);box-shadow:0 0 0 1.5px var(--falu)}
.emb-kort img{
  width:100%;aspect-ratio:1/1;object-fit:contain;
  border-radius:8px;background:var(--vit);
  margin-bottom:14px;
}
.emb-kort h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:23px;margin-bottom:6px}
.emb-kort p{font-size:14px;color:var(--grafit);min-height:3.2em}
.emb-kort .pris{margin-top:10px;font-weight:600;font-variant-numeric:tabular-nums}
.emb-bock{
  position:absolute;top:14px;right:14px;
  width:28px;height:28px;border-radius:50%;
  border:1.5px solid var(--linje);background:var(--vit);
  display:grid;place-items:center;
  transition:background var(--t-menu) var(--ease-out),border-color var(--t-menu) var(--ease-out);
}
.emb-bock svg{width:14px;height:14px;color:var(--papper);opacity:0;transform:scale(.5);transition:opacity var(--t-press) var(--ease-out),transform var(--t-press) var(--ease-out)}
.emb-kort.vald .emb-bock{background:var(--falu);border-color:var(--falu)}
.emb-kort.vald .emb-bock svg{opacity:1;transform:scale(1)}
.emb-forts{text-align:center;margin-top:36px}

/* ---------- Antal korgar ---------- */
.antal-sektion{max-width:520px;margin:44px auto 0;padding:0 20px;text-align:center}
.antal-fraga{font-family:"DM Serif Display",Georgia,serif;font-size:23px;margin-bottom:16px}
.antal-valj{display:inline-flex;align-items:center;gap:18px;background:var(--blek);border-radius:99px;padding:8px}
.antal-valj button{
  width:52px;height:52px;border-radius:50%;
  background:var(--vit);font-size:26px;line-height:1;
  display:grid;place-items:center;
  transition:background var(--t-press) var(--ease-out),transform var(--t-press) var(--ease-out);
}
.antal-valj button:active{transform:scale(.92)}
@media (hover:hover) and (pointer:fine){
  .antal-valj button:hover{background:var(--linje)}
}
.antal-tal{min-width:70px;text-align:center;font-family:"DM Serif Display",Georgia,serif;font-size:36px;font-variant-numeric:tabular-nums}
.antal-hint{margin-top:14px;font-size:13.5px;color:var(--grafit);max-width:30em;margin-left:auto;margin-right:auto}

/* ---------- Steg 2: kategorier ---------- */
.kat-rad{
  position:sticky;top:60px;z-index:40;
  background:rgba(251,249,244,.94);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--linje);
  margin-bottom:34px;
}
.kat-rad-inner{
  max-width:var(--maxw);margin:0 auto;padding:10px 20px;
  display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
}
@media(min-width:981px){
  .kat-rad-inner{flex-wrap:wrap;overflow-x:visible}
}
.kat-rad-inner::-webkit-scrollbar{display:none}
.kat-chip{
  flex-shrink:0;display:flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:99px;
  font-size:13px;color:var(--grafit);
  background:var(--blek);
  transition:background var(--t-menu) var(--ease-out),color var(--t-menu) var(--ease-out);
  white-space:nowrap;
}
@media (hover:hover) and (pointer:fine){
  .kat-chip:hover{background:var(--linje)}
}
.kat-chip.aktiv{background:var(--gran);color:var(--papper)}
.kat-chip .antal{
  min-width:19px;height:19px;padding:0 5px;border-radius:99px;
  background:var(--falu);color:var(--papper);
  font-size:11px;font-weight:700;
  display:grid;place-items:center;
}

.fyll-layout{
  max-width:var(--maxw);margin:0 auto;padding:0 20px;
  display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start;
}
@media(max-width:980px){.fyll-layout{grid-template-columns:1fr}}

.kat-huvud{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.kat-huvud h2{font-size:clamp(26px,3.6vw,36px)}
.kat-huvud .st{color:var(--grafit);font-size:14px}

.prod-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;
}
.prod-kort{
  position:relative;text-align:left;
  background:var(--vit);border-radius:var(--radie);
  border:1.5px solid var(--linje);
  padding:12px;
  display:flex;flex-direction:column;
  transition:border-color var(--t-menu) var(--ease-out),transform var(--t-press) var(--ease-out),box-shadow var(--t-menu) var(--ease-out);
}
.prod-kort:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){
  .prod-kort:hover{border-color:var(--grafit)}
}
.prod-kort.vald{border-color:var(--falu);box-shadow:0 0 0 1px var(--falu)}
.prod-kort img{
  width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:8px;
  margin-bottom:10px;background:var(--vit);
}
.prod-kort .namn{font-size:13.5px;line-height:1.35;flex:1}
.prod-kort .pris{margin-top:8px;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}
.prod-bock{
  position:absolute;top:9px;right:9px;
  width:26px;height:26px;border-radius:50%;
  border:1.5px solid var(--linje);background:var(--vit);
  display:grid;place-items:center;
  transition:background var(--t-press) var(--ease-out),border-color var(--t-press) var(--ease-out),transform var(--t-press) var(--ease-out);
}
.prod-bock svg{width:12px;height:12px;color:var(--papper);opacity:0;transform:scale(.5);transition:opacity var(--t-press) var(--ease-out),transform var(--t-press) var(--ease-out)}
.prod-kort.vald .prod-bock{background:var(--gran);border-color:var(--gran)}
.prod-kort.vald .prod-bock svg{opacity:1;transform:scale(1)}

.prod-stepper{
  margin-top:9px;display:none;align-items:center;gap:4px;
  background:var(--blek);border-radius:99px;padding:3px;
}
.prod-kort.vald .prod-stepper{display:flex}
.prod-stepper button{
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;font-size:17px;line-height:1;
  background:var(--vit);color:var(--black);
  transition:background var(--t-press) var(--ease-out),transform var(--t-press) var(--ease-out);
}
.prod-stepper button:active{transform:scale(.9)}
@media (hover:hover) and (pointer:fine){
  .prod-stepper button:hover{background:var(--linje)}
}
.prod-stepper .qty{flex:1;text-align:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}

.kat-nav{
  display:flex;justify-content:space-between;gap:12px;
  margin-top:34px;flex-wrap:wrap;
}

/* ---------- Korgpanel (desktop) ---------- */
.panel{
  position:sticky;top:126px;
  background:var(--blek);border-radius:var(--radie);
  padding:22px;
}
.panel h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:21px;margin-bottom:4px}
.panel .emb-rad{font-size:13px;color:var(--grafit);padding-bottom:12px;border-bottom:1px solid var(--linje);margin-bottom:10px}
.panel .emb-rad b{color:var(--black);font-weight:600}
.panel-lista{list-style:none;max-height:320px;overflow-y:auto;margin:0 -6px;padding:0 6px}
.panel-lista li{
  display:flex;align-items:center;gap:8px;
  padding:7px 0;font-size:13.5px;
  border-bottom:1px solid rgba(216,210,196,.5);
}
.panel-lista .pn{flex:1;line-height:1.3}
.panel-lista .pq{color:var(--grafit);font-variant-numeric:tabular-nums;white-space:nowrap}
.panel-lista .px{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  display:grid;place-items:center;color:var(--grafit);font-size:15px;line-height:1;
  transition:background var(--t-press) var(--ease-out),color var(--t-press) var(--ease-out);
}
@media (hover:hover) and (pointer:fine){
  .panel-lista .px:hover{background:var(--falu);color:var(--papper)}
}
.panel-tom{font-size:13.5px;color:var(--grafit);padding:14px 0}
.panel-summa{
  display:flex;justify-content:space-between;align-items:baseline;
  padding-top:14px;font-weight:600;font-size:17px;font-variant-numeric:tabular-nums;
}
.panel-vikt{font-size:12px;color:var(--grafit);margin-top:2px}
.panel .btn{width:100%;margin-top:16px}
@media(max-width:980px){.panel{display:none}}

/* ---------- Töm korgen ---------- */
.rensa-knapp{
  display:block;width:100%;margin-top:12px;
  font-size:13px;color:var(--grafit);text-decoration:underline;text-underline-offset:3px;
  transition:color var(--t-press) var(--ease-out),opacity var(--t-press) var(--ease-out);
}
@media (hover:hover) and (pointer:fine){
  .rensa-knapp:not([disabled]):hover{color:var(--black)}
}
.rensa-knapp[disabled]{opacity:.35;cursor:default;text-decoration:none}
.rensa-knapp.bekrafta{color:var(--falu);font-weight:700;text-decoration:none}

/* ---------- Mobil bottenrad ---------- */
.mobilrad{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  background:var(--black);color:var(--papper);
  padding:14px 20px calc(14px + env(safe-area-inset-bottom));
  align-items:center;gap:14px;
}
@media(max-width:980px){
  .mobilrad.visa{display:flex}
  body.har-mobilrad #vy-fyll{padding-bottom:150px}
}
.mobilrad .info{flex:1;line-height:1.25}
.mobilrad .info b{font-size:17px;font-variant-numeric:tabular-nums}
.mobilrad .info small{display:block;font-size:11.5px;opacity:.75}
.mobilrad .btn{background:var(--falu);padding:12px 20px}

/* ---------- Steg 3: sammanfattning ---------- */
.sum-wrap{max-width:720px;margin:0 auto;padding:0 20px}
.sum-kort{
  background:var(--vit);border:1.5px solid var(--linje);
  border-radius:var(--radie);padding:30px;
}
@media(max-width:600px){.sum-kort{padding:20px 16px}}
.sum-lista{list-style:none}
.sum-lista li{
  display:flex;align-items:center;gap:12px;
  padding:11px 0;border-bottom:1px solid var(--blek);
  font-size:14.5px;
}
.sum-lista img{width:46px;height:46px;object-fit:contain;border-radius:6px;flex-shrink:0}
.sum-lista .pn{flex:1;line-height:1.3}
.sum-lista .stepper{
  display:flex;align-items:center;gap:2px;
  background:var(--blek);border-radius:99px;padding:2px;flex-shrink:0;
}
.sum-lista .stepper button{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-size:15px;background:var(--vit);
  transition:background var(--t-press) var(--ease-out),transform var(--t-press) var(--ease-out);
}
.sum-lista .stepper button:active{transform:scale(.9)}
.sum-lista .stepper .qty{min-width:26px;text-align:center;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}
.sum-lista .rp{width:74px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}
@media(max-width:600px){.sum-lista .rp{width:auto}}
.sum-emb{color:var(--grafit)}
.sum-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding-top:18px;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;
}
.sum-total small{font-size:12.5px;color:var(--grafit);font-weight:400}
.sum-vikt{text-align:right;font-size:12.5px;color:var(--grafit);margin-top:4px}
.sum-cta{margin-top:26px;display:flex;flex-direction:column;gap:12px;align-items:center}
.sum-cta .btn{width:100%;max-width:420px;padding:17px 30px}
.sum-fel{margin-top:14px;text-align:center;font-size:14px;color:var(--falu);font-weight:600;min-height:1.4em}
.sum-tips{
  margin-top:22px;text-align:center;font-size:13px;color:var(--grafit);
  max-width:34em;margin-left:auto;margin-right:auto;
}

/* ---------- Antal-rad + kassa i sammanfattningen ---------- */
.sum-antal{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--blek);margin-bottom:6px;
}
.sum-antal .rubrik{font-weight:600}
.sum-antal .stepper{display:flex;align-items:center;gap:4px;background:var(--blek);border-radius:99px;padding:3px}
.sum-antal .stepper button{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  font-size:19px;background:var(--vit);
  transition:background var(--t-press) var(--ease-out),transform var(--t-press) var(--ease-out);
}
.sum-antal .stepper button:active{transform:scale(.9)}
.sum-antal .stepper .qty{min-width:40px;text-align:center;font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}
.sum-perkorg{
  display:flex;justify-content:space-between;align-items:baseline;
  padding-top:14px;font-size:14.5px;color:var(--grafit);font-variant-numeric:tabular-nums;
}
/* ---------- Bekräftelse + släde ---------- */
.bekraftelse{
  max-width:560px;margin:0 auto;padding:0 20px;text-align:center;
}
.bekraftelse .sigill{
  width:74px;height:74px;margin:0 auto 22px;border-radius:50%;
  background:var(--gran);display:grid;place-items:center;
  opacity:1;transform:scale(1);
  transition:opacity var(--t-modal) var(--ease-out),transform var(--t-modal) var(--ease-out);
}
@starting-style{.bekraftelse .sigill{opacity:0;transform:scale(.6)}}
.bekraftelse .sigill svg{width:34px;height:34px;color:var(--papper)}
.bekraftelse h2{font-size:clamp(30px,4.4vw,42px);margin-bottom:14px}
.bekraftelse p{color:var(--grafit);margin-bottom:10px}
.mock-not{
  margin-top:26px;padding:14px 18px;border-radius:var(--radie);
  background:var(--blek);font-size:13px;color:var(--grafit);text-align:left;
}


/* ---------- Footer ---------- */
.fot{
  border-top:1px solid var(--linje);
  margin-top:40px;
  padding:56px 20px calc(52px + env(safe-area-inset-bottom));
  text-align:center;font-size:14px;color:var(--grafit);
}
.fot-namn{font-size:25px;color:var(--black);margin-bottom:4px}
.fot-tagline{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--falu);margin-bottom:20px}
.fot address{font-style:normal;line-height:1.85;margin-bottom:22px}
.fot address a{color:var(--black);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--linje);transition:text-decoration-color var(--t-press) var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .fot address a:hover{text-decoration-color:var(--falu)}
}
.fot-liten{margin-top:28px;font-size:12.5px;color:var(--grafit)}
