/* Yhteinen tyyli sääntösivuille: ehdot/ (suositteluohjelman yleiset ehdot)
   ja arvonta/ (kuluttajien ravintolavinkkiarvonnan säännöt).
   Projektin linja: ei koristeellisia 1px reunaviivoja, pinnat erotellaan
   taustasävyllä ja pehmeällä varjolla. */
:root{
  --green:#0C7250;--green-dark:#085C41;--ink:#2E3230;--text:#454B48;--muted:#7C8582;
  --bg:#FAFBFA;--tint:#F2F9F6;--tint-2:#E3F3EC;--card:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);font-family:'Figtree',system-ui,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.65}
a{color:var(--green)}a:hover{color:var(--green-dark)}
h1,h2{font-family:'Baloo 2',sans-serif;color:var(--ink);letter-spacing:-0.02em}

.s-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,0.9);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(46,50,48,0.06)}
.s-header-row{max-width:880px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:16px}
.s-brand{display:flex;flex-direction:column;text-decoration:none}
.s-brand img{height:26px;display:block}
.s-brand span{font-family:'Baloo 2',sans-serif;font-weight:600;font-size:13px;letter-spacing:0.04em;color:var(--ink);padding-left:2px;line-height:1;margin-top:1px}
.s-back{margin-left:auto;font-weight:600;font-size:15px;text-decoration:none;padding:10px 16px;border-radius:999px;background:var(--tint)}
.s-back:hover{background:var(--tint-2);text-decoration:none}

.s-main{max-width:880px;margin:0 auto;padding:56px 20px 88px}
.s-kicker{display:inline-block;background:var(--tint-2);color:var(--green);font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;margin-bottom:16px}
.s-main h1{font-weight:700;font-size:clamp(32px,5vw,46px);line-height:1.08;margin:0 0 16px;text-wrap:balance}
.s-lead{font-size:18px;margin:0 0 28px;max-width:680px;text-wrap:pretty}

.s-meta{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;background:var(--card);border-radius:20px;padding:20px 24px;box-shadow:0 4px 18px rgba(46,50,48,0.09);margin-bottom:28px;font-size:15px}
.s-meta strong{color:var(--ink)}
.s-pdf{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-weight:700;font-size:15px;padding:11px 20px;border-radius:999px;text-decoration:none}
.s-pdf:hover{background:var(--green-dark);color:#fff;text-decoration:none}

.s-toc{background:var(--tint);border-radius:20px;padding:22px 26px;margin-bottom:40px}
.s-toc h2{font-size:18px;margin:0 0 10px;letter-spacing:0}
.s-toc ol{margin:0;padding-left:22px;columns:2;column-gap:32px;font-size:15px}
.s-toc li{break-inside:avoid;padding:2px 0}
.s-toc a{text-decoration:none}.s-toc a:hover{text-decoration:underline}

.s-doc section{scroll-margin-top:84px;margin-bottom:34px}
.s-doc h2{font-weight:700;font-size:24px;line-height:1.2;margin:0 0 10px}
.s-doc p{margin:0 0 12px;font-size:16.5px;text-wrap:pretty}
.s-doc ul{margin:0 0 12px;padding-left:22px;font-size:16.5px}
.s-doc li{margin:3px 0}
.s-doc strong{color:var(--ink)}

.s-table{width:100%;border-collapse:separate;border-spacing:0 6px;margin:6px 0 12px;font-size:16px}
.s-table th{text-align:left;font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;padding:4px 16px}
.s-table td{background:var(--card);padding:13px 16px}
.s-table td:first-child{border-radius:12px 0 0 12px;color:var(--ink);font-weight:600}
.s-table td:last-child{border-radius:0 12px 12px 0;color:var(--green);font-weight:700}

.s-note{background:#F7F1E4;border-radius:20px;padding:22px 26px;margin:8px 0 40px;font-size:15.5px}
.s-note p{margin:0}

.s-footer{background:#fff;box-shadow:0 -1px 0 rgba(46,50,48,0.06)}
.s-footer-row{max-width:880px;margin:0 auto;padding:30px 20px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;font-size:14px;color:var(--muted)}
.s-footer-row img{height:22px;display:block}
.s-footer-row a{margin-left:auto;font-weight:600;color:var(--text);text-decoration:none}
.s-footer-row a:hover{color:var(--green)}

@media (max-width:640px){
  .s-main{padding:36px 16px 64px}
  .s-toc ol{columns:1}
  .s-meta{padding:18px}
  .s-pdf{margin-left:0;width:100%;justify-content:center}
  .s-table{font-size:14px}
  .s-table th{text-transform:none;letter-spacing:0;font-size:12.5px}
  .s-table th,.s-table td{padding-left:8px;padding-right:8px}
  .s-footer-row a{margin-left:0}
}
@media print{
  .s-header,.s-footer,.s-toc,.s-pdf{display:none}
  body{background:#fff}
  .s-meta{box-shadow:none;padding:0}
}
