/* RestinCal premium-laskurisivut (testi): laskurihakemisto + yksittäiset laskurit.
   Laskurien pohja käyttää --sc-*-muuttujia, joten ilme vaihdetaan pääosin niiden kautta.
   Aina tumma; teemanvaihdin piilotetaan. */

@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/poppins-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/poppins-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

html:has(body.pm-calc-ui),html:has(body.pm-calc-ui)[data-sc-theme]{
  /* Oletus = tumma premium. premium-theme.js korvaa nämä käyttäjän teeman mukaan (html-elementin style). */
  --pm-bg:var(--pm-bg); --pm-surface:#0f1512; --pm-raised:#141c18; --pm-raised-2:#1a241f;
  --pm-line:rgba(214,240,226,.075); --pm-line-2:rgba(214,240,226,.13);
  --pm-text:#edf3ef; --pm-text-2:#c9d4ce; --pm-muted:#8e9d95; --pm-faint:#5f6d66;
  --pm-accent:#62dc9b; --pm-accent-2:#a6efc6; --pm-accent-deep:#1d5c40; --pm-on-accent:#05110b;
  --pm-warm:#f0c36b; --pm-berry:#f08aa8; --pm-sky:#7cc3f0;
  --pm-ink:#fff; --pm-shadow:#000; --pm-input:rgba(0,0,0,.28); --pm-heading-a:#fff; --pm-heading-b:#b5d9c5;
  --pm-display:'Poppins','Inter',system-ui,sans-serif;
  --pm-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sc-bg:var(--pm-bg); --sc-card:var(--pm-raised); --sc-ink:var(--pm-text); --sc-muted:var(--pm-muted);
  --sc-line:var(--pm-line-2); --sc-mint:var(--pm-raised-2); --sc-green:var(--pm-accent-deep); --sc-green-2:var(--pm-accent); --sc-lime:var(--pm-accent-2);
  --bg:var(--pm-bg); --card:var(--pm-raised); --text:var(--pm-text); --muted:var(--pm-muted); --border:var(--pm-line-2);
}
html:not(.pm-custom-font) body.pm-calc-ui{font-family:var(--pm-body)!important}
body.pm-calc-ui{background:var(--pm-bg)!important;color:var(--pm-text)!important;-webkit-font-smoothing:antialiased}
body.pm-calc-ui::before{content:"";position:fixed;inset:0 0 auto;height:520px;z-index:-1;pointer-events:none;background:radial-gradient(800px 380px at 50% -120px,color-mix(in srgb,var(--pm-accent) 13%,transparent),transparent 70%)}
body.pm-calc-ui :is(button,input,select,textarea){font-family:inherit}
body.pm-calc-ui :is(h1,h2){font-family:var(--pm-display)!important;letter-spacing:-.03em}
body.pm-calc-ui h3{font-family:var(--pm-body)!important}

/* Yläpalkki */
body.pm-calc-ui .sc-topbar{background:color-mix(in srgb,var(--pm-bg) 72%,transparent)!important;-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid var(--pm-line)!important;box-shadow:none!important}
body.pm-calc-ui .sc-topbar::before,body.pm-calc-ui .sc-topbar::after{display:none!important}
body.pm-calc-ui .sc-brand{color:var(--pm-text)!important}
body.pm-calc-ui .sc-brand span{font-style:italic;font-weight:300}
body.pm-calc-ui .sc-desktop-nav a{color:var(--pm-muted)!important;font-weight:500!important;border-radius:8px}
body.pm-calc-ui .sc-desktop-nav a:hover{color:var(--pm-text)!important;background:color-mix(in srgb,var(--pm-ink) 4%,transparent)!important}
body.pm-calc-ui .sc-theme-toggle{background:color-mix(in srgb,var(--pm-ink) 4%,transparent)!important;border:1px solid var(--pm-line-2)!important;color:var(--pm-text)!important;border-radius:999px!important}
body.pm-calc-ui .sc-diary-cta{background:var(--pm-accent)!important;color:var(--pm-on-accent)!important;border:0!important;border-radius:999px!important;font-weight:600!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--pm-accent) 40%,transparent),0 8px 24px -8px color-mix(in srgb,var(--pm-accent) 55%,transparent)!important}
body.pm-calc-ui .sc-menu-button,body.pm-calc-ui .sc-lang-switch{border-color:var(--pm-line-2)!important;background:transparent!important;color:var(--pm-text)!important}
body.pm-calc-ui .sc-lang-switch a{color:var(--pm-faint)!important;background:transparent!important}
body.pm-calc-ui .sc-lang-switch a.active{color:var(--pm-text)!important}
body.pm-calc-ui .sc-mobile-menu{background:var(--pm-surface)!important;border-color:var(--pm-line)!important}

