/* ==========================================================================
   Kouma Recrutement — styles front + admin
   Palette : noir / blanc / neutre, avec un accent "zeste" chaud (--kr-accent).
   Modifiez uniquement les variables ci-dessous pour recolorer le plugin.
   ========================================================================== */
:root{
  --kr-text:#1a1a1a;
  --kr-muted:#666666;
  --kr-line:#000000;
  --kr-border:#dddddd;
  --kr-accent:#e2932f;   /* couleur "zeste" Kouma */
  --kr-bg-soft:#f7f6f4;
}

/* ---------- Icônes ---------- */
.kr-icon{ vertical-align:-3px; flex-shrink:0; }

/* ---------- Liste des offres ---------- */
.kr-offres{ display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); font-family:'Poppins','Segoe UI',Arial,sans-serif; }
.kr-offres-empty{ color:var(--kr-muted); grid-column:1/-1; }
.kr-offre-card{ border:1px solid var(--kr-border); background:#fff; display:flex; flex-direction:column; overflow:hidden; }
.kr-offre-cover{ position:relative; width:100%; aspect-ratio:16/9; background:var(--kr-bg-soft); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.kr-offre-cover-img{ width:100%; height:100%; object-fit:cover; display:block; margin:0; }
.kr-offre-cover-fallback{ color:var(--kr-accent); opacity:.7; }
.kr-offre-cover-fallback .kr-icon{ width:32px; height:32px; }
.kr-offre-body{ padding:1.5rem; display:flex; flex-direction:column; gap:.75rem; flex:1; }
.kr-offre-title{ font-size:1.15rem; font-weight:700; margin:0; color:var(--kr-text); }
.kr-offre-meta{ display:flex; flex-wrap:wrap; gap:.9rem; font-size:.85rem; color:var(--kr-muted); }
.kr-offre-meta span{ display:inline-flex; align-items:center; gap:.35rem; }
.kr-offre-meta .kr-icon{ color:var(--kr-accent); }
.kr-offre-excerpt{ font-size:.92rem; color:var(--kr-text); margin:0; flex:1; }
.kr-offre-body .kr-btn--postuler{ margin-top:auto; align-self:flex-start; }

/* ---------- Boutons ---------- */
.kr-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:none; cursor:pointer; text-transform:uppercase; font-weight:700;
  font-size:.8rem; letter-spacing:.04em; padding:.75rem 1.6rem; border-radius:2px;
  transition:background .2s ease;
}
.kr-btn--postuler{ background:var(--kr-text); color:#fff; align-self:flex-start; }
.kr-btn--postuler:hover{ background:var(--kr-accent); }
.kr-btn--postuler .kr-icon{ transition:transform .15s ease; }
.kr-btn--postuler:hover .kr-icon{ transform:translateX(3px); }
.kr-btn--submit{ background:#6f6f6f; color:#fff; }
.kr-btn--submit:hover{ background:var(--kr-accent); }

/* ---------- Formulaire de candidature ---------- */
.kr-wrap{ max-width:900px; margin:0 auto; padding:2rem 0; font-family:'Poppins','Segoe UI',Arial,sans-serif; color:var(--kr-text); scroll-margin-top:2rem; }
.kr-title{ font-weight:700; font-size:1.5rem; margin:0 0 2rem; }

.kr-notice{ display:flex; align-items:flex-start; gap:.6rem; padding:1rem 1.2rem; margin-bottom:1.6rem; border:1px solid var(--kr-border); font-size:.92rem; }
.kr-notice--success{ border-color:var(--kr-accent); color:var(--kr-text); }
.kr-notice--success .kr-icon{ color:var(--kr-accent); }
.kr-notice--error{ border-color:#b3261e; color:#7a1a15; }
.kr-notice--error .kr-icon{ color:#b3261e; }

.kr-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2rem 3rem; margin-bottom:2rem; }
.kr-full{ margin-bottom:2rem; }
.kr-field label{ display:block; font-size:.95rem; color:#333; margin-bottom:.5rem; }
.kr-field input[type=text],
.kr-field input[type=email],
.kr-field input[type=tel],
.kr-field input[type=url],
.kr-field select,
.kr-field textarea{
  width:100%; border:none; border-bottom:1px solid var(--kr-line); background:transparent;
  padding:.4rem 0; font-size:1rem; font-family:inherit; color:var(--kr-text); border-radius:0; outline:none;
}
.kr-field select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23e2932f' d='M7 10l5 5 5-5z'/></svg>");
  background-repeat:no-repeat; background-position:right center; background-size:18px;
}
.kr-field textarea{ border:1px solid var(--kr-border); border-bottom:1px solid var(--kr-line); padding:.6rem; min-height:110px; resize:vertical; }
.kr-offre-selected{ display:flex; align-items:center; gap:.5rem; margin:0; padding:.6rem 0; border-bottom:1px solid var(--kr-border); }
.kr-offre-selected .kr-icon{ color:var(--kr-accent); }
.kr-field input:focus, .kr-field select:focus, .kr-field textarea:focus{ border-bottom-color:var(--kr-accent); }

.kr-file{ border:1px dashed #bbb; padding:.9rem; font-size:.9rem; color:#555; display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.kr-file .kr-icon{ color:var(--kr-accent); }
.kr-hint{ display:block; width:100%; font-size:.8rem; color:#888; margin-top:.2rem; }

.kr-bottom-row{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:1.5rem; margin-top:2.2rem; }
.kr-consent{ display:flex; align-items:flex-start; gap:.6rem; font-size:.9rem; color:#333; max-width:600px; }
.kr-consent input{ margin-top:.25rem; }

@media (max-width:640px){
  .kr-grid{ grid-template-columns:1fr; }
  .kr-bottom-row{ flex-direction:column; align-items:stretch; }
  .kr-btn--submit{ width:100%; }
}

/* ---------- Modale de confirmation ---------- */
.kr-modal{ position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:1rem; }
.kr-modal-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.kr-modal-box{ position:relative; background:#fff; max-width:420px; width:100%; padding:2.5rem 2rem 2rem; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,.25); }
.kr-modal-icon{ color:var(--kr-accent); display:flex; justify-content:center; margin-bottom:1rem; }
.kr-modal-icon .kr-icon{ width:40px; height:40px; }
.kr-modal-box h3{ margin:0 0 .75rem; font-size:1.25rem; color:var(--kr-text); }
.kr-modal-box p{ margin:0 0 1.5rem; color:#444; font-size:.95rem; line-height:1.5; }
.kr-modal-close{ position:absolute; top:.75rem; right:.9rem; background:none; border:none; font-size:1.5rem; line-height:1; color:#999; cursor:pointer; padding:.25rem; }
.kr-modal-close:hover{ color:var(--kr-text); }
.kr-modal[hidden]{ display:none; }

/* ---------- Admin ---------- */
.kr-badge{ display:inline-block; padding:.15rem .6rem; border-radius:2px; font-size:.78rem; border:1px solid var(--kr-border); }
.kr-badge--ouvert{ border-color:var(--kr-accent); color:var(--kr-accent); }
.kr-badge--ferme{ color:var(--kr-muted); }
.kr-badge--statut-nouveau{ border-color:var(--kr-accent); color:var(--kr-accent); }
.kr-badge--statut-vu{ color:#555; }
.kr-badge--statut-entretien{ border-color:#2563a8; color:#2563a8; }
.kr-badge--statut-retenu{ border-color:#2f7d4f; color:#2f7d4f; }
.kr-badge--statut-refuse{ border-color:#b3261e; color:#b3261e; }

.kr-admin-table th{ width:180px; text-align:left; background:var(--kr-bg-soft); }
.kr-settings-wrap h1{ display:flex; align-items:center; gap:.5rem; }
.kr-settings-wrap h1 .kr-icon{ width:22px; height:22px; color:var(--kr-accent); }
