/**
 * France Clope - Custom Styles
 * Version: 1.0.3
 * Description: Styles personnalisés pour le thème enfant Shoptimizer
 * 
 * Table des matières:
 * 1. Variables CSS
 * 2. WooCommerce - Éléments de base
 * 3. Navigation & Menu
 * 4. Layout & Structure
 * 5. Formulaires
 * 6. Attributs produit - Nicotine
 * 7. Galerie & Images produit
 * 8. Bannière catégorie
 * 9. En-têtes & Filtres
 * 10. Sous-catégories
 * 11. Pagination & Divers
 * 12. Boutons & Actions
 * 13. Labels & Badges
 * 14. Popups & Modales
 * 15. Formulaire Probance
 * 16. Mini-panier
 * 17. Wishlist
 * 18. Divers
 * 19. Responsive - Tablettes & Desktop
 * 20. Responsive - Mobile
 */

/* ========================================
   1. VARIABLES CSS
   ======================================== */
:root {
    /* Couleurs principales */
    --fc-color-primary: #3ce66d;
    --fc-color-primary-dark: #07ca62;
    --fc-color-success: #03a91a;
    --fc-color-success-dark: #028a15;
    --fc-color-danger: #f26060;
    --fc-color-danger-dark: #d94c4c;
    --fc-color-text: #000000;
    --fc-color-white: #ffffff;
    --fc-color-bg-light: #f1f1f1;
    --fc-color-border: #c1c1c1;
    --fc-color-border-light: #ddd;
    --fc-color-gray: #888;
    --fc-color-gray-light: #cccccc;
    --fc-color-link: #136227;
    --fc-color-link-hover: #29bb52;
    
    /* Couleurs nicotine */
    --fc-nicotine-high: #ff7a79;      /* 16mg, 17mg, 20mg */
    --fc-nicotine-medium: #ffb98c;    /* 9mg, 10mg, 11mg */
    --fc-nicotine-low-6: #fcffb0;     /* 6mg */
    --fc-nicotine-low-3: #cff5d2;     /* 3mg */
    --fc-nicotine-zero: #b6e3fd;      /* 0mg */
    
    /* Couleurs wishlist */
    --fc-wishlist-color: #ff8a00;
    
    /* Rayons de bordure */
    --fc-radius-sm: 5px;
    --fc-radius-md: 10px;
    --fc-radius-lg: 15px;
    --fc-radius-xl: 18px;
    --fc-radius-round: 50%;
    
    /* Transitions */
    --fc-transition-default: 0.3s ease;
}

/* ========================================
   2. LIENS GÉNÉRAUX
   ======================================== */

.below-woocommerce-category a,
.comment-respond p a,
.comment-text a,
.entry-content article a,
.post-meta a,
.product-widget a,
.product_meta a,
.woocommerce-tabs table.woocommerce-product-attributes a,
body:not(.woocommerce-account):not(.woocommerce-order-received) .entry-content p:not(.product__categories) a:not(.button) {
    color: var(--fc-color-link) !important;
}
.below-woocommerce-category a:hover,
.comment-respond p a:hover,
.comment-text a:hover,
.entry-content article a:hover,
.post-meta a:hover,
.product-widget a:hover,
.product_meta a:hover,
.woocommerce-tabs table.woocommerce-product-attributes a:hover,
body:not(.woocommerce-account):not(.woocommerce-order-received) .entry-content p:not(.product__categories) a:not(.button):hover {
    color: var(--fc-color-link-hover) !important;
}

/* ========================================
   2. WOOCOMMERCE - ÉLÉMENTS DE BASE
   ======================================== */

/* Notifications Info */
.woocommerce-info {
    background-color: var(--fc-color-primary);
    color: var(--fc-color-text);
}

.woocommerce-info .button {
    color: #b13e00;
    font-weight: bold;
}

/* Descriptions de catégories */
.term-description,
.shoptimizer-category-banner .taxonomy-description p {
    font-weight: 700;
}

