@page { size: A4 portrait; margin: 0; }

@media print {
  html, body { width: auto !important; margin: 0 !important; padding: 0 !important; background: #fff !important; color: #111 !important; font: 9pt/1.35 Inter, Arial, sans-serif !important; }
  .site-header, .site-footer, .cookie-banner, #wpadminbar { display: none !important; }
  main#contenido, .inmo-single-property { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
  .inmo-single-property > :not(.inmo-print-sheet) { display: none !important; }
  .inmo-print-sheet { display: block !important; width: 100%; max-width: none; padding: 10mm; box-sizing: border-box; color: #111; font-family: Inter, Arial, sans-serif; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .inmo-print-cover { height: 105mm; overflow: hidden; border-radius: 4mm; background: #edf1f3; }
  .inmo-print-cover > img, .inmo-print-cover .inmo-brand-placeholder, .inmo-print-cover .inmo-brand-placeholder img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
  .inmo-print-thumbs { display: grid; grid-template-columns: repeat(var(--inmo-print-photo-count), minmax(0,1fr)); gap: 3mm; height: 28mm; margin-top: 3mm; }
  .inmo-print-thumbs > div { min-width: 0; overflow: hidden; border-radius: 2mm; }
  .inmo-print-thumbs > div.is-cover { border: .7mm solid #61ce70; outline: .3mm solid #1c2d4a; outline-offset: .5mm; }
  .inmo-print-thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .inmo-print-sheet h1 { margin: 4mm 0 2mm; color: #111; font: 800 19pt/1.08 Inter, Arial, sans-serif; text-transform: uppercase; letter-spacing: -.02em; }
  .inmo-print-summary { min-height: 7mm; max-height: 11mm; overflow: hidden; margin: 0 0 3mm; color: #5b6778; font-size: 8pt; line-height: 1.25; text-transform: uppercase; }
  .inmo-print-highlights { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr) 38mm; gap: 4mm; align-items: center; min-height: 23mm; margin-bottom: 5mm; }
  .inmo-print-price { color: #020381; font-size: 26pt; line-height: 1; white-space: nowrap; }
  .inmo-print-place { color: #111; font-size: 18pt; line-height: 1.05; text-transform: uppercase; overflow-wrap: anywhere; }
  .inmo-print-highlights img { display: block; width: 100%; max-height: 21mm; height: auto; object-fit: contain; }
  .inmo-print-columns { display: grid; grid-template-columns: 1.1fr 1.15fr .9fr; gap: 5mm; align-items: start; min-height: 49mm; break-inside: avoid; }
  .inmo-print-facts { padding-top: 5mm; color: #526178; font-size: 8pt; }
  .inmo-print-facts > div { display: flex; justify-content: space-between; gap: 4mm; padding: 2mm 0; border-bottom: .2mm solid #e5e8eb; }
  .inmo-print-facts > div strong { color: #43536c; white-space: nowrap; }
  .inmo-print-facts p { margin: 3mm 0 0; line-height: 1.35; }
  .inmo-print-map h2, .inmo-print-energy h2 { min-height: 7mm; margin: 0 0 2mm; font: 700 8pt/1.15 Inter, Arial, sans-serif; color: #1c2d4a; }
  .inmo-print-map-frame { position: relative; width: 100%; height: 40mm; overflow: hidden; background: #e8f1ed; border-radius: 1mm; }
  .inmo-print-map-tiles { position: absolute; inset: 0; overflow: hidden; }
  .inmo-print-map-tiles img { position: absolute; display: block; width: 256px !important; height: 256px !important; max-width: none !important; }
  .inmo-print-map-marker { position: absolute; top: 50%; left: 50%; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: #61ce70; box-shadow: 0 0 0 2px #1c2d4a; transform: translate(-50%,-50%); display: none; }
  .inmo-print-map-frame.is-ready .inmo-print-map-marker { display: block; }
  .inmo-print-map-fallback { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; color: #1c2d4a; background: #e8f1ed; font-size: 8pt; }
  .inmo-print-map-frame.is-ready .inmo-print-map-fallback { display: none; }
  .inmo-print-map-frame .inmo-print-map-attribution { position: absolute; right: 1mm; bottom: 1mm; display: none; max-width: 90%; padding: .5mm 1mm; color: #1c2d4a; background: rgba(255,255,255,.9); font-size: 5pt; }
  .inmo-print-map-frame.is-ready .inmo-print-map-attribution { display: block; }
  .inmo-print-map > p { margin: 0; color: #526178; font-size: 8pt; }
  .inmo-print-energy .inmo-energy-card { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,.9fr); height: 40mm !important; min-height: 0; border: .25mm solid #1c2d4a; border-radius: 1mm; overflow: hidden; }
  .inmo-print-energy .inmo-energy-chart { padding: 2mm 1mm 2mm 2mm; border-right: .2mm solid #1c2d4a; }
  .inmo-print-energy .inmo-energy-bars { gap: .7mm; }
  .inmo-print-energy .inmo-energy-row { height: 4mm !important; gap: 1mm; }
  .inmo-print-energy .inmo-energy-bar { max-width: calc(100% - 7mm); padding-left: 2mm; font-size: 6pt; clip-path: polygon(0 0,calc(100% - 2mm) 0,100% 50%,calc(100% - 2mm) 100%,0 100%); }
  .inmo-print-energy .inmo-energy-marker { width: 6mm; height: 5mm !important; padding-left: 1mm; font-size: 7pt; }
  .inmo-print-energy .inmo-energy-figures > div { padding: 1mm; }
  .inmo-print-energy .inmo-energy-figures h3 { font: 700 5.5pt/1.05 Inter, Arial, sans-serif; }
  .inmo-print-energy .inmo-energy-figures p { margin: 1mm 0 0; line-height: 1.05; }
  .inmo-print-energy .inmo-energy-figures strong { font-size: 8pt; }
  .inmo-print-energy .inmo-energy-figures span { font-size: 5pt; white-space: normal; }
  .inmo-print-energy > p { margin: 0; color: #526178; font-size: 8pt; }
  .inmo-print-phone { margin: 8mm 0 0; text-align: center; color: #111; font-size: 27pt; font-weight: 600; line-height: 1; letter-spacing: .03em; }
  a[href]::after { content: none !important; }
}
