/* Katusekuma Kodud – hinnakiri. Värvid Favorte CVI + projektivärv merevaik.
   Teema saab tokeneid üle kirjutada (.kk-root { --kk-violet: … }). Font tuleb teemast. */
.kk-root{
  --kk-violet:#5349D3; --kk-lilac:#8B7EFF; --kk-sky:#ADE0F7; --kk-amber:#F2A13B; --kk-amber-hover:#E08A1E; --kk-amber-deep:#9A5B0E;
  --kk-ink:#1B1C20; --kk-paper:#FFFFFF; --kk-mist:#EEF8FD; --kk-haze:#F4F3FE; --kk-line:#DEDBF5; --kk-muted:#575968;
  --kk-header:72px;
  color:var(--kk-ink);
}
.kk-root *,.kk-root *::before,.kk-root *::after{box-sizing:border-box}
.kk-root [hidden]{display:none!important}
.kk-hk{container-type:inline-size;container-name:kkhk}   /* paigutus sõltub ploki laiusest, mitte ekraanist – töötab ka kitsas teemaveerus */
.kk-root button{text-transform:none;box-shadow:none;min-height:0}
.kk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kk-eyebrow{display:block;font-size:.98rem;font-weight:700;color:var(--kk-violet);font-variant-caps:small-caps;letter-spacing:.08em;line-height:1.2}

/* nupud ja kiibid */
.kk-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.8em 1.45em;border-radius:999px;border:1.5px solid transparent;font:inherit;font-weight:700;font-variant-caps:small-caps;letter-spacing:.08em;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer}
.kk-btn-a{background:var(--kk-amber);color:var(--kk-ink)}
.kk-btn-a:hover{background:var(--kk-amber-hover);color:var(--kk-ink)}
.kk-btn-o{border-color:currentColor;color:var(--kk-violet);background:transparent}
.kk-btn-o:hover{background:var(--kk-violet);color:var(--kk-paper);border-color:var(--kk-violet)}
.kk-btn-s{padding:.55em 1.05em;font-size:.92rem}
.kk-chips{display:flex;flex-wrap:wrap;gap:6px}
.kk-chip{font:inherit;font-size:.95rem;font-variant-numeric:tabular-nums;min-width:44px;padding:.42em .9em;border-radius:999px;border:1.5px solid var(--kk-line);background:var(--kk-paper);color:var(--kk-ink);cursor:pointer;line-height:1.3}
.kk-chip:hover{border-color:var(--kk-lilac)}
.kk-chip[aria-pressed="true"]{background:var(--kk-violet);border-color:var(--kk-violet);color:var(--kk-paper)}
.kk-root :focus-visible{outline:3px solid var(--kk-lilac);outline-offset:3px}

