
/* Utility buttons and components with Tailwind base classes */
.btn { @apply inline-flex items-center justify-center rounded-md px-4 py-2 font-medium transition-colors; }
.btn-sm { @apply px-3 py-1 text-sm; }
.btn-primary { @apply bg-emerald-700 text-white hover:bg-emerald-800; }
.btn-secondary { @apply border border-emerald-700 text-emerald-700 hover:bg-emerald-50; }
.btn-light { @apply bg-white text-emerald-800 hover:bg-slate-100; }

.nav-link { @apply text-slate-700 hover:text-emerald-700; }

.section-title { @apply text-3xl font-bold; }

.card { @apply bg-white rounded-xl border border-slate-200 p-6 shadow-sm; }
.card-title { @apply text-xl font-semibold; }
.card-text { @apply text-slate-600 mt-2; }
.card-icon { @apply w-10 h-10 flex items-center justify-center rounded-full; }

.dest-card { @apply bg-white rounded-xl overflow-hidden border border-slate-200 shadow-sm hover:shadow-md transition-shadow; }
.dest-img { @apply w-full h-52 object-cover; }

.quote { @apply bg-white rounded-xl border border-slate-200 p-6 italic text-slate-700 shadow-sm; }

.form-label { @apply block text-sm font-medium text-slate-700; }
.form-input { @apply mt-1 block w-full rounded-md border-slate-300 shadow-sm focus:border-emerald-600 focus:ring-emerald-600; }
.form-textarea { @apply mt-1 block w-full rounded-md border-slate-300 shadow-sm focus:border-emerald-600 focus:ring-emerald-600; }

.footer-link { @apply hover:text-white text-slate-300; }

/* Cookie banner */
.cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #f1f5f9;
  border-top: 1px solid #cbd5e1;
  z-index: 60;
}
.fade-in { animation: fadeIn .3s ease-out; }
@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }
