/**
 * Sección «ubicacion» de la página «proyecto», clonada de producción.
 *
 * Las clases `css-…` son los hashes que genera Emotion en el sitio viejo.
 * Se conservan literales para que el render sea idéntico; por eso no son
 * legibles. La plantilla que las usa está al lado, en el mismo directorio.
 *
 * Generado desde https://www.icasa.pe — no editar a mano salvo para corregir.
 */

.css-5f4oky { margin: 0px; font-family: Poppins, sans-serif; font-weight: 400; font-size: 1rem; line-height: 1.5; }
.css-62igne { margin-top: 0; margin-bottom: 48px; }
.css-1a310ss { background-color: rgb(255, 255, 255); color: rgba(0, 0, 0, 0.87); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); box-shadow: var(--Paper-shadow); background-image: var(--Paper-overlay); display: flex; overflow: hidden; border-radius: 12px; }
@media (min-width: 0px){
.css-1a310ss { flex-direction: column; }
}
@media (min-width: 900px){
.css-1a310ss { flex-direction: row; }
}
.css-wxy2n2 { display: flex; flex-direction: column; -webkit-box-pack: justify; justify-content: space-between; }
@media (min-width: 0px){
.css-wxy2n2 { flex: 1 1 100%; padding: 16px; }
}
@media (min-width: 900px){
.css-wxy2n2 { flex: 0 0 35%; padding: 24px; }
}
.css-15z6kje { padding: 16px; -webkit-box-flex: 1; flex-grow: 1; }
.css-15z6kje:last-child { padding-bottom: 24px; }
.css-m8rzpc { margin: 0px 0px 8px; font-family: Poppins, sans-serif; font-size: 1.25rem; line-height: 1.6; font-weight: 700; }
@media (min-width: 0px){
.css-m8rzpc { text-align: left; }
}
@media (min-width: 900px){
.css-m8rzpc { text-align: center; }
}
.css-1f520rc { display: flex; flex-direction: row; -webkit-box-align: center; align-items: center; margin-bottom: 8px; }
.css-1f520rc > :not(style):not(style) { margin: 0px; }
.css-1f520rc > :not(style) ~ :not(style) { margin-left: 8px; }
@media (min-width: 0px){
.css-1f520rc { -webkit-box-pack: start; justify-content: flex-start; }
}
@media (min-width: 900px){
.css-1f520rc { -webkit-box-pack: center; justify-content: center; }
}
.css-9n6xgo { user-select: none; width: 1em; height: 1em; display: inline-block; flex-shrink: 0; transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1); fill: currentcolor; font-size: 1.5rem; color: rgba(0, 0, 0, 0.54); }
.css-6w4570 { margin: 0px; font-family: Poppins, sans-serif; font-weight: 400; font-size: 0.875rem; line-height: 1.43; color: rgba(0, 0, 0, 0.6); }
@media (min-width: 0px){
.css-6w4570 { text-align: left; }
}
@media (min-width: 900px){
.css-6w4570 { text-align: center; }
}
.css-1ea14wa { display: flex; -webkit-box-align: center; align-items: center; flex-direction: column; gap: 8px; padding: 0px; width: 100%; }
.css-1a0e41s { display: inline-flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; position: relative; box-sizing: border-box; -webkit-tap-highlight-color: transparent; outline: 0px; cursor: pointer; user-select: none; vertical-align: middle; appearance: none; text-decoration: none; font-family: Poppins, sans-serif; font-weight: 500; font-size: 0.875rem; line-height: 1.75; min-width: 64px; border-radius: 4px; padding: 5px 15px; border-width: 1px; border-style: solid; border-image: initial; border-color: var(--variant-outlinedBorder, currentColor); background-color: var(--variant-outlinedBg); color: var(--variant-outlinedColor); --variant-textColor: #1976d2; --variant-outlinedColor: #1976d2; --variant-outlinedBorder: rgba(25, 118, 210, 0.5); --variant-containedColor: #fff; --variant-containedBg: #1976d2; width: 100%; transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1); margin: 0px; text-transform: none; }
.css-1a0e41s.Mui-disabled { pointer-events: none; cursor: default; }
@media print{
.css-1a0e41s { print-color-adjust: exact; }
}
.css-1a0e41s:hover { text-decoration: none; }
.css-1a0e41s.Mui-disabled { color: rgba(0, 0, 0, 0.26); }
.css-1a0e41s.Mui-disabled { border: 1px solid rgba(0, 0, 0, 0.12); }
@media (hover: hover){
.css-1a0e41s:hover { --variant-containedBg: #1565c0; --variant-textBg: rgba(25, 118, 210, 0.04); --variant-outlinedBorder: #1976d2; --variant-outlinedBg: rgba(25, 118, 210, 0.04); }
}
.css-1a0e41s.MuiButton-loading { color: transparent; }
.css-1ygddt1 { display: inherit; margin-right: 8px; margin-left: -4px; }
.css-1ygddt1 > :nth-of-type(1) { font-size: 20px; }
.css-1t9pz9x { width: 20px; height: 20px; }
.css-3towzr { margin: 1em 0px; font-family: Poppins, sans-serif; font-size: 1.25rem; line-height: 1.6; color: rgb(237, 108, 2); font-weight: 700; }
@media (min-width: 0px){
.css-3towzr { text-align: left; }
}
@media (min-width: 900px){
.css-3towzr { text-align: center; }
}
.css-13aamod { flex: 1 1 0%; min-height: 400px; position: relative; }

/*
 * --- añadidos ---
 *
 * En producción el hueco del mapa lo ocupa una imagen a la que el navegador
 * puede recortar libremente; aquí es un `<iframe>`, y un iframe con atributos
 * `width`/`height` impone su tamaño intrínseco. Como los dos hijos de la
 * tarjeta son elementos flex —y estos nacen con `min-width: auto`—, ese ancho
 * mínimo se imponía al `flex-basis: 35%` del texto y la tarjeta desbordaba.
 *
 * `min-width: 0` devuelve el reparto a lo que dice el `flex`, y el mapa pasa a
 * ocupar el hueco que le toca en vez de su tamaño natural.
 */
.css-wxy2n2, .css-13aamod{min-width: 0;}
.icasa-mapa{display: block; width: 100%; height: 100%; min-height: 400px; border: 0;}

/*
 * Pin de marca.
 *
 * Va superpuesto al centro del iframe, que es donde el mapa deja las
 * coordenadas del proyecto: `bottom: 50%` apoya la punta de la gota justo ahí,
 * y `translateX(-50%)` la centra en horizontal. La altura se fija aquí y no en
 * el archivo subido para que todos los proyectos se vean igual aunque los pines
 * lleguen a distinto tamaño.
 *
 * `pointer-events: none` en el mapa es lo que sostiene el truco: el pin es HTML
 * nuestro y no viaja con el mapa, así que si se pudiera arrastrar acabaría
 * señalando una esquina cualquiera. El mapa queda para mirar —tal como era en
 * producción, que ahí ni siquiera era un mapa sino una captura— y quien quiera
 * moverse tiene los botones de Google Maps y Waze debajo.
 */
.icasa-mapa-con-pin .icasa-mapa{pointer-events: none;}
.icasa-mapa-pin{position: absolute; left: 50%; bottom: 50%; width: auto; height: 56px; transform: translateX(-50%); pointer-events: none;}
