/**
 * WCFM CORE MODULE - KOLDKAZE
 * Consolide TOUS les styles WCFM : JS + CSS + vendor-interface + wcfm-core
 * Dépendances : variables.css, core.css
 * Version : 2.0.0
 * Date : 2025-01-02
 * 
 * CONTENU CONSOLIDÉ :
 * - Layout principal WCFM (sidebar, header, content)
 * - Navigation et menus WCFM
 * - Cartes et conteneurs WCFM
 * - Formulaires et champs WCFM
 * - Boutons et interactions WCFM
 * - Tables WCFM
 * - Messages et notifications WCFM
 * - Statistiques WCFM
 * - Upload et galeries WCFM
 * - Surcharge des styles inline du plugin
 * - Classes de remplacement pour JavaScript
 * - Responsive et animations WCFM
 */

/* === PRÉVENTION IMMÉDIATE DU SCINTILLEMENT === */
/* Masquer immédiatement les boutons upload/remove pour éviter l'apparition furtive */
/* EXCEPTION : Garder les boutons de galerie visibles */
.wcfm-wp-fields-uploader .upload_button:not(.koldkaze-btn-upload),
.wcfm-wp-fields-uploader .remove_button:not(.koldkaze-btn-remove),
.wcfm_gallery_upload .upload_button:not(.koldkaze-btn-upload) {
    visibility: hidden !important;
    opacity: 0 !important;
}

/* EXCEPTION : Les boutons de suppression de galerie restent visibles - DÉSACTIVÉ TEMPORAIREMENT */
/* Pour permettre de masquer tous les boutons dupliqués pendant le debug */
/*
#gallery_img .wcfm_gallery_upload .remove_button,
#wcfm_360_images .wcfm_gallery_upload .remove_button,
.wcfm_additional_variation_images .wcfm_gallery_upload .remove_button,
#gallery_img .multi_input_block_manupulate.remove_multi_input_block,
#wcfm_360_images .multi_input_block_manupulate.remove_multi_input_block,
.wcfm_additional_variation_images .multi_input_block_manupulate.remove_multi_input_block {
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-block !important;
}
*/

/* MASQUER LES BOUTONS REMOVE_BUTTON DUPLIQUÉS AVEC STYLE INLINE display:none */
/* Cible spécifiquement les boutons en double générés par WCFM qui ont style="display: none;" */
#gallery_img .wcfm_gallery_upload .remove_button[style*="display: none"],
#wcfm_360_images .wcfm_gallery_upload .remove_button[style*="display: none"],
.wcfm_additional_variation_images .wcfm_gallery_upload .remove_button[style*="display: none"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* ===== VARIABLES WCFM SPÉCIFIQUES ===== */

:root {
    /* Couleurs WCFM */
    --wcfm-primary: var(--koldkaze-primary);
    --wcfm-secondary: #6c757d;
    --wcfm-success: var(--koldkaze-success);
    --wcfm-warning: var(--koldkaze-warning);
    --wcfm-danger: var(--koldkaze-danger);
    --wcfm-info: var(--koldkaze-info);
    
    /* Layout WCFM */
    --wcfm-sidebar-width: 280px;
    --wcfm-header-height: 60px;
    --wcfm-content-padding: var(--koldkaze-spacing-lg);
    
    /* Z-index WCFM */
    --wcfm-z-sidebar: 1000;
    --wcfm-z-header: 1010;
    --wcfm-z-dropdown: 1020;
    --wcfm-z-modal: 1030;
}

/* ===== LAYOUT PRINCIPAL WCFM ===== */

/* Sidebar WCFM */
.wcfm-sidebar {
    width: var(--wcfm-sidebar-width);
    background-color: var(--koldkaze-white);
    border-right: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    overflow-y: auto;
    z-index: var(--wcfm-z-sidebar);
    transition: transform var(--koldkaze-transition-base);
}

.wcfm-sidebar.collapsed {
    transform: translateX(-100%);
}

/* Header WCFM */
.wcfm-header {
    height: var(--wcfm-header-height);
    background-color: var(--koldkaze-white);
    border-bottom: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--wcfm-content-padding);
    position: sticky;
    top: 0;
    z-index: var(--wcfm-z-header);
}

/* Contenu principal WCFM */
.wcfm-main-content {
    flex: 1;
    margin-left: var(--wcfm-sidebar-width);
    padding: var(--wcfm-content-padding);
    transition: margin-left var(--koldkaze-transition-base);
}

.wcfm-sidebar.collapsed + .wcfm-main-content {
    margin-left: 0;
}

/* ===== NAVIGATION WCFM ===== */

.wcfm-nav {
    padding: var(--koldkaze-spacing-md) 0;
}

.wcfm-nav-item {
    display: block;
    padding: var(--koldkaze-spacing-sm) var(--koldkaze-spacing-lg);
    color: var(--koldkaze-dark);
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: all var(--koldkaze-transition-fast);
    position: relative;
}

.wcfm-nav-item:hover {
    background-color: var(--koldkaze-gray-100);
    color: var(--wcfm-primary);
    border-left-color: var(--wcfm-primary);
}

.wcfm-nav-item.active {
    background-color: var(--koldkaze-primary-light);
    color: var(--wcfm-primary);
    border-left-color: var(--wcfm-primary);
    font-weight: var(--koldkaze-font-weight-semibold);
}

.wcfm-nav-item-icon {
    display: inline-block;
    width: 20px;
    margin-right: var(--koldkaze-spacing-sm);
    text-align: center;
}

.wcfm-nav-item-text {
    vertical-align: middle;
}

