*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    direction: rtl;
    text-align: right;
    font-family: "Segoe UI", Arial, sans-serif;
    background:#f4f6f9;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    padding:20px;
}
.container{
    width:100%;
    max-width:900px;
    background:#fff;
    border-radius:12px;
    padding:30px 40px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}
.header{
    text-align:center;
    margin-bottom:25px;
}
.logo img{
    width:120px;
    margin-bottom:12px;
}
.header h1{
    color:#1a2f5a;
    font-size:26px;
    margin-bottom:6px;
}
.header h2{
    color:#444;
    font-size:18px;
    margin-bottom:6px;
}
.header p{
    color:#666;
    font-size:15px;
}

/* === GRILLE 2 COLONNES === */
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 20px;
    align-items:start;
}
.form-group{
    margin-bottom:0;
}
/* Éléments pleine largeur */
.form-group.full,
.section-title,
.form-note{
    grid-column: 1 / -1;
}

/* Titres de section dans la grille */
.section-title{
    color:#0d3b75;
    font-size:16px;
    font-weight:700;
    border-bottom:2px solid #0d3b75;
    padding-bottom:6px;
    margin-top:10px;
}

label{
    display:block;
    margin-bottom:6px;
    font-weight:600;
    color:#333;
    font-size:14px;
}
input[type="text"],
input[type="email"],
select,
textarea{
    width:100%;
    height:44px;
    padding:0 12px;
    border:1px solid #d9dfe7;
    border-radius:8px;
    font-size:14px;
    font-family:"Segoe UI", Arial, sans-serif;
    transition:.3s;
    background:#fff;
}
textarea{
    height:75px;
    padding:8px 12px;
    resize:vertical;
}
input[type="text"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:#0d6efd;
    box-shadow:0 0 0 3px rgba(13,110,253,.15);
}
input[disabled]{
    background:#f0f0f0;
    color:#888;
    cursor:not-allowed;
}

/* Radios */
.radio-group{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    padding:8px 0;
}
.radio-group label{
    font-weight:400;
    margin-bottom:0;
    display:flex;
    align-items:center;
    gap:5px;
    cursor:pointer;
}

/* Sélecteurs date côte à côte */
.date-group{
    display:flex;
    align-items:center;
    gap:6px;
}
.date-group select{
    width:auto;
    flex:1;
}
.date-sep{
    font-weight:bold;
    color:#555;
}

/* Captcha */
.captcha-wrap{
    text-align:center;
}
.captcha-wrap img{
    display:block;
    margin:8px auto;
    border:1px solid #ddd;
    border-radius:5px;
}
.captcha-wrap a{
    color:#0d6efd;
    text-decoration:none;
    font-size:13px;
}
.captcha-wrap input{
    max-width:200px;
    margin:8px auto 0;
    display:block;
}

/* Boutons */
.btn-row{
    grid-column: 1 / -1;
    display:flex;
    gap:12px;
    margin-top:6px;
}
.btn{
    flex:1;
    height:48px;
    background:#0d3b75;
    color:#fff;
    border:none;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}
.btn:hover{
    background:#164f97;
    transform:translateY(-1px);
}
input[type="reset"].btn{
    background:#fff;
    color:#0d3b75;
    border:1px solid #0d3b75;
}
input[type="reset"].btn:hover{
    background:#f0f4ff;
}


input::placeholder {
    font-weight: bold;
    color: red;
    opacity: 1;
}

/* Responsive */
@media(max-width:650px){
    .form-grid{
        grid-template-columns:1fr;
    }
    .form-group.full,
    .section-title,
    .btn-row{
        grid-column:1;
    }
}
input[type="hidden"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}