/* =========================================================
   BUTTONS.CSS — Styles des boutons globaux du site
   ========================================================= */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  font-family: var(--ff-font-display);
  font-weight: normal;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  font-size: 1.28em;
  line-height: 1;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease,
              transform 0.2s ease, box-shadow 0.2s ease;
  user-select: none;
}

.btn:active { transform: translateY(1px); }

.btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ff-black-a25);
}

/* --- Fond sombre, texte blanc --- */
.btn-dark {
  background: var(--ff-black);
  color: var(--ff-white);
  border-color: var(--ff-black);
}
.btn-dark:hover {
  background: var(--ff-gray-6);
  border-color: var(--ff-gray-6);
}

/* --- Transparent sur fond clair --- */
.btn-ghost-dark {
  background: transparent;
  color: var(--ff-black);
  border-color: var(--ff-black-a25);
}
.btn-ghost-dark:hover {
  background: var(--ff-black-a10);
  border-color: var(--ff-black-a70);
}

/* --- Fond blanc, texte sombre --- */
.btn-light {
  background: var(--ff-white);
  color: var(--ff-black);
  border-color: var(--ff-white);
}
.btn-light:hover {
  background: var(--ff-gray-1);
  border-color: var(--ff-gray-1);
}

/* --- Transparent sur fond SOMBRE — contour blanc, texte blanc --- */
.btn-ghost-light {
  background: transparent;
  color: var(--ff-white);
  border-color: var(--ff-white-a40);
}
.btn-ghost-light:hover {
  background: var(--ff-white-a10);
  border-color: var(--ff-white);
}

/* --- État désactivé global --- */
.btn:disabled,
.btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 768px) {
  .btn {
    padding: 13px 30px;
    font-size: 1.30em;
  }
}