.wcfm-nav-item-badge {
    background-color: var(--wcfm-danger);
    color: var(--koldkaze-white);
    border-radius: var(--koldkaze-border-radius-pill);
    padding: 2px var(--koldkaze-spacing-xs);
    font-size: var(--koldkaze-font-size-xs);
    font-weight: var(--koldkaze-font-weight-bold);
    position: absolute;
    right: var(--koldkaze-spacing-md);
    top: 50%;
    transform: translateY(-50%);
}

/* Sous-navigation */
.wcfm-nav-submenu {
    background-color: var(--koldkaze-gray-50);
    border-top: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--koldkaze-transition-base);
}

.wcfm-nav-item.has-submenu.open + .wcfm-nav-submenu {
    max-height: 300px;
}

.wcfm-nav-submenu-item {
    display: block;
    padding: var(--koldkaze-spacing-xs) var(--koldkaze-spacing-lg);
    padding-left: calc(var(--koldkaze-spacing-lg) + 20px + var(--koldkaze-spacing-sm));
    color: var(--koldkaze-gray-600);
    text-decoration: none;
    font-size: var(--koldkaze-font-size-sm);
    transition: all var(--koldkaze-transition-fast);
}

.wcfm-nav-submenu-item:hover {
    background-color: var(--koldkaze-gray-200);
    color: var(--wcfm-primary);
}

.wcfm-nav-submenu-item.active {
    background-color: var(--koldkaze-primary-light);
    color: var(--wcfm-primary);
    font-weight: var(--koldkaze-font-weight-medium);
}

/* ===== CARTES WCFM ===== */

.wcfm-card {
    background-color: var(--koldkaze-white);
    border: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    border-radius: var(--koldkaze-border-radius);
    box-shadow: var(--koldkaze-shadow-sm);
    margin-bottom: var(--koldkaze-spacing-lg);
    overflow: hidden;
}

.wcfm-card-header {
    background-color: var(--koldkaze-gray-50);
    border-bottom: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    padding: var(--koldkaze-spacing-md) var(--koldkaze-spacing-lg);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.wcfm-card-title {
    font-size: var(--koldkaze-font-size-lg);
    font-weight: var(--koldkaze-font-weight-semibold);
    color: var(--koldkaze-dark);
    margin: 0;
}

.wcfm-card-actions {
    display: flex;
    gap: var(--koldkaze-spacing-xs);
}

.wcfm-card-body {
    padding: var(--koldkaze-spacing-lg);
}

.wcfm-card-footer {
    background-color: var(--koldkaze-gray-50);
    border-top: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    padding: var(--koldkaze-spacing-md) var(--koldkaze-spacing-lg);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ===== TABLEAUX WCFM ===== */

.wcfm-table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.wcfm-table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--koldkaze-white);
}

.wcfm-table th,
.wcfm-table td {
    padding: var(--koldkaze-spacing-sm) var(--koldkaze-spacing-md);
    text-align: left;
    border-bottom: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    vertical-align: middle;
}

.wcfm-table th {
    background-color: var(--koldkaze-gray-100);
    font-weight: var(--koldkaze-font-weight-semibold);
    color: var(--koldkaze-dark);
    font-size: var(--koldkaze-font-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wcfm-table tbody tr:hover {
    background-color: var(--koldkaze-gray-50);
}

.wcfm-table tbody tr.selected {
    background-color: var(--koldkaze-primary-light);
}

/* Colonnes spéciales */
.wcfm-table .col-checkbox {
    width: 40px;
    text-align: center;
}

.wcfm-table .col-actions {
    width: 120px;
    text-align: right;
}

.wcfm-table .col-status {
    width: 100px;
}

.wcfm-table .col-date {
    width: 120px;
    font-size: var(--koldkaze-font-size-sm);
    color: var(--koldkaze-gray-600);
}

/* ===== FORMULAIRES WCFM ===== */

.wcfm-form {
    background-color: var(--koldkaze-white);
}

.wcfm-form-section {
    margin-bottom: var(--koldkaze-spacing-xl);
}

.wcfm-form-section-title {
    font-size: var(--koldkaze-font-size-lg);
    font-weight: var(--koldkaze-font-weight-semibold);
    color: var(--koldkaze-dark);
    margin-bottom: var(--koldkaze-spacing-md);
    padding-bottom: var(--koldkaze-spacing-sm);
    border-bottom: 2px solid var(--wcfm-primary);
}

.wcfm-form-row {
    display: flex;
    gap: var(--koldkaze-spacing-md);
    margin-bottom: var(--koldkaze-spacing-md);
}

.wcfm-form-col {
    flex: 1;
}

.wcfm-form-col-2 {
    flex: 0 0 calc(50% - var(--koldkaze-spacing-md) / 2);
}

.wcfm-form-col-3 {
    flex: 0 0 calc(33.333% - var(--koldkaze-spacing-md) * 2 / 3);
}

.wcfm-form-col-4 {
    flex: 0 0 calc(25% - var(--koldkaze-spacing-md) * 3 / 4);
}

/* ===== STATISTIQUES WCFM ===== */

.wcfm-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--koldkaze-spacing-lg);
    margin-bottom: var(--koldkaze-spacing-xl);
}

.wcfm-stat-card {
    background: linear-gradient(135deg, var(--wcfm-primary), var(--koldkaze-primary-hover));
    color: var(--koldkaze-white);
    padding: var(--koldkaze-spacing-lg);
    border-radius: var(--koldkaze-border-radius);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.wcfm-stat-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transform: rotate(45deg);
}

