/* ═══════════════════════════════════════════════════════
   ACADÉMIE CYBER BY REHACKT — Thème enfant Hummingbird
   Dark mode intégral · Couleurs Rehackt
   ═══════════════════════════════════════════════════════ */

/* ── IMPORTS ── */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');

/* ══════════════════════════════════
   1. CSS CUSTOM PROPERTIES
   ══════════════════════════════════ */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
    /* Rehackt brand */
    --rc-bg: #09090b;
    --rc-bg-card: #111113;
    --rc-bg-elevated: #18181b;
    --rc-bg-input: #0c0c0e;
    --rc-gold: #ECBF18;
    --rc-gold-soft: #d4ab16;
    --rc-gold-pale: #f5dfa0;
    --rc-gold-glow: rgba(236,191,24,.10);
    --rc-gold-glow-strong: rgba(236,191,24,.25);
    --rc-success: #22c55e;
    --rc-danger: #ef4444;
    --rc-text: #fafafa;
    --rc-text-secondary: #a1a1aa;
    --rc-text-muted: #71717a;
    --rc-border: #27272a;
    --rc-border-subtle: #1e1e21;
    --rc-radius: 12px;
    --rc-radius-sm: 8px;

    /* Bootstrap 5 variable overrides */
    --bs-body-bg: var(--rc-bg);
    --bs-body-color: var(--rc-text);
    --bs-emphasis-color: var(--rc-text);
    --bs-secondary-color: var(--rc-text-secondary);
    --bs-tertiary-color: var(--rc-text-muted);
    --bs-secondary-bg: var(--rc-bg-elevated);
    --bs-tertiary-bg: var(--rc-bg-card);
    --bs-primary: var(--rc-gold);
    --bs-primary-rgb: 236, 191, 24;
    --bs-link-color: var(--rc-gold);
    --bs-link-color-rgb: 236, 191, 24;
    --bs-link-hover-color: var(--rc-gold-pale);
    --bs-border-color: var(--rc-border);
    --bs-border-color-translucent: rgba(255, 255, 255, .08);
    --bs-heading-color: var(--rc-text);
    --bs-code-color: var(--rc-gold);
    --bs-success: var(--rc-success);
    --bs-danger: var(--rc-danger);
    --bs-card-bg: var(--rc-bg-card);
    --bs-card-border-color: var(--rc-border);
}

/* ══════════════════════════════════
   2. BASE / BODY / TYPOGRAPHY
   ══════════════════════════════════ */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    background-color: var(--rc-bg) !important;
    color: var(--rc-text) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--rc-text) !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700;
}

p, li, td, th, span, div, label {
    color: inherit;
}

a {
    color: var(--rc-gold);
    text-decoration: none;
    transition: color .2s ease;
}
a:hover {
    color: var(--rc-gold-pale);
    text-decoration: none;
}

::selection {
    background: var(--rc-gold);
    color: var(--rc-bg);
}

/* ══════════════════════════════════
   3. HEADER / NAVIGATION
   ══════════════════════════════════ */
header,
.header-top,
#header,
.header__top,
.header__container,
.header__right,
.header__left,
.header-nav {
    background-color: rgba(9, 9, 11, .95) !important;
    border-bottom-color: var(--rc-border) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.header-top {
    border-bottom: 1px solid var(--rc-border) !important;
}

/* Logo in header */
.header__logo img,
.header-logo img,
#header .logo img {
    max-height: 44px;
    width: auto;
    filter: none;
}

/* Logo + brand name wrapper (injected by JS) */
.header__logo a,
.header-logo a,
#header .logo a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
}

.ac-brand-name {
    font-family: 'Outfit', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #fafafa !important;
    letter-spacing: -.02em;
    line-height: 1.2;
    white-space: nowrap;
}
.ac-brand-name span {
    color: #ECBF18 !important;
    display: block;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .85;
}

/* Navigation links */
#header a:not(.lms-header-btn),
.header-nav a,
.header__top a,
header a:not(.btn):not(.lms-header-btn) {
    color: var(--rc-text-secondary) !important;
    font-weight: 500;
    transition: color .2s ease;
}
/* EXCEPTION: the logo link must NOT override brand name colors */
#header .header__logo a,
header .header__logo a,
.header__logo a {
    color: inherit !important;
}
#header a:hover:not(.header__logo a),
.header-nav a:hover,
header a:not(.btn):not(.lms-header-btn):hover {
    color: var(--rc-gold) !important;
}

/* User info / Account dropdown */
.user-info a,
.header__right-nav a,
#_desktop_user_info a {
    color: var(--rc-text-secondary) !important;
}
.user-info a:hover,
.header__right-nav a:hover,
#_desktop_user_info a:hover {
    color: var(--rc-gold) !important;
}

/* Cart icon */
.header__right .cart-preview,
.blockcart,
.cart-preview {
    color: var(--rc-text) !important;
}
.cart-preview .cart-products-count,
.blockcart .cart-products-count {
    background-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-weight: 700;
}

/* Search bar */
#search_widget input,
.search-widget input[type="text"],
.header__search input {
    background-color: var(--rc-bg-elevated) !important;
    border: 1px solid var(--rc-border) !important;
    color: var(--rc-text) !important;
    border-radius: var(--rc-radius-sm) !important;
}
#search_widget input:focus,
.search-widget input:focus,
.header__search input:focus {
    border-color: var(--rc-gold) !important;
    box-shadow: 0 0 0 3px var(--rc-gold-glow) !important;
    outline: none;
}
.search-widget button,
.header__search button {
    background-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    border: none !important;
}

/* ── LMS Header Link (injected by JS) ── */
.lms-header-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    background: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 13px;
    font-weight: 700;
    border-radius: var(--rc-radius-sm);
    text-decoration: none !important;
    transition: all .25s ease;
    white-space: nowrap;
    line-height: 1.4;
}
.lms-header-btn:hover {
    background: #f0c820 !important;
    color: var(--rc-bg) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(236,191,24,.35);
}
.lms-header-btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Badge compteur formations header */
.lms-header-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--rc-bg);
    color: var(--rc-gold);
    font-size: 11px;
    font-weight: 800;
    border-radius: 10px;
    line-height: 1;
}

/* ══════════════════════════════════
   4. MAIN MENU / NAV BAR
   ══════════════════════════════════ */
#_desktop_top_menu,
.top-menu,
.main-menu,
nav.main-menu {
    background-color: var(--rc-bg) !important;
}

.top-menu a,
.main-menu a,
nav.main-menu a {
    color: var(--rc-text-secondary) !important;
    font-weight: 500;
    letter-spacing: .02em;
}
.top-menu a:hover,
.main-menu a:hover,
.top-menu .current > a,
.main-menu .current > a {
    color: var(--rc-gold) !important;
}

/* Dropdown menus */
.top-menu .sub-menu,
.top-menu .popover,
.dropdown-menu {
    background-color: #111113 !important;
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: var(--rc-radius) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.6) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* User dropdown specifically */
.user-info .dropdown-menu,
#_desktop_user_info .dropdown-menu,
.js-dropdown .dropdown-menu {
    background: #111113 !important;
    opacity: 1 !important;
}
.dropdown-menu a,
.dropdown-item {
    color: var(--rc-text-secondary) !important;
}
.dropdown-menu a:hover,
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--rc-bg-elevated) !important;
    color: var(--rc-gold) !important;
}

/* ══════════════════════════════════
   5. MAIN CONTENT AREA
   ══════════════════════════════════ */
#wrapper,
#content-wrapper,
.page-content,
main {
    background-color: var(--rc-bg) !important;
}

#main {
    background-color: var(--rc-bg) !important;
}

/* Breadcrumb */
.breadcrumb,
nav.breadcrumb,
.breadcrumb__container,
.breadcrumb__wrapper,
.breadcrumb__wrapper .container {
    background-color: #09090b !important;
}
.breadcrumb li,
.breadcrumb a,
.breadcrumb__item a {
    color: var(--rc-text-muted) !important;
    font-size: 13px;
}
.breadcrumb li.active,
.breadcrumb__item--active {
    color: var(--rc-text-secondary) !important;
}

/* Page titles */
.page-heading,
h1.page-title,
.page-header h1 {
    color: var(--rc-text) !important;
    font-weight: 800 !important;
}

/* ══════════════════════════════════
   6. PRODUCT CARDS & LISTINGS
   ══════════════════════════════════ */
.product-miniature,
.product-card,
.js-product-miniature {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    overflow: hidden;
    transition: all .3s ease;
}
.product-miniature:hover,
.product-card:hover {
    border-color: rgba(236,191,24,.25) !important;
    box-shadow: 0 8px 32px rgba(236,191,24,.08) !important;
    transform: translateY(-2px);
}

.product-miniature .product-title a,
.product-card .product-title a {
    color: var(--rc-text) !important;
    font-weight: 600;
}
.product-miniature .product-title a:hover,
.product-card .product-title a:hover {
    color: var(--rc-gold) !important;
}

.product-miniature .product-price-and-shipping,
.product-price-and-shipping {
    color: var(--rc-gold) !important;
}
.product-miniature .price,
.product-card .price,
.product-price,
.current-price-value {
    color: var(--rc-gold) !important;
    font-weight: 800 !important;
    font-size: 1.1em;
}
.regular-price {
    color: var(--rc-text-muted) !important;
}

/* Product flags / badges */
.product-flag,
.product-flags li {
    background-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-weight: 700;
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 12px;
}
.product-flag.discount,
.product-flag.on-sale {
    background-color: var(--rc-danger) !important;
    color: #fff !important;
}
.product-flag.new {
    background-color: var(--rc-gold) !important;
}

/* ══════════════════════════════════
   7. PRODUCT PAGE
   ══════════════════════════════════ */
.product-container,
#product {
    background-color: var(--rc-bg) !important;
}

.product-information .product-title,
.product-information h1 {
    color: var(--rc-text) !important;
    font-weight: 800 !important;
}

.product-description,
.product-description p {
    color: var(--rc-text-secondary) !important;
    line-height: 1.7;
}

.product-quantity .qty input,
#quantity_wanted {
    background-color: var(--rc-bg-input) !important;
    border: 1px solid var(--rc-border) !important;
    color: var(--rc-text) !important;
    border-radius: var(--rc-radius-sm) !important;
}

.product-variants .product-variants-item label {
    color: var(--rc-text-secondary) !important;
}

/* Tabs on product page */
.nav-tabs,
.product-tabs .nav-tabs {
    border-bottom-color: var(--rc-border) !important;
}
.nav-tabs .nav-link {
    color: var(--rc-text-muted) !important;
    border: none !important;
    font-weight: 600;
}
.nav-tabs .nav-link:hover {
    color: var(--rc-text) !important;
    border-bottom: 2px solid var(--rc-gold) !important;
}
.nav-tabs .nav-link.active {
    color: var(--rc-gold) !important;
    background-color: transparent !important;
    border-bottom: 2px solid var(--rc-gold) !important;
}

.tab-content {
    background-color: var(--rc-bg) !important;
    color: var(--rc-text-secondary) !important;
}

/* ══════════════════════════════════
   8. BUTTONS
   ══════════════════════════════════ */
.btn-primary,
.btn-primary:not(:disabled):not(.disabled),
button.btn-primary {
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    border-radius: var(--rc-radius-sm) !important;
    transition: all .25s ease !important;
    box-shadow: 0 2px 12px rgba(236,191,24,.2) !important;
}
.btn-primary:hover,
.btn-primary:focus,
button.btn-primary:hover {
    background-color: #f0c820 !important;
    border-color: #f0c820 !important;
    color: var(--rc-bg) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 24px rgba(236,191,24,.35) !important;
}
.btn-primary:active {
    transform: translateY(0);
}

.btn-secondary,
.btn-outline-primary {
    background-color: transparent !important;
    border: 1px solid var(--rc-border) !important;
    color: var(--rc-text-secondary) !important;
    border-radius: var(--rc-radius-sm) !important;
    font-weight: 600 !important;
}
.btn-secondary:hover,
.btn-outline-primary:hover {
    border-color: var(--rc-gold) !important;
    color: var(--rc-gold) !important;
    background-color: var(--rc-gold-glow) !important;
}

.add-to-cart,
.btn.add-to-cart {
    background-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    padding: 14px 32px !important;
    border-radius: var(--rc-radius-sm) !important;
    text-transform: none !important;
    letter-spacing: .02em;
}
.add-to-cart:hover {
    background-color: #f0c820 !important;
    box-shadow: 0 4px 24px rgba(236,191,24,.35) !important;
}

/* ══════════════════════════════════
   9. FORMS & INPUTS
   ══════════════════════════════════ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="search"],
textarea,
select,
.form-control,
.form-select {
    background-color: #111113 !important;
    border: 1px solid #3f3f46 !important;
    color: #fafafa !important;
    border-radius: var(--rc-radius-sm) !important;
    font-family: 'Outfit', sans-serif !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}
input:focus,
textarea:focus,
select:focus,
.form-control:focus,
.form-select:focus {
    background-color: #111113 !important;
    border-color: var(--rc-gold) !important;
    box-shadow: 0 0 0 3px var(--rc-gold-glow) !important;
    color: #fafafa !important;
    outline: none !important;
}

/* Select dropdown options */
select option {
    background-color: #18181b !important;
    color: #fafafa !important;
}

/* Password toggle / input-group buttons */
.input-group .btn,
.input-group-text,
.input-group-append .btn,
.field-password-policy .btn,
button[data-action="show-password"],
.input-group > button {
    background-color: #18181b !important;
    border: 1px solid #3f3f46 !important;
    color: #fafafa !important;
}
.input-group .btn:hover,
.input-group-text:hover,
button[data-action="show-password"]:hover {
    background-color: #27272a !important;
    border-color: var(--rc-gold) !important;
    color: var(--rc-gold) !important;
}
.input-group .btn i,
.input-group .btn .material-icons,
button[data-action="show-password"] i {
    color: #a1a1aa !important;
}
.input-group .btn:hover i,
button[data-action="show-password"]:hover i {
    color: var(--rc-gold) !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--rc-text-muted) !important;
    opacity: 1;
}

label,
.form-label {
    color: #fafafa !important;
    font-weight: 500;
}

.form-group,
.form-group label {
    color: #fafafa !important;
}
.form-text,
.help-block {
    color: #71717a !important;
    font-size: 13px !important;
}

/* Checkbox / radio custom */
.custom-control-input:checked ~ .custom-control-label::before,
.form-check-input:checked {
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
}

/* Checkbox unchecked — visible border on dark bg */
.form-check-input,
.custom-control-input ~ .custom-control-label::before,
input[type="checkbox"],
input[type="radio"] {
    background-color: #111113 !important;
    border: 2px solid #52525b !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}
input[type="radio"],
.form-check-input[type="radio"] {
    border-radius: 50% !important;
}
.form-check-input:checked,
input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%2309090b' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
    background-size: 14px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Checkbox / radio labels */
.form-check-label,
.custom-control-label {
    color: #e4e4e7 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

/* Password eye toggle — force dark on ALL pages */
.field-password-policy .input-group .btn,
.input-group .btn[data-action="show-password"],
button[data-action="show-password"],
.page-authentication .input-group .btn,
.page-authentication .input-group > button,
.page-authentication .input-group .btn-primary,
.register-form .input-group .btn,
.register-form .input-group .btn-primary,
.login-form .input-group .btn,
.login-form .input-group .btn-primary,
form .input-group .btn[type="button"],
.input-group button.btn {
    background-color: #18181b !important;
    background: #18181b !important;
    border: 1px solid #3f3f46 !important;
    color: #a1a1aa !important;
    border-left: none !important;
    border-radius: 0 8px 8px 0 !important;
    box-shadow: none !important;
}
.field-password-policy .input-group .btn:hover,
button[data-action="show-password"]:hover,
.page-authentication .input-group .btn:hover,
.page-authentication .input-group .btn-primary:hover,
.register-form .input-group .btn:hover,
.register-form .input-group .btn-primary:hover,
.login-form .input-group .btn:hover,
.login-form .input-group .btn-primary:hover,
form .input-group .btn[type="button"]:hover,
.input-group button.btn:hover {
    background-color: #27272a !important;
    background: #27272a !important;
    color: var(--rc-gold) !important;
    box-shadow: none !important;
}
.field-password-policy .input-group .btn i,
.field-password-policy .input-group .btn .material-icons,
button[data-action="show-password"] i,
.page-authentication .input-group .btn i,
.page-authentication .input-group .btn-primary i,
.register-form .input-group .btn i,
.login-form .input-group .btn i,
form .input-group .btn[type="button"] i,
.input-group button.btn i {
    color: inherit !important;
}

/* Registration page — help text under fields */
.page-registration .form-text,
.page-registration .help-block,
.register-form .form-text,
.register-form .help-block,
.page-registration small {
    color: #a1a1aa !important;
    font-size: 12px !important;
}

/* Registration — legal/RGPD text (italic red text in default PS) */
.page-registration .custom-checkbox em,
.register-form em,
.page-registration .form-informations,
.page-registration [class*="gdpr"],
.register-form [class*="gdpr"] {
    color: #d4d4d8 !important;
    font-style: italic !important;
    font-size: 12px !important;
}

/* "Créez votre compte" button on registration — gold outline */
.page-registration .form-footer .btn,
.register-form .form-footer .btn {
    background: transparent !important;
    border: 1.5px solid #ECBF18 !important;
    color: #ECBF18 !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 12px 32px !important;
}
.page-registration .form-footer .btn:hover,
.register-form .form-footer .btn:hover {
    background: #ECBF18 !important;
    color: #09090b !important;
}

/* "Vous avez déjà un compte ? Connexion" link */
.page-registration .no-account a,
.page-registration a[href*="connexion"],
.register-form ~ * a {
    color: #ECBF18 !important;
}

/* "Créez votre compte" outline button on login page */
.page-authentication .no-account .btn {
    border: 1.5px solid #3f3f46 !important;
    color: #fafafa !important;
    background: transparent !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600 !important;
}
.page-authentication .no-account .btn:hover {
    border-color: #ECBF18 !important;
    color: #ECBF18 !important;
    background: rgba(236,191,24,.06) !important;
}

/* ══════════════════════════════════
   10. CARDS, BLOCKS, CONTAINERS
   ══════════════════════════════════ */
.card,
.block-category,
.featured-products,
.product-accessories {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
}

.card-header {
    background-color: var(--rc-bg-elevated) !important;
    border-bottom-color: var(--rc-border) !important;
    color: var(--rc-text) !important;
}

.card-body {
    background-color: var(--rc-bg-card) !important;
    color: var(--rc-text-secondary) !important;
}

.card-footer {
    background-color: var(--rc-bg-card) !important;
    border-top-color: var(--rc-border) !important;
}

/* Alert boxes */
.alert {
    border-radius: var(--rc-radius-sm) !important;
}
.alert-info {
    background-color: rgba(236,191,24,.06) !important;
    border-color: rgba(236,191,24,.15) !important;
    color: var(--rc-gold-pale) !important;
}
.alert-success {
    background-color: rgba(34,197,94,.06) !important;
    border-color: rgba(34,197,94,.2) !important;
    color: var(--rc-success) !important;
}
.alert-danger,
.alert-warning {
    background-color: rgba(239,68,68,.06) !important;
    border-color: rgba(239,68,68,.2) !important;
    color: #fca5a5 !important;
}

/* ══════════════════════════════════
   11. SIDEBAR / FACETS / FILTERS
   ══════════════════════════════════ */
#left-column,
#right-column,
.block-categories,
.facet,
#search_filters {
    background-color: var(--rc-bg) !important;
}

.facet-title,
.block-categories .category-top-menu a {
    color: var(--rc-text) !important;
    font-weight: 700;
}

.facet .facet-label a {
    color: var(--rc-text-secondary) !important;
}
.facet .facet-label a:hover {
    color: var(--rc-gold) !important;
}

/* ══════════════════════════════════
   12. FOOTER
   ══════════════════════════════════ */
footer,
#footer,
.footer-container {
    background-color: var(--rc-bg) !important;
    border-top: 1px solid var(--rc-border) !important;
    color: var(--rc-text-secondary) !important;
}

footer h4,
footer .h4,
.footer-container .block .block-title,
.block_newsletter .block-title {
    color: var(--rc-text) !important;
    font-weight: 700 !important;
}

footer a,
#footer a {
    color: var(--rc-text-muted) !important;
}
footer a:hover,
#footer a:hover {
    color: var(--rc-gold) !important;
}

/* Newsletter block (legacy) */
.block_newsletter {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    padding: 32px !important;
}
.block_newsletter input[type="email"] {
    background-color: var(--rc-bg-input) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text) !important;
}
.block_newsletter .btn {
    background-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-weight: 700 !important;
}

/* Copyright bar */
.footer__copyright,
.footer-after,
.footer__bottom {
    background-color: var(--rc-bg) !important;
    border-top: 1px solid var(--rc-border-subtle) !important;
    color: var(--rc-text-muted) !important;
    font-size: 13px;
}

/* ══════════════════════════════════
   13. CUSTOMER ACCOUNT PAGES
   ══════════════════════════════════ */
.page-my-account #content,
.page-customer-account #content {
    background-color: var(--rc-bg) !important;
}

/* Account links grid */
.page-my-account .links a,
.page-customer-account .links a {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    color: var(--rc-text-secondary) !important;
    transition: all .25s ease;
    padding: 20px;
}
.page-my-account .links a:hover,
.page-customer-account .links a:hover {
    border-color: rgba(236,191,24,.3) !important;
    color: var(--rc-gold) !important;
    background-color: var(--rc-bg-elevated) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(236,191,24,.08);
}

.page-my-account .links a i,
.page-my-account .links a .material-icons {
    color: var(--rc-gold) !important;
}

/* LMS link in account page — subtle highlight, not "active" look */
#lms-formations-link {
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: var(--rc-radius) !important;
    position: relative;
    overflow: hidden;
}
#lms-formations-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(236,191,24,.06), transparent);
    transition: left .6s ease;
}
#lms-formations-link:hover::after {
    left: 100%;
}
#lms-formations-link:hover {
    border-color: rgba(236,191,24,.3) !important;
    background: #18181b !important;
    box-shadow: 0 4px 24px rgba(236,191,24,.10) !important;
}
#lms-formations-link .link-item {
    color: #a1a1aa !important;
    font-weight: 500 !important;
}
#lms-formations-link i,
#lms-formations-link .material-icons {
    color: #ECBF18 !important;
}
/* When LMS IS the active page */
#lms-formations-link.ac-sidebar-active,
a[href*="lmsformation"].ac-sidebar-active {
    background: linear-gradient(135deg, rgba(236,191,24,.08), rgba(236,191,24,.14)) !important;
    border-color: #ECBF18 !important;
}
#lms-formations-link.ac-sidebar-active .link-item {
    color: #ECBF18 !important;
    font-weight: 700 !important;
}

/* Account page tables */
.page-my-account table,
#order-history table,
table.table {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text-secondary) !important;
}
table thead th {
    background-color: var(--rc-bg-elevated) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text-muted) !important;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
table td {
    border-color: var(--rc-border-subtle) !important;
    color: var(--rc-text-secondary) !important;
}
table tbody tr:hover {
    background-color: var(--rc-bg-elevated) !important;
}

/* ══════════════════════════════════
   14. CART & CHECKOUT
   ══════════════════════════════════ */
.cart-summary,
.cart-grid-body {
    background-color: var(--rc-bg) !important;
}

.cart-item,
.cart-items .cart-item {
    background-color: var(--rc-bg-card) !important;
    border-bottom: 1px solid var(--rc-border) !important;
}

.cart-summary-line {
    color: var(--rc-text-secondary) !important;
}
.cart-summary-line .value {
    color: var(--rc-text) !important;
    font-weight: 700;
}
.cart-total .value {
    color: var(--rc-gold) !important;
    font-weight: 800 !important;
    font-size: 1.2em;
}

/* Checkout steps */
.checkout-step,
section.checkout-step {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    margin-bottom: 16px;
}
.checkout-step .step-title {
    color: var(--rc-text) !important;
    font-weight: 700;
}
.checkout-step.-current {
    border-color: rgba(236,191,24,.25) !important;
}
.checkout-step.-complete .step-title {
    color: var(--rc-success) !important;
}

/* ══════════════════════════════════
   15. LMS DASHBOARD OVERRIDES
   (Page module/lmsformation/dashboard)
   ══════════════════════════════════ */
.lms-dashboard {
    max-width: 920px;
    margin: 0 auto;
}

.lms-hello {
    font-family: 'Outfit', sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--rc-text) !important;
}

.lms-sub {
    color: var(--rc-text-muted) !important;
}

.lms-card {
    background: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    padding: 28px !important;
    transition: all .3s ease;
}
.lms-card:hover {
    border-color: rgba(236,191,24,.3) !important;
    box-shadow: 0 4px 24px rgba(236,191,24,.08) !important;
}

.lms-btn {
    font-family: 'Outfit', sans-serif !important;
    border-radius: var(--rc-radius-sm) !important;
}

/* ══════════════════════════════════
   16. PAGINATION
   ══════════════════════════════════ */
.pagination .page-item .page-link {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text-secondary) !important;
}
.pagination .page-item .page-link:hover {
    background-color: var(--rc-bg-elevated) !important;
    border-color: var(--rc-gold) !important;
    color: var(--rc-gold) !important;
}
.pagination .page-item.active .page-link {
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-weight: 700;
}

/* ══════════════════════════════════
   17. MODAL / QUICK VIEW
   ══════════════════════════════════ */
.modal-content {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    color: var(--rc-text) !important;
}
.modal-header {
    border-bottom-color: var(--rc-border) !important;
}
.modal-footer {
    border-top-color: var(--rc-border) !important;
}
.modal-header .btn-close {
    filter: invert(1);
}

/* ══════════════════════════════════
   18. CMS PAGES
   ══════════════════════════════════ */