/* Prix produits */
.product-details-wrapper .price .woocommerce-Price-amount {
    font-weight: bold;
    font-size: 30px;
    color: green;
}

.price .woocommerce-Price-amount {
    font-weight: bold;
    font-size: 20px;
    color: green;
}

/* ========================================
   3. NAVIGATION & MENU
   ======================================== */


/* Centrer la barre de navigation sur la page */
@media (min-width: 993px) {
    #mega-menu-wrap-primary #mega-menu-primary {
        justify-content: center !important;
    }

    .col-full-nav .col-full {
        position: relative !important;
    }

    .shoptimizer-primary-navigation,
    .primary-navigation,
    .menu-primary-menu-container,
    #mega-menu-wrap-primary,
    #mega-menu-wrap-primary #mega-menu-primary,
    #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu {
        position: static !important;
    }

    /* Spacer gauche pour centrer la navigation (miroir du panier à droite) */
    .col-full-nav .shoptimizer-primary-navigation::before {
        content: '' !important;
        flex: 1 1 0 !important;
    }

    .col-full-nav .shoptimizer-primary-navigation .site-header-cart {
        flex: 1 1 0 !important;
        display: flex !important;
        justify-content: flex-end !important;
        margin-left: 0 !important;
    }
}



/* Désactiver les transitions sur les liens du menu mega */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus {
    transition: none !important;
    animation: none !important;
    transform: none !important;
}

/* Désactiver les transitions sur les icônes des sous-menus */
.mega-menu-item > a:hover .mega-menu-icon {
    transition: none !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item,
.mega-menu-title {
    font-weight: 600;
}

/* Overlay pour assombrir le contenu */
.overlay-darken {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 5;
}
/* === VERSION INITIALE ===*/
/*
@media (min-width: 993px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
        width: 770px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}
*/

/* === VERSION A : Fond blanc pleine largeur avec coins arrondis === */
/*
@media (min-width: 993px) {
    #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu>ul.mega-sub-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        max-width: 800px !important;
        width: 800px !important;
        box-sizing: border-box !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        background: #fff !important;
        position: absolute !important;
        outline: 9999px solid #fff !important;
        clip-path: inset(0 calc(-50vw + 400px) 0 calc(-50vw + 400px) round 0 0 15px 15px) !important;
    }
}
*/

/* === VERSION B : Fond blanc 800px centré, sans pleine largeur === */
@media (min-width: 993px) {
    #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu>ul.mega-sub-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        max-width: 800px !important;
        width: 800px !important;
        box-sizing: border-box !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        background: #fff !important;
        position: absolute !important;
        border-radius: 0 0 15px 15px !important;
    }
}


@media (min-width: 993px) {
    .site:has(.mega-toggle-on) .site-content::after {
        position: fixed;
        visibility: visible;
        opacity: 1;
        height: 100vh;
    }
}

/* Example: For full screen width menu, contain inner items */
.mega-menu-content .mega-menu-item {
    max-width: 700px; /* Example max-width for individual columns/items */
}


.mega-menu {
    position: relative;
    z-index: 10;
}

.topbar-wrapper {
    position: relative;
    z-index: 10000;
}

/* ========================================
   4. LAYOUT & STRUCTURE
   ======================================== */

.content-area {
    margin-top: 0px;
}

.entry-header {
    margin-top: 30px;
}

/* ========================================
   5. FORMULAIRES
   ======================================== */

.woocommerce-account form select,
.woocommerce-account form textarea,
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-checkout form select,
.woocommerce-checkout form textarea,
.woocommerce-checkout form input[type="tel"],
.woocommerce-checkout form input[type="text"],
.woocommerce-checkout form input[type="email"],
.woocommerce-checkout form input[type="password"] {
    background-color: var(--fc-color-white);
    color: var(--fc-color-text);
    font-size: 16px;
}

.shoptimizer-custom-quantity-mini-cart_input {
    background-color: var(--fc-color-white);
    color: var(--fc-color-text);
}

