/*
Theme Name: Medianäkymä Rekisteri
Theme URI: https://xn--mediankym-02ad.fi/
Author: Medianäkymä
Description: Oma teema Medianäkymälle. Arkistokorttimainen ilme viranomaisrekisterien tietosivuille. Ei kuvapaikkoja, ei paikkamerkkejä: kortti ilman kuvaa on tekstikortti.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: mnrekisteri
*/

:root{
  --muste:#14161d;          /* bläck */
  --muste-2:#2a2f3d;
  --paperi:#f7f4ed;         /* varmt papper */
  --paperi-2:#efe9dc;
  --viiva:#d9d1c0;
  --merkki:#b4590f;         /* signalbärnsten */
  --merkki-2:#8d4409;
  --vihrea:#2f5d3f;
  --harmaa:#5d6472;
  --leveys:72rem;
  --teksti:1.0625rem;
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paperi);color:var(--muste);
  font:var(--teksti)/1.65 var(--sans);
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
a{color:var(--merkki-2);text-underline-offset:.18em}
a:hover{color:var(--muste)}

.kuori{width:min(100% - 2rem,var(--leveys));margin-inline:auto}
@media(max-width:48rem){.kuori{width:calc(100% - 2rem)}}

/* ---------- ylätunniste: arkistokortin välilehti ---------- */
.ylis{background:var(--muste);color:var(--paperi);border-bottom:3px solid var(--merkki)}
.ylis a{color:inherit;text-decoration:none}
.ylis-rivi{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 0}
.tunnus{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.3rem;letter-spacing:.01em}
.tunnus .merkki{
  width:1.6rem;height:1.6rem;flex:0 0 auto;display:block;
}
.ylis nav{margin-left:auto}
.ylis nav ul{display:flex;gap:1.1rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.ylis nav a{font-size:.94rem;color:#ded7c6;padding:.2rem 0;border-bottom:2px solid transparent}
.ylis nav a:hover,.ylis nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--merkki)}

/* ---------- murupolku ---------- */
.murut{font-size:.85rem;color:var(--harmaa);padding:.85rem 0 0}
.murut ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.murut li::after{content:"›";margin-left:.4rem;color:var(--viiva)}
.murut li:last-child::after{content:""}

/* ---------- sivupohja ---------- */
.runko{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:2.6rem;padding:1.6rem 0 3rem;align-items:start}
@media(max-width:62rem){.runko{grid-template-columns:1fr;gap:1.8rem}}

.artikkeli h1{
  font-family:var(--serif);font-weight:600;line-height:1.18;
  font-size:clamp(1.65rem,1.1rem + 2.2vw,2.5rem);margin:.3rem 0 .5rem;letter-spacing:-.005em;
}
.artikkeli h2{
  font-family:var(--serif);font-size:clamp(1.22rem,1.05rem + .7vw,1.5rem);
  margin:2.2rem 0 .6rem;line-height:1.25;
  padding-bottom:.35rem;border-bottom:1px solid var(--viiva);
}
.artikkeli h3{font-family:var(--sans);font-size:1.03rem;margin:1.4rem 0 .35rem;letter-spacing:.01em}
.artikkeli p{margin:0 0 .95rem;max-width:68ch}
.artikkeli ul,.artikkeli ol{max-width:68ch;margin:0 0 1rem;padding-left:1.15rem}
.artikkeli li{margin:.3rem 0}

.leima{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;align-items:center;
  font-size:.86rem;color:var(--harmaa);margin:.2rem 0 1.4rem;
  padding-bottom:.9rem;border-bottom:1px solid var(--viiva)}
.leima .kirjoittaja{color:var(--muste);font-weight:600}
.leima .kirjoittaja a{color:inherit;text-decoration:none;border-bottom:1px solid var(--viiva)}

/* ---------- lyhyt vastaus ---------- */
.vastaus{
  background:#fff;border:1px solid var(--viiva);border-left:4px solid var(--merkki);
  padding:1rem 1.1rem;margin:0 0 1.6rem;border-radius:2px;
}
.vastaus .otsake{
  display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--merkki-2);font-weight:700;margin-bottom:.35rem
}
.vastaus p{margin:0;font-size:1.08rem;line-height:1.55;max-width:62ch}

/* ---------- rekisterikortti: etiketti per arvo ---------- */
.kortti{background:#fff;border:1px solid var(--viiva);border-radius:2px;padding:.4rem 1rem;margin:1.2rem 0}
.kortti dl{display:grid;grid-template-columns:11.5rem minmax(0,1fr);margin:0}
@media(max-width:38rem){.kortti dl{grid-template-columns:1fr}}
.kortti dt{
  font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--harmaa);
  font-weight:700;padding:.75rem 0 .1rem;border-top:1px solid var(--paperi-2)
}
.kortti dd{margin:0;padding:.75rem 0 .75rem;border-top:1px solid var(--paperi-2)}
@media(max-width:38rem){.kortti dd{padding-top:.1rem;border-top:0}}
.kortti dl > dt:first-of-type,.kortti dl > dt:first-of-type + dd{border-top:0}

/* ---------- taulukko: jokainen arvo kantaa oman etikettinsä ---------- */
.taulu{margin:1.2rem 0}
.taulu .rivi{
  background:#fff;border:1px solid var(--viiva);border-radius:2px;
  padding:.8rem 1rem;margin-bottom:.6rem;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.3rem 1.4rem
}
.taulu .solu{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.taulu .etiketti{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--harmaa);font-weight:700}
.taulu .arvo{font-variant-numeric:tabular-nums}
.taulu .arvo.iso{font-family:var(--serif);font-size:1.18rem;color:var(--muste)}

