.elementor-6821 .elementor-element.elementor-element-599ab53{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6821 .elementor-element.elementor-element-599ab53:not(.elementor-motion-effects-element-type-background), .elementor-6821 .elementor-element.elementor-element-599ab53 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-6821 .elementor-element.elementor-element-ae5e465{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6821 .elementor-element.elementor-element-5a9ff34{width:var( --container-widget-width, 0% );max-width:0%;--container-widget-width:0%;--container-widget-flex-grow:0;top:0px;}body:not(.rtl) .elementor-6821 .elementor-element.elementor-element-5a9ff34{left:0px;}body.rtl .elementor-6821 .elementor-element.elementor-element-5a9ff34{right:0px;}.elementor-6821 .elementor-element.elementor-element-af6033f{width:auto;max-width:auto;margin:-97px 0px calc(var(--kit-widget-spacing, 0px) + 48px) 0px;z-index:2;}.elementor-6821 .elementor-element.elementor-element-af6033f.elementor-element{--align-self:center;}.elementor-6821 .elementor-element.elementor-element-240a4ca{--display:flex;--min-height:calc(100vh - 90px);--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--flex-wrap:wrap;border-style:none;--border-style:none;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;--z-index:1;}.elementor-6821 .elementor-element.elementor-element-240a4ca:not(.elementor-motion-effects-element-type-background), .elementor-6821 .elementor-element.elementor-element-240a4ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0000000A;}.elementor-6821 .elementor-element.elementor-element-6e2ac8f{width:100%;max-width:100%;}.elementor-6821 .elementor-element.elementor-element-9be1d59{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:0em;--padding-bottom:0em;--padding-left:2em;--padding-right:2em;}.elementor-6821 .elementor-element.elementor-element-f1df91d{border-style:none;}.elementor-6821 .elementor-element.elementor-element-a3b6a7d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0em;--padding-bottom:0em;--padding-left:2em;--padding-right:2em;}.elementor-6821 .elementor-element.elementor-element-7be1716{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:80px;--padding-bottom:80px;--padding-left:10px;--padding-right:10px;}.elementor-6821 .elementor-element.elementor-element-bb0faf4{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6821 .elementor-element.elementor-element-fe97176{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-6821 .elementor-element.elementor-element-a9afef6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1200px){.elementor-6821 .elementor-element.elementor-element-240a4ca{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-6821 .elementor-element.elementor-element-6e2ac8f{width:100%;max-width:100%;}.elementor-6821 .elementor-element.elementor-element-9be1d59{--padding-top:0em;--padding-bottom:0em;--padding-left:1em;--padding-right:1em;}.elementor-6821 .elementor-element.elementor-element-a3b6a7d{--padding-top:0em;--padding-bottom:0em;--padding-left:1em;--padding-right:1em;}.elementor-6821 .elementor-element.elementor-element-7be1716{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:35px 35px;--row-gap:35px;--column-gap:35px;--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}}@media(max-width:1024px){.elementor-6821 .elementor-element.elementor-element-240a4ca{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6821 .elementor-element.elementor-element-9be1d59{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-6821 .elementor-element.elementor-element-a3b6a7d{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-6821 .elementor-element.elementor-element-7be1716{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:30px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}}@media(max-width:880px){.elementor-6821 .elementor-element.elementor-element-240a4ca{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6821 .elementor-element.elementor-element-9be1d59{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-6821 .elementor-element.elementor-element-7be1716{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:30px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}}@media(max-width:700px){.elementor-6821 .elementor-element.elementor-element-240a4ca{--min-height:500px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6821 .elementor-element.elementor-element-9be1d59{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-6821 .elementor-element.elementor-element-f1df91d{padding:0px 0px 0px 0px;}.elementor-6821 .elementor-element.elementor-element-7be1716{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:24px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}.elementor-6821 .elementor-element.elementor-element-bb0faf4{--width:100%;}}@media(min-width:701px){.elementor-6821 .elementor-element.elementor-element-a3b6a7d{--content-width:1840px;}.elementor-6821 .elementor-element.elementor-element-bb0faf4{--width:340px;}.elementor-6821 .elementor-element.elementor-element-a9afef6{--width:calc(100% - 380px);}}@media(max-width:1200px) and (min-width:701px){.elementor-6821 .elementor-element.elementor-element-a3b6a7d{--content-width:100%;}.elementor-6821 .elementor-element.elementor-element-bb0faf4{--width:280px;}.elementor-6821 .elementor-element.elementor-element-a9afef6{--width:calc(100% - 320px);}}@media(max-width:1024px) and (min-width:701px){.elementor-6821 .elementor-element.elementor-element-bb0faf4{--width:220px;}.elementor-6821 .elementor-element.elementor-element-a9afef6{--width:calc(100% - 240px);}}@media(max-width:880px) and (min-width:701px){.elementor-6821 .elementor-element.elementor-element-bb0faf4{--width:180px;}.elementor-6821 .elementor-element.elementor-element-a9afef6{--width:calc(100% - 200px);}}/* Start custom CSS for container, class: .elementor-element-ae5e465 *//* =========================================================================
   ELIS – VÝŠKY A ROZVRŽENÍ
   (velká vizualizace + blok s lištou a půdorysem)

   Pořadí vložení: elis-ostatni.css → elis-tabulka.css → elis-lista-patra.css → elis-vysky.css

   Třídy v Elementoru:
     Nadřazený kontejner (vizualizace + Půdorys + Lišta):
       elis-sticky
     Kontejner velké vizualizace:
       elise-mapy-vizualizace elis-level-buildings
       uvnitř: widget Výběr patra + widget Počty jednotek – pruh
     Kontejner „Půdorys + Lišta“:
       elise-mapy-interactive-box elis-level-floor
       uvnitř: widget Lišta patra + kontejner „Půdorys“ (bez třídy)

   VÝŠKY SE NASTAVUJÍ JEN TADY (pro každé zařízení):
     --elis-box-h      výška vizualizace i bloku lišta + půdorys
     --elis-bar        lišta patra
     --elis-picker-pad volné místo nad + pod půdorysem
     --elis-map-h      dopočítá se: blok − lišta − volné místo
     --elis-counts-gap odsazení pruhu s počty od spodku vizualizace
     --elis-map-w      nejvyšší šířka půdorysu patra
   ========================================================================= */

/* === Desktop: výška podle okna, ale nejvýš podle poměru renderu === */
:is(.elise-mapy-vizualizace, .elise-mapy-interactive-box) {
  --elis-box-min: 650px;     /* nejmenší výška (nízké notebooky) */
  --elis-box-max: 900px;     /* největší výška (velké monitory) */
  --elis-header: 90px;       /* hlavička webu */
  --elis-ratio: 56vw;        /* výška podle šířky okna (poměr renderu 5504 × 3072) */
  --elis-box-h: clamp(
    var(--elis-box-min),
    min(calc(100vh - var(--elis-header)), var(--elis-ratio)),
    var(--elis-box-max)
  );
  --elis-bar: 80px;
  --elis-picker-pad: 100px;
  --elis-counts-gap: 24px;
  --elis-map-w: 1300px;      /* nejvyšší šířka půdorysu (velké monitory) */
}

/* === Notebook (≤ 1366 px) === */
@media (max-width: 1366px) {
  :is(.elise-mapy-vizualizace, .elise-mapy-interactive-box) {
    --elis-map-w: 1100px;    /* půdorys na notebooku užší */
  }
}

/* === Tablet (≤ 1024 px) === */
@media (max-width: 1024px) {
  :is(.elise-mapy-vizualizace, .elise-mapy-interactive-box) {
    --elis-box-h: 470px;
    --elis-bar: 56px;
    --elis-picker-pad: 40px;
    --elis-counts-gap: 20px;
    --elis-map-w: 100%;
  }
}

/* === Telefon na výšku (≤ 767 px) === */
@media (max-width: 767px) {
  :is(.elise-mapy-vizualizace, .elise-mapy-interactive-box) {
    --elis-box-h: 260px;
    --elis-bar: 50px;
    --elis-picker-pad: 20px;
    --elis-counts-gap: 12px;
  }
}

/* === Telefon na šířku (nízký displej) === */
@media (orientation: landscape) and (max-height: 500px) {
  :is(.elise-mapy-vizualizace, .elise-mapy-interactive-box) {
    --elis-box-h: 240px;
    --elis-bar: 50px;
    --elis-picker-pad: 10px;
    --elis-counts-gap: 10px;
  }
}

/* =========================================================================
   Společné: pevná výška obou bloků, nic nepřeroste
   ========================================================================= */

:is(.elise-mapy-vizualizace, .elise-mapy-interactive-box) {
  display: flex !important;
  flex-direction: column;
  flex-wrap: nowrap;
  box-sizing: border-box;
  height: var(--elis-box-h) !important;
  min-height: 0 !important;
  max-height: var(--elis-box-h) !important;
  overflow: hidden;
}

/* =========================================================================
   Velká vizualizace: render vyplní celý blok,
   pruh s počty leží přes jeho spodní část
   ========================================================================= */

.elise-mapy-vizualizace {
  position: relative;
}

.elise-mapy-vizualizace > .elementor-widget:has(.elis-floor-picker) {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.elise-mapy-vizualizace > .elementor-widget:not(:has(.elis-floor-picker)) {
  position: absolute;
  inset-inline: 0;
  inset-block-end: var(--elis-counts-gap);
  z-index: 2;
  width: 100%;
  margin: 0 !important;
  pointer-events: none;
}

.elise-mapy-vizualizace > .elementor-widget:not(:has(.elis-floor-picker)) * {
  pointer-events: auto;
}

.elise-mapy-vizualizace > .elementor-widget > .elementor-widget-container,
.elise-mapy-vizualizace .elis-floor-picker {
  height: 100%;
}

.elise-mapy-vizualizace .elis-floor-picker .elis-map {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.elise-mapy-vizualizace .elis-floor-picker .elis-map__background {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.elise-mapy-vizualizace .elis-floor-picker .elis-map__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* =========================================================================
   Blok lišta + půdorys
   ========================================================================= */

.elise-mapy-interactive-box {
  --elis-map-h: calc(var(--elis-box-h) - var(--elis-bar) - var(--elis-picker-pad));
}

.elise-mapy-interactive-box > .elementor-widget:has(.elis-floor-bar) {
  flex: none;
  width: 100%;
}

.elis-floor-bar {
  box-sizing: border-box;
  height: var(--elis-bar, 80px);
  min-height: var(--elis-bar, 80px);
}

.elise-mapy-interactive-box > .e-con {
  --min-height: 0px;
  flex: 1 1 auto;
  min-height: 0 !important;
  height: auto !important;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
}

.elise-mapy-interactive-box .elis-unit-picker .elis-map {
  container-type: normal;
  width: fit-content;
  max-width: min(100%, var(--elis-map-w, 100%));
  margin-inline: auto;
}

.elise-mapy-interactive-box .elis-unit-picker .elis-map__background {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: var(--elis-map-h);
}

.elise-mapy-interactive-box .elis-unit-picker .elis-map:not(:has(.elis-map__background)) .elis-map__svg {
  position: static;
  display: block;
  width: auto;
  height: var(--elis-map-h);
  max-width: 100%;
  max-height: var(--elis-map-h);
  margin-inline: auto;
}

/* =========================================================================
   Skrývání bloků (ELIS přepíná úrovně budovy / patra)
   ========================================================================= */

:is(.elise-mapy-vizualizace, .elise-mapy-interactive-box)[hidden] {
  display: none !important;
}

body[data-elis-level="buildings"] .elise-mapy-interactive-box,
.elise-mapy-interactive-box:not(:has(.elis-unit-picker .elis-map:not([hidden]))) {
  display: none !important;
}/* End custom CSS */
/* Start custom CSS for elis-floor-bar, class: .elementor-element-6e2ac8f *//* =========================================================================
   ELIS – LIŠTA PATRA (K8)
   Zpět na dům, název podlaží, počet volných, výběr budovy a patra.
   Výšku lišty řídí elis-vysky.css (--elis-bar).

   Pořadí vložení: elis-ostatni.css → elis-tabulka.css → elis-lista-patra.css → elis-vysky.css
   Selektory začínají „html body“, aby lištu nepřebilo nic jiného
   (obecná pravidla ELIS ani styly widgetu v Elementoru).
   ========================================================================= */


/* =========================================================================
   1) POČÍTAČ (výchozí)
   ========================================================================= */

/* Kontejner lišty: bílý box přes celou šířku, obsah lícuje s boxed 1840 px webu */
html body .elis-floor-bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 15px 20px;
  /* vnější 2em + boxed 1840 px + vnitřní 10 px */
  padding: 0 calc(max(2em, (100% - 1840px) / 2) + 10px);
  border-block-end: 1px solid var(--sample-ink-a20);
  background: var(--sample-white);
  color: var(--sample-ink-900);
  font-family: var(--sample-font-sans);
}

html body .elis-floor-bar :is(p, ul, dl, dd, h2) {
  margin: 0;
}

/* Levá část: Zpět na dům, název podlaží, počet volných */
html body .elis-floor-bar .elis-floor-bar__heading {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px 20px;
}

html body .elis-floor-bar .elis-floor-bar__place {
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}

/* Zpět na dům: bílá pilulka s obrysem a šipkou vlevo */
html body .elis-floor-bar .elis-floor-bar__back,
html body .elis-floor-bar .elis-floor-bar__back:is(:hover, :focus, :active) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-block-size: 40px;
  margin: 0;
  padding: 0 20px 0 15px;
  border: 2px solid var(--sample-ink-900);
  border-radius: 999px;
  background: var(--sample-white);
  color: var(--sample-ink-900);
  font: 600 12px / 1 var(--sample-font-sans);
  text-decoration: none;
  cursor: pointer;
  transition: none;
}

html body .elis-floor-bar .elis-floor-bar__back::before {
  content: "";
  display: block;
  flex: none;
  inline-size: 20px;
  block-size: 20px;
  background: var(--sample-ink-900);
  mask: var(--sample-icon-chevron) center / contain no-repeat;
  rotate: 90deg;
}

html body .elis-floor-bar :is(button, select):focus-visible {
  outline: 2px solid var(--elis-focus);
  outline-offset: 2px;
}

/* Čip „N volné z M“: modrá pilulka */
html body .elis-floor-bar .elis-floor-bar__count {
  display: inline-flex;
  align-items: center;
  min-block-size: 21px;
  padding: 0 15px;
  border-radius: 999px;
  background: var(--sample-blue-400);
  color: var(--sample-ink-900);
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

/* Pravá část: výběr budovy a patra */
html body .elis-floor-bar .elis-floor-options {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 15px 30px;
  min-inline-size: 0;
}

html body .elis-floor-bar :is(.elis-floor-options__buildings, .elis-floor-options__floors) {
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/* Popisky „Budova“ a „Patro“ vlevo od voleb */
html body .elis-floor-bar .elis-floor-options__legend {
  float: left;
  margin-inline-end: 10px;
  padding: 0;
  color: var(--sample-ink-600);
  font-size: 12px;
  line-height: 30px;
}

html body .elis-floor-bar .elis-floor-options__chip-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}

/* Čipy budov a pater: bílé s obrysem, zvolený tmavý */
html body .elis-floor-bar :is(.elis-floor-options__floor, .elis-floor-options__building) {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  min-block-size: 30px;
  padding: 0 15px;
  border: 1px solid var(--sample-ink-a20);
  border-radius: 999px;
  background: var(--sample-white);
  color: var(--sample-ink-900);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

html body .elis-floor-bar :is(.elis-floor-options__floor, .elis-floor-options__building) input {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

html body .elis-floor-bar :is(.elis-floor-options__floor, .elis-floor-options__building):has(input:checked) {
  border-color: var(--sample-ink-900);
  background: var(--sample-ink-900);
  color: var(--sample-white);
  font-weight: 600;
}

html body .elis-floor-bar :is(.elis-floor-options__floor, .elis-floor-options__building):has(input:focus-visible) {
  outline: 2px solid var(--elis-focus);
  outline-offset: 2px;
}

html body .elis-floor-bar .elis-floor-options__count {
  color: var(--sample-ink-600);
  font-weight: 400;
}

html body .elis-floor-bar :is(.elis-floor-options__floor, .elis-floor-options__building):has(input:checked) .elis-floor-options__count {
  color: var(--sample-white-a60);
}

/* Rozbalovací výběr budovy a patra: pilulka se šipkou */
html body .elis-floor-bar .elis-floor-options .elis-floor-options__select {
  box-sizing: border-box;
  inline-size: auto;
  min-inline-size: 112px;
  max-inline-size: 100%;
  min-block-size: 30px;
  margin: 0;
  padding: 0 35px 0 15px;
  border: 1px solid var(--sample-ink-a20);
  border-radius: 999px;
  appearance: none;
  background: var(--sample-white);
  color: var(--sample-ink-900);
  font: 400 12px / 1 var(--sample-font-sans);
  transition: none;
}

html body .elis-floor-bar .elis-floor-options__dropdown {
  position: relative;
}

html body .elis-floor-bar .elis-floor-options__dropdown::after {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-end: 15px;
  inline-size: 12px;
  background: var(--sample-ink-900);
  mask: var(--sample-icon-chevron) center / contain no-repeat;
  pointer-events: none;
}


/* =========================================================================
   2) NOTEBOOK (≤ 1366 px): obsah na 100 % šířky
   ========================================================================= */
@media (max-width: 1366px) {
  html body .elis-floor-bar {
    padding: 0 calc(1em + 10px);
  }
}


/* =========================================================================
   3) TABLET (≤ 1024 px): užší a kompaktnější
   ========================================================================= */
@media (max-width: 1024px) {
  html body .elis-floor-bar {
    padding: 0 20px;
    gap: 10px 14px;
  }

  html body .elis-floor-bar .elis-floor-bar__heading {
    gap: 8px 12px;
  }

  html body .elis-floor-bar .elis-floor-bar__back,
  html body .elis-floor-bar .elis-floor-bar__back:is(:hover, :focus, :active) {
    min-block-size: 32px;
    gap: 6px;
    padding: 0 14px 0 10px;
    border-width: 1.5px;
    font-size: 11px;
  }

  html body .elis-floor-bar .elis-floor-bar__back::before {
    inline-size: 15px;
    block-size: 15px;
  }

  html body .elis-floor-bar .elis-floor-bar__place {
    font-size: 14px;
  }

  html body .elis-floor-bar .elis-floor-bar__count {
    min-block-size: 19px;
    padding: 0 10px;
    font-size: 11px;
  }

  html body .elis-floor-bar .elis-floor-options {
    gap: 8px 14px;
  }

  html body .elis-floor-bar .elis-floor-options__legend {
    margin-inline-end: 6px;
    font-size: 11px;
    line-height: 28px;
  }

  html body .elis-floor-bar :is(.elis-floor-options__floor, .elis-floor-options__building) {
    min-block-size: 28px;
    padding: 0 12px;
    font-size: 11px;
  }

  html body .elis-floor-bar .elis-floor-options .elis-floor-options__select {
    min-inline-size: 90px;
    min-block-size: 28px;
    padding: 0 30px 0 12px;
    font-size: 11px;
  }

  html body .elis-floor-bar .elis-floor-options__dropdown::after {
    inset-inline-end: 12px;
    inline-size: 10px;
  }
}


/* =========================================================================
   4) TELEFON na výšku i na šířku: šipka zpět, počet volných,
      výběr budovy a patra – co nejkompaktněji
   ========================================================================= */
@media (max-width: 767px), (orientation: landscape) and (max-height: 500px) {
  html body .elis-floor-bar {
    padding: 0 16px;
    gap: 8px;
  }

  html body .elis-floor-bar .elis-floor-bar__heading {
    gap: 8px;
  }

  /* Skrytí názvu podlaží a popisků Budova / Patro */
  html body .elis-floor-bar :is(.elis-floor-bar__place, .elis-floor-options__legend) {
    display: none;
  }

  /* Čip „N volné z M“ menší */
  html body .elis-floor-bar .elis-floor-bar__count {
    min-block-size: 18px;
    padding: 0 8px;
    font-size: 10px;
  }

  /* Zpět: jen šipka v jemném kolečku, text skrytý ve všech stavech */
  html body .elis-floor-bar .elis-floor-bar__back,
  html body .elis-floor-bar .elis-floor-bar__back:is(:hover, :focus, :active) {
    flex: none;
    inline-size: 34px;
    block-size: 34px;
    min-inline-size: 34px;
    min-block-size: 34px;
    padding: 0;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--sample-ink-a20);
    background: var(--sample-white);
    color: transparent;
    font-size: 0;
    line-height: 0;
    white-space: nowrap;
  }

  html body .elis-floor-bar .elis-floor-bar__back::before {
    display: block;
    inline-size: 16px;
    block-size: 16px;
    background: var(--sample-ink-600);
  }

  /* Výběr budovy a patra vpravo, mezera mezi nimi 10 px */
  html body .elis-floor-bar .elis-floor-options {
    justify-content: flex-end;
    gap: 10px;
  }

  html body .elis-floor-bar .elis-floor-options .elis-floor-options__select {
    min-inline-size: 0;
    max-inline-size: 150px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f1df91d *//* = Mobilní lišta popisků sloupců = */
:root {
	--tab-legend-height: 50px;   /* výška lišty */
	--tab-legend-font: 9px;      /* velikost písma */
	--tab-legend-outer: 20px;    /* odsazení tabulky od kraje – obsah lišty se odsadí stejně */
}

/* Obal: linky přes celou šířku, spodní tmavší */
.elis-tab-legend {
	display: grid;
	grid-template-columns: var(--tab-m-cols, 58px minmax(0, 1fr) minmax(0, 1.15fr) 26px);
	column-gap: var(--tab-m-gap, 8px);
	align-items: center;
	box-sizing: border-box;
	inline-size: 100%;
	block-size: var(--tab-legend-height);
	margin: 0;
	padding: 0 calc(var(--tab-legend-outer) + var(--tab-m-pad, 14px));
	border: 0;
	border-block-start: 1px solid rgb(36 34 31 / 0.1);
	border-block-end: 1px solid rgb(36 34 31 / 0.35);
	background: #fff;
	font-family: Jost, sans-serif;
}

.elis-tab-legend__col {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	color: #9a968f;
	font-size: var(--tab-legend-font);
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.elis-tab-legend__col span {
	display: block;
}

/* Hlavní údaj sloupce (Byt, Cena) */
.elis-tab-legend__col .is-hlavni {
	color: #24221f;
	font-weight: 600;
}

/* Detail: šipka v kroužku jako v řádcích tabulky */
.elis-tab-legend__col--detail {
	align-items: flex-end;
}

.elis-tab-legend__sipka {
	position: relative;
	inline-size: 22px;
	block-size: 22px;
	border-radius: 50%;
	background: #f4efe7;
}

.elis-tab-legend__sipka::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	inline-size: 12px;
	block-size: 12px;
	background: #6f6b65;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.17 5.83l-8.34 8.34M14.17 13.33v-7.5h-7.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.17 5.83l-8.34 8.34M14.17 13.33v-7.5h-7.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-599ab53 *//* =========================================================================
   ELIS – OSTATNÍ KOMPONENTY
   Proměnné, společné styly, tlačítka seznamu, počty, mapy a náhledy,
   karty u kurzoru, přepínač pater a volby budovy/patra, lišta a filtry
   seznamu, rozvržení stránky, pohyb.

   Pořadí vložení:
     1. elis-ostatni.css      (proměnné a společné věci – vždy první)
     2. elis-tabulka.css      (tabulka bytů, čipy stavů)
     3. elis-lista-patra.css  (lišta patra K8)
     4. elis-vysky.css        (výšky a rozvržení vizualizace / půdorysu)
   ========================================================================= */

:root {
	/* Barvy. */
	--sample-ink-900: #24221f;
	/* Šedý text o odstín tmavší, aby měl na béžové #f4efe7 kontrast aspoň 4,5 : 1. */
	--sample-ink-600: #6f6b65;
	--sample-ink-a4: rgb(36 34 31 / 0.04);
	--sample-ink-a16: rgb(36 34 31 / 0.16);
	--sample-ink-a20: rgb(36 34 31 / 0.2);
	--sample-ink-a25: rgb(36 34 31 / 0.25);
	--sample-ink-a40: rgb(36 34 31 / 0.4);
	--sample-white: #fff;
	--sample-white-a60: rgb(255 255 255 / 0.6);
	--sample-white-a70: rgb(255 255 255 / 0.7);
	--sample-tint-50: #f6f6f6;
	--sample-tint-100: #f4efe7;
	--sample-tint-200: #ebe2d7;
	--sample-tint-400: #cda176;
	--sample-blue-400: #6d97c7;
	--sample-gray-700: #575757;
	/* Olivová o odstín tmavší, aby na ní měl bílý text kontrast aspoň 4,5 : 1. */
	--sample-olive-600: #727930;
	/* Modrá zvýraznění v mapách (najetí / zvolení): o 10 % tmavší než --sample-blue-400. */
	--sample-blue-map: #6288b3;
	/* Prodaný byt v půdorysu: tlumená červená. */
	--sample-red-500: #a8443b;
	/* Tloušťka obrysu tvarů při najetí / zvolení (vizualizace i půdorys). */
	--sample-shape-stroke: 1.5px;

	/* Písma webu a náhradní písma; načítá je web. */
	--sample-font-sans: Jost, "Century Gothic", Futura, system-ui, sans-serif;
	--sample-font-serif: IvyMode, "Campaign Serif", Georgia, serif;
	--sample-text-10: 0.625rem;
	--sample-text-12: 0.75rem;
	--sample-text-14: 0.875rem;
	--sample-text-16: 1rem;
	--sample-text-20: 1.25rem;
	--sample-text-30: clamp(1.5rem, 1.3rem + 0.5vw, 1.875rem);
	--sample-text-40: clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem);
	--sample-text-64: clamp(2.75rem, 2rem + 2vw, 4rem);
	/* Popisky v půdorysu podle šířky mapy: 14 a 12 px na mapě široké asi od 1150 px, nejméně 9 a 8 px. */
	--sample-label-name: clamp(0.5625rem, 0.3rem + 0.8cqi, 0.875rem);
	--sample-label-detail: clamp(0.5rem, 0.25rem + 0.7cqi, 0.75rem);
	--sample-tracking-016: 0.16em;

	/* Odstupy, rozměry, rádiusy a čáry. */
	--sample-space-4: 0.25rem;
	--sample-space-5: 0.3125rem;
	--sample-space-8: 0.5rem;
	--sample-space-10: 0.625rem;
	--sample-space-15: 0.9375rem;
	--sample-space-20: 1.25rem;
	--sample-space-25: 1.5625rem;
	--sample-space-24: 1.5rem;
	--sample-space-30: 1.875rem;
	--sample-space-20-40: clamp(1.25rem, 0.75rem + 1.5vw, 2.5rem);
	--sample-space-8-40: clamp(0.5rem, 3vw, 2.5rem);
	--sample-size-12: 0.75rem;
	--sample-size-14: 0.875rem;
	--sample-size-20: 1.25rem;
	--sample-size-21: 1.3125rem;
	--sample-size-24: 1.5rem;
	--sample-size-30: 1.875rem;
	--sample-size-40: 2.5rem;
	--sample-size-44: 2.75rem;
	--sample-size-50: 3.125rem;
	--sample-size-64: 4rem;
	--sample-size-112: 7rem;
	--sample-size-288: 18rem;
	--sample-size-unit-card: 25rem;
	--sample-size-floor-card: 31rem;
	--sample-radius-5: 0.3125rem;
	--sample-radius-20: 1.25rem;
	--sample-radius-999: 999px;
	--sample-line-1: 1px;
	--sample-line-2: 2px;
	--sample-line-4: 4px;

	/* Rozvržení stránky: výška pevné hlavičky webu, pod kterou se přilepí blok s mapami (0 = hlavička se nepřilepuje). */
	--sample-header-height: 0px;

	/* Pohyb. */
	--sample-duration-150: 150ms;
	--sample-duration-200: 200ms;
	--sample-duration-250: 250ms;
	--sample-ease-out: cubic-bezier(0.25, 1, 0.5, 1);
	--sample-shift-4: 0.25rem;

	/* Ikony jako masky: barvu dostanou z currentColor. */
	--sample-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--sample-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.17 5.83l-8.34 8.34M14.17 13.33v-7.5h-7.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--sample-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12 4L4 12M4 4l8 8' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

	/* Veřejné proměnné ELIS: barvy stavů, zvolené jednotky a patra a obrysu fokusu. */
	--elis-state-available: var(--sample-blue-400);
	--elis-state-reserved: var(--sample-tint-400);
	--elis-state-sold: var(--sample-red-500);
	--elis-selected: var(--sample-ink-900);
	--elis-focus: var(--sample-ink-900);
}

/* Společné: písmo a barva textu komponent, dlouhé slovo se zalomí, místo aby rozšířilo komponentu. */
:is(
	.elis-unit-counts,
	.elis-counts-bar,
	.elis-building-preview,
	.elis-floor-preview,
	.elis-unit-list,
	.elis-floor-picker,
	.elis-unit-picker,
	.elis-floor-bar,
	.elis-floor-switcher
) {
	display: flow-root;
	color: var(--sample-ink-900);
	font-family: var(--sample-font-sans);
	overflow-wrap: anywhere;
}

/* Vynulování okrajů textu uvnitř komponent. */
:is(
	.elis-unit-counts,
	.elis-counts-bar,
	.elis-building-preview,
	.elis-floor-preview,
	.elis-unit-list,
	.elis-card,
	.elis-floor-bar
) :is(p, ul, dl, dd, h2) {
	margin: 0;
}

/* Tlačítka. */
.elis-unit-list
:is(
	.elis-unit-list__toggle,
	.elis-unit-list__show,
	.elis-unit-list__more,
	.elis-unit-list__reset,
	.elis-unit-list__chip-remove
) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sample-space-10);
	margin: 0;
	border: 0;
	border-radius: var(--sample-radius-999);
	background: none;
	color: var(--sample-ink-900);
	font: 600 var(--sample-text-12) / 1 var(--sample-font-sans);
	text-decoration: none;
	cursor: pointer;
	transition: none;
}

/* Tmavé tlačítko: Filtrovat, Zavřít filtry, Zobrazit N bytů. */
.elis-unit-list :is(.elis-unit-list__toggle, .elis-unit-list__show),
.elis-unit-list
	:is(.elis-unit-list__toggle, .elis-unit-list__show):is(:hover, :focus) {
	min-block-size: var(--sample-size-30);
	padding: 0 var(--sample-space-15);
	background: var(--sample-ink-900);
	color: var(--sample-white);
}

.elis-unit-list .elis-unit-list__show,
.elis-unit-list .elis-unit-list__show:is(:hover, :focus) {
	min-block-size: var(--sample-size-40);
	padding-inline: var(--sample-space-20);
	font-size: var(--sample-text-14);
}

/* Obrysové tlačítko: Zobrazit dalších N bytů. */
.elis-unit-list .elis-unit-list__more,
.elis-unit-list .elis-unit-list__more:is(:hover, :focus) {
	display: flex;
	min-block-size: var(--sample-size-40);
	margin: var(--sample-space-25) auto 0;
	padding: 0 var(--sample-space-20);
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	background: none;
	color: var(--sample-ink-900);
	font-size: var(--sample-text-14);
}

/* Textové tlačítko: Zrušit filtry. */
.elis-unit-list .elis-unit-list__reset,
.elis-unit-list .elis-unit-list__reset:is(:hover, :focus) {
	min-block-size: var(--sample-size-24);
	padding: 0 var(--sample-space-5);
	background: none;
	color: var(--sample-ink-600);
	font-size: var(--sample-text-14);
	font-weight: 400;
}

.elis-unit-list .elis-unit-list__reset:hover {
	text-decoration: underline;
}

:is(.elis-unit-list, .elis-floor-switcher)
	:is(button, select):focus-visible {
	outline: var(--sample-line-2) solid var(--elis-focus);
	outline-offset: var(--sample-line-2);
}

/* K1 Počty jednotek: karta s velkým počtem volných a legendou stavů. */
.elis-unit-counts {
	padding: var(--sample-space-20);
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-20);
}

.elis-unit-counts__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--sample-space-10) var(--sample-space-20);
}

.elis-unit-counts .elis-unit-counts__available {
	font: 700 var(--sample-text-64) / 1 var(--sample-font-serif);
}

.elis-unit-counts .elis-unit-counts__text {
	font-size: var(--sample-text-16);
	font-weight: 600;
	line-height: 1;
}

.elis-unit-counts .elis-unit-counts__legend {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sample-space-10) var(--sample-space-15);
	margin-block-start: var(--sample-space-20);
	padding: 0;
	list-style: none;
}

.elis-unit-counts__state {
	display: flex;
	flex: 1 0 auto;
	overflow-wrap: normal;
	align-items: center;
	gap: var(--sample-space-10);
	color: var(--sample-ink-600);
	font-size: var(--sample-text-12);
	line-height: 1.2;
}

.elis-unit-counts__state::before {
	content: "";
	flex: none;
	box-sizing: border-box;
	inline-size: var(--sample-size-20);
	block-size: var(--sample-size-20);
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-5);
	background: radial-gradient(
			circle,
			var(--elis-state-available) 0 calc(var(--sample-size-12) / 2),
			transparent calc(var(--sample-size-12) / 2 + 0.5px)
		)
		var(--sample-white);
}

.elis-unit-counts__state[data-elis-state="reserved"]::before {
	background: radial-gradient(
			circle,
			var(--elis-state-reserved) 0 calc(var(--sample-size-12) / 2),
			transparent calc(var(--sample-size-12) / 2 + 0.5px)
		)
		var(--sample-white);
}

.elis-unit-counts__state[data-elis-state="sold"]::before {
	background: radial-gradient(
			circle,
			var(--elis-state-sold) 0 calc(var(--sample-size-12) / 2),
			transparent calc(var(--sample-size-12) / 2 + 0.5px)
		)
		var(--sample-white);
}

/* K2 Počty jednotek – pruh: bílé pilulky s čipem stavu, které se o 5 px překrývají. */
.elis-counts-bar__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0;
	list-style: none;
}

.elis-counts-bar__item {
	position: relative;
	display: flex;
	align-items: center;
	isolation: isolate;
	min-block-size: var(--sample-size-50);
	padding-inline: calc(var(--sample-space-20) + var(--sample-space-15));
	border-radius: var(--sample-radius-999);
	background: var(--sample-white);
	font-size: var(--sample-text-12);
	line-height: 1;
	white-space: nowrap;
}

.elis-counts-bar__item:not(:last-child) {
	margin-inline-end: calc(-1 * var(--sample-space-5));
}

.elis-counts-bar__item::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: calc((var(--sample-size-50) - var(--sample-size-21)) / 2)
		var(--sample-space-20);
	border-radius: var(--sample-radius-999);
	background: var(--sample-blue-400);
}

.elis-counts-bar__item[data-elis-state="reserved"]::before {
	background: var(--sample-tint-200);
}

.elis-counts-bar__item[data-elis-state="sold"]::before {
	background: var(--sample-tint-100);
}

/* Mapy. */
.elis-map__background {
	transition: none;
}

/* K7 Výběr jednotky: mapa je kontejner, podle jehož šířky se mění velikost popisků. */
.elis-unit-picker .elis-map {
	container-type: inline-size;
}

/* K3 Náhled budovy a K4 Náhled patra: karta s pruhem nahoře a světlou plochou mapy. */
:is(.elis-building-preview, .elis-floor-preview) {
	overflow: hidden;
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-20);
	background: var(--sample-ink-a4);
}

:is(.elis-building-preview, .elis-floor-preview)
	:is(.elis-building-preview__heading, .elis-floor-preview__heading) {
	padding: var(--sample-space-20) var(--sample-space-25);
	border-block-end: var(--sample-line-1) solid var(--sample-ink-a20);
	background: var(--sample-white);
	color: var(--sample-ink-600);
	font-size: var(--sample-text-12);
	font-weight: 600;
	letter-spacing: var(--sample-tracking-016);
	line-height: 1;
	text-transform: uppercase;
}

:is(.elis-building-preview__heading, .elis-floor-preview__heading):empty {
	display: none;
}

:is(.elis-building-preview, .elis-floor-preview) > .elis-map {
	margin: var(--sample-space-20);
}

:is(.elis-building-preview, .elis-floor-preview) .elis-map__background {
	mix-blend-mode: multiply;
}

:is(.elis-building-preview, .elis-floor-preview)
	:is(.elis-building-preview__empty, .elis-floor-preview__empty) {
	padding: var(--sample-space-30) var(--sample-space-25);
	color: var(--sample-ink-600);
	font-size: var(--sample-text-14);
	text-align: center;
}

/* Tvary map. K6 Výběr patra: patro pod kurzorem a zvolené patro má modrý překryv s obrysem 4 px. */
.elis-floor-picker .elis-map__shape * {
	fill: var(--sample-blue-map);
	fill-opacity: 0;
	stroke: var(--sample-blue-map);
	stroke-opacity: 0;
	stroke-width: var(--sample-shape-stroke);
}

/* Volný byt: bez výplně, jen obrys – půdorys zůstane čistě vidět. */
.elis-unit-picker .elis-map__shape * {
	fill: var(--sample-white);
	fill-opacity: 0;
	stroke: var(--sample-ink-900);
	stroke-width: var(--sample-line-1);
}

.elis-floor-picker .elis-map__shape[data-elis-dimmed] * {
	fill: var(--sample-ink-900);
	fill-opacity: 0.6;
}

.elis-floor-picker .elis-map__shape:is(:hover, [data-elis-selected]) * {
	fill: var(--sample-blue-map);
	fill-opacity: 0.5;
	stroke-opacity: 1;
}

.elis-floor-picker .elis-map__shape:focus-visible * {
	stroke: var(--elis-focus);
	stroke-opacity: 1;
}

/* Rezervovaný byt: průhledná béžová, půdorys pod ní zůstává ostrý. */
.elis-unit-picker .elis-map__shape[data-elis-state="reserved"] * {
	fill: var(--sample-tint-400);
	fill-opacity: 0.7;
	stroke: var(--sample-tint-400);
	stroke-opacity: 0.8;
}

.elis-unit-picker .elis-map__shape[data-elis-state="sold"] * {
	fill: var(--sample-red-500);
	fill-opacity: 0.7;
	stroke: var(--sample-red-500);
	stroke-opacity: 0.8;
}

/* Najetí na byt v půdorysu: stejná modrá jako u pater ve vizualizaci. */
.elis-unit-picker .elis-map__shape:hover * {
	fill: var(--sample-blue-map);
	fill-opacity: 0.5;
	stroke: var(--sample-blue-map);
	stroke-opacity: 1;
	stroke-width: var(--sample-shape-stroke);
}

/* Zvolený byt (ELIS ho označí i při najetí kurzorem): stejná modrá jako najetí. */
.elis-unit-picker .elis-map__shape[data-elis-selected] * {
	fill: var(--sample-blue-map);
	fill-opacity: 0.5;
	stroke: var(--sample-blue-map);
	stroke-opacity: 1;
	stroke-width: var(--sample-shape-stroke);
}

/* Rezervovaný byt při najetí / zvolení: jen lehce sytější béžová, ne modrá. */
.elis-unit-picker .elis-map__shape[data-elis-state="reserved"]:is(:hover, [data-elis-selected]) * {
	fill: var(--sample-tint-400);
	fill-opacity: 0.8;
	stroke: var(--sample-tint-400);
	stroke-opacity: 1;
	stroke-width: var(--sample-shape-stroke);
}

/* Prodaný byt při najetí / zvolení: jen sytější červená, ne modrá. */
.elis-unit-picker .elis-map__shape[data-elis-state="sold"]:is(:hover, [data-elis-selected]) * {
	fill: var(--sample-red-500);
	fill-opacity: 0.8;
	stroke: var(--sample-red-500);
	stroke-opacity: 1;
	stroke-width: var(--sample-shape-stroke);
}

.elis-unit-picker .elis-map__shape:focus-visible * {
	stroke: var(--elis-focus);
	stroke-width: var(--sample-line-2);
}

/* =========================================================
   Náhledy (boční karty): stejné barvy jako velké mapy, bez reakce na najetí.
   Barvy podle stavu se v náhledu patra projeví, až ELIS začne u tvarů
   vypisovat atribut data-elis-state (stejně jako ve velkém půdorysu).
   ========================================================= */

/* Náhled budovy (K3): jen zvolené patro modře */
.elis-building-preview .elis-map__shape * {
	fill: var(--sample-blue-map);
	fill-opacity: 0;
	stroke: var(--sample-blue-map);
	stroke-opacity: 0;
	stroke-width: var(--sample-shape-stroke);
}

.elis-building-preview .elis-map__shape[data-elis-selected] * {
	fill-opacity: 0.5;
	stroke-opacity: 1;
}

/* Náhled patra (K4): byty podle stavu */
.elis-floor-preview .elis-map__shape * {
	fill: var(--sample-white);
	fill-opacity: 0;
	stroke: var(--sample-ink-900);
	stroke-width: var(--sample-line-1);
}

.elis-floor-preview .elis-map__shape[data-elis-state="reserved"] * {
	fill: var(--sample-tint-400);
	fill-opacity: 0.7;
	stroke: var(--sample-tint-400);
	stroke-opacity: 0.8;
}

.elis-floor-preview .elis-map__shape[data-elis-state="sold"] * {
	fill: var(--sample-red-500);
	fill-opacity: 0.7;
	stroke: var(--sample-red-500);
	stroke-opacity: 0.8;
}

.elis-floor-preview .elis-map__shape[data-elis-selected] * {
	fill: var(--sample-blue-map);
	fill-opacity: 0.5;
	stroke: var(--sample-blue-map);
	stroke-opacity: 1;
	stroke-width: var(--sample-shape-stroke);
}

/* Náhledy na najetí nereagují */
:is(.elis-building-preview, .elis-floor-preview) .elis-map__shape {
	pointer-events: none;
}

/* Popisky v půdorysu. */
.elis-unit-picker .elis-map__label {
	color: var(--sample-ink-900);
	font-family: var(--sample-font-sans);
	line-height: 1;
}

.elis-unit-picker .elis-map__label-name {
	font-size: var(--sample-label-name);
	font-weight: 600;
}

.elis-unit-picker .elis-map__label-detail {
	margin-block-start: var(--sample-space-4);
	color: var(--sample-ink-600);
	font-size: var(--sample-label-detail);
}

.elis-map__label[data-elis-state="reserved"] .elis-map__label-detail {
	color: var(--sample-ink-900);
}

/* Prodaný byt: bílé popisky na červené. */
.elis-map__label[data-elis-state="sold"],
.elis-map__label[data-elis-state="sold"] .elis-map__label-name {
	color: var(--sample-white);
}

.elis-map__label[data-elis-state="sold"] .elis-map__label-detail {
	color: rgb(255 255 255 / 0.85);
}

/* Zvolený / najetý byt: bílé popisky. */
.elis-map__label[data-elis-selected],
.elis-map__label[data-elis-selected] .elis-map__label-name {
	color: var(--sample-white);
}

.elis-map__label[data-elis-selected] .elis-map__label-detail {
	color: rgb(255 255 255 / 0.85);
}

/* Prodaný zvolený: popisky zůstávají bílé na červené. */
.elis-map__label[data-elis-state="sold"][data-elis-selected],
.elis-map__label[data-elis-state="sold"][data-elis-selected] :is(.elis-map__label-name, .elis-map__label-detail) {
	color: var(--sample-white);
}

/* Popisek volného bytu (tvar bez výplně) v bloku se světlým pozadím, obsah na střed. */
.elis-unit-picker .elis-map__label:not([data-elis-state="sold"], [data-elis-state="reserved"]) {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 5px 9px;
	border-radius: 8px;
	background: rgb(255 255 255 / 0.88);
	text-align: center;
}

.elis-unit-picker .elis-map__label:not([data-elis-state="sold"], [data-elis-state="reserved"]) > * {
	text-align: center;
}

/* Rezervovaný byt: bílý text přímo na béžové (bez bloku). */
.elis-unit-picker .elis-map__label[data-elis-state="reserved"],
.elis-unit-picker .elis-map__label[data-elis-state="reserved"] .elis-map__label-name {
	color: var(--sample-white);
}

.elis-unit-picker .elis-map__label[data-elis-state="reserved"] .elis-map__label-detail {
	color: rgb(255 255 255 / 0.9);
}

/* Volný byt v bílém bloku: černý text. Při najetí blok zprůhlední a text zbělá, ať nepřekáží. */
.elis-unit-picker .elis-map__label:not([data-elis-state="sold"], [data-elis-state="reserved"]),
.elis-unit-picker .elis-map__label:not([data-elis-state="sold"], [data-elis-state="reserved"]) :is(.elis-map__label-name, .elis-map__label-detail) {
	transition: background-color var(--sample-duration-200) var(--sample-ease-out), color var(--sample-duration-200) var(--sample-ease-out);
}

.elis-unit-picker .elis-map__label[data-elis-selected]:not([data-elis-state="sold"], [data-elis-state="reserved"]) {
	background: transparent;
}

/* Telefon: menší popisky v půdorysu a menší bílý blok volného bytu */
@media (max-width: 767px) {
	.elis-unit-picker .elis-map__label-name {
		font-size: 6px;
	}

	.elis-unit-picker .elis-map__label-detail {
		font-size: 5px;
	}

	.elis-unit-picker .elis-map__label:not([data-elis-state="sold"], [data-elis-state="reserved"]) {
		padding: 1px 3px;
		border-radius: 3px;
	}
}

/* Zkrácené popisky (data-elis-crowded). */
.elis-map[data-elis-crowded]
:is(
	.elis-map__label-disposition,
	.elis-map__label-area,
	.elis-map__label-state > .elis-map__label-join
) {
	display: none;
}

.elis-map[data-elis-crowded="2"] .elis-map__label-detail {
	display: none;
}

/* Karty u kurzoru (K6, K7). */
.elis-card {
	display: flex;
	flex-direction: column;
	gap: var(--sample-space-20);
	box-sizing: border-box;
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-20);
	background: var(--sample-white);
	color: var(--sample-ink-900);
	font-family: var(--sample-font-sans);
	font-size: var(--sample-text-14);
	line-height: 1;
}

.elis-floor-picker .elis-card {
	inline-size: max-content;
	max-inline-size: min(
		var(--sample-size-floor-card),
		calc(100vw - var(--sample-space-24))
	);
	padding: var(--sample-space-25) var(--sample-space-25) var(--sample-space-15);
}

.elis-card__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sample-space-10) var(--sample-space-20);
}

.elis-card .elis-card__place {
	flex: 1 1 auto;
	font-size: var(--sample-text-16);
	font-weight: 600;
}

.elis-card__rows {
	padding: 0;
	list-style: none;
}

.elis-card__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sample-space-5) var(--sample-space-20);
	padding-block: var(--sample-space-10);
}

