:root{--green:#225a40;--cream:#f2f0e7;--ink:#26322c;--line:#d9ddd9}*{box-sizing:border-box}body{margin:0;background:#f5f6f3;color:var(--ink);font-family:"Titillium Web",Arial,sans-serif}header{height:86px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:10px 5vw;gap:24px;position:sticky;top:0;z-index:5}header img{width:150px;height:62px;object-fit:cover;object-position:center}header div{border-left:1px solid var(--line);padding-left:22px;display:flex;flex-direction:column}header b{font-size:20px;color:var(--green)}header span{letter-spacing:1px}main{max-width:1380px;margin:28px auto;padding:0 22px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:24px}.panel,.summary,.map{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px #203a2a0c}.panel{padding:28px}.steps{display:flex;gap:10px;margin-bottom:28px}.steps span{background:#edf0ed;padding:8px 14px;border-radius:999px;font-size:14px}.steps .active{background:var(--green);color:white}.grid{display:grid;gap:18px}.two{grid-template-columns:1fr 1fr}label{font-weight:600;display:block;margin-bottom:18px}input,select{width:100%;padding:13px 14px;margin-top:6px;border:1px solid #cfd6d1;border-radius:8px;background:white;font:inherit;color:var(--ink)}h3{margin-top:26px;color:var(--green)}.lotinfo{background:var(--cream);border-left:4px solid var(--green);padding:12px 16px;margin:0 0 20px;border-radius:6px}.extras{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:12px}.extra{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;padding:8px 0}.extra label{margin:0;font-weight:400}.extra input{width:auto;margin:0 8px 0 0}.extra.na{opacity:.4}.actions{display:flex;gap:10px;margin-top:24px}button{border:0;background:var(--green);color:white;padding:13px 18px;border-radius:8px;font:600 16px inherit;cursor:pointer}.secondary{background:#e8ece9;color:var(--green)}#warning{color:#9b3d2d;font-weight:600}.summary{padding:32px;position:sticky;top:110px;align-self:start}.official{letter-spacing:4px;font-size:13px;color:var(--green);font-weight:700}.sumlogo{width:190px;height:85px;object-fit:cover;margin:8px 0 4px}.meta{display:flex;justify-content:space-between;color:#69736e;font-size:13px}.summary h2{font-size:28px;margin:24px 0 2px;color:var(--green)}.summary hr{border:0;border-top:1px solid var(--line);margin:22px 0}.row{display:flex;justify-content:space-between;gap:20px;padding:5px 0}.row.extraRow{font-size:14px;color:#59635e}.total{background:var(--green);color:white;margin:20px -12px 16px;padding:16px 18px;border-radius:9px;display:flex;justify-content:space-between;align-items:center}.total b{font-size:24px}.finance{background:var(--cream);padding:14px;border-radius:8px;margin-top:12px}.names{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.names small{display:block;color:#78817d}.legal{font-size:11px;color:#7a817d;margin-top:28px}.map{grid-column:1/-1;padding:24px}.map h2{color:var(--green);margin:0}.map p{margin-top:0}.map img{width:100%;max-height:820px;object-fit:contain;background:#fafafa}.status{font-weight:700;color:var(--green)}@media(max-width:900px){main{grid-template-columns:1fr}.summary{position:static}.two,.extras{grid-template-columns:1fr}.map{grid-column:1}.steps{overflow:auto}}@media print{body{background:white}header,.panel,.map{display:none}.summary{border:0;box-shadow:none;position:static;width:100%;padding:15mm}.summary .sumlogo{width:220px}.legal{position:fixed;bottom:10mm}main{display:block;margin:0;padding:0}.total{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.statusAlert{margin-top:12px;padding:12px 14px;border-radius:10px;display:flex;gap:10px;flex-direction:column;border:2px solid}.statusAlert strong{font-size:18px}.statusAlert span{font-size:13px}.statusAlert.ok{background:#eef8f1;border-color:#2f7a51;color:#174a31}.statusAlert.special{background:#fff6df;border-color:#d6971f;color:#6b4a00}.statusAlert.sold{background:#fde9e7;border-color:#b42318;color:#8a1710}button:disabled{opacity:.45;cursor:not-allowed}

/* V5: bloqueo duro de propiedades vendidas */
button:disabled, select:disabled, input:disabled { cursor:not-allowed; opacity:.48; }
#houseBox.locked { opacity:.48; pointer-events:none; filter:grayscale(.35); }
.actions.locked button { opacity:.42; cursor:not-allowed; }
.statusAlert.sold { border:2px solid #a61b1b !important; background:#fff0f0 !important; color:#8d1111 !important; box-shadow:0 0 0 4px rgba(166,27,27,.08); }
.statusAlert.sold strong { font-size:1.08rem; }
/* V7: simulador hipotecario + comparador */
.three{grid-template-columns:repeat(3,1fr)}.helper{font-size:13px;color:#66716b;margin:-12px 0 16px}.mortgageBox{margin-top:22px;padding:18px;background:#f7f8f5;border:1px solid var(--line);border-radius:12px}.mortgageBox h3{margin-top:0}.mortgageResults{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mortgageResult{background:white;border:1px solid var(--line);border-radius:9px;padding:10px}.mortgageResult small{display:block;color:#6d7772}.mortgageResult b{color:var(--green);font-size:17px}.compareTools{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compareTools span{margin-right:auto;color:#6b756f}.ghost{background:white;color:#7b3026;border:1px solid #d9c5c1}.comparison{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 8px 30px #203a2a0c}.compareHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.compareHead h2{color:var(--green);margin:5px 0}.compareHead p{margin:0;color:#68736d}.compareHead img{width:170px;height:70px;object-fit:cover}.tableWrap{overflow-x:auto;margin-top:20px}.comparison table{width:100%;border-collapse:collapse;min-width:760px}.comparison th,.comparison td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.comparison th{background:var(--green);color:white}.comparison td:first-child{font-weight:600;background:#f5f6f3;width:190px}.comparison .moneyStrong{font-weight:700;color:var(--green)}.compareLegal{font-size:11px;color:#747d78;margin-top:20px}
@media(max-width:900px){.three,.mortgageResults{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.three,.mortgageResults{grid-template-columns:1fr}.compareHead{flex-direction:column}.compareHead img{order:-1}}
@media print{body.print-comparison .summary{display:none}body.print-comparison .comparison{display:block!important;border:0;box-shadow:none;padding:10mm}body.print-comparison .noPrint{display:none!important}body.print-comparison .comparison table{min-width:0;font-size:11px}body.print-comparison .comparison th,body.print-comparison .comparison td{padding:6px}body.print-comparison .compareLegal{margin-top:12px}body:not(.print-comparison) .comparison{display:none!important}}
/* V8: imágenes de prototipo, plantas, bloqueo NO DISPONIBLE y zoom masterplan */
.modelVisual{margin:8px 0 20px}.facadeFrame{height:250px;border:1px solid var(--line);border-radius:12px;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden}.facadeFrame img{width:100%;height:100%;object-fit:contain}.visualActions{display:flex;justify-content:flex-end;margin-top:8px}.visualActions button{padding:9px 14px;font-size:14px}.planModal{display:none;position:fixed;inset:0;background:rgba(20,31,25,.72);z-index:50;padding:4vh 4vw;overflow:auto}.planModal.open{display:block}.planDialog{max-width:1100px;margin:auto;background:white;border-radius:16px;padding:26px;position:relative}.planClose{position:absolute;right:16px;top:12px;background:transparent;color:var(--ink);font-size:32px;padding:0 8px}.planGallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.planCard{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafafa}.planCard h3{margin:0 0 8px}.planCard img{width:100%;height:520px;object-fit:contain;background:white}.printVisual{margin:14px 0}.printVisual .facadeFrame{height:190px}.printPlans{display:none}.map{overflow:hidden}.mapHead{display:flex;justify-content:space-between;gap:18px;align-items:center}.zoomTools{display:flex;align-items:center;gap:8px}.zoomTools button{padding:8px 13px}.zoomTools span{min-width:52px;text-align:center;font-weight:600}.mapViewport{width:100%;overflow:auto;background:#fafafa;border-radius:10px;display:flex;justify-content:flex-start}.mapViewport img{width:100%;max-width:none!important;max-height:none!important;transform-origin:top left;transition:width .15s ease}.statusAlert.unavailable{background:#f2f2f2;border-color:#777;color:#444}.summary.unavailable #breakdown,.summary.unavailable .total,.summary.unavailable #finance{display:none}
@media(max-width:900px){.planGallery{grid-template-columns:1fr}.planCard img{height:auto}.mapHead{align-items:flex-start;flex-direction:column}.facadeFrame{height:210px}}
@media print{.modelVisual,.planModal{display:none!important}.printVisual{display:block}.printVisual .visualActions{display:none}.printPlans{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px;page-break-inside:avoid}.printPlan{border:1px solid #ddd;padding:5px}.printPlan b{font-size:10px;display:block}.printPlan img{width:100%;height:150px;object-fit:contain}.summary{position:static!important}.legal{position:static!important;margin-top:14px}}

/* V9: masterplan sin superposición, m² de construcción y PDF Carta */
.areaFacts{display:inline-block;margin-top:4px;color:#4e5d55}
/* El masterplan vive únicamente en la columna izquierda: la ficha derecha nunca lo tapa. */
.map{grid-column:1!important;min-width:0;align-self:start}
.mapViewport{max-width:100%;overflow:auto;justify-content:flex-start}
.mapViewport img{display:block;width:100%;height:auto;object-fit:contain}
.compareVisualPages{display:none}
.compareVisualPage{break-after:page;page-break-after:always}
.comparePageHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:8px}
.comparePageHead h2{margin:2px 0;color:var(--green)}.comparePageHead p{margin:2px 0}.comparePageHead img{width:145px;height:60px;object-fit:cover}
.compareFacade{height:72mm;margin:7mm 0 4mm;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.compareFacade img{width:100%;height:100%;object-fit:contain}
.comparePlans{display:grid;grid-template-columns:repeat(2,1fr);gap:5mm}.comparePlan{border:1px solid var(--line);padding:3mm;text-align:left}.comparePlan b{display:block;font-size:10pt}.comparePlan img{width:100%;height:54mm;object-fit:contain}
.comparePageNumbers{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm;margin-top:5mm}.comparePageNumbers div{background:var(--cream);padding:3mm;border-radius:5px}.comparePageNumbers span{display:block;font-size:8pt}.comparePageNumbers b{font-size:10pt;color:var(--green)}.comparePageFoot{font-size:8pt;margin-top:5mm;color:#59635e}
@media(max-width:900px){.map{grid-column:1!important}.comparePageNumbers{grid-template-columns:1fr 1fr}}

@page{size:Letter portrait;margin:7mm}
@media print{
  html,body{width:100%;height:auto;margin:0!important;padding:0!important;background:#fff!important}
  main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  /* Cotización individual: una sola hoja Carta. */
  body:not(.print-comparison) .summary{display:block!important;width:100%!important;height:265mm!important;max-height:265mm!important;padding:5mm 7mm!important;margin:0!important;overflow:hidden!important;font-size:8.6pt!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body:not(.print-comparison) .summary .official{font-size:7.5pt!important;letter-spacing:2px!important}
  body:not(.print-comparison) .summary .sumlogo{width:39mm!important;height:18mm!important;margin:1mm 0 0!important;object-fit:cover!important}
  body:not(.print-comparison) .summary .meta{font-size:7pt!important;margin-top:-1mm!important}
  body:not(.print-comparison) .summary h2{font-size:15pt!important;margin:3mm 0 0!important;line-height:1.05!important}
  body:not(.print-comparison) .summary #sumLocation{font-size:8pt!important;line-height:1.25!important}
  body:not(.print-comparison) .summary hr{margin:3mm 0!important}
  body:not(.print-comparison) .printVisual{margin:2mm 0!important}
  body:not(.print-comparison) .printVisual .facadeFrame{height:47mm!important;border-radius:5px!important}
  body:not(.print-comparison) .printPlans{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:2mm!important;margin-top:2mm!important}
  body:not(.print-comparison) .printPlan{padding:1.2mm!important}
  body:not(.print-comparison) .printPlan b{font-size:6.8pt!important;line-height:1!important}
  body:not(.print-comparison) .printPlan img{height:31mm!important;object-fit:contain!important}
  body:not(.print-comparison) .row{padding:.7mm 0!important;font-size:8pt!important;line-height:1.1!important}
  body:not(.print-comparison) .row.extraRow{font-size:7.4pt!important}
  body:not(.print-comparison) .total{margin:2mm 0!important;padding:2.6mm 3mm!important;border-radius:5px!important}
  body:not(.print-comparison) .total b{font-size:14pt!important}
  body:not(.print-comparison) .finance{margin-top:2mm!important;padding:2mm 3mm!important;display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:8mm!important}
  body:not(.print-comparison) .finance .row{font-size:7.8pt!important}
  body:not(.print-comparison) .names{margin-top:3mm!important;gap:8mm!important;font-size:8pt!important}
  body:not(.print-comparison) .names small{font-size:6.5pt!important}
  body:not(.print-comparison) .legal{position:static!important;margin-top:3mm!important;font-size:6.2pt!important;line-height:1.2!important}
  /* Comparativa: página 1 resumen + una ficha visual Carta por opción. */
  body.print-comparison .comparison{padding:5mm 7mm!important;margin:0!important;width:100%!important;max-width:none!important}
  body.print-comparison .compareHead{break-inside:avoid}.compareSummaryLegal{font-size:7pt!important}
  body.print-comparison .compareVisualPages{display:block!important}
  body.print-comparison .compareVisualPage{display:block!important;width:100%!important;height:263mm!important;max-height:263mm!important;overflow:hidden!important;padding-top:3mm!important;break-before:page!important;page-break-before:always!important}
  body.print-comparison .compareFacade{height:70mm!important}
  body.print-comparison .comparePlan img{height:52mm!important}
  body.print-comparison .comparison table{font-size:8pt!important}
  body.print-comparison .comparison th,body.print-comparison .comparison td{padding:1.6mm 2mm!important}
}

/* V9.2: el disclaimer pertenece al resumen comparativo y nunca queda huérfano. */
.compareSummaryBlock{break-inside:avoid;page-break-inside:avoid}
.compareSummaryBlock .compareSummaryLegal{margin:3mm 0 0;break-before:avoid;page-break-before:avoid;break-inside:avoid;page-break-inside:avoid}
@media print{
 body.print-comparison .compareSummaryBlock{break-inside:avoid!important;page-break-inside:avoid!important}
 body.print-comparison .compareSummaryBlock .tableWrap{overflow:visible!important;margin-top:3mm!important}
 body.print-comparison .compareSummaryBlock .compareSummaryLegal{display:block!important;margin:2.5mm 0 0!important;font-size:7pt!important;line-height:1.2!important;break-before:avoid!important;page-break-before:avoid!important}
}

/* V9.3: evita una hoja vacía al final de las comparativas. */
.compareVisualPage:last-child{break-after:auto!important;page-break-after:auto!important}
@media print{
 body.print-comparison .compareVisualPage:last-child{break-after:auto!important;page-break-after:auto!important}
 body.print-comparison .compareVisualPages{break-after:auto!important;page-break-after:auto!important}
 body.print-comparison .comparison{break-after:auto!important;page-break-after:auto!important}
}

/* V9.3.1 — corrección definitiva de logos y paginación de comparativas */
/* El logo nunca se recorta: se conserva completo dentro de su caja. */
header img,
.sumlogo,
.compareHead img,
.comparePageHead img{
  object-fit:contain!important;
  object-position:center!important;
}
header img{width:170px;height:68px;padding:3px}
.sumlogo{width:190px;height:85px;padding:2px}
.compareHead img{width:170px;height:70px;padding:2px}
.comparePageHead img{width:145px;height:60px;padding:2px}

@media print{
  /* Evita que el contenedor padre fragmentado deje padding residual en una hoja extra. */
  body.print-comparison .comparison{
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:visible!important;
  }
  /* El resumen conserva sus márgenes Carta sin usar padding del contenedor padre. */
  body.print-comparison .compareHead{
    margin:5mm 7mm 0!important;
  }
  body.print-comparison .compareSummaryBlock{
    margin:0 7mm!important;
  }
  /* Cada ficha controla por sí misma su caja de página. No se fuerza una altura que pueda desbordar. */
  body.print-comparison .compareVisualPages{
    display:block!important;
    margin:0!important;
    padding:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.print-comparison .compareVisualPage{
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:5mm 7mm!important;
    overflow:hidden!important;
    break-before:page!important;
    page-break-before:always!important;
    break-after:auto!important;
    page-break-after:auto!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.print-comparison .compareVisualPage:last-child{
    break-after:auto!important;
    page-break-after:auto!important;
    margin-bottom:0!important;
    padding-bottom:5mm!important;
  }
  /* Ningún logo puede crear overflow horizontal/vertical al imprimir. */
  body.print-comparison .compareHead img,
  body.print-comparison .comparePageHead img,
  body:not(.print-comparison) .sumlogo{
    display:block!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    overflow:visible!important;
  }
}


/* V10.3 — encabezado de cotización impresa más limpio y espacioso */
@media print{
  body:not(.print-comparison) .summary{
    position:relative!important;
    padding:7mm 7mm 5mm!important;
  }
  body:not(.print-comparison) .summary .official{
    margin:0 0 1mm!important;
    font-size:7.5pt!important;
    letter-spacing:2.4px!important;
  }
  body:not(.print-comparison) .summary .sumlogo{
    width:43mm!important;
    height:20mm!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  body:not(.print-comparison) .summary .meta{
    position:absolute!important;
    top:11mm!important;
    right:7mm!important;
    width:58mm!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1.2mm!important;
    text-align:right!important;
    font-size:7.4pt!important;
    line-height:1.25!important;
    color:#69736e!important;
  }
  body:not(.print-comparison) .summary h2{
    font-size:17pt!important;
    margin:7mm 0 1.2mm!important;
    line-height:1!important;
  }
  body:not(.print-comparison) .summary #sumLocation{
    max-width:145mm!important;
    font-size:8.4pt!important;
    line-height:1.45!important;
    min-height:12mm!important;
  }
  body:not(.print-comparison) .summary #sumLocation .areaFacts{
    margin-top:1.5mm!important;
  }
  body:not(.print-comparison) .summary hr{
    margin:4mm 0 3mm!important;
  }
  /* Recupera espacio debajo para conservar la hoja Carta única. */
  body:not(.print-comparison) .printVisual .facadeFrame{height:44mm!important}
  body:not(.print-comparison) .printPlan img{height:29mm!important}
}

/* V10.3.1 — ajuste final: cotización individual forzada a una sola hoja Letter */
@media print{
  body:not(.print-comparison) .summary{
    height:258mm!important;
    max-height:258mm!important;
    padding:5.5mm 7mm 3.5mm!important;
    overflow:hidden!important;
  }
  body:not(.print-comparison) .summary .meta{top:9.5mm!important}
  body:not(.print-comparison) .summary h2{margin:5mm 0 1mm!important}
  body:not(.print-comparison) .summary #sumLocation{min-height:9mm!important;line-height:1.3!important}
  body:not(.print-comparison) .summary hr{margin:2.5mm 0 2mm!important}
  body:not(.print-comparison) .printVisual{margin:1.5mm 0!important}
  body:not(.print-comparison) .printVisual .facadeFrame{height:42mm!important}
  body:not(.print-comparison) .printPlans{margin-top:1.5mm!important}
  body:not(.print-comparison) .printPlan img{height:27mm!important}
  body:not(.print-comparison) .row{padding:.55mm 0!important}
  body:not(.print-comparison) .total{margin:1.5mm 0!important;padding:2.2mm 3mm!important}
  body:not(.print-comparison) .finance{margin-top:1.5mm!important;padding:1.7mm 3mm!important}
  body:not(.print-comparison) .names{margin-top:2mm!important}
  body:not(.print-comparison) .legal{margin-top:1.8mm!important;font-size:5.9pt!important;line-height:1.1!important}
}

/* V10.3.2 — Carta completa: una sola página, sin saltos y aprovechando el alto */
@page{size:Letter portrait;margin:6mm!important}
@media print{
  html,body{width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}
  body:not(.print-comparison) main{height:267mm!important;max-height:267mm!important;overflow:hidden!important}
  body:not(.print-comparison) .summary{
    box-sizing:border-box!important;
    width:100%!important;
    height:267mm!important;
    max-height:267mm!important;
    min-height:267mm!important;
    margin:0!important;
    padding:6mm 7mm 4.5mm!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    break-before:avoid!important;page-break-before:avoid!important;
    break-after:avoid!important;page-break-after:avoid!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  body:not(.print-comparison) .summary .official{font-size:7.8pt!important;letter-spacing:2.5px!important;margin:0 0 1mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .summary .sumlogo{width:44mm!important;height:21mm!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:left center!important;flex:0 0 auto!important}
  body:not(.print-comparison) .summary .meta{top:10mm!important;right:7mm!important;width:62mm!important;font-size:7.6pt!important;line-height:1.35!important}
  body:not(.print-comparison) .summary h2{font-size:17pt!important;margin:5.5mm 0 1mm!important;line-height:1!important;flex:0 0 auto!important}
  body:not(.print-comparison) .summary #sumLocation{font-size:8.4pt!important;line-height:1.35!important;min-height:10mm!important;max-width:150mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .summary #sumLocation .areaFacts{margin-top:1.2mm!important}
  body:not(.print-comparison) .summary hr{margin:2.5mm 0 2.5mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .printVisual{margin:0 0 2mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .printVisual .facadeFrame{height:48mm!important;border-radius:5px!important}
  body:not(.print-comparison) .printPlans{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:2.5mm!important;margin-top:2mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .printPlan{padding:1.5mm!important;min-height:39mm!important}
  body:not(.print-comparison) .printPlan b{font-size:7.2pt!important;margin-bottom:.5mm!important}
  body:not(.print-comparison) .printPlan img{height:34mm!important;object-fit:contain!important}
  body:not(.print-comparison) #breakdown{margin-top:2mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .row{padding:.65mm 0!important;font-size:8pt!important;line-height:1.1!important}
  body:not(.print-comparison) .row.extraRow{font-size:7.5pt!important}
  body:not(.print-comparison) .total{margin:2mm 0!important;padding:2.7mm 3mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .total b{font-size:14.5pt!important}
  body:not(.print-comparison) .finance{margin-top:1.5mm!important;padding:2.2mm 3mm!important;grid-template-columns:1fr 1fr!important;column-gap:9mm!important;flex:0 0 auto!important}
  body:not(.print-comparison) .finance .row{font-size:7.8pt!important}
  body:not(.print-comparison) .names{margin-top:3mm!important;gap:10mm!important;font-size:8pt!important;flex:0 0 auto!important}
  body:not(.print-comparison) .names small{font-size:6.7pt!important}
  body:not(.print-comparison) .legal{position:static!important;margin:auto 0 0!important;padding-top:2.5mm!important;font-size:6.1pt!important;line-height:1.2!important;flex:0 0 auto!important}
}

/* V10.3.3 — maquetación Carta real: contenido completo, nombres y legal siempre visibles */
@page{size:Letter portrait;margin:0!important}
@media print{
  html,body{width:215.9mm!important;height:279.4mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
  body:not(.print-comparison) main{
    display:block!important;width:215.9mm!important;height:279.4mm!important;max-height:279.4mm!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
  }
  body:not(.print-comparison) .summary{
    position:relative!important;box-sizing:border-box!important;
    width:215.9mm!important;height:279.4mm!important;min-height:0!important;max-height:279.4mm!important;
    margin:0!important;padding:7mm 9mm 6mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    overflow:hidden!important;display:block!important;font-size:8pt!important;
    break-inside:avoid!important;page-break-inside:avoid!important;break-after:avoid!important;page-break-after:avoid!important;
  }
  body:not(.print-comparison) .summary .official{font-size:7.2pt!important;letter-spacing:2.2px!important;margin:0 0 .6mm!important}
  body:not(.print-comparison) .summary .sumlogo{display:block!important;width:40mm!important;height:18mm!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:left center!important}
  body:not(.print-comparison) .summary .meta{position:absolute!important;top:10mm!important;right:9mm!important;width:55mm!important;display:flex!important;flex-direction:column!important;gap:.6mm!important;text-align:right!important;font-size:7pt!important;line-height:1.15!important}
  body:not(.print-comparison) .summary h2{font-size:16pt!important;margin:4mm 0 .8mm!important;line-height:1!important}
  body:not(.print-comparison) .summary #sumLocation{font-size:7.8pt!important;line-height:1.2!important;min-height:0!important;max-width:155mm!important}
  body:not(.print-comparison) .summary #sumLocation .areaFacts{margin-top:.8mm!important}
  body:not(.print-comparison) .summary hr{margin:2.2mm 0 2mm!important}

  body:not(.print-comparison) .printVisual{display:block!important;margin:0 0 1.6mm!important}
  body:not(.print-comparison) .printVisual .facadeFrame{height:43mm!important;border-radius:4px!important}
  body:not(.print-comparison) .printPlans{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2mm!important;margin-top:1.5mm!important}
  body:not(.print-comparison) .printPlan{height:38mm!important;min-height:0!important;padding:1.2mm!important;overflow:hidden!important}
  body:not(.print-comparison) .printPlan b{font-size:6.8pt!important;line-height:1!important;margin:0!important}
  body:not(.print-comparison) .printPlan img{display:block!important;width:100%!important;height:33mm!important;object-fit:contain!important;margin:0!important}

  body:not(.print-comparison) #breakdown{margin:1.5mm 0 0!important}
  body:not(.print-comparison) .row{padding:.45mm 0!important;font-size:7.5pt!important;line-height:1.05!important}
  body:not(.print-comparison) .row.extraRow{font-size:7.1pt!important}
  body:not(.print-comparison) .total{margin:1.5mm 0!important;padding:2.2mm 3mm!important;border-radius:5px!important;min-height:10mm!important}
  body:not(.print-comparison) .total span{font-size:8pt!important}
  body:not(.print-comparison) .total b{font-size:13.5pt!important;line-height:1!important}
  body:not(.print-comparison) .finance{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:8mm!important;margin:1mm 0 0!important;padding:1.5mm 3mm!important;border-radius:5px!important}
  body:not(.print-comparison) .finance .row{font-size:7.2pt!important;padding:.35mm 0!important}

  /* Reservamos físicamente la franja inferior para cliente, asesor y aviso legal. */
  body:not(.print-comparison) .names{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12mm!important;margin:2.2mm 0 0!important;padding:0 1mm!important;font-size:7.8pt!important;min-height:10mm!important}
  body:not(.print-comparison) .names>div{border-bottom:1px solid #aeb6b1!important;padding-bottom:1mm!important}
  body:not(.print-comparison) .names small{font-size:6.3pt!important;margin-bottom:.6mm!important}
  body:not(.print-comparison) .names b{display:block!important;min-height:3.5mm!important;font-size:8pt!important}
  body:not(.print-comparison) .legal{position:absolute!important;left:9mm!important;right:9mm!important;bottom:5.5mm!important;margin:0!important;padding-top:1.5mm!important;border-top:1px solid #d9ddd9!important;font-size:5.6pt!important;line-height:1.15!important;color:#707873!important}

  body:not(.print-comparison) .summary.unavailable .names{margin-top:5mm!important}
}

/* V10.3.4 — impresión final Carta: uso real de página + comparativas sin hojas blancas */
@page{size:Letter portrait;margin:0}
@media print{
  html,body{margin:0!important;padding:0!important;width:215.9mm!important;height:auto!important;overflow:visible!important;background:#fff!important}

  /* INDIVIDUAL: exactamente una hoja Carta, usando el espacio útil. */
  body:not(.print-comparison){width:215.9mm!important;height:279.4mm!important;overflow:hidden!important}
  body:not(.print-comparison) main{display:block!important;width:215.9mm!important;height:279.4mm!important;margin:0!important;padding:0!important;overflow:hidden!important}
  body:not(.print-comparison) .summary{
    position:relative!important;display:block!important;box-sizing:border-box!important;
    width:215.9mm!important;height:279.4mm!important;min-height:279.4mm!important;max-height:279.4mm!important;
    margin:0!important;padding:7mm 9mm 6mm!important;overflow:hidden!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  body:not(.print-comparison) .summary .official{font-size:7.5pt!important;letter-spacing:2.3px!important;margin:0 0 .7mm!important}
  body:not(.print-comparison) .summary .sumlogo{width:43mm!important;height:19mm!important;object-fit:contain!important;object-position:left center!important;margin:0!important}
  body:not(.print-comparison) .summary .meta{position:absolute!important;top:10mm!important;right:9mm!important;width:58mm!important;text-align:right!important;font-size:7.2pt!important;line-height:1.2!important}
  body:not(.print-comparison) .summary h2{font-size:17pt!important;line-height:1!important;margin:4mm 0 .9mm!important}
  body:not(.print-comparison) .summary #sumLocation{font-size:8pt!important;line-height:1.22!important;max-width:158mm!important}
  body:not(.print-comparison) .summary #sumLocation .areaFacts{margin-top:.8mm!important}
  body:not(.print-comparison) .summary hr{margin:2.2mm 0 2mm!important}

  /* Imágenes deliberadamente grandes: prioridad a fachada y plantas. */
  body:not(.print-comparison) .printVisual{display:block!important;margin:0 0 1.8mm!important}
  body:not(.print-comparison) .printVisual .facadeFrame{height:50mm!important;border-radius:4px!important}
  body:not(.print-comparison) .printPlans{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2.5mm!important;margin:1.5mm 0 0!important}
  body:not(.print-comparison) .printPlan{height:50mm!important;min-height:50mm!important;padding:1.3mm!important;overflow:hidden!important}
  body:not(.print-comparison) .printPlan b{display:block!important;font-size:7pt!important;line-height:1!important;margin:0 0 .5mm!important}
  body:not(.print-comparison) .printPlan img{display:block!important;width:100%!important;height:45mm!important;object-fit:contain!important;margin:0!important}

  /* Información económica compacta, legible y sin desperdiciar el ancho. */
  body:not(.print-comparison) #breakdown{margin:1.6mm 0 0!important}
  body:not(.print-comparison) .row{padding:.42mm 0!important;font-size:7.4pt!important;line-height:1.05!important}
  body:not(.print-comparison) .row.extraRow{font-size:7pt!important}
  body:not(.print-comparison) .total{margin:1.4mm 0!important;padding:2.1mm 3mm!important;min-height:9.5mm!important;border-radius:5px!important}
  body:not(.print-comparison) .total span{font-size:8pt!important}
  body:not(.print-comparison) .total b{font-size:13.5pt!important;line-height:1!important}
  body:not(.print-comparison) .finance{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:8mm!important;margin:1mm 0 0!important;padding:1.4mm 3mm!important;border-radius:5px!important}
  body:not(.print-comparison) .finance .row{font-size:7.1pt!important;padding:.32mm 0!important}

  /* Siempre visibles dentro de la misma hoja. */
  body:not(.print-comparison) .names{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12mm!important;margin:2mm 0 0!important;padding:0 1mm!important;font-size:7.7pt!important;min-height:10mm!important}
  body:not(.print-comparison) .names>div{border-bottom:1px solid #aeb6b1!important;padding-bottom:.8mm!important}
  body:not(.print-comparison) .names small{font-size:6.3pt!important;margin-bottom:.5mm!important}
  body:not(.print-comparison) .names b{display:block!important;min-height:3.5mm!important;font-size:8pt!important}
  body:not(.print-comparison) .legal{position:absolute!important;left:9mm!important;right:9mm!important;bottom:4.5mm!important;margin:0!important;padding-top:1.2mm!important;border-top:1px solid #d9ddd9!important;font-size:5.5pt!important;line-height:1.12!important}

  /* COMPARATIVA: resumen + una página por opción, sin páginas intermedias/finales vacías. */
  body.print-comparison{width:215.9mm!important;height:auto!important;overflow:visible!important}
  body.print-comparison main{display:block!important;width:215.9mm!important;margin:0!important;padding:0!important;overflow:visible!important}
  body.print-comparison .comparison{display:block!important;width:215.9mm!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  body.print-comparison .compareHead{box-sizing:border-box!important;margin:0!important;padding:8mm 9mm 0!important}
  body.print-comparison .compareSummaryBlock{box-sizing:border-box!important;margin:0!important;padding:0 9mm 7mm!important;break-after:page!important;page-break-after:always!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.print-comparison .compareSummaryBlock .tableWrap{overflow:visible!important;margin-top:3mm!important}
  body.print-comparison .comparison table{min-width:0!important;width:100%!important;font-size:8pt!important}
  body.print-comparison .comparison th,body.print-comparison .comparison td{padding:1.55mm 1.8mm!important}
  body.print-comparison .compareSummaryLegal{margin:2.5mm 0 0!important;font-size:6.8pt!important;line-height:1.15!important}
  body.print-comparison .compareVisualPages{display:block!important;margin:0!important;padding:0!important;height:auto!important;overflow:visible!important}
  body.print-comparison .compareVisualPage{
    display:block!important;box-sizing:border-box!important;width:215.9mm!important;height:279.4mm!important;min-height:279.4mm!important;max-height:279.4mm!important;
    margin:0!important;padding:8mm 9mm 7mm!important;overflow:hidden!important;
    break-before:auto!important;page-break-before:auto!important;
    break-after:page!important;page-break-after:always!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  body.print-comparison .compareVisualPage:last-child{break-after:auto!important;page-break-after:auto!important}
  body.print-comparison .comparePageHead{min-height:24mm!important;padding-bottom:2mm!important}
  body.print-comparison .compareFacade{height:74mm!important;margin:5mm 0 3mm!important}
  body.print-comparison .comparePlans{gap:4mm!important}
  body.print-comparison .comparePlan{padding:2mm!important}
  body.print-comparison .comparePlan img{height:57mm!important}
  body.print-comparison .comparePageNumbers{margin-top:4mm!important;gap:2.5mm!important}
  body.print-comparison .comparePageNumbers div{padding:2.5mm!important}
  body.print-comparison .comparePageFoot{margin-top:4mm!important;font-size:7.5pt!important}
  body.print-comparison .noPrint{display:none!important}
}

/* V10.3.5 — unifica la escala visual de ficha individual y fichas de comparativa.
   Fachada y plantas usan exactamente las mismas alturas impresas que las opciones comparativas. */
@media print{
  body:not(.print-comparison) .printVisual{margin:1.2mm 0 1.4mm!important}
  body:not(.print-comparison) .printVisual .facadeFrame{height:70mm!important}
  body:not(.print-comparison) .printPlans{gap:2mm!important;margin-top:1.2mm!important}
  body:not(.print-comparison) .printPlan{height:57mm!important;padding:1mm!important}
  body:not(.print-comparison) .printPlan b{font-size:6.6pt!important;line-height:1!important;margin:0!important}
  body:not(.print-comparison) .printPlan img{height:52mm!important;object-fit:contain!important}

  /* Recupera espacio en los bloques de texto sin reducir la escala de fachada/plantas. */
  body:not(.print-comparison) .summary{padding:5mm 9mm 5mm!important}
  body:not(.print-comparison) .summary .sumlogo{width:36mm!important;height:15mm!important}
  body:not(.print-comparison) .summary .meta{top:8mm!important}
  body:not(.print-comparison) .summary h2{font-size:14.5pt!important;margin:2mm 0 .5mm!important}
  body:not(.print-comparison) .summary #sumLocation{font-size:7.2pt!important;line-height:1.1!important}
  body:not(.print-comparison) .summary hr{margin:1.2mm 0!important}
  body:not(.print-comparison) #breakdown{margin:.6mm 0 0!important}
  body:not(.print-comparison) .row{padding:.22mm 0!important;font-size:6.8pt!important;line-height:1!important}
  body:not(.print-comparison) .row.extraRow{font-size:6.4pt!important}
  body:not(.print-comparison) .total{margin:.8mm 0!important;padding:1.4mm 2.5mm!important;min-height:0!important}
  body:not(.print-comparison) .total b{font-size:11.5pt!important}
  body:not(.print-comparison) .finance{margin:.6mm 0 0!important;padding:1mm 2.5mm!important;column-gap:6mm!important}
  body:not(.print-comparison) .finance .row{font-size:6.5pt!important;padding:.18mm 0!important}
  body:not(.print-comparison) .names{margin:1mm 0 0!important;min-height:7mm!important;font-size:7pt!important}
  body:not(.print-comparison) .names small{font-size:5.8pt!important;margin-bottom:.2mm!important}
  body:not(.print-comparison) .names b{min-height:2.5mm!important;font-size:7pt!important}
  body:not(.print-comparison) .legal{bottom:3.5mm!important;font-size:5.2pt!important;line-height:1.05!important;padding-top:.8mm!important}
}

/* V10.3.6 — Cotización individual: cliente/asesor arriba + tipografía +2 pt */
@media print{
  body:not(.print-comparison) .summary{padding:5mm 9mm 4.5mm!important}
  body:not(.print-comparison) .summary .official{font-size:9.5pt!important}
  body:not(.print-comparison) .summary .meta{font-size:9.2pt!important}
  body:not(.print-comparison) .summary h2{font-size:16.5pt!important;margin:13mm 0 .6mm!important}
  body:not(.print-comparison) .summary #sumLocation{font-size:9.2pt!important;line-height:1.12!important}

  /* Cliente y asesor pasan al encabezado, justo debajo de logo/fecha-folio. */
  body:not(.print-comparison) .names{
    position:absolute!important;top:25mm!important;left:9mm!important;right:9mm!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:12mm!important;
    margin:0!important;padding:0!important;min-height:8mm!important;font-size:9pt!important;
  }
  body:not(.print-comparison) .names>div{padding-bottom:.7mm!important}
  body:not(.print-comparison) .names small{font-size:7.8pt!important;margin-bottom:.2mm!important}
  body:not(.print-comparison) .names b{min-height:2.8mm!important;font-size:9pt!important;line-height:1.05!important}

  body:not(.print-comparison) .printPlan b{font-size:8.6pt!important}
  body:not(.print-comparison) .row{font-size:8.8pt!important;line-height:1.02!important}
  body:not(.print-comparison) .row.extraRow{font-size:8.4pt!important}
  body:not(.print-comparison) .total span{font-size:10pt!important}
  body:not(.print-comparison) .total b{font-size:13.5pt!important}
  body:not(.print-comparison) .finance .row{font-size:8.5pt!important}
  body:not(.print-comparison) .legal{font-size:7.2pt!important;line-height:1.08!important}

  /* Conserva fachada/plantas grandes y gana el espacio liberado por las firmas inferiores. */
  body:not(.print-comparison) .printVisual .facadeFrame{height:70mm!important}
  body:not(.print-comparison) .printPlan{height:57mm!important}
  body:not(.print-comparison) .printPlan img{height:51mm!important}
  body:not(.print-comparison) #breakdown{margin:.5mm 0 0!important}
  body:not(.print-comparison) .total{margin:.7mm 0!important;padding:1.2mm 2.5mm!important}
  body:not(.print-comparison) .finance{margin:.5mm 0 0!important;padding:.8mm 2.5mm!important}
}

/* V10.4 — Encabezado individual: marca arriba a la izquierda, separada de Cliente/Asesor */
@media print{
  body:not(.print-comparison) .summary{padding-top:4mm!important}
  body:not(.print-comparison) .summary .official{
    position:absolute!important;top:3.5mm!important;left:9mm!important;margin:0!important;
  }
  body:not(.print-comparison) .summary .sumlogo{
    position:absolute!important;top:7mm!important;left:9mm!important;
    width:36mm!important;height:15mm!important;margin:0!important;
    object-fit:contain!important;object-position:left top!important;
  }
  body:not(.print-comparison) .summary .meta{top:5mm!important;right:9mm!important}
  body:not(.print-comparison) .names{top:27.5mm!important}
  body:not(.print-comparison) .summary h2{margin-top:39mm!important}
}

/* V10.4.1 — Evita solapamiento entre COTIZACIÓN y logo en ficha individual */
@media print{
  body:not(.print-comparison) .summary .official{
    top:3mm!important;
    line-height:1!important;
  }
  body:not(.print-comparison) .summary .sumlogo{
    top:10mm!important;
  }
  /* Se conserva el resto de la composición aprobada de V10.4. */
}

/* V10.5 — comparador de escritorio: 3 opciones visibles + resumen lateral */
@media screen and (min-width:1100px){
  #comparison.comparison{
    position:relative;
    padding-right:300px;
    min-height:620px;
    overflow:visible;
  }
  #comparison .compareSummaryBlock{min-width:0;}
  #comparison .tableWrap{overflow-x:auto;}
  #comparison table{min-width:0;width:100%;table-layout:fixed;font-size:13px;}
  #comparison th,#comparison td{padding:8px 9px;overflow-wrap:anywhere;word-break:normal;}
  #comparison th:first-child,#comparison td:first-child{width:150px;}
  #comparison th:not(:first-child),#comparison td:not(:first-child){width:auto;}
  #comparison .compareHead{
    position:absolute;
    right:22px;
    top:22px;
    width:250px;
    display:block;
    padding:18px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
  }
  #comparison .compareHead img{width:150px;height:62px;margin-top:14px;}
  #comparison .compareHead h2{font-size:20px;line-height:1.15;}
  #comparison .compareHead p{font-size:12px;line-height:1.35;}
  #comparison .actions.noPrint{
    position:absolute;
    right:22px;
    top:285px;
    width:250px;
    margin:0;
    display:grid;
    gap:8px;
  }
  #comparison .actions.noPrint button{width:100%;}
}
/* En impresión se conserva la maquetación Carta existente. */
@media print{
  body.print-comparison #comparison.comparison{padding-right:0!important;}
  body.print-comparison #comparison .compareHead{position:static!important;width:auto!important;padding:0!important;border:0!important;border-radius:0!important;}
  body.print-comparison #comparison .actions.noPrint{display:none!important;}
}

/* V10.6 — Datos obligatorios de prospecto */
.requiredMark{color:#b42318;font-weight:700}.fieldInvalid{border-color:#b42318!important;box-shadow:0 0 0 2px rgba(180,35,24,.10)!important}.validationAlert{margin-top:14px;padding:11px 13px;border-radius:8px;background:#fde9e7;border:1px solid #b42318;color:#8a1710;font-weight:600}.identityGrid{align-items:start}
@media print{body:not(.print-comparison) .names{grid-template-columns:1.15fr .9fr 1fr!important;gap:6mm!important}}

/* V10.6.1 — Márgenes correctos en la carátula/resumen de comparativa al imprimir.
   Corrige el override de V10.5 sin alterar las páginas individuales de cada opción. */
@media print{
  body.print-comparison #comparison.comparison{
    box-sizing:border-box!important;
    width:215.9mm!important;
    padding-right:0!important;
  }
  body.print-comparison #comparison .compareHead{
    position:static!important;
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:8mm 9mm 0!important;
    border:0!important;
    border-radius:0!important;
  }
  body.print-comparison #comparison .compareSummaryBlock{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:0 9mm 7mm!important;
  }
  body.print-comparison #comparison .compareHead img{
    max-width:43mm!important;
    margin-right:0!important;
  }
}

/* V10.6.2 — Carátula comparativa: margen físico real independiente del encabezado de pantalla.
   La página 1 queda contenida 10 mm dentro de Carta; las páginas de opciones no cambian. */
@media print{
  body.print-comparison #comparison > .compareHead,
  body.print-comparison #comparison > .compareSummaryBlock{
    position:relative!important;
    left:10mm!important;
    right:auto!important;
    width:195.9mm!important; /* 215.9 mm Carta - 20 mm de márgenes */
    max-width:195.9mm!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  body.print-comparison #comparison > .compareHead{
    padding:8mm 0 0!important;
  }
  body.print-comparison #comparison > .compareSummaryBlock{
    padding:0 0 7mm!important;
  }
  body.print-comparison #comparison > .compareHead img{
    margin-right:0!important;
  }
  body.print-comparison #comparison > .compareSummaryBlock .tableWrap,
  body.print-comparison #comparison > .compareSummaryBlock table{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}


/* V10.6.3 — Leyenda legal fija en todas las páginas impresas */
.comparisonPrintLegal{display:none;}
@media print{
  /* Individual: mantiene el pie en la franja inferior y 2 pt por debajo del texto secundario. */
  body:not(.print-comparison) .legal{
    display:block!important;
    font-size:7.2pt!important;
    line-height:1.12!important;
    color:#707873!important;
  }

  /* Comparativa: position:fixed hace que Chrome repita el aviso en cada hoja impresa. */
  body.print-comparison .comparisonPrintLegal{
    display:block!important;
    position:fixed!important;
    left:10mm!important;
    right:10mm!important;
    bottom:4.5mm!important;
    margin:0!important;
    padding-top:1.2mm!important;
    border-top:1px solid #d9ddd9!important;
    font-size:6pt!important;
    line-height:1.12!important;
    color:#707873!important;
    background:#fff!important;
    z-index:9999!important;
  }
  /* Evita duplicar la antigua leyenda del resumen; el pie fijo ya aparece en esa página. */
  body.print-comparison .compareSummaryLegal{display:none!important;}
  /* Reserva espacio inferior en las fichas para que el pie nunca tape datos. */
  body.print-comparison .compareVisualPage{padding-bottom:14mm!important;}
}


/* V10.6.4 — Pie legal insertado físicamente en cada plantilla imprimible. */
.printLegalFooter{display:none;}
@media print{
  .printLegalFooter{
    display:block!important;
    box-sizing:border-box!important;
    font-size:6pt!important;
    line-height:1.15!important;
    font-weight:400!important;
    color:#707873!important;
    border-top:1px solid #d9ddd9!important;
    padding-top:1.2mm!important;
    background:#fff!important;
  }
  /* Ficha individual: el footer vive dentro de la propia hoja Carta. */
  body:not(.print-comparison) .summary{position:relative!important;}
  body:not(.print-comparison) .individualPrintLegal{
    position:absolute!important;
    left:9mm!important;
    right:9mm!important;
    bottom:5mm!important;
    margin:0!important;
    z-index:20!important;
  }
  /* Resumen comparativo: footer físico al final de la primera hoja. */
  body.print-comparison #comparison{position:relative!important;}
  body.print-comparison .compareSummaryFooter{
    position:absolute!important;
    left:10mm!important;
    width:195.9mm!important;
    top:267mm!important;
    margin:0!important;
    z-index:20!important;
  }
  /* Cada opción: footer propio dentro de su article de 279.4 mm. */
  body.print-comparison .compareVisualPage{position:relative!important;}
  body.print-comparison .compareOptionFooter{
    position:absolute!important;
    left:9mm!important;
    right:9mm!important;
    bottom:5mm!important;
    margin:0!important;
    z-index:20!important;
  }
  /* Desactiva los intentos anteriores para evitar duplicados. */
  body.print-comparison .comparisonPrintLegal{display:none!important;}
}
