.project-availability{padding-bottom:80px}.project-intro{max-width:820px}.project-intro p{margin-bottom:12px}.project-demo{padding:16px 20px;background:#fff5da;border:1px solid #dcc58c;border-radius:12px;color:#6f5524;font-size:14px}.project-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 12px}.project-stat{display:flex;align-items:center;gap:15px;padding:20px 24px;border:1px solid #e1e6e2;border-radius:16px;background:white}.project-stat strong{font-size:32px}.project-stat--disponible strong{color:#226542}.project-stat--reservada strong{color:#976114}.project-stat--vendida strong{color:#647181}.project-sync{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;font-size:12px;color:#5f6b70}.project-sync p{margin:0}.project-sync .inmo-btn{font-size:12px;padding:9px 16px}.is-stale{color:#9b402d}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.project-map-card,.project-detail{background:#fff;border:1px solid #e6e4df;border-radius:20px;padding:24px}.project-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.project-section-head h2{font-size:24px;margin:4px 0}.project-section-head>span{font-size:12px;color:#6b747b}.project-map-help{font-size:12px;color:#69727a;line-height:1.6}.inmo-plan{position:relative;width:100%;overflow:hidden;border:1px solid #dedfdc;border-radius:12px;background:repeating-linear-gradient(0deg,#f1f0e9 0px,#f1f0e9 39px,#e9e8e0 40px);min-height:150px}.inmo-plan img,.inmo-plan svg{position:absolute;inset:0;width:100%;height:100%;display:block}.inmo-plan img{object-fit:fill}.inmo-plan img[hidden]{display:none}.inmo-parcel{stroke:#fff;stroke-width:.45;fill-opacity:1;vector-effect:non-scaling-stroke;stroke-width:2px}.inmo-parcel--disponible{fill:#347959}.inmo-parcel--reservada{fill:#bb8737}.inmo-parcel--vendida{fill:#7b838c}.inmo-parcel-label{font-size:3px;font-family:Inter,Arial,sans-serif;fill:white;font-weight:600;pointer-events:none;paint-order:stroke;stroke:#102d32;stroke-width:.1px}.inmo-parcel-group{cursor:pointer}.inmo-parcel-group:hover .inmo-parcel,.inmo-parcel-group:focus .inmo-parcel,.inmo-parcel-group.is-selected .inmo-parcel{stroke:#172c49;stroke-width:4px;fill-opacity:1}.inmo-parcel-group:focus{outline:none}.inmo-parcel-group.is-muted{opacity:.25}.project-no-plan{position:absolute;inset:0;display:grid;place-items:center;padding:25px;text-align:center;color:#5e6d64}.project-no-plan[hidden]{display:none}.project-legend{display:flex;flex-wrap:wrap;gap:20px;margin:18px 0 0;font-size:12px}.project-legend span{display:flex;align-items:center;gap:7px}.project-legend i{width:10px;height:10px;border-radius:3px}.legend-available{background:#347959}.legend-reserved{background:#bb8737}.legend-sold{background:#7b838c}.project-detail{position:sticky;top:105px}.project-detail h2{font-size:25px;margin:14px 0}.lot-state{display:inline-block;font-size:11px;font-weight:600;border-radius:30px;padding:5px 11px}.lot-state--disponible{background:#e5f3e9;color:#205d3b}.lot-state--reservada{background:#fff0cf;color:#7a5619}.lot-state--vendida{background:#eaedf0;color:#526170}.lot-stage{font-size:12px;color:#8a703f}.lot-detail-price{font-size:26px;font-weight:600;margin:12px 0}.lot-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:13px}.lot-detail-facts dt{color:#6a7379}.lot-detail-facts dd{margin:0;text-align:right}.lot-state-note{font-size:13px;background:#f4f3ef;padding:12px;border-radius:8px}.project-detail:focus{outline:2px solid #b69a61;outline-offset:3px}.project-list-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:45px}.project-list-head h2{font-size:28px;margin:8px 0}.project-filters{display:flex;gap:12px}.project-filters label{display:grid;gap:7px;font-size:11px;color:#65707b}.project-filters select,.project-filters input{padding:12px;border:1px solid #deded8;border-radius:9px;background:#fff;max-width:210px;font:inherit;font-size:13px}.project-lots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.project-lot{padding:20px;border:1px solid #e6e4df;border-radius:16px;background:#fff}.project-lot h3{font-family:Inter,Arial,sans-serif;font-size:19px;margin:15px 0 6px}.project-lot p{font-size:13px;margin:8px 0}.project-lot>strong{font-size:19px}.project-lot .inmo-btn{width:100%;font-size:12px;margin-top:12px}.project-archive{padding-bottom:80px}.project-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-archive-card{overflow:hidden;border:1px solid #e4e1db;border-radius:20px;background:white}.project-archive-card img{width:100%;height:240px;object-fit:cover}.project-archive-card>div{padding:28px}.project-archive-card h2{font-size:26px;margin:12px 0}.project-archive-card h2 a{color:inherit;text-decoration:none}.project-archive-count{color:#426f55}.inmo-plan--editor{max-width:950px;cursor:crosshair;margin:20px 0}.inmo-plan-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.inmo-inventory-wrap{overflow:auto}.inmo-inventory td{vertical-align:middle}.inmo-drawing{fill:none;stroke:#192d49;stroke-width:.5;stroke-dasharray:1}.inmo-drawing-point{fill:#172c49}.property-availability-note{border:1px solid #d7c7a0;border-radius:12px;padding:16px 20px;background:#faf2df;margin:24px 0}.property-preventa{border:1px solid #e4dfd1;border-radius:16px;padding:22px;margin:25px 0;background:#fbfaf6}.property-preventa h2{font-size:22px}.property-preventa dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px}.property-preventa dd{margin:0}.property-preventa p{white-space:pre-line}.project-preview-link{margin-top:16px}
@media(max-width:1000px){.project-layout{grid-template-columns:minmax(0,1fr) 270px}.project-lots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.project-stats{gap:8px}.project-stat{padding:13px 8px;display:grid;gap:3px;text-align:center}.project-stat strong{font-size:26px}.project-stat span{font-size:11px}.project-sync{align-items:start}.project-layout{grid-template-columns:1fr}.project-map-card,.project-detail{padding:18px}.project-detail{position:static}.project-section-head h2{font-size:22px}.project-map-help{font-size:11px}.project-legend{gap:12px;font-size:11px}.project-list-head{display:block}.project-filters{margin-top:18px;display:grid;grid-template-columns:1fr 1fr}.project-filters input,.project-filters select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.project-lots{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-lot{padding:15px 12px}.project-lot h3{font-size:16px}.project-lot .inmo-btn{padding:10px 6px;font-size:11px}.project-archive-grid{grid-template-columns:1fr}.project-archive-card>div{padding:22px}.project-demo{font-size:12px}.property-preventa dl{grid-template-columns:1fr}.project-intro{font-size:14px}}
@media(prefers-reduced-motion:reduce){.project-detail{scroll-behavior:auto}}
.inmo-plan-layer{position:absolute;inset:0;transform-origin:center}.project-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:15px 0}.project-zoom button{border:1px solid #dddcd6;background:#fff;border-radius:8px;color:#1a2f4c;padding:8px 12px;cursor:pointer;font:inherit;font-size:12px}.project-zoom button:disabled{opacity:.4;cursor:default}.project-zoom span{font-size:11px;color:#687371}.inmo-plan.is-zoomed{touch-action:none;cursor:grab}.inmo-plan.is-zoomed:active{cursor:grabbing}.project-zoom button:focus-visible{outline:2px solid #1a2f4c;outline-offset:2px}
.project-progress{margin-top:48px;padding-top:30px;border-top:1px solid #e3dfd4}.project-progress h2{font-size:28px}.project-progress-text{white-space:pre-line;max-width:800px}.project-progress-images{display:flex;flex-wrap:wrap;gap:12px}.project-progress-images img{max-width:calc(33.333% - 12px);height:180px;object-fit:cover;border-radius:10px}.inmo-project-progress{margin:20px 0;padding:16px;border:1px solid #ddd;border-radius:8px}.inmo-project-progress summary{cursor:pointer;font-weight:600}.inmo-project-progress .project-progress-images img{width:100px;height:80px;max-width:100px}@media(max-width:700px){.project-progress-images img{max-width:calc(50% - 6px);height:130px}}
.project-detail{scroll-margin-top:110px}

.project-progress-video{margin:0;width:calc(33.333% - 12px);min-width:0}.project-progress-video video{width:100%;height:180px;object-fit:contain;background:#142132;border-radius:10px}.project-progress-video figcaption{font-size:13px;margin-top:5px}.inmo-video-preview{display:inline-flex;align-items:center;justify-content:center;width:100px;height:80px;background:#142132;color:white;padding:8px;box-sizing:border-box;overflow:hidden;text-align:center;font-size:12px}.inmo-gal .inmo-video-preview{width:100%;height:100%}@media(max-width:700px){.project-progress-video{width:100%}.project-progress-video video{height:auto;aspect-ratio:16/9}}

/* Editor del plano (panel): marco amplio, zoom, arrastre y pantalla completa */
.inmo-plan-stage{margin:16px 0 20px;background:#fff}
.inmo-plan-viewbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.inmo-plan-viewbar .button{min-width:36px}
.inmo-plan-zoomlevel{font-weight:600;min-width:52px;text-align:center}
.inmo-plan-viewbar .description{margin:0 6px}
.inmo-plan-fs{margin-left:auto!important}
.inmo-plan-frame{position:relative;height:min(78vh,900px);min-height:420px;overflow:hidden;border:1px solid #dcdcde;border-radius:12px;background:#f3f4f6;touch-action:none;cursor:crosshair}
.inmo-plan-frame.is-panning{cursor:grabbing}
.inmo-plan-frame .inmo-plan--editor{position:absolute;top:0;left:0;width:100%;max-width:none;margin:0;border:0;border-radius:0;transform-origin:0 0;will-change:transform;user-select:none}
.inmo-plan-frame .inmo-plan--editor img{pointer-events:none}
.inmo-plan-stage.is-fullscreen{display:flex;flex-direction:column;padding:14px 16px;margin:0;background:#fff}
.inmo-plan-stage.is-fullscreen .inmo-plan-frame{flex:1;height:auto;max-height:none}
.inmo-plan-stage:fullscreen{display:flex;flex-direction:column;padding:14px 16px;background:#fff}
.inmo-plan-stage.is-fullscreen .inmo-plan-tools{margin:0 0 8px}.inmo-plan-stage.is-fullscreen [data-draw-status]{margin:0 0 8px}
/* Borde de lotes más fino (en pantallas pequeñas 2px blancos tapaban los lotes) */
.inmo-parcel{stroke:rgba(255,255,255,.9);stroke-width:1px}
.inmo-parcel-group:hover .inmo-parcel,.inmo-parcel-group:focus .inmo-parcel,.inmo-parcel-group.is-selected .inmo-parcel{stroke-width:2.5px}
@media (max-width:700px){
	.inmo-parcel{stroke-width:.6px}
	.inmo-parcel-group:hover .inmo-parcel,.inmo-parcel-group:focus .inmo-parcel,.inmo-parcel-group.is-selected .inmo-parcel{stroke-width:1.5px}
}
.inmo-plan-stage.is-pseudo-fullscreen{position:fixed;inset:0;z-index:100000;overflow:auto}
/* Colores de estado configurables (Ajustes → Inmobiliaria). Valores por defecto si no hay ajuste. */
:root{--lote-disponible:#347959;--lote-reservada:#bb8737;--lote-vendida:#c0392b}
.inmo-parcel--disponible{fill:var(--lote-disponible)}
.inmo-parcel--reservada{fill:var(--lote-reservada)}
.inmo-parcel--vendida{fill:var(--lote-vendida)}
.legend-available{background:var(--lote-disponible)}
.legend-reserved{background:var(--lote-reservada)}
.legend-sold{background:var(--lote-vendida)}
.project-stat--disponible strong{color:color-mix(in srgb,var(--lote-disponible) 80%,#000)}
.project-stat--reservada strong{color:color-mix(in srgb,var(--lote-reservada) 80%,#000)}
.project-stat--vendida strong{color:color-mix(in srgb,var(--lote-vendida) 80%,#000)}
.lot-state--disponible{background:color-mix(in srgb,var(--lote-disponible) 14%,#fff);color:color-mix(in srgb,var(--lote-disponible) 75%,#000)}
.lot-state--reservada{background:color-mix(in srgb,var(--lote-reservada) 16%,#fff);color:color-mix(in srgb,var(--lote-reservada) 70%,#000)}
.lot-state--vendida{background:color-mix(in srgb,var(--lote-vendida) 14%,#fff);color:color-mix(in srgb,var(--lote-vendida) 75%,#000)}

/* Ubicación del proyecto */
.project-location{margin-top:45px;background:#fff;border:1px solid #e6e4df;border-radius:20px;padding:24px}
.project-location__dir{display:flex;align-items:center;gap:6px;color:#4a4f55;margin:6px 0 14px}
.project-location__map{height:380px;border-radius:14px;overflow:hidden;border:1px solid #e1e1dc;z-index:0}
.project-location__actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
@media(max-width:600px){.project-location{padding:18px}.project-location__map{height:300px}}

/* Plano público al estilo de la app: relleno aclarado, contorno fuerte del color y texto negro (número, área y medidas) */
.inmo-parcel{--c:var(--lote-disponible);fill:color-mix(in srgb,var(--c) 70%,#fff);stroke:var(--c);stroke-width:1px}
.inmo-parcel--disponible{--c:var(--lote-disponible)}.inmo-parcel--reservada{--c:var(--lote-reservada)}.inmo-parcel--vendida{--c:var(--lote-vendida)}
.inmo-ptext{fill:#000;font-family:Inter,Arial,Helvetica,sans-serif;font-weight:700;pointer-events:none;user-select:none}
.inmo-parcel-group.is-muted .inmo-ptext{opacity:.4}
@media(max-width:700px){.inmo-parcel{stroke-width:.6px}.inmo-parcel-group:hover .inmo-parcel,.inmo-parcel-group:focus .inmo-parcel,.inmo-parcel-group.is-selected .inmo-parcel{stroke-width:1.5px}}

/* Apariencia del plano (variables fijadas por plano-render.js desde la apariencia del proyecto) */
.inmo-parcel{fill-opacity:var(--fill-op,1);stroke:var(--borde,var(--c));stroke-width:calc(1px*var(--sw,1))}
.inmo-parcel-group:hover .inmo-parcel,.inmo-parcel-group:focus .inmo-parcel,.inmo-parcel-group.is-selected .inmo-parcel{stroke-width:calc(2.5px*var(--sw,1))}
@media(max-width:700px){.inmo-parcel{stroke-width:calc(.6px*var(--sw,1))}.inmo-parcel-group:hover .inmo-parcel,.inmo-parcel-group:focus .inmo-parcel,.inmo-parcel-group.is-selected .inmo-parcel{stroke-width:calc(1.5px*var(--sw,1))}}
.inmo-rotulo{pointer-events:none;user-select:none}
/* Editor de manzanas, rótulos y apariencia */
.inmo-ed-panel{margin:14px 0;border:1px solid #dcdcde;border-radius:6px;background:#fff}.inmo-ed-panel>summary{cursor:pointer;padding:10px 14px;font-weight:600}.inmo-ed-body{padding:4px 14px 14px}
.inmo-ed-table{width:100%;border-collapse:collapse}.inmo-ed-table th,.inmo-ed-table td{padding:5px 6px;text-align:left;vertical-align:middle;border-bottom:1px solid #f0f0f1}.inmo-ed-table input[type=text],.inmo-ed-table input[type=number],.inmo-ed-table select{width:100%;min-width:60px}
.inmo-ed-cats{margin:4px 0 0 18px}.inmo-ed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 18px}.inmo-ed-grid label{display:grid;gap:3px;font-size:12px}
.inmo-handle{fill:#fff;stroke:#172c49;stroke-width:1.5px;cursor:move;vector-effect:non-scaling-stroke}.inmo-handle--mid{fill:#172c49;opacity:.5;cursor:copy}
.inmo-rotulo-sel{outline:none}.inmo-readonly-note{background:#f0f6fc;border-left:4px solid #72aee6;padding:8px 12px;margin:10px 0}

/* Zoom del plano público: el pellizco de dos dedos lo maneja el plano, no la página */
.inmo-plan{touch-action:pan-x pan-y}.inmo-plan.is-zoomed{touch-action:none}
.inmo-plan-layer img{image-rendering:auto}
.project-map-card:fullscreen,.project-map-card.is-plan-pseudo-fs{background:#fff;overflow:auto;padding:12px 16px;border-radius:0}
.project-map-card.is-plan-pseudo-fs{position:fixed;inset:0;z-index:100000;margin:0}
.is-plan-fullscreen .inmo-plan{width:min(100%,calc((100vh - 170px) * var(--plan-ratio,1.6)));margin:0 auto}

/* Forma del lote en la ficha lateral */
.lot-detail-shape{margin:14px 0 6px;padding:10px;border:1px solid #ecebe6;border-radius:12px;background:#fbfaf7}.lot-detail-shape svg{display:block;width:100%;height:auto;max-height:240px}.lot-detail-shape figcaption{font-size:11px;color:#69727a;margin-top:6px;text-align:center}

/* Controles de zoom flotantes sobre el plano */
.plan-ctrl{position:absolute;right:10px;bottom:10px;z-index:3;display:flex;flex-direction:column;background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(16,32,48,.22);overflow:hidden}
.plan-ctrl button{width:42px;height:42px;padding:0;margin:0;border:0;border-bottom:1px solid #ecebe6;border-radius:0;background:#fff;color:#1a2f4c;display:grid;place-items:center;cursor:pointer}
.plan-ctrl button:last-child{border-bottom:0}.plan-ctrl button:hover:not(:disabled){background:#f3f2ee}.plan-ctrl button:disabled{color:#b9bec4;cursor:default}
.plan-ctrl button:focus-visible{outline:2px solid #1a2f4c;outline-offset:-3px}
.plan-zoom-level{position:absolute;left:10px;top:10px;z-index:3;padding:3px 10px;border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(16,32,48,.18);font-size:11px;font-weight:600;color:#1a2f4c;pointer-events:none}
.plan-zoom-level[hidden]{display:none}
.project-zoom.is-compact{margin:6px 0 10px}
@media(max-width:700px){.plan-ctrl button{width:40px;height:40px}}
.inmo-plan .plan-ctrl svg{position:static;inset:auto;width:20px;height:20px;display:block}
.plan-ctrl{top:10px;bottom:auto}

/* Editor: el zoom cambia el tamaño real del plano; sin will-change para que el navegador lo vuelva a dibujar nítido */
.inmo-plan-frame .inmo-plan--editor{will-change:auto;aspect-ratio:auto!important;max-width:none}

/* Plano público más alto en el celular: el recuadro ya no sigue la proporción del plano */
@media(max-width:700px){.inmo-plan[data-plan-canvas]{aspect-ratio:auto!important;height:min(62vh,540px);background:#f4f3ee}}
.is-plan-fullscreen .inmo-plan[data-plan-canvas]{width:100%;aspect-ratio:auto!important;height:calc(100vh - 150px)}
