* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Patrick Hand', cursive; background: linear-gradient(to bottom, #FFF9E5 0%, #FFF5DC 100%); padding: 2rem; min-height: 100vh; }
.container { max-width: 1200px; margin: 0 auto; }
.header { text-align: center; margin-bottom: 3rem; position: relative; }
.header h1 { font-family: 'Cabin Sketch', cursive; font-size: 3.5rem; background: linear-gradient(135deg, #FF6B6B, #4ECDC4, #FFD93D); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 0.5rem; transform: rotate(-2deg); }
.header p { font-size: 1.3rem; color: #666; font-family: 'Indie Flower', cursive; }
.back-link { position: absolute; left: 0; top: 0; background: #4ECDC4; color: white; padding: 0.8rem 1.5rem; border-radius: 25px; text-decoration: none; font-weight: bold; box-shadow: 3px 3px 8px rgba(0,0,0,0.2); transition: transform 0.2s; }
.back-link:hover { transform: translateY(-3px); }
.filters { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
.filter-btn { padding: 0.8rem 1.5rem; border: none; border-radius: 25px; font-family: 'Patrick Hand', cursive; font-size: 1.1rem; font-weight: bold; cursor: pointer; transition: all 0.3s; box-shadow: 3px 3px 8px rgba(0,0,0,0.1); }
.filter-btn.active { transform: translateY(-3px); box-shadow: 5px 5px 12px rgba(0,0,0,0.2); }
.filter-btn.vacances { background: #A8E6CF; color: #2d5d3f; }
.filter-btn.journees { background: #FFD93D; color: #8b6914; }
.filter-btn.sorties { background: #64B5F6; color: #1565c0; }
.filter-btn.evenements { background: #CE93D8; color: #6a1b9a; }
.filter-btn.tous { background: #E0E0E0; color: #333; }
.month-nav { display: flex; justify-content: center; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.month-btn { background: white; border: 3px solid #4ECDC4; padding: 0.8rem 1.5rem; border-radius: 15px; font-family: 'Cabin Sketch', cursive; font-size: 1.1rem; cursor: pointer; transition: all 0.3s; color: #333; }
.month-btn:hover, .month-btn.active { background: #4ECDC4; color: white; transform: scale(1.05); }
.month-container { display: none; }
.month-container.active { display: block; animation: fadeIn 0.5s; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.month-header { background: white; padding: 2rem; border-radius: 20px; margin-bottom: 2rem; box-shadow: 5px 5px 15px rgba(0,0,0,0.1); border-left: 8px solid #FF6B6B; position: relative; overflow: hidden; }
.month-header::before { content: '★'; position: absolute; top: -10px; right: 20px; font-size: 4rem; color: #FFD93D; opacity: 0.3; transform: rotate(15deg); }
.month-header h2 { font-family: 'Cabin Sketch', cursive; font-size: 2.5rem; color: #FF6B6B; margin-bottom: 0.5rem; }
.events-grid { display: grid; gap: 1.5rem; }
.event-card { background: white; padding: 1.5rem; border-radius: 15px; box-shadow: 3px 3px 10px rgba(0,0,0,0.1); border-left: 6px solid; position: relative; transition: transform 0.2s; }
.event-card:hover { transform: translateX(5px); }
.event-card.vacances { border-left-color: #A8E6CF; }
.event-card.journees { border-left-color: #FFD93D; }
.event-card.sorties { border-left-color: #64B5F6; }
.event-card.evenements { border-left-color: #CE93D8; }
.event-date { font-family: 'Cabin Sketch', cursive; font-size: 1.3rem; font-weight: bold; color: #FF6B6B; margin-bottom: 0.5rem; }
.event-title { font-size: 1.3rem; font-weight: bold; color: #333; margin-bottom: 0.5rem; }
.event-category { display: inline-block; padding: 0.3rem 0.8rem; border-radius: 15px; font-size: 0.9rem; font-weight: bold; margin-bottom: 0.5rem; }
.event-category.vacances { background: #A8E6CF; color: #2d5d3f; }
.event-category.journees { background: #FFD93D; color: #8b6914; }
.event-category.sorties { background: #64B5F6; color: #1565c0; }
.event-category.evenements { background: #CE93D8; color: #6a1b9a; }
.event-piste { font-size: 1rem; color: #666; font-style: italic; margin-top: 0.5rem; padding-left: 1rem; border-left: 3px dashed #ccc; }
.legend { background: white; padding: 1.5rem; border-radius: 15px; margin-bottom: 2rem; box-shadow: 3px 3px 10px rgba(0,0,0,0.1); }
.legend h3 { font-family: 'Cabin Sketch', cursive; color: #333; margin-bottom: 1rem; font-size: 1.5rem; }
.legend-items { display: flex; gap: 2rem; flex-wrap: wrap; }
.legend-item { display: flex; align-items: center; gap: 0.5rem; }
.legend-color { width: 30px; height: 30px; border-radius: 50%; }
@media (max-width: 768px) {
    .header h1 { font-size: 2.5rem; }
    .back-link { position: relative; display: inline-block; margin-bottom: 1rem; }
    .month-nav { gap: 0.3rem; }
    .month-btn { padding: 0.6rem 1rem; font-size: 1rem; }
}