/* ========================================
   6. ATTRIBUTS PRODUIT - NICOTINE
   ======================================== */

/* Fort - 16mg, 17mg, 20mg */
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine16"],
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine17"],
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine20"] {
    background: var(--fc-nicotine-high);
}

/* Moyen - 9mg, 10mg, 11mg */
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine11"],
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine9"],
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="10mg"] {
    background: var(--fc-nicotine-medium);
}

/* Faible - 6mg */
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine06"] {
    background: var(--fc-nicotine-low-6);
}

/* Faible - 3mg */
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine03"] {
    background: var(--fc-nicotine-low-3);
}

/* Sans nicotine - 0mg */
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine0"],
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="nicotine00"],
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="0-mg"] {
    background: var(--fc-nicotine-zero);
}

/* Swatch sélectionné */
.cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch-selected {
    color: black;
    background: var(--fc-color-gray-light);
    font-weight: 700;
    border:2px solid;
}

/* Couleur noire */
.single-product .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button [data-attribute-value="noir"] {
    background: black;
    color: white;
}

/* ========================================
   7. GALERIE & IMAGES PRODUIT
   ======================================== */

div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    width: inherit;
}

.woocommerce img,
.blog img,
.post-thumbnail img,
.single-post img,
.single-post .post img,
.wp-block-latest-posts__featured-image img,
.single-post .entry-content img {
    border-radius: var(--fc-radius-lg);
}


/* ========================================
   8. BANNIÈRE CATÉGORIE
   ======================================== */

.shoptimizer-category-banner {
    background-image: url('https://www.franceclope.com/wp-content/uploads/2023/09/banniere-2.jpg.webp');
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom: 0;
    display: flex;
    justify-content: center;
    padding: 35px 25px;
    min-height: 100px;
}

.shoptimizer-category-banner h1 {
    text-transform: uppercase;
}

.shoptimizer-category-banner.lazy-background::before {
    background-color: transparent;
}

/* ========================================
   9. EN-TÊTES & FILTRES
   ======================================== */

.tax-product_cat header.woocommerce-products-header {
    flex-wrap: wrap;
}

.content-area header.woocommerce-products-header img {
    order: 1;
    width: 100%;
}

header.woocommerce-products-header {
    border-top-left-radius: var(--fc-radius-md);
    border-top-right-radius: var(--fc-radius-md);
    padding-top: 25px;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    justify-content: center;
}

.site-content .woocommerce-breadcrumb {
    font-size: 16px;
    font-weight: 600;
}

.term-description {
    order: 2;
}

.filters-container {
    display: flex;
    justify-content: center;
    background-color: var(--fc-color-bg-light);
    padding: 10px 0;
    border-bottom-left-radius: var(--fc-radius-md);
    border-bottom-right-radius: var(--fc-radius-md);
}

.yith-wcan-filters {
    background-color: transparent;
}

.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title.collapsable {
    background-color: var(--fc-color-white);
    border-color: var(--fc-color-gray);
}

/* YITH Filters - Reset button */
.btn-primary .yith-wcan-reset-filters .reset-filters .enhanced {
    height: 55px !important;
}

/* ========================================
   10. SOUS-CATÉGORIES
   ======================================== */

.subcategories-list {
    list-style-type: none;
    padding: 0 0 30px 0;
    margin-left: 0;
    display: flex;
    gap: 50px;
    text-align: center;
    border-bottom: 1px solid var(--fc-color-border);
}

.subcategories-list li {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: -20px;
}

.subcategory-image-wrapper {
    width: 55px;
    height: 55px;
    background-color: var(--fc-color-bg-light);
    border-radius: var(--fc-radius-round);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    top: -5px;
    overflow: hidden;
    transition: transform var(--fc-transition-default);
}

.subcategory-image img {
    position: relative;
    top: 0;
    width: 30%;
    height: 30%;
    transition: transform var(--fc-transition-default);
}

