/* Modern & Stylish booking form */
@view-transition {
	navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 180ms;
	animation-timing-function: ease-out;
}

.page-id-724 .mphb-booking-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem 1.25rem;
	max-width: 760px;
	margin: 1.25rem 0 3rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid #dfe5d8;
	border-radius: 16px;
	background: #f7f9f4;
	box-shadow: 0 14px 38px rgba(29, 48, 19, 0.08);
}

.page-id-724 .mphb-booking-form > p { margin: 0; }

.page-id-724 .mphb-booking-form .mphb-required-fields-tip,
.page-id-724 .mphb-booking-form .mphb-errors-wrapper { grid-column: 1 / -1; }

.page-id-724 .mphb-booking-form label {
	display: inline-block;
	margin-bottom: 0.45rem;
	font-weight: 700;
	color: #24351c;
}

.page-id-724 .mphb-booking-form input[type="text"],
.page-id-724 .mphb-booking-form select {
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 0.7rem 0.85rem;
	border: 1px solid #aebca5;
	border-radius: 8px;
	background: #fff;
	color: #172112;
	font-size: 1rem;
}

.page-id-724 .mphb-booking-form input[type="text"]:focus,
.page-id-724 .mphb-booking-form select:focus {
	border-color: #4d7c20;
	box-shadow: 0 0 0 3px rgba(77, 124, 32, 0.16);
	outline: none;
}

.page-id-724 .mphb-booking-form .mphb-reserve-btn-wrapper {
	display: flex;
	align-items: end;
}

.page-id-724 .mphb-booking-form .mphb-reserve-btn {
	width: 100%;
	min-height: 50px;
	margin: 0;
	border-radius: 999px;
}

.mphb_sc_search_results-wrapper .sia-price-lines .sia-transfer-total {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 2px solid #315315;
	border-bottom: 0;
	font-size: 1.05rem;
	font-weight: 800;
}

.mphb_sc_search_results-wrapper .sia-transfer-total dd {
	font-size: 1.35rem;
}

.mphb_sc_search_results-wrapper .sia-transfer-total dt > span {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.76rem;
	font-weight: 400;
	line-height: 1.4;
	color: #667060;
}

.mphb_sc_search_results-wrapper .sia-price-lines .sia-contract-total {
	margin-top: 0.6rem;
	padding-top: 0.65rem;
	border-top: 1px solid #dfe5d8;
	font-weight: 800;
}

.sia-payment-plan {
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid #d8e2d1;
	border-radius: 12px;
	background: #fff;
}

.sia-payment-plan-heading h3 {
	margin: 0;
	font-size: 1.05rem;
}

.sia-payment-plan-heading p {
	margin: 0.3rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #667060;
}

.sia-payment-plan ol {
	margin: 0.85rem 0 0;
	padding: 0;
	list-style: none;
}

.sia-payment-plan li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.75rem;
	align-items: center;
	padding: 0.75rem 0;
	border-top: 1px solid #e6ebe2;
}

.sia-payment-plan li:first-child { border-top: 0; }

.sia-payment-plan li.is-initial-payment {
	margin: 0 -0.5rem;
	padding: 0.8rem 0.5rem;
	border-radius: 8px;
	background: #edf5e5;
}

.sia-payment-plan li > div > strong,
.sia-payment-plan li > div > span,
.sia-payment-plan li > div > small {
	display: block;
}

.sia-payment-plan li > div > span,
.sia-payment-plan li > div > small {
	margin-top: 0.2rem;
	font-size: 0.78rem;
	line-height: 1.4;
	color: #667060;
}

.sia-payment-plan li b {
	white-space: nowrap;
	font-size: 1rem;
}

.sia-scheduled-total {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin: 0.5rem 0 0;
	padding-top: 0.8rem;
	border-top: 2px solid #315315;
	font-size: 0.82rem;
}

.sia-scheduled-total strong { white-space: nowrap; }

.sia-modern-utilities-note {
	margin: 0.75rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #667060;
}

.sia-modern-booking-error {
	margin: 0.75rem 0 0;
	padding: 0.7rem 0.85rem;
	border-left: 4px solid #a33a2b;
	background: #fff0ed;
	color: #7b291f;
	font-weight: 700;
}

.sia-modern-checkout-payment-notice {
	margin: 1rem 0;
	padding: 1rem;
	border: 1px solid #d8e2d1;
	border-radius: 12px;
	background: #f7f9f4;
}

.sia-modern-checkout-payment-notice h4 {
	margin: 0 0 0.75rem;
}

.sia-checkout-due-now,
.sia-checkout-remaining {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
}

.sia-checkout-due-now {
	padding: 0.75rem;
	border-radius: 8px;
	background: #e8f2de;
	font-weight: 800;
}

.sia-checkout-due-now strong { font-size: 1.2rem; }

.sia-modern-checkout-payment-notice > p {
	margin: 0.55rem 0;
	font-size: 0.8rem;
	line-height: 1.45;
	color: #667060;
}

.sia-checkout-remaining {
	padding-top: 0.7rem;
	border-top: 1px solid #dfe5d8;
	font-weight: 700;
}

.sia-modern-checkout-payment-notice .sia-checkout-request-note {
	margin-bottom: 0;
	padding-top: 0.65rem;
	border-top: 1px solid #dfe5d8;
	color: #304028;
	font-weight: 600;
}

@media (max-width: 720px) {
	.page-id-724 .mphb-booking-form { grid-template-columns: 1fr; }
	.page-id-724 .mphb-booking-form .mphb-reserve-btn-wrapper {
		grid-column: 1;
		width: 100%;
	}

	.sia-payment-plan li { grid-template-columns: 1fr; }
	.sia-payment-plan li b { justify-self: start; }
	.sia-scheduled-total { align-items: flex-end; }
	.sia-checkout-due-now,
	.sia-checkout-remaining { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	::view-transition-old(root),
	::view-transition-new(root) {
		animation-duration: 0.01ms;
	}
}


/* Search Results: use the shared two-card financial summary layout. */
.mphb_sc_search_results-wrapper .sia-modern-stay-summary {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	gap: 1rem;
	align-items: start;
	margin-top: .9rem;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-stay-length {
	grid-column: 1 / -1;
	margin: 0;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-price-lines,
.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-payment-plan {
	margin: 0;
	padding: 1rem;
	border: 1px solid #dfe5d8;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(29, 48, 19, .045);
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-price-lines {
	grid-column: 1;
	grid-row: 2;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-payment-plan {
	grid-column: 2;
	grid-row: 2;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-price-lines > div {
	padding: .42rem 0;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-price-lines .sia-climate-fee {
	align-items: center;
	margin: 0;
	padding: .42rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-price-lines .sia-contract-total {
	margin-top: .2rem;
	padding-top: .7rem;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-price-lines .sia-transfer-total {
	margin-top: .55rem;
	padding: .7rem;
	border: 0;
	border-radius: 8px;
	background: #edf5e5;
}

.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-payment-plan li.is-initial-payment {
	margin: 0;
	padding: .7rem;
}

@media (max-width: 720px) {
	.mphb_sc_search_results-wrapper .sia-modern-stay-summary {
		grid-template-columns: 1fr;
	}

	.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-price-lines,
	.mphb_sc_search_results-wrapper .sia-modern-stay-summary .sia-payment-plan {
		grid-column: 1;
		grid-row: auto;
	}
}
