@page {
  size: A4;
  margin: 9mm;
}

@media print {
  :root {
    --print-ink: #151515;
    --print-gold: #b8924e;
    --print-muted: #5e5a53;
    --print-line: #d8d3ca;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--print-ink) !important;
    background: #fff !important;
    font-size: 9.5pt !important;
    line-height: 1.4 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body.property-detail-page { padding-bottom: 0 !important; }

  .skip-link,
  .site-header,
  .breadcrumb,
  .property-detail-actions,
  .property-detail-scroll-contact,
  .property-detail-gallery-count,
  .property-detail-thumbs,
  .property-detail-media-section,
  .property-detail-contact-form,
  .property-detail-map,
  .related-properties,
  .property-mobile-contact,
  .share-modal-content,
  .modal,
  footer,
  script {
    display: none !important;
  }

  .page-main,
  .property-detail-shell,
  .property-detail-top,
  .property-detail-story,
  .property-detail-media-section,
  .property-detail-contact-section {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .container-xxl {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .property-detail-hero {
    display: grid !important;
    grid-template-columns: .92fr 1.08fr !important;
    min-height: 0 !important;
    height: 76mm !important;
    margin: 0 !important;
    break-inside: avoid !important;
  }

  .property-detail-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 0 !important;
    height: 76mm !important;
    padding: 7mm !important;
    color: #fff !important;
    background: #0a0a0a !important;
  }

  .property-detail-kicker,
  .property-detail-info .property-location {
    margin-bottom: 1.5mm !important;
    color: #d7b56f !important;
    font-size: 7.2pt !important;
    font-weight: 800 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
  }

  .property-detail-title {
    max-width: 12ch !important;
    margin: 2mm 0 0 !important;
    color: #fff !important;
    font-size: 20pt !important;
    line-height: 1.02 !important;
    letter-spacing: -.02em !important;
  }

  .property-detail-price-row {
    display: block !important;
    margin-top: 3mm !important;
  }

  .property-detail-price {
    margin: 0 !important;
    color: #d7b56f !important;
    font-size: 15pt !important;
    font-weight: 800 !important;
  }

  .property-detail-ref {
    margin: 1mm 0 0 !important;
    color: #d6d0c5 !important;
    font-size: 7.5pt !important;
  }

  .property-detail-media {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    height: 76mm !important;
    overflow: hidden !important;
    background: #ddd !important;
  }

  .property-detail-main-image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .property-detail-main-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .property-detail-facts {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    margin: 2.5mm 0 0 !important;
    border: 1px solid var(--print-line) !important;
    background: #fff !important;
    break-inside: avoid !important;
  }

  .property-detail-fact,
  .property-detail-fact:nth-child(2n),
  .property-detail-fact:last-child:nth-child(odd) {
    grid-column: auto !important;
    padding: 2.4mm 3mm !important;
    border: 0 !important;
    border-right: 1px solid var(--print-line) !important;
  }

  .property-detail-fact:last-child { border-right: 0 !important; }
  .property-detail-fact strong { font-size: 9.5pt !important; }
  .property-detail-fact small {
    margin-top: .6mm !important;
    color: var(--print-muted) !important;
    font-size: 6.7pt !important;
    letter-spacing: .04em !important;
  }

  .property-detail-story {
    margin-top: 4.5mm !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  .property-detail-copy {
    max-width: none !important;
    margin: 0 !important;
  }

  .eyebrow {
    margin: 0 0 2mm !important;
    color: var(--print-gold) !important;
    font-size: 7pt !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
  }

  .eyebrow::before { background: var(--print-gold) !important; }

  .property-detail-lead {
    max-width: none !important;
    margin: 0 0 2.5mm !important;
    color: var(--print-ink) !important;
    font-size: 9.5pt !important;
    line-height: 1.42 !important;
  }

  .property-detail-body-copy {
    margin: 0 !important;
    color: #3e3b36 !important;
    font-size: 8.6pt !important;
    line-height: 1.42 !important;
  }

  .property-detail-body-copy.mt-4 { margin-top: 0 !important; }
  .property-detail-body-copy p { margin: 0 0 2mm !important; }

  .property-detail-feature-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 4mm !important;
    margin-top: 3mm !important;
    border-top: 1px solid var(--print-line) !important;
    break-inside: auto !important;
  }

  .property-detail-feature {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 1.5mm !important;
    padding: 1.8mm 0 !important;
    border-bottom: 1px solid var(--print-line) !important;
    font-size: 8pt !important;
  }

  .property-detail-feature-index {
    color: var(--print-gold) !important;
    font-size: 6.5pt !important;
  }

  .property-detail-contact-section {
    display: block !important;
    margin-top: 3mm !important;
    padding: 2.5mm 0 0 !important;
    color: var(--print-ink) !important;
    background: #fff !important;
    border-top: 1px solid var(--print-line) !important;
    break-inside: avoid !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  .property-detail-contact-section .row,
  .property-detail-contact-section .col-lg-5 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .property-detail-contact-section .eyebrow {
    display: none !important;
  }

  .property-detail-contact-title {
    max-width: none !important;
    margin: 0 0 .6mm !important;
    color: var(--print-ink) !important;
    font-size: 11pt !important;
    line-height: 1.15 !important;
  }

  .property-detail-contact-copy {
    max-width: none !important;
    margin: 0 0 1.5mm !important;
    color: var(--print-muted) !important;
    font-size: 7.2pt !important;
    line-height: 1.3 !important;
  }

  .property-detail-contact-channels {
    display: flex !important;
    gap: 2mm !important;
    margin: 0 !important;
  }

  .property-detail-contact-channels .contact-option-btn {
    display: inline-flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 1mm 2mm !important;
    color: var(--print-ink) !important;
    border: 1px solid var(--print-line) !important;
    background: #fff !important;
    font-size: 7pt !important;
  }

  .contact-channel-icon {
    width: 4mm !important;
    height: 4mm !important;
    flex-basis: 4mm !important;
  }

  h1, h2, h3, p {
    orphans: 2;
    widows: 2;
  }

  a,
  button {
    text-decoration: none !important;
  }
}
