/*Polices Roboto et Open Sans */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

body {
	font-family: 'Open Sans', 'Helvetica Neue', 'Inter', sans-serif;
	background-color: #FFF;
	margin: 0;
	padding: 0;
}

p, .p, .page_section p, .section-diagonal-left p, .section-diagonal-right p, p.form-text span {
	color: #223654;
	font-family: "Open Sans";
}

h1.main-title {
	margin-top: 0;
	margin-bottom: 32px !important;
	position: relative;
	color: var(--Texte-Dfaut, #223654);
	font-feature-settings: 'liga' off, 'clig' off;
	/* Niveaux de titres (Roboto)/Bureau/Niveau 1 */
	font-family: var(--font-family-header, Roboto);
	font-size: 48px;
	font-style: normal;
	font-weight: var(--font-weight-header-bold, 700);
	line-height: 56px; /* 116.667% */
}

h1.main-title::after {
	content: '';
	display: block;
	width: 60px; /* Small underline for the title */
	height: 4px;
	background-color: #E58271; /* Orange color from your design */
	margin-top: 5px;
}

h2 {
	font-size: 1.2em;
	color: #333;
	margin-bottom: 20px;
	padding-bottom: 10px;
}

.container.form-container {
	max-width: 825px;
	margin: 0px auto 72px;
	padding: 0;
	background-color: #fff;
	color: #223654;
	font-family: 'Open Sans', 'Helvetica Neue', 'Inter', sans-serif;
}


@media (max-width: 992px) {
	.container.form-container {
		padding: 20px;
	}
}
.paragraph-container {
	margin-bottom: 32px;
}
.paragraph-container p {
	margin-bottom: 15px;
	font-size: 16px;
	line-height: 24px;
	font-family: 'Open Sans', 'Helvetica Neue', 'Inter', sans-serif;
	color: #223654;
}

qc-case-a-cocher label {
	font-weight: normal;
	max-width: none !important;
}

qc-case-a-cocher label:after {
    left: 4px;
}

.cards-section {
	background: var(--qc-gris-pale);
	margin-bottom: 4rem;
}

@media (min-width: 576px) {
	.cards-section .container {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap: 32px;
		padding-top: 56px;
		padding-bottom: 56px;
	}
}

@media (min-width: 992px) {

	.cards-section .container {
		flex-direction: row;
	}
}

.cards-section p {
	font-size: var(--font-size-lg, 14px);
	line-height: var(--line-height-120, 280x);
	margin: 0;
}

label span.required-star {
	color: #d9534f;
	margin-left: 5px;
}

.radio-group {
    display: flex;
    flex-direction: column;
    gap: 0 important;
}

.qc-radio {
    display: flex;
    --radio-size: 1.5rem;
    --radio-compact-size: 1rem;
    --radio-dot-size: 14px;
    --radio-dot-size-compact: 8px;
    --radio-spacing: 8px;
    --radio-height: 32px;
    display: flex;
    margin-bottom: .5rem;
}

    .qc-radio:last-child {
        margin-bottom: 0;
    }

    .qc-radio.compact {
        margin-bottom: 0;
    }

    .qc-radio input[type="radio"] {
        position: absolute;
        left: -9999rem;
    }

    .qc-radio label {
        display: flex;
        align-items: center;
        min-height: var(--radio-height);
        padding: 0;
        color: var(--qc-bleu-fonce);
        font: normal 1rem / 1.625rem 'Open Sans', sans-serif;
        letter-spacing: 0.16px;
        cursor: pointer;
        margin-bottom: 0;
    }

    .radio-bouton {
        display: block;
        flex: 0 0 auto;
        position: relative;
        width: var(--radio-size);
        height: var(--radio-size);
        margin-right: var(--radio-spacing);
        margin-left: 0;
        border: 2px solid var(--qc-bleu-fonce);
        border-radius: 50%;
        transition: border-color 0.2s, outline 0.2s;
    }

    .radio-bouton::after {
        content: '';
        display: none;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: var(--radio-dot-size);
        height: var(--radio-dot-size);
        background-color: var(--qc-bleu);
        border: 2px solid var(--qc-bleu);
        border-radius: 50%;
    }

    .qc-radio input[type="radio"]:checked + label .radio-bouton {
        border-color: var(--qc-bleu);
    }

    .qc-radio input[type="radio"]:checked + label .radio-bouton::after {
        display: block;
    }

    .qc-radio input[type="radio"]:focus + label .radio-bouton {
        border-color: var(--qc-bleu-fonce);
        outline: 2px solid var(--qc-bleu-clair);
    }

    .qc-radio input[type="radio"]:active + label .radio-bouton {
        border-color: var(--qc-bleu-fonce);
        outline: 2px solid var(--qc-bleu-clair);
    }

    .qc-radio input[type="radio"]:hover + label .radio-bouton {
        border-color: var(--qc-bleu);
    }

    .qc-radio input[type="radio"]:disabled + label {
        color: var(--qc-gris);
        cursor: not-allowed;
    }

    .qc-radio input[type="radio"]:disabled + label .radio-bouton {
        border-color: var(--qc-gris-clair);
    }

    .qc-radio.compact label {
        align-items: center;
        font-size: 14px;
    }

    .qc-radio.compact .radio-bouton {
        align-self: flex-start;
        margin-top: 7px;
        width: var(--radio-compact-size);
        height: var(--radio-compact-size);
    }

    .qc-radio.compact input[type="radio"]:checked + label .radio-bouton::after {
        width: var(--radio-dot-size-compact);
        height: var(--radio-dot-size-compact);
    }

.cards-section {
    position: relative;
    z-index: 1;
}

.cards-section::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        width: 100vw;
        height: 100%;
        background: var(--qc-gris-pale);
        transform: translateX(-51%);
        z-index: -1;
}

.btn-session {
    display: inline-block;
    background: #19406C;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: .5rem 1rem;
    border: 1px solid #fff !important;
    color: white !important;
    text-decoration: none;
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    height: 40px;
    position: relative;
    top: 16px;
    text-decoration: none !important;
    opacity: 1;
    transition: background 0.3s ease;
}

.btn-session:hover {
    background: #2a5a8f;
}

.button-group {
    margin-top: 48px;
    margin-bottom: 72px;
    display: flex;
    justify-content: flex-start;
    gap: 15px;
}

