the-tip-top-frontend/app/globals.css
soufiane c8fdd59553 feat: enhance login/register pages with animated backgrounds and unified design
- Add animated tea icon backgrounds to login and register pages (35 icons)
- Update color scheme from green to golden/beige theme matching header
- Change header navigation text from "Loto à gagner" to "Lots à gagner"
- Update form placeholders to lowercase French (prénom, nom, email, etc.)
- Standardize Facebook login button style to match Google button
- Update all focus rings and button colors to #d4a574 (golden) theme

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 21:35:57 +01:00

154 lines
3.4 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
body {
@apply bg-gray-50 text-gray-900 antialiased;
}
h1 {
@apply text-4xl font-bold;
}
h2 {
@apply text-3xl font-semibold;
}
h3 {
@apply text-2xl font-semibold;
}
}
@layer components {
.btn {
@apply px-4 py-2 rounded-lg font-medium transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2;
}
.btn-primary {
@apply btn bg-primary-600 text-white hover:bg-primary-700 focus:ring-primary-500;
}
.btn-secondary {
@apply btn bg-secondary-500 text-white hover:bg-secondary-600 focus:ring-secondary-400;
}
.btn-outline {
@apply btn border-2 border-primary-600 text-primary-600 hover:bg-primary-50 focus:ring-primary-500;
}
.input {
@apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent;
}
.card {
@apply bg-white rounded-xl shadow-md p-6;
}
}
@layer utilities {
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fadeIn {
animation: fadeIn 0.2s ease-out;
}
/* Animations pour le Hero Section */
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
25% { transform: translateY(-20px) rotate(5deg); }
50% { transform: translateY(-10px) rotate(-5deg); }
75% { transform: translateY(-15px) rotate(3deg); }
}
@keyframes floatSlow {
0%, 100% { transform: translateY(0px) translateX(0px) rotate(0deg); }
33% { transform: translateY(-30px) translateX(10px) rotate(10deg); }
66% { transform: translateY(-15px) translateX(-10px) rotate(-10deg); }
}
@keyframes pulse {
0%, 100% { opacity: 0.3; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.05); }
}
@keyframes steam {
0% { opacity: 0.6; transform: translateY(0px) translateX(0px) scale(1); }
50% { opacity: 0.3; transform: translateY(-30px) translateX(10px) scale(1.2); }
100% { opacity: 0; transform: translateY(-60px) translateX(-10px) scale(1.5); }
}
.float-animation {
animation: float 6s ease-in-out infinite;
}
.float-slow {
animation: floatSlow 8s ease-in-out infinite;
}
.pulse-animation {
animation: pulse 4s ease-in-out infinite;
}
.steam-1 {
animation: steam 3s ease-out infinite;
animation-delay: 0s;
}
.steam-2 {
animation: steam 3s ease-out infinite;
animation-delay: 1s;
}
.steam-3 {
animation: steam 3s ease-out infinite;
animation-delay: 2s;
}
/* Animation de descente douce du haut vers le bas sans rotation */
@keyframes fallDown {
0% {
transform: translateY(-100vh) translateX(0px);
opacity: 0.5;
}
20% {
transform: translateY(-60vh) translateX(15px);
opacity: 0.5;
}
40% {
transform: translateY(-20vh) translateX(-10px);
opacity: 0.5;
}
60% {
transform: translateY(20vh) translateX(20px);
opacity: 0.5;
}
80% {
transform: translateY(60vh) translateX(-15px);
opacity: 0.5;
}
95% {
opacity: 0.5;
}
100% {
transform: translateY(100vh) translateX(0px);
opacity: 0;
}
}
.animate-float-gentle {
animation: fallDown 15s linear infinite;
opacity: 0;
animation-fill-mode: forwards;
}
}