/* Thème Licorne 🦄 */
:root {
    --theme-primary: #9333ea;
    --theme-primary-50: #faf5ff;
    --theme-primary-100: #f3e8ff;
    --theme-primary-200: #e9d5ff;
    --theme-primary-300: #d8b4fe;
    --theme-primary-400: #c084fc;
    --theme-primary-500: #a855f7;
    --theme-primary-600: #9333ea;
    --theme-primary-700: #7e22ce;
    --theme-primary-800: #6b21a8;
    --theme-secondary: #ec4899;
    --theme-secondary-50: #fdf2f8;
    --theme-secondary-100: #fce7f3;
    --theme-secondary-200: #fbcfe8;
    --theme-secondary-500: #ec4899;
    --theme-secondary-600: #db2777;
    --theme-gradient-from: #9333ea;
    --theme-gradient-to: #ec4899;
}

/* === GRADIENTS === */
.theme-gradient {
    background: linear-gradient(135deg, var(--theme-gradient-from), var(--theme-gradient-to)) !important;
}

.theme-gradient-r,
.bg-gradient-to-r.theme-colors {
    background: linear-gradient(to right, var(--theme-gradient-from), var(--theme-gradient-to)) !important;
}

.theme-gradient-br {
    background: linear-gradient(to bottom right, var(--theme-gradient-from), var(--theme-gradient-to)) !important;
}

/* === BACKGROUNDS === */
.theme-bg-50 { background-color: var(--theme-primary-50) !important; }
.theme-bg-100 { background-color: var(--theme-primary-100) !important; }
.theme-bg-200 { background-color: var(--theme-primary-200) !important; }
.theme-bg-500 { background-color: var(--theme-primary-500) !important; }
.theme-bg-600 { background-color: var(--theme-primary-600) !important; }
.theme-bg-700 { background-color: var(--theme-primary-700) !important; }

.theme-bg-primary {
    background-color: var(--theme-primary-600) !important;
}

.theme-bg-primary-hover:hover {
    background-color: var(--theme-primary-700) !important;
}

/* === TEXT COLORS === */
.theme-text-50 { color: var(--theme-primary-50) !important; }
.theme-text-100 { color: var(--theme-primary-100) !important; }
.theme-text-200 { color: var(--theme-primary-200) !important; }
.theme-text-500 { color: var(--theme-primary-500) !important; }
.theme-text-600 { color: var(--theme-primary-600) !important; }
.theme-text-700 { color: var(--theme-primary-700) !important; }
.theme-text-800 { color: var(--theme-primary-800) !important; }

.theme-text-primary {
    color: var(--theme-primary-600) !important;
}

/* === BORDERS === */
.theme-border-50 { border-color: var(--theme-primary-50) !important; }
.theme-border-100 { border-color: var(--theme-primary-100) !important; }
.theme-border-200 { border-color: var(--theme-primary-200) !important; }
.theme-border-500 { border-color: var(--theme-primary-500) !important; }
.theme-border-600 { border-color: var(--theme-primary-600) !important; }

.theme-border {
    border-color: var(--theme-primary-200) !important;
}

.theme-border-primary {
    border-color: var(--theme-primary-600) !important;
}

/* === BUTTONS === */
.theme-btn,
.theme-btn-primary {
    background: linear-gradient(to right, var(--theme-gradient-from), var(--theme-gradient-to)) !important;
    color: white !important;
}

.theme-btn:hover,
.theme-btn-primary:hover {
    opacity: 0.9;
}

.theme-btn-light {
    background-color: var(--theme-primary-100) !important;
    color: var(--theme-primary-600) !important;
}

.theme-btn-light:hover {
    background-color: var(--theme-primary-200) !important;
}

/* === HEADERS === */
header.theme-header,
.theme-header {
    background: linear-gradient(to right, var(--theme-gradient-from), var(--theme-gradient-to)) !important;
}

/* === NAVIGATION === */
.theme-nav-active {
    color: var(--theme-primary-600) !important;
    border-color: var(--theme-primary-600) !important;
}

/* === FOCUS STATES === */
.theme-focus:focus,
input.theme-focus:focus,
textarea.theme-focus:focus,
select.theme-focus:focus {
    border-color: var(--theme-primary-600) !important;
    outline-color: var(--theme-primary-600) !important;
    --tw-ring-color: var(--theme-primary-600) !important;
}

/* === HOVER STATES === */
.theme-hover:hover {
    background-color: var(--theme-primary-50) !important;
}

.theme-hover-border:hover {
    border-color: var(--theme-primary-300) !important;
}

/* === CARDS === */
.theme-card {
    border-color: var(--theme-primary-200);
}

.theme-card-header {
    background: linear-gradient(to right, var(--theme-gradient-from), var(--theme-gradient-to));
    color: white;
}

/* === BADGES/TAGS === */
.theme-badge {
    background-color: var(--theme-primary-100) !important;
    color: var(--theme-primary-700) !important;
}

/* === ALERTS === */
.theme-alert {
    background-color: var(--theme-primary-50) !important;
    border-color: var(--theme-primary-200) !important;
}

.theme-alert-text {
    color: var(--theme-primary-800) !important;
}
