/**
 * @file
 * Styles du module KANYAKA.
 *
 * Volontairement sobre et sans dépendance : le thème du site doit pouvoir
 * reprendre la main. Les lots suivants ajouteront les feuilles propres au
 * bulletin de vote, aux statistiques et à la galerie.
 */

.kanyaka-edition,
.kanyaka-editions {
  max-width: 48rem;
  margin: 0 auto;
}

.kanyaka-edition__entete {
  margin-bottom: 2rem;
}

.kanyaka-edition__titre {
  margin: 0 0 0.25rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kanyaka-edition__phase {
  display: inline-block;
  margin: 0;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  background: #e9ecef;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* La phase en cours se lit d'un coup d'œil : vert quand une porte est
   ouverte au public, gris quand elle est fermée.
   Les identifiants de phase contiennent des tirets bas, que le filtre Twig
   clean_class transforme en tirets : d'où « nominations-ouvertes » ici. */
.kanyaka-edition--nominations-ouvertes .kanyaka-edition__phase,
.kanyaka-edition--vote-ouvert .kanyaka-edition__phase {
  background: #d3f3dd;
  color: #11593a;
}

.kanyaka-edition--cloturee .kanyaka-edition__phase {
  background: #3c3c3c;
  color: #fff;
}

.kanyaka-edition__categories,
.kanyaka-edition__guide {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #dcdcdc;
}

.kanyaka-categories {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kanyaka-categories__element {
  padding: 1rem 1.25rem;
  border: 1px solid #dcdcdc;
  border-radius: 0.4rem;
}

.kanyaka-categories__element + .kanyaka-categories__element {
  margin-top: 0.75rem;
}

.kanyaka-categories__titre {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
}

.kanyaka-categories__description > *:last-child {
  margin-bottom: 0;
}

/* Les images et vidéos intégrées dans la présentation ne doivent jamais
   déborder de la colonne de texte. */
.kanyaka-edition__presentation img,
.kanyaka-edition__guide img,
.kanyaka-edition__presentation iframe,
.kanyaka-edition__guide iframe {
  max-width: 100%;
  height: auto;
}

/* Champ-piège du formulaire de nomination : hors de l'écran plutôt que
   display:none, que certains robots savent détecter. Il reste accessible aux
   lecteurs d'écran, d'où son libellé explicite et son tabindex négatif. */
.kanyaka-piege {
  position: absolute !important;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.kanyaka-edition__appel {
  margin: 2rem 0;
}

.kanyaka-bouton {
  display: inline-block;
  padding: 0.7rem 1.4rem;
  border-radius: 0.3rem;
  background: #11593a;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.kanyaka-bouton:hover,
.kanyaka-bouton:focus {
  background: #0c4029;
  color: #fff;
}

.kanyaka-nominations__filtres {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kanyaka-nominations__filtres .is-active {
  font-weight: 700;
}

/* --- Bulletin de vote ---------------------------------------------------- */

.kanyaka-bulletin__categorie .form-item {
  padding: 0.6rem 0.75rem;
  border: 1px solid #dcdcdc;
  border-radius: 0.3rem;
}

.kanyaka-bulletin__categorie .form-item + .form-item {
  margin-top: 0.5rem;
}

.kanyaka-bulletin__nom {
  display: block;
  font-weight: 700;
}

.kanyaka-bulletin__resume {
  display: block;
  font-size: 0.9rem;
  opacity: 0.8;
}

.kanyaka-bulletin__categorie .kanyaka-candidat__details-lien {
  display: inline-block;
  margin-top: 0.2rem;
  font-size: 0.85rem;
}

.kanyaka-merci {
  max-width: 36rem;
  margin: 0 auto;
}

.kanyaka-merci__message {
  font-size: 1.15rem;
  font-weight: 700;
}

/* --- Short-list ---------------------------------------------------------- */

.kanyaka-edition__shortlist {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #dcdcdc;
}

.kanyaka-shortlist__groupe + .kanyaka-shortlist__groupe {
  margin-top: 2rem;
}

.kanyaka-shortlist__categorie {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.kanyaka-shortlist__liste {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kanyaka-candidat {
  display: flex;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid #dcdcdc;
  border-radius: 0.4rem;
}

.kanyaka-candidat + .kanyaka-candidat {
  margin-top: 0.75rem;
}

.kanyaka-candidat__photo {
  flex: 0 0 5rem;
}

.kanyaka-candidat__photo img {
  display: block;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  object-fit: cover;
}

.kanyaka-candidat__corps {
  flex: 1 1 auto;
  min-width: 0;
}

.kanyaka-candidat__nom {
  margin: 0;
  font-weight: 700;
}

.kanyaka-candidat__resume {
  margin: 0.2rem 0 0.5rem;
  opacity: 0.8;
}

/* --- Boîte flottante des détails ---------------------------------------- */
/* L'en-tête et le bouton de fermeture viennent de la modale du noyau : on ne
   style que le contenu. */

.kanyaka-candidat-details {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.kanyaka-candidat-details__photo {
  flex: 0 0 10rem;
}

.kanyaka-candidat-details__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.3rem;
}

.kanyaka-candidat-details__corps {
  flex: 1 1 18rem;
  min-width: 0;
}

.kanyaka-candidat-details__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 0.5rem;
}

.kanyaka-candidat-details__type,
.kanyaka-candidat-details__categorie {
  padding: 0.1rem 0.55rem;
  border-radius: 999px;
  background: #e9ecef;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.kanyaka-candidat-details__resume {
  margin: 0 0 1rem;
  font-weight: 700;
}

.kanyaka-candidat-details__texte > *:last-child {
  margin-bottom: 0;
}

.kanyaka-candidat-details__vide {
  opacity: 0.7;
  font-style: italic;
}

.kanyaka-editions__liste {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kanyaka-editions__element + .kanyaka-editions__element {
  margin-top: 0.75rem;
}

.kanyaka-editions__lien {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid #dcdcdc;
  border-radius: 0.4rem;
  text-decoration: none;
}

.kanyaka-editions__lien:hover,
.kanyaka-editions__lien:focus {
  border-color: #11593a;
}

.kanyaka-editions__titre {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.kanyaka-editions__phase {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.75;
}

/* --- Capsules de navigation de l'édition -------------------------------- */

.kanyaka-capsules {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.kanyaka-capsule {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.95rem;
  border: 1px solid #c9c9c9;
  /* Pleinement arrondi : c'est la forme qui fait la capsule. */
  border-radius: 999px;
  background: #fff;
  color: inherit;
  font-size: 0.92rem;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
}

.kanyaka-capsule:hover,
.kanyaka-capsule:focus-visible {
  border-color: #11593a;
  color: #11593a;
}

/* L'action du moment — voter, ou nommer — est pleine. Sans cette distinction,
   « Voter » se perdrait au milieu de « Photos et vidéos ». */
.kanyaka-capsule--principale {
  border-color: #11593a;
  background: #11593a;
  color: #fff;
  font-weight: 700;
}

.kanyaka-capsule--principale:hover,
.kanyaka-capsule--principale:focus-visible {
  background: #0c4029;
  border-color: #0c4029;
  color: #fff;
}

.kanyaka-capsule__compte {
  padding: 0.02rem 0.45rem;
  border-radius: 999px;
  background: #e9ecef;
  font-size: 0.78rem;
  font-weight: 400;
}

.kanyaka-capsule--principale .kanyaka-capsule__compte {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}

.kanyaka-articles__liste {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kanyaka-articles__element {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #ececec;
}

.kanyaka-articles__titre {
  margin: 0 0 0.4rem;
  font-size: 1.2rem;
}
