/* ============================================================================
   ESPACE PARTENAIRE — CVthèque
   Chargé en complément de admin.css (réutilise .carte-blanche, .bouton, etc.).
   ============================================================================ */

.bouton--accent { background: #2f8005; }
.bouton--accent:hover { background: #256603; }

/* En-tête */
.partenaire__entete {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: .75rem 1.25rem;
  background: var(--couleur-secondaire, #1b3609); color: #fff;
}
.partenaire__logo { display: flex; align-items: center; gap: .6rem; color: #fff; text-decoration: none; font-weight: 700; }
.partenaire__session { display: flex; align-items: center; gap: 1rem; font-size: .9rem; }
.partenaire__session #partenaire-orga { opacity: .9; }
.partenaire__contenu { max-width: 1100px; margin: 1.5rem auto; padding: 0 1rem; }

/* Connexion */
.partenaire__connexion { max-width: 440px; margin: 3rem auto; }
.partenaire__connexion label { display: block; font-weight: 600; margin: .8rem 0 .3rem; }
.partenaire__connexion input {
  width: 100%; padding: .55rem .75rem; border: 1px solid var(--filet, #ddd); border-radius: 6px;
}
.partenaire__connexion .bouton { margin-top: 1rem; }

/* Bandeau d'abonnement */
.partenaire__abonnement { padding: .75rem 1rem; border-radius: 8px; margin-bottom: 1.25rem; font-size: .95rem; }
.partenaire__abonnement--ok { background: #e7f4ec; border: 1px solid #2f8005; color: #0b5c2e; }
.partenaire__abonnement--ko { background: #fdf3e2; border: 1px solid #d89a2e; color: #92600e; }

/* Onglets */
.partenaire__onglets { display: flex; gap: .5rem; margin-bottom: 1.25rem; border-bottom: 2px solid var(--filet, #e2ded7); }
.partenaire__onglets .onglet {
  border: 0; background: transparent; cursor: pointer;
  padding: .6rem 1rem; font-weight: 600; color: var(--encre-douce, #57534e);
  border-bottom: 3px solid transparent; margin-bottom: -2px;
}
.partenaire__onglets .onglet.actif { color: var(--encre, #17110c); border-bottom-color: #2f8005; }

/* Barre de filtres (autonome, indépendante du CSS public) */
.offres-filtres { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1rem; }
.offres-filtres__champ { flex: 1 1 150px; }
.offres-filtres__champ--large { flex: 2 1 240px; }
.offres-filtres input, .offres-filtres select {
  width: 100%; padding: .5rem .7rem; border: 1px solid var(--filet, #ddd); border-radius: 6px; background: #fff;
}
.offres-resume { color: var(--encre-douce, #57534e); font-size: .92rem; margin: 0 0 1rem; }
.liste-vide { color: var(--encre-douce, #57534e); padding: 1.5rem 0; }

/* Grille + cartes CV */
.grille-offres { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 620px)  { .grille-offres { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px)  { .grille-offres { grid-template-columns: repeat(3, 1fr); } }

.carte-cv {
  border: 1px solid var(--filet, #e2ded7); border-radius: 10px; background: #fff; padding: 1rem;
  display: flex; flex-direction: column;
}
.carte-cv__ref { font-size: .72rem; font-weight: 700; letter-spacing: .04em; color: var(--encre-douce, #57534e); }
.carte-cv__titre { font-size: 1.05rem; margin: .2rem 0; }
.carte-cv__secteur {
  display: inline-block; align-self: flex-start; font-size: .72rem; font-weight: 700;
  background: #fbeecb; color: #7f5005; padding: .1rem .5rem; border-radius: 999px; margin-bottom: .4rem;
}
.carte-cv__meta { font-size: .82rem; color: var(--encre-douce, #57534e); margin: 0 0 .5rem; }
.carte-cv__competences { font-size: .88rem; margin: 0 0 .35rem; }
.carte-cv__resume { font-size: .85rem; color: var(--encre-douce, #57534e); margin: 0 0 .5rem; }
.carte-cv__action { margin-top: auto; }

.carte-cv__contact {
  margin-top: .5rem; padding: .75rem; border-radius: 8px;
  background: #f2f9f4; border: 1px solid #cfe8d6; font-size: .9rem;
}
.carte-cv__contact p { margin: .2rem 0; }
