/* SYSTÈME DE CLASSES DYNAMIQUES POUR LES COULEURS */
/* Combinaisons complètes : topbar + header avec associations logiques */

:root {
    /* Variables de couleurs de base */
    --primary: #15293D;
    --secondary: #2D9898;
    --tertiary: #EFB447;
    --black: #3B3939;
    --white: #FFFFFF;
    --gray: #BFBFBF;
}

/* ====== COMBINAISONS TOPBAR + HEADER ====== */

/* === TOPBAR PRIMARY + HEADER PRIMARY === */
.topbar-bg-primary.header-bg-primary .topbar {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-primary.header-bg-primary .header-main {
    background: var(--primary);
    color: var(--white);
}

/* === TOPBAR PRIMARY + HEADER SECONDARY === */
.topbar-bg-primary.header-bg-secondary .topbar {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-primary.header-bg-secondary .header-main {
    background: var(--secondary);
    color: var(--white);
}

/* === TOPBAR PRIMARY + HEADER WHITE === */
.topbar-bg-primary.header-bg-white .topbar {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-primary.header-bg-white .header-main {
    background: var(--white);
    color: var(--black);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
}

/* === TOPBAR PRIMARY + HEADER TRANSPARENT === */
.topbar-bg-primary.header-bg-transparent .topbar {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-primary.header-bg-transparent .header-main {
    background: transparent;
    color: var(--black);
}

/* === TOPBAR SECONDARY + HEADER PRIMARY === */
.topbar-bg-secondary.header-bg-primary .topbar {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-primary .header-main {
    background: var(--primary);
    color: var(--white);
}

/* === TOPBAR SECONDARY + HEADER SECONDARY === */
.topbar-bg-secondary.header-bg-secondary .topbar {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-secondary .header-main {
    background: var(--secondary);
    color: var(--white);
}

/* === TOPBAR SECONDARY + HEADER WHITE === */
.topbar-bg-secondary.header-bg-white .topbar {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-white .header-main {
    background: var(--white);
    color: var(--black);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
}

/* === TOPBAR SECONDARY + HEADER TRANSPARENT === */
.topbar-bg-secondary.header-bg-transparent .topbar {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-transparent .header-main {
    background: transparent;
    color: var(--black);
}

/* === TOPBAR DARK + HEADER PRIMARY === */
.topbar-bg-dark.header-bg-primary .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-primary .header-main {
    background: var(--primary);
    color: var(--white);
}

/* === TOPBAR DARK + HEADER SECONDARY === */
.topbar-bg-dark.header-bg-secondary .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-secondary .header-main {
    background: var(--secondary);
    color: var(--white);
}

/* === TOPBAR DARK + HEADER WHITE === */
.topbar-bg-dark.header-bg-white .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-white .header-main {
    background: var(--white);
    color: var(--black);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
}

/* === TOPBAR DARK + HEADER TRANSPARENT === */
.topbar-bg-dark.header-bg-transparent .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-transparent .header-main {
    background: transparent;
    color: var(--black);
}

/* === TOPBAR LIGHT + HEADER PRIMARY === */
.topbar-bg-light.header-bg-primary .topbar {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-light.header-bg-primary .header-main {
    background: var(--primary);
    color: var(--white);
}

/* === TOPBAR LIGHT + HEADER SECONDARY === */
.topbar-bg-light.header-bg-secondary .topbar {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-light.header-bg-secondary .header-main {
    background: var(--secondary);
    color: var(--white);
}

/* === TOPBAR LIGHT + HEADER WHITE === */
.topbar-bg-light.header-bg-white .topbar {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-light.header-bg-white .header-main {
    background: var(--white);
    color: var(--black);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
}

/* === TOPBAR LIGHT + HEADER TRANSPARENT === */
.topbar-bg-light.header-bg-transparent .topbar {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-light.header-bg-transparent .header-main {
    background: transparent;
    color: var(--black);
}

/* ====== ÉLÉMENTS SPÉCIFIQUES DANS CHAQUE COMBINAISON ====== */

/* === ÉLÉMENTS TOPBAR - Fonds sombres (primary, secondary, dark) === */
.topbar-bg-primary .topbar *,
.topbar-bg-secondary .topbar *,
.topbar-bg-dark .topbar * {
    color: var(--white);
}

.topbar-bg-primary .topbar .social-link:hover,
.topbar-bg-secondary .topbar .social-link:hover,
.topbar-bg-dark .topbar .social-link:hover {
    opacity: 0.8;
}

/* === ÉLÉMENTS TOPBAR - Fond clair (light) === */
.topbar-bg-light .topbar * {
    color: var(--black);
}

.topbar-bg-light .topbar .social-link:hover {
    opacity: 0.7;
}

/* === ÉLÉMENTS HEADER - Fonds sombres (primary, secondary) === */
.header-bg-primary .header-main *,
.header-bg-secondary .header-main * {
    color: var(--white);
}

.header-bg-primary .header-main .social-link:hover,
.header-bg-secondary .header-main .social-link:hover {
    opacity: 0.8;
}

/* === ÉLÉMENTS HEADER - Fonds clairs (white, transparent) === */
.header-bg-white .header-main *,
.header-bg-transparent .header-main * {
    color: var(--black);
}

.header-bg-white .header-main .social-link:hover,
.header-bg-transparent .header-main .social-link:hover {
    opacity: 0.7;
}

/* === BURGER MENU - Adaptation selon les fonds === */
.header-bg-primary .burger-toggle__inner,
.header-bg-primary .burger-toggle__inner::before,
.header-bg-primary .burger-toggle__inner::after,
.header-bg-primary .burger-toggle__hidden,
.header-bg-primary .burger-toggle__hidden::before,
.header-bg-primary .burger-toggle__hidden::after,
.header-bg-secondary .burger-toggle__inner,
.header-bg-secondary .burger-toggle__inner::before,
.header-bg-secondary .burger-toggle__inner::after,
.header-bg-secondary .burger-toggle__hidden,
.header-bg-secondary .burger-toggle__hidden::before,
.header-bg-secondary .burger-toggle__hidden::after {
    background-color: var(--white);
}

.header-bg-white .burger-toggle__inner,
.header-bg-white .burger-toggle__inner::before,
.header-bg-white .burger-toggle__inner::after,
.header-bg-white .burger-toggle__hidden,
.header-bg-white .burger-toggle__hidden::before,
.header-bg-white .burger-toggle__hidden::after,
.header-bg-transparent .burger-toggle__inner,
.header-bg-transparent .burger-toggle__inner::before,
.header-bg-transparent .burger-toggle__inner::after,
.header-bg-transparent .burger-toggle__hidden,
.header-bg-transparent .burger-toggle__hidden::before,
.header-bg-transparent .burger-toggle__hidden::after {
    background-color: var(--black);
}

/* === BURGER MENU - Utilise currentColor pour hériter === */
.burger-toggle__inner,
.burger-toggle__inner::before,
.burger-toggle__inner::after {
    background-color: currentColor;
}

/* === ÉLÉMENTS DE FORMULAIRE === */
.starter-aeb-header.header-bg-primary .header-search input {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
    color: var(--primary-text);
}

.starter-aeb-header.header-bg-primary .header-search input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.starter-aeb-header.header-bg-secondary .header-search input {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
    color: var(--secondary-text);
}

.starter-aeb-header.header-bg-secondary .header-search input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.starter-aeb-header.header-bg-white .header-search input,
.starter-aeb-header.header-bg-transparent .header-search input {
    background-color: rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.2);
    color: var(--white-text);
}

.starter-aeb-header.header-bg-white .header-search input::placeholder,
.starter-aeb-header.header-bg-transparent .header-search input::placeholder {
    color: rgba(0, 0, 0, 0.5);
}

/* ====== NOUVELLES COULEURS : TERTIARY, BLACK, GRAY ====== */

/* === TOPBAR TERTIARY === */
.topbar-bg-tertiary .topbar {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-tertiary .topbar * {
    color: var(--black);
}

/* === TOPBAR BLACK === */
.topbar-bg-black .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-black .topbar * {
    color: var(--white);
}

/* === TOPBAR GRAY === */
.topbar-bg-gray .topbar {
    background: var(--gray);
    color: var(--black);
}
.topbar-bg-gray .topbar * {
    color: var(--black);
}

/* === HEADER TERTIARY === */
.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.header-bg-tertiary .header-main * {
    color: var(--black);
}
.header-bg-tertiary .burger-toggle__inner,
.header-bg-tertiary .burger-toggle__inner::before,
.header-bg-tertiary .burger-toggle__inner::after,
.header-bg-tertiary .burger-toggle__hidden,
.header-bg-tertiary .burger-toggle__hidden::before,
.header-bg-tertiary .burger-toggle__hidden::after {
    background-color: var(--black);
}

/* === HEADER BLACK === */
.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.header-bg-black .header-main * {
    color: var(--white);
}
.header-bg-black .burger-toggle__inner,
.header-bg-black .burger-toggle__inner::before,
.header-bg-black .burger-toggle__inner::after,
.header-bg-black .burger-toggle__hidden,
.header-bg-black .burger-toggle__hidden::before,
.header-bg-black .burger-toggle__hidden::after {
    background-color: var(--white);
}

/* === HEADER GRAY === */
.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}
.header-bg-gray .header-main * {
    color: var(--black);
}
.header-bg-gray .burger-toggle__inner,
.header-bg-gray .burger-toggle__inner::before,
.header-bg-gray .burger-toggle__inner::after,
.header-bg-gray .burger-toggle__hidden,
.header-bg-gray .burger-toggle__hidden::before,
.header-bg-gray .burger-toggle__hidden::after {
    background-color: var(--black);
}

/* === COMBINAISONS TOPBAR TERTIARY + HEADERS === */
.topbar-bg-tertiary.header-bg-primary .header-main {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-tertiary.header-bg-secondary .header-main {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-tertiary.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-tertiary.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-tertiary.header-bg-white .header-main {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-tertiary.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}
.topbar-bg-tertiary.header-bg-transparent .header-main {
    background: transparent;
    color: var(--black);
}

/* === COMBINAISONS TOPBAR BLACK + HEADERS === */
.topbar-bg-black.header-bg-primary .header-main {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-black.header-bg-secondary .header-main {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-black.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-black.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-black.header-bg-white .header-main {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-black.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}
.topbar-bg-black.header-bg-transparent .header-main {
    background: transparent;
    color: var(--black);
}

/* === COMBINAISONS TOPBAR GRAY + HEADERS === */
.topbar-bg-gray.header-bg-primary .header-main {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-gray.header-bg-secondary .header-main {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-gray.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-gray.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-gray.header-bg-white .header-main {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-gray.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}
.topbar-bg-gray.header-bg-transparent .header-main {
    background: transparent;
    color: var(--black);
}

/* === COMBINAISONS TOPBAR PRIMARY/SECONDARY/DARK/LIGHT + NOUVELLES COULEURS HEADER === */
.topbar-bg-primary.header-bg-tertiary .topbar {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-primary.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-primary.header-bg-black .topbar {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-primary.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-primary.header-bg-gray .topbar {
    background: var(--primary);
    color: var(--white);
}
.topbar-bg-primary.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}

.topbar-bg-secondary.header-bg-tertiary .topbar {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-secondary.header-bg-black .topbar {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-gray .topbar {
    background: var(--secondary);
    color: var(--white);
}
.topbar-bg-secondary.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}

.topbar-bg-dark.header-bg-tertiary .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-dark.header-bg-black .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-gray .topbar {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-dark.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}

.topbar-bg-light.header-bg-tertiary .topbar {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-light.header-bg-tertiary .header-main {
    background: var(--tertiary);
    color: var(--black);
}
.topbar-bg-light.header-bg-black .topbar {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-light.header-bg-black .header-main {
    background: var(--black);
    color: var(--white);
}
.topbar-bg-light.header-bg-gray .topbar {
    background: var(--white);
    color: var(--black);
}
.topbar-bg-light.header-bg-gray .header-main {
    background: var(--gray);
    color: var(--black);
}