/* Default intentionally declares no overrides: each original color remains its fallback. */
html[data-color-theme="blue"] {
    --site-primary: #2563eb;
    --site-primary-hover: #1d4ed8;
    --site-primary-soft: #dbeafe;
    --site-primary-rgb: 37, 99, 235;
    --site-accent: #3b82f6;
    --site-brand-text: #93c5fd;
}

html[data-color-theme="green"] {
    --site-primary: #15803d;
    --site-primary-hover: #166534;
    --site-primary-soft: #dcfce7;
    --site-primary-rgb: 21, 128, 61;
    --site-accent: #22c55e;
    --site-brand-text: #86efac;
}

html[data-color-theme="red"] {
    --site-primary: #dc2626;
    --site-primary-hover: #b91c1c;
    --site-primary-soft: #fee2e2;
    --site-primary-rgb: 220, 38, 38;
    --site-accent: #ef4444;
    --site-brand-text: #fca5a5;
}

html[data-color-theme] {
    --site-brand-fill: var(--site-primary);
    --site-brand-fill-dark: var(--site-primary-hover);
    --site-brand-border: var(--site-accent);
    --site-brand-shadow: var(--site-primary-hover);
    --site-brand-glow: rgba(var(--site-primary-rgb), .9);
    --site-on-primary: #ffffff;
    --admin-primary: var(--site-primary);
    --admin-primary-dark: var(--site-primary-hover);
    --admin-primary-soft: var(--site-primary-soft);
    --bs-primary: var(--site-primary);
    --bs-primary-rgb: var(--site-primary-rgb);
    --bs-primary-text-emphasis: var(--site-primary-hover);
    --bs-primary-bg-subtle: var(--site-primary-soft);
    --bs-primary-border-subtle: var(--site-accent);
    --bs-link-color: var(--site-primary);
    --bs-link-color-rgb: var(--site-primary-rgb);
    --bs-link-hover-color: var(--site-primary-hover);
    --bs-link-hover-color-rgb: var(--site-primary-rgb);
    --bs-focus-ring-color: rgba(var(--site-primary-rgb), .25);
}

html[data-color-theme][data-bs-theme="dark"] {
    --bs-primary-text-emphasis: var(--site-brand-text);
    --bs-primary-bg-subtle: rgba(var(--site-primary-rgb), .18);
    --bs-link-color: var(--site-brand-text);
    --bs-link-hover-color: var(--site-primary-soft);
}

html[data-color-theme] .admin-backoffice .btn-primary {
    --bs-btn-color: var(--site-on-primary);
    --bs-btn-bg: var(--site-primary);
    --bs-btn-border-color: var(--site-primary);
    --bs-btn-hover-color: var(--site-on-primary);
    --bs-btn-hover-bg: var(--site-primary-hover);
    --bs-btn-hover-border-color: var(--site-primary-hover);
    --bs-btn-active-color: var(--site-on-primary);
    --bs-btn-active-bg: var(--site-primary-hover);
    --bs-btn-active-border-color: var(--site-primary-hover);
    --bs-btn-disabled-color: var(--site-on-primary);
    --bs-btn-disabled-bg: var(--site-primary);
    --bs-btn-disabled-border-color: var(--site-primary);
    --bs-btn-focus-shadow-rgb: var(--site-primary-rgb);
}

html[data-color-theme] .admin-backoffice .btn-outline-primary {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-border-color: var(--site-primary);
    --bs-btn-hover-color: var(--site-on-primary);
    --bs-btn-hover-bg: var(--site-primary);
    --bs-btn-hover-border-color: var(--site-primary);
    --bs-btn-active-color: var(--site-on-primary);
    --bs-btn-active-bg: var(--site-primary-hover);
    --bs-btn-active-border-color: var(--site-primary-hover);
    --bs-btn-disabled-color: var(--bs-link-color);
    --bs-btn-disabled-border-color: var(--site-primary);
    --bs-btn-focus-shadow-rgb: var(--site-primary-rgb);
}

html[data-color-theme] .admin-backoffice :is(.bg-primary, .page-item.active .page-link, .nav-pills .nav-link.active, .dropdown-item.active, .dropdown-item:active, .form-check-input:checked) {
    background-color: var(--site-primary) !important;
    border-color: var(--site-primary) !important;
    color: var(--site-on-primary) !important;
}

html[data-color-theme] .admin-backoffice .bg-label-primary {
    background-color: var(--bs-primary-bg-subtle) !important;
    color: var(--bs-primary-text-emphasis) !important;
}

html[data-color-theme] .admin-backoffice :is(.text-primary, .link-primary, .btn-text-primary) {
    color: var(--bs-link-color) !important;
}

html[data-color-theme] .admin-backoffice .border-primary {
    border-color: var(--site-accent) !important;
}

html[data-color-theme] .admin-backoffice :is(.form-control, .form-select):not(.is-invalid):not(.is-valid):focus {
    border-color: var(--site-accent);
}

html[data-color-theme] .admin-backoffice .nav-tabs {
    --bs-nav-tabs-link-active-color: var(--bs-link-color);
}

html[data-color-theme] .admin-backoffice .pagination {
    --bs-pagination-active-bg: var(--site-primary);
    --bs-pagination-active-border-color: var(--site-primary);
}

html[data-color-theme] .admin-backoffice :is(.bg-blue-600, .bg-blue-500) {
    background-color: var(--site-primary) !important;
    color: var(--site-on-primary) !important;
}

html[data-color-theme] .admin-backoffice .hover\:bg-blue-700:hover {
    background-color: var(--site-primary-hover) !important;
}

html[data-color-theme] .admin-backoffice .focus\:border-blue-500:focus {
    border-color: var(--site-accent) !important;
}

html[data-color-theme] .admin-backoffice .focus\:ring-blue-500\/20:focus {
    --tw-ring-color: rgba(var(--site-primary-rgb), .2);
}