.kk-campaign{background:var(--kk-amber);color:var(--kk-ink);font-weight:700;font-variant-caps:small-caps;letter-spacing:.08em;padding:12px 18px;margin-bottom:16px;text-align:center}
/* müügi seis „Tulekul“: hinnakirja asemel teade; toimetajale eelvaate märge */
.kk-peidetud{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;border:1.5px dashed var(--kk-lilac);border-radius:8px;padding:22px 26px;background:var(--kk-paper)}
.kk-peidetud p{margin:0;max-width:60ch;font-size:1.08rem;line-height:1.5}
.kk-eelvaade{border-left:4px solid var(--kk-amber);background:#FFF6E8;padding:10px 14px;margin-bottom:16px;font-size:.92rem}

/* filtrid */
.kk-filters{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;padding:20px 0;border-top:1px solid var(--kk-line);border-bottom:1px solid var(--kk-line);margin-bottom:8px}
.kk-fgroup{display:flex;flex-direction:column;gap:8px;border:0;margin:0;padding:0;min-width:0}
.kk-fgroup legend,.kk-fgroup>label{font-size:.8rem;font-weight:700;color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em;padding:0;margin-bottom:8px}
.kk-select{font:inherit;font-size:.95rem;padding:.48em 2.2em .48em .9em;border-radius:999px;border:1.5px solid var(--kk-line);background:var(--kk-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235349D3' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;appearance:none;-webkit-appearance:none;color:var(--kk-ink);cursor:pointer}
.kk-toggle{display:flex;align-items:center;gap:10px;font-size:.95rem;cursor:pointer;padding-bottom:.45em}
.kk-toggle input{width:18px;height:18px;accent-color:var(--kk-violet)}
.kk-count{margin:0;font-size:.9rem;color:var(--kk-muted)}
/* filtrid: põhirida (toad, korrus, järjestus) + lisafiltrid (pind, hind, omadused, ilmakaared, vabad) */
.kk-filters{flex-direction:column;align-items:stretch;gap:18px}
.kk-f-row{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end}
.kk-f-more{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:flex-end}
.kk-f-ranges{display:flex;flex-wrap:wrap;gap:16px 32px;flex:1 1 460px}
.kk-f-om{flex:1 1 100%}
.kk-f-toggles{display:flex;flex-wrap:wrap;gap:4px 24px}
.kk-f-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.kk-f-reset{font:inherit;font-size:.9rem;background:none;border:0;padding:.2em 0;color:var(--kk-violet);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.kk-f-reset:hover{color:var(--kk-ink)}
.kk-f-toggle{display:none;align-items:center;gap:.35em;font:inherit;font-size:.95rem;font-weight:700;padding:.48em 1.05em;border-radius:999px;border:1.5px solid var(--kk-violet);background:var(--kk-paper);color:var(--kk-violet);cursor:pointer}
.kk-f-toggle[aria-expanded="true"]{background:var(--kk-violet);color:var(--kk-paper)}
.kk-f-n{font-variant-numeric:tabular-nums}
/* kahe pidemega liugur */
.kk-range{flex:1 1 220px;min-width:200px;max-width:420px}
.kk-range-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px}
.kk-range-lbl{font-size:.8rem;font-weight:700;color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em}
.kk-range output{font-size:.92rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.kk-range-track{position:relative;height:32px}
.kk-range-track::before{content:"";position:absolute;left:0;right:0;top:14px;height:4px;border-radius:2px;background:var(--kk-line)}
.kk-range-fill{position:absolute;top:14px;height:4px;border-radius:2px;background:var(--kk-violet);left:0;right:0}
.kk-range input{position:absolute;inset:0;width:100%;height:32px;margin:0;padding:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;z-index:2}
.kk-range input::-webkit-slider-runnable-track{height:32px;background:none;border:0}
.kk-range input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:5px;border-radius:50%;background:var(--kk-paper);border:2px solid var(--kk-violet);box-shadow:0 1px 3px rgba(27,28,32,.25);cursor:grab}
.kk-range input::-moz-range-track{background:none;border:0}
.kk-range input::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--kk-paper);border:2px solid var(--kk-violet);box-shadow:0 1px 3px rgba(27,28,32,.25);cursor:grab}
.kk-range input:focus{outline:none}
.kk-range input:focus-visible::-webkit-slider-thumb{outline:3px solid var(--kk-lilac);outline-offset:2px}
.kk-range input:focus-visible::-moz-range-thumb{outline:3px solid var(--kk-lilac);outline-offset:2px}
.kk-range input:active::-webkit-slider-thumb{cursor:grabbing}

/* tabel + plaan */
.kk-pick{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,30vw,440px);gap:clamp(28px,3vw,48px);align-items:start}
.kk-pick-main{min-width:0}
.kk-tbl-wrap{overflow-x:auto}
table.kk-apts{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0}
.kk-apts th{text-align:left;font-size:.8rem;font-weight:700;color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em;padding:14px 10px;border-bottom:1px solid var(--kk-line);white-space:nowrap;background:none}
.kk-apts th button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;letter-spacing:inherit;font-variant-caps:inherit;display:inline-flex;gap:4px;align-items:center}
.kk-apts th button:hover{color:var(--kk-violet)}
.kk-apts th[aria-sort] button::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}
.kk-apts th[aria-sort="ascending"] button::after{border-bottom:5px solid var(--kk-violet)}
.kk-apts th[aria-sort="descending"] button::after{border-top:5px solid var(--kk-violet)}
.kk-apts td{padding:14px 10px;border-bottom:1px solid var(--kk-line);vertical-align:middle;background:none}
.kk-apts tbody tr{cursor:pointer;transition:background .15s}
.kk-apts tbody tr:hover,.kk-apts tbody tr.kk-hl{background:var(--kk-haze)}
.kk-apts .kk-r{text-align:right;white-space:nowrap}
.kk-apts .kk-nr button{font:inherit;font-weight:700;color:var(--kk-violet);background:none;border:0;padding:0;cursor:pointer;text-align:left;white-space:nowrap}
.kk-apts .kk-nr small{display:block;font-weight:400;font-size:.8rem;color:var(--kk-muted)}
.kk-apts .kk-info{color:var(--kk-muted);font-size:.9rem;max-width:28ch}
.kk-apts .kk-price{font-weight:700}
.kk-apts .kk-go{width:1%;white-space:nowrap}
.kk-pill{display:inline-block;padding:.2em .75em;border-radius:999px;font-size:.8rem;font-weight:700;font-variant-caps:small-caps;letter-spacing:.08em;white-space:nowrap}
.kk-pill.kk-vaba{background:var(--kk-mist);color:var(--kk-violet);box-shadow:inset 0 0 0 1px var(--kk-sky)}
.kk-pill.kk-broneeritud{background:var(--kk-haze);color:var(--kk-ink);box-shadow:inset 0 0 0 1px var(--kk-lilac)}
.kk-pill.kk-myydud{background:var(--kk-paper);color:var(--kk-muted);box-shadow:inset 0 0 0 1px var(--kk-line)}
.kk-empty td{padding:40px 0;text-align:center;color:var(--kk-muted);cursor:default}
.kk-note{font-size:.9rem;color:var(--kk-muted);margin:14px 0 0}