.elis-card__row + .elis-card__row {
	border-block-start: var(--sample-line-1) solid var(--sample-ink-a20);
}

.elis-card__row .elis-card__state + .elis-card__tag {
	margin-inline-start: calc(-1 * var(--sample-space-10));
}

.elis-card__row .elis-card__label {
	flex: 1 0 auto;
	font-size: var(--sample-text-16);
	font-weight: 600;
	text-align: end;
}

.elis-card__row .elis-card__disposition {
	inline-size: var(--sample-size-44);
}

.elis-card__row .elis-card__area {
	inline-size: var(--sample-size-64);
}

.elis-card__row .elis-card__price {
	min-inline-size: var(--sample-size-112);
	font-size: var(--sample-text-16);
	font-weight: 600;
	text-align: end;
	white-space: nowrap;
}

.elis-card__row:is([data-elis-state="reserved"], [data-elis-state="sold"])
:is(
	.elis-card__label,
	.elis-card__disposition,
	.elis-card__area,
	.elis-card__price
) {
	color: var(--sample-ink-600);
}

.elis-card :is(.elis-card__more, .elis-card__empty) {
	padding-block-start: var(--sample-space-10);
	border-block-start: var(--sample-line-1) solid var(--sample-ink-a20);
	color: var(--sample-ink-600);
	font-size: var(--sample-text-12);
}