.subcategory-image-wrapper:hover .subcategory-image img {
    transform: scale(0.8);
}

.subcategories-list li:hover .subcategory-image-wrapper img {
    transform: scale(0.95);
    transition: transform 0s ease;
}

.woocommerce-products-header a {
    color: var(--fc-color-text);
}

.subcategory-name a {
    text-decoration: none;
    text-align: center;
    margin-top: 20px;
}

/* ========================================
   11. PAGINATION & DIVERS
   ======================================== */

/* Fil d'Ariane articles blog - style identique aux produits */
.fc-breadcrumbs {
    /*background: #f5f5f5;*/
    /*padding-top: 1rem;
    padding-bottom: 1rem;*/
    margin-bottom: 20px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    font-size: 18px!important;
    color: #666;
}

.fc-breadcrumbs a {
    color: #333;
    text-decoration: none;
}

.fc-breadcrumbs a:hover {
    color: #4CAF50;
}

.fc-breadcrumbs .separator {
    margin: 0 4px;
}

@media (max-width: 768px) {
    .fc-breadcrumbs {
        font-size: 16px;
    }
}

/* Pagination */

.woocommerce-pagination {
    font-weight: 900;
    font-size: 20px;
}

.rank-math-question {
    background: #3ce689;
}

#ywcdd_info_single_product {
    margin-bottom: 30px;
}

#ywcdd_datepicker {
    font-weight: 600;
}

.ywdpd_header {
    background-color: #3ce689;
}

.ywdpd_row {
    background-color: var(--fc-color-white);
}

/* ========================================
   12. BOUTONS & ACTIONS
   ======================================== */

.shop_table.subscription_details .button,
.woocommerce-account .my_account_orders .button,
.addresses header.title a {
    background: var(--fc-color-primary);
    color: var(--fc-color-text);
    border-radius: var(--fc-radius-sm);
}

.addresses header.title a:hover,
body .entry-content .woocommerce-orders-table .button:hover {
    background: var(--fc-color-primary-dark);
    color: var(--fc-color-white);
    border-radius: var(--fc-radius-sm);
}

.commercekit-wishlist-table .cart button {
    color: var(--fc-color-text);
}

#share_points input#ywpar-share-points__submit {
    background: var(--fc-color-primary);
}

/* Bouton "Choisir les options" dans le modal de recherche YITH */
:root :where(.wp-element-button, .wp-block-button__link),
.wp-block-button .wp-block-button__link,
button.wp-element-button.wp-block-button__link,
.search-result-add-to-cart {
    background-color: #3ce689 !important;
    text-transform: none !important;
    font-weight:600!important;
}

