
/* Utilidades personalizadas */
.btn-primary {
  @apply inline-flex items-center justify-center px-5 py-3 rounded-md bg-brand-600 text-white font-semibold hover:bg-brand-700 transition;
}
.btn-secondary {
  @apply inline-flex items-center justify-center px-5 py-3 rounded-md border border-slate-300 text-slate-800 bg-white hover:bg-slate-50 transition;
}
.btn-link {
  @apply text-brand-700 hover:text-brand-800 underline underline-offset-2;
}
.input {
  @apply w-full rounded-md border border-slate-300 px-3 py-2 focus:outline-none focus:ring-2 focus:ring-brand-300 focus:border-brand-500 bg-white;
}
.step {
  @apply flex-shrink-0 w-10 h-10 rounded-full bg-brand-600 text-white flex items-center justify-center font-bold;
}

/* Cookie banner */
.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 50;
  background: rgba(15, 23, 42, 0.98);
  color: #e2e8f0;
  backdrop-filter: saturate(180%) blur(6px);
}
.cookie-content {
  max-width: 72rem;
  margin: 0 auto;
  padding: 1rem 1rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
.cookie-banner.hidden { display: none; }

/* Typography */
.prose a { @apply text-brand-700 underline; }
.prose h2 { @apply text-xl font-semibold; }

/* Responsive */
@media (max-width: 640px) {
  .cookie-content { flex-direction: column; align-items: flex-start; }
}
