@import "tailwindcss";

@source "../views";

@theme {
    --font-display: "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;

    /* Nova Community Alliance brand */
    --color-ink: #070b16;
    --color-navy: #0a1530;
    --color-nova: #1b4db3;          /* royal blue from the NCA seal */
    --color-nova-deep: #123a8c;
    --color-gold: #d4a62a;
    --color-gold-light: #f1d27a;
    --color-gold-deep: #a97f10;
    --color-paper: #faf8f3;
}

@layer base {
    html { scroll-behavior: smooth; }
    body { @apply bg-paper font-sans text-slate-800 antialiased; }
    h1, h2, h3, h4 { @apply font-display tracking-tight; }
    [x-cloak] { display: none !important; }
}

@layer components {
    .btn {
        @apply inline-flex items-center justify-center gap-2 rounded-full px-6 py-3 text-sm font-semibold transition focus:outline-none focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2;
    }
    .btn-gold { @apply bg-linear-to-b from-gold-light to-gold text-ink shadow-md shadow-gold/30 hover:brightness-105; }
    .btn-blue { @apply bg-nova text-white hover:bg-nova-deep; }
    .btn-ghost { @apply border border-white/40 text-white hover:bg-white/10; }
    .btn-outline { @apply border border-nova/30 text-nova hover:bg-nova/5; }

    .card { @apply rounded-2xl border border-slate-200/80 bg-white shadow-sm; }
    .field {
        @apply w-full rounded-xl border border-slate-300 bg-white px-4 py-3 text-sm text-slate-900 placeholder:text-slate-400 focus:border-nova focus:outline-none focus:ring-2 focus:ring-nova/20;
    }
    .label { @apply mb-1.5 block text-sm font-medium text-slate-700; }
    .eyebrow { @apply text-xs font-semibold uppercase tracking-[0.2em] text-gold-deep; }
    .gold-rule { @apply h-px w-16 bg-linear-to-r from-gold to-transparent; }
}
