/* --- 1. CONFIGURATION DU FOND --- */
body {
    background-color: #0d0d0d !important;
    background-image: none !important;
    color: #ffffff;
}

/* --- 2. CENTRAGE ET STRUCTURE --- */
.site-content, .site-main, .container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 5% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    display: block !important;
}

/* Nettoyage du Header */
.site-header, header, .header-wrapper {
    height: auto !important;
    min-height: auto !important;
    display: block !important;
    background: transparent !important;
    margin-bottom: -180px !important;
    pointer-events: none !important;
    position: relative;
    z-index: 1000 !important;
}

/* Cache le logo/texte d'origine */
.header-logo, .navbar-brand, .logo, .header-logo-text, .header-logo-image, header h1 {
    display: none !important;
}

/* --- 3. MENU (HOME, COINS, VIP) --- */
.is-navigation-horizontal .navigation-horizontal {
    display: flex !important;
    justify-content: center !important;
    background: transparent !important;
    padding: 20px 0 !important;
    margin: -350px auto 0 auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

.navigation-horizontal ul {
    display: flex !important;
    list-style: none !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
}

.navigation-horizontal a {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    padding: 8px 20px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    transition: 0.3s ease;
}

/* --- 4. LANDING PAGE & TEXTE BIENVENUE --- */
.vanilla-hero {
    display: flex !important;
    align-items: center !important;
    gap: 60px !important;
    padding: 20px 0 60px 0 !important;
    width: 100% !important;
    position: relative;
    z-index: 10 !important;
    pointer-events: auto !important;
}

.vanilla-left { 
    flex: 2 !important; 
    position: relative;
    z-index: 20 !important;
}

.vanilla-right { 
    flex: 1 !important; 
}

.vanilla-right h1 {
    font-size: 48px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    margin-bottom: 25px !important;
    letter-spacing: -1px !important;
}

.vanilla-right p {
    font-size: 16px !important;
    color: #07816a; 
    margin-bottom: 30px !important;
    font-weight: 500 !important;
}

.hero-img {
    width: 100% !important;
    height: auto !important;
    border-radius: 25px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
    border: 3px solid transparent !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    display: block !important;
    pointer-events: auto !important;
}

.hero-img:hover {
    border-color: #07816a !important;
    box-shadow: 0 0 40px rgba(7, 129, 106, 0.6) !important;
    transform: scale(1.02) !important;
    cursor: pointer !important;
}

/* --- 5. GRILLE DES FEATURES --- */
.features-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
}

.feature-item {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 12px !important;
    padding: 25px !important;
    transition: 0.3s ease !important;
    pointer-events: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.feature-item h3 {
    font-size: 14px !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    margin-bottom: 10px !important;
}

.feature-item p {
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: rgba(255, 255, 255, 0.5) !important;
    margin: 0 !important;
}

.feature-item:hover {
    background: rgba(7, 129, 106, 0.1) !important;
    border-color: #07816a !important;
}

/* --- 6. NETTOYAGE UNIQUEMENT SUR L'ACCUEIL (RÉPARÉ) --- */
/* On isole les masquages avec .page-index pour ne pas bloquer les boutons du panier */
.page-index .site-sidebar, 
.page-index .site-home-categories, 
.page-index .breadcrumb, 
.page-index .title-bar, 
.page-index .page-header, 
.page-index .site-main > h1,
.page-index .nav-item.dropdown, 
.page-index .nav-link.basket-button, 
.page-index [href*="/checkout/basket"], 
.page-index .header-navigation-extra {
    display: none !important;
}

/* --- 7. GRILLE COINS --- */
.coins-grid-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    margin-top: 120px !important; 
    width: 90% !important; 
    margin-left: auto !important;
    margin-right: auto !important;
}

.coin-card {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important; 
    padding: 25px !important; 
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important; 
    transition: all 0.3s ease !important;
}

.coin-card:hover {
    border-color: #07816a !important;
    background: rgba(7, 129, 106, 0.05) !important; 
    box-shadow: 0 0 20px rgba(7, 129, 106, 0.2) !important;
    transform: translateY(-5px) !important;
}

.coin-card .btn, 
.coin-card button, 
.coin-card .btn-primary {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    transition: 0.3s ease !important;
    width: 100% !important;
    max-width: 180px !important;
    margin: 10px auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
}

.coin-card .package-price {
    font-size: 1rem !important;
    margin-bottom: 15px !important;
    color: #007bff !important; 
    text-align: center !important;
    font-weight: 700 !important;
}

/* --- 8. MODIFICATIONS DU PANIER --- */
.basket-item .options, 
.basket-item-meta, 
.basket-item-info ul {
    font-size: 11px !important;
    color: #07816a !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    margin-top: 5px !important;
}

.quantity-field {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 20px auto 10px auto !important;
    position: relative !important;
    width: 120px !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 5px !important;
}

/* --- 9. STYLE DU PSEUDO --- */
.header-navigation-extra {
    display: flex !important;
    position: absolute !important;
    top: 25px !important;
    right: 5% !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
}

.header-navigation-extra a, 
.header-navigation-extra .dropdown-toggle, 
.header-navigation-extra .nav-link {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 8px 20px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
}

/* --- 10. FINITIONS --- */
.coin-card p, 
.package-description,
.coin-card-bottom > p {
    display: none !important;
}

/* --- 11. RÉPARATION TECHNIQUE (Chargement & Boutons) --- */

/* 1. STOPE LE CHARGEMENT INFINI : Rend la fenêtre visible seulement si le JS ne l'a pas cachée */
.modal-backdrop.show, 
.modal.show, 
.sweet-alert.show, 
.popup:not([hidden]) { /* Ajout de :not([hidden]) pour respecter la logique du Main.js */
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 999999 !important;
}

/* 2. REND LES BOUTONS DE PAIEMENT VISIBLES (Vert MMT) */
/* On cible les boutons "Continuer" (Upsell) et "Payer" (Checkout) */
.upsell-continue, 
.pay-button, 
.btn-complete, 
.btn-checkout, 
.checkout-footer button, 
.basket-checkout .checkout {
    background-color: #07816a !important; /* Ton Vert MMT */
    color: #ffffff !important;           /* Texte blanc */
    display: inline-block !important;     /* Force la présence physique */
    visibility: visible !important;       /* Force la vue */
    opacity: 1 !important;                /* Force l'opacité */
    z-index: 9999 !important;
    pointer-events: auto !important;      /* Autorise le clic */
    cursor: pointer !important;
    padding: 12px 25px !important;
    border-radius: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    border: none !important;
    text-align: center !important;
}

/* 3. RÉPARE LE CLIC SUR LES MODES DE PAIEMENT */
.gateways, .gateway, .payment-method {
    pointer-events: auto !important;
    cursor: pointer !important;
}