/* Bouton "Choisir les options" dans le modal YITH - toutes pages */                                                              
  .ywcas-search-mobile .search-result-add-to-cart,                                                                                  
  .ywcas-search-mobile .wp-element-button,                                                                                          
  .ywcas-search-mobile .wp-block-button__link {                                                                                     
      padding: 8px 18px !important;                                                                                                 
      border-radius: 8px !important;                                                                                                
      margin-bottom: 0 !important;                                                                                                  
      color: #000 !important;                                                                                                       
      font-weight: 600 !important;                                                                                                  
  }                                                                                                                                 
                                                                                                                                    
  /* =============================================                                                                                  
     YITH Ajax Search - Layout unifié mobile                                                                                        
     ============================================= */                                                                               
                                                                                                                                    
  /* MASQUER: SKU, Stock, Description/Excerpt */                                                                                    
  .ywcas-search-mobile .search-result-item__summary,                                                                                
  .ywcas-search-mobile .search-result-item__inline_group,                                                                           
  .ywcas-search-mobile .search-result-item .stock,                                                                                  
  .ywcas-search-mobile .search-result-item [class*="sku"],                                                                          
  .ywcas-search-mobile .search-result-item [class*="excerpt"],                                                                      
  .ywcas-search-mobile .search-result-item > p,                                                                                     
  .ywcas-search-mobile .yith_wcas_result_excerpt,                                                                                   
  .ywcas-search-mobile .yith_wcas_result_outofstock {                                                                               
      display: none !important;                                                                                                     
  }                                                                                                                                 
                                                                                                                                    
  /* Container des résultats */                                                                                                     
  .ywcas-search-mobile .ywcas-search-results,                                                                                       
  .ywcas-search-mobile .wp-block-yith-product-results-block {                                                                       
      padding: 10px 15px !important;                                                                                                
  }                                                                                                                                 
                                                                                                                                    
  /* Chaque item de résultat - centré */                                                                                            
  .ywcas-search-mobile .search-result-item {                                                                                        
      display: flex !important;                                                                                                     
      flex-direction: column !important;                                                                                            
      align-items: center !important;                                                                                               
      text-align: center !important;                                                                                                
      padding: 20px 15px !important;                                                                                                
      border-bottom: 1px solid #eee !important;                                                                                     
      gap: 8px !important;                                                                                                          
  }                                                                                                                                 
                                                                                                                                    
  /* Image produit - centrée */                                                                                                     
  .ywcas-search-mobile .search-result-item__thumbnail,                                                                              
  .ywcas-search-mobile .search-result-item > a:first-child {                                                                        
      width: 100px !important;                                                                                                      
  }                                                                                                                                 
                                                                                                                                    
  .ywcas-search-mobile .search-result-item__thumbnail img,                                                                          
  .ywcas-search-mobile .search-result-item img:first-of-type {                                                                      
      width: 100px !important;                                                                                                      
      height: 100px !important;                                                                                                     
      object-fit: cover !important;                                                                                                 
      border-radius: 12px !important;                                                                                               
  }                                                                                                                                 
                                                                                                                                    
  /* Contenu (nom + prix) - centré */                                                                                               
  .ywcas-search-mobile .search-result-item__content {                                                                               
      display: flex !important;                                                                                                     
      flex-direction: column !important;                                                                                            
      align-items: center !important;                                                                                               
      gap: 5px !important;                                                                                                          
      width: 100% !important;                                                                                                       
  }                                                                                                                                 
                                                                                                                                    
  /* Nom du produit */                                                                                                              
  .ywcas-search-mobile .search-result-item__name,                                                                                   
  .ywcas-search-mobile .search-result-item__content > a:first-child {                                                               
      font-size: 15px !important;                                                                                                   
      font-weight: 600 !important;                                                                                                  
      line-height: 1.3 !important;                                                                                                  
      color: #333 !important;                                                                                                       
      text-decoration: none !important;                                                                                             
      margin: 0 !important;                                                                                                         
  }                                                                                                                                 
                                                                                                                                    
  /* Masquer le label "Prix :" */                                                                                                   
  .ywcas-search-mobile .search-result-item .price-label,                                                                            
  .ywcas-search-mobile .search-result-item [class*="price-label"] {                                                                 
      display: none !important;                                                                                                     
  }                                                                                                                                 
                                                                                                                                    
  /* Prix - sans le label */                                                                                                        
  .ywcas-search-mobile .search-result-item .price,                                                                                  
  .ywcas-search-mobile .search-result-item [class*="price"] {                                                                       
      font-size: 15px !important;                                                                                                   
      font-weight: 600 !important;                                                                                                  
      color: #333 !important;                                                                                                       
  }                                                                                                                                 
                                                                                                                                    
  /* Bouton - centré */                                                                                                             
  .ywcas-search-mobile .search-result-item .wp-block-button {                                                                       
      margin-top: 8px !important;                                                                                                   
  }                                                                                                                                 
                                                                                                                                    
  .ywcas-search-mobile .search-result-item .wp-element-button,                                                                      
  .ywcas-search-mobile .search-result-item .wp-block-button__link,                                                                  
  .ywcas-search-mobile .search-result-item .search-result-add-to-cart {                                                             
      display: inline-block !important;                                                                                             
      padding: 8px 18px !important;                                                                                                 
      background-color: #3ce689 !important;                                                                                         
      color: #000 !important;                                                                                                       
      border-radius: 8px !important;                                                                                                
      font-size: 14px !important;                                                                                                   
      font-weight: 500 !important;                                                                                                  
      text-decoration: none !important;                                                                                             
      width: auto !important;                                                                                                       
  }                                                                                                                                 
                                                                                                                                    


