/* Le Bon Contact - Override CSS pour thème blck-v5.0.0 */

/* Variables CSS */
:root {
    --charcoal: #1a1a1a;
    --gold: #d4af37;
    --gold-light: #e5c158;
    --accent: #d4af37;
    --background: #ffffff;
    --foreground: #1a1a1a;
    --muted-foreground: #6b7280;
    --border: #e5e7eb;
    --card: #ffffff;
    --secondary: #f9fafb;
    --primary: #1a1a1a;
    --primary-foreground: #ffffff;
    --spacing: 0.25rem;
}

#products .products-section-title,
.featured-products .products-section-title,
.product-accessories .products-section-title {
    display: none !important;
}

#blockEmailSubscription_displayFooterBefore {
    display: none!important;
}

#footer {
    padding-top: 0rem!important;
}

#contact-infos {
    color: rgba(255, 255, 255, 0.6) !important;
}

@media (max-width: 767px) {
    .footer-container .links ul {
        background-color: #1a1a1a!important;
    }
}

/* Import des polices */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap');

/* Reset et base */
* {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: var(--foreground) !important;
    background-color: #ffffff !important;
    padding-top: 64px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

@media (min-width: 1201px) {
    body {
        padding-top: 80px !important;
    }
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 500 !important;
    color: var(--foreground) !important;
    line-height: 1.2 !important;
}

/* Masquer les anciens éléments de header PrestaShop */
.header-banner,
.header-nav:not(.leboncontact-header__nav),
.display-nav-full-width:not(.leboncontact-header),
#header .header-top:not(.leboncontact-header),
#header .header-nav:not(.leboncontact-header__nav),
#header .header-banner {
    display: none !important;
}

/* Masquer tous les modules PrestaShop dans le header (recherche, panier, compte) */
.leboncontact-header__prestashop-modules,
#search_widget,
.search-widget,
#header .search-widget,
#header #search_widget,
#header form[action*="search"],
#header input[type="search"],
#header .search-form {
    display: none !important;
}

/* Masquer le panier et le compte par défaut */
#_desktop_cart,
#_desktop_user_info,
.blockcart,
.user-info,
.account,
#header .blockcart,
#header .user-info,
#header .account,
#header #_desktop_cart,
#header #_desktop_user_info {
    display: none !important;
}

/* Masquer aussi dans les autres headers */
header:not(.leboncontact-header) #_desktop_cart,
header:not(.leboncontact-header) #_desktop_user_info,
header:not(.leboncontact-header) .blockcart,
header:not(.leboncontact-header) .user-info,
header:not(.leboncontact-header) .account {
    display: none !important;
}

/* Afficher le panier et le compte uniquement dans les sections shop-actions */
.leboncontact-header__shop-actions>*,
.leboncontact-header__shop-actions #_desktop_cart,
.leboncontact-header__shop-actions #_desktop_user_info,
.leboncontact-header__shop-actions .blockcart,
.leboncontact-header__shop-actions .user-info,
.leboncontact-header__shop-actions .account,
.leboncontact-header__shop-actions [id*="cart"],
.leboncontact-header__shop-actions [id*="user"],
.leboncontact-header__shop-actions [id*="account"],
.leboncontact-header__shop-actions [class*="cart"],
.leboncontact-header__shop-actions [class*="user"],
.leboncontact-header__shop-actions [class*="account"],
.leboncontact-header__shop-actions .ps_shoppingcart,
.leboncontact-header__shop-actions .ps_customersignin,
.leboncontact-header__shop-actions-mobile>*,
.leboncontact-header__shop-actions-mobile #_desktop_cart,
.leboncontact-header__shop-actions-mobile #_desktop_user_info,
.leboncontact-header__shop-actions-mobile .blockcart,
.leboncontact-header__shop-actions-mobile .user-info,
.leboncontact-header__shop-actions-mobile .account,
.leboncontact-header__shop-actions-mobile [id*="cart"],
.leboncontact-header__shop-actions-mobile [id*="user"],
.leboncontact-header__shop-actions-mobile [id*="account"],
.leboncontact-header__shop-actions-mobile [class*="cart"],
.leboncontact-header__shop-actions-mobile [class*="user"],
.leboncontact-header__shop-actions-mobile [class*="account"],
.leboncontact-header__shop-actions-mobile .ps_shoppingcart,
.leboncontact-header__shop-actions-mobile .ps_customersignin {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: auto !important;
    max-height: none !important;
    max-width: none !important;
}