/* Karta jednotky. */
.elis-unit-picker .elis-card {
	inline-size: min(
		var(--sample-size-unit-card),
		calc(100vw - var(--sample-space-24))
	);
	max-inline-size: none;
	padding: var(--sample-space-25);
}

.elis-unit-picker .elis-card__heading {
	gap: var(--sample-space-10);
	font-size: var(--sample-text-12);
	text-transform: uppercase;
}

.elis-unit-picker .elis-card__building {
	margin-inline-end: var(--sample-space-10);
	color: var(--sample-ink-600);
}

.elis-unit-picker .elis-card__building:empty {
	display: none;
}

.elis-unit-picker .elis-card__label {
	font-weight: 600;
	letter-spacing: var(--sample-tracking-016);
}

.elis-unit-picker .elis-card__label + .elis-card__tag:not(:empty),
.elis-unit-picker .elis-card__tag:empty + .elis-card__state {
	margin-inline-start: auto;
}

.elis-unit-picker .elis-card__heading :is(.elis-card__tag, .elis-card__state) {
	text-transform: none;
}

.elis-card__prices {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sample-space-10);
	padding-block-start: var(--sample-space-20);
	border-block-start: var(--sample-line-1) solid var(--sample-ink-a20);
}

.elis-card .elis-card__regular-price {
	color: var(--sample-ink-600);
	font-size: var(--sample-text-12);
	text-decoration-skip-ink: none;
}

