/* WhatIsMyIP.live V10.9.9.26 — critical public UI reliability layer.
   This file is loaded directly with a unique immutable filename so Passport,
   tool-result and consent controls do not depend on a stale Vite manifest. */

/* Compact IP Passport actions. */
.wmip-passport-hero-row{display:grid!important;gap:1rem!important;align-items:end!important}
.wmip-passport-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:.4rem!important;min-width:0!important}
.wmip-passport-actions .wmip-passport-action{display:inline-flex!important;width:auto!important;min-width:0!important;max-width:100%!important;min-height:2rem!important;padding:.38rem .58rem!important;gap:.32rem!important;border-radius:.62rem!important;font-size:.70rem!important;line-height:1.05!important;white-space:nowrap!important;box-shadow:none!important}
.wmip-passport-actions .wmip-passport-action svg{display:block!important;width:.82rem!important;height:.82rem!important;min-width:.82rem!important;min-height:.82rem!important;flex:0 0 .82rem!important}
@media(min-width:1100px){.wmip-passport-hero-row{grid-template-columns:minmax(0,1fr) auto!important}.wmip-passport-actions{justify-self:end!important;justify-content:flex-end!important;max-width:26rem!important}}
@media(max-width:767px){.wmip-passport-actions{justify-content:flex-start!important}.wmip-passport-actions .wmip-passport-action{flex:0 1 auto!important}}

/* Deterministic Passport security signals. */
.wmip-signal-pill{display:inline-flex!important;align-items:center!important;gap:.45rem!important}
.wmip-signal-light{display:inline-block!important;width:.62rem!important;height:.62rem!important;min-width:.62rem!important;min-height:.62rem!important;flex:0 0 .62rem!important;border-radius:999px!important;background:#94a3b8!important;box-shadow:0 0 0 .20rem rgba(148,163,184,.16)!important}
.wmip-signal-pill.is-success .wmip-signal-light,.wmip-signal-pill[data-signal-state="clear"] .wmip-signal-light{background:#16a34a!important;box-shadow:0 0 0 .20rem rgba(22,163,74,.16)!important}
.wmip-signal-pill.is-danger .wmip-signal-light,.wmip-signal-pill[data-signal-state="detected"] .wmip-signal-light{background:#dc2626!important;box-shadow:0 0 0 .20rem rgba(220,38,38,.16)!important}
.wmip-signal-pill.is-warning .wmip-signal-light,.wmip-signal-pill[data-signal-state="hosting"] .wmip-signal-light{background:#d97706!important;box-shadow:0 0 0 .20rem rgba(217,119,6,.16)!important}
.wmip-signal-pill.is-neutral .wmip-signal-light,.wmip-signal-pill[data-signal-state="unavailable"] .wmip-signal-light{background:#94a3b8!important;box-shadow:0 0 0 .20rem rgba(148,163,184,.16)!important}
.wmip-status-panel .button-primary{display:inline-flex!important;width:auto!important}

/* IP Lookup Full Passport callout: keep it inside and aligned with the result card. */
.tool-visual-result .visual-result-card>.wmip-passport-cta,.wmip-passport-cta{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:1rem!important;width:100%!important;max-width:100%!important;margin:1rem 0 0!important;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line))!important;border-radius:1rem!important;background:linear-gradient(135deg,var(--brand-soft),var(--surface))!important;padding:1rem!important;box-sizing:border-box!important;overflow:hidden!important}
.wmip-passport-cta>div{min-width:0!important}
.wmip-passport-cta strong{display:block!important;margin:0!important;font-size:.95rem!important;font-weight:900!important;line-height:1.3!important;color:var(--text)!important}
.wmip-passport-cta p{margin:.28rem 0 0!important;color:var(--muted)!important;font-size:.76rem!important;line-height:1.5!important;overflow-wrap:anywhere!important}
.wmip-passport-cta .wmip-passport-cta-button{display:inline-flex!important;width:auto!important;min-width:max-content!important;max-width:100%!important;min-height:2.5rem!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:.62rem .85rem!important;white-space:nowrap!important}
@media(max-width:700px){.tool-visual-result .visual-result-card>.wmip-passport-cta,.wmip-passport-cta{grid-template-columns:1fr!important;align-items:stretch!important}.wmip-passport-cta .wmip-passport-cta-button{width:100%!important;min-width:0!important}}

/* Related-tool icons must remain visible even when flex space is tight. */
.tool-related-list a{display:grid!important;grid-template-columns:1.75rem minmax(0,1fr) 1rem!important;align-items:center!important;gap:.65rem!important}
.tool-related-icon{display:grid!important;width:1.75rem!important;height:1.75rem!important;min-width:1.75rem!important;min-height:1.75rem!important;flex:0 0 1.75rem!important;place-items:center!important;border-radius:.5rem!important;background:var(--surface-soft)!important;color:var(--brand-strong)!important;overflow:visible!important}
.tool-related-icon svg{display:block!important;width:1rem!important;height:1rem!important;min-width:1rem!important;min-height:1rem!important;stroke:currentColor!important;opacity:1!important;visibility:visible!important}

/* Analytics consent: fixed first-viewport banner, independent of footer flow. */
.wmip-consent-layer{position:fixed!important;z-index:2147483000!important;inset:0!important;display:block!important;pointer-events:none!important}
.wmip-consent-layer[hidden]{display:none!important}
.wmip-consent{position:absolute!important;left:50%!important;right:auto!important;bottom:max(1rem,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:1rem!important;width:min(46rem,calc(100vw - 2rem))!important;max-height:calc(100vh - 2rem)!important;overflow:auto!important;pointer-events:auto!important;border:1px solid var(--line)!important;border-radius:1.1rem!important;background:var(--surface)!important;padding:1rem!important;box-sizing:border-box!important;box-shadow:0 24px 80px rgba(15,23,42,.28)!important}
.wmip-consent[hidden]{display:none!important}
.wmip-consent-copy{min-width:0!important}
.wmip-consent-copy strong{display:block!important;font-size:.92rem!important;font-weight:900!important;line-height:1.3!important;color:var(--text)!important}
.wmip-consent-copy p{margin:.28rem 0 0!important;color:var(--muted)!important;font-size:.76rem!important;line-height:1.5!important}
.wmip-consent-copy a{color:var(--brand-strong)!important;font-weight:800!important}
.wmip-consent-actions{display:flex!important;flex:0 0 auto!important;gap:.5rem!important}
.wmip-consent-actions button{display:inline-flex!important;width:auto!important;min-height:2.5rem!important;align-items:center!important;justify-content:center!important;padding:.58rem .75rem!important;white-space:nowrap!important}
.wmip-consent-manage{position:fixed!important;z-index:2147482999!important;left:max(.75rem,env(safe-area-inset-left))!important;bottom:max(.75rem,env(safe-area-inset-bottom))!important;display:inline-flex!important;align-items:center!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--surface)!important;padding:.45rem .65rem!important;color:var(--muted)!important;font-size:.68rem!important;font-weight:800!important;box-shadow:0 8px 25px rgba(15,23,42,.14)!important}
.wmip-consent-manage[hidden]{display:none!important}
@media(max-width:700px){.wmip-consent{grid-template-columns:1fr!important;align-items:stretch!important;width:min(35rem,calc(100vw - 1rem))!important;bottom:max(.5rem,env(safe-area-inset-bottom))!important;padding:.85rem!important}.wmip-consent-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.wmip-consent-actions button{width:100%!important}}
@media(max-width:420px){.wmip-consent-actions{grid-template-columns:1fr!important}}
