/* =====================================================================
   Bydlení Pstruží — Premium redesign v5.0.1
   Editorial developer web, dark mode, mobile command dock.
   ===================================================================== */

:root {
  color-scheme: light;
  --bg:#f3efe7;
  --bg-2:#ebe3d6;
  --bg-3:#dfd3c1;
  --surface:#fffaf1;
  --surface-2:#f7f0e5;
  --glass:rgba(255, 250, 241, .76);
  --ink:#171512;
  --ink-2:#38322a;
  --muted:#746b5e;
  --line:rgba(37, 31, 24, .12);
  --line-2:rgba(37, 31, 24, .22);
  --forest:#33452c;
  --forest-2:#58734a;
  --moss:#81966a;
  --gold:#b99a5d;
  --clay:#87634f;
  --coal:#171512;
  --free:#4f7a47;
  --resv:#b68436;
  --sold:#858178;
  --park:#6c7890;
  --serif:"DM Serif Display",
  Georgia,
  serif;
  --sans:"Manrope",
  -apple-system,
  BlinkMacSystemFont,
  "Segoe UI",
  sans-serif;
  --container: min(1180px, calc(100vw - 44px));
  --radius-xs:10px;
  --radius:20px;
  --radius-lg:34px;
  --radius-xl:46px;
  --shadow:0 26px 80px rgba(34, 27, 19, .12);
  --shadow-soft:0 16px 50px rgba(34, 27, 19, .08);
  --ease:cubic-bezier(.2, .8, .2, 1);
  --header-h:78px;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg:#10130f;
  --bg-2:#171c15;
  --bg-3:#202719;
  --surface:#171a15;
  --surface-2:#1d231b;
  --glass:rgba(18, 22, 16, .72);
  --ink:#f4eadb;
  --ink-2:#d9cdbb;
  --muted:#a69a8b;
  --line:rgba(244, 234, 219, .13);
  --line-2:rgba(244, 234, 219, .24);
  --forest:#95ad79;
  --forest-2:#b3c99c;
  --moss:#7f956d;
  --gold:#d4b878;
  --clay:#bd8e72;
  --coal:#f4eadb;
  --free:#93bd7f;
  --resv:#d3ad60;
  --sold:#7e7a72;
  --park:#9ca9c0;
  --shadow:0 26px 90px rgba(0, 0, 0, .42);
  --shadow-soft:0 18px 55px rgba(0, 0, 0, .28);
}

/* Základ stránky, typografie a sdílené pomocné třídy. */
* {
  box-sizing:border-box
}





body:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(120, 100, 70, .035) 1px, transparent 1px),
  linear-gradient(90deg, rgba(120, 100, 70, .03) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom, black, transparent 75%);
  z-index:-1
}

img,
video {
  max-width:100%;
  height:auto
}

a {
  color:inherit;
  text-decoration:none
}

button,
input,
textarea,
select {
  font:inherit
}

::selection {
  background:var(--forest);
  color:var(--bg)
}

:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:4px;
  border-radius:10px
}

.bp-skip {
  position:fixed;
  left:16px;
  top:12px;
  z-index:1000;
  transform:translateY(-160%);
  background:var(--ink);
  color:var(--bg);
  padding:10px 14px;
  border-radius:999px
}

.bp-skip:focus {
  transform:none
}

.bp-container {
  width:var(--container);
  margin-inline:auto
}







.bp-section__intro,
.bp-lead {
  font-size:clamp(1.05rem, 1.55vw, 1.33rem);
  line-height:1.55;
  color:var(--ink-2);
  max-width:760px
}



.bp-sec-num:before,
.bp-eyebrow:before {
  content:"";
  width:32px;
  height:1px;
  background:currentColor;
  opacity:.6
}



.accent {
  color:var(--forest);
  font-style:italic
}

.bp-muted {
  color:var(--muted)
}

.bp-visually-hidden {
  position:absolute!important;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap
}

.bp-imgph {
  display:grid;
  place-items:center;
  min-height:260px;
  background:linear-gradient(135deg, var(--surface-2), var(--bg-3));
  border:1px dashed var(--line-2);
  border-radius:var(--radius);
  color:var(--muted)
}

.bp-imgph__txt {
  padding:18px;
  text-align:center;
  font-size:.9rem
}

/* Header a hlavní navigace. */


















.bp-nav__list a:hover,
.bp-nav__list a.is-active {
  background:rgba(129, 150, 106, .14);
  color:var(--ink);
  transform:translateY(-1px)
}



.bp-theme-toggle {
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer
}



.bp-theme-toggle__sun,
.bp-theme-toggle__moon {
  z-index:1;
  text-align:center;
  font-size:.82rem;
  color:var(--muted)
}





.bp-mobile-dock {
  display:none
}



.bp-btn:hover {
  transform:translateY(-2px);
  box-shadow:var(--shadow-soft)
}

.bp-btn--solid,
.bp-btn--dark,
.bp-btn--nav {
  background:var(--ink);
  color:var(--bg);
  border-color:transparent
}

.bp-btn--solid:hover,
.bp-btn--dark:hover,
.bp-btn--nav:hover {
  background:var(--forest)
}

.bp-btn--glass,
.bp-btn--ghost {
  background:rgba(255, 255, 255, .08);
  color:var(--ink);
  border-color:var(--line-2);
  backdrop-filter:blur(12px)
}

.bp-btn--disabled {
  opacity:.52;
  pointer-events:none;
  background:var(--surface-2);
  color:var(--muted)
}

.bp-text-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--forest);
  font-weight:800
}

.bp-text-link:after {
  content:"→";
  transition:transform .25s var(--ease)
}

.bp-text-link:hover:after {
  transform:translateX(5px)
}

/* Úvodní hero sekce. */


.bp-hero__media {
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden
}

.bp-hero__video,
.bp-hero__poster {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.05)
}

.bp-hero__overlay {
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 22% 26%, rgba(125, 150, 90, .42), transparent 34%),
  linear-gradient(90deg, rgba(8, 12, 8, .88), rgba(8, 12, 8, .45) 46%, rgba(8, 12, 8, .22)),
  linear-gradient(0deg, rgba(8, 12, 8, .82), transparent 52%)
}









.bp-hero__title span {
  color:#d9e5c7;
  font-style:italic
}







.bp-text-link--hero {
  color:#eff6e2;
  padding-inline:10px
}



.bp-hero__panel div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:17px 0;
  border-bottom:1px solid rgba(255, 255, 255, .13)
}

.bp-hero__panel div:last-child {
  border-bottom:0
}

.bp-hero__panel span {
  color:rgba(255, 255, 255, .58);
  font-size:.85rem
}

.bp-hero__panel b {
  font-family:var(--serif);
  font-weight:440;
  font-size:1.25rem;
  text-align:right
}



.bp-hero__scroll span {
  width:1px;
  height:38px;
  background:linear-gradient(#fff, transparent)
}

/* Intro sekce a faktické karty. */


.bp-intro__copygrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin:26px 0;
  color:var(--muted)
}

.bp-intro__facts {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  list-style:none;
  margin:0;
  padding:0;
  position:sticky;
  top:125px;
}

.bp-fact {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  min-height:170px;
  padding:23px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:linear-gradient(145deg, var(--surface), var(--surface-2));
  box-shadow:var(--shadow-soft);
}

.bp-fact:after {
  content:"";
  position:absolute;
  right:-40px;
  top:-40px;
  width:100px;
  height:100px;
  border-radius:50%;
  background:rgba(129, 150, 106, .16);
  pointer-events:none;
}

.bp-fact b {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-start;
  gap:.12em;
  width:auto;
  max-width:100%;
  margin:0;
  white-space:nowrap;
  font-family:var(--sans);
  font-size:clamp(2.00rem, 3.0vw, 3.40rem);
  font-weight:820;
  line-height:.9;
  letter-spacing:-.065em;
  color:var(--forest);
  font-variant-numeric:tabular-nums;
}

.bp-fact b .counter {
  display:inline-block;
  width:auto;
  min-width:0;
  max-width:none;
  text-align:left;
  font:inherit;
  font-size:1em;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
  transform:none;
  font-variant-numeric:tabular-nums;
}

.bp-fact:nth-child(3) b,
.bp-fact:nth-child(4) b {
  gap:.08em;
  font-size:clamp(1.65rem, 2.4vw, 3.05rem);
}

.bp-fact:nth-child(3) b .counter,
.bp-fact:nth-child(4) b .counter {
  width:3ch;
  min-width:3ch;
  max-width:3ch;
  text-align:right;
}

.bp-fact .bp-unitmark {
  display:inline-block;
  font-family:var(--sans);
  font-size:.48em;
  font-weight:820;
  line-height:1;
  letter-spacing:-.04em;
  color:inherit;
  transform:translateY(-.06em);
}

.bp-fact > span:last-child {
  position:relative;
  z-index:1;
  margin-top:auto;
  color:var(--muted);
  font-family:var(--sans);
  font-size:.92rem;
  font-weight:720;
  line-height:1.25;
}

.bp-fact--wide {
  grid-column:1/-1;
  min-height:145px;
}

.bp-fact--wide b {
  font-family:var(--serif);
  font-weight:330;
  font-size:clamp(3rem, 4.9vw, 5.6rem);
  line-height:.92;
  letter-spacing:-.06em;
  color:var(--forest);
}

/* Běžící textový pás. */
.bp-ticker {
  overflow:hidden;
  background:var(--ink);
  color:var(--bg);
  padding:18px 0;
  border-block:1px solid var(--line)
}

.bp-ticker__track {
  display:flex;
  gap:24px;
  width:max-content;
  animation:bpTicker 30s linear infinite
}

.bp-ticker__item {
  font-family:var(--serif);
  font-size:clamp(1.05rem, 2.15vw, 2.15rem);
  white-space:nowrap;
  letter-spacing:-.04em
}

.bp-ticker .hl {
  color:var(--gold);
  font-style:italic
}

.bp-ticker .sep {
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--forest);
  margin:0 22px 4px
}

@keyframes bpTicker {
  to {
    transform:translateX(-33.333%)
  }

}

.bp-mapsec {
  background:linear-gradient(180deg, transparent, var(--surface-2));
}

/* Situační mapa a detail vybrané jednotky. */




.bp-map__bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}



.bp-zone {
  cursor:pointer;
  fill:rgba(79, 122, 71, .24);
  stroke:rgba(255, 255, 255, .78);
  stroke-width:3;
  stroke-linejoin:round;
  transition:fill .25s var(--ease),
  stroke .25s var(--ease),
  filter .25s var(--ease)
}

.bp-zone[data-stav="resv"] {
  fill:rgba(182, 132, 54, .27)
}

.bp-zone[data-stav="sold"] {
  fill:rgba(133, 129, 120, .25)
}

.bp-zone:hover,
.bp-zone.is-active {
  fill:rgba(79, 122, 71, .48);
  stroke:#fff;
  filter:drop-shadow(0 10px 20px rgba(0, 0, 0, .24))
}

.bp-zone[data-stav="resv"]:hover,
.bp-zone[data-stav="resv"].is-active {
  fill:rgba(182, 132, 54, .48)
}

.bp-zone[data-stav="sold"]:hover,
.bp-zone[data-stav="sold"].is-active {
  fill:rgba(133, 129, 120, .45)
}

.bp-park {
  fill:rgba(108, 120, 144, .32);
  stroke:rgba(255, 255, 255, .72);
  stroke-width:2
}

.bp-pin {
  pointer-events:none
}

.pin-ring {
  fill:none;
  stroke:rgba(255, 255, 255, .42);
  stroke-width:2
}

.pin-bg {
  fill:var(--surface);
  stroke:rgba(0, 0, 0, .14);
  stroke-width:1
}

.bp-pin text {
  dominant-baseline:middle;
  text-anchor:middle;
  font-weight:900;
  font-size:24px;
  fill:var(--ink)
}



.bp-map__empty {
  margin:auto;
  color:var(--muted)
}

.bp-map__empty strong {
  display:block;
  color:var(--ink);
  font-family:var(--serif);
  font-size:2rem;
  line-height:1;
  margin-bottom:12px
}



.bp-map__detail-head {
  display:grid;
  gap:16px;
  margin-bottom:22px
}









.bp-map__row dt {
  color:var(--muted)
}

.bp-map__row dd {
  margin:0;
  font-weight:800;
  text-align:right
}

.bp-map__btn {
  margin-top:24px;
  width:100%
}

.bp-map__legend {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px
}

.bp-map__legend span {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--glass);
  color:var(--muted);
  font-size:.88rem
}

.bp-dot {
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block
}

.bp-dot--free {
  background:var(--free)
}

.bp-dot--resv {
  background:var(--resv)
}

.bp-dot--sold {
  background:var(--sold)
}

.bp-dot--park {
  background:var(--park)
}

.bp-map__list {
  display:none
}

.bp-chip {
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:850;
  background:rgba(79, 122, 71, .12);
  color:var(--free);
  border:1px solid rgba(79, 122, 71, .25)
}

.bp-chip__dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor
}

.bp-chip--resv {
  background:rgba(182, 132, 54, .13);
  color:var(--resv);
  border-color:rgba(182, 132, 54, .32)
}

.bp-chip--sold {
  background:rgba(133, 129, 120, .13);
  color:var(--sold);
  border-color:rgba(133, 129, 120, .32)
}

/* Přehled bytů a karty jednotek. */
.bp-byty-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px
}

.bp-card {
  height:100%;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
  transition:transform .3s var(--ease),
  box-shadow .3s var(--ease),
  opacity .3s var(--ease)
}

.bp-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow)
}

.bp-card[data-stav="sold"] {
  opacity:.68
}

.bp-card__media {
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--surface-2)
}

.bp-card__img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease),
  filter .4s var(--ease)
}

.bp-card:hover .bp-card__img {
  transform:scale(1.035);
  filter:saturate(.92)
}

.bp-card__chip {
  position:absolute;
  left:16px;
  top:16px;
  backdrop-filter:blur(14px)
}

.bp-card__body {
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:20px;
  flex:1
}

.bp-card__title {
  margin:0;
  font-family:var(--serif);
  font-size:2.35rem;
  line-height:.95;
  letter-spacing:-.05em
}

.bp-card__meta {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0;
  border-block:1px solid var(--line)
}

.bp-card__meta li {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}

.bp-card__meta li:last-child {
  border-bottom:0
}

.bp-card__meta span {
  color:var(--muted)
}

.bp-card__meta b {
  text-align:right
}

.bp-card__cta {
  margin-top:auto
}

.bp-lokalita__inner {
  display:grid;
  gap:44px
}





.bp-lokalita__num {
  font-family:var(--serif);
  font-size:3rem;
  color:var(--forest);
  line-height:1
}



.bp-lokalita__block p {
  margin:0;
  color:var(--muted)
}

.bp-kontakt {
  background:linear-gradient(135deg, var(--surface-2), var(--bg));
}

.bp-kontakt__inner {
  display:grid;
  grid-template-columns:minmax(0, .7fr) minmax(420px, 1fr);
  gap:clamp(28px, 6vw, 88px);
  align-items:start
}

.bp-kontakt__direct {
  list-style:none;
  margin:32px 0 0;
  padding:0;
  display:grid;
  gap:12px
}

.bp-kontakt__direct li {
  padding:17px 0;
  border-top:1px solid var(--line)
}