.elis-card__regular-price:empty {
	display: none;
}

.elis-card__prices .elis-card__price {
	flex-basis: 100%;
	font: 700 var(--sample-text-30) / 1 var(--sample-font-serif);
}

.elis-card .elis-card__details {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--sample-space-10) var(--sample-space-30);
	margin-block-start: calc(-1 * var(--sample-space-10));
}

.elis-card__detail {
	display: flex;
	flex-direction: column;
	gap: var(--sample-space-5);
}

.elis-card__detail dt {
	color: var(--sample-ink-600);
	font-size: var(--sample-text-10);
}

.elis-card__detail dd {
	font-size: var(--sample-text-14);
	font-weight: 600;
}

/* =========================================================
   Karty u kurzoru – pevná struktura i se štítkem
   ========================================================= */

/* Karta patra (K6): každý řádek bytu je mřížka s pevnými sloupci.
   Stav vlevo, štítek (např. „Sleva 300.000,-“) pod ním, ostatní údaje
   vždy ve stejných sloupcích – štítek ani prodaný byt nic neposunou. */
.elis-floor-picker .elis-card .elis-card__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 44px 70px minmax(100px, auto);
	grid-template-rows: auto auto;
	grid-template-areas:
		"state label disposition area price"
		"tag   label disposition area price";
	align-items: center;
	column-gap: 16px;
	row-gap: 0;
}

.elis-floor-picker .elis-card .elis-card__row > .elis-card__state {
	grid-area: state;
	justify-self: start;
	margin: 0;
}

.elis-floor-picker .elis-card .elis-card__row > :is(.elis-card__tag, .elis-card__discount) {
	grid-area: tag;
	justify-self: start;
	margin: 4px 0 0;
}

.elis-floor-picker .elis-card .elis-card__row > .elis-card__label {
	grid-area: label;
	text-align: end;
}

.elis-floor-picker .elis-card .elis-card__row > .elis-card__disposition {
	grid-area: disposition;
	inline-size: auto;
}

.elis-floor-picker .elis-card .elis-card__row > .elis-card__area {
	grid-area: area;
	inline-size: auto;
	white-space: nowrap;
}