.page-cms .page-content,
.cms-page-content {
    color: var(--rc-text-secondary) !important;
    line-height: 1.8;
}
.page-cms .page-content h2,
.page-cms .page-content h3 {
    color: var(--rc-text) !important;
    margin-top: 32px;
}

/* ══════════════════════════════════
   19. SCROLLBAR
   ══════════════════════════════════ */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--rc-bg);
}
::-webkit-scrollbar-thumb {
    background: var(--rc-border);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--rc-text-muted);
}

/* ══════════════════════════════════
   20. MOBILE RESPONSIVE
   ══════════════════════════════════ */

/* Mobile menu */
#mobile_top_menu_wrapper,
.js-top-menu-bottom,
.top-menu.mobile {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
}

#mobile_top_menu_wrapper a {
    color: var(--rc-text-secondary) !important;
    border-bottom-color: var(--rc-border-subtle) !important;
}
#mobile_top_menu_wrapper a:hover {
    color: var(--rc-gold) !important;
}

/* Mobile LMS header button */
@media (max-width: 767.98px) {
    .lms-header-btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    .lms-header-btn .lms-btn-label {
        display: none;
    }
    .lms-header-btn .lms-btn-label-short {
        display: inline;
    }

    .lms-dashboard {
        padding: 0 8px;
    }
    .lms-card {
        padding: 20px !important;
    }
    .lms-hello {
        font-size: 22px !important;
    }
}

@media (min-width: 768px) {
    .lms-header-btn .lms-btn-label-short {
        display: none;
    }
}

/* ══════════════════════════════════
   21. UTILITIES & POLISH
   ══════════════════════════════════ */

/* Smooth transitions on interactive elements */
a, button, input, .btn, .card, .product-miniature {
    transition: all .2s ease;
}

/* Gold accent underline for section titles */
.featured-products h2,
.product-accessories h2,
.products-section-title {
    position: relative;
    padding-bottom: 12px;
    color: var(--rc-text) !important;
    font-weight: 800 !important;
}
.featured-products h2::after,
.product-accessories h2::after,
.products-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 48px;
    height: 3px;
    background: var(--rc-gold);
    border-radius: 2px;
}

/* Toast / notification styling */
.toast,
.notification {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text) !important;
}

/* Spinner / loading */
.spinner-border {
    color: var(--rc-gold) !important;
}

/* Empty states */
.page-not-found,
.no-items {
    color: var(--rc-text-muted) !important;
}

/* ══════════════════════════════════
   22. CONTACT PAGE
   ══════════════════════════════════ */
.contact-form {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Aussi tuer les cards Bootstrap résiduelles sur la page contact */
.page-contact .card,
.page-contact .card-body,
.page-contact .card-header,
.page-contact .card-footer,
body[class*="contact"] .card,
body[class*="contact"] .card-body {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* ══════════════════════════════════
   23. 404 / MAINTENANCE
   ══════════════════════════════════ */
.page-not-found {
    text-align: center;
    padding: 60px 20px;
}
.page-not-found h1 {
    color: var(--rc-gold) !important;
    font-size: 72px;
    font-weight: 900;
}

/* ══════════════════════════════════
   24. SOCIAL / SHARE BUTTONS
   ══════════════════════════════════ */
.social-sharing a {
    background-color: var(--rc-bg-elevated) !important;
    border: 1px solid var(--rc-border) !important;
    color: var(--rc-text-muted) !important;
    border-radius: var(--rc-radius-sm) !important;
}
.social-sharing a:hover {
    border-color: var(--rc-gold) !important;
    color: var(--rc-gold) !important;
}

/* ══════════════════════════════════
   25. LOGIN / REGISTER PAGES
   ══════════════════════════════════ */
.page-authentication .page-content,
.login-form,
.register-form {
    background-color: var(--rc-bg) !important;
}
.page-authentication h1,
.page-authentication .page-heading {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
}
.page-authentication label,
.page-authentication .form-label {
    color: #fafafa !important;
    font-weight: 600 !important;
}
.page-authentication p,
.page-authentication span,
.page-authentication .form-text {
    color: #d4d4d8 !important;
}
.login-form .form-control,
.register-form .form-control {
    background-color: #111113 !important;
    border: 1px solid #3f3f46 !important;
    color: #fafafa !important;
}
.no-account,
.no-account p,
.no-account span {
    color: #fafafa !important;
}
.no-account h2,
.no-account .h4 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
}
.no-account a,
.forgot-password a {
    color: var(--rc-gold) !important;
    font-weight: 600;
}
.no-account .btn-outline-secondary,
.no-account .btn-secondary {
    border: 1px solid #3f3f46 !important;
    color: #fafafa !important;
    background: transparent !important;
}
.no-account .btn-outline-secondary:hover,
.no-account .btn-secondary:hover {
    border-color: var(--rc-gold) !important;
    color: var(--rc-gold) !important;
    background: rgba(236,191,24,.06) !important;
}
/* Checkbox labels */
.page-authentication .custom-control-label,
.page-authentication .form-check-label,
.register-form .custom-control-label,
.register-form .form-check-label {
    color: #e4e4e7 !important;
}
/* Password strength bar */
.password-strength-feedback,
.password-strength-text {
    color: #d4d4d8 !important;
}
.password-requirements p,
.password-requirements span {
    color: #a1a1aa !important;
}

/* ══════════════════════════════════
   26. HUMMINGBIRD-SPECIFIC OVERRIDES
   ══════════════════════════════════ */

/* Hummingbird uses .offcanvas for mobile drawer */
.offcanvas {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text) !important;
}
.offcanvas-header {
    border-bottom: 1px solid var(--rc-border) !important;
}
.offcanvas .btn-close {
    filter: invert(1);
}

/* Hummingbird toast / popup cart */
.blockcart-modal .modal-body {
    background-color: var(--rc-bg-card) !important;
}

/* Hummingbird uses .wishlist styling */
.wishlist-button-add i,
.wishlist-button-add svg {
    color: var(--rc-text-muted) !important;
}
.wishlist-button-add:hover i,
.wishlist-button-add:hover svg {
    color: var(--rc-gold) !important;
}

/* ══════════════════════════════════
   27. PRINT STYLES
   ══════════════════════════════════ */
@media print {
    body {
        background: #fff !important;
        color: #000 !important;
    }
    header, footer, .lms-header-btn {
        display: none !important;
    }
}

/* ══════════════════════════════════
   28. HUMMINGBIRD BS5 DARK MODE FIXES
   (Ajouté v1.1 — Couche supplémentaire
   pour les composants Bootstrap 5 natifs
   que le data-bs-theme="dark" ne couvre pas
   entièrement avec nos couleurs Rehackt)
   ══════════════════════════════════ */

/* Accordion */
.accordion-item {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
}
.accordion-button {
    background-color: var(--rc-bg-elevated) !important;
    color: var(--rc-text) !important;
    font-weight: 600;
}
.accordion-button:not(.collapsed) {
    background-color: var(--rc-gold-glow) !important;
    color: var(--rc-gold) !important;
    box-shadow: none !important;
}
.accordion-button::after {
    filter: invert(1);
}
.accordion-body {
    background-color: var(--rc-bg-card) !important;
    color: var(--rc-text-secondary) !important;
}

/* Toast notifications */
.toast {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text) !important;
}

/* Tooltips */
.tooltip-inner {
    background-color: var(--rc-bg-elevated) !important;
    color: var(--rc-text) !important;
    border: 1px solid var(--rc-border);
    font-family: 'Outfit', sans-serif;
}

/* Popover */
.popover {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
}
.popover-header {
    background-color: var(--rc-bg-elevated) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text) !important;
}
.popover-body {
    color: var(--rc-text-secondary) !important;
}

/* Progress bars (Bootstrap) */
.progress {
    background-color: var(--rc-border) !important;
    border-radius: 6px;
}
.progress-bar {
    background-color: var(--rc-gold) !important;
}

/* List group */
.list-group-item {
    background-color: var(--rc-bg-card) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text-secondary) !important;
}
.list-group-item.active {
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
}

/* Badge (Bootstrap) */
.badge {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
}
.badge.bg-primary,
.bg-primary {
    background-color: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
}

/* Close buttons */
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* ══════════════════════════════════
   29. HOMEPAGE HERO / BANNER AREA
   ══════════════════════════════════ */
.carousel,
.carousel-inner {
    border-radius: var(--rc-radius);
    overflow: hidden;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: none;
    background-color: rgba(236,191,24,.8);
    border-radius: 50%;
    padding: 12px;
    background-size: 60%;
}
.carousel-indicators button {
    background-color: var(--rc-text-muted) !important;
}
.carousel-indicators button.active {
    background-color: var(--rc-gold) !important;
}

/* ══════════════════════════════════
   30. CATEGORY PAGES
   ══════════════════════════════════ */
.block-category {
    background-color: var(--rc-bg-card) !important;
    border-radius: var(--rc-radius) !important;
    padding: 24px !important;
}
.block-category .block-category-inner {
    color: var(--rc-text-secondary) !important;
}
.block-category h1 {
    color: var(--rc-text) !important;
}

/* Sort bar / toolbar */
.products-sort-order .select-title,
.sort-by-row {
    background-color: var(--rc-bg-elevated) !important;
    border-color: var(--rc-border) !important;
    color: var(--rc-text-secondary) !important;
}

/* Active filters */
.active-filter-title {
    color: var(--rc-text) !important;
    font-weight: 700;
}
.filter-block .active-filters ul li a {
    background-color: var(--rc-bg-elevated) !important;
    border: 1px solid var(--rc-border) !important;
    color: var(--rc-text-secondary) !important;
    border-radius: 20px;
}
.filter-block .active-filters ul li a:hover {
    border-color: var(--rc-danger) !important;
    color: var(--rc-danger) !important;
}

/* ══════════════════════════════════
   31. ORDER CONFIRMATION
   ══════════════════════════════════ */
.page-order-confirmation #content-hook_order_confirmation {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid rgba(34,197,94,.2) !important;
    border-radius: var(--rc-radius) !important;
    padding: 32px;
}
.page-order-confirmation .card-title {
    color: var(--rc-success) !important;
}

/* ══════════════════════════════════
   32. ANIMATIONS / MICRO-INTERACTIONS
   ══════════════════════════════════ */

/* Gold shimmer on hover for key CTAs */
@keyframes goldShimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.btn-primary:hover,
.add-to-cart:hover,
.lms-header-btn:hover {
    background-image: linear-gradient(
        90deg,
        var(--rc-gold) 0%,
        var(--rc-gold-pale) 50%,
        var(--rc-gold) 100%
    ) !important;
    background-size: 200% 100%;
    animation: goldShimmer 1.5s ease infinite;
}

/* Subtle fade-in for page content */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#content {
    animation: fadeInUp .4s ease-out;
}

/* Focus visible for accessibility */
*:focus-visible {
    outline: 2px solid var(--rc-gold) !important;
    outline-offset: 2px;
    border-radius: 4px;
}

/* ══════════════════════════════════════════════════════════
   33. CORRECTIFS HUMMINGBIRD — FICHE PRODUIT & LAYOUT
   (Fixes chevauchements, espacements, accordéons)
   ══════════════════════════════════════════════════════════ */

/* ── Reset des marges / overflow ── */
body, #wrapper, #content-wrapper, #main, main {
    overflow-x: hidden !important;
}

/* ── Fiche produit : layout principal ── */
#product .row,
.product-container .row,
.page-product .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.page-product #content {
    padding-top: 20px !important;
}

/* ══════════════════════════════════════════════════════════
   FICHE PRODUIT — OPTIMISÉE FORMATION EN LIGNE
   ══════════════════════════════════════════════════════════ */

/* ── Image produit — propre, sans zoom ── */
.product-cover,
.product__cover {
    position: relative !important;
    overflow: hidden;
    border-radius: var(--rc-radius) !important;
    border: 1px solid var(--rc-border) !important;
    background: var(--rc-bg-card) !important;
}

.product-cover img,
.product__cover img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
    border-radius: var(--rc-radius) !important;
    cursor: default !important;
}

/* ── Masquer : zoom, loupe, overlay (mais PAS le lien qui contient l'image) ── */
.product-cover .layer,
.product-cover .product-cover__overlay,
.product-cover .magnifier,
.product-cover .zoomWrapper,
.product-cover [data-action="zoom"],
.product__cover .layer,
.product__cover .product-cover__overlay,
.images-container .layer,
.images-container .product-cover__overlay,
.product-cover .expand,
.product-cover .product__image-expand,
.product-flags + .layer,
.rc-product-zoom,
.product-cover .material-icons,
.product-cover i.material-icons,
.product-cover .search,
.product-cover .zoom-in {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Neutraliser le clic zoom sur le lien image (sans le masquer) */
.product-cover > a,
.product-cover > a[data-bs-toggle="modal"] {
    cursor: default !important;
    pointer-events: auto !important;
}

/* ── Masquer : vignettes + loupe zoom (formations = 1 seule image) ── */
.thumbnails__container,
.product__images__modal-opener,
#product-modal {
    display: none !important;
}

/* ── Masquer : avis / commentaires ── */
.product-comment-list-btn,
.post-product-comment,
.product-comments,
#product-comments-list,
.product-comment-modal,
.product-comments-additional-info,
.grade-stars,
.star-content,
.comments-note,
.product__review,
.product-reviews {
    display: none !important;
}

/* ── Masquer : partage réseaux sociaux ── */
.social-sharing,
.product__social-sharing {
    display: none !important;
}

/* ── Masquer : bouton wishlist (cœur) ── */
.page-product .wishlist-button-product,
.page-product .wishlist-button-add,
.product__add-to-cart .wishlist-button-add {
    display: none !important;
}

/* ── Masquer : sélecteur de quantité (formation = 1) ── */
.page-product .product-quantity .qty,
.page-product .product__quantity .qty,
.page-product .product-quantity .product-quantity-touchspin,
.page-product .qty .input-group {
    display: none !important;
}

/* ── Masquer : réassurance par défaut PS (texte générique) ── */
.page-product .blockreassurance_product,
.page-product .product__reassurance,
.page-product #block-reassurance {
    display: none !important;
}

/* ── Masquer : notification "votre panier contient..." ── */
.page-product .cart-grid .alert-info,
.page-product .notifications .alert {
    /* On garde pour l'instant, c'est utile */
}

/* ── Titre produit ── */
.product-information h1,
.product__info h1,
.product-info h1,
h1[itemprop="name"] {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--rc-text) !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
}

/* ── Prix — doré et visible ── */
.product-prices,
.product__prices,
.product-price {
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--rc-border) !important;
}

.current-price,
.current-price-value,
span[itemprop="price"] {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--rc-gold) !important;
}

.current-price-display {
    font-size: 14px !important;
    color: var(--rc-text-muted) !important;
}

.tax-shipping-delivery-label {
    color: var(--rc-text-muted) !important;
    font-size: 13px !important;
}

/* ── Description courte (sous le prix) — propre ── */
.page-product .product-description,
.page-product .product-description-short,
.page-product .product__description-short {
    color: var(--rc-text-secondary) !important;
    line-height: 1.7 !important;
    font-size: 15px !important;
    margin-bottom: 24px !important;
}

.page-product .product-description p,
.page-product .product-description-short p {
    color: var(--rc-text-secondary) !important;
    margin-bottom: 10px !important;
}

.page-product .product-description strong,
.page-product .product-description-short strong {
    color: var(--rc-text) !important;
}

/* ── Bouton Ajouter au panier — large et proéminent ── */
.product-quantity,
.product__quantity,
.product-add-to-cart {
    margin: 24px 0 !important;
}

.add-to-cart,
.btn.add-to-cart,
button.add-to-cart {
    width: 100% !important;
    padding: 16px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: var(--rc-radius-sm) !important;
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    color: #09090b !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.add-to-cart:hover,
.btn.add-to-cart:hover {
    background-color: #f0c820 !important;
    box-shadow: 0 4px 20px rgba(236,191,24,.3) !important;
}

/* ── Breadcrumb fix ── */
.breadcrumb,
nav[aria-label="breadcrumb"],
.breadcrumb__container {
    padding: 12px 0 !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
    position: relative !important;
    z-index: 1 !important;
}

.breadcrumb ol {
    margin: 0 !important;
    padding: 0 !important;
}

/* Mobile breadcrumb — better spacing under sticky header */
@media (max-width: 991.98px) {
    .breadcrumb,
    nav[aria-label="breadcrumb"],
    .breadcrumb__container {
        padding: 14px 16px 10px !important;
        margin-bottom: 4px !important;
        background: #09090b !important;
    }
    .breadcrumb li,
    .breadcrumb a,
    .breadcrumb__item a {
        font-size: 12px !important;
        color: #71717a !important;
    }
    .breadcrumb li.active,
    .breadcrumb__item--active {
        color: #a1a1aa !important;
    }
}

/* ── Product flags / badges ── */
.product-flags,
.product__flags {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* ── Accordéon Description ── */
.product-tabs .accordion-button,
.product__description .accordion-button,
.product__tabs .accordion-button,
.product-description .accordion-button {
    background-color: var(--rc-bg-card) !important;
    color: var(--rc-gold) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    padding: 16px 20px !important;
}

.product-tabs .accordion-button:not(.collapsed),
.product__tabs .accordion-button:not(.collapsed) {
    background-color: var(--rc-gold-glow) !important;
    color: var(--rc-gold) !important;
    box-shadow: none !important;
    border-color: rgba(236,191,24,.25) !important;
}

.product-tabs .accordion-body,
.product__tabs .accordion-body,
.product__description .accordion-body {
    background-color: var(--rc-bg) !important;
    color: var(--rc-text-secondary) !important;
    padding: 24px !important;
    line-height: 1.8;
    border: 1px solid var(--rc-border) !important;
    border-top: none !important;
    border-radius: 0 0 var(--rc-radius) var(--rc-radius) !important;
}

.product-tabs .accordion-item,
.product__tabs .accordion-item {
    background-color: transparent !important;
    border: none !important;
    margin-bottom: 8px !important;
}

/* ── Détails produit (caractéristiques) ── */
.product-features,
.data-sheet,
.product-details,
.product-information section {
    background-color: var(--rc-bg-card) !important;
    border-radius: var(--rc-radius) !important;
    padding: 20px !important;
}

/* Table inside product details */
.data-sheet table,
.product-features table,
.product-details table,
.product-information table {
    background-color: var(--rc-bg-card) !important;
    color: var(--rc-text-secondary) !important;
    border-collapse: collapse !important;
    width: 100% !important;
}
.data-sheet table td,
.data-sheet table th,
.product-features table td,
.product-features table th,
.product-details table td,
.product-details table th,
.product-information table td,
.product-information table th {
    background-color: var(--rc-bg-card) !important;
    color: var(--rc-text-secondary) !important;
    border-color: var(--rc-border) !important;
    padding: 10px 12px !important;
}
.data-sheet table tr:nth-child(even) td,
.product-features table tr:nth-child(even) td {
    background-color: var(--rc-bg-elevated) !important;
}

.data-sheet dl {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
}

.data-sheet dt {
    color: var(--rc-text-muted) !important;
    font-weight: 600 !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--rc-border-subtle) !important;
}

.data-sheet dd {
    color: var(--rc-text) !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--rc-border-subtle) !important;
}

/* ══════════════════════════════════════════════════════════
   34. CORRECTIFS HOMEPAGE / SECTIONS
   ══════════════════════════════════════════════════════════ */

/* Sections de la homepage */
section, .featured-products, .product-accessories,
.new-products, .special-products, .best-sales {
    padding: 40px 0 !important;
}

/* Container max-width */
.container, .container-lg, .container-xl {
    max-width: 1200px !important;
}

/* ══════════════════════════════════════════════════════════
   35. MOBILE FIXES — FICHE PRODUIT
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Sur tablette/mobile, passer en colonnes empilées */
    .page-product .row > [class*="col-"] {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .product-information h1,
    .product__info h1,
    h1[itemprop="name"] {
        font-size: 22px !important;
    }

    .current-price,
    .current-price-value {
        font-size: 24px !important;
    }

    .add-to-cart,
    .btn.add-to-cart {
        width: 100% !important;
        min-width: unset !important;
    }
}

@media (max-width: 767.98px) {
    .product-cover img,
    .product__cover img {
        border-radius: var(--rc-radius-sm) !important;
    }

    .product-quantity,
    .product__quantity,
    .product-add-to-cart {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .product-information h1,
    .product__info h1 {
        font-size: 20px !important;
    }

    /* Header fix mobile */
    header .container,
    .header-top .container {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* Breadcrumb compact */
    .breadcrumb {
        font-size: 11px !important;
        padding: 8px 0 !important;
    }
}

/* ══════════════════════════════════════════════════════════
   36. HUMMINGBIRD SPECIFIC OVERRIDES
   (Classes spécifiques au thème Hummingbird v1.0.1)
   ══════════════════════════════════════════════════════════ */

/* Hummingbird product layout */
.product__left-column {
    position: relative !important;
}

.product__right-column {
    position: relative !important;
}

/* Hummingbird accordion override (utilise souvent des couleurs inline) */
.accordion-button,
.accordion-button:not(.collapsed) {
    color: var(--rc-gold) !important;
    background-color: var(--rc-bg-card) !important;
    box-shadow: none !important;
}

.accordion-button::after {
    filter: brightness(0) saturate(100%) invert(81%) sepia(36%) saturate(1000%) hue-rotate(10deg) brightness(100%) contrast(92%) !important;
}

.accordion-button:not(.collapsed)::after {
    filter: brightness(0) saturate(100%) invert(81%) sepia(36%) saturate(1000%) hue-rotate(10deg) brightness(100%) contrast(92%) !important;
}

/* Hummingbird product-variants */
.product-variants {
    margin: 16px 0 !important;
}

.product-variants__item {
    margin-bottom: 12px !important;
}

.product-variants__label {
    color: var(--rc-text-secondary) !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
}

/* Hummingbird product additional info */
.product-additional-info {
    color: var(--rc-text-muted) !important;
    font-size: 13px !important;
}

/* Hummingbird reassurance module */
.blockreassurance-product,
.blockreassurance {
    background-color: var(--rc-bg-card) !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: var(--rc-radius) !important;
    padding: 16px !important;
    margin-top: 20px !important;
}

.blockreassurance-product .block-reassurance-item,
.blockreassurance .block-reassurance-item {
    padding: 8px 0 !important;
    border-bottom: 1px solid var(--rc-border-subtle) !important;
    color: var(--rc-text-secondary) !important;
}

.blockreassurance-product .block-reassurance-item:last-child,
.blockreassurance .block-reassurance-item:last-child {
    border-bottom: none !important;
}

.blockreassurance-product img,
.blockreassurance img {
    filter: brightness(0) invert(1) !important;
    opacity: .6;
}

/* ══════════════════════════════════════════════════════════
   37. GLOBAL SPACING & POLISH
   ══════════════════════════════════════════════════════════ */

/* Ensure no content is cut off */
#wrapper {
    padding-top: 0 !important;
}

/* Section spacing */
section.featured-products,
section.product-accessories,
section.new-products {
    margin-top: 0 !important;
}

/* Proper z-index stacking */
header, .header-top, #header {
    z-index: 1030 !important;
    position: relative !important;
}

#wrapper {
    position: relative !important;
    z-index: 1 !important;
}

/* Fix for Hummingbird's sticky header if present */
.header-top.fixed,
header.sticky,
.header--sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1030 !important;
}

/* When header is fixed, add padding to body */
body.header-is-fixed,
body:has(.header-top.fixed),
body:has(header.sticky) {
    padding-top: 120px !important;
}

/* ══════════════════════════════════════════════════════════
   38. HEADER REFONTE COMPLÈTE — ALIGNEMENT PROPRE
   ══════════════════════════════════════════════════════════ */

/* ── Top bar (Contactez-nous + user info + panier) ── */
.header-top > .container,
.header-top > .container-fluid,
header > nav > .container,
.header__top > .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 12px !important;
}

/* Tout sur une ligne dans la top bar */
.header-top .header__left,
.header-top .header__right,
.header-top [id*="contact-link"],
.header-top .header-nav__left,
.header-top .header-nav__right {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    height: 100% !important;
}

