.boat-booking {
	max-width: 560px;
	font-size: 1.125rem;
	line-height: 1.5;
}

.boat-booking__row {
	margin-bottom: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.boat-booking__row label,
.boat-booking__label {
	font-weight: 600;
}

.boat-booking__row--start .boat-booking__label {
	display: block;
	margin-bottom: 0.25rem;
}

.boat-booking__suggest {
	margin: 0.5rem 0 0;
	padding: 0.65rem 0.75rem;
	border-radius: 4px;
	background: #f0f6fc;
	border: 1px solid #c3d9ed;
}

.boat-booking__suggest-text {
	margin: 0 0 0.5rem;
	font-size: 1rem;
}

.boat-booking__suggest .boat-booking__btn {
	margin: 0;
}

.boat-booking__row input,
.boat-booking__row select,
.boat-booking__row textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.75rem;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
}

.boat-booking__btn {
	display: inline-block;
	padding: 0.62rem 1.15rem;
	background: #2271b1;
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1.0625rem;
}

.boat-booking__btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.boat-booking__btn--secondary {
	background: #50575e;
}

.boat-booking__msg {
	padding: 0.65rem 0.75rem;
	border-radius: 4px;
	margin: 0.5rem 0;
}

.boat-booking__msg--ok {
	background: #edfaef;
	border: 1px solid #46b450;
	color: #1e4620;
}

.boat-booking__msg--err {
	background: #fcf0f1;
	border: 1px solid #d63638;
	color: #3c434a;
}

.boat-booking__quote {
	margin-top: 0.75rem;
	padding: 0.75rem 1rem;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 4px;
}

.boat-booking__quote-title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
}

.boat-booking__quote ul {
	margin: 0;
	padding-left: 1.1rem;
}

.boat-booking__season {
	font-weight: 600;
	margin: 0 0 0.5rem;
	color: #1d2327;
}

.boat-booking__payment {
	margin-top: 0.75rem;
}

.boat-booking__payment-title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
}

.boat-booking__payment-text {
	margin: 0;
	padding: 0.6rem 0.75rem;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	white-space: pre-wrap;
	font-family: inherit;
	font-size: 0.9rem;
	line-height: 1.4;
}

.boat-booking__extras h3 {
	margin-top: 0;
}

.boat-booking__extra {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 0.65rem;
	cursor: pointer;
}

.boat-booking__extra input {
	margin-top: 0.2rem;
}

.boat-booking__extra-text {
	display: block;
	flex: 1;
}

.boat-booking__extra-desc {
	display: block;
	font-size: 0.88rem;
	color: #50575e;
	margin-top: 0.15rem;
}

.boat-booking__extra-price {
	display: inline-block;
	margin-left: 0.35rem;
	font-weight: 600;
}

.boat-booking__line--total {
	font-weight: 700;
	margin-top: 0.35rem;
	padding-top: 0.35rem;
	border-top: 1px solid #c3c4c7;
}

.boat-booking__line-sub {
	font-size: 0.88rem;
	color: #50575e;
	font-weight: normal;
	display: block;
	margin-top: 0.2rem;
}

.boat-booking__line-after-total {
	font-size: 0.88rem;
	color: #50575e;
	font-weight: normal;
	white-space: normal;
}

.boat-booking__line-note .boat-booking__line-note {
	font-weight: normal;
	color: #50575e;
}


.boat-booking__sep {
	margin: 1.25rem 0;
	border: 0;
	border-top: 1px solid #dcdcde;
}