.elis-floor-picker .elis-card .elis-card__row > .elis-card__price {
	grid-area: price;
	min-inline-size: 0;
	text-align: end;
}

/* Karta jednotky (K7): stav vždy vpravo nahoře, štítek pod záhlavím vlevo. */
.elis-unit-picker .elis-card .elis-card__heading {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas:
		"building label state"
		"tag      tag   tag";
	align-items: center;
	column-gap: 10px;
	row-gap: 0;
}

.elis-unit-picker .elis-card .elis-card__heading > .elis-card__building {
	grid-area: building;
	margin: 0;
}

.elis-unit-picker .elis-card .elis-card__heading > .elis-card__label {
	grid-area: label;
	margin: 0;
}

.elis-unit-picker .elis-card .elis-card__heading > .elis-card__state {
	grid-area: state;
	justify-self: end;
	margin: 0;
}

.elis-unit-picker .elis-card .elis-card__heading > :is(.elis-card__tag, .elis-card__discount) {
	grid-area: tag;
	justify-self: start;
	margin: 10px 0 0;
}

/* Karta jednotky (K7): rozestupy */
.elis-unit-picker .elis-card {
	padding: 30px;
}

/* Záhlaví: větší mezera mezi „Budova A“ a „Byt A1.01“ */
.elis-unit-picker .elis-card .elis-card__heading {
	column-gap: 20px;
}

/* Údaje (Dispozice, Patro, Plocha, Exteriér): víc místa mezi řádky i sloupci
   a odsazení od ceny (původně byly k ceně přitažené o −10 px) */
.elis-unit-picker .elis-card .elis-card__details {
	gap: 22px 40px;
	margin-block-start: 6px;
}

@media (max-width: 767px) {
	.elis-unit-picker .elis-card {
		padding: 22px;
	}

	.elis-unit-picker .elis-card .elis-card__heading {
		column-gap: 14px;
	}

	.elis-unit-picker .elis-card .elis-card__details {
		gap: 16px 26px;
	}
}

/* K9 Přepínač pater a společné volby budovy / patra (lišta patra K8 je ve vlastním souboru). */
.elis-floor-options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--sample-space-15) var(--sample-space-30);
}

.elis-floor-switcher .elis-floor-options {
	justify-content: flex-start;
}

:is(.elis-floor-options__buildings, .elis-floor-options__floors) {
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.elis-floor-options__legend {
	float: left;
	margin-inline-end: var(--sample-space-10);
	padding: 0;
	color: var(--sample-ink-600);
	font-size: var(--sample-text-12);
	line-height: var(--sample-size-30);
}

.elis-floor-options__chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sample-space-10);
}

/* Čip volby: bílý s obrysem, zvolený tmavý (stejně jako volby filtrů). */
:is(
	.elis-floor-options__floor,
	.elis-floor-options__building,
	.elis-unit-list__option
) {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--sample-space-8);
	box-sizing: border-box;
	min-block-size: var(--sample-size-30);
	padding: 0 var(--sample-space-15);
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-999);
	background: var(--sample-white);
	color: var(--sample-ink-900);
	font-size: var(--sample-text-12);
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

:is(
		.elis-floor-options__floor,
		.elis-floor-options__building,
		.elis-unit-list__option
	)
	input {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

:is(
	.elis-floor-options__floor,
	.elis-floor-options__building,
	.elis-unit-list__option
):has(input:checked) {
	border-color: var(--sample-ink-900);
	background: var(--sample-ink-900);
	color: var(--sample-white);
	font-weight: 600;
}

:is(
	.elis-floor-options__floor,
	.elis-floor-options__building,
	.elis-unit-list__option
):has(input:focus-visible) {
	outline: var(--sample-line-2) solid var(--elis-focus);
	outline-offset: var(--sample-line-2);
}

:is(.elis-floor-options, .elis-unit-list__filter)
	:is(.elis-floor-options__count, .elis-unit-list__option-count) {
	color: var(--sample-ink-600);
	font-weight: 400;
}

:is(
		.elis-floor-options__floor,
		.elis-floor-options__building,
		.elis-unit-list__option
	):has(input:checked)
	:is(.elis-floor-options__count, .elis-unit-list__option-count) {
	color: var(--sample-white-a60);
}

/* Zavřený rozbalovací výběr budovy a patra: pilulka se šipkou. */
.elis-floor-options .elis-floor-options__select {
	box-sizing: border-box;
	inline-size: auto;
	min-inline-size: var(--sample-size-112);
	max-inline-size: 100%;
	min-block-size: var(--sample-size-30);
	margin: 0;
	padding: 0 calc(var(--sample-space-15) + var(--sample-size-20)) 0
		var(--sample-space-15);
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-999);
	appearance: none;
	background: var(--sample-white);
	color: var(--sample-ink-900);
	font: 400 var(--sample-text-12) / 1 var(--sample-font-sans);
	transition: none;
}

.elis-floor-options__dropdown {
	position: relative;
}

.elis-floor-options__dropdown::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-end: var(--sample-space-15);
	inline-size: var(--sample-size-12);
	background: var(--sample-ink-900);
	mask: var(--sample-icon-chevron) center / contain no-repeat;
	pointer-events: none;
}

/* K5 Seznam jednotek – lišta nad seznamem a panel filtrů (tabulka je v elis-tabulka.css). */
.elis-unit-list {
	container: elis-unit-list / inline-size;
}

.elis-unit-list__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sample-space-10) var(--sample-space-20);
	margin-block-end: var(--sample-space-25);
}

.elis-unit-list .elis-unit-list__count {
	font-size: var(--sample-text-16);
	font-weight: 600;
	line-height: 1;
}

.elis-unit-list__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sample-space-10);
	padding: 0;
	list-style: none;
}

/* Čip aktivního filtru a omezení na patro. */
.elis-unit-list__chip {
	display: inline-flex;
	align-items: center;
	gap: var(--sample-space-4);
	box-sizing: border-box;
	min-block-size: var(--sample-size-30);
	padding: 0 var(--sample-space-4) 0 var(--sample-space-15);
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-999);
	background: var(--sample-blue-400);
	color: var(--sample-ink-900);
	font-size: var(--sample-text-12);
	font-weight: 600;
	line-height: 1;
}

.elis-unit-list .elis-unit-list__chip-remove,
.elis-unit-list .elis-unit-list__chip-remove:is(:hover, :focus) {
	inline-size: var(--sample-size-24);
	block-size: var(--sample-size-24);
	padding: 0;
	background: none;
	color: var(--sample-ink-900);
}

.elis-unit-list__chip-remove > span {
	display: none;
}

.elis-unit-list__chip-remove::before {
	content: "";
	inline-size: var(--sample-size-12);
	block-size: var(--sample-size-12);
	background: currentColor;
	mask: var(--sample-icon-close) center / contain no-repeat;
}

/* Telefon: nižší lišta nad seznamem (počet, čipy filtrů, Zrušit filtry)
   a posun k řádku o 1 px dál (linka řádku zmizí pod přilepeným blokem). */
@media (max-width: 767px) {
	.elis-unit-list .elis-unit-list__bar {
		gap: 8px 12px;
		margin-block-end: 14px;
	}

	.elis-unit-list .elis-unit-list__count {
		font-size: 14px;
	}

	.elis-unit-list .elis-unit-list__chips {
		gap: 6px;
	}

	.elis-unit-list .elis-unit-list__chip {
		min-block-size: 24px;
		padding: 0 2px 0 10px;
		font-size: 11px;
	}

	.elis-unit-list .elis-unit-list__chip-remove,
	.elis-unit-list .elis-unit-list__chip-remove:is(:hover, :focus) {
		inline-size: 20px;
		block-size: 20px;
	}

	.elis-unit-list .elis-unit-list__chip-remove::before {
		inline-size: 10px;
		block-size: 10px;
	}

	.elis-unit-list .elis-unit-list__reset,
	.elis-unit-list .elis-unit-list__reset:is(:hover, :focus) {
		min-block-size: 20px;
		font-size: 12px;
	}

	.elis-unit-list .elis-unit-list__row {
		scroll-margin-block-start: -1px;
	}
}

/* Panel filtrů. */
.elis-unit-list .elis-unit-list__panel {
	box-sizing: border-box;
	padding: var(--sample-space-20-40);
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-20);
	background: var(--sample-tint-100);
	color: var(--sample-ink-900);
}

.elis-unit-list .elis-unit-list__panel[open] {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--sample-space-30);
}

.elis-unit-list .elis-unit-list__panel[open]:not(:modal) {
	margin-block-end: var(--sample-space-25);
}

.elis-unit-list .elis-unit-list__panel:modal {
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	max-block-size: none;
	margin: 0;
	border: 0;
	border-radius: 0;
	overflow-y: auto;
}

.elis-unit-list__panel::backdrop {
	background: var(--sample-ink-a40);
}

.elis-unit-list .elis-unit-list__panel-heading {
	padding-block-end: var(--sample-space-30);
	border-block-end: var(--sample-line-1) solid var(--sample-ink-a20);
	color: var(--sample-ink-600);
	font: 600 var(--sample-text-12) / 1 var(--sample-font-sans);
	letter-spacing: var(--sample-tracking-016);
	text-transform: uppercase;
}

.elis-unit-list__filter {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sample-space-10);
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.elis-unit-list__filter:has(> .elis-unit-list__range) {
	row-gap: 0;
}

.elis-unit-list__filter:has(> .elis-unit-list__range)
	> :is(.elis-unit-list__legend, .elis-unit-list__range-value) {
	margin-block-end: var(--sample-space-15);
}

.elis-unit-list__legend {
	float: left;
	inline-size: 100%;
	margin-block-end: var(--sample-space-5);
	padding: 0;
	color: var(--sample-ink-600);
	font-size: var(--sample-text-12);
	line-height: 1;
}

.elis-unit-list__option:has(input:disabled) {
	border-style: dashed;
	background: none;
	color: var(--sample-ink-600);
	cursor: default;
}

.elis-unit-list__option:has(input:disabled) input {
	cursor: default;
}

/* Posuvníky ceny a plochy. */
.elis-unit-list__range-value {
	display: block;
	inline-size: 100%;
	margin-block-end: var(--sample-space-5);
	font: 700 var(--sample-text-40) / 1 var(--sample-font-serif);
}

.elis-unit-list .elis-unit-list__range {
	display: block;
	box-sizing: border-box;
	inline-size: 100%;
	block-size: var(--sample-size-24);
	margin: 0;
	padding: 0;
	border: 0;
	appearance: none;
	background: none;
	pointer-events: none;
}

.elis-unit-list .elis-unit-list__range + .elis-unit-list__range {
	margin-block-start: calc(-1 * var(--sample-size-24));
}

.elis-unit-list__range::-webkit-slider-runnable-track {
	block-size: var(--sample-line-4);
	border-radius: var(--sample-radius-999);
	background: var(--sample-ink-a25);
}

.elis-unit-list__range::-moz-range-track {
	block-size: var(--sample-line-4);
	border-radius: var(--sample-radius-999);
	background: var(--sample-ink-a25);
}

.elis-unit-list__range + .elis-unit-list__range::-webkit-slider-runnable-track {
	background: none;
}

.elis-unit-list__range + .elis-unit-list__range::-moz-range-track {
	background: none;
}

.elis-unit-list__range::-webkit-slider-thumb {
	box-sizing: border-box;
	inline-size: var(--sample-size-24);
	block-size: var(--sample-size-24);
	margin-block-start: calc((var(--sample-line-4) - var(--sample-size-24)) / 2);
	border: var(--sample-line-1) solid var(--sample-ink-900);
	border-radius: var(--sample-radius-5);
	appearance: none;
	background: radial-gradient(
			circle,
			var(--sample-ink-900) 0 calc(var(--sample-size-14) / 2),
			transparent calc(var(--sample-size-14) / 2 + 0.5px)
		)
		var(--sample-white);
	pointer-events: auto;
	cursor: pointer;
}

.elis-unit-list__range::-moz-range-thumb {
	box-sizing: border-box;
	inline-size: var(--sample-size-24);
	block-size: var(--sample-size-24);
	border: var(--sample-line-1) solid var(--sample-ink-900);
	border-radius: var(--sample-radius-5);
	background: radial-gradient(
			circle,
			var(--sample-ink-900) 0 calc(var(--sample-size-14) / 2),
			transparent calc(var(--sample-size-14) / 2 + 0.5px)
		)
		var(--sample-white);
	pointer-events: auto;
	cursor: pointer;
}

.elis-unit-list__range:focus-visible::-webkit-slider-thumb {
	outline: var(--sample-line-2) solid var(--elis-focus);
	outline-offset: var(--sample-line-2);
}

.elis-unit-list__range:focus-visible::-moz-range-thumb {
	outline: var(--sample-line-2) solid var(--elis-focus);
	outline-offset: var(--sample-line-2);
}

.elis-unit-list .elis-unit-list__show {
	align-self: flex-start;
}

.elis-unit-list .elis-unit-list__panel:modal .elis-unit-list__show {
	align-self: stretch;
}

