/* Case à cocher Quebec.ca*/
    .qc-case-a-cocher {
        display: block;
        position: relative;
        margin-top: 40px;
    }

    .qc-case-a-cocher input[type="checkbox"] {
        position: absolute;
        left: 0;
        z-index: -1;
        width: 1rem;
        height: 1.25rem;
        opacity: 0;
    }

    .qc-case-a-cocher label {
        display: inline-flex;
        align-items: center;
        height: 32px;
        font-family: Open Sans, sans-serif;
        font-size: 1rem;
        line-height: 25px;
        padding: 0 8px 0 1px;
        color: var(--qc-bleu-fonce);
        cursor: pointer;
        position: relative;
        font-weight: normal !important;
    }

    .qc-case-a-cocher label::before {
        content: "";
        margin-right: 8px;
        width: 24px;
        height: 24px;
        border: 2px solid var(--qc-bleu-fonce);
        flex-shrink: 0;
        transition: all 0.2s ease;
    }

    .qc-case-a-cocher label::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 5px;
        transform: translateY(-50%);
        width: 16px;
        height: 16px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }

    .qc-case-a-cocher input[type="checkbox"]:hover ~ label::before {
        border-color: var(--qc-bleu);
    }

    .qc-case-a-cocher input[type="checkbox"]:focus ~ label::before {
        border: 2px solid var(--qc-bleu-fonce);
        outline: 2px solid var(--qc-bleu-clair);
    }

    .qc-case-a-cocher input[type="checkbox"]:checked ~ label::before {
        background-color: var(--qc-bleu);
        border-color: var(--qc-bleu);
    }

    .qc-case-a-cocher input[type="checkbox"]:checked ~ label::after {
        background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22%3E%3Cpath d=%22M3 10l5 5 10-10%22 stroke=%22white%22 stroke-width=%222.5%22 fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E');
    }

    .qc-case-a-cocher input[type="checkbox"]:active ~ label::before {
        background-color: var(--qc-bleu);
        border: 2px solid var(--qc-bleu-fonce);
        outline: 2px solid var(--qc-bleu-clair);
    }

    .qc-case-a-cocher input[type="checkbox"]:active ~ label::after {
        background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22%3E%3Cpath d=%22M3 10l5 5 10-10%22 stroke=%22white%22 stroke-width=%222.5%22 fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E');
    }

    .qc-case-a-cocher input[type="checkbox"]:disabled ~ label {
        color: var(--qc-gris);
        cursor: default;
    }

    .qc-case-a-cocher input[type="checkbox"]:disabled ~ label::before {
        border: 2px solid var(--qc-gris-clair);
    }

    .qc-case-a-cocher input[type="checkbox"]:disabled:active ~ label::before {
        background-color: transparent;
        border: 1px solid var(--qc-gris-clair);
        outline: 0;
    }

    .qc-case-a-cocher input[type="checkbox"]:disabled:active ~ label::after {
        background-image: none;
    }

    /* Compact mode */
    .qc-case-a-cocher.compact label {
        margin-bottom: 0;
    }

    .qc-case-a-cocher.compact label::before {
        width: 16px;
        height: 16px;
        border-width: 1px;
    }

    .qc-case-a-cocher.compact label::after {
        top: 50%;
        left: 8px;
        width: 12px;
        height: 10px;
    }

    .qc-case-a-cocher.compact input[type="checkbox"]:focus ~ label::before {
        border-width: 1px;
        outline-width: 1px;
    }

    .qc-case-a-cocher.compact input[type="checkbox"]:active ~ label::before {
        border-width: 1px;
        outline-width: 1px;
    }

    .qc-case-a-cocher.compact input[type="checkbox"]:disabled ~ label::before {
        border-width: 1px;
    }
	
/* Styles pour composantes radio qc.ca*/

    .qc-radio {
        display: flex;
    }

    .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);
    }

    .radio-texte {
        display: flex;
        align-items: center;
    }