.bp-kontakt__direct span {
  display:block;
  color:var(--muted);
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800
}

.bp-kontakt__direct a {
  font-family:var(--serif);
  font-size:1.75rem;
  letter-spacing:-.04em;
  color:var(--forest)
}

.bp-form {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--surface);
  box-shadow:var(--shadow)
}

.bp-form__row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}

.bp-field {
  display:grid;
  gap:8px;
  margin-bottom:16px
}

.bp-field__label {
  font-size:.82rem;
  font-weight:850;
  color:var(--ink-2)
}

.bp-field input,
.bp-field select,
.bp-field textarea {
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-2);
  color:var(--ink);
  padding:14px 15px;
  outline:0;
  transition:border .2s var(--ease),
  box-shadow .2s var(--ease),
  background .2s var(--ease)
}

.bp-field textarea {
  resize:vertical;
  min-height:130px
}

.bp-field input:focus,
.bp-field select:focus,
.bp-field textarea:focus {
  border-color:var(--forest);
  box-shadow:0 0 0 4px rgba(129, 150, 106, .18);
  background:var(--surface)
}

.bp-field--check {
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--muted);
  font-size:.9rem
}

.bp-field--check input {
  width:18px;
  height:18px;
  margin-top:3px
}

.bp-form__hp {
  position:absolute;
  left:-9999px
}

.bp-form__actions {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px
}

.bp-form__note {
  margin:0;
  color:var(--muted);
  font-weight:700
}

.bp-form__note.is-ok {
  color:var(--free)
}

.bp-form__note.is-err {
  color:var(--resv)
}





.bp-footer__name {
  font-family:var(--serif);
  font-size:2.1rem;
  letter-spacing:-.04em
}

.bp-footer__tag,
.bp-footer__copy {
  color:rgba(255, 255, 255, .62)
}









.bp-unit-hero__img {
  width:100%;
  height:100%;
  object-fit:cover
}

















.bp-params__label {
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em
}



.bp-pudorysy__grid,
.bp-mistnosti__wrap {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}

.bp-pudorysy__item {
  margin:0
}

.bp-pudorysy__btn {
  position:relative;
  display:block;
  width:100%;
  border:0;
  padding:0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
  cursor:pointer
}

.bp-pudorysy__btn img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover
}

.bp-pudorysy__zoom {
  position:absolute;
  right:14px;
  bottom:14px;
  padding:8px 12px;
  background:var(--ink);
  color:var(--bg);
  border-radius:999px;
  font-size:.84rem;
  font-weight:800
}

.bp-pudorysy__cap {
  margin-top:10px;
  color:var(--muted);
  font-weight:800
}



.bp-table caption {
  text-align:left;
  padding:0 0 12px;
  font-family:var(--serif);
  font-size:2rem
}

.bp-table th,
.bp-table td {
  padding:14px 18px;
  border-bottom:1px solid var(--line);
  text-align:left
}

.bp-table th {
  color:var(--muted);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em
}

.bp-table td:last-child,
.bp-table th:last-child {
  text-align:right
}

.bp-table__total td {
  font-weight:900;
  color:var(--forest)
}

.bp-mistnosti__grand {
  display:flex;
  justify-content:space-between;
  margin:18px 0 0;
  padding:20px;
  border-radius:22px;
  background:var(--ink);
  color:var(--bg)
}

.bp-mistnosti__grand b {
  font-family:var(--serif);
  font-size:2rem
}

.bp-zahrada__grid {
  display:grid;
  grid-template-columns:.8fr 1fr;
  gap:18px;
  align-items:stretch
}

.bp-zahrada__text {
  padding:34px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--surface);
  box-shadow:var(--shadow-soft)
}

.bp-zahrada__area b {
  font-family:var(--serif);
  font-size:2.6rem;
  color:var(--forest)
}

.bp-zahrada__media {
  border-radius:var(--radius-lg);
  overflow:hidden;
  min-height:420px;
  box-shadow:var(--shadow-soft)
}

.bp-zahrada__img {
  width:100%;
  height:100%;
  object-fit:cover
}



.bp-prohlidka iframe {
  display:block;
  width:100%;
  height:min(70vh, 720px);
  border:0
}

.bp-prohlidka__ph,
.bp-unitcta__inner {
  padding:42px;
  border-radius:var(--radius-xl);
  background:linear-gradient(135deg, var(--surface), var(--surface-2));
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft)
}

.bp-unitcta__btns {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}

.bp-sticky-cta {
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:100;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 10px 10px 16px;
  border-radius:999px;
  background:var(--glass);
  backdrop-filter:blur(20px);
  border:1px solid var(--line);
  box-shadow:var(--shadow)
}

.bp-sticky-cta.is-hidden {
  transform:translateY(140%)
}

.bp-sticky-cta__info span {
  display:block;
  color:var(--muted);
  font-size:.82rem
}

.reveal,
.reveal-up,
.reveal-left,
.reveal-right {
  opacity:0;
  transform:translateY(24px);
  transition:opacity .72s var(--ease),
  transform .72s var(--ease)
}

.reveal-left {
  transform:translateX(-24px)
}

.reveal-right {
  transform:translateX(24px)
}

.is-visible {
  opacity:1!important;
  transform:none!important
}

.d1 {
  transition-delay:.06s
}

.d2 {
  transition-delay:.12s
}

.d3 {
  transition-delay:.18s
}

.d4 {
  transition-delay:.24s
}

.d5 {
  transition-delay:.30s
}

.d6 {
  transition-delay:.36s
}



.bp-lb[hidden] {
  display:none
}

.bp-lb__img {
  max-width:min(1100px, 92vw);
  max-height:86vh;
  border-radius:22px;
  box-shadow:0 30px 100px rgba(0, 0, 0, .5)
}

.bp-lb__close {
  position:fixed;
  right:20px;
  top:20px;
  width:44px;
  height:44px;
  border:1px solid rgba(255, 255, 255, .25);
  border-radius:50%;
  background:rgba(255, 255, 255, .1);
  color:#fff;
  font-size:26px;
  cursor:pointer
}

@media (max-width:1050px) {
  :root {
    --container:min(100vw - 28px, 900px)
  }

  .bp-header__bar {
    grid-template-columns:auto auto;
    justify-content:space-between
  }

  .bp-nav {
    display:none
  }

  .bp-brand__logo--full {
    display:none
  }

  .bp-brand__logo--solo {
    display:block;
    max-height:46px
  }

  .bp-hero__inner,
  .bp-intro__inner,
  .bp-map,
  .bp-kontakt__inner,
  .bp-zahrada__grid {
    grid-template-columns:1fr
  }

  .bp-hero__panel {
    max-width:520px
  }

  .bp-intro__facts {
    position:relative;
    top:auto
  }

  .bp-section__head {
    grid-template-columns:1fr
  }

  .bp-byty-grid,
  .bp-lokalita__grid {
    grid-template-columns:1fr 1fr
  }

  .bp-params__list {
    grid-template-columns:repeat(3, 1fr)
  }

  .bp-map__stage {
    min-height:520px
  }

  .bp-pudorysy__grid,
  .bp-mistnosti__wrap {
    grid-template-columns:1fr
  }

}

@media (max-width:720px) {
  body {
    font-size:15px;
    padding-bottom:86px
  }

  .bp-header {
    top:10px;
    padding:0 10px
  }

  .bp-header__bar {
    height:62px;
    padding:8px 10px 8px 14px
  }

  .bp-header__actions {
    gap:8px
  }

  .bp-btn--nav {
    display:none
  }

  .bp-theme-toggle__track {
    width:52px;
    height:34px
  }

  .bp-theme-toggle__thumb {
    width:24px;
    height:24px
  }

  html[data-theme="dark"] .bp-theme-toggle__thumb {
    transform:translateX(20px)
  }

  .bp-mobile-dock {
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:95;
    display:grid;
    grid-template-columns:1fr 1fr 58px 1fr 1fr;
    align-items:center;
    gap:4px;
    padding:8px;
    border:1px solid var(--line);
    border-radius:26px;
    background:var(--glass);
    backdrop-filter:blur(22px) saturate(1.2);
    box-shadow:var(--shadow)
  }

  .bp-mobile-dock a {
    display:flex;
    align-items:center;
    justify-content:center;
    height:42px;
    border-radius:18px;
    color:var(--muted);
    font-size:.78rem;
    font-weight:850
  }

  .bp-mobile-dock a.is-active {
    background:rgba(129, 150, 106, .14);
    color:var(--ink)
  }

  .bp-mobile-dock__home {
    height:54px!important;
    margin-top:-18px;
    background:var(--ink)!important;
    border-radius:22px!important;
    box-shadow:0 16px 30px rgba(0, 0, 0, .18)
  }

  .bp-mobile-dock__home img {
    width:36px;
    height:36px;
    filter:brightness(0) invert(1)
  }

  .bp-mobile-dock__cta {
    background:var(--forest)!important;
    color:var(--bg)!important
  }

  .bp-hero {
    min-height:92svh;
    padding-top:110px
  }

  .bp-hero__inner {
    gap:26px
  }

  .bp-hero__title {
    font-size:clamp(3.55rem, 18vw, 6.2rem);
    letter-spacing:-.06em
  }

  .bp-hero__sub {
    font-size:1rem
  }

  .bp-hero__cta {
    display:grid;
    grid-template-columns:1fr;
    max-width:340px
  }

  .bp-hero__scroll {
    display:none
  }

  .bp-h2 {
    font-size:clamp(2.75rem, 15vw, 4.6rem)
  }

  .bp-section {
    padding:68px 0
  }

  .bp-section__head {
    margin-bottom:26px
  }

  .bp-intro__copygrid,
  .bp-intro__facts,
  .bp-byty-grid,
  .bp-lokalita__grid,
  .bp-form__row {
    grid-template-columns:1fr
  }

  .bp-map__stage {
    min-height:360px;
    border-radius:26px
  }

  .bp-map__panel {
    display:none
  }

  .bp-map__legend {
    font-size:.82rem
  }

  .bp-map__list {
    display:grid;
    gap:10px;
    list-style:none;
    padding:0;
    margin:16px 0 0
  }

  .bp-map__list a {
    display:grid;
    gap:7px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--surface);
    box-shadow:var(--shadow-soft)
  }

  .bp-map__list span:not(.bp-chip) {
    color:var(--muted)
  }

  .bp-card__title {
    font-size:2.1rem
  }

  .bp-lokalita__block {
    min-height:230px
  }

  .bp-kontakt__inner {
    gap:28px
  }

  .bp-form {
    padding:18px;
    border-radius:28px
  }

  .bp-footer__inner {
    grid-template-columns:1fr
  }

  .bp-footer__nav {
    justify-content:flex-start
  }

  .bp-unit-hero {
    min-height:76svh;
    padding-top:110px
  }

  .bp-unit-hero__title {
    font-size:clamp(4rem, 20vw, 6.8rem)
  }

  .bp-params__list {
    grid-template-columns:1fr 1fr
  }

  .bp-params__item {
    padding:14px
  }

  .bp-params__value {
    font-size:1.2rem
  }

  .bp-zahrada__media {
    min-height:300px
  }

  .bp-sticky-cta {
    display:flex
  }

  .bp-sticky-cta .bp-btn {
    min-height:42px;
    padding-inline:14px;
    font-size:.86rem
  }

}

@media (max-width:420px) {
  .bp-container {
    width:calc(100vw - 22px)
  }

  .bp-params__list {
    grid-template-columns:1fr
  }

  .bp-hero__panel {
    padding:16px
  }

  .bp-kontakt__direct a {
    font-size:1.35rem
  }

  .bp-mobile-dock {
    grid-template-columns:1fr 1fr 52px 1fr 1fr
  }

  .bp-mobile-dock a {
    font-size:.72rem
  }

}

@media (prefers-reduced-motion:reduce) {
  *,
  *:before,
  *:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }

  .reveal,
  .reveal-left,
  .reveal-right,
  .reveal-up {
    opacity:1!important;
    transform:none!important
  }

}

.bp-lb {
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  background:rgba(0, 0, 0, .82);
  padding:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s var(--ease),
  visibility .25s var(--ease);
}

.bp-lb.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto
}

.bp-lb__btn {
  position:fixed;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(255, 255, 255, .25);
  border-radius:50%;
  background:rgba(255, 255, 255, .11);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(12px)
}

.bp-lb__prev {
  left:20px;
  top:50%;
  transform:translateY(-50%)
}

.bp-lb__next {
  right:20px;
  top:50%;
  transform:translateY(-50%)
}

/* =====================================================================
   Stabilizační korekce v5.0.1 — navigace, logo, měřítko typografie,
   zarovnání sekčních hlaviček a mobilní ovládání dark mode.
   ===================================================================== */















.bp-brand__logo--solo {
  display:none;
}



















.bp-hero__kicker {
  display:inline-flex;
  padding:9px 13px;
  border:1px solid rgba(255, 255, 255, .22);
  border-radius:999px;
  background:rgba(255, 255, 255, .09);
  backdrop-filter:blur(14px);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
  color:rgba(255, 255, 255, .88);
  margin-bottom:18px;
}





.bp-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 22px;
  border:1px solid var(--line-2);
  border-radius:999px;
  font-weight:750;
  letter-spacing:-.01em;
  transition:transform .25s var(--ease),
  box-shadow .25s var(--ease),
  background .25s var(--ease),
  border-color .25s var(--ease);
  cursor:pointer;
  min-height:46px;
}











.bp-lead {
  font-size:clamp(1rem, 1.25vw, 1.18rem)
}

.bp-intro__inner {
  display:grid;
  align-items:start;
  grid-template-columns:minmax(0, 1fr) minmax(330px, 520px);
  gap:clamp(32px, 5vw, 70px);
}





.bp-lokalita__grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.bp-lokalita__block {
  padding:24px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:var(--shadow-soft);
  min-height:260px;
}

.bp-lokalita__h {
  font-family:var(--serif);
  line-height:1;
  letter-spacing:-.04em;
  margin:auto 0 12px;
  font-size:1.7rem;
}

.bp-mobile-theme-toggle {
  display:none
}

@media (max-width:1050px) {
  .bp-header__bar {
    grid-template-columns:auto 1fr auto
  }

  .bp-brand {
    min-width:0
  }

  .bp-brand__wordmark {
    display:none
  }

  .bp-brand__mark {
    display:none
  }

  .bp-brand__logo--full {
    display:none
  }

  .bp-brand__logo--solo {
    display:block;
    width:42px;
    height:42px
  }

  .bp-hero__inner {
    grid-template-columns:1fr
  }

  .bp-hero__panel {
    max-width:560px
  }

  .bp-h2 {
    font-size:clamp(2.8rem, 9vw, 5.2rem)
  }

  .bp-section__head {
    max-width:820px
  }

  .bp-intro__inner {
    grid-template-columns:1fr
  }

  .bp-intro__facts {
    position:relative;
    top:auto
  }

  .bp-lokalita__grid {
    grid-template-columns:1fr 1fr
  }

}