/* Rozvržení stránky na malé obrazovce (atribut data-elis-layout na <html>). */
html {
	scroll-padding-block-start: max(
		var(--sample-header-height),
		var(--elis-sticky-offset, 0px)
	);
}

/* Přilepený blok s mapami (vizualizace + půdorys) – jen telefon na výšku */
@media (max-width: 767px) and (orientation: portrait) {
	html[data-elis-layout="compact"] .elis-sticky {
		position: sticky;
		inset-block-start: var(--sample-header-height);
		z-index: 2;
		background: var(--sample-tint-50);
	}
}

html[data-elis-layout="compact"] {
	scroll-padding-block-end: calc(
		var(--sample-size-44) +
		2 *
		var(--sample-space-15)
	);
}

html[data-elis-layout="compact"] .elis-unit-list {
	padding-block-end: calc(var(--sample-size-44) + 2 * var(--sample-space-15));
}

html[data-elis-layout="compact"] .elis-unit-list .elis-unit-list__toggle {
	position: fixed;
	inset-block-end: calc(
		var(--sample-space-15) +
		env(safe-area-inset-bottom, 0px)
	);
	inset-inline: 0;
	z-index: 3;
	inline-size: max-content;
	min-block-size: var(--sample-size-44);
	margin-inline: auto;
	padding-inline: var(--sample-space-25);
	font-size: var(--sample-text-14);
}

/* Pohyb: jen při prefers-reduced-motion: no-preference. */
@media (prefers-reduced-motion: no-preference) {
	.elis-card {
		transition:
			opacity var(--sample-duration-200) var(--sample-ease-out),
			translate var(--sample-duration-200) var(--sample-ease-out);
	}

	@starting-style {
		.elis-card {
			opacity: 0;
			translate: 0 var(--sample-shift-4);
		}
	}

	:is(.elis-floor-picker, .elis-unit-picker)[data-elis-ready]
		.elis-map__shape
		* {
		transition:
			fill var(--sample-duration-200) var(--sample-ease-out),
			fill-opacity var(--sample-duration-200) var(--sample-ease-out),
			stroke var(--sample-duration-200) var(--sample-ease-out),
			stroke-opacity var(--sample-duration-200) var(--sample-ease-out);
	}

	.elis-unit-picker[data-elis-ready] :is(.elis-map__label, .elis-map__label *) {
		transition: color var(--sample-duration-200) var(--sample-ease-out);
	}

	body[data-elis-level]
	:is([data-elis-component="k6"], [data-elis-component="k7"]) {
		transition: opacity var(--sample-duration-250) var(--sample-ease-out);
	}

	body[data-elis-level] [data-elis-component="k8"] {
		transition:
			opacity var(--sample-duration-250) var(--sample-ease-out),
			translate var(--sample-duration-250) var(--sample-ease-out);
	}

	@starting-style {
		body[data-elis-level]
			:is([data-elis-component="k6"], [data-elis-component="k7"]) {
			opacity: 0;
		}

		body[data-elis-level] [data-elis-component="k8"] {
			opacity: 0;
			translate: 0 calc(-1 * var(--sample-shift-4));
		}
	}

	.elis-unit-picker[data-elis-ready] .elis-map {
		transition:
			opacity var(--sample-duration-250) var(--sample-ease-out),
			translate var(--sample-duration-250) var(--sample-ease-out);
	}

	@starting-style {
		.elis-unit-picker[data-elis-ready] .elis-map {
			opacity: 0;
			translate: 0 var(--sample-shift-4);
		}
	}

	:is(.elis-unit-picker, .elis-floor-preview) .elis-map__background {
		transition: opacity var(--sample-duration-250) var(--sample-ease-out);
	}

	:is(.elis-unit-picker, .elis-floor-preview)
		.elis-map__background[data-elis-loading] {
		opacity: 0;
	}

	.elis-unit-list .elis-unit-list__panel {
		transition:
			opacity var(--sample-duration-200) var(--sample-ease-out),
			translate var(--sample-duration-200) var(--sample-ease-out),
			display var(--sample-duration-200) allow-discrete,
			overlay var(--sample-duration-200) allow-discrete;
	}

	.elis-unit-list .elis-unit-list__panel:not([open]) {
		opacity: 0;
		translate: 0 calc(-1 * var(--sample-shift-4));
		pointer-events: none;
	}

	@starting-style {
		.elis-unit-list .elis-unit-list__panel[open] {
			opacity: 0;
			translate: 0 calc(-1 * var(--sample-shift-4));
		}
	}

	.elis-unit-list__panel::backdrop {
		transition:
			opacity var(--sample-duration-200) var(--sample-ease-out),
			display var(--sample-duration-200) allow-discrete,
			overlay var(--sample-duration-200) allow-discrete;
	}

	@starting-style {
		.elis-unit-list__panel[open]::backdrop {
			opacity: 0;
		}
	}

	.elis-unit-list[data-elis-ready]
	:is(.elis-unit-list__row, .elis-unit-list__chip) {
		transition:
			opacity var(--sample-duration-250) var(--sample-ease-out),
			translate var(--sample-duration-250) var(--sample-ease-out);
	}

	@starting-style {
		.elis-unit-list[data-elis-ready]
			:is(.elis-unit-list__row, .elis-unit-list__chip) {
			opacity: 0;
			translate: 0 var(--sample-shift-4);
		}
	}

	/* Řádek tabulky: plynulá změna pozadí, obrysu a stínu při najetí a zvolení. */
	.elis-unit-list[data-elis-ready] .elis-unit-list__row {
		transition:
			opacity var(--sample-duration-250) var(--sample-ease-out),
			translate var(--sample-duration-250) var(--sample-ease-out),
			background-color var(--sample-duration-200) var(--sample-ease-out),
			border-color var(--sample-duration-200) var(--sample-ease-out),
			box-shadow var(--sample-duration-200) var(--sample-ease-out);
	}

	.elis-unit-list[data-elis-ready] .elis-unit-list__row > * {
		transition: opacity var(--sample-duration-200) var(--sample-ease-out);
	}

	:is(.elis-floor-options, .elis-unit-list__filter):is(:hover, :focus-within)
		:is(
			.elis-floor-options__floor,
			.elis-floor-options__building,
			.elis-unit-list__option
		) {
		transition:
			background-color var(--sample-duration-150) var(--sample-ease-out),
			border-color var(--sample-duration-150) var(--sample-ease-out),
			color var(--sample-duration-150) var(--sample-ease-out);
	}
}

/* Výška sticky hlavičky webu: pod ni se přilepí blok s mapami (0 = hlavička odjede). */
:root {
	--sample-header-height: 0px;    /* desktop */
}

@media (max-width: 880px) {
	:root {
		--sample-header-height: 75px;   /* tablet */
	}
}

@media (max-width: 767px) {
	:root {
		--sample-header-height: 65px;   /* telefon */
	}
}

/* Na běžné obrazovce zůstávají počty a náhledy vlevo vedle seznamu i při jeho posouvání. */
html[data-elis-layout="regular"] .elis-vzor-vlevo {
	position: sticky;
	inset-block-start: calc(var(--sample-header-height) + 24px);
}/* End custom CSS */
/* Start custom CSS for elis-unit-list, class: .elementor-element-af2ba4a *//* =========================================================================
   ELIS – TABULKA BYTŮ (K5 Seznam jednotek)
   Pořadí vložení: elis-ostatni.css → elis-tabulka.css → elis-lista-patra.css → elis-vysky.css

   1) PÍSMA – všechny velikosti na jednom místě (podle zařízení)
   2) SLOUPCE kompaktních řádků
   3) Čipy, tabulka na počítači, kompaktní řádky, notebook
   ========================================================================= */


/* =========================================================================
   1) PÍSMA
   ========================================================================= */
:root {
	/* Čipy stavu / štítku / slevy – základ (i karty u kurzoru a lišta patra) */
	--fs-chip: 12px;

	/* --- Počítač (široká tabulka) --- */
	--fs-pc-head: 11px;          /* popisky záhlaví */
	--fs-pc-text: 13px;          /* patro, dispozice, plochy, exteriér */
	--fs-pc-unit: 15px;          /* budova a byt */
	--fs-pc-price: 18px;         /* cena */
	--fs-pc-price-old: 11px;     /* přeškrtnutá cena */
	--fs-pc-perm2: 11px;         /* Kč/m² */

	/* --- Notebook (okno od 1025 px, užší seznam) --- */
	--fs-nb-head: 10px;
	--fs-nb-building: 12px;
	--fs-nb-unit: 18px;
	--fs-nb-floor: 12px;
	--fs-nb-disposition: 14px;
	--fs-nb-area: 14px;
	--fs-nb-exteriors: 12px;
	--fs-nb-price: clamp(15px, 2.1cqi, 19px);   /* cena se zmenšuje podle šířky seznamu */
	--fs-nb-price-old: 10px;
	--fs-nb-perm2: 11px;
	--fs-nb-discount: 9px;
	--fs-nb-chip: 11px;
	--fs-nb-tag: 10px;

	/* --- Tablet a telefon na šířku --- */
	--fs-c-head: 9px;
	--fs-c-building: 10px;
	--fs-c-unit: 16px;
	--fs-c-floor: 10px;
	--fs-c-disposition: 12px;
	--fs-c-area: 12px;
	--fs-c-exteriors: 10px;
	--fs-c-price: 18px;
	--fs-c-price-old: 9px;
	--fs-c-perm2: 11px;
	--fs-c-discount: 9px;
	--fs-c-chip: 10px;
	--fs-c-tag: 9px;
}

/* --- Telefon na výšku --- */
@media (max-width: 767px) and (orientation: portrait) {
	:root {
		--fs-c-head: 9px;
		--fs-c-building: 10px;
		--fs-c-unit: 16px;
		--fs-c-floor: 10px;
		--fs-c-disposition: 12px;
		--fs-c-area: 12px;
		--fs-c-exteriors: 9px;
		--fs-c-price: 14px;
		--fs-c-price-old: 9px;
		--fs-c-perm2: 11px;
		--fs-c-discount: 9px;
		--fs-c-chip: 10px;
		--fs-c-tag: 9px;
	}
}


/* =========================================================================
   2) SLOUPCE kompaktních řádků
   ========================================================================= */

/* Výška řádků – počítač a notebook */
:root {
	--tab-pc-row-h: 100px;    /* počítač: jednotná výška řádku (se štítkem i se slevou stejná) */
	--tab-pc-row-pad: 14px;   /* počítač: nejmenší odsazení nad i pod obsahem buňky */
	--tab-nb-row-pad: 20px;   /* notebook: odsazení nad i pod obsahem řádku */
}

/* Počítač: skupiny sloupců – uvnitř skupiny těsněji, mezi skupinami větší mezera
   Stav | Budova Byt Patro | Dispozice Plocha Exteriér | Cena Kč/m² */
:root {
	--tab-pc-cell-gap: 6px;     /* odsazení buňky vlevo/vpravo uvnitř skupiny */
	--tab-pc-group-gap: 40px;   /* mezera před novou skupinou */
}

/* Tablet, telefon na šířku: Stav | Budova | Dispozice | Cena */
:root {
	--tab-m-cols: minmax(136px, 0.75fr) minmax(64px, 0.55fr) minmax(0, 1.1fr) minmax(0, 1.1fr);
	--tab-m-gap: 8px;
	--tab-m-pad: 14px;
}

/* Telefon na výšku: úzký 1. sloupec a navíc sloupec Detail se šipkou */
@media (max-width: 767px) and (orientation: portrait) {
	:root {
		--tab-m-cols: 52px minmax(0, 1fr) minmax(0, 1.15fr) 26px;
		--tab-m-pad: 8px;      /* boční odsazení řádku – blok Budova/Byt/Podlaží blíž ke kraji */
		--tab-m-gap: 8px;
	}
}


/* =========================================================================
   ČIPY: stav, štítek, sleva, počet (platí i pro karty u kurzoru a lištu patra)
   ========================================================================= */
:is(.elis-unit-list, .elis-floor-picker, .elis-unit-picker)
:is(
	.elis-unit-list__state-chip,
	.elis-unit-list__tag,
	.elis-unit-list__discount,
	.elis-card__state,
	.elis-card__tag,
	.elis-card__discount,
	.elis-card__count
) {
	display: inline-flex;
	align-items: center;
	min-block-size: var(--sample-size-21);
	padding: 0 var(--sample-space-15);
	border-radius: var(--sample-radius-999);
	font-size: var(--fs-chip);
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}

/* Volný a počet volných: modrá s tmavým textem. */
:is(.elis-unit-list, .elis-floor-picker, .elis-unit-picker)
:is(
	.elis-unit-list__state-chip,
	.elis-card__state,
	.elis-card__count
) {
	background: var(--sample-blue-400);
	color: var(--sample-ink-900);
}

/* Rezervovaný: bronzová jako v legendě počtů. */
:is(.elis-unit-list__row, .elis-card__row, .elis-card)[data-elis-state="reserved"]
:is(.elis-unit-list__state-chip, .elis-card__state) {
	background: var(--sample-tint-400);
	color: var(--sample-ink-900);
}

