/* styles spécifiques à la page "Postuler" */
/* Les classes communes (.section, .wrap, .contact-grid, .form-card, .field, .checklist,
   .badge-soft, .ji-tags, …) sont fournies par assets/css/inner-pages.css, chargé globalement. */

.section.postuler-section {
    padding-top: 0;
    margin-top: -46px;
}

.postuler-grid {
    align-items: start;
}

/* ─── LIEN RETOUR ─────────────────────────────────────── */
.back-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #5b6b82;
    margin-bottom: 22px;
    transition: color 0.2s, gap 0.2s;
}

.back-link svg {
    width: 17px;
    height: 17px;
}

.back-link:hover {
    color: #2e5bff;
    gap: 13px;
}

/* ─── CARTE DU POSTE VISÉ ─────────────────────────────── */
.offer-card {
    background: #ffffff;
    border: 1px solid #e6ecf4;
    border-radius: 26px;
    padding: 34px 32px;
    box-shadow: 0 18px 44px rgba(16, 38, 76, 0.10);
}

.offer-card h1 {
    font-size: 26px;
    margin: 14px 0 12px;
}

.offer-card .offer-desc {
    color: #5b6b82;
    font-size: 15px;
    line-height: 1.7;
}

.offer-card .ji-tags {
    margin-top: 18px;
}

/* ─── POURQUOI NOUS REJOINDRE ─────────────────────────── */
.why-card {
    background: #f2f5fa;
    border-radius: 26px;
    padding: 30px 32px 8px;
    margin-top: 24px;
}

.why-card h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #142036;
}

.why-card .checklist {
    margin-top: 22px;
    margin-bottom: 8px;
}

.why-card .ctext {
    color: #5b6b82;
    font-size: 14.5px;
    line-height: 1.6;
    padding-top: 4px;
}

/* ─── DÉPÔT DU CV ─────────────────────────────────────── */
.upload-field {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 9px;
    background: #f2f5fa;
    border: 1.5px dashed #c3cee0;
    border-radius: 16px;
    padding: 28px 20px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.upload-field:hover,
.upload-field:focus-within {
    border-color: #2e5bff;
    background: #ffffff;
}

.upload-field svg {
    width: 28px;
    height: 28px;
    color: #2e5bff;
}

.upload-field .upload-text {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14.5px;
    color: #142036;
}

.upload-field .upload-browse {
    color: #2e5bff;
    text-decoration: underline;
}

.upload-field .upload-hint {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11.5px;
    color: #8593a6;
}

.upload-field input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.upload-filename {
    display: block;
    margin-top: 10px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 12.5px;
    color: #5b6b82;
}

.upload-filename:empty::before,
.upload-filename:not(.has-file)::before {
    content: attr(data-empty);
    color: #8593a6;
}

.upload-filename.has-file::before {
    content: '📎 ' attr(data-filename);
    color: #2e5bff;
    font-weight: 600;
}

@media (max-width: 920px) {
    .why-card {
        padding: 26px 24px 4px;
    }
}
