/* The Tool Bakery – WHOIS IP Lookup (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-whois-header h2{ margin:0 0 6px; font-size:1.6rem; }
.ttb-whois-sub{ margin:0 0 14px; color:var(--muted); font-size:.95rem; }

.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 320px;
  background:#0b0d12;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 14px;
  outline:none;
}
.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-whois-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:1000px){
  .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; }

.ttb-section-title{ margin:16px 0 8px; font-size:1.1rem; letter-spacing:.2px; }

.ttb-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
}
@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-list{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.ttb-list li{
  background:#0b0d12; border:1px solid var(--border); border-radius:14px; padding:10px 12px;
}

.ttb-contacts{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:10px;
}
@media (max-width:900px){
  .ttb-contacts{ grid-template-columns: repeat(1, minmax(0,1fr)); }
}
.contact-card{
  background:#0b0d12; border:1px solid var(--border); border-radius:16px; padding:12px 14px;
}
.contact-card h4{ margin:0 0 8px; font-size:1rem; }
.contact-row{ display:flex; gap:8px; margin:4px 0; }
.contact-key{ width:90px; color:var(--muted); }
.contact-val{ flex:1; word-break:break-word; }

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

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

/* Visibility toggles based on type */
.ttb-whois[data-type="ip"] .domain-only{ display:none; }
.ttb-whois[data-type="domain"] .ip-only{ display:none; }
