p {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    letter-spacing: .1em;
    text-align: center;
    line-height: 2;
    list-style-type: none;
}

.Corps {
    background-image: url(../Image/Fond/Fond-Inscription.png);
    background-size: cover;
}

.checklist>li {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    letter-spacing: .1em;
    line-height: 2;
    list-style-type: none;
}

.section-title {
    font-weight: 700;
    font-size: clamp(1.1rem, .9rem + 1vw, 1.6rem);
    color: #c00000;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: .03em;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-align: center;
}

.sub-title {
    font-weight: 700;
    font-size: clamp(1rem, .9rem + .6vw, 1.25rem);
    letter-spacing: .04em;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}

.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: nowrap;
}

.Part1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    align-items: start;
}

.Part3 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    justify-items: center;
    align-items: stretch;
    padding-bottom: 20px;

}

@media (max-width: 900px) {

    .Part1,
    .Part3 {
        grid-template-columns: 1fr;
    }
}

.part_bouton {
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: space-evenly;
    flex-wrap: wrap;
    text-align: center;
    margin-bottom: 20px;
}

.Sous-Part {
    width: 85%;
}

.Part2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
    width: 90%;
}

.card.dark {
    background: #292d33;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: nowrap;
}


.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .9rem 1.25rem;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: #f0f0f0;
    color: #333;
    border: 1px solid rgba(0, 0, 0, .06);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, .08);
    background: #007bff;
    color: #fff;
}

.btn:focus {
    outline: 3px solid #E38C8C;
    /* approx. color-mix(brand 45%, white) */
    outline-offset: 2px;
}

.btn.invert {
    background: #fff;
    color: #111;
}

.btn.invert:hover {
    background: #111;
    color: #fff;
}

/* ============================================
   LISTES / BLOCS DÉTAILLÉS
   ============================================ */

.checklist {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1.5rem 0;
}

.indent {
    padding-left: .5rem;
    border-left: 3px solid rgba(192, 0, 0, 0.55);
    margin-top: .75rem;
    background-color: #ffffffee;
}

/* ============================================
   TABLEAU — TARIFS
   ============================================ */

.table-wrap {
    overflow: auto;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
    background: #fff;
}

.prices {
    border-collapse: collapse;
    width: 100%;
    font-size: 16px;
}

.prices caption {
    caption-side: bottom;
    padding: .75rem;
    font-style: italic;
    color: #6b7280;
    /* anciennement var(--muted) */
}

.prices th,
.prices td {
    padding: .9rem 1rem;
    text-align: center;
    border: 1px solid rgba(0, 5, 66, .15);
}

.prices thead th {
    background: #2F5496;
    /* anciennement var(--accent) */
    color: #fff;
    position: sticky;
    top: 0;
}

.prices tbody tr:nth-child(odd) td {
    background: #D9E2F3;
    /* anciennement var(--accent-50) */
}

.prices tbody tr:nth-child(even) td {
    background: #B4C6E7;
    /* anciennement var(--accent-100) */
}

/* ============================================
   NOTES / ALERTES
   ============================================ */

.note {
    background: #fff7f7;
    border: 1px solid #ffd2d2;
    color: #7a1f1f;
    padding: .75rem 1rem;
}

/* ============================================
   ACCESSIBILITÉ — FOCUS GÉNÉRAL
   ============================================ */

a:focus-visible {
    outline: 3px solid #E38C8C;
    /* approx. color-mix(brand 45%, white) */
    outline-offset: 2px;
}