@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-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

    --color-zinc-50: #fafafa;
    --color-zinc-100: #f5f5f5;
    --color-zinc-200: #e5e5e5;
    --color-zinc-300: #d4d4d4;
    --color-zinc-400: #a3a3a3;
    --color-zinc-500: #737373;
    --color-zinc-600: #525252;
    --color-zinc-700: #404040;
    --color-zinc-800: #262626;
    --color-zinc-900: #171717;
    --color-zinc-950: #0a0a0a;

    --color-accent: var(--color-neutral-800);
    --color-accent-content: var(--color-neutral-800);
    --color-accent-foreground: var(--color-white);
}

@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;
} */


/* Styles pour les tags dans le champ de saisie (même en mode clair) */
        .ts-wrapper.multi .ts-input {
            padding: 8px 12px;
            border-radius: 8px;
            min-height: 40px;
        }
        .ts-wrapper.multi .item {
            background: #4F46E5; /* Indigo */
            color: white;
            border-radius: 4px;
            padding: 2px 8px;
        }
        
        /* ================================================= */
        /* SURCHARGE POUR LE THÈME SOMBRE           */
        /* ================================================= */
        
        /*
          Les styles ci-dessous ciblent les éléments générés par Tom Select.
          Ils doivent être suffisamment spécifiques pour écraser les styles par défaut.
        */

        .dark .ts-wrapper {
            /* Couleur de fond du champ et du menu */
            --tom-select-bg-color: #2D3748; /* gray-800 */
            --tom-select-border-color: #4A5568; /* gray-600 */
            --tom-select-text-color: #E2E8F0; /* gray-200 */
            --tom-select-item-color: #FFFFFF;
            --tom-select-dropdown-hover-bg: #4F46E5; /* indigo-600 */
            --tom-select-dropdown-hover-text: #FFFFFF;
            --tom-select-input-placeholder-color: #A0AEC0; /* gray-400 */
        }

        /* 1. Le champ de saisie principal (input) */
        .dark .ts-control, .dark .ts-input {
            background-color: var(--tom-select-bg-color) !important;
            color: var(--tom-select-text-color) !important;
            border-color: var(--tom-select-border-color) !important;
        }

        /* 2. Le placeholder dans le champ de saisie */
        .dark .ts-input::placeholder {
            color: var(--tom-select-input-placeholder-color) !important;
        }
        
        /* 3. Le conteneur du menu déroulant (dropdown) */
        .dark .ts-dropdown {
            background-color: var(--tom-select-bg-color) !important;
            border-color: var(--tom-select-border-color) !important;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -2px rgba(0, 0, 0, 0.15); /* Ombre plus sombre */
        }
        
        /* 4. Les options du menu déroulant */
        .dark .ts-dropdown .option {
            color: var(--tom-select-text-color) !important;
        }

        /* 5. L'option sélectionnée dans le menu déroulant (au survol) */
        .dark .ts-dropdown .option.active {
            background-color: var(--tom-select-dropdown-hover-bg) !important;
            color: var(--tom-select-dropdown-hover-text) !important;
        }
        
        /* 6. Le tag "remove_button" (la croix de suppression) */
        .dark .item .remove {
            color: white; /* Conserver le blanc dans le tag indigo */
            opacity: 0.8;
        }