@import url("fonts.css");
@import url("vanha.css");

:root{
  --paperi:#fbf8f1;
  --paperi2:#f3eee2;
  --muste:#1d1b17;
  --muste2:#4b463d;
  --leima:#b4452f;
  --sinappi:#c98a1a;
  --sini:#3b5d6b;
  --viiva:#ded5c2;
  --viiva2:#eae2d2;
  --otsikko:"Sora",system-ui,sans-serif;
  --leipa:"Source Sans 3",system-ui,sans-serif;
  --kasi:"Gloria Hallelujah",cursive;
  --max:62rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.kirja{
  margin:0;background:var(--paperi);color:var(--muste);
  font:400 1.0625rem/1.65 var(--leipa);
  background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(59,93,107,.055) 31px 32px);
}
img{max-width:100%;height:auto}
a{color:var(--sini);text-underline-offset:.17em;text-decoration-thickness:1px}
a:hover{color:var(--leima)}
h1,h2,h3,h4{font-family:var(--otsikko);font-weight:700;line-height:1.2;letter-spacing:-.012em;margin:1.9rem 0 .7rem}
h1{font-size:clamp(1.65rem,4.4vw,2.35rem)}
h2{font-size:clamp(1.25rem,3vw,1.55rem)}
h3{font-size:1.1rem;font-weight:600}
p,ul,ol,dl,table{margin:0 0 1rem}
.ohita{position:absolute;left:-9999px}
.ohita:focus{left:1rem;top:1rem;z-index:99;background:var(--muste);color:var(--paperi);padding:.5rem .9rem}

