/* Frenza, delad stil för de publika kalkylatorsidorna.
   Samma formspråk som frenza.html och lonekollen: Inter, ljus bakgrund, kort som
   läser som papper. En delad fil i stället för inlinad CSS på sju sidor, eftersom
   sidorna länkar till varandra och filen då ligger i cachen från sida två. */

@font-face{
  font-family:'Inter';
  font-weight:400 800;
  font-style:normal;
  font-display:swap;
  src:url(/inter.woff2) format('woff2');
}

:root{
  --bg:#F4F5FB;--card:#FFFFFF;--ink:#161826;--muted:#555A6C;--line:#ECEDF5;
  --inbg:#F7F8FC;--soft:#F0F1F8;--shadow:0 6px 22px rgba(27,30,46,.06);
  --indigo:#6C5CE7;--pink:#FF4D8D;--teal:#12B8A6;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);color:var(--ink);margin:0;min-height:100vh;color-scheme:light;
  line-height:1.55;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:560px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px 56px}

/* Toppen: ordmärket länkar hem, så besökaren alltid hittar tillbaka. */
.brand{display:flex;align-items:center;gap:9px;margin-bottom:22px;text-decoration:none}
.brand svg{width:30px;height:30px;display:block;border-radius:8px;flex:0 0 auto}
.brand span{
  font-size:20px;font-weight:800;letter-spacing:-.4px;
  background:linear-gradient(120deg,var(--indigo),var(--pink));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

h1{font-size:29px;line-height:1.2;font-weight:800;letter-spacing:-.7px;margin:0 0 10px}
.lead{color:var(--muted);font-size:16px;margin:0 0 24px}
h2{font-size:20px;font-weight:800;letter-spacing:-.4px;margin:34px 0 10px}
h3{font-size:16px;font-weight:800;letter-spacing:-.2px;margin:20px 0 6px}
p{margin:0 0 13px}
a{color:var(--indigo)}

/* Formulär. Samma fältmått som lonekollen, 16px i inputs så iOS inte zoomar. */
.card{background:var(--card);border-radius:20px;padding:20px;box-shadow:var(--shadow);border:1px solid var(--line)}
.fld{margin-bottom:18px}
.fld:last-of-type{margin-bottom:22px}
.fld label{display:block;font-size:15px;font-weight:700;margin-bottom:5px}
.fld .hint{display:block;font-size:13.5px;color:var(--muted);margin-bottom:9px;line-height:1.45}
.inputrow{display:flex;align-items:center;gap:10px}
.inputrow input,.inputrow select{
  flex:1;min-width:0;width:100%;
  background:var(--inbg);border:1.5px solid var(--line);color:var(--ink);
  caret-color:var(--indigo);border-radius:12px;padding:13px 14px;
  font-size:16px;font-family:inherit;font-weight:600;
}
.inputrow input:focus,.inputrow select:focus{outline:none;border-color:var(--indigo)}
.inputrow select{
  appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555A6C' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:17px;
}
.unit{font-size:14px;color:var(--muted);font-weight:600;white-space:nowrap;flex-shrink:0}
.chk{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;font-weight:600;cursor:pointer;margin-bottom:18px}
.chk input{width:20px;height:20px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--indigo)}

.btn{
  width:100%;border:0;border-radius:14px;padding:16px;cursor:pointer;
  background:linear-gradient(120deg,var(--indigo),var(--pink));color:#fff;
  font-size:16.5px;font-weight:800;font-family:inherit;letter-spacing:-.2px;
}
.btn:active{transform:translateY(1px)}
.formerr{color:#C8384F;font-size:14px;font-weight:700;margin-top:12px;min-height:1px}

/* Resultatet. Döljs tills något räknats, så sidan inte öppnar med en nolla. */
.res{display:none;margin-top:18px}
.res.on{display:block}
.rescard{background:var(--card);border-radius:20px;padding:24px 20px;box-shadow:var(--shadow);border:1px solid var(--line);text-align:center}
.reskicker{font-size:11.5px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.bignum{font-size:42px;font-weight:800;letter-spacing:-1.6px;line-height:1.05;color:var(--indigo)}
.resunit{font-size:15px;color:var(--muted);margin:6px 0 0}
.resdiv{height:1px;background:var(--line);margin:20px 0}
.rakrubrik{font-size:11.5px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;text-align:left}
.rak{text-align:left}
.rak .rad{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14.5px}
.rak .rad span:first-child{color:var(--muted)}
.rak .rad span:last-child{font-weight:700;white-space:nowrap}
.rak .rad.sum{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-weight:800}
.rak .rad.sum span:first-child{color:var(--ink);font-weight:800}
.disclaimer{font-size:13px;color:var(--muted);margin:14px 0 0;line-height:1.5}

/* Brödtext i förklaringarna. Smalare mätt och luftigare radavstånd än gränssnittet. */
.text{font-size:15.5px;line-height:1.7;color:var(--ink)}
.text p{max-width:62ch}
.text ul{margin:0 0 13px;padding-left:20px;max-width:62ch}
.text li{margin-bottom:7px}

/* Vanliga frågor. details/summary i stället för eget skript: fungerar utan JS,
   och Google läser innehållet även när svaret är hopfällt. */
.faq{background:var(--card);border-radius:16px;border:1px solid var(--line);overflow:hidden}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{
  padding:15px 44px 15px 17px;font-size:15px;font-weight:700;cursor:pointer;
  list-style:none;position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;
  border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);
  transform:translateY(-70%) rotate(45deg);transition:transform .15s;
}
.faq details[open] summary::after{transform:translateY(-25%) rotate(225deg)}
.faq .svar{padding:0 17px 15px;font-size:14.5px;color:var(--muted);line-height:1.6}
.faq .svar p{margin:0 0 10px}
.faq .svar p:last-child{margin:0}

/* Interna länkar. Binder ihop kalkylatorerna så de stärker varandra. */
.relaterat{display:grid;gap:10px;margin-top:6px}
.relaterat a{
  display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:700;font-size:15px;
}
.relaterat a .rd{display:block;font-weight:600;font-size:13.5px;color:var(--muted);margin-top:2px}
.relaterat a:hover{border-color:var(--indigo)}

/* Uppmaningen. Låg och saklig, inget utropstecken. */
.cta{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;margin-top:34px}
.cta h2{margin:0 0 8px;font-size:18px}
.cta p{color:var(--muted);font-size:15px;margin:0 0 14px;max-width:52ch}
.cta a{
  display:inline-block;background:linear-gradient(120deg,var(--indigo),var(--pink));
  color:#fff;text-decoration:none;font-weight:800;font-size:15.5px;
  padding:13px 22px;border-radius:12px;
}

.foot{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.foot a{color:var(--muted)}
/* Sidfotens länkar till Om oss, villkor och integritetspolicy. Riktiga a-taggar,
   så att både besökare och sökmotor når dem utan att logga in. */
.fotlankar{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0}
.fotlankar a{color:var(--indigo);text-decoration:none;font-weight:700}
.fotlankar a:hover{text-decoration:underline}
.uppdat{font-size:12.5px;color:var(--muted);margin-top:10px}

@media (min-width:620px){
  .wrap{max-width:620px}
  h1{font-size:34px}
  .bignum{font-size:48px}
}
