.haystack-gift-card-balance {
	max-width: 44rem;
}

.haystack-gift-card-balance label {
	display: block;
	margin-bottom: 0.75rem;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.haystack-gift-card-balance__controls {
	display: flex;
	gap: 0.75rem;
}

.haystack-gift-card-balance input {
	min-width: 0;
	flex: 1;
	padding: 0.85rem 1rem;
	border: 1px solid #b8b8b8;
	font: inherit;
}

.haystack-gift-card-balance button {
	padding: 0.85rem 1.5rem;
	border: 1px solid #000;
	border-radius: 999px;
	background: transparent;
	color: #000;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.haystack-gift-card-balance button:hover,
.haystack-gift-card-balance button:focus-visible {
	background: #000;
	color: #fff;
}

.haystack-gift-card-balance button:disabled {
	cursor: wait;
	opacity: 0.65;
}

.haystack-gift-card-balance__result {
	margin-top: 1.5rem;
	padding: 1.25rem 1.5rem;
	border: 2px solid currentColor;
	font-size: 1.125rem;
}

.haystack-gift-card-balance__result[hidden] {
	display: none;
}

.haystack-gift-card-balance__result-heading {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 1.25rem;
}

.haystack-gift-card-balance__message {
	margin: 0;
	font-size: inherit;
}

.haystack-gift-card-balance__result--success {
	color: #267c73;
	background: #f1f8f7;
}

.haystack-gift-card-balance__result--error {
	color: #9b2c2c;
	background: #fff5f5;
}

@media (max-width: 36rem) {
	.haystack-gift-card-balance__controls {
		align-items: stretch;
		flex-direction: column;
	}
}
