/* ═══ /ip/ page-specific styles — the "IP detail" page ═══ */

/* Skeleton loading grid (shown while a lookup is in flight) */
#ipdLoading{flex-direction:column;align-items:stretch;gap:18px;padding:32px 0 60px}
.lk-skel{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.lk-skel .skeleton-card{width:100%}
.lk-skel .lk-skel-hero{grid-column:1/-1;height:170px}
.lk-skel-status{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary);font-size:14px}
@media (max-width:768px){.lk-skel{grid-template-columns:1fr}}

/* Error state + retry */
#ipdError{flex-direction:column;gap:14px}
.ip-error-msg-row{display:flex;align-items:center;gap:10px}
.ip-retry-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .15s ease}
.ip-retry-btn:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-1px)}
.ip-retry-btn svg{width:14px;height:14px;color:var(--accent)}

/* Share button placement in the result hero header */
.lookup-hero-top .share-btn{margin-left:auto}
.lookup-hero-top .share-btn ~ .lookup-hero-copy{margin-left:8px}

/* Connection-flag pills (VPN / Proxy / Tor / Hosting) */
.lookup-hero-pill--warn{background:var(--red-subtle);color:var(--red);border-color:rgba(248,113,113,0.35)}
.lookup-hero-pill--ok{background:var(--green-subtle);color:var(--green);border-color:rgba(52,211,153,0.3)}

/* Per-field copy buttons (appear on row hover) */
.row-copy{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;flex-shrink:0;vertical-align:middle;transition:opacity .15s ease,color .15s ease,background .15s ease}
.row-copy svg{width:12px;height:12px}
.row-copy:hover{color:var(--text-primary);background:var(--bg-hover)}
.ip-info-row:hover .row-copy,
.lookup-hero-meta-item:hover .row-copy,
.row-copy:focus-visible{opacity:1}
@media (hover:none){.row-copy{opacity:.55}}
.ip-info-value{display:inline-flex;align-items:center;justify-content:flex-end;min-width:0}
.lookup-hero-meta-value{display:inline-flex;align-items:center;min-width:0}
.lookup-hero-meta-value .row-copy{margin-left:4px}
@media (max-width:640px){.ip-info-value{justify-content:flex-start}}

/* Address-representation card: mono values that may be long */
.ipd-repr-card .ip-info-value{font-family:var(--font-mono);font-size:12.5px;word-break:break-all;text-align:right}
@media (max-width:640px){.ipd-repr-card .ip-info-value{text-align:left}}

/* Inner text span of hero meta values (keeps ellipsis with the copy button present) */
.lookup-hero-meta-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