/* Le bouton LMS doit s'intégrer dans le flux, pas flotter */
.lms-header-btn {
    padding: 6px 14px !important;
    font-size: 12px !important;
    height: 32px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

/* User info compact */
.user-info,
#_desktop_user_info .user-info,
#_desktop_user_info {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

/* Panier compact */
.blockcart,
.cart-preview {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

/* ── Barre de navigation principale ── */
.header__nav,
.header-bottom,
#_desktop_top_menu,
.top-menu-container {
    background-color: var(--rc-bg) !important;
    border-bottom: 1px solid var(--rc-border-subtle) !important;
}

.header__nav > .container,
.header-bottom > .container {
    display: flex !important;
    align-items: center !important;
    height: 56px !important;
    gap: 24px !important;
}

/* Logo dans la nav principale */
.header__logo,
.header-logo {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.header__logo img,
.header-logo img,
#header .logo img {
    max-height: 44px !important;
    width: auto !important;
}

/* Menu principal — liens alignés */
.top-menu,
.main-menu,
#top-menu,
nav.main-menu,
.top-menu > li {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#top-menu > li > a,
.top-menu > li > a,
.main-menu > li > a {
    padding: 8px 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--rc-text-secondary) !important;
    white-space: nowrap !important;
    border-radius: 6px !important;
    transition: all .2s !important;
}

#top-menu > li > a:hover,
.top-menu > li > a:hover,
.main-menu > li > a:hover {
    color: var(--rc-gold) !important;
    background: var(--rc-gold-glow) !important;
}

#top-menu > li.current > a,
.top-menu > li.current > a {
    color: var(--rc-gold) !important;
    font-weight: 600 !important;
}

/* Search dans la nav */
.header__search,
.search-widget {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

/* ══════════════════════════════════════════════════════════
   39. LISIBILITÉ TEXTE — BOOST CONTRASTE
   ══════════════════════════════════════════════════════════ */

/* Les textes "muted" étaient trop sombres. On les remonte. */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
    --rc-text-secondary: #c4c4cc;  /* Was #a1a1aa → plus clair */
    --rc-text-muted: #8e8e96;      /* Was #71717a → plus clair */
}

/* Texte du body principal */
body, p, li, span, div {
    color: var(--rc-text-secondary) !important;
}

/* Mais les titres restent blancs */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
strong, b {
    color: var(--rc-text) !important;
}

/* Les liens en or restent en or */
a {
    color: var(--rc-gold) !important;
}
a:hover {
    color: var(--rc-gold-pale) !important;
}

/* Le prix doit être très visible */
.current-price,
.current-price-value,
span[itemprop="price"],
.price,
.product-price {
    color: var(--rc-gold) !important;
    font-weight: 800 !important;
}

/* Description produit bien lisible */
.product-description p,
.product-description li,
.product-description span,
.product__description p,
.product__description li,
.accordion-body p,
.accordion-body li,
.accordion-body span,
.tab-content p,
.tab-content li {
    color: #d4d4d8 !important;
    line-height: 1.8 !important;
    font-size: 14px !important;
}

/* Titles dans la description */
.accordion-body h2,
.accordion-body h3,
.accordion-body h4,
.accordion-body strong,
.tab-content h2,
.tab-content h3,
.tab-content strong {
    color: var(--rc-text) !important;
    font-weight: 700 !important;
}

/* Texte produit colonne droite */
.product-information p,
.product__info p,
.product-information span,
.product__info span {
    color: #d4d4d8 !important;
}

/* TTC label */
.tax-shipping-delivery-label,
.product-unit-price,
.product-without-taxes {
    color: var(--rc-text-muted) !important;
}

/* Product subtitle / short description */
.product-description-short,
.product__description-short {
    color: #d4d4d8 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 16px !important;
}

/* ══════════════════════════════════════════════════════════
   40. BOUTONS — POLISH
   ══════════════════════════════════════════════════════════ */

/* Ajouter au panier — hauteur fixe, pas de wrapping bizarre */
.add-to-cart,
.btn.add-to-cart,
button.add-to-cart {
    height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 32px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
}

/* Quantité — même hauteur que le bouton */
.product-quantity .qty .input-group,
.qty .input-group {
    height: 52px !important;
}

.qty .input-group input,
.qty .input-group .btn,
.qty .input-group button {
    height: 52px !important;
}

/* Wishlist — même hauteur */
.wishlist-button-add {
    width: 52px !important;
    height: 52px !important;
}

/* Donnez votre avis bouton */
.product-comment-list-btn,
.post-product-comment,
#product-comments-list-btn {
    background-color: var(--rc-bg-elevated) !important;
    border: 1px solid var(--rc-border) !important;
    color: #d4d4d8 !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
}

/* Partager — icônes plus visibles */
.social-sharing a,
.social-sharing li a {
    background-color: var(--rc-bg-elevated) !important;
    border: 1px solid var(--rc-border) !important;
    color: #d4d4d8 !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
}

/* ══════════════════════════════════════════════════════════
   41. BLOC RÉASSURANCE — LISIBLE
   ══════════════════════════════════════════════════════════ */
.blockreassurance-product span,
.blockreassurance-product p,
.blockreassurance-product .block-reassurance-item span,
.blockreassurance span,
.blockreassurance p {
    color: #d4d4d8 !important;
    font-size: 13px !important;
}

.blockreassurance-product .block-reassurance-item img,
.blockreassurance .block-reassurance-item img,
.blockreassurance-product .block-reassurance-item svg {
    filter: none !important;
    opacity: .8 !important;
}

/* ══════════════════════════════════════════════════════════
   42. BREADCRUMB — LISIBLE
   ══════════════════════════════════════════════════════════ */
.breadcrumb li,
.breadcrumb a,
.breadcrumb span,
.breadcrumb__item a,
nav[aria-label="breadcrumb"] a,
nav[aria-label="breadcrumb"] li {
    color: #8e8e96 !important;
    font-size: 13px !important;
}

.breadcrumb li:last-child,
.breadcrumb li.active,
.breadcrumb__item--active {
    color: #d4d4d8 !important;
}

.breadcrumb li::before,
.breadcrumb-item + .breadcrumb-item::before {
    color: #52525b !important;
}

/* ══════════════════════════════════════════════════════════
   43. FOOTER — LISIBILITÉ
   ══════════════════════════════════════════════════════════ */
footer p, footer span, footer li, footer div,
#footer p, #footer span, #footer li, #footer div {
    color: #8e8e96 !important;
}

footer a, #footer a {
    color: #c4c4cc !important;
}

footer a:hover, #footer a:hover {
    color: var(--rc-gold) !important;
}

footer h4, footer .h4, footer h5,
.footer-container .block .block-title {
    color: var(--rc-text) !important;
}

/* ══════════════════════════════════════════════════════════
   44. HEADER NAV LINKS — NE PAS CASSER LES COULEURS
   (On remet les bonnes couleurs pour le header après le
   reset global du section 39)
   ══════════════════════════════════════════════════════════ */

/* Top bar links */
.header-top a,
.header-nav a,
header a {
    color: #c4c4cc !important;
}
.header-top a:hover,
.header-nav a:hover,
header a:hover {
    color: var(--rc-gold) !important;
}

/* Nav menu links override */
#top-menu > li > a,
.top-menu > li > a {
    color: #c4c4cc !important;
}
#top-menu > li > a:hover,
.top-menu > li > a:hover {
    color: var(--rc-gold) !important;
}

/* Cart text */
.blockcart span,
.cart-preview span {
    color: #c4c4cc !important;
}

/* LMS button keeps its own style */
.lms-header-btn,
.lms-header-btn span {
    color: var(--rc-bg) !important;
}

/* Search icon / text */
.search-widget button,
.header__search button {
    color: var(--rc-bg) !important;
}

#search_widget input::placeholder,
.search-widget input::placeholder,
.header__search input::placeholder {
    color: #8e8e96 !important;
}

/* ══════════════════════════════════════════════════════════
   45. TOP BAR — HARMONISATION DES BOUTONS
   ══════════════════════════════════════════════════════════ */

/* ── Reset : tous les éléments de la top bar ont le même style de base ── */
.header-top .user-info a,
.header-top .user-info button,
.header-top #_desktop_user_info a,
.header-top #_desktop_user_info button,
.header-top .blockcart a,
.header-top .cart-preview a,
.header-top [id*="contact-link"] a,
.header-top .header__right a:not(.lms-header-btn),
.header-top .header__right button:not(.lms-header-btn),
.header-nav .user-info a,
.header-nav .user-info button,
.header-nav .blockcart a,
.header-nav .cart-preview a,
.header-nav [id*="contact-link"] a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 16px !important;
    height: 34px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #c4c4cc !important;
    background: transparent !important;
    border: 1px solid #27272a !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    transition: all .2s ease !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

/* Hover uniforme */
.header-top .user-info a:hover,
.header-top .user-info button:hover,
.header-top #_desktop_user_info a:hover,
.header-top #_desktop_user_info button:hover,
.header-top .blockcart a:hover,
.header-top .cart-preview a:hover,
.header-top [id*="contact-link"] a:hover,
.header-top .header__right a:not(.lms-header-btn):hover,
.header-top .header__right button:not(.lms-header-btn):hover,
.header-nav .user-info a:hover,
.header-nav .user-info button:hover,
.header-nav .blockcart a:hover,
.header-nav .cart-preview a:hover,
.header-nav [id*="contact-link"] a:hover {
    border-color: rgba(236,191,24,.4) !important;
    color: var(--rc-gold) !important;
    background: rgba(236,191,24,.05) !important;
}

/* ── Bouton Mes formations : le seul CTA doré (mais sobre) ── */
.lms-header-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 16px !important;
    height: 34px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--rc-gold) !important;
    background: rgba(236,191,24,.08) !important;
    border: 1px solid rgba(236,191,24,.3) !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    transition: all .2s ease !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

.lms-header-btn:hover {
    background: rgba(236,191,24,.15) !important;
    border-color: var(--rc-gold) !important;
    color: var(--rc-gold) !important;
    transform: none !important;
    box-shadow: none !important;
}

.lms-header-btn svg {
    width: 14px !important;
    height: 14px !important;
    color: var(--rc-gold) !important;
    stroke: var(--rc-gold) !important;
}

.lms-header-btn span {
    color: var(--rc-gold) !important;
}

/* ── Panier : badge doré pour le compteur ── */
.cart-products-count,
.blockcart .cart-products-count {
    background: var(--rc-gold) !important;
    color: var(--rc-bg) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-width: 20px !important;
    height: 20px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 5px !important;
    line-height: 1 !important;
}

/* ── Contactez-nous à gauche : discret ── */
.header-top [id*="contact-link"] a,
.header-nav [id*="contact-link"] a {
    border-color: transparent !important;
    padding-left: 0 !important;
}
.header-top [id*="contact-link"] a:hover,
.header-nav [id*="contact-link"] a:hover {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--rc-gold) !important;
}

/* ── Dropdown utilisateur ── */
.user-info .dropdown-toggle::after,
#_desktop_user_info .dropdown-toggle::after {
    border-top-color: #c4c4cc !important;
    margin-left: 4px !important;
}

.user-info .dropdown-toggle:hover::after {
    border-top-color: var(--rc-gold) !important;
}

/* ══════════════════════════════════════════════════════════
   46. LMS DASHBOARD — FIXES BOUTONS & LISIBILITÉ
   ══════════════════════════════════════════════════════════ */

/* Bouton Commencer / Continuer / Revoir */
.lms-btn,
a.lms-btn,
.lms-dashboard .lms-btn {
    color: #09090b !important;
    font-weight: 800 !important;
    font-size: 14px !important;
}

/* Bouton certificat */
.lms-btn-cert,
a.lms-btn-cert {
    color: var(--rc-gold) !important;
}

/* Tous les boutons dorés : texte noir garanti */
.btn-primary span,
.btn-primary div,
.add-to-cart span,
.add-to-cart div,
.lms-btn span,
.lms-btn div,
[style*="background"][style*="ECB"] span,
[style*="background"][style*="ecb"] span {
    color: #09090b !important;
}

/* Fix global : les boutons avec fond doré doivent avoir du texte noir */
a[class*="btn-primary"],
button[class*="btn-primary"],
a.lms-btn,
button.lms-btn,
.btn-primary,
.add-to-cart {
    color: #09090b !important;
}

/* LMS stats text */
.lms-stat,
.lms-stat strong {
    color: var(--rc-gold) !important;
}

.lms-stat {
    color: #c4c4cc !important;
}

/* LMS phase badges */
.lms-phase {
    color: #c4c4cc !important;
}

.lms-phase-num {
    color: #c4c4cc !important;
}

.lms-phase.completed .lms-phase-num {
    color: var(--rc-gold) !important;
}

.lms-phase.locked {
    opacity: .5 !important;
}

/* LMS card title & desc */
.lms-card-title {
    color: var(--rc-text) !important;
}

.lms-card-desc {
    color: #8e8e96 !important;
}

/* LMS hello / sub */
.lms-hello {
    color: var(--rc-text) !important;
}

.lms-sub {
    color: #8e8e96 !important;
}

/* LMS progress bar */
.lms-progress-bar {
    background: #27272a !important;
}

.lms-progress-fill {
    background: linear-gradient(90deg, #ECBF18, #f5dfa0) !important;
}

/* ══════════════════════════════════════════════════════════
   47. LISIBILITÉ GLOBALE — TEXTE PLUS CLAIR
   Override des couleurs trop grises
   ══════════════════════════════════════════════════════════ */

/* ── Nouvelle hiérarchie de couleurs texte ── */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
    --rc-text: #ffffff;            /* Titres : blanc pur */
    --rc-text-secondary: #e4e4e7;  /* Texte courant : gris très clair */
    --rc-text-muted: #a1a1aa;      /* Labels secondaires : gris moyen */
    --bs-body-color: #e4e4e7;
}

/* ── Texte courant : e4e4e7 partout ── */
body, p, li, span, div, td, th, label, dd {
    color: #e4e4e7 !important;
}

/* ── Titres : blanc pur ── */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
strong, b, dt {
    color: #ffffff !important;
}

/* ── Texte doré pour les accents ── */
a:not(.btn):not(.lms-btn):not(.lms-header-btn):not(.add-to-cart):not(.btn-primary) {
    color: var(--rc-gold) !important;
}

/* ── Labels / légendes : gris moyen lisible ── */
.form-label,
label,
.breadcrumb a,
.breadcrumb li,
.breadcrumb span,
nav[aria-label="breadcrumb"] a,
nav[aria-label="breadcrumb"] li,
.tax-shipping-delivery-label,
small,
.text-muted,
figcaption,
caption {
    color: #a1a1aa !important;
}

/* ── Descriptions produit ── */
.product-description p,
.product-description li,
.product-description span,
.product__description p,
.product__description li,
.product-description-short,
.product__description-short,
.accordion-body p,
.accordion-body li,
.accordion-body span,
.tab-content p,
.tab-content li,
.tab-content span,
.product-information p,
.product__info p {
    color: #e4e4e7 !important;
}

/* ── Homepage / blocs CMS ── */
.cms-block p,
.cms-block span,
.cms-block li,
.cms-block div,
.block-cms p,
.custom-text p,
.custom-text span,
.custom-text div,
[id*="custom"] p,
[id*="custom"] span {
    color: #e4e4e7 !important;
}

/* ── Header : les liens restent gris clair, pas blanc ── */
.header-top a,
.header-nav a,
header a,
.user-info a,
.blockcart a,
.cart-preview a,
#top-menu > li > a,
.top-menu > li > a {
    color: #d4d4d8 !important;
}

.header-top a:hover,
.header-nav a:hover,
header a:hover,
#top-menu > li > a:hover,
.top-menu > li > a:hover {
    color: var(--rc-gold) !important;
}

/* ── Footer : texte plus clair ── */
footer p, footer span, footer li, footer div, footer dd,
#footer p, #footer span, #footer li, #footer div {
    color: #a1a1aa !important;
}

footer a, #footer a {
    color: #d4d4d8 !important;
}

/* ── LMS dashboard texte ── */
.lms-sub {
    color: #a1a1aa !important;
}

.lms-card-desc {
    color: #a1a1aa !important;
}

.lms-stat {
    color: #e4e4e7 !important;
}

/* ── Boutons : texte noir sur fond doré (override du body color) ── */
.btn-primary,
.btn-primary span,
.btn-primary div,
.add-to-cart,
.add-to-cart span,
.add-to-cart div,
.lms-btn,
.lms-btn span,
.lms-btn div,
a.lms-btn,
button.btn-primary {
    color: #09090b !important;
}

/* ── LMS header button : texte doré ── */
.lms-header-btn,
.lms-header-btn span,
.lms-header-btn svg {
    color: var(--rc-gold) !important;
}

/* ── Boutons outline/ghost : texte clair ── */
.btn-secondary,
.btn-outline-primary,
.btn-outline-secondary {
    color: #e4e4e7 !important;
}

/* ── Input placeholders ── */
input::placeholder,
textarea::placeholder {
    color: #71717a !important;
}

/* ══════════════════════════════════════════════════════════
   48. HARMONISATION GLOBALE — MÊME TEINTE PARTOUT
   + Suppression copyright PrestaShop
   ══════════════════════════════════════════════════════════ */

/* ── Menu navigation : même couleur que le corps ── */
#top-menu > li > a,
.top-menu > li > a,
.main-menu > li > a,
nav.main-menu a,
.header__nav a {
    color: #e4e4e7 !important;
}

#top-menu > li > a:hover,
.top-menu > li > a:hover,
.main-menu > li > a:hover {
    color: var(--rc-gold) !important;
}

/* ── Top bar liens : harmonisé ── */
.header-top a,
.header-nav a,
header a,
.user-info a,
.user-info button,
.user-info span,
#_desktop_user_info a,
#_desktop_user_info span,
.blockcart a,
.blockcart span,
.cart-preview a,
.cart-preview span,
[id*="contact-link"] a {
    color: #e4e4e7 !important;
}

.header-top a:hover,
.header-nav a:hover,
header a:hover {
    color: var(--rc-gold) !important;
}

/* ── Footer : remonter la lisibilité ── */
footer, #footer, .footer-container {
    color: #e4e4e7 !important;
}

footer p, footer span, footer li, footer div, footer dd, footer a,
#footer p, #footer span, #footer li, #footer div, #footer dd, #footer a,
.footer-container p, .footer-container span, .footer-container li,
.footer-container div, .footer-container a {
    color: #d4d4d8 !important;
}

footer a:hover, #footer a:hover, .footer-container a:hover {
    color: var(--rc-gold) !important;
}

/* Titres du footer */
footer h4, footer .h4, footer h5, footer h3,
#footer h4, #footer h3,
.footer-container h4, .footer-container h3,
.footer-container .block-title,
footer .block-title {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Newsletter bloc dans le footer */
.block_newsletter p,
.block_newsletter span,
.block_newsletter label,
.block_newsletter .newsletter-label {
    color: #e4e4e7 !important;
}

.block_newsletter .btn,
.block_newsletter button {
    color: #09090b !important;
    background: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    font-weight: 700 !important;
}

/* ── Masquer le copyright PrestaShop ── */
.footer__copyright,
.footer-after,
.footer__bottom,
footer .text-center,
footer [class*="copyright"],
.copyright {
    display: none !important;
}

/* On le remplace par rien, ou si tu veux un jour ajouter
   ton propre copyright via un bloc CMS, il sera visible */

/* ══════════════════════════════════════════════════════════
   49. FOOTER — FORCE COULEUR LIENS LISIBLES
   ══════════════════════════════════════════════════════════ */

/* Force tous les liens du footer en e4e4e7 */
footer a,
footer li a,
footer ul a,
footer p a,
#footer a,
#footer li a,
#footer ul a,
.footer-container a,
.footer-container li a,
.footer-container ul a,
footer .block a,
footer .block li a,
footer .link-list a,
footer .linklist a,
.block-cms a,
.link-list a,
.account-list a,
.links .block a,
.links .block li a,
footer [id*="link"] a,
footer .wrapper a,
footer .col a {
    color: #e4e4e7 !important;
    text-decoration: none !important;
}

footer a:hover,
footer li a:hover,
#footer a:hover,
#footer li a:hover,
.footer-container a:hover,
.footer-container li a:hover,
footer .block a:hover,
.link-list a:hover,
.account-list a:hover {
    color: var(--rc-gold) !important;
}

/* Footer texte brut aussi */
footer li,
footer p,
footer span,
footer div,
#footer li,
#footer p,
#footer span,
.footer-container li,
.footer-container p,
.footer-container span {
    color: #e4e4e7 !important;
}

/* Adresse / info contact */
footer address,
footer .block-contact,
footer [class*="contact"] p,
footer [class*="contact"] span,
footer [class*="contact"] a {
    color: #e4e4e7 !important;
}

/* Icône email */
footer .block-contact i,
footer .block-contact .material-icons,
footer [class*="contact"] i {
    color: var(--rc-gold) !important;
}

/* Copyright caché (double sécurité) */
footer .footer__copyright,
footer .footer-after,
footer .footer__bottom,
footer .text-center:last-child,
.footer__copyright,
.footer-after,
#footer .footer__copyright,
#footer .footer-after {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ══════════════════════════════════════════════════════════
   50. PASSE FINALE — HARMONISATION EXHAUSTIVE
   Cible : TOUT en #e4e4e7, titres #fff, accents #ECBF18
   ══════════════════════════════════════════════════════════ */

/* ── TOP BAR : Contactez-nous + tous les liens ── */
header [id*="contact-link"] a,
header [id*="contact-link"] span,
.header-top [id*="contact-link"] a,
.header-top [id*="contact-link"] span,
.header-nav [id*="contact-link"] a,
.header-nav [id*="contact-link"] span,
#contact-link a,
#_desktop_contact_link a {
    color: #e4e4e7 !important;
    border-color: transparent !important;
}

header [id*="contact-link"] a:hover,
.header-top [id*="contact-link"] a:hover,
#contact-link a:hover,
#_desktop_contact_link a:hover {
    color: var(--rc-gold) !important;
}

/* ── TOP BAR : user info + panier uniformes ── */
.header-top .user-info,
.header-top .user-info a,
.header-top .user-info span,
.header-top .user-info button,
.header-top #_desktop_user_info,
.header-top #_desktop_user_info a,
.header-top #_desktop_user_info span,
.header-top #_desktop_user_info button,
.header-top .blockcart,
.header-top .blockcart a,
.header-top .blockcart span,
.header-top .cart-preview,
.header-top .cart-preview a,
.header-top .cart-preview span,
.header-nav .user-info a,
.header-nav .user-info span,
.header-nav .blockcart a,
.header-nav .blockcart span,
.header-nav .cart-preview a,
.header-nav .cart-preview span {
    color: #e4e4e7 !important;
}

/* ── MENU PRINCIPAL ── */
#top-menu a,
.top-menu a,
.main-menu a,
nav.main-menu a,
#_desktop_top_menu a {
    color: #e4e4e7 !important;
}

#top-menu a:hover,
.top-menu a:hover,
.main-menu a:hover {
    color: var(--rc-gold) !important;
}

/* Dropdown menus */
.top-menu .sub-menu a,
.top-menu .popover a,
.dropdown-menu a,
.dropdown-item {
    color: #e4e4e7 !important;
}

.dropdown-menu a:hover,
.dropdown-item:hover {
    color: var(--rc-gold) !important;
}

/* ── BREADCRUMB ── */
.breadcrumb a,
.breadcrumb li,
.breadcrumb span,
.breadcrumb li a,
.breadcrumb-item a,
nav[aria-label="breadcrumb"] a,
nav[aria-label="breadcrumb"] li,
nav[aria-label="breadcrumb"] span {
    color: #a1a1aa !important;
}

.breadcrumb li:last-child,
.breadcrumb li.active,
.breadcrumb .active,
.breadcrumb-item.active {
    color: #e4e4e7 !important;
}

.breadcrumb-item + .breadcrumb-item::before,
.breadcrumb li::before {
    color: #71717a !important;
}

/* ══════════════════════════════════════════════════════════
   51. PAGE CONTACT — FORMULAIRE COMPLET
   ══════════════════════════════════════════════════════════ */

/* Container */
.page-contact #content,
.contact-page,
.page-contact .page-content {
    background-color: var(--rc-bg) !important;
}

/* Titre page */
.page-contact h1,
.page-contact .page-title,
.contact-page h1 {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* Formulaire de contact */
.contact-form,
.page-contact form,
.contact-page form {
    background-color: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    padding: 32px !important;
}

/* Labels */
.contact-form label,
.page-contact label,
.page-contact .form-label,
.contact-page label {
    color: #e4e4e7 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}

/* Inputs */
.contact-form input,
.contact-form textarea,
.contact-form select,
.page-contact input[type="text"],
.page-contact input[type="email"],
.page-contact textarea,
.page-contact select,
.page-contact .form-control,
.page-contact .form-select,
.contact-page input,
.contact-page textarea,
.contact-page select {
    background-color: #0c0c0e !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.page-contact input:focus,
.page-contact textarea:focus,
.page-contact select:focus {
    border-color: var(--rc-gold) !important;
    box-shadow: 0 0 0 3px rgba(236,191,24,.10) !important;
    outline: none !important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.page-contact input::placeholder,
.page-contact textarea::placeholder {
    color: #71717a !important;
}

/* Bouton envoyer */
.contact-form .btn-primary,
.contact-form button[type="submit"],
.page-contact .btn-primary,
.page-contact button[type="submit"],
.page-contact input[type="submit"] {
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    color: #09090b !important;
    font-weight: 700 !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
}

.contact-form .btn-primary:hover,
.page-contact .btn-primary:hover {
    background-color: #f0c820 !important;
    box-shadow: 0 4px 16px rgba(236,191,24,.3) !important;
}

/* Texte d'aide / info */
.contact-form p,
.contact-form span,
.contact-form .help-block,
.page-contact p,
.page-contact span,
.page-contact .help-block,
.page-contact .form-informations,
.page-contact .form-group p {
    color: #e4e4e7 !important;
}

/* File upload */
.contact-form input[type="file"],
.page-contact input[type="file"] {
    color: #e4e4e7 !important;
}

/* Contact info sidebar */
.contact-rich,
.page-contact .contact-rich {
    background-color: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    padding: 24px !important;
}

.contact-rich h4,
.contact-rich .h4,
.contact-rich .block-contact-title {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.contact-rich div,
.contact-rich p,
.contact-rich span,
.contact-rich a {
    color: #e4e4e7 !important;
}

.contact-rich a:hover {
    color: var(--rc-gold) !important;
}

.contact-rich i,
.contact-rich .material-icons {
    color: var(--rc-gold) !important;
}

/* ══════════════════════════════════════════════════════════
   51b. PAGE CONTACT — FORCER PLEINE LARGEUR
   (le BO met layout-left-column au lieu de layout-full-width)
   ══════════════════════════════════════════════════════════ */

/* Forcer le body à se comporter comme full-width */
body.layout-left-column.page-contact {
    /* Override Hummingbird layout-left-column container behavior */
}

/* Tous les .container et .container-md dans le wrapper doivent
   avoir le même max-width que sur les pages full-width */
body.layout-left-column.page-contact .container,
body.layout-left-column.page-contact .container-md,
body#contact .wrapper .container,
body#contact .breadcrumb__wrapper .container,
body#contact #notifications .container {
    max-width: 1320px !important;
    width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Masquer la colonne gauche sur la page Contact */
.page-contact #left-column,
body#contact #left-column,
.layout-left-column.page-contact #left-column {
    display: none !important;
}

/* Contenu pleine largeur */
.page-contact #content-wrapper,
body#contact #content-wrapper,
.layout-left-column.page-contact #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

/* Supprimer le .row qui wrap left-column + content */
body#contact .wrapper > .container > .row,
body.page-contact .wrapper > .container > .row {
    display: block !important;
}

/* Forcer le formulaire à une largeur raisonnable centré */
.page-contact .contact-form,
body#contact .contact-form {
    max-width: 720px !important;
}

/* Détails contact — intégrer au-dessus du formulaire au lieu de sidebar */
.page-contact .contact__details,
body#contact .contact__details {
    background-color: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    margin-bottom: 24px !important;
    color: #e4e4e7 !important;
}

.page-contact .contact__details .contact__title,
body#contact .contact__details .contact__title {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}

.page-contact .contact__details .contact__info,
body#contact .contact__details .contact__info {
    color: #e4e4e7 !important;
}

.page-contact .contact__details a,
body#contact .contact__details a {
    color: var(--rc-gold) !important;
}

