/* Elite Portal: piel del prototipo aprobado. Tokens propios sobre .elp (el tema puede
   re-mapearlos); los colores coinciden con elite-tema. */

.elp {
	--elp-navy: #091146; --elp-navy-2: #18226a; --elp-naranja: #ff7a00; --elp-naranja-texto: #b84f00;
	--elp-durazno: #ffbd59; --elp-crema: #ffedd1; --elp-suelo: #f3f4f9;
	--elp-tinta-2: rgba(9, 17, 70, .70); --elp-tinta-3: rgba(9, 17, 70, .56);
	--elp-linea: rgba(9, 17, 70, .12); --elp-linea-2: rgba(9, 17, 70, .22);
	--elp-ok: #136b42; --elp-ok-suelo: #e2f3e9; --elp-aviso-suelo: #fff3df;
	--elp-r: 12px; --elp-sombra-alta: 0 2px 4px rgba(9, 17, 70, .08), 0 18px 40px rgba(9, 17, 70, .14);
	--elp-mono: var(--wp--preset--font-family--mono, ui-monospace, Consolas, monospace);
	color: var(--elp-navy);
}
.elp-principal > .elp:not(.elp-portada) { width: min(72rem, 100% - 2.5rem); margin-inline: auto; padding: 1.5rem 0 3.5rem; }
.elp-contenedor { width: min(72rem, 100% - 2.5rem); margin-inline: auto; }
.elp *, .elp *::before, .elp *::after { box-sizing: border-box; }
.elp h1 { margin: 0; }
.elp h2 { margin: 0; }
.elp .elp-h3, .elp h3 { font-size: 1.08rem; margin: 0; }
.elp p { margin: 0; }
.elp-num { font-variant-numeric: tabular-nums; }
.elp-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.elp-pila { display: grid; gap: 1rem; align-content: start; }
.elp-bloque { background: #fff; border: 1px solid var(--elp-linea); border-radius: var(--elp-r); padding: 1.25rem; }
.elp-seccion { padding: 2.5rem 0 0; }
.elp-seccion--sin-arriba { padding-top: 0; }
.elp-portada .elp-seccion { padding: 3rem 0 0; }
.elp-seccion__cab { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.elp-seccion__cab p, .elp-bajada { color: var(--elp-tinta-2); margin-top: .35rem; max-width: 60ch; }
.elp-bajada { margin-bottom: 1rem; }
.elp-subtitulo { margin: 1.8rem 0 .8rem !important; }
.elp-enlace { font-weight: 600; text-decoration: none; color: var(--elp-naranja-texto); white-space: nowrap; }
.elp-tenue { color: var(--elp-tinta-2); }
.elp-dos-col { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 2rem; align-items: start; }

.elp-migas { font-size: .85rem; color: var(--elp-tinta-3); margin-bottom: 1rem; display: flex; flex-wrap: wrap; gap: .35rem; }
.elp-migas a { color: var(--elp-tinta-2); }

/* Botones y chips */
.elp-boton { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: 999px; border: 1px solid transparent; padding: .72rem 1.3rem; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap; font: inherit; font-weight: 600; justify-self: start; }
.elp-boton--primario { background: var(--elp-naranja); color: var(--elp-navy); }
.elp-boton--primario:hover { background: #ff8c1f; }
.elp-boton--navy { background: var(--elp-navy); color: #fff; }
.elp-boton--contorno { border-color: var(--elp-linea-2); background: transparent; color: var(--elp-navy); }
.elp-boton--contorno:hover { border-color: var(--elp-navy); }
.elp-chip { border: 1px solid var(--elp-linea-2); background: #fff; border-radius: 999px; padding: .38rem .85rem; font-size: .86rem; font-weight: 400; color: var(--elp-navy); text-decoration: none; display: inline-block; }
.elp-chip:hover { border-color: var(--elp-navy); }
.elp-chip--activo { background: var(--elp-navy); border-color: var(--elp-navy); color: #fff; }

/* Consola de búsqueda */
.elp-portada__consola { position: relative; z-index: 5; margin-top: -2.2rem; }
.elp-consola { position: relative; background: #fff; border-radius: 18px; box-shadow: var(--elp-sombra-alta); padding: 1.25rem; display: grid; gap: 1rem; }
.elp-consola--compacta { box-shadow: 0 1px 2px rgba(9, 17, 70, .06), 0 4px 14px rgba(9, 17, 70, .05); margin: 1rem 0 1.25rem; }
.elp-consola__top { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
.elp-seg { display: inline-flex; flex-wrap: wrap; max-width: 100%; background: var(--elp-suelo); border-radius: 1.4rem; padding: .25rem; gap: .25rem; }
.elp-seg input { position: absolute; opacity: 0; pointer-events: none; }
.elp-seg label { border-radius: 999px; padding: .5rem 1rem; font-weight: 600; font-size: .9rem; color: var(--elp-tinta-2); cursor: pointer; }
.elp-seg input:checked + label { background: var(--elp-navy); color: #fff; }
.elp-seg input:focus-visible + label { outline: 2px solid var(--elp-naranja); outline-offset: 2px; }
@media (max-width: 600px) {
	.elp-seg label { padding: .45rem .7rem; font-size: .84rem; }
}
.elp-entendi { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: .84rem; color: var(--elp-tinta-2); }
.elp-entendi:empty { display: none; }
.elp-entendi .elp-etq { background: var(--elp-crema); color: var(--elp-naranja-texto); text-transform: none; letter-spacing: 0; font-size: .8rem; }
.elp-busca { position: relative; }
.elp-busca__caja { display: flex; align-items: center; gap: .75rem; border: 2px solid var(--elp-linea-2); border-radius: 14px; padding: .35rem .5rem .35rem 1rem; background: #fff; }
.elp-busca__caja:focus-within { border-color: var(--elp-navy); }
.elp-busca__caja svg { flex: none; color: var(--elp-tinta-3); }
.elp-busca__caja input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 1.15rem; font-weight: 400; padding: .65rem 0; background: transparent; color: var(--elp-navy); }
.elp-sugerencias { position: absolute; left: 0; right: 0; top: calc(100% + .4rem); background: #fff; border: 1px solid var(--elp-linea); border-radius: 14px; box-shadow: var(--elp-sombra-alta); padding: .4rem; max-height: 24rem; overflow: auto; z-index: 20; }
.elp-sug-grupo { font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--elp-tinta-3); padding: .55rem .75rem .25rem; }
.elp-sug { display: flex; align-items: baseline; gap: .6rem; padding: .55rem .75rem; border-radius: 10px; cursor: pointer; }
.elp-sug[aria-selected="true"], .elp-sug:hover { background: var(--elp-suelo); }
.elp-sug mark { background: var(--elp-crema); color: inherit; border-radius: 3px; padding: 0 1px; }
.elp-sug small { margin-left: auto; font-size: .82rem; color: var(--elp-tinta-3); white-space: nowrap; }
.elp-sug-vacio { padding: .9rem .75rem; color: var(--elp-tinta-2); font-size: .95rem; }
.elp-pista { font-size: .84rem; color: var(--elp-tinta-3); margin-top: -.4rem !important; }
.elp-filtros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: .6rem; align-items: end; }
.elp-campo { display: grid; gap: .3rem; }
.elp-campo label { font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--elp-tinta-3); }
.elp-campo select { appearance: none; border: 1px solid var(--elp-linea-2); border-radius: 8px; padding: .62rem 2rem .62rem .75rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23091146' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right .75rem center; font: inherit; font-weight: 400; color: var(--elp-navy); }
.elp-intenciones { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.elp-intenciones > span { font-size: .82rem; color: var(--elp-tinta-3); margin-right: .2rem; }

/* Resultados */
.elp-barra { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: 1rem; }
.elp-barra h1 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.elp-conteo { color: var(--elp-tinta-2); }
.elp-orden { margin-left: auto; }
.elp-filtros-activos { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.elp-vacio { background: #fff; border: 1px dashed var(--elp-linea-2); border-radius: var(--elp-r); padding: 2rem; display: grid; gap: .8rem; justify-items: start; }
.elp-paginacion { display: flex; gap: .4rem; margin-top: 1.5rem; }
.elp-paginacion a, .elp-paginacion span { padding: .4rem .8rem; border-radius: 8px; border: 1px solid var(--elp-linea); text-decoration: none; }
.elp-paginacion span { background: var(--elp-navy); color: #fff; }

/* Tarjeta */
.elp-grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr)); gap: 1rem; }
.elp-tarjeta { background: #fff; border: 1px solid var(--elp-linea); border-radius: var(--elp-r); overflow: hidden; display: grid; grid-template-rows: auto 1fr; text-decoration: none; color: inherit; transition: box-shadow .15s, border-color .15s; }
.elp-tarjeta:hover { box-shadow: var(--elp-sombra-alta); border-color: var(--elp-linea-2); }
.elp-tarjeta__img { aspect-ratio: 16/9; position: relative; background: var(--elp-navy-2); overflow: hidden; }
.elp-tarjeta__img canvas, .elp-tarjeta__img img, .elp-ficha__img canvas, .elp-ficha__img img { width: 100%; height: 100%; display: block; object-fit: cover; }
.elp-etiquetas { position: absolute; left: .7rem; top: .7rem; display: flex; gap: .35rem; }
.elp-etiquetas--estaticas { position: static; }
.elp-etq { font-size: .7rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: .22rem .55rem; border-radius: 999px; background: #fff; color: var(--elp-navy); }
.elp-etq--cesion { background: var(--elp-naranja); color: var(--elp-navy); }
.elp-etq--vis { background: var(--elp-crema); color: var(--elp-naranja-texto); }
.elp-etq--vendida { background: var(--elp-navy); color: #fff; }
.elp-etq--borde { border: 1px solid var(--elp-linea); }
.elp-etq--outlet { background: var(--elp-navy); color: var(--elp-durazno); }
.elp-outlet-hasta { color: var(--elp-naranja-texto); font-weight: 600; }

/* Panel para ceder y motivos (D-52) */
.elp-panel-ceder { background: var(--elp-navy); color: #fff; border-radius: 18px; padding: clamp(1.5rem, 4vw, 2.5rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 1.5rem 2.5rem; align-items: center; }
.elp-panel-ceder h2 { color: #fff; margin: 0; text-wrap: balance; }
.elp-panel-ceder p { color: rgba(255, 255, 255, .82); margin: 0; }
.elp-panel-ceder .elp-boton { justify-self: start; }
.elp-motivos { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.elp-motivos li { display: block; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; padding: .9rem 1rem; line-height: 1.5; }
.elp-motivos b { display: block; color: var(--elp-durazno); margin-bottom: .2rem; }
.elp-motivos--claros li { background: #fff; border-color: var(--elp-linea); color: var(--elp-navy); }
.elp-motivos--claros b { color: var(--elp-navy); }
.elp-motivos--tres { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin: 1rem 0; }
@media (max-width: 900px) {
	.elp-panel-ceder { grid-template-columns: minmax(0, 1fr); }
}
.elp-tarjeta__cuerpo { padding: 1rem 1rem 1.1rem; display: grid; gap: .7rem; align-content: start; }
.elp-tarjeta__titulo { display: grid; gap: .1rem; }
.elp-lugar { font-size: .88rem; color: var(--elp-tinta-2); }
.elp-tarjeta__datos { display: flex; flex-wrap: wrap; gap: .35rem .9rem; font-size: .85rem; color: var(--elp-tinta-2); }
.elp-plan-ok { color: var(--elp-ok); }
.elp-tarjeta__cifras { display: grid; grid-template-columns: 1fr auto; gap: .2rem .8rem; align-items: baseline; border-top: 1px solid var(--elp-linea); padding-top: .7rem; }
.elp-rotulo { font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; color: var(--elp-tinta-3); font-weight: 600; }
.elp-cifra { font-weight: 700; font-size: 1.28rem; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.elp-cifra--sec { font-weight: 400; font-size: .95rem; }
.elp-descuento { font-weight: 700; color: var(--elp-naranja-texto); font-variant-numeric: tabular-nums; }

/* Sellos de fecha de corte */
.elp-sello { font-family: var(--elp-mono); font-size: .7rem; letter-spacing: .02em; color: var(--elp-tinta-3); white-space: nowrap; }
.elp-sello b { font-weight: 500; color: var(--elp-tinta-2); }
.elp-sello--parrafo { white-space: normal; display: block; }
.elp-sello--viejo { color: var(--elp-naranja-texto); background: var(--elp-crema); border-radius: 4px; padding: 0 .3rem; }

/* Fichas */
.elp-ficha__cab { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.elp-ficha__img { border-radius: var(--elp-r); overflow: hidden; aspect-ratio: 16/10; background: var(--elp-navy-2); }
.elp-ficha h1 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.elp-datos { display: grid; grid-template-columns: auto 1fr; gap: .55rem 1rem; margin: 0; }
.elp-datos dt { color: var(--elp-tinta-2); font-size: .92rem; }
.elp-datos dd { margin: 0; font-weight: 400; text-align: right; }
.elp-formula { display: block; font-family: var(--elp-mono); font-size: .68rem; color: var(--elp-tinta-3); font-weight: 400; }
.elp-desglose .elp-borde { border-top: 1px solid var(--elp-linea-2); padding-top: .6rem; }
.elp-fila-consultar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .6rem 0; border-top: 1px solid var(--elp-linea); }
.elp-consultar { display: inline-flex; align-items: center; background: var(--elp-crema); color: var(--elp-naranja-texto); font-weight: 600; border-radius: 999px; padding: .2rem .7rem; font-size: .85rem; text-decoration: none; }
.elp-cifras-grandes { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: 1rem 1.5rem; border-block: 1px solid var(--elp-linea); padding: 1rem 0; }
.elp-cifras-grandes .elp-cifra { font-size: clamp(1.2rem, 2.2vw, 1.5rem); overflow-wrap: anywhere; }
.elp-reparto { display: grid; gap: .6rem; background: #fff; border: 1px solid var(--elp-linea); border-radius: var(--elp-r); padding: 1rem; }
.elp-reparto__barra { display: flex; height: 14px; border-radius: 999px; overflow: hidden; background: var(--elp-suelo); }
.elp-rb-fiducia { background: var(--elp-navy); }
.elp-rb-prima { background: var(--elp-naranja); }
.elp-reparto__leyenda { display: grid; gap: .35rem; font-size: .9rem; }
.elp-reparto__leyenda small { color: var(--elp-tinta-3); }
.elp-punto { display: inline-block; width: .7rem; height: .7rem; border-radius: 999px; margin-right: .45rem; }
.elp-estado { display: inline-flex; align-items: center; gap: .35rem; border-radius: 999px; padding: .2rem .65rem; font-size: .82rem; font-weight: 600; justify-self: start; }
.elp-estado--ok { color: var(--elp-ok); background: var(--elp-ok-suelo); }
.elp-estado--proceso { color: var(--elp-naranja-texto); background: var(--elp-aviso-suelo); }
.elp-aviso-vis { background: var(--elp-aviso-suelo); border-left: 3px solid var(--elp-durazno); border-radius: 0 8px 8px 0; padding: .8rem 1rem; font-size: .92rem; }
.elp-tabla-scroll { overflow-x: auto; }
/* En celular nada se sale del ancho: un hijo de rejilla no puede ser más angosto que su contenido
   (min-width: auto), así que una tabla o un texto sin saltos estiraban toda la página. */
.elp-pila > *, .elp-publicar > *, .elp-firma > * { min-width: 0; }
table.elp-perfiles th { white-space: normal; }
p.elp-sello { white-space: normal; }
.elp table { border-collapse: collapse; width: 100%; font-size: .92rem; }
.elp th { font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--elp-tinta-3); font-weight: 600; text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--elp-linea-2); white-space: nowrap; }
.elp td { padding: .65rem .6rem; border-bottom: 1px solid var(--elp-linea); vertical-align: top; }
.elp tfoot td { font-weight: 600; border-bottom: 0; padding-top: .8rem; }
.elp-der { text-align: right !important; }
.elp-fila-hoy td { background: var(--elp-crema); }
.elp-fila-pasada td { color: var(--elp-tinta-3); }
.elp-fila-entrega td { border-top: 1px solid var(--elp-linea-2); }
.elp-tabla-cierre th, .elp-tabla-cierre td { white-space: nowrap; }
.elp-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.elp-lista .elp-bloque { padding: .8rem 1rem; }
.elp-descripcion { max-width: 65ch; display: grid; gap: .8rem; }
.elp-amenidades { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.elp-amenidades li { border: 1px solid var(--elp-linea); border-radius: 999px; padding: .25rem .7rem; font-size: .85rem; background: #fff; }
.elp-proyectos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: .8rem; }
.elp-proyectos li { display: grid; gap: .25rem; }
.elp-proyectos a { text-decoration: none; color: var(--elp-navy); }
.elp-ciudades { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .6rem; }
.elp-ciudad { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; padding: .9rem 1rem; background: #fff; border: 1px solid var(--elp-linea); border-radius: 10px; text-decoration: none; color: var(--elp-navy); }
.elp-ciudad:hover { border-color: var(--elp-navy); }
.elp-ciudad span { font-size: .85rem; color: var(--elp-tinta-3); }

/* Formularios */
.elp-form { display: grid; gap: .75rem; }
.elp-form input[type=text], .elp-form input[type=tel], .elp-form input[type=email], .elp-form input[type=number], .elp-form input[type=date], .elp-form select, .elp-form textarea { border: 1px solid var(--elp-linea-2); border-radius: 8px; padding: .7rem .8rem; background: #fff; width: 100%; font: inherit; color: var(--elp-navy); }
.elp-check { display: grid; grid-template-columns: 1.1rem 1fr; gap: .55rem; font-size: .84rem; color: var(--elp-tinta-2); align-items: start; }
.elp-check input { accent-color: var(--elp-navy); margin-top: .2rem; }
.elp-trampa { position: absolute !important; left: -9999px !important; }
.elp-ok-envio { background: var(--elp-ok-suelo); color: var(--elp-ok); border-radius: 10px; padding: .9rem 1rem; }
.elp-error { background: #fde8e8; color: #a32121; border-radius: 10px; padding: .9rem 1rem; }
.elp-h3 { font-size: 1.2rem; margin: 0; }
.elp-radios { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.elp-radios legend { font-weight: 600; margin-bottom: .35rem; }
.elp-radios label { display: flex; gap: .4rem; align-items: center; font-size: .92rem; }

/* Publicar, firma y vigencia */
.elp-publicar, .elp-firma { display: grid; gap: 1.2rem; }
.elp-firma { max-width: 52rem; }
.elp-pasos { margin: 0; padding-left: 1.3rem; display: grid; gap: .6rem; max-width: 65ch; }
.elp-perfiles { width: 100%; border-collapse: collapse; font-size: .92rem; }
.elp-perfiles th, .elp-perfiles td { text-align: left; vertical-align: top; padding: .65rem .75rem; border-bottom: 1px solid var(--elp-linea); }
.elp-perfiles thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--elp-tinta-3); }
.elp-publicar__formularios { align-items: start; }
.elp-firma__resumen { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1rem; margin: 0; }
.elp-firma__resumen dt { color: var(--elp-tinta-2); }
.elp-firma__resumen dd { margin: 0; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.elp-firma__texto { max-height: 22rem; overflow: auto; display: grid; gap: .7rem; padding-right: .5rem; font-size: .92rem; line-height: 1.6; }
.elp-firma__texto p { margin: 0; }
.elp-firma__destacado { border-left: 4px solid #b84f00; }
.elp-acciones { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.elp-aportar { display: grid; gap: 1.2rem; }
.elp-medidor { display: grid; gap: .5rem; }
.elp-medidor p { margin: 0; }
.elp-medidor__barra { height: .6rem; border-radius: 999px; background: var(--elp-linea); overflow: hidden; }
.elp-medidor__barra span { display: block; height: 100%; background: #b84f00; }
.elp-medidor ul { margin: 0; padding-left: 1.2rem; display: grid; gap: .25rem; font-size: .9rem; }
.elp-campos-aporte { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .9rem 1rem; }
.elp-campo { display: grid; gap: .3rem; align-content: start; font-size: .9rem; }
.elp-campo small { color: var(--elp-tinta-3); }
.elp-campo--ancho { grid-column: 1 / -1; }
.elp-archivos { display: grid; gap: .9rem; }
.elp-archivos > label:not(.elp-check) { display: grid; gap: .3rem; font-size: .9rem; }
.elp-archivos small { color: var(--elp-tinta-3); }
.elp-mapa--marcar { min-height: 20rem; }
/* Oferta Calificada (HU-R6): cifras, plazo y respuestas del vendedor. */
.elp-oc__cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.elp-oc__cifra { border: 1px solid var(--elp-linea); border-radius: 10px; padding: .8rem 1rem; display: grid; gap: .2rem; }
.elp-oc__cifra span { font-size: .8rem; color: var(--elp-tinta-2); }
.elp-oc__cifra b { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.elp-oc__plazo { background: var(--elp-crema); color: var(--elp-navy); border-radius: 10px; padding: .9rem 1rem; }
.elp-oc__lista { margin: 0; padding-left: 1.1rem; display: grid; gap: .55rem; line-height: 1.55; }
.elp-oc__opciones { border: 0; margin: 0; padding: 0; display: grid; gap: .6rem; }
.elp-oc__opciones legend { margin-bottom: .4rem; }
.elp-oc__opcion { display: grid; grid-template-columns: 1.1rem 1fr; gap: .6rem; border: 1px solid var(--elp-linea-2); border-radius: 10px; padding: .8rem 1rem; align-items: start; cursor: pointer; }
.elp-oc__opcion input { accent-color: var(--elp-navy); margin-top: .25rem; }
.elp-oc__opcion small { display: block; color: var(--elp-tinta-2); }
.elp-oc__opcion:has(input:checked) { border-color: var(--elp-navy); box-shadow: 0 0 0 1px var(--elp-navy); }
.elp-codigo { font-size: 1.6rem !important; letter-spacing: .35em; text-align: center; max-width: 12rem; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
	.elp-firma__resumen { grid-template-columns: minmax(0, 1fr); }
	.elp-firma__resumen dd { text-align: left; margin-bottom: .3rem; }
}

/* Mapa */
.elp-mapa { position: relative; min-height: 26rem; border-radius: var(--elp-r); overflow: hidden; background: var(--elp-suelo); border: 1px solid var(--elp-linea); }
.elp-mapa--proyecto { min-height: 18rem; }
.elp-mapa__fachada { position: absolute; inset: 0; display: grid; place-content: center; gap: .6rem; justify-items: center; text-align: center; padding: 1rem; background-color: var(--elp-suelo); background-image: linear-gradient(115deg, transparent 47%, rgba(255,255,255,.9) 47%, rgba(255,255,255,.9) 51%, transparent 51%), linear-gradient(var(--elp-linea) 1px, transparent 1px), linear-gradient(90deg, var(--elp-linea) 1px, transparent 1px); background-size: 100% 100%, 42px 42px, 42px 42px; }
.elp-mapa__fachada p { margin: 0; background: #fff; padding: .35rem .8rem; border-radius: 999px; }
.elp-mapa__nota { font-size: .8rem; color: var(--elp-tinta-2); background: #fff; padding: .15rem .6rem; border-radius: 999px; }
.elp-mapa__lienzo { position: absolute; inset: 0; }
.elp-mapa.is-activo .elp-mapa__fachada { display: none; }
.elp-mapa__estado { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; background: #fff; padding: .5rem .9rem; border-radius: 999px; font-size: .85rem; box-shadow: 0 2px 12px rgba(9, 17, 70, .15); }
.elp-mapa-buscar { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 1rem; align-items: start; }
.elp-mapa-buscar__filtros { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem; }
.elp-mapa-buscar__filtros select { border: 1px solid var(--elp-linea-2); border-radius: 8px; padding: .55rem .7rem; background: #fff; font: inherit; color: var(--elp-navy); }
.elp-mapa-buscar .elp-mapa { min-height: 32rem; }
.elp-mapa-conteo { margin: 0 0 .5rem; font-size: .9rem; color: var(--elp-tinta-2); }
.elp-mapa-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; max-height: 30rem; overflow: auto; }
.elp-mapa-lista li { display: grid; gap: .15rem; background: #fff; border: 1px solid var(--elp-linea); border-radius: 10px; padding: .7rem .8rem; }
.elp-mapa-lista a { color: var(--elp-navy); font-weight: 600; text-decoration: none; }
.elp-mapa-lista span { font-size: .82rem; color: var(--elp-tinta-3); }
.elp-popup { display: grid; gap: .3rem; min-width: 12rem; color: var(--elp-navy, #091146); font-family: inherit; }
.elp-popup a { color: inherit; text-decoration: none; }
.elp-popup span { font-size: .82rem; color: var(--elp-tinta-3, #6b6f8a); }
.elp-popup .elp-boton { justify-self: start; margin-top: .3rem; padding: .45rem .8rem; font-size: .85rem; color: #fff; }
.maplibregl-popup-content { border-radius: 10px; padding: .8rem 1rem; }
@media (max-width: 900px) {
	.elp-mapa-buscar { grid-template-columns: minmax(0, 1fr); }
	.elp-mapa-lista { max-height: none; }
}

@media (max-width: 900px) {
	.elp-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.elp-filtros .elp-boton { grid-column: 1 / -1; justify-self: stretch; }
	.elp-ficha__cab, .elp-dos-col { grid-template-columns: minmax(0, 1fr); }
	.elp-portada__consola { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.elp * { transition: none !important; }
}