/* =============================================                                                                                  
     YITH Ajax Search - Desktop (popover)                                                                                           
     ============================================= */                                                                               
                                                                                                                                    
  /* Bouton "Choisir les options" - Desktop */                                                                                      
  .ywcas-popover-results .search-result-add-to-cart,                                                                                
  .ywcas-popover-results .wp-element-button,                                                                                        
  .ywcas-popover-results .wp-block-button__link {                                                                                   
      padding: 8px 18px !important;                                                                                                 
      border-radius: 8px !important;                                                                                                
      background-color: #3ce689 !important;                                                                                         
      color: #000 !important;                                                                                                       
      font-weight: 600 !important;                                                                                                  
      border: none !important;                                                                                                      
  }                                                                                                                                 
                                                                                                                                    
  .ywcas-popover-results .search-result-item .wp-element-button,                                                                    
  .ywcas-popover-results .search-result-item .wp-block-button__link,                                                                
  .ywcas-popover-results .search-result-item .search-result-add-to-cart,                                                            
  .ywcas-popover-results .search-result-item .wp-element-button.wp-block-button__link,                                              
  .ywcas-popover-results .wp-block-button .wp-element-button {                                                                      
      display: inline-block !important;                                                                                             
      padding: 8px 18px !important;                                                                                                 
      background-color: #3ce689 !important;                                                                                         
      color: #000 !important;                                                                                                       
      border-radius: 8px !important;                                                                                                
      font-size: 14px !important;                                                                                                   
      font-weight: 600 !important;                                                                                                  
      text-decoration: none !important;                                                                                             
      border: none !important;                                                                                                      
  }                                                                                                                                 
                                                                                                                                    
  /* Forcer la couleur noire du texte sur tous les états */                                                                         
  .ywcas-popover-results .wp-element-button,                                                                                        
  .ywcas-popover-results .wp-block-button__link,                                                                                    
  .ywcas-popover-results a.wp-element-button,                                                                                       
  .ywcas-popover-results button.wp-element-button {                                                                                 
      color: #000 !important;                                                                                                       
  }                      


/* ========================================
   13. LABELS & BADGES
   ======================================== */

.product-label.type-bubble,
li.product .onsale {
    top: 0;
    left: 0;
    min-width: inherit;
    min-height: inherit;
    font-size: 16px;
    color: white;
    font-weight: 700;
    border-radius: var(--fc-radius-xl);
    padding: 15px;
    opacity: 1;
    line-height: 15px;
}

/* ========================================
   14. POPUPS & MODALES
   ======================================== */
/*
#sgpb-popup-dialog-main-div,
.age-gate {
    border-radius: var(--fc-radius-lg) !important;
}

.sgpb-popup-close-button-3 {
    top: 18px !important;
    right: 18px !important;
}

.age-gate__challenge {
    display: none;
}

.age-gate-buttons,
.age-gate__buttons {
    gap: var(--ag-button-gap, 40px);
}

.age-gate__submit.age-gate__submit--yes {
    padding: 10px 25px !important;
    color: var(--fc-color-white);
    background-color: var(--fc-color-success);
}

.age-gate__submit.age-gate__submit--yes:hover {
    background-color: var(--fc-color-success-dark);
    color: var(--fc-color-white);
    cursor: pointer;
    transition: background-color var(--fc-transition-default);
}

.age-gate__submit.age-gate__submit--no {
    padding: 10px 25px !important;
    color: var(--fc-color-white);
    background-color: var(--fc-color-danger);
}

.age-gate__submit.age-gate__submit--no:hover {
    background-color: var(--fc-color-danger-dark);
    color: var(--fc-color-white);
    cursor: pointer;
    transition: background-color var(--fc-transition-default);
}
*/

