/*--------------------------------------------------------------
# Boutons communs du site — couleurs de la charte (logo ACOPED, variables dans nav.css)
#   Bleu #1A307C : titres, fonds sombres, texte des boutons blancs
#   Vert #418700 : cadres et décorations ; #3C7C01 (un peu plus foncé) pour les
#                  boutons et textes verts, lisibles sur fond blanc
#   Vert clair #8CC63F : accents sur fond sombre, contour de focus
# acp-btn--primary       : action principale (fond vert)
# acp-btn--outline       : action secondaire sur fond clair (contour vert)
# acp-btn--light         : action principale sur fond sombre (fond blanc)
# acp-btn--outline-light : action secondaire sur fond sombre (contour blanc)
--------------------------------------------------------------*/
.acp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 26px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-family: var(--acn-font-title, "Raleway", sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.acp-btn:hover,
.acp-btn:focus-visible {
  transform: translateY(-2px);
}

.acp-btn:focus-visible {
  outline: 3px solid var(--acn-green-light, #8CC63F);
  outline-offset: 3px;
}

.acp-btn i,
.acp-btn svg {
  transition: transform 0.2s ease;
}

.acp-btn:hover .fa-arrow-right,
.acp-btn:focus-visible .fa-arrow-right,
.acp-btn:hover svg,
.acp-btn:focus-visible svg {
  transform: translateX(4px);
}

.acp-btn--primary {
  background: var(--acn-green, #3C7C01);
  border-color: var(--acn-green, #3C7C01);
  color: #fff;
}

.acp-btn--primary:hover,
.acp-btn--primary:focus-visible {
  background: var(--acn-green-dark, #2F6301);
  border-color: var(--acn-green-dark, #2F6301);
  color: #fff;
}

.acp-btn--outline {
  background: transparent;
  border-color: var(--acn-green, #3C7C01);
  color: var(--acn-green, #3C7C01);
}

.acp-btn--outline:hover,
.acp-btn--outline:focus-visible {
  background: var(--acn-green, #3C7C01);
  color: #fff;
}

.acp-btn--light {
  background: #fff;
  border-color: #fff;
  color: var(--acn-blue, #1A307C);
}

.acp-btn--light:hover,
.acp-btn--light:focus-visible {
  background: var(--acn-green-pale, #EEF5E6);
  border-color: var(--acn-green-pale, #EEF5E6);
  color: var(--acn-blue, #1A307C);
}

.acp-btn--outline-light {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.acp-btn--outline-light:hover,
.acp-btn--outline-light:focus-visible {
  background: #fff;
  color: var(--acn-blue, #1A307C);
}

/* Bouton sur toute la largeur de son conteneur (cartes) */
.acp-btn--block {
  display: flex;
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .acp-btn,
  .acp-btn i,
  .acp-btn svg {
    transition: none;
  }

  .acp-btn:hover,
  .acp-btn:focus-visible,
  .acp-btn:hover .fa-arrow-right,
  .acp-btn:focus-visible .fa-arrow-right,
  .acp-btn:hover svg,
  .acp-btn:focus-visible svg {
    transform: none;
  }
}