/* Otsikkoalue */
body.pm-calc-ui .sc-breadcrumb,body.pm-calc-ui .sc-breadcrumb a{color:var(--pm-faint)!important}
body.pm-calc-ui .sc-heading h1{font-size:clamp(36px,5.4vw,60px)!important;line-height:1.02!important;letter-spacing:-.045em!important;background:linear-gradient(180deg,var(--pm-heading-a) 30%,var(--pm-heading-b));-webkit-background-clip:text;background-clip:text;color:transparent!important}
body.pm-calc-ui .sc-heading p{color:var(--pm-muted)!important}

/* Kortit: syöte + tulos */
body.pm-calc-ui :is(.sc-layout>*,.sc-explanation,.sc-editorial,.sc-related,.ch-card,.ch-category){border-color:var(--pm-line)!important}
body.pm-calc-ui .sc-layout>*{background:linear-gradient(180deg,var(--pm-raised),var(--pm-surface))!important;border:1px solid var(--pm-line)!important;border-radius:22px!important;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--pm-ink) 4%,transparent)!important}
body.pm-calc-ui .sc-layout>*:last-child{background:radial-gradient(420px 260px at 90% 0%,color-mix(in srgb,var(--pm-accent) 16%,transparent),transparent 70%),linear-gradient(180deg,var(--pm-raised),var(--pm-surface))!important;border-color:color-mix(in srgb,var(--pm-accent) 20%,transparent)!important}
body.pm-calc-ui .sc-layout :is(strong,output,b)[class*="result"],body.pm-calc-ui .sc-layout [class*="result"] strong{font-family:var(--pm-display)!important;letter-spacing:-.04em}
body.pm-calc-ui .sc-layout :is(input,select,textarea){background:var(--pm-input)!important;border:1px solid var(--pm-line-2)!important;border-radius:12px!important;color:var(--pm-text)!important}
body.pm-calc-ui .sc-layout :is(input,select,textarea):focus{border-color:color-mix(in srgb,var(--pm-accent) 55%,transparent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pm-accent) 12%,transparent)!important;outline:none}
body.pm-calc-ui .sc-layout label{color:var(--pm-text)!important}
body.pm-calc-ui .sc-layout button{border-radius:999px!important;font-weight:600!important}

/* Varoitus ja tekstiosiot */
body.pm-calc-ui .sc-legal-note{background:color-mix(in srgb,var(--pm-warm) 5%,transparent)!important;border:1px solid color-mix(in srgb,var(--pm-warm) 20%,transparent)!important;border-radius:18px!important;color:var(--pm-muted)!important}
body.pm-calc-ui .sc-legal-note :is(strong,h2,h3){color:var(--pm-warm)!important}
body.pm-calc-ui :is(.sc-explanation,.sc-editorial,.sc-related){background:transparent!important;border:0!important;border-top:1px solid var(--pm-line)!important;border-radius:0!important;box-shadow:none!important}
body.pm-calc-ui :is(.sc-explanation,.sc-editorial) p{color:var(--pm-muted)!important}
body.pm-calc-ui .sc-related a{background:var(--pm-raised)!important;border:1px solid var(--pm-line)!important;border-radius:16px!important;color:var(--pm-text)!important}
body.pm-calc-ui .sc-related a:hover{border-color:var(--pm-line-2)!important}

