/* LH Inmovilla · imprimibles (dossier PDF y ficha de escaparate). Colores en variables --lhi-* desde el panel. */

:root {
	--ink: #17212b;
	--muted: #5c6773;
	--line: #e3e7ec;
	--soft: #f4f6f8;
	--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body { margin: 0; font: 10pt/1.5 var(--font); color: var(--ink); background: #d9dde2; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
.lhi-icon { width: 1.2em; height: 1.2em; flex: none; }

/* ---------- Barra de herramientas (solo pantalla) ---------- */
.pv-toolbar { position: sticky; top: 0; z-index: 10; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; padding: 10px 16px; background: #fff; border-bottom: 1px solid var(--line); font: 14px/1.3 var(--font); }
.pv-toolbar a, .pv-toolbar button { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-weight: 600; padding: 9px 16px; border-radius: 6px; border: 1px solid var(--line); background: #fff; color: var(--ink); cursor: pointer; text-decoration: none; }
.pv-toolbar .is-primary { background: var(--lhi-primary); border-color: var(--lhi-primary); color: var(--lhi-on-primary); }
.pv-toolbar .is-current { border-color: var(--lhi-primary); color: var(--lhi-primary); }
.pv-toolbar .pv-hint { color: var(--muted); font-size: 13px; }
.pv-toolbar .pv-status:empty { display: none; }
.pv-toolbar .pv-status { color: var(--muted); font-size: 13px; }

/* ---------- Piezas comunes ---------- */
.pv-logo img { max-height: 15mm; max-width: 62mm; object-fit: contain; object-position: left center; }
.pv-logo .pv-brand { font-size: 16pt; font-weight: 700; color: var(--lhi-primary); letter-spacing: .02em; }
.pv-pill { display: inline-block; padding: 1.2mm 3mm; border-radius: 99px; background: var(--lhi-accent); color: var(--lhi-on-accent); font-size: 7.5pt; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pv-pill.is-dark { background: var(--lhi-primary); color: var(--lhi-on-primary); }
.pv-ref { font-size: 8.5pt; color: var(--muted); letter-spacing: .04em; }
.pv-ref b { color: var(--ink); }
.pv-loc { display: flex; align-items: center; gap: 1.5mm; color: var(--muted); }
.pv-price { font-weight: 800; color: var(--lhi-primary); letter-spacing: -.01em; line-height: 1.1; }
.pv-price del { display: block; font-size: .45em; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.pv-price small { font-size: .5em; font-weight: 600; color: var(--muted); }
.pv-facts { display: flex; gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pv-fact { flex: 1; display: flex; flex-direction: column; align-items: center; gap: .8mm; padding: 2.5mm 1mm; text-align: center; border-left: 1px solid var(--line); }
.pv-fact:first-child { border-left: 0; }
.pv-fact .lhi-icon { color: var(--lhi-accent); width: 6mm; height: 6mm; }
.pv-fact b { font-size: 12pt; line-height: 1.1; }
.pv-fact span { font-size: 7pt; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.pv-qr { background: #fff; padding: 1.5mm; border-radius: 1.5mm; line-height: 0; }
.pv-qr svg { width: 100%; height: auto; display: block; }
.pv-contact { display: grid; gap: 1.2mm; }
.pv-contact div { display: flex; align-items: center; gap: 2mm; }

/* Certificado energético compacto */
.pv-energy { display: flex; gap: 4mm; align-items: center; }
.pv-energy__item { display: flex; align-items: center; gap: 2mm; }
.pv-energy__item span { font-size: 7pt; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; line-height: 1.2; }
.pv-letter { width: 8mm; height: 8mm; display: grid; place-items: center; border-radius: 1.5mm; font-weight: 800; font-size: 11pt; color: #fff; background: #9aa3ad; }
.pv-letter--a { background: #00a034; } .pv-letter--b { background: #08b525; } .pv-letter--c { background: #a5db01; }
.pv-letter--d { background: #fffa00; } .pv-letter--e { background: #fdb400; }
.pv-letter--f { background: #ff5404; } .pv-letter--g { background: #fc000f; }
.pv-letter, .pv-scale__bar { color: #fff !important; text-shadow: 0 0 .4mm rgba(0,0,0,.5), 0 .2mm .2mm rgba(0,0,0,.25); }

/* Escala energética completa (dossier) */
.pv-scale { display: grid; gap: 1mm; }
.pv-scale__row { display: flex; align-items: center; gap: 2mm; }
.pv-scale__bar { height: 5mm; display: flex; align-items: center; padding-left: 2mm; color: #fff; font-weight: 800; font-size: 8pt; clip-path: polygon(0 0, calc(100% - 2.5mm) 0, 100% 50%, calc(100% - 2.5mm) 100%, 0 100%); opacity: .35; }
.pv-scale__row.is-active .pv-scale__bar { opacity: 1; }
.pv-scale__val { font-size: 8pt; font-weight: 700; white-space: nowrap; }


/* ---------- Hojas en pantalla ---------- */
.pv-doc { padding: 24px 0 48px; }
.pv-page { background: #fff; margin: 0 auto 24px; box-shadow: 0 4px 24px rgba(15, 30, 45, .18); overflow: hidden; position: relative; }

@media print {
	body { background: #fff; }
	.pv-toolbar { display: none !important; }
	.pv-doc { padding: 0; }
	.pv-page { margin: 0; box-shadow: none; }
}

/* =====================================================================
   DOSSIER (A4 vertical, varias páginas)
   ===================================================================== */
.pv-expose .pv-flow { width: 210mm; padding: 16mm 14mm 18mm; }
.pv-cover { width: 210mm; height: 296mm; overflow: hidden; display: flex; flex-direction: column; break-after: page; break-inside: avoid; }
.pv-cover > *, .pv-sheet > *, .pv-sheet--v .pv-sh-top, .pv-sh-hero, .pv-sh-thumbs, .pv-sh-bar, .pv-sh-title, .pv-facts, .pv-sh-foot { flex-shrink: 0; }
.pv-cover__top { display: flex; justify-content: space-between; align-items: center; padding: 9mm 12mm 6mm; }
.pv-cover__top .pv-right { display: flex; flex-direction: column; align-items: flex-end; gap: 1.5mm; }
.pv-cover__hero { height: 128mm; position: relative; }
.pv-cover__hero img { width: 100%; height: 100%; object-fit: cover; }
.pv-cover__body { padding: 7mm 12mm 0; display: grid; gap: 4mm; }
.pv-cover__head { display: flex; justify-content: space-between; gap: 8mm; align-items: flex-end; }
.pv-cover__head h1 { font-size: 19pt; line-height: 1.2; font-weight: 700; letter-spacing: -.01em; }
.pv-cover__head .pv-loc { margin-top: 1.5mm; font-size: 10pt; }
.pv-cover__head .pv-price { font-size: 24pt; text-align: right; white-space: nowrap; }
.pv-cover__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: minmax(0, 1fr); gap: 2.5mm; height: 40mm; }
.pv-cover__thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: 1mm; }
.pv-cover__foot { margin-top: auto; background: var(--lhi-primary); color: var(--lhi-on-primary); padding: 6mm 12mm; display: flex; align-items: center; justify-content: space-between; gap: 8mm; font-size: 9pt; }
.pv-cover__foot .pv-qrbox { display: flex; align-items: center; gap: 3mm; max-width: 70mm; font-size: 8pt; line-height: 1.35; }
.pv-cover__foot .pv-qr { width: 23mm; flex: none; }

.pv-section { margin-bottom: 8mm; }
.pv-section > h2 { font-size: 13pt; font-weight: 700; color: var(--lhi-primary); padding-bottom: 2mm; margin-bottom: 4mm; border-bottom: 2px solid var(--lhi-accent); display: flex; justify-content: space-between; align-items: baseline; break-after: avoid; }
.pv-section > h2 small { font-size: 8.5pt; font-weight: 500; color: var(--muted); }
.pv-desc { column-count: 2; column-gap: 8mm; font-size: 9.8pt; line-height: 1.6; text-align: left; hyphens: auto; }
.pv-desc p { margin: 0 0 2.6mm; orphans: 3; widows: 3; }
.pv-desc p.is-bullet { margin: 0 0 1mm; padding-left: 4mm; text-indent: -3mm; }
.pv-data { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8mm; }
.pv-data div { display: flex; justify-content: space-between; gap: 4mm; padding: 1.8mm 0; border-bottom: 1px solid var(--line); break-inside: avoid; font-size: 9.5pt; }
.pv-data dt { color: var(--muted); }
.pv-data dd { margin: 0; font-weight: 600; text-align: right; }
.pv-extras { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.8mm 6mm; font-size: 9.5pt; }
.pv-extras div { display: flex; align-items: center; gap: 1.8mm; break-inside: avoid; }
.pv-extras .lhi-icon { color: var(--lhi-accent); width: 4mm; height: 4mm; }
.pv-two { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; break-inside: avoid; }
.pv-two h3 { font-size: 8.5pt; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 2mm; }
.pv-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
/* Alturas fijas (no aspect-ratio): más fiable al repartir páginas en todos los navegadores. 89 × 59 mm ≈ 3:2. */
.pv-gallery figure { margin: 0; break-inside: avoid; height: 59mm; overflow: hidden; background: var(--soft); }
.pv-gallery figure.is-wide { grid-column: 1 / -1; height: 90mm; }
.pv-gallery img { width: 100%; height: 100%; object-fit: cover; }
.pv-gallery figure.is-contain { background: #fff; border: 1px solid var(--line); }
.pv-gallery figure.is-contain img { object-fit: contain; }
.pv-gallery-section { break-before: page; }
.pv-closing { break-inside: avoid; display: grid; grid-template-columns: 1fr auto; gap: 8mm; align-items: center; padding: 7mm; background: var(--soft); border-radius: 2mm; border-left: 3px solid var(--lhi-accent); }
.pv-closing h2 { font-size: 13pt; color: var(--lhi-primary); margin-bottom: 3mm; }
.pv-closing .pv-agent { margin-bottom: 3mm; font-size: 10pt; }
.pv-closing .pv-qr { width: 32mm; }
.pv-closing .pv-qrcap { font-size: 7.5pt; color: var(--muted); text-align: center; max-width: 34mm; margin-top: 1.5mm; line-height: 1.3; }
.pv-legal { margin-top: 6mm; font-size: 7.5pt; color: var(--muted); }

@media screen {
	.pv-expose .pv-flow { background: #fff; margin: 0 auto 24px; box-shadow: 0 4px 24px rgba(15, 30, 45, .18); min-height: 297mm; }
	.pv-cover { margin: 0 auto 24px; background: #fff; box-shadow: 0 4px 24px rgba(15, 30, 45, .18); }
}
@media print {
	.pv-cover { margin: 0; }
}

/* =====================================================================
   FICHA DE ESCAPARATE (una sola página, A4 vertical u horizontal)
   ===================================================================== */
.pv-sheet { display: flex; flex-direction: column; }
.pv-sheet--v { width: 210mm; height: 296.5mm; overflow: hidden; }
.pv-sheet--h { width: 297mm; height: 209.5mm; overflow: hidden; flex-direction: row; }

/* Vertical */
.pv-sheet--v .pv-sh-top { display: flex; justify-content: space-between; align-items: center; padding: 7mm 11mm 5mm; }
.pv-sheet--v .pv-sh-top .pv-contact { font-size: 8.5pt; text-align: right; justify-items: end; }
.pv-sh-hero { position: relative; }
.pv-sheet--v .pv-sh-hero { height: 112mm; }
.pv-sh-hero img { width: 100%; height: 100%; object-fit: cover; }
.pv-sh-hero .pv-pill { position: absolute; top: 5mm; left: 5mm; font-size: 9pt; padding: 1.6mm 4mm; }
.pv-sh-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: minmax(0, 1fr); gap: 2mm; }
.pv-sh-thumbs img, .pv-cover__thumbs img { min-height: 0; }
.pv-sheet--v .pv-sh-thumbs { height: 40mm; padding: 2mm 11mm 0; }
.pv-sh-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.pv-sheet--v .pv-sh-body { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; flex-direction: column; gap: 3.2mm; padding: 5mm 11mm 0; }
.pv-sh-title { display: flex; justify-content: space-between; align-items: flex-end; gap: 6mm; }
.pv-sh-title h1 { font-size: 16pt; line-height: 1.2; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pv-sh-title .pv-loc { font-size: 9.5pt; margin-top: 1mm; }
.pv-sheet--v .pv-sh-title .pv-price { font-size: 23pt; text-align: right; white-space: nowrap; }
.pv-sh-desc { font-size: 9.3pt; line-height: 1.55; color: #2b3540; overflow: hidden; flex: 1; min-height: 0; }
.pv-sh-foot { display: flex; align-items: center; justify-content: space-between; gap: 6mm; padding: 4mm 0; border-top: 1px solid var(--line); }
.pv-sh-foot .pv-qrbox { display: flex; align-items: center; gap: 3mm; font-size: 8pt; color: var(--muted); line-height: 1.3; max-width: 70mm; }
.pv-sh-foot .pv-qr { width: 21mm; flex: none; border: 1px solid var(--line); }
.pv-sh-bar { background: var(--lhi-primary); color: var(--lhi-on-primary); padding: 3.2mm 11mm; display: flex; justify-content: space-between; align-items: center; font-size: 9pt; font-weight: 600; letter-spacing: .02em; }

/* Horizontal */
.pv-sheet--h .pv-sh-media { width: 176mm; height: 100%; display: flex; flex-direction: column; gap: 2mm; }
.pv-sheet--h .pv-sh-hero { flex: 1; min-height: 0; }
.pv-sheet--h .pv-sh-thumbs { height: 50mm; }
.pv-sheet--h .pv-sh-side { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3.2mm; padding: 8mm 9mm 0; }
.pv-sheet--h .pv-sh-side .pv-logo img { max-height: 13mm; max-width: 58mm; }
.pv-sheet--h .pv-sh-title { flex-direction: column; align-items: stretch; gap: 1.5mm; }
.pv-sheet--h .pv-sh-title h1 { font-size: 14pt; -webkit-line-clamp: 3; }
.pv-sheet--h .pv-price { font-size: 21pt; }
.pv-sheet--h .pv-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(22mm, 1fr)); }
.pv-sheet--h .pv-fact { border-left: 0; }
.pv-sheet--h .pv-sh-desc { font-size: 8.6pt; }
.pv-sheet--h .pv-sh-foot { flex-wrap: wrap; gap: 3mm; }
.pv-sheet--h .pv-sh-bar { margin: 0 -9mm; padding: 3mm 9mm; font-size: 8pt; flex-wrap: wrap; gap: 1mm 4mm; }

/* Bloques que no se parten entre páginas (características, equipamiento): si no caben, pasan enteros a la siguiente. */
.pv-keep { break-inside: avoid; }

/* ---------- Ficha de escaparate sin idioma ---------- */
.pv-sh-title h1 small { font-size: .62em; font-weight: 500; color: var(--muted); margin-left: 1.5mm; }
.pv-types { font-size: 8.5pt; color: var(--muted); margin-top: 1mm; letter-spacing: .02em; }
.pv-period { display: block; font-size: 8pt; font-weight: 600; color: var(--muted); letter-spacing: .02em; text-align: right; margin-top: .8mm; }
.pv-price .lhi-icon { width: 10mm; height: 10mm; }
.pv-facts--bare .pv-fact { flex-direction: row; justify-content: center; gap: 2.5mm; padding: 3.5mm 1mm; }
.pv-facts--bare .pv-fact .lhi-icon { width: 8mm; height: 8mm; }
.pv-facts--bare .pv-fact b { font-size: 15pt; }
.pv-feats { display: grid; grid-template-columns: repeat(auto-fill, minmax(17mm, 1fr)); gap: 2.5mm; }
.pv-feat { height: 17mm; border-radius: 2mm; background: var(--soft); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1mm; color: var(--lhi-primary); }
.pv-feat .lhi-icon { width: 8mm; height: 8mm; stroke-width: 1.5; }
.pv-feat b { font-size: 8.5pt; line-height: 1; color: var(--ink); }
.pv-sh-foot .pv-energy__item .lhi-icon { width: 6mm; height: 6mm; color: var(--muted); }
.pv-co2 { font-size: 9pt; font-weight: 700; color: var(--muted) !important; text-transform: none !important; letter-spacing: 0 !important; }
.pv-sh-foot .pv-qrbox .lhi-icon { width: 9mm; height: 9mm; color: var(--lhi-accent); }
.pv-sh-foot .pv-qrbox .pv-qr { width: 24mm; }
.pv-sh-bar .lhi-icon { width: 4mm; height: 4mm; vertical-align: -.7mm; }
.pv-sheet--v .pv-sh-body { gap: 4.5mm; }
.pv-sheet--v .pv-sh-foot { margin-top: auto; }
.pv-sheet--h .pv-sh-foot { margin-top: auto; }
.pv-sheet--h .pv-feats { grid-template-columns: repeat(auto-fill, minmax(15.5mm, 1fr)); gap: 2mm; }
.pv-sheet--h .pv-feat { height: 15.5mm; }
.pv-sheet--h .pv-facts--bare { grid-template-columns: repeat(auto-fit, minmax(30mm, 1fr)); }
.pv-sheet--h .pv-facts--bare .pv-fact b { font-size: 13pt; }

.pv-sheet--v .pv-feat { height: 19mm; }
.pv-sheet--v .pv-feats { grid-template-columns: repeat(auto-fill, minmax(19mm, 1fr)); }
.pv-sheet--v .pv-sh-title h1 { font-size: 19pt; }
.pv-sh-foot .pv-letter { width: 10mm; height: 10mm; font-size: 14pt; }
.pv-sheet--h .pv-sh-title h1 { font-size: 18pt; }
.pv-sheet--h .pv-price { font-size: 24pt; }
.pv-sheet--h .pv-facts--bare { grid-template-columns: repeat(auto-fit, minmax(20mm, 1fr)); }
.pv-sheet--h .pv-facts--bare .pv-fact { gap: 1.5mm; }
.pv-sheet--h .pv-facts--bare .pv-fact .lhi-icon { width: 6.5mm; height: 6.5mm; }
.pv-sheet--h .pv-feats { grid-template-columns: repeat(auto-fill, minmax(17mm, 1fr)); gap: 2.5mm; }
.pv-sheet--h .pv-feat { height: 17mm; }
.pv-sheet--h .pv-sh-side { gap: 4.5mm; }
.pv-sheet--h .pv-sh-foot .pv-qrbox .pv-qr { width: 27mm; }
.pv-sheet--v .pv-feats { grid-template-columns: repeat(8, 1fr); }

/* v1.1.2: precio y ubicación protagonistas, logo más visible, SCAN ME */
.pv-sheet .pv-logo img { max-height: 19mm; max-width: 72mm; }
.pv-sheet--v .pv-sh-top { padding: 6mm 11mm 4mm; }
.pv-sheet--v .pv-sh-title h1 { font-size: 27pt; line-height: 1.05; letter-spacing: -.015em; }
.pv-sheet--v .pv-sh-title .pv-price { font-size: 36pt; }
.pv-sheet--h .pv-sh-title h1 { font-size: 25pt; line-height: 1.05; letter-spacing: -.015em; }
.pv-sheet--h .pv-price { font-size: 34pt; }
.pv-sheet .pv-sh-title h1 small { display: block; font-size: .5em; margin: 1.2mm 0 0; letter-spacing: 0; }
.pv-sheet .pv-types { font-size: 8.5pt; margin-top: 1.2mm; }
.pv-sheet .pv-price del { font-size: .38em; }
.pv-scanme { gap: 3mm; }
.pv-scanme__label { display: flex; flex-direction: column; align-items: center; gap: 1.5mm; }
.pv-scanme__label strong { font-size: 11pt; font-weight: 800; letter-spacing: .12em; color: var(--lhi-primary); white-space: nowrap; }
.pv-sh-foot .pv-scanme .lhi-icon { width: 10mm; height: 10mm; }
.pv-sheet--h .pv-sh-side .pv-logo img { max-height: 20mm; max-width: 82mm; }
.pv-cover .pv-logo img { max-height: 18mm; max-width: 70mm; }
.pv-sheet--h .pv-sh-side .pv-logo { display: flex; justify-content: center; text-align: center; }
.pv-sheet--h .pv-sh-side .pv-logo img { object-position: center; }
/* v1.1.4: columna de datos de la ficha horizontal centrada */
.pv-sheet--h .pv-sh-title { align-items: center; text-align: center; }
.pv-sheet--h .pv-sh-title .pv-price, .pv-sheet--h .pv-sh-title .pv-period { text-align: center; }
.pv-sheet--h .pv-sh-title .pv-price del { text-align: center; }
.pv-sheet--h .pv-feats { display: flex; flex-wrap: wrap; justify-content: center; }
.pv-sheet--h .pv-feat { width: 17mm; }
/* v1.1.5: SCAN ME debajo del QR */
.pv-sh-foot .pv-scanme { flex-direction: column-reverse; align-items: center; gap: 1.5mm; max-width: none; }
.pv-sh-foot .pv-scanme .pv-scanme__label { flex-direction: row; gap: 1.5mm; }
.pv-sh-foot .pv-scanme .pv-scanme__label .lhi-icon { width: 5mm; height: 5mm; }
.pv-sh-foot .pv-scanme .pv-scanme__label strong { font-size: 9.5pt; letter-spacing: .14em; }
.pv-sh-foot .pv-scanme .pv-qr { width: 23mm; }
.pv-sheet--h .pv-sh-foot .pv-scanme .pv-qr { width: 25mm; }
.pv-sh-foot { padding: 3mm 0; }
/* v1.1.6: la foto vertical vuelve a 112 mm; se ajustan los espacios del bloque inferior */
.pv-sheet--v .pv-sh-hero { height: 112mm; }
.pv-sheet--v .pv-sh-body { gap: 3.5mm; padding-top: 4mm; }
.pv-sheet--v .pv-sh-foot { margin-top: 0; padding: 2.5mm 0 0; border-top: 0; }
/* v1.1.7: certificado energético más grande en la ficha de escaparate */
.pv-sh-foot .pv-energy { gap: 6mm; }
.pv-sh-foot .pv-energy__item { gap: 2.5mm; }
.pv-sh-foot .pv-letter { width: 15mm; height: 15mm; font-size: 22pt; border-radius: 2.5mm; }
.pv-sh-foot .pv-energy__item .lhi-icon { width: 9mm; height: 9mm; stroke-width: 1.8; }
.pv-sh-foot .pv-co2 { font-size: 14pt; }
.pv-sheet--h .pv-sh-foot .pv-letter { width: 13mm; height: 13mm; font-size: 19pt; }
.pv-sheet--h .pv-sh-foot .pv-energy__item .lhi-icon { width: 8mm; height: 8mm; }
.pv-sheet--h .pv-sh-foot .pv-co2 { font-size: 12pt; }

/* v1.2.1: escala energética con los colores oficiales y la letra de la vivienda resaltada */
.pv-scale__bar { opacity: 1 !important; }
.pv-scale__row.is-active .pv-scale__bar { height: 7.5mm; font-size: 11pt; filter: none; }
.pv-scale__tag { display: inline-flex; align-items: center; gap: 1.5mm; height: 7.5mm; padding: 0 3mm 0 4mm; background: #111; color: #fff; font-size: 8pt; font-weight: 600; white-space: nowrap; clip-path: polygon(2.5mm 0, 100% 0, 100% 100%, 2.5mm 100%, 0 50%); }
.pv-scale__tag b { font-size: 11pt; font-weight: 800; }
.pv-scale__bar { flex-shrink: 0; }
.pv-pill.is-vendido, .pv-pill.is-alquilado { background: #e3000f; color: #fff; }
.pv-pill.is-reservado { background: #8a5a00; color: #fff; }

/* v1.2.9: ubicación más grande (escaparate y dossier) */
.pv-sheet .pv-sh-title h1 small { display: block; font-size: .78em; font-weight: 600; color: var(--lhi-primary); margin: 1.5mm 0 0; letter-spacing: 0; line-height: 1.1; }
.pv-cover__head .pv-place { display: flex; align-items: center; gap: 1.8mm; margin: 0 0 1.5mm; font-size: 14pt; font-weight: 700; color: var(--lhi-primary); line-height: 1.2; }
.pv-cover__head .pv-place .lhi-icon { width: 5mm; height: 5mm; flex: none; color: var(--lhi-accent); }
.pv-cover__head .pv-loc { margin-top: 1.2mm; font-size: 9.5pt; }
.pv-sheet--v .pv-sh-body { gap: 2.4mm; padding-top: 3mm; }
.pv-cover__hero { height: 121mm; }

/* v1.2.10: escala energética (como en la ficha) en las fichas de escaparate */
.pv-sh-foot .pv-energy--scales { flex: 1 1 auto; min-width: 0; display: flex; gap: 6mm; align-items: flex-start; }
.pv-energy__scale { flex: 1 1 0; min-width: 0; max-width: 62mm; display: flex; flex-direction: column; gap: 1.2mm; }
.pv-energy__head { display: flex; align-items: center; height: 6mm; }
.pv-energy__head .lhi-icon { width: 6mm; height: 6mm; color: var(--muted); stroke-width: 1.8; }
.pv-energy__head .pv-co2 { font-size: 11pt; }
.pv-sh-foot .pv-scale { gap: .7mm; }
.pv-sh-foot .pv-scale__row { gap: 1.5mm; }
.pv-sh-foot .pv-scale__bar { height: 3.4mm; font-size: 6.5pt; padding-left: 1.5mm; clip-path: polygon(0 0, calc(100% - 1.8mm) 0, 100% 50%, calc(100% - 1.8mm) 100%, 0 100%); }
.pv-sh-foot .pv-scale__row.is-active .pv-scale__bar { height: 5.6mm; font-size: 10pt; }
.pv-sh-foot .pv-scale__tag { height: 5.6mm; padding: 0 2.5mm 0 3.5mm; clip-path: polygon(2mm 0, 100% 0, 100% 100%, 2mm 100%, 0 50%); }
.pv-sh-foot .pv-scale__tag b { font-size: 10pt; }
.pv-sheet--h .pv-energy__scale { max-width: 46mm; }
.pv-sheet--h .pv-sh-foot .pv-energy--scales { gap: 4mm; }
.pv-energy__scale { flex-direction: row; align-items: center; gap: 2mm; }
.pv-energy__head { height: auto; width: 9mm; flex: none; justify-content: center; }
.pv-energy__head .lhi-icon { width: 7mm; height: 7mm; }
.pv-energy__scale .pv-scale { flex: 1 1 auto; min-width: 0; }
.pv-sh-foot .pv-scale__bar { height: 3.1mm; }
.pv-sh-foot .pv-scale { gap: .6mm; }
.pv-sh-foot .pv-energy--scales { align-items: center; }
.pv-sheet--h .pv-energy__scale { max-width: 42mm; }
.pv-sheet--h .pv-energy__head { width: 7mm; }
.pv-sheet .pv-fact b { white-space: nowrap; }
.pv-sheet--h .pv-sh-foot { flex-wrap: nowrap; }
.pv-sheet--h .pv-sh-foot .pv-energy--scales { gap: 2mm; }
/* v1.2.11: escaparate horizontal, certificados más a la izquierda y aire para el QR */
.pv-sheet--h .pv-sh-foot { gap: 8mm; }
.pv-sheet--h .pv-sh-foot .pv-energy--scales { flex: 0 1 auto; justify-content: flex-start; gap: 3mm; }
.pv-sheet--h .pv-energy__scale { flex: none; width: 37mm; max-width: none; gap: 1.2mm; }
.pv-sheet--h .pv-energy__head { width: 6mm; justify-content: flex-start; }
.pv-sheet--h .pv-energy__head .lhi-icon { width: 6mm; height: 6mm; }
.pv-sheet--h .pv-energy__head .pv-co2 { font-size: 10pt; }
.pv-sheet--h .pv-sh-foot .pv-scanme { margin-left: auto; padding-left: 2mm; }
/* Rayo y CO₂ debajo de cada escala */
.pv-energy__scale, .pv-sheet--h .pv-energy__scale { flex-direction: column; align-items: stretch; gap: 1.5mm; }
.pv-energy__head, .pv-sheet--h .pv-energy__head { order: 2; width: auto; height: 6mm; justify-content: center; }
.pv-energy__scale .pv-scale { order: 1; }
.pv-sheet--h .pv-energy__scale { width: 40mm; }
.pv-sheet--v .pv-energy__scale { width: 52mm; flex: none; }
.pv-sheet--v .pv-sh-foot .pv-energy--scales { justify-content: flex-start; gap: 8mm; }
.pv-sh-foot .pv-scale__bar { height: 2.9mm; }
.pv-sh-foot .pv-scale__row.is-active .pv-scale__bar, .pv-sh-foot .pv-scale__tag { height: 5.2mm; }
.pv-sheet--v .pv-sh-foot .pv-scale { gap: .5mm; }
.pv-sheet--v .pv-sh-foot .pv-scale__bar { height: 2.5mm; font-size: 6pt; }
.pv-sheet--v .pv-sh-foot .pv-scale__row.is-active .pv-scale__bar, .pv-sheet--v .pv-sh-foot .pv-scale__tag { height: 4.8mm; }
.pv-sheet--v .pv-energy__head { height: 5mm; }
.pv-sheet--v .pv-energy__scale { gap: 1mm; }
.pv-energy__head, .pv-sheet--h .pv-energy__head { width: 62%; align-self: flex-start; }
.pv-sheet--h .pv-energy__scale { width: 35mm; }
.pv-sheet--h .pv-sh-foot .pv-energy--scales { gap: 4mm; }

/* v1.2.12: última página del dossier, la agencia */
.pv-agency { break-before: page; break-inside: avoid; display: flex; flex-direction: column; gap: 7mm; min-height: 258mm; }
.pv-agency p { line-height: 1.5; }
.pv-agency__rule { display: block; width: 14mm; height: .7mm; background: var(--lhi-accent); border-radius: 1mm; margin: 3mm 0 4mm; }
.pv-agency__rule--c { margin: 3mm auto; }
.pv-agency__intro .pv-logo img { max-height: 20mm; max-width: 80mm; width: auto; }
.pv-agency__title { margin-top: 8mm; font-size: 24pt; line-height: 1.15; font-weight: 700; letter-spacing: -.015em; color: var(--lhi-primary); max-width: 150mm; }
.pv-agency__intro p { font-size: 10.5pt; color: #2b3540; max-width: 150mm; margin-bottom: 2.5mm; }
.pv-agency__langs { display: flex; flex-wrap: wrap; align-items: center; gap: 2mm 6mm; margin-top: 4mm; font-size: 10pt; font-weight: 600; color: var(--lhi-primary); }
.pv-agency__langs-label { font-size: 7.5pt; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pv-agency__lang { display: inline-flex; align-items: center; gap: 2mm; }
.pv-flag { width: 7mm; height: 4.7mm; border-radius: .6mm; box-shadow: 0 0 0 .2mm rgba(0,0,0,.15); }
.pv-agency__trust { border-top: 1px solid var(--line); padding-top: 6mm; }
.pv-agency__h { font-size: 16pt; line-height: 1.2; font-weight: 700; color: var(--lhi-primary); }
.pv-agency__kicker { font-size: 7.5pt; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin-bottom: 4mm; }
.pv-agency__logos { display: grid; grid-template-columns: 1fr 1.6fr 1.35fr; gap: 4mm; }
.pv-agency__assoc { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 3mm; background: #fff; border: 1px solid var(--line); border-radius: 2mm; padding: 4mm 3.5mm; text-align: center; }
.pv-agency__logo { height: 24mm; width: 100%; display: flex; align-items: center; justify-content: center; }
.pv-agency__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pv-agency__assoc figcaption { font-size: 8pt; line-height: 1.35; color: #2b3540; display: flex; flex-direction: column; gap: 1mm; }
.pv-agency__assoc figcaption strong { color: var(--lhi-primary); font-weight: 700; }
.pv-agency__contact { border-top: 1px solid var(--line); padding-top: 6mm; display: grid; grid-template-columns: 1fr 52mm; gap: 8mm; align-items: start; }
.pv-agency__cta > p { font-size: 10.5pt; color: #2b3540; margin-bottom: 4mm; }
.pv-agency__cta .pv-agent { font-size: 10pt; margin-bottom: 3mm; }
.pv-agency__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2.6mm; font-size: 12pt; color: var(--lhi-primary); font-weight: 600; }
.pv-agency__list li { display: flex; align-items: center; gap: 3.5mm; }
.pv-agency__ico { width: 8.5mm; height: 8.5mm; flex: none; border-radius: 50%; background: var(--lhi-accent); display: grid; place-items: center; }
.pv-agency__ico .lhi-icon { width: 4.6mm; height: 4.6mm; color: #fff; }
.pv-agency__list li.pv-agency__address { font-size: 11pt; line-height: 1.3; }
.pv-agency__qrbox { background: var(--soft); border-radius: 2mm; padding: 5mm; text-align: center; }
.pv-agency__qrbox .pv-qr { width: 34mm; margin: 0 auto; background: #fff; padding: 2mm; border-radius: 1.5mm; }
.pv-agency__qrcap { font-size: 8.5pt; color: #2b3540; margin-top: 3mm; line-height: 1.4; }
.pv-agency__ref { font-size: 9pt; color: var(--lhi-primary); font-weight: 600; }
.pv-agency__legal { margin-top: auto; padding-top: 3mm; border-top: 1px solid var(--line); text-align: right; }
.pv-agency { gap: 5mm; min-height: 0; }
.pv-agency__intro .pv-logo img { max-height: 16mm; }
.pv-agency__title { margin-top: 5mm; font-size: 21pt; }
.pv-agency__intro p, .pv-agency__cta > p { font-size: 10pt; line-height: 1.45; margin-bottom: 2mm; }
.pv-agency__rule { margin: 2.5mm 0 3mm; }
.pv-agency__langs { margin-top: 3mm; }
.pv-agency__trust, .pv-agency__contact { padding-top: 5mm; }
.pv-agency__h { font-size: 15pt; }
.pv-agency__logo { height: 20mm; }
.pv-agency__assoc { padding: 3.5mm 3mm; gap: 2.5mm; }
.pv-agency__list { gap: 2mm; font-size: 11.5pt; }
.pv-agency__ico { width: 7.5mm; height: 7.5mm; }
.pv-agency__ico .lhi-icon { width: 4.2mm; height: 4.2mm; }
.pv-agency__qrbox { padding: 4.5mm; }
.pv-agency__qrbox .pv-qr { width: 32mm; }
.pv-agency { min-height: 250mm; justify-content: space-between; }
.pv-agency__legal { margin-top: 0; }
/* v1.2.15: portada, la foto se adapta para que el pie azul (con el QR) quepa siempre entero */
.pv-cover__hero { height: auto; flex: 1 1 0; min-height: 95mm; max-height: 128mm; }
.pv-cover__foot { flex-shrink: 0; padding: 6mm 12mm; align-items: center; }
.pv-cover__foot .pv-qr { margin: 0; }

/* v1.3.5: agente de confianza en la página de la agencia */
.pv-agency__agent { display: flex; align-items: center; gap: 4mm; margin: 1mm 0 4mm; }
.pv-agency__agent img { width: 22mm; height: 22mm; border-radius: 50%; object-fit: cover; flex: none; box-shadow: 0 0 0 .8mm #fff, 0 0 0 1.2mm var(--lhi-accent); }
.pv-agency__agent > div { display: flex; flex-direction: column; gap: .8mm; }
.pv-agency__agent-label { font-size: 7.5pt; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pv-agency__agent strong { font-size: 14pt; color: var(--lhi-primary); line-height: 1.15; }
.pv-agency__agent img { margin-left: 1.4mm; }

/* Página de la agencia más compacta: en Mac la misma fuente ocupa más alto que en Windows y el aviso legal
   saltaba a una hoja nueva. Deja holgura de sobra en cualquier sistema. */
.pv-agency { gap: 4mm; min-height: 245mm; }
.pv-agency__intro .pv-logo img { max-height: 14mm; }
.pv-agency__title { margin-top: 4mm; font-size: 19pt; }
.pv-agency__intro p, .pv-agency__cta > p { font-size: 9.5pt; line-height: 1.4; margin-bottom: 1.5mm; }
.pv-agency__rule { margin: 2mm 0 2.5mm; }
.pv-agency__rule--c { margin: 2.5mm auto; }
.pv-agency__langs { margin-top: 2mm; }
.pv-agency__h { font-size: 14pt; }
.pv-agency__kicker { margin-bottom: 3mm; }
.pv-agency__trust, .pv-agency__contact { padding-top: 4mm; }
.pv-agency__logo { height: 17mm; }
.pv-agency__assoc { padding: 3mm; gap: 2mm; }
.pv-agency__agent { margin: 0 0 3mm; }
.pv-agency__agent img { width: 19mm; height: 19mm; }
.pv-agency__list { gap: 1.6mm; font-size: 11pt; }
.pv-agency__list li.pv-agency__address { font-size: 10.5pt; }
.pv-agency__ico { width: 7mm; height: 7mm; }
.pv-agency__qrbox { padding: 4mm; }
.pv-agency__qrbox .pv-qr { width: 30mm; }