.wcfm-stat-value {
    font-size: var(--koldkaze-font-size-xxxl);
    font-weight: var(--koldkaze-font-weight-bold);
    margin-bottom: var(--koldkaze-spacing-xs);
    position: relative;
    z-index: 1;
}

.wcfm-stat-label {
    font-size: var(--koldkaze-font-size-sm);
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    z-index: 1;
}

.wcfm-stat-icon {
    position: absolute;
    top: var(--koldkaze-spacing-md);
    right: var(--koldkaze-spacing-md);
    font-size: var(--koldkaze-font-size-xl);
    opacity: 0.3;
}

/* Variantes de couleurs */
.wcfm-stat-card.success {
    background: linear-gradient(135deg, var(--wcfm-success), #1e7e34);
}

.wcfm-stat-card.warning {
    background: linear-gradient(135deg, var(--wcfm-warning), #e0a800);
}

.wcfm-stat-card.danger {
    background: linear-gradient(135deg, var(--wcfm-danger), #c82333);
}

.wcfm-stat-card.info {
    background: linear-gradient(135deg, var(--wcfm-info), #138496);
}

/* ===== NOTIFICATIONS WCFM ===== */

.wcfm-notifications {
    position: fixed;
    top: var(--koldkaze-spacing-lg);
    right: var(--koldkaze-spacing-lg);
    z-index: var(--wcfm-z-modal);
    max-width: 400px;
}

.wcfm-notification {
    background-color: var(--koldkaze-white);
    border: var(--koldkaze-border-width) solid var(--koldkaze-border-color);
    border-left: 4px solid var(--wcfm-info);
    border-radius: var(--koldkaze-border-radius);
    box-shadow: var(--koldkaze-shadow-lg);
    padding: var(--koldkaze-spacing-md);
    margin-bottom: var(--koldkaze-spacing-sm);
    display: flex;
    align-items: flex-start;
    gap: var(--koldkaze-spacing-sm);
    animation: slideInRight 0.3s ease-out;
}

.wcfm-notification.success {
    border-left-color: var(--wcfm-success);
}

.wcfm-notification.warning {
    border-left-color: var(--wcfm-warning);
}

.wcfm-notification.danger {
    border-left-color: var(--wcfm-danger);
}

.wcfm-notification-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--koldkaze-white);
    font-size: var(--koldkaze-font-size-xs);
    margin-top: 2px;
}

.wcfm-notification.success .wcfm-notification-icon {
    background-color: var(--wcfm-success);
}

.wcfm-notification.warning .wcfm-notification-icon {
    background-color: var(--wcfm-warning);
}

.wcfm-notification.danger .wcfm-notification-icon {
    background-color: var(--wcfm-danger);
}

.wcfm-notification.info .wcfm-notification-icon {
    background-color: var(--wcfm-info);
}

.wcfm-notification-content {
    flex: 1;
}

.wcfm-notification-title {
    font-size: var(--koldkaze-font-size-sm);
    font-weight: var(--koldkaze-font-weight-semibold);
    color: var(--koldkaze-dark);
    margin-bottom: var(--koldkaze-spacing-xs);
}

.wcfm-notification-message {
    font-size: var(--koldkaze-font-size-xs);
    color: var(--koldkaze-gray-600);
    line-height: var(--koldkaze-line-height-normal);
}

.wcfm-notification-close {
    background: none;
    border: none;
    color: var(--koldkaze-gray-400);
    cursor: pointer;
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all var(--koldkaze-transition-fast);
}

.wcfm-notification-close:hover {
    background-color: var(--koldkaze-gray-200);
    color: var(--koldkaze-dark);
}

/* ===== ANIMATIONS ===== */

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.95);
    }
}

/* ===== RESPONSIVE WCFM ===== */

@media (max-width: 1024px) {
    .wcfm-sidebar {
        transform: translateX(-100%);
    }
    
    .wcfm-sidebar.open {
        transform: translateX(0);
    }
    
    .wcfm-main-content {
        margin-left: 0;
    }
    
    .wcfm-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .wcfm-header {
        padding: 0 var(--koldkaze-spacing-md);
    }
    
    .wcfm-main-content {
        padding: var(--koldkaze-spacing-md);
    }
    
    .wcfm-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .wcfm-form-row {
        flex-direction: column;
        gap: var(--koldkaze-spacing-sm);
    }
    
    .wcfm-form-col-2,
    .wcfm-form-col-3,
    .wcfm-form-col-4 {
        flex: 1;
    }
    
    .wcfm-table-container {
        margin: 0 calc(-1 * var(--koldkaze-spacing-md));
    }
    
    .wcfm-notifications {
        top: var(--koldkaze-spacing-sm);
        right: var(--koldkaze-spacing-sm);
        left: var(--koldkaze-spacing-sm);
        max-width: none;
    }
}

/* ===== UTILITAIRES WCFM ===== */

.wcfm-text-center {
    text-align: center;
}

.wcfm-text-right {
    text-align: right;
}

.wcfm-text-muted {
    color: var(--koldkaze-gray-600);
}

.wcfm-text-primary {
    color: var(--wcfm-primary);
}

.wcfm-text-success {
    color: var(--wcfm-success);
}

.wcfm-text-warning {
    color: var(--wcfm-warning);
}

.wcfm-text-danger {
    color: var(--wcfm-danger);
}

.wcfm-bg-light {
    background-color: var(--koldkaze-gray-100);
}

.wcfm-border-primary {
    border-color: var(--wcfm-primary);
}

.wcfm-shadow {
    box-shadow: var(--koldkaze-shadow-sm);
}

