/**
 * KDBS Booknetic coupon controls.
 *
 * Booknetic sizes the confirmation buttons for short English labels. These
 * scoped rules keep the Japanese labels readable without modifying vendor
 * files or changing the coupon calculation.
 */

#kdbs-booking-form .booknetic_add_coupon {
	box-sizing: border-box;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}

#kdbs-booking-form .booknetic_add_coupon input {
	box-sizing: border-box;
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
}

#kdbs-booking-form .booknetic_add_coupon > div {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}

#kdbs-booking-form .booknetic_add_coupon button {
	box-sizing: border-box;
	width: auto !important;
	min-width: 72px;
	padding-right: 12px !important;
	padding-left: 12px !important;
	white-space: nowrap;
}

#kdbs-booking-form .booknetic_add_coupon .booknetic_coupon_cancel_btn {
	min-width: 78px;
}

#kdbs-booking-form .booknetic_add_coupon .booknetic_coupon_ok_btn.kdbs_coupon_busy {
	cursor: wait !important;
	opacity: 0.72;
}

#kdbs-booking-form .booknetic_add_coupon .booknetic_coupon_ok_btn.kdbs_coupon_error_state {
	min-width: 148px;
	opacity: 0.72;
}

#kdbs-booking-form .booknetic_add_coupon input:disabled {
	cursor: wait;
	opacity: 0.72;
}

#kdbs-booking-form .booknetic_add_coupon .kdbs_coupon_error {
	box-sizing: border-box;
	flex: 1 0 100%;
	margin: 4px 0 0;
	color: #a61b1b;
	font-size: 12px;
	line-height: 1.5;
}

#kdbs-booking-form .booknetic_add_coupon.booknetic_coupon_ok::after {
	display: none;
}

#kdbs-booking-form .booknetic_add_coupon input:focus-visible {
	outline: 2px solid #fde428 !important;
	outline-offset: 2px;
}

@media (max-width: 767px) {
	#kdbs-booking-form .booknetic_add_coupon {
		flex-wrap: wrap;
	}

	#kdbs-booking-form .booknetic_add_coupon input,
	#kdbs-booking-form .booknetic_add_coupon > div {
		flex: 1 1 100%;
		width: 100% !important;
	}

	#kdbs-booking-form .booknetic_add_coupon button {
		flex: 1 1 0;
	}
}
