/*
Theme Name: RekoltGlobal Custom Theme
Theme URI: https://rekoltglobal.com/
Author: Didier Ronald Pandoupy (Génius)
Description: Thème B2B premium, moderne et 100% sur mesure pour la plateforme agricole mondiale RekoltGlobal. Compatible HivePress, WooCommerce et Rank Math.
Version: 1.0.0
Text Domain: rekoltglobal
*/

/* ==========================================================================
   1. RESET & BASES STRUCTURELLES GLOBALES
   ========================================================================== */
* {
    box-sizing: border-box !important;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Inter', sans-serif !important;
    background-color: #f7faf8; /* Fond légèrement grisé ultra-moderne pour faire ressortir les blocs blancs */
    color: #0d2b12;
    line-height: 1.5;
    overflow-x: hidden;
}

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

a {
    text-decoration: none !important;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

/* ==========================================================================
   2. BARRE DE NAVIGATION & HEADER DYNAMIQUE (header.php)
   ========================================================================== */
nav {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(13, 74, 26, 0.08) !important;
    position: sticky !important;
    top: 0;
    z-index: 10000 !important;
    height: 85px;
}

.nav-container-inner {
    max-width: 1300px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 2% !important;
    display: flex !important; 
    align-items: center !important; 
    justify-content: space-between !important;
}

.nav-logo {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    height: 100% !important;
    margin-right: 35px !important;
}

.nav-logo img {
    height: 75px !important;
    width: auto !important;
    max-height: 75px !important;
    display: block !important;
    object-fit: contain !important;
}

.nav-links {
    display: flex !important;
    gap: 28px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
}

.nav-links a {
    color: #3d6647 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

.nav-links a:hover { 
    color: #0d4a1a !important; 
}

.nav-right-wrapper { 
    display: flex !important; 
    flex-direction: row !important;
    align-items: center !important; 
    justify-content: flex-end !important;
    margin-left: 50px !important;
    gap: 12px !important;
}

/* Style des boutons d'accès de navigation */
.btn-nav {
    background: #0d4a1a !important;
    color: #ffffff !important;
    padding: 10px 24px !important;
    border-radius: 50px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    box-sizing: border-box !important;
}

.btn-nav:hover { 
    background: #2d8a3e !important; 
    transform: translateY(-1px);
}

/* Variations exclusives pour l'Espace Membre connecté */
.btn-nav.dashboard-btn { 
    background: #e8a820 !important; 
    color: #0d2b12 !important; 
}

.btn-nav.dashboard-btn:hover { 
    background: #f5c842 !important; 
}

.btn-nav.logout-btn { 
    background: #f1f5f2 !important; 
    color: #0d4a1a !important; 
    border: 1px solid rgba(13, 74, 26, 0.15) !important; 
}

.btn-nav.logout-btn:hover { 
    background: #e1e8e3 !important; 
}

/* Sélecteur de Langues PC */
.custom-lang-wrapper {
    position: relative !important;
    padding-bottom: 15px !important; 
    margin-bottom: -15px !important;
    display: inline-block !important;
}

.custom-lang-btn {
    background: #ffffff !important;
    border: 1px solid rgba(45,138,62,.4) !important;
    color: #0d4a1a !important;
    padding: 0 18px !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    height: 40px !important;
    box-sizing: border-box !important;
}

.custom-lang-dropdown {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: 40px !important; 
    background: #ffffff !important;
    min-width: 165px !important;
    box-shadow: 0 10px 30px rgba(13,74,26,0.15) !important;
    border-radius: 12px !important;
    z-index: 999999 !important;
    border: 1px solid rgba(45,138,62,0.1) !important;
    padding: 6px 0 !important;
    list-style: none !important;
}

.custom-lang-dropdown a {
    color: #0d2b12 !important;
    padding: 10px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    width: 100% !important;
}

.custom-lang-dropdown a:hover { 
    background-color: #f0f7f2 !important; 
    color: #2d8a3e !important; 
}

.custom-lang-wrapper:hover .custom-lang-dropdown { 
    display: block !important; 
}

.menu-toggle-input { display: none !important; }
.menu-toggle-label { display: none !important; }
.mobile-menu-footer { display: none !important; }

/* ==========================================================================
   3. 🎯 ARCHITECTURE ET LOOK PREMIUM DE L'ESPACE MEMBRE (HivePress Dashboard)
   ========================================================================== */

/* Structure d'accueil de la mise en page de compte et des réglages */
.hp-template--user-account-settings-view main,
.hp-page--user-account-settings main,
.hp-page--user-account-settings .hp-content {
    max-width: 1300px !important;
    margin: 50px auto !important;
    padding: 0 25px !important;
    display: flex !important;
    gap: 40px !important;
    align-items: flex-start !important;
}

/* Suppression des puces violettes, noirs, et listes par défaut de HivePress */
.hp-menu--user-account,
.hp-page--user-account-settings ul,
.hp-template--user-account-settings-view ul {
    list-style: none !important;
    padding: 15px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e1e8e3 !important;
    border-radius: 20px !important;
    min-width: 280px !important;
    box-shadow: 0 10px 30px rgba(13, 74, 26, 0.03) !important;
}

.hp-menu--user-account li,
.hp-page--user-account-settings ul li {
    margin-bottom: 6px !important;
    list-style-type: none !important; /* Force la suppression des points de puce */
}

/* Boutons de la barre latérale gauche */
.hp-menu--user-account li a,
.hp-page--user-account-settings ul li a {
    display: flex !important;
    align-items: center !important;
    padding: 14px 20px !important;
    color: #3d6647 !important;
    font-weight: 700 !important;
    font-size: 0.98rem !important;
    border-radius: 12px !important;
    background: transparent !important;
}

/* Injection d'icônes applicatives devant le texte généré par HivePress */
.hp-menu--user-account li a[href*="settings"]::before,
.hp-page--user-account-settings ul li a[href*="settings"]::before { content: "⚙️" !important; margin-right: 12px; font-size: 1.1rem; }

.hp-menu--user-account li a[href*="logout"]::before,
.hp-page--user-account-settings ul li a[href*="logout"]::before { content: "🚪" !important; margin-right: 12px; font-size: 1.1rem; }

.hp-menu--user-account li a[href*="listings"]::before,
.hp-page--user-account-settings ul li a[href*="listings"]::before { content: "📦" !important; margin-right: 12px; font-size: 1.1rem; }

.hp-menu--user-account li a[href*="messages"]::before,
.hp-page--user-account-settings ul li a[href*="messages"]::before { content: "💬" !important; margin-right: 12px; font-size: 1.1rem; }

.hp-menu--user-account li a[href*="orders"]::before,
.hp-page--user-account-settings ul li a[href*="orders"]::before { content: "🧾" !important; margin-right: 12px; font-size: 1.1rem; }

/* Effet au survol et actif des onglets */
.hp-menu--user-account li a:hover,
.hp-page--user-account-settings ul li a:hover {
    background-color: #f0f7f2 !important;
    color: #0d4a1a !important;
    transform: translateX(4px);
}

/* Style de la boîte de formulaire principale à droite */
.hp-page--user-account-settings form,
.hp-template--user-account-settings-view form {
    flex: 1 !important;
    background: #ffffff !important;
    border: 1px solid #e1e8e3 !important;
    border-radius: 24px !important;
    padding: 45px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.01) !important;
}

/* Grand titre de section de gestion */
.hp-page--user-account-settings h1 {
    font-family: 'Playfair Display', serif !important;
    color: #0d4a1a !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    margin-bottom: 35px !important;
    border-bottom: 2px solid #e8a820;
    padding-bottom: 12px !important;
}

/* Nettoyage et espacement des lignes du formulaire */
.hp-form__field, .hp-field {
    margin-bottom: 25px !important;
}

/* Libellés de champs (Labels) */
.hp-page--user-account-settings label,
.hp-template--user-account-settings-view label {
    font-weight: 700 !important;
    color: #0d2b12 !important;
    font-size: 0.95rem !important;
    margin-bottom: 10px !important;
    display: block !important;
}

/* Inputs de formulaires (Saisie de texte, e-mails, mots de passe, zones de texte) */
.hp-page--user-account-settings input[type="text"],
.hp-page--user-account-settings input[type="email"],
.hp-page--user-account-settings input[type="password"],
.hp-page--user-account-settings textarea,
.hp-template--user-account-settings-view input,
.hp-template--user-account-settings-view textarea {
    width: 100% !important;
    padding: 14px 20px !important;
    border: 1px solid #c3d1c7 !important;
    background-color: #fcfdfe !important;
    border-radius: 12px !important;
    font-family: 'Inter', sans-serif !important;
    color: #0d2b12 !important;
    font-size: 0.98rem !important;
    transition: all 0.2s ease !important;
}

.hp-page--user-account-settings input:focus,
.hp-page--user-account-settings textarea:focus {
    border-color: #2d8a3e !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(45, 138, 62, 0.1) !important;
    outline: none !important;
}

/* Bouton Soumettre / Enregistrer les modifications du compte */
.hp-page--user-account-settings button[type="submit"],
.hp-template--user-account-settings-view button[type="submit"] {
    background: #0d4a1a !important;
    color: #ffffff !important;
    padding: 14px 35px !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 0.95rem !important;
    box-shadow: 0 4px 15px rgba(13, 74, 26, 0.15) !important;
}

.hp-page--user-account-settings button[type="submit"]:hover {
    background: #2d8a3e !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(45, 138, 62, 0.25) !important;
}

/* Bouton d'importation d'image de profil */
.hp-field--file input[type="file"]::-webkit-file-upload-button {
    background: #f1f5f2 !important;
    color: #0d4a1a !important;
    border: 1px solid rgba(13, 74, 26, 0.15) !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

/* ==========================================================================
   4. FOOTER PREMIUM GLOBAL (footer.php)
   ========================================================================== */
.footer-premium {
    background-color: #09210e;
    color: #a3bda8;
    padding: 70px 5% 30px 5%;
    border-top: 4px solid #e8a820;
}

.footer-container {
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
}

.footer-column {
    flex: 1;
    min-width: 250px;
}

.footer-column.brand-col {
    flex: 1.5;
}

.footer-logo {
    height: 70px;
    width: auto;
    object-fit: contain;
}

.footer-column h3 {
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 25px;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #a3bda8;
    font-weight: 500;
}

.footer-links a:hover {
    color: #ffffff;
    padding-left: 5px;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.footer-contact-icon {
    font-size: 1.2rem;
}

.footer-bottom {
    max-width: 1300px;
    margin: 50px auto 0 auto;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
    font-size: 0.9rem;
}

/* ==========================================================================
   5. SYSTEM RESPONSIVE MOBILE UNIFIÉ (ÉCRANS < 1100px)
   ========================================================================== */
@media (max-width: 1100px) {
    .nav-container-inner > .nav-right-wrapper {
        display: none !important;
    }

    .menu-toggle-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        cursor: pointer !important;
        z-index: 1020 !important;
        padding: 10px !important;
    }

    .menu-toggle-label span {
        display: block !important;
        width: 28px !important;
        height: 3px !important;
        background-color: #0d4a1a !important;
        border-radius: 3px !important;
        transition: all 0.3s ease-in-out !important;
    }

    .nav-links {
        position: fixed !important;
        top: 85px !important;
        left: -100% !important;
        width: 100% !important;
        height: calc(100vh - 85px) !important;
        background: #f0f7f2 !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 24px !important;
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        transition: left 0.4s cubic-bezier(0.77, 0.2, 0.05, 1.0) !important;
        z-index: 1005 !important;
        overflow-y: auto !important;
    }

    .nav-links li {
        width: 100% !important;
        text-align: center !important;
    }

    .nav-links a {
        font-size: 1.35rem !important;
        font-weight: 700 !important;
        color: #0d4a1a !important;
        display: block !important;
        padding: 10px 0 !important;
    }

    .mobile-menu-footer {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 20px !important;
        padding: 0 10% !important;
        box-sizing: border-box !important;
    }

    .mobile-menu-footer .btn-nav {
        display: flex !important;
        width: 100% !important;
        justify-content: center !important; 
        align-items: center !important;     
        font-size: 1rem !important;
        height: 48px !important;
    }

    .mobile-lang-select {
        width: 100% !important;
        background: #ffffff !important;
        border: 1px solid rgba(45,138,62,.4) !important;
        color: #0d4a1a !important;
        padding: 12px 20px !important;
        border-radius: 50px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        text-align: center !important;
    }

    .menu-toggle-input:checked ~ .nav-links {
        left: 0 !important;
    }

    .menu-toggle-input:checked ~ .menu-toggle-label span:nth-child(1) {
        transform: rotate(45deg) translate(6deg, 6deg) !important;
    }
    .menu-toggle-input:checked ~ .menu-toggle-label span:nth-child(2) {
        opacity: 0 !important;
    }
    .menu-toggle-input:checked ~ .menu-toggle-label span:nth-child(3) {
        transform: rotate(-45deg) translate(5deg, -5deg) !important;
    }
}

/* Tablettes et Mobiles pour le tableau de bord de compte */
@media (max-width: 991px) {
    .hp-template--user-account-settings-view main,
    .hp-page--user-account-settings main,
    .hp-page--user-account-settings .hp-content {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .hp-menu--user-account,
    .hp-page--user-account-settings ul {
        width: 100% !important;
    }
    .hp-page--user-account-settings form {
        padding: 25px !important;
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .nav-logo img { height: 60px !important; }
    .footer-container { flex-direction: column; gap: 30px; }
}