/* --- Variables --- */
:root {
    --gold: #d4af37;
    --dark-blue: #0a1931;
    --white: #ffffff;
    --light-bg: #f4f7fa;
    --text-main: #333;
    --text-muted: #666;
    --input-bg: #ffffff;
    --border-color: #e1e1e1;
    --transition: 0.3s ease;
}

body { font-family: 'Poppins', sans-serif; background: var(--light-bg); color: var(--text-main); margin: 0; }

/* --- Header --- */
.breadcrumb-area {
    background: linear-gradient(rgba(10, 25, 49, 0.8), rgba(10, 25, 49, 0.8)), url('../img/benevole.jpg');
    background-size: cover; padding: 100px 0; text-align: center; color: white;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
}

.breadcrumb-area h1 { color: var(--white); font-size: 3.5rem; letter-spacing: 3px; margin-bottom: 10px; }
.breadcrumb-area p a { color: var(--gold); text-decoration: none; font-weight: 600; }
.breadcrumb-area p { color: var(--white); text-decoration: none; font-weight: 600; }


.top-badge { background: var(--gold); color: var(--dark-blue); padding: 5px 15px; border-radius: 20px; font-weight: 700; font-size: 0.8rem; }

/* --- Formulaire --- */
.form-section { padding: 60px 0; margin-top: -50px; }

.container { max-width: 900px; margin: 0 auto; padding: 0 20px; }

.card-glass {
    background: white; padding: 50px; border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0,0,0,0.1);
}

.form-header { text-align: center; margin-bottom: 40px; }
.form-header h2 { color: var(--dark-blue); font-size: 2rem; margin-bottom: 10px; }
.form-header p { color: var(--text-muted); font-size: 0.95rem; }

/* Layout Grille */
.form-group-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }

.input-box { margin-bottom: 25px; }
.input-box label { display: block; font-weight: 600; color: var(--dark-blue); margin-bottom: 8px; font-size: 0.9rem; }

.input-box input, .input-box select, .input-box textarea {
    width: 100%; padding: 12px 15px; border: 1px solid var(--border-color);
    border-radius: 10px; font-family: inherit; transition: var(--transition);
    background: var(--input-bg);
}

.input-box input:focus, .input-box textarea:focus {
    border-color: var(--gold); outline: none; box-shadow: 0 0 8px rgba(212, 175, 55, 0.2);
}

.form-divider { border: 0; height: 1px; background: #eee; margin: 30px 0; }

/* Radio & Checkbox */
.radio-group, .checkbox-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 10px; }
.radio-group label, .checkbox-grid label { font-weight: 400; cursor: pointer; display: flex; align-items: center; gap: 8px; }

/* Bouton */
.form-footer { text-align: center; margin-top: 40px; }
.btn-gold {
    background: var(--gold); color: var(--dark-blue); border: none;
    padding: 15px 40px; border-radius: 50px; font-weight: 700;
    cursor: pointer; transition: var(--transition); text-transform: uppercase;
}
.btn-gold:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(212, 175, 55, 0.3); background: #c29d2f; }

/* --- Dark Mode --- */
.dark-theme { background: #050b16; }
.dark-theme .card-glass { background: #0d1726; color: white; border: 1px solid rgba(255,255,255,0.05); }
.dark-theme .form-header h2, .dark-theme .input-box label { color: var(--gold); }
.dark-theme .input-box input, .dark-theme .input-box textarea, .dark-theme .input-box select {
    background: #162235; border-color: #2a364d; color: white;
}

/* --- Mobile --- */
@media (max-width: 768px) {
    .form-group-grid { grid-template-columns: 1fr; }
    .card-glass { padding: 30px 20px; }
}