.shk-root{
  /* Värvid tulevad Kadence'i globaalsest paletist — saiti ennast ei muudeta.
     Fallbackid = sanglepa.ee praegused väärtused (loetud 31.08.2026). */
  --shk-primary: var(--global-palette1, #3D3868);
  --shk-soft:    var(--global-palette2, #DED8F8);
  --shk-ink:     var(--global-palette4, #303030);
  --shk-line:    var(--global-palette6, #ebebeb);
  --shk-tint:    var(--global-palette8, #F7FAFC);
  --shk-muted:   #6b6a86;
  font-family: inherit; color: var(--shk-ink);
}
.shk-note{background:#fff8e1;border:1px solid #f0d98a;color:#6b5a10;
  padding:8px 12px;border-radius:8px;font-size:13px;margin-bottom:12px;}
.shk-loading{padding:24px;color:var(--shk-muted);}
.shk-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-bottom:14px;}
.shk-count{font-size:14px;color:var(--shk-muted);}
.shk-count b{color:var(--shk-primary);}
/* Filtrid: siltide veerg kohandub pikima sildi järgi (nt vene "ПОКАЗАТЬ"),
   nii et sildid ei murdu ega lähe read paigast ära.
   NB: display:contents AINULT filtriridadele — korruseplaani nupuread (.shk-fp-bldg /
   .shk-fp-floor) kasutavad sama klassi .shk-frow ja peavad jääma tavaliseks flex-reaks. */
.shk-filters{display:grid;grid-template-columns:max-content 1fr;gap:10px 14px;align-items:center;margin-bottom:16px;}
.shk-filters > .shk-frow{display:contents;}
.shk-frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.shk-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.shk-flabel{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--shk-muted);white-space:nowrap;}
/* Kitsal ekraanil: silt nuppude kohale omaette reale */
@media(max-width:560px){
  .shk-filters{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
  .shk-filters > .shk-frow{display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
}
.shk-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--shk-line);
  background:#fff;color:var(--shk-ink);font-size:14px;cursor:pointer;transition:all .12s;}
.shk-chip:hover{border-color:var(--shk-primary);}
.shk-chip.on{background:var(--shk-primary);border-color:var(--shk-primary);color:#fff;font-weight:700;}
.shk-toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;}
.shk-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start;}
@media(max-width:900px){.shk-layout{grid-template-columns:1fr;}}
.shk-tablewrap{overflow-x:auto;border:1px solid var(--shk-line);border-radius:12px;}
table.shk-table{border-collapse:collapse;width:100%;font-size:14px;min-width:640px;}
.shk-table th,.shk-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--shk-line);white-space:nowrap;}
.shk-table th{background:var(--shk-tint);color:var(--shk-muted);font-weight:700;font-size:12px;
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;user-select:none;}
.shk-table tbody tr{cursor:pointer;transition:background .1s;}
.shk-table tbody tr:hover,.shk-table tbody tr.active{background:var(--shk-soft);}
.shk-table td.num{text-align:right;font-variant-numeric:tabular-nums;}
.shk-price{font-weight:700;}
.shk-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.shk-badge.vaba{background:#e3f6e8;color:#1c7a3d;}
.shk-badge.broneeritud{background:#fff2cf;color:#8a6a00;}
.shk-badge.muudud{background:#ececf0;color:#7a7a86;}
.shk-empty{padding:28px;text-align:center;color:var(--shk-muted);}
.shk-plan{position:sticky;top:16px;border:1px solid var(--shk-line);border-radius:12px;
  overflow:hidden;background:#fff;}
.shk-plan-head{padding:12px 14px;background:var(--shk-ink);color:#fff;font-size:13px;
  letter-spacing:.05em;text-transform:uppercase;}
.shk-plan-img{display:block;width:100%;height:auto;background:var(--shk-tint);min-height:160px;}
.shk-plan-meta{padding:12px 14px;font-size:14px;line-height:1.5;}
.shk-plan-meta .big{font-size:16px;font-weight:700;color:var(--shk-primary);}
.shk-plan-empty{padding:28px 14px;color:var(--shk-muted);font-size:14px;}

/* v0.2 additions */
.shk-bar{justify-content:space-between;}
.shk-reset{background:none;border:1px solid var(--shk-line);border-radius:8px;
  padding:6px 12px;font-size:13px;color:var(--shk-muted);cursor:pointer;}
.shk-reset:hover{border-color:var(--shk-primary);color:var(--shk-primary);}
.shk-arrow{color:var(--shk-primary);font-size:10px;}
.shk-btn{display:inline-block;padding:9px 16px;border-radius:8px;border:1px solid var(--shk-primary);
  background:#fff;color:var(--shk-primary);font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;}
.shk-btn:hover{background:var(--shk-soft);}
.shk-btn-primary{background:var(--shk-primary);color:#fff;}
.shk-btn-primary:hover{background:var(--shk-primary);color:#fff;}
/* modal */
.shk-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.shk-modal-bg{position:absolute;inset:0;background:rgba(30,27,59,.55);}
.shk-modal-box{position:relative;background:#fff;border-radius:14px;max-width:900px;width:100%;
  max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);}
.shk-m-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:28px;
  line-height:1;color:#fff;cursor:pointer;z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.4);}
.shk-m-grid{display:grid;grid-template-columns:1.1fr 1fr;}
@media(max-width:720px){.shk-m-grid{grid-template-columns:1fr;}}
.shk-m-left{background:var(--shk-tint);display:flex;align-items:center;justify-content:center;}
.shk-m-img{width:100%;height:auto;display:block;}
.shk-m-noimg{padding:60px 20px;color:var(--shk-muted);}
.shk-m-right{padding:26px 26px 30px;}
.shk-m-title{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--shk-muted);}
.shk-m-price{font-size:26px;font-weight:800;color:var(--shk-primary);margin:4px 0 16px;display:flex;align-items:center;gap:10px;}
.shk-m-price .shk-badge{font-size:12px;}
table.shk-m-specs{width:100%;border-collapse:collapse;margin-bottom:16px;}
.shk-m-specs th{text-align:left;color:var(--shk-muted);font-weight:600;padding:7px 0;width:120px;font-size:14px;}
.shk-m-specs td{padding:7px 0;font-weight:700;font-size:14px;border-bottom:1px solid var(--shk-line);}

/* v0.3 interaktiivne majaskeem */
.shk-plan-head-b{}
.shk-schem{position:relative;line-height:0;background:var(--shk-tint);}
.shk-schem-img{display:block;width:100%;height:auto;}
.shk-schem-svg{position:absolute;inset:0;width:100%;height:100%;}
.shk-zone{fill:color-mix(in srgb, var(--shk-primary) 0%, transparent);stroke:color-mix(in srgb, var(--shk-primary) 0%, transparent);stroke-width:.4;
  cursor:pointer;transition:fill .12s,stroke .12s;}
.shk-schem:hover .shk-zone{stroke:color-mix(in srgb, var(--shk-primary) 35%, transparent);}
.shk-zone:hover{fill:color-mix(in srgb, var(--shk-primary) 45%, transparent);stroke:var(--shk-primary);}
.shk-zone.hot{fill:color-mix(in srgb, var(--shk-primary) 60%, transparent);stroke:var(--shk-primary);stroke-width:.6;}
.shk-plan-metaholder .shk-plan-meta{padding:12px 14px;}

/* v0.5 — korteriplaan külgpaneelis */
.shk-plan-floor{border-top:1px solid var(--shk-line);}
.shk-plan-floor-lbl{padding:8px 14px 0;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--shk-muted);}
.shk-plan-floor-img{display:block;width:100%;height:auto;padding:6px 14px 12px;}

/* v0.5 — korruseplaanide vaatur */
.shk-fp{margin-top:34px;border-top:2px solid var(--shk-line);padding-top:22px;}
.shk-fp-title{font-size:22px;font-weight:800;color:var(--shk-ink);margin:0 0 14px;}
.shk-fp-bldg,.shk-fp-floor{gap:8px;margin-bottom:10px;}
.shk-fp-view{margin-top:8px;border:1px solid var(--shk-line);border-radius:12px;overflow:hidden;background:var(--shk-tint);position:relative;}
.shk-fp-img{display:block;width:100%;height:auto;}
.shk-fp-pdf{display:block;width:100%;height:75vh;border:0;background:#fff;}
.shk-fp-open{position:absolute;top:12px;right:12px;background:#fff;}


/* v0.6 — pop-up kontaktivorm (Fluent) */
.shk-m-right{overflow:auto;max-height:90vh;}
/* Pop-upi järjekord: korteri andmed → "Lae alla PDF" → vahejoon → "Küsi lisainfot" + vorm */
.shk-m-formtitle{font-size:20px;font-weight:800;color:var(--shk-primary);margin:0 0 10px;}
.shk-m-apt{margin-bottom:14px;}
.shk-m-apt .shk-m-title{margin-bottom:2px;}
.shk-m-form .ff-el-input--label label{font-size:13px;color:var(--shk-muted);}
.shk-m-form input[type=text],.shk-m-form input[type=email],.shk-m-form input[type=tel],.shk-m-form textarea{width:100%;}
.shk-m-form .ff-btn-submit,.shk-m-form button[type=submit]{background:var(--shk-primary)!important;border-color:var(--shk-primary)!important;}

/* v0.7 — tabeli joondus ja veerud */
.shk-table th, .shk-table td { text-align: center !important; }
.shk-table td.num { text-align: center !important; }
.shk-table th { white-space: normal; vertical-align: middle; }   /* pikad päised (Rõdu/terrass m²) reavahetusega */
.shk-table td { white-space: nowrap; }
.shk-table th .shk-arrow { display: inline; }

/* v0.7.1 — Rõdu/terrass veerg kitsamaks (päis murdub) */
.shk-table th[data-k="balc"]{ width:78px; white-space:normal; }
.shk-table th[data-k="area"]{ width:88px; white-space:normal; }

/* v1.1 — pop-upi "Lae alla PDF" nupp */
.shk-m-actions{ margin:0 0 18px; padding-bottom:18px; border-bottom:1px solid var(--shk-line); }
.shk-print-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--shk-primary); border:1px solid var(--shk-primary);
  border-radius:8px; padding:9px 16px; font-size:14px; font-weight:700;
  font-family:inherit; cursor:pointer; transition:background .12s;
}
.shk-print-btn::before{ content:"⤓"; font-size:15px; line-height:1; }
.shk-print-btn:hover:not(:disabled){ background:var(--shk-soft); }
.shk-print-btn:disabled{ opacity:.6; cursor:default; }
.shk-print-btn:focus-visible{ outline:2px solid var(--shk-primary); outline-offset:2px; }

/* v0.1.7 — teema annab tabeli päiselahtritele oma tausta; pop-upi andmetabelis see segab */
.shk-m-specs th,
.shk-m-specs td{ background:transparent !important; }
.shk-m-specs th{ color:var(--shk-muted) !important; }
.shk-m-specs tr{ background:transparent !important; }