.kk-plan{position:sticky;top:calc(var(--kk-header) + 16px);display:flex;flex-direction:column;gap:12px;min-width:0}
.kk-pp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.kk-pp-fig{margin:0;background:var(--kk-paper);border:1px solid var(--kk-line)}
.kk-pp-svg{display:block;width:100%;height:auto;max-height:calc(100vh - var(--kk-header) - 250px)}
.kk-ap{fill:var(--kk-sky);fill-opacity:.42;stroke:var(--kk-violet);stroke-opacity:.55;stroke-width:1.2px;vector-effect:non-scaling-stroke;fill-rule:evenodd;cursor:pointer;transition:fill .2s,fill-opacity .2s,stroke-width .2s}
.kk-ap.kk-broneeritud{fill:var(--kk-lilac);fill-opacity:.38}
.kk-ap.kk-myydud{fill:var(--kk-ink);fill-opacity:.16}
.kk-ap.kk-dim{fill-opacity:.06;stroke-opacity:.2}
.kk-ap.kk-hl,.kk-ap:focus-visible{fill:var(--kk-violet);fill-opacity:.5;stroke-opacity:1;stroke-width:2.5px;outline:none}
.kk-loc .kk-ap{cursor:default}
.kk-cmp circle{fill:var(--kk-paper);stroke:var(--kk-amber);stroke-width:1.2px;vector-effect:non-scaling-stroke}
.kk-cmp path{fill:var(--kk-amber)}
.kk-cmp text{fill:var(--kk-amber-deep);font:700 24px sans-serif}
.kk-pp-card{min-height:118px;padding:14px 16px;background:var(--kk-mist);border-left:3px solid var(--kk-violet);font-size:.9rem;display:flex;flex-direction:column;gap:4px}
.kk-pp-card p{margin:0}
.kk-pp-k{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kk-pp-k b{font-size:1.1rem}
.kk-pp-price{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.kk-pp-info{color:var(--kk-muted)}
.kk-pp-hint{color:var(--kk-muted);margin:auto 0}
.kk-pp-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:var(--kk-muted)}
.kk-pp-legend li{display:flex;align-items:center;gap:6px;margin:0}
.kk-pp-legend i{width:14px;height:14px;display:inline-block;border:1px solid var(--kk-violet)}
.kk-pp-legend .kk-vaba{background:rgba(173,224,247,.6)}
.kk-pp-legend .kk-broneeritud{background:rgba(139,126,255,.45)}
.kk-pp-legend .kk-myydud{background:rgba(27,28,32,.18)}
.kk-pp-legend .kk-valitud{background:rgba(83,73,211,.6)}

@container kkhk (min-width:1000px){.kk-apts .kk-go,.kk-apts .kk-go-h{display:none}}
@container kkhk (min-width:1000px) and (max-width:1439px){.kk-apts .kk-info,.kk-apts .kk-info-h{display:none}}
@container kkhk (max-width:999px){.kk-pick{grid-template-columns:1fr}.kk-plan{position:static;order:-1;max-width:640px;width:100%;margin-inline:auto}.kk-pp-svg{max-height:62vh}}
@container kkhk (max-width:820px){.kk-f-toggle{display:inline-flex}.kk-f-more{display:none}.kk-f-more.kk-open{display:flex}.kk-range{max-width:none}}
@container kkhk (max-width:700px){
  .kk-count{width:auto}
  table.kk-apts thead{display:none}
  table.kk-apts,table.kk-apts tbody{display:block}
  .kk-apts tbody tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"nr nr st st" "k t p r" "info info info info" "price price go go";gap:10px 12px;padding:18px 0;border-bottom:1px solid var(--kk-line);align-items:center}
  .kk-apts td{border:0;padding:0;min-width:0}
  .kk-apts td[data-l]::before{content:attr(data-l);display:block;font-size:.8rem;color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em;font-weight:700}
  .kk-apts .kk-nr{grid-area:nr;font-size:1.1rem}
  .kk-apts .kk-st{grid-area:st;text-align:right}
  .kk-apts td:nth-child(2){grid-area:k}.kk-apts td:nth-child(3){grid-area:t}.kk-apts td:nth-child(4){grid-area:p}.kk-apts td:nth-child(5){grid-area:r}
  .kk-apts .kk-info{grid-area:info;max-width:none}
  .kk-apts .kk-price{grid-area:price;font-size:1.15rem}
  .kk-apts .kk-go{grid-area:go;width:auto;text-align:right}
  .kk-apts .kk-r{text-align:left;white-space:normal}
  .kk-empty td{grid-column:1/-1}
}