.wcfm-rounded {
    border-radius: var(--koldkaze-border-radius);
}

.wcfm-mb-0 { margin-bottom: 0; }
.wcfm-mb-1 { margin-bottom: var(--koldkaze-spacing-xs); }
.wcfm-mb-2 { margin-bottom: var(--koldkaze-spacing-sm); }
.wcfm-mb-3 { margin-bottom: var(--koldkaze-spacing-md); }
.wcfm-mb-4 { margin-bottom: var(--koldkaze-spacing-lg); }
.wcfm-mb-5 { margin-bottom: var(--koldkaze-spacing-xl); }

.wcfm-p-0 { padding: 0; }
.wcfm-p-1 { padding: var(--koldkaze-spacing-xs); }
.wcfm-p-2 { padding: var(--koldkaze-spacing-sm); }
.wcfm-p-3 { padding: var(--koldkaze-spacing-md); }
.wcfm-p-4 { padding: var(--koldkaze-spacing-lg); }
.wcfm-p-5 { padding: var(--koldkaze-spacing-xl); }

/* ===== ACCESSIBILITÉ ===== */

.wcfm-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus visible pour les éléments interactifs */
.wcfm-nav-item:focus-visible,
.wcfm-notification-close:focus-visible {
    outline: 2px solid var(--wcfm-primary);
    outline-offset: 2px;
}

/* Amélioration du contraste */
@media (prefers-contrast: high) {
    .wcfm-card,
    .wcfm-table,
    .wcfm-notification {
        border-width: 2px;
    }
}

/* Réduction des animations */
@media (prefers-reduced-motion: reduce) {
    .wcfm-sidebar,
    .wcfm-nav-item,
    .wcfm-notification,
    .wcfm-notification-close {
        transition: none;
    }
    
    .wcfm-notification {
        animation: none;
    }
}

/* ========================================
   SURCHARGE DES STYLES INLINE WCFM PLUGIN
   ======================================== */



/* ===== STYLES POUR LES CLASSES AJOUTÉES PAR JAVASCRIPT ===== */

/* Select verrouillé - Remplace les styles inline supprimés */
.wcfm-locked-select {
    background-color: #e8f5e8 !important;
    border: 2px solid var(--koldkaze-primary) !important;
    font-weight: bold !important;
}

/* Icône de verrouillage - Remplace les styles inline supprimés */
.lock-icon {
    margin-left: 5px !important;
    color: var(--koldkaze-primary) !important;
}

/* ========================================
   STYLES WCFM CONSOLIDÉS DEPUIS VENDOR-INTERFACE
   ======================================== */

/* === FORMULAIRES ET NOTES WCFM === */

/* Élimination du flash de couleur au chargement */
.add_note,
.add_note[style],
div.add_note,
div.add_note[style],
body .add_note,
body div.add_note,
body .wcfm-container .add_note {
    background: var(--koldkaze-light) !important;
    border: var(--koldkaze-border-width) solid var(--koldkaze-primary) !important;
    border-radius: var(--koldkaze-border-radius) !important;
    padding: var(--koldkaze-spacing-lg) !important;
    margin-bottom: var(--koldkaze-spacing-lg) !important;
    box-shadow: var(--koldkaze-shadow-sm) !important;
    order: -1 !important;
}

.add_note h2,
.add_note h2[style],
.add_note .koldkaze-form-title,
body .add_note h2,
body .wcfm-container .add_note h2 {
    color: var(--koldkaze-primary) !important;
    border-bottom: 2px solid var(--koldkaze-primary) !important;
    padding-bottom: var(--koldkaze-spacing-sm) !important;
    margin-bottom: var(--koldkaze-spacing-md) !important;
    font-size: var(--koldkaze-font-size-lg) !important;
    font-weight: var(--koldkaze-font-weight-semibold) !important;
}

/* Boutons de formulaire WCFM */
body .wcfm-container .add_note.button {
    background: var(--koldkaze-primary);
    color: var(--koldkaze-white);
    border: 1px solid var(--koldkaze-primary);
    padding: var(--koldkaze-spacing-sm) var(--koldkaze-spacing-lg);
    border-radius: var(--koldkaze-border-radius-sm);
    font-weight: var(--koldkaze-font-weight-medium);
    cursor: pointer;
    transition: var(--koldkaze-transition-fast);
    text-decoration: none;
    display: inline-block;
}

/* Styles ultra-spécifiques pour bloquer les réapplications */
body .wcfm-container .add_note[style*="background"] {
    background: var(--koldkaze-primary);
    color: var(--koldkaze-white);
}

/* Bloquer spécifiquement les styles inline avec rgb(40, 167, 69) */
body [style*="rgb(40, 167, 69)"] {
    background: var(--koldkaze-primary);
    color: var(--koldkaze-white);
    border-color: var(--koldkaze-primary);
}

/* === CONTAINER PRINCIPAL WCFM === */

/* Container principal WCFM - Sélecteurs très spécifiques */
body #wcfm-main-contentainer,
body .wcfm-container,
body .wcfm_menu,
body .wcfm-content,
body #wcfm_page,
body .wcfm_page_headr,
body .wcfm_page_content {
    font-family: var(--koldkaze-font-family) !important;
}

/* === NAVIGATION ET MENU WCFM === */

/* Menu principal WCFM */
.wcfm_menu .wcfm_menu_items,
.wcfm_menu .wcfm_menu_item {
    background-color: var(--koldkaze-white) !important;
    border-color: var(--koldkaze-border-color) !important;
}

