/* V4.92 · Mapa + directorio conectado, con unidades rem y estados accesibles. */
.ig-city-map-page{max-width:84rem;margin:0 auto;padding:3rem 0 5rem;color:#202c42}
.ig-city-map-intro{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:0 0 2.3rem}
.ig-city-map-intro h1{font-size:clamp(2.7rem,5.5vw,4.9rem);line-height:1.05;letter-spacing:-.045em;font-weight:650;margin:0 0 1.2rem}
.ig-city-map-intro h1 span{color:#0050c3}
.ig-city-map-intro p{max-width:57ch;color:#5b6577;font-size:1.02rem;line-height:1.7;margin:0}
.ig-city-map-intro__link,.ig-city-map-help a{border-radius:999rem;background:#0050c3;color:white;padding:.85rem 1.3rem;text-decoration:none;font-weight:650;white-space:nowrap}
.ig-city-map-toolbar{border:.0625rem solid #e5eaf3;background:#f7f9fc;border-radius:1.4rem;padding:1.05rem;margin-bottom:1.2rem}
.ig-city-map-search{display:block;margin-bottom:.8rem}
.ig-city-map-search input[type=search]{display:block;width:100%;padding:1rem 1.1rem;background:#fff;border:.0625rem solid #d6deeb;border-radius:.85rem;min-height:3.3rem;box-shadow:none}
.ig-city-map-filters{display:flex;gap:.45rem;flex-wrap:wrap}
.ig-city-map-filters button{border:.0625rem solid #dce3ee;border-radius:999rem;background:white;color:#293c56;min-height:2.6rem;padding:.55rem .9rem;font:inherit;font-weight:600;font-size:.83rem;cursor:pointer}
.ig-city-map-filters button[aria-pressed=true]{background:#0050c3;color:#fff;border-color:#0050c3}
.ig-city-map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);gap:1.2rem;align-items:stretch}
.ig-city-map-canvas-wrap{position:sticky;top:6rem;height:min(45rem,calc(100vh - 7rem));min-height:31rem;overflow:hidden;background:#e9eff5;border-radius:1.7rem;border:.0625rem solid #dae4f0;isolation:isolate}
.ig-city-map-canvas,.ig-city-map-fallback{position:absolute;inset:0;width:100%;height:100%;border:0}
.ig-city-map-canvas{display:none;z-index:2}
.ig-city-map-canvas.is-ready{display:block}
.ig-city-map-fallback[hidden]{display:none}
.ig-city-map-overlay{position:absolute;z-index:600;left:1rem;right:1rem;bottom:1rem;border-radius:1.2rem;background:rgba(255,255,255,.97);box-shadow:0 .9rem 2rem rgba(14,33,65,.2);padding:1.15rem;max-width:27rem}
.ig-city-map-overlay[hidden]{display:none}
.ig-city-map-overlay__top{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.ig-city-map-overlay strong{font-size:1.12rem}
.ig-city-map-overlay__top button{border:0;background:#eef3fc;padding:.45rem .6rem;border-radius:.5rem;cursor:pointer;font:inherit;font-size:.8rem}
.ig-city-map-overlay p{color:#526178;font-size:.88rem;line-height:1.5;margin:.5rem 0}
.ig-city-map-overlay__links{display:flex;gap:1rem;flex-wrap:wrap;font-size:.88rem}
.ig-city-map-overlay a{color:#0050c3;font-weight:650}
.ig-city-map-results{min-width:0;display:flex;flex-direction:column;background:#f7f9fc;border:.0625rem solid #e5eaf3;border-radius:1.7rem;padding:1.3rem}
.ig-city-map-results__head{display:flex;align-items:start;justify-content:space-between;gap:.6rem;margin-bottom:1rem}
.ig-city-map-results__head h2{font-size:1.25rem;line-height:1.3;margin:0}
.ig-city-map-results__head p{font-size:.78rem;color:#5d6a79;white-space:nowrap;margin:.2rem 0 0}
.ig-city-map-list{display:grid;gap:.65rem}
.ig-city-map-result{background:#fff;border:1px solid #e2e7f0;border-radius:1rem;padding:1rem;min-width:0}
.ig-city-map-result__meta,.ig-city-map-result>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#586b80;font-size:.76rem}
.ig-city-map-result small{color:#16745e;font-size:.73rem}
.ig-city-map-result h3{font-size:1.04rem;font-weight:700;line-height:1.35;margin:.65rem 0 .35rem}
.ig-city-map-result p{font-size:.84rem;color:#626c79;line-height:1.4;margin:0}
.ig-city-map-result__actions{display:flex;align-items:center;gap:1rem;margin-top:.85rem;flex-wrap:wrap}
.ig-city-map-result__actions a,.ig-city-map-result__actions button{font:inherit;font-weight:650;font-size:.8rem;color:#0050c3;text-decoration:underline;text-underline-offset:.16rem;cursor:pointer;border:0;background:none;padding:0}
.ig-city-map-more{margin:1rem 0 0;border:.0625rem solid #cbd5e5;border-radius:999rem;min-height:2.8rem;background:#fff;font-weight:650;color:#0050c3;cursor:pointer}
.ig-city-map-more[hidden],.ig-city-map-empty[hidden]{display:none}
.ig-city-map-empty{font-size:.93rem;color:#5c6370;padding:1rem}
.ig-city-map-disclosure{font-size:.8rem;line-height:1.55;color:#5b6574;margin:1.1rem 0 0}
.ig-city-map-help{margin-top:2rem;padding:2rem;background:#ecf3ff;border-radius:1.6rem;display:flex;align-items:center;gap:1.7rem}
.ig-city-map-help h2{font-size:1.35rem;line-height:1.25;margin:0;flex:0 0 21%}
.ig-city-map-help p{font-size:.91rem;line-height:1.6;margin:0;flex:1;color:#5c6572}
.ig-city-map-help a{font-size:.86rem}
.ig-city-map-pin{display:grid;place-items:center;background:#0050c3;border:3px solid #fff;box-shadow:0 .2rem .65rem rgba(2,21,56,.3);border-radius:50%}
.ig-city-map-pin span{width:.45rem;height:.45rem;background:#fff;border-radius:50%}
.ig-city-map-page :is(button,a,input):focus-visible{outline:.2rem solid #ffac32;outline-offset:.2rem}
@media(max-width:65rem){.ig-city-map-layout{grid-template-columns:minmax(0,1.35fr) minmax(15rem,1fr)}.ig-city-map-intro{align-items:start}.ig-city-map-help{flex-wrap:wrap}.ig-city-map-help h2{flex:1 1 16rem}.ig-city-map-help p{flex:1 1 20rem}}
@media(max-width:49rem){.ig-city-map-page{padding:2rem 0 3rem}.ig-city-map-intro{display:block}.ig-city-map-intro__link{display:inline-flex;margin-top:1.3rem}.ig-city-map-layout{grid-template-columns:minmax(0,1fr)}.ig-city-map-canvas-wrap{position:relative;top:auto;height:26rem;min-height:0;border-radius:1.25rem}.ig-city-map-results{border-radius:1.25rem}.ig-city-map-help{display:block}.ig-city-map-help p{margin:1rem 0 1.4rem}}
@media(max-width:30rem){.ig-city-map-intro h1{font-size:2.55rem}.ig-city-map-filters{flex-wrap:nowrap;overflow-x:auto;padding:.15rem .1rem .4rem;scrollbar-width:thin}.ig-city-map-filters button{flex:none}.ig-city-map-canvas-wrap{height:22rem}.ig-city-map-overlay{left:.55rem;right:.55rem;bottom:.55rem}.ig-city-map-results__head{display:block}.ig-city-map-results__head p{margin-top:.4rem}}
/* Mantener títulos compactos dentro del listado, aunque el tema use reglas genéricas con #contenido. */
#contenido .ig-city-map-results__head h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.02em;margin:0}
#contenido .ig-city-map-result h3{font-size:1.04rem;line-height:1.35;letter-spacing:-.015em;margin:.65rem 0 .35rem}

.ig-city-map-error{position:absolute;z-index:4;left:1rem;right:1rem;bottom:1rem;background:#fff;color:#33445d;border:.0625rem solid #cddbef;padding:1rem;border-radius:1rem;font-size:.87rem;line-height:1.4;box-shadow:0 .5rem 1.2rem rgba(0,0,0,.1)}
.ig-city-map-error[hidden]{display:none}
