/*
  MIESZKANIE_LOKAL visual contract.

  Ten szablon ma wyglądać jak DOM_JEDNORODZINNY_DIRECT.
  Dlatego nie dublujemy i nie nadpisujemy tutaj geometrii kart, galerii,
  prawej kolumny, kafelków ani typografii. Layout pochodzi z:

  assets/css/templates/DOM_JEDNORODZINNY_DIRECT/style.css

  Ten plik zostaje tylko jako własny punkt wejścia dla template'u lokalu.
  Zmiany specyficzne dla lokalu wolno dodawać dopiero po świadomej decyzji,
  a nie jako plaster na wygląd domu.
*/

body.dh-ml-detail-page {
  margin: 0;
  min-height: 100vh;
  background: #eef0eb;
}

body.dh-ml-detail-page #app {
  padding-bottom: 42px;
}

/*
  STAGE34FN / STAGE34FO — świadoma różnica względem DOM_JEDNORODZINNY_DIRECT.
  Szablon domu używa galerii pod zdjęcia elewacji, więc może kadrować obraz.
  Szablon lokalu w hero pokazuje rzut / planszę techniczną, więc obraz musi mieścić się w całości
  i być podciągnięty do góry, żeby dolna tabela/rzut nie wypadały z widocznego obszaru.
  To nadal jest jeden główny szablon MIESZKANIE_LOKAL dla przyszłych lokali, nie korekta pod jeden lokal.
*/
body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-gallery-card {
  padding-bottom: 28px !important;
}

body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-hero-image {
  aspect-ratio: 16 / 10 !important;
  max-height: none !important;
  min-height: clamp(430px, 44vw, 610px) !important;
  background: #ffffff !important;
}

body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-hero-image img {
  object-fit: contain !important;
  object-position: center top !important;
  background: #ffffff !important;
  padding: 2px clamp(10px, 1.4vw, 18px) clamp(14px, 1.6vw, 20px) !important;
  box-sizing: border-box !important;
}

body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-gallery-controls {
  margin-top: 18px !important;
  margin-bottom: 16px !important;
}

body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-thumbs {
  min-height: 84px !important;
}

body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-thumb {
  height: 84px !important;
  min-height: 84px !important;
}

body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-thumb img {
  object-fit: cover !important;
  object-position: center !important;
  background: #ffffff !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-thumb[data-gallery-category="rzuty"] img {
  object-fit: contain !important;
  object-position: center !important;
  background: #ffffff !important;
  padding: 3px !important;
}

/* STAGE35EH_DIRECT_MOBILE_GALLERY_CONTENT_WIDTH
   Lokale use DOM_JEDNORODZINNY_DIRECT renderer through dh-ml-housecopy.
   On mobile the gallery/banner must align with the text cards below, not sit in a narrower shell. */
@media (max-width: 760px) {
  body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-main,
  body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-gallery-card,
  body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-hero-image {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.dh-ml-detail-page .dh-ml-housecopy .dh-direct-visual-gallery-card {
    border-left: 1px solid rgba(17, 24, 39, 0.08) !important;
    border-right: 1px solid rgba(17, 24, 39, 0.08) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 52px rgba(15, 23, 42, 0.09) !important;
  }

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

/* STAGE35ID_MIESZKANIE_LOKAL_MOBILE_ROOT_WIDTH
   Detail lokalu używa bazowego DOM_JEDNORODZINNY_DIRECT, ale ma własną klasę body.
   Dlatego root wrapper musi dostać taką samą szerokość mobile jak karta inwestycji,
   zamiast poszerzać tylko dzieci galerii. */
@media (max-width: 760px) {
  body.dh-ml-detail-page #app > .dh-direct-visual.dh-ml-housecopy,
  body.dh-ml-detail-page .dh-direct-visual.dh-ml-housecopy,
  body.dh-ml-detail-page .dh-ml-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;
  }

  body.dh-ml-detail-page #app > .dh-direct-visual.dh-ml-housecopy .dh-direct-visual-layout,
  body.dh-ml-detail-page #app > .dh-direct-visual.dh-ml-housecopy .dh-direct-visual-main,
  body.dh-ml-detail-page #app > .dh-direct-visual.dh-ml-housecopy .dh-direct-visual-gallery-card,
  body.dh-ml-detail-page #app > .dh-direct-visual.dh-ml-housecopy .dh-direct-visual-description,
  body.dh-ml-detail-page #app > .dh-direct-visual.dh-ml-housecopy .dh-direct-visual-price-history,
  body.dh-ml-detail-page #app > .dh-direct-visual.dh-ml-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;
  }
}