@media (max-width:720px) {
  body {
    padding-bottom:88px
  }

  .bp-header {
    display:none
  }

  .bp-mobile-theme-toggle {
    position:fixed;
    right:16px;
    top:16px;
    z-index:96;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--glass);
    color:var(--ink);
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(18px);
    font-size:1rem
  }

  .bp-mobile-theme-toggle[aria-pressed="true"] span {
    filter:grayscale(1);
    opacity:.8
  }

  .bp-mobile-theme-toggle[aria-pressed="true"] span::before {
    content:"●"
  }

  .bp-mobile-theme-toggle[aria-pressed="true"] span {
    font-size:0
  }

  .bp-mobile-theme-toggle[aria-pressed="true"] span::before {
    font-size:1rem
  }

  .bp-hero {
    min-height:auto;
    padding:92px 0 34px
  }

  .bp-hero__title {
    font-size:clamp(3rem, 12.5vw, 4.85rem);
    line-height:.93;
    letter-spacing:-.055em
  }

  .bp-hero__sub {
    font-size:.98rem;
    line-height:1.55;
    margin-top:18px
  }

  .bp-hero__kicker {
    font-size:.66rem;
    letter-spacing:.13em;
    line-height:1.2;
    padding:8px 11px
  }

  .bp-hero__cta {
    display:grid;
    grid-template-columns:1fr;
    max-width:100%;
    gap:10px;
    margin-top:22px
  }

  .bp-hero__cta .bp-text-link {
    justify-content:center;
    min-height:44px
  }

  .bp-hero__panel {
    padding:16px;
    border-radius:24px
  }

  .bp-hero__panel div {
    padding:13px 0
  }

  .bp-hero__panel b {
    font-size:1.2rem
  }

  .bp-section {
    padding:54px 0
  }

  .bp-section__head {
    margin-bottom:24px
  }

  .bp-h2 {
    font-size:clamp(2.45rem, 10.5vw, 3.75rem);
    line-height:.98;
    letter-spacing:-.045em
  }

  .bp-section__intro,
  .bp-lead {
    font-size:1rem;
    line-height:1.55
  }

  .bp-intro__copygrid {
    grid-template-columns:1fr;
    gap:8px
  }

  .bp-intro__facts {
    grid-template-columns:1fr 1fr;
    gap:10px
  }

  .bp-fact {
    min-height:112px;
    padding:16px;
    border-radius:22px
  }

  .bp-map__stage {
    min-height:320px;
    border-radius:24px
  }

  .bp-map__legend {
    gap:8px 12px
  }

  .bp-mobile-dock {
    grid-template-columns:1fr 1fr 54px 1fr 1fr;
    border-radius:24px
  }

  .bp-mobile-dock a {
    height:40px
  }

  .bp-mobile-dock__home {
    height:50px!important;
    margin-top:-16px
  }

  .bp-mobile-dock__home img {
    width:34px;
    height:34px
  }

  .bp-lokalita__grid {
    grid-template-columns:1fr
  }

  .bp-lokalita__block {
    min-height:190px
  }

  .bp-lokalita__h {
    font-size:1.6rem
  }

}

@media (max-width:420px) {
  .bp-hero__title {
    font-size:clamp(2.75rem, 13vw, 3.7rem)
  }

  .bp-h2 {
    font-size:clamp(2.2rem, 10vw, 3.2rem)
  }

  .bp-intro__facts {
    grid-template-columns:1fr
  }

  .bp-mobile-theme-toggle {
    right:12px;
    top:12px
  }

  .bp-mobile-dock a {
    font-size:.7rem
  }

}

/* =====================================================================
   Patch v5.0.2 — stabilní menu, kontext podstránek, kontrast, galerie,
   mobilní mapa a Marzipano placeholder.
   ===================================================================== */







html[data-theme="dark"] .bp-header__bar {
  background:rgba(13, 18, 13, .84);
  border-color:rgba(244, 234, 219, .16);
}



.bp-brand__mark {
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border-radius:999px;
  background:color-mix(in srgb, var(--surface-2) 70%, transparent);
  border:1px solid var(--line);
  overflow:hidden;
  flex:0 0 auto;
}

.bp-brand__mark .bp-brand__logo--full {
  max-width:40px;
  max-height:40px;
  object-fit:contain;
}

.bp-brand__wordmark {
  display:block;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
  color:var(--ink);
  font-size:.96rem;
  letter-spacing:-.03em;
}



.bp-nav__list a.is-active {
  background:color-mix(in srgb, var(--forest) 14%, transparent);
}

.bp-header__actions .bp-btn--nav {
  min-height:46px;
  color:var(--bg);
}

html[data-theme="dark"] .bp-header__actions .bp-btn--nav {
  background:var(--surface);
  color:var(--ink);
  border-color:var(--line-2);
}

/* Nadpisy méně agresivní a stabilní zarovnání sekčních hlaviček */





.bp-section__head .bp-eyebrow {
  grid-column:1/-1;
  margin-bottom:0;
}

.bp-section__head .bp-h2 {
  max-width:860px;
}





.bp-hero .bp-btn--glass {
  background:rgba(244, 234, 219, .88);
  color:#141410;
  border-color:rgba(244, 234, 219, .55);
}

.bp-hero .bp-btn--glass:hover {
  background:#fff5e7;
  color:#141410;
}

.bp-hero .bp-text-link--hero {
  color:#fff7e9;
  text-shadow:0 1px 20px rgba(0, 0, 0, .38);
}

/* Galerie respektuje aktuální režim místo obrácených barev */



.bp-gallery .bp-h2,
.bp-gallery .bp-section__head {
  color:var(--ink);
}

.bp-gallery .bp-eyebrow,
.bp-gallery .bp-sec-num {
  color:var(--forest);
}







.bp-gallery__item {
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}



/* Detail bytu: sekce uvnitř kontejneru už neřežou vnitřní container */

.bp-unit-body .bp-section > .bp-container {
  width:100%;
}





.bp-unit-body .bp-gallery .bp-section__head {
  display:block;
  margin-bottom:30px;
}

.bp-unit-body .bp-prohlidka,
.bp-unit-body .bp-unitcta,
.bp-unit-body .bp-zahrada {
  scroll-margin-top:118px;
}

.bp-table {
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:24px;
  box-shadow:var(--shadow-soft);
  background:var(--surface);
  color:var(--ink);
}

html[data-theme="dark"] .bp-table {
  background:#121811;
  color:var(--ink);
  border-color:rgba(244, 234, 219, .12);
}

html[data-theme="dark"] .bp-mistnosti__grand {
  background:#f0e6d6;
  color:#11140f;
}

html[data-theme="dark"] .bp-mistnosti__grand span {
  color:#30362c;
}

/* Marzipano */

.bp-prohlidka__frame {
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--surface);
  box-shadow:var(--shadow);
  position:relative;
  border:1px solid var(--line);
}

.bp-prohlidka__frame:before {
  content:"";
  display:block;
  aspect-ratio:16/9;
}

.bp-prohlidka__frame iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.bp-prohlidka__ph strong {
  display:block;
  font-size:1.1rem;
  margin-bottom:8px;
}

.bp-prohlidka__ph code {
  display:inline-block;
  padding:2px 7px;
  border-radius:8px;
  background:color-mix(in srgb, var(--forest) 12%, var(--surface));
  color:var(--forest);
  font-weight:800;
}

/* Mapa: mobilní vysvětlení a lepší čitelnost */



.bp-map__panel,
.bp-map__empty {
  color:var(--ink);
}

html[data-theme="dark"] .bp-map__panel,
html[data-theme="dark"] .bp-map__empty {
  background:#151b14;
  color:var(--ink);
  border-color:rgba(244, 234, 219, .13);
}

html[data-theme="dark"] .bp-map__row {
  border-color:rgba(244, 234, 219, .13);
}

.bp-map__list a {
  color:var(--ink);
}

/* Kontrast obecně */

html[data-theme="dark"] .bp-btn--solid,
html[data-theme="dark"] .bp-btn--dark {
  background:#efe4d2;
  color:#11140f;
  border-color:transparent;
}



html[data-theme="dark"] .bp-card,
html[data-theme="dark"] .bp-params__item,
html[data-theme="dark"] .bp-lokalita__block,
html[data-theme="dark"] .bp-unitcta__inner,
html[data-theme="dark"] .bp-prohlidka__ph {
  background:#151b14;
  color:var(--ink);
  border-color:rgba(244, 234, 219, .12);
}

html[data-theme="dark"] .bp-card__meta dt,
html[data-theme="dark"] .bp-params__label {
  color:#bdb2a3;
}

/* Tablet a mobil: horní navigace pryč, dock konzistentní. */

@media (max-width:1100px) {
  .bp-header__bar {
    gap:14px;
    padding-left:12px;

  }

  .bp-brand__wordmark {
    display:none;

  }

  .bp-nav__list a {
    padding:10px 11px;
    font-size:.84rem;

  }

}

@media (max-width:899px) {
  body {
    padding-bottom:92px;

  }

  .bp-header {
    display:none!important;

  }

  .bp-mobile-theme-toggle {
    position:fixed;
    right:14px;
    top:14px;
    z-index:96;
    display:grid!important;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--glass);
    color:var(--ink);
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(18px);
    font-size:1rem;

  }

  .bp-mobile-dock {
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:95;
    display:grid!important;
    grid-template-columns:repeat(3, 1fr) 54px repeat(2, 1fr);
    gap:4px;
    align-items:center;
    padding:8px;
    border-radius:24px;
    background:color-mix(in srgb, var(--surface) 86%, transparent);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    backdrop-filter:blur(22px) saturate(1.2);

  }

  html[data-theme="dark"] .bp-mobile-dock {
    background:rgba(16, 21, 15, .88);
    border-color:rgba(244, 234, 219, .16);

  }

  .bp-mobile-dock a {
    height:42px;
    display:grid;
    place-items:center;
    border-radius:18px;
    color:var(--muted);
    font-size:.72rem;
    font-weight:800;
    line-height:1;
    text-align:center;

  }

  .bp-mobile-dock a.is-active {
    background:color-mix(in srgb, var(--forest) 14%, transparent);
    color:var(--ink);

  }

  .bp-mobile-dock__home {
    height:52px!important;
    width:52px;
    align-self:center;
    justify-self:center;
    margin-top:-16px;
    background:var(--ink)!important;
    border:1px solid var(--line-2);
    box-shadow:0 14px 34px rgba(0, 0, 0, .20);

  }

  .bp-mobile-dock__home img {
    width:34px;
    height:34px;
    object-fit:contain;
    filter:brightness(0) invert(1);

  }

  .bp-mobile-dock__cta {
    background:var(--forest)!important;
    color:#fff!important;

  }

  html[data-theme="dark"] .bp-mobile-dock__cta {
    background:#efe4d2!important;
    color:#11140f!important;

  }

  .bp-h2 {
    font-size:clamp(2.25rem, 10vw, 3.55rem);
    line-height:1;
    letter-spacing:-.045em;

  }

  .bp-section__head {
    display:block;
    margin-bottom:24px;

  }

  .bp-section__intro {
    margin-top:12px;

  }

  .bp-hero {
    padding-top:86px;

  }

  .bp-hero__title {
    font-size:clamp(2.85rem, 12vw, 4.55rem);

  }

  .bp-hero__cta {
    grid-template-columns:1fr;
    display:grid;
    gap:10px;

  }

  .bp-hero__cta .bp-btn,
  .bp-hero__cta .bp-text-link {
    width:100%;
    justify-content:center;
    min-height:46px;

  }

  .bp-map {
    display:block;

  }

  .bp-map__mobile-note {
    display:block;

  }

  .bp-map__stage {
    min-height:260px;
    aspect-ratio:1.45/1;
    border-radius:24px;

  }

  .bp-map__svg {
    pointer-events:auto;

  }

  .bp-map__panel {
    display:none;

  }

  .bp-map__legend {
    margin-top:16px;

  }

  .bp-map__list {
    display:grid!important;
    gap:12px;
    margin:18px 0 0;
    padding:0;
    list-style:none;

  }

  .bp-map__list a {
    display:block;
    padding:18px;
    border-radius:24px;
    background:var(--surface);
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);

  }

  html[data-theme="dark"] .bp-map__list a {
    background:#151b14;
    border-color:rgba(244, 234, 219, .13);

  }

  .bp-map__list strong {
    display:block;
    font-size:1.08rem;
    margin-bottom:5px;

  }

  .bp-map__list span:not(.bp-chip):not(.bp-chip__dot) {
    display:block;
    color:var(--muted);
    margin-bottom:10px;

  }

  .bp-unit-body .bp-gallery {
    border-radius:28px;
    padding:42px 0;

  }

  .bp-pudorysy__grid,
  .bp-mistnosti__wrap {
    grid-template-columns:1fr;

  }

  .bp-sticky-cta {
    display:flex;
    bottom:82px;

  }

}

@media (max-width:430px) {
  .bp-mobile-dock {
    left:6px;
    right:6px;
    bottom:6px;
    padding:6px;
    grid-template-columns:repeat(3, 1fr) 48px repeat(2, 1fr);

  }

  .bp-mobile-dock a {
    height:38px;
    font-size:.64rem;
    border-radius:16px;

  }

  .bp-mobile-dock__home {
    width:48px;
    height:48px!important;

  }

  .bp-mobile-dock__home img {
    width:30px;
    height:30px;

  }

  .bp-mobile-theme-toggle {
    width:42px;
    height:42px;
    right:10px;
    top:10px;

  }

  .bp-map__stage {
    min-height:220px;

  }

}

/* =====================================================================
   Patch v5.0.3 — breakpoint gap, stable layout, logo, mobile gallery.
   ===================================================================== */











.bp-brand__mark,
.bp-brand__wordmark,
.bp-brand__logo--solo {
  display:none!important;
}



html[data-theme="dark"] .bp-brand__logo {
  filter:none!important;
}

















@media (min-width:900px) and (max-width:1050px) {
  .bp-header {
    display:block!important;

  }

  .bp-header__bar {
    width:min(980px, calc(100vw - 32px));
    grid-template-columns:118px minmax(0, 1fr) auto!important;
    gap:10px!important;
    padding-left:14px!important;

  }

  .bp-brand {
    max-width:118px!important;
    min-width:98px!important;

  }

  .bp-brand__logo {
    max-width:108px!important;
    max-height:38px!important;

  }

  .bp-nav {
    display:block!important;

  }

  .bp-nav__list a {
    font-size:.76rem!important;
    padding:8px 8px!important;

  }

  .bp-header__actions {
    gap:7px!important;

  }

  .bp-theme-toggle__track {
    width:48px!important;
    height:30px!important;

  }

  .bp-theme-toggle__thumb {
    width:20px!important;
    height:20px!important;

  }

  html[data-theme="dark"] .bp-theme-toggle__thumb {
    transform:translateX(18px)!important;

  }

  .bp-btn--nav {
    min-height:38px!important;
    padding-inline:15px!important;
    font-size:.82rem!important;

  }

}

/* Mobilní režim: dock bez Galerie, Galerie samostatně nahoře vedle přepínače. */

.bp-mobile-gallery-link {
  display:none;
}

