/*
 * Thème application (couleurs / familles de polices) — vitrine B2C uniquement.
 *
 * Chargé uniquement via b2c/layouts/base.blade.php (jamais sur B2B / MPP).
 * Ne modifie PAS la géométrie des composants (padding, line-height, font-size boutons) :
 * celle-ci vient de assets/b2c/css/style.css (skin MMI) + css/b2c/vitrine-mmi.css.
 *
 * Les variables --primary-color, --primary-font-family, --secondary-font-family
 * sont injectées par $themeCss (Theme de l'application).
 */
:root {
    --b2c-primary: var(--primary-color, #d6bd85);
    --bs-primary: var(--primary-color, #d6bd85);
}

.b2c-skin {
    --b2c-primary: var(--primary-color, #d6bd85);
    --bs-primary: var(--primary-color, #d6bd85);
    font-family: var(--primary-font-family, "Roboto-Regular", Roboto, sans-serif);
}

.b2c-skin .text-bebas {
    font-family: var(--secondary-font-family, "BebasNeue-Regular", BebasNeue, sans-serif) !important;
}

/* Ne pas forcer Bebas sur les pictos (sinon glyphes cassés) */
.b2c-skin .text-bebas *:not([class*="icofont-"]):not([class^="icon-"]):not([class*=" icon-"]):not(.b2c-lucide) {
    font-family: var(--secondary-font-family, "BebasNeue-Regular", BebasNeue, sans-serif) !important;
}

.b2c-skin [class*="icofont-"],
.b2c-skin .text-bebas [class*="icofont-"] {
    font-family: IcoFont !important;
}

.b2c-skin [class^="icon-"],
.b2c-skin [class*=" icon-"],
.b2c-skin .b2c-lucide,
.b2c-skin .text-bebas [class^="icon-"],
.b2c-skin .text-bebas [class*=" icon-"],
.b2c-skin .text-bebas .b2c-lucide {
    font-family: lucide !important;
}

/* CTA « Suivre mon projet » sur bandeau bg-blue : contraste lisible */
.b2c-skin .bg-blue a.btn.bg-secondary.text-bebas,
.b2c-skin .bg-blue .btn.bg-secondary.text-bebas {
    background-color: #0c1423 !important;
    border: 1px solid color-mix(in srgb, var(--b2c-primary) 45%, transparent);
    color: #fff !important;
}

.b2c-skin .bg-blue a.btn.bg-secondary.text-bebas:hover,
.b2c-skin .bg-blue .btn.bg-secondary.text-bebas:hover,
.b2c-skin .bg-blue a.btn.btn-hover-info:hover {
    background-color: color-mix(in srgb, var(--b2c-primary) 88%, white) !important;
    border-color: transparent;
    color: #0c1423 !important;
}

.b2c-skin .owl-carousel-favorite .owl-nav button {
    color: var(--b2c-primary) !important;
}

.b2c-skin .b2c-project-page .taxation-icon {
    background: color-mix(in srgb, var(--b2c-primary) 18%, #1a3340);
    color: var(--b2c-primary);
    border-radius: 4px;
}

.b2c-skin .b2c-pagination .page-item.active .page-link {
    background: var(--b2c-primary);
    border-color: var(--b2c-primary);
    color: #111;
}

.b2c-skin .nav-link-fiscalite.active {
    color: #111;
    background: var(--b2c-primary);
    border-color: var(--b2c-primary);
}

/* Hover sous-menus / déconnexion : primary du thème application */
.b2c-skin .header-menu .sub-menu li:hover > a,
.b2c-skin .header-menu .sub-menu li a:hover,
.b2c-skin .header-menu .sub-menu.user-sub-menu li span:hover,
.b2c-skin .header-menu .sub-menu.user-sub-menu li .js-b2c-logout-link:hover,
.b2c-skin .header-menu .sub-menu.user-sub-menu li span[role="button"]:hover,
.b2c-skin .header-menu .mega-sub-menu > li:hover > a,
.b2c-skin .header-menu .mega-sub-menu > li .menu-item > li:hover > a {
    color: var(--primary-color, #ed7c17) !important;
}

.b2c-skin .mobile-menu .nav-menu .sub-menu a:hover,
.b2c-skin .mobile-menu .nav-menu a:hover {
    color: var(--primary-color, #ed7c17);
}

.b2c-skin .b2c-auth-modal #b2c-password-requirements .text-success {
    color: #4BD295 !important;
}

/* Boutons outline thématisés (header mobile inclus) */
.b2c-skin .btn-outline-primary {
    border-color: var(--b2c-primary) !important;
    color: var(--b2c-primary) !important;
    background: transparent;
}

.b2c-skin .btn-outline-primary:hover,
.b2c-skin .btn-outline-primary.btn-hover-secondary:hover,
.b2c-skin .mobile-menu .btn-outline-primary:hover {
    background: var(--b2c-primary) !important;
    border-color: var(--b2c-primary) !important;
    color: #1a2438 !important;
}

.b2c-skin .btn-outline-primary.btn-hover-secondary:hover::before {
    background-color: var(--b2c-primary) !important;
    width: 105%;
}

/* Hover primary = teinte du thème (pas l'orange MMI hardcodé #ff9126) */
.b2c-skin .btn-primary:hover,
.b2c-skin .btn-primary:focus,
.b2c-skin .btn-primary:active,
.b2c-skin .btn-primary.active,
.b2c-skin .btn-check:checked + .btn-primary,
.b2c-skin .btn-check:active + .btn-primary,
.b2c-skin .btn-primary.btn-hover-primary:hover,
.b2c-skin .btn-hover-primary:hover {
    color: #1a2438 !important;
    background-color: color-mix(in srgb, var(--b2c-primary) 82%, white) !important;
    border-color: color-mix(in srgb, var(--b2c-primary) 82%, white) !important;
}

.b2c-skin .btn-primary.btn-hover-primary:hover::before,
.b2c-skin .btn-hover-primary:hover::before {
    background-color: color-mix(in srgb, var(--b2c-primary) 82%, white) !important;
    width: 105%;
}

/* CTA « verts » MMI → primary du thème sur B2C */
.b2c-skin .btn-green {
    color: #1a2438 !important;
    background-color: var(--b2c-primary) !important;
    border-color: var(--b2c-primary) !important;
}

.b2c-skin .btn-green:hover {
    color: #1a2438 !important;
    background-color: color-mix(in srgb, var(--b2c-primary) 82%, white) !important;
    border-color: color-mix(in srgb, var(--b2c-primary) 82%, white) !important;
}

.b2c-skin .input-choice-checked {
    background-color: color-mix(in srgb, var(--b2c-primary) 18%, #1a3340) !important;
    color: var(--b2c-primary) !important;
    border-color: var(--b2c-primary) !important;
}

.b2c-skin .b2c-fiscalite-choice.is-selected,
.b2c-skin .b2c-fiscalite-choice:has(input:checked) {
    border-color: var(--b2c-primary);
    background: rgba(214, 189, 133, 0.12);
}

.b2c-skin .b2c-fiscalite-choice input {
    accent-color: var(--b2c-primary);
}

.b2c-skin .b2c-form-inputs .text-bebas {
    font-family: var(--secondary-font-family, "BebasNeue", sans-serif) !important;
    letter-spacing: 0.04em;
}

.b2c-skin .b2c-auth-modal,
.b2c-skin .b2c-auth-modal label,
.b2c-skin .b2c-auth-modal small,
.b2c-skin .b2c-auth-modal .form-text,
.b2c-skin .b2c-auth-modal .form-control,
.b2c-skin .b2c-auth-modal input,
.b2c-skin .b2c-auth-modal .modal-content {
    font-family: var(--primary-font-family, "Roboto", sans-serif) !important;
}

.b2c-skin .b2c-auth-modal .text-bebas,
.b2c-skin .b2c-auth-modal .modal-title,
.b2c-skin .b2c-auth-modal .desc-modal-title,
.b2c-skin .b2c-auth-modal .btn.text-bebas,
.b2c-skin .b2c-auth-modal .text-bebas * {
    font-family: var(--secondary-font-family, "BebasNeue", sans-serif) !important;
    letter-spacing: 0.04em;
}

.b2c-skin .b2c-auth-modal .text-bebas [class*="icofont-"],
.b2c-skin .b2c-auth-modal .text-bebas [class^="icon-"],
.b2c-skin .b2c-auth-modal .text-bebas .b2c-lucide {
    font-family: lucide !important;
    letter-spacing: normal;
}

.b2c-skin .input-group > .form-control.input-form-login,
.b2c-skin .input-group > .form-select.input-form-login {
    font-family: var(--primary-font-family, "Roboto", sans-serif) !important;
}

.b2c-skin .b2c-form-inputs .form-control,
.b2c-skin .b2c-form-inputs .form-select,
.b2c-skin .b2c-form-inputs input {
    font-family: var(--primary-font-family, "Roboto", sans-serif) !important;
}

.b2c-skin .b2c-fiscalite-choice {
    font-family: var(--secondary-font-family, "BebasNeue", sans-serif);
    letter-spacing: 0.04em;
}

/* Articles blog importés MMI : inline color:#ed7c17 → primary du thème */
.b2c-skin .b2c-blog-body [style*="color: #ed7c17"],
.b2c-skin .b2c-blog-body [style*="color:#ed7c17"],
.b2c-skin .b2c-blog-body [style*="color: #ED7C17"],
.b2c-skin .b2c-blog-body [style*="color:#ED7C17"] {
    color: var(--b2c-primary) !important;
}

.b2c-skin .b2c-blog-body a {
    color: var(--b2c-primary);
}

.b2c-skin .b2c-blog-body a:hover {
    color: color-mix(in srgb, var(--b2c-primary) 82%, white);
}

/* Page LMNP : barre d’étapes + cartes avantages (primary thème) */
.b2c-skin .step-h-bar-color-lmnp {
    background-color: var(--b2c-primary);
}

.b2c-skin .card-lmnp {
    background-color: color-mix(in srgb, var(--b2c-primary) 35%, #285587);
}

.b2c-skin .card-lmnp-text {
    color: #0c1423;
}
