
/* Tailwind utility helpers and custom components */
.section-title{ @apply text-3xl md:text-4xl font-bold; }
.btn-primary{ @apply inline-flex items-center justify-center px-5 py-3 rounded-md bg-emerald-600 text-white hover:bg-emerald-700 transition; }
.btn-secondary{ @apply inline-flex items-center justify-center px-5 py-3 rounded-md border border-slate-300 text-slate-800 hover:bg-slate-100 transition; }
.btn-sm{ @apply px-3 py-2 text-sm; }
.nav-link{ @apply text-slate-700 hover:text-emerald-700 transition; }
.nav-link.active{ @apply text-emerald-700 font-semibold; }
.footer-title{ @apply font-semibold text-slate-100; }
.footer-link{ @apply text-slate-400 hover:text-white transition; }
.card{ @apply bg-white rounded-xl overflow-hidden shadow-sm border border-slate-200; }
.card-img{ @apply w-full h-48 object-cover; }
.card-title{ @apply text-xl font-semibold; }
.card-text{ @apply text-slate-600 mt-2; }
.card-link{ @apply inline-flex items-center gap-1 mt-3 text-emerald-700 hover:underline; }
.service-card{ @apply bg-white rounded-xl overflow-hidden shadow-sm border border-slate-200; }
.label{ @apply block text-sm font-medium text-slate-700 mb-1; }
.input{ @apply w-full rounded-md border border-slate-300 px-3 py-2 focus:outline-none focus:ring-2 focus:ring-emerald-500; }
.prose h2{ @apply text-2xl font-semibold mt-6; }
.badge{ @apply inline-flex items-center justify-center w-7 h-7 rounded-full bg-emerald-600 text-white text-sm shrink-0; }
.cookie-banner{ @apply fixed bottom-0 inset-x-0 bg-white/95 backdrop-blur border-t border-slate-200 p-4 z-50; }
.hidden{ display:none!important; }
/* Responsive nav for small screens */
#navList.open{ @apply block absolute right-4 top-16 bg-white border border-slate-200 rounded-lg shadow p-4 space-y-2; }