@media (max-width:899px) {
  html {
    scroll-padding-top:24px;

  }

  .bp-header {
    display:none!important;

  }

  .bp-mobile-theme-toggle {
    right:14px!important;
    top:14px!important;
    z-index:132!important;

  }

  .bp-mobile-gallery-link {
    position:fixed;
    right:68px;
    top:14px;
    z-index:132;
    display:grid;
    place-items:center;
    height:46px;
    padding:0 15px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--glass);
    color:var(--ink);
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(18px);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:-.01em;

  }

  html[data-theme="dark"] .bp-mobile-gallery-link {
    background:rgba(16, 21, 15, .88);
    border-color:rgba(244, 234, 219, .16);
    color:var(--ink);

  }

  .bp-mobile-dock {
    grid-template-columns:repeat(3, minmax(0, 1fr)) 54px minmax(0, 1.15fr)!important;
    gap:5px!important;

  }

  .bp-mobile-dock a {
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;

  }

  .bp-mobile-dock__cta {
    padding-inline:10px!important;

  }

}

@media (max-width:430px) {
  .bp-mobile-gallery-link {
    right:58px;
    top:10px;
    height:42px;
    padding:0 12px;
    font-size:.72rem;

  }

  .bp-mobile-dock {
    grid-template-columns:repeat(3, minmax(0, 1fr)) 48px minmax(0, 1.12fr)!important;

  }

}

/* Stabilnější hero: žádné cukání slov, panel výš, žádné překryvy scrollu. */

















@media (min-width:900px) and (max-width:1180px) {
  .bp-hero__inner {
    grid-template-columns:minmax(0, 1fr) minmax(280px, 350px)!important;
    gap:32px!important;

  }

  .bp-hero__title {
    font-size:clamp(3.7rem, 7.2vw, 6.2rem)!important;

  }

  .bp-hero__panel {
    max-width:350px!important;

  }

}

@media (max-width:899px) {
  .bp-hero {
    min-height:auto!important;
    padding-top:82px!important;
    padding-bottom:38px!important;
    align-items:end!important;

  }

  .bp-hero__inner {
    display:block!important;

  }

  .bp-hero__title {
    font-size:clamp(3.05rem, 12vw, 4.75rem)!important;
    line-height:.96!important;
    letter-spacing:-.05em!important;

  }

  .bp-hero__sub {
    font-size:1rem!important;

  }

  .bp-hero__panel {
    transform:none!important;
    margin-top:26px;
    min-height:0;

  }

}

/* Sekční zarovnání a čitelné velikosti při resize. */

.bp-section {
  position:relative;
  padding:clamp(64px, 7vw, 104px) 0;
  overflow:hidden;
}





.bp-section__head .bp-section__intro {
  align-self:end;
  margin-top:0!important;
  max-width:620px;
}





@media (max-width:1050px) {
  .bp-section__head {
    display:block!important;

  }

  .bp-section__head .bp-section__intro {
    margin-top:16px!important;

  }

}

@media (max-width:899px) {
  .bp-section {
    padding:56px 0!important;

  }

  .bp-h2 {
    font-size:clamp(2.35rem, 10.5vw, 3.6rem)!important;

  }

  .bp-sec-num,
  .bp-eyebrow {
    font-size:.68rem!important;
    letter-spacing:.14em!important;
    line-height:1.2;

  }

}

/* Mapa: pevnější karta, bez skákání, decentní animace při přepnutí. */













@keyframes bpPanelIn {
  from {
    opacity:.72;
    transform:translateY(8px) scale(.992)
  }

  to {
    opacity:1;
    transform:translateY(0) scale(1)
  }

}



.bp-map__stage svg [data-svg-id],
.bp-map__stage [data-svg-id] {
  transition:opacity .22s ease,
  filter .22s ease,
  transform .22s ease;
}





@media (max-width:899px) {
  .bp-map__panel {
    position:static;
    min-height:0;

  }

  .bp-map__mobile-note {
    display:block;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:18px;
    padding:12px 14px;
    margin:0 0 14px;

  }

  html[data-theme="dark"] .bp-map__mobile-note {
    background:#151b14;
    border-color:rgba(244, 234, 219, .13);

  }

}

/* Galerie a detail jednotky: žádné uříznutí a lepší dark mode. */



.bp-unit-body {
  padding-block:38px 80px;
  overflow:visible;
}

.bp-unit-body .bp-section {
  scroll-margin-top:118px;
  overflow:visible;
}

.bp-unit-body .bp-gallery {
  margin-top:clamp(24px, 4vw, 56px);
  overflow:hidden;
  padding:clamp(44px, 6vw, 88px) 0;
  border-radius:32px!important;
  margin-inline:auto!important;
  width:min(100%, 1180px)!important;
}



html[data-theme="dark"] .bp-gallery .bp-h2 {
  color:#f4eadb!important;
}



/* Kontrast v dark mode — texty nesmí mizet. */



html[data-theme="dark"] .bp-map__row span,
html[data-theme="dark"] .bp-card__meta dt,
html[data-theme="dark"] .bp-table th {
  color:#c8bdad!important;
}





html[data-theme="dark"] .bp-mobile-theme-toggle,
html[data-theme="dark"] .bp-mobile-gallery-link {
  color:#f4eadb;
}

/* =====================================================================
   Patch v5.0.4 — stabilizace layoutu, mobilní dock, hero rotátor,
   detail bytu, mapa, kontrast a spacing.
   ===================================================================== */

html {
  scroll-behavior:smooth;
  scroll-padding-top:104px!important;
}

body {
  margin:0;
  background:radial-gradient(circle at 12% 8%, rgba(129, 150, 106, .18), transparent 35%),
  linear-gradient(180deg, var(--bg), var(--bg-2));
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden!important;
}

.bp-site {
  overflow:hidden;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}

/* Header: žádná díra v breakpointech, žádné schovávání při scrollu. */

.bp-header {
  padding:0 18px;
  transition:transform .35s var(--ease),
  opacity .35s var(--ease);
  visibility:visible!important;
  display:block!important;
  position:fixed!important;
  top:18px!important;
  left:0!important;
  right:0!important;
  z-index:140!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
}

.bp-header.is-hidden {
  transform:none!important;
  opacity:1!important;
}

.bp-header__bar {
  margin:auto;
  display:grid;
  align-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  backdrop-filter:blur(22px) saturate(1.25);
  box-shadow:var(--shadow-soft);
  padding-left:16px;
  padding-right:10px;
  background:color-mix(in srgb, var(--surface) 82%, transparent);
  width:min(1160px, calc(100vw - 48px))!important;
  min-height:68px!important;
  height:auto!important;
  grid-template-columns:minmax(112px, 150px) minmax(0, 1fr) auto!important;
  gap:14px!important;
  padding:9px 12px 9px 18px!important;
  overflow:hidden!important;
}

.bp-brand {
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  min-width:0!important;
  max-width:150px!important;
  overflow:hidden!important;
}

.bp-brand__logo {
  height:auto!important;
  display:block!important;
  width:auto!important;
  max-width:132px!important;
  max-height:44px!important;
  object-fit:contain!important;
  filter:none!important;
}

.bp-nav {
  display:block!important;
  min-width:0!important;
  justify-self:center!important;
}

.bp-nav__list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}

.bp-nav__list a {
  position:relative;
  display:block;
  border-radius:999px;
  font-weight:650;
  letter-spacing:-.01em;
  transition:background .25s var(--ease),
  color .25s var(--ease),
  transform .25s var(--ease);
  color:color-mix(in srgb, var(--ink) 82%, var(--muted));
  font-size:clamp(.74rem, .76vw, .86rem)!important;
  padding:9px 10px!important;
  white-space:nowrap!important;
}

.bp-header__actions {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:max-content!important;
}

.bp-btn--nav {
  min-height:42px!important;
  padding-inline:18px!important;
  white-space:nowrap!important;
}

.bp-theme-toggle__track {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  padding:4px;
  border-radius:999px;
  background:var(--surface-2);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 3px rgba(0, 0, 0, .08);
  width:52px!important;
  height:34px!important;
}

.bp-theme-toggle__thumb {
  position:absolute;
  left:4px;
  top:4px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--forest));
  box-shadow:0 7px 18px rgba(0, 0, 0, .18);
  transition:transform .28s var(--ease);
  width:24px!important;
  height:24px!important;
}

html[data-theme="dark"] .bp-theme-toggle__thumb {
  transform:translateX(18px)!important;
}

@media (min-width:900px) and (max-width:1100px) {
  .bp-header__bar {
    width:calc(100vw - 32px)!important;
    grid-template-columns:102px minmax(0, 1fr) auto!important;
    gap:8px!important;
    padding-left:12px!important;

  }

  .bp-brand {
    max-width:102px!important;

  }

  .bp-brand__logo {
    max-width:94px!important;
    max-height:36px!important;

  }

  .bp-nav__list a {
    font-size:.72rem!important;
    padding:8px 7px!important;

  }

  .bp-btn--nav {
    min-height:38px!important;
    padding-inline:14px!important;
    font-size:.8rem!important;

  }

  .bp-theme-toggle__track {
    width:46px!important;
    height:30px!important;

  }

  .bp-theme-toggle__thumb {
    width:20px!important;
    height:20px!important;

  }

  html[data-theme="dark"] .bp-theme-toggle__thumb {
    transform:translateX(16px)!important;

  }

}

/* Mobil: dock se skutečně centrovaným logem. Galerie samostatně, dock nerozbíjí rozložení. */

.bp-mobile-theme-toggle,
.bp-mobile-gallery-link {
  display:none;
}

@media (max-width:899px) {
  html {
    scroll-padding-top:24px!important;

  }

  body {
    padding-bottom:96px!important;

  }

  .bp-header {
    display:none!important;

  }

  .bp-mobile-theme-toggle {
    position:fixed!important;
    right:14px!important;
    top:14px!important;
    z-index:150!important;
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    border-radius:999px!important;
    border:1px solid var(--line)!important;
    background:var(--glass)!important;
    color:var(--ink)!important;
    box-shadow:var(--shadow-soft)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;

  }

  .bp-mobile-gallery-link {
    position:fixed!important;
    right:66px!important;
    top:14px!important;
    z-index:150!important;
    display:grid!important;
    place-items:center!important;
    height:44px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    border:1px solid var(--line)!important;
    background:var(--glass)!important;
    color:var(--ink)!important;
    box-shadow:var(--shadow-soft)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    font-size:.74rem!important;
    font-weight:850!important;

  }

  html[data-theme="dark"] .bp-mobile-theme-toggle,
  html[data-theme="dark"] .bp-mobile-gallery-link {
    background:rgba(16, 21, 15, .9)!important;
    border-color:rgba(244, 234, 219, .18)!important;
    color:#f4eadb!important;

  }

  .bp-mobile-dock {
    position:fixed!important;
    left:max(10px, env(safe-area-inset-left))!important;
    right:max(10px, env(safe-area-inset-right))!important;
    bottom:max(10px, env(safe-area-inset-bottom))!important;
    z-index:145!important;
    display:grid!important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 56px minmax(0, 1fr) minmax(0, 1fr)!important;
    align-items:center!important;
    gap:5px!important;
    min-height:68px!important;
    padding:8px!important;
    border-radius:999px!important;
    background:color-mix(in srgb, var(--surface) 90%, transparent)!important;
    border:1px solid var(--line)!important;
    box-shadow:var(--shadow)!important;
    backdrop-filter:blur(22px) saturate(1.15)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.15)!important;

  }

  html[data-theme="dark"] .bp-mobile-dock {
    background:rgba(16, 21, 15, .91)!important;
    border-color:rgba(244, 234, 219, .16)!important;

  }

  .bp-mobile-dock>a:not(.bp-mobile-dock__home) {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    height:44px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    color:var(--muted)!important;
    font-size:.72rem!important;
    font-weight:850!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;

  }

  .bp-mobile-dock>a.is-active:not(.bp-mobile-dock__home) {
    background:color-mix(in srgb, var(--forest) 13%, transparent)!important;
    color:var(--ink)!important;

  }

  .bp-mobile-dock__home {
    grid-column:3!important;
    justify-self:center!important;
    align-self:center!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    margin:0!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    background:var(--ink)!important;
    box-shadow:0 14px 34px rgba(0, 0, 0, .22)!important;
    transform:translateY(-10px)!important;
    border:1px solid rgba(255, 255, 255, .08)!important;

  }

  .bp-mobile-dock__home img {
    width:34px!important;
    height:34px!important;
    display:block!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;

  }

  .bp-mobile-dock__cta {
    background:var(--forest)!important;
    color:#fff!important;

  }

  html[data-theme="dark"] .bp-mobile-dock__cta {
    background:#efe4d2!important;
    color:#11140f!important;

  }

}

@media (max-width:420px) {
  .bp-mobile-theme-toggle {
    right:10px!important;
    top:10px!important;
    width:42px!important;
    height:42px!important;

  }

  .bp-mobile-gallery-link {
    right:58px!important;
    top:10px!important;
    height:42px!important;
    padding:0 12px!important;
    font-size:.68rem!important;

  }

  .bp-mobile-dock {
    left:6px!important;
    right:6px!important;
    bottom:6px!important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 50px minmax(0, 1fr) minmax(0, 1fr)!important;
    padding:6px!important;
    gap:4px!important;
    min-height:62px!important;

  }

  .bp-mobile-dock>a:not(.bp-mobile-dock__home) {
    height:40px!important;
    font-size:.65rem!important;
    padding:0 5px!important;

  }

  .bp-mobile-dock__home {
    width:50px!important;
    height:50px!important;
    min-width:50px!important;

  }

  .bp-mobile-dock__home img {
    width:30px!important;
    height:30px!important;

  }

}

/* Obecné spacing: žádné obří prázdné plochy, žádné překryvy sekčních názvů. */

.bp-section,
.bp-project,
.bp-mapsec,
.bp-map-section,
.bp-byty,
.bp-lokalita,
.bp-gallery,
.bp-kontakt,
.bp-unit .bp-section {
  padding-top:clamp(62px, 7vw, 112px)!important;
  padding-bottom:clamp(62px, 7vw, 112px)!important;
  overflow:visible!important;
}

.bp-section__head {
  max-width:980px;
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 440px)!important;
  gap:clamp(22px, 4vw, 56px)!important;
  align-items:end!important;
  margin-bottom:clamp(28px, 4vw, 48px)!important;
}

.bp-section__head .bp-eyebrow,
.bp-section__head .bp-sec-num {
  grid-column:1/-1!important;
  margin-bottom:0!important;
}

.bp-section__intro {
  margin-top:20px;
  margin:0!important;
  max-width:680px!important;
}

.bp-h2,
.bp-section-title,
.bp-display,
.bp-hero-title,
.bp-unit-hero__title {
  max-width:100%!important;
  overflow-wrap:normal!important;
  text-wrap:balance!important;
}

.bp-h2 {
  margin:0;
  font-family:var(--serif);
  font-weight:330;
  font-size:clamp(2.75rem, 5.2vw, 5.45rem)!important;
  line-height:.99!important;
  letter-spacing:-.046em!important;
}

.bp-sec-num,
.bp-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  color:var(--forest);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap!important;
}

@media (max-width:1050px) {
  .bp-section__head {
    display:block!important;

  }

  .bp-section__intro {
    margin-top:14px!important;

  }

}

@media (max-width:899px) {
  .bp-section,
  .bp-project,
  .bp-mapsec,
  .bp-map-section,
  .bp-byty,
  .bp-lokalita,
  .bp-gallery,
  .bp-kontakt,
  .bp-unit .bp-section {
    padding-top:54px!important;
    padding-bottom:54px!important;

  }

  .bp-h2 {
    font-size:clamp(2.25rem, 10vw, 3.55rem)!important;
    line-height:1!important;

  }

  .bp-sec-num,
  .bp-eyebrow {
    font-size:.68rem!important;
    letter-spacing:.14em!important;
    line-height:1.2!important;

  }

}