.page-contact .contact__details hr {
    border-color: #27272a !important;
    opacity: 0.5;
}

.page-contact .contact__details i,
.page-contact .contact__details .material-icons {
    color: var(--rc-gold) !important;
}

/* ══════════════════════════════════════════════════════════
   52. PAGES RESTANTES — PASSE EXHAUSTIVE
   ══════════════════════════════════════════════════════════ */

/* ── Page Mon compte ── */
.page-my-account a,
.page-my-account span,
.page-my-account .link-item span,
.page-customer-account a,
.page-customer-account span {
    color: #e4e4e7 !important;
}

.page-my-account .links a .link-item i,
.page-my-account .links a .material-icons {
    color: var(--rc-gold) !important;
}

/* ── Page commandes / historique ── */
.page-order-history p,
.page-order-history span,
.page-order-history td,
.page-order-history a,
.page-order-detail p,
.page-order-detail span,
.page-order-detail td {
    color: #e4e4e7 !important;
}

/* ── Page adresses ── */
.page-addresses p,
.page-addresses span,
.page-addresses .address-body,
.address p, .address span {
    color: #e4e4e7 !important;
}

/* ── Pages formulaires (identité, adresse, etc.) ── */
.page-identity label,
.page-identity p,
.page-identity span,
.page-address label,
.page-address p,
.page-address span,
.page-addresses label,
.page-addresses p,
.page-authentication label,
.page-authentication p,
.page-authentication span {
    color: #fafafa !important;
}
.page-identity .form-text,
.page-address .form-text,
.page-authentication .form-text {
    color: #71717a !important;
}

.page-identity h1, .page-address h1, .page-addresses h1,
.page-order-history h1, .page-order-detail h1 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
    font-size: 26px !important;
}

.page-identity input,
.page-identity select,
.page-identity textarea,
.page-address input,
.page-address select,
.page-authentication input,
.page-authentication select {
    background-color: #111113 !important;
    border: 1px solid #3f3f46 !important;
    color: #fafafa !important;
    font-size: 15px !important;
}

.page-identity input:focus,
.page-address input:focus,
.page-address select:focus,
.page-authentication input:focus {
    border-color: var(--rc-gold) !important;
    box-shadow: 0 0 0 3px rgba(236,191,24,.10) !important;
}

/* ── Account sidebar on ALL sub-pages ── */
.page-address #left-column a,
.page-addresses #left-column a,
.page-identity #left-column a,
.page-order-history #left-column a,
.page-order-detail #left-column a,
.page-order-follow #left-column a,
.page-order-slip #left-column a,
.page-guest-tracking #left-column a {
    color: #a1a1aa !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 14px !important;
    transition: all .2s !important;
    text-decoration: none !important;
    font-family: 'Outfit', sans-serif !important;
    background: transparent !important;
    border: 1px solid transparent !important;
}
.page-address #left-column a:hover,
.page-addresses #left-column a:hover,
.page-identity #left-column a:hover,
.page-order-history #left-column a:hover,
.page-order-detail #left-column a:hover {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.04) !important;
}

/* Active sidebar item on sub-pages */
#left-column a.ac-sidebar-active {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.08) !important;
    border: 1px solid rgba(236,191,24,.25) !important;
    font-weight: 700 !important;
}
#left-column a.ac-sidebar-active i,
#left-column a.ac-sidebar-active .material-icons,
#left-column a.ac-sidebar-active svg {
    color: #ECBF18 !important;
    opacity: 1 !important;
}

/* Left sidebar heading */
.page-address #left-column h2,
.page-addresses #left-column h2,
.page-identity #left-column h2,
.page-order-history #left-column h2 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    margin-bottom: 16px !important;
}

/* ── Page panier ── */
.cart-grid-body p,
.cart-grid-body span,
.cart-grid-body a,
.cart-grid-body td,
.cart-summary-line span,
.cart-summary-line .label,
.cart-summary-line .value {
    color: #e4e4e7 !important;
}

.cart-total .label,
.cart-total .value {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* ── Checkout ── */
.checkout-step p,
.checkout-step span,
.checkout-step a,
.checkout-step td {
    color: #e4e4e7 !important;
}
.checkout-step label {
    color: #fafafa !important;
    font-weight: 600 !important;
}

.checkout-step .step-title {
    color: #ffffff !important;
}

.checkout-step input,
.checkout-step select,
.checkout-step textarea {
    background-color: #111113 !important;
    border: 1px solid #3f3f46 !important;
    color: #fafafa !important;
}

/* ── Pages CMS ── */
.page-cms p,
.page-cms span,
.page-cms li,
.page-cms div,
.page-cms td,
.cms-page-content p,
.cms-page-content span,
.cms-page-content li {
    color: #e4e4e7 !important;
}

.page-cms h1, .page-cms h2, .page-cms h3, .page-cms h4,
.cms-page-content h1, .cms-page-content h2, .cms-page-content h3 {
    color: #ffffff !important;
}

/* ── Tableaux globaux ── */
table th {
    color: #ffffff !important;
    font-weight: 700 !important;
}

table td,
table td a,
table td span {
    color: #e4e4e7 !important;
}

/* ── Alertes / messages ── */
.alert p, .alert span, .alert a, .alert li {
    color: inherit !important;
}

.alert-info p, .alert-info span {
    color: var(--rc-gold-pale) !important;
}

.alert-success p, .alert-success span {
    color: #4ade80 !important;
}

.alert-danger p, .alert-danger span, .alert-warning p, .alert-warning span {
    color: #fca5a5 !important;
}

/* ── Modales ── */
.modal-content p,
.modal-content span,
.modal-content label,
.modal-content a,
.modal-content td {
    color: #e4e4e7 !important;
}

.modal-content h1, .modal-content h2, .modal-content h3,
.modal-content h4, .modal-content h5, .modal-title {
    color: #ffffff !important;
}

/* ── Newsletter ── */
.block_newsletter p,
.block_newsletter span,
.block_newsletter label,
.block_newsletter .newsletter-label,
.block_newsletter input::placeholder {
    color: #e4e4e7 !important;
}

.block_newsletter input[type="email"] {
    color: #e4e4e7 !important;
}

/* ── Recherche ── */
#search_widget input,
.search-widget input,
.header__search input {
    color: #e4e4e7 !important;
}

/* ── Pagination ── */
.pagination .page-link {
    color: #e4e4e7 !important;
}

.pagination .active .page-link {
    color: #09090b !important;
}

/* ── Product listing / catégories ── */
.product-miniature .product-title a,
.product-card .product-title a {
    color: #e4e4e7 !important;
}

.product-miniature .product-title a:hover {
    color: var(--rc-gold) !important;
}

.product-miniature .product-description-short,
.product-card .product-description-short {
    color: #d4d4d8 !important;
}

/* ── Filtres / facettes ── */
.facet-title {
    color: #ffffff !important;
}

.facet-label a,
.facet-label span {
    color: #e4e4e7 !important;
}

/* ── Quantités en stock ── */
.product-availability,
.product-availability span,
#product-availability,
#product-availability span {
    color: #4ade80 !important;
}

.product-availability .product-unavailable,
#product-availability .product-unavailable {
    color: #fca5a5 !important;
}

/* ══════════════════════════════════════════════════════════
   53. PANIER — BADGE COMPTEUR LISIBLE
   ══════════════════════════════════════════════════════════ */

/* Badge nombre d'articles dans le panier */
.cart-products-count,
.blockcart .cart-products-count,
.cart-preview .cart-products-count,
header .cart-products-count,
.header-top .cart-products-count,
.header-nav .cart-products-count,
span.cart-products-count {
    background-color: var(--rc-gold) !important;
    color: #09090b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-width: 20px !important;
    height: 20px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 6px !important;
    line-height: 1 !important;
    border: none !important;
}

/* ══════════════════════════════════════════════════════════
   54. NEWSLETTER — TEXTE LISIBLE (fond clair = texte noir)
   ══════════════════════════════════════════════════════════ */

/* Hummingbird : la section newsletter a un fond clair → texte noir */
.email-subscription,
.email-subscription p,
.email-subscription span,
.email-subscription label,
.email-subscription .email-subscription__label,
.email-subscription .email-subscription__content__infos p,
[id*="newsletter"] p,
[id*="newsletter"] span {
    color: #09090b !important;
}

/* Input email */
.email-subscription input[type="email"],
[id*="newsletter"] input[type="email"] {
    background-color: #0c0c0e !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
    border-radius: 8px !important;
}

.email-subscription input[type="email"]:focus,
[id*="newsletter"] input[type="email"]:focus {
    border-color: var(--rc-gold) !important;
    box-shadow: 0 0 0 3px rgba(236,191,24,.10) !important;
}

.email-subscription input[type="email"]::placeholder,
[id*="newsletter"] input[type="email"]::placeholder {
    color: #71717a !important;
}

/* Bouton S'abonner */
.email-subscription .btn,
[id*="newsletter"] .btn,
[id*="newsletter"] button[type="submit"] {
    background-color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
    color: #09090b !important;
    font-weight: 700 !important;
}

/* ══════════════════════════════════════════════════════════
   55. FICHES PRODUITS LISTING — DARK MODE COMPLET
   ══════════════════════════════════════════════════════════ */

/* ── Carte produit : tout en dark ── */
.product-miniature,
.js-product-miniature,
.product-card,
article.product-miniature,
.products .product-miniature,
.featured-products .product-miniature,
.product-miniature .card,
.product-miniature .product-card-body,
.product-miniature .card-body,
.product-miniature .card-footer,
.product-miniature > .card,
.product-miniature .thumbnail-container,
.product-miniature .product-description {
    background-color: #111113 !important;
    background: #111113 !important;
    border-color: #27272a !important;
    color: #e4e4e7 !important;
}

/* Tous les enfants sauf images — forcer fond sombre */
.product-miniature *:not(img):not(svg):not(path):not(picture):not(source),
.js-product-miniature *:not(img):not(svg):not(path):not(picture):not(source) {
    background-color: transparent !important;
    background: transparent !important;
}

/* Texte par défaut des cartes en clair (sauf liens et boutons) */
.product-miniature p,
.product-miniature span,
.product-miniature div,
.product-miniature dd,
.product-miniature dt,
.js-product-miniature p,
.js-product-miniature span,
.js-product-miniature div {
    color: #e4e4e7 !important;
}

/* Remettre le fond sur la carte elle-même */
.product-miniature,
.js-product-miniature,
article.product-miniature {
    background-color: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: all .3s ease !important;
}

.product-miniature:hover,
.js-product-miniature:hover {
    border-color: rgba(236,191,24,.25) !important;
    box-shadow: 0 8px 32px rgba(236,191,24,.08) !important;
    transform: translateY(-2px) !important;
}

/* Image container */
.product-miniature .thumbnail-top,
.product-miniature .product-image,
.product-miniature .thumbnail-container,
.product-miniature .product__card-img {
    background-color: #111113 !important;
}

/* Titre produit */
.product-miniature .product-title,
.product-miniature .product-title a,
.product-miniature h3,
.product-miniature h3 a,
.product-miniature .product-name,
.product-miniature .product-name a {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

.product-miniature .product-title a:hover,
.product-miniature h3 a:hover {
    color: var(--rc-gold) !important;
}

/* Description courte */
.product-miniature .product-description-short,
.product-miniature .product-desc {
    color: #a1a1aa !important;
}

/* Prix */
.product-miniature .price,
.product-miniature .product-price,
.product-miniature .product-price-and-shipping .price,
.product-miniature span.price {
    color: var(--rc-gold) !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

.product-miniature .regular-price {
    color: #71717a !important;
    text-decoration: line-through !important;
}

/* ── Boutons quantité + panier dans les cartes ── */
.product-miniature .product-quantity,
.product-miniature .product-add-to-cart,
.product-miniature .product-actions,
.product-miniature .card-footer,
.product-miniature .product__card-footer {
    background-color: #111113 !important;
    border-top: 1px solid #1e1e21 !important;
    padding: 12px !important;
}

/* Input quantité */
.product-miniature .input-group,
.product-miniature .qty .input-group {
    border: 1px solid #27272a !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #0c0c0e !important;
}

.product-miniature .input-group input,
.product-miniature .qty input,
.product-miniature input[name="qty"] {
    background-color: #18181b !important;
    color: #e4e4e7 !important;
    border: none !important;
    text-align: center !important;
    font-weight: 700 !important;
}

.product-miniature .input-group .btn,
.product-miniature .input-group button,
.product-miniature .qty .btn,
.product-miniature .qty button {
    background-color: #18181b !important;
    color: #a1a1aa !important;
    border: none !important;
}

.product-miniature .input-group .btn:hover,
.product-miniature .input-group button:hover {
    color: var(--rc-gold) !important;
}

/* Bouton ajouter au panier mini */
.product-miniature .add-to-cart,
.product-miniature .ajax_add_to_cart_button,
.product-miniature button[data-button-action="add-to-cart"],
.product-miniature .btn-primary {
    background-color: var(--rc-gold) !important;
    color: #09090b !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    padding: 10px 16px !important;
}

.product-miniature .add-to-cart:hover,
.product-miniature button[data-button-action="add-to-cart"]:hover {
    background-color: #f0c820 !important;
    box-shadow: 0 4px 16px rgba(236,191,24,.3) !important;
}

.product-miniature .add-to-cart i,
.product-miniature .add-to-cart svg,
.product-miniature .add-to-cart .material-icons,
.product-miniature button[data-button-action="add-to-cart"] i {
    color: #09090b !important;
}

/* Wishlist coeur */
.product-miniature .wishlist-button-add,
.product-miniature .wishlist-button-add i,
.product-miniature .wishlist-button-add svg {
    color: #a1a1aa !important;
    background: rgba(0,0,0,.4) !important;
    border-radius: 50% !important;
}

.product-miniature .wishlist-button-add:hover,
.product-miniature .wishlist-button-add:hover i {
    color: var(--rc-gold) !important;
}

/* ── Flags / badges sur les cartes ── */
.product-miniature .product-flag,
.product-miniature .product-flags li {
    background-color: var(--rc-gold) !important;
    color: #09090b !important;
}

/* ══════════════════════════════════════════════════════════
   56. PAGE PANIER — DARK MODE COMPLET
   ══════════════════════════════════════════════════════════ */

/* Container panier */
.cart-grid,
.page-cart #content,
.page-cart .page-content,
.cart-container {
    background-color: var(--rc-bg) !important;
}

/* Lignes d'articles */
.cart-item,
.cart-items .cart-item,
.cart-grid-body .cart-item,
.cart-overview .cart-item {
    background-color: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
}

/* Nom du produit dans le panier */
.cart-item .product-line-info a,
.cart-item .product-line-info .label,
.cart-item .cart-product-line__name a {
    color: #ffffff !important;
    font-weight: 600 !important;
}

.cart-item .product-line-info a:hover {
    color: var(--rc-gold) !important;
}

/* Détails produit dans le panier */
.cart-item .product-line-info span,
.cart-item .product-line-info p,
.cart-item .product-line-info .value {
    color: #e4e4e7 !important;
}

/* Prix dans le panier */
.cart-item .product-price,
.cart-item .price,
.cart-item .cart-product-line__price {
    color: var(--rc-gold) !important;
    font-weight: 700 !important;
}

/* Quantité dans le panier */
.cart-item .qty input,
.cart-item input[name="product-quantity-spin"],
.cart-item .input-group input {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
    border-radius: 6px !important;
    text-align: center !important;
}

.cart-item .input-group .btn,
.cart-item .input-group button,
.cart-item .qty .btn {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #a1a1aa !important;
}

.cart-item .input-group .btn:hover {
    color: var(--rc-gold) !important;
    border-color: var(--rc-gold) !important;
}

/* Supprimer un article */
.cart-item .remove-from-cart,
.cart-item .cart-line-product-actions a,
.cart-item a[data-link-action="delete-from-cart"] {
    color: #71717a !important;
}

.cart-item .remove-from-cart:hover,
.cart-item a[data-link-action="delete-from-cart"]:hover {
    color: #ef4444 !important;
}

/* ── Résumé panier (colonne droite) ── */
.cart-summary,
.cart-grid-right .card,
.cart-detailed-totals,
.cart-summary-totals,
.block-promo {
    background-color: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
}

.cart-summary-line,
.cart-detailed-totals .cart-summary-line {
    color: #e4e4e7 !important;
    border-bottom: 1px solid #1e1e21 !important;
    padding: 12px 0 !important;
}

.cart-summary-line .label {
    color: #e4e4e7 !important;
}

.cart-summary-line .value {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Total */
.cart-total .label,
.cart-summary-totals .cart-total .label {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

.cart-total .value,
.cart-summary-totals .cart-total .value {
    color: var(--rc-gold) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
}

/* Code promo */
.block-promo input,
.promo-code input {
    background-color: #0c0c0e !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
}

.block-promo .btn,
.promo-code .btn {
    background-color: var(--rc-gold) !important;
    color: #09090b !important;
}

/* Bouton Commander */
.cart-detailed-actions .btn-primary,
.cart-grid-right .btn-primary,
a[href*="order"] .btn-primary,
.checkout .btn-primary {
    background-color: var(--rc-gold) !important;
    color: #09090b !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    padding: 16px 32px !important;
    width: 100% !important;
    border-radius: 8px !important;
}

/* Continuer les achats */
.cart-grid-body a[href*="continue"],
a.label[href] {
    color: var(--rc-gold) !important;
}

/* ══════════════════════════════════════════════════════════
   57. CATÉGORIE — SIDEBAR MENU LISIBLE
   ══════════════════════════════════════════════════════════ */

/* Sidebar gauche catégories */
#left-column a,
#left-column li a,
.block-categories a,
.block-categories li a,
.category-sub-menu a {
    color: #e4e4e7 !important;
}

#left-column a:hover,
.block-categories a:hover {
    color: var(--rc-gold) !important;
}

.block-categories .category-sub-menu .current a,
.block-categories .current > a {
    color: var(--rc-gold) !important;
    font-weight: 700 !important;
}

/* Sidebar category links — remove Hummingbird native gold borders */
#left-column a,
.block-categories a,
.category-sub-menu a {
    border: none !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
#left-column .block-categories .category-top-menu > li > a,
#left-column .block-categories .category-sub-menu li a {
    border: none !important;
    padding: 6px 8px !important;
    border-radius: 6px !important;
}
#left-column .block-categories .category-top-menu > li > a:hover,
#left-column .block-categories .category-sub-menu li a:hover {
    background: rgba(236,191,24,.06) !important;
}
#left-column .block-categories .current > a,
#left-column .block-categories .category-sub-menu .current a {
    background: rgba(236,191,24,.08) !important;
    border: none !important;
}

/* Bloc catégorie header */
.block-category,
#category-description {
    background-color: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    padding: 28px !important;
}

.block-category h1,
.block-category .h1 {
    color: #ffffff !important;
}

.block-category p,
.block-category #category-description p {
    color: #e4e4e7 !important;
}

/* Nombre de produits + tri */
.products-sort-order .select-title,
.sort-by-row,
.total-products p,
.showing {
    color: #e4e4e7 !important;
}

.products-sort-order select,
.sort-by-row select {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
    border-radius: 8px !important;
}

/* ══════════════════════════════════════════════════════════
   58. PANIER BADGE — FORCE DORÉ (nuclear option)
   ══════════════════════════════════════════════════════════ */

/* Ciblage ultra-spécifique pour écraser tout */
html body header .cart-products-count,
html body header span.cart-products-count,
html body .header-top .cart-products-count,
html body .header-top span.cart-products-count,
html body .header-nav .cart-products-count,
html body .blockcart .cart-products-count,
html body .blockcart span.cart-products-count,
html body .cart-preview .cart-products-count,
html body .cart-preview span.cart-products-count,
html body #header .cart-products-count,
html body #header span.cart-products-count,
html body [class*="cart"] .cart-products-count,
html body [class*="cart"] span.cart-products-count,
span.cart-products-count,
.cart-products-count {
    background-color: #ECBF18 !important;
    background: #ECBF18 !important;
    color: #09090b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-width: 20px !important;
    height: 20px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 6px !important;
    line-height: 1 !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

/* ══════════════════════════════════════════════════════════
   59. PANIER BADGE — CIBLAGE EXACT HUMMINGBIRD
   ══════════════════════════════════════════════════════════ */

.header-block__badge,
span.header-block__badge,
a .header-block__badge,
header .header-block__badge,
.header-top .header-block__badge,
.header-block__action-btn .header-block__badge {
    background-color: #ECBF18 !important;
    background: #ECBF18 !important;
    color: #09090b !important;
    font-weight: 800 !important;
    border: none !important;
    border-radius: 10px !important;
    min-width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 6px !important;
}

/* ══════════════════════════════════════════════════════════
   60. CARTES PRODUIT — FIX CHEVAUCHEMENT TITRE / APERÇU
   ══════════════════════════════════════════════════════════ */

/* Titre produit dans la carte */
.product-miniature .product-title,
.product-miniature h3,
.product-miniature .product-name {
    display: block !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
}

/* Aperçu rapide — désactivé */
.product-miniature .quick-view,
.product-miniature .product-miniature__quick-view,
.product-miniature [data-link-action="quickview"],
.product-miniature a.quick-view {
    display: none !important;
    visibility: hidden !important;
}

/* Container description dans la carte — empiler verticalement */
.product-miniature .product-description,
.product-miniature .product__card-body,
.product-miniature .card-body,
.product-miniature .product-card-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 16px !important;
    flex: 1 1 auto !important;
}

/* Harmonisation verticale des cartes produit */
#js-product-list .products.row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}
#js-product-list .products.row > article.product-miniature {
    display: flex !important;
}
#js-product-list .products.row > article.product-miniature > .card {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
}
#js-product-list article.product-miniature .product-miniature__infos.card-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
#js-product-list article.product-miniature .product-miniature__infos__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    flex: 1 1 auto !important;
}
/* Pousser les prix ET le badge devis vers le bas */
#js-product-list article.product-miniature .product-miniature__prices {
    margin-top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    padding-top: 12px !important;
}
#js-product-list article.ac-product-devis .ac-devis-label {
    margin-top: auto !important;
    align-self: center !important;
    padding-top: 0 !important;
}

/* Prix — espace au-dessus */
.product-miniature .product-price-and-shipping,
.product-miniature .price {
    margin-top: 8px !important;
    padding-top: 8px !important;
}

/* Footer carte (quantité + bouton) — espace au-dessus */
.product-miniature .product-card-bottom,
.product-miniature .card-footer,
.product-miniature .product__card-footer,
.product-miniature .product-actions {
    margin-top: auto !important;
    padding-top: 12px !important;
}

/* ══════════════════════════════════════════════════════════
   61. APERÇU RAPIDE — CACHER OU REPOSITIONNER
   Le quickview se superpose au titre, on le place proprement
   ══════════════════════════════════════════════════════════ */

/* Masquer complètement l'aperçu rapide */
.product-miniature .quick-view,
.product-miniature .product-miniature__quick-view,
.product-miniature [data-link-action="quickview"],
.product-miniature a.quick-view,
.product-miniature .product__card-quickview {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* ══════════════════════════════════════════════════════════
   62. PAGE CONTACTEZ-NOUS — FOND DARK + HEADER NORMAL
   ══════════════════════════════════════════════════════════ */

/* Force le fond dark sur la page contact */
.page-contact,
.page-contact #wrapper,
.page-contact #content-wrapper,
.page-contact #main,
.page-contact main,
.page-contact .page-content,
.page-contact #content,
body#contact #wrapper,
body#contact #content-wrapper,
body#contact main {
    background-color: #09090b !important;
    background: #09090b !important;
}

/* Reset du header sur la page contact — même taille que partout */
.page-contact header,
.page-contact #header,
.page-contact .header-top,
.page-contact .header__nav,
.page-contact .header-bottom {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    font-size: inherit !important;
}

.page-contact .header__nav > .container,
.page-contact .header-bottom > .container,
.page-contact .header-top > .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* Titre page contact */
.page-contact h1,
.page-contact .page-heading {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 28px !important;
}

/* Formulaire contact — fond dark */
.page-contact form,
.page-contact .contact-form,
.page-contact .form-fields,
.page-contact fieldset {
    background-color: #111113 !important;
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    padding: 28px !important;
    color: #e4e4e7 !important;
}

/* Tous les éléments du formulaire en dark */
.page-contact input,
.page-contact textarea,
.page-contact select,
.page-contact .form-control,
.page-contact .form-select {
    background-color: #0c0c0e !important;
    background: #0c0c0e !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
    border-radius: 8px !important;
}

.page-contact input:focus,
.page-contact textarea:focus,
.page-contact select:focus {
    border-color: #ECBF18 !important;
    box-shadow: 0 0 0 3px rgba(236,191,24,.10) !important;
}

.page-contact label {
    color: #e4e4e7 !important;
    font-weight: 600 !important;
}

.page-contact p,
.page-contact span,
.page-contact div {
    color: #e4e4e7 !important;
}

/* Bouton envoyer */
.page-contact .btn-primary,
.page-contact button[type="submit"],
.page-contact input[type="submit"] {
    background-color: #ECBF18 !important;
    color: #09090b !important;
    font-weight: 700 !important;
    border: none !important;
}

/* Bloc infos à gauche */
.page-contact .contact-rich,
.page-contact .block-contact {
    background-color: #111113 !important;
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    padding: 24px !important;
}

