.nhpc{border:1px solid #d8e2ec;border-radius:16px;padding:clamp(18px,3vw,32px);background:#fff;color:#10263a;max-width:1180px;margin:30px auto;box-shadow:0 9px 26px rgba(10,38,57,.045)}
.nhpc-head h2{font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);margin:0 0 8px}.nhpc-head p{color:#586c7e;margin:0 0 23px}.nhpc-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:25px}.nhpc-fields label{font-weight:700;font-size:13px}.nhpc-fields select{display:block;margin-top:7px;width:100%;padding:12px;border-radius:9px;border:1px solid #c9d7e5;background:#fff;color:#10263a}
.nhpc-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}.nhpc-photo{height:260px;background:#edf2f7;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#69798a;overflow:hidden}.nhpc-photo img{width:100%;height:100%;object-fit:cover}.nhpc-meta{padding:10px 0}.nhpc-meta a{color:#135a94}.nhpc-total{background:#f7f9fc;border:1px solid #e1e9f2;padding:18px 20px;border-radius:12px}.nhpc-total h3{margin:0 0 13px;font-size:19px}.nhpc-price{display:flex;gap:15px;justify-content:space-between;border-bottom:1px solid #e1e9ee;padding:10px 0;font-size:14px}.nhpc-price b{text-align:right;white-space:nowrap}.nhpc-price.strong{font-size:17px;color:#09263b;font-weight:700}.nhpc-warnings{color:#874e0f;font-size:13px;line-height:1.5}.nhpc-note{font-size:12px;color:#63758a;line-height:1.5}
@media(max-width:700px){.nhpc-fields,.nhpc-layout{grid-template-columns:1fr}.nhpc-photo{height:205px}.nhpc-price.strong{font-size:14px}}

.nhpc-map{height:340px;width:100%;border-radius:12px;overflow:hidden;background:#edf2f7;margin-bottom:8px}.nhpc-map-controls{display:flex;align-items:center;gap:14px;margin:7px 0}.nhpc-map-controls label{font-size:12px;font-weight:700}.nhpc-map-controls input{vertical-align:middle;margin-left:10px}.nhpc-photo{height:170px}@media(max-width:700px){.nhpc-map{height:250px}}

/* NexoHaus 2.3.7: project information and controlled cost overrides. */
.nhpc-specs,.nhprivate-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px}
.nhspec{border:1px solid #d9e3ec;border-radius:12px;padding:12px 14px;background:#f8fafc;min-width:0}
.nhspec-label{display:block;font-size:11px;font-weight:700;color:#597088;margin-bottom:5px}
.nhspec-value{display:block;font-size:14px;font-weight:750;color:#0b263a;overflow-wrap:anywhere;line-height:1.4}
.nhcost-editor{margin:18px 0;padding:16px;border:1px solid #dce6ed;background:#fff;border-radius:12px}
.nhcost-editor h4{font-size:16px;margin:0 0 6px;color:#0b263a}.nhcost-editor>p{font-size:12px;color:#52677b;margin:0 0 12px;line-height:1.5}
.nhcost-item{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}
.nhcost-item:last-child{border-bottom:0}.nhcost-item label{font-size:13px;font-weight:650;line-height:1.35;color:#102d42}
.nhcost-state{display:block;color:#687c8c;font-weight:400;font-size:11px;margin-top:3px}
.nhcost-item input{width:100%;max-width:100%;min-width:0;padding:9px 10px;border:1px solid #c8d6e2;border-radius:8px;font-size:13px;color:#09263b;background:#fff;box-sizing:border-box}
.nhcost-item input:focus{outline:2px solid #2e7785;outline-offset:1px}.nhcost-item input:disabled{opacity:.55;background:#f0f3f6}
.nhcost-foot{margin-top:12px;font-size:12px;color:#52677b}.nhcost-status{font-size:12px;font-weight:650;padding:10px;border-radius:9px;margin-top:12px;background:#f0f6f7;color:#125869}
@media(max-width:800px){.nhpc-specs,.nhprivate-specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.nhpc-specs,.nhprivate-specs{grid-template-columns:1fr}.nhcost-item{grid-template-columns:1fr}}
@media print{.nhcost-editor input{border:0!important;background:transparent!important}.nhcost-editor{break-inside:avoid}}

/* 2.3.8: public land facts visible before the cadastral map, including no-JS fallback. */
.nhpc .nhpc-technical{display:block!important;width:100%;margin:0 0 22px;clear:both}
.nhpc .nhpc-technical h3{font-size:clamp(19px,2vw,24px);color:#0b263a;margin:0 0 5px;font-weight:750}
.nhpc .nhpc-technical>p{font-size:13px;color:#52677b;margin:0 0 16px;line-height:1.5}
.nhpc .nhpc-technical .nhpc-specs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
@media(max-width:900px){.nhpc .nhpc-technical .nhpc-specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nhpc .nhpc-technical .nhpc-specs{grid-template-columns:1fr}}

/* NexoHaus 2.3.9 PDF buttons */
.nh-pdf-download,.nhprivate-print{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#0b2739;color:#fff;border:1px solid #0b2739;border-radius:10px;padding:12px 18px;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;transition:background .2s}
.nh-pdf-download:hover,.nhprivate-print:hover{background:#18495b;color:#fff}.nhpc-pdf{float:right;margin:0 0 15px 20px}.nhprivate-print-secondary{background:#fff;color:#0b2739}.nhprivate-print-secondary:hover{color:#fff}@media(max-width:680px){.nhpc-pdf{float:none;display:flex;width:100%;margin:0 0 16px}}
@media print{.nh-pdf-download,[data-nh-pdf]{display:none!important}}


/* 2.4.0: parcel allocation simulator used by all three configurators */
.nh-lot-planner{background:#f3f7fa;border:1px solid #cddde8;border-radius:14px;padding:18px 20px;margin:4px 0 24px;color:#0b2739}
.nh-lot-planner h3{font-size:19px;font-weight:750;margin:0 0 6px;color:#0b2739}.nh-lot-planner p{font-size:13px;line-height:1.55;color:#52677b;margin:0 0 12px}
.nh-lot-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:14px 0}.nh-lot-controls label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:#102d42}.nh-lot-controls input[type=radio]{accent-color:#0e5065;width:17px;height:17px}.nh-lot-custom input{width:95px;border:1px solid #b9cfdd;border-radius:8px;padding:8px 10px;background:white}.nh-lot-custom input:disabled{opacity:.5}.nh-lot-buildability{margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #d9e6ef;color:#123449;min-width:220px;max-width:100%;justify-content:space-between;flex:0 1 auto}.nh-lot-buildability-label{font-size:11px;font-weight:700;color:#516a7d}.nh-lot-buildability strong{font-size:14px;line-height:1.2;color:#0b2739;white-space:nowrap}
.nh-lot-result{background:#fff;border-radius:9px;padding:11px 13px;font-size:13px;font-weight:700;color:#123449}.nh-lot-planner .nh-lot-alert{margin:10px 0 0;font-size:11px;color:#8a531d}
@media(max-width:560px){.nh-lot-planner{padding:15px}.nh-lot-controls{flex-direction:column;align-items:flex-start;gap:12px}.nh-lot-buildability{margin-left:0;width:100%;min-width:0;flex-direction:column;align-items:flex-start}}

/* 2.4.1: the public price card highlights the imputable cost PER resulting parcel. */
.nhpc .nhspec--unit{background:#e9f4f5;border-color:#93c4c6}
.nhpc .nhspec--unit .nhspec-value{font-size:18px;color:#0a4655}
.nhpc .nh-lot-result{line-height:1.7}

/* 2.4.4: compact urbanistic capacity badge at parcel selector, same typography as labels. */
.nh-lot-planner .nh-lot-controls .nh-lot-buildability{margin-left:auto;min-width:0;max-width:100%;padding:7px 10px;gap:8px;border-radius:9px;box-sizing:border-box;display:flex;align-items:center;background:#fff;border:1px solid #d9e6ef;flex:0 1 auto}
.nh-lot-planner .nh-lot-buildability-label{font-size:12px;font-weight:650;line-height:1.3;color:#52677b;letter-spacing:0;text-transform:none}
.nh-lot-planner .nh-lot-buildability strong{font-size:13px;font-weight:750;line-height:1.35;white-space:nowrap;color:#102d42;letter-spacing:0}
@media(max-width:1050px){.nh-lot-planner .nh-lot-controls .nh-lot-buildability{margin-left:0}}
@media(max-width:560px){.nh-lot-planner .nh-lot-controls .nh-lot-buildability{width:100%;justify-content:space-between}}
/* 2.4.5 - Transparent acquisition, tax and exterior project budgeting. */
.nh-project-costs{margin:18px 0;padding:16px;border:1px solid #dce6ed;border-radius:12px;background:#fff;color:#10283d}.nh-project-costs>h4{font-size:17px;margin:0 0 9px}.nhproj-help{display:block;color:#52677b;font-size:12px;line-height:1.6;margin:8px 0 13px}.nhproj-group{margin-top:18px}.nhproj-group h5{margin:0 0 10px;font-size:14px;color:#10283d}.nhproj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nhproj-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:650;color:#344b5f}.nhproj-field input,.nhproj-field select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #c8d6e2;border-radius:8px;background:#fff;padding:9px;color:#10283d;font-size:12px}.nhproj-cost-line{display:grid;grid-template-columns:1fr 108px;gap:10px;align-items:center;border-bottom:1px solid #edf1f5;padding:8px 0;font-size:12px}.nhproj-check{display:flex;align-items:center;gap:7px;line-height:1.3}.nhproj-check input{accent-color:#0e5065}.nhproj-money{min-width:0;width:100%;box-sizing:border-box;border:1px solid #c8d6e2;border-radius:7px;padding:8px;font-size:12px}.nhproj-money:disabled{opacity:.4}.nhproj-references{background:#f3f7fa;border:1px solid #d9e6ed;padding:12px;border-radius:9px;margin-top:18px}.nhproj-references strong{font-size:13px}.nhproj-result{background:#e9f4f5;border:1px solid #9cc7ca;border-radius:9px;padding:12px;font-size:12px;font-weight:700;margin-top:15px;line-height:1.6}@media(max-width:600px){.nhproj-grid{grid-template-columns:1fr}.nhproj-cost-line{grid-template-columns:1fr}}

/* NexoHaus 2.4.6: incompatibilidad urbanistica destacada en todos los configuradores. */
.nh-fit-notice{box-sizing:border-box;background:#fff1ef;border:2px solid #c24136;border-left-width:6px;color:#86251c;border-radius:11px;padding:14px 18px;font-size:14px;font-weight:750;line-height:1.55;margin:4px 0 22px;}
.nh-fit-notice[hidden]{display:none!important;}

/* 2.4.7: count and explicit policy for incompatible models in the public selector */
.nhpc-house-count{display:block;margin-top:7px;font-size:12px;line-height:1.45;font-weight:500;color:#536b7e}
