/* style.css */

/* ------------------------------
   Basic Page & Typography
------------------------------ */
body {
    margin: 0;
    padding: 20px;
    font-family: "Segoe UI", Tahoma, sans-serif;
    background: #1e1e2f;
    color: #ffffff;
  }
  
  .step-title {
    font-size: 1rem;
    opacity: 0.8;
    margin-bottom: 8px;
  }
  
  .main-title {
    font-size: 1.6rem;
    margin-bottom: 24px;
    font-weight: 500;
    text-align: center; /* This centers text horizontally */
  }

  .logo-container {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
  }
  
  .logo {
    max-width: 300px;
    height: auto;
  }

  /* ------------------------------
     Grid Container for Servers
  ------------------------------ */
.server-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 32px;
    max-width: 1400px;
    margin: 0 auto;
}
  /* ------------------------------
     Card Styling
  ------------------------------ */
  .server-card {
    background: #2a2a3b;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: background 0.2s ease;
  }
  .server-card:hover {
    background: #343446;
  }
  .server-card.selected {
    border: 2px solid #f5a623;
  }
  
  /* ------------------------------
     Card Content
  ------------------------------ */
  .flag {
    width: 28px;
    height: 20px;
    object-fit: cover;
    border-radius: 2px;
    margin-bottom: 8px;
  }
  
  .server-name {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  
  .country-name {
    font-size: 0.85rem;
    opacity: 0.8;
  }
  
  .latency-row {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  
  .latency-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #aaa; /* Default gray */
  }
  
  .latency-text {
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
  }
  
  /* ------------------------------
     Dot Colors Only
  ------------------------------ */
  .green {
    background: #60d394;
  }
  
  .orange {
    background: #facc60;
  }
  
  .red {
    background: #ff7c7c;
  }

.button-container {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

@media (max-width: 768px) {
  body {
    padding: 10px;
  }

  .main-title {
    font-size: 1.4rem;
    margin-bottom: 16px;
  }

  .server-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .server-card {
    padding: 12px;
  }

  .server-name {
    font-size: 0.9rem;
  }

  .latency-text {
    font-size: 0.85rem;
  }
}

@media (max-width: 480px) {
  body {
    padding: 8px;
  }

  .step-title {
    font-size: 0.9rem;
    margin-bottom: 6px;
  }

  .main-title {
    font-size: 1.2rem;
    margin-bottom: 12px;
  }

  .server-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .server-card {
    padding: 14px;
  }

  .flag {
    width: 24px;
    height: 18px;
    margin-bottom: 6px;
  }

  .server-name {
    font-size: 0.9rem;
  }

  .country-name {
    font-size: 0.75rem;
  }

  .latency-row {
    margin-top: 6px;
    gap: 4px;
  }

  .latency-dot {
    width: 6px;
    height: 6px;
  }

  .latency-text {
    font-size: 0.85rem;
  }
}