/* Úvodní hero: rotátor s pevnou výškou bez cukání, panel výš. */

.bp-hero {
  position:relative;
  display:grid;
  isolation:isolate;
  color:#fff;
  padding:calc(var(--header-h) + 52px) 0 clamp(48px, 6vw, 72px);
  min-height:clamp(680px, 92svh, 920px)!important;
  padding-top:calc(var(--header-h) + 62px)!important;
  padding-bottom:clamp(52px, 7vw, 82px)!important;
  align-items:center!important;
}

.bp-hero__inner {
  display:grid;
  align-items:center!important;
  grid-template-columns:minmax(0, 1fr) minmax(300px, 390px)!important;
  gap:clamp(28px, 4vw, 64px)!important;
}

.bp-hero__copy {
  max-width:920px;
  min-width:0!important;
}

.bp-hero__title {
  margin:0;
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(3.65rem, 7.05vw, 8.0rem)!important;
  line-height:.92!important;
  letter-spacing:-.058em!important;
  max-width:980px!important;
}

.word-cycle {
  transition:opacity .25s var(--ease),
  transform .25s var(--ease);
  display:block!important;
  position:relative!important;
  height:1.18em!important;
  min-width:min(100%, 13.5ch)!important;
  max-width:100%!important;
  padding:.08em 0 .16em!important;
  overflow:hidden!important;
  color:#d9e5c7!important;
  font-size:.82em!important;
  font-style:italic!important;
  line-height:1!important;
}

.word-cycle>span {
  position:absolute!important;
  inset:.08em auto auto 0!important;
  opacity:0!important;
  transform:translateY(.22em)!important;
  transition:opacity .42s ease,
  transform .42s ease!important;
  white-space:nowrap!important;
}

.word-cycle>span.is-active {
  opacity:1!important;
  transform:translateY(0)!important;
}

.bp-hero__sub {
  margin:28px 0 0;
  line-height:1.55;
  color:rgba(255, 255, 255, .78);
  font-size:clamp(1rem, 1.25vw, 1.2rem);
  max-width:680px!important;
  margin-top:22px!important;
}

.bp-hero__cta {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px!important;
}

.bp-hero__panel {
  padding:22px;
  border:1px solid rgba(255, 255, 255, .2);
  border-radius:30px;
  background:rgba(15, 20, 13, .38);
  backdrop-filter:blur(18px);
  box-shadow:0 28px 90px rgba(0, 0, 0, .26);
  max-width:420px;
  align-self:center!important;
  transform:translateY(-3.5vh)!important;
  min-height:220px!important;
}

.bp-hero__scroll {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255, 255, 255, .62);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  bottom:24px!important;
  z-index:3!important;
}

@media (min-width:900px) and (max-width:1180px) {
  .bp-hero__inner {
    grid-template-columns:minmax(0, 1fr) minmax(280px, 340px)!important;
    gap:30px!important;

  }

  .bp-hero__title {
    font-size:clamp(3.55rem, 7vw, 6rem)!important;

  }

  .bp-hero__panel {
    max-width:340px!important;

  }

}

@media (max-width:899px) {
  .bp-hero {
    min-height:auto!important;
    padding-top:84px!important;
    padding-bottom:38px!important;
    align-items:end!important;

  }

  .bp-hero__inner {
    display:block!important;

  }

  .bp-hero__title {
    font-size:clamp(3rem, 12vw, 4.65rem)!important;
    line-height:.96!important;
    letter-spacing:-.05em!important;

  }

  .bp-hero__sub {
    font-size:1rem!important;
    line-height:1.55!important;

  }

  .bp-hero__cta {
    display:grid!important;
    grid-template-columns:1fr!important;
    max-width:100%!important;
    gap:10px!important;

  }

  .bp-hero__panel {
    transform:none!important;
    margin-top:24px!important;
    min-height:0!important;

  }

  .bp-hero__scroll {
    display:none!important;

  }

  .word-cycle {
    min-width:100%!important;

  }

}

/* Situační mapa: stabilní karta, bez skákání, jemná změna bez nepříjemného zoomu. */

.bp-map {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:18px;
  align-items:start!important;
}

.bp-map__stage {
  position:relative;
  min-height:560px;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  overflow:hidden!important;
  border-radius:clamp(22px, 3vw, 42px)!important;
}

.bp-map__bg,
.bp-map__stage img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

.bp-map__svg {
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
}

.bp-map__panel {
  border-radius:var(--radius-lg);
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  padding:24px;
  display:flex;
  align-items:stretch;
  min-height:560px!important;
  align-self:start!important;
  position:sticky!important;
  top:112px!important;
}

.bp-map__empty,
.bp-map__detail {
  min-height:560px!important;
}

.bp-map__detail {
  width:100%;
  display:flex!important;
  flex-direction:column!important;
}

.bp-map__detail[hidden] {
  display:none!important;
}

.bp-map__detail-title {
  font-family:var(--serif);
  font-size:2.8rem;
  line-height:.95;
  letter-spacing:-.05em;
  margin:0;
  min-height:1.06em!important;
}

.bp-map__detail-sub {
  margin:8px 0 0;
  color:var(--muted);
  min-height:5.2em!important;
}

.bp-map__rows {
  margin:0;
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
  margin-top:auto!important;
}

.bp-map__detail.is-updating {
  animation:bpMapCalm .16s ease-out both!important;
}

@keyframes bpMapCalm {
  from {
    opacity:.88
  }

  to {
    opacity:1
  }

}

.bp-map__row {
  padding:13px 0;
  border-bottom:1px solid var(--line);
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}

.bp-map__stage [data-svg-id] {
  transition:opacity .2s ease,
  filter .2s ease!important;
}

.bp-map__stage [data-svg-id].is-active {
  filter:drop-shadow(0 8px 18px rgba(29, 48, 31, .24))!important;
}

.bp-map__mobile-note {
  margin:0 0 16px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.5;
  font-weight:650;
  display:none;
}

@media (max-width:899px) {
  .bp-map {
    display:block!important;

  }

  .bp-map__stage {
    min-height:300px!important;

  }

  .bp-map__panel {
    display:none!important;
    position:static!important;
    min-height:0!important;

  }

  .bp-map__empty,
  .bp-map__detail {
    min-height:0!important;

  }

  .bp-map__mobile-note {
    display:block!important;
    background:var(--surface)!important;
    border:1px solid var(--line)!important;
    border-radius:18px!important;
    padding:12px 14px!important;
    margin:0 0 14px!important;
    color:var(--ink-2)!important;
    font-weight:650!important;

  }

  html[data-theme="dark"] .bp-map__mobile-note {
    background:#151b14!important;
    border-color:rgba(244, 234, 219, .13)!important;
    color:#c8bdad!important;

  }

}

/* Detail bytu: plná viditelná šířka, normální měřítko, žádná miniaturní stránka uprostřed. */

.single-byty .bp-site,
.single-byty .bp-unit,
.single-byty .bp-unit-body {
  width:100%!important;
  max-width:none!important;
}