/* FC Age Gate Custom - Caché par défaut */
.fc-age-gate {
    display: none !important;
}

.fc-age-gate.fc-age-gate--visible {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 999999 !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.fc-age-gate__overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.4) !important;
}

.fc-age-gate__modal {
    position: relative !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    max-width: 440px !important;
    width: 90% !important;
    text-align: center !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
}

.fc-age-gate__logo {
    margin-bottom: 30px !important;
    display: flex !important;
    justify-content: center !important;
}

.fc-age-gate__logo img {
    width: 400px !important;
    height: auto !important;
    max-width: 100% !important;
    border-radius: 20px !important;
    display: block !important;
}

.fc-age-gate__title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 0 30px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.fc-age-gate__buttons {
    display: flex !important;
    gap: 60px !important;
    justify-content: center !important;
    margin-bottom: 30px !important;
}

.fc-age-gate__btn {
    padding: 12px 40px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.fc-age-gate__btn:focus {
    outline: none !important;
}

.fc-age-gate__btn--yes {
    background: #3dae2b !important;
    color: #000 !important;
}

.fc-age-gate__btn--yes:hover {
    background: #2d9a1f !important;
}

.fc-age-gate__btn--no {
    background: #e07c7c !important;
    color: #000 !important;
}

.fc-age-gate__btn--no:hover {
    background: #d06060 !important;
}

.fc-age-gate__warning {
    font-size: 13px !important;
    color: #666666 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    padding: 0 10px !important;
}

body.fc-age-gate-active {
    overflow: hidden !important;
}

@media (max-width: 480px) {
    .fc-age-gate__modal {
        padding: 30px 25px !important;
        margin: 15px !important;
        width: calc(100% - 30px) !important;
    }

    .fc-age-gate__title {
        font-size: 18px !important;
    }

    .fc-age-gate__buttons {
        gap: 15px !important;
    }

    .fc-age-gate__btn {
        padding: 12px 30px !important;
        font-size: 14px !important;
    }

    .fc-age-gate__warning {
        font-size: 12px !important;
    }
}

/* ========================================
   15. FORMULAIRE PROBANCE
   ======================================== */

.fields_block,
.fname_block,
.email_block,
#probance_optin_cb_wrapper {
    padding-bottom: 25px;
}

#probance_form_block {
    background-color: #f5f5f5;
    border-radius: var(--fc-radius-lg) !important;
    padding: 25px !important;
}

/* ========================================
   16. MINI-PANIER
   ======================================== */

[id^="ckobp-minicart-"],
[id^="ckobp-checkout-"] {
    background-color: rgba(59, 230, 137, 0.2);
}

span.woocommerce-terms-and-conditions-checkbox-text {
    font-weight: 900;
}

/* ========================================
   17. WISHLIST
   ======================================== */

.commercekit-wishlist.mini {
    opacity: 1 !important;
}

/* Icône cœur en masque CSS */
.commercekit-wishlist a em.cg-wishlist-t::before {
    content: "";
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.125em;
    background-color: var(--fc-wishlist-color);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024'%3E%3Cpath fill='%23fff' d='M4.318 6.318c-1.758 1.758-1.758 4.607 0 6.364L12 20.364l7.682-7.682c1.757-1.757 1.757-4.606 0-6.364-1.758-1.757-4.607-1.757-6.364 0L12 7.636 10.682 6.318c-1.757-1.757-4.606-1.757-6.364 0z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024'%3E%3Cpath fill='%23fff' d='M4.318 6.318c-1.758 1.758-1.758 4.607 0 6.364L12 20.364l7.682-7.682c1.757-1.757 1.757-4.606 0-6.364-1.758-1.757-4.607-1.757-6.364 0L12 7.636 10.682 6.318c-1.757-1.757-4.606-1.757-6.364 0z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    mask-mode: luminance;
}

