.ip-page{width:min(1200px,calc(100% - 48px));margin:32px auto 90px}.ip-dashboard{display:grid;grid-template-columns:35% 65%;padding:16px;background:#fff;border:1px solid var(--border);border-radius:12px}.ip-summary{padding:10px 16px}.ip-summary h1{margin:5px 0 20px;color:var(--dark);font-size:40px;line-height:1.05;letter-spacing:-.04em}.ip-summary h1 span{color:var(--red)}.ip-result{padding:16px;border:1px solid var(--border);border-radius:7px}.ip-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ip-result h2{font-size:14px;margin:0;color:var(--dark)}.ip-result button{min-height:36px;padding:8px 12px;font-size:12px}.ip-address{margin:15px 0;font-size:25px;font-weight:700;color:var(--dark)}.ip-facts{margin:0}.ip-facts div{padding:9px 0;border-top:1px solid var(--border)}.ip-facts dt{font-size:12px;color:var(--muted)}.ip-facts dd{font-size:13px}.ip-map-panel{border:1px solid var(--border);border-radius:7px;overflow:hidden}.map-empty{min-height:275px;display:grid;place-content:center;text-align:center;color:var(--muted);padding:24px}.map-empty span{display:block;color:var(--red);font-size:30px}.map-data{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--border);text-align:center}.map-data div{padding:12px;border-right:1px solid var(--border)}.map-data div:last-child{border:0}.map-data dt{font-size:11px}.map-data dd{font-size:13px}.privacy-note{margin:0;padding:11px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.definition{margin:48px 0 32px;padding:36px;min-height:150px;background:#fff;border:1px solid var(--border);border-radius:8px;text-align:center}.definition span,.ip-benefits span{color:var(--red)}.definition h2,.section-heading h2{margin:8px 0;color:var(--dark);font-size:23px}.definition p,.section-heading p{max-width:680px;margin:0 auto;color:var(--muted);font-size:14px}.section-heading{text-align:center;margin:30px auto 20px;max-width:850px}.ip-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ip-benefits article,.versions article{padding:22px;background:#fff;border:1px solid var(--border);border-radius:7px}.ip-benefits h3,.versions h3{font-size:15px;color:var(--dark)}.ip-benefits p,.versions p{font-size:13px;color:var(--muted)}.versions{display:grid;grid-template-columns:1fr 1fr;gap:18px}.versions code{display:block;margin-top:28px;padding:10px;background:var(--bg);border-radius:5px;text-align:center;font-size:11px;color:var(--muted)}.connection-result{display:flex;gap:16px;align-items:center;margin:18px 0 100px;padding:20px;background:var(--dark);border-radius:7px;color:#fff}.connection-result h2{margin:0;font-size:20px}.connection-result p{margin:3px 0 0;color:#98a2b3;font-size:13px}.faq-layout{display:grid;grid-template-columns:32% 1fr;gap:20px}.faq-layout aside{height:48px;padding:13px;background:var(--dark);color:#fff;border-radius:5px}.faq-layout details{padding:15px;border-bottom:1px solid var(--border);font-size:13px}.faq-layout details:first-child{border-radius:7px 7px 0 0}.faq-layout summary{font-weight:700;color:var(--dark);cursor:pointer}.faq-layout p{color:var(--muted)}.faq-layout>div{background:#fff;border:1px solid var(--border);border-radius:7px}@media(max-width:800px){.ip-page{width:min(100% - 32px,1200px)}.ip-dashboard,.faq-layout,.versions{grid-template-columns:1fr}.ip-summary{padding:10px 0 18px}.ip-benefits{grid-template-columns:1fr 1fr}.map-empty{min-height:220px}.connection-result{margin-bottom:55px}}@media(max-width:480px){.ip-benefits{grid-template-columns:1fr}.ip-result-head{align-items:flex-start;flex-direction:column}.map-data{grid-template-columns:1fr}.map-data div{border-right:0;border-bottom:1px solid var(--border)}.ip-summary h1{font-size:35px}}

.ip-map-frame{display:block;width:100%;height:275px;border:0;background:var(--surface-soft)}
@media(max-width:800px){.ip-map-frame{height:220px}}

/* ESMIDIRECCIONIP_MAP_VERTICAL_FILL_V1 */
.ip-map-panel{
    display:flex;
    flex-direction:column;
    align-self:stretch
}
.ip-map-frame{
    display:block;
    width:100%;
    height:auto;
    min-height:275px;
    flex:1 1 auto;
    border:0
}
.map-data,
.privacy-note{
    flex:0 0 auto
}
@media(max-width:800px){
    .ip-map-frame{
        flex:none;
        height:300px;
        min-height:300px
    }
}