.single-byty .bp-unit-body>.bp-section,
.single-byty .bp-unit-body>.bp-params {
  width:min(1180px, calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.single-byty .bp-unit-body>.bp-gallery {
  width:100%!important;
  max-width:none!important;
  border-radius:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.single-byty .bp-unit-body>.bp-gallery>.bp-container {
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.bp-unit-hero {
  isolation:isolate;
  position:relative!important;
  min-height:clamp(540px, 72vh, 760px)!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  color:#fff!important;
  padding:0!important;
}

.bp-unit-hero__media {
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
}

.bp-unit-hero__img,
.bp-unit-hero__media img {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.bp-unit-hero__scrim {
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg, rgba(8, 12, 8, .86), rgba(8, 12, 8, .56) 44%, rgba(8, 12, 8, .26)),
  linear-gradient(180deg, rgba(8, 12, 8, .64), rgba(8, 12, 8, .2) 45%, rgba(8, 12, 8, .82))!important;
  z-index:1!important;
}

.bp-unit-hero__inner {
  position:relative!important;
  z-index:2!important;
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding-top:clamp(120px, 14vh, 180px)!important;
  padding-bottom:clamp(82px, 10vh, 140px)!important;
}

.bp-unit-hero__title {
  font-family:var(--serif);
  font-weight:310;
  font-size:clamp(4.9rem, 10vw, 10.5rem)!important;
  line-height:.86!important;
  letter-spacing:-.07em!important;
  margin:18px 0 0!important;
  max-width:840px!important;
  color:#fffaf0!important;
}

.bp-unit-hero__sub {
  max-width:780px!important;
  font-size:clamp(1.2rem, 2vw, 2rem)!important;
  line-height:1.35!important;
  color:rgba(255, 250, 240, .86)!important;
  margin:20px 0 0!important;
}

.bp-unit-hero__cta {
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:32px!important;
}

.bp-unit-hero .bp-btn {
  min-height:54px!important;
}

.bp-unit-hero .bp-btn--solid {
  background:#f4ead8!important;
  color:#11130f!important;
}

.bp-unit-hero .bp-btn--ghost {
  background:rgba(255, 255, 255, .12)!important;
  border-color:rgba(255, 255, 255, .24)!important;
  color:#fffaf0!important;
}

.bp-params {
  padding-top:48px!important;
  padding-bottom:42px!important;
}

.bp-params__list {
  list-style:none;
  margin:0;
  padding:0;
  display:grid!important;
  grid-template-columns:repeat(6, minmax(110px, 1fr))!important;
  gap:12px!important;
}

.bp-params__item {
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
  min-height:96px!important;
  padding:18px!important;
}

.bp-params__value {
  display:block;
  margin-top:8px;
  font-family:var(--serif);
  letter-spacing:-.04em;
  font-size:clamp(1rem, 1.35vw, 1.25rem)!important;
  line-height:1.18!important;
}

@media (max-width:899px) {
  .single-byty .bp-unit-body>.bp-section,
  .single-byty .bp-unit-body>.bp-params,
  .single-byty .bp-unit-body>.bp-gallery>.bp-container {
    width:calc(100% - 28px)!important;

  }

  .bp-unit-hero {
    min-height:620px!important;

  }

  .bp-unit-hero__inner {
    width:calc(100% - 32px)!important;
    padding-top:96px!important;
    padding-bottom:120px!important;

  }

  .bp-unit-hero__title {
    font-size:clamp(4rem, 18vw, 6.4rem)!important;

  }

  .bp-unit-hero__sub {
    font-size:1.15rem!important;

  }

  .bp-unit-hero__cta {
    display:grid!important;
    grid-template-columns:1fr!important;

  }

  .bp-params__list {
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;

  }

}

@media (max-width:420px) {
  .bp-params__list {
    grid-template-columns:1fr!important;

  }

}

/* Galerie a dark mode: logické barvy, žádné říznutí. */

.bp-gallery {
  background:linear-gradient(180deg, var(--surface-2), var(--bg));
  color:var(--ink);
  border-block:1px solid var(--line);
  overflow:hidden!important;
}

html[data-theme="dark"] .bp-gallery {
  background:#0f140f!important;
  color:#f4eadb!important;
  border-color:rgba(244, 234, 219, .12)!important;
}

html[data-theme="dark"] .bp-gallery .bp-h2,
html[data-theme="dark"] .bp-gallery .bp-section__head {
  color:#f4eadb!important;
}

html[data-theme="dark"] .bp-gallery .bp-eyebrow,
html[data-theme="dark"] .bp-gallery .bp-sec-num {
  color:var(--gold)!important;
}

html[data-theme="dark"] .bp-gallery__item {
  background:#171d16!important;
  border-color:rgba(244, 234, 219, .14)!important;
}

/* Kontrast dark mode — text a buttony nesmí mizet. */

html[data-theme="dark"] .bp-muted,
html[data-theme="dark"] .bp-section__intro,
html[data-theme="dark"] .bp-lead {
  color:#cfc5b5!important;
}

html[data-theme="dark"] .bp-map__row dt,
html[data-theme="dark"] .bp-card__meta dt,
html[data-theme="dark"] .bp-table th,
html[data-theme="dark"] .bp-params__label {
  color:#c8bdad!important;
}

html[data-theme="dark"] .bp-chip {
  color:#f4eadb;
  border-color:rgba(244, 234, 219, .18);
}

html[data-theme="dark"] .bp-chip--free {
  background:rgba(147, 189, 127, .16);
  color:#dff0d5;
}

html[data-theme="dark"] .bp-btn--ghost,
html[data-theme="dark"] .bp-btn--glass {
  background:rgba(244, 234, 219, .08);
  color:#f4eadb;
  border-color:rgba(244, 234, 219, .22);
}

/* =====================================================================
   Patch v5.0.5 — situační mapa: vrácení přesného 16:9 souřadnicového plátna
   Důvod: SVG polygony jsou kreslené na render 1920×1080. Předchozí fix
   bočního panelu nechal mapu měnit poměr stran, takže se polygony opticky
   rozjely vůči podkladu. Mapa musí vždy zůstat 16:9.
   ===================================================================== */





.bp-mapsec .bp-map__bg,
.bp-mapsec .bp-map__stage > img.bp-map__bg {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  transform:none!important;
}



.bp-mapsec .bp-zone,
.bp-mapsec .bp-pin,
.bp-mapsec .bp-park {
  transform-box:fill-box;
  transform-origin:center;
}

.bp-mapsec .bp-zone,
.bp-mapsec .bp-pin,
.bp-mapsec .bp-park,
.bp-mapsec .bp-map__stage [data-svg-id] {
  transition:fill .18s ease,
  stroke .18s ease,
  opacity .18s ease,
  filter .18s ease!important;
}

.bp-mapsec .bp-map__stage [data-svg-id].is-active {
  filter:drop-shadow(0 8px 18px rgba(29, 48, 31, .22))!important;
}

/* Stabilní panel bez toho, aby určoval poměr stran mapy. */







.bp-mapsec .bp-map__detail[hidden] {
  display:none!important;
}







@keyframes bpMapSoftFade {
  from {
    opacity:.82;

  }

  to {
    opacity:1;

  }

}

@media (max-width:899px) {
  .bp-mapsec .bp-map {
    display:block!important;

  }

  .bp-mapsec .bp-map__stage {
    aspect-ratio:16 / 9!important;
    min-height:0!important;
    height:auto!important;
    border-radius:24px!important;

  }

  .bp-mapsec .bp-map__panel {
    display:none!important;
    position:static!important;
    min-height:0!important;

  }

  .bp-mapsec .bp-map__empty,
  .bp-mapsec .bp-map__detail {
    min-height:0!important;

  }

}

/* =====================================================================
   Patch v5.0.6 — mapa: pevný boční panel + mobilní popup
   ===================================================================== */

.bp-mapsec .bp-section__head {
  grid-template-columns:minmax(0, .9fr) minmax(300px, .58fr)!important;
  align-items:end!important;
}

.bp-mapsec .bp-section__intro,
.bp-map__mobile-note {
  display:none!important;
}



.bp-mapsec .bp-map__panel {
  height:auto!important;
  position:relative!important;
  top:auto!important;
  align-self:start!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:clamp(20px, 1.8vw, 28px)!important;
  border-radius:clamp(24px, 3vw, 36px)!important;
}

.bp-mapsec .bp-map__empty,
.bp-mapsec .bp-map__detail {
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
}

.bp-mapsec .bp-map__empty {
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:12px!important;
}

.bp-mapsec .bp-map__empty[hidden] {
  display:none!important;
}

.bp-mapsec .bp-map__empty strong {
  display:block!important;
  font-family:var(--serif)!important;
  font-size:clamp(2rem, 2.8vw, 3rem)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
}

.bp-mapsec .bp-map__empty p {
  margin:0!important;
  max-width:32ch!important;
  color:var(--ink-2)!important;
  font-size:clamp(.95rem, 1vw, 1.05rem)!important;
  line-height:1.55!important;
}

.bp-mapsec .bp-map__detail {
  display:flex!important;
  flex-direction:column!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  padding-right:4px!important;
  scrollbar-width:thin;
}

.bp-mapsec .bp-map__detail-head {
  gap:14px!important;
  margin-bottom:18px!important;
}

.bp-mapsec .bp-map__detail-title {
  font-size:clamp(2rem, 2.35vw, 2.85rem)!important;
  line-height:.95!important;
  min-height:0!important;
}

.bp-mapsec .bp-map__detail-sub {
  min-height:0!important;
  max-width:32ch!important;
  font-size:.94rem!important;
  line-height:1.45!important;
  color:var(--ink-2)!important;
}

.bp-mapsec .bp-map__rows {
  margin-top:18px!important;
}

.bp-mapsec .bp-map__row {
  min-height:44px!important;
  padding:10px 0!important;
  gap:14px!important;
}

.bp-mapsec .bp-map__row dt,
.bp-mapsec .bp-map__row dd {
  font-size:.92rem!important;
}

.bp-mapsec .bp-map__btn {
  margin-top:18px!important;
  width:100%!important;
}

.bp-mapsec .bp-map__detail.is-updating {
  animation:bpMapPanelFade .14s ease-out both!important;
}

@keyframes bpMapPanelFade {
  from {
    opacity:.72;

  }

  to {
    opacity:1;

  }

}



.bp-mapsec .bp-map__tooltip {
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:8;
  padding:16px 48px 16px 16px;
  border-radius:22px;
  background:color-mix(in srgb, var(--surface) 93%, transparent);
  border:1px solid var(--line);
  box-shadow:0 18px 46px rgba(0, 0, 0, .18);
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  color:var(--ink);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .18s ease,
  transform .18s ease;
}

.bp-mapsec .bp-map__tooltip.is-visible {
  opacity:1;
  transform:translateY(0);
}

.bp-mapsec .bp-map__tooltip[hidden] {
  display:none!important;
}

.bp-mapsec .bp-map__tooltip strong {
  display:block;
  margin-top:8px;
  font-size:1.22rem;
  line-height:1.15;
}

.bp-mapsec .bp-map__tooltip p {
  margin:6px 0 0;
  color:var(--ink-2);
  line-height:1.45;
  font-size:.95rem;
}

.bp-mapsec .bp-map__tooltip-link {
  display:inline-flex;
  margin-top:12px;
  font-weight:800;
  color:var(--forest);
}

.bp-mapsec .bp-map__tooltip-close {
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:var(--wash);
  color:var(--ink);
  cursor:pointer;
}

html[data-theme="dark"] .bp-mapsec .bp-map__tooltip {
  background:rgba(21, 27, 20, .94);
  border-color:rgba(244, 234, 219, .14);
  color:#f4eadb;
}

html[data-theme="dark"] .bp-mapsec .bp-map__tooltip p,
html[data-theme="dark"] .bp-mapsec .bp-map__empty p,
html[data-theme="dark"] .bp-mapsec .bp-map__detail-sub {
  color:#cfc5b5!important;
}

html[data-theme="dark"] .bp-mapsec .bp-map__tooltip-close {
  background:rgba(244, 234, 219, .12);
  color:#f4eadb;
}

@media (min-width:900px) {
  .bp-mapsec .bp-map__tooltip {
    display:none!important;

  }

}

@media (max-width:899px) {
  .bp-mapsec .bp-section__head {
    display:block!important;
    margin-bottom:18px!important;

  }

  .bp-mapsec .bp-map {
    display:block!important;

  }

  .bp-mapsec .bp-map__stage {
    aspect-ratio:16 / 9!important;
    min-height:0!important;
    height:auto!important;
    border-radius:24px!important;

  }

  .bp-mapsec .bp-map__panel,
  .bp-mapsec .bp-map__mobile-note {
    display:none!important;

  }

  .bp-map__list {
    display:none!important;

  }

  .bp-mapsec .bp-map__legend {
    margin-top:14px!important;

  }

}

/* =====================================================================
   Patch v5.0.7 — mapa: boční panel přesně na výšku mapy + kompaktní mobilní popup
   ===================================================================== */



@media (min-width:900px) {
  .bp-mapsec .bp-map__panel {
    position:relative!important;
    top:auto!important;
    align-self:stretch!important;
    height:var(--bp-map-panel-h, auto);
    max-height:var(--bp-map-panel-h, none);
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;

  }

  .bp-mapsec .bp-map__empty,
  .bp-mapsec .bp-map__detail {
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;

  }

  .bp-mapsec .bp-map__detail {
    overflow:auto!important;
    padding-right:6px!important;

  }

  .bp-mapsec .bp-map__detail-title {
    font-size:clamp(1.75rem, 2vw, 2.45rem)!important;

  }

  .bp-mapsec .bp-map__detail-sub {
    font-size:.9rem!important;
    line-height:1.42!important;
    max-width:30ch!important;

  }

  .bp-mapsec .bp-map__row[hidden] {
    display:none!important;

  }

  .bp-mapsec .bp-map__panel.is-parking .bp-map__detail {
    justify-content:center!important;

  }

  .bp-mapsec .bp-map__panel.is-parking .bp-map__rows {
    margin-top:20px!important;

  }

  .bp-mapsec .bp-map__panel.is-parking .bp-map__btn {
    display:none!important;

  }

}

@media (max-width:899px) {
  .bp-mapsec .bp-map__tooltip {
    left:14px!important;
    right:auto!important;
    bottom:14px!important;
    width:min(320px, calc(100% - 28px))!important;
    max-width:320px!important;
    padding:12px 42px 12px 14px!important;
    border-radius:18px!important;
    background:color-mix(in srgb, var(--surface) 72%, transparent)!important;
    border:1px solid color-mix(in srgb, var(--line) 70%, transparent)!important;
    box-shadow:0 12px 34px rgba(0, 0, 0, .16)!important;
    backdrop-filter:blur(16px) saturate(1.08)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;

  }

  .bp-mapsec .bp-map__tooltip .bp-chip {
    transform:scale(.92)!important;
    transform-origin:left center!important;

  }

  .bp-mapsec .bp-map__tooltip strong {
    margin-top:6px!important;
    font-family:var(--sans)!important;
    font-size:1.02rem!important;
    line-height:1.15!important;
    letter-spacing:-.02em!important;

  }

  .bp-mapsec .bp-map__tooltip p {
    margin-top:5px!important;
    font-size:.86rem!important;
    line-height:1.35!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;

  }

  .bp-mapsec .bp-map__tooltip-link {
    margin-top:7px!important;
    font-size:.88rem!important;

  }

  .bp-mapsec .bp-map__tooltip-close {
    width:30px!important;
    height:30px!important;
    top:8px!important;
    right:8px!important;
    background:rgba(255, 255, 255, .42)!important;

  }

  .bp-mapsec .bp-map__tooltip.is-parking p {
    -webkit-line-clamp:2!important;

  }

  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip {
    background:rgba(16, 21, 15, .72)!important;
    border-color:rgba(244, 234, 219, .16)!important;

  }

}

/* =====================================================================
   Patch v5.0.8 — situační mapa stabilně: 16:9 + pevný boční panel
   ===================================================================== */

.bp-mapsec .bp-map {
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) clamp(320px, 28vw, 380px)!important;
  gap:clamp(20px, 2.2vw, 32px)!important;
  align-items:start!important;
}

.bp-mapsec .bp-map__stage {
  max-height:none!important;
  background:var(--surface)!important;
  transform:none!important;
  box-shadow:0 26px 72px rgba(45, 35, 22, .12)!important;
  position:relative!important;
  aspect-ratio:16 / 9!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:clamp(24px, 3vw, 42px)!important;
}

.bp-mapsec .bp-map__bg,
.bp-mapsec .bp-map__svg {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

.bp-mapsec .bp-map__bg {
  object-fit:cover!important;
  object-position:center!important;
}

.bp-mapsec .bp-map__svg {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  transform:none!important;
  overflow:hidden!important;
  pointer-events:auto!important;
}

@media (min-width:900px) {
  .bp-mapsec .bp-map__panel {
    position:relative!important;
    top:auto!important;
    align-self:start!important;
    height:var(--bp-map-stage-h, 100%)!important;
    max-height:var(--bp-map-stage-h, none)!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding:clamp(18px, 1.7vw, 26px)!important;
    border-radius:clamp(24px, 3vw, 38px)!important;

  }

  .bp-mapsec .bp-map__empty,
  .bp-mapsec .bp-map__detail {
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;

  }

  .bp-mapsec .bp-map__detail {
    display:flex!important;
    flex-direction:column!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:5px!important;
    scrollbar-width:thin;

  }

  .bp-mapsec .bp-map__detail[hidden],
  .bp-mapsec .bp-map__empty[hidden] {
    display:none!important;

  }

  .bp-mapsec .bp-map__detail-head {
    display:block!important;
    margin-bottom:14px!important;

  }

  .bp-mapsec .bp-map__detail-title {
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    margin:0 0 10px!important;
    font-size:clamp(1.9rem, 2vw, 2.5rem)!important;
    line-height:.95!important;
    min-height:0!important;

  }

  .bp-mapsec .bp-map__detail-title .bp-chip {
    font-family:var(--sans)!important;
    font-size:.74rem!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    transform:none!important;

  }

  .bp-mapsec .bp-map__detail-sub {
    min-height:4.3em!important;
    margin:0!important;
    max-width:32ch!important;
    font-size:.9rem!important;
    line-height:1.42!important;

  }

  .bp-mapsec .bp-map__rows {
    margin-top:auto!important;

  }

  .bp-mapsec .bp-map__row {
    min-height:38px!important;
    padding:8px 0!important;
    gap:12px!important;

  }

  .bp-mapsec .bp-map__row dt,
  .bp-mapsec .bp-map__row dd {
    font-size:.88rem!important;
    line-height:1.25!important;

  }

  .bp-mapsec .bp-map__btn {
    margin-top:14px!important;
    min-height:44px!important;
    width:100%!important;

  }

  .bp-mapsec .bp-map__detail.is-parking {
    justify-content:center!important;

  }

  .bp-mapsec .bp-map__detail.is-parking .bp-map__detail-sub {
    min-height:0!important;
    font-size:1rem!important;

  }

  .bp-mapsec .bp-map__detail.is-parking .bp-map__btn {
    display:none!important;

  }

}

/* Polygony jsou barevné podle stavu hned, hover/active je jen zvýrazní. */

.bp-mapsec .bp-zone {
  stroke-width:4!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
  opacity:.92!important;
  cursor:pointer!important;
}

.bp-mapsec .bp-zone[data-stav="free"] {
  fill:rgba(67, 123, 73, .24)!important;
  stroke:rgba(67, 123, 73, .92)!important;
}

.bp-mapsec .bp-zone[data-stav="resv"] {
  fill:rgba(190, 139, 48, .26)!important;
  stroke:rgba(190, 139, 48, .96)!important;
}

.bp-mapsec .bp-zone[data-stav="sold"] {
  fill:rgba(118, 117, 106, .24)!important;
  stroke:rgba(118, 117, 106, .92)!important;
}

.bp-mapsec .bp-park {
  fill:rgba(96, 116, 147, .24)!important;
  stroke:rgba(96, 116, 147, .96)!important;
  stroke-width:4!important;
  vector-effect:non-scaling-stroke!important;
  cursor:pointer!important;
}

.bp-mapsec .bp-zone:hover,
.bp-mapsec .bp-zone.is-active,
.bp-mapsec .bp-park:hover,
.bp-mapsec .bp-park.is-active {
  opacity:1!important;
  filter:drop-shadow(0 8px 14px rgba(20, 36, 22, .28))!important;
}

.bp-mapsec .bp-zone[data-stav="free"]:hover,
.bp-mapsec .bp-zone[data-stav="free"].is-active {
  fill:rgba(67, 123, 73, .38)!important;
}

.bp-mapsec .bp-zone[data-stav="resv"]:hover,
.bp-mapsec .bp-zone[data-stav="resv"].is-active {
  fill:rgba(190, 139, 48, .40)!important;
}

.bp-mapsec .bp-zone[data-stav="sold"]:hover,
.bp-mapsec .bp-zone[data-stav="sold"].is-active {
  fill:rgba(118, 117, 106, .38)!important;
}

.bp-mapsec .bp-park:hover,
.bp-mapsec .bp-park.is-active {
  fill:rgba(96, 116, 147, .40)!important;
}

.bp-mapsec .bp-pin[data-stav="free"] .pin-bg {
  fill:#f6f2e8!important;
  stroke:#437b49!important;
}

.bp-mapsec .bp-pin[data-stav="resv"] .pin-bg {
  fill:#fff5df!important;
  stroke:#be8b30!important;
}

.bp-mapsec .bp-pin[data-stav="sold"] .pin-bg {
  fill:#f2efe7!important;
  stroke:#76756a!important;
}

.bp-mapsec .bp-pin--park .pin-bg {
  fill:#f2f4f8!important;
  stroke:#607493!important;
}

.bp-mapsec .bp-pin text {
  font-weight:850!important;
  dominant-baseline:middle!important;
  text-anchor:middle!important;
  fill:#11130f!important;
}

/* Mobil: jen malá transparentní bublina nad mapou, žádná velká karta. */

@media (max-width:899px) {
  .bp-mapsec .bp-map {
    display:block!important;

  }

  .bp-mapsec .bp-map__panel,
  .bp-map__list {
    display:none!important;

  }

  .bp-mapsec .bp-map__tooltip {
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    width:auto!important;
    max-width:none!important;
    padding:10px 42px 11px 12px!important;
    border-radius:16px!important;
    background:rgba(250, 245, 235, .70)!important;
    border:1px solid rgba(55, 50, 40, .12)!important;
    box-shadow:0 14px 34px rgba(0, 0, 0, .15)!important;
    backdrop-filter:blur(16px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.05)!important;

  }

  .bp-mapsec .bp-map__tooltip strong {
    margin:4px 0 0!important;
    font-family:var(--sans)!important;
    font-size:1rem!important;
    line-height:1.15!important;
    letter-spacing:-.02em!important;

  }

  .bp-mapsec .bp-map__tooltip p {
    margin:4px 0 0!important;
    font-size:.84rem!important;
    line-height:1.28!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;

  }

  .bp-mapsec .bp-map__tooltip-link {
    margin-top:5px!important;
    font-size:.86rem!important;

  }

  .bp-mapsec .bp-map__tooltip .bp-chip {
    font-size:.72rem!important;
    padding:5px 8px!important;

  }

  .bp-mapsec .bp-map__tooltip-close {
    width:28px!important;
    height:28px!important;
    top:8px!important;
    right:8px!important;
    background:rgba(255, 255, 255, .52)!important;

  }

  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip {
    background:rgba(16, 21, 15, .72)!important;
    border-color:rgba(244, 234, 219, .16)!important;

  }

}

/* =====================================================================
   Patch v5.0.9 — mobile map tooltip structure + intro counters fix
   ===================================================================== */

/* Mobilní popup mapy: malý, ale má strukturu jako boční panel. */

.bp-mapsec .bp-map__tooltip-head,
.bp-mapsec .bp-map__tooltip-meta {
  display:none;
}

@media (max-width:899px) {
  .bp-mapsec .bp-map__tooltip {
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    width:auto!important;
    max-width:none!important;
    padding:13px 42px 13px 14px!important;
    border-radius:18px!important;
    background:rgba(250, 245, 235, .78)!important;
    border:1px solid rgba(55, 50, 40, .14)!important;
    box-shadow:0 18px 48px rgba(0, 0, 0, .18)!important;
    backdrop-filter:blur(18px) saturate(1.08)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;

  }

  .bp-mapsec .bp-map__tooltip > .bp-chip,
  .bp-mapsec .bp-map__tooltip > strong {
    display:none!important;

  }

  .bp-mapsec .bp-map__tooltip-head {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding-right:18px!important;

  }

  .bp-mapsec .bp-map__tooltip-head strong {
    display:block!important;
    margin:0!important;
    font-family:var(--serif)!important;
    font-size:clamp(1.45rem, 7vw, 2rem)!important;
    line-height:.95!important;
    letter-spacing:-.04em!important;
    color:var(--ink)!important;

  }

  .bp-mapsec .bp-map__tooltip-head .bp-chip {
    flex:0 0 auto!important;
    font-size:.72rem!important;
    padding:6px 9px!important;

  }

  .bp-mapsec .bp-map__tooltip p {
    margin:7px 0 10px!important;
    color:var(--ink-2)!important;
    font-size:.88rem!important;
    line-height:1.38!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;

  }

  .bp-mapsec .bp-map__tooltip-meta {
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 12px!important;
    margin:0!important;
    padding:0!important;
    border-top:1px solid rgba(55, 50, 40, .12)!important;

  }

  .bp-mapsec .bp-map__tooltip-meta div {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-width:0!important;
    padding:7px 0!important;
    border-bottom:1px solid rgba(55, 50, 40, .10)!important;

  }

  .bp-mapsec .bp-map__tooltip-meta dt,
  .bp-mapsec .bp-map__tooltip-meta dd {
    margin:0!important;
    font-family:var(--sans)!important;
    font-size:.78rem!important;
    line-height:1.15!important;

  }

  .bp-mapsec .bp-map__tooltip-meta dt {
    color:var(--muted)!important;
    font-weight:650!important;

  }

  .bp-mapsec .bp-map__tooltip-meta dd {
    color:var(--ink)!important;
    font-weight:850!important;
    text-align:right!important;

  }

  .bp-mapsec .bp-map__tooltip.is-parking .bp-map__tooltip-meta {
    grid-template-columns:1fr!important;

  }

  .bp-mapsec .bp-map__tooltip.is-parking .bp-map__tooltip-meta div {
    border-bottom:0!important;

  }

  .bp-mapsec .bp-map__tooltip-link {
    display:inline-flex!important;
    margin-top:9px!important;
    font-size:.9rem!important;
    font-weight:850!important;
    color:var(--forest)!important;

  }

  .bp-mapsec .bp-map__tooltip-link[hidden] {
    display:none!important;

  }

  .bp-mapsec .bp-map__tooltip-close {
    width:30px!important;
    height:30px!important;
    top:10px!important;
    right:10px!important;
    background:rgba(255, 255, 255, .56)!important;

  }

  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip {
    background:rgba(16, 21, 15, .78)!important;
    border-color:rgba(244, 234, 219, .16)!important;

  }

  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip-head strong,
  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip-meta dd {
    color:#f4eadb!important;

  }

  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip p,
  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip-meta dt {
    color:#cfc5b5!important;

  }

  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip-meta,
  html[data-theme="dark"] .bp-mapsec .bp-map__tooltip-meta div {
    border-color:rgba(244, 234, 219, .12)!important;

  }

}

/* =====================================================================
   Patch v5.0.10 — intro fact numbers + single unit page rhythm
   ===================================================================== */

/* Detail bytu: popis před parametry, hero čitelné a konstantní rytmus sekcí. */

.single-byty .bp-unit-hero {
  min-height:clamp(520px, 62vh, 720px)!important;
  align-items:center!important;
}

.single-byty .bp-unit-hero__inner {
  width:var(--container)!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-top:clamp(120px, 13vh, 164px)!important;
  padding-bottom:clamp(82px, 9vh, 118px)!important;
}

.single-byty .bp-unit-hero__copy,
.single-byty .bp-unit-hero__inner > * {
  max-width:720px!important;
}

.single-byty .bp-unit-hero__title {
  font-size:clamp(4.4rem, 8.2vw, 8.4rem)!important;
  line-height:.88!important;
  letter-spacing:-.065em!important;
  margin-top:14px!important;
}

.single-byty .bp-unit-hero__sub {
  max-width:680px!important;
  font-size:clamp(1.08rem, 1.55vw, 1.45rem)!important;
  line-height:1.42!important;
  margin-top:18px!important;
}

.single-byty .bp-unit-hero__cta {
  margin-top:28px!important;
}

.single-byty .bp-unit-body {
  overflow:visible!important;
  width:100%!important;
  max-width:none!important;
  padding-top:0!important;
}

.single-byty .bp-unit-body > .bp-section,
.single-byty .bp-unit-body > .bp-params {
  width:min(1120px, calc(100% - 96px))!important;
  max-width:1120px!important;
  margin-inline:auto!important;
  padding-top:clamp(32px, 4vw, 56px)!important;
  padding-bottom:clamp(32px, 4vw, 56px)!important;
}

.single-byty .bp-unit-body > .bp-gallery {
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  border-radius:0!important;
}

.single-byty .bp-unit-body > .bp-gallery > .bp-container {
  width:var(--container)!important;
  max-width:none!important;
  margin-inline:auto!important;
}

.single-byty .bp-unit-body > .bp-unit-desc {
  padding-top:clamp(42px, 5vw, 64px)!important;
  padding-bottom:20px!important;
}

.single-byty .bp-unit-body > .bp-unit-desc .bp-h2 {
  font-size:clamp(3rem, 5.8vw, 6rem)!important;
  line-height:.95!important;
  margin-bottom:18px!important;
}

.single-byty .bp-unit-body > .bp-unit-desc .bp-lead {
  max-width:720px!important;
  font-size:clamp(1rem, 1.35vw, 1.22rem)!important;
  margin-bottom:0!important;
}

.single-byty .bp-unit-body > .bp-params {
  padding-top:0!important;
  padding-bottom:clamp(28px, 3.5vw, 44px)!important;
}

.single-byty .bp-params__list {
  display:grid!important;
  grid-template-columns:repeat(6, minmax(0, 1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}

.single-byty .bp-params__item {
  min-height:92px!important;
  padding:18px 18px!important;
  border-radius:18px!important;
}

.single-byty .bp-params__label {
  font-size:.68rem!important;
  letter-spacing:.12em!important;
}

.single-byty .bp-params__value {
  font-size:clamp(.9rem, .95vw, 1.05rem)!important;
  line-height:1.2!important;
}

.single-byty .bp-pudorysy,
.single-byty .bp-mistnosti,
.single-byty .bp-zahrada,
.single-byty .bp-prohlidka,
.single-byty .bp-unitcta {
  margin-top:0!important;
}

.single-byty .bp-pudorysy__grid,
.single-byty .bp-mistnosti__wrap,
.single-byty .bp-zahrada__grid {
  gap:clamp(18px, 2.2vw, 28px)!important;
}

@media (max-width:899px) {
  .single-byty .bp-unit-hero {
    min-height:560px!important;

  }

  .single-byty .bp-unit-hero__inner,
  .single-byty .bp-unit-body > .bp-section,
  .single-byty .bp-unit-body > .bp-params {
    width:calc(100% - 28px)!important;

  }

  .single-byty .bp-unit-hero__inner {
    width:var(--container)!important;

  }

  .single-byty .bp-unit-hero__inner {
    padding-top:96px!important;
    padding-bottom:96px!important;

  }

  .single-byty .bp-unit-hero__title {
    font-size:clamp(3.8rem, 18vw, 6.4rem)!important;

  }

  .single-byty .bp-unit-body > .bp-section,
  .single-byty .bp-unit-body > .bp-params {
    padding-top:32px!important;
    padding-bottom:32px!important;

  }

  .single-byty .bp-unit-body > .bp-unit-desc {
    padding-bottom:0!important;

  }

  .single-byty .bp-unit-body > .bp-params {
    padding-top:0!important;

  }

  .single-byty .bp-unit-body > .bp-gallery > .bp-container {
    width:var(--container)!important;

  }

  .single-byty .bp-params__list {
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;

  }

}

@media (min-width:900px) and (max-width:1180px) {
  .single-byty .bp-params__list {
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;

  }

}

/* Footer cleanup: logo, vertical links and PKM credit. */

.bp-footer {
  position:relative;
  overflow:hidden;
  padding:0 0 96px!important;
  background:var(--ink);
  color:var(--bg);
}

.bp-footer__peaks {
  position:relative;
  width:100%;
  height:clamp(70px, 11vw, 150px);
  overflow:hidden;
}

.bp-footer__peaks-layer {
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:100%;
  display:block;
}

.bp-footer__peaks-layer--back path {
  fill:var(--forest-2);
  opacity:.28;
}

.bp-footer__peaks-layer--mid path {
  fill:var(--forest);
  opacity:.55;
}

.bp-footer__peaks-layer--front path {
  fill:var(--ink);
  opacity:1;
}

.bp-footer__inner {
  position:relative;
  z-index:1;
  padding-top:12px;
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) auto!important;
  gap:34px 80px!important;
  align-items:start!important;
}

.bp-footer__brand {
  max-width:360px;
}

.bp-footer__logo {
  display:inline-flex;
  align-items:center;
}

.bp-footer__logo img {
  display:block;
  width:min(250px, 70vw);
  height:auto;
  filter:brightness(0) invert(1);
}

.bp-footer__tag {
  max-width:300px;
  margin:18px 0 0;
  color:rgba(255, 255, 255, .58);
  font-size:.95rem;
  line-height:1.55;
}

.bp-footer__cta {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:26px;
  padding:13px 22px;
  border:1px solid rgba(255, 255, 255, .22);
  border-radius:999px;
  color:var(--bg);
  font-size:.92rem;
  font-weight:750;
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}

.bp-footer__cta span {
  transition:transform .2s var(--ease);
}

.bp-footer__cta:hover {
  background:var(--gold);
  border-color:var(--gold);
  color:var(--coal);
  transform:translateY(-2px);
}

.bp-footer__cta:hover span {
  transform:translateX(3px);
}

.bp-footer__nav {
  flex-wrap:wrap;
  justify-content:flex-end;
  display:grid!important;
  gap:10px!important;
  justify-items:end!important;
}

.bp-footer__nav a {
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  color:rgba(255, 255, 255, .72);
  font-size:.94rem;
  font-weight:750;
  line-height:1.2;
  transition:color .2s var(--ease),
  transform .2s var(--ease);
}

.bp-footer__nav a:hover {
  color:var(--gold);
  transform:translateX(-3px);
}

.bp-footer__bottom {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  padding-top:26px;
  border-top:1px solid rgba(255, 255, 255, .14);
}

.bp-footer__copy,
.bp-footer__credit {
  margin:0;
  color:rgba(255, 255, 255, .54);
  font-size:.84rem;
  line-height:1.4;
}

.bp-footer__credit {
  text-align:right;
}

.bp-footer__credit a {
  color:rgba(255, 255, 255, .82);
  font-weight:850;
}

.bp-footer__credit a:hover {
  color:var(--gold);
}

@media (max-width:720px) {
  .bp-footer__peaks {
    height:64px;
  }

  .bp-footer__inner {
    grid-template-columns:1fr!important;

  }

  .bp-footer__cta {
    width:100%;
    justify-content:center;
  }

  .bp-footer__nav {
    justify-items:start!important;

  }

  .bp-footer__bottom {
    display:grid;
    gap:12px;

  }

  .bp-footer__credit {
    text-align:left;

  }

}

/* Contact agent card. */

.bp-agent-card {
  display:grid;
  grid-template-columns:minmax(180px, 260px) minmax(0, 1fr);
  gap:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--surface);
  box-shadow:var(--shadow);
}

.bp-agent-card__media {
  min-height:100%;
  background:var(--surface-2);
}

.bp-agent-card__media img {
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
}

.bp-agent-card__body {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(26px, 4vw, 46px);
}

.bp-agent-card__role {
  color:var(--forest);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.bp-agent-card__name {
  margin:12px 0 24px;
  font-family:var(--serif);
  font-size:clamp(2.6rem, 4.6vw, 4.7rem);
  font-weight:330;
  line-height:.95;
  letter-spacing:-.055em;
}

.bp-agent-card__list {
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line);
}

.bp-agent-card__list li {
  display:grid;
  gap:5px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}

.bp-agent-card__list span {
  color:var(--muted);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.bp-agent-card__list a {
  color:var(--ink);
  font-size:clamp(1.08rem, 1.7vw, 1.38rem);
  font-weight:800;
  letter-spacing:-.02em;
}

.bp-agent-card__actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

@media (max-width:720px) {
  .bp-agent-card {
    grid-template-columns:1fr;

  }

  .bp-agent-card__media img {
    min-height:320px;
    aspect-ratio:4/3;

  }

  .bp-agent-card__actions {
    display:grid;
    grid-template-columns:1fr;

  }

}

/* Locality map. */

.bp-lokalita__map {
  position:relative;
  overflow:hidden;
  min-height:420px;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--surface-2);
  box-shadow:var(--shadow-soft);
}

.bp-lokalita__map iframe {
  display:block;
  width:100%;
  height:clamp(420px, 48vw, 560px);
  border:0;
  filter:saturate(.92) contrast(1.03);
}

.bp-lokalita__mapbar {
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  border:1px solid rgba(255, 255, 255, .16);
  border-radius:18px;
  background:rgba(15, 20, 13, .78);
  color:#fff;
  backdrop-filter:blur(14px);
}

.bp-lokalita__mapbar span {
  font-weight:850;
}

.bp-lokalita__mapbar a {
  color:var(--gold);
  font-weight:850;
  white-space:nowrap;
}

@media (max-width:720px) {
  .bp-lokalita__map {
    min-height:360px;
    border-radius:26px;

  }

  .bp-lokalita__map iframe {
    height:360px;

  }

  .bp-lokalita__mapbar {
    left:10px;
    right:10px;
    bottom:10px;
    display:grid;
    gap:4px;

  }

}

/* Arc gallery: five-image modulo loop. */

.bp-gallery.bp-gallery--arc {
  overflow:hidden!important;
  background:var(--surface-2)!important;
  color:var(--ink)!important;
  border-block:1px solid var(--line)!important;
}

.bp-gallery__shell {
  --arc-slide-w:clamp(260px, 27vw, 420px);
  --arc-slide-h:clamp(168px, 17vw, 270px);
  position:relative;
  overflow:hidden;
  padding:clamp(38px, 5vw, 72px) clamp(18px, 4vw, 54px) clamp(24px, 3vw, 40px);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 32px 90px rgba(0, 0, 0, .26);
  outline:none;
}

html[data-theme="light"] .bp-gallery.bp-gallery--arc .bp-gallery__shell,
html[data-theme="dark"] .bp-gallery.bp-gallery--arc .bp-gallery__shell {
  color:var(--ink);
}

html[data-theme="light"] .bp-gallery.bp-gallery--arc .bp-h2,
html[data-theme="dark"] .bp-gallery.bp-gallery--arc .bp-h2 {
  color:var(--ink)!important;
}

.bp-gallery__hero {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 440px);
  gap:clamp(18px, 4vw, 56px);
  align-items:end;
  max-width:none;
  margin-inline:0;
  padding-bottom:clamp(28px, 4vw, 54px);
  text-align:left;
}

.bp-gallery.bp-gallery--arc .bp-eyebrow {
  grid-column:1/-1;
  justify-self:start;
  margin-bottom:0;
  color:var(--forest)!important;
}

.bp-gallery.bp-gallery--arc .bp-eyebrow:before {
  display:block;
}

.bp-gallery.bp-gallery--arc .bp-h2 {
  color:inherit!important;
  opacity:1!important;
  max-width:760px;
  font-size:clamp(2.75rem, 5.2vw, 5.45rem)!important;
  line-height:.99!important;
  letter-spacing:-.046em!important;
  text-align:left;
}

.bp-gallery__intro {
  max-width:440px;
  margin:0;
  color:var(--muted);
  font-size:clamp(1rem, 1.35vw, 1.22rem);
  line-height:1.55;
}

.bp-gallery__arc-stage {
  position:relative;
  min-height:calc(var(--arc-slide-h) + 108px);
  overflow:hidden;
  touch-action:pan-y;
  margin-inline:calc(clamp(18px, 4vw, 54px) * -1);
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
}

.bp-gallery__arc-stage:before {
  content:"";
  position:absolute;
  left:50%;
  top:-1px;
  z-index:4;
  width:130%;
  height:clamp(56px, 7vw, 96px);
  border-radius:0 0 50% 50% / 0 0 100% 100%;
  background:var(--surface);
  transform:translateX(-50%);
  pointer-events:none;
}

.bp-gallery__arc-slide {
  position:absolute;
  left:50%;
  top:clamp(42px, 5vw, 72px);
  z-index:var(--z);
  width:var(--arc-slide-w);
  height:var(--arc-slide-h);
  opacity:0;
  pointer-events:none;
  transform: translateX(calc(-50% + var(--arc-x))) translateY(var(--arc-y)) rotate(var(--rotate)) scale(var(--scale));
  transform-origin:50% 74%;
  transition:transform .86s var(--ease),
  opacity .52s ease;
}

.bp-gallery__arc-slide.is-arc-visible {
  opacity:var(--opacity);
  pointer-events:auto;
}

.bp-gallery__arc-slide.is-center {
  opacity:1;
}

.bp-gallery.bp-gallery--arc .bp-gallery__item {
  display:block;
  width:100%;
  height:100%;
  padding:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(37, 31, 24, .1)!important;
  border-radius:30px;
  background:var(--surface-2)!important;
  box-shadow:var(--shadow-soft)!important;
  cursor:pointer;
}

.bp-gallery.bp-gallery--arc .bp-gallery__item img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.94) contrast(1.02);
  transition:transform .7s var(--ease),
  filter .35s var(--ease);
}

.bp-gallery.bp-gallery--arc .bp-gallery__item:hover img,
.bp-gallery.bp-gallery--arc .bp-gallery__item:focus-visible img {
  transform:scale(1.035);
  filter:saturate(1) contrast(1.04);
}

.bp-gallery.bp-gallery--arc .bp-gallery__item:after {
  content:"Zobrazit";
  position:absolute;
  left:14px;
  bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255, 250, 241, .86);
  color:var(--ink);
  font-size:.76rem;
  font-weight:850;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .22s var(--ease),
  transform .22s var(--ease);
}

