the-tip-top-frontend/app/globals.css
soufiane 510eab7794 feat: enhance homepage with animated tea icons and improve branding
Add animated tea icons background with 35 falling icons, update styling to match theme, and streamline branding across header and footer.

Changes:
- Add 35 animated tea icons with falling animation (no rotation)
- Create fallDown animation with gentle horizontal oscillation
- Add new homepage components (CountdownTimer, GamePeriod, GrandPrize, AboutContest)
- Include tea icon images (teapot-green, tea-cup, gift-box, tea-leaves, teapot-pink)
- Remove "Thé Tip Top" text branding from header and footer (keep logo only)
- Add Pinterest social media icon to footer
- Update button color scheme to match golden/beige theme (#d4a574, #c4956a)
- Increase icon opacity to 50% for better visibility

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

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

151 lines
3.3 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;
}
10% {
opacity: 0.5;
}
20% {
transform: translateY(-60vh) translateX(15px);
}
40% {
transform: translateY(-20vh) translateX(-10px);
}
60% {
transform: translateY(20vh) translateX(20px);
}
80% {
transform: translateY(60vh) translateX(-15px);
}
90% {
opacity: 0.5;
}
100% {
transform: translateY(100vh) translateX(0px);
opacity: 0;
}
}
.animate-float-gentle {
animation: fallDown 15s linear infinite;
}
}