/* Styles pour le panier et le compte dans le header */
.leboncontact-header__shop-actions>*,
.leboncontact-header__shop-actions #_desktop_cart,
.leboncontact-header__shop-actions #_desktop_user_info,
.leboncontact-header__shop-actions .blockcart,
.leboncontact-header__shop-actions .user-info,
.leboncontact-header__shop-actions .account,
.leboncontact-header__shop-actions [id*="cart"],
.leboncontact-header__shop-actions [id*="user"],
.leboncontact-header__shop-actions [id*="account"],
.leboncontact-header__shop-actions [class*="cart"],
.leboncontact-header__shop-actions [class*="user"],
.leboncontact-header__shop-actions [class*="account"],
.leboncontact-header__shop-actions .ps_shoppingcart,
.leboncontact-header__shop-actions .ps_customersignin {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

/* Styles pour les icônes Material Icons dans le panier et le compte */
.leboncontact-header__shop-actions .material-icons,
.leboncontact-header__shop-actions-mobile .material-icons,
.leboncontact-header__shop-actions i.material-icons,
.leboncontact-header__shop-actions-mobile i.material-icons,
.leboncontact-header__shop-actions i[class*="material"],
.leboncontact-header__shop-actions-mobile i[class*="material"],
.leboncontact-header__shop-actions .icon,
.leboncontact-header__shop-actions-mobile .icon {
    font-family: 'Material Icons', 'Material Icons Outlined', 'Material Icons Round', 'Material Icons Sharp' !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-size: 24px !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    direction: ltr !important;
    color: rgba(26, 26, 26, 0.8) !important;
    vertical-align: middle !important;
    -webkit-font-feature-settings: 'liga' !important;
    -webkit-font-smoothing: antialiased !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.leboncontact-header__shop-actions .blockcart a,
.leboncontact-header__shop-actions .user-info a,
.leboncontact-header__shop-actions .account,
.leboncontact-header__shop-actions a[href*="cart"],
.leboncontact-header__shop-actions a[href*="my-account"],
.leboncontact-header__shop-actions a[href*="authentication"] {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    transition: color 0.3s ease !important;
    padding: 0.5rem 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.leboncontact-header__shop-actions .blockcart a:hover,
.leboncontact-header__shop-actions .user-info a:hover,
.leboncontact-header__shop-actions .account:hover {
    color: #1a1a1a !important;
}

.leboncontact-header__shop-actions .cart-products-count {
    font-size: 0.875rem !important;
    color: rgba(26, 26, 26, 0.8) !important;
}

.leboncontact-header__shop-actions-mobile {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}

.leboncontact-header__shop-actions-mobile #_desktop_cart,
.leboncontact-header__shop-actions-mobile #_desktop_user_info,
.leboncontact-header__shop-actions-mobile .blockcart,
.leboncontact-header__shop-actions-mobile .user-info,
.leboncontact-header__shop-actions-mobile .account {
    width: 100% !important;
    padding: 0.5rem 0 !important;
    display: block !important;
}

.leboncontact-header__shop-actions-mobile .blockcart a,
.leboncontact-header__shop-actions-mobile .user-info a,
.leboncontact-header__shop-actions-mobile .account,
.leboncontact-header__shop-actions-mobile .account a {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    padding: 0.5rem 0 !important;
    transition: color 0.3s ease !important;
}

.leboncontact-header__shop-actions-mobile .blockcart a:hover,
.leboncontact-header__shop-actions-mobile .user-info a:hover,
.leboncontact-header__shop-actions-mobile .account:hover,
.leboncontact-header__shop-actions-mobile .account a:hover {
    color: #1a1a1a !important;
}

.leboncontact-header__shop-actions-mobile .material-icons {
    font-size: 24px !important;
    color: rgba(26, 26, 26, 0.8) !important;
}

/* Masquer les duplications potentielles */
#header>header:not(.leboncontact-header),
#header>nav:not(.leboncontact-header__nav),
#header>div:not(:has(.leboncontact-header)):not(.leboncontact-header__container) {
    display: none !important;
}

/* S'assurer que seul notre header est visible */
#header {
    position: relative !important;
}

#header .leboncontact-header {
    display: block !important;
}

