/* Bangkok Residential — property print sheet (A4). Loaded with media="print" on single property pages. */
@page { size: A4; margin: 14mm 14mm 16mm; }

/* screen: never show the sheet */
.bkk-print-sheet { display: none; }

@media print {
  /* hide everything but the sheet */
  body > *:not(.bkk-print-sheet) { display: none !important; }
  html, body { background: #fff !important; margin: 0 !important; padding: 0 !important; width: auto !important; height: auto !important; overflow: visible !important; }
  body { font: 10.5pt/1.5 Lato, "Helvetica Neue", Arial, sans-serif !important; color: #222 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a[href]:after { content: "" !important; }

  .bkk-print-sheet { display: block !important; color: #222; font-family: Lato, "Helvetica Neue", Arial, sans-serif !important; }
  .bkk-print-sheet p, .bkk-print-sheet span, .bkk-print-sheet li, .bkk-print-sheet dt, .bkk-print-sheet dd, .bkk-print-sheet div { font-family: Lato, "Helvetica Neue", Arial, sans-serif !important; }
  .bkk-print-sheet * { box-shadow: none !important; text-shadow: none !important; }
  .bkk-print-sheet img { max-width: 100%; }

  /* header */
  .bps-head { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 6mm; margin-bottom: 6mm; border-bottom: 2px solid #b08a3c; }
  .bps-wordmark { display: block; font-family: "Playfair Display", Georgia, serif !important; font-size: 19pt; letter-spacing: .08em; text-transform: uppercase; color: #141414; line-height: 1; }
  .bps-wordmark span { display: block; font-family: Lato, Arial, sans-serif; font-size: 7.5pt; font-weight: 700; letter-spacing: .38em; color: #8f6f2d; margin-top: 3px; }
  .bps-tagline { display: block; font-size: 8pt; color: #7a7570; margin-top: 5px; }
  .bps-ref { text-align: right; font-size: 8pt; color: #7a7570; }
  .bps-ref-label { display: block; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; font-size: 7pt; }
  .bps-ref-value { display: block; font-size: 13pt; font-weight: 700; color: #141414; margin: 1px 0 4px; }

  /* title & price */
  .bps-title { font-family: "Playfair Display", Georgia, serif !important; font-weight: 500; font-size: 20pt; line-height: 1.15; margin: 0 0 2mm; color: #141414; }
  .bps-address { margin: 0 0 4mm; font-size: 9.5pt; color: #555; }
  .bps-pricebar { display: flex; align-items: center; gap: 10mm; padding: 3mm 0; margin-bottom: 5mm; border-top: 1px solid #e6e2d9; border-bottom: 1px solid #e6e2d9; }
  .bps-price-label { display: block; font-size: 7pt; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #7a7570; }
  .bps-price-value { display: block; font-size: 17pt; font-weight: 700; color: #8f6f2d; line-height: 1.1; }
  .bps-price-value small { font-size: 9pt; font-weight: 400; color: #7a7570; }
  .bps-avail { margin-left: auto; font-size: 7.5pt; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8f6f2d; border: 1px solid #b08a3c; border-radius: 3px; padding: 2mm 3mm; }

  /* images */
  .bps-hero { margin: 0 0 3mm; }
  .bps-hero img { width: 100%; height: 95mm; object-fit: cover; border-radius: 2mm; }
  .bps-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; margin-bottom: 5mm; }
  .bps-thumbs img { width: 100%; height: 30mm; object-fit: cover; border-radius: 1.5mm; }

  /* facts */
  .bps-facts { list-style: none; margin: 0 0 5mm; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5mm; }
  .bps-facts li { border: 1px solid #e6e2d9; border-radius: 1.5mm; padding: 2mm 3mm; break-inside: avoid; }
  .bps-fact-label { display: block; font-size: 6.5pt; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #7a7570; }
  .bps-fact-value { display: block; font-size: 11pt; font-weight: 700; color: #141414; }

  /* sections */
  .bps-section { margin-top: 5mm; }
  .bps-section h2 { font-family: "Playfair Display", Georgia, serif !important; font-weight: 500; font-size: 13.5pt; margin: 0 0 2mm; padding-bottom: 1.5mm; border-bottom: 1px solid #e6e2d9; color: #141414; break-after: avoid; }
  .bps-desc p { margin: 0 0 2.5mm; font-size: 10pt; line-height: 1.55; }
  .bps-avoid-break { break-inside: avoid; }
  .bps-details { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.5mm 6mm; margin: 0; }
  .bps-details div { display: flex; gap: 2mm; border-bottom: 1px dotted #ddd; padding: 1mm 0; break-inside: avoid; }
  .bps-details dt { flex: 0 0 38%; font-size: 7pt; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #7a7570; margin: 0; padding-top: 1pt; }
  .bps-details dd { margin: 0; font-size: 9.5pt; color: #141414; }
  .bps-features { font-size: 9.5pt; line-height: 1.7; margin: 0; }
  .bps-gallery-page { break-before: page; }
  .bps-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
  .bps-gallery img { width: 100%; height: 62mm; object-fit: cover; border-radius: 2mm; }

  /* footer */
  .bps-foot { margin-top: 7mm; padding-top: 3mm; border-top: 2px solid #b08a3c; display: flex; justify-content: space-between; align-items: baseline; font-size: 8.5pt; color: #555; break-inside: avoid; }
  .bps-contact strong { color: #141414; margin-right: 4mm; }
  .bps-contact span { margin-right: 4mm; }
  .bps-url { color: #8f6f2d; }
}
