:root{
  --kp-primary:#006b2c;
  --kp-primary-dark:#00481d;
  --kp-cta:#fdc425;
  --kp-text:#0b1c30;
  --kp-text-muted:#5a6b6a;
  --kp-border:#e5eeff;
  --kp-surface:#f8f9ff;
  --kp-surface-card:#ffffff;
  --kp-radius:14px;
  --kp-header-height:72px;
}

.kp-dash-shell{ font-family:'Inter', sans-serif; }
.kp-dash-shell *{ box-sizing:border-box; }

/* Sidebar */
.kp-dash-sidebar{
  position:fixed; top:0; left:0; height:100vh; width:280px;
  background:var(--kp-surface); border-right:1px solid var(--kp-border);
  z-index:1000; display:flex; flex-direction:column; overflow-y:auto;
  transition:transform .3s ease;
}
.kp-dash-sidebar-close{
  display:none; position:absolute; top:16px; right:16px;
  background:none; border:0; font-size:20px; color:var(--kp-text-muted); cursor:pointer;
  width:36px; height:36px; border-radius:50%;
  align-items:center; justify-content:center;
}
.kp-dash-sidebar-close:hover{ background:var(--kp-border); color:var(--kp-text); }
.kp-dash-logo{ padding:24px; display:flex; align-items:center; gap:12px; }
.kp-dash-logo a{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.kp-dash-logo img{ height:36px; width:auto; }
.kp-dash-logo span{ font-weight:700; font-size:19px; color:var(--kp-primary); }

/* [CORRECTION] Profil : tailles agrandies */
.kp-dash-profile{ padding:0 24px 24px; display:flex; flex-direction:column; align-items:center; text-align:center; border-bottom:1px solid var(--kp-border); }
.kp-dash-avatar img{ width:80px; height:80px; border-radius:50%; object-fit:cover; border:2px solid var(--kp-primary); }
.kp-dash-profile-info h3{ margin:12px 0 4px; font-size:18px; } /* était 16px */
.kp-dash-profile-info h3 a{ color:var(--kp-text); text-decoration:none; }
.kp-dash-address, .kp-dash-member-since{ font-size:13px; color:var(--kp-text-muted); line-height:1.5; } /* était 12px */

/* [CORRECTION] Nav : textes et icônes agrandis */
.kp-dash-nav{ padding:16px; flex:1; }
.kp-dash-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.kp-dash-nav li a{
  display:flex; align-items:center; gap:14px; padding:13px 16px; /* était 12px / 12px */
  border-radius:10px; color:var(--kp-text-muted); text-decoration:none;
  font-size:15px; font-weight:500; transition:background .2s ease, color .2s ease; /* était 14px */
}
.kp-dash-nav li a:hover{ background:var(--kp-border); color:var(--kp-text); }
.kp-dash-nav li a i{ font-size:18px; width:22px; text-align:center; } /* était 16px / 20px */
.kp-dash-nav li.current-menu-item a,
.kp-dash-nav li.current_page_item a{ background:var(--kp-primary); color:#fff; }

/* Header */
.kp-dash-header{
  position:fixed; top:0; left:280px; right:0; height:var(--kp-header-height); z-index:900;
  background:rgba(248,249,255,.92); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--kp-border);
  display:flex; align-items:center; justify-content:flex-end;
  padding:0 24px;
}
.kp-dash-toggle{
  position:absolute; left:24px; top:50%; transform:translateY(-50%);
  background:none; border:0; font-size:22px; color:var(--kp-text); cursor:pointer; /* était 20px + muted */
  padding:8px; width:40px; height:40px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s ease, color .2s ease;
}
.kp-dash-toggle:hover{ background:var(--kp-border); color:var(--kp-text); }

.kp-dash-header-right{ display:flex; align-items:center; gap:20px; }

/* [CORRECTION] Role buttons : taille plus lisible */
.kp-dash-role-switch{ display:flex; background:var(--kp-border); border-radius:999px; padding:4px; gap:4px; }
.kp-role-btn{
  padding:7px 18px; border-radius:999px; font-size:12px; font-weight:700; /* était 6px 16px / 11px */
  letter-spacing:.05em; text-decoration:none; color:var(--kp-text-muted);
  transition:background .2s ease, color .2s ease;
}
.kp-role-btn.kp-role-active{ background:var(--kp-primary); color:#fff; }
.kp-role-btn:not(.kp-role-active):hover{ background:#dce9ff; }

.kp-dash-icon-btn{
  background:none; border:0; font-size:18px; color:var(--kp-text-muted); /* était 16px */
  cursor:pointer; padding:10px; width:40px; height:40px;
  border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s ease, color .2s ease;
}
.kp-dash-icon-btn:hover{ background:var(--kp-border); color:var(--kp-text); }

/* [CORRECTION] User : nom plus lisible */
.kp-dash-user{ display:flex; align-items:center; gap:10px; padding-left:16px; border-left:1px solid var(--kp-border); }
.kp-dash-user-name{ font-size:15px; font-weight:600; } /* était 14px */
.kp-dash-user img{ width:40px; height:40px; border-radius:50%; object-fit:cover; border:2px solid var(--kp-primary); }

/* Main content */
.kp-dashboard-body #main{
  margin-left:280px;
  padding:calc(var(--kp-header-height) + 24px) 24px 24px;
  background:var(--kp-surface); min-height:100vh;
}

/* Colonnes Elementor (logique inchangée) */
body.kp-dashboard-body .elementor-container{
  display:flex !important;
  flex-wrap:nowrap !important;
}
body.kp-dashboard-body .elementor-container > .elementor-column:first-child{
  width:0 !important;
  max-width:0 !important;
  flex-basis:0 !important;
  padding:0 !important;
  overflow:visible;
}
body.kp-dashboard-body .elementor-container > .elementor-column:nth-child(2){
  width:100% !important;
  max-width:100% !important;
  flex-basis:100% !important;
}

@media (max-width: 1024px){
  body.kp-dashboard-body .elementor-container{
    flex-direction:row !important;
  }
}

/* Overlay mobile */
.kp-dash-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:990; display:none; }
.kp-dash-overlay.active{ display:block; }

/* [CORRECTION] Greeting card */
.kp-greet-card{ margin-bottom:24px; }
.kp-greet-title{ font-size:30px; font-weight:700; color:var(--kp-text); margin:0 0 8px; } /* était 28px */
.kp-greet-title a{ color:inherit; text-decoration:none; }
.kp-greet-subtitle{ color:var(--kp-text-muted); font-size:15px; max-width:600px; margin:0; line-height:1.5; } /* était 14px */

/* [CORRECTION] Stat cards : icônes et textes agrandis */
.kp-stats-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;
}
.kp-stat-card{
  background:var(--kp-surface-card); border:1px solid var(--kp-border); border-radius:var(--kp-radius);
  padding:22px; display:flex; flex-direction:column; gap:12px; /* était 20px / 10px */
  transition:transform .2s ease, box-shadow .2s ease;
}
.kp-stat-card:hover{ transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.06); }
.kp-stat-icon{
  width:48px; height:48px; border-radius:12px; /* était 40px / 10px */
  display:flex; align-items:center; justify-content:center;
  font-size:22px; color:#fff; /* était 18px */
}
.kp-stat-label{ font-size:14px; color:var(--kp-text-muted); line-height:1.4; } /* était 13px */
.kp-stat-value{ font-size:32px; font-weight:700; color:var(--kp-text); line-height:1.1; } /* était 28px */

