/* The Tool Bakery – GeoIP Location Finder (modern, professional) */
.ttb-card{
  --bg:#0f1115;
  --muted:#8a93a6;
  --text:#e7ebf3;
  --accent:#4ea2ff;
  --border:#202432;
  --shadow:0 8px 30px rgba(0,0,0,.35);
  background:linear-gradient(180deg, #0f1115, #0c0e13);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:20px;
  padding:22px;
  box-shadow:var(--shadow);
}

.ttb-geoip .ttb-geoip-header h2{
  margin:0 0 6px;
  font-size:1.6rem;
  letter-spacing:.2px;
}
.ttb-geoip-sub{
  margin:0 0 14px;
  color:var(--muted);
  font-size:.95rem;
}

.ttb-geoip-controls{
  margin-top:8px;
}
.ttb-label{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:.9rem;
}
.ttb-row{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.ttb-row input{
  flex:1 1 260px;
  background:#0b0d12;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 14px;
  outline:none;
  transition:.2s border-color;
}
.ttb-row input:focus{ border-color:var(--accent); }

.ttb-btn{
  background:var(--accent);
  color:#061326;
  border:none;
  border-radius:14px;
  padding:12px 16px;
  font-weight:600;
  cursor:pointer;
  transition:transform .08s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow:0 6px 16px rgba(78,162,255,.25);
}
.ttb-btn:hover{ transform:translateY(-1px); }
.ttb-btn:active{ transform:translateY(0); opacity:.9; }
.ttb-btn-ghost{
  background:transparent;
  color:var(--text);
  border:1px solid var(--border);
  box-shadow:none;
}

.ttb-error{
  margin-top:10px;
  color:#ff6b6b;
  font-weight:600;
}

.ttb-geoip-results{
  margin-top:18px;
  border-top:1px dashed var(--border);
  padding-top:16px;
}

.ttb-kpis{
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap:10px;
}
@media (max-width:900px){
  .ttb-kpis{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.ttb-kpi{
  background:#0b0d12;
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px 14px;
}
.kpi-label{ color:var(--muted); font-size:.8rem; margin-bottom:6px; }
.kpi-value{ font-size:1.05rem; font-weight:700; letter-spacing:.2px; }

.ttb-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
@media (max-width:900px){
  .ttb-grid{ grid-template-columns: repeat(1, minmax(0,1fr)); }
}
.ttb-field{
  background:#0b0d12;
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 14px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  overflow-x: scroll;
}
.ttb-field span{ color:var(--muted); }
.ttb-field strong{ font-weight:700; }

.ttb-actions{
  margin-top:16px;
  display:flex; gap:10px; flex-wrap:wrap;
}

.ttb-geoip-footer{
  margin-top:14px;
  color:var(--muted);
}