/* Laskurihakemisto */
body.pm-calc-ui .ch-card{background:linear-gradient(180deg,var(--pm-raised),var(--pm-surface))!important;border:1px solid var(--pm-line)!important;border-radius:18px!important;box-shadow:none!important;transition:border-color .2s,transform .2s}
body.pm-calc-ui .ch-card:hover{border-color:color-mix(in srgb,var(--pm-accent) 30%,transparent)!important;transform:translateY(-2px)}
body.pm-calc-ui .ch-card h3{color:var(--pm-text)!important;font-weight:600!important}
body.pm-calc-ui .ch-card p{color:var(--pm-muted)!important}
body.pm-calc-ui .ch-card small,body.pm-calc-ui .ch-arrow{color:var(--pm-accent)!important}
body.pm-calc-ui .ch-hero{background:transparent!important;border:0!important}
body.pm-calc-ui .ch-hero h1{font-size:clamp(38px,6vw,68px)!important;line-height:1.02!important;letter-spacing:-.045em!important;background:linear-gradient(180deg,var(--pm-heading-a) 30%,var(--pm-heading-b));-webkit-background-clip:text;background-clip:text;color:transparent!important}
body.pm-calc-ui .ch-hero p{color:var(--pm-muted)!important}
body.pm-calc-ui .ch-search{background:color-mix(in srgb,var(--pm-raised) 85%,transparent)!important;border:1px solid var(--pm-line-2)!important;border-radius:999px!important;box-shadow:0 20px 50px -20px color-mix(in srgb,var(--pm-shadow) 70%,transparent),inset 0 1px 0 color-mix(in srgb,var(--pm-ink) 5%,transparent)!important;transition:border-color .2s,box-shadow .2s}
body.pm-calc-ui .ch-search:focus-within{border-color:color-mix(in srgb,var(--pm-accent) 55%,transparent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--pm-accent) 12%,transparent)!important}
body.pm-calc-ui #calculatorSearch{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--pm-text)!important;outline:none}
body.pm-calc-ui .ch-search kbd{background:transparent!important;border:1px solid var(--pm-line-2)!important;color:var(--pm-faint)!important}

/* Footer */
body.pm-calc-ui .sc-footer{background:transparent!important;border-top:1px solid var(--pm-line)!important;color:var(--pm-faint)!important}
body.pm-calc-ui .sc-footer a{color:var(--pm-muted)!important}

/* Emojit poistettiin kopioista: tyhjät kuvakepaikat pois tai viivakuvakkeeksi */
body.pm-calc-ui span[aria-hidden="true"]:empty:not(.ch-featured-icon){display:none!important}
body.pm-calc-ui .ch-featured-icon{background:color-mix(in srgb,var(--pm-accent) 8%,transparent)!important;border:1px solid color-mix(in srgb,var(--pm-accent) 20%,transparent)!important;display:grid!important;place-items:center}
body.pm-calc-ui .ch-featured-icon::before{content:"";width:22px;height:22px;background:var(--pm-accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c1 3 5 5 5 10a5 5 0 0 1-10 0c0-2 1-3 2-4 0 2 1 3 2 3 0-4 1-6 1-9Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c1 3 5 5 5 10a5 5 0 0 1-10 0c0-2 1-3 2-4 0 2 1 3 2 3 0-4 1-6 1-9Z'/%3E%3C/svg%3E") center/contain no-repeat}
body.pm-calc-ui .ch-featured{background:radial-gradient(420px 220px at 95% 0%,color-mix(in srgb,var(--pm-accent) 12%,transparent),transparent 70%),linear-gradient(180deg,var(--pm-raised),var(--pm-surface))!important;border:1px solid var(--pm-line)!important;border-radius:22px!important}

/* ---------- Animaatiot ---------- */
@media (prefers-reduced-motion:no-preference){
  body.pm-calc-ui .sc-layout>*{animation:pmCardIn .7s cubic-bezier(.16,1,.3,1) both}
  body.pm-calc-ui .sc-layout>*:last-child{animation-delay:.1s}
  body.pm-calc-ui .sc-heading{animation:pmCardIn .7s cubic-bezier(.16,1,.3,1) both}
  body.pm-calc-ui .ch-card{animation:pmCardIn .6s cubic-bezier(.16,1,.3,1) both}
  @keyframes pmCardIn{from{opacity:0;transform:translateY(14px)}}
  body.pm-calc-ui .sc-layout button:active{transform:scale(.97)}
}

/* ---------- Mainospaikat ---------- */
body.pm-calc-ui .rc-ad{position:relative}
body.pm-calc-ui :is(.rc-ad,.rc-rail) ins{border-radius:14px;overflow:hidden}
body.pm-ad-preview :is(.rc-ad,.rc-rail) ins:not([data-ad-status]){display:grid!important;place-items:center;min-height:var(--rc-ad-min,250px);border:1px dashed color-mix(in srgb,var(--pm-ink) 18%,transparent);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--pm-ink) 1.5%,transparent) 0 12px,transparent 12px 24px)}
body.pm-ad-preview :is(.rc-ad,.rc-rail) ins:not([data-ad-status])::after{content:"Mainospaikka · AdSense";font:500 12px var(--pm-body);color:var(--pm-faint)}

