@import 'tailwindcss';
@import '../../vendor/livewire/flux/dist/flux.css';

@source '../views';
@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../vendor/livewire/flux-pro/stubs/**/*.blade.php';
@source '../../vendor/livewire/flux/stubs/**/*.blade.php';

@custom-variant dark (&:where(.dark, .dark *));

@theme {
    /* Font definitions - to be updated in typography story */
    --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    --font-arabic: 'Cairo', 'Tajawal', ui-sans-serif, system-ui, sans-serif;
    --font-english: 'Montserrat', 'Lato', ui-sans-serif, system-ui, sans-serif;

    /* Primary Brand Colors */
    --color-navy: #0A1F44;
    --color-gold: #D4AF37;

    /* Supporting Colors */
    --color-gold-light: #F4E4B8;
    --color-cream: #F9F7F4;
    --color-charcoal: #2C3E50;

    /* Status Colors */
    --color-success: #27AE60;
    --color-danger: #E74C3C;
    --color-warning: #F39C12;

    /* Semantic Aliases - used by components */
    --color-primary: var(--color-navy);
    --color-accent: var(--color-gold);
    --color-accent-content: var(--color-gold);
    --color-accent-foreground: var(--color-navy);
    --color-background: var(--color-cream);
    --color-text: var(--color-charcoal);
}

@layer theme {
    .dark {
        --color-accent: var(--color-white);
        --color-accent-content: var(--color-white);
        --color-accent-foreground: var(--color-neutral-800);
    }
}

@layer base {

    *,
    ::after,
    ::before,
    ::backdrop,
    ::file-selector-button {
        border-color: var(--color-gray-200, currentColor);
    }
}

[data-flux-field]:not(ui-radio, ui-checkbox) {
    @apply grid gap-2;
}

[data-flux-label] {
    @apply  !mb-0 !leading-tight;
}

input:focus[data-flux-control],
textarea:focus[data-flux-control],
select:focus[data-flux-control] {
    @apply outline-hidden ring-2 ring-accent ring-offset-2 ring-offset-accent-foreground;
}

/* \[:where(&)\]:size-4 {
    @apply size-4;
} */

/* Prose Navy styling for blog posts */
.prose-navy {
    --tw-prose-headings: var(--color-navy);
    --tw-prose-links: var(--color-gold);
    --tw-prose-bold: var(--color-navy);
    --tw-prose-body: var(--color-charcoal);
}

.prose-navy a {
    text-decoration: underline;
}

.prose-navy a:hover {
    color: var(--color-gold-light);
}