.page-contact .contact-rich *,
.page-contact .block-contact * {
    color: #e4e4e7 !important;
}

.page-contact .contact-rich h4,
.page-contact .contact-rich .h4 {
    color: #ffffff !important;
}

.page-contact .contact-rich i,
.page-contact .contact-rich .material-icons {
    color: #ECBF18 !important;
}

/* Barre de recherche sur la page contact — même style */
.page-contact .search-widget input,
.page-contact .header__search input,
.page-contact #search_widget input {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
    font-size: 14px !important;
}

/* Container principal — pas de fond blanc qui traine */
.page-contact .container,
.page-contact .page-wrapper,
.page-contact #wrapper > .container {
    background-color: transparent !important;
    background: transparent !important;
}

/* Colonnes */
.page-contact #left-column,
.page-contact #right-column,
.page-contact #content {
    background-color: transparent !important;
    background: transparent !important;
}

/* ══════════════════════════════════════════════════════════
   63. HEADER + RECHERCHE — UNIFORMES SUR TOUTES LES PAGES
   ══════════════════════════════════════════════════════════ */

/* Search widget — taille fixe partout */
.search-widget form,
#search_widget form,
.header__search form {
    max-width: 280px !important;
    width: 280px !important;
}

.search-widget input[type="text"],
#search_widget input[type="text"],
.header__search input[type="text"],
.search-widget input[type="search"],
#search_widget input[type="search"],
.header__search input[type="search"] {
    height: 42px !important;
    font-size: 14px !important;
    padding: 8px 14px 8px 40px !important;
    border-radius: 8px !important;
    width: 100% !important;
    max-width: 280px !important;
}

.search-widget button,
#search_widget button,
.header__search button {
    height: 42px !important;
    width: 42px !important;
}

/* Nav container — même max-width partout */
header .container,
header .container-fluid,
header .container-lg,
header .container-xl,
.header-top .container,
.header-top .container-fluid,
.header__nav .container,
.header__nav .container-fluid,
.header-bottom .container,
.header-bottom .container-fluid,
#header .container,
#header .container-fluid {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* Header full-width background mais contenu centré */
header,
#header,
.header-top,
.header__nav,
.header-bottom {
    width: 100% !important;
    max-width: 100% !important;
}

/* ── Fix spécifique page contact — fond sous le breadcrumb ── */
.page-contact .breadcrumb,
.page-contact nav[aria-label="breadcrumb"],
.page-contact .breadcrumb__container {
    background-color: #09090b !important;
    background: #09090b !important;
}

/* Tout ce qui est entre le header et le footer sur la page contact */
.page-contact #wrapper,
.page-contact #wrapper > .container,
.page-contact #wrapper > .container-fluid,
.page-contact .page-wrapper,
.page-contact .page-content,
.page-contact #columns,
.page-contact .row {
    background-color: #09090b !important;
    background: #09090b !important;
}

/* ══════════════════════════════════════════════════════════
   64. HEADER — FIX CONTAINER-MD (classe Hummingbird)
   Hummingbird utilise .container-md, pas .container
   ══════════════════════════════════════════════════════════ */

/* Force tous les container-md du header à la même largeur */
header .container-md,
#header .container-md,
.header-top .container-md,
.header-bottom .container-md,
.header__nav .container-md,
nav.header-top .container-md,
nav.header-top > .container-md,
.header-bottom > .container-md,
.header-bottom .header-bottom__container,
/* Override spécifique layout-left-column (page Contact) */
body.layout-left-column header .container-md,
body.layout-left-column #header .container-md,
body.layout-left-column .header-top .container-md,
body.layout-left-column .header-bottom .container-md,
body.layout-left-column .header-bottom .header-bottom__container,
body#contact header .container-md,
body#contact #header .container-md,
body#contact .header-top .container-md,
body#contact .header-bottom .container-md,
body#contact .header-bottom .header-bottom__container {
    max-width: 1320px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

/* Search widget — taille cohérente */
#_desktop_search,
.header-bottom #_desktop_search {
    max-width: 280px !important;
    flex-shrink: 0 !important;
}

#search_widget,
.search-widgets {
    width: 280px !important;
    max-width: 280px !important;
}

#search_widget input[type="search"],
.search-widgets input[type="search"],
.js-search-input {
    width: 100% !important;
    max-width: 280px !important;
    height: 42px !important;
    font-size: 14px !important;
}

/* ══════════════════════════════════════════════════════════
   OVERRIDE FINAL — Newsletter texte noir (fond clair)
   ══════════════════════════════════════════════════════════ */
body .email-subscription,
body .email-subscription p,
body .email-subscription span,
body .email-subscription label,
body .email-subscription .email-subscription__label,
body .email-subscription .email-subscription__content__infos p,
body [id*="newsletter"].email-subscription__label,
body p[id*="newsletter"],
.footer__before .email-subscription p,
.footer__before .email-subscription span,
.footer__before .email-subscription label,
.footer__before .email-subscription .email-subscription__label {
    color: #09090b !important;
}

/* ══════════════════════════════════════════════════════════
   70. HOMEPAGE — CUSTOM LANDING (Injected by JS)
   Hero · Stats · Cibles · Réassurance
   ══════════════════════════════════════════════════════════ */

/* ── Hide ALL native homepage content when custom homepage is injected ── */
body.page-index #content-wrapper,
body.page-index #content,
body.page-index .carousel,
body.page-index .featured-products,
body.page-index .product-accessories,
body.page-index .new-products,
body.page-index .special-products,
body.page-index #carousel,
body.page-index [id^="homeslider"],
body.page-index .elementor-section {
    display: none !important;
}

/* ── Container ── */
.ac-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

/* ══════════════════════════════
   HERO
   ══════════════════════════════ */
.ac-hero {
    position: relative;
    overflow: hidden;
    padding: 80px 0 60px;
    min-height: 520px;
    display: flex;
    align-items: center;
}

.ac-hero__bg-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(236,191,24,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(236,191,24,.03) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, black 30%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, black 30%, transparent 70%);
    pointer-events: none;
}

.ac-hero__glow {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 700px;
    height: 500px;
    background: radial-gradient(ellipse at center, rgba(236,191,24,.07) 0%, transparent 65%);
    pointer-events: none;
}

.ac-hero .ac-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: center;
}

.ac-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background: rgba(236,191,24,.08);
    border: 1px solid rgba(236,191,24,.15);
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rc-gold);
    margin-bottom: 24px;
}

.ac-hero__badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rc-gold);
    animation: ac-pulse 2s ease-in-out infinite;
}

@keyframes ac-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .4; }
}

.ac-hero__title {
    font-size: 44px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    color: var(--rc-text) !important;
    margin: 0 0 20px !important;
    letter-spacing: -.02em;
}

.ac-hero__title-accent {
    color: var(--rc-gold) !important;
    display: inline;
}

.ac-hero__subtitle {
    font-size: 17px;
    line-height: 1.7;
    color: var(--rc-text-secondary);
    margin: 0 0 32px;
    max-width: 520px;
}

.ac-hero__ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* ── Buttons ── */
.ac-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 10px;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    transition: all .25s ease;
    border: none;
    line-height: 1.3;
}

.ac-btn--primary {
    background: var(--rc-gold);
    color: var(--rc-bg) !important;
    box-shadow: 0 4px 24px rgba(236,191,24,.25);
}
.ac-btn--primary:hover {
    background: #f0c820;
    color: var(--rc-bg) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(236,191,24,.35);
}

.ac-btn--ghost {
    background: transparent;
    border: 1px solid var(--rc-border);
    color: var(--rc-text-secondary) !important;
}
.ac-btn--ghost:hover {
    border-color: rgba(236,191,24,.3);
    color: var(--rc-gold) !important;
    background: rgba(236,191,24,.04);
}

/* ── Hero visual card ── */
.ac-hero__visual {
    display: flex;
    justify-content: center;
}

.ac-hero__visual-card {
    background: var(--rc-bg-card);
    border: 1px solid var(--rc-border);
    border-radius: 16px;
    padding: 32px;
    width: 100%;
    max-width: 340px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.ac-hero__visual-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--rc-gold), rgba(236,191,24,.2));
}

.ac-hero__visual-icon {
    margin-bottom: 20px;
}

.ac-hero__visual-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--rc-text);
    margin-bottom: 6px;
}

.ac-hero__visual-sub {
    font-size: 13px;
    color: var(--rc-text-muted);
    margin-bottom: 20px;
}

.ac-hero__visual-bar {
    height: 8px;
    background: var(--rc-bg-elevated);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 8px;
}
.ac-hero__visual-bar-fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--rc-gold), #f0c820);
    border-radius: 10px;
    animation: ac-bar-fill 2s ease-out 0.5s forwards;
}
@keyframes ac-bar-fill {
    to { width: 100%; }
}
.ac-hero__visual-bar-text {
    font-size: 11px;
    color: var(--rc-text-muted);
}

/* ══════════════════════════════
   STATS
   ══════════════════════════════ */
.ac-stats {
    padding: 0;
    margin: -20px 0 0;
    position: relative;
    z-index: 3;
}

.ac-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--rc-bg-card);
    border: 1px solid var(--rc-border);
    border-radius: 16px;
    overflow: hidden;
}

.ac-stat {
    padding: 28px 24px;
    text-align: center;
    position: relative;
}
.ac-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 20%;
    right: 0;
    height: 60%;
    width: 1px;
    background: var(--rc-border);
}

.ac-stat__value {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    margin-bottom: 6px;
}

.ac-stat__number {
    font-size: 36px;
    font-weight: 800;
    color: var(--rc-gold);
    font-family: 'Outfit', sans-serif;
    line-height: 1;
}

.ac-stat__suffix {
    font-size: 22px;
    font-weight: 700;
    color: var(--rc-gold);
}

.ac-stat__label {
    font-size: 13px;
    color: var(--rc-text-muted);
    line-height: 1.4;
}

/* ══════════════════════════════
   TARGETS (3 cartes cibles)
   ══════════════════════════════ */
.ac-targets {
    padding: 80px 0;
}

.ac-section-header {
    text-align: center;
    margin-bottom: 48px;
}

.ac-section-title {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--rc-text) !important;
    margin: 0 0 12px !important;
}

.ac-section-subtitle {
    font-size: 16px;
    color: var(--rc-text-secondary);
    margin: 0;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.ac-targets__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.ac-target {
    background: var(--rc-bg-card);
    border: 1px solid var(--rc-border);
    border-radius: 16px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    transition: border-color .3s, transform .3s, box-shadow .3s;
    position: relative;
    overflow: hidden;
}

.ac-target--new {
    border-color: rgba(236,191,24,.2);
}
.ac-target__badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(236,191,24,.12);
    color: #ECBF18;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    letter-spacing: .04em;
    font-family: 'Outfit', sans-serif;
}
/* ── Bientôt disponible (disabled cards) ── */
.ac-target--disabled {
    opacity: .45;
    pointer-events: none;
    filter: grayscale(.5);
    border-color: rgba(255,255,255,.06);
}
.ac-target--disabled:hover {
    transform: none;
    box-shadow: none;
    border-color: rgba(255,255,255,.06);
}
.ac-target__badge--soon {
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.5);
}
.ac-target__cta--disabled {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: rgba(255,255,255,.3) !important;
    cursor: default;
    font-family: 'Outfit', sans-serif;
}
.ac-target::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--rc-gold), transparent);
    opacity: 0;
    transition: opacity .3s;
}
.ac-target:hover {
    border-color: rgba(236,191,24,.25);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(236,191,24,.08);
}
.ac-target:hover::before {
    opacity: 1;
}

.ac-target__icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(236,191,24,.06);
    border: 1px solid rgba(236,191,24,.12);
    border-radius: 12px;
    margin-bottom: 20px;
}

.ac-target__tag {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--rc-gold);
    margin-bottom: 8px;
}

.ac-target__title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--rc-text) !important;
    margin: 0 0 12px !important;
}

.ac-target__text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rc-text-secondary);
    margin: 0 0 24px;
    flex: 1;
}

.ac-target__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rc-gold) !important;
    text-decoration: none !important;
    transition: gap .2s, color .2s;
}
.ac-target__cta:hover {
    gap: 10px;
    color: var(--rc-gold-pale) !important;
}

/* ══════════════════════════════
   CARROUSEL TÉMOIGNAGES
   ══════════════════════════════ */
.ac-reviews {
    padding: 60px 0 50px;
    border-top: 1px solid var(--rc-border);
    overflow: hidden;
}
.ac-reviews-track {
    display: flex;
    gap: 20px;
    transition: transform .5s cubic-bezier(.25,.8,.25,1);
    will-change: transform;
}
.ac-review-card {
    flex: 0 0 340px;
    background: var(--rc-bg-card);
    border: 1px solid var(--rc-border);
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ac-review-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ac-review-stars {
    display: flex;
    gap: 2px;
}
.ac-review-badge {
    font-size: 11px;
    font-weight: 600;
    color: var(--rc-gold);
    background: rgba(236,191,24,.08);
    border: 1px solid rgba(236,191,24,.15);
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: .02em;
}
.ac-review-text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rc-text-secondary);
    flex: 1;
}
.ac-review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--rc-border);
}
.ac-review-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rc-gold);
    color: #09090b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    font-family: 'Outfit', sans-serif;
}
.ac-review-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--rc-text);
}
.ac-review-role {
    font-size: 12px;
    color: var(--rc-text-muted);
}
.ac-reviews-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 28px;
}
.ac-reviews-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--rc-border);
    background: transparent;
    color: var(--rc-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s;
}
.ac-reviews-btn:hover {
    border-color: var(--rc-gold);
    color: var(--rc-gold);
}
.ac-reviews-dots {
    display: flex;
    gap: 8px;
}
.ac-rev-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: var(--rc-border);
    cursor: pointer;
    padding: 0;
    transition: all .2s;
}
.ac-rev-dot.active {
    background: var(--rc-gold);
    width: 24px;
    border-radius: 4px;
}
@media (max-width: 767px) {
    .ac-review-card {
        flex: 0 0 280px;
        padding: 20px;
    }
    .ac-reviews {
        padding: 40px 0 30px;
    }
}

/* ══════════════════════════════
   RÉASSURANCE
   ══════════════════════════════ */
.ac-reassurance {
    padding: 60px 0 80px;
    border-top: 1px solid var(--rc-border);
}

.ac-reassurance__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.ac-reassure {
    text-align: center;
    padding: 24px 20px;
}

.ac-reassure__icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(236,191,24,.06);
    border: 1px solid rgba(236,191,24,.1);
    border-radius: 14px;
    margin: 0 auto 16px;
}

.ac-reassure__title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--rc-text) !important;
    margin: 0 0 8px !important;
}

.ac-reassure__text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rc-text-muted);
    margin: 0;
}

/* ══════════════════════════════
   SCROLL REVEAL ANIMATION
   ══════════════════════════════ */
.ac-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .5s ease, transform .5s ease;
}
.ac-reveal--visible {
    opacity: 1;
    transform: translateY(0);
}

/* ══════════════════════════════
   HOMEPAGE RESPONSIVE
   ══════════════════════════════ */
@media (max-width: 991.98px) {
    .ac-hero .ac-container {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .ac-hero__title {
        font-size: 34px !important;
    }

    .ac-hero__subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    .ac-hero__ctas {
        justify-content: center;
    }

    .ac-hero__visual {
        order: -1;
    }
    .ac-hero__visual-card {
        max-width: 300px;
        margin: 0 auto;
    }

    .ac-hero {
        padding: 50px 0 40px;
        min-height: auto;
    }

    .ac-stats__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ac-stat:nth-child(2)::after {
        display: none;
    }
    .ac-stat:nth-child(1)::after,
    .ac-stat:nth-child(3)::after {
        height: 60%;
    }
    .ac-stat:nth-child(1),
    .ac-stat:nth-child(2) {
        border-bottom: 1px solid var(--rc-border);
    }

    .ac-targets__grid {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
    }

    .ac-reassurance__grid {
        grid-template-columns: 1fr;
        max-width: 440px;
        margin: 0 auto;
    }

    .ac-section-title {
        font-size: 26px !important;
    }
}

@media (max-width: 575.98px) {
    .ac-container {
        padding: 0 16px;
    }

    .ac-hero__title {
        font-size: 28px !important;
    }
    .ac-hero__subtitle {
        font-size: 15px;
    }

    .ac-hero__ctas {
        flex-direction: column;
        align-items: center;
    }
    .ac-btn {
        width: 100%;
        justify-content: center;
        max-width: 320px;
    }

    .ac-stats__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ac-stat {
        padding: 20px 12px;
    }
    .ac-stat__number {
        font-size: 28px;
    }
    .ac-stat__suffix {
        font-size: 18px;
    }
    .ac-stat__label {
        font-size: 12px;
    }

    .ac-targets {
        padding: 50px 0;
    }

    .ac-target {
        padding: 24px 20px;
    }

    .ac-reassurance {
        padding: 40px 0 60px;
    }
}

/* ══════════════════════════════════════════════════════════
   71. HOMEPAGE — BOUTONS CTA FORCE COULEURS
   Fix: PrestaShop/Hummingbird écrase les couleurs des <a>
   ══════════════════════════════════════════════════════════ */
#ac-homepage .ac-btn--primary,
.ac-hero .ac-btn--primary,
body.page-index .ac-btn--primary,
a.ac-btn--primary,
a.ac-btn.ac-btn--primary {
    background-color: #ECBF18 !important;
    background: #ECBF18 !important;
    color: #09090b !important;
    border: none !important;
    box-shadow: 0 4px 24px rgba(236,191,24,.25) !important;
    text-decoration: none !important;
}
#ac-homepage .ac-btn--primary:hover,
.ac-hero .ac-btn--primary:hover,
body.page-index .ac-btn--primary:hover,
a.ac-btn--primary:hover {
    background-color: #f0c820 !important;
    background: #f0c820 !important;
    color: #09090b !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(236,191,24,.35) !important;
}

#ac-homepage .ac-btn--ghost,
.ac-hero .ac-btn--ghost,
body.page-index .ac-btn--ghost,
a.ac-btn--ghost,
a.ac-btn.ac-btn--ghost {
    background: transparent !important;
    border: 1px solid #27272a !important;
    color: #a1a1aa !important;
    text-decoration: none !important;
}
#ac-homepage .ac-btn--ghost:hover,
body.page-index .ac-btn--ghost:hover,
a.ac-btn--ghost:hover {
    border-color: rgba(236,191,24,.3) !important;
    color: #ECBF18 !important;
    background: rgba(236,191,24,.04) !important;
}

/* CTA dans les cartes cibles */
#ac-homepage .ac-target__cta,
body.page-index .ac-target__cta,
a.ac-target__cta {
    color: #ECBF18 !important;
    text-decoration: none !important;
}
#ac-homepage .ac-target__cta:hover,
a.ac-target__cta:hover {
    color: #f5dfa0 !important;
}

/* ══════════════════════════════════════════════════════════
   72. MASQUER LA NEWSLETTER (bandeau en bas)
   ══════════════════════════════════════════════════════════ */
.email-subscription,
.footer__before,
.block_newsletter,
.newsletter-section,
#blockEmailSubscription_displayFooterBefore,
[id*="emailsubscription"],
.ps-emailsubscription,
section.email-subscription,
.footer__before .email-subscription {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* ══════════════════════════════════════════════════════════
   73. HEADER BRAND NAME — RESPONSIVE
   ══════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
    .ac-brand-name {
        font-size: 15px !important;
    }
    .ac-brand-name span {
        font-size: 10px !important;
    }
    .header__logo img,
    .header-logo img,
    #header .logo img {
        max-height: 36px;
    }
}

@media (max-width: 479.98px) {
    .ac-brand-name {
        font-size: 14px !important;
    }
    .header__logo img,
    .header-logo img,
    #header .logo img {
        max-height: 32px;
    }
}

/* ══════════════════════════════════════════════════════════
   74. MOBILE MENU DRAWER — FULL RESTYLE
   Offcanvas / hamburger menu for Hummingbird PS9
   ══════════════════════════════════════════════════════════ */

/* ── Offcanvas drawer ── */
.offcanvas,
.offcanvas-start,
.offcanvas-end,
#mobile_top_menu_wrapper,
.js-top-menu-bottom {
    background-color: var(--rc-bg) !important;
    border-right: 1px solid var(--rc-border) !important;
    color: var(--rc-text) !important;
    font-family: 'Outfit', sans-serif !important;
    width: 300px !important;
    max-width: 85vw !important;
}

/* ── Drawer header ── */
.offcanvas-header,
.offcanvas .offcanvas-header {
    background-color: var(--rc-bg-card) !important;
    border-bottom: 1px solid var(--rc-border) !important;
    padding: 16px 20px !important;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Close button */
.offcanvas .btn-close,
.offcanvas-header .btn-close {
    filter: invert(1) !important;
    opacity: .6;
    transition: opacity .2s;
    margin: 0 !important;
    padding: 8px !important;
}
.offcanvas .btn-close:hover {
    opacity: 1;
}

/* ── Menu body ── */
.offcanvas-body,
.offcanvas .offcanvas-body {
    padding: 12px 0 !important;
    background-color: var(--rc-bg) !important;
}

/* ── Menu links ── */
.offcanvas a,
.offcanvas .top-menu a,
.offcanvas li a,
#mobile_top_menu_wrapper a,
#mobile_top_menu_wrapper li a,
.js-top-menu-bottom a,
.offcanvas-body a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 24px !important;
    color: var(--rc-text-secondary) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: 'Outfit', sans-serif !important;
    text-decoration: none !important;
    border: none !important;
    border-bottom: none !important;
    transition: all .2s ease !important;
    background: transparent !important;
}

.offcanvas a:hover,
.offcanvas .top-menu a:hover,
#mobile_top_menu_wrapper a:hover,
.offcanvas-body a:hover {
    color: var(--rc-gold) !important;
    background: rgba(236,191,24,.04) !important;
    padding-left: 28px !important;
}

/* Active link */
.offcanvas a.active,
.offcanvas .top-menu .current > a,
#mobile_top_menu_wrapper .current > a {
    color: var(--rc-gold) !important;
    font-weight: 700 !important;
    background: rgba(236,191,24,.06) !important;
    border-left: 3px solid var(--rc-gold) !important;
}

/* ── Menu list items ── */
.offcanvas ul,
.offcanvas ol,
#mobile_top_menu_wrapper ul,
.offcanvas-body ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.offcanvas li,
#mobile_top_menu_wrapper li,
.offcanvas-body li {
    border-bottom: 1px solid var(--rc-border-subtle) !important;
    margin: 0 !important;
    padding: 0 !important;
}
.offcanvas li:last-child,
#mobile_top_menu_wrapper li:last-child {
    border-bottom: none !important;
}

/* ── Sub-menu / dropdown in mobile ── */
.offcanvas .sub-menu,
.offcanvas .top-menu .collapse,
#mobile_top_menu_wrapper .sub-menu {
    background: var(--rc-bg-card) !important;
    border: none !important;
    box-shadow: none !important;
}

.offcanvas .sub-menu a,
#mobile_top_menu_wrapper .sub-menu a {
    padding-left: 40px !important;
    font-size: 14px !important;
    color: var(--rc-text-muted) !important;
}
.offcanvas .sub-menu a:hover,
#mobile_top_menu_wrapper .sub-menu a:hover {
    color: var(--rc-gold) !important;
    padding-left: 44px !important;
}

/* ── Collapse toggle arrows ── */
.offcanvas .navbar-toggler,
.offcanvas [data-bs-toggle="collapse"],
.offcanvas .collapse-icons {
    color: var(--rc-text-muted) !important;
}

/* ── Backdrop ── */
.offcanvas-backdrop,
.offcanvas-backdrop.show {
    background-color: rgba(0,0,0,.7) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

/* ── Mobile header bar alignment ── */
@media (max-width: 991.98px) {
    /* Hamburger button */
    .header__burger,
    .header-toggler,
    [data-bs-toggle="offcanvas"],
    .navbar-toggler {
        color: var(--rc-text) !important;
        border: none !important;
        padding: 8px !important;
        background: transparent !important;
    }

    /* Header icons alignment */
    .header__right,
    .header__right-nav {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    /* Search icon on mobile */
    .header__search,
    #_desktop_search {
        display: flex !important;
        align-items: center !important;
    }

    /* Brand name smaller on tablet */
    .ac-brand-name {
        font-size: 16px !important;
    }
    .ac-brand-name span {
        font-size: 10px !important;
    }
}

@media (max-width: 575.98px) {
    .offcanvas,
    .offcanvas-start {
        width: 280px !important;
    }

    .offcanvas a,
    .offcanvas .top-menu a,
    #mobile_top_menu_wrapper a {
        padding: 13px 20px !important;
        font-size: 14px !important;
    }
}

/* ══════════════════════════════════════════════════════════
   75. MOBILE HEADER — ALIGNMENT FIX
   Fix boutons Formations / Client / Panier alignés
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Second row of header (user info, cart, LMS button) */
    .header-top__row,
    .header-top .row,
    .header__top-nav,
    .header-bottom,
    .header-bottom .container-md,
    .header-bottom__container {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        padding: 8px 12px !important;
    }

    /* All header action buttons — same height, aligned */
    .header-bottom a,
    .header-bottom button,
    .header-top__row a,
    .user-info a,
    #_desktop_user_info a,
    .header__right a:not(.lms-header-btn),
    .cart-preview {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 8px 14px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
        height: 38px !important;
        line-height: 1 !important;
        border: 1px solid var(--rc-border) !important;
        background: transparent !important;
        color: var(--rc-text-secondary) !important;
        text-decoration: none !important;
        font-family: 'Outfit', sans-serif !important;
    }

    /* LMS button keeps its gold style */
    .lms-header-btn {
        height: 38px !important;
        padding: 8px 14px !important;
        font-size: 13px !important;
        border: none !important;
    }

    /* Cart icon alignment */
    .cart-preview,
    .blockcart {
        height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    /* User info icon alignment */
    .user-info .account,
    #_desktop_user_info .account {
        height: 38px !important;
    }

    /* Icons inside buttons — consistent size */
    .header-bottom svg,
    .header-bottom .material-icons,
    .header-bottom i,
    .user-info svg,
    .user-info .material-icons {
        width: 16px !important;
        height: 16px !important;
        font-size: 16px !important;
        flex-shrink: 0 !important;
    }
}