/* ---------- Teemavarmat värit ----------
   Laskurien pohjatyyleissä osa väreistä seuraa käyttöjärjestelmän tummaa tilaa
   (@media prefers-color-scheme) eikä sivun omaa valintaa. Sidotaan ne teemamuuttujiin. */
body.pm-calc-ui .sc-brand{color:var(--pm-accent)!important}
body.pm-calc-ui .sc-brand span,body.pm-calc-ui .sc-footer-brand a span{color:var(--pm-text)!important}
body.pm-calc-ui .sc-top-actions a:not(.sc-diary-cta),body.pm-calc-ui .sc-menu-button{color:var(--pm-text)!important}
body.pm-calc-ui :is(.ch-page,.cd-page,.savings-page){background:transparent!important;color:var(--pm-text)!important}
body.pm-calc-ui :is(.cd-input-wrap,.sc-input-wrap){background:var(--pm-input)!important;border-color:var(--pm-line-2)!important}
body.pm-calc-ui :is(.cd-input-wrap,.sc-input-wrap) :is(input,span,small){color:var(--pm-text)!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.pm-calc-ui :is(.cd-formula,.cd-example-result){background:color-mix(in srgb,var(--pm-accent) 7%,transparent)!important;border:1px solid color-mix(in srgb,var(--pm-accent) 18%,transparent)!important;color:var(--pm-text-2)!important;border-radius:12px!important}
body.pm-calc-ui :is(.cd-formula,.cd-example-result) strong{color:var(--pm-text)!important}
body.pm-calc-ui :is(.sc-icon-button,.sc-presets button){color:var(--pm-accent)!important;border-color:var(--pm-line-2)!important;background:transparent!important}
body.pm-calc-ui .sc-icon-button[aria-pressed=true]{background:color-mix(in srgb,var(--pm-accent) 12%,transparent)!important}
body.pm-calc-ui :is(.sc-example-grid strong,.sc-sources a,.sc-author a,.cd-source-list a,.sc-clear-storage:hover){color:var(--pm-accent)!important}
body.pm-calc-ui .sc-faq summary::after{color:var(--pm-accent)!important}
body.pm-calc-ui :is(.sc-faq,.sc-explanation,.sc-editorial) :is(summary,h2,h3,strong){color:var(--pm-text)!important}
body.pm-calc-ui .sc-step-light{background:color-mix(in srgb,var(--pm-ink) 10%,transparent)!important;color:var(--pm-text)!important}
body.pm-calc-ui .sc-share-dialog{background:var(--pm-raised)!important;color:var(--pm-text)!important;border:1px solid var(--pm-line-2)}
body.pm-calc-ui .sc-toast{background:var(--pm-text)!important;color:var(--pm-bg)!important}
/* Tuloskortti on aina tumma premium-kortti (valkoinen teksti), myös vaaleassa tilassa */
body.pm-calc-ui .sc-result-card,body.pm-calc-ui .sc-layout>.sc-result-card:last-child{background:radial-gradient(420px 260px at 90% 0%,color-mix(in srgb,var(--pm-accent) 30%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--pm-accent-deep) 70%,#07100c),#0b1310)!important;color:#fff!important;border-color:color-mix(in srgb,var(--pm-accent) 25%,transparent)!important}
body.pm-calc-ui .sc-result-card :is(p,span,small,strong,b,output,div){color:inherit}
body.pm-calc-ui .sc-result-top,body.pm-calc-ui .sc-result-date{color:rgba(255,255,255,.78)!important}
body.pm-calc-ui .sc-share-button{background:#fff!important;color:#0b1310!important}
body.pm-calc-ui .sc-copy-button{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.25)!important;color:#fff!important}
/* Varoitus */
body.pm-calc-ui .cd-prominent-warning{background:color-mix(in srgb,var(--pm-warm) 7%,var(--pm-surface))!important;border-color:color-mix(in srgb,var(--pm-warm) 30%,transparent)!important;color:var(--pm-text-2)!important}
body.pm-calc-ui .cd-prominent-warning strong{color:var(--pm-warm)!important}
body.pm-calc-ui .cd-prominent-warning::before{background:var(--pm-warm)!important;color:var(--pm-bg)!important}
/* Hakemisto */
body.pm-calc-ui :is(.ch-featured strong,.ch-featured h2,.ch-category-head h2){color:var(--pm-text)!important}
body.pm-calc-ui :is(.ch-featured p,.ch-category-head p,.ch-privacy p){color:var(--pm-muted)!important}
body.pm-calc-ui :is(.ch-category-nav a,.ch-favorite-card,.ch-privacy,.ch-favorites){background:var(--pm-raised)!important;border-color:var(--pm-line)!important;color:var(--pm-text)!important;box-shadow:none!important}
body.pm-calc-ui .ch-category-nav a:hover,body.pm-calc-ui .ch-favorite-card:hover{border-color:color-mix(in srgb,var(--pm-accent) 40%,transparent)!important}
body.pm-calc-ui .ch-category{border-color:var(--pm-line)!important}
body.pm-calc-ui .ch-category-icon{background:color-mix(in srgb,var(--pm-accent) 8%,transparent)!important}
body.pm-calc-ui .ch-arrow{color:var(--pm-accent)!important}
body.pm-calc-ui .ch-search input::placeholder{color:var(--pm-faint)!important}
body.pm-calc-ui .ch-hero-contact{color:var(--pm-accent)!important}
body.pm-calc-ui .sc-related a.cd-related-primary{background:radial-gradient(360px 200px at 90% 0%,color-mix(in srgb,var(--pm-accent) 28%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--pm-accent-deep) 70%,#07100c),#0b1310)!important;color:#fff!important;border-color:color-mix(in srgb,var(--pm-accent) 25%,transparent)!important}
body.pm-calc-ui .sc-footer :is(p,span,strong,small,div){color:var(--pm-muted)!important}
body.pm-calc-ui .sc-footer :is(strong,.sc-advice-warning){color:var(--pm-text)!important}
body.pm-calc-ui .sc-formula{background:color-mix(in srgb,var(--pm-accent) 7%,transparent)!important;color:var(--pm-text-2)!important;border:1px solid color-mix(in srgb,var(--pm-accent) 18%,transparent)!important}
body.pm-calc-ui :is([style*="background:var(--green"],[style*="background: var(--green"]):is([style*="color:white"],[style*="color:#fff"]){color:var(--pm-on-accent)!important}
body.pm-calc-ui .sc-category{color:var(--pm-accent)!important}

/* ═════════ Teematila vain teemapaneelissa + mobiilin yläpalkki ═════════ */
body.pm-calc-ui .sc-theme-toggle{display:none!important}
@media (max-width:640px){
  body.pm-calc-ui .sc-topbar{padding-left:12px!important;padding-right:12px!important;gap:8px}
  body.pm-calc-ui .sc-header-left{gap:8px!important;min-width:0}
  body.pm-calc-ui .sc-brand{font-size:17px!important}
  body.pm-calc-ui .sc-top-actions{gap:6px!important;flex:none}
  body.pm-calc-ui .sc-diary-cta{padding:8px 12px!important;font-size:12.5px!important}
  body.pm-calc-ui .sc-diary-cta .sc-diary-full{display:none!important}
  body.pm-calc-ui .sc-diary-cta .sc-diary-short{display:inline!important}
  body.pm-calc-ui .sc-diary-cta span:empty{display:none}
  body.pm-calc-ui .sc-lang-switch a{padding:4px 6px!important;font-size:12px!important}
  body.pm-calc-ui .sc-heading h1{font-size:34px!important}
}
@media (max-width:400px){
  body.pm-calc-ui .sc-lang-switch{display:none!important}   /* kielivalinta löytyy valikosta */
}

/* Kosketuslaitteet: iOS zoomaa sivun, jos napautetun kentän fontti on alle 16 px */
@media (pointer:coarse){
  :root :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){font-size:16px!important}
}

/* v16: laskurihaun suurennuslasi teeman sävyyn (oli kiinteä #174d36) */
:root body.pm-calc-ui .ch-search{color:var(--pm-accent)!important}
:root body.pm-calc-ui .sc-advice-warning{border-color:color-mix(in srgb,var(--pm-accent) 36%,transparent)!important;background:color-mix(in srgb,var(--pm-accent) 10%,transparent)!important}
