/* =========================================================
   CHB PROPERTY DETAIL 1.1.14
   ========================================================= */

.chb-property-detail {
  width: min(1180px, calc(100% - 48px));
  margin: 48px auto 88px;
  color: #22252a;
  font-family: inherit;
}

/* Gallery */
.chb-detail-gallery {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 270px 270px;
  gap: 12px;
  margin-bottom: 48px;
}

.chb-detail-gallery--empty {
  display: flex;
  min-height: 280px;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border-radius: 22px;
  color: #5e6470;
  font-weight: 800;
}

.chb-detail-gallery-item {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #f3f4f6;
  cursor: pointer;
}

.chb-detail-gallery-item-1 { grid-column: 1; grid-row: 1 / span 2; }
.chb-detail-gallery-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.chb-detail-gallery-item:hover .chb-detail-gallery-img { transform: scale(1.025); }
.chb-detail-gallery-hidden { display: none; }

.chb-detail-gallery-count,
.chb-detail-gallery-all {
  position: absolute;
  z-index: 2;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: #22252a;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 8px 22px rgba(17,24,39,.18);
}
.chb-detail-gallery-count { left: 18px; }
.chb-detail-gallery-all { right: 18px; }

/* Hero */
.chb-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 36px;
  align-items: start;
  margin-bottom: 30px;
}

.chb-detail-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #dcebf7;
  color: #1577b8;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.chb-detail-title {
  margin: 0 0 12px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.06;
  font-weight: 700;
  color: #22252a;
  letter-spacing: -.035em;
}

.chb-detail-address {
  font-size: 20px;
  line-height: 1.45;
  color: #5e6470;
}

.chb-detail-price-card {
  background: #fff;
  border-radius: 22px;
  padding: 26px;
  box-shadow: 0 16px 48px rgba(17,24,39,.09);
  text-align: right;
}

.chb-detail-price {
  font-size: 42px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -.03em;
  color: #22252a;
}