.wcfm_menu .wcfm_menu_item a {
    color: var(--koldkaze-dark) !important;
    padding: var(--koldkaze-spacing-md) var(--koldkaze-spacing-lg) !important;
    border-radius: var(--koldkaze-border-radius-sm) !important;
    transition: var(--koldkaze-transition-fast) !important;
}

.wcfm_menu .wcfm_menu_item a:hover,
.wcfm_menu .wcfm_menu_item.active a {
    background-color: var(--koldkaze-primary-light) !important;
    color: var(--koldkaze-primary) !important;
    border-left: 3px solid var(--koldkaze-primary) !important;
}

/* === BOUTONS WCFM === */

/* Boutons principaux */
.wcfm-button,
.wcfm_submit_button,
.add_note.button,
input[type="submit"].wcfm_submit_button,
button.wcfm_submit_button {
    background: var(--koldkaze-primary);
    color: var(--koldkaze-white);
    border: 1px solid var(--koldkaze-primary);
    padding: var(--koldkaze-spacing-sm) var(--koldkaze-spacing-lg);
    border-radius: var(--koldkaze-border-radius-sm);
    font-weight: var(--koldkaze-font-weight-medium);
    font-size: var(--koldkaze-font-size-sm);
    cursor: pointer;
    transition: var(--koldkaze-transition-fast);
    text-decoration: none;
    display: inline-block;
}

.wcfm-button:hover,
.wcfm_submit_button:hover {
    background: var(--koldkaze-primary-hover);
    border-color: var(--koldkaze-primary-hover);
    transform: translateY(-1px);
    box-shadow: var(--koldkaze-shadow-sm);
}

/* Boutons secondaires */
.wcfm-button.secondary,
.button.secondary {
    background: var(--koldkaze-gray-200) !important;
    color: var(--koldkaze-dark) !important;
    border-color: var(--koldkaze-gray-300) !important;
}

.wcfm-button.secondary:hover,
.button.secondary:hover {
    background: var(--koldkaze-gray-300) !important;
    border-color: var(--koldkaze-gray-400) !important;
}

/* Boutons de succès */
.wcfm-button.success,
.button.success {
    background: var(--koldkaze-success) !important;
    border-color: var(--koldkaze-success) !important;
}

.wcfm-button.success:hover,
.button.success:hover {
    background: #00b574 !important;
    border-color: #00b574 !important;
}

/* === MESSAGERIE WCFM === */

/* Neutralisation du centrage WCFM dans la messagerie */
.wcfm-collapse .wcfm-top-element-container .vendor-messages-container,
.wcfm-collapse .wcfm-top-element-container .vendor-message,
.wcfm-collapse .wcfm-top-element-container .message-content,
.wcfm-collapse .wcfm-top-element-container .vendor-message .message-content,
.wcfm-collapse .wcfm-top-element-container .vendor-message .message-content p {
    text-align: left !important;
}

/* Surcharge avec spécificité maximale pour la messagerie */
body .wcfm-collapse .wcfm-top-element-container .vendor-messages-container,
body .wcfm-collapse .wcfm-top-element-container .vendor-message,
body .wcfm-collapse .wcfm-top-element-container .message-content,
body .wcfm-collapse .wcfm-top-element-container .vendor-message .message-content,
body .wcfm-collapse .wcfm-top-element-container .vendor-message .message-content p {
    text-align: left !important;
}

/* === PRÉVENTION DU SCINTILLEMENT DES BOUTONS === */

/* Masquer les boutons upload/remove par défaut pour éviter le scintillement */
.wcfm-wp-fields-uploader .upload_button,
.wcfm-wp-fields-uploader .remove_button,
.wcfm_gallery_upload .upload_button {
    opacity: 0 !important;
    transition: opacity 0.1s ease !important;
}

/* Les afficher seulement quand ils sont correctement initialisés */
.wcfm-wp-fields-uploader.initialized .upload_button:not([style*="display: none"]),
.wcfm-wp-fields-uploader.initialized .remove_button:not([style*="display: none"]),
.wcfm_gallery_upload.initialized .upload_button:not([style*="display: none"]) {
    opacity: 1 !important;
}

/* Forcer la visibilité pour les boutons avec les bonnes classes Koldkaze */
.upload_button.koldkaze-btn-upload,
.remove_button.koldkaze-btn-remove,
button.koldkaze-btn-upload,
button.koldkaze-btn-remove {
    opacity: 1 !important;
}

/* === FORMULAIRES WCFM === */

/* Champs de formulaire */
.wcfm-text,
.wcfm-textarea,
.wcfm-select,
.wcfm_ele:not(p):not(.wcfm_title),
input[type="text"].wcfm-text,
input[type="email"].wcfm-text,
input[type="password"].wcfm-text,
textarea.wcfm-textarea,
select.wcfm-select {
    background-color: var(--koldkaze-white) !important;
    border: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
    border-radius: var(--koldkaze-border-radius-sm) !important;
    padding: var(--koldkaze-spacing-sm) var(--koldkaze-spacing-md) !important;
    font-size: var(--koldkaze-font-size-sm) !important;
    font-family: var(--koldkaze-font-family) !important;
    color: var(--koldkaze-dark) !important;
    transition: var(--koldkaze-transition-fast) !important;
}

.wcfm-text:focus,
.wcfm-textarea:focus,
.wcfm-select:focus,
.wcfm_ele:not(p):not(.wcfm_title):focus {
    border-color: var(--koldkaze-primary) !important;
    box-shadow: 0 0 0 2px rgba(99, 0, 255, 0.1) !important;
    outline: none !important;
}