/* korteri aken */
.kk-dlg{border:0;padding:0;background:var(--kk-paper);color:var(--kk-ink);max-width:min(1160px,calc(100% - 24px));width:100%;max-height:calc(100% - 24px);box-shadow:0 30px 80px rgba(27,28,32,.4)}
.kk-dlg::backdrop{background:rgba(27,28,32,.72)}
.kk-dlg-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:999px;border:1.5px solid var(--kk-line);background:var(--kk-paper);color:var(--kk-ink);font-size:1.5rem;line-height:1;cursor:pointer;z-index:2}
.kk-dlg-x:hover{border-color:var(--kk-violet);color:var(--kk-violet)}
.kk-dlg-in{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.kk-dlg-plan{background:var(--kk-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px 24px;border-right:1px solid var(--kk-line);min-width:0;position:relative}
.kk-dlg-tabs{position:absolute;top:12px;left:12px;z-index:1}
.kk-dlg-planlink{display:block;width:100%}
.kk-dlg-img{width:100%;height:auto;max-height:72vh;object-fit:contain;display:block}
.kk-dlg-loc{width:100%;height:auto;max-height:72vh;display:block}
.kk-dlg-facts{padding:56px 32px 28px;display:flex;flex-direction:column;gap:18px;min-width:0;background:var(--kk-mist)}
.kk-dlg-title{font-size:clamp(1.5rem,2.4vw,2rem);margin:0;font-variant-caps:small-caps;letter-spacing:.08em;line-height:1.2}
.kk-dlg-price{font-size:1.9rem;font-weight:300;color:var(--kk-violet);line-height:1.2;margin:0;font-variant-numeric:tabular-nums}
.kk-dlg-dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 20px;font-variant-numeric:tabular-nums}
.kk-dlg-dl dt{color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em;font-size:.9rem;padding-top:.1em}
.kk-dlg-dl dd{margin:0;font-weight:700}
.kk-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.kk-dlg-pager{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--kk-line);padding-top:14px}
.kk-dlg-pager button{font:inherit;font-variant-caps:small-caps;letter-spacing:.08em;background:none;border:0;color:var(--kk-violet);cursor:pointer;padding:.3em 0;font-weight:700}
.kk-dlg-pager button:disabled{color:var(--kk-line);cursor:default}
@media (max-width:820px){.kk-dlg-in{grid-template-columns:1fr}.kk-dlg-plan{border-right:0;border-bottom:1px solid var(--kk-line);padding:64px 12px 12px}.kk-dlg-facts{padding:24px 20px}}

/* numbririba */
ul.kk-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.kk-stats li{padding:28px 16px 26px;border-left:1px solid var(--kk-line);display:flex;flex-direction:column;gap:6px;margin:0}
.kk-stats li:first-child{border-left:0;padding-left:0}
.kk-stats b{font-weight:300;font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1.1;color:var(--kk-violet);font-variant-numeric:tabular-nums;white-space:nowrap}
.kk-stats span{font-size:.9rem;color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em;line-height:1.3}
@media (max-width:900px){ul.kk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kk-stats li{border-left:0;padding-left:0}.kk-stats li:nth-child(n+3){border-top:1px solid var(--kk-line)}}

