/* Disposition uniquement. Les couleurs, polices et composants du theme final
   restent inchanges; cette feuille organise leur largeur et leur rythme. */

.pf-v5-c-page__main > .pf-v5-c-page__main-section {
    padding-inline: clamp(24px, 4.5vw, 68px);
}

.pf-v5-c-page__main > .pf-v5-c-page__main-section:first-child {
    padding-bottom: 18px;
}

.pf-v5-c-page__main > .pf-v5-c-page__main-section + .pf-v5-c-page__main-section {
    padding-top: 18px;
    padding-bottom: 64px;
}

.pf-v5-c-page__main > .pf-v5-c-page__main-section > .pf-v5-c-content,
.pf-v5-c-page__main > .pf-v5-c-page__main-section > form,
.pf-v5-c-page__main > .pf-v5-c-page__main-section > .pf-v5-c-data-list,
.pf-v5-c-page__main > .pf-v5-c-page__main-section > .pf-v5-c-page__main-section {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
}

/* Profil: la saisie garde une largeur confortable et la navigation de section
   reste proche du formulaire au lieu de flotter au bord de l'ecran. */
.pf-v5-c-page__main form.pf-m-horizontal > .pf-v5-l-grid {
    grid-template-columns: minmax(0, 3fr) minmax(210px, 1fr);
    column-gap: clamp(28px, 4vw, 58px);
    align-items: start;
}

.pf-v5-c-page__main form.pf-m-horizontal > .pf-v5-l-grid > .pf-v5-l-grid__item {
    width: auto;
    max-width: none;
    grid-column: auto;
}

.pf-v5-c-page__main form.pf-m-horizontal .pf-v5-c-form__group {
    margin-bottom: 18px;
}

.pf-v5-c-page__main form.pf-m-horizontal > .pf-v5-c-form__group.pf-m-action {
    max-width: calc((1180px - clamp(28px, 4vw, 58px)) * .75);
    margin-top: 8px;
}

.pf-v5-c-jump-links {
    position: sticky;
    top: 92px;
}

/* Applications: une liste lisible ne doit pas traverser tout un grand ecran. */
#applications-list {
    max-width: 980px;
}

#applications-list .pf-v5-c-data-list__item-content {
    column-gap: 20px;
}

/* Securite: les grandes categories deviennent deux zones voisines sur un
   bureau large, puis repassent naturellement l'une sous l'autre. */
.pf-v5-c-page__main > .pf-v5-c-page__main-section > .pf-v5-c-page__main-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
    padding: 0;
}

.pf-v5-c-page__main > .pf-v5-c-page__main-section > .pf-v5-c-page__main-section > .pf-v5-c-page__main-section {
    min-width: 0;
    padding: 24px;
}

.pf-v5-c-page__main .pf-v5-l-split {
    gap: 18px;
    align-items: flex-start;
}

.pf-v5-c-page__main .pf-v5-c-data-list__item-content {
    gap: 14px;
}

@media (max-width: 1050px) {
    .pf-v5-c-page__main > .pf-v5-c-page__main-section > .pf-v5-c-page__main-section {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .pf-v5-c-page__main form.pf-m-horizontal > .pf-v5-l-grid {
        grid-template-columns: 1fr;
        row-gap: 20px;
    }

    .pf-v5-c-page__main form.pf-m-horizontal > .pf-v5-c-form__group.pf-m-action {
        max-width: none;
    }

    .pf-v5-c-jump-links {
        position: static;
    }
}

@media (max-width: 600px) {
    .pf-v5-c-page__main > .pf-v5-c-page__main-section {
        padding-inline: 18px;
    }

    .pf-v5-c-page__main > .pf-v5-c-page__main-section > .pf-v5-c-page__main-section > .pf-v5-c-page__main-section {
        padding: 18px 0;
    }

    .pf-v5-c-page__main .pf-v5-l-split,
    .pf-v5-c-page__main .pf-v5-c-data-list__item-content {
        flex-direction: column;
    }
}