/* Prodaný: tmavě šedý s bílým textem. */
:is(.elis-unit-list__row, .elis-card__row, .elis-card)[data-elis-state="sold"]
:is(.elis-unit-list__state-chip, .elis-card__state) {
	background: var(--sample-ink-600);
	color: var(--sample-white);
}

/* Štítek (např. „Garáž jen za 149.900,-“): tmavý, odlišný od prodaného. */
:is(.elis-unit-list, .elis-floor-picker, .elis-unit-picker)
:is(.elis-unit-list__tag, .elis-card__tag) {
	background: var(--sample-ink-900);
	color: var(--sample-white);
}

/* Sleva: olivová. */
:is(.elis-unit-list, .elis-floor-picker, .elis-unit-picker)
:is(.elis-unit-list__discount, .elis-card__discount) {
	background: var(--sample-olive-600);
	color: var(--sample-white);
}

:is(.elis-card__tag, .elis-card__state, .elis-unit-list__tag):empty {
	display: none;
}


/* =========================================================================
   TABULKA – POČÍTAČ: bílý box s rádiusem 20 px, béžové záhlaví
   ========================================================================= */
.elis-unit-list .elis-unit-list__table {
	inline-size: 100%;
	margin: 0;
	overflow: clip;
	border: var(--sample-line-1) solid var(--sample-ink-a20);
	border-radius: var(--sample-radius-20);
	background: var(--sample-white);
	font-size: var(--fs-pc-text);
}

.elis-unit-list
	.elis-unit-list__table
	:is(.elis-unit-list__header-row, .elis-unit-list__row) {
	align-items: center;
	padding-inline: var(--sample-space-20);
}

.elis-unit-list
	.elis-unit-list__table
	:is(.elis-unit-list__header-row, .elis-unit-list__row)
	> * {
	padding: var(--tab-pc-row-pad) var(--sample-space-10);
	line-height: 1.2;
	text-align: start;
}

/* Skupiny sloupců (jen široká tabulka – v užším seznamu platí kompaktní řádky) */
@container elis-unit-list (width >= 58.5rem) {
	/* Jednotná výška řádků: obsah (štítek pod stavem, sleva nad cenou) se vejde
	   dovnitř a je svisle na středu – řádky se nemění podle toho, co obsahují. */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__row {
		min-block-size: var(--tab-pc-row-h);
	}

	.elis-unit-list
		.elis-unit-list__table
		:is(.elis-unit-list__header-row, .elis-unit-list__row)
		> * {
		padding-inline: var(--tab-pc-cell-gap);
	}

	.elis-unit-list
		.elis-unit-list__table
		:is(.elis-unit-list__header-row, .elis-unit-list__row)
		> :is(.elis-unit-list__building, .elis-unit-list__disposition, .elis-unit-list__price) {
		padding-inline-start: var(--tab-pc-group-gap);
	}

	.elis-unit-list
		.elis-unit-list__table
		:is(.elis-unit-list__header-row, .elis-unit-list__row)
		> .elis-unit-list__state {
		padding-inline-start: 0;
	}
}

/* S myší je sloupec Detail prázdný (odkazem je celý řádek). */
@media (hover: hover) and (pointer: fine) {
	.elis-unit-list .elis-unit-list__table .elis-unit-list__detail {
		padding-inline: 0;
	}
}

.elis-unit-list .elis-unit-list__row {
	border-block-start: var(--sample-line-1) solid var(--sample-ink-a20);
}

/* Záhlaví: béžová lišta s popisky verzálkami. */
.elis-unit-list .elis-unit-list__header-row {
	background: var(--sample-tint-100);
}

.elis-unit-list .elis-unit-list__table .elis-unit-list__head {
	align-self: center;
	padding-block: var(--sample-space-20);
	color: var(--sample-ink-600);
	font-size: var(--fs-pc-head);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: var(--sample-tracking-016);
	overflow-wrap: normal;
	text-transform: uppercase;
}

/* Cena a Kč/m² vpravo i se záhlavím. */
.elis-unit-list
	.elis-unit-list__table
	:is(.elis-unit-list__price, .elis-unit-list__per-m2) {
	text-align: end;
}

.elis-unit-list
	.elis-unit-list__table
	.elis-unit-list__head.elis-unit-list__per-m2 {
	text-transform: none;
}

.elis-unit-list
	.elis-unit-list__row
	> :is(.elis-unit-list__unit, .elis-unit-list__building) {
	font-size: var(--fs-pc-unit);
	font-weight: 600;
}

.elis-unit-list .elis-unit-list__table .elis-unit-list__unit {
	box-sizing: content-box;
	min-inline-size: 5ch;
}

.elis-unit-list .elis-unit-list__table .elis-unit-list__state {
	white-space: nowrap;
}

/* Štítek pod stavem, sleva nad cenou. */
.elis-unit-list
	.elis-unit-list__table
	:is(.elis-unit-list__tag, .elis-unit-list__discount) {
	display: flex;
	inline-size: fit-content;
	white-space: normal;
}

.elis-unit-list .elis-unit-list__table .elis-unit-list__tag {
	margin-block-start: var(--sample-space-5);
}

.elis-unit-list .elis-unit-list__table .elis-unit-list__exteriors {
	color: var(--sample-ink-600);
}

.elis-unit-list .elis-unit-list__table .elis-unit-list__discount {
	margin: 0 0 var(--sample-space-5) auto;
}

.elis-unit-list .elis-unit-list__regular-price {
	display: block;
	color: var(--sample-ink-600);
	font-size: var(--fs-pc-price-old);
	text-decoration-skip-ink: none;
}

