.input {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid rgba(244, 114, 182, 0.25);
  padding: 0.5rem 0.75rem;
  font-size: 0.95rem;
  background: rgba(255, 255, 255, 0.85);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.dark .input {
  background: #0f172a;
  border-color: #1f2937;
  color: #e2e8f0;
}
.input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(244, 114, 182, 0.25);
  border-color: rgba(244, 114, 182, 0.5);
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.55rem 1.1rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(90deg, #ec4899, #f59e0b);
  box-shadow: 0 10px 30px rgba(236, 72, 153, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 35px rgba(236, 72, 153, 0.32);
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.55rem 1.1rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
  border: 1px solid rgba(244, 114, 182, 0.35);
  background: rgba(255, 255, 255, 0.7);
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn-secondary:hover {
  transform: translateY(-2px);
  background: rgba(244, 114, 182, 0.08);
}
.dark .btn-secondary {
  color: #e2e8f0;
  border-color: #1f2937;
  background: #0f172a;
}
.dark .btn-secondary:hover {
  background: #111827;
}

.pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.4rem 0.9rem;
  font-size: 0.9rem;
  color: #be123c;
  border: 1px solid rgba(244, 114, 182, 0.3);
  background: rgba(255, 241, 242, 0.9);
}
.dark .pill {
  color: #fda4af;
  background: #111827;
  border-color: #1f2937;
}

.nav-link {
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  border: 1px solid transparent;
  color: #0f172a;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.nav-link:hover {
  border-color: rgba(244, 114, 182, 0.4);
  background: rgba(244, 114, 182, 0.08);
}
.dark .nav-link {
  color: #e2e8f0;
}
.dark .nav-link:hover {
  border-color: #1f2937;
  background: #0f172a;
}

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