.btn,
.single-product-content .comment-form .form-submit input[type="submit"],
.single-product-content .cart button.single_add_to_cart_button.button.alt,
.card-form .button,
.card-form .single_add_to_cart_button.button.alt {
	background: none;
	border: 1px solid transparent;
	border-radius: 23px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-family-default) !important;
	font-size: var(--font-size-default);
  font-weight: var(--font-weight-530);
	letter-spacing: 0.02em;
	line-height: 1.33 !important;
	padding: 10px 23px !important;
	min-height: 44px;
	text-transform: none;
	width: auto;
}

.btn[disabled],
.btn.disabled,
.btn[disabled]:hover,
.btn.disabled:hover,
.btn[disabled]:focus,
.btn.disabled:focus,
.btn[disabled]:active,
.btn.disabled:active {
  background-color: rgba(var(--primary-rgb), .2) !important;
  border-color: transparent !important;
  color: #090707 !important;
  cursor: not-allowed;
  opacity: 1;
}

.btn-block {
  display: flex;
  width: 100%;
}

.btn-sm {
	padding: 7px 20px !important;
	min-height: 38px;
}

.btn-xs {
	padding: 5px 15px !important;
	min-height: 0;
}

.btn .mr {
	margin-right: 0.619em;
}

.btn .ml {
	margin-left: 0.619em;
}

.card-item .btn {
	white-space: normal;
}

.btn.px-custom {
	padding-left: 16px !important;
	padding-right: 16px !important;
	/* width: 100%;  ? */
}

.btn:hover,
.btn:focus {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff !important;
}

.btn-hover-outline-white:hover {
  background-color: transparent;
  border-color: #fff;
}

.btn-primary,
.btn-primary:active {
	background-color: var(--primary);
	border-color: var(--primary);
	color: #fff !important;
}

.btn-secondary,
.btn-secondary:active {
	background-color: var(--secondary);
	border-color: var(--secondary);
	color: var(--primary) !important;
}

.btn-secondary.loading {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
	color: #fff !important;
}

@media (max-width: 991.98px) {
  .btn-secondary:not(.loading):hover,
  .btn-secondary:not(.loading):focus {
    background-color: var(--secondary);
    border-color: var(--secondary);
    color: var(--primary) !important;
  }
}

.btn-white {
	background-color: #fff;
	border-color: #fff;
	color: var(--primary) !important;
}

.header-banner .btn {
	padding: 9px 18px !important;
	text-transform: none;
  white-space: nowrap;
}

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

.btn-outline-white.btn-loading[disabled] {
	background-color: transparent !important;
	border-color: #fff !important;
	color: #fff !important;
}

.btn-outline-primary {
	background-color: transparent;
	border-color: var(--primary);
	color: var(--primary);
}

.btn-outline-primary[href^=tel] {
	color: var(--primary);
}

.btn-outline-secondary {
	background-color: transparent;
	border-color: var(--secondary);
	color: var(--secondary);
}

.btn-outline-primary.loading {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
	color: #fff !important;
}

.btn-light {
	background-color: var(--light);
	border-color: var(--light);
	color: var(--primary);
}

.btn.radius-0 {
  border-radius: 0 !important;
}

/*
Loading
*/
.btn-loading {
  position: relative;
}

.btn-loading::after {
  position: absolute;
  top: 50%;
  margin-top: -8px;
  right: 15px;
  visibility: hidden;
  opacity: 0;
  content: " ";
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid white;
  border-radius: 50%;
  border-left-color: transparent;
  border-right-color: transparent;
  transition: right 0.2s ease-in-out, opacity 0.25s ease-in-out;
}

.btn-loading.loading {
  padding-right: 40px !important;
}

.btn-loading.loading::after {
  opacity: 1;
  visibility: visible;
  animation: load-spin 450ms infinite linear;
}

@keyframes load-spin {
  100% {
    transform: rotate(360deg); } }
@-webkit-keyframes load-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@media (min-width: 992px) {
	.btn.px-custom {
		padding-left: 25px !important;
		padding-right: 25px !important;
	}

	.btn-outline-lg-white {
		background-color: transparent;
		border-color: #fff;
		color: #fff;
	}
}

/* Overwrite
----------------------------------------------------------- */
.single-product-content .comment-form .form-submit input[type="submit"],
.single-product-content .cart button.single_add_to_cart_button.button.alt {
	background-color: var(--secondary) !important; 
	border-color: var(--secondary);
	color: var(--primary);
  text-transform: uppercase;
}

.single-product-content .cart button.single_add_to_cart_button.button.alt {
  font-size: var(--font-size-sm) !important;
	padding: 7px 20px !important;
	min-height: 38px;
  width: 100%;
}

.single_variation_wrap button.single_add_to_cart_button.button.alt.font-size-sm {
  font-size: var(--font-size-sm) !important;
}

.single-product-content .comment-form .form-submit input[type="submit"]:hover,
.single-product-content .cart button.single_add_to_cart_button.button.alt:hover {
	background-color: var(--primary) !important; 
	border-color: var(--primary);
	color: #fff;
}

.single-product-content .comment-form .form-submit input[type="submit"]:focus,
.single-product-content .cart button.single_add_to_cart_button.button.alt:focus {
	background-color: var(--secondary) !important; 
	border-color: var(--secondary);
	color: var(--primary);
}

/*
Subscription process
*/
.card-form .button,
.card-form .single_add_to_cart_button.button.alt {
	background-color: var(--secondary) !important; 
	border-color: var(--secondary);
	color: var(--primary);
  text-transform: uppercase;
  float: none !important;
  width: 100%;
	padding: 7px 20px !important;
	min-height: 38px;
}

.is_coffee .card-form .button,
.is_coffee .card-form .single_add_to_cart_button.button.alt {
	padding: 7px 10px !important;
}

.card-form .button:hover,
.card-form .single_add_to_cart_button.button.alt:hover {
	background-color: var(--primary) !important; 
	border-color: var(--primary);
	color: #fff;
}

.btn-filters {
  background: none !important;
  border: 1px solid rgba(var(--primary-rgb), .3) !important;
  border-radius: 54px;
  color: var(--body-color) !important;
  font-family: var(--font-family-ptmono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: 139.6%;
  padding: 6px 16px;
  width: 100%;
}