/**
 * CAREERS.CSS - WP Careers Manager
 * Design moderne, mobile-first, uniformise.
 */

/* ============================================================
   VARIABLES
   ============================================================ */
:root {
    --wcm-primary:   #1a1a2e;
    --wcm-accent:    #4f46e5;
    --wcm-success:   #16a34a;
    --wcm-danger:    #dc2626;
    --wcm-warning:   #d97706;
    --wcm-border:    #e5e7eb;
    --wcm-bg:        #f9fafb;
    --wcm-text:      #111827;
    --wcm-muted:     #6b7280;
    --wcm-radius:    10px;
    --wcm-radius-sm: 6px;
    --wcm-shadow:    0 4px 20px rgba(0,0,0,0.08);
    --wcm-shadow-lg: 0 20px 60px rgba(0,0,0,0.18);
    --wcm-transition: 0.2s ease;
}

/* ============================================================
   ALERTES
   ============================================================ */
.wcm-alert {
    padding:13px 16px; border-radius:var(--wcm-radius-sm);
    margin-bottom:18px; border-left:4px solid; font-size:14px; line-height:1.5;
}
.wcm-alert-success { background:#f0fdf4; border-color:var(--wcm-success); color:#14532d; }
.wcm-alert-error   { background:#fef2f2; border-color:var(--wcm-danger);  color:#7f1d1d; }
.wcm-alert-info    { background:#eef2ff; border-color:var(--wcm-accent);  color:#312e81; }
.wcm-alert h3      { margin:0 0 6px; font-size:15px; }
.wcm-alert a       { color:inherit; font-weight:600; }

/* ============================================================
   BOUTONS
   ============================================================ */
.wcm-btn {
    display:inline-flex; align-items:center; justify-content:center;
    gap:6px; padding:10px 22px; border-radius:var(--wcm-radius-sm);
    font-size:14px; font-weight:600; text-decoration:none; cursor:pointer;
    border:2px solid transparent; transition:all var(--wcm-transition);
    line-height:1.4; white-space:nowrap;
}
.wcm-btn:hover       { text-decoration:none; transform:translateY(-1px); }
.wcm-btn:active      { transform:translateY(0); }
.wcm-btn-sm          { padding:7px 16px; font-size:13px; }
.wcm-btn-primary     { background:var(--wcm-accent); color:#fff !important; border-color:var(--wcm-accent); }
.wcm-btn-primary:hover { background:#4338ca; color:#fff !important; }
.wcm-btn-dark        { background:var(--wcm-primary); color:#fff !important; border-color:var(--wcm-primary); }
.wcm-btn-dark:hover  { background:#2d2d4e; color:#fff !important; }
.wcm-btn-outline     { background:transparent; color:var(--wcm-primary); border-color:var(--wcm-primary); }
.wcm-btn-outline:hover { background:var(--wcm-primary); color:#fff !important; }

/* ============================================================
   FORMULAIRES GENERIQUES
   ============================================================ */
.wcm-form-wrap     { max-width:720px; margin:0 auto; }
.wcm-form-subtitle { color:var(--wcm-muted); margin-bottom:24px; font-size:14px; line-height:1.6; }
.wcm-form-2col     { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wcm-form-row      { margin-bottom:16px; }
.wcm-form-row label { display:block; font-weight:600; margin-bottom:5px; font-size:13px; color:var(--wcm-text); }
.required, .wcm-required { color:var(--wcm-danger); }

.wcm-form-row input[type="text"],
.wcm-form-row input[type="email"],
.wcm-form-row input[type="tel"],
.wcm-form-row input[type="password"],
.wcm-form-row input[type="file"],
.wcm-form-row select,
.wcm-form-row textarea,
.wcm-form-select {
    width:100%; padding:10px 14px; border:1.5px solid var(--wcm-border);
    border-radius:var(--wcm-radius-sm); font-size:14px; color:var(--wcm-text);
    background:#fff; outline:none; transition:border-color var(--wcm-transition), box-shadow var(--wcm-transition);
    box-sizing:border-box; font-family:inherit;
}
.wcm-form-row input:focus,
.wcm-form-row select:focus,
.wcm-form-row textarea:focus { border-color:var(--wcm-accent); box-shadow:0 0 0 3px rgba(79,70,229,0.1); }
.wcm-form-row textarea  { min-height:110px; resize:vertical; }
.wcm-form-row .description { font-size:12px; color:var(--wcm-muted); margin-top:4px; }
.wcm-input-disabled { background:var(--wcm-bg) !important; color:var(--wcm-muted); cursor:not-allowed; }
.wcm-form-actions   { margin-top:24px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

/* ============================================================
   CONSENTEMENTS (checkboxes RGPD)
   ============================================================ */
.wcm-consents             { margin-top:18px; display:flex; flex-direction:column; gap:12px; }
.wcm-consent-label        { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.wcm-consent-label input  { width:17px; height:17px; margin-top:2px; flex-shrink:0; accent-color:var(--wcm-accent); }
.wcm-consent-label span   { font-size:13px; color:var(--wcm-text); line-height:1.5; }
.wcm-consent-label a      { color:var(--wcm-accent); text-decoration:underline; }

/* ============================================================
   POPUP AUTH GLOBAL
   ============================================================ */
.wcm-auth-overlay {
    position:fixed; inset:0; background:rgba(17,24,39,0.7);
    z-index:999999; display:flex; align-items:center; justify-content:center;
    padding:16px; box-sizing:border-box;
    animation:wcmFadeIn 0.2s ease;
}
@keyframes wcmFadeIn { from { opacity:0; } to { opacity:1; } }

.wcm-auth-modal {
    background:#fff; border-radius:16px; width:100%; max-width:520px;
    max-height:94vh; overflow-y:auto; position:relative;
    box-shadow:var(--wcm-shadow-lg);
    animation:wcmSlideUp 0.25s ease;
}
@keyframes wcmSlideUp { from { transform:translateY(24px); opacity:0; } to { transform:translateY(0); opacity:1; } }

.wcm-auth-modal-close {
    position:absolute; top:14px; right:14px; background:var(--wcm-bg);
    border:none; width:32px; height:32px; border-radius:50%; font-size:16px;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    color:var(--wcm-muted); transition:all var(--wcm-transition); z-index:1;
}
.wcm-auth-modal-close:hover { background:var(--wcm-border); color:var(--wcm-text); }

.wcm-auth-modal-header {
    text-align:center; padding:32px 32px 20px; border-bottom:1px solid var(--wcm-border);
}
.wcm-auth-modal-brand {
    display:inline-flex; align-items:center; gap:10px;
    background:var(--wcm-primary); color:#fff;
    padding:8px 16px; border-radius:20px; margin-bottom:10px;
}
.wcm-auth-brand-icon { font-size:18px; }
.wcm-auth-brand-name { font-weight:700; font-size:14px; letter-spacing:0.3px; }
.wcm-auth-modal-tagline { margin:0; font-size:22px; font-weight:700; color:var(--wcm-text); }

.wcm-auth-modal-tabs {
    display:flex; border-bottom:1px solid var(--wcm-border); padding:0 24px;
}
.wcm-auth-modal-tab {
    flex:1; padding:14px 8px; background:none; border:none; font-size:14px;
    font-weight:600; color:var(--wcm-muted); cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-1px;
    transition:all var(--wcm-transition);
}
.wcm-auth-modal-tab:hover { color:var(--wcm-text); }
.wcm-auth-modal-tab--active { color:var(--wcm-accent); border-bottom-color:var(--wcm-accent); }

.wcm-auth-modal-body { padding:24px 32px 32px; }
.wcm-auth-panel { }
.wcm-auth-desc  { font-size:14px; color:var(--wcm-muted); margin-bottom:20px; line-height:1.6; }

/* Champs du popup auth */
.wcm-auth-field { margin-bottom:14px; }
.wcm-auth-field label { display:block; font-size:13px; font-weight:600; margin-bottom:5px; color:var(--wcm-text); }
.wcm-auth-field input,
.wcm-auth-field select {
    width:100%; padding:10px 14px; border:1.5px solid var(--wcm-border);
    border-radius:var(--wcm-radius-sm); font-size:14px; color:var(--wcm-text);
    background:#fff; outline:none; transition:border-color var(--wcm-transition), box-shadow var(--wcm-transition);
    box-sizing:border-box; font-family:inherit;
}
.wcm-auth-field input:focus,
.wcm-auth-field select:focus { border-color:var(--wcm-accent); box-shadow:0 0 0 3px rgba(79,70,229,0.1); }
.wcm-auth-form-row.wcm-auth-2col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* Champ mot de passe avec bouton afficher/masquer */
.wcm-auth-pwd-wrap { position:relative; }
.wcm-auth-pwd-wrap input { padding-right:44px; }
.wcm-pwd-toggle {
    position:absolute; right:12px; top:50%; transform:translateY(-50%);
    background:none; border:none; cursor:pointer; font-size:16px;
    color:var(--wcm-muted); padding:0; line-height:1;
}
.wcm-pwd-toggle:hover { color:var(--wcm-text); }

/* Bouton submit auth */
.wcm-auth-submit {
    width:100%; padding:12px; background:var(--wcm-accent); color:#fff;
    border:none; border-radius:var(--wcm-radius-sm); font-size:15px;
    font-weight:700; cursor:pointer; margin-top:20px;
    transition:background var(--wcm-transition), transform var(--wcm-transition);
    font-family:inherit;
}
.wcm-auth-submit:hover  { background:#4338ca; transform:translateY(-1px); }
.wcm-auth-submit:active { transform:translateY(0); }

/* Consentements dans le popup auth */
.wcm-auth-consents { margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.wcm-auth-consent-label { display:flex; align-items:flex-start; gap:8px; cursor:pointer; }
.wcm-auth-consent-label input { width:16px; height:16px; margin-top:3px; flex-shrink:0; accent-color:var(--wcm-accent); }
.wcm-auth-consent-label span  { font-size:12px; color:var(--wcm-muted); line-height:1.5; }
.wcm-auth-consent-label a     { color:var(--wcm-accent); }
.wcm-auth-consent-required .wcm-required { color:var(--wcm-danger); }

/* Liens de navigation interne */
.wcm-auth-panel-links { margin-top:16px; text-align:center; }
.wcm-auth-link { font-size:13px; color:var(--wcm-accent); text-decoration:none; }
.wcm-auth-link:hover { text-decoration:underline; }

/* Formulaire WordPress natif dans popup auth */
#wcm-auth-login-form p        { margin-bottom:14px; }
#wcm-auth-login-form label    { display:block; font-size:13px; font-weight:600; margin-bottom:5px; color:var(--wcm-text); }
#wcm-auth-login-form input[type="text"],
#wcm-auth-login-form input[type="password"] {
    width:100%; padding:10px 14px; border:1.5px solid var(--wcm-border);
    border-radius:var(--wcm-radius-sm); font-size:14px; box-sizing:border-box;
    outline:none; transition:border-color var(--wcm-transition);
}
#wcm-auth-login-form input:focus { border-color:var(--wcm-accent); box-shadow:0 0 0 3px rgba(79,70,229,0.1); }
#wcm-auth-login-form input[type="submit"] {
    width:100%; padding:12px; background:var(--wcm-accent); color:#fff;
    border:none; border-radius:var(--wcm-radius-sm); font-size:15px;
    font-weight:700; cursor:pointer; margin-top:4px;
    transition:background var(--wcm-transition); font-family:inherit;
}
#wcm-auth-login-form input[type="submit"]:hover { background:#4338ca; }
#wcm-auth-login-form .login-remember { display:flex; align-items:center; gap:8px; }

/* ============================================================
   POPUP CANDIDATURE
   ============================================================ */
.wcm-popup-overlay {
    position:fixed; inset:0; background:rgba(17,24,39,0.7);
    z-index:99998; display:flex; align-items:center; justify-content:center;
    padding:16px; box-sizing:border-box;
    animation:wcmFadeIn 0.2s ease;
}
.wcm-popup {
    background:#fff; border-radius:16px; width:100%; max-width:600px;
    max-height:94vh; overflow-y:auto; box-shadow:var(--wcm-shadow-lg);
    animation:wcmSlideUp 0.25s ease;
}
.wcm-popup-header {
    display:flex; justify-content:space-between; align-items:flex-start;
    padding:20px 24px 16px; border-bottom:1px solid var(--wcm-border);
    position:sticky; top:0; background:#fff; z-index:1;
}
.wcm-popup-label  { font-size:11px; color:var(--wcm-muted); margin:0 0 3px; text-transform:uppercase; letter-spacing:0.5px; }
.wcm-popup-title  { font-size:17px; font-weight:700; color:var(--wcm-primary); margin:0; }
.wcm-popup-close  { background:var(--wcm-bg); border:none; width:32px; height:32px; border-radius:50%; font-size:16px; cursor:pointer; color:var(--wcm-muted); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wcm-popup-close:hover { background:var(--wcm-border); color:var(--wcm-text); }
.wcm-popup-body   { padding:24px; }

/* Popup non-connecte : propose auth */
.wcm-popup-auth-prompt {
    text-align:center; padding:16px 0 8px;
}
.wcm-popup-auth-prompt h4 { font-size:16px; color:var(--wcm-primary); margin:0 0 8px; }
.wcm-popup-auth-prompt p  { font-size:14px; color:var(--wcm-muted); margin-bottom:20px; }
.wcm-popup-auth-btns { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* Onglets popup auth dans candidature */
.wcm-popup-tabs           { display:flex; border-bottom:2px solid var(--wcm-border); margin-bottom:20px; }
.wcm-popup-tab            { flex:1; background:none; border:none; padding:10px; font-size:13px; font-weight:600; color:var(--wcm-muted); cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; }
.wcm-popup-tab--active    { color:var(--wcm-accent); border-bottom-color:var(--wcm-accent); }
.wcm-popup-panel          { }
.wcm-popup-lost-pwd       { text-align:center; margin-top:10px; font-size:13px; }
.wcm-popup-lost-pwd a     { color:var(--wcm-accent); text-decoration:none; }
.wcm-popup-intro          { font-size:14px; color:var(--wcm-muted); margin-bottom:16px; }

/* Formulaire popup candidature */
.wcm-popup-form           { }
.wcm-popup-form .wcm-form-2col { gap:12px; }

/* Select CV */
.wcm-cv-choice-select {
    width:100%; padding:10px 14px; border:1.5px solid var(--wcm-border);
    border-radius:var(--wcm-radius-sm); font-size:14px; margin-bottom:8px;
    background:#fff; outline:none;
}

/* ============================================================
   LISTE DES OFFRES
   ============================================================ */
.wcm-jobs-wrap { max-width:920px; margin:0 auto; }

.wcm-filters {
    background:var(--wcm-bg); border:1px solid var(--wcm-border);
    border-radius:var(--wcm-radius); padding:20px; margin-bottom:24px;
}
.wcm-filters form         { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; }
.wcm-filter-group         { display:flex; flex-direction:column; gap:4px; flex:1; min-width:140px; }
.wcm-filter-group label   { font-size:11px; font-weight:700; color:var(--wcm-muted); text-transform:uppercase; letter-spacing:0.5px; }
.wcm-filter-group input,
.wcm-filter-group select  { padding:9px 12px; border:1.5px solid var(--wcm-border); border-radius:var(--wcm-radius-sm); font-size:14px; background:#fff; outline:none; transition:border-color var(--wcm-transition); }
.wcm-filter-group input:focus,
.wcm-filter-group select:focus { border-color:var(--wcm-accent); }
.wcm-filter-submit        { display:flex; gap:8px; align-self:flex-end; }
.wcm-results-count        { color:var(--wcm-muted); font-size:13px; margin-bottom:16px; }

.wcm-jobs-grid            { display:flex; flex-direction:column; gap:12px; }
.wcm-job-card {
    background:#fff; border:1.5px solid var(--wcm-border);
    border-radius:var(--wcm-radius); padding:20px 22px;
    display:flex; justify-content:space-between; align-items:center;
    gap:18px; transition:box-shadow var(--wcm-transition), border-color var(--wcm-transition);
}
.wcm-job-card:hover        { box-shadow:var(--wcm-shadow); border-color:var(--wcm-accent); }
.wcm-job-card--active      { border-color:var(--wcm-accent); box-shadow:var(--wcm-shadow); }
.wcm-job-card-body         { flex:1; min-width:0; }
.wcm-job-card-title        { font-size:16px; font-weight:700; color:var(--wcm-primary); margin:0 0 8px; }
.wcm-job-meta              { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.wcm-job-meta-item         { font-size:12px; color:var(--wcm-muted); background:var(--wcm-bg); padding:3px 10px; border-radius:20px; border:1px solid var(--wcm-border); }
.wcm-job-excerpt           { font-size:13px; color:var(--wcm-muted); margin:6px 0 0; line-height:1.5; }
.wcm-job-card-actions      { display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.wcm-no-jobs               { text-align:center; padding:48px 24px; background:var(--wcm-bg); border-radius:var(--wcm-radius); border:1.5px dashed var(--wcm-border); }

.wcm-pagination            { display:flex; justify-content:center; gap:6px; margin-top:24px; flex-wrap:wrap; }
.wcm-pagination a,
.wcm-pagination span       { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:var(--wcm-radius-sm); border:1.5px solid var(--wcm-border); font-size:14px; color:var(--wcm-text); text-decoration:none; transition:all var(--wcm-transition); }
.wcm-pagination a:hover    { background:var(--wcm-accent); color:#fff; border-color:var(--wcm-accent); }
.wcm-pagination .current   { background:var(--wcm-accent); color:#fff; border-color:var(--wcm-accent); font-weight:700; }

/* Detail offre */
.wcm-back-btn              { margin-bottom:20px; display:inline-flex; }
.wcm-job-detail            { max-width:800px; }
.wcm-job-detail-header     { background:linear-gradient(135deg, var(--wcm-primary), #2d2d4e); border-radius:var(--wcm-radius); padding:28px; margin-bottom:20px; color:#fff; }
.wcm-job-detail-title      { font-size:26px; font-weight:800; margin:0 0 14px; }
.wcm-job-detail-header .wcm-job-meta-item { background:rgba(255,255,255,0.15); border-color:rgba(255,255,255,0.2); color:#fff; }
.wcm-btn-apply             { padding:12px 28px; font-size:15px; margin-top:20px; background:#fff; color:var(--wcm-primary) !important; border-color:#fff; }
.wcm-btn-apply:hover       { background:rgba(255,255,255,0.9); }
.wcm-job-detail-section    { background:#fff; border:1.5px solid var(--wcm-border); border-radius:var(--wcm-radius); padding:24px; margin-bottom:14px; }
.wcm-job-detail-section h3 { font-size:15px; font-weight:700; color:var(--wcm-primary); margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--wcm-border); }
.wcm-job-detail-content    { line-height:1.8; color:var(--wcm-text); font-size:14px; }
.wcm-job-detail-cta        { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }

/* ============================================================
   TABLEAU DE BORD CANDIDAT
   ============================================================ */
.wcm-dashboard             { max-width:920px; }
.wcm-dashboard-actions     { margin-bottom:24px; display:flex; gap:10px; flex-wrap:wrap; }
.wcm-dashboard-section-title { font-size:15px; font-weight:700; color:var(--wcm-primary); border-bottom:2px solid var(--wcm-accent); padding-bottom:8px; margin-bottom:16px; }
.wcm-dashboard-count       { color:var(--wcm-muted); font-size:12px; margin-top:10px; }
.wcm-empty-dashboard       { text-align:center; padding:48px 24px; background:var(--wcm-bg); border-radius:var(--wcm-radius); }
.wcm-table-wrap            { overflow-x:auto; border-radius:var(--wcm-radius); border:1.5px solid var(--wcm-border); }

.wcm-applications-table    { width:100%; border-collapse:collapse; background:#fff; }
.wcm-applications-table th { background:var(--wcm-bg); padding:11px 16px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--wcm-muted); text-align:left; border-bottom:1px solid var(--wcm-border); }
.wcm-applications-table td { padding:13px 16px; border-bottom:1px solid #f3f4f6; font-size:14px; vertical-align:middle; }
.wcm-applications-table tr:last-child td { border-bottom:none; }
.wcm-applications-table tr:hover td { background:#fafafa; }
.wcm-status-badge          { display:inline-block; padding:4px 12px; border-radius:20px; font-size:12px; font-weight:600; color:#fff; }

/* ============================================================
   PAGE PROFIL CANDIDAT
   ============================================================ */
.wcm-profile-wrap          { max-width:740px; }
.wcm-profile-section       { background:#fff; border:1.5px solid var(--wcm-border); border-radius:var(--wcm-radius); padding:24px; margin-bottom:16px; }
.wcm-profile-section-title { font-size:14px; font-weight:700; color:var(--wcm-primary); margin:0 0 18px; padding-bottom:10px; border-bottom:1px solid var(--wcm-border); text-transform:uppercase; letter-spacing:0.5px; }
.wcm-cv-current            { display:flex; align-items:center; justify-content:space-between; background:var(--wcm-bg); border:1.5px solid var(--wcm-border); border-radius:var(--wcm-radius-sm); padding:12px 16px; margin-bottom:10px; gap:10px; }
.wcm-cv-info               { display:flex; align-items:center; gap:10px; }
.wcm-cv-icon               { background:var(--wcm-accent); color:#fff; padding:4px 8px; border-radius:4px; font-size:11px; font-weight:700; }

/* ============================================================
   MENU UTILISATEUR
   ============================================================ */
.wcm-user-menu {
    display:flex; justify-content:space-between; align-items:center;
    background:var(--wcm-primary); border-radius:var(--wcm-radius);
    padding:14px 20px; margin-bottom:24px; flex-wrap:wrap; gap:12px;
}
.wcm-user-menu-left        { display:flex; align-items:center; gap:12px; }
.wcm-user-avatar           { width:40px; height:40px; background:rgba(255,255,255,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:#fff; flex-shrink:0; }
.wcm-user-menu-info        { display:flex; flex-direction:column; }
.wcm-user-menu-info strong { color:#fff; font-size:14px; line-height:1.3; }
.wcm-user-menu-info span   { color:rgba(255,255,255,0.6); font-size:12px; }
.wcm-user-nav              { display:flex; gap:2px; flex-wrap:wrap; }
.wcm-user-nav-link         { color:rgba(255,255,255,0.75) !important; text-decoration:none; padding:6px 12px; border-radius:var(--wcm-radius-sm); font-size:13px; font-weight:500; transition:all var(--wcm-transition); }
.wcm-user-nav-link:hover,
.wcm-user-nav-link--active { background:rgba(255,255,255,0.15); color:#fff !important; }
.wcm-user-nav-logout       { color:rgba(239,68,68,0.85) !important; }
.wcm-user-nav-logout:hover { background:rgba(239,68,68,0.2) !important; color:#fff !important; }

/* ============================================================
   PAGE CONNEXION (login-register.php) - Version minimaliste
   ============================================================ */
.wcm-auth-page-wrap        { text-align:center; padding:48px 24px; max-width:480px; margin:0 auto; }
.wcm-auth-page-wrap h2     { color:var(--wcm-primary); margin-bottom:12px; }
.wcm-auth-page-wrap p      { color:var(--wcm-muted); margin-bottom:24px; font-size:15px; }

/* ============================================================
   FORMULAIRE CANDIDATURE SPONTANEE
   ============================================================ */
.wcm-spont-prompt { text-align:center; padding:40px 24px; background:var(--wcm-bg); border-radius:var(--wcm-radius); border:1.5px dashed var(--wcm-border); margin-bottom:24px; }
.wcm-spont-prompt h3 { font-size:18px; color:var(--wcm-primary); margin:0 0 10px; }
.wcm-spont-prompt p  { color:var(--wcm-muted); font-size:14px; margin:0 0 20px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media ( max-width: 768px ) {
    .wcm-job-card            { flex-direction:column; align-items:flex-start; }
    .wcm-job-card-actions    { width:100%; flex-direction:row; }
    .wcm-job-card-actions .wcm-btn { flex:1; }
    .wcm-filters form        { flex-direction:column; }
    .wcm-filter-group        { width:100%; min-width:unset; }
    .wcm-form-2col           { grid-template-columns:1fr; }
    .wcm-auth-form-row.wcm-auth-2col { grid-template-columns:1fr; }
    .wcm-auth-modal-body     { padding:20px; }
    .wcm-auth-modal-header   { padding:24px 20px 16px; }
    .wcm-auth-modal-tagline  { font-size:18px; }
    .wcm-job-detail-title    { font-size:20px; }
    .wcm-user-menu           { flex-direction:column; align-items:flex-start; }
    .wcm-user-nav            { width:100%; }
    .wcm-popup-auth-btns     { flex-direction:column; }
    .wcm-popup-auth-btns .wcm-btn { width:100%; }
    .wcm-job-detail-cta      { flex-direction:column; }
    .wcm-job-detail-cta .wcm-btn { text-align:center; }
}

@media ( max-width: 480px ) {
    .wcm-auth-modal          { border-radius:12px 12px 0 0; position:fixed; bottom:0; left:0; right:0; max-width:100%; max-height:96vh; }
    .wcm-auth-overlay        { align-items:flex-end; padding:0; }
    .wcm-popup               { border-radius:12px 12px 0 0; max-width:100%; position:fixed; bottom:0; left:0; right:0; }
    .wcm-popup-overlay       { align-items:flex-end; padding:0; }
}

/* ============================================================
   POSTES VISES (pills cliquables)
   ============================================================ */
.wcm-positions-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}
.wcm-position-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border: 1.5px solid var(--wcm-border);
    border-radius: 24px;
    cursor: pointer;
    transition: all 0.18s;
    user-select: none;
    background: #fff;
}
.wcm-position-pill input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.wcm-position-pill-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--wcm-text);
    pointer-events: none;
}
.wcm-position-pill:hover {
    border-color: var(--wcm-accent);
    color: var(--wcm-accent);
    background: #f5f3ff;
}
.wcm-position-pill--selected {
    background: var(--wcm-accent);
    border-color: var(--wcm-accent);
}
.wcm-position-pill--selected .wcm-position-pill-label {
    color: #fff;
}

/* ============================================================
   CREATION DE COMPTE A LA VOLEE
   ============================================================ */
.wcm-account-creation-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-radius: var(--wcm-radius-sm);
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 13px;
    color: #3730a3;
    line-height: 1.5;
}
.wcm-note-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.wcm-account-creation-note p { margin: 0; }

.wcm-popup-password-section { margin-top: 8px; }
.wcm-section-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0 14px;
}
.wcm-section-divider::before,
.wcm-section-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--wcm-border);
}
.wcm-section-divider span {
    font-size: 12px;
    font-weight: 700;
    color: var(--wcm-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}
.wcm-form-hint {
    font-size: 13px;
    color: var(--wcm-muted);
    margin-bottom: 14px;
    line-height: 1.5;
}

/* Email existe : message dans le popup candidature */
.wcm-email-exists-notice {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff7ed;
    border: 1.5px solid #fed7aa;
    border-radius: var(--wcm-radius-sm);
    padding: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.wcm-email-exists-icon { font-size: 24px; flex-shrink: 0; }
.wcm-email-exists-notice div { flex: 1; }
.wcm-email-exists-notice strong { font-size: 14px; color: #9a3412; display: block; margin-bottom: 4px; }
.wcm-email-exists-notice p { font-size: 13px; color: #c2410c; margin: 0; }

/* Formulaire section */
.wcm-form-section {
    background: #fff;
    border: 1.5px solid var(--wcm-border);
    border-radius: var(--wcm-radius);
    padding: 22px;
    margin-bottom: 16px;
}
.wcm-form-section-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--wcm-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--wcm-border);
}

/* Hero spontanee */
.wcm-spont-hero {
    margin-bottom: 28px;
}
.wcm-spont-hero h2 { margin: 0 0 8px; }
.wcm-spont-hero p  { color: var(--wcm-muted); font-size: 15px; margin: 0; }

/* Login error dans popup auth */
#wcm-auth-login-error { margin-bottom: 14px; }

/* ============================================================
   PAGE CONNEXION (login-register.php) - Style professionnel
   ============================================================ */
.wcm-auth-page-wrap {
    max-width: 440px;
    margin: 40px auto;
    text-align: center;
    padding: 0 20px;
}
.wcm-auth-page-icon {
    font-size: 52px;
    margin-bottom: 16px;
    display: block;
}
.wcm-auth-page-wrap h2 {
    font-size: 26px;
    font-weight: 800;
    color: var(--wcm-primary);
    margin: 0 0 12px;
}
.wcm-auth-page-desc {
    color: var(--wcm-muted);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 24px;
}
.wcm-btn-lg {
    padding: 13px 32px;
    font-size: 16px;
    width: 100%;
    justify-content: center;
}
.wcm-auth-page-separator {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 28px 0;
    color: var(--wcm-muted);
    font-size: 13px;
}
.wcm-auth-page-separator::before,
.wcm-auth-page-separator::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--wcm-border);
}
.wcm-auth-page-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.wcm-auth-page-links .wcm-btn {
    justify-content: center;
}

/* Auth popup : supprimer les onglets (il n'y en a plus) */
.wcm-auth-modal-tabs { display: none !important; }

/* Panneau login dans popup : style soigne */
#wcm-auth-panel-login,
#wcm-auth-panel-reset,
#wcm-auth-panel-newpwd { padding-top: 4px; }