/* ---------- selkä (header) ---------- */
.selka{
  border-bottom:2px solid var(--muste);
  background:
    linear-gradient(to right,var(--leima) 0 10px,transparent 10px 14px,var(--sinappi) 14px 20px,transparent 20px) left/100% 6px no-repeat,
    var(--paperi2);
  padding:.9rem 1rem .45rem;position:relative;
}
.selka__rivi{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:1rem;justify-content:space-between}
.selka__nimi{margin:0}
.selka__nimi a{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--muste)}
.selka__nimi b{font-family:var(--otsikko);font-size:1.35rem;letter-spacing:-.02em;display:block}
.selka__nimi small{display:block;font-size:.76rem;color:var(--muste2);letter-spacing:.06em;text-transform:uppercase}
.selka__logo{display:grid;gap:3px;width:26px;flex:0 0 26px}
.selka__logo i{display:block;height:4px;border-radius:2px;background:var(--muste)}
.selka__logo i:nth-child(1){width:100%;background:var(--leima)}
.selka__logo i:nth-child(2){width:72%}
.selka__logo i:nth-child(3){width:88%;background:var(--sinappi)}
.selka__nappi{display:none;font:600 .9rem var(--leipa);background:var(--paperi);border:1.5px solid var(--muste);border-radius:3px;padding:.42rem .8rem;cursor:pointer}
.valilehdet{max-width:var(--max);margin:.55rem auto 0}
.valilehdet ul{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:0;padding:0}
.valilehti a{
  display:block;padding:.42rem .78rem;font:600 .9rem var(--leipa);text-decoration:none;color:var(--muste);
  background:var(--paperi);border:1.5px solid var(--viiva);border-bottom:none;border-radius:7px 7px 0 0;
  position:relative;top:2px;
}
.valilehti a::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--viiva)}
.valilehti--asiakaspalvelu a::before{background:var(--leima)}
.valilehti--kirjautuminen a::before{background:var(--sini)}
.valilehti--hairiot a::before{background:var(--sinappi)}
.valilehti--peruutus a::before{background:#6b7f4a}
.valilehti--aukioloajat a::before{background:#8a5fa0}
.valilehti--maksupaivat a::before{background:#2f6f63}
.valilehti.on a,.valilehti a:hover{border-color:var(--muste);background:var(--paperi);top:0;padding-bottom:.56rem}

/* ---------- sivu ---------- */
.sivu{max-width:var(--max);margin:0 auto;padding:1.4rem 1rem 3rem}
.murut{font-size:.82rem;color:var(--muste2);margin:0 0 .8rem}
.murut ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0}
.murut li+li::before{content:"›";margin-right:.3rem;color:var(--viiva)}

/* ---------- tarkistuskortti ---------- */
.kortti{
  position:relative;margin:0 0 1.6rem;background:#fff;border:1.5px solid var(--muste);
  border-radius:4px;display:grid;grid-template-columns:auto 1fr;
  box-shadow:3px 3px 0 var(--viiva2);
}
.kortti::after{
  content:"";position:absolute;left:0;right:0;bottom:-9px;height:9px;
  background:radial-gradient(circle at 5px 0,transparent 0 4.5px,#fff 4.6px) 0 0/10px 9px repeat-x;
  border-left:1.5px solid var(--muste);border-right:1.5px solid var(--muste);
}
.kortti__reika{position:absolute;top:10px;left:10px;width:12px;height:12px;border-radius:50%;background:var(--paperi);border:1.5px solid var(--muste)}
.kortti__ylos{
  padding:1.9rem 1.1rem 1.1rem;border-right:1.5px dashed var(--viiva);text-align:center;min-width:8.5rem;
  background:linear-gradient(to bottom,var(--paperi2),#fff);
}
.kortti__top{display:block;font:600 .74rem var(--leipa);letter-spacing:.11em;text-transform:uppercase;color:var(--muste2)}
.kortti__iso{display:block;font:700 clamp(1.5rem,5vw,2.2rem)/1.05 var(--otsikko);color:var(--leima);word-break:break-word}
.kortti__yks{display:block;font-size:.8rem;color:var(--muste2)}
.kortti__teksti{padding:1.05rem 1.15rem}
.kortti__otsake{margin:0 0 .25rem;font:700 .76rem var(--leipa);letter-spacing:.13em;text-transform:uppercase;color:var(--sini)}
.kortti__vastaus{margin:0;font-size:1.06rem}
.kortti__rivit{display:grid;grid-template-columns:auto 1fr;gap:.12rem .7rem;margin:.75rem 0 0;font-size:.95rem}
.kortti__rivit dt{font-weight:600;color:var(--muste2)}
.kortti__rivit dd{margin:0}
.kortti__leima{grid-column:1/-1;margin:0;padding:.55rem 1.15rem .75rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;border-top:1px dashed var(--viiva)}
.leima{
  display:inline-block;font:700 .72rem var(--leipa);letter-spacing:.1em;text-transform:uppercase;color:var(--leima);
  border:2px solid var(--leima);border-radius:3px;padding:.2rem .55rem;transform:rotate(-2.2deg);opacity:.9
}
.leima--iso{font-size:1rem;padding:.4rem .9rem}
.kortti__lahde{font-size:.8rem;color:var(--muste2);word-break:break-word}

/* ---------- juttu ---------- */
.juttu__h1{margin-top:.2rem}
.nimirivi{display:flex;align-items:center;gap:.6rem;margin:0 0 1.2rem}
.nimirivi img{border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--sinappi)}
.nimirivi p{margin:0;font-size:.9rem}
.nimirivi span{display:block;color:var(--muste2);font-size:.82rem}
.nimirivi--arkisto{font-size:.85rem;color:var(--muste2);border-left:3px solid var(--viiva);padding-left:.65rem}
.juttu__teksti h2{border-bottom:1px solid var(--viiva);padding-bottom:.28rem}
.juttu__teksti table{width:100%;border-collapse:collapse;font-size:.95rem}
.juttu__teksti th,.juttu__teksti td{border:1px solid var(--viiva);padding:.42rem .55rem;text-align:left;vertical-align:top}
.juttu__teksti thead th{background:var(--paperi2);font-family:var(--otsikko);font-size:.88rem}
.juttu__teksti tbody tr:nth-child(odd){background:rgba(243,238,226,.5)}
.juttu__teksti ul,.juttu__teksti ol{padding-left:1.15rem}
.juttu__teksti li{margin-bottom:.3rem}
.juttu__teksti blockquote{margin:1rem 0;padding:.6rem 1rem;border-left:4px solid var(--sinappi);background:var(--paperi2);font-style:normal}

/* ---------- Antin lappu ---------- */
.lappu{
  position:relative;margin:1.8rem 0;padding:1.1rem 1.2rem .9rem;background:#fdf6df;border:1px solid #e8dcb5;
  transform:rotate(-.5deg);box-shadow:2px 3px 0 rgba(29,27,23,.07);font-family:var(--kasi);font-size:.98rem;line-height:1.75
}
.lappu__nasta{position:absolute;top:-7px;left:50%;width:14px;height:14px;border-radius:50%;background:var(--leima);box-shadow:0 1px 0 rgba(0,0,0,.25)}
.lappu__ots{margin:0 0 .3rem;font:700 .72rem var(--leipa);letter-spacing:.12em;text-transform:uppercase;color:var(--muste2)}
.lappu p:last-child{margin:0}

/* ---------- kuittinauha ---------- */
.nauha{position:relative;background:#fff;border:1.5px solid var(--muste);border-bottom:none;padding:.9rem 0 0;margin:1.4rem 0 2rem}
.nauha__ots{margin:0 1rem .5rem;font:700 .74rem var(--leipa);letter-spacing:.13em;text-transform:uppercase;color:var(--muste2)}
.nauha__lista{list-style:none;margin:0;padding:0}
.nauha__rivi{border-top:1px dashed var(--viiva);padding:.1rem 1rem .45rem}
.nauha__rivi a{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;text-decoration:none;padding:.4rem 0;color:var(--muste)}
.nauha__rivi a:hover .nauha__t{color:var(--leima);text-decoration:underline}
.nauha__t{font-weight:600}
.nauha__v{font-family:var(--otsikko);font-weight:600;color:var(--sini);white-space:nowrap;font-size:.95rem}
.nauha__s{display:block;color:var(--muste2);font-size:.84rem;margin-top:-.25rem}
.nauha__repi{display:block;height:10px;background:radial-gradient(circle at 6px 10px,transparent 0 5.5px,#fff 5.6px) 0 0/12px 10px repeat-x;border-left:1.5px solid var(--muste);border-right:1.5px solid var(--muste)}

/* ---------- etusivu ---------- */
.tervehdys{display:flex;gap:1.2rem;align-items:flex-start;margin:.6rem 0 1.8rem}
.tervehdys__kuva{flex:0 0 120px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--sinappi)}
.tervehdys__teksti h1{margin-top:0}
.tervehdys__kasin{font-family:var(--kasi);color:var(--leima);margin:0 0 .4rem;font-size:1.05rem;transform:rotate(-1deg);display:inline-block}
.paivan{border:1.5px solid var(--muste);background:#fff;padding:1rem 1.1rem;margin:0 0 2rem;position:relative}
.paivan::before{content:"";position:absolute;top:-1.5px;left:-1.5px;right:-1.5px;height:5px;background:repeating-linear-gradient(to right,var(--leima) 0 14px,var(--sinappi) 14px 28px)}
.paivan__ots{margin:.3rem 0 .7rem;font:700 .74rem var(--leipa);letter-spacing:.13em;text-transform:uppercase;color:var(--muste2)}
.paivan__lista{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.paivan__i{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;border-top:1px dashed var(--viiva);padding:.45rem 0}
.paivan__i a{text-decoration:none;color:var(--muste);display:flex;gap:.6rem;flex-wrap:wrap;align-items:baseline}
.paivan__i a:hover b{color:var(--leima);text-decoration:underline}
.paivan__arvo{font-family:var(--otsikko);font-weight:600;color:var(--sini);font-size:.92rem}
.paivan__i time{color:var(--muste2);font-size:.82rem;white-space:nowrap}
.hubit{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:.6rem}
@media(min-width:40rem){.hubit{grid-template-columns:1fr 1fr}}
.hubit__i a{
  display:grid;gap:.1rem;padding:.75rem .95rem;text-decoration:none;color:var(--muste);background:#fff;
  border:1.5px solid var(--viiva);border-left:6px solid var(--sini);border-radius:3px
}
.hubit__i:nth-child(1) a{border-left-color:var(--leima)}
.hubit__i:nth-child(3) a{border-left-color:var(--sinappi)}
.hubit__i:nth-child(4) a{border-left-color:#6b7f4a}
.hubit__i:nth-child(5) a{border-left-color:#8a5fa0}
.hubit__i:nth-child(6) a{border-left-color:#2f6f63}
.hubit__i a:hover{border-color:var(--muste);border-left-width:6px}
.hubit__i b{font-family:var(--otsikko);font-size:1.02rem}
.hubit__i small{color:var(--muste2)}
.hubit__n{font-size:.78rem;color:var(--muste2);letter-spacing:.05em}
.tapa{counter-reset:t;list-style:none;padding:0;margin:0 0 .6rem}
.tapa li{counter-increment:t;position:relative;padding-left:2.2rem;margin-bottom:.6rem}
.tapa li::before{content:counter(t);position:absolute;left:0;top:.05rem;width:1.55rem;height:1.55rem;border:1.5px solid var(--muste);border-radius:50%;display:grid;place-items:center;font:700 .85rem var(--otsikko);background:#fff}
.tapa__linkki{margin:0}

/* ---------- lähteet, naapurit, tekijä ---------- */
.lahteet,.naapurit{margin:2rem 0}
.lahteet ul{list-style:none;padding:0;font-size:.92rem;word-break:break-word}
.lahteet li{border-top:1px dotted var(--viiva);padding:.32rem 0}
.naapurit ul{list-style:none;padding:0;display:grid;gap:.4rem}
@media(min-width:40rem){.naapurit ul{grid-template-columns:1fr 1fr}}
.naapurit a{display:block;padding:.55rem .75rem;background:#fff;border:1px solid var(--viiva);border-radius:3px;text-decoration:none;color:var(--muste)}
.naapurit a:hover{border-color:var(--muste)}
.naapurit b{display:block;font-weight:600}
.naapurit small{color:var(--muste2)}
.tekija{display:flex;gap:1rem;align-items:flex-start;margin:2.2rem 0 0;padding:1rem;border:1.5px dashed var(--viiva);background:var(--paperi2)}
.tekija img{flex:0 0 68px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--sinappi)}
.tekija__n{margin:0 0 .2rem;font-family:var(--otsikko);font-weight:700}
.tekija p{font-size:.95rem}
.tekija p:last-child{margin:0}

/* ---------- listasivu ---------- */
.lista__johdanto{color:var(--muste2);max-width:44rem}
.hylly{list-style:none;padding:0;margin:1.2rem 0;counter-reset:h}
.hylly li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-bottom:1px dotted var(--viiva);padding:.42rem 0}
.hylly time{color:var(--muste2);font-size:.82rem;white-space:nowrap}
.hylly__n{color:var(--muste2);font-size:.85rem}
.lista__sivutus .nav-links{display:flex;gap:.4rem;flex-wrap:wrap}
.lista__sivutus a,.lista__sivutus .current{padding:.3rem .6rem;border:1px solid var(--viiva);background:#fff;text-decoration:none}
.lista__sivutus .current{border-color:var(--muste);font-weight:700}

/* ---------- 404 ---------- */
.eiloydy{max-width:44rem}

/* ---------- OBL: ruutu = leimakortti, lomake = tarkastuspöytäkirja ---------- */
/* Motiv: stämpelkort med stansade hål och runda stämpelavtryck + ett kontrollprotokoll
   med numrerade rader. Eget för paivapress.fi – inte kopierat från någon systersajt. */
.obl-kuori{margin:2.2rem 0 0;position:relative}

/* --- leimakortti --- */
.obl-kuori--cta{
  background:#fffdf6;border:2px solid var(--muste);border-radius:2px;
  padding:1.15rem 1.2rem 1.3rem 2.6rem;
  box-shadow:4px 4px 0 rgba(29,27,23,.1)
}
.obl-kuori--cta::before{
  /* stansade hål längs vänsterkanten */
  content:"";position:absolute;top:0;bottom:0;left:0;width:1.6rem;
  border-right:1px dashed var(--viiva);
  background:radial-gradient(circle at 50% 10px,var(--paperi) 0 4.5px,transparent 4.7px) 0 0/100% 22px repeat-y
}
.obl-kuori--cta::after{
  /* stämpelavtryck uppe till höger */
  content:"TARKISTETTU";position:absolute;top:.7rem;right:.8rem;
  font:700 .54rem/1 var(--leipa);letter-spacing:.14em;color:var(--leima);
  border:2px solid var(--leima);border-radius:50%;width:4.6rem;height:4.6rem;
  display:grid;place-items:center;transform:rotate(-13deg);opacity:.45;text-align:center;padding:.4rem
}
.obl-kuori--cta h2,.obl-kuori--cta h3{margin:.1rem 4.6rem .5rem 0;font-size:1.1rem;font-family:var(--otsikko)}
.obl-kuori--cta p{font-size:.97rem}
.obl-kuori--cta dl{display:grid;grid-template-columns:auto 1fr;gap:.1rem .8rem;font-size:.94rem;margin:.7rem 0}
.obl-kuori--cta dt{font-weight:600;color:var(--muste2);border-bottom:1px dotted var(--viiva)}
.obl-kuori--cta dd{margin:0;border-bottom:1px dotted var(--viiva)}
.obl-kuori--cta details{margin:.7rem 0 0;border-top:1px dashed var(--viiva);padding-top:.55rem}
.obl-kuori--cta summary{cursor:pointer;font:600 .9rem var(--leipa);color:var(--sini)}

/* --- tarkastuspöytäkirja --- */
.obl-kuori--lomake{
  background:#fff;border:1.5px solid var(--muste);border-top:7px solid var(--sini);
  padding:1.1rem 1.2rem 1.4rem;counter-reset:kentta
}
.obl-kuori--lomake h2,.obl-kuori--lomake h3{
  margin:.1rem 0 .9rem;font:700 .82rem var(--leipa);letter-spacing:.16em;text-transform:uppercase;color:var(--sini)
}
.obl-kuori--lomake label{
  counter-increment:kentta;display:block;margin:.95rem 0 .1rem;
  font:600 .74rem var(--leipa);letter-spacing:.1em;text-transform:uppercase;color:var(--muste2)
}
.obl-kuori--lomake label::before{
  content:counter(kentta,decimal-leading-zero) " ";color:var(--leima);font-family:var(--otsikko);margin-right:.35rem
}
.obl-kuori--lomake input,.obl-kuori--lomake textarea,.obl-kuori--lomake select{
  width:100%;font:400 1rem var(--leipa);color:var(--muste);background:transparent;
  border:none;border-bottom:1px solid var(--muste);box-shadow:0 3px 0 -2px var(--viiva);
  padding:.42rem .2rem
}
.obl-kuori--lomake textarea{min-height:7rem;border:1px solid var(--viiva);box-shadow:none;background:repeating-linear-gradient(to bottom,transparent 0 27px,var(--viiva2) 27px 28px)}
.obl-kuori--lomake input:focus,.obl-kuori--lomake textarea:focus{outline:none;border-color:var(--leima)}
.obl-kuori--lomake input[type=checkbox]{width:1.1rem;height:1.1rem;border:1.5px solid var(--muste);box-shadow:none;accent-color:var(--leima)}
.obl-kuori--lomake button,.obl-kuori--lomake input[type=submit]{
  width:auto;margin-top:1.3rem;background:var(--leima);color:#fffdf6;border:2px solid var(--leima);
  border-radius:50%;width:6.4rem;height:6.4rem;padding:.4rem;cursor:pointer;
  font:700 .68rem/1.15 var(--leipa);letter-spacing:.1em;text-transform:uppercase;
  transform:rotate(-7deg);box-shadow:0 2px 0 rgba(29,27,23,.25)
}
.obl-kuori--lomake button:hover,.obl-kuori--lomake input[type=submit]:hover{background:#9c3a27;transform:rotate(-7deg) translateY(1px);box-shadow:0 1px 0 rgba(29,27,23,.25)}
@media(max-width:560px){
  .obl-kuori--cta{padding-left:2.2rem}
  .obl-kuori--cta::after{width:3.6rem;height:3.6rem;font-size:.46rem}
  .obl-kuori--cta h2,.obl-kuori--cta h3{margin-right:3.6rem}
}

/* ---------- Om-sivun kuva ---------- */
.minakuva{
  float:right;width:165px;margin:4px 0 14px 22px;padding:6px;background:#fffdf7;border:1px solid #ece4d3;
  box-shadow:2px 3px 0 rgba(29,27,23,.08);transform:rotate(.8deg)
}
.minakuva img{display:block;width:100%;height:auto}
.minakuva figcaption{font-size:.76rem;color:var(--muste2);margin-top:.35rem;line-height:1.35}
.juttu__teksti::after{content:"";display:block;clear:both}

/* ---------- kansi (footer) ---------- */
.kansi{border-top:2px solid var(--muste);background:var(--paperi2);padding:1.6rem 1rem 2rem;margin-top:2rem}
.kansi__antti{max-width:var(--max);margin:0 auto 1rem;display:flex;gap:.9rem;align-items:center}
.kansi__antti img{flex:0 0 56px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--leima)}
.kansi__antti p{margin:0;font-size:.93rem;max-width:40rem}
.kansi__linkit{max-width:var(--max);margin:0 auto}
.kansi__linkit ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.9rem}
.kansi__copy{max-width:var(--max);margin:1rem auto 0;font-size:.85rem;color:var(--muste2)}

/* ---------- mobiili ---------- */
@media(max-width:46rem){
  .selka__nappi{display:block}
  .valilehdet{display:none}
  .valilehdet.auki{display:block}
  .valilehdet ul{flex-direction:column;gap:0}
  .valilehti a{border-radius:0;border-bottom:1px solid var(--viiva);top:0}
  .valilehti.on a{padding-bottom:.42rem}
  .kortti{grid-template-columns:1fr}
  .kortti__ylos{border-right:none;border-bottom:1.5px dashed var(--viiva);text-align:left;padding:1.7rem 1.1rem .8rem}
  .tervehdys{flex-direction:column;gap:.8rem}
  .tervehdys__kuva{flex:0 0 auto;width:104px}
  .minakuva{width:140px;margin:4px 0 12px 16px}
}
@media(prefers-reduced-motion:no-preference){a,.hubit__i a{transition:color .12s,border-color .12s}}

/* ---------- juttusivun extra ---------- */
.juttusivu{display:block}
.juttu__kieleke{margin:0 0 .4rem}
.juttu__alas{margin:0}
.juttu__takaisin{margin:1.6rem 0 0;font-size:.92rem}
.juttu__takaisin a{text-decoration:none;font-weight:600}
.juttu__takaisin a:hover{text-decoration:underline}
hgroup.juttu__ylos{display:block}

/* ---------- omgang 2: huomio-ruta och fler flikar ---------- */
.juttu__teksti .huomio{
  background:#fff4ef;border-left:5px solid var(--leima);padding:.7rem .95rem;margin:1.1rem 0;font-size:.97rem
}
.valilehti--sahkokatko a::before{background:#b4452f}
.valilehti--reklamaatio a::before{background:#2f6f63}
.valilehti--ongelmat a::before{background:#8a5fa0}
.hubit__i:nth-child(7) a{border-left-color:#b4452f}
.hubit__i:nth-child(8) a{border-left-color:#2f6f63}
.hubit__i:nth-child(9) a{border-left-color:#8a5fa0}
@media(max-width:60rem){.valilehdet ul{gap:.25rem}.valilehti a{padding:.4rem .6rem;font-size:.86rem}}
