.abm-calendar-intro {
	grid-template-columns: 1fr;
}

.abm-calendar-filter {
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	gap: 10px;
	max-width: 760px;
	margin: 0 auto 24px;
	padding: 16px;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	background: #f6f7f7;
}

.abm-calendar-filter label {
	min-width: 0;
	flex: 1;
}

.abm-calendar-filter label span {
	display: block;
	margin-bottom: 6px;
	font-weight: 700;
}

.abm-calendar-filter select {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 8px 10px;
	border: 1px solid #8c8f94;
	border-radius: 5px;
	background: #fff;
}

.abm-calendar-filter button {
	min-height: 44px;
	padding: 9px 16px;
	border: 0;
	border-radius: 6px;
	background: #1d2327;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.abm-calendar-intro.abm-has-image {
	grid-template-columns: minmax(0, 220px) 1fr;
}

.abm-powered-by {
	padding: 10px 28px;
	border-top: 1px solid #e5e5e5;
	background: #f6f7f7;
	color: #646970;
	font-size: 12px;
	text-align: right;
}

.abm-powered-by a {
	color: inherit;
	font-weight: 700;
}

.abm-coupon {
	margin: 0 0 22px;
	padding: 16px;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	background: #fff;
}

.abm-coupon > label {
	display: block;
	margin-bottom: 7px;
	font-weight: 700;
}

.abm-coupon-controls {
	display: flex;
	gap: 8px;
}

.abm-coupon-controls input {
	box-sizing: border-box;
	min-width: 0;
	min-height: 44px;
	flex: 1;
	padding: 8px 10px;
	border: 1px solid #8c8f94;
	border-radius: 5px;
	text-transform: uppercase;
}

.abm-apply-coupon {
	border: 0;
	border-radius: 6px;
	background: #1d2327;
	color: #fff;
	padding: 9px 15px;
	font-weight: 700;
	cursor: pointer;
}

.abm-apply-coupon:disabled {
	opacity: .6;
	cursor: wait;
}

.abm-coupon-message {
	margin-top: 7px;
	font-size: .9em;
}

.abm-coupon-success {
	color: #135e2c;
}

@media (max-width: 640px) {
	.abm-calendar-filter {
		align-items: stretch;
		flex-direction: column;
	}

	.abm-calendar-intro.abm-has-image {
		grid-template-columns: 1fr;
	}

	.abm-coupon-controls {
		align-items: stretch;
		flex-direction: column;
	}
}
