/* Styles de boutons modernes et dynamiques */

/* Style de base pour tous les boutons */
.button,
.main__button,
.main__button_pages,
.about__button,
.item-services__button,
.outro__button,
.item-pricing__button,
.resources__button {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 2rem;
  border-radius: 12px;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
  letter-spacing: 0.03em;
  text-decoration: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1;
  backdrop-filter: blur(5px);
}

/* Bouton principal (CTA) */
.button--primary,
.main__button,
.main__button_pages,
.about__button,
.outro__button,
.item-pricing__button {
  background: rgba(14, 168, 163, 0.6);
  color: #fff;
  font-size: 1.1rem;
}

.button--primary:hover,
.main__button:hover,
.main__button_pages:hover,
.about__button:hover,
.outro__button:hover,
.item-pricing__button:hover {
  background: rgba(27, 196, 191, 0.7);
  transform: translateY(-3px);
  box-shadow: 0 7px 14px rgba(14, 168, 163, 0.3);
  border-color: rgba(255, 255, 255, 0.5);
}

.button--primary:active,
.main__button:active,
.main__button_pages:active,
.about__button:active,
.outro__button:active,
.item-pricing__button:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(14, 168, 163, 0.2);
  background: rgba(27, 196, 191, 0.8);
}

/* Bouton secondaire */
.button--secondary,
.item-services__button,
.resources__button {
  background: rgba(255, 255, 255, 0.7);
  color: #0ea8a3;
  border: 1px solid rgba(14, 168, 163, 0.5);
  font-size: 1rem;
}

.button--secondary:hover,
.item-services__button:hover,
.resources__button:hover {
  background: rgba(14, 168, 163, 0.2);
  transform: translateY(-3px);
  box-shadow: 0 7px 14px rgba(14, 168, 163, 0.15);
  border-color: rgba(14, 168, 163, 0.7);
}

.button--secondary:active,
.item-services__button:active,
.resources__button:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(14, 168, 163, 0.1);
  background: rgba(14, 168, 163, 0.3);
}

/* Effet de brillance au survol */
.button::before,
.main__button::before,
.main__button_pages::before,
.about__button::before,
.item-services__button::before,
.outro__button::before,
.item-pricing__button::before,
.resources__button::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    to bottom right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.1) 100%
  );
  transform: rotate(30deg);
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: -1;
}

.button:hover::before,
.main__button:hover::before,
.main__button_pages:hover::before,
.about__button:hover::before,
.item-services__button:hover::before,
.outro__button:hover::before,
.item-pricing__button:hover::before,
.resources__button:hover::before {
  transform: rotate(30deg) translate(10%, 10%);
}

/* Styles pour les icônes dans les boutons */
.button i,
.main__button i,
.main__button_pages i,
.about__button i,
.item-services__button i,
.outro__button i,
.item-pricing__button i,
.resources__button i {
  margin-right: 0.5rem;
  font-size: 1.1em;
}

/* Styles responsifs pour les boutons */
@media screen and (max-width: 767px) {
  .button,
  .main__button,
  .main__button_pages,
  .about__button,
  .item-services__button,
  .outro__button,
  .item-pricing__button,
  .resources__button {
    padding: 0.75rem 1.5rem;
    font-size: 0.95rem;
  }
  
  .button--primary,
  .main__button,
  .main__button_pages,
  .about__button,
  .outro__button,
  .item-pricing__button {
    font-size: 1rem;
  }
}

@media screen and (max-width: 480px) {
  .button,
  .main__button,
  .main__button_pages,
  .about__button,
  .item-services__button,
  .outro__button,
  .item-pricing__button,
  .resources__button {
    padding: 0.65rem 1.25rem;
    font-size: 0.9rem;
    width: 100%;
    max-width: 280px;
    margin: 0.5rem auto;
  }
}

/* Classes d'icônes pour les boutons */
.button--contact::before {
  content: '\f0e0';
  font-family: 'Font Awesome 5 Free';
  margin-right: 0.5rem;
}

.button--arrow::after {
  content: '\f061';
  font-family: 'Font Awesome 5 Free';
  margin-left: 0.5rem;
}

.button--download::before {
  content: '\f019';
  font-family: 'Font Awesome 5 Free';
  margin-right: 0.5rem;
}

/* Styles de base pour les boutons */
.main__button {
  font-weight: 600;
  display: inline-block;
  padding: 1rem 3rem;
  border-radius: 30px;
  transition: all 0.4s ease;
  color: #fff;
  background-color: rgba(14, 168, 163, 0.6);
  letter-spacing: 0.02em;
  font-size: 1.25rem;
  line-height: 110%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(5px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.main__button:hover {
  background-color: rgba(27, 196, 191, 0.7);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  border-color: rgba(255, 255, 255, 0.5);
  text-shadow: none;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.main__button:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
  background-color: rgba(27, 196, 191, 0.8);
}

/* Styles pour le bouton du header */
.actions-header__button {
  background-color: rgba(14, 168, 163, 0.6);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(5px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
}

.actions-header__button:hover {
  background-color: rgba(27, 196, 191, 0.7);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  transform: translateY(-3px);
}

/* Styles pour les boutons sur mobile */
@media screen and (max-width: 767px) {
  .main__button, .actions-header__button {
    font-size: 1.1rem !important;
    padding: 1rem 2rem !important;
    width: 100%;
    max-width: 300px;
    text-align: center;
  }
  
  .outro__contacts {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
}

@media screen and (max-width: 480px) {
  .main__button, .actions-header__button {
    font-size: 1.2rem !important;
    padding: 1.2rem 2rem !important;
    width: 100%;
    max-width: 280px;
  }
} 