.bp-gallery.bp-gallery--arc .bp-gallery__item:hover:after,
.bp-gallery.bp-gallery--arc .bp-gallery__item:focus-visible:after {
  opacity:1;
  transform:none;
}

.bp-gallery.bp-gallery--arc .bp-gallery__item--ph {
  display:grid;
  place-items:center;
  color:var(--muted);
  border-style:dashed!important;
}

.bp-gallery__arc-controls {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:18px;
}

.bp-gallery__arc-arrow {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid var(--line-2);
  border-radius:50%;
  background:var(--surface-2);
  color:var(--ink);
  cursor:pointer;
  transition:background .22s var(--ease),
  border-color .22s var(--ease),
  color .22s var(--ease),
  transform .22s var(--ease);
}

.bp-gallery__arc-arrow:hover,
.bp-gallery__arc-arrow:focus-visible {
  background:var(--forest);
  border-color:var(--forest);
  color:var(--bg);
  transform:translateY(-2px);
}

.bp-gallery__arc-counter {
  min-width:78px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.14em;
  text-align:center;
}

.bp-gallery__arc-dots {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  max-width:520px;
  margin:18px auto 0;
}

.bp-gallery__arc-dot {
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(37, 31, 24, .22);
  cursor:pointer;
  transition:width .22s var(--ease),
  background .22s var(--ease),
  transform .22s var(--ease);
}

