/* assets/css/style.css */

:root {
    --primary-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --bg-color: #f4f6f8;
    --text-color: #333;
    --header-bg: #fff;
    --border-color: #e0e0e0;
    --link-color: #007bff;
}

body { font-family: var(--primary-font); background-color: var(--bg-color); color: var(--text-color); margin: 0; line-height: 1.6; }
header { background-color: var(--header-bg); padding: 1rem 2rem; border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; }
header h1 a { text-decoration: none; color: inherit; }
header nav a { margin-left: 1.5rem; text-decoration: none; color: var(--link-color); }
main { padding: 2rem; }

.container { display: grid; grid-template-columns: 280px 1fr 150px; gap: 2rem; max-width: 1400px; margin: 0 auto; }
.controls { grid-column: 1 / 2; }
.calendar-container { grid-column: 2 / 3; }
.ads-placeholder { grid-column: 3 / 4; background: #eee; text-align: center; padding: 1rem; }

/* --- AMÉLIORATION RESPONSIVE --- */
@media (max-width: 1024px) {
    main { padding: 1rem; }
    .container {
        display: flex;
        flex-direction: column-reverse; /* Le calendrier passe au-dessus des contrôles */
        gap: 1.5rem;
    }
    .controls { order: 2; }
    .calendar-container { order: 1; }
    .ads-placeholder { display: none; }
}

.controls h2 { margin-top: 0; }
.controls select, .controls input[type="email"], .controls button { width: 100%; padding: 0.75rem; margin-bottom: 1rem; border: 1px solid var(--border-color); border-radius: 4px; font-size: 1rem; }
.alert-form, .print-option { margin-top: 2rem; padding: 1rem; background: var(--header-bg); border: 1px solid var(--border-color); border-radius: 4px; }
.print-option a { display: block; text-align: center; background: var(--link-color); color: #fff; text-decoration: none; padding: 0.75rem; border-radius: 4px; }

#calendar { background-color: #fff; padding: 1rem; border-radius: 4px; }
.fc .fc-daygrid-day.fc-day-today { background-color: rgba(0, 123, 255, 0.1); }
.fc-event { border: none !important; }
.fc-event-main { padding: 4px 6px; }

/* ... Styles du footer ... */
footer { background: #343a40; color: #fff; padding: 2rem; margin-top: 2rem; }
.footer-links { display: flex; justify-content: space-around; flex-wrap: wrap; gap: 2rem; }
.footer-column h4 { border-bottom: 1px solid #777; padding-bottom: 0.5rem; }
.footer-column ul { list-style: none; padding: 0; margin-top: 1rem; }
.footer-column ul li a { color: #ccc; text-decoration: none; line-height: 1.8; }
.footer-column ul li a:hover { color: #fff; }
.footer-bottom { text-align: center; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #555; }
.footer-bottom nav a { color: #ccc; margin: 0 1rem; }

/* Conteneurs statiques */
.container-static { max-width: 800px; margin: 2rem auto; background: #fff; padding: 2rem; border-radius: 8px; }