.kp-stat-total .kp-stat-icon{ background:var(--kp-primary); }
.kp-stat-views .kp-stat-icon{ background:#f59e0b; }
.kp-stat-reviews .kp-stat-icon{ background:#60a5fa; }
.kp-stat-bookmarks .kp-stat-icon{ background:#60a5fa; }
.kp-stat-published .kp-stat-icon{ background:var(--kp-primary); }
.kp-stat-pending .kp-stat-icon{ background:#f59e0b; }
.kp-stat-unpaid .kp-stat-icon{ background:#f87171; }
.kp-stat-expired .kp-stat-icon{ background:#60a5fa; }

/* Mobile */
@media (max-width: 1024px){
  .kp-dash-sidebar{ transform:translateX(-100%); }
  .kp-dash-sidebar.active{ transform:translateX(0); }
  .kp-dash-sidebar-close{ display:flex; }
  .kp-dash-header{ left:0; justify-content:space-between; padding:0 16px; }
  .kp-dash-toggle{ left:16px; }
  .kp-dashboard-body #main{ margin-left:0; padding:calc(var(--kp-header-height) + 16px) 16px 16px; }
  .kp-dash-role-switch{ display:none; }
  .kp-dash-user-name{ display:none; }
  .kp-stats-grid{ grid-template-columns:1fr; }
  .kp-greet-title{ font-size:24px; }
  .kp-stat-value{ font-size:28px; }
}
@media (min-width: 1025px) and (max-width: 1400px){
  .kp-stats-grid{ grid-template-columns:repeat(2, 1fr); }
}

/* ==== Dark mode ==== */
body[data-kp-theme="dark"]{
  --kp-surface:#0f172a;
  --kp-surface-card:#1e293b;
  --kp-border:#334155;
  --kp-text:#f1f5f9;
  --kp-text-muted:#94a3b8;
}
body[data-kp-theme="dark"] .kp-dash-sidebar,
body[data-kp-theme="dark"] .kp-dash-header{ background:var(--kp-surface); }
body[data-kp-theme="dark"] .kp-dash-header{ background:rgba(15,23,42,.92); }

/* [CORRECTION CRITIQUE] Toggle en dark mode — visibilité garantie */
body[data-kp-theme="dark"] .kp-dash-toggle{
  color:#f1f5f9;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
body[data-kp-theme="dark"] .kp-dash-toggle:hover{
  background:rgba(255,255,255,.12);
  color:#fff;
}
body[data-kp-theme="dark"] .kp-dash-sidebar-close{
  color:#f1f5f9;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
body[data-kp-theme="dark"] .kp-dash-sidebar-close:hover{
  background:rgba(255,255,255,.12);
  color:#fff;
}
body[data-kp-theme="dark"] .kp-dash-icon-btn{ color:#cbd5e1; }
body[data-kp-theme="dark"] .kp-dash-icon-btn:hover{ background:rgba(255,255,255,.08); color:#fff; }
body[data-kp-theme="dark"] .kp-role-btn:not(.kp-role-active):hover{ background:rgba(255,255,255,.1); color:#fff; }
body[data-kp-theme="dark"] .kp-dash-nav li a:hover{ background:rgba(255,255,255,.06); color:#f1f5f9; }

/* ==== CTA Card ==== */
.kp-cta-card{
  grid-column:1 / -1;
  margin-top:8px;
  background:linear-gradient(135deg, var(--kp-primary) 0%, #4caf50 100%);
  border-radius:var(--kp-radius);
  padding:32px;
  color:#fff;
  text-align:center;
}
.kp-cta-card h3{ margin:0 0 8px; font-size:22px; font-weight:700; } /* était 20px */
.kp-cta-card p{ margin:0 0 20px; opacity:.9; font-size:15px; max-width:480px; margin-left:auto; margin-right:auto; } /* était 14px */
.kp-cta-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--kp-primary);
  padding:14px 28px; border-radius:999px;
  font-weight:700; font-size:14px; letter-spacing:.03em; /* était 13px */
  text-decoration:none; text-transform:uppercase;
  transition:transform .2s ease, box-shadow .2s ease;
}
.kp-cta-btn:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.15); color:var(--kp-primary); }

/* Hamburger : mobile uniquement */
@media (min-width: 1025px){
  .kp-dash-toggle{ display:none; }
}

/* Anti-débordement */
body.kp-dashboard-body{ overflow-x:hidden; }
.kp-dashboard-body .elementor-container{
  margin:0 !important; max-width:100% !important; overflow-x:hidden;
}

/* =========================================================== */
/* ==== [NOUVEAU] Formulaire de soumission responsive ==== */
/* ==== Compatible Listdo + WP Job Manager ==== */
/* =========================================================== */

/* Conteneurs génériques : on force la pleine largeur sur mobile */
@media (max-width: 1024px){
  .submit-job-form,
  .job-manager-form,
  form.job-manager-form,
  .listdo-form,
  .listdo-submit-form,
  .elementor-widget-wp-job-manager-submit-form,
  .elementor-widget-wp-job-manager-submit-form .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* On retire les paddings excessifs des sections */
  .submit-job-form fieldset,
  .job-manager-form fieldset,
  .job-manager-form .form-group,
  .submit-job-form .form-group,
  .submit-job-form .job-manager-input-wrapper,
  .listdo-form .form-group{
    padding-left:12px !important;
    padding-right:12px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* Champs en pleine largeur sur mobile */
  .submit-job-form input[type="text"],
  .submit-job-form input[type="email"],
  .submit-job-form input[type="url"],
  .submit-job-form input[type="number"],
  .submit-job-form input[type="tel"],
  .submit-job-form select,
  .submit-job-form textarea,
  .job-manager-form input[type="text"],
  .job-manager-form input[type="email"],
  .job-manager-form select,
  .job-manager-form textarea{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Cartes / steps du formulaire */
  .submit-job-form > fieldset,
  .job-manager-form > fieldset{
    border-radius:var(--kp-radius) !important;
    padding:20px 16px !important;
    margin:0 0 16px 0 !important;
    background:var(--kp-surface-card) !important;
    border:1px solid var(--kp-border) !important;
  }
}

/* Desktop : on limite la largeur pour éviter que ce soit trop étiré */
@media (min-width: 1025px){
  .submit-job-form,
  .job-manager-form{
    max-width:960px;
    margin-left:auto;
    margin-right:auto;
  }
}
/* ===================================================== */
/* PATCH — Dark mode désactivé sur mobile (≤ 1024px)     */
/* ===================================================== */
@media (max-width: 1024px){

  /* 1) On masque le bouton dark mode → plus de chevauchement avec le hamburger */
  #kp-dark-mode-toggle{ display:none !important; }

  /* 2) Sécurité : si une préférence "dark" desktop existe dans localStorage,
        on force quand même les couleurs claires sur mobile */
  body[data-kp-theme="dark"]{
    --kp-surface:#f8f9ff;
    --kp-surface-card:#ffffff;
    --kp-border:#e5eeff;
    --kp-text:#0b1c30;
    --kp-text-muted:#5a6b6a;
  }
  body[data-kp-theme="dark"] .kp-dash-sidebar,
  body[data-kp-theme="dark"] .kp-dash-header{ background:var(--kp-surface); }
  body[data-kp-theme="dark"] .kp-dash-toggle{
    color:var(--kp-text) !important;
    background:none !important;
    border:0 !important;
  }
}

/* ===================================================== */
/* PATCH — Textes et icônes agrandis (lisibilité)        */
/* ===================================================== */

/* Carte de bienvenue */
.kp-greet-title{ font-size:32px; }
.kp-greet-subtitle{ font-size:16px; line-height:1.6; }

/* Cartes statistiques */
.kp-stat-label{ font-size:15px; }
.kp-stat-value{ font-size:34px; }

/* Menu latéral */
.kp-dash-nav li a{ font-size:16px; }
.kp-dash-nav li a i{ font-size:20px; width:24px; }
.kp-dash-profile-info h3{ font-size:19px; }
.kp-dash-address, .kp-dash-member-since{ font-size:14px; }
.kp-dash-logo span{ font-size:20px; }

/* Carte CTA */
.kp-cta-card h3{ font-size:24px; }
.kp-cta-card p{ font-size:16px; }
.kp-cta-btn{ font-size:15px; padding:15px 30px; }

/* Header */
.kp-dash-user-name{ font-size:16px; }
.kp-role-btn{ font-size:13px; }
.kp-dash-icon-btn{ font-size:19px; }

/* Ajustements mobiles */
@media (max-width: 1024px){
  .kp-greet-title{ font-size:26px; }
  .kp-greet-subtitle{ font-size:15px; }
  .kp-stat-value{ font-size:30px; }
}
/* ==== Fix mobile v2 : hamburger à gauche, avatar fixé à droite ==== */
@media (max-width: 1024px){
  .kp-dash-header{
    justify-content:flex-end !important;
  }
  .kp-dash-header-right{
    position:absolute !important;
    top:50% !important;
    right:16px !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }
}
/* Modifier la couleur du bouton de changement de mot de passe */
.change-password-form button[name="change_password_form"] {
    background-color: #057a38 !important; /* Vert qui se rapproche de celui de votre menu de gauche */
    color: #ffffff !important;            /* Texte en blanc */
    border-color: #057a38 !important;     /* Bordure verte */
    transition: all 0.3s ease;
}

/* Effet au survol de la souris (un peu plus foncé) */
.change-password-form button[name="change_password_form"]:hover {
    background-color: #045d2b !important;
    border-color: #045d2b !important;
    color: #ffffff !important;
}
.change-profile-form button[name="change_profile_form"]{
  background: var(--kp-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px;
}
.change-profile-form button[name="change_profile_form"]:hover{
  background: var(--kp-primary-dark) !important;
}