.rtb-booking-form {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.rtb-booking-form-form,
.rtb-booking-form-form * {
	box-sizing: border-box;
}

.rtb-booking-form-form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

.rtb-booking-form fieldset {
	border: 0 solid #ccc;
	margin: 0;
	padding: 0;
	margin-inline-start: 0;
	padding-inline-start: 0;
	width: 47.5%;
	margin: 0 0 32px;
}
@media screen and (max-width: 768px) {
	.rtb-booking-form fieldset {
		width: 100%;
	}
}

.rtb-booking-form fieldset legend {
	padding: 0;
}
.rtb-booking-form legend {
	margin-left: 0;
}

.rtb-booking-form fieldset>div {
	margin-top: 2em;
}

.rtb-booking-form fieldset label {
	width: 100%;
	background: transparent;
	padding: 3px;
	text-align: center;
	color: #333;
	font-weight: bold;
	margin-bottom: 0 !important;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	border-right: 1px solid #333;
}

.rtb-booking-form form select,
.rtb-booking-form form textarea,
.rtb-booking-form form input,
#stripe-payment-form #cardElement {
	border: 1px solid #333;
	border-radius: 0;
	background-color: transparent;
	color: #777;
	padding: 12px 21px;
	margin-top: 0;
	max-width: 100%;
}
.rtb-booking-form form select,
.rtb-booking-form form input {
	height: 48px;
	width: 100%;
}
#stripe-payment-form #cardElement {
	height: auto;
	width: 100%;
	margin: 18px 0;
}

.rtb-booking-form fieldset input,
.rtb-booking-form fieldset select,
.rtb-booking-form fieldset textarea {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}
.rtb-booking-form fieldset.reservation label {
	border-top-right-radius: 4px;
}
.rtb-booking-form fieldset.rtb-contact label {
	border-top-left-radius: 4px;
}

.rtb-booking-form form input::webkit-input-placeholder,
.rtb-booking-form form input:ms--input-placeholder,
.rtb-booking-form form input::placeholder {
	color: #aaa;
}

#rtb-date,
#rtb-time {
	cursor: pointer !important;
}

.rtb-booking-form form fieldset .add-message {
	clear: both;
	position: relative;
	float: right;
	margin-top: 16px;
}
.rtb-booking-form .add-message a {
	box-shadow: none;
	padding: 6px 12px;
	background: transparent;
	color: #888;
	text-decoration: none;
	border: 1px solid #ddd;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	transition: background-color .3s, color .3s, border-color .3s;
}
.rtb-booking-form .add-message a:hover {
	background-color: #333;
	border-color: #333;
	color: white;
	text-decoration: none;
}

.rtb-booking-form fieldset.consent,
.rtb-booking-form fieldset.optin {
	width: 100%;
}
.rtb-booking-form fieldset.consent {
	margin-bottom: 0;
}
.rtb-booking-form .consent label,
.rtb-booking-form .optin label {
	border: none;
	font-weight: normal;
	text-align: left;
	line-height: 1.25;;
}

.rtb-booking-form fieldset.rtb-form-footer {
	width: 100%;
}
.rtb-booking-form button {
	clear: both;
	float: left;
	margin-top: 0;
	cursor: pointer;
	display: block;
	align-items: stretch;
	text-decoration: none;
	background-color: #333;
	color: #fff;
	font-size: var(--wp--preset--font-size--normal);
	border: 2px solid #333;
	border-radius: 4px;
	padding: 8px 13px;
	transition: background-color .3s, color .3s;
}
.rtb-booking-form button:hover {
	background-color: transparent;
	color: #333;
}
:is(.rtb-booking-form, #stripe-booking-form) button:disabled {
	background-color: gray;
}
:is(.rtb-booking-form, #stripe-booking-form) button:disabled:hover {
	text-decoration: none;
}

.rtb-modification-toggle {
	margin-bottom: 32px;
	background-color: #333;
	border: 2px solid #333;
	border-top-left-radius: 0;
	border-top-right-radius: 4px;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	padding: 8px 13px;
	transition: background-color .3s, color .3s;
}
.rtb-modification-toggle:hover {
	background-color: transparent;
	color: #333;
}

input[name="rtb_modification_email"] {
	margin-top: 7px;
}

.rtb-hidden {
	display: none;
}