/* Labels */
.wcfm_title,
.wcfm-label,
label.wcfm_title {
    color: var(--koldkaze-dark) !important;
    font-weight: var(--koldkaze-font-weight-medium) !important;
    font-size: var(--koldkaze-font-size-sm) !important;
    margin-bottom: var(--koldkaze-spacing-xs) !important;
}

/* === TABLEAUX WCFM === */

/* Tables principales */
.wcfm-container table,
.wcfm_orders_table,
.wcfm_products_table,
table.wcfm-table {
    background-color: var(--koldkaze-white) !important;
    border: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
    border-radius: var(--koldkaze-border-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--koldkaze-shadow-sm) !important;
}

.wcfm-container table th,
.wcfm_orders_table th,
.wcfm_products_table th {
    background-color: var(--koldkaze-gray-100) !important;
    color: var(--koldkaze-dark) !important;
    font-weight: var(--koldkaze-font-weight-semibold) !important;
    font-size: var(--koldkaze-font-size-xs) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: var(--koldkaze-spacing-md) !important;
    border-bottom: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
}

.wcfm-container table td,
.wcfm_orders_table td,
.wcfm_products_table td {
    padding: var(--koldkaze-spacing-md) !important;
    border-bottom: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
    color: var(--koldkaze-dark) !important;
    font-size: var(--koldkaze-font-size-sm) !important;
}

.wcfm-container table tbody tr:hover,
.wcfm_orders_table tbody tr:hover,
.wcfm_products_table tbody tr:hover {
    background-color: var(--koldkaze-gray-50) !important;
}

/* === UPLOAD WCFM === */

/* Masquer les boutons upload dans la galerie produit */
.wcfm_product_manager_gallery_fields .upload_button {
    display: none;
}

/* Éléments masqués avec styles inline - EXCEPTION pour galerie */
body .multi_input_block_manupulate.remove_multi_input_block[style*="display: none"] {
    display: none !important;
}

