/* CoCo Mapa v11 — mapa base MapTiler + estética de pines y grupos.
   Todo cuelga de html.coco-terrain, que pone coco-terrain.js. Con ?mapa=clasico no se aplica nada. */

/* ---------- selector de estilo del mapa ---------- */
.coco-mapa-sel{position:absolute;z-index:6;right:10px;top:10px;font:700 12px/1 Inter,system-ui,sans-serif}
#mapa-wrap:not(.mapa-wrap) .coco-mapa-sel{right:14px;top:84px;z-index:10041}
.coco-mapa-sel button{-webkit-appearance:none;appearance:none;border:0;margin:0;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.coco-mapa-sel .ct-abrir{display:flex;align-items:center;gap:7px;height:38px;padding:0 13px 0 11px;border-radius:12px;background:rgba(17,23,22,.92);color:#fff;
  box-shadow:0 6px 18px rgba(10,25,22,.28);margin-left:auto}
.coco-mapa-sel .ct-abrir i{width:17px;height:17px;background:#fff;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M12 3 3 8l9 5 9-5-9-5Z%22/><path d=%22m3 13 9 5 9-5%22/><path d=%22m3 17.5 9 5 9-5%22 opacity=%22.55%22/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M12 3 3 8l9 5 9-5-9-5Z%22/><path d=%22m3 13 9 5 9-5%22/><path d=%22m3 17.5 9 5 9-5%22 opacity=%22.55%22/></svg>") center/contain no-repeat}
.coco-mapa-sel .ct-abrir b{font-weight:700;letter-spacing:.01em}
.coco-mapa-sel .ct-menu{display:none;position:absolute;right:0;top:44px;width:176px;padding:6px;border-radius:14px;background:rgba(17,23,22,.96);
  box-shadow:0 14px 34px rgba(10,25,22,.38)}
.coco-mapa-sel.abierto .ct-menu{display:block}
.coco-mapa-sel .ct-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:10px;background:transparent;color:rgba(255,255,255,.82);text-align:left}
.coco-mapa-sel .ct-menu button:hover{background:rgba(255,255,255,.08)}
.coco-mapa-sel .ct-menu button i{flex:none;width:34px;height:26px;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.coco-mapa-sel .ct-menu button.on{background:rgba(47,224,138,.16);color:#fff}
.coco-mapa-sel .ct-menu button.on i{box-shadow:0 0 0 2px #2fe08a}

/* ---------- crédito del mapa (logo y texto obligatorios por la licencia de MapTiler) ---------- */
.coco-terrain-credito{position:absolute;z-index:3;right:10px;top:54px;display:flex;align-items:center;gap:6px;padding:3px 7px;border-radius:8px;
  background:rgba(255,255,255,.78);color:#33413d;font:500 9.5px/1.3 Inter,system-ui,sans-serif;white-space:nowrap}
#mapa-wrap:not(.mapa-wrap) .coco-terrain-credito{right:14px;top:128px;z-index:10039}
.coco-terrain-credito a{color:inherit;text-decoration:none}
.coco-terrain-credito .ct-logo{display:flex}
.coco-terrain-credito img{display:block;height:13px;width:auto}
html.coco-terrain .maplibregl-ctrl-attrib{display:none!important}
html.coco-mapa-sin-maptiler .maplibregl-ctrl-attrib{display:block!important}
@media (max-width:760px){
  .coco-mapa-sel .ct-abrir{height:36px;padding:0 11px 0 10px}
  .coco-terrain-credito{font-size:8.5px;padding:2px 6px}
  .coco-terrain-credito img{height:11px}
}

html.coco-terrain .maplibregl-marker{opacity:1!important}

/* =====================================================================
   TERRENOS · misma familia visual que alquileres: tarjeta oscura con el precio arriba,
   dibujo del lote abajo, tallo y punto apoyado en el lugar exacto
   ===================================================================== */
html.coco-terrain{--ct-lote:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 16l9-5 9 5-9 5z%22/%3E%3Cpath d=%22M12 11V3l5 2-5 2%22/%3E%3C/svg%3E")}





/* punto apoyado sobre el terreno */




/* como en alquileres: precio arriba y el dibujo abajo, sin texto */

/* dibujo del lote, del color del estado */

/* el rombo de antes pasa a ser el tallo que baja hasta el punto */




html.coco-terrain #mapa-wrap .coco-signal-star{position:absolute;top:-9px;right:-9px;margin:0!important;width:18px;height:18px;padding:0!important;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#ffd45c!important;color:#1a2321!important;font-size:10px!important}

/* ---------- terrenos · pin chico (de lejos): tarjeta chica con el lote, tallo corto y punto ---------- */
html.coco-terrain #mapa-wrap .coco-mini-pin{position:absolute!important;left:0;top:0;width:28px!important;height:28px!important;translate:0 -18px;filter:none!important;
  transform:none;border-radius:10px;background:rgba(17,23,22,.9);border:1px solid rgba(255,255,255,.18);
  box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 -3px 0 var(--signal,#b8c4c0)}
html.coco-terrain #mapa-wrap .coco-mini-pin-head{left:5px!important;top:4px!important;bottom:auto!important;width:18px!important;height:18px!important;
  transform:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--signal,#b8c4c0)!important;
  -webkit-mask:var(--ct-lote) center/contain no-repeat;mask:var(--ct-lote) center/contain no-repeat}
html.coco-terrain #mapa-wrap .coco-mini-pin-head::after{display:none!important}
html.coco-terrain #mapa-wrap .coco-mini-pin::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:20px;margin-left:-1px;border-radius:2px;
  background:linear-gradient(to bottom,rgba(255,255,255,.95),rgba(255,255,255,.25));pointer-events:none}
html.coco-terrain #mapa-wrap .coco-mini-pin::before{content:"";position:absolute;left:50%;top:calc(100% + 20px);width:8px;height:8px;margin-left:-4px;border-radius:50%;
  background:var(--signal,#b8c4c0);box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 0 5px rgba(255,255,255,.16);pointer-events:none}
html.coco-terrain #mapa-wrap .coco-mini-pin i{top:-8px!important;left:auto!important;right:-8px!important;transform:none!important;background:#ffd45c!important;color:#1a2321!important;border-color:rgba(17,23,22,.9)!important}
html.coco-terrain #mapa-wrap .coco-mini-pin-wrap.is-hover .coco-mini-pin,
html.coco-terrain #mapa-wrap .coco-mini-pin-wrap.is-selected .coco-mini-pin{transform:scale(1.18)!important;transform-origin:center bottom;background:rgba(8,13,12,.96);border-color:rgba(255,255,255,.6)}

/* ---------- terrenos · grupo: aro que muestra cuántas oportunidades hay adentro, centro oscuro ---------- */
html.coco-terrain #mapa-wrap .coco-cluster-pin{filter:none!important}
html.coco-terrain #mapa-wrap .coco-cluster-pin-core{position:relative;transform:none!important;border-radius:50%!important;border:3px solid #fff!important;
  background:#c3d93b!important;box-shadow:0 4px 10px rgba(0,0,0,.4)!important;
  display:flex!important;align-items:center;justify-content:center;flex:none;box-sizing:border-box!important}
html.coco-terrain #mapa-wrap .coco-cluster-pin-core::before{content:"";position:absolute;inset:5px;border-radius:50%;background:rgba(17,23,22,.94)}
html.coco-terrain #mapa-wrap .coco-cluster-pin-core b{position:relative;transform:none!important;color:#fff!important}
/* sin el cartelito de oportunidades debajo: esa parte ya se ve en verde en el aro, igual que en alquileres */
html.coco-terrain #mapa-wrap .coco-cluster-pin small{display:none!important}
/* el círculo queda centrado sobre el lugar, como en alquileres */
html.coco-terrain #mapa-wrap .coco-cluster-pin{height:62px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important}
html.coco-terrain #mapa-wrap .coco-cluster-pin-core{translate:0 calc(50% - 4px)}
html.coco-terrain #mapa-wrap .coco-cluster-pin-core b{font:800 15px/1 Quicksand,Inter,sans-serif!important}

/* etiquetas de zona sobre satélite o mapa oscuro */
html.coco-terrain[data-coco-mapa=satelite] #mapa-wrap .zlabel,html.coco-terrain[data-coco-mapa=oscuro] #mapa-wrap .zlabel{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 10px rgba(0,0,0,.6)!important}

/* =====================================================================
   ALQUILERES · pin con precio: misma familia visual
   ===================================================================== */
html.coco-terrain .mapa-wrap .pin{--c:#e8eeec;translate:0 calc(-50% - 26px);
  background:rgba(17,23,22,.9)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-style:solid!important;
  box-shadow:0 4px 10px rgba(0,0,0,.38),inset 0 -3px 0 var(--c)!important}
html.coco-terrain .mapa-wrap .pin.e-barato{--c:#2fe08a}
html.coco-terrain .mapa-wrap .pin.e-precio{--c:#d9ef4e}
html.coco-terrain .mapa-wrap .pin.e-caro{--c:#ff6b5e}
html.coco-terrain .mapa-wrap .pin.e-sin{--c:#b8c4c0}
html.coco-terrain .mapa-wrap .pin svg{color:var(--c)!important}
html.coco-terrain .mapa-wrap .pin.aprox{border:1px dashed rgba(255,255,255,.55)!important}
/* tallo */
html.coco-terrain .mapa-wrap .pin::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:22px;margin-left:-1px;border-radius:2px;
  background:linear-gradient(to bottom,rgba(255,255,255,.95),rgba(255,255,255,.25));pointer-events:none}
/* punto en el suelo */
html.coco-terrain .mapa-wrap .pin::before{content:"";position:absolute;left:50%;top:calc(100% + 21px);width:10px;height:10px;margin-left:-5px;border-radius:50%;
  background:var(--c);box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 0 6px rgba(255,255,255,.16);pointer-events:none}
html.coco-terrain .mapa-wrap .pin .n{background:#fff!important;color:#111817!important}
html.coco-terrain .mapa-wrap .pin:hover,html.coco-terrain .mapa-wrap .pin.sel{background:rgba(8,13,12,.96)!important;border-color:rgba(255,255,255,.6)!important}
html.coco-terrain .mapa-wrap .pin.sel{outline:2px solid #fff!important;outline-offset:2px}
/* de lejos: tarjeta chica, tallo corto */
html.coco-terrain .mapa-wrap.lejos .pin{translate:0 calc(-50% - 16px)}
html.coco-terrain .mapa-wrap.lejos .pin::after{height:13px}
html.coco-terrain .mapa-wrap.lejos .pin::before{top:calc(100% + 12px);width:8px;height:8px;margin-left:-4px}

/* grupo de alquileres: aro de colores sobre centro oscuro */
html.coco-terrain .mapa-wrap .globo{border-color:rgba(255,255,255,.92)!important;box-shadow:0 4px 10px rgba(0,0,0,.4)!important}
html.coco-terrain .mapa-wrap .globo::before{background:rgba(17,23,22,.94)!important}
html.coco-terrain .mapa-wrap .globo b{color:#fff!important}
html.coco-terrain .mapa-wrap .globo.sel{outline-color:#fff!important}

/* alquileres: sin la mancha de zonas caras/baratas (ni su botón ni su referencia) */
html.coco-terrain #btn-zonas,html.coco-terrain .ley-zonas{display:none!important}/* en celular (alquileres) el crédito va abajo, entre el botón de información y el zoom */
@media (max-width:760px){html.coco-terrain .mapa-wrap .coco-terrain-credito{top:auto;bottom:8px;left:54px;right:auto}}

/* =====================================================================
   v5 · TERRENOS · sin neblina arriba del mapa y filtros rápidos bien centrados
   ===================================================================== */
html.coco-terrain #mapa-wrap #map::after{display:none!important}
html.coco-terrain body #mapa-wrap .c3d-quickbar .c3d-chip,html.coco-terrain body #mapa-wrap .c3d-quickbar .c3d-clear{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;vertical-align:middle}
html.coco-terrain #mapa-wrap .ley-fila button{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}

/* v6 · terrenos: fichas de color en los filtros rápidos, como en alquileres */
html.coco-terrain #mapa-wrap .c3d-chip .ct-p{flex:none;width:9px;height:9px;margin-right:5px;border-radius:50%;background:#8b9794;box-shadow:0 0 0 1.5px rgba(255,255,255,.85)}
html.coco-terrain #mapa-wrap .c3d-chip .ct-p1{background:#0b9a4a}
html.coco-terrain #mapa-wrap .c3d-chip .ct-p2{background:#c3d93b}
html.coco-terrain #mapa-wrap .c3d-chip .ct-p3{background:#e03a32}
html.coco-terrain .mapa-wrap #ley-etiqueta button{padding:0 7px!important;gap:4px!important;justify-content:center}
html.coco-terrain .mapa-wrap #ley-etiqueta button i{flex:none}

/* =====================================================================
   v5 · ¿CUÁNTO VALE ACÁ? · tarjeta visual
   ===================================================================== */



.cv-foto{position:relative;height:190px;overflow:hidden;border-radius:24px 24px 0 0;background:linear-gradient(135deg,#0b4a4f,#0d8b70)}
.cv-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cv-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,16,14,.28) 0,rgba(8,16,14,0) 30%,rgba(8,16,14,.1) 48%,rgba(8,16,14,.86) 100%);pointer-events:none}
/* punto marcado sobre la foto */
.cv-foto>i{position:absolute;z-index:1;left:50%;top:38%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#2fe08a;border:3px solid #fff;box-shadow:0 0 0 7px rgba(47,224,138,.3),0 3px 10px rgba(0,0,0,.5)}
.cv-foto.cv-sin-foto>i{display:none}
.cv-sobre{position:absolute;z-index:2;left:16px;right:16px;bottom:12px;color:#fff}
.cv-lugar{font:650 12.5px/1.3 Inter,sans-serif;color:rgba(255,255,255,.86)}

.cv-rango{margin-top:3px;font:650 12.5px/1.3 Inter,sans-serif;color:rgba(255,255,255,.9)}
.cv-cuerpo{padding:12px 16px 16px}


.cv-barra{margin-top:14px}
.cv-b-tit{font:800 12.5px/1.2 Inter,sans-serif;color:#10262b}
.cv-b-pista{position:relative;height:12px;margin-top:30px;border-radius:999px;background:linear-gradient(to right,#0b9a4a 0,#c3d93b 50%,#e03a32 100%)}
.cv-b-pista>i{position:absolute;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px rgba(16,38,43,.55)}
.cv-b-ref{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#10262b;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.35);box-sizing:border-box}
.cv-b-ref b{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);padding:4px 8px;border-radius:8px;background:#10262b;color:#fff;font:800 10.5px/1 Inter,sans-serif;white-space:nowrap}
.cv-b-ref.cv-der b{left:auto;right:-6px;transform:none}
.cv-b-ref.cv-izq b{left:-6px;transform:none}
.cv-b-pie{display:flex;justify-content:space-between;margin-top:7px;font:600 10.5px/1.2 Inter,sans-serif;color:#6d7f7b}
.cv-b-pie b{display:block;margin-top:2px;font:800 12px/1 Inter,sans-serif;color:#10262b}
.cv-b-pie span:last-child{text-align:right}

.cv-datos{display:flex;gap:7px;margin-top:14px}
.cv-dato{flex:1 1 0;min-width:0;padding:10px 8px 9px;border-radius:14px;background:#f2f6f4;text-align:center}
.cv-dato i{display:block;width:18px;height:18px;margin:0 auto 5px;background:#0d8b70}
.cv-dato b{display:block;font:800 19px/1 Quicksand,Inter,sans-serif;color:#10262b;letter-spacing:-.02em}
.cv-dato span{display:block;margin-top:4px;font:600 10px/1.25 Inter,sans-serif;color:#5d726e}
.cv-i-ojo{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z%22/><circle cx=%2212%22 cy=%2212%22 r=%223%22/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z%22/><circle cx=%2212%22 cy=%2212%22 r=%223%22/></svg>") center/contain no-repeat}
.cv-i-lote{-webkit-mask:var(--ct-lote) center/contain no-repeat;mask:var(--ct-lote) center/contain no-repeat}
.cv-i-m2{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%224%22 y=%224%22 width=%2216%22 height=%2216%22 rx=%222%22/><path d=%22M4 10h3M4 15h3M10 20v-3M15 20v-3%22/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%224%22 y=%224%22 width=%2216%22 height=%2216%22 rx=%222%22/><path d=%22M4 10h3M4 15h3M10 20v-3M15 20v-3%22/></svg>") center/contain no-repeat}
.cv-meta{margin-top:8px;text-align:center;font:600 11px/1.3 Inter,sans-serif;color:#7a8b87}

.cv-dueno{margin-top:14px;padding:14px;border-radius:18px;background:#0b3f44;color:#fff}
.cv-d-tit{font:800 20px/1.1 Quicksand,Inter,sans-serif;letter-spacing:-.02em}
.cv-d-txt{margin-top:5px;font:600 13px/1.35 Inter,sans-serif;color:rgba(255,255,255,.84)}
.cv-d-txt b{color:#7ff0bd}
html.coco-terrain .cv-dueno .cx-owner-btn{height:52px;margin-top:12px;background:#2fe08a;color:#06281f!important;font-size:16px;box-shadow:0 8px 22px rgba(47,224,138,.35)}
html.coco-terrain .cv-dueno .cx-owner-btn:hover{background:#4be89b}
html.coco-terrain .cv-dueno .cx-owner-promo{color:#ffd45c}
.cv-d-lista{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;margin-top:10px;font:650 11px/1.2 Inter,sans-serif;color:rgba(255,255,255,.8)}
.cv-d-lista span{position:relative;padding-left:15px}
.cv-d-lista span::before{content:"";position:absolute;left:1px;top:2px;width:7px;height:4px;border-left:2px solid #2fe08a;border-bottom:2px solid #2fe08a;transform:rotate(-45deg)}
@media (max-width:760px){.cv-foto{height:172px}}

/* =====================================================================
   FICHA DEL TERRENO · servicios con íconos, datos de la inmobiliaria y descripción con ver más
   ===================================================================== */
#card .ct-ficha{margin-top:14px;padding:14px;border-radius:16px;background:#f4f8f6}
#card .ct-ficha[hidden]{display:none}
#card .ct-f-tit{display:block;font:800 13.5px/1.2 Quicksand,Inter,sans-serif;color:#10262b}
#card .ct-f-tit:not(:first-child){margin-top:14px}
#card .ct-f-serv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
#card .ct-f-serv span{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px 9px;border-radius:12px;background:#fff;font:700 11.5px/1.15 Inter,sans-serif;color:#17393a;text-align:center;box-shadow:0 1px 3px rgba(20,50,48,.08)}
#card .ct-s{width:22px;height:22px;background:#0d8b70;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
#card .ct-s-agua{--m:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.500 6-11 6-11Z%22/></svg>")}
#card .ct-s-luz{--m:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M13 2 5 14h6l-1 8 8-12h-6l1-8Z%22/></svg>")}
#card .ct-s-asfalto{--m:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M8 3 4 21M16 3l4 18M12 5v3M12 11v3M12 17v3%22/></svg>")}
#card .ct-s-cloacas{--m:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M3 7h9a5 5 0 0 1 5 5v9M3 12h7a2 2 0 0 1 2 2v7M3 5v9M10 21h9%22/></svg>")}
#card .ct-s-gas{--m:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M12 3c1 4 5 5.500 5 10a5 5 0 0 1-10 0c0-2 1-3 2-4 0 2 1 3 2 3 0-3-1-5 1-9Z%22/></svg>")}
#card .ct-s-alumbrado{--m:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M8 21h6M11 21V8a4 4 0 0 1 4-4h3M18 4v3M15.500 10l-1 2M20.500 10l1 2M18 11v2%22/></svg>")}
#card .ct-f-etq{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#card .ct-f-etq span{padding:6px 10px;border-radius:999px;background:#e3f3ec;color:#0a6b57;font:700 11.5px/1 Inter,sans-serif}
#card .ct-f-fin{margin-top:10px;padding:9px 11px;border-radius:11px;background:#fff7dc;color:#6b5206;font:650 12px/1.35 Inter,sans-serif}
#card .ct-f-desc{margin:8px 0 0;font:500 13px/1.5 Inter,sans-serif;color:#35504c;white-space:pre-line;overflow-wrap:anywhere}
#card .ct-f-desc.corta{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
#card .ct-f-mas{margin-top:6px;padding:0;border:0;background:none;color:#0d8b70;font:800 13px/1.2 Inter,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#card .ct-f-nota{display:block;margin-top:10px;font:600 10.5px/1.35 Inter,sans-serif;color:#7a8b87}

/* ---------- alquileres: cruz para cerrar el mapa, igual que en terrenos (reemplaza la flecha de volver) ---------- */
html.coco-terrain .mapa-top .mapa-volver{display:none!important}
html.coco-terrain .mapa-top .ct-cerrar-mapa{flex:none;width:40px;height:40px;margin-left:6px;padding:0;border:0;border-radius:50%;background:#0b5a4f;color:#fff;font:700 24px/1 Inter,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(6,63,71,.25)}
html.coco-terrain .mapa-top .ct-cerrar-mapa:hover{background:#094a41}

/* ---------- logo siempre visible en los mapas ---------- */
html.coco-terrain .mapa-top .wordmark{display:inline-flex!important;font-size:22px}
html.coco-terrain #mapa-wrap .c3d-topbar .ct-logo-mapa{flex:none;display:flex;align-items:center;justify-content:center;padding:0 11px;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 12px 36px rgba(4,49,56,.14);text-decoration:none;border:1px solid rgba(23,57,58,.08)}
html.coco-terrain #mapa-wrap .c3d-topbar .ct-logo-mapa b{font:800 19px/1 Quicksand,Inter,sans-serif;letter-spacing:-.05em;color:#20a66a}
html.coco-terrain #mapa-wrap .c3d-topbar .ct-logo-mapa b i{font-style:normal;color:#075b43}
@media (max-width:760px){html.coco-terrain #mapa-wrap .c3d-topbar .ct-logo-mapa{padding:0 8px}html.coco-terrain #mapa-wrap .c3d-topbar .ct-logo-mapa b{font-size:16px}html.coco-terrain #mapa-wrap .c3d-topbar .c3d-place .ico{display:none!important}html.coco-terrain #mapa-wrap .c3d-topbar .c3d-place{grid-template-columns:minmax(0,1fr) 17px!important}}
html.coco-terrain #mapa-wrap .c3d-topbar:has(.ct-logo-mapa){grid-template-columns:auto minmax(0,1fr) 50px!important}
html.coco-terrain #mapa-wrap .c3d-topbar .ct-logo-mapa{grid-column:1!important;grid-row:1!important}
html.coco-terrain #mapa-wrap .c3d-topbar:has(.ct-logo-mapa) .c3d-place{grid-column:2!important;grid-row:1!important}
html.coco-terrain #mapa-wrap .c3d-topbar:has(.ct-logo-mapa) .c3d-filter-btn{grid-column:3!important;grid-row:1!important}


/* ================= v12 · carrusel + lista en los dos mapas, WhatsApp a la vista, espera de alquileres ================= */
/* espera al abrir el mapa de alquileres: la misma tarjeta que en terrenos */
.cargando.ct-espera{z-index:2147483000;padding:24px;gap:0;background:linear-gradient(180deg,rgba(246,250,248,.985),rgba(238,246,243,.985))}
.ct-espera-card{width:min(430px,calc(100vw - 34px));padding:30px 28px 27px;text-align:center;background:#fff;border:1px solid rgba(2,56,66,.10);border-radius:24px;box-shadow:0 28px 70px rgba(2,56,66,.15)}
.ct-espera-marca{font:800 28px/1 Quicksand,Inter,sans-serif;letter-spacing:-.045em;color:#023842}
.ct-espera-marca small{display:block;margin-top:6px;font:800 8px/1.1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#73837e}
.ct-espera-giro{width:42px;height:42px;margin:24px auto 18px;border-radius:50%;border:4px solid rgba(15,143,116,.15);border-top-color:#0f8f74;animation:ctGiro .72s linear infinite}
@keyframes ctGiro{to{transform:rotate(360deg)}}
.ct-espera-card h2{margin:0;font:800 22px/1.15 Quicksand,Inter,sans-serif;color:#073e48}
.ct-espera-card #cargando-txt{display:block;margin:9px auto 0;max-width:330px;font:600 13px/1.55 Inter,sans-serif;color:#667873}
.ct-espera-zona{display:inline-flex;margin-top:14px;padding:7px 11px;border-radius:999px;background:#edf7f3;color:#08735e;font:900 11px/1 Inter,sans-serif}
.ct-espera-card button{display:block;margin:18px auto 0}
.ct-espera-card button[hidden]{display:none}
@media (max-width:620px){.ct-espera-card{padding:27px 22px 24px;border-radius:21px;transform:translateY(-4vh)}.ct-espera-giro{width:38px;height:38px}}

/* WhatsApp chico, siempre a la vista en la lista de alquileres */
.li{position:relative}
.li-wa,.ct-wa{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7f6f2;color:#128c7e;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease,transform .15s ease}
.li-wa{position:absolute;right:12px;bottom:12px}
.li-wa::after,.ct-wa::after{content:"";position:absolute;inset:-7px}
.li-wa svg,.ct-wa svg{width:19px;height:19px;pointer-events:none}
.li-wa:hover,.ct-wa:hover,.li-wa:active,.ct-wa:active{background:#128c7e;color:#fff;transform:scale(1.08)}
.grupo-lista .li-wa{right:6px;bottom:8px}

.ct-modo{display:none}
@media (max-width:900px){
  /* terrenos: la hoja abre como carrusel; el botón Lista la pasa a lista completa */
  #mapa-wrap .c3r-rail .ct-modo{display:block;position:absolute;z-index:6;right:12px;top:13px;height:36px;padding:0 14px;border:1.5px solid #cfdcd8;border-radius:999px;background:#fff;color:#063f47;font:800 12.5px/1 Inter,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
  #mapa-wrap .c3r-rail.is-expanded .ct-modo{right:62px}
  #mapa-wrap .c3r-rail .c3r-mobile-handle{padding-right:150px!important}
  #mapa-wrap .c3r-rail.ct-carrusel{height:auto!important;max-height:72dvh}
  #mapa-wrap .c3r-rail.ct-carrusel .c3r-list-wrap{flex:0 0 auto!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;padding:9px 10px 12px!important;scrollbar-width:none}
  #mapa-wrap .c3r-rail.ct-carrusel .c3r-list-wrap::-webkit-scrollbar{display:none}
  #mapa-wrap .c3r-rail.ct-carrusel .c3r-list{flex-direction:row!important;gap:9px!important;width:max-content}
  #mapa-wrap .c3r-rail.ct-carrusel .c3r-card{flex:0 0 min(80vw,310px);width:min(80vw,310px);min-height:104px;scroll-snap-align:start}
  #mapa-wrap .c3r-rail.ct-carrusel .c3r-empty{width:calc(100vw - 40px)}
  #mapa-wrap .c3r-rail.ct-carrusel .c3r-more,#mapa-wrap .c3r-rail.ct-carrusel .c3r-progress{display:none!important}
}
@media (max-width:900px){
  #mapa-wrap .c3r-rail .c3r-mobile-handle{padding-right:88px!important}
  #mapa-wrap .c3r-rail.is-expanded .c3r-mobile-handle{padding-right:140px!important}
  #mapa-wrap .c3r-rail.is-expanded.ct-lista .c3r-mobile-handle{padding-right:160px!important}
  #mapa-wrap .c3r-rail .c3r-mobile-handle>span{overflow:hidden}
  #mapa-wrap .c3r-rail .c3r-mobile-handle small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* ================= v13 · los dos mapas iguales en el celular: alquileres toma el diseño de terrenos ================= */
.ct-hoja,.ct-dock,.ct-lugar,.mapa-top .ct-logo-mapa{display:none}
.ct-kick,.ct-esc,.ct-esc-lbl{display:none}
/* línea de precio de las tarjetas (terrenos y alquileres) */
.ct-esc{position:relative;height:7px;margin:9px 44px 0 7px;border-radius:999px;background:linear-gradient(to right,#0b9a4a 0,#8fcf4a 30%,#c3d93b 50%,#f0a03a 72%,#e03a32 100%)}
.ct-esc .z{position:absolute;left:50%;top:-3px;width:2px;height:13px;margin-left:-1px;background:#17393a;opacity:.5;border-radius:2px}
.ct-esc .d{position:absolute;top:50%;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;border-radius:50%;background:#fff;border:4px solid #8b9794;box-shadow:0 2px 8px rgba(20,50,48,.28)}
.ct-esc .d.good{border-color:#0b9a4a}.ct-esc .d.fair{border-color:#a9bd22}.ct-esc .d.high{border-color:#e03a32}
.ct-esc-lbl{justify-content:space-between;margin:5px 40px 0 0;font:700 9px/1 Inter,sans-serif;color:#7a8b87}
.ct-kick{font:900 11.5px/1.1 Inter,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#063f47;margin:0 26px 6px 0}

@media (max-width:900px){
  /* terrenos: cada tarjeta dice bien claro qué es y muestra la línea con su posición */
  #mapa-wrap .c3r-rail .ct-kick{display:block}
  #mapa-wrap .c3r-rail .ct-esc{display:block}
  #mapa-wrap .c3r-rail .ct-esc-lbl{display:flex}
  #mapa-wrap .c3r-rail .c3r-card .c3r-card-top{justify-content:flex-start;flex-wrap:wrap}
  #mapa-wrap .c3r-rail .c3r-card .c3r-price{font-size:18px}
  #mapa-wrap .c3r-rail .c3r-card h4{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #mapa-wrap .c3r-rail .c3r-wa-mini{width:34px;height:34px;min-width:34px;min-height:34px}
  #mapa-wrap .c3r-rail .c3r-mobile-handle b{font-size:15px}
}

@media (max-width:860px){
  /* ---- barra de arriba: logo, dónde buscar, filtros y cruz, como en terrenos ---- */
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top{position:absolute!important;z-index:9;left:8px!important;right:62px!important;top:8px!important;bottom:auto!important;width:auto!important;height:50px!important;min-height:0!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) 50px;gap:6px;align-items:stretch;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top>.wordmark,html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top>.mapa-cuenta,html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top>#btn-lista,html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top>#mapa-cerrar{display:none!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top .ct-logo-mapa{display:flex;align-items:center;justify-content:center;padding:0 8px;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 12px 36px rgba(4,49,56,.14);text-decoration:none;border:1px solid rgba(23,57,58,.08)}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top .ct-logo-mapa b{font:800 16px/1 Quicksand,Inter,sans-serif;letter-spacing:-.05em;color:#20a66a}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top .ct-logo-mapa b i{font-style:normal;color:#075b43}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top .ct-lugar{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:7px 11px;border-radius:15px;border:1px solid rgba(22,60,61,.11);background:rgba(255,255,255,.91);box-shadow:0 10px 34px rgba(35,53,51,.1);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08)}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top .ct-lugar small{display:block;margin-bottom:2px;font:900 9px/1.1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#7f8e89}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top .ct-lugar strong{display:block;font:700 11.5px/1.1 Inter,sans-serif;letter-spacing:-.01em;color:#073f47;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top #btn-filtros{position:relative;display:flex!important;align-items:center;justify-content:center;width:50px!important;height:50px!important;min-width:0;margin:0!important;padding:0!important;border-radius:15px!important;border:1px solid rgba(22,60,61,.11)!important;background:rgba(255,255,255,.91)!important;box-shadow:0 10px 34px rgba(35,53,51,.1)!important;color:#315e58!important;font-size:0!important;backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08)}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top #btn-filtros::before{content:"☰";font:900 17px/1 Arial,sans-serif}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top #btn-filtros b{position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#0d8b70;color:#fff;font:800 10.5px/18px Inter,sans-serif;text-align:center}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top #btn-filtros b[hidden]{display:none}
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-top .ct-cerrar-mapa{position:absolute;right:-54px;top:0;width:44px;height:44px;margin:0;background:#075b4d;box-shadow:0 7px 20px rgba(2,56,66,.22);font-size:26px}
  /* lo que terrenos no tiene en el celular: avisos nuevos (queda en Filtros), 3D/zonas y los controles de zoom */
  html.coco-terrain #mapa-wrap.mapa-wrap .mapa-novedades,html.coco-terrain #mapa-wrap.mapa-wrap .herr,html.coco-terrain #mapa-wrap.mapa-wrap .maplibregl-ctrl-bottom-right{display:none!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .coco-mapa-sel{top:85px!important;right:14px!important}
  html.coco-terrain #mapa-wrap.mapa-wrap #map{inset:0!important;top:0!important;left:0!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .coco-terrain-credito{top:128px!important;right:14px!important;left:auto!important;bottom:auto!important}

  /* ---- filtros rápidos: la misma tarjeta que en terrenos, con las píldoras de alquileres ---- */
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda{position:absolute!important;z-index:6!important;left:8px!important;right:8px!important;top:auto!important;bottom:120px!important;width:auto!important;max-width:none!important;margin:0!important;display:flex!important;flex-direction:column;gap:5px;padding:23px 8px 8px!important;border-radius:16px!important;border:0!important;background:rgba(255,255,255,.96)!important;box-shadow:0 6px 20px rgba(20,50,48,.15)!important;transform:none!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda::before{content:"Filtros rápidos";position:absolute;top:7px;left:10px;font:700 10px/1 Inter,sans-serif;color:#5d726e}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila{display:flex!important;flex-wrap:nowrap!important;gap:4px!important;margin:0!important;padding:0!important;overflow-x:auto;scrollbar-width:none;background:none!important;box-shadow:none!important;border:0!important;justify-content:flex-start!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila::-webkit-scrollbar{display:none}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila:empty,html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-zonas{display:none!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila button{flex:none!important;display:inline-flex!important;align-items:center;gap:5px;height:28px!important;min-height:0!important;padding:0 8px!important;margin:0!important;border-radius:999px!important;border:1px solid rgba(37,68,65,.1)!important;background:rgba(255,255,255,.97)!important;color:#4e625d!important;font:800 11px/1 Inter,Arial,sans-serif!important;box-shadow:none!important;white-space:nowrap}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila button.on,html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila button[aria-pressed="true"]{background:#063f47!important;border-color:#063f47!important;color:#fff!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila button svg{width:14px;height:14px}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila button b{font:800 10.5px/1 Inter,sans-serif;opacity:.6}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila button .largo{display:inline!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .leyenda .ley-fila button .corto{display:none!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .btn-limpiar-mapa{bottom:auto!important;top:66px!important}

  /* ---- siguiente oportunidad ---- */
  html.coco-terrain #mapa-wrap.mapa-wrap .ct-dock{display:flex;position:absolute;z-index:6;left:8px;right:8px;bottom:70px;height:42px;gap:6px}
  .ct-sig{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;border:0;border-radius:13px;background:#0d8b70;color:#fff;font:800 12px/1 Inter,sans-serif;box-shadow:0 6px 16px rgba(21,44,42,.18);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
  .ct-sig[hidden]{display:none}
  .ct-sig b{padding:0 5px;border-radius:999px;background:rgba(255,255,255,.22);font:800 11px/20px Inter,sans-serif}

  /* ---- hoja de abajo: misma caja, manija, carrusel y lista que terrenos ---- */
  html.coco-terrain #mapa-wrap.mapa-wrap .ct-hoja{display:flex;flex-direction:column;position:absolute;z-index:8;left:6px;right:6px;bottom:6px;border-radius:22px;border:1px solid rgba(31,61,58,.12);background:rgba(250,251,249,.98);color:#123f42;box-shadow:0 20px 55px rgba(21,44,42,.16);overflow:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform:translateY(calc(100% - 62px));transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  html.coco-terrain #mapa-wrap.mapa-wrap .ct-hoja.is-expanded{transform:translateY(0)}
  html.coco-terrain #mapa-wrap.mapa-wrap .ct-hoja.ct-carrusel{height:auto;max-height:72dvh}
  html.coco-terrain #mapa-wrap.mapa-wrap .ct-hoja.ct-lista{height:min(68dvh,600px)}
  html.coco-terrain #mapa-wrap.mapa-wrap:has(.ficha.on) .ct-hoja,html.coco-terrain #mapa-wrap.mapa-wrap:has(.filtros.on) .ct-hoja,html.coco-terrain #mapa-wrap.mapa-wrap:has(.ficha.on) .ct-dock,html.coco-terrain #mapa-wrap.mapa-wrap:has(.filtros.on) .ct-dock,html.coco-terrain #mapa-wrap.mapa-wrap:has(.ficha.on) .leyenda,html.coco-terrain #mapa-wrap.mapa-wrap.ct-hoja-arriba .ct-dock,html.coco-terrain #mapa-wrap.mapa-wrap.ct-hoja-arriba .leyenda{display:none!important}
  html.coco-terrain #mapa-wrap.mapa-wrap .lista{display:none!important}
  .ct-hoja-abrir{position:relative;display:flex;align-items:center;gap:10px;flex:0 0 62px;width:100%;margin:0;padding:8px 88px 8px 13px;border:0;border-bottom:1px solid rgba(28,62,58,.08);background:rgba(255,255,255,.96);color:#244c49;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ct-hoja.is-expanded .ct-hoja-abrir{padding-right:140px}
  .ct-hoja.is-expanded.ct-lista .ct-hoja-abrir{padding-right:160px}
  .ct-hoja-abrir>i{position:absolute;top:6px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:999px;background:#b9c7c3}
  .ct-hoja-abrir>span{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;overflow:hidden}
  .ct-hoja-abrir b{font:850 15px/1.15 Inter,sans-serif}
  .ct-hoja-abrir small{font:650 11px/1.2 Inter,sans-serif;color:#83918d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ct-hoja .ct-modo{display:block;position:absolute;z-index:6;right:12px;top:13px;height:36px;padding:0 14px;border:1.5px solid #cfdcd8;border-radius:999px;background:#fff;color:#063f47;font:800 12.5px/1 Inter,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ct-hoja.is-expanded .ct-modo{right:62px}
  .ct-hoja-x{display:none;place-items:center;position:absolute;right:10px;top:10px;z-index:6;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#063f47;color:#fff;font:700 25px/1 Inter,sans-serif;cursor:pointer;box-shadow:0 6px 16px rgba(6,63,71,.24)}
  .ct-hoja.is-expanded .ct-hoja-x{display:grid}
  .ct-hoja-tira{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:9px 9px 14px}
  .ct-hoja .c3r-list{display:flex;flex-direction:column;gap:8px}
  .ct-hoja.ct-carrusel .ct-hoja-tira{flex:0 0 auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:9px 10px 12px;scrollbar-width:none}
  .ct-hoja.ct-carrusel .ct-hoja-tira::-webkit-scrollbar{display:none}
  .ct-hoja.ct-carrusel .c3r-list{flex-direction:row;gap:9px;width:max-content}
  .ct-hoja.ct-carrusel .c3r-card,.ct-hoja.ct-carrusel .ct-ver-todos{flex:0 0 min(80vw,310px);width:min(80vw,310px);scroll-snap-align:start}
  .ct-hoja.ct-carrusel .c3r-empty{width:calc(100vw - 40px)}
  /* tarjeta: la de la lista de terrenos */
  .ct-hoja .c3r-card{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);min-height:104px;border:1px solid rgba(25,62,59,.1);border-radius:15px;background:rgba(255,255,255,.91);overflow:hidden;cursor:pointer;box-shadow:0 5px 14px rgba(23,47,45,.055);-webkit-tap-highlight-color:transparent}
  .ct-hoja .c3r-card.is-selected{border-color:rgba(13,125,104,.55);box-shadow:0 0 0 2px rgba(13,139,112,.25),0 5px 14px rgba(23,47,45,.08)}
  .ct-hoja .c3r-photo{position:relative;width:96px;height:100%;min-height:92px;background:linear-gradient(145deg,#e4f0ec,#f4f7f5);overflow:hidden;display:flex;align-items:center;justify-content:center;color:#66817a;font:900 11px/1 Inter,sans-serif}
  .ct-hoja .c3r-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .ct-hoja .c3r-card-body{min-width:0;padding:9px 10px}
  .ct-hoja .ct-kick{display:block}
  .ct-hoja .ct-esc{display:block}
  .ct-hoja .ct-esc-lbl{display:flex}
  .ct-hoja .c3r-card-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 5px;min-height:18px}
  .ct-hoja .c3r-delta{font:850 11px/1 Inter,sans-serif;padding:4px 7px;border-radius:999px;background:#eef2f0;color:#6d7f7a;white-space:nowrap}
  .ct-hoja .c3r-delta.good{background:#e8f8f2;color:#0a8d72}
  .ct-hoja .c3r-delta.fair{background:#f0faf6;color:#3f9b84}
  .ct-hoja .c3r-delta.high{background:#fff0ee;color:#c65c55}
  .ct-hoja .c3r-delta.good::before{content:"▼ ";font-size:8px}
  .ct-hoja .c3r-delta.high::before{content:"▲ ";font-size:8px}
  .ct-hoja .c3r-price{display:block;margin-top:6px;font:900 18px/1 Inter,sans-serif;letter-spacing:-.02em;color:#0d4245}
  .ct-hoja .c3r-price small{font:700 11px/1 Inter,sans-serif;letter-spacing:0;color:#5d726e}
  .ct-hoja .c3r-card h4{margin:4px 0 0;padding-right:24px;font:750 12px/15px Inter,sans-serif;color:#294a48;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ct-hoja .c3r-card p{margin:3px 0 0;padding-right:32px;font:650 12px/15px Inter,sans-serif;color:#5d726e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ct-hoja .c3r-wa-mini{position:absolute;right:6px;bottom:6px;z-index:2;top:auto;width:34px;height:34px;border-radius:50%;background:#e7f6f2;color:#128c7e;display:grid;place-items:center;box-shadow:none}
  .ct-hoja .c3r-wa-mini svg{width:20px;height:20px}
  .ct-hoja .c3r-empty,.ct-ver-todos{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:104px;padding:16px;border:1.5px dashed rgba(25,62,59,.2);border-radius:15px;background:none;color:#5d726e;text-align:center;font:650 12px/1.35 Inter,sans-serif}
  .ct-hoja .c3r-empty b,.ct-ver-todos b{font:850 14px/1.2 Inter,sans-serif;color:#063f47}
  .ct-ver-todos{cursor:pointer;border-style:solid;background:#fff}
}
@media (max-width:900px){
  /* terrenos en el celular: sin vista previa; elegir una tarjeta abre la ficha */
  #mapa-wrap .c3r-rail .c3r-selected-slot{display:none!important}
}

/* ================= v19 · La portada es la única home ================= */
/* la página de terrenos es solo mapa, ficha y cotizador: nada de la página vieja queda a la vista */
html.ct-app body{background:#023842!important}
html.ct-app body > #top,html.ct-app body > #oportunidades:not(.opp-full),html.ct-app body > #coco-opportunity-spotlight,html.ct-app body > #coco-resume-v40,
html.ct-app body > #publicar-en-coco,html.ct-app body > #coco-map-preview,html.ct-app body > #explorar-coco,html.ct-app body > #alertas,html.ct-app body > #como-leerlo,
html.ct-app body > #quienes-somos,html.ct-app body > footer,html.ct-app body > .coco-vert-bar,html.ct-app body > #coco-app-nav,html.ct-app #menu-como{display:none!important}
html.ct-app body:not(.map-fs) > header{visibility:hidden!important}
html.ct-app #mapa-wrap:not(.fs){visibility:hidden!important}

.ct-vista{position:fixed;inset:0;z-index:15000;display:none;flex-direction:column;background:#f4f1ec;color:#10262b;font-family:Inter,ui-sans-serif,-apple-system,"Segoe UI",sans-serif}
.ct-vista.on{display:flex}
.ct-vista-barra{flex:none;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px;background:#fff;border-bottom:1px solid rgba(6,63,71,.1)}
.ct-vista-logo{flex:none;display:flex;align-items:center;justify-content:center;height:44px;padding:0 12px;border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(6,63,71,.14);text-decoration:none}
.ct-vista-logo b{font:800 19px/1 Quicksand,Inter,sans-serif;letter-spacing:-.02em;color:#0b5a4f}
.ct-vista-logo b i{font-style:normal;color:#12a37f}
.ct-vista-barra h2{flex:1;min-width:0;margin:0;font:800 19px/1.15 Quicksand,Inter,sans-serif;letter-spacing:-.02em;color:#063f47;text-align:left}
.ct-vista-x{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#075b4d;color:#fff;font:700 26px/1 Inter,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 20px rgba(2,56,66,.22)}
.ct-vista-cuerpo{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 14px calc(26px + env(safe-area-inset-bottom,0px))}
.ct-vista-caja{display:none;width:min(100%,560px);margin:0 auto}
.ct-vista[data-vista=guardados] .ct-vista-caja[data-v=guardados],.ct-vista[data-vista=alertas] .ct-vista-caja[data-v=alertas]{display:block}
.ct-vista-mapa{display:block;width:min(100%,560px);margin:18px auto 0;height:54px;border:0;border-radius:16px;background:#0d8b70;color:#fff;font:800 15.5px/1 Inter,sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(13,139,112,.25)}
.ct-vista-vacio{display:none;margin:0;padding:26px 20px;border-radius:20px;background:#fff;border:1px solid rgba(6,63,71,.08);font:600 14.5px/1.5 Inter,sans-serif;color:#5d726e;text-align:center}
.ct-vista-vacio b{display:block;margin-bottom:6px;font:800 18px/1.2 Quicksand,Inter,sans-serif;color:#063f47}
.ct-vista #mz-guard[hidden] ~ .ct-vista-vacio{display:block}
.ct-vista #mz-guard{margin:0;padding:0;border:0}
.ct-vista #mz-guard > .t{margin:2px 2px 12px;font:800 12px/1 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#5d726e}
.ct-vista #mz-guard > .t b{color:#0d8b70}
.ct-vista .gi{background:#fff;border:1px solid rgba(6,63,71,.09);border-radius:18px;padding:10px;margin-bottom:10px;box-shadow:0 4px 14px rgba(6,63,71,.06);cursor:pointer}
.ct-vista .gi .f{width:78px;height:78px;border-radius:13px;background-color:#e6ebe8}
.ct-vista .gi .p{color:#063f47;font-size:19px;font-weight:800}
.ct-vista .gi .z{color:#5d726e;font-size:13px}
.ct-vista .gi .d{color:#0d8b70}
.ct-vista .gi .x{width:40px;height:40px;border-radius:50%;color:#5d726e;font-size:24px;line-height:1}
.ct-vista .gv-mas{display:block;width:100%;height:46px;margin:2px 0 12px;border:1.5px solid rgba(6,63,71,.16);border-radius:14px;background:transparent;color:#063f47;font:800 14px/1 Inter,sans-serif;cursor:pointer}
.ct-vista .mz-sharebox{margin-top:16px;padding:18px 16px;border-radius:20px;background:#063f47;color:#d8e9e6}
.ct-vista .mz-sharebox p{margin:0 0 12px;font:600 13.5px/1.45 Inter,sans-serif;color:#bfd8d9}
.ct-vista .mz-sharebox button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;margin-top:8px;border:0;border-radius:14px;font:800 14.5px/1 Inter,sans-serif;cursor:pointer}
.ct-vista .mz-sharebox .mz-wa{background:#25d366;color:#04352b}
.ct-vista .mz-sharebox .mz-wa svg{width:20px;height:20px;fill:currentColor}
.ct-vista .mz-sharebox .mz-copy{background:rgba(255,255,255,.1);color:#fff}
.ct-vista .mz-share-ok{margin-top:10px;font:700 13px/1.4 Inter,sans-serif;color:#86efcb;word-break:break-all}
.ct-vista #alertas{display:block!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;background:transparent!important}
.ct-vista #alertas .alerta-box{width:100%!important;margin:0!important;display:block!important;padding:22px 18px!important;border-radius:22px!important;box-sizing:border-box}
.ct-vista #alertas .alerta-form{grid-template-columns:1fr!important;margin-top:18px!important}

/* ================= v22 · "Desde arriba" armado con teselas ================= */
.ct-aerea{position:absolute;inset:0;display:block;overflow:hidden;background:#dfe8e3}
.ct-aerea img{position:absolute!important;right:auto!important;bottom:auto!important;width:256px!important;height:256px!important;max-width:none!important;min-width:0!important;margin:0!important;border:0!important;border-radius:0!important;object-fit:fill!important;display:block!important;user-select:none;-webkit-user-drag:none;pointer-events:none}

/* ================= v26 · Alquileres: la portada vieja no se muestra en ningún camino ================= */
html.ct-alq body{background:#023842!important}
html.ct-alq body > header.top,html.ct-alq body > .sep,html.ct-alq body > .coco-vert-bar,html.ct-alq body > main#inicio,html.ct-alq body > footer.pie{display:none!important}

/* Filtros: reservar ancho para icono y texto en escritorio. */
@media (min-width:761px){
  html.coco-terrain #mapa-wrap .c3d-topbar:has(.ct-logo-mapa){grid-template-columns:auto minmax(0,1fr) 116px!important}
  html.coco-terrain #mapa-wrap .c3d-topbar .c3d-filter-btn{min-width:116px!important;white-space:nowrap;gap:8px}
  html.coco-terrain #mapa-wrap .c3d-topbar .c3d-filter-btn .ico{flex:0 0 34px}
}