.elis-unit-list .elis-unit-list__valid-price {
	display: block;
	font-size: var(--fs-pc-price);
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.elis-unit-list .elis-unit-list__row > .elis-unit-list__per-m2 {
	color: var(--sample-ink-600);
	font-size: var(--fs-pc-perm2);
	white-space: nowrap;
}

/* Rezervované a prodané: šedý text. */
.elis-unit-list__row:is([data-elis-state="reserved"], [data-elis-state="sold"])
> :is(
	.elis-unit-list__building,
	.elis-unit-list__unit,
	.elis-unit-list__floor,
	.elis-unit-list__disposition,
	.elis-unit-list__area,
	.elis-unit-list__price
) {
	color: var(--sample-ink-600);
}

/* Prodané: vybledlý řádek, ať vynikne nabídka; čip stavu zůstane čitelný. */
.elis-unit-list .elis-unit-list__row[data-elis-state="sold"] {
	background: var(--sample-tint-50);
}

.elis-unit-list .elis-unit-list__row[data-elis-state="sold"] > * {
	opacity: 0.45;
}

.elis-unit-list .elis-unit-list__row[data-elis-state="sold"] > .elis-unit-list__state {
	opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
	.elis-unit-list .elis-unit-list__row[data-elis-state="sold"]:hover > * {
		opacity: 0.75;
	}
}

/* Zvolený řádek: béžové pozadí k obrysu řádku z funkčního CSS. */
.elis-unit-list .elis-unit-list__row[data-elis-selected] {
	background: var(--sample-tint-100);
}

.elis-unit-list__link {
	color: inherit;
	text-decoration: none;
}

/* Šipka na detail (jen na dotyku): béžový kruh 30 px s ikonou. */
.elis-unit-list .elis-unit-list__arrow {
	align-items: center;
	justify-content: center;
	inline-size: var(--sample-size-30);
	block-size: var(--sample-size-30);
	border-radius: var(--sample-radius-999);
	background: var(--sample-tint-100);
	font-size: 0;
}

.elis-unit-list__arrow::before {
	content: "";
	inline-size: var(--sample-size-20);
	block-size: var(--sample-size-20);
	background: var(--sample-ink-900);
	mask: var(--sample-icon-arrow) center / contain no-repeat;
}

/* Šipka na detail: na dotyku (telefon, tablet) – tam klepnutí na řádek byt jen vybere
   a detail otevírá šipka. S myší je skrytá, proklik funguje celým řádkem
   (nativní chování ELIS). */
.elis-unit-list .elis-unit-list__table .elis-unit-list__arrow {
	display: none !important;
}

@media (max-width: 767px) and (orientation: portrait), not ((hover: hover) and (pointer: fine)) {
	.elis-unit-list .elis-unit-list__table .elis-unit-list__link {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-inline-size: 26px;
		min-block-size: 26px;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__arrow {
		display: inline-flex !important;
		inline-size: 26px;
		block-size: 26px;
	}

	/* Ikona v kroužku menší – kroužek je jen o kousek větší než šipka */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__arrow::before {
		inline-size: 16px;
		block-size: 16px;
	}

	.elis-unit-list__link:focus-visible {
		outline: var(--sample-line-2) solid var(--elis-focus);
		outline-offset: var(--sample-line-2);
		border-radius: var(--sample-radius-999);
	}
}

/* Šipka u zvoleného řádku: bílý kruh, ať nesplývá s béžovým pozadím. */
.elis-unit-list .elis-unit-list__row[data-elis-selected] .elis-unit-list__arrow {
	background: var(--sample-white);
}

.elis-unit-list__empty {
	padding: var(--sample-space-30) var(--sample-space-20);
	color: var(--sample-ink-600);
	font-size: 14px;
	text-align: center;
}

.elis-unit-list__empty .elis-unit-list__reset {
	margin-block-start: var(--sample-space-10);
}


/* =========================================================================
   TABULKA – TELEFON / UŽŠÍ SEZNAM (do 58,5rem): čisté řádky ve 4 sloupcích

   Budova      | Dispozice | Cena (+ sleva) | Detail
   Byt         | Plocha    |                |
   Podlaží     | Exteriér  | Stav (+ štítek)|
   ========================================================================= */
@container elis-unit-list (width < 58.5rem) {
	.elis-unit-list .elis-unit-list__table {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Telefon na výšku: bez rámečku, rádiusu a pozadí kolem tabulky – jen řádky.
	   (Tablet, telefon na šířku a notebook si nechávají box s rámečkem a rádiusem.) */
	@media (max-width: 767px) and (orientation: portrait) {
		.elis-unit-list .elis-unit-list__table {
			overflow: visible;
			border: 0;
			border-radius: 0;
			background: none;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row:last-child {
			border-block-end: var(--sample-line-1) solid var(--sample-ink-a20);
		}
	}

	/* Nativní záhlaví tabulky (tablet, telefon na šířku): stejné rozložení jako řádky. */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row {
		display: grid;
		grid-template-columns: var(--tab-m-cols);
		grid-template-rows: auto auto auto;
		grid-template-areas:
			"state building disposition price"
			"state unit     area        price"
			"state floor    exteriors   perm2";
		align-content: center;
		column-gap: var(--tab-m-gap);
		row-gap: 1px;
		padding: 8px var(--tab-m-pad);
		background: var(--sample-tint-100);
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row > .elis-unit-list__head {
		min-inline-size: 0;
		padding: 0;
		color: var(--sample-ink-600);
		font-size: var(--fs-c-head);
		font-weight: 600;
		line-height: 1.25;
		letter-spacing: 0.06em;
		text-align: center;
		text-transform: uppercase;
	}

	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__building    { grid-area: building;    align-self: end; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__unit        { grid-area: unit;        align-self: center; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__floor       { grid-area: floor;       align-self: start; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__disposition { grid-area: disposition; align-self: end; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__area        { grid-area: area;        align-self: center; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__exteriors   { grid-area: exteriors;   align-self: start; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__price       { grid-area: price;       align-self: end; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__per-m2      { grid-area: perm2;       align-self: start; text-transform: none; }
	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__state       { grid-area: state;       align-self: center; text-align: start; }

	.elis-unit-list .elis-unit-list__header-row > .elis-unit-list__detail {
		display: none;
	}

	/* Telefon na výšku: nativní záhlaví skryté (popisky ukazuje vlastní lišta), zůstává pro čtečky. */
	@media (max-width: 767px) and (orientation: portrait) {
		.elis-unit-list .elis-unit-list__table .elis-unit-list__header {
			position: absolute;
			inline-size: 1px;
			block-size: 1px;
			overflow: hidden;
			clip-path: inset(50%);
			white-space: nowrap;
		}
	}

	/* Řádek: mřížka 4 sloupců, linka nahoře, poslední i dole. */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
	.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
		display: grid;
		grid-template-columns: var(--tab-m-cols);
		/* Tři řádky mřížky podle obsahu: údaje ve všech sloupcích leží na stejných
		   osách (nahoře / uprostřed / dole), drží u sebe a celek je svisle na středu. */
		grid-template-rows: auto auto auto;
		align-items: center;
		/* Cena a Kč/m² sdílejí jeden blok přes celou výšku řádku → svisle na středu */
		grid-template-areas:
			"state building disposition price"
			"state unit     area        price"
			"state floor    exteriors   price";
		align-content: center;
		column-gap: var(--tab-m-gap);
		row-gap: 1px;
		padding: 12px var(--tab-m-pad);
		border: 0;
		border-block-start: var(--sample-line-1) solid var(--sample-ink-a20);
		border-radius: 0;
		background-color: var(--sample-white);
	}

	/* Prodané a zvolené si pozadí nechávají. */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-elis-state="sold"] {
		background-color: var(--sample-tint-50);
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-elis-selected] {
		background-color: var(--sample-tint-100);
	}

	/* Tenčí obrys při najetí a zvolení. */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__row:is(:hover, [data-elis-selected]) {
		outline-width: 1px !important;
		outline-offset: -1px !important;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__row > * {
		order: 0;
		min-inline-size: 0;
		padding: 0;
		line-height: 1.2;
		text-align: center;
	}

	/* Sloupec 1 – budova, byt, podlaží (přitažené k sobě) */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__building {
		grid-area: building;
		align-self: center;
		font-size: var(--fs-c-building);
		font-weight: 400;
		color: var(--sample-ink-600);
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__unit {
		grid-area: unit;
		align-self: center;
		min-inline-size: 0;
		font-size: var(--fs-c-unit);
		font-weight: 700;
		line-height: 1.1;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__floor {
		grid-area: floor;
		align-self: center;
		font-size: var(--fs-c-floor);
		color: var(--sample-ink-600);
	}

	/* Sloupec 2 – dispozice, plocha, exteriér (přitažené k sobě) */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__disposition {
		grid-area: disposition;
		align-self: center;
		font-size: var(--fs-c-disposition);
		font-weight: 600;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__area {
		grid-area: area;
		align-self: center;
		font-size: var(--fs-c-area);
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__exteriors {
		grid-area: exteriors;
		align-self: center;
		font-size: var(--fs-c-exteriors);
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__exteriors:empty {
		display: none;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__per-m2 {
		grid-area: price;
		align-self: end;
		margin-block-start: 0;
		line-height: 16px;
		font-size: var(--fs-c-perm2);
		text-align: center;
	}

	/* Sloupec 3 – cena nahoře, stav a štítek hned pod ní */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__price {
		grid-area: price;
		align-self: center;
		margin: 0;
		padding-block-end: 16px;   /* místo pro Kč/m² pod cenou */
		text-align: center;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__discount {
		min-block-size: 15px;
		margin: 0 auto 2px;
		padding: 0 7px;
		font-size: var(--fs-c-discount);
	}

	.elis-unit-list .elis-unit-list__regular-price {
		font-size: var(--fs-c-price-old);
		line-height: 1.2;
	}

	.elis-unit-list .elis-unit-list__valid-price {
		font-size: var(--fs-c-price);
		font-weight: 700;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__state {
		grid-area: state;
		align-self: center;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 3px;
		white-space: normal;
	}

	.elis-unit-list .elis-unit-list__table .elis-unit-list__state-chip {
		min-block-size: 17px;
		padding: 0 8px;
		font-size: var(--fs-c-chip);
	}

	/* Štítek vždy na jeden řádek; sloupec Stav je dost široký, aby se vešel celý. */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__tag {
		min-block-size: 16px;
		max-inline-size: 100%;
		margin: 0;
		padding: 0 8px;
		overflow: hidden;
		font-size: var(--fs-c-tag);
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* Sloupec Detail: vlastní sloupec jen na telefonu na výšku. Jinde buňka zůstává
	   (je v ní odkaz pro proklik celým řádkem), jen nezabírá místo – leží v posledním sloupci. */
	.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__detail {
		grid-column: -2 / -1;
		grid-row: 1 / -1;
		justify-self: end;
		align-self: center;
		inline-size: 0;
		padding: 0;
		overflow: visible;
	}

	/* Tablet a telefon na šířku na dotyku: navíc sloupec Detail se šipkou */
	@media not ((hover: hover) and (pointer: fine)) {
		.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
			grid-template-columns: var(--tab-m-cols) 26px;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row {
			grid-template-areas:
				"state building disposition price detail"
				"state unit     area        price detail"
				"state floor    exteriors   perm2 detail";
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
			grid-template-areas:
				"state building disposition price detail"
				"state unit     area        price detail"
				"state floor    exteriors   price detail";
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__detail {
			grid-area: detail;
			grid-column: auto;
			grid-row: auto;
			display: flex;
			justify-content: flex-end;
			align-items: center;
			inline-size: auto;
			margin: 0;
		}
	}

	@media (max-width: 767px) and (orientation: portrait) {
		/* Tři řádky podle obsahu: cena přes dva horní, stav ve spodním. */
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
			grid-template-columns: var(--tab-m-cols);
			grid-template-rows: auto auto auto;
			grid-template-areas:
				"building disposition price  detail"
				"unit     area        price  detail"
				"floor    exteriors   state  detail";
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__price {
			align-self: center;
			padding-block-end: 0;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__per-m2 {
			display: none;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__state {
			align-self: center;
			align-items: center;
			gap: 2px;
			margin-block-start: 0;
		}


		.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__detail {
			grid-area: detail;
			display: flex;
			justify-content: flex-end;
			align-items: center;
			inline-size: auto;
			margin: 0;
		}
	}
}


/* =========================================================================
   TABULKA – NOTEBOOK (okno od 1025 px, seznam užší než 58,5rem)
   Roztaženější řádek, údaje sloučené po dvou nad sebou:

   Stav | Budova  | Patro     | Plocha   | Cena
        | Byt     | Dispozice | Exteriér | Kč/m²
   ========================================================================= */
@container elis-unit-list (width < 58.5rem) {
	@media (min-width: 1025px) {
		.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
			grid-template-columns:
				minmax(140px, 0.8fr)
				minmax(64px, 0.55fr)
				minmax(64px, 0.55fr)
				minmax(0, 1.1fr)
				minmax(0, 1.35fr);
			grid-template-rows: auto auto;
			grid-template-areas:
				"state building floor       area      price"
				"state unit     disposition exteriors perm2";
			align-content: center;
			column-gap: 16px;
			row-gap: 2px;
		}

		/* Řádek: cena a Kč/m² sdílejí jeden blok přes oba řádky – cena uprostřed,
		   Kč/m² hned pod ní. Dvojice údajů tak zůstanou svisle na středu. */
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
			grid-template-areas:
				"state building floor       area      price"
				"state unit     disposition exteriors price";
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__price {
			grid-area: price;
			align-self: center;
			padding-block-end: 16px;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__per-m2 {
			grid-area: price;
			align-self: end;
			margin: 0;
			line-height: 16px;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row {
			padding: 14px 20px;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
			padding: var(--tab-nb-row-pad) 20px;
		}

		/* Kompaktnější sleva a původní cena */
		.elis-unit-list .elis-unit-list__table .elis-unit-list__discount {
			min-block-size: 15px;
			margin: 0 auto 1px;
			padding: 0 7px;
			font-size: var(--fs-nb-discount);
		}

		.elis-unit-list .elis-unit-list__regular-price {
			font-size: var(--fs-nb-price-old);
			line-height: 1.1;
		}

		/* Horní řádek dvojic ke spodku, dolní k vršku – drží pohromadě */
		.elis-unit-list .elis-unit-list__table :is(.elis-unit-list__header-row, .elis-unit-list__row) > :is(
			.elis-unit-list__building,
			.elis-unit-list__floor,
			.elis-unit-list__area
		) {
			align-self: end;
		}

		.elis-unit-list .elis-unit-list__table :is(.elis-unit-list__header-row, .elis-unit-list__row) > :is(
			.elis-unit-list__unit,
			.elis-unit-list__disposition,
			.elis-unit-list__exteriors
		) {
			align-self: start;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row > .elis-unit-list__price {
			align-self: end;
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row > .elis-unit-list__per-m2 {
			align-self: start;
		}

		.elis-unit-list .elis-unit-list__table :is(.elis-unit-list__header-row, .elis-unit-list__row) > .elis-unit-list__state {
			align-self: center;
		}

		/* Notebook / velký tablet na dotyku: navíc sloupec Detail se šipkou */
		@media not ((hover: hover) and (pointer: fine)) {
			.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row,
			.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
			.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
				grid-template-columns:
					minmax(140px, 0.8fr)
					minmax(64px, 0.55fr)
					minmax(64px, 0.55fr)
					minmax(0, 1.1fr)
					minmax(0, 1.35fr)
					26px;
			}

			.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row {
				grid-template-areas:
					"state building floor       area      price detail"
					"state unit     disposition exteriors perm2 detail";
			}

			.elis-unit-list .elis-unit-list__table .elis-unit-list__row,
			.elis-unit-list .elis-unit-list__table .elis-unit-list__row + .elis-unit-list__row {
				grid-template-areas:
					"state building floor       area      price detail"
					"state unit     disposition exteriors price detail";
			}
		}

		/* Písma – hodnoty v úvodu souboru (--fs-nb-*) */
		.elis-unit-list .elis-unit-list__table .elis-unit-list__header-row > .elis-unit-list__head {
			font-size: var(--fs-nb-head);
		}

		.elis-unit-list .elis-unit-list__row > .elis-unit-list__building {
			font-size: var(--fs-nb-building);
		}

		.elis-unit-list .elis-unit-list__row > .elis-unit-list__unit {
			font-size: var(--fs-nb-unit);
		}

		.elis-unit-list .elis-unit-list__row > .elis-unit-list__floor {
			font-size: var(--fs-nb-floor);
		}

		.elis-unit-list .elis-unit-list__row > .elis-unit-list__disposition {
			font-size: var(--fs-nb-disposition);
		}

		.elis-unit-list .elis-unit-list__row > .elis-unit-list__area {
			font-size: var(--fs-nb-area);
		}

		.elis-unit-list .elis-unit-list__row > .elis-unit-list__exteriors {
			font-size: var(--fs-nb-exteriors);
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__row > .elis-unit-list__per-m2 {
			font-size: var(--fs-nb-perm2);
		}

		.elis-unit-list .elis-unit-list__valid-price {
			font-size: var(--fs-nb-price);
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__state-chip {
			min-block-size: 20px;
			padding: 0 12px;
			font-size: var(--fs-nb-chip);
		}

		.elis-unit-list .elis-unit-list__table .elis-unit-list__tag {
			font-size: var(--fs-nb-tag);
		}
	}
}


/* =========================================================================
   SLOUPCE V KOMPAKTNÍCH ŘÁDCÍCH (tablet a níž)
   Skript seskupí údaje každého sloupce do obalu .sp-col, každý sloupec
   je pak svisle vycentrovaný sám za sebe. Na počítači a notebooku jsou
   obaly průhledné (display: contents) – rozložení se tam nemění.
   Exteriér: každý údaj na vlastním řádku (jen tablet a níž).
   ========================================================================= */
.elis-unit-list .sp-col {
	display: contents;
}

.elis-unit-list .elis-unit-list__exteriors .sp-ext-br {
	display: none;
}

@container elis-unit-list (width < 58.5rem) {
	@media (max-width: 1024px) {
		/* Řádek: jeden řádek mřížky, sloupce vycentrované */
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-sp-cols],
		.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-sp-cols] + .elis-unit-list__row[data-sp-cols] {
			grid-template-rows: auto;
			grid-template-areas: "state byt dispo cena";
			align-items: center;
			row-gap: 0;
		}

		/* Obal sloupce */
		.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 2px;
			min-inline-size: 0;
			text-align: center;
		}

		.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col--byt   { grid-area: byt; }
		.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col--dispo { grid-area: dispo; }
		.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col--cena  { grid-area: cena; gap: 3px; }

		/* Údaje uvnitř obalu: bez vlastního umístění v mřížce, vše na střed */
		.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col > * {
			grid-area: auto;
			align-self: center;
			margin: 0;
			padding: 0;
			text-align: center;
		}

		.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col--cena > .elis-unit-list__price {
			padding-block-end: 0;
		}

		.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col--cena > .elis-unit-list__per-m2 {
			color: var(--sample-ink-600);
			font-size: var(--fs-c-perm2);
			line-height: 1.2;
			white-space: nowrap;
		}

		/* Exteriér: každý údaj na vlastním řádku */
		.elis-unit-list .elis-unit-list__exteriors .sp-ext-br {
			display: inline;
		}

		/* Dotyk (tablet, telefon na šířku): sloupec se šipkou */
		@media not ((hover: hover) and (pointer: fine)) {
			.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-sp-cols],
			.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-sp-cols] + .elis-unit-list__row[data-sp-cols] {
				grid-template-areas: "state byt dispo cena detail";
			}
		}

		/* Telefon na výšku: stav je (skriptem) přesunutý pod cenu */
		@media (max-width: 767px) and (orientation: portrait) {
			.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-sp-cols],
			.elis-unit-list .elis-unit-list__table .elis-unit-list__row[data-sp-cols] + .elis-unit-list__row[data-sp-cols] {
				grid-template-columns: var(--tab-m-cols);
				grid-template-areas: "byt dispo cena detail";
			}

			.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col--cena > .elis-unit-list__per-m2 {
				display: none;
			}

			.elis-unit-list .elis-unit-list__row[data-sp-cols] > .sp-col--cena > .elis-unit-list__state {
				margin-block-start: 3px;
			}
		}
	}
}/* End custom CSS */