.commercekit-wishlist a em.cg-wishlist-t {
    color: var(--fc-wishlist-color);
}

/* ========================================
   18. DIVERS
   ======================================== */

.product-widget fieldset img {
    margin: auto;
}

.page-id-6630 .archive-header {
    display: none;
}


/* Fix contraste accessibilité - bloc derniers articles homepage */
body.home .wp-block-latest-posts__post-title {
    color: #1a1a1a;
}

body.home .wp-block-latest-posts__post-title:hover {
    color: #c2185b;
}

body.home .wp-block-latest-posts__read-more {
    color: #1a1a1a;
    text-decoration: underline;
}

body.home .wp-block-latest-posts__read-more:hover {
    color: #c2185b;
}

.wp-block-latest-posts__post-excerpt, .wp-block-latest-posts__post-full-content {
    color:#606060;
}
/* ========================================
   19. RESPONSIVE - TABLETTES & DESKTOP
   ======================================== */

@media (min-width: 768px) {
}

@media (min-width: 993px) {
    .main-navigation ul ul li a {
        width: 223px;
    }
}

/* ========================================
   20. RESPONSIVE - MOBILE
   ======================================== */

@media (max-width: 992px) {
    /* Sous-catégories en grille */
    .subcategories-list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-left: 0;
        /*gap: 4px;*/
        list-style-type: none;
        padding: 0 0 50px 0;
    }

    .subcategory-image-wrapper {
        width: 60px;
        height: 60px;
        background-color: var(--fc-color-bg-light);
        border-radius: var(--fc-radius-round);
        overflow: hidden;
    }

    .subcategory-image img {
        max-width: 100%;
        height: auto;
    }

    /* Navigation mobile */
    .mobile-toggled .col-full-nav {
        left: 0;
        width: 100%;
        padding: 0;
        margin: 0;
        z-index: 998;
    }
    
    .shoptimizer-primary-navigation.col-full {

    padding-top: 50px !important;

}

    .mega-menu-wrap {
        z-index: 99;
    }

    .mobile-toggled .mobile-menu .close-drawer {
        top: 12px !important;
        z-index: 9998;
    }

    .mobile-toggled .mobile-menu.close-drawer {
        left: 85%;
    }

    .close-drawer {
        color: var(--fc-color-text)!important;
        z-index: 9999;
    }

    /* Recherche mobile */
    .site-search .yith-ajaxsearchform-container .autocomplete-suggestion {
        z-index: 10000;
        width: 85%;
        font-size: 16px;
        line-height: 1;
        margin-bottom: -0.3em;
    }

    .site-search form input[type=search] {
        width: 80%;
        border-radius: 0 var(--fc-radius-md) var(--fc-radius-md) 0;
    }

    /* Layout mobile */
    .col-full {
        width: 100%;
    }

    .shoptimizer-category-banner h1 {
        text-align: center;
        text-transform: uppercase;
    }

    /* Menu mobile */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
        padding: 0;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
        font-size: 13px;
        letter-spacing: -0.01em;
        line-height: 1;
    }

    /* Widgets mobiles */
    .textwidget {
        padding-left: 10px;
        padding-right: 20px;
        font-size: 16px;
    }

    .textwidget h4 {
        font-weight: 700;
        padding-right: 20px;
        line-height: 2;
        font-size: 18px;
    }

    .mobile-extra a {
        font-weight: 500;
        padding-right: 20px;
        padding-left: 0;
        font-size: 18px;
    }
    

    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
        font-size: 30px;
        margin: 0;
    }

    .site-content .woocommerce-breadcrumb {
        font-size: 16px;
        font-weight: 500;
    }
}

@media (max-width: 768px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
        border-bottom: 1px solid var(--fc-color-border-light) !important;
    }
}

@media (max-width: 600px) {
    .product-label.type-bubble,
    li.product .onsale {
        top: 0;
        left: 0;
        font-size: 16px;
        padding: 10px;
        opacity: 1;
    }
}