/* Page candidature — direction éditoriale isolée */
.inscription-hero {
    min-height: 520px;
    padding: 0 !important;
    background: #0b3522 !important;
}
.inscription-hero::before { display: none !important; }
.inscription-hero > .container { max-width: 1280px; }
.inscription-hero > .container > .row { min-height: 520px; }
.inscription-hero .col-lg-6:first-child { position: relative; z-index: 2; padding: 5rem 5rem 5rem 1.25rem; }
.inscription-hero .breadcrumb { margin-bottom: 2.5rem; }
.inscription-hero .breadcrumb-item,
.inscription-hero .breadcrumb-item a { color: rgba(255,255,255,.55) !important; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.inscription-hero .breadcrumb-item.active { color: #d9c180 !important; }
.inscription-hero .hero-title {
    margin: 0 0 1rem;
    color: #fff !important;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(3.3rem, 6vw, 6.2rem) !important;
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.055em;
    text-shadow: none !important;
}
.inscription-hero .hero-subtitle { max-width: 560px; margin-bottom: 2.2rem; color: rgba(255,255,255,.63); font-size: .95rem !important; line-height: 1.7; text-shadow: none; }
.inscription-hero .hero-features { gap: 0; border-top: 1px solid rgba(255,255,255,.14); }
.inscription-hero .feature-item { padding: 1rem 1.2rem 0 0; color: rgba(255,255,255,.7); font-size: .66rem; letter-spacing: .04em; }
.inscription-hero .feature-item + .feature-item { padding-left: 1.2rem; border-left: 1px solid rgba(255,255,255,.14); }
.inscription-hero .feature-item i { color: #c5a253; font-size: .8rem; }
.inscription-hero .col-lg-6:last-child { align-self: stretch; padding: 0; }
.inscription-hero .hero-image { height: 100%; }
.inscription-hero .hero-image::before { position: absolute; inset: 0; z-index: 1; content: ""; background: linear-gradient(90deg, #0b3522 0%, rgba(11,53,34,.18) 42%, transparent); }
.inscription-hero .hero-image img { width: 50vw; max-width: none; height: 520px; border-radius: 0 !important; object-fit: cover; filter: saturate(.75); box-shadow: none !important; }

.inscription-workspace { max-width: 1280px; padding-top: 5rem !important; padding-bottom: 7rem !important; }
.inscription-layout { --bs-gutter-x: 3.5rem; }
.inscription-layout > .col-lg-4 { width: 31%; }
.inscription-layout > .col-lg-8 { width: 69%; }
.info-sidebar { top: 90px; padding: 0; border-top: 4px solid #c5a253; background: #103b28; }
.info-card { margin: 0; overflow: visible; border: 0; border-bottom: 1px solid rgba(255,255,255,.11); border-radius: 0; background: transparent; box-shadow: none; }
.info-header { padding: 1.35rem 1.6rem .65rem; background: transparent !important; color: #fff; }
.info-header i { width: 20px; color: #c5a253; font-size: .8rem; }
.info-header h4 { color: #fff; font-family: "Playfair Display", Georgia, serif; font-size: 1.05rem; }
.info-content { padding: .7rem 1.6rem 1.5rem; color: rgba(255,255,255,.62); }
.academic-year { justify-content: space-between; }
.year-badge { padding: 0; border-radius: 0; background: transparent !important; color: #dfca91; font-family: "Playfair Display", Georgia, serif; font-size: 1.5rem; }
.status-active { padding: .3rem .55rem; border: 1px solid rgba(255,255,255,.2); border-radius: 0; background: transparent; color: rgba(255,255,255,.62); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.program-list { gap: 0; }
.program-item { padding: .7rem 0; border-top: 1px solid rgba(255,255,255,.09); border-radius: 0; background: transparent; }
.program-item:hover { padding-left: .4rem; background: transparent; }
.program-item i { width: 22px; color: #c5a253 !important; font-size: .72rem; }
.program-item span { color: rgba(255,255,255,.68); font-size: .72rem; }
.access-conditions { gap: 0; }
.condition-item { padding: .85rem 0; border: 0; border-top: 1px solid rgba(255,255,255,.09); border-radius: 0; background: transparent; }
.condition-item:hover { padding-left: .4rem; border-color: rgba(255,255,255,.09); background: transparent; transform: none; }
.condition-level { margin-bottom: .25rem; }
.condition-level i { color: #c5a253 !important; font-size: .7rem; }
.condition-level strong { color: #fff; font-size: .75rem; }
.condition-requirement { margin-left: 30px; color: rgba(255,255,255,.5); font-size: .68rem; }
.document-list li { padding: .65rem 0; border-color: rgba(255,255,255,.09); }
.document-list li:hover { padding-left: 0; background: transparent; }
.document-list li i { color: #c5a253 !important; font-size: .68rem; }
.document-list li span { color: rgba(255,255,255,.62); font-size: .7rem; }
.document-note { border-color: #c5a253; border-radius: 0; background: rgba(255,255,255,.05); }
.document-note i, .document-note small { color: rgba(255,255,255,.55); }
.info-sidebar .contact-info { gap: .4rem; }
.info-sidebar .contact-link { padding: .65rem 0; border-radius: 0; background: transparent; color: rgba(255,255,255,.65); font-size: .7rem; }
.info-sidebar .contact-link i { color: #c5a253; }
.info-sidebar .info-card-help { position: relative; border-bottom: 0; background: #0a2e1e; }
.info-sidebar .info-card-help .info-header { padding-bottom: .8rem; }
.info-sidebar .info-card-help .info-content { padding-top: 0; }
.info-sidebar .help-links {
    display: grid !important;
    gap: .55rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.info-sidebar .help-links .contact-link {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    min-height: 42px;
    padding: .55rem .7rem !important;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06) !important;
    color: #ffffff !important;
    font-size: .72rem !important;
    line-height: 1.4;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
    -webkit-text-fill-color: #ffffff !important;
    overflow-wrap: anywhere;
}
.info-sidebar .help-links .contact-link i {
    color: #dfca91 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #dfca91 !important;
}
.info-sidebar .help-links .contact-link:hover,
.info-sidebar .help-links .contact-link:focus {
    border-color: rgba(197,162,83,.55);
    background: rgba(197,162,83,.1) !important;
    color: #fff !important;
    transform: none !important;
}

/* Bloc d’assistance autonome : aucun sélecteur hérité de contact */
.info-sidebar .application-help {
    display: block !important;
    padding: 1.7rem 1.6rem 1.8rem !important;
    border-top: 3px solid #c5a253 !important;
    background: #071f15 !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.info-sidebar .application-help__label {
    display: block !important;
    margin-bottom: .55rem;
    color: #dfca91 !important;
    font-size: .56rem !important;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: 1 !important;
}
.info-sidebar .application-help h4 {
    display: block !important;
    margin: 0 0 .55rem !important;
    color: #fff !important;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.35rem !important;
    line-height: 1.2;
    opacity: 1 !important;
}
.info-sidebar .application-help > p {
    display: block !important;
    margin: 0 0 1.2rem !important;
    color: rgba(255,255,255,.62) !important;
    font-size: .69rem !important;
    line-height: 1.65;
    opacity: 1 !important;
}
.info-sidebar .application-help__link {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .8rem;
    align-items: center;
    min-height: 54px;
    padding: .65rem 0 !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
    background: transparent !important;
    color: #fff !important;
    font-size: .72rem !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-text-fill-color: initial !important;
}
.info-sidebar .application-help__link > i {
    display: grid !important;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid rgba(197,162,83,.42);
    border-radius: 50%;
    color: #dfca91 !important;
    font-size: .7rem !important;
    opacity: 1 !important;
}
.info-sidebar .application-help__link > span,
.info-sidebar .application-help__link small,
.info-sidebar .application-help__link strong {
    display: block !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-text-fill-color: #fff !important;
}
.info-sidebar .application-help__link small {
    margin-bottom: .15rem;
    color: rgba(255,255,255,.5) !important;
    font-size: .55rem !important;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    -webkit-text-fill-color: rgba(255,255,255,.5) !important;
}
.info-sidebar .application-help__link strong {
    max-width: 100%;
    font-size: .68rem !important;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.info-sidebar .application-help__link:hover { padding-left: .35rem !important; color: #dfca91 !important; }

.inscription-form-container { overflow: hidden; border: 1px solid #dfe5e1; border-radius: 0; background: #fff; box-shadow: 0 20px 55px rgba(10,45,28,.08); }
.inscription-form-container > .form-header { padding: 2.5rem 3rem; border-bottom: 1px solid #dfe5e1; background: #f2efe6 !important; color: #17241d !important; }
.inscription-form-container > .form-header::before { display: block; margin-bottom: .6rem; color: #155b34; content: "Dossier de candidature"; font-size: .58rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.inscription-form-container > .form-header h2 { margin: 0 0 .4rem; color: #17241d !important; font-family: "Playfair Display", Georgia, serif; font-size: 2rem; }
.inscription-form-container > .form-header h2 i { display: none; }
.inscription-form-container > .form-header p { margin: 0; color: #728078 !important; font-size: .75rem; }
#inscriptionForm { padding: 0 3rem 3rem; counter-reset: application-section; }
#inscriptionForm .form-section { margin: 0; padding: 3rem 0; border: 0; border-bottom: 1px solid #dfe5e1; border-radius: 0; background: transparent; box-shadow: none; counter-increment: application-section; }
#inscriptionForm .form-section > .section-header { display: flex; align-items: center; min-height: 0; margin-bottom: 2rem; padding: 0; border: 0; background: transparent; }
#inscriptionForm .form-section > .section-header::before { margin-right: 1rem; color: #c5a253; content: "0" counter(application-section); font-family: "Playfair Display", Georgia, serif; font-size: 1rem; }
#inscriptionForm .section-header h3 { margin: 0; color: #17241d; font-family: "Playfair Display", Georgia, serif; font-size: 1.45rem; }
#inscriptionForm .section-header h3 i { display: none; }
#inscriptionForm .section-content { padding: 0; }
#inscriptionForm .form-label { margin-bottom: .45rem; color: #4f5d54; font-size: .68rem; font-weight: 700; }
#inscriptionForm .form-control, #inscriptionForm .form-select { min-height: 50px; padding: .75rem .9rem; border: 1px solid #d6ddd8; border-radius: 0; background: #fafbf9; font-size: .8rem; }
#inscriptionForm textarea.form-control { min-height: auto; }
#inscriptionForm .form-control:focus, #inscriptionForm .form-select:focus { border-color: #155b34; background: #fff; box-shadow: 0 0 0 3px rgba(21,91,52,.08); }
#inscriptionForm .form-text { color: #879188; font-size: .62rem; }
#inscriptionForm .required { color: #a94b41; }
#inscriptionForm .alert-info { border: 0; border-left: 3px solid #c5a253; border-radius: 0; background: #f2efe6; color: #5f6c64; font-size: .72rem; }
#inscriptionForm .form-actions { display: flex; justify-content: flex-end; gap: .8rem; padding-top: 2rem; }
#inscriptionForm .form-actions .btn { min-height: 48px; padding: 0 1.2rem; border-radius: 0 !important; font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
#inscriptionForm .form-actions .btn-primary { border-color: #155b34 !important; background: #155b34 !important; }

@media (max-width: 991.98px) {
    .inscription-hero .col-lg-6:first-child { padding: 4rem 1rem; }
    .inscription-hero .col-lg-6:last-child { display: none; }
    .inscription-layout > .col-lg-4, .inscription-layout > .col-lg-8 { width: 100%; }
    .info-sidebar { position: static; display: grid; grid-template-columns: repeat(2, 1fr); margin-bottom: 2rem; }
    .info-card { border-right: 1px solid rgba(255,255,255,.11); }
}
@media (max-width: 575.98px) {
    .inscription-hero, .inscription-hero > .container > .row { min-height: 460px; }
    .inscription-hero .hero-features { display: grid; }
    .inscription-hero .feature-item + .feature-item { padding-left: 0; border-left: 0; }
    .inscription-workspace { padding-top: 2rem !important; }
    .info-sidebar { display: block; }
    .inscription-form-container > .form-header { padding: 1.7rem 1.25rem; }
    #inscriptionForm { padding: 0 1.25rem 1.5rem; }
    #inscriptionForm .form-section { padding: 2rem 0; }
    #inscriptionForm .form-actions { display: grid; }
}