/* Forcer l'affichage des boutons X dans les galeries */
body #gallery_img .multi_input_block_manupulate.remove_multi_input_block,
body #wcfm_360_images .multi_input_block_manupulate.remove_multi_input_block,
body .wcfm_additional_variation_images .multi_input_block_manupulate.remove_multi_input_block {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body p[style*="display: none"] {
    display: none !important;
}

/* Couleur des descriptions avec styles inline */
body .description b[style] {
    color: var(--koldkaze-danger) !important;
}

/* Champs de texte avec styles inline */
body input[type="text"][style*="display: none"] {
    display: none !important;
}

/* === CARTES ET CONTENEURS WCFM === */

/* Cartes principales */
.wcfm_orders_expander,
.wcfm_products_expander,
.wcfm-card {
    background-color: var(--koldkaze-white) !important;
    border: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
    border-radius: var(--koldkaze-border-radius) !important;
    box-shadow: var(--koldkaze-shadow-sm) !important;
    margin-bottom: var(--koldkaze-spacing-lg) !important;
    overflow: hidden !important;
}

/* En-têtes de cartes */
.wcfm-card-header,
.wcfm_orders_expander .wcfm_orders_expander_head,
.wcfm_products_expander .wcfm_products_expander_head {
    background-color: var(--koldkaze-gray-50) !important;
    border-bottom: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
    padding: var(--koldkaze-spacing-md) var(--koldkaze-spacing-lg) !important;
}

.wcfm-card-header h3,
.wcfm_orders_expander_head h3,
.wcfm_products_expander_head h3 {
    color: var(--koldkaze-dark) !important;
    font-size: var(--koldkaze-font-size-lg) !important;
    font-weight: var(--koldkaze-font-weight-semibold) !important;
    margin: 0 !important;
}

/* Corps de cartes */
.wcfm-card-body,
.wcfm_orders_expander .wcfm_orders_expander_content,
.wcfm_products_expander .wcfm_products_expander_content {
    padding: var(--koldkaze-spacing-lg) !important;
}

/* === MESSAGES ET NOTIFICATIONS WCFM === */

/* Messages de succès */
.wcfm-message.success,
.wcfm_message.success {
    background-color: var(--koldkaze-success-light) !important;
    border-left: 4px solid var(--koldkaze-success) !important;
    color: var(--koldkaze-dark) !important;
    padding: var(--koldkaze-spacing-md) !important;
    border-radius: var(--koldkaze-border-radius-sm) !important;
    margin: var(--koldkaze-spacing-md) 0 !important;
}

/* Messages d'erreur */
.wcfm-message.error,
.wcfm_message.error {
    background-color: var(--koldkaze-danger-light) !important;
    border-left: 4px solid var(--koldkaze-danger) !important;
    color: var(--koldkaze-dark) !important;
    padding: var(--koldkaze-spacing-md) !important;
    border-radius: var(--koldkaze-border-radius-sm) !important;
    margin: var(--koldkaze-spacing-md) 0 !important;
}

/* Messages d'information */
.wcfm-message.info,
.wcfm_message.info {
    background-color: var(--koldkaze-info-light) !important;
    border-left: 4px solid var(--koldkaze-info) !important;
    color: var(--koldkaze-dark) !important;
    padding: var(--koldkaze-spacing-md) !important;
    border-radius: var(--koldkaze-border-radius-sm) !important;
    margin: var(--koldkaze-spacing-md) 0 !important;
}

/* Messages d'avertissement */
.wcfm-message.warning,
.wcfm_message.warning {
    background-color: var(--koldkaze-warning-light) !important;
    border-left: 4px solid var(--koldkaze-warning) !important;
    color: var(--koldkaze-dark) !important;
    padding: var(--koldkaze-spacing-md) !important;
    border-radius: var(--koldkaze-border-radius-sm) !important;
    margin: var(--koldkaze-spacing-md) 0 !important;
}

/* === CARTES ET CONTENEURS WCFM === */

/* Cartes principales */
.wcfm_orders_expander,
.wcfm_products_expander,
.wcfm-card {
    background-color: var(--koldkaze-white) !important;
    border: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
    border-radius: var(--koldkaze-border-radius) !important;
    box-shadow: var(--koldkaze-shadow-sm) !important;
    margin-bottom: var(--koldkaze-spacing-lg) !important;
    overflow: hidden !important;
}

/* En-têtes de cartes */
.wcfm-card-header,
.wcfm_orders_expander .wcfm_orders_expander_head,
.wcfm_products_expander .wcfm_products_expander_head {
    background-color: var(--koldkaze-gray-50) !important;
    border-bottom: var(--koldkaze-border-width) solid var(--koldkaze-border-color) !important;
    padding: var(--koldkaze-spacing-md) var(--koldkaze-spacing-lg) !important;
}

.wcfm-card-header h3,
.wcfm_orders_expander_head h3,
.wcfm_products_expander_head h3 {
    color: var(--koldkaze-dark) !important;
    font-size: var(--koldkaze-font-size-lg) !important;
    font-weight: var(--koldkaze-font-weight-semibold) !important;
    margin: 0 !important;
}

/* Corps de cartes */
.wcfm-card-body,
.wcfm_orders_expander .wcfm_orders_expander_content,
.wcfm_products_expander .wcfm_products_expander_content {
    padding: var(--koldkaze-spacing-lg) !important;
}


/* ===== MASQUER DES SECTIONS WCFM ===== */

/* Masquer la section Catalog Visibility */
#catalog_visibility,
p.catalog_visibility,
.catalog_visibility_ele,
label[for="catalog_visibility"],
p:has(#catalog_visibility),
.wcfm_title:has(+ #catalog_visibility),
p.wcfm_title:has(+ select#catalog_visibility) {
    display: none !important;
}

/* ===== STYLES WCFM CONSOLIDÉS DEPUIS STYLE.CSS ===== */

/* Supprimer les ombrés sur les conteneurs WCFM */
.wcfm-container,
.wcfm-container .wcfm-content,
#orders_details_general_expander {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}

/* Filet gris avec coins arrondis pour la section wcfm-tabWrap */
.wcfm-tabWrap {
    border: 1px solid var(--light-gray) !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 10px 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Supprimer toutes les bordures des blocs wcfm-container et multi_input_block dans wcfm-tabWrap */
.wcfm-tabWrap .wcfm-container,
.wcfm-tabWrap .multi_input_block {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 10px 0 !important;
}

/* Override maximum pour les conteneurs wcfm-container - bordure extérieure des blocs */
#wcfm-main-contentainer .wcfm-tabWrap div.wcfm-container {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    padding: 10px 0 !important;
    margin: 0 !important;
}

/* Override pour wcfm-content à l'intérieur des conteneurs */
#wcfm-main-contentainer .wcfm-tabWrap div.wcfm-container div.wcfm-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 15px 0 !important;
}

/* Spécificité maximale pour les multi_input_block à l'intérieur de wcfm-tabWrap */
#wcfm-main-contentainer .wcfm-tabWrap .multi_input_block {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 10px 0 !important;
    margin-bottom: 0 !important;
}

/* Styles WCFM pour les galeries - natif seulement */
.wcfm_product_manager_gallery_fields #featured_img_display {
    max-width: 100%;
    height: auto !important;
    object-fit: contain;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 5px;
    background-color: #f9f9f9;
}

/* Ajustements padding pour les thumbnails */
#gallery_img .multi_input_block:nth-child(odd), 
#wcfm_360_images .multi_input_block:nth-child(odd) {
    padding: 0px !important;
}

#gallery_img .multi_input_block:nth-child(even), 
#wcfm_360_images .multi_input_block:nth-child(even) {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

/* Styles généraux pour les blocs thumbnails */
#gallery_img .multi_input_block, 
#wcfm_360_images .multi_input_block, 
.wcfm_additional_variation_images .multi_input_block {
    border: 0px;
    display: inline-block;
    margin-bottom: 0px;
    width: auto;
}

/* Override pour multi_input_block */
.multi_input_block {
    border: 1px solid #dfdfdf;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    padding: 10px;
    margin-bottom: 10px;
    display: inline-block;
    width: 100%;
}

/* Styles mobiles WCFM supplémentaires */
@media (max-width: 768px) {
    .wcfm-container {
        padding: var(--koldkaze-spacing-md);
        border: none;
    }
    
    .wcfm-form-group, 
    .wcfm-fieldset {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--koldkaze-spacing-sm);
    }
    
    .wcfm_title, 
    .terms_title {
        flex: 0 0 auto;
    }
    
    .wcfm-text, 
    .wcfm-select, 
    .wcfm-textarea {
        font-size: var(--koldkaze-font-size-sm);
    }
}


/* ===== STYLES WCFM VENDOR STORE ===== */

/* WCFM VENDOR STORE TABS STYLING */
#wcfmmp-store #tabsWithStyle {
  position: relative;
  margin-bottom: var(--koldkaze-spacing-lg);
}