.chb-detail-price-m2 { margin-top: 8px; color: #5e6470; font-size: 15px; }

.chb-detail-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin-top: 22px;
  padding: 0 22px;
  border-radius: 12px;
  background: #1e91d6;
  color: #fff !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(30, 145, 214,.2);
}
.chb-detail-cta:hover { background: #1577b8; }

/* Key facts */
.chb-detail-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 34px 0 46px;
}
.chb-detail-fact {
  padding: 18px;
  border: 1px solid #dcebf7;
  border-radius: 18px;
  background: #fff;
}
.chb-detail-fact-value { margin-bottom: 5px; font-size: 22px; line-height: 1.2; font-weight: 700; color: #22252a; }
.chb-detail-fact-label { font-size: 13px; color: #5e6470; font-weight: 750; }

/* Sections */
.chb-detail-section { margin: 48px 0; }
.chb-detail-section h2,
.chb-detail-contact-box h2,
.chb-detail-desktop-heading {
  margin: 0 0 18px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  color: #22252a;
  letter-spacing: -.02em;
}
.chb-detail-content { max-width: 720px; font-size: 17px; line-height: 1.78; color: #22252a; }
.chb-detail-content p { margin: 0 0 1em; }

/* Cleaner spec card */
.chb-detail-spec-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #dcebf7;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}
.chb-detail-spec-row {
  display: grid;
  grid-template-columns: minmax(130px, .9fr) minmax(0, 1.1fr);
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding: 14px 18px;
  border-bottom: 1px solid #f3f4f6;
}
.chb-detail-spec-row:nth-child(odd) { border-right: 1px solid #f3f4f6; }
.chb-detail-spec-row:nth-last-child(-n+2) { border-bottom: 0; }
.chb-detail-spec-label { color: #5e6470; font-size: 13px; font-weight: 750; line-height: 1.25; }
.chb-detail-spec-value { color: #22252a; font-size: 15px; font-weight: 700; line-height: 1.35; }

.chb-detail-unified-specs .chb-detail-spec-card {
  margin-top: 4px;
}

.chb-detail-unified-specs .chb-detail-spec-row {
  min-height: 56px;
}

.chb-detail-accordion { display: block; }
.chb-detail-accordion > summary {
  display: none;
  list-style: none;
  cursor: pointer;
}
.chb-detail-accordion > summary::-webkit-details-marker { display: none; }

/* Location */
.chb-detail-location-label { margin: -8px 0 16px; color: #5e6470; font-size: 16px; }
.chb-detail-map iframe { width: 100%; height: 420px; border: 0; border-radius: 20px; display: block; box-shadow: 0 14px 40px rgba(17,24,39,.08); }

/* CTA / lead form */
.chb-detail-contact-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
  align-items: start;
  gap: 32px;
  margin-top: 56px;
  padding: 32px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #dcebf7;
  box-shadow: 0 14px 46px rgba(30, 145, 214,.08);
}
.chb-detail-contact-box:not(:has(.chb-detail-form-wrap)) {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.chb-detail-contact-copy p,
.chb-detail-contact-box p { margin: 0; color: #5e6470; font-size: 16px; }
.chb-detail-cta-large { margin-top: 0; flex: 0 0 auto; }
.chb-detail-form-wrap {
  background: #fff;
  border: 1px solid #dcebf7;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 12px 34px rgba(17,24,39,.06);
}
.chb-detail-form-wrap .forminator-ui,
.chb-detail-form-wrap form {
  margin: 0 !important;
}
.chb-detail-form-wrap input,
.chb-detail-form-wrap textarea,
.chb-detail-form-wrap select {
  border-radius: 12px !important;
}
.chb-detail-form-wrap input:focus,
.chb-detail-form-wrap textarea:focus,
.chb-detail-form-wrap select:focus {
  border-color: #1e91d6 !important;
  box-shadow: 0 0 0 3px rgba(30, 145, 214, .12) !important;
  outline: none !important;
}
.chb-detail-form-wrap button,
.chb-detail-form-wrap .forminator-button-submit {
  border-radius: 12px !important;
  background: #1e91d6 !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 26px rgba(30, 145, 214,.18) !important;
}
.chb-detail-form-wrap button:hover,
.chb-detail-form-wrap .forminator-button-submit:hover {
  background: #1577b8 !important;
}

/* Lightbox */
html.chb-detail-lightbox-open,
body.chb-detail-lightbox-open { overflow: hidden !important; }

body > .chb-detail-lightbox,
.chb-detail-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: none;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
}
.chb-detail-lightbox.is-open { display: block !important; }
.chb-detail-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.chb-detail-lightbox-shell {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  padding: 72px 96px 34px;
  box-sizing: border-box;
}
.chb-detail-lightbox-stage {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.chb-detail-lightbox-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  box-shadow: 0 24px 80px rgba(0,0,0,.32);
}
.chb-detail-lightbox-close,
.chb-detail-lightbox-prev,
.chb-detail-lightbox-next {
  position: absolute;
  z-index: 3;
  border: 0;
  color: #fff;
  background: rgba(255,255,255,.12);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .18s ease, transform .18s ease;
}
.chb-detail-lightbox-close:hover,
.chb-detail-lightbox-prev:hover,
.chb-detail-lightbox-next:hover { background: rgba(255,255,255,.22); }
.chb-detail-lightbox-close { top: 22px; right: 24px; width: 52px; height: 52px; border-radius: 999px; }
.chb-detail-lightbox-prev,
.chb-detail-lightbox-next { top: 50%; transform: translateY(-50%); width: 58px; height: 78px; border-radius: 16px; }
.chb-detail-lightbox-prev { left: 22px; }
.chb-detail-lightbox-next { right: 22px; }
.chb-detail-lightbox-counter {
  position: static;
  color: #fff;
  background: rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  margin-top: 18px;
}

@media (max-width: 980px) {
  .chb-property-detail { width: min(760px, calc(100% - 32px)); margin-top: 30px; }
  .chb-detail-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 160px; gap: 8px; margin-bottom: 36px; }
  .chb-detail-gallery-item-1 { grid-column: 1 / span 2; grid-row: 1; }
  .chb-detail-hero { grid-template-columns: 1fr; gap: 18px; }
  .chb-detail-price-card { text-align: left; }
  .chb-detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chb-detail-spec-card { grid-template-columns: 1fr; }
  .chb-detail-spec-row { grid-template-columns: 1fr 1fr; border-right: 0 !important; }
  .chb-detail-spec-row:nth-last-child(-n+2) { border-bottom: 1px solid #f3f4f6; }
  .chb-detail-spec-row:last-child { border-bottom: 0; }
  .chb-detail-contact-box { grid-template-columns: 1fr; gap: 20px; }
  .chb-detail-contact-box:not(:has(.chb-detail-form-wrap)) { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 600px) {
  .chb-property-detail { width: calc(100% - 28px); margin-top: 22px; margin-bottom: 56px; }
  .chb-detail-gallery { display: block; margin-bottom: 28px; }
  .chb-detail-gallery-item { height: 320px; border-radius: 18px; }
  .chb-detail-gallery-item:not(.chb-detail-gallery-item-1) { display: none; }
  .chb-detail-gallery-count { left: 14px; bottom: 14px; }
  .chb-detail-title { font-size: 34px; }
  .chb-detail-address { font-size: 17px; }
  .chb-detail-price-card { padding: 22px; }
  .chb-detail-price { font-size: 36px; }
  .chb-detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 28px 0 36px; }
  .chb-detail-fact { padding: 14px; border-radius: 16px; }
  .chb-detail-fact-value { font-size: 19px; }
  .chb-detail-section { margin: 38px 0; }
  .chb-detail-section h2,
  .chb-detail-contact-box h2,
  .chb-detail-desktop-heading { font-size: 24px; }
  .chb-detail-content { font-size: 16px; max-width: 100%; }
  .chb-detail-spec-row { grid-template-columns: 1fr; gap: 4px; min-height: 0; padding: 13px 16px; }
  .chb-detail-secondary-specs { margin-top: 26px; }
  .chb-detail-secondary-specs .chb-detail-desktop-heading { display: none; }
  .chb-detail-accordion > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 17px 18px;
    border: 1px solid #dcebf7;
    border-radius: 18px;
    background: #fff;
    color: #22252a;
    font-size: 17px;
    font-weight: 700;
  }
  .chb-detail-accordion-hint { font-size: 13px; color: #5e6470; font-weight: 750; }
  .chb-detail-accordion:not([open]) .chb-detail-spec-card { display: none; }
  .chb-detail-accordion[open] > summary { margin-bottom: 12px; }
  .chb-detail-map iframe { height: 330px; }
  .chb-detail-contact-box { padding: 22px; }
  .chb-detail-form-wrap { padding: 16px; border-radius: 18px; }
  .chb-detail-cta-large { width: 100%; }
  .chb-detail-lightbox-shell { padding: 64px 12px 28px; grid-template-rows: minmax(0, 1fr) auto; }
  .chb-detail-lightbox-stage { align-items: center; }
  .chb-detail-lightbox-img { max-height: 76vh; box-shadow: none; }
  .chb-detail-lightbox-prev,
  .chb-detail-lightbox-next { width: 42px; height: 54px; border-radius: 13px; background: rgba(255,255,255,.14); }
  .chb-detail-lightbox-prev { left: 8px; }
  .chb-detail-lightbox-next { right: 8px; }
  .chb-detail-lightbox-close { top: 12px; right: 12px; width: 46px; height: 46px; }
}


/* Mobile visible highlights: selected key properties stay visible before full accordion. */
.chb-detail-mobile-highlights { display: none; }
.chb-detail-mobile-highlight-card {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid #dcebf7;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 34px rgba(17,24,39,.05);
}
.chb-detail-mobile-highlight-card .chb-detail-spec-row {
  grid-template-columns: minmax(108px,.9fr) minmax(0,1.1fr);
  border-right: 0 !important;
}

/* v1.0.4: map section shows only structured location label, never Google map address text. */

/* v1.0.5: unified parameters section, cleaner quick facts, negative yes/no values hidden by PHP. */


/* =========================================================
   CHB PROPERTY DETAIL 1.1.14 — mobile UX improvements
   ========================================================= */

.chb-detail-accordion[open] .chb-detail-accordion-hint::after {
  content: " / skryť";
}

@media (max-width: 600px) {
  .chb-property-detail {
    display: flex;
    flex-direction: column;
  }

  .chb-detail-gallery { order: 1; }
  .chb-detail-hero { order: 2; }
  .chb-detail-facts { order: 3; }
  .chb-detail-mobile-highlights { order: 4; display: block; margin-top: 6px; margin-bottom: 28px; }
  .chb-detail-mobile-highlights h2 { font-size: 22px; margin-bottom: 14px; }
  .chb-detail-description { order: 5; }
  .chb-detail-unified-specs { order: 6; margin-top: 10px; margin-bottom: 34px; }
  .chb-detail-contact-box { order: 7; margin-top: 20px; margin-bottom: 34px; }
  .chb-detail-location-section { order: 8; }

  .chb-detail-unified-specs .chb-detail-desktop-heading {
    display: none;
  }

  .chb-detail-accordion > summary::after {
    content: "⌄";
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dcebf7;
    color: #1577b8;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-1px);
  }

  .chb-detail-accordion[open] > summary::after {
    content: "⌃";
  }

  .chb-detail-accordion > summary {
    box-shadow: 0 10px 28px rgba(17,24,39,.06);
  }

  .chb-detail-accordion .chb-detail-spec-card {
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(17,24,39,.05);
  }

  .chb-detail-contact-box {
    background: #ffffff;
    border-color: #dcebf7;
    box-shadow: 0 16px 44px rgba(30, 145, 214,.09);
  }

  .chb-detail-location-section {
    margin-top: 18px;
  }
}

/* v1.0.7: mobile keeps key properties visible and keeps full parameters as a secondary accordion. */

/* =========================================================
   CHB PROPERTY DETAIL 1.1.0 — UX/UI polish
   ========================================================= */

.chb-property-detail {
  --chb-pink: #1e91d6;
  --chb-pink-dark: #1577b8;
  --chb-ink: #22252a;
  --chb-muted: #5e6470;
  --chb-soft-border: #dcebf7;
  --chb-card-shadow: 0 14px 42px rgba(17,24,39,.07);
}

.chb-detail-gallery {
  grid-template-rows: clamp(230px, 23vw, 285px) clamp(230px, 23vw, 285px);
  gap: 14px;
  margin-bottom: 42px;
}

.chb-detail-gallery-item {
  border-radius: 20px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}

.chb-detail-gallery-count,
.chb-detail-gallery-all {
  min-height: 34px;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 700;
}

.chb-detail-hero {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
  gap: 38px;
  margin-bottom: 28px;
}

.chb-detail-title {
  max-width: 850px;
  font-size: clamp(32px, 4.2vw, 54px);
  line-height: 1.07;
}

.chb-detail-address {
  max-width: 760px;
  color: var(--chb-muted);
}

.chb-detail-price-card {
  position: sticky;
  top: 24px;
  border: 1px solid rgba(17,24,39,.05);
  box-shadow: var(--chb-card-shadow);
}

.chb-detail-price {
  font-size: clamp(34px, 3.3vw, 44px);
}

.chb-detail-cta {
  min-height: 48px;
  width: 100%;
  box-sizing: border-box;
}

.chb-detail-facts {
  gap: 12px;
  margin: 30px 0 44px;
}

.chb-detail-fact {
  min-height: 94px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-color: var(--chb-soft-border);
  box-shadow: 0 10px 28px rgba(17,24,39,.045);
}

.chb-detail-fact-value {
  font-size: clamp(19px, 2vw, 23px);
}

.chb-detail-section {
  margin: 46px 0;
}

.chb-detail-section h2,
.chb-detail-contact-box h2,
.chb-detail-desktop-heading {
  font-size: clamp(24px, 2.4vw, 30px);
}

.chb-detail-content {
  max-width: 790px;
  color: #22252a;
}

.chb-detail-content ul,
.chb-detail-content ol {
  padding-left: 1.25em;
}

.chb-detail-spec-card {
  border-radius: 22px;
  box-shadow: 0 10px 30px rgba(17,24,39,.045);
}

.chb-detail-spec-row {
  min-height: 60px;
}

.chb-detail-map iframe {
  box-shadow: var(--chb-card-shadow);
}

.chb-detail-contact-box {
  margin-top: 60px;
  background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
  box-shadow: 0 18px 52px rgba(30, 145, 214,.09);
}

.chb-detail-form-wrap {
  box-shadow: 0 14px 38px rgba(17,24,39,.06);
}

@media (min-width: 981px) {
  .chb-detail-price-card .chb-detail-cta {
    margin-left: auto;
  }
}

@media (max-width: 980px) {
  .chb-detail-price-card {
    position: static;
  }

  .chb-detail-gallery {
    grid-template-rows: 300px 160px;
    margin-bottom: 34px;
  }

  .chb-detail-cta {
    width: auto;
  }
}

@media (max-width: 600px) {
  .chb-property-detail {
    width: calc(100% - 24px);
    margin-top: 18px;
  }

  .chb-detail-gallery {
    margin-bottom: 24px;
  }

  .chb-detail-gallery-item {
    height: min(340px, 78vw);
    border-radius: 18px;
  }

  .chb-detail-gallery-count,
  .chb-detail-gallery-all {
    min-height: 32px;
    padding: 0 12px;
  }

  .chb-detail-title {
    font-size: clamp(29px, 8.2vw, 34px);
    letter-spacing: -.028em;
  }

  .chb-detail-address {
    font-size: 16px;
  }

  .chb-detail-price-card {
    padding: 20px;
    border-radius: 20px;
  }

  .chb-detail-price {
    font-size: clamp(31px, 9vw, 36px);
  }

  .chb-detail-price-card .chb-detail-cta {
    width: 100%;
    min-height: 48px;
  }

  .chb-detail-facts {
    gap: 9px;
    margin: 24px 0 32px;
  }

  .chb-detail-fact {
    min-height: 82px;
    padding: 13px;
  }

  .chb-detail-fact-value {
    font-size: 18px;
  }

  .chb-detail-fact-label {
    font-size: 12px;
  }

  .chb-detail-section {
    margin: 34px 0;
  }

  .chb-detail-content {
    font-size: 16px;
    line-height: 1.72;
  }

  .chb-detail-mobile-highlights {
    margin-bottom: 24px;
  }

  .chb-detail-accordion > summary {
    padding: 16px;
  }

  .chb-detail-contact-box {
    padding: 20px;
    margin-top: 18px;
    border-radius: 22px;
  }

  .chb-detail-map iframe {
    height: 310px;
    border-radius: 18px;
  }
}

/* =========================================================
   CHB PROPERTY DETAIL — v1.1.3 mobile CTA / price card fix
   =========================================================
   Prevents the price CTA card from sitting beside the title
   on narrow screens. On mobile the order is: gallery, title,
   price CTA, key facts.
   ========================================================= */

@media (max-width: 980px) {
  .chb-detail-hero {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
  }

  .chb-detail-hero-main,
  .chb-detail-price-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .chb-detail-price-card {
    position: static !important;
    top: auto !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .chb-detail-price-card .chb-detail-cta {
    width: 100% !important;
    margin-top: 16px !important;
  }
}

@media (max-width: 600px) {
  .chb-detail-hero {
    gap: 14px !important;
    margin-bottom: 22px !important;
  }

  .chb-detail-price-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .chb-detail-price {
    font-size: clamp(30px, 8.4vw, 34px) !important;
  }

  .chb-detail-price-m2 {
    margin-top: 5px !important;
    font-size: 13px !important;
  }

  .chb-detail-price-card .chb-detail-cta {
    min-height: 46px !important;
    margin-top: 14px !important;
  }
}


/* =========================================================
   CHB PROPERTY DETAIL — v1.1.3 mobile quick facts fix
   =========================================================
   On mobile, long status values such as "Čiastočná rekonštrukcia"
   should not appear as a large standalone quick-fact card. The same
   information remains available in "Dôležité vlastnosti" and in the
   full parameters section.
   ========================================================= */

@media (max-width: 600px) {
  .chb-detail-facts .chb-detail-fact--stav {
    display: none !important;
  }

  .chb-detail-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  .chb-detail-fact {
    min-height: 78px !important;
    padding: 13px 14px !important;
  }

  .chb-detail-fact-value {
    font-size: 18px !important;
    line-height: 1.16 !important;
    margin-bottom: 4px !important;
    overflow-wrap: anywhere;
  }
}

/* =========================================================
   CHB PROPERTY DETAIL — v1.1.5 compact feature values
   =========================================================
   Long checkbox groups such as Interiér / Exteriér are rendered as
   compact tags instead of one heavy comma-separated bold paragraph.
   They stay available in full parameters, but no longer overload the
   mobile “Dôležité vlastnosti” block.
   ========================================================= */

.chb-detail-spec-row--feature-list {
  align-items: start;
}

.chb-detail-spec-row--feature-list .chb-detail-spec-label {
  padding-top: 3px;
}

.chb-detail-spec-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.chb-detail-spec-tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #dcebf7;
  color: #22252a;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .chb-detail-mobile-highlights .chb-detail-spec-row--feature-list {
    display: none !important;
  }

  .chb-detail-spec-tags {
    gap: 6px;
  }

  .chb-detail-spec-tag {
    min-height: 26px;
    padding: 5px 9px;
    font-size: 12px;
    white-space: normal;
  }

  .chb-detail-spec-row--feature-list .chb-detail-spec-value {
    line-height: 1.25;
  }
}

/* =========================================================
   CHB PROPERTY DETAIL — v1.1.6 mobile facts + accordion polish
   =========================================================
   - Keep the same quick-fact set on desktop and mobile.
   - Long quick-fact values are clamped instead of removing the card.
   - Mobile parameters toggle is simplified to "Zobraziť / skryť".
   ========================================================= */

@media (max-width: 600px) {
  .chb-detail-facts .chb-detail-fact--stav {
    display: flex !important;
  }

  .chb-detail-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .chb-detail-fact-value {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .chb-detail-accordion > summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px 16px 16px 18px !important;
    border: 1px solid #dcebf7;
    border-radius: 22px !important;
    background: #fff;
    box-shadow: 0 12px 34px rgba(17,24,39,.06) !important;
  }

  .chb-detail-accordion > summary::after,
  .chb-detail-accordion[open] > summary::after {
    content: none !important;
    display: none !important;
  }

  .chb-detail-accordion-title {
    min-width: 0;
    color: #22252a;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.02em;
  }

  .chb-detail-accordion-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .chb-detail-accordion-hint {
    color: #5e6470 !important;
    font-size: 13px !important;
    line-height: 1;
    font-weight: 700 !important;
    white-space: nowrap;
  }

  .chb-detail-accordion[open] .chb-detail-accordion-hint::after {
    content: none !important;
  }

  .chb-detail-accordion-icon {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dcebf7;
    color: #1577b8;
    transition: transform .18s ease, background .18s ease;
  }

  .chb-detail-accordion-icon svg {
    display: block;
  }

  .chb-detail-accordion[open] .chb-detail-accordion-icon {
    transform: rotate(180deg);
    background: #cfe4f6;
  }
}

/* =========================================================
   CHB PROPERTY DETAIL — v1.1.7 mobile accordion redesign
   =========================================================
   - Prevents title/action overlap on narrow screens.
   - Uses a two-row mobile summary: title first, action pill below.
   - Shows only one action label at a time: "Zobraziť" or "Skryť".
   ========================================================= */

@media (max-width: 600px) {
  .chb-detail-accordion > summary {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 18px !important;
    border: 1px solid #dcebf7 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 12px 34px rgba(17,24,39,.06) !important;
  }

  .chb-detail-accordion > summary::after,
  .chb-detail-accordion[open] > summary::after {
    content: none !important;
    display: none !important;
  }

  .chb-detail-accordion-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: #22252a !important;
    font-size: 22px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
  }

  .chb-detail-accordion-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    flex: 0 0 auto !important;
    padding: 8px 9px 8px 14px !important;
    border-radius: 999px !important;
    border: 1px solid #b9d8ef !important;
    background: #ffffff !important;
    color: #1577b8 !important;
    white-space: nowrap !important;
  }

  .chb-detail-accordion-hint {
    display: inline-flex !important;
    align-items: center !important;
    color: #1577b8 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  .chb-detail-accordion-hint::after,
  .chb-detail-accordion[open] .chb-detail-accordion-hint::after {
    content: none !important;
    display: none !important;
  }

  .chb-detail-accordion .chb-detail-accordion-hide {
    display: none !important;
  }

  .chb-detail-accordion .chb-detail-accordion-show {
    display: inline !important;
  }

  .chb-detail-accordion[open] .chb-detail-accordion-hide {
    display: inline !important;
  }

  .chb-detail-accordion[open] .chb-detail-accordion-show {
    display: none !important;
  }

  .chb-detail-accordion-icon {
    width: 26px !important;
    height: 26px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #1e91d6 !important;
    color: #fff !important;
    transition: transform .18s ease, background .18s ease !important;
  }

  .chb-detail-accordion-icon svg {
    width: 15px !important;
    height: 15px !important;
    display: block !important;
  }

  .chb-detail-accordion[open] .chb-detail-accordion-icon {
    transform: rotate(180deg) !important;
    background: #1577b8 !important;
  }
}

/* v1.1.8: map section no longer repeats textual location under heading. */
.chb-detail-location-label { display: none !important; }


/* =========================================================
   CHB PROPERTY DETAIL — v1.1.10 Breadcrumbs + similar offers
   ========================================================= */

.chb-detail-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  max-width: 100%;
  margin: 0 0 18px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  color: #7b8492;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
}

.chb-detail-breadcrumbs::-webkit-scrollbar {
  display: none;
}

.chb-detail-breadcrumbs a,
.chb-detail-breadcrumbs span[aria-current="page"] {
  color: inherit;
  text-decoration: none;
}

.chb-detail-breadcrumbs a {
  font-weight: 750;
}

.chb-detail-breadcrumbs a:hover {
  color: #1e91d6;
}

.chb-detail-breadcrumbs span[aria-current="page"] {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #9aa2af;
}

.chb-detail-breadcrumb-separator {
  flex: 0 0 auto;
  color: #c1c7d0;
  font-weight: 700;
}

.chb-detail-related-search {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  margin: 18px 0 38px;
  padding: 11px 15px;
  border: 1px solid #b9d8ef;
  border-radius: 999px;
  background: #ffffff;
  color: #5e6470;
  font-size: 14px;
  line-height: 1.25;
  box-shadow: 0 12px 30px rgba(30, 145, 214, .08);
}

.chb-detail-related-search span {
  flex: 0 0 auto;
  color: #1577b8;
  font-weight: 700;
}

.chb-detail-related-search a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #22252a;
  font-weight: 700;
  text-decoration: none;
}

.chb-detail-related-search a:hover {
  color: #1e91d6;
}

@media (max-width: 767px) {
  .chb-detail-breadcrumbs {
    margin-bottom: 14px;
    font-size: 13px;
    gap: 8px;
    padding-bottom: 2px;
  }

  .chb-detail-breadcrumbs span[aria-current="page"] {
    max-width: 180px;
  }

  .chb-detail-related-search {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    width: 100%;
    margin: 18px 0 28px;
    padding: 13px 15px;
    border-radius: 18px;
  }

  .chb-detail-related-search a {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
}

/* =========================================================
   CHB PROPERTY DETAIL — v1.1.12 priority parameters system
   =========================================================
   Desktop: 4 priority quick facts + complete parameter table.
   Mobile: one primary 6-row parameter table after CTA, then remaining properties after description.
   ========================================================= */

.chb-detail-spec-card--mobile {
  display: none;
}

@media (max-width: 600px) {
  .chb-detail-facts {
    display: none !important;
  }

  .chb-detail-mobile-highlights {
    order: 3 !important;
    display: block !important;
    margin: 26px 0 30px !important;
  }

  .chb-detail-mobile-highlights h2 {
    margin-bottom: 14px !important;
    font-size: 24px !important;
    line-height: 1.14 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
  }

  .chb-detail-mobile-highlight-card {
    border-radius: 20px !important;
    box-shadow: 0 14px 38px rgba(17,24,39,.06) !important;
  }

  .chb-detail-mobile-highlight-card .chb-detail-spec-row {
    grid-template-columns: minmax(110px, .9fr) minmax(0, 1.1fr) !important;
    gap: 12px !important;
    padding: 15px 16px !important;
  }

  .chb-detail-description {
    order: 4 !important;
  }

  .chb-detail-unified-specs {
    order: 5 !important;
    margin-top: 10px !important;
  }

  .chb-detail-spec-card--desktop {
    display: none !important;
  }

  .chb-detail-spec-card--mobile {
    display: grid !important;
  }

  .chb-detail-unified-specs .chb-detail-accordion-title {
    font-size: 22px !important;
  }

  .chb-detail-contact-box {
    order: 6 !important;
  }

  .chb-detail-location-section {
    order: 7 !important;
  }
}


/* =========================================================
   CHB PROPERTY DETAIL — v1.1.13 final stabilization polish
   ========================================================= */

/* Give the actual Forminator form more useful width on desktop. */
@media (min-width: 981px) {
  .chb-detail-contact-box {
    grid-template-columns: minmax(0, .62fr) minmax(420px, 1.38fr) !important;
    gap: 34px !important;
  }
}

/* On mobile, users should see location before the long lead form. */
@media (max-width: 600px) {
  .chb-detail-location-section {
    order: 6 !important;
    margin-top: 18px !important;
  }

  .chb-detail-contact-box {
    order: 7 !important;
    margin-top: 24px !important;
  }

  .chb-detail-accordion-hint {
    font-size: 12px !important;
    line-height: 1.25 !important;
    text-align: right !important;
  }
}


/* =========================================================
   CHB PROPERTY DETAIL — v1.1.14 Krafter visual system alignment
   Palette:
   background #F8F6F3, white #FFFFFF, heading #22252A,
   primary #1e91d6, primary hover #1577b8,
   sec100 #dcebf7, sec200 #b9d8ef, sec700 #2c365e.
   ========================================================= */

.chb-property-detail {
  --chb-background: #F8F6F3;
  --chb-white: #ffffff;
  --chb-heading: #22252a;
  --chb-body: #22252a;
  --chb-muted: #5e6470;
  --chb-primary: #1e91d6;
  --chb-primary-hover: #1577b8;
  --chb-primary-soft: #eaf4fb;
  --chb-sec-100: #dcebf7;
  --chb-sec-200: #b9d8ef;
  --chb-sec-700: #2c365e;
  --chb-soft-border: #dcebf7;
  --chb-card-shadow: 0 12px 34px rgba(34,37,42,.06);
  color: var(--chb-body);
}

.chb-detail-badge {
  background: var(--chb-sec-100) !important;
  color: var(--chb-sec-700) !important;
  font-weight: 700 !important;
}

.chb-detail-title,
.chb-detail-section h2,
.chb-detail-contact-box h2,
.chb-detail-desktop-heading,
.chb-detail-fact-value,
.chb-detail-spec-value,
.chb-detail-accordion-title,
.chb-detail-breadcrumb-current {
  color: var(--chb-heading) !important;
}

.chb-detail-title {
  font-weight: 700 !important;
  letter-spacing: -0.035em;
}

.chb-detail-price {
  color: var(--chb-heading) !important;
  font-weight: 800 !important;
}

.chb-detail-price-card,
.chb-detail-fact,
.chb-detail-spec-card,
.chb-detail-contact-box,
.chb-detail-form-wrap,
.chb-detail-accordion > summary,
.chb-detail-similar-card {
  background: var(--chb-white) !important;
  border-color: var(--chb-sec-100) !important;
  box-shadow: var(--chb-card-shadow) !important;
}

.chb-detail-cta,
.chb-detail-cta-large,
.chb-detail-form-wrap button,
.chb-detail-form-wrap .forminator-button-submit,
.chb-detail-accordion-icon {
  background: var(--chb-primary) !important;
  color: var(--chb-primary-soft) !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 28px rgba(30, 145, 214,.18) !important;
}

.chb-detail-cta:hover,
.chb-detail-cta-large:hover,
.chb-detail-form-wrap button:hover,
.chb-detail-form-wrap .forminator-button-submit:hover,
.chb-detail-accordion[open] .chb-detail-accordion-icon {
  background: var(--chb-primary-hover) !important;
  color: var(--chb-primary-soft) !important;
}

.chb-detail-form-wrap input,
.chb-detail-form-wrap textarea,
.chb-detail-form-wrap select {
  background: var(--chb-white) !important;
  border: 1px solid var(--chb-sec-200) !important;
  border-radius: 8px !important;
  color: var(--chb-heading) !important;
  box-shadow: none !important;
}

.chb-detail-form-wrap input:focus,
.chb-detail-form-wrap textarea:focus,
.chb-detail-form-wrap select:focus {
  border-color: var(--chb-primary) !important;
  box-shadow: 0 0 0 3px rgba(30, 145, 214,.15) !important;
  outline: none !important;
}

.chb-detail-contact-box {
  background: var(--chb-white) !important;
  border: 1px solid var(--chb-sec-100) !important;
}

.chb-detail-contact-copy p,
.chb-detail-contact-box p,
.chb-detail-address,
.chb-detail-price-m2,
.chb-detail-fact-label,
.chb-detail-spec-label,
.chb-detail-content,
.chb-detail-accordion-hint {
  color: var(--chb-muted) !important;
}

.chb-detail-spec-row,
.chb-detail-spec-row:nth-child(odd),
.chb-detail-spec-row:nth-last-child(-n+2) {
  border-color: var(--chb-sec-100) !important;
}

.chb-detail-accordion-action {
  background: var(--chb-primary-soft) !important;
  border-color: var(--chb-sec-200) !important;
  color: var(--chb-primary-hover) !important;
}

.chb-detail-accordion-hint {
  font-weight: 700 !important;
}


/* =========================================================
   CHB PROPERTY DETAIL — v1.3.0 design-system sync
   (rounding · type scale · spacing rhythm)
   =========================================================
   Final facelift: snaps radii, heading/body type and card/section
   spacing to the KrafterPRO engine's fluid clamp() scale, so the detail
   page reads as the same system as the Divi pages. Colours were already
   synced in the v1.1.14 layer above — this layer touches ONLY
   border-radius / font-size / padding / margin. NO display / position /
   z-index / grid / responsive-logic is touched (lightbox, accordion and
   the mobile section-reorder runtime are untouched). Reversible: delete
   this whole block to revert. Values are the engine's resolved clamp()
   expressions inlined (tokens.css `--k-*` is a mock artifact, NOT enqueued
   on the front end — the listing/search-ui plugins inline them the same way).
   Scoped under `.chb-property-detail` (2-class specificity) to win the
   cascade over the base layer without adding new !important.
   ========================================================= */

.chb-property-detail {
  /* radius scale */
  --chb-r-m: clamp(6px, 4px + 0.6vw, 12px);
  --chb-r-l: clamp(10px, 8px + 0.5vw, 16px);
  --chb-r-xl: clamp(16px, 12px + 1vw, 24px);
  /* spacing scale */
  --chb-sp-m: clamp(0.75rem, 0.6rem + 0.6vw, 1.25rem);
  --chb-sp-l: clamp(1.25rem, 1rem + 0.8vw, 2rem);
  --chb-sp-xl: clamp(2rem, 1.5rem + 1vw, 3rem);
  /* type scale */
  --chb-h1: clamp(2.25rem, 2rem + 1vw, 3rem);
  --chb-h2: clamp(1.875rem, 1.6rem + 0.7vw, 2.25rem);
  --chb-h4: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  --chb-body: clamp(1rem, 0.9rem + 0.4vw, 1.25rem);
}

/* — Rounding: one radius language across every card — */
.chb-property-detail .chb-detail-price-card,
.chb-property-detail .chb-detail-fact,
.chb-property-detail .chb-detail-spec-card,
.chb-property-detail .chb-detail-contact-box,
.chb-property-detail .chb-detail-form-wrap,
.chb-property-detail .chb-detail-mobile-highlight-card,
.chb-property-detail .chb-detail-similar-card {
  border-radius: var(--chb-r-xl);
}
.chb-property-detail .chb-detail-gallery-item,
.chb-property-detail .chb-detail-gallery--empty,
.chb-property-detail .chb-detail-map iframe {
  border-radius: var(--chb-r-l);
}
.chb-property-detail .chb-detail-cta,
.chb-property-detail .chb-detail-cta-large,
.chb-property-detail .chb-detail-form-wrap input,
.chb-property-detail .chb-detail-form-wrap textarea,
.chb-property-detail .chb-detail-form-wrap select,
.chb-property-detail .chb-detail-form-wrap button,
.chb-property-detail .chb-detail-form-wrap .forminator-button-submit {
  border-radius: var(--chb-r-m);
}

/* — Type: snap to the engine heading / body scale — */
.chb-property-detail .chb-detail-title {
  font-size: var(--chb-h1);
  line-height: 1.1;
}
.chb-property-detail .chb-detail-section h2,
.chb-property-detail .chb-detail-contact-box h2,
.chb-property-detail .chb-detail-desktop-heading,
.chb-property-detail .chb-detail-mobile-highlights h2 {
  font-size: var(--chb-h2);
}
.chb-property-detail .chb-detail-fact-value {
  font-size: var(--chb-h4);
}
.chb-property-detail .chb-detail-content {
  font-size: var(--chb-body);
}

/* — Spacing: card padding + section rhythm on the engine scale — */
.chb-property-detail .chb-detail-price-card,
.chb-property-detail .chb-detail-fact,
.chb-property-detail .chb-detail-contact-box,
.chb-property-detail .chb-detail-form-wrap {
  padding: var(--chb-sp-l);
}
.chb-property-detail .chb-detail-section {
  margin-block: var(--chb-sp-xl);
}
.chb-property-detail .chb-detail-facts {
  gap: var(--chb-sp-m);
  margin-block: var(--chb-sp-xl);
}

/* — Lead-form source tracking: hide the two source inputs (text-1 = property URL,
     text-2 = property title) that chb-property-detail.js auto-fills from the property.
     They are plain text Input fields (so the JS value is submitted — a native Hidden field
     would be overridden by Forminator's server default) and must NEVER be shown to the user.
     Global (not scoped to the detail card) so it also covers the lead form when it lives in
     its own top-level Divi section. text-1/text-2 are unique to this tracking form and the
     plugin CSS only loads on property-detail pages, so this is safe. — */
.forminator-row:has(input[name="text-1"]),
.forminator-row:has(input[name="text-2"]) {
  display: none !important;
}
