/* Instagram Profile Viewer — card + results. Shared bits from css/tool-base.css. */
.ipv-card { display: flex; flex-direction: column; gap: .85rem; }
.ipv-input-row { display: flex; gap: .5rem; flex-wrap: wrap; }
.ipv-input { flex: 1 1 240px; min-width: 0; padding: .7rem 1rem; border-radius: 100px; border: 1px solid var(--t-border); background: var(--t-bg); color: inherit; font-size: 1rem; }
.ipv-btn { padding: .7rem 1.4rem; border-radius: 100px; border: 0; cursor: pointer; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--t-accent), var(--t-accent-2)); }
.ipv-btn.secondary { background: var(--t-bg-2, rgba(127,127,127,.15)); color: inherit; border: 1px solid var(--t-border); font-weight: 600; text-decoration: none; display: inline-block; }
.ipv-hint { opacity: .75; font-size: .9rem; }
.ipv-error { display: none; color: #d33; background: rgba(255,0,0,.07); border: 1px solid rgba(255,0,0,.25); border-radius: 12px; padding: .6rem .9rem; }
.ipv-meta { display: flex; gap: .8rem; align-items: flex-start; margin-bottom: .8rem; }
.ipv-thumb { width: 120px; border-radius: 50%; flex-shrink: 0; aspect-ratio: 1; object-fit: cover; }
.ipv-mtext p { margin: .2rem 0 0; opacity: .85; }
.ipv-preview { width: 100%; max-height: 420px; border-radius: 12px; background: #000; margin-bottom: .8rem; }
.ipv-bar { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.ipv-bar select { padding: .55rem .8rem; border-radius: 100px; border: 1px solid var(--t-border); background: var(--t-bg); color: inherit; }
.ipv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .6rem; margin-top: .8rem; }
.ipv-grid img { width: 100%; border-radius: 10px; }
@media (max-width: 480px) { .ipv-thumb { width: 84px; } }
