.theme-btn {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  @include glass-button;
  border-radius: var(--radius-md);
  line-height: 22px;
  padding: 10px 20px;
  color: #fff;
  text-wrap: nowrap;
  position: relative;
  overflow: hidden;
  cursor: pointer;

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: 0.5s;
  }

  &:hover {
    color: #fff;
    background: var(--gradient-primary);

    &::before {
      left: 100%;
    }
  }

  &:active {
    transform: translateY(0);
  }

  &.btn-muted,
  &:disabled {
    background: $black_100;
    color: $black_300;
    cursor: not-allowed;
    box-shadow: none;
    backdrop-filter: none;
  }
}

.theme-btn,
.theme-btn-outline,
.theme-btn-secondary {
  img {
    margin-right: 4px;
    vertical-align: top;
    transition: all 0.3s ease-in-out;
  }
}

.theme-btn-secondary {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  background-color: $black_750;
  border-radius: var(--radius-md);
  line-height: 27px;
  padding: 15px 30px;
  color: #f9f9f9;
  transition: all var(--transition-base);
  cursor: pointer;

  &:hover {
    color: #f9f9f9;
    background-color: $black_800;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  &:active {
    transform: translateY(0);
  }
}

.theme-btn-outline {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  background-color: transparent;
  border-radius: var(--radius-md);
  line-height: 22px;
  padding: 13px 16px;
  color: $black_800;
  border: 2px solid $black_800;
  transition: all var(--transition-base);
  cursor: pointer;

  &:hover {
    color: #f9f9f9;
    background-color: $black_800;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

    img {
      filter: invert(100%) sepia(5%) saturate(0%) hue-rotate(100deg) brightness(105%) contrast(100%);
    }
  }

  &:active {
    transform: translateY(0);
  }

  &.theme-color {
    border-color: var(--brand_color);
    color: var(--brand_color);

    &:hover {
      background-color: var(--brand_color);
      color: white;
      box-shadow: 0 4px 12px rgba(244, 25, 109, 0.3);
    }
  }
}

.btn-large {
  padding: 14px 52px;
}

.btn-font-2 {
  font-size: 16px;
}

.read-more-btn {
  display: inline-block;
  position: relative;
  font-size: 14px;
  color: $brand_color;
  font-weight: 600;
  transition: all 0.3s ease-in-out;
  line-height: 22px;

  &:hover {
    &::after {
      width: 100%;
    }
  }

  &::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 1px;
    height: 1px;
    background-color: $brand_color;
    width: 0;
    transition: all 0.3s ease-in-out;
  }
}