@media (max-width: 767.98px) {
    /* Even tighter on small phones */
    .header-bottom a,
    .header-bottom button,
    .user-info a,
    #_desktop_user_info a,
    .header__right a:not(.lms-header-btn),
    .cart-preview {
        padding: 6px 10px !important;
        font-size: 12px !important;
        height: 34px !important;
        gap: 5px !important;
    }

    .lms-header-btn {
        height: 34px !important;
        padding: 6px 10px !important;
        font-size: 12px !important;
    }

    /* Hide redundant labels if space is tight, keep icons */
    .lms-header-btn .lms-btn-label {
        display: none !important;
    }
    .lms-header-btn .lms-btn-label-short {
        display: inline !important;
    }
}

/* ══════════════════════════════════════════════════════════
   76. HUMMINGBIRD MOBILE MENU — FULL OVERRIDE
   Fix drawer: close button, "Tous" back, links, colors
   ══════════════════════════════════════════════════════════ */

/* ── Drawer container ── */
body .offcanvas,
body .offcanvas-start,
body .offcanvas-end {
    background: #09090b !important;
    border-right: 1px solid #27272a !important;
    color: #fafafa !important;
    z-index: 10500 !important;
}

/* ── Close button — FORCE VISIBLE ── */
body .offcanvas .btn-close,
body .offcanvas-header .btn-close,
.offcanvas .btn-close,
.offcanvas-header .btn-close,
button.btn-close {
    filter: invert(1) brightness(2) !important;
    opacity: 1 !important;
    width: 32px !important;
    height: 32px !important;
    padding: 8px !important;
    background-size: 14px !important;
    border: 1px solid #27272a !important;
    border-radius: 8px !important;
    position: relative !important;
    z-index: 10 !important;
}
body .offcanvas .btn-close:hover,
.offcanvas .btn-close:hover {
    border-color: #ECBF18 !important;
    background-color: rgba(236,191,24,.08) !important;
}

/* ── Header bar of drawer ── */
body .offcanvas-header,
body .offcanvas .offcanvas-header {
    background: #111113 !important;
    border-bottom: 1px solid #27272a !important;
    padding: 14px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 56px !important;
}

/* ── "< Tous" back navigation ── */
body .offcanvas .top-menu__back,
body .offcanvas [class*="back"],
body .offcanvas .js-top-menu-back,
.top-menu__back,
.js-top-menu-back {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    background: #111113 !important;
    border-bottom: 1px solid #27272a !important;
    color: #ECBF18 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    text-decoration: none !important;
}
body .offcanvas .top-menu__back:hover,
.top-menu__back:hover {
    background: rgba(236,191,24,.04) !important;
}

/* ── Menu body ── */
body .offcanvas-body,
body .offcanvas .offcanvas-body {
    background: #09090b !important;
    padding: 0 !important;
    overflow-y: auto !important;
}

/* ── ALL menu links inside drawer ── */
body .offcanvas a,
body .offcanvas li a,
body .offcanvas .top-menu a,
body .offcanvas #top-menu a,
body .offcanvas .offcanvas-body a,
body #mobile_top_menu_wrapper a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 20px !important;
    color: #a1a1aa !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: 'Outfit', sans-serif !important;
    text-decoration: none !important;
    border-bottom: 1px solid #1e1e21 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
    transition: color .2s, background .2s, padding-left .2s !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
body .offcanvas a:hover,
body .offcanvas li a:hover,
body #mobile_top_menu_wrapper a:hover {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.04) !important;
    padding-left: 24px !important;
}

/* Active / current link */
body .offcanvas .current > a,
body .offcanvas a[aria-current],
body #mobile_top_menu_wrapper .current > a {
    color: #ECBF18 !important;
    font-weight: 700 !important;
    background: rgba(236,191,24,.06) !important;
    border-left: 3px solid #ECBF18 !important;
}

/* ── List reset ── */
body .offcanvas ul,
body .offcanvas ol,
body .offcanvas li,
body #mobile_top_menu_wrapper ul,
body #mobile_top_menu_wrapper li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Last item no border */
body .offcanvas li:last-child a,
body #mobile_top_menu_wrapper li:last-child a {
    border-bottom: none !important;
}

/* ── Arrow indicators for sub-menus ── */
body .offcanvas .top-menu__arrow,
body .offcanvas [class*="arrow"],
body .offcanvas .collapse-icons,
body .offcanvas .material-icons,
body .offcanvas .top-menu li > i {
    color: #71717a !important;
    font-size: 18px !important;
    margin-left: auto !important;
}

/* ── Sub-menu level ── */
body .offcanvas .sub-menu,
body .offcanvas .top-menu .collapse,
body .offcanvas .top-menu__sub {
    background: #0c0c0e !important;
}
body .offcanvas .sub-menu a,
body .offcanvas .top-menu__sub a {
    padding-left: 32px !important;
    font-size: 14px !important;
    color: #71717a !important;
}
body .offcanvas .sub-menu a:hover,
body .offcanvas .top-menu__sub a:hover {
    color: #ECBF18 !important;
    padding-left: 36px !important;
}

/* ── Backdrop — darker + blur ── */
body .offcanvas-backdrop,
body .offcanvas-backdrop.show,
body .offcanvas-backdrop.fade {
    background: rgba(0,0,0,.75) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    opacity: 1 !important;
}

/* ── Force no white flashes ── */
body .offcanvas *,
body .offcanvas div,
body .offcanvas span,
body .offcanvas p {
    color: inherit;
    background-color: transparent;
}

/* ══════════════════════════════════════════════════════════
   77. MOBILE SEARCH — CLEAN STYLE
   Fix ugly outlines / squares on mobile search widget
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Search widget container */
    #search_widget,
    .search-widget,
    .search-widgets,
    #_mobile_search,
    .header__search,
    #search_widget form,
    .search-widget form,
    .header__search form {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
    }

    /* Search input field */
    #search_widget input,
    #search_widget input[type="text"],
    #search_widget input[type="search"],
    .search-widget input,
    .search-widget input[type="text"],
    .search-widget input[type="search"],
    .header__search input,
    .js-search-input {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        background: #111113 !important;
        border: 1px solid #27272a !important;
        border-radius: 10px !important;
        color: #fafafa !important;
        font-family: 'Outfit', sans-serif !important;
        font-size: 14px !important;
        padding: 10px 48px 10px 16px !important;
        outline: none !important;
        box-shadow: none !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    #search_widget input:focus,
    .search-widget input:focus,
    .header__search input:focus,
    .js-search-input:focus {
        border-color: #ECBF18 !important;
        box-shadow: 0 0 0 3px rgba(236,191,24,.1) !important;
        outline: none !important;
    }

    #search_widget input::placeholder,
    .search-widget input::placeholder,
    .header__search input::placeholder {
        color: #71717a !important;
    }

    /* Search button / icon */
    #search_widget button,
    .search-widget button,
    .header__search button,
    #search_widget form button[type="submit"],
    .search-widget form button[type="submit"] {
        position: absolute !important;
        right: 4px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 36px !important;
        height: 36px !important;
        background: #ECBF18 !important;
        border: none !important;
        border-radius: 8px !important;
        color: #09090b !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        outline: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    #search_widget button:hover,
    .search-widget button:hover,
    .header__search button:hover {
        background: #f0c820 !important;
    }

    #search_widget button svg,
    .search-widget button svg,
    .header__search button svg,
    #search_widget button i,
    .search-widget button i,
    .header__search button i,
    #search_widget button .material-icons,
    .search-widget button .material-icons {
        width: 16px !important;
        height: 16px !important;
        font-size: 16px !important;
        color: #09090b !important;
    }

    /* Search form wrapper — relative for button positioning */
    #search_widget form,
    .search-widget form,
    .header__search form {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Remove any square outlines / focus rings */
    #search_widget *:focus,
    .search-widget *:focus,
    .header__search *:focus {
        outline: none !important;
    }

    /* Search dropdown results */
    .search-widget .search-results,
    .ui-autocomplete,
    .search-widget__results {
        background: #111113 !important;
        border: 1px solid #27272a !important;
        border-radius: 10px !important;
        margin-top: 4px !important;
        box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
    }

    .search-widget .search-results a,
    .ui-autocomplete li a,
    .search-widget__results a {
        color: #a1a1aa !important;
        padding: 10px 16px !important;
        border-bottom: 1px solid #1e1e21 !important;
    }

    .search-widget .search-results a:hover,
    .ui-autocomplete li a:hover {
        color: #ECBF18 !important;
        background: rgba(236,191,24,.04) !important;
    }
}

/* ══════════════════════════════════════════════════════════
   78. INJECTED MOBILE MENU — AC-MOBILE-NAV
   Custom nav links injected by JS into the offcanvas drawer
   ══════════════════════════════════════════════════════════ */
.ac-mobile-nav {
    list-style: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
}

.ac-mobile-nav__item {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #1e1e21 !important;
    list-style: none !important;
}
.ac-mobile-nav__item:last-child {
    border-bottom: none !important;
}

.ac-mobile-nav__link {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px 20px !important;
    color: #a1a1aa !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: 'Outfit', sans-serif !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
    border: none !important;
    background: transparent !important;
}
.ac-mobile-nav__link:hover {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.04) !important;
    padding-left: 24px !important;
}

/* Gold highlight for "Mes formations" */
.ac-mobile-nav__link--gold {
    color: #ECBF18 !important;
    font-weight: 700 !important;
    background: rgba(236,191,24,.06) !important;
}
.ac-mobile-nav__link--gold:hover {
    background: rgba(236,191,24,.1) !important;
}

.ac-mobile-nav__icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: .5;
}
.ac-mobile-nav__link:hover .ac-mobile-nav__icon,
.ac-mobile-nav__link--gold .ac-mobile-nav__icon {
    opacity: 1;
}

/* ══════════════════════════════════════════════════════════
   79. CUSTOM DRAWER — REPLACES HUMMINGBIRD OFFCANVAS
   Built from scratch, no dependency on Bootstrap offcanvas
   ══════════════════════════════════════════════════════════ */

/* Native menu offcanvas is removed by JS — search offcanvas preserved */

/* ── Drawer root (hidden by default) ── */
#ac-drawer {
    display: none;
}
@media (max-width: 991.98px) {
    #ac-drawer {
        display: block;
    }
}

/* ── Backdrop ── */
.ac-drawer__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.ac-drawer--open .ac-drawer__backdrop {
    opacity: 1;
    visibility: visible;
}

/* ── Panel ── */
.ac-drawer__panel {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 300px;
    max-width: 85vw;
    background: #09090b !important;
    background-color: #09090b !important;
    z-index: 10001;
    transform: translateX(-100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    display: flex;
    flex-direction: column;
    border-right: 1px solid #27272a;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
}
.ac-drawer--open .ac-drawer__panel {
    transform: translateX(0);
}

/* ── Header ── */
.ac-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    background: #111113;
    border-bottom: 1px solid #27272a;
    flex-shrink: 0;
}
.ac-drawer__brand {
    font-family: 'Outfit', sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: #fafafa;
    line-height: 1.2;
    letter-spacing: -.02em;
}
.ac-drawer__brand span {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: #ECBF18;
    letter-spacing: .2em;
    text-transform: uppercase;
    margin-top: 2px;
}
.ac-drawer__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #27272a;
    border-radius: 8px;
    color: #a1a1aa;
    cursor: pointer;
    transition: all .2s;
    padding: 0;
    flex-shrink: 0;
}
.ac-drawer__close:hover {
    border-color: #ECBF18;
    color: #ECBF18;
    background: rgba(236,191,24,.06);
}

/* ── Nav ── */
.ac-drawer__nav {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}
.ac-drawer__nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ac-drawer__item {
    border-bottom: 1px solid #1e1e21;
}
.ac-drawer__item:last-child {
    border-bottom: none;
}
.ac-drawer__link {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px 20px !important;
    color: #a1a1aa !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
    background: transparent !important;
    border: none !important;
}
.ac-drawer__link:hover {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.04) !important;
    padding-left: 24px !important;
}
.ac-drawer__link--gold {
    color: #ECBF18 !important;
    font-weight: 700 !important;
    background: rgba(236,191,24,.06) !important;
}
.ac-drawer__link--gold:hover {
    background: rgba(236,191,24,.1) !important;
}

.ac-drawer__icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: .5;
}
.ac-drawer__link:hover .ac-drawer__icon,
.ac-drawer__link--gold .ac-drawer__icon {
    opacity: 1;
}

/* ── Footer ── */
.ac-drawer__footer {
    padding: 16px 20px;
    border-top: 1px solid #27272a;
    background: #111113;
    flex-shrink: 0;
}
.ac-drawer__contact {
    font-family: 'Outfit', sans-serif !important;
    font-size: 13px !important;
    color: #71717a !important;
    text-decoration: none !important;
    transition: color .2s !important;
}
.ac-drawer__contact:hover {
    color: #ECBF18 !important;
}

/* ══════════════════════════════════════════════════════════
   80. BRAND NAME — FORCE COLORS (fix gray/yellow inconsistency)
   The header link styles (#header a) were overriding brand colors
   ══════════════════════════════════════════════════════════ */
#header .ac-brand-name,
header .ac-brand-name,
.header-top .ac-brand-name,
.header__logo .ac-brand-name,
body .ac-brand-name {
    color: #fafafa !important;
}
#header .ac-brand-name span,
header .ac-brand-name span,
.header-top .ac-brand-name span,
.header__logo .ac-brand-name span,
body .ac-brand-name span {
    color: #ECBF18 !important;
    opacity: 1 !important;
}

/* ══════════════════════════════════════════════════════════
   81. ACCOUNT PAGE — FULL DARK MODE RESTYLE
   Cards, icons, sidebar, headings
   ══════════════════════════════════════════════════════════ */

/* Page background */
.page-my-account,
.page-customer-account,
.page-my-account #wrapper,
.page-customer-account #wrapper,
.page-my-account #content-wrapper,
.page-customer-account #content-wrapper,
.page-my-account #content,
.page-customer-account #content,
.page-my-account #main,
.page-customer-account #main {
    background-color: #09090b !important;
}

/* Page title */
.page-my-account h1,
.page-customer-account h1,
.page-my-account .page-heading {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
    font-size: 28px !important;
}

/* Welcome text */
.page-my-account .page-content > p,
.page-customer-account .page-content > p {
    color: #a1a1aa !important;
}

/* ── Account cards grid ── */
.page-my-account .links,
.page-customer-account .links {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
}

.page-my-account .links a,
.page-my-account .links .link-item,
.page-customer-account .links a,
.page-customer-account .links .link-item {
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    color: #a1a1aa !important;
    padding: 24px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    transition: all .25s ease !important;
    text-decoration: none !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
.page-my-account .links a:hover,
.page-customer-account .links a:hover {
    border-color: rgba(236,191,24,.3) !important;
    color: #ECBF18 !important;
    background: #18181b !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 20px rgba(236,191,24,.08) !important;
}

/* Card icons */
.page-my-account .links a i,
.page-my-account .links a .material-icons,
.page-my-account .links a svg,
.page-customer-account .links a i,
.page-customer-account .links a .material-icons,
.page-customer-account .links a svg {
    color: #ECBF18 !important;
    font-size: 28px !important;
    width: 28px !important;
    height: 28px !important;
}

/* Card text */
.page-my-account .links a span,
.page-customer-account .links a span {
    color: inherit !important;
}

/* ── LMS formations card — special gold accent ── */
#lms-formations-link,
.page-my-account .links a[href*="lmsformation"],
.page-customer-account .links a[href*="lmsformation"] {
    background: linear-gradient(135deg, rgba(236,191,24,.06), rgba(236,191,24,.12)) !important;
    border: 1px solid rgba(236,191,24,.25) !important;
    color: #ECBF18 !important;
    font-weight: 700 !important;
}
#lms-formations-link:hover,
.page-my-account .links a[href*="lmsformation"]:hover {
    border-color: #ECBF18 !important;
    box-shadow: 0 4px 24px rgba(236,191,24,.15) !important;
}

/* ── Left sidebar ── */
.page-my-account #left-column,
.page-customer-account #left-column,
.page-my-account .account-links,
.myaccount-column {
    background: transparent !important;
}

.page-my-account #left-column a,
.page-customer-account #left-column a,
.myaccount-column a {
    color: #a1a1aa !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 14px !important;
    transition: all .2s !important;
    text-decoration: none !important;
    font-family: 'Outfit', sans-serif !important;
}
.page-my-account #left-column a:hover,
.page-customer-account #left-column a:hover {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.04) !important;
}
.page-my-account #left-column a.active,
.page-my-account #left-column .current a,
.page-customer-account #left-column a.active {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.06) !important;
    font-weight: 700 !important;
}

.page-my-account #left-column a i,
.page-my-account #left-column a .material-icons,
.page-my-account #left-column a svg {
    color: #ECBF18 !important;
    opacity: .7;
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
}

/* ── Sub-pages (order history, addresses, etc.) ── */
.page-customer-account .card,
.page-customer-account .address,
.page-customer-account .order-item,
.page-addresses .address,
.page-order-detail .box {
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    color: #a1a1aa !important;
}

/* ── Responsive account cards ── */
@media (max-width: 991.98px) {
    .page-my-account .links,
    .page-customer-account .links {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 575.98px) {
    .page-my-account .links,
    .page-customer-account .links {
        grid-template-columns: 1fr !important;
    }
    .page-my-account h1 {
        font-size: 22px !important;
    }
}

/* ══════════════════════════════════════════════════════════
   82. ACCOUNT PAGE — NUCLEAR DARK MODE
   Force EVERYTHING dark on my-account pages
   Hummingbird PS9 uses inline styles and deep nesting
   ══════════════════════════════════════════════════════════ */

/* Nuke all backgrounds to dark on account pages */
body.page-my-account *,
body.page-customer-account * {
    background-color: transparent !important;
    border-color: #27272a !important;
}

body.page-my-account,
body.page-customer-account {
    background-color: #09090b !important;
}

body.page-my-account #wrapper,
body.page-my-account #wrapper *:not(svg):not(svg *):not(i):not(.material-icons),
body.page-customer-account #wrapper,
body.page-customer-account #wrapper *:not(svg):not(svg *):not(i):not(.material-icons) {
    color: #a1a1aa !important;
}

body.page-my-account h1,
body.page-my-account h2,
body.page-my-account h3,
body.page-my-account .page-heading,
body.page-my-account strong,
body.page-customer-account h1,
body.page-customer-account h2,
body.page-customer-account h3 {
    color: #fafafa !important;
}

/* ── Cards: target every possible container ── */
body.page-my-account .links > a,
body.page-my-account .links > li,
body.page-my-account .links > li > a,
body.page-my-account .links > div,
body.page-my-account .links > div > a,
body.page-my-account [class*="link-item"],
body.page-my-account .card,
body.page-my-account .account-link,
body.page-customer-account .links > a,
body.page-customer-account .links > li > a,
body.page-customer-account .links > div > a,
body.page-customer-account [class*="link-item"],
body.page-customer-account .card {
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 12px !important;
    color: #a1a1aa !important;
    padding: 24px 20px !important;
    transition: all .25s ease !important;
}

body.page-my-account .links > a:hover,
body.page-my-account .links > li > a:hover,
body.page-my-account .links > div > a:hover,
body.page-my-account [class*="link-item"]:hover,
body.page-customer-account .links > a:hover,
body.page-customer-account .links > li > a:hover {
    background: #18181b !important;
    border-color: rgba(236,191,24,.3) !important;
    color: #ECBF18 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 20px rgba(236,191,24,.08) !important;
}

/* Card inner text */
body.page-my-account .links span,
body.page-my-account .links a span,
body.page-my-account .links .link-item span,
body.page-customer-account .links span {
    color: #a1a1aa !important;
}

body.page-my-account .links a:hover span,
body.page-customer-account .links a:hover span {
    color: #ECBF18 !important;
}

/* Icons in cards — always gold */
body.page-my-account .links i,
body.page-my-account .links .material-icons,
body.page-my-account .links svg,
body.page-my-account [class*="link-item"] i,
body.page-my-account [class*="link-item"] .material-icons,
body.page-my-account [class*="link-item"] svg,
body.page-customer-account .links i,
body.page-customer-account .links .material-icons,
body.page-customer-account .links svg {
    color: #ECBF18 !important;
    fill: none !important;
}

/* ── LMS card — extra gold emphasis ── */
body.page-my-account #lms-formations-link,
body.page-my-account a[href*="lmsformation"],
body.page-my-account [class*="link-item"][id*="lms"],
body.page-customer-account #lms-formations-link,
body.page-customer-account a[href*="lmsformation"] {
    background: linear-gradient(135deg, rgba(236,191,24,.08), rgba(236,191,24,.14)) !important;
    border-color: rgba(236,191,24,.25) !important;
}
body.page-my-account #lms-formations-link span,
body.page-my-account a[href*="lmsformation"] span {
    color: #ECBF18 !important;
    font-weight: 700 !important;
}

/* ── Sidebar force dark ── */
body.page-my-account #left-column,
body.page-my-account #left-column *,
body.page-customer-account #left-column,
body.page-customer-account #left-column * {
    background: transparent !important;
}

body.page-my-account #left-column a,
body.page-customer-account #left-column a {
    background: transparent !important;
    color: #a1a1aa !important;
    border: none !important;
    border-bottom: none !important;
}
body.page-my-account #left-column a:hover,
body.page-customer-account #left-column a:hover {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.04) !important;
}
body.page-my-account #left-column .active > a,
body.page-my-account #left-column a.active,
body.page-my-account #left-column a[class*="active"],
body.page-my-account #left-column li.current > a,
body.page-customer-account #left-column .active > a {
    color: #ECBF18 !important;
    background: rgba(236,191,24,.06) !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
}
body.page-my-account #left-column i,
body.page-my-account #left-column .material-icons,
body.page-my-account #left-column svg,
body.page-customer-account #left-column i,
body.page-customer-account #left-column svg {
    color: #ECBF18 !important;
}

/* ── Breadcrumb on account pages ── */
body.page-my-account .breadcrumb,
body.page-my-account .breadcrumb *,
body.page-customer-account .breadcrumb,
body.page-customer-account .breadcrumb * {
    background: #09090b !important;
}

/* ══════════════════════════════════════════════════════════
   83. MOBILE HEADER — CLEAN LAYOUT (2 lines max)
   Line 1: ☰ Logo + Brand + 🔍
   Line 2: Mon espace formations | Nom client | 🛒
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Header top row — hamburger, logo, search */
    header .header-top,
    header .header__nav,
    .header-top {
        padding: 8px 12px !important;
    }

    /* Logo area with brand */
    .header__logo,
    .header-logo {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: 1 !important;
        min-width: 0 !important;
    }

    /* Brand name on mobile */
    .ac-brand-name,
    #header .ac-brand-name,
    header .ac-brand-name {
        font-size: 16px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .ac-brand-name span:first-child {
        color: #fafafa !important;
    }
    .ac-brand-name span:last-child {
        font-size: 10px !important;
        color: #ECBF18 !important;
    }

    /* Second row — action buttons aligned */
    .header-bottom,
    .header-top__row--bottom,
    header .header-bottom {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 6px 12px !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* All action items same height */
    .header-bottom > *,
    .header-bottom a,
    .header-bottom button,
    .lms-header-btn,
    .user-info > a,
    #_desktop_user_info > div > a,
    .cart-preview,
    .blockcart {
        height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }

    /* Cart on same line */
    .header__right-cart,
    #_desktop_cart,
    .cart-preview {
        margin-left: 0 !important;
    }
}

@media (max-width: 575.98px) {
    .ac-brand-name {
        font-size: 14px !important;
    }
    .ac-brand-name span:last-child {
        font-size: 9px !important;
        color: #ECBF18 !important;
    }
}

/* ══════════════════════════════════════════════════════════
   84. MOBILE HEADER — LOGO OVERFLOW + CART BADGE SIZE FIX
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Logo image — must fit inside its container */
    .header__logo img,
    .header-logo img,
    #header .logo img {
        max-height: 36px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* Logo container — no overflow */
    .header__logo a,
    .header-logo a,
    #header .logo a {
        overflow: hidden !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        max-height: 44px !important;
    }

    /* Cart badge — smaller, tight */
    .cart-preview .cart-products-count,
    .blockcart .cart-products-count,
    .header-block__badge,
    .cart-products-count,
    [class*="cart"] .badge,
    .shopping-cart .cart-products-count {
        min-width: 16px !important;
        height: 16px !important;
        width: auto !important;
        padding: 0 4px !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        line-height: 16px !important;
        border-radius: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #ECBF18 !important;
        color: #09090b !important;
        position: relative !important;
        top: -2px !important;
    }

    /* Cart icon itself — proportionate */
    .cart-preview svg,
    .blockcart svg,
    .cart-preview i,
    .blockcart i,
    .cart-preview .material-icons,
    .blockcart .material-icons {
        width: 20px !important;
        height: 20px !important;
        font-size: 20px !important;
    }
}

@media (max-width: 575.98px) {
    .header__logo img,
    .header-logo img,
    #header .logo img {
        max-height: 30px !important;
    }

    .cart-preview .cart-products-count,
    .header-block__badge,
    .cart-products-count {
        min-width: 14px !important;
        height: 14px !important;
        padding: 0 3px !important;
        font-size: 9px !important;
        line-height: 14px !important;
        border-radius: 7px !important;
    }
}

