.mica-ateliers {
    margin: 2rem 0;
    padding: 1.25rem 0;
    border-top: 1px solid #d9e0dc;
    color: #24362f;
}
.mica-ateliers h2 { margin: 0 0 .6rem; }
.mica-ateliers fieldset { border: 0; padding: 0; margin: 1.5rem 0; }
.mica-ateliers legend { font-weight: 700; margin-bottom: .6rem; }
.mica-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 1rem; }
.mica-date { display: flex; align-items: flex-start; gap: .55rem; border: 1px solid #cbd6ce; padding: .75rem; cursor: pointer; }
.mica-date:has(input:checked) { border-color: #277253; background: #f0f8f3; }
.mica-date input { margin-top: .3rem; flex: none; }
.mica-champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; }
.mica-champs label { display: block; font-weight: 600; }
.mica-champs input { display: block; width: 100%; box-sizing: border-box; margin-top: .25rem; }
.mica-aide { font-size: .9em; color: #53635c; }
.mica-consentement { display: flex; align-items: flex-start; gap: .4rem; margin: 1rem 0; }
.mica-consentement input { margin-top: .3rem; flex: none; }
.mica-ateliers button { padding: .7rem 1.1rem; border: 0; background: #225c43; color: #fff; cursor: pointer; }
.mica-ateliers button:hover, .mica-ateliers button:focus { background: #163d2c; }
.mica-message { padding: .75rem 1rem; }
.mica-success { background: #e5f3e9; border-left: 4px solid #2e8a53; }
.mica-error { background: #fff0ee; border-left: 4px solid #b4493b; }
.mica-piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 650px) { .mica-dates, .mica-champs { grid-template-columns: 1fr; } }
