/* Geo IP - Tool-specific styles */

.search-box { display: flex; gap: var(--space-sm); margin-bottom: var(--space-xl); }
.search-box input { margin-bottom: 0; flex: 1; }
.search-box button { white-space: nowrap; }

.btn-icon {
    padding: 0 var(--space-md) !important;
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--primary) !important;
    cursor: pointer;
    box-shadow: none !important;
}

.btn-icon:hover {
    border-color: var(--border-active) !important;
    background: var(--primary-glow) !important;
    box-shadow: none !important;
    transform: none !important;
}

.results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-lg);
    margin-bottom: var(--space-2xl);
}

.geo-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xl);
    border-top-width: 3px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.geo-card:hover { transform: translateY(-2px); border-color: var(--border-active); box-shadow: var(--shadow-md); }

.geo-card-header { background: var(--bg-tertiary); padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border-color); }
.geo-card-header h3 { margin: 0; font-size: var(--text-sm); font-weight: 700; display: flex; align-items: center; gap: var(--space-sm); }
.geo-card-body { padding: var(--space-lg); flex: 1; display: flex; flex-direction: column; justify-content: center; }

.geo-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-md); font-size: var(--text-sm); }
.geo-row:last-child { margin-bottom: 0; }
.geo-label { color: var(--text-tertiary); font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }

.geo-badge, .geo-badge-container {
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    padding: 4px 10px;
    border-radius: var(--radius-lg);
    font-family: 'JetBrains Mono', monospace;
    color: var(--text-primary);
    font-size: var(--text-xs);
    display: inline-flex;
    align-items: center;
}

.main-row { justify-content: center; margin-bottom: var(--space-lg); gap: var(--space-sm); }
.geo-value-highlight { font-size: var(--text-lg); font-weight: 800; color: var(--primary); font-family: 'JetBrains Mono', monospace; }

.map-container { height: 400px; width: 100%; border-radius: var(--radius-2xl); border: 1px solid var(--border-color); z-index: 1; overflow: hidden; }

.geo-type-ip { border-top-color: var(--primary); }
.geo-type-ip h3 { color: var(--primary); }
.geo-type-loc { border-top-color: var(--warning); }
.geo-type-loc h3 { color: var(--warning); }
.geo-type-isp { border-top-color: #a78bfa; }
.geo-type-isp h3 { color: #a78bfa; }
.geo-type-coords { border-top-color: var(--secondary); }
.geo-type-coords h3 { color: var(--secondary); }

@media (max-width: 768px) {
    .search-box { flex-direction: column; }
    .results-grid { grid-template-columns: 1fr; }
    .map-container { height: 300px; }
}
