/* Classic property presentation, shared by every public asset page. */
.asset-page[data-asset-page] {
  padding-top: clamp(3.5rem, 6vw, 6rem);
}

/* The complete approved 2:3 portrait remains visible at every viewport. */
.asset-page[data-asset-page] .asset-detail__visual {
  min-width: 0;
  align-self: start;
}
.asset-page[data-asset-page] .asset-detail__visual img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 2 / 3;
  object-fit: contain;
  object-position: center;
}
.asset-page[data-asset-page] .asset-detail__content,
.asset-page[data-asset-page] .asset-detail__intro,
.asset-page[data-asset-page] .asset-description,
.asset-page[data-asset-page] .asset-detail__actionbar,
.asset-page[data-asset-page] .asset-facts > div { min-width: 0; }
.asset-page[data-asset-page] .asset-detail h1,
.asset-page[data-asset-page] .asset-facts dd { overflow-wrap: anywhere; }
.asset-page[data-asset-page] .asset-actions .btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.asset-detail__actionbar [data-share-status] {
  margin: .7rem 0 0;
  font-size: .78rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.asset-detail__actionbar [data-share-status] a { overflow-wrap: anywhere; }
.asset-detail__actionbar [data-share-status]:empty { margin: 0; }

/* Portrait and a continuous information column. */
.asset-page[data-asset-page] .asset-detail {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(2rem, 4.5vw, 4rem);
}
.asset-page[data-asset-page] .asset-detail__content { display: block; }
.asset-page[data-asset-page] .asset-detail__intro { padding-top: .15rem; }
.asset-page[data-asset-page] .asset-detail__visual img { border-radius: 8px; }
.asset-page[data-asset-page] .asset-description { margin-top: 2rem; }

@media (max-width: 760px) {
  .asset-page[data-asset-page] .asset-detail { gap: 2rem; }
}

@media (max-width: 680px) {
  .asset-page[data-asset-page] .asset-detail { grid-template-columns: minmax(0, 1fr); }
  .asset-page[data-asset-page] { padding-top: 2.5rem; }
}

/* Grid direction and text alignment follow the document language. */
html[dir="rtl"] .asset-page[data-asset-page] .asset-detail__intro,
html[dir="rtl"] .asset-page[data-asset-page] .asset-description { text-align: right; }

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

/* The catalogue print rule hides every header; restore this semantic heading. */
@media print {
  .asset-page[data-asset-page] .asset-detail__actionbar { display: none !important; }
  .asset-page[data-asset-page] { padding: 0 !important; background: #fff !important; color: #111 !important; }
  .asset-page[data-asset-page] .asset-detail {
    display: grid !important;
    grid-template-columns: 32% minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    grid-template-areas: none !important;
    gap: 6mm !important;
  }
  .asset-page[data-asset-page] .asset-detail__visual {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    break-inside: avoid;
  }
  .asset-page[data-asset-page] .asset-detail__visual img { width: 100%; height: auto; max-height: none; aspect-ratio: 2 / 3; object-fit: contain; border-radius: 0; }
  .asset-page[data-asset-page] .asset-detail__visual figcaption { margin: 2mm 0 0; padding: 0; font-size: 8pt; color: #444; }
  .asset-page[data-asset-page] .asset-detail__content {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .asset-page[data-asset-page] header.asset-detail__intro {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
  }
  .asset-page[data-asset-page] .asset-detail__intro :is(p, h1),
  .asset-page[data-asset-page] .asset-detail__intro .asset-kicker span { color: #111 !important; background: transparent !important; }
  .asset-page[data-asset-page] .asset-detail__intro h1 { max-width: none; margin: 3mm 0; font-size: 22pt; line-height: 1.1; letter-spacing: -.02em; }
  .asset-page[data-asset-page] .asset-detail__intro .asset-kicker,
  .asset-page[data-asset-page] .asset-detail__intro .asset-location { margin: 0 0 2mm; font-size: 8pt; }
  .asset-page[data-asset-page] .asset-detail__intro .asset-lead { margin: 0; font-size: 10pt; line-height: 1.5; }
  .asset-page[data-asset-page] .asset-detail__intro .asset-price { margin: 3mm 0 0; padding: 0; border: 0; font-size: 14pt; }
  .asset-page[data-asset-page] .asset-description { display: block !important; padding: 0 !important; margin: 6mm 0 0 !important; border: 0 !important; background: #fff !important; }
  .asset-page[data-asset-page] .asset-description h2 { margin: 0 0 2mm; padding: 0; border: 0; font-size: 12pt; color: #111; letter-spacing: normal; text-transform: none; }
  .asset-page[data-asset-page] .asset-description > p { margin: 0 0 3mm; font-size: 9pt; line-height: 1.5; color: #333; }
  .asset-page[data-asset-page] .asset-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; margin: 4mm 0 0; border: 0; }
  .asset-page[data-asset-page] .asset-facts > div { display: block; padding: 0 0 2mm; background: #fff !important; border-bottom: 1px solid #ccc; break-inside: avoid; }
  .asset-page[data-asset-page] .asset-facts dt { font-size: 8pt; color: #444; }
  .asset-page[data-asset-page] .asset-facts dd { margin: 1mm 0 0; font-size: 9pt; color: #111; }
}
