body, .maket-container, .container, .container2, .container3, .Action, .Action1, .Action2, .Action3, .Action4, .Avatar, .Identite, .Identite__Nom, .Portefeuille, .Portefeuille__Argent { user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; flex-direction: column; } .body-buy { display: none; justify-content: center; align-items: center; height: 100vh; width: 100vw; margin: 0; position: fixed; top: 0; left: 0; z-index: 9998; background: rgba(9, 24, 48, 0.85); backdrop-filter: blur(8px); opacity: 0; transition: all 0.3s ease-out; } .body-buy.active { display: flex; opacity: 1; } .container-principal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; z-index: 9999; /* Assurez-vous que cet élément est au-dessus de .body-buy */ background: rgba(0, 0, 0, 0.473); /* Fond semi-transparent */ } .container { position: absolute; top: 120px; left: 185px; height: 750px; width: 1550px; background: linear-gradient( 135deg, rgba(15, 23, 42, 0.95) 0%, rgba(23, 36, 64, 0.97) 50%, rgba(15, 23, 42, 0.95) 100% ); border-radius: 10px; } .no-underline { text-decoration: none; } /* Styles existants inchangés */ .Buy-Coins { position: absolute; top: 10px; right: 225px; display: flex; justify-content: center; align-items: center; gap: 12px; height: 40px; width: 300px; background: rgba(16, 185, 129, 0.2); border: 1px solid #10b981; border-radius: 4px; color: #10b981; font-weight: 600; font-size: 1.1em; font-family: 'Roboto', sans-serif; cursor: pointer; z-index: 2; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); text-shadow: 0 0 10px rgba(16, 185, 129, 0.5); box-shadow: 0 0 15px rgba(16, 185, 129, 0.2); } .Buy-Coins i { font-size: 1.2em; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .Buy-Coins:hover { background: rgba(16, 185, 129, 0.3); box-shadow: 0 0 20px rgba(16, 185, 129, 0.4); text-shadow: 0 0 15px rgba(16, 185, 129, 0.8); transform: translateY(-2px); } .Buy-Coins:hover i { transform: scale(1.2) rotate(-5deg); } .Buy-Coins:active { background: rgba(16, 185, 129, 0.4); transform: scale(0.98) translateY(0); } .Info-Coins { position: absolute; top: 10px; right: 15px; display: flex; justify-content: center; align-items: center; gap: 12px; height: 40px; width: 200px; background: rgba(251, 191, 36, 0.2); border: 1px solid #fbbf24; border-radius: 4px; color: #fbbf24; font-weight: 600; font-size: 1.1em; font-family: 'Roboto', sans-serif; cursor: pointer; z-index: 2; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); text-shadow: 0 0 10px rgba(251, 191, 36, 0.5); box-shadow: 0 0 15px rgba(251, 191, 36, 0.2); } .Info-Coins i { font-size: 1.2em; animation: coinFlip 3s ease-in-out infinite; transform-style: preserve-3d; perspective: 1000px; } @keyframes coinFlip { 0%, 100% { transform: rotateY(0) scale(1); } 25% { transform: rotateY(180deg) scale(1.1); } 50% { transform: rotateY(360deg) scale(1); } 75% { transform: rotateY(540deg) scale(1.1); } } .Info-Coins:hover { background: rgba(251, 191, 36, 0.3); box-shadow: 0 0 20px rgba(251, 191, 36, 0.4); text-shadow: 0 0 15px rgba(251, 191, 36, 0.8); transform: translateY(-2px); } .Info-Coins:hover i { animation: coinFlipFast 1.5s ease-in-out infinite; } @keyframes coinFlipFast { 0%, 100% { transform: rotateY(0) scale(1.1); } 50% { transform: rotateY(360deg) scale(1.2); } } .titre { position: absolute; top: 10px; left: 30px; display: flex; align-items: center; gap: 15px; font-family: 'Roboto', sans-serif; } .boutique { font-size: 18px; font-weight: 600; color: rgba(255, 255, 255, 0.8); letter-spacing: 4px; text-transform: uppercase; padding-right: 15px; border-right: 2px solid rgba(255, 255, 255, 0.2); transform: translateY(0); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); } .brand-name { position: relative; font-size: 42px; font-weight: 800; color: white; letter-spacing: 1px; display: flex; align-items: center; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3), 0 0 20px rgba(255, 255, 255, 0.2); } .brand-name .blue { color: #0d98d8; text-shadow: 2px 2px 4px rgba(13, 152, 216, 0.3), 0 0 20px rgba(13, 152, 216, 0.5); transition: all 0.3s ease; } .icon-titre { position: relative; margin-left: 15px; font-size: 32px; color: white; transform-origin: center; animation: floatIcon 3s ease-in-out infinite; } .icon-titre i { filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5)); transition: all 0.3s ease; } @keyframes floatIcon { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-5px) rotate(5deg); } } /* Hover effects */ .titre:hover .boutique { transform: translateX(-2px); color: white; text-shadow: 0 0 15px rgba(255, 255, 255, 0.5); border-right-color: rgba(255, 255, 255, 0.4); } .titre:hover .brand-name .blue { color: #1fb6ff; text-shadow: 2px 2px 4px rgba(31, 182, 255, 0.4), 0 0 30px rgba(31, 182, 255, 0.6); } .titre:hover .icon-titre i { color: #1fb6ff; filter: drop-shadow(0 0 15px rgba(31, 182, 255, 0.6)); transform: scale(1.1); } /* Menu Items Base Styles */ .menu-item { position: relative; display: flex; align-items: center; width: 300px; height: 80px; padding: 0 20px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100% ); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 16px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); overflow: hidden; cursor: pointer; } /* Reste des styles existants... */ .Separator { position: absolute; top: 285px; /* Ajustez cette valeur selon vos besoins */ left: 630px; /* Ajustez cette valeur selon vos besoins */ width: 450px; /* Largeur de la barre de séparation */ height: 1px; /* Épaisseur de la barre de séparation */ background: rgba(255, 255, 255, 0.295); } .Separator2 { position: absolute; top: 2px; /* Ajustez cette valeur selon vos besoins */ left: 490px; /* Ajustez cette valeur selon vos besoins */ width: 3px; /* Largeur de la barre de séparation */ height: 40px; /* Épaisseur de la barre de séparation */ background: rgb(255, 255, 255); /* Couleur de la barre de séparation */ } .Status-VIP { position: absolute; top: -70px; /* Ajustez cette valeur selon vos besoins */ left: 230px; /* Ajustez cette valeur selon vos besoins */ display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100px; /* Ajustez la hauteur selon vos besoins */ font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ position: relative; /* Nécessaire pour le positionnement absolu de .status */ } .Status-VIP .text-center { color: white; font-size: 24px; /* Ajustez la taille de la police selon vos besoins */ margin-bottom: -10px; /* Réduisez l'espace entre VIP et STATUS */ } .Status-VIP .description { color: gray; font-size: 18px; /* Ajustez la taille de la police selon vos besoins */ } .Status-VIP .status { position: absolute; margin-left: 160px; top: 50px; /* Centrer verticalement */ transform: translateY(-50%); /* Centrer verticalement */ color: rgb(255, 255, 255); /* Ajustez la couleur selon vos besoins */ font-size: 28px; /* Ajustez la taille de la police selon vos besoins */ font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ } .Status-CODE { position: absolute; top: -170px; /* Ajustez cette valeur selon vos besoins */ left: 430px; /* Ajustez cette valeur selon vos besoins */ display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100px; /* Ajustez la hauteur selon vos besoins */ font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ position: relative; /* Nécessaire pour le positionnement absolu de .status */ } .Status-CODE .text-center { color: white; font-size: 24px; /* Ajustez la taille de la police selon vos besoins */ margin-bottom: -10px; /* Réduisez l'espace entre VIP et STATUS */ } .Status-CODE .description { color: gray; font-size: 18px; /* Ajustez la taille de la police selon vos besoins */ } .Status-CODE .status { position: absolute; margin-left: 170px; top: 50px; /* Centrer verticalement */ transform: translateY(-50%); /* Centrer verticalement */ color: rgb(255, 255, 255); /* Ajustez la couleur selon vos besoins */ font-size: 28px; /* Ajustez la taille de la police selon vos besoins */ font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ } .Titre-Vehicule { font-size: 2rem; font-family: 'Roboto', sans-serif; font-weight: 600; color: white; display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 0.5rem; } .Titre-Vehicule i { color: #ffd700; } .Titre-Caisses { font-size: 35px; font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 600; /* Poids de la police pour plus de lisibilité */ line-height: 1.2; /* Réduire l'interligne pour rapprocher le texte */ margin: 5px 0; /* Espacement pour éviter que le texte soit trop collé */ color: white; text-align: left; margin-top: 10px; margin-left: 20px; } .Titre-Caisses i { margin-left: 3px; /* Espace entre le texte et l'icône */ font-size: 0.7em; /* Réduire la taille de l'icône */ } .container-home { position: absolute; top: 190px; /* Ajustez cette valeur selon vos besoins */ left: 530px; /* Ajustez cette valeur selon vos besoins */ height: 650px; width: 1190px !important; background: rgba(17, 25, 40, 0.75); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 5px; } .container-achat-coins { position: absolute; top: 170px; /* Ajustez cette valeur selon vos besoins */ left: 530px; /* Ajustez cette valeur selon vos besoins */ height: 650px; width: 1190px; border-radius: 5px; text-align: center; display: flex; flex-direction: column; align-items: center; } .content-container { display: flex; justify-content: space-between; width: 100%; padding: 20px; gap: 20px; } .container-infos-coins, .container-infos-joueur { height: 550px; width: 520px; background: linear-gradient( 145deg, rgba(17, 25, 40, 0.75) 0%, rgba(28, 37, 54, 0.95) 100% ); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; text-align: center; display: flex; flex-direction: column; margin-top: -15px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); transition: transform 0.3s ease, box-shadow 0.3s ease; } .container-infos-coins:hover, .container-infos-joueur:hover { box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3); transform: translateY(-2px); } .container-infos-joueur { margin-left: 10px; width: 680px; } .Title-Infos-Coins { font-size: 30px; font-family: 'Roboto', sans-serif; font-weight: 700; line-height: 1.2; margin: 20px 0; background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-align: center; letter-spacing: 0.5px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); } .Title-Infos-Joueur { font-size: 20px; font-family: 'Roboto', sans-serif; font-weight: 600; line-height: 1.2; color: white; text-align: center; margin: 20px 15px; background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); border-radius: 8px; width: 630px; height: 50px; display: flex; justify-content: center; align-items: center; box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3); } .CodeBoutique-Joueur, .Temps-Jeux-Joueur, .Status-Vip, .Temps-Vip-Joueur { font-size: 20px; font-family: 'Roboto', sans-serif; font-weight: 500; color: white; margin: 10px 15px; background: linear-gradient( to right, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05) ); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); border-radius: 8px; width: 600px; height: 45px; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; transition: all 0.3s ease; } .CodeBoutique-Joueur:hover, .Temps-Jeux-Joueur:hover, .Status-Vip:hover, .Temps-Vip-Joueur:hover { transform: translateX(5px); background: linear-gradient( to right, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08) ); } .Text-Infos-Coins { font-size: 20px; font-family: 'Roboto', sans-serif; font-weight: 400; line-height: 1.5; color: rgba(255, 255, 255, 0.9); text-align: center; margin: 20px 0; } .Code-Infos-Coins, .Site-Infos-Coins { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); color: white; padding: 12px 25px; border-radius: 10px; display: flex; align-items: center; justify-content: center; gap: 12px; margin: 15px auto; cursor: pointer; transition: all 0.3s ease; font-weight: 600; font-size: 16px; letter-spacing: 0.5px; width: fit-content; min-width: 250px; box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3); } .Site-Infos-Coins { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3); } .Code-Infos-Coins:hover, .Site-Infos-Coins:hover { transform: translateY(-3px); filter: brightness(110%); } .Code-Infos-Coins:active, .Site-Infos-Coins:active { transform: translateY(1px); } .Separator { height: 2px; background: linear-gradient( to right, transparent, rgba(255, 255, 255, 0.1), transparent ); margin: 20px 15px; } .Infos-Joueur { display: flex; flex-direction: column; align-items: center; width: 100%; } /* Ajout d'effets pour les icônes */ .fa-copy, .fa-coins { font-size: 18px; transition: transform 0.3s ease; } .Code-Infos-Coins:hover .fa-copy, .Site-Infos-Coins:hover .fa-coins { transform: scale(1.2); } /* Styles communs pour les conteneurs */ .container-achat-coins { position: absolute; top: 170px; left: 530px; height: 650px; width: 1190px; border-radius: 5px; text-align: center; display: flex; flex-direction: column; align-items: center; } .title-container { display: flex; align-items: center; gap: 15px; padding: 10px 25px; margin-top: 20px; border-bottom: 2px solid rgba(255, 215, 0, 0.7); transition: all 0.3s ease; } /* Icône */ .title-container i { font-size: 32px; color: #FFD700; transition: transform 0.3s ease; } /* Titre */ .Titre-Achat-Coins { font-family: 'Inter', sans-serif; font-size: 36px; font-weight: 300; color: white; text-transform: uppercase; letter-spacing: 2px; margin: 0; padding: 0; transition: all 0.3s ease; } /* Effets de survol subtils */ .title-container:hover { border-bottom-color: #FFD700; } .title-container:hover i { transform: rotate(15deg); } .title-container:hover .Titre-Achat-Coins { letter-spacing: 3px; } /* Responsive */ @media (max-width: 768px) { .title-container { padding: 8px 20px; } .Titre-Achat-Coins { font-size: 28px; } .title-container i { font-size: 26px; } } .menu-container { position: fixed; left: 180px; top: 120px; height: 100vh; padding: 20px; z-index: 100; } .menu-section { display: flex; flex-direction: column; gap: 15px; padding-top: 50px; } /* Menu Items Base Styles */ .menu-item { position: relative; display: flex; align-items: center; width: 260px; height: 80px; padding: 0 20px; background: linear-gradient(145deg, rgba(17, 25, 40, 0.75), rgba(17, 25, 40, 0.95)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; transition: all 0.3s ease; cursor: pointer; overflow: hidden; } /* Hover Indicator */ .hover-indicator { position: absolute; left: 0; top: 0; width: 3px; height: 100%; background: transparent; transition: all 0.3s ease; } /* Icon Container */ .icon-container { position: relative; width: 48px; height: 48px; margin-right: 20px; display: flex; align-items: center; justify-content: center; border-radius: 10px; transition: all 0.3s ease; } .icon-left { font-size: 24px; color: #fff; z-index: 2; transition: all 0.3s ease; } /* Text Container */ .text-container { flex-grow: 1; display: flex; flex-direction: column; gap: 4px; } .text-center { font-size: 20px; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; } .description { font-size: 14px; color: rgba(255, 255, 255, 0.6); transition: all 0.3s ease; font-weight: 400; } /* Hover Effects */ .menu-item:hover { transform: translateX(10px); background: linear-gradient(145deg, rgba(17, 25, 40, 0.85), rgba(17, 25, 40, 1)); border-color: rgba(255, 255, 255, 0.15); } .menu-item:hover .hover-indicator { background: #fff; box-shadow: 0 0 10px rgba(255, 255, 255, 0.3); } .menu-item:hover .icon-container { transform: scale(1.1); } .menu-item:hover .text-center { transform: translateX(5px); color: #fff; } .menu-item:hover .description { transform: translateX(5px); color: rgba(255, 255, 255, 0.8); } /* Specific Styles for Each Menu Item */ .vehicule .icon-container { background: rgba(13, 152, 216, 0.2); } .caisse .icon-container { background: rgba(155, 89, 182, 0.2); } .pack .icon-container { background: rgba(46, 204, 113, 0.2); } .vip .icon-container { background: rgba(241, 196, 15, 0.2); } .discord .icon-container { background: rgba(114, 137, 218, 0.2); } /* Active State */ .menu-item.active { background: linear-gradient(145deg, rgba(17, 25, 40, 0.95), rgba(17, 25, 40, 1)); transform: translateX(10px); border-color: rgba(255, 255, 255, 0.2); } .menu-item.active .hover-indicator { background: #fff; box-shadow: 0 0 15px rgba(255, 255, 255, 0.5); } /* Responsive Design */ @media (max-width: 768px) { .menu-container { padding: 15px; } .menu-item { width: 260px; height: 70px; } .icon-container { width: 40px; height: 40px; } .icon-left { font-size: 20px; } .text-center { font-size: 18px; } .description { font-size: 12px; } } /* ... autres styles ... */ /* Conteneur principal */ .container-caisse { position: absolute; top: 190px; left: 530px; height: 650px; width: 1190px !important; background: rgba(17, 25, 40, 0.9); border-radius: 15px; visibility: hidden; opacity: 0; transform: translateY(-10px); transition: all 0.5s; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; } /* Styles pour les onglets */ .caisse-tabs { display: flex; gap: 1rem; padding: 1rem; border-bottom: 2px solid rgba(255, 255, 255, 0.1); background: rgba(17, 25, 40, 0.9); backdrop-filter: blur(20px); } .tab-button { background: none; border: none; color: #fff; padding: 0.75rem 1.5rem; cursor: pointer; font-size: 1.1rem; opacity: 0.7; transition: all 0.3s ease; position: relative; display: flex; align-items: center; gap: 0.5rem; } .tab-button i { font-size: 1.2rem; } .tab-button::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: #3479d4; transform: scaleX(0); transition: transform 0.3s ease; } .tab-button:hover { opacity: 0.9; } .tab-button.active { opacity: 1; color: #3479d4; } .tab-button.active::after { transform: scaleX(1); } /* Contenu des onglets */ .tab-content { flex: 1; overflow: hidden; position: relative; } .tab-pane { display: none; height: 100%; overflow: hidden; } .tab-pane.active { display: flex; flex-direction: column; opacity: 1; transform: translateY(0); } /* En-tête des sections */ .Titre-Caisses { padding: 1rem; background: rgba(17, 25, 40, 0.9); backdrop-filter: blur(20px); font-size: 2rem; font-family: 'Roboto', sans-serif; font-weight: 600; color: white; display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 0; } .Titre-Caisses i { color: #ffd700; font-size: 0.9em; } .caisse-subtitle { text-align: center; color: #94a3b8; font-size: 1.1rem; margin: 0; font-family: 'Roboto', sans-serif; padding: 0.5rem 1rem; background: rgba(17, 25, 40, 0.9); border-bottom: 1px solid rgba(255, 255, 255, 0.1); } /* Grille des caisses */ .ListeCaisse, .MesCaisses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; padding: 1.5rem; overflow-y: auto; max-height: 400px; position: relative; min-height: 300px; } /* Message de caisses vides */ .empty-crates { position: absolute; left: 0; right: 0; top: 20%; bottom: auto; transform: translateY(25%); margin: auto; width: fit-content; height: fit-content; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 2rem; } .empty-crates i { font-size: 3.5rem; color: rgba(255, 0, 0, 0.5); margin-bottom: 1rem; animation: pulse 2s infinite; } .empty-crates p { color: rgba(255, 255, 255, 0.8); font-size: 20px; font-family: 'Roboto', sans-serif; font-weight: 600; margin: 0; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); white-space: nowrap; } @keyframes pulse { 0% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.1); opacity: 0.8; } 100% { transform: scale(1); opacity: 0.5; } } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Stylisation de la scrollbar */ .ListeCaisse::-webkit-scrollbar, .MesCaisses::-webkit-scrollbar { width: 8px; } .ListeCaisse::-webkit-scrollbar-track, .MesCaisses::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 10px; } .ListeCaisse::-webkit-scrollbar-thumb, .MesCaisses::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 10px; transition: all 0.3s ease; } .ListeCaisse::-webkit-scrollbar-thumb:hover, .MesCaisses::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } /* Cartes des caisses */ .ListeCaisse [class^="caisse"], .MesCaisses [class^="caisse"] { background: rgba(30, 41, 59, 0.9); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); padding: 1.25rem; transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; align-items: center; color: white; animation: fadeInUp 0.5s ease-out forwards; } .ListeCaisse [class^="caisse"]:hover, .MesCaisses [class^="caisse"]:hover { transform: translateY(-5px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2); } /* Images des caisses */ .img-caisse { width: 85%; height: auto; object-fit: contain; margin: 1rem auto; transition: transform 0.3s ease; display: block; padding: 1rem; } .img-caisse:hover { transform: scale(1.05); } /* Informations des caisses */ .label-caisse { font-size: 1.2rem; font-weight: 600; margin-bottom: 0.75rem; text-align: center; font-family: 'Roboto', sans-serif; color: white; } .price-caisse { display: flex; align-items: center; gap: 0.4rem; background: rgba(255, 196, 0, 0.15); padding: 0.4rem 0.8rem; border-radius: 6px; color: #ffd700; font-weight: 600; font-size: 1rem; font-family: 'Roboto', sans-serif; transition: all 0.3s ease; margin-bottom: 1rem; } .price-caisse:hover { background: rgba(255, 196, 0, 0.25); transform: scale(1.05); } .price-caisse i { color: #ffd700; font-size: 0.9rem; } /* Conteneur des boutons */ .buttons-container { display: flex; width: 100%; gap: 0.75rem; margin-top: 1rem; padding: 0.75rem; border-top: 1px solid rgba(255, 255, 255, 0.1); } /* Styles des boutons */ .button-acheter, .button-visualiser, .button-ouvrir { flex: 1; padding: 0.5rem 1rem; border: none; border-radius: 6px; color: white; font-weight: 600; font-size: 0.75rem; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 0.3rem; font-family: 'Roboto', sans-serif; text-transform: uppercase; letter-spacing: 0.5px; } .button-acheter { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); } .button-acheter:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); background: linear-gradient(135deg, #25d366 0%, #18b54f 100%); } .button-visualiser { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); } .button-visualiser:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); background: linear-gradient(135deg, #4f8df9 0%, #2d6fef 100%); } .button-ouvrir { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); } .button-ouvrir:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3); background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%); } .button-visualiser i, .button-ouvrir i { font-size: 0.85rem; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .ListeCaisse [class^="caisse"]:nth-child(2), .MesCaisses [class^="caisse"]:nth-child(2) { animation-delay: 0.2s; } .ListeCaisse [class^="caisse"]:nth-child(3), .MesCaisses [class^="caisse"]:nth-child(3) { animation-delay: 0.3s; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .ListeCaisse [class^="caisse"]:nth-child(2), .MesCaisses [class^="caisse"]:nth-child(2) { animation-delay: 0.2s; } .ListeCaisse [class^="caisse"]:nth-child(3), .MesCaisses [class^="caisse"]:nth-child(3) { animation-delay: 0.3s; } /* Styles pour la modal des lots */ .lots-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1002; } .lots-modal.active { display: flex; animation: modalFadeIn 0.3s ease-out; } .lots-modal-backdrop { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(9, 24, 48, 0.95); backdrop-filter: blur(8px); } .lots-modal-content { background: #091830; padding: 30px; border-radius: 15px; width: 90%; max-width: 800px; max-height: 80vh; overflow-y: auto; position: relative; opacity: 1; transform: scale(1); transition: all 0.3s ease-out; } .lots-modal.active .lots-modal-content { transform: scale(1); opacity: 1; } .lots-modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .header-content { display: flex; align-items: center; gap: 1rem; } .header-icon { font-size: 1.75rem; color: #60a5fa; background: rgba(96, 165, 250, 0.1); padding: 0.75rem; border-radius: 12px; } .lots-modal-header h2 { color: #fff; margin: 0; font-size: 1.75rem; font-weight: 700; letter-spacing: -0.5px; } .close-modal { background: rgba(255, 255, 255, 0.1); border: none; color: #fff; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; } .close-modal:hover { background: rgba(255, 255, 255, 0.2); transform: rotate(90deg); } .close-modal i { font-size: 1rem; } .lots-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem; padding: 0.5rem; } .lot-card { background: rgba(255, 255, 255, 0.03); border-radius: 16px; padding: 1.5rem; text-align: center; transition: all 0.3s ease; position: relative; overflow: hidden; } .lot-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 100%); pointer-events: none; } .lot-card:hover { transform: translateY(-5px); } .lot-card img { width: 140px; height: 140px; object-fit: contain; margin-bottom: 1rem; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.5)); transition: transform 0.3s ease; } .lot-card:hover img { transform: scale(1.05); } .lot-card .lot-info { color: white; } .lot-card .lot-name { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem; color: #fff; } .lot-card .lot-rarity { font-size: 0.9rem; font-weight: 500; padding: 0.35rem 0.75rem; border-radius: 8px; display: inline-block; } /* Classes de rareté pour les cartes de lots */ .lot-card.mythique { background: linear-gradient(145deg, rgba(147, 51, 234, 0.1), rgba(147, 51, 234, 0.05)); border: 1px solid rgba(147, 51, 234, 0.3); } .lot-card.mythique .lot-rarity { background: rgba(147, 51, 234, 0.2); color: #c084fc; } .lot-card.ultime { background: linear-gradient(145deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.05)); border: 1px solid rgba(239, 68, 68, 0.3); } .lot-card.ultime .lot-rarity { background: rgba(239, 68, 68, 0.2); color: #fca5a5; } .lot-card.legendaire { background: linear-gradient(145deg, rgba(234, 179, 8, 0.1), rgba(234, 179, 8, 0.05)); border: 1px solid rgba(234, 179, 8, 0.3); } .lot-card.legendaire .lot-rarity { background: rgba(234, 179, 8, 0.2); color: #fcd34d; } .lot-card.commun { background: linear-gradient(145deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05)); border: 1px solid rgba(59, 130, 246, 0.3); } .lot-card.commun .lot-rarity { background: rgba(59, 130, 246, 0.2); color: #93c5fd; } .lot-card.peu-commun { background: linear-gradient(145deg, rgba(156, 163, 175, 0.1), rgba(156, 163, 175, 0.05)); border: 1px solid rgba(156, 163, 175, 0.3); } .lot-card.peu-commun .lot-rarity { background: rgba(156, 163, 175, 0.2); color: #d1d5db; } /* Scrollbar personnalisée */ .lots-modal-content::-webkit-scrollbar { width: 8px; } .lots-modal-content::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 8px; } .lots-modal-content::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 8px; border: 2px solid rgba(255, 255, 255, 0.05); } .lots-modal-content::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } /* Animations */ @keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes contentSlideUp { from { opacity: 0; transform: scale(0.95) translateY(10px); } to { opacity: 1; transform: scale(1) translateY(0); } } /* Styles pour le modal des caisses */ .confirmation-modal-crate { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(17, 25, 40, 0.85); backdrop-filter: blur(8px); display: flex; justify-content: center; align-items: center; z-index: 9999; animation: fadeIn 0.3s ease; } .modal-content-crate { position: absolute; background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); padding: 30px; border-radius: 15px; text-align: center; color: white; right: 37%; top: 450px; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); animation: slideUp 0.3s ease; min-width: 320px; } .modal-icon-crate { margin-bottom: 20px; } .modal-icon-crate i { font-size: 3rem; background: linear-gradient(135deg, #00A2FF 0%, #0066CC 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .modal-content-crate p { margin-bottom: 25px; font-size: 1.1rem; color: rgba(255, 255, 255, 0.9); line-height: 1.4; } .modal-buttons-crate { display: flex; justify-content: center; gap: 15px; } .modal-content-crate button { margin: 0; padding: 10px 25px; border: none; border-radius: 8px; color: #fff; cursor: pointer; font-size: 1rem; font-weight: 600; display: flex; align-items: center; gap: 8px; transition: all 0.3s ease; } .modal-content-crate button i { font-size: 1.1rem; } .modal-content-crate button#confirm-buy { background: linear-gradient(135deg, #00A2FF 0%, #0066CC 100%); box-shadow: 0 4px 15px rgba(0, 162, 255, 0.3); } .modal-content-crate button#confirm-buy:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 162, 255, 0.4); background: linear-gradient(135deg, #0066CC 0%, #004C99 100%); } .modal-content-crate .cancel-button { background: linear-gradient(135deg, #ff4b4b 0%, #cc0000 100%); box-shadow: 0 4px 15px rgba(255, 75, 75, 0.3); } .modal-content-crate .cancel-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 75, 75, 0.4); background: linear-gradient(135deg, #cc0000 0%, #990000 100%); } .confirmation-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(17, 25, 40, 0.85); backdrop-filter: blur(8px); display: none; justify-content: center; align-items: center; z-index: 9999; animation: fadeIn 0.3s ease; } .modal-content-confirmation { background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); padding: 30px; border-radius: 15px; text-align: center; color: white; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); animation: slideUp 0.3s ease; min-width: 320px; } .modal-icon-confirmation { margin-bottom: 20px; } .modal-icon-confirmation i { font-size: 3rem; background: linear-gradient(135deg, #00A2FF 0%, #0066CC 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .modal-content-confirmation p { margin-bottom: 25px; font-size: 1.1rem; color: rgba(255, 255, 255, 0.9); line-height: 1.4; } .modal-buttons-confirmation { display: flex; justify-content: center; gap: 15px; } .modal-content-confirmation button { margin: 0; padding: 10px 25px; border: none; border-radius: 8px; color: #fff; cursor: pointer; font-size: 1rem; font-weight: 600; display: flex; align-items: center; gap: 8px; transition: all 0.3s ease; } .modal-content-confirmation button i { font-size: 1.1rem; } .modal-content-confirmation button#confirm-delete-vehicle, .modal-content-confirmation button#confirm-delete-crate { background: linear-gradient(135deg, #00A2FF 0%, #0066CC 100%); box-shadow: 0 4px 15px rgba(0, 162, 255, 0.3); } .modal-content-confirmation button#confirm-delete-vehicle:hover, .modal-content-confirmation button#confirm-delete-crate:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 162, 255, 0.4); background: linear-gradient(135deg, #0066CC 0%, #004C99 100%); } .modal-content-confirmation .cancel-button { background: linear-gradient(135deg, #ff4b4b 0%, #cc0000 100%); box-shadow: 0 4px 15px rgba(255, 75, 75, 0.3); } .modal-content-confirmation .cancel-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 75, 75, 0.4); background: linear-gradient(135deg, #cc0000 0%, #990000 100%); } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } /* Style pour le lot gagné */ .lot-gagne { position: absolute; text-align: center; padding: 20px; background-color: rgba(241, 241, 241, 0.123); border-radius: 8px; margin-top: 20px; left: 930px; } .lot-gagne h2 { color: #28a745; } .lot-details { display: flex; justify-content: center; align-items: center; gap: 20px; } .lot-details img { max-width: 100px; max-height: 100px; } .lot-details div { text-align: left; } #lot-label { font-size: 18px; font-weight: bold; } #lot-chance { color: #ffffff; } .container-vehicule { position: absolute; top: 190px; left: 530px; height: 650px; width: 1190px !important; background: rgba(17, 25, 40, 0.75); border-radius: 15px; visibility: hidden; opacity: 0; transform: translateY(-10px); transition: all 0.5s; overflow: hidden; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; } .scroll-container { display: flex; flex-direction: column; height: 100%; overflow: hidden; } .Titre-Vehicule { text-align: center; padding: 1.5rem; background: rgba(17, 25, 40, 0.9); backdrop-filter: blur(20px); flex-shrink: 0; z-index: 20; font-size: 2.0rem; font-family: 'Roboto', sans-serif; font-weight: 600; color: white; display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 0; margin-top: 10px; } .Titre-Vehicule i { color: #ffd700; font-size: 0.9em; } .vehicule-subtitle { text-align: center; color: #94a3b8; font-size: 1.1rem; margin: 0; font-family: 'Roboto', sans-serif; padding: 0.5rem 2rem 1.5rem; background: rgba(17, 25, 40, 0.9); border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .ListeVehicule { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; padding: 1.5rem; overflow-y: auto; flex-grow: 1; align-content: start; } .ListeVehicule::-webkit-scrollbar { width: 8px; } .ListeVehicule::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 10px; } .ListeVehicule::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 10px; transition: all 0.3s ease; } .ListeVehicule::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } .ListeVehicule [class^="vehicule"] { background: rgba(255, 255, 255, 0.05); border-radius: 15px; border: 1px solid rgba(255, 255, 255, 0.1); padding: 0; transition: all 0.3s ease; position: relative; overflow: hidden; height: 300px; display: flex; flex-direction: column; cursor: pointer; } .ListeVehicule [class^="vehicule"]:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); border-color: rgba(255, 255, 255, 0.2); } .img-vehicule { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ListeVehicule [class^="vehicule"]:hover .img-vehicule { transform: scale(1.05); } .price-vehicule { position: absolute; top: 1rem; right: 1rem; display: flex; align-items: center; gap: 0.5rem; background: rgba(255, 196, 0, 0.2); padding: 0.5rem 1rem; border-radius: 8px; color: #ffd700; font-weight: 600; font-size: 1.2rem; font-family: 'Roboto', sans-serif; backdrop-filter: blur(5px); border: 1px solid rgba(255, 196, 0, 0.3); transition: all 0.3s ease; height: auto; width: auto; z-index: 2; } .price-vehicule:hover { background: rgba(255, 196, 0, 0.3); } .price-vehicule i { color: #ffd700; } .vehicle-info { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0)); padding: 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; } .vehicle-name { font-size: 28px; font-weight: 700; color: white; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .vehicle-buttons { display: flex; gap: 0.75rem; margin-top: 0.5rem; } .button-acheter-vehicule, .button-essayer-vehicule { flex: 1; padding: 0.5rem 1rem; border: none; border-radius: 6px; color: white; font-weight: 600; font-size: 0.75rem; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 0.3rem; font-family: 'Roboto', sans-serif; text-transform: uppercase; letter-spacing: 0.5px; } .button-acheter-vehicule { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); } .button-acheter-vehicule:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); } .button-essayer-vehicule { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); } .button-essayer-vehicule:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .ListeVehicule [class^="vehicule"] { animation: fadeInUp 0.5s ease-out forwards; } .ListeVehicule [class^="vehicule"]:nth-child(2) { animation-delay: 0.1s; } .ListeVehicule [class^="vehicule"]:nth-child(3) { animation-delay: 0.2s; } .body-buy { display: none; justify-content: center; align-items: center; height: 100vh; width: 100vw; margin: 0; position: fixed; top: 0; left: 0; z-index: 9998; background: rgba(9, 24, 48, 0.85); backdrop-filter: blur(8px); opacity: 0; transition: all 0.3s ease-out; } .body-buy.active { display: flex; opacity: 1; } .buy-vehicule { position: relative; width: 100%; padding: 24px; } .image-wrapper { position: relative; width: 100%; height: 280px; border-radius: 16px; overflow: hidden; margin-bottom: 24px; } .buy-vehicule-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .image-wrapper:hover .buy-vehicule-image { transform: scale(1.05); } .content-wrapper { position: relative; z-index: 2; } .image-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, rgba(9, 24, 48, 0.2), rgba(9, 24, 48, 0.8)); } .buy-button { position: relative; width: 100%; height: 56px; cursor: pointer; overflow: hidden; border-radius: 16px; transition: transform 0.3s ease; } .buy-button:hover { transform: translateY(-2px); } .button-content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 100%; color: white; font-size: 18px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; } .button-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, #10B981, #059669); transition: transform 0.3s ease; } .buy-button:hover .button-background { transform: scale(1.05); } .close-button { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.2); background: rgba(255, 255, 255, 0.1); color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; z-index: 3; } .close-button:hover { background: rgba(255, 255, 255, 0.2); transform: rotate(90deg); } .close-button i { font-size: 16px; } @keyframes modalFadeIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } } @keyframes modalFadeOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.9); } } .price { display: inline-flex; align-items: center; gap: 8px; background: rgba(234, 179, 8, 0.2); padding: 8px 16px; border-radius: 12px; margin-bottom: 24px; } .price i { color: #fbbf24; font-size: 20px; } .price-amount { color: #fbbf24; font-weight: 600; font-size: 20px; } .label-voiture { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; } .label-voiture i { font-size: 24px; color: #60a5fa; } /* Home de la boutique */ .Titre-Home { font-size: 40px; font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ font-size: 35px; /* Taille de police plus grande pour une meilleure lisibilité */ line-height: 1.2; /* Réduire l'interligne pour rapprocher le texte */ text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); /* Ombre pour améliorer la lisibilité sur des fonds variés */ margin: 5px 0; /* Espacement pour éviter que le texte soit trop collé */ top: 10px; /* Ajustez cette valeur selon vos besoins */ left: 30px; /* Ajustez cette valeur selon vos besoins */ color: white; text-align: center; margin-top: 10px; } .Description-Home { font-size: 20px; font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ font-size: 15px; /* Taille de police plus grande pour une meilleure lisibilité */ line-height: 1.2; /* Réduire l'interligne pour rapprocher le texte */ text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); /* Ombre pour améliorer la lisibilité sur des fonds variés */ margin: 5px 0; /* Espacement pour éviter que le texte soit trop collé */ top: 10px; /* Ajustez cette valeur selon vos besoins */ left: 30px; /* Ajustez cette valeur selon vos besoins */ color: white; text-align: center; margin-top: 10px; } .Image-Home { margin-top: 15px; margin-left: auto; margin-right: auto; width: 1150px; height: 550px; border-radius: 5px; display: block; /* Assurez-vous que l'image est un bloc pour centrer avec margin auto */ } /* VIP */ .containerVip { position: absolute; top: 190px; left: 530px; height: 650px; width: 1190px; border-radius: 15px; background: rgba(17, 25, 40, 0.75); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); } .content-container-vip { display: flex; justify-content: space-between; width: 100%; padding: 20px; } .container-infos-vip { height: 290px; width: 520px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); backdrop-filter: blur(10px); border-radius: 16px; text-align: center; display: flex; flex-direction: column; padding: 32px; position: relative; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); margin-top: 100px; } .Prix-Vip { position: absolute; top: 32px; left: 32px; background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); color: #000; font-size: 20px; font-weight: bold; height: 36px; width: 110px; border-radius: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3); border: 1px solid rgba(255, 215, 0, 0.5); transition: all 0.3s ease; } .Prix-Vip:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 215, 0, 0.4); } .Title-Infos-vip { font-size: 32px; font-weight: 800; background: linear-gradient(135deg, #00A2FF 0%, #0066CC 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-transform: uppercase; letter-spacing: 2px; margin-top: 70px; margin-bottom: 24px; position: relative; } .Text-Infos-vip { color: rgba(255, 255, 255, 0.9); font-size: 1.1rem; line-height: 1.6; text-align: center; margin-bottom: 32px; display: flex; flex-direction: column; align-items: center; gap: 16px; } .duration-badge { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); color: #ffffff; padding: 8px 16px; border-radius: 20px; margin-top: 16px; font-size: 0.95rem; border: 1px solid rgba(255, 255, 255, 0.2); backdrop-filter: blur(5px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; } .duration-badge:hover { transform: translateY(-1px); box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15); border-color: rgba(255, 255, 255, 0.3); } .duration-badge i { font-size: 1rem; color: #ffffff; } .BuyVip { background: linear-gradient(135deg, #00A2FF 0%, #0066CC 100%); color: white; font-size: 1.1rem; font-weight: 600; padding: 14px 28px; border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 162, 255, 0.3); margin: 0 auto; width: 200px; position: relative; overflow: hidden; left: -5%; } .BuyVip::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.2), transparent ); transition: 0.5s; } .BuyVip:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 162, 255, 0.4); background: linear-gradient(135deg, #0066CC 0%, #004C99 100%); } .BuyVip:hover::before { left: 100%; } .BuyVip i { color: #FFD700; font-size: 1.2rem; } .container-infos-vip2 { position: absolute; height: 570px; width: 520px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); border-radius: 5px; text-align: center; display: flex; flex-direction: column; margin-top: 0px; margin-left: 600px; padding: 20px; border: 1px solid rgba(255, 255, 255, 0.2); } .Infos-Avantage-Vip { position: absolute; top: 20px; width: 90%; } .Title-Infos-Avantage-Vip { font-size: 24px; font-weight: 700; color: white; margin-bottom: 30px; text-align: center; text-transform: uppercase; letter-spacing: 1px; display: flex; align-items: center; justify-content: center; gap: 10px; } .Title-Infos-Avantage-Vip i { color: #FFD700; font-size: 1.4rem; } .Avantage-Vip { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 5px; padding: 10px 20px; margin-bottom: 10px; display: flex; align-items: center; gap: 15px; transition: all 0.3s ease; } .Avantage-Vip:hover { background: rgba(255, 255, 255, 0.08); transform: translateX(5px); border-color: rgba(0, 162, 255, 0.3); } .Avantage-Vip i { color: #00A2FF; font-size: 1.2rem; min-width: 20px; text-align: center; } .Avantage-Vip span { color: rgba(255, 255, 255, 0.9); font-size: 1rem; line-height: 1.4; text-align: left; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .Avantage-Vip { animation: fadeInUp 0.5s ease forwards; opacity: 0; } .Avantage-Vip:nth-child(1) { animation-delay: 0.1s; } .Avantage-Vip:nth-child(2) { animation-delay: 0.2s; } .Avantage-Vip:nth-child(3) { animation-delay: 0.3s; } .Avantage-Vip:nth-child(4) { animation-delay: 0.4s; } .Avantage-Vip:nth-child(5) { animation-delay: 0.5s; } .Avantage-Vip:nth-child(6) { animation-delay: 0.6s; } .Title-Infos-vip { font-size: 30px; font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 700; /* Poids de la police pour plus de lisibilité */ line-height: 1.2; /* Réduire l'interligne pour rapprocher le texte */ margin: 5px 0; /* Espacement pour éviter que le texte soit trop collé */ color: rgba(0, 162, 255, 0.685); text-align: center; margin-top: 20px; } .Text-Infos-vip { font-size: 20px; font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ line-height: 1.2; /* Réduire l'interligne pour rapprocher le texte */ margin: 5px 0; /* Espacement pour éviter que le texte soit trop collé */ color: white; text-align: center; margin-top: 20px; } .BuyVip { font-size: 20px; font-family: 'Roboto', sans-serif; /* Police sans-serif moderne */ font-weight: 400; /* Poids de la police pour plus de lisibilité */ line-height: 1.2; /* Réduire l'interligne pour rapprocher le texte */ margin: 5px 0; /* Espacement pour éviter que le texte soit trop collé */ color: white; text-align: center; margin-top: 5px; font-weight: bold; /* Rendre le texte plus gras */ background-color: rgba(0, 162, 255, 0.685); border-radius: 5px; width: 300px; height: 50px; display: flex; justify-content: center; align-items: center; margin-left: 100px; } .BuyVip i { margin-right: 5px; /* Espace entre l'icône et le texte */ } .BuyVip:hover { transform: scale(1.05); /* Effet de grossissement */ } /* ...existing code... */ .confirmation-modal-vip { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(17, 25, 40, 0.85); backdrop-filter: blur(8px); display: flex; justify-content: center; align-items: center; z-index: 9999; animation: fadeIn 0.3s ease; } .modal-content-vip { position: absolute; background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); padding: 30px; border-radius: 15px; text-align: center; color: white; right: 37%; top: 450px; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); animation: slideUp 0.3s ease; min-width: 320px; } .modal-icon-vip { margin-bottom: 20px; } .modal-icon-vip i { font-size: 3rem; background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .modal-content-vip p { margin-bottom: 25px; font-size: 1.1rem; color: rgba(255, 255, 255, 0.9); line-height: 1.4; } .modal-buttons-vip { display: flex; justify-content: center; gap: 15px; } .modal-content-vip button { margin: 0; padding: 10px 25px; border: none; border-radius: 8px; color: #fff; cursor: pointer; font-size: 1rem; font-weight: 600; display: flex; align-items: center; gap: 8px; transition: all 0.3s ease; } .modal-content-vip button i { font-size: 1.1rem; } .modal-content-vip button#confirm-buy-vip { background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3); } .modal-content-vip button#confirm-buy-vip:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 215, 0, 0.4); background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%); } .modal-content-vip .cancel-button { background: linear-gradient(135deg, #ff4b4b 0%, #cc0000 100%); box-shadow: 0 4px 15px rgba(255, 75, 75, 0.3); } .modal-content-vip .cancel-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 75, 75, 0.4); background: linear-gradient(135deg, #cc0000 0%, #990000 100%); } /* Packs */ .container-pack { position: absolute; top: 190px; left: 530px; height: 650px; width: 1190px !important; background: rgba(17, 25, 40, 0.75); border-radius: 15px; visibility: hidden; opacity: 0; transform: translateY(-10px); transition: all 0.5s; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; } .pack-header { text-align: center; padding: 1.5rem; background: rgba(17, 25, 40, 0.9); border-bottom: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0; } .Titre-Pack { font-size: 2rem; font-family: 'Roboto', sans-serif; font-weight: 600; color: white; display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 0.5rem; } .Titre-Pack i { color: #ffd700; } .pack-subtitle { color: #94a3b8; font-size: 1rem; font-family: 'Roboto', sans-serif; } .packs-grid { display: grid; grid-template-columns: repeat(3, 1fr); /* Changé de 2 à 3 colonnes */ gap: 1rem; /* Réduit l'espace entre les cartes */ padding: 1rem; overflow-y: auto; max-height: calc(100% - 100px); } /* Stylisation de la scrollbar */ .packs-grid::-webkit-scrollbar { width: 8px; } .packs-grid::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 10px; } .packs-grid::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 10px; transition: all 0.3s ease; } .packs-grid::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } .pack-card { background: rgba(30, 41, 59, 0.9); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); padding: 1.25rem; /* Réduit le padding */ transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); height: fit-content; } .pack-card:hover { transform: translateY(-5px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2); } .pack-icon { width: 45px; /* Légèrement réduit */ height: 45px; /* Légèrement réduit */ background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 0.75rem; box-shadow: 0 4px 10px rgba(59, 130, 246, 0.3); } .pack-icon i { font-size: 1.25rem; color: white; } .pack-content h3 { color: white; font-size: 1.2rem; /* Légèrement réduit */ margin-bottom: 0.75rem; font-family: 'Roboto', sans-serif; font-weight: 600; } .pack-description { color: #cbd5e1; font-size: 0.9rem; /* Légèrement réduit */ line-height: 1.4; margin-bottom: 0.75rem; font-family: 'Roboto', sans-serif; } .pack-features { list-style: none; padding: 0; margin: 0 0 1rem 0; } .pack-features li { color: #f8fafc; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem; font-family: 'Roboto', sans-serif; font-size: 0.85rem; /* Légèrement réduit */ padding: 0.35rem 0.6rem; background: rgba(255, 255, 255, 0.05); border-radius: 6px; transition: all 0.3s ease; } .pack-features li:hover { background: rgba(255, 255, 255, 0.1); transform: translateX(5px); } .pack-features li i { color: #22c55e; font-size: 0.85rem; } .pack-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid rgba(255, 255, 255, 0.1); } .pack-price { display: flex; align-items: center; gap: 0.4rem; background: rgba(255, 196, 0, 0.15); padding: 0.4rem 0.8rem; border-radius: 6px; color: #ffd700; font-weight: 600; font-size: 1rem; /* Légèrement réduit */ font-family: 'Roboto', sans-serif; transition: all 0.3s ease; } .pack-price:hover { background: rgba(255, 196, 0, 0.25); transform: scale(1.05); } .pack-price i { color: #ffd700; font-size: 0.9rem; } .pack-buy { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); border: none; color: white; padding: 0.5rem 1rem; border-radius: 6px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 0.4rem; transition: all 0.3s ease; font-family: 'Roboto', sans-serif; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; } .pack-buy:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); background: linear-gradient(135deg, #25d366 0%, #18b54f 100%); } .pack-buy:active { transform: scale(0.98); } .pack-buy i { font-size: 0.85rem; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .pack-card { animation: fadeInUp 0.5s ease-out forwards; } .pack-card:nth-child(2) { animation-delay: 0.2s; } .pack-card:nth-child(3) { animation-delay: 0.3s; } .roulette-container { position: fixed; top: 50%; left: 58%; transform: translate(-50%, -50%); width: 100%; max-width: 900px; background: linear-gradient(145deg, #0c1f3e, #091830); padding: 30px; border-radius: 20px; display: none; z-index: 1001; border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7); backdrop-filter: blur(10px); } .roulette-header { position: relative; margin-bottom: 25px; } .roulette-title { color: white; font-size: 28px; font-weight: bold; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); display: flex; align-items: center; gap: 12px; margin-bottom: 15px; } .roulette-title i { color: #60a5fa; font-size: 32px; } .roulette-progress { height: 4px; background: rgba(255, 255, 255, 0.1); border-radius: 2px; overflow: hidden; } .progress-bar { height: 100%; width: 0; background: linear-gradient(90deg, #60a5fa, #3b82f6); border-radius: 2px; transition: width 5s cubic-bezier(0.21, 0.53, 0.29, 0.99); } .roulette-viewport { position: relative; background: rgba(0, 0, 0, 0.2); border-radius: 15px; padding: 30px 0; overflow: hidden; } .winner-marker { position: absolute; left: 50%; top: 0; transform: translateX(-50%); z-index: 3; width: 40px; height: 100%; display: flex; flex-direction: column; align-items: center; } .marker-light { width: 4px; height: 100%; background: linear-gradient(180deg, rgba(96, 165, 250, 0) 0%, rgba(96, 165, 250, 0.5) 20%, rgba(96, 165, 250, 0.8) 50%, rgba(96, 165, 250, 0.5) 80%, rgba(96, 165, 250, 0) 100% ); box-shadow: 0 0 20px rgba(96, 165, 250, 0.5); } .marker-arrow { position: absolute; top: 0; width: 0; height: 0; border-left: 20px solid transparent; border-right: 20px solid transparent; border-top: 25px solid #3b82f6; filter: drop-shadow(0 2px 4px rgba(59, 130, 246, 0.5)); } .roulette-items { display: flex; overflow: hidden; position: relative; padding: 0 20px; } .roulette-items::before, .roulette-items::after { content: ''; position: absolute; top: 0; bottom: 0; width: 150px; z-index: 2; pointer-events: none; } .roulette-items::before { left: 0; background: linear-gradient(90deg, #091830 0%, transparent 100%); } .roulette-items::after { right: 0; background: linear-gradient(270deg, #091830 0%, transparent 100%); } .roulette-track { display: flex; transition: transform 5s cubic-bezier(0.21, 0.53, 0.29, 0.99); } .roulette-item { flex: 0 0 200px; padding: 15px; margin: 0 10px; background: rgba(255, 255, 255, 0.05); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); transition: transform 0.3s ease; } .roulette-item:hover { transform: translateY(-5px); } /* Styles pour les différentes raretés */ .roulette-item.mythique { background: linear-gradient(145deg, rgba(147, 51, 234, 0.1), rgba(147, 51, 234, 0.05)); border-color: rgba(147, 51, 234, 0.3); box-shadow: 0 0 20px rgba(147, 51, 234, 0.3); } .roulette-item.ultime { background: linear-gradient(145deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.05)); border-color: rgba(239, 68, 68, 0.3); box-shadow: 0 0 20px rgba(239, 68, 68, 0.3); } .roulette-item.legendaire { background: linear-gradient(145deg, rgba(234, 179, 8, 0.1), rgba(234, 179, 8, 0.05)); border-color: rgba(234, 179, 8, 0.3); box-shadow: 0 0 20px rgba(234, 179, 8, 0.3); } .roulette-item.commun { background: linear-gradient(145deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05)); border-color: rgba(59, 130, 246, 0.3); box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); } .roulette-item.peu-commun { background: linear-gradient(145deg, rgba(156, 163, 175, 0.1), rgba(156, 163, 175, 0.05)); border-color: rgba(156, 163, 175, 0.3); box-shadow: 0 0 20px rgba(156, 163, 175, 0.3); } .roulette-item img { width: 140px; height: 140px; object-fit: contain; margin-bottom: 15px; border-radius: 8px; background: rgba(0, 0, 0, 0.2); padding: 10px; } .roulette-item .item-label { color: white; font-size: 16px; font-weight: 600; margin-bottom: 8px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .roulette-item .item-chance { color: rgba(255, 255, 255, 0.7); font-size: 14px; font-weight: 500; } /* Styles pour la confirmation et la vente */ .lot-confirmation { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(9, 24, 48, 0.95); backdrop-filter: blur(10px); display: none; justify-content: center; align-items: center; z-index: 1001; animation: fadeIn 0.3s ease-out; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .lot-confirmation-content { background: linear-gradient(145deg, #0c1f3e, #091830); padding: 40px; border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7); text-align: center; max-width: 480px; width: 90%; border: 1px solid rgba(255, 255, 255, 0.1); transform: scale(0.9); opacity: 0; transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); } .lot-confirmation.active .lot-confirmation-content { transform: scale(1); opacity: 1; } .lot-header { position: relative; margin-bottom: 30px; } .lot-title { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 20px; } .lot-title i { font-size: 32px; color: #60a5fa; filter: drop-shadow(0 0 10px rgba(96, 165, 250, 0.5)); } .lot-title h2 { color: white; font-size: 32px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; margin: 0; background: linear-gradient(135deg, #fff 0%, #a5b4fc 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .lot-sparkles { position: absolute; top: -20px; left: -20px; right: -20px; bottom: -20px; background: radial-gradient(circle at center, rgba(96, 165, 250, 0.2) 0%, transparent 70%); opacity: 0.5; animation: sparkle 2s ease-in-out infinite; } @keyframes sparkle { 0%, 100% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.1); opacity: 0.7; } } .lot-preview { background: rgba(0, 0, 0, 0.2); padding: 30px; border-radius: 16px; margin-bottom: 35px; position: relative; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.05); } .lot-image-container { position: relative; width: 200px; height: 200px; margin: 0 auto 20px; } .lot-glow { position: absolute; top: 50%; left: 50%; width: 180px; height: 180px; transform: translate(-50%, -50%); background: radial-gradient(circle at center, rgba(96, 165, 250, 0.3) 0%, transparent 70%); animation: glow 2s ease-in-out infinite; } @keyframes glow { 0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.3; } 50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.5; } } .lot-preview img { width: 100%; height: 100%; object-fit: contain; position: relative; z-index: 1; filter: drop-shadow(0 0 15px rgba(96, 165, 250, 0.5)); } .lot-info { color: white; position: relative; z-index: 1; } .lot-name { font-size: 24px; font-weight: 700; margin-bottom: 10px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); background: linear-gradient(135deg, #fff 0%, #a5b4fc 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .lot-rarity { color: rgba(255, 255, 255, 0.8); font-size: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; } .confirmation-buttons { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; } .confirm-button { padding: 15px 30px; border: none; border-radius: 12px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); text-transform: uppercase; letter-spacing: 1px; display: flex; align-items: center; gap: 10px; min-width: 200px; } .confirm-button i { font-size: 20px; } .confirm-button.accept { background: linear-gradient(135deg, #10B981, #059669); color: white; box-shadow: 0 4px 15px rgba(16, 185, 129, 0.2); } .confirm-button.accept:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4); background: linear-gradient(135deg, #059669, #047857); } .confirm-button.sell { background: linear-gradient(135deg, #F59E0B, #D97706); color: white; box-shadow: 0 4px 15px rgba(245, 158, 11, 0.2); } .confirm-button.sell:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(245, 158, 11, 0.4); background: linear-gradient(135deg, #D97706, #B45309); } /* Styles spécifiques pour les différentes raretés */ .lot-preview.mythique .lot-glow { background: radial-gradient(circle at center, rgba(147, 51, 234, 0.3) 0%, transparent 70%); } .lot-preview.ultime .lot-glow { background: radial-gradient(circle at center, rgba(239, 68, 68, 0.3) 0%, transparent 70%); } .lot-preview.legendaire .lot-glow { background: radial-gradient(circle at center, rgba(234, 179, 8, 0.3) 0%, transparent 70%); } .lot-preview.commun .lot-glow { background: radial-gradient(circle at center, rgba(59, 130, 246, 0.3) 0%, transparent 70%); } .lot-preview.peu-commun .lot-glow { background: radial-gradient(circle at center, rgba(156, 163, 175, 0.3) 0%, transparent 70%); } /* Styles améliorés pour les feux d'artifice */ .firework-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 9999; overflow: hidden; } .firework-rocket { position: fixed; width: 3px; height: 15px; background-color: white; border-radius: 2px; pointer-events: none; z-index: 9999; will-change: transform; } .firework-rocket::before { content: ''; position: absolute; top: 15px; left: 1px; width: 1px; height: 20px; background: linear-gradient(to bottom, currentColor 0%, transparent 100%); opacity: 0.4; } .firework-particle { position: fixed; width: 4px; height: 4px; border-radius: 50%; pointer-events: none; z-index: 9999; will-change: transform, opacity; } .firework-particle::before { content: ''; position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, currentColor 0%, transparent 100%); opacity: 0.6; } /* Admin Container */ .admin-container { position: absolute; top: 190px; left: 530px; height: 650px; width: 1190px !important; background: rgba(17, 25, 40, 0.75); border-radius: 15px; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); display: flex; z-index: 1000; transition: all 0.5s ease; overflow: visible; /* Change overflow to visible if needed */ } .lots-preview { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0; } lot-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.6rem; background: rgba(255, 255, 255, 0.05); border-radius: 6px; font-size: 0.8rem; } .lot-item img { width: 20px; /* Réduit de 24px à 20px */ height: 20px; /* Réduit de 24px à 20px */ object-fit: cover; border-radius: 4px; } /* Item Content */ .item-content { padding: 1rem; } .item-title { font-size: 1.1rem; color: white; margin-bottom: 0.5rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .item-price { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.8rem; background: rgba(245, 158, 11, 0.1); color: #f59e0b; border-radius: 6px; margin-bottom: 0.75rem; font-size: 0.9rem; font-weight: 500; } /* Item Actions */ .item-actions { display: flex; gap: 0.5rem; margin-top: 0.75rem; } .edit-button, .delete-button { flex: 1; padding: 0.5rem; border: none; border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 0.8rem; font-weight: 600; transition: all 0.2s ease; } .edit-button { background: #3b82f6; color: white; } .edit-button:hover { background: #2563eb; transform: translateY(-2px); } .delete-button { background: #ef4444; color: white; } .delete-button:hover { background: #dc2626; transform: translateY(-2px); } /* Admin Sidebar */ .admin-sidebar { width: 280px; background: rgba(30, 41, 59, 0.95); padding: 2rem; border-right: 1px solid rgba(255, 255, 255, 0.1); } .admin-logo { font-size: 2rem; font-weight: 800; margin-bottom: 2rem; display: flex; align-items: center; gap: 0.5rem; color: white; } .admin-logo .blue { color: #3b82f6; } .admin-icon { margin-left: auto; font-size: 1.5rem; color: #3b82f6; animation: spin 2s linear infinite; } @keyframes spin { 100% { transform: rotate(360deg); } } /* Admin Navigation */ .admin-nav { display: flex; flex-direction: column; gap: 0.75rem; } .nav-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0.5rem; color: rgba(255, 255, 255, 0.7); cursor: pointer; transition: all 0.3s ease; font-size: 1rem; font-weight: 500; } .nav-item:hover { background: rgba(255, 255, 255, 0.1); transform: translateX(5px); } .nav-item.active { background: #3b82f6; color: white; border-color: #3b82f6; } .nav-item i { font-size: 1.2rem; } /* Admin Content */ .admin-content { flex: 1; padding: 2rem; overflow-y: auto; } .content-section { display: none; } .content-section.active { display: block; animation: fadeIn 0.3s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Section Headers */ .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; } .section-header h2 { color: white; font-size: 1.5rem; display: flex; align-items: center; gap: 0.5rem; } .add-button { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color: white; border: none; padding: 0.75rem 1.5rem; border-radius: 0.5rem; cursor: pointer; display: flex; align-items: center; gap: 0.5rem; font-weight: 600; transition: all 0.3s ease; } .add-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); } /* Items Grid */ .items-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; padding: 0.5rem; } /* Modal Styles */ .modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: transparent; /* Supprime le fond noir */ background: rgba(0, 0, 0, 0.911); backdrop-filter: blur(5px); z-index: 1100; } .modal.active { display: flex; justify-content: center; align-items: center; background: transparent; /* Supprime le fond noir */ } .modal-content { background: rgba(30, 41, 59, 0.95); /* Fond du contenu de la modal */ border-radius: 1rem; width: 100%; height: 100%; max-width: 800px; max-height: 90vh; overflow-y: auto; border: 1px solid rgba(255, 255, 255, 0.1); } .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .modal-header h3 { color: white; font-size: 1.25rem; display: flex; align-items: center; gap: 0.5rem; } .close-modal { background: none; border: none; color: rgba(255, 255, 255, 0.5); cursor: pointer; font-size: 1.25rem; transition: all 0.3s ease; } .close-modal:hover { color: white; transform: rotate(90deg); } /* Form Styles */ form { padding: 1.5rem; } .form-row { display: flex; flex-wrap: wrap; gap: 1rem; } .form-group { flex: 1; min-width: 200px; /* Adjust as needed */ margin-bottom: 1.5rem; } .form-group label { display: block; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.5rem; font-size: 0.875rem; } .form-group input, .form-group select, .form-group textarea { width: 50%; /* Ensure inputs take full width of their container */ padding: 0.75rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0.5rem; color: white; font-size: 1rem; transition: all 0.3s ease; text-align: center; } .form-group2 label { display: block; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.5rem; font-size: 0.875rem; } .form-group2 input, .form-group2 select, .form-group2 textarea { width: 15%; /* Ensure inputs take full width of their container */ padding: 0.75rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0.5rem; color: white; font-size: 1rem; transition: all 0.3s ease; text-align: center; } .form-group2 input:focus, .form-group2 select:focus, .form-group2 textarea:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); } .form-group2 select { background: rgba(30, 41, 59, 0.95); /* Fond sombre */ color: white; /* Texte blanc */ border: 1px solid rgba(255, 255, 255, 0.1); /* Bord similaire aux autres inputs */ padding: 0.75rem; border-radius: 0.5rem; font-size: 1rem; appearance: none; /* Supprime l'apparence native */ transition: all 0.3s ease; } .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); } .form-group select { background: rgba(30, 41, 59, 0.95); /* Fond sombre */ color: white; /* Texte blanc */ border: 1px solid rgba(255, 255, 255, 0.1); /* Bord similaire aux autres inputs */ padding: 0.75rem; border-radius: 0.5rem; font-size: 1rem; appearance: none; /* Supprime l'apparence native */ transition: all 0.3s ease; } .form-group select:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); } /* Personnalisation de l'icône flèche (ajustez si nécessaire) */ .form-group select::-ms-expand { display: none; /* Supprime l'icône native sous IE */ } .form-group select:hover { background: rgba(30, 41, 59, 1); /* Fond légèrement éclairci au survol */ color: white; } /* Dynamic Form Elements */ .lot-item, .feature-item { display: flex; gap: 1rem; margin-bottom: 1rem; padding: 1rem; background: rgba(255, 255, 255, 0.05); border-radius: 0.5rem; align-items: center; } .add-lot-button, .add-feature-button { width: 100%; padding: 0.75rem; background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); color: white; border: none; border-radius: 0.5rem; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.5rem; font-weight: 600; transition: all 0.3s ease; margin-top: 1rem; } .add-lot-button:hover, .add-feature-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); } /* Modal Footer */ .modal-footer { padding: 1.5rem; border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; justify-content: flex-end; } .save-button { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color: white; border: none; padding: 0.75rem 1.5rem; border-radius: 0.5rem; cursor: pointer; display: flex; align-items: center; gap: 0.5rem; font-weight: 600; transition: all 0.3s ease; } .save-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); } /* Scrollbar Styling */ .admin-content::-webkit-scrollbar, .modal-content::-webkit-scrollbar { width: 8px; } .admin-content::-webkit-scrollbar-track, .modal-content::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); } .admin-content::-webkit-scrollbar-thumb, .modal-content::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 4px; } .admin-content::-webkit-scrollbar-thumb:hover, .modal-content::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } /* Visibility Controls */ .admin-container[style*="visibility: visible"] { display: flex !important; opacity: 1 !important; transform: translateY(0) !important; } .admin-container[style*="visibility: hidden"] { display: none !important; } /* Item Card Styles */ .item-card { background: rgba(30, 41, 59, 0.95); border-radius: 12px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.1); transition: all 0.3s ease; height: fit-content; } .item-card:hover { transform: translateY(-5px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); } .item-card:hover .item-image { transform: scale(1.05); } .item-image { width: 100%; height: 100%; /* Réduit de 160px à 140px */ object-fit: cover; object-position: center; transition: transform 0.3s ease; } .item-content { padding: 1.25rem; color : white; } .vehicle-card { position: relative; display: flex; flex-direction: column; background: rgba(255, 255, 255, 0.05); border-radius: 0.5rem; overflow: hidden; margin-bottom: 0.5rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Ajout d'une ombre pour un meilleur effet visuel */ } .vehicle-image { width: 100%; height: 200px; object-fit: cover; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .vehicle-content { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; padding: 1rem; /* Ajout de padding pour un espacement agréable */ } .vehicle-model { font-size: 0.9rem; color: rgba(255, 255, 255, 0.7); margin: 0; font-weight: 500; /* Légère mise en évidence du modèle */ } .item-title { font-size: 1.25rem; color: white; margin-bottom: 0.75rem; font-weight: 600; /* Accentuation du titre */ } .item-price { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: rgba(245, 158, 11, 0.1); color: #f59e0b; border-radius: 0.5rem; margin-bottom: 1rem; font-weight: 600; /* Mise en valeur du prix */ } .item-actions { display: flex; gap: 0.75rem; margin-top: 1rem; /* Espacement entre les actions et le reste */ } .edit-button, .delete-button { flex: 1; padding: 0.625rem; border: none; border-radius: 0.5rem; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 600; transition: all 0.3s ease; } .edit-button { background: #3b82f6; color: white; box-shadow: 0 2px 4px rgba(59, 130, 246, 0.2); /* Ombre pour le bouton d'édition */ } .edit-button:hover { background: #2563eb; transform: translateY(-2px); box-shadow: 0 4px 6px rgba(59, 130, 246, 0.3); /* Ombre plus forte au survol */ } .delete-button { background: #ef4444; color: white; box-shadow: 0 2px 4px rgba(239, 68, 68, 0.2); /* Ombre pour le bouton de suppression */ } .delete-button:hover { background: #dc2626; transform: translateY(-2px); box-shadow: 0 4px 6px rgba(239, 68, 68, 0.3); /* Ombre plus forte au survol */ } .lot-inputs select { background: rgba(255, 255, 255, 0.05); color: white; border: 1px solid rgba(255, 255, 255, 0.1); padding: 0.75rem; border-radius: 0.5rem; font-size: 0.9rem; appearance: none; transition: all 0.3s ease; cursor: pointer; } /* Style pour les options du select */ .lot-inputs select option { background: rgba(17, 25, 40, 0.95); color: white; padding: 0.5rem; } /* Style au survol et focus */ .lot-inputs select:hover, .lot-inputs select:focus { border-color: rgba(255, 255, 255, 0.2); outline: none; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1); } .lot-inputs { display: flex; flex-wrap: wrap; gap: 0.75rem; flex: 1; } .lot-inputs input, .lot-inputs select { flex: 1; min-width: 200px; padding: 0.75rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0.5rem; color: white; font-size: 0.9rem; } .lot-inputs .quantity-input { flex: 0 0 150px; } .lot-inputs .quantity-input input { width: 100%; min-width: unset; } .remove-item { flex-shrink: 0; width: 36px; height: 36px; background: #ef4444; color: white; border: none; border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; } .remove-item:hover { background: #dc2626; transform: rotate(90deg); } /* Ajustements pour les champs spécifiques */ .item-input { flex: 1 1 200px; } .type-select { flex: 0 0 150px !important; } /* Style pour le conteneur des lots */ .lots-container { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; max-height: 400px; overflow-y: auto; padding-right: 0.5rem; } /* Scrollbar personnalisée pour le conteneur des lots */ .lots-container::-webkit-scrollbar { width: 6px; } .lots-container::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 3px; } .lots-container::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 3px; } .lots-container::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } .form-group-vehicule { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 1.5rem; } .form-group-vehicule label { display: block; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.5rem; font-size: 0.875rem; text-align: center; } .form-group-vehicule input, .form-group-vehicule select, .form-group-vehicule textarea { width: 50%; /* Ensure inputs take full width of their container */ padding: 0.75rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0.5rem; color: white; font-size: 1rem; transition: all 0.3s ease; text-align: center; } .form-group-vehicule input:focus, .form-group-vehicule select:focus, .form-group-vehicule textarea:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); } .form-group-vehicule select { background: rgba(30, 41, 59, 0.95); /* Fond sombre */ color: white; /* Texte blanc */ border: 1px solid rgba(255, 255, 255, 0.1); /* Bord similaire aux autres inputs */ padding: 0.75rem; border-radius: 0.5rem; font-size: 1rem; appearance: none; /* Supprime l'apparence native */ transition: all 0.3s ease; } /* Personnalisation de l'icône flèche (ajustez si nécessaire) */ .form-group-vehicule select::-ms-expand { display: none; /* Supprime l'icône native sous IE */ } .form-group-vehicule select:hover { background: rgba(30, 41, 59, 1); /* Fond légèrement éclairci au survol */ color: white; } .menu-item.admin { display: none; /* Hidden by default */ } .menu-item.admin.show { display: flex; /* Show when authorized */ } /* Styles pour la section Give */ .give-container { display: flex; gap: 2rem; padding: 1rem; height: calc(100vh - 250px); } .give-options { flex: 1; display: flex; flex-direction: column; gap: 2rem; } .give-target-selector, .give-crate-selector { background: rgba(30, 41, 59, 0.95); border-radius: 12px; padding: 1.5rem; border: 1px solid rgba(255, 255, 255, 0.1); } .give-target-selector h3, .give-crate-selector h3 { color: white; font-size: 1.25rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; } .target-buttons { display: flex; gap: 1rem; margin-bottom: 1.5rem; } .target-button { flex: 1; padding: 1rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; color: white; display: flex; align-items: center; justify-content: center; gap: 0.75rem; cursor: pointer; transition: all 0.3s ease; } .target-button i { font-size: 1.1rem; } .target-button:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); } .target-button.active { background: #3b82f6; border-color: #3b82f6; } .player-id-input { margin-top: 1rem; } .player-id-input label { display: block; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.5rem; font-size: 0.9rem; } .input-with-icon { position: relative; } .input-with-icon i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: rgba(255, 255, 255, 0.5); } .input-with-icon input { width: 80%; padding: 0.75rem 1rem 0.75rem 2.5rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; color: white; font-size: 1rem; transition: all 0.3s ease; } .input-with-icon input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); } .crates-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; max-height: 400px; overflow-y: auto; padding-right: 0.5rem; } .crate-item { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; padding: 1rem; cursor: pointer; transition: all 0.3s ease; } .crate-item:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); } .crate-item.selected { background: rgba(59, 130, 246, 0.2); border-color: #3b82f6; } .crate-image { width: 100%; height: 190px; object-fit: cover; border-radius: 6px; margin-bottom: 0.75rem; } .crate-name { color: white; font-weight: 600; margin-bottom: 0.5rem; } .give-summary { width: 300px; position: relative; } .summary-content { background: rgba(30, 41, 59, 0.95); border-radius: 12px; padding: 1.5rem; border: 1px solid rgba(255, 255, 255, 0.1); position: sticky; top: 1rem; } .summary-content h3 { color: white; font-size: 1.25rem; margin-bottom: 1.5rem; } .summary-details { margin-bottom: 2rem; } .summary-item { margin-bottom: 1rem; } .summary-item .label { display: block; color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; margin-bottom: 0.25rem; } .summary-item .value { color: white; font-weight: 500; } .confirm-give-button { width: 100%; padding: 1rem; background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color: white; border: none; border-radius: 8px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 0.75rem; cursor: pointer; transition: all 0.3s ease; } .confirm-give-button:not(:disabled):hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); } .confirm-give-button:disabled { opacity: 0.5; cursor: not-allowed; background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%); } /* Scrollbar personnalisée */ .crates-grid::-webkit-scrollbar { width: 6px; } .crates-grid::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 3px; } .crates-grid::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 3px; } .crates-grid::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } /* Styles pour la section Give */