/* HoRNet Design System v3.3 — frontend button primitives. */
:root {
	--hn-black: #000000;
	--hn-white: #ffffff;
	--hn-yellow: #ffcd43;
	--hn-cyan: #43cdff;
	--hn-magenta: #ff43cd;
	--hn-state-success: #43ffa1;
	--hn-state-danger: #ff4343;
	--hn-radius-btn: 6px;
	--hn-border-base: 3px;
	--hn-shadow-secondary: 4px 4px 0 rgba(0, 0, 0, .9);
	--hn-shadow-primary: var(--hn-shadow-secondary);
	--hn-focus-ring: 3px solid var(--hn-cyan);
}

/* Primary actions: purchase, submit, add to cart, and campaign CTAs. */
.btn.btn-primary,
.btn.btn-yellow,
.edd-submit,
.edd-add-to-cart,
.edd-go-to-checkout,
.edd-wl-button,
.et_pb_button,
.sendgrid_mc_button,
.edd_checkout_register_login,
.edd-apply-discount,
.discount-btn,
.edd_discount_link,
input[type="submit"],
input[type="button"].vat-validate {
	min-height: 44px;
	border: var(--hn-border-base) solid var(--hn-black) !important;
	border-radius: var(--hn-radius-btn) !important;
	background-color: var(--hn-yellow) !important;
	background-image: none !important;
	box-shadow: var(--hn-shadow-primary) !important;
	color: var(--hn-black) !important;
	font-family: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: .04em;
	text-decoration: none !important;
	text-shadow: none !important;
	text-transform: uppercase;
}

/* Divi emits page-specific button CSS after queued styles. This selector has
   higher specificity so its generated primary CTAs retain the shared token. */
body #et-boc .et-l .et_pb_button.et_pb_button.et_pb_button {
	min-height: 44px !important;
	border: var(--hn-border-base) solid var(--hn-black) !important;
	border-radius: var(--hn-radius-btn) !important;
	background: var(--hn-yellow) !important;
	background-image: none !important;
	box-shadow: var(--hn-shadow-primary) !important;
	color: var(--hn-black) !important;
	font-family: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	text-shadow: none !important;
	text-transform: uppercase;
}
body #et-boc .et-l .et_pb_button.et_pb_button.et_pb_button:hover,
body #et-boc .et-l .et_pb_button.et_pb_button.et_pb_button:focus {
	background: var(--hn-black) !important;
	box-shadow: 4px 4px 0 var(--hn-yellow) !important;
	color: var(--hn-yellow) !important;
}
body #et-boc .et-l .et_pb_button.et_pb_button.et_pb_button:focus-visible {
	outline: var(--hn-focus-ring) !important;
	outline-offset: 2px !important;
}

/* Secondary actions: inspect, demo, cancel, and reset. */
.btn.btn-default,
.btn.btn-demo,
.btn.btn-outline-inverse,
input[type="button"].vat-reset {
	min-height: 44px;
	border: var(--hn-border-base) solid var(--hn-black) !important;
	border-radius: var(--hn-radius-btn) !important;
	background: var(--hn-white) !important;
	box-shadow: var(--hn-shadow-secondary) !important;
	color: var(--hn-black) !important;
	font-family: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: .04em;
	text-decoration: none !important;
	text-shadow: none !important;
	text-transform: uppercase;
}

/* Explicit Bootstrap system actions keep their meaning without gradients. */
.btn.btn-info { background: var(--hn-cyan) !important; color: var(--hn-black) !important; }
.btn.btn-success { background: var(--hn-state-success) !important; color: var(--hn-black) !important; }
.btn.btn-danger { background: var(--hn-state-danger) !important; color: var(--hn-black) !important; }
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger {
	min-height: 44px;
	border: var(--hn-border-base) solid var(--hn-black) !important;
	border-radius: var(--hn-radius-btn) !important;
	background-image: none !important;
	box-shadow: var(--hn-shadow-secondary) !important;
	font-family: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 800 !important;
	text-shadow: none !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-yellow:hover,
.btn.btn-yellow:focus,
.edd-submit:hover,
.edd-submit:focus,
.edd-add-to-cart:hover,
.edd-add-to-cart:focus,
.edd-go-to-checkout:hover,
.edd-go-to-checkout:focus,
.edd-wl-button:hover,
.edd-wl-button:focus,
.et_pb_button:hover,
.et_pb_button:focus,
.sendgrid_mc_button:hover,
.sendgrid_mc_button:focus,
.edd_checkout_register_login:hover,
.edd_checkout_register_login:focus,
.edd-apply-discount:hover,
.edd-apply-discount:focus,
.discount-btn:hover,
.discount-btn:focus,
.edd_discount_link:hover,
.edd_discount_link:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"].vat-validate:hover,
input[type="button"].vat-validate:focus {
	border-color: var(--hn-black) !important;
	background-color: var(--hn-black) !important;
	box-shadow: 4px 4px 0 var(--hn-yellow) !important;
	color: var(--hn-yellow) !important;
}

.btn.btn-default:hover,
.btn.btn-default:focus,
.btn.btn-demo:hover,
.btn.btn-demo:focus,
.btn.btn-outline-inverse:hover,
.btn.btn-outline-inverse:focus,
input[type="button"].vat-reset:hover,
input[type="button"].vat-reset:focus {
	border-color: var(--hn-black) !important;
	background: var(--hn-cyan) !important;
	box-shadow: var(--hn-shadow-secondary) !important;
	color: var(--hn-black) !important;
}

.btn:focus-visible,
.edd-submit:focus-visible,
.edd-add-to-cart:focus-visible,
.edd-go-to-checkout:focus-visible,
.edd-wl-button:focus-visible,
.et_pb_button:focus-visible,
.sendgrid_mc_button:focus-visible,
.edd_checkout_register_login:focus-visible,
.edd-apply-discount:focus-visible,
.discount-btn:focus-visible,
.edd_discount_link:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"].vat-validate:focus-visible,
input[type="button"].vat-reset:focus-visible {
	outline: var(--hn-focus-ring) !important;
	outline-offset: 2px;
}

.btn.disabled,
.btn[disabled],
.edd-submit[disabled],
.edd-add-to-cart[disabled],
.edd-apply-discount[disabled],
input[type="submit"][disabled],
input[type="button"][disabled] {
	cursor: not-allowed;
	box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.btn,
	.edd-submit,
	.edd-add-to-cart,
	.edd-go-to-checkout,
	.edd-wl-button,
	.et_pb_button,
	.sendgrid_mc_button,
	.edd_checkout_register_login,
	.edd-apply-discount,
	.discount-btn,
	.edd_discount_link,
	input[type="submit"],
	input[type="button"] {
		transition-duration: .01ms !important;
	}
}