/* ══════════════════════════════════════════════════════════
   85. MOBILE — HIDE SEARCH BUTTON + SHOW BRAND NEXT TO LOGO
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Hide search button/icon on mobile */
    #_desktop_search,
    #search_widget,
    .search-widget,
    .header__search,
    header [class*="search"],
    header button[data-bs-target*="search"],
    header a[data-bs-target*="search"],
    header [aria-label="Rechercher"],
    .header__right > [class*="search"] {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    /* FORCE brand name visible next to logo on mobile */
    .ac-brand-name {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Ensure logo link shows brand properly */
    .header__logo a,
    .header-logo a,
    #header .logo a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
}

/* ══════════════════════════════════════════════════════════
   86. MOBILE HEADER — COMPACT 2-ROW MAX
   Row 1: ☰  Logo+Brand  Connexion  🛒
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Force the header top area into a single flex row */
    .header-top,
    header .header-top,
    .header-top > .container-md,
    .header-top > .container,
    .header-top > .container-fluid,
    .header-top > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        padding: 6px 10px !important;
        gap: 6px !important;
        max-height: 56px !important;
        overflow: visible !important;
    }

    /* All header sub-containers: flatten into the flex row */
    .header-top__row,
    .header-top .row,
    .header__top-nav,
    .header-top > .container-md > .row,
    .header-top > .container-md > div,
    .header__left,
    .header__center,
    .header__right {
        display: contents !important;
    }

    /* Hamburger button */
    .header__burger,
    .navbar-toggler,
    .ac-burger-hijacked,
    [data-bs-toggle="offcanvas"]:not([class*="search"]) {
        flex: 0 0 36px !important;
        width: 36px !important;
        height: 36px !important;
        padding: 6px !important;
        order: 1 !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
        background: transparent !important;
    }

    /* Logo + brand: takes remaining space */
    .header__logo,
    .header-logo,
    #_desktop_logo {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        order: 2 !important;
        overflow: hidden !important;
    }
    .header__logo a,
    .header-logo a {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        overflow: hidden !important;
    }
    .header__logo img,
    .header-logo img {
        max-height: 30px !important;
        width: auto !important;
        flex-shrink: 0 !important;
    }
    .ac-brand-name {
        font-size: 13px !important;
        line-height: 1.1 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .ac-brand-name span:last-child {
        font-size: 8px !important;
        letter-spacing: .12em !important;
    }

    /* User info (Connexion / Nom) — compact */
    .user-info,
    #_desktop_user_info,
    #_desktop_user_info > div {
        order: 3 !important;
        flex: 0 0 auto !important;
    }
    .user-info a,
    #_desktop_user_info a {
        font-size: 11px !important;
        padding: 6px 8px !important;
        white-space: nowrap !important;
        height: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
    }
    .user-info a i,
    .user-info a svg,
    .user-info a .material-icons,
    #_desktop_user_info a i,
    #_desktop_user_info a svg {
        width: 14px !important;
        height: 14px !important;
        font-size: 14px !important;
    }

    /* Cart — same row, no wrapping */
    #_desktop_cart,
    .cart-preview,
    .blockcart,
    .header__right-cart {
        order: 4 !important;
        flex: 0 0 auto !important;
    }
    .cart-preview,
    .blockcart a {
        height: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        padding: 4px 8px !important;
        font-size: 12px !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
    }
    .cart-preview svg,
    .blockcart svg,
    .cart-preview i,
    .blockcart i {
        width: 16px !important;
        height: 16px !important;
        font-size: 16px !important;
    }

    /* LMS button if present — after user, before cart */
    .lms-header-btn {
        order: 3 !important;
        height: 32px !important;
        padding: 4px 10px !important;
        font-size: 11px !important;
        border-radius: 8px !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    /* header-bottom: keep visible, it contains the action buttons on mobile */
}

@media (max-width: 575.98px) {
    .ac-brand-name {
        font-size: 12px !important;
    }
    .ac-brand-name span:last-child {
        font-size: 7px !important;
    }
    .user-info a span,
    #_desktop_user_info a span {
        display: none !important;
    }
    .lms-header-btn .lms-btn-label,
    .lms-header-btn .lms-btn-label-short {
        display: none !important;
    }
}

/* ══════════════════════════════════════════════════════════
   87. MOBILE — HIDE ONLY the top nav text bar
   The "Contactez-nous" text that floats above the header
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    #_desktop_top_menu,
    #top-menu,
    .js-top-menu,
    .top-menu-container,
    .header-nav__menu,
    .header__nav > .top-menu,
    .header-nav .top-menu,
    header > nav.header-nav,
    .header-top__nav,
    .header-top__menu,
    nav[class*="header-nav"]:not(.breadcrumb__wrapper) {
        display: none !important;
    }
}

/* ══════════════════════════════════════════════════════════
   88. MOBILE HEADER — UNIFORM BUTTON SIZES
   Formation, Client, Cart — all same 40x40 squares
   ══════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* All action buttons in header: same box */
    .lms-header-btn,
    .user-info a,
    .user-info > a,
    #_desktop_user_info a,
    #_desktop_user_info > div > a,
    .cart-preview,
    .blockcart a,
    .header__right a,
    .header-top a[title],
    header .header-top a[href*="mon-compte"],
    header .header-top a[href*="my-account"],
    header .header-top a[href*="panier"],
    header .header-top a[href*="cart"] {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #27272a !important;
        border-radius: 10px !important;
        background: transparent !important;
        flex-shrink: 0 !important;
        overflow: hidden !important;
    }

    /* LMS button: keep gold background */
    .lms-header-btn {
        background: #ECBF18 !important;
        border-color: #ECBF18 !important;
        color: #09090b !important;
    }

    /* Hide ALL text labels in header buttons on mobile — icons only */
    .lms-header-btn .lms-btn-label,
    .lms-header-btn .lms-btn-label-short,
    .user-info a span:not(.material-icons),
    #_desktop_user_info a span:not(.material-icons),
    .cart-preview .cart-products-count-text,
    .blockcart .cart-products-count-text {
        display: none !important;
    }

    /* Icons inside buttons: uniform 20px */
    .lms-header-btn svg,
    .user-info a svg,
    .user-info a i,
    .user-info a .material-icons,
    #_desktop_user_info a svg,
    #_desktop_user_info a i,
    #_desktop_user_info a .material-icons,
    .cart-preview svg,
    .cart-preview i,
    .cart-preview .material-icons,
    .blockcart svg,
    .blockcart i {
        width: 20px !important;
        height: 20px !important;
        font-size: 20px !important;
        flex-shrink: 0 !important;
    }

    /* Cart badge: small, positioned top-right */
    .cart-preview .cart-products-count,
    .header-block__badge {
        position: absolute !important;
        top: -4px !important;
        right: -4px !important;
        min-width: 18px !important;
        height: 18px !important;
        padding: 0 4px !important;
        font-size: 10px !important;
        line-height: 18px !important;
        border-radius: 9px !important;
        background: #ECBF18 !important;
        color: #09090b !important;
        font-weight: 800 !important;
    }

    /* Make cart button position:relative for badge positioning */
    .cart-preview,
    .blockcart a {
        position: relative !important;
    }
}

/* ══════════════════════════════════════════════════════════
   89. CUSTOM MOBILE HEADER — BUILT FROM SCRATCH
   Replaces Hummingbird header entirely on mobile
   ══════════════════════════════════════════════════════════ */

/* (old mobile header CSS removed — section 90 handles everything) */

/* ══════════════════════════════════════════════════════════
   90. TEMPLATE-BASED MOBILE HEADER
   Server-rendered, no JS dependencies for layout
   ══════════════════════════════════════════════════════════ */

/* Desktop: show native, hide mobile */
#ac-mobile-header { display: none; }
#ac-desktop-header { display: block; }

/* Mobile: show custom, hide native */
@media (max-width: 991.98px) {
    #ac-mobile-header {
        display: block;
        position: sticky;
        top: 0;
        z-index: 9999;
        background: rgba(9,9,11,.97);
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid #27272a;
    }
    #ac-desktop-header {
        display: none !important;
    }
}

.ac-mh__row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
}

.ac-mh__burger {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #27272a;
    border-radius: 10px;
    color: #fafafa;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
}
.ac-mh__burger:active {
    background: rgba(236,191,24,.08);
    border-color: #ECBF18;
}

.ac-mh__logo {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    text-decoration: none !important;
    overflow: hidden;
}
.ac-mh__logo img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 4px;
}
.ac-mh__brand {
    min-width: 0;
    overflow: hidden;
    font-family: 'Outfit', sans-serif;
}
.ac-mh__brand-name {
    display: block;
    color: #fafafa !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ac-mh__brand-sub {
    display: block;
    color: #ECBF18 !important;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    line-height: 1.4;
}

.ac-mh__actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.ac-mh__btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #27272a;
    border-radius: 10px;
    color: #a1a1aa;
    text-decoration: none !important;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
}
.ac-mh__btn:active {
    background: rgba(236,191,24,.08);
    border-color: #ECBF18;
    color: #ECBF18;
}
.ac-mh__btn--gold {
    background: #ECBF18 !important;
    border-color: #ECBF18 !important;
    color: #09090b !important;
}
.ac-mh__btn--gold:active {
    background: #f0c820 !important;
}

.ac-mh__cart {
    position: relative;
}
.ac-mh__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: #ECBF18;
    color: #09090b;
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 800;
    line-height: 18px;
    text-align: center;
    border-radius: 9px;
    pointer-events: none;
}

/* ══════════════════════════════════════════════════════════
   91. LMS ACCOUNT PAGE — spacing fix for formation count
   ══════════════════════════════════════════════════════════ */

/* Ensure the LMS link on account page has proper spacing before count */
.page-my-account .link-item a[href*="lmsformation"],
#my-account a[href*="lmsformation"],
.myaccount-link-list a[href*="lmsformation"] {
    word-spacing: 0.15em;
}
/* Sidebar LMS link — default state (not gold) */
#left-column a[href*="lmsformation"] {
    color: #a1a1aa !important;
    font-weight: 500 !important;
}
#left-column a[href*="lmsformation"].ac-sidebar-active {
    color: #ECBF18 !important;
    font-weight: 700 !important;
}

/* ══════════════════════════════════════════════════════════
   92. PRODUCT DETAILS TABLE — force dark mode
   ══════════════════════════════════════════════════════════ */
.page-product table,
.page-product .table,
.product-container table,
#product table {
    background-color: #111113 !important;
    color: #e4e4e7 !important;
}
.page-product table td,
.page-product table th,
.page-product .table td,
.page-product .table th,
.product-container table td,
.product-container table th,
#product table td,
#product table th {
    background-color: #111113 !important;
    color: #a1a1aa !important;
    border-color: #27272a !important;
}
.page-product table tr:nth-child(even) td,
.page-product .table tr:nth-child(even) td {
    background-color: #161618 !important;
}

/* ── Hide "Détails du produit" section on product pages ── */
.product-details,
#product-details,
.product-features,
.data-sheet,
.accordion-item:has(.data-sheet),
.accordion-item:has(.product-features) {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════
   93. QUOTE MODE — "Demander un devis" button
   ══════════════════════════════════════════════════════════ */
.ac-quote-cta {
    margin: 24px 0;
    text-align: left;
}
.ac-btn--quote,
a.ac-btn--quote,
a.ac-btn.ac-btn--quote,
.ac-quote-cta a,
.ac-quote-cta a.ac-btn,
.ac-quote-cta a.ac-btn--quote,
a.ac-btn--quote:link,
a.ac-btn--quote:visited {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 16px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    transition: all .25s ease !important;
    background-color: #ECBF18 !important;
    background: #ECBF18 !important;
    color: #09090b !important;
}
.ac-btn--quote svg,
a.ac-btn--quote svg,
.ac-quote-cta a svg,
.ac-quote-cta svg {
    flex-shrink: 0;
    color: #09090b !important;
    stroke: #09090b !important;
    fill: none !important;
}
.ac-btn--quote:hover,
a.ac-btn--quote:hover,
.ac-quote-cta a:hover {
    transform: translateY(-1px);
    color: #09090b !important;
    box-shadow: 0 6px 20px rgba(236,191,24,.3) !important;
}
.ac-quote-hint {
    margin-top: 12px;
    font-size: 13px;
    color: #71717a;
    line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════
   94. CONTACT PAGE — Custom Layout
   ══════════════════════════════════════════════════════════ */

/* ── Hero ── */
.ac-contact-hero {
    padding: 60px 0 40px;
    text-align: center;
    background: radial-gradient(ellipse at 50% 0%, rgba(236,191,24,.06) 0%, transparent 60%);
}
.ac-contact-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border: 1px solid rgba(236,191,24,.25);
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    color: #ECBF18;
    margin-bottom: 20px;
    background: rgba(236,191,24,.06);
}
.ac-contact-hero__title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(28px, 5vw, 42px);
    font-weight: 900;
    color: #fafafa;
    margin-bottom: 16px;
    letter-spacing: -.02em;
}
.ac-contact-hero__subtitle {
    font-size: clamp(15px, 2.5vw, 17px);
    color: #a1a1aa;
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Layout ── */
.ac-contact-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px 80px;
}
@media (max-width: 991.98px) {
    .ac-contact-layout {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 0 16px 60px;
    }
}

/* ── Form card ── */
.ac-contact-form-card {
    background: #111113;
    border: 1px solid #27272a;
    border-radius: 16px;
    padding: 32px;
}
/* Mobile : card invisible, champs directement sur fond sombre */
@media (max-width: 767.98px) {
    .ac-contact-form-card {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}
.ac-contact-form-card__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: #fafafa;
    margin-bottom: 28px;
    letter-spacing: -.01em;
}

/* ── Style native PS form inside our card ── */
/* Supprimer le double encadrement : la .contact-form est déjà DANS notre card */
.ac-contact-form-card .contact-form,
.ac-contact-form-card form.contact-form,
.ac-contact-form-card > form,
.ac-contact-form-card .form-fields,
.ac-contact-form-card .card,
.ac-contact-form-card .card-body,
.ac-contact-form-card .card-header,
.ac-contact-form-card .card-footer,
.ac-contact-form-card fieldset,
.ac-contact-form-card .form-wrapper,
.ac-contact-form-card .contact-form .form-fields,
.ac-contact-form-card .form-group-wrapper {
    max-width: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* Tuer TOUT encadrement résiduel dans le formulaire (boîtes fantômes Hummingbird) */
.ac-contact-form-card > *:not(.ac-contact-form-card__title),
.ac-contact-form-card form > *:not(.form-fields):not(button):not(input[type="submit"]):not(.form-group):not(label):not(div),
.ac-contact-form-card .contact-form > div:not(.form-fields):not(.form-group) {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.ac-contact-form-card label,
.ac-contact-form-card .form-label {
    color: #a1a1aa !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin-bottom: 6px !important;
}
.ac-contact-form-card input[type="text"],
.ac-contact-form-card input[type="email"],
.ac-contact-form-card input[type="tel"],
.ac-contact-form-card textarea,
.ac-contact-form-card select,
.ac-contact-form-card .form-control,
.ac-contact-form-card .form-select {
    background-color: #09090b !important;
    border: 1px solid #27272a !important;
    color: #e4e4e7 !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    transition: border-color .2s, box-shadow .2s !important;
}
.ac-contact-form-card input:focus,
.ac-contact-form-card textarea:focus,
.ac-contact-form-card select:focus,
.ac-contact-form-card .form-control:focus,
.ac-contact-form-card .form-select:focus {
    border-color: #ECBF18 !important;
    box-shadow: 0 0 0 3px rgba(236,191,24,.12) !important;
    outline: none !important;
}
.ac-contact-form-card textarea {
    min-height: 140px !important;
    resize: vertical !important;
}
.ac-contact-form-card select option {
    background: #111113 !important;
    color: #e4e4e7 !important;
}
.ac-contact-form-card .form-group,
.ac-contact-form-card .form-fields > div {
    margin-bottom: 20px !important;
}
/* Submit button */
.ac-contact-form-card input[type="submit"],
.ac-contact-form-card button[type="submit"],
.ac-contact-form-card .btn-primary {
    background: #ECBF18 !important;
    color: #09090b !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 32px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all .25s ease !important;
    width: 100% !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.ac-contact-form-card input[type="submit"]:hover,
.ac-contact-form-card button[type="submit"]:hover,
.ac-contact-form-card .btn-primary:hover {
    background: #f0c820 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(236,191,24,.3) !important;
}
/* File upload */
.ac-contact-form-card input[type="file"] {
    background: #09090b !important;
    border: 1px dashed #27272a !important;
    border-radius: 10px !important;
    padding: 12px !important;
    color: #a1a1aa !important;
}
.ac-contact-form-card input[type="file"]::file-selector-button {
    background: #27272a !important;
    color: #e4e4e7 !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    margin-right: 12px !important;
    cursor: pointer !important;
}
/* GDPR / consent checkboxes */
.ac-contact-form-card .custom-checkbox,
.ac-contact-form-card .form-check {
    color: #71717a !important;
    font-size: 13px !important;
}

/* ── Aside info cards ── */
.ac-contact-info-card {
    background: #111113;
    border: 1px solid #27272a;
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 16px;
}
.ac-contact-info-card--highlight {
    background: rgba(236,191,24,.04);
    border-color: rgba(236,191,24,.15);
}
.ac-contact-info-card__icon {
    margin-bottom: 12px;
}
.ac-contact-info-card__title {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #fafafa;
    margin-bottom: 8px;
}
.ac-contact-info-card__value {
    display: block;
    color: #ECBF18 !important;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none !important;
    margin-bottom: 4px;
}
.ac-contact-info-card__value:hover {
    color: #f0c820 !important;
    text-decoration: underline !important;
}
.ac-contact-info-card__hint {
    font-size: 13px;
    color: #71717a;
    line-height: 1.5;
    margin: 0;
}
.ac-contact-info-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ac-contact-info-card__list li {
    position: relative;
    padding: 6px 0 6px 18px;
    color: #a1a1aa;
    font-size: 14px;
    line-height: 1.5;
}
.ac-contact-info-card__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ECBF18;
}

/* ── Hide default PS page title (we have our hero) ── */
.page-contact .page-header,
.page-contact #main > h1 {
    display: none !important;
}

/* ── Captcha compatibility (contact form) ── */
.ac-contact-form-card .ac-recaptcha-wrap {
    margin: 16px auto !important;
}

/* ── Notification alerts in contact form ── */
.ac-contact-form-card .alert,
.page-contact .alert {
    border-radius: 10px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
}
.ac-contact-form-card .alert-success,
.page-contact .alert-success {
    background: rgba(34,197,94,.1) !important;
    border-color: rgba(34,197,94,.25) !important;
    color: #22c55e !important;
}
.ac-contact-form-card .alert-danger,
.page-contact .alert-danger {
    background: rgba(239,68,68,.1) !important;
    border-color: rgba(239,68,68,.25) !important;
    color: #ef4444 !important;
}

/* ══════════════════════════════════════════════════════════
   95. PAGE FAQ — LAYOUT COMPLET
   ══════════════════════════════════════════════════════════ */

#ac-faq-root {
    background: #09090b;
    width: 100%;
}

/* ── Héro ── */
.ac-faq-hero {
    text-align: center;
    padding: 60px 24px 44px;
    background: radial-gradient(ellipse at 50% 0%, rgba(236,191,24,.06) 0%, transparent 62%);
}

.ac-faq-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px;
    border: 1px solid rgba(236,191,24,.25);
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    color: #ECBF18;
    background: rgba(236,191,24,.06);
    margin-bottom: 20px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ac-faq-badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ECBF18;
    animation: ac-pulse 2s ease-in-out infinite;
}

.ac-faq-hero__title {
    font-size: clamp(26px, 5vw, 40px) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 14px !important;
    letter-spacing: -.02em;
    line-height: 1.2 !important;
}

.ac-faq-hero__sub {
    font-size: 16px;
    color: #a1a1aa;
    max-width: 540px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Corps ── */
.ac-faq-body {
    max-width: 820px !important;
    margin: 0 auto;
    padding: 0 16px 56px;
}

/* ── Filtres catégories ── */
.ac-faq-cats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 36px;
}

.ac-faq-cat {
    padding: 7px 18px;
    border: 1px solid #27272a;
    border-radius: 50px;
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 600;
    background: transparent;
    color: #a1a1aa;
    cursor: pointer;
    transition: all .2s ease;
    white-space: nowrap;
}

.ac-faq-cat:hover {
    border-color: rgba(236,191,24,.4);
    color: #ECBF18;
}

.ac-faq-cat.active {
    background: rgba(236,191,24,.1);
    border-color: rgba(236,191,24,.45);
    color: #ECBF18;
}

/* ── Sections ── */
.ac-faq-section {
    margin-bottom: 36px;
}

.ac-faq-section-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #ECBF18;
    margin-bottom: 12px;
    padding-left: 4px;
}

/* ── Items accordéon ── */
.ac-faq-item {
    border: 1px solid #27272a;
    border-radius: 12px;
    margin-bottom: 8px;
    overflow: hidden;
    transition: border-color .2s ease;
}

.ac-faq-item.open {
    border-color: rgba(236,191,24,.3);
}

.ac-faq-q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    cursor: pointer;
    gap: 16px;
    background: #111113;
    transition: background .15s ease;
}

.ac-faq-q:hover {
    background: #141416;
}

.ac-faq-q span {
    font-size: 15px;
    font-weight: 600;
    color: #e4e4e7;
    line-height: 1.4;
}

.ac-faq-item.open .ac-faq-q span {
    color: #ffffff;
}

.ac-faq-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #27272a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all .25s ease;
    background: #1a1a1c;
}

.ac-faq-item.open .ac-faq-icon {
    background: rgba(236,191,24,.1);
    border-color: rgba(236,191,24,.35);
}

.ac-faq-icon svg {
    transition: transform .25s ease;
}

.ac-faq-item.open .ac-faq-icon svg {
    transform: rotate(45deg);
}

/* ── Réponse ── */
.ac-faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .32s ease;
    background: #0d0d0f;
}

.ac-faq-a-inner {
    padding: 16px 20px 20px;
    font-size: 14px;
    color: #a1a1aa;
    line-height: 1.8;
    border-top: 1px solid #1e1e21;
}

.ac-faq-a-inner strong {
    color: #e4e4e7;
    font-weight: 600;
}

.ac-faq-a-inner a {
    color: #ECBF18;
    text-decoration: none;
}

.ac-faq-a-inner a:hover {
    color: #f5dfa0;
    text-decoration: underline;
}

/* ── Pied de page FAQ ── */
.ac-faq-footer {
    text-align: center;
    padding: 28px 16px 64px;
    border-top: 1px solid #1e1e21;
    max-width: 820px !important;
    margin: 0 auto;
}

.ac-faq-footer p {
    font-size: 15px;
    color: #a1a1aa;
    margin-bottom: 18px;
}

.ac-faq-cta,
a.ac-faq-cta,
a.ac-faq-cta:link,
a.ac-faq-cta:visited,
#ac-faq-root .ac-faq-cta,
#ac-faq-root a.ac-faq-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    background: #ECBF18 !important;
    color: #09090b !important;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none !important;
    transition: all .25s ease;
}

.ac-faq-cta:hover,
a.ac-faq-cta:hover,
#ac-faq-root .ac-faq-cta:hover,
#ac-faq-root a.ac-faq-cta:hover {
    background: #f0c820 !important;
    color: #09090b !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(236,191,24,.28);
}

.ac-faq-cta svg,
a.ac-faq-cta svg,
#ac-faq-root .ac-faq-cta svg {
    color: #09090b !important;
    stroke: #09090b !important;
    fill: none !important;
}

/* ── Masquer le contenu natif sur la page FAQ ── */
body.page-cms #ac-faq-root ~ #wrapper,
body.page-cms #ac-faq-root ~ .page-content,
body.cms-page #ac-faq-root ~ #content {
    display: none !important;
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
    .ac-faq-hero {
        padding: 44px 16px 32px;
    }

    .ac-faq-cats {
        gap: 6px;
    }

    .ac-faq-cat {
        padding: 6px 14px;
        font-size: 12px;
    }

    .ac-faq-q {
        padding: 15px 16px;
    }

    .ac-faq-q span {
        font-size: 14px;
    }

    .ac-faq-a-inner {
        padding: 14px 16px 18px;
    }
}

/* ══════════════════════════════════════════════════════════
   96. FOOTER CUSTOM — LAYOUT COMPLET
   ══════════════════════════════════════════════════════════ */

#ac-footer {
    font-family: 'Outfit', sans-serif;
    background: #09090b;
    border-top: 1px solid #1e1e21;
    color: #e4e4e7;
    margin-top: 0;
}

/* ── Grille principale ── */
.ac-ft-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 52px 24px 44px;
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1fr;
    gap: 48px;
}

/* ── Colonne Brand ── */
.ac-ft-brand-logo {
    display: flex;
    flex-direction: column;
    margin-bottom: 14px;
}

.ac-ft-brand-name {
    font-size: 18px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -.02em;
    line-height: 1.2;
}

.ac-ft-brand-sub,
#ac-footer .ac-ft-brand-sub {
    font-size: 11px;
    font-weight: 700;
    color: #ECBF18 !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-top: 2px;
}

.ac-ft-baseline {
    font-size: 13px;
    color: #71717a;
    line-height: 1.7;
    margin: 0 0 20px;
    font-style: italic;
}

.ac-ft-contacts {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ac-ft-contact-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #a1a1aa !important;
    text-decoration: none !important;
    transition: color .2s ease;
}

.ac-ft-contact-row:hover {
    color: #ECBF18 !important;
}

.ac-ft-contact-label {
    color: #52525b;
    font-size: 12px;
}

/* ── Colonnes liens ── */
.ac-ft-col-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #ffffff;
    margin-bottom: 18px;
}

.ac-ft-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.ac-ft-links li a {
    font-size: 14px;
    color: #a1a1aa !important;
    text-decoration: none !important;
    transition: color .2s ease;
    line-height: 1.4;
}

.ac-ft-links li a:hover {
    color: #ECBF18 !important;
}

