@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;font-display:swap;src:url(fonts/atkinson-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;font-display:swap;src:url(fonts/atkinson-400-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+1E00-1E9F}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:700;font-display:swap;src:url(fonts/atkinson-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:700;font-display:swap;src:url(fonts/atkinson-700-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+1E00-1E9F}
@font-face{font-family:"Fraunces";font-weight:700;font-display:swap;src:url(fonts/fraunces-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212}
@font-face{font-family:"Fraunces";font-weight:700;font-display:swap;src:url(fonts/fraunces-700-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+1E00-1E9F}

:root{
  --taust:#F5F0E6; --kaart:#FFFFFF; --joon:#E2D9C8; --joon2:#EFE8DA; --tekst:#1F1D1A; --hall:#5A554C;
  --punane:#9E2A1F; --punane2:#7A1F16; --roheline:#1F6B45; --kuld:#E7B869;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Atkinson Hyperlegible",system-ui,sans-serif;background:var(--taust);color:var(--tekst);font-size:17px;line-height:1.45}
a{color:var(--punane)} a:hover{color:var(--punane2)}
.leht{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:0 16px}
.pais{padding:24px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tekst)}
.logo b{font-family:Fraunces,Georgia,serif;font-size:22px}
.tagasi{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--tekst);margin-left:-10px}
h1{font-family:Fraunces,Georgia,serif;font-size:32px;line-height:1.1;margin:4px 0 0}
h1.vaike{font-size:26px;margin:0}
h2{font-size:15px;color:var(--hall);margin:20px 0 8px}
.alam{color:var(--hall);margin:8px 0 0}
.kaart{background:var(--kaart);border:1px solid var(--joon);border-radius:16px;padding:16px}
.kaart + .kaart{margin-top:12px}
.juhirida{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--joon2)}
.initsiaal{width:44px;height:44px;border-radius:22px;background:var(--joon2);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.roheline{color:var(--roheline);font-weight:700}
.tapp{width:10px;height:10px;border-radius:5px;background:var(--roheline);display:inline-block;margin-right:8px}
.tapp.hall{background:#B9AE99}
.vaiketekst{font-size:15px;color:var(--hall)}
.ruudustik{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
button,.nupp{font:inherit;cursor:pointer}
.valik{min-height:52px;border-radius:12px;border:1px solid var(--joon);background:var(--kaart);font-weight:700;color:var(--tekst);text-align:left;padding:0 14px}
.valik[aria-pressed=true]{border:2px solid var(--roheline);background:#E3EFE7;color:var(--roheline);box-shadow:inset 0 0 0 1px var(--roheline)}
.valik:disabled{border:1px dashed #B9AE99;background:transparent;color:#6B655A;font-size:15px;cursor:default}
.pea{display:flex;align-items:center;justify-content:center;min-height:60px;width:100%;border-radius:14px;border:0;background:var(--punane);color:#fff;font-size:20px;font-weight:700;text-decoration:none}
.pea:hover{background:var(--punane2);color:#fff}
.pea:disabled{opacity:.5;cursor:default}
.teine{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;width:100%;border-radius:14px;border:2px solid var(--tekst);background:transparent;color:var(--tekst);font-size:17px;font-weight:700;text-decoration:none}
.lingnupp{background:transparent;border:0;color:var(--punane);font-weight:700;text-decoration:underline;min-height:52px;width:100%}
.alus{margin-top:auto;padding:20px 0 12px;display:flex;flex-direction:column;gap:12px}
.vali{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border-bottom:1px solid var(--joon2)}
.vali:last-child{border-bottom:0}
.vali span{font-size:14px;font-weight:700;color:var(--hall)}
.vali input,.vali select,.vali textarea{border:0;padding:6px 0;font:inherit;font-size:17px;color:var(--tekst);background:transparent;width:100%}
.vali select{font-weight:700}
.vali input:focus,.vali select:focus,.vali textarea:focus{outline:2px solid var(--tekst);outline-offset:2px;border-radius:4px}
.vorm{padding:0;overflow:hidden}
.samm{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 16px}
.samm button{width:44px;height:44px;border-radius:22px;border:1px solid var(--joon);background:var(--taust);font-size:22px;color:var(--tekst)}
.samm output{width:32px;text-align:center;font-size:20px;font-weight:700;display:inline-block}
.hinnakast{background:var(--joon2);border-radius:16px;padding:14px 16px}
.hinnakast .rida{display:flex;justify-content:space-between;align-items:baseline}
.suur{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:700}
.viga{background:#FBE9E7;color:var(--punane2);border-radius:12px;padding:12px 14px;font-weight:700}
.peidus{display:none!important}
.roheline-pais{background:#E3EFE7;color:var(--roheline);margin:0 -16px;padding:32px 20px 24px;border-bottom:1px solid #BFD9C8}
.roheline-pais .suurpealkiri,.oota-pais .suurpealkiri{font-family:Fraunces,Georgia,serif;font-size:32px;font-weight:700;line-height:1.1;margin:6px 0}
.oota-pais{background:var(--joon2);color:var(--tekst);margin:0 -16px;padding:32px 20px 24px;border-bottom:1px solid var(--joon)}
.foto{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--joon2);flex-shrink:0}
.lahter{background:var(--taust);border-radius:12px;padding:10px 12px}
.lahter small{display:block;font-size:13px;color:var(--hall);font-weight:700}
.lahter b{font-size:16px}
.kood{letter-spacing:.12em}
.lukk{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--hall);margin-top:14px}
.jalus{font-size:13px;color:var(--hall);padding:24px 0 20px;border-top:1px solid var(--joon);margin-top:24px;line-height:1.5}
.jalus a{color:var(--hall)}
.tabel{width:100%;border-collapse:collapse;font-size:15px}
.tabel td,.tabel th{padding:6px 4px;border-bottom:1px solid var(--joon2);text-align:left;vertical-align:top}
.tabel td:last-child{text-align:right}

/* Juhi vaade */
.lyliti{width:100%;min-height:96px;border-radius:20px;border:1px solid var(--joon);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--kaart);color:var(--tekst)}
.lyliti[aria-pressed=true]{background:#E3EFE7;color:var(--roheline);border:2px solid var(--roheline)}
.lyliti .pealk{font-size:24px;font-weight:700;display:block}
.lyliti .alam2{font-size:15px;opacity:.9}
.rada{width:64px;height:36px;border-radius:18px;flex-shrink:0;position:relative;background:#D8CFBF}
.nupp-sees{position:absolute;top:4px;left:4px;width:28px;height:28px;border-radius:14px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.lyliti[aria-pressed=true] .rada{background:var(--roheline)}
.lyliti[aria-pressed=true] .nupp-sees{left:32px;background:#fff}
.soov{background:var(--kaart);color:var(--tekst);border:1px solid var(--joon);border-radius:18px;padding:18px;margin-top:10px}
.soov .aeg{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:700}
.soov .rida{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.marsruut{margin:12px 0;display:flex;flex-direction:column;gap:8px}
.marsruut b{display:block}
.nupurida{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:14px}
.nupurida.kaks{grid-template-columns:1fr 1fr}
.roheline-nupp{min-height:56px;border-radius:14px;border:0;background:var(--roheline);color:#fff;font-size:19px;font-weight:700}
.kontuur{min-height:56px;border-radius:14px;border:2px solid var(--tekst);background:transparent;color:var(--tekst);font-size:17px;font-weight:700;text-decoration:none;display:flex;align-items:center;justify-content:center}
.vahepealkiri{color:var(--hall);font-size:15px;font-weight:700;margin:22px 0 4px;display:flex;justify-content:space-between}
.soov label{display:block;font-size:14px;font-weight:700;color:var(--hall);margin-top:10px}
.soov input{font:inherit;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--joon);margin-top:4px}
#sisu > * + *{margin-top:14px}
.juhi-sisu > * + *{margin-top:10px}
.kaart .rida{display:flex;justify-content:space-between;gap:8px}
.kaart input[readonly]{width:100%;font:inherit;padding:10px;border:1px solid var(--joon);border-radius:10px;margin:8px 0}
a.valik{display:flex;align-items:center;text-decoration:none;line-height:1.2;padding:8px 14px}
.kaart > .juhirida:first-child{border-top:0;padding-top:0}
.rida{display:flex;justify-content:space-between;align-items:center;gap:8px}
.testriba{background:#E7B869;color:#1F1D1A;font-weight:700;font-size:15px;text-align:center;padding:10px 16px}
#teade .kaart{margin-bottom:14px}
.rida .lingnupp{width:auto;min-height:44px}

/* Tutvustuse leht */
.leht.lai{max-width:880px}
.tutv-avamine{padding:8px 0 8px}
.tutv-avamine h1{font-size:40px}
.suurtekst{font-size:20px;line-height:1.5;color:var(--hall);margin:14px 0 20px;max-width:640px}
.nupurea{display:flex;flex-wrap:wrap;gap:12px}
.nupurea .pea,.nupurea .teine{width:auto;flex:1 1 220px}
.tutv-plokk{margin-top:44px}
.tutv-plokk.kaart{padding:22px}
.tutv-pealkiri{font-family:Fraunces,Georgia,serif;font-size:28px;color:var(--tekst);margin:0 0 12px;line-height:1.15}
.samm-rida{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;margin-top:28px}
.samm-tekst h3{font-family:Fraunces,Georgia,serif;font-size:24px;margin:8px 0 8px}
.samm-nr{display:inline-flex;width:40px;height:40px;border-radius:20px;background:var(--punane);color:#fff;font-weight:700;font-size:20px;align-items:center;justify-content:center}
.telefon{margin:0;border:8px solid #fff;border-radius:28px;box-shadow:0 0 0 1px var(--joon),0 8px 24px rgba(31,29,26,.10);overflow:hidden;background:#fff}
.telefon img{display:block;width:100%;height:auto}
.linnukesed{list-style:none;padding:0;margin:0}
.linnukesed li{position:relative;padding:6px 0 6px 32px}
.linnukesed li::before{content:"";position:absolute;left:4px;top:13px;width:14px;height:8px;border-left:3px solid var(--roheline);border-bottom:3px solid var(--roheline);transform:rotate(-45deg)}
details{background:var(--kaart);border:1px solid var(--joon);border-radius:14px;padding:4px 16px;margin-top:10px}
summary{font-weight:700;cursor:pointer;min-height:48px;display:flex;align-items:center}
details p{margin:0 0 14px}
@media (max-width:640px){
  .tutv-avamine h1{font-size:32px}
  .suurtekst{font-size:18px}
  .samm-rida{grid-template-columns:1fr;gap:16px}
  .telefon{max-width:260px;margin:0 auto}
}
