/* Base */
body {
  font-family: 'Inter', sans-serif;
  background:
    radial-gradient(ellipse 90% 55% at -5% 0%,   rgba(0,88,190,0.10) 0%, transparent 52%),
    radial-gradient(ellipse 80% 65% at 108% 100%, rgba(173,198,255,0.30) 0%, transparent 55%),
    linear-gradient(90deg, #eef3ff 0%, #f8f9ff 45%, #f0f5ff 100%);
  background-attachment: fixed;
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

a { text-decoration: none; }

/* Form focus ring */
.halo-focus:focus {
  box-shadow: 0 0 0 2px rgba(0, 88, 190, 0.1);
}

/* Spinner */
@keyframes spin { to { transform: rotate(360deg); } }
.animate-spin { animation: spin 1s linear infinite; }

/* Navbar */
.navbar {
  background: #071428;
}

/* Gradient logo text */
.logo-text {
  background: linear-gradient(180deg, #ffffff 20%, #d5def1 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Hero section */
.hero-gradient {
  background: linear-gradient(180deg, #071428 0%, #0d2a4e 60%, #0058be 100%);
}

.hero-subtitle {
  color: rgba(255, 255, 255, 0.70);
}

/* Material icon fill variants */
.material-symbols-filled {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.material-symbols-thin {
  font-variation-settings: 'FILL' 0, 'wght' 100, 'GRAD' 0, 'opsz' 24;
}

/* Domain card price */
.domain-price {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  color: #0b1c30;
}

/* Flag icon button sizing */
.flag-icon-btn {
  width: 28px;
  height: 21px;
  border-radius: 3px;
  display: block;
  background-size: cover;
}