/* ---------- laskuri ---------- */
.laskuri{background:#fff;border:1px solid var(--viiva);border-top:3px solid var(--muste);padding:1.1rem;margin:1.4rem 0;border-radius:2px}
.laskuri label{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--harmaa);font-weight:700;margin-bottom:.25rem}
.laskuri input,.laskuri select{
  width:100%;padding:.55rem .6rem;font:inherit;border:1px solid var(--viiva);border-radius:2px;background:var(--paperi);color:var(--muste)
}
.laskuri .kentat{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.9rem}
.laskuri output{display:block;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--viiva)}
/* Bada MASTE vara block: som inline-element flot resultatet och forklaringen
   ihop till en rad ("Kateen jaa noin 1 666,67 €Ulosmitattava maara..."). Det syntes
   inte i nagon markupkontroll - bara pa skarmdumpen. */
.laskuri .tulos{display:block;font-family:var(--serif);font-size:1.5rem;line-height:1.3;color:var(--vihrea)}
.laskuri .selite{display:block;font-size:.9rem;line-height:1.5;color:var(--harmaa);margin-top:.4rem;max-width:62ch}

/* ---------- lähteet ---------- */
.lahteet{margin:2.4rem 0 0;padding:1rem 1.1rem;background:var(--paperi-2);border-radius:2px}
.lahteet h2{font-size:1.02rem;margin:0 0 .5rem;border:0;padding:0;font-family:var(--sans);letter-spacing:.02em}
.lahteet ol{margin:0;padding-left:1.2rem;font-size:.9rem}
.lahteet li{margin:.35rem 0}
.lahteet .pvm{color:var(--harmaa)}

.huomio{font-size:.88rem;color:var(--harmaa);border-left:3px solid var(--viiva);padding:.1rem 0 .1rem .85rem;margin:1.2rem 0;max-width:66ch}

/* ---------- sivupalkki ---------- */
.palkki > *{margin-bottom:1.4rem}
.palkki .lohko{background:#fff;border:1px solid var(--viiva);border-radius:2px;padding:.9rem 1rem}
.palkki h2{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--merkki-2);margin:0 0 .6rem;font-weight:700}
.palkki ul{list-style:none;margin:0;padding:0}
.palkki li{padding:.42rem 0;border-top:1px solid var(--paperi-2);font-size:.94rem;line-height:1.4}
.palkki li:first-child{border-top:0}
.palkki a{text-decoration:none}
.palkki a:hover{text-decoration:underline}
.palkki .vol{display:block;font-size:.76rem;color:var(--harmaa)}

/* ---------- tekstikortit: EI kuvapaikkoja ---------- */
.kortit{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin:1.2rem 0 0;padding:0;list-style:none}
.kortit li{margin:0}
.tekstikortti{
  display:flex;flex-direction:column;gap:.45rem;height:100%;
  background:#fff;border:1px solid var(--viiva);border-radius:2px;padding:1rem;
  border-top:3px solid var(--merkki);
}
.tekstikortti .yla{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--harmaa);font-weight:700}
.tekstikortti h3{margin:0;font-family:var(--serif);font-size:1.12rem;line-height:1.3;font-weight:600}
.tekstikortti h3 a{text-decoration:none;color:var(--muste)}
.tekstikortti h3 a:hover{color:var(--merkki-2)}
.tekstikortti p{margin:0;font-size:.92rem;color:var(--muste-2);max-width:none}
.tekstikortti .ala{margin-top:auto;padding-top:.5rem;font-size:.8rem;color:var(--harmaa);border-top:1px solid var(--paperi-2)}

/* ---------- etusivu ---------- */
.esittely{padding:2.4rem 0 1.2rem;border-bottom:1px solid var(--viiva)}
.esittely h1{font-family:var(--serif);font-size:clamp(1.8rem,1.2rem + 2.6vw,2.9rem);line-height:1.14;margin:0 0 .6rem;max-width:20ch}
.esittely p{margin:0;max-width:60ch;font-size:1.06rem;color:var(--muste-2)}
.osio{padding:2rem 0 0}
.osio > h2{font-family:var(--serif);font-size:1.4rem;margin:0 0 .2rem}
.osio > .alaotsikko{margin:0;color:var(--harmaa);font-size:.94rem}

/* ---------- alatunniste ---------- */
.alis{background:var(--muste);color:#cfc8b8;margin-top:3rem;padding:2rem 0 1.4rem;font-size:.92rem}
.alis a{color:#e9e2d2}
.alis .rivit{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.6rem}
.alis h2{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#9a927f;margin:0 0 .5rem}
.alis ul{list-style:none;margin:0;padding:0}
.alis li{padding:.22rem 0}
.alis .pohja{margin-top:1.6rem;padding-top:1rem;border-top:1px solid #2d313d;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center}

.ohita{position:absolute;left:-9999px}
.ohita:focus{left:1rem;top:1rem;position:fixed;z-index:99;background:#fff;color:var(--muste);padding:.6rem .9rem;border-radius:2px}

@media (prefers-reduced-motion:no-preference){a{transition:color .12s ease}}