.bp-gallery__arc-dot:hover,
.bp-gallery__arc-dot:focus-visible {
  transform:scale(1.2);
}

.bp-gallery__arc-dot.is-active {
  width:26px;
  background:var(--forest);
}

@media (max-width:899px) {
  .bp-gallery__shell {
    --arc-slide-w:clamp(220px, 68vw, 420px);
    --arc-slide-h:clamp(146px, 43vw, 270px);
    padding:34px 0 22px;
    border-radius:30px;

  }

  .bp-gallery__hero {
    width:calc(100% - 36px);
    grid-template-columns:1fr;
    gap:14px;
    margin-inline:auto;
    padding-bottom:28px;

  }

  .bp-gallery__intro {
    max-width:620px;

  }

  .bp-gallery__arc-stage {
    min-height:calc(var(--arc-slide-h) + 82px);
    margin-inline:0;

  }

  .bp-gallery__arc-stage:before {
    height:58px;

  }

  .bp-gallery__arc-slide {
    top:34px;

  }

  .bp-gallery.bp-gallery--arc .bp-gallery__item {
    border-radius:24px;

  }

}

@media (max-width:720px) {
  .bp-gallery.bp-gallery--arc {
    padding-block:54px!important;

  }

  .bp-gallery.bp-gallery--arc .bp-h2 {
    font-size:clamp(3rem, 16vw, 4.6rem)!important;
    text-align:left;

  }

  .bp-gallery__intro {
    font-size:1rem;

  }

  .bp-gallery__arc-controls {
    margin-top:14px;

  }

}

@media (prefers-reduced-motion:reduce) {
  .bp-gallery__arc-slide,
  .bp-gallery.bp-gallery--arc .bp-gallery__item img,
  .bp-gallery.bp-gallery--arc .bp-gallery__item:after,
  .bp-gallery__arc-arrow,
  .bp-gallery__arc-dot {
    transition:none!important;

  }

}

/* Mobile polish: dark footer contrast, dock logo color and compact hero. */

html[data-theme="dark"] .bp-footer {
  background:#0d130d!important;
  color:#f4eadb!important;
}

html[data-theme="dark"] .bp-footer__peaks-layer--front path {
  fill:#0d130d!important;
}

html[data-theme="dark"] .bp-footer__tag,
html[data-theme="dark"] .bp-footer__copy,
html[data-theme="dark"] .bp-footer__credit {
  color:rgba(244, 234, 219, .68)!important;
}

html[data-theme="dark"] .bp-footer__nav a,
html[data-theme="dark"] .bp-footer__credit a {
  color:rgba(244, 234, 219, .86)!important;
}

html[data-theme="dark"] .bp-footer__cta {
  color:#f4eadb!important;
  border-color:rgba(244, 234, 219, .26)!important;
}

html[data-theme="dark"] .bp-footer__cta:hover {
  color:#10130f!important;
}

@media (max-width:899px) {
  .bp-mobile-dock__home {
    background:#efe4d2!important;
    border-color:rgba(51, 69, 44, .2)!important;
  }

  .bp-mobile-dock__home img {
    filter:brightness(0) saturate(100%) invert(24%) sepia(12%) saturate(1020%) hue-rotate(53deg) brightness(88%) contrast(88%)!important;
  }

  .bp-hero {
    min-height:100svh!important;
    padding-top:clamp(86px, 14svh, 128px)!important;
    padding-bottom:calc(108px + env(safe-area-inset-bottom))!important;
    align-items:center!important;
  }

  .bp-hero__inner {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:min(100%, calc(100vw - 32px))!important;
  }

  .bp-hero__copy {
    width:100%!important;
    max-width:620px!important;
    min-width:0!important;
  }

  .bp-hero__kicker {
    max-width:100%!important;
    padding:8px 11px!important;
    font-size:.62rem!important;
    line-height:1.1!important;
    letter-spacing:.16em!important;
  }

  .bp-hero__title {
    margin-top:20px!important;
    font-size:clamp(2.6rem, 10.4vw, 4.1rem)!important;
    line-height:.98!important;
  }

  .bp-hero__sub {
    max-width:38rem!important;
    margin-top:18px!important;
    font-size:.98rem!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .bp-hero__cta {
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
    margin-top:22px!important;
  }

  .bp-hero__cta .bp-btn {
    flex:0 1 auto!important;
    min-height:44px!important;
    padding:0 18px!important;
    font-size:.9rem!important;
    white-space:nowrap!important;
  }

  .bp-hero__cta .bp-text-link {
    min-height:44px!important;
    padding:0 8px!important;
    font-size:.92rem!important;
  }

  .bp-hero__panel {
    width:100%!important;
    max-width:620px!important;
    margin-top:18px!important;
  }
}

@media (max-width:520px) {
  .bp-hero__copy {
    max-width:100%!important;
  }

  .bp-hero__title {
    font-size:clamp(2.35rem, 11vw, 3.25rem)!important;
  }

  .bp-hero__cta .bp-btn {
    flex:1 1 calc(50% - 5px)!important;
    padding-inline:14px!important;
    font-size:.82rem!important;
  }

  .bp-hero__cta .bp-text-link {
    flex:1 1 100%!important;
  }
}

@media (min-width:721px) and (max-width:899px) {
  :root {
    --container:min(760px, calc(100vw - 56px));
  }

  .bp-mobile-theme-toggle,
  .bp-mobile-gallery-link {
    top:18px!important;
  }

  body.admin-bar .bp-mobile-theme-toggle,
  body.admin-bar .bp-mobile-gallery-link {
    top:calc(32px + 18px)!important;
  }

  .bp-mobile-dock {
    left:50%!important;
    right:auto!important;
    width:min(720px, calc(100vw - 40px))!important;
    transform:translateX(-50%)!important;
  }

  .bp-hero {
    min-height:100svh!important;
    padding-top:clamp(118px, 12svh, 150px)!important;
    padding-bottom:calc(128px + env(safe-area-inset-bottom))!important;
  }

  .bp-hero__inner {
    width:var(--container)!important;
    gap:26px!important;
  }

  .bp-hero__copy {
    max-width:680px!important;
  }

  .bp-hero__kicker {
    width:max-content!important;
    max-width:100%!important;
    font-size:.68rem!important;
    padding:9px 13px!important;
  }

  .bp-hero__title {
    max-width:720px!important;
    font-size:clamp(4rem, 8.6vw, 5.6rem)!important;
    line-height:.94!important;
  }

  .word-cycle {
    min-width:min(100%, 13.5ch)!important;
  }

  .bp-hero__sub {
    max-width:640px!important;
    font-size:1.05rem!important;
  }

  .bp-hero__cta {
    display:flex!important;
    flex-wrap:wrap!important;
    max-width:640px!important;
    gap:12px!important;
  }

  .bp-hero__cta .bp-btn {
    flex:0 0 auto!important;
    min-width:180px!important;
    min-height:46px!important;
    padding-inline:22px!important;
    font-size:.92rem!important;
  }

  .bp-hero__cta .bp-text-link {
    flex:0 0 auto!important;
    min-height:46px!important;
    padding-inline:10px!important;
  }

  .bp-hero__panel {
    width:min(100%, 640px)!important;
    max-width:640px!important;
    margin-top:4px!important;
  }
}

@media (min-width:650px) and (max-width:899px) {
  :root {
    --container:min(700px, calc(100vw - 48px));
  }

  .bp-mobile-theme-toggle,
  .bp-mobile-gallery-link {
    width:auto!important;
    height:42px!important;
    min-width:42px!important;
    padding-inline:14px!important;
    font-size:.72rem!important;
  }

  .bp-mobile-dock {
    width:min(650px, calc(100vw - 48px))!important;
    min-height:66px!important;
    padding:8px!important;
  }

  .bp-mobile-dock>a:not(.bp-mobile-dock__home) {
    height:42px!important;
    font-size:.7rem!important;
  }

  .bp-mobile-dock__home {
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    transform:translateY(-8px)!important;
  }

  .bp-hero {
    min-height:100svh!important;
    padding-top:clamp(112px, 11svh, 140px)!important;
    padding-bottom:calc(118px + env(safe-area-inset-bottom))!important;
  }

  .bp-hero__inner {
    width:var(--container)!important;
    justify-items:start!important;
    gap:22px!important;
  }

  .bp-hero__copy {
    max-width:660px!important;
  }

  .bp-hero__kicker {
    width:max-content!important;
    max-width:100%!important;
    padding:8px 12px!important;
    font-size:.64rem!important;
  }

  .bp-hero__title {
    max-width:660px!important;
    margin-top:18px!important;
    font-size:clamp(3.45rem, 7.4vw, 5.05rem)!important;
    line-height:.95!important;
  }

  .bp-hero__sub {
    max-width:600px!important;
    margin-top:16px!important;
    font-size:1rem!important;
  }

  .bp-hero__cta {
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin-top:20px!important;
  }

  .bp-hero .bp-hero__cta>.bp-btn {
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:176px!important;
    min-height:44px!important;
    padding-inline:20px!important;
    font-size:.88rem!important;
  }

  .bp-hero .bp-hero__cta>.bp-text-link {
    flex:0 0 auto!important;
    width:auto!important;
    min-height:44px!important;
    padding-inline:10px!important;
    font-size:.9rem!important;
  }

  .bp-hero__panel {
    width:min(100%, 600px)!important;
    max-width:600px!important;
    min-height:0!important;
    margin-top:0!important;
    padding:22px 24px!important;
  }

  .bp-hero__panel div {
    padding-block:12px!important;
  }

  .bp-hero__panel b {
    font-size:clamp(1.05rem, 2.8vw, 1.65rem)!important;
  }
}
