/*
  AGEF — one button system for the site's subscription surfaces (homepage, wizard, confirmation).
  Two variants (primary = filled green, secondary = outlined) × two sizes (default, --lg),
  one shape: 10px radius, bold, no uppercase. Use: <a class="agef-btn agef-btn--primary">.
*/
.agef-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 10px !important; border: 2px solid transparent;
  font-family: inherit; font-weight: 700 !important; font-size: 15px !important; line-height: 1.2 !important;
  letter-spacing: normal !important; text-transform: none !important;
  padding: 12px 24px !important; white-space: nowrap; cursor: pointer;
  text-decoration: none !important; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.agef-btn:hover { transform: translateY(-1px); }
.agef-btn:focus-visible { outline: 3px solid rgba(43, 142, 56, .35); outline-offset: 2px; }

.agef-btn--primary { background: #2B8E38 !important; color: #fff !important; border-color: #2B8E38; }
.agef-btn--primary:hover { background: #1E4925 !important; border-color: #1E4925; color: #fff !important; }

.agef-btn--secondary { background: #fff !important; color: #1f2937 !important; border-color: #d1d5db; }
.agef-btn--secondary:hover { border-color: #2B8E38; color: #2B8E38 !important; }

.agef-btn--lg { font-size: 18px !important; padding: 16px 40px !important; }
.agef-btn--block { display: flex; width: 100%; }

/* Disabled / not-yet-allowed (e.g. "Suivant" before accepting the conditions) */
.agef-btn.is-disabled, .agef-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; background: #9ca3af !important; border-color: #9ca3af; color: #fff !important; }

@media (max-width: 640px) {
  .agef-btn { font-size: 14px !important; padding: 11px 18px !important; }
  .agef-btn--lg { font-size: 16px !important; padding: 14px 24px !important; }
}
