/* STAGE35BF_DOMY_DOM_DETAIL_STYLE
   Osobny marker stylu dla karty domu z inwestycji domów.
   Bazowy układ wizualny bierze z DOM_JEDNORODZINNY_DIRECT przez klasę dh-direct-visual. */

body.dh-dd-detail-page {
  margin: 0;
  background: #eef0eb;
}

.dh-dd-housecopy {
  --dh-dd-accent: #0b4a31;
}

.dh-dd-housecopy .dh-direct-visual-back {
  border-color: rgba(11, 74, 49, 0.16);
}

.dh-dd-housecopy .dh-direct-visual-description h2,
.dh-dd-housecopy .dh-direct-visual-side h2 {
  color: #0b4a31;
}

/* STAGE35FT_DOMY_DOM_WNETRZA_FILTER
   DOMY_DOM używa etykiety "Wnętrza". Bazowy renderer tworzy z niej klucz
   techniczny "wnetrza", więc właścicielski szablon musi obsłużyć ten filtr
   tak samo jak bazowe "pomieszczenia". */
.dh-dd-housecopy .dh-direct-visual-gallery-controls,
.dh-dd-housecopy .dh-direct-visual-filters,
.dh-dd-housecopy .dh-direct-visual-filter {
  position: relative !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

.dh-dd-housecopy .dh-direct-visual-gallery-card:has(#dh-direct-gallery-filter-wnetrza:checked) label[for="dh-direct-gallery-filter-wnetrza"] {
  border-color: #0f4a2f !important;
  background: #0f4a2f !important;
  color: #ffffff !important;
}

.dh-dd-housecopy .dh-direct-visual-gallery-card:has(#dh-direct-gallery-filter-wnetrza:checked) .dh-direct-visual-thumb:not([data-gallery-category="wnetrza"]) {
  display: none !important;
}

/* STAGE35FY_DOMY_DOM_PLAN_IMAGES_CONTAIN
   Rzuty pomieszczeń są dokumentami technicznymi, więc w karcie domu
   mają być widoczne w całości. Zdjęcia domu i wnętrz zostają na cover. */
.dh-dd-housecopy .dh-direct-visual-gallery-card:has(#dh-direct-gallery-filter-rzuty:checked) .dh-direct-visual-hero-image {
  background: #ffffff !important;
}

.dh-dd-housecopy .dh-direct-visual-gallery-card:has(#dh-direct-gallery-filter-rzuty:checked) .dh-direct-visual-hero-image img,
.dh-dd-housecopy .dh-direct-visual-thumb[data-gallery-category="rzuty"] img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #ffffff !important;
}

.dh-dd-housecopy .dh-direct-visual-thumb[data-gallery-category="rzuty"] img {
  box-sizing: border-box !important;
  padding: 4px !important;
}

/* STAGE35GA_DOMY_DOM_PLAN_FRAME_FIT
   Bazowy kadr galerii jest fotograficzny i panoramiczny. Dla rzutów DOMY_DOM
   przełącza go na proporcję dokumentu 16:9, żeby rzut dopasował się do kafla. */
.dh-dd-housecopy .dh-direct-visual-gallery-card:has(#dh-direct-gallery-filter-rzuty:checked) .dh-direct-visual-hero-image {
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  display: block !important;
}

.dh-dd-housecopy .dh-direct-visual-gallery-card:has(#dh-direct-gallery-filter-rzuty:checked) .dh-direct-visual-hero-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
}

/* STAGE35GB_DOMY_DOM_MOBILE_FULL_WIDTH_GALLERY
   DOMY_DOM ma własną klasę body, więc mobilny pełny układ galerii
   musi być chroniony w właścicielskim szablonie domu. */
@media (max-width: 760px) {
  body.dh-dd-detail-page .dh-dd-housecopy.dh-direct-visual {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-layout,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-main,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-card,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-gallery-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-gallery-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 18px !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-hero-image,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-hero-image img {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-gallery-controls,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-thumbs {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  body.dh-dd-detail-page .dh-direct-lightbox-frame {
    width: min(calc(100vw - 20px), 760px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.dh-dd-detail-page .dh-direct-lightbox-frame img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100vh - 110px) !important;
    object-fit: contain !important;
  }
}
/* STAGE35GM_DOMY_DOM_MOBILE_WIDE_CARDS
   Main DOMY_DOM template: mobile cards use the screen width like the working direct-house layout.
   Thumbnails keep their original filled/cropped behavior. */
@media (max-width: 720px) {
  body.dh-dd-detail-page .dh-dd-housecopy,
  body.dh-dd-detail-page .dh-dd-housecopy.dh-direct-visual,
  body.dh-dd-detail-page .dh-dd-detail-card,
  body.dh-dd-detail-page .dh-dd-panel,
  body.dh-dd-detail-page .dh-dd-specs,
  body.dh-dd-detail-page .dh-dd-description {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-gallery-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-main,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-hero {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-main > img,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-hero > img {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-thumb img,
  body.dh-dd-detail-page .dh-dd-housecopy .dh-direct-visual-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* STAGE35ID_DOMY_DOM_MOBILE_ROOT_WIDTH
   Detail domu z osiedla używa bazowego DOM_JEDNORODZINNY_DIRECT, ale ma własną klasę body.
   Root wrapper musi mieć tę samą szerokość roboczą co karta inwestycji; poszerzanie samych dzieci
   nie wystarcza, jeżeli główny kontener zostaje zwężony przez wcześniejsze reguły. */
@media (max-width: 760px) {
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy,
  body.dh-dd-detail-page .dh-direct-visual.dh-dd-housecopy,
  body.dh-dd-detail-page .dh-dd-housecopy.dh-direct-visual {
    width: min(100% - 28px, 1280px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-layout,
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-main,
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-side,
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-side-column,
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-gallery-card,
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-description,
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-price-history,
  body.dh-dd-detail-page #app > .dh-direct-visual.dh-dd-housecopy .dh-direct-visual-side .dh-direct-visual-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* STAGE35IB_DOMY_DOM_THUMBS_FILL_TILE
   Miniaturki w DOMY_DOM wypełniają kafelek bez wewnętrznych marginesów; rzuty zostają w contain. */
.dh-dd-housecopy .dh-direct-visual-thumb {
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

.dh-dd-housecopy .dh-direct-visual-thumb:not([data-gallery-category="rzuty"]) img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* STAGE35GS_LIGHTBOX_THUMBS_NO_OVERLAP
   Lightbox: miniaturki dostają własny pas na dole i nie nachodzą na duże zdjęcie. */
@media (min-width: 1px) {
  .dh-lightbox,
  .template-image-lightbox,
  [data-template-lightbox],
  [class*="lightbox"] {
    --stage35gs-thumb-rail-height: 142px;
  }

  .dh-lightbox__stage,
  .dh-lightbox__image-stage,
  .dh-lightbox__media,
  .template-image-lightbox__stage,
  .template-image-lightbox__media,
  [class*="lightbox"][class*="stage"],
  [class*="lightbox"] [class*="stage"],
  [class*="lightbox"] [class*="media"] {
    padding-bottom: var(--stage35gs-thumb-rail-height);
    box-sizing: border-box;
  }

  .dh-lightbox__image,
  .dh-lightbox img,
  .template-image-lightbox img,
  [class*="lightbox"] img {
    max-height: calc(100vh - var(--stage35gs-thumb-rail-height) - 92px);
    object-fit: contain;
  }

  .dh-lightbox__thumbs,
  .dh-lightbox__thumbsRail,
  .dh-lightbox__thumbnailRail,
  .template-image-lightbox__thumbs,
  .template-image-lightbox__thumbsRail,
  [class*="lightbox"] [class*="thumb"] {
    z-index: 4;
  }
}

@media (max-width: 760px) {
  .dh-lightbox,
  .template-image-lightbox,
  [data-template-lightbox],
  [class*="lightbox"] {
    --stage35gs-thumb-rail-height: 142px;
  }

  .dh-lightbox__image,
  .dh-lightbox img,
  .template-image-lightbox img,
  [class*="lightbox"] img {
    max-height: calc(100vh - var(--stage35gs-thumb-rail-height) - 76px);
  }
}
/* /STAGE35GS_LIGHTBOX_THUMBS_NO_OVERLAP */

/* STAGE35GT_LIGHTBOX_THUMBS_LOWER
   Minimalne opuszczenie pasa miniaturek bez zmiany mechaniki lightboxa. */
.dh-lightbox__thumbs,
.dh-lightbox__thumbsRail,
.dh-lightbox__thumbnailRail,
.template-image-lightbox__thumbs,
.template-image-lightbox__thumbsRail,
[class*="lightbox"] [class*="thumb"] {
  margin-top: 18px;
}
/* /STAGE35GT_LIGHTBOX_THUMBS_LOWER */