/* panipaigad ja parkimine */
.kk-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kk-extra{border:1px solid var(--kk-line);padding:22px 22px 20px;display:flex;flex-direction:column;gap:6px;background:var(--kk-paper)}
.kk-extra h4{font-size:1.05rem;margin:0;font-variant-caps:small-caps;letter-spacing:.08em}
.kk-extra b{font-weight:300;font-size:1.9rem;color:var(--kk-violet);font-variant-numeric:tabular-nums;line-height:1.2}
.kk-extra p{font-size:.9rem;color:var(--kk-muted);margin:0}
@media (max-width:820px){.kk-extras{grid-template-columns:1fr}}

/* päringuvorm [katusekuma_vorm] */
form.kk-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:0}
.kk-form .kk-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.kk-form .kk-full{grid-column:1/-1}
.kk-form label{font-size:.8rem;font-weight:700;color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em}
.kk-form input:not([type=checkbox]),.kk-form select,.kk-form textarea{font:inherit;font-size:1rem;color:var(--kk-ink);background:var(--kk-paper);border:1.5px solid var(--kk-line);border-radius:4px;padding:.75em .9em;width:100%;box-shadow:none}
.kk-form select{appearance:none;-webkit-appearance:none;background:var(--kk-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235349D3' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:2.4em}
.kk-form textarea{min-height:120px;resize:vertical}
.kk-form input:focus,.kk-form select:focus,.kk-form textarea:focus{outline:none;border-color:var(--kk-violet);box-shadow:0 0 0 3px var(--kk-haze)}
.kk-form .kk-consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--kk-muted);font-variant-caps:normal;letter-spacing:0;font-weight:400}
.kk-form .kk-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--kk-violet);flex:none}
.kk-form-foot{grid-column:1/-1}
.kk-form-msg{grid-column:1/-1;padding:16px 18px;background:var(--kk-mist);border-left:3px solid var(--kk-violet);font-size:.95rem}
.kk-form-msg.kk-err{border-left-color:var(--kk-amber-deep);background:#FFF6E5}
.kk-form .kk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kk-form button:disabled{opacity:.6;cursor:wait}
@media (max-width:560px){form.kk-form{grid-template-columns:1fr}}
/* müügijuhi valik ja kohustuslike väljade märkimine */
.kk-form fieldset.kk-saaja{border:0;margin:0;padding:0;min-width:0}
.kk-form .kk-saaja legend{font-size:.8rem;font-weight:700;color:var(--kk-muted);font-variant-caps:small-caps;letter-spacing:.08em;padding:0;margin-bottom:8px}
.kk-saaja-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kk-form label.kk-saaja-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--kk-line);border-radius:6px;background:var(--kk-paper);cursor:pointer;font-variant-caps:normal;letter-spacing:0;color:var(--kk-ink);font-size:1rem;font-weight:400}
.kk-form label.kk-saaja-opt:hover{border-color:var(--kk-lilac)}
.kk-saaja-opt input{position:absolute;opacity:0;width:1px;height:1px}
.kk-saaja-av{flex:none;width:40px;height:40px;border-radius:999px;background:var(--kk-lilac);color:var(--kk-paper);display:grid;place-items:center;font-weight:700;font-size:.9rem;letter-spacing:.04em}
.kk-saaja-txt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.kk-saaja-txt small{color:var(--kk-muted);font-size:.85rem}
.kk-form label.kk-saaja-opt:has(input:checked){border-color:var(--kk-violet);background:var(--kk-haze);box-shadow:inset 0 0 0 1px var(--kk-violet)}
.kk-saaja-opt:has(input:checked) .kk-saaja-av{background:var(--kk-violet)}
.kk-saaja-opt:has(input:focus-visible){outline:3px solid var(--kk-lilac);outline-offset:2px}
.kk-form [aria-invalid="true"]{border-color:var(--kk-amber-deep)!important;background:#FFF9F0}
.kk-form .kk-saaja.kk-invalid .kk-saaja-opt{border-color:var(--kk-amber-deep)}
.kk-form .kk-consent.kk-invalid{color:var(--kk-amber-deep)}
@media (max-width:420px){.kk-saaja-opts{grid-template-columns:1fr}}
.kk-form .kk-consent a{color:var(--kk-violet);text-underline-offset:3px}