#wcfmmp-store #tab_links_area {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  border: none;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area ul.tab_links li {
  border: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area ul.tab_links li:hover {
  border: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area ul.tab_links li:hover::before,
#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area ul.tab_links li:hover::after {
  content: none !important;
  border: none !important;
  background: transparent !important;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area a:hover::before,
#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area a:hover::after {
  content: none !important;
  border: none !important;
  background: transparent !important;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area a {
  position: relative;
  padding: var(--koldkaze-spacing-md) var(--koldkaze-spacing-lg);
  color: var(--koldkaze-dark) !important;
  text-decoration: none !important;
  font-family: var(--koldkaze-font-family);
  font-size: var(--koldkaze-font-size-md);
  font-weight: 400 !important;
  text-transform: capitalize !important;
  border: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  transition: color var(--koldkaze-transition-fast);
  z-index: 2;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area a:hover {
  color: var(--wcfm-primary) !important;
  border: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area a:hover::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--wcfm-primary) !important;
  z-index: 3;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area li.active a {
  color: var(--wcfm-primary) !important;
}

#wcfmmp-store .body_area .right_side #tabsWithStyle #tab_links_area li.active a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--wcfm-primary) !important;
  z-index: 3;
}

/* WCFM VENDOR STORE PRODUCT GRID */
#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--koldkaze-spacing-lg);
  list-style: none;
  padding: 0;
  margin: 0;
}

#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product {
  width: 100%;
  margin: 0;
  padding: var(--koldkaze-spacing-md) 0 var(--koldkaze-spacing-lg);
  box-sizing: border-box;
}

#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product img {
  height: 400px;
  width: 100%;
  object-fit: cover;
  border-radius: var(--koldkaze-border-radius-sm);
  display: block;
}

#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product h2.woocommerce-loop-product__title {
  font-weight: var(--koldkaze-font-weight-medium);
  padding: var(--koldkaze-spacing-sm) 0;
}

#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product .price-button-container {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: relative;
}

#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product .price {
  display: inline-block;
  width: auto;
  flex: 0 0 auto;
}

#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product a.button.add_to_cart_button {
  background-color: var(--koldkaze-white);
  border: none;
  border-radius: 0;
  font-weight: 400;
  text-decoration: none;
  padding: var(--koldkaze-spacing-sm) var(--koldkaze-spacing-md);
  transition: all var(--koldkaze-transition-fast);
  flex: 0 0 auto;
  margin-left: auto;
  position: relative;
  right: 0;
}

#wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product a.button.add_to_cart_button:hover {
  color: var(--wcfm-primary);
  border-bottom: 2px solid var(--wcfm-primary);
}

/* WCFM VENDOR STORE SORTING AND RESULTS DISPLAY */
#wcfmmp-store .products-wrapper > .woocommerce-notices-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

#wcfmmp-store .woocommerce-ordering {
  order: 2;
  max-width: 400px;
}

#wcfmmp-store .woocommerce-result-count {
  order: 1;
  max-width: 400px;
  padding-top: var(--koldkaze-spacing-md);
  padding-right: var(--koldkaze-spacing-sm);
}

#wcfmmp-store .woocommerce-ordering {
  display: inline-block;
  margin: 0;
  width: auto;
}

#wcfmmp-store .woocommerce-ordering select.orderby {
  width: auto;
  font-size: var(--koldkaze-font-size-sm);
  padding: var(--koldkaze-spacing-sm);
  border-radius: var(--koldkaze-border-radius-sm);
}

#wcfmmp-store .woocommerce-result-count {
  display: inline-block;
  margin: 0;
  vertical-align: middle;
  font-size: var(--koldkaze-font-size-sm);
}

/* Responsive height adjustments for product images */
@media (max-width: 1024px) {
  #wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product img {
    height: 300px;
  }
  
  #wcfmmp-store .product_area .products-wrapper ul.products.columns-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  #wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product img {
    height: 250px;
  }
  
  #wcfmmp-store .product_area .products-wrapper ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  #wcfmmp-store .product_area .products-wrapper ul.products.columns-4 li.product img {
    height: 200px;
  }
  
  #wcfmmp-store .product_area .products-wrapper ul.products.columns-4 {
    grid-template-columns: 1fr;
  }
}


/* ===== WCFM VENDOR DASHBOARD PRODUCT THUMBNAILS - NATIF SEULEMENT ===== */

/* 
  RETOUR AU FONCTIONNEMENT NATIF WCFM POUR LES GALERIES
  Tous les overrides de galerie ont été supprimés
  Seule l image principale garde quelques améliorations de base
*/

/* 
  Style minimal pour l image principale uniquement
*/
.wcfm_product_manager_gallery_fields #featured_img_display {
  max-width: 100%;
  height: auto !important;
  object-fit: contain;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 5px;
  background-color: #f9f9f9;
}

/* 
  Specific padding adjustments for odd-numbered thumbnail blocks.
*/
#gallery_img .multi_input_block:nth-child(odd), #wcfm_360_images .multi_input_block:nth-child(odd) {
  padding: 0px !important;
}

/* 
  Specific padding adjustments for even-numbered thumbnail blocks.
*/
#gallery_img .multi_input_block:nth-child(even), #wcfm_360_images .multi_input_block:nth-child(even) {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

/* 
  General styling for thumbnail blocks across different image types.
*/
#gallery_img .multi_input_block, #wcfm_360_images .multi_input_block, .wcfm_additional_variation_images .multi_input_block {
  border: 0px;
  display: inline-block;
  margin-bottom: 0px;
  width: auto;
}

/* 
  Override for multi_input_block to ensure consistent styling.
*/
.multi_input_block {
  border: 1px solid #dfdfdf;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  padding: 10px;
  margin-bottom: 10px;
  display: inline-block;
  width: 100%;
}