/* Lien LMS — doré avec icône */
.ac-ft-lms-link {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    color: #ECBF18 !important;
    font-weight: 600 !important;
}

.ac-ft-lms-link:hover {
    color: #f5dfa0 !important;
}

.ac-ft-lms-link svg {
    stroke: #ECBF18;
    flex-shrink: 0;
}

/* Lien discret (déconnexion) */
.ac-ft-muted {
    color: #52525b !important;
    font-size: 13px !important;
}

.ac-ft-muted:hover {
    color: #a1a1aa !important;
}

/* ── Badge Made in France ── */
.ac-ft-france {
    padding: 20px 0 4px;
    text-align: center;
}

/* ── Rehackt Recrutement link ── */
.ac-ft-rehackt-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 8px 16px;
    border: 1px solid rgba(236,191,24,.15);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #a1a1aa !important;
    text-decoration: none !important;
    transition: all .2s;
    font-family: 'Outfit', sans-serif;
}
.ac-ft-rehackt-link:hover {
    color: #ECBF18 !important;
    border-color: rgba(236,191,24,.35);
    background: rgba(236,191,24,.04);
}

/* ── Barre basse ── */
.ac-ft-bottom {
    border-top: 1px solid #1a1a1c;
    background: #09090b;
}

.ac-ft-bottom-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.ac-ft-copyright {
    font-size: 12px;
    color: #3f3f46;
}

.ac-ft-legal-links {
    display: flex;
    gap: 20px;
}

.ac-ft-legal-links a {
    font-size: 12px;
    color: #3f3f46 !important;
    text-decoration: none !important;
    transition: color .2s ease;
}

.ac-ft-legal-links a:hover {
    color: #71717a !important;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
    .ac-ft-inner {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
        padding: 40px 20px 36px;
    }

    .ac-ft-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .ac-ft-inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 32px 16px;
    }

    .ac-ft-brand {
        grid-column: auto;
    }

    .ac-ft-bottom-inner {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        padding: 14px 16px;
    }

    .ac-ft-legal-links {
        gap: 14px;
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* ══════════════════════════════════════════════════════════
   97. CARTES PRODUIT — Masquer prix/panier/wishlist partout
   (site 100 % formation, pas d'e-commerce classique)
   ══════════════════════════════════════════════════════════ */

/* ── Masque prix partout ── */
.product-miniature .product-price-and-shipping,
.product-miniature .price,
.product-miniature .regular-price,
.product-miniature .current-price,
.product-miniature .current-price-value,
.product-miniature .product-price,
.product-miniature [itemprop="price"],
.js-product-miniature .product-price-and-shipping,
.js-product-miniature .price,
.js-product-miniature .regular-price,
.js-product-miniature .current-price,
.js-product-miniature .current-price-value,
.js-product-miniature .product-price,
.js-product-miniature [itemprop="price"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Masque panier / quantité / actions ── */
.product-miniature .add-to-cart,
.product-miniature button[data-button-action="add-to-cart"],
.product-miniature .product-quantity,
.product-miniature .qty,
.product-miniature .input-group,
.product-miniature .product-card-bottom,
.product-miniature .card-footer,
.product-miniature .product__card-footer,
.product-miniature .product-actions,
.product-miniature form.add-to-cart-or-refresh,
.js-product-miniature .add-to-cart,
.js-product-miniature button[data-button-action="add-to-cart"],
.js-product-miniature .product-quantity,
.js-product-miniature .product-card-bottom,
.js-product-miniature .card-footer,
.js-product-miniature .product-actions,
.js-product-miniature form.add-to-cart-or-refresh {
    display: none !important;
}

/* ── Masque wishlist (coeur) ── */
.product-miniature .wishlist-button-add,
.product-miniature .wishlist-button,
.product-miniature [class*="wishlist"],
.product-miniature .product-flag-wishlist,
.js-product-miniature .wishlist-button-add,
.js-product-miniature .wishlist-button,
.js-product-miniature [class*="wishlist"] {
    display: none !important;
}

/* ── Bouton « En savoir plus » (injecté par JS inline) ── */
.ac-more-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 14px;
    padding: 11px 18px;
    background: rgba(236,191,24,.08);
    border: 1px solid rgba(236,191,24,.30);
    border-radius: 10px;
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #ECBF18 !important;
    text-decoration: none !important;
    transition: all .25s ease;
    letter-spacing: .02em;
}

.ac-more-btn:hover {
    background: rgba(236,191,24,.15) !important;
    border-color: rgba(236,191,24,.55) !important;
    color: #f5dfa0 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(236,191,24,.15);
}

.ac-more-btn svg {
    flex-shrink: 0;
    stroke: currentColor;
    transition: transform .2s ease;
}

.ac-more-btn:hover svg {
    transform: translateX(3px);
    color: #ECBF18 !important;
}


/* ── Héro catégorie enrichi ── */
#ac-cat-hero {
    padding: 4px 0 8px;
}

.ac-cat-hero__eyebrow {
    display: flex;
    align-items: center;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #ECBF18;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.ac-cat-hero__title {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(22px, 3.5vw, 32px) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 14px !important;
    letter-spacing: -.02em;
    line-height: 1.25 !important;
}

.ac-cat-hero__sub {
    font-size: 14px;
    color: #a1a1aa;
    line-height: 1.75;
    margin: 0 0 20px;
    max-width: 680px;
}

.ac-cat-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.ac-cat-pill {
    padding: 5px 12px;
    background: rgba(236,191,24,.06);
    border: 1px solid rgba(236,191,24,.15);
    border-radius: 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #e4e4e7;
}

.ac-cat-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #ECBF18 !important;
    text-decoration: none !important;
    transition: gap .2s;
    border: none;
    background: transparent;
    padding: 0;
}

.ac-cat-hero__cta:hover {
    gap: 12px;
    color: #f5dfa0 !important;
}

.ac-cat-hero__cta svg {
    stroke: currentColor;
    flex-shrink: 0;
    transition: stroke .2s;
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
    .ac-cat-hero__pills {
        gap: 6px;
    }
    .ac-cat-pill {
        font-size: 11px;
        padding: 4px 10px;
    }
    .ac-more-btn {
        font-size: 12px;
        padding: 9px 14px;
    }
}

/* ══════════════════════════════════════════════════════════
   98. MODE DEVIS — Masquage prix + label "Sur devis"
   Fonctionne via .ac-product-devis (ajoutée par JS
   à partir de window.AC_QUOTE_IDS injecté par PHP)
   ══════════════════════════════════════════════════════════ */

/* ── Masquer le prix sur les cartes devis ── */

/* Approche 1 : par attribut data-id-product (pas de JS nécessaire) */
article[data-id-product="5"] .product-miniature__prices,
article[data-id-product="5"] .product-miniature__price,
article[data-id-product="5"] .product-miniature__discount-price,
article[data-id-product="5"] .product-miniature__infos__bottom > form {
    display: none !important;
}

/* Approche 2 : par classe ac-product-devis (ajoutée par JS) avec haute spécificité */
article.product-miniature.ac-product-devis .product-miniature__prices,
article.product-miniature.ac-product-devis .product-miniature__infos__bottom .product-miniature__prices,
article.product-miniature.ac-product-devis span.product-miniature__price,
article.product-miniature.ac-product-devis .product-miniature__discount-price,
article.product-miniature.ac-product-devis .product-miniature__infos__bottom > form,
.ac-product-devis .product-price-and-shipping,
.ac-product-devis .price,
.ac-product-devis .regular-price,
.ac-product-devis .current-price,
.ac-product-devis .current-price-value,
.ac-product-devis .product-price,
.ac-product-devis .product-miniature__prices,
.ac-product-devis .product__prices,
.ac-product-devis [itemprop="price"],
.ac-product-devis [itemprop="offers"],
.ac-product-devis span[aria-label*="rix"],
.ac-product-devis .product-miniature__price {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* ── Label "Sur devis" ── */
.ac-devis-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 14px auto 0;
    padding: 0 20px !important;
    background: transparent !important;
    border: 1px solid rgba(236,191,24,.30) !important;
    border-radius: 24px;
    font-family: 'Outfit', sans-serif;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #ECBF18 !important;
    letter-spacing: .02em;
    text-transform: uppercase;
    height: 40px;
    box-sizing: border-box;
}
/* Forcer le masquage de l'icône si JS en cache */
.ac-devis-label svg {
    display: none !important;
}
/* Centrer le label devis dans le flux harmonisé */
.ac-product-devis .product-miniature__infos__bottom {
    align-items: center !important;
}

/* ── Bulle de prix (produits non-devis) ── */
.product-miniature:not(.ac-product-devis) .product-miniature__prices {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    margin-top: 8px;
}
.product-miniature:not(.ac-product-devis) .product-miniature__price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px !important;
    border: 1px solid rgba(236,191,24,.30);
    border-radius: 24px;
    font-family: 'Outfit', sans-serif;
    font-size: 16px !important;
    font-weight: 700;
    color: #ECBF18 !important;
    letter-spacing: .02em;
    background: transparent;
    height: 40px;
    box-sizing: border-box;
}


/* ── Page produit (masquage serveur) : label "Sur devis" ── */
body.ac-product-devis-page .product-prices,
body.ac-product-devis-page .current-price,
body.ac-product-devis-page .product-price,
body.ac-product-devis-page .product-discount,
body.ac-product-devis-page .tax-shipping-delivery-label,
body.ac-product-devis-page .product-price-and-shipping,
body.ac-product-devis-page [itemprop="price"] {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════
   99. TARTEAUCITRON — Override dark mode / gold
   ══════════════════════════════════════════════════════════ */
#tarteaucitronRoot #tarteaucitronAlertBig {
    background: #111113 !important;
    border-top: 1px solid rgba(236,191,24,.25) !important;
    font-family: 'Outfit', sans-serif !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    color: #a1a1aa !important;
    font-size: 13px !important;
}
#tarteaucitronRoot #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAllAllowed {
    background: #ECBF18 !important;
    color: #09090b !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-family: 'Outfit', sans-serif !important;
    border: none !important;
}
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronCloseAlert {
    background: transparent !important;
    color: #a1a1aa !important;
    border: 1px solid #27272a !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-family: 'Outfit', sans-serif !important;
}
#tarteaucitronRoot #tarteaucitronPersonalize2 {
    background: transparent !important;
    color: #ECBF18 !important;
    border: 1px solid rgba(236,191,24,.3) !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-family: 'Outfit', sans-serif !important;
}
#tarteaucitronRoot #tarteaucitron {
    background: #09090b !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    background: #18181b !important;
    border-color: #27272a !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
}
#tarteaucitronRoot .tarteaucitronLine {
    background: #111113 !important;
    border-color: #27272a !important;
}
#tarteaucitronRoot .tarteaucitronName .tarteaucitronH3 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
}
#tarteaucitronRoot .tarteaucitronName span {
    color: #a1a1aa !important;
}
#tarteaucitronRoot .tarteaucitronAllow {
    background: #ECBF18 !important;
    color: #09090b !important;
    border-radius: 6px !important;
}
#tarteaucitronRoot .tarteaucitronDeny {
    background: #27272a !important;
    color: #a1a1aa !important;
    border-radius: 6px !important;
}
#tarteaucitronRoot #tarteaucitronAlertSmall {
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 8px !important;
}
#tarteaucitronRoot #tarteaucitronCookiesNumber {
    background: #ECBF18 !important;
    color: #09090b !important;
}
#tarteaucitronRoot #tarteaucitronCookiesListContainer {
    background: #09090b !important;
}

/* ── Tarteaucitron panneau de détail — polish ── */

/* Fond overlay (panneau détail uniquement) */
#tarteaucitronRoot #tarteaucitronBack {
    background: rgba(9,9,11,.85) !important;
    opacity: 1 !important;
}

/* Panneau principal */
#tarteaucitronRoot #tarteaucitron {
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0,0,0,.5) !important;
    max-width: 760px !important;
    width: 92vw !important;
    margin: 30px auto !important;
    overflow: hidden !important;
    max-height: 85vh !important;
}

/* Bouton Fermer — gros, visible, en haut à droite */
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    background: #18181b !important;
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border: 1px solid #3f3f46 !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 10 !important;
    cursor: pointer !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:hover {
    background: #27272a !important;
    border-color: #ECBF18 !important;
    color: #ECBF18 !important;
}

/* Titre "Panneau de gestion des cookies" */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1,
#tarteaucitronRoot #tarteaucitron .tarteaucitronH1,
#tarteaucitronRoot #dialogTitle {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    padding-right: 100px !important;
}

/* Description sous le titre */
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
    background: #18181b !important;
    border: none !important;
    padding: 0 24px 16px !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronMainLineOffset {
    background: transparent !important;
    border: 1px solid #27272a !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    margin: 0 !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronMainLineOffset span {
    color: #a1a1aa !important;
    font-size: 13px !important;
    font-family: 'Outfit', sans-serif !important;
    line-height: 1.5 !important;
}

/* Barre "Préférences pour tous les services" */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    background: #18181b !important;
    border: none !important;
    border-bottom: 1px solid #27272a !important;
    border-radius: 0 !important;
    padding: 14px 24px !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* Catégories (Cookies obligatoires, Mesure d'audience) */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle {
    background: #09090b !important;
    border: none !important;
    border-top: 1px solid #27272a !important;
    padding: 14px 24px !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button {
    color: #ECBF18 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
}

/* Lignes de service individuelles */
#tarteaucitronRoot .tarteaucitronLine {
    background: #111113 !important;
    border: none !important;
    border-bottom: 1px solid rgba(39,39,42,.5) !important;
    padding: 14px 24px !important;
}
#tarteaucitronRoot .tarteaucitronLine:last-child {
    border-bottom: none !important;
}

/* Descriptions des services */
#tarteaucitronRoot .tarteaucitronName .tarteaucitronH3 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
#tarteaucitronRoot .tarteaucitronName span {
    color: #71717a !important;
    font-size: 12px !important;
    font-family: 'Outfit', sans-serif !important;
}

/* Liens "En savoir plus" / "Voir le site officiel" */
#tarteaucitronRoot .tarteaucitronName a {
    color: #ECBF18 !important;
    font-size: 12px !important;
    text-decoration: none !important;
}
#tarteaucitronRoot .tarteaucitronName a:hover {
    text-decoration: underline !important;
}

/* Boutons Autoriser / Interdire dans le panneau */
#tarteaucitronRoot .tarteaucitronAllow {
    background: #ECBF18 !important;
    color: #09090b !important;
    border-radius: 8px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 8px 16px !important;
}
#tarteaucitronRoot .tarteaucitronDeny {
    background: transparent !important;
    color: #a1a1aa !important;
    border: 1px solid #27272a !important;
    border-radius: 8px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 8px 16px !important;
}

/* Bouton "Enregistrer" */
#tarteaucitronRoot #tarteaucitron #tarteaucitronSave button {
    background: #ECBF18 !important;
    color: #09090b !important;
    border-radius: 10px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: none !important;
    padding: 12px 32px !important;
}

/* Footer "TARTE AU CITRON" */
#tarteaucitronRoot #tarteaucitron .tarteaucitronSelfLink {
    color: #3f3f46 !important;
    font-size: 11px !important;
    opacity: .5 !important;
}

/* Bouton Fermer — hover déjà géré au-dessus */

/* Boutons "Tout accepter" / "Tout refuser" du panneau */
#tarteaucitronRoot .tarteaucitronAllow.tarteaucitronIsAllowed {
    background: #ECBF18 !important;
    color: #09090b !important;
    opacity: 1 !important;
}
#tarteaucitronRoot .tarteaucitronDeny.tarteaucitronIsDenied {
    background: #27272a !important;
    color: #fafafa !important;
    opacity: 1 !important;
}

/* ── Tarteaucitron petit widget bottom-right ── */
#tarteaucitronRoot #tarteaucitronAlertSmall {
    background: #111113 !important;
    border: 1px solid rgba(236,191,24,.2) !important;
    border-radius: 10px !important;
    font-family: 'Outfit', sans-serif !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.4) !important;
}
#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronManager {
    background: #111113 !important;
    color: #a1a1aa !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 8px 14px !important;
    border: none !important;
}
#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen {
    background: #ECBF18 !important;
}
#tarteaucitronRoot #tarteaucitronCookiesNumber {
    background: #ECBF18 !important;
    color: #09090b !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    border-radius: 6px !important;
    padding: 2px 6px !important;
}
/* Liste déroulante des cookies */
#tarteaucitronRoot #tarteaucitronCookiesListContainer {
    background: #111113 !important;
    border: 1px solid #27272a !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.4) !important;
}
#tarteaucitronRoot #tarteaucitronCookiesListContainer #tarteaucitronCookiesList {
    font-family: 'Outfit', sans-serif !important;
}
#tarteaucitronRoot #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain {
    background: #18181b !important;
    color: #fafafa !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 10px 14px !important;
}
#tarteaucitronRoot #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListLeft {
    background: #111113 !important;
    color: #a1a1aa !important;
    font-size: 12px !important;
    border: none !important;
    border-bottom: 1px solid rgba(39,39,42,.5) !important;
    padding: 8px 14px !important;
}
#tarteaucitronRoot #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListLeft a {
    color: #ECBF18 !important;
}
/* Bouton Fermer de la liste */
#tarteaucitronRoot #tarteaucitronClosePanelCookie {
    background: #18181b !important;
    color: #a1a1aa !important;
    font-family: 'Outfit', sans-serif !important;
    border: none !important;
}

/* ── Tarteaucitron — Fix chevauchement texte dans le panneau ── */
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails {
    background: #111113 !important;
    color: #a1a1aa !important;
    font-size: 13px !important;
    font-family: 'Outfit', sans-serif !important;
    line-height: 1.5 !important;
    padding: 10px 24px 14px !important;
    display: block !important;
    clear: both !important;
}
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronName {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronAsk {
    float: none !important;
    display: flex !important;
    gap: 8px !important;
    margin-top: 10px !important;
    justify-content: flex-end !important;
}
#tarteaucitronRoot .tarteaucitronLine {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    clear: both !important;
}
/* Fix largeur des éléments flottants */
#tarteaucitronRoot #tarteaucitronServices ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#tarteaucitronRoot #tarteaucitronServices li.tarteaucitronLine {
    overflow: visible !important;
}
/* Nom du service (ex: Google Analytics) */
#tarteaucitronRoot .tarteaucitronName .tarteaucitronH3 {
    margin-bottom: 2px !important;
    display: block !important;
}
/* Description du service */
#tarteaucitronRoot .tarteaucitronName span.tarteaucitronListCookies {
    display: block !important;
    color: #71717a !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}
/* Description de la catégorie */
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronTitle + div,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails {
    padding: 10px 24px !important;
    font-size: 13px !important;
    color: #71717a !important;
    line-height: 1.5 !important;
    background: #0e0e10 !important;
    border-bottom: 1px solid rgba(39,39,42,.5) !important;
}
/* Fix la barre "Préférences" */
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronAsk {
    float: none !important;
    display: flex !important;
    gap: 8px !important;
}
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

/* ── Tarteaucitron — Masquer le widget bottom + liste cookies ── */
/* Masquer complètement le petit widget "Gestion des services" */
#tarteaucitronRoot #tarteaucitronAlertSmall {
    display: none !important;
}
/* Liste déroulante des cookies — tout dark */
#tarteaucitronRoot #tarteaucitronCookiesListContainer,
#tarteaucitronRoot #tarteaucitronCookiesListContainer * {
    background: #111113 !important;
    color: #a1a1aa !important;
    border-color: #27272a !important;
    font-family: 'Outfit', sans-serif !important;
}
#tarteaucitronRoot #tarteaucitronCookiesListContainer .tarteaucitronCookiesListMain {
    background: #18181b !important;
    color: #fafafa !important;
    font-weight: 600 !important;
}
#tarteaucitronRoot #tarteaucitronCookiesListContainer a {
    color: #ECBF18 !important;
}

/* ── reCAPTCHA — Carte claire + accent gold ── */
.ac-recaptcha-wrap {
    margin: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ac-recaptcha-wrap .g-recaptcha,
.page-authentication .g-recaptcha,
.login-form .g-recaptcha,
.register-form .g-recaptcha {
    background: #fafafa !important;
    border: 1.5px solid #ECBF18 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    padding: 2px !important;
}
.g-recaptcha > div {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.g-recaptcha > div > div {
    background: transparent !important;
    border: none !important;
}
.ac-rc-err {
    color: #ef4444;
    font-size: 13px;
    text-align: center;
    margin: 8px auto;
    font-family: 'Outfit', sans-serif;
    max-width: 320px;
}
@media (max-width: 400px) {
    .ac-recaptcha-wrap {
        transform: scale(0.90);
        transform-origin: center center;
    }
}
@media (max-width: 340px) {
    .ac-recaptcha-wrap {
        transform: scale(0.78);
        transform-origin: center center;
    }
}

/* ══════════════════════════════════════════════════════════
   CORRECTIF LISIBILITÉ — Connexion + Inscription (v3.2.9-fix)
   Renfort de tous les éléments de formulaire sur fond dark
   ══════════════════════════════════════════════════════════ */

/* --- Labels des champs (Prénom, Nom, E-mail, Mot de passe…) --- */
body.page-authentication label,
body.page-authentication .form-label,
body.page-registration label,
body.page-registration .form-label,
body.page-authentication .register-form label,
body.page-registration .register-form label {
    color: #fafafa !important;
    font-weight: 600 !important;
    font-family: 'Outfit', sans-serif !important;
}

/* --- Texte saisi dans les champs --- */
body.page-authentication .form-control,
body.page-authentication input[type="text"],
body.page-authentication input[type="email"],
body.page-authentication input[type="password"],
body.page-registration .form-control,
body.page-registration input[type="text"],
body.page-registration input[type="email"],
body.page-registration input[type="password"] {
    color: #fafafa !important;
    background-color: #111113 !important;
    border: 1px solid #3f3f46 !important;
    caret-color: #ECBF18 !important;
}
body.page-authentication .form-control::placeholder,
body.page-registration .form-control::placeholder,
body.page-authentication input::placeholder,
body.page-registration input::placeholder {
    color: #71717a !important;
    opacity: 1 !important;
}
body.page-authentication .form-control:focus,
body.page-registration .form-control:focus {
    color: #fafafa !important;
    background-color: #111113 !important;
    border-color: #ECBF18 !important;
    box-shadow: 0 0 0 3px rgba(236,191,24,.10) !important;
}

/* --- Labels des checkboxes (RGPD, newsletter, confidentialité) --- */
body.page-authentication .form-check-label,
body.page-registration .form-check-label,
body.page-authentication .custom-control-label,
body.page-registration .custom-control-label {
    color: #e4e4e7 !important;
    font-size: 14px !important;
}
/* Texte italic dans les checkboxes (mentions légales) */
body.page-authentication .form-check-label em,
body.page-registration .form-check-label em {
    color: #d4d4d8 !important;
}

/* --- Texte d'aide sous les champs --- */
body.page-authentication .form-text,
body.page-authentication .help-block,
body.page-authentication small,
body.page-registration .form-text,
body.page-registration .help-block,
body.page-registration small {
    color: #a1a1aa !important;
}

/* --- Titres h1 (« Connexion », « Créez votre compte ») --- */
body.page-authentication h1,
body.page-authentication .h4,
body.page-registration h1,
body.page-registration .h4 {
    color: #fafafa !important;
    font-family: 'Outfit', sans-serif !important;
}

/* --- Liens « Mot de passe oublié ? », « Connexion », « Créez votre compte » --- */
body.page-authentication a,
body.page-registration a {
    color: #ECBF18 !important;
}
body.page-authentication a:hover,
body.page-registration a:hover {
    color: #f5dfa0 !important;
}
/* Exclure les boutons et le header/footer de ce gold forcé */
body.page-authentication header a,
body.page-registration header a,
body.page-authentication #ac-footer a,
body.page-registration #ac-footer a,
body.page-authentication .breadcrumb a,
body.page-registration .breadcrumb a,
body.page-authentication #ac-mobile-header a,
body.page-registration #ac-mobile-header a,
body.page-authentication #ac-drawer a,
body.page-registration #ac-drawer a {
    color: unset !important;
}
body.page-authentication .btn-primary,
body.page-registration .btn-primary {
    color: #09090b !important;
}
body.page-authentication .btn-outline-primary,
body.page-registration .btn-outline-primary {
    color: #ECBF18 !important;
}
body.page-authentication .btn-outline-primary:hover,
body.page-registration .btn-outline-primary:hover {
    color: #09090b !important;
}

/* --- Sous-titres « Pas de compte ? » --- */
body.page-authentication .login__register-prompt h2,
body.page-authentication .login__register-prompt .h4 {
    color: #fafafa !important;
}
body.page-authentication .login__register-prompt p,
body.page-authentication .login__register-prompt span {
    color: #d4d4d8 !important;
}

/* --- « Vous avez déjà un compte ? Connexion » sur la page inscription --- */
body.page-registration .register-form__login-prompt,
body.page-registration .register-form__login-prompt a,
body.page-registration .register-form ~ p,
body.page-registration .register-form ~ p a {
    color: #ECBF18 !important;
}

/* --- Breadcrumb lisible --- */
body.page-authentication .breadcrumb-item,
body.page-authentication .breadcrumb-item a,
body.page-authentication .breadcrumb-item span,
body.page-registration .breadcrumb-item,
body.page-registration .breadcrumb-item a,
body.page-registration .breadcrumb-item span {
    color: #a1a1aa !important;
}

/* --- Password strength feedback --- */
body.page-authentication .password-strength-text,
body.page-registration .password-strength-text {
    color: #d4d4d8 !important;
}
body.page-authentication .password-requirements p,
body.page-authentication .password-requirements span,
body.page-registration .password-requirements p,
body.page-registration .password-requirements span {
    color: #a1a1aa !important;
}

/* --- Séparateur hr --- */
body.page-authentication hr,
body.page-registration hr {
    border-color: #27272a !important;
    opacity: 1 !important;
}