/* Header - Style fixe avec backdrop-blur - Structure unifiée */
.leboncontact-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1050 !important;
    background-color: color-mix(in oklab, #faf8f5 95%, transparent) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 64px !important;
    max-height: none !important;
    overflow: visible !important;
}

@media (min-width: 1201px) {
    .leboncontact-header {
        min-height: 80px !important;
    }
}

.leboncontact-header__container {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

@media (min-width: 640px) {
    .leboncontact-header__container {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

@media (min-width: 1201px) {
    .leboncontact-header__container {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

.product-flags,
.blockreassurance_product {
    display: none !important;
}

#header {
    position: relative !important;
    z-index: 1050 !important;
    height: auto !important;
    /*min-height: 64px !important;*/
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

@media (min-width: 1201px) {
    #header {
        min-height: 0px !important;
    }
}

/* S'assurer que le header ne prend pas toute la hauteur */
#header>* {
    height: auto !important;
    max-height: none !important;
}

/* Empêcher le header de prendre toute la page */
.leboncontact-header,
.leboncontact-header .container,
.leboncontact-header .row,
.leboncontact-header .col-12 {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}


.leboncontact-header__inner {
    height: 64px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
}

@media (min-width: 1201px) {
    .leboncontact-header__inner {
        height: 80px !important;
        flex-wrap: nowrap !important;
    }
}

.leboncontact-header__inner>* {
    flex-shrink: 0 !important;
}

/* S'assurer que le groupe logo est bien un enfant direct et ne s'étire pas */
.leboncontact-header__inner>.leboncontact-header__logo-group {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* Conteneur pour regrouper logo + texte */
.leboncontact-header__logo-group {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* S'assurer que le h1 dans le groupe logo ne prend pas toute la largeur */
.leboncontact-header__logo-group h1 {
    width: auto !important;
    max-width: none !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* S'assurer que le lien dans le groupe logo ne s'étire pas */
.leboncontact-header__logo-group .leboncontact-header__logo-link {
    width: auto !important;
    max-width: none !important;
    flex-shrink: 0 !important;
}

/* Logo avec texte - Image à gauche, texte à droite */
.leboncontact-header__logo-link {
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-decoration: none !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    margin-right: 0 !important;
}

/* S'assurer que le h1 qui contient le logo-link est en flex row */
.leboncontact-header__inner>h1 {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* Forcer tous les enfants directs du logo-link (sauf div texte) à être inline */
.leboncontact-header__logo-link>*:not(div.d-flex.flex-column) {
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    vertical-align: middle !important;
}

/* S'assurer que l'image/logo est à gauche et ne force pas de retour à la ligne */
.leboncontact-header__logo-link img,
.leboncontact-header__logo-link .logo,
.leboncontact-header__logo-link>img,
.leboncontact-header__logo-link>.logo,
.leboncontact-header__logo-link>a img,
.leboncontact-header__logo-link>a .logo,
.leboncontact-header__logo-link>span img,
.leboncontact-header__logo-link>span .logo {
    display: inline-block !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    vertical-align: middle !important;
    width: auto !important;
    max-width: none !important;
}

/* Si renderLogo génère un lien, s'assurer qu'il est inline */
.leboncontact-header__logo-link>a {
    display: inline-block !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    vertical-align: middle !important;
}

/* S'assurer que le div avec le texte est à droite et ne force pas de retour à la ligne */
.leboncontact-header__logo-link>div.d-flex.flex-column,
.leboncontact-header__logo-link .d-flex.flex-column,
.leboncontact-header__logo-group .d-flex.flex-column {
    display: flex !important;
    flex-direction: column !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
}

/* Supprimer les marges Bootstrap ms-3 qui pourraient créer un double espacement */
.leboncontact-header__logo-link .ms-3 {
    margin-left: 0 !important;
}

/* Empêcher les retours à la ligne dans le conteneur logo */
.leboncontact-header__logo-link {
    white-space: nowrap !important;
}

/* Permettre le retour à la ligne dans le texte du logo (titre et sous-titre) */
.leboncontact-header__logo-link .logo-title,
.leboncontact-header__logo-link .logo-subtitle,
.leboncontact-header__logo-group .logo-title,
.leboncontact-header__logo-group .logo-subtitle {
    white-space: normal !important;
    display: block !important;
    text-align: left !important;
}

/* Gap utility pour Bootstrap */
.gap-3 {
    gap: calc(var(--spacing) * 3) !important;
}

.gap-4 {
    gap: 1rem !important;
}

.gap-6 {
    gap: 1.5rem !important;
}

/* Supprimer les marges du lien logo */
.leboncontact-header__logo-link>a,
.leboncontact-header__logo-link a {
    margin-right: 0 !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

/* Forcer la taille du logo à 44x44, même avec img-fluid et attributs width/height inline */
.leboncontact-header__logo-link img,
.leboncontact-header__logo-link .logo,
.leboncontact-header__logo-link .logo.img-fluid,
.leboncontact-header__logo-link img.img-fluid,
.leboncontact-header__logo-link .logo img,
.leboncontact-header__logo-link a img,
.leboncontact-header__logo-link a .logo,
.leboncontact-header__logo-link>img,
.leboncontact-header__logo-link>a>img,
.leboncontact-header__logo-link>a>.logo {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 8px !important;
    object-fit: contain !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    margin-right: 15px !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* S'assurer que tous les logos dans le header font 44x44 */
#header img[alt*="logo"],
#header img[alt*="Logo"],
.leboncontact-header img,
.leboncontact-header .logo,
.leboncontact-header .logo.img-fluid,
.leboncontact-header img.img-fluid {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
}

/* S'assurer que les images dans le groupe logo ont le bon espacement */
.leboncontact-header__logo-group img,
.leboncontact-header__logo-group .logo,
.leboncontact-header__logo-group .logo.img-fluid,
.leboncontact-header__logo-group img.img-fluid {
    margin-right: 15px !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Marge droite pour le logo dans le header */
#header .logo {
    margin-right: 15px;
}

/* Supprimer les marges inline du lien logo */
.leboncontact-header__logo-link>a[style*="margin"],
.leboncontact-header__logo-link a[style*="margin"] {
    margin-right: 0 !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Styles du logo - Titre "Le Bon Contact" - Identique à index.html */
.logo-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-variant: normal !important;
    font-stretch: normal !important;
    color: #1a1a1a !important;
    letter-spacing: 0.025em !important;
    display: block !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-align: left !important;
    transition: color 0.3s ease !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    /* Surcharger tous les styles Bootstrap/PrestaShop */
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

@media (min-width: 1201px) {
    .logo-title {
        font-size: 1.125rem !important;
    }
}

/* Styles du logo - Sous-titre "Dépannage & Solutions IT" - Identique à index.html */
.logo-subtitle {
    font-size: 10px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    font-variant: normal !important;
    font-stretch: normal !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: rgba(26, 26, 26, 0.7) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    display: block !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    text-align: left !important;
    transition: color 0.3s ease !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    /* Surcharger tous les styles Bootstrap/PrestaShop */
    font-size: 10px !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
}

@media (min-width: 1201px) {
    .logo-subtitle {
        font-size: 0.75rem !important;
    }
}

/* Navigation */
.leboncontact-header__nav {
    flex: 0 1 auto !important;
    justify-content: center !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
}

@media (max-width: 1200px) {
    .leboncontact-header__nav {
        display: none !important;
    }
}

.leboncontact-nav-link {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    white-space: nowrap !important;
    line-height: 1.5 !important;
}

.leboncontact-nav-link:hover {
    color: #1a1a1a !important;
}

/* Panier et compte */
.leboncontact-header__shop-actions {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-left: 0 !important;
    margin-right: 1rem !important;
    min-width: 0 !important;
    width: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Forcer l'affichage de tous les enfants directs */
.leboncontact-header__shop-actions>* {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Forcer l'affichage de TOUS les éléments enfants (y compris les modules PrestaShop) */
.leboncontact-header__shop-actions *,
.leboncontact-header__shop-actions-mobile * {
    visibility: visible !important;
}

/* Surcharger toute règle qui cache les modules dans shop-actions */
.leboncontact-header__shop-actions [style*="display: none"],
.leboncontact-header__shop-actions-mobile [style*="display: none"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Forcer l'affichage même si les modules sont cachés ailleurs */
.leboncontact-header__shop-actions *,
.leboncontact-header__shop-actions-mobile * {
    visibility: visible !important;
}

/* Liens Panier et Compte - Desktop */
.leboncontact-cart-link,
.leboncontact-account-link {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    transition: color 0.3s ease !important;
    padding: 0.5rem 0 !important;
    position: relative !important;
}

/* Masquer les icônes panier et compte sur mobile (version desktop) */
@media (max-width: 1200px) {

    .cart-products-count,
    .leboncontact-cart-link,
    .leboncontact-account-link,
    .leboncontact-header__shop-actions .material-icons,
    .leboncontact-header__shop-actions i[class*="material"] {
        display: none !important;
        visibility: hidden !important;
    }
}

.leboncontact-cart-link:hover,
.leboncontact-account-link:hover {
    color: #1a1a1a !important;
}

.leboncontact-cart-link .cart-products-count,
.leboncontact-account-link .cart-products-count {
    font-size: 0.875rem !important;
    color: rgba(26, 26, 26, 0.8) !important;
    margin-left: 0.25rem !important;
}

/* Liens Panier et Compte - Mobile (uniquement dans le menu mobile) */
.leboncontact-cart-link-mobile,
.leboncontact-account-link-mobile {
    display: flex !important;
    align-items: center !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    transition: color 0.3s ease !important;
    padding: 0.75rem 1rem !important;
    margin-bottom: 0.5rem !important;
}

/* Masquer sur desktop - Les liens du menu mobile ne doivent apparaître que sur mobile */
@media (min-width: 1201px) {

    .leboncontact-cart-link-mobile,
    .leboncontact-account-link-mobile,
    .leboncontact-mobile-menu .leboncontact-cart-link-mobile,
    .leboncontact-mobile-menu .leboncontact-account-link-mobile {
        display: none !important;
    }
}

/* S'assurer que les liens du menu mobile sont visibles uniquement sur mobile */
@media (max-width: 1200px) {

    .leboncontact-mobile-menu .leboncontact-cart-link-mobile,
    .leboncontact-mobile-menu .leboncontact-account-link-mobile {
        display: flex !important;
        visibility: visible !important;
    }
}

.leboncontact-cart-link-mobile:hover,
.leboncontact-account-link-mobile:hover {
    color: #1a1a1a !important;
    background-color: rgba(0, 0, 0, 0.02) !important;
}

.leboncontact-cart-link-mobile .cart-products-count,
.leboncontact-account-link-mobile .cart-products-count {
    font-size: 1rem !important;
    color: rgba(26, 26, 26, 0.8) !important;
}

/* Forcer l'affichage des modules PrestaShop spécifiques (backup) */
.leboncontact-header__shop-actions .ps_shoppingcart,
.leboncontact-header__shop-actions .ps_customersignin,
.leboncontact-header__shop-actions-mobile .ps_shoppingcart,
.leboncontact-header__shop-actions-mobile .ps_customersignin,
.leboncontact-cart-wrapper>*,
.leboncontact-cart-wrapper-mobile>* {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Forcer l'affichage des liens et icônes dans les modules */
.leboncontact-header__shop-actions .ps_shoppingcart a,
.leboncontact-header__shop-actions .ps_customersignin a,
.leboncontact-header__shop-actions-mobile .ps_shoppingcart a,
.leboncontact-header__shop-actions-mobile .ps_customersignin a,
.leboncontact-cart-wrapper a,
.leboncontact-cart-wrapper-mobile a {
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Styles pour les wrappers de modules */
.leboncontact-cart-wrapper,
.leboncontact-cart-wrapper-mobile {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    flex-shrink: 0 !important;
    width: auto !important;
}

.leboncontact-cart-wrapper-mobile {
    flex-direction: column !important;
    width: 100% !important;
    gap: 0.75rem !important;
}

/* Forcer l'affichage de tous les enfants dans les wrappers */
.leboncontact-cart-wrapper>*,
.leboncontact-cart-wrapper-mobile>* {
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
}

.leboncontact-cart-wrapper-mobile>* {
    width: 100% !important;
    display: block !important;
}

/* Téléphone et bouton CTA */
.leboncontact-header__actions {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-left: 0 !important;
}

/* Gap-4 = 1rem */
.gap-4 {
    gap: 1rem !important;
}

@media (max-width: 1200px) {
    .leboncontact-header__actions {
        display: none !important;
    }
}

.leboncontact-phone-link {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    white-space: nowrap !important;
    line-height: 1.5 !important;
}

.leboncontact-phone-link:hover {
    color: #1a1a1a !important;
}

.leboncontact-cta-btn {
    background-color: #d4af37 !important;
    color: #1a1a1a !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.375rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    white-space: nowrap !important;
    height: 36px !important;
    line-height: 1.5 !important;
}

.leboncontact-cta-btn:hover {
    background-color: rgba(212, 175, 55, 0.9) !important;
    color: #1a1a1a !important;
}

/* Menu mobile - Bouton hamburger - Style identique à le-bon.contact/ */
.leboncontact-mobile-menu-btn {
    color: #1a1a1a !important;
    transition: color 0.3s ease !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    display: none !important;
    padding: 0.5rem !important;
    margin: 0 !important;
    line-height: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
}

@media (max-width: 1200px) {
    .leboncontact-mobile-menu-btn {
        display: flex !important;
    }

    .cart-products-count {
        display: none !important;
    }
}

.leboncontact-mobile-menu-btn:hover,
.leboncontact-mobile-menu-btn:focus {
    color: rgba(26, 26, 26, 0.7) !important;
    outline: none !important;
}

.leboncontact-mobile-menu-btn:active {
    transform: scale(0.95) !important;
}

.leboncontact-menu-icon {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.leboncontact-header__prestashop-modules {
    flex-shrink: 0 !important;
}

/* Menu mobile - Style identique à le-bon.contact/ */
.leboncontact-mobile-menu {
    background-color: color-mix(in oklab, #faf8f5 95%, transparent) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-top: 1px solid rgba(229, 231, 235, 0.3) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    position: fixed !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1049 !important;
    max-height: calc(100vh - 64px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    opacity: 1 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    transform: translateY(0) !important;
}

@media (min-width: 1201px) {
    .leboncontact-mobile-menu {
        display: none !important;
    }
}

.leboncontact-mobile-menu .leboncontact-header__container {
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.leboncontact-mobile-menu nav {
    padding: 0.75rem 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.leboncontact-mobile-menu .leboncontact-nav-link {
    padding: 0.75rem 1rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    display: block !important;
    border-bottom: 1px solid rgba(229, 231, 235, 0.3) !important;
    transition: color 0.3s ease, background-color 0.3s ease !important;
    margin-bottom: 0 !important;
    line-height: 1.5 !important;
}

.leboncontact-mobile-menu .leboncontact-nav-link:hover,
.leboncontact-mobile-menu .leboncontact-nav-link:focus {
    color: #1a1a1a !important;
    background-color: rgba(0, 0, 0, 0.02) !important;
}

.leboncontact-mobile-menu .leboncontact-nav-link:last-child {
    border-bottom: none !important;
}

.leboncontact-mobile-menu .border-top {
    border-top: 1px solid rgba(229, 231, 235, 0.5) !important;
    margin-top: 0.75rem !important;
    padding-top: 0.75rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.leboncontact-mobile-menu .leboncontact-phone-link {
    display: block !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: rgba(26, 26, 26, 0.8) !important;
    text-decoration: none !important;
    margin-bottom: 0.75rem !important;
    transition: color 0.3s ease !important;
}

.leboncontact-mobile-menu .leboncontact-phone-link:hover {
    color: #1a1a1a !important;
}

.leboncontact-mobile-menu .leboncontact-cta-btn {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    text-align: center !important;
    justify-content: center !important;
    border-radius: 0.375rem !important;
    margin-top: 0 !important;
}

/* Ajustements pour le wrapper */
#wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
    position: relative !important;
}

/* S'assurer que le contenu n'est pas caché sous le header */
main {
    padding-top: 0 !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

#content-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
    position: relative !important;
}

.leboncontact-header__logo-wrapper {
    flex-shrink: 0 !important;
    min-width: 0 !important;
    max-width: 250px !important;
}

.leboncontact-header__logo-wrapper h1 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.leboncontact-header__logo-wrapper h1 .leboncontact-header__logo {
    font-size: inherit !important;
}

/* S'assurer que le contenu principal commence après le header */
section#content,
section#wrapper {
    margin-top: 0 !important;
    padding-top: 15px !important;
    position: relative !important;
}

/* Corriger le problème de hauteur du header */
.leboncontact-header .row {
    margin: 0 !important;
    height: auto !important;
}

.leboncontact-header .col-12 {
    padding: 0 !important;
    height: auto !important;
}

/* Footer */
.footer-container {
    background-color: var(--charcoal) !important;
    color: #ffffff !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.footer-container h4,
.footer-container h3,
.footer-container .h4,
.footer-container .h3 {
    color: var(--gold) !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 500 !important;
    margin-bottom: 1rem !important;
}

.footer-container a {
    color: rgba(255, 255, 255, 0.6) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

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

.footer-container .copyright {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 0.75rem !important;
    margin-top: 2rem !important;
    padding-top: 2rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Sections */
section {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.page-home section {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Hero Section */
.hero-section {
    position: relative !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)) !important;
    margin-top: -80px !important;
    padding-top: 80px !important;
}

.hero-section::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url('/images/background.png') !important;
    background-size: cover !important;
    background-position: center !important;
    z-index: -1 !important;
}

.hero-content {
    position: relative !important;
    z-index: 10 !important;
    max-width: 80rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 1rem !important;
    text-align: center !important;
}

.hero-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 2.25rem !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin-bottom: 1.5rem !important;
}

.hero-title .text-gold {
    color: var(--gold) !important;
    display: block !important;
}

.hero-description {
    font-size: 1.125rem !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 2rem !important;
    max-width: 42rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.hero-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 1rem !important;
}

.hero-button-primary {
    background-color: var(--gold) !important;
    color: var(--charcoal) !important;
    padding: 0.875rem 2rem !important;
    border-radius: 0.375rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.hero-button-primary:hover {
    background-color: var(--gold-light) !important;
    color: var(--charcoal) !important;
}

.hero-button-secondary {
    background-color: transparent !important;
    color: #ffffff !important;
    padding: 0.875rem 2rem !important;
    border-radius: 0.375rem !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    transition: background-color 0.2s ease !important;
}

.hero-button-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Utilitaires */
.max-w-7xl {
    max-width: 80rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.py-24 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

.bg-charcoal {
    background-color: var(--charcoal) !important;
    color: #ffffff !important;
}

.bg-secondary {
    background-color: var(--secondary) !important;
}

.text-gold {
    color: var(--gold) !important;
}

/* Boutons */
.btn-primary,
button.btn-primary,
a.btn-primary {
    background-color: var(--gold) !important;
    color: var(--charcoal) !important;
    border: none !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.375rem !important;
    font-weight: 500 !important;
    transition: background-color 0.2s ease !important;
}

.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover {
    background-color: var(--gold-light) !important;
    color: var(--charcoal) !important;
}

/* Cards */
.card {
    border-radius: 0.75rem !important;
    border: 1px solid var(--border) !important;
    transition: all 0.3s ease !important;
}

.card:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    border-color: var(--accent) !important;
}

/* Responsive */
@media (min-width: 640px) {
    .hero-title {
        font-size: 3rem !important;
    }

    .px-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

@media (min-width: 768px) {
    .hero-title {
        font-size: 3.75rem !important;
    }
}

@media (min-width: 1024px) {
    .hero-title {
        font-size: 4.5rem !important;
    }

    .px-4 {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

@media (max-width: 1200px) {
    body {
        padding-top: 64px !important;
    }

    .hero-section {
        margin-top: -64px !important;
        padding-top: 64px !important;
        min-height: 80vh !important;
    }

    .hero-title {
        font-size: 2rem !important;
    }

    .hero-description {
        font-size: 1rem !important;
    }

    .leboncontact-header__nav,
    .leboncontact-header__actions,
    .leboncontact-header__prestashop-modules {
        display: none !important;
    }

    .leboncontact-header__inner {
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
    }

    .leboncontact-header__logo-wrapper {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 50px) !important;
    }

    .leboncontact-mobile-menu-btn {
        flex: 0 0 auto !important;
    }
}

/* Modules produits */
.section-title {
    text-align: center !important;
    margin-bottom: 4rem !important;
}

.section-subtitle {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: var(--accent) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0.75rem !important;
    display: block !important;
}

.section-heading {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.875rem !important;
    font-weight: 500 !important;
    color: var(--foreground) !important;
    margin-bottom: 1rem !important;
}

@media (min-width: 640px) {
    .section-heading {
        font-size: 2.25rem !important;
    }
}

@media (min-width: 1024px) {
    .section-heading {
        font-size: 3rem !important;
    }
}