.mt-carousel-checkout { --mt-checkout-surface: var(--color-light-beige, #f4ece8); }
body.page-id-480 { --magic-section-spacing-medium: 2vw; }
.page-id-480 .guest-room-picker .room-txt { min-height: 19vw; padding-right: 11cqw; }
.page-id-480 .guest-room-picker .room-txt .w-btn { white-space: nowrap; }
.mt-checkout-layout { display: grid; grid-template-columns: 46% 54%; align-items: center; }
.mt-checkout-panel { padding: 3vw 7vw 3vw 3vw; width: 110%; background: var(--mt-checkout-surface); min-width: 0; }
.mt-wedding-checkout .mt-checkout-panel { display: flex; flex-direction: column; align-items: flex-start; min-height: 30vw; }
.mt-wedding-checkout .mt-checkout-open { margin-top: auto; }
.mt-wedding-checkout .mt-checkout-description { margin-top: calc(1em + .5vw); }
.mt-checkout-description .mt-checkout-beds { margin-top: calc(1em + .5vw); font-weight: 700; }
.mt-checkout-copy > .mt-checkout-beds { margin: .5vw 0 2em; font-weight: 700; }
.mt-checkout-subtitle { font-family: var(--h1-font-family); font-size: var(--magic-heading-small-font-size); letter-spacing: .03em; margin-bottom: .65em; }
.mt-checkout-copy h2 { font-size: var(--magic-heading-font-size, var(--magic-heading-large-font-size)); }
.mt-checkout-description { margin-block: 1em 2em; }
.mt-checkout-gallery { position: relative; align-self: start; display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: .7vw; min-width: 0; }
.mt-checkout-photo { margin: 0; padding: .45vw; background: var(--mt-checkout-surface); min-width: 0; }
.mt-checkout-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mt-checkout-photo-1 { grid-column: 1 / 9; aspect-ratio: 1.36; }
.mt-checkout-photo-2 { grid-column: 9 / 13; aspect-ratio: .82; margin-top: 2vw; }
.mt-checkout-photo-3 { grid-column: 2 / 6; aspect-ratio: .8; }
.mt-checkout-photo-4 { grid-column: 6 / 13; aspect-ratio: 1.36; margin-top: .5vw; }
.mt-checkout-photo:only-child { grid-column: 1 / -1; aspect-ratio: 1.36; }
/* Apply before JavaScript adds mt-checkout-picker to avoid the theme's initial border. */
:is(.guest-room-picker, .wedding-room-picker, .mt-checkout-picker) article[data-id] { cursor: pointer; border: .25rem solid transparent; transition: none; }
.mt-checkout-picker article.is-room-selected { background: #f2e8e3; border-color: #f2e8e3; }
.wedding-room-picker.mt-checkout-picker article.is-room-selected { background: #efe4dd; border-color: #efe4dd; }
.mt-checkout-picker .room-img { position: relative; }
.mt-checkout-picker .room-txt :is(.post_title, ._mt_subtitle),
.mt-checkout-picker .room-txt .post_title a { color: #081533 !important; }
.mt-checkout-picker .room-txt ._mt_bed_summary { font-weight: 700; }
.mt-checkout-picker .room-txt :is(.post_title, ._mt_subtitle),
.mt-checkout-copy :is(h2, .mt-checkout-subtitle) { white-space: pre-line; }
.mt-checkout-picker article.is-room-selected .room-img::after { content: '\2713'; position: absolute; top: 24px; right: 24px; width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; background: #efe4dd; color: #b9826b; font: bold 50px/1 sans-serif; z-index: 2; pointer-events: none; }
.mt-checkout-content-column { min-width: 0; }
.mt-checkout-booking { width: 110%; padding: 2vw 3vw; margin: 0; }
.mt-checkout-booking .hb-search-submit-wrapper input[type="submit"] { font-size: var(--magic-button-font-size-small, .85em) !important; padding-inline: 1em; white-space: nowrap; }
.mt-checkout-booking > .l-section-h { width: 100%; max-width: none; margin: 0; }
.mt-checkout-booking .hb-search-fields-and-submit { display: block; }
.mt-checkout-booking .hb-search-fields { display: flex; flex-wrap: wrap; gap: 12px; }
.mt-checkout-booking .hb-search-fields > p { float: none; width: auto; flex: 1 1 130px; }
.mt-checkout-booking .hb-search-submit-wrapper { float: none; width: 100%; }
.mt-checkout-picker article[data-id]:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
/* Booking details: aligned label/control columns, scoped to the room selector. */
.mt-checkout-booking .hb-details-fields > p {
	display: grid; grid-template-columns: minmax(0, 32%) minmax(0, 1fr);
	align-items: center; gap: max(.5vw, 8px); margin-bottom: max(.5vw, 8px);
}
.mt-checkout-booking .hb-details-fields > p > label { margin: 0; text-align: left; }
.mt-checkout-booking .hb-details-fields > p > :not(label) { grid-column: 2; min-width: 0; width: 100%; }
.mt-checkout-booking .hb-details-fields .selectize-control { margin: 0; }
.mt-checkout-booking :is(h3, .hb-title) { margin-bottom: max(.5vw, 8px); }
.mt-checkout-booking :is(.hb-searched-summary, .hb-step-button, .hb-accom) { margin-bottom: max(.5vw, 8px); }
.mt-checkout-booking .hb-accom {
	background: #f4ece8; color: #081533; border: 1px solid #b9826b;
	border-radius: 0; padding: max(.5vw, 12px);
}
.mt-checkout-booking .hb-accom.hb-accom-selected { background: #efe4dd; border-color: #b9826b; }
.mt-checkout-booking :is(.hb-change-search-wrapper, .hb-step-button) input {
	background: #b9826b; color: #f4ece8; border: 1px solid #b9826b;
	padding: .65em 1em; line-height: 1.3; height: auto; white-space: nowrap;
	font-size: var(--magic-button-font-size-small, .85em) !important;
}
.mt-checkout-booking :is(.hb-change-search-wrapper, .hb-step-button) input:hover { background: #081533; border-color: #081533; color: #f4ece8; }
.mt-checkout-booking :is(.hb-change-search-wrapper, .hb-step-button) { margin-top: max(.5vw, 8px); }
.mt-checkout-booking .hb-change-search-wrapper { width: auto; min-width: max-content; }
.mt-checkout-booking .hb-change-search-wrapper input { width: auto !important; padding-inline: .75em !important; }
@media(max-width:480px) {
	.mt-checkout-booking .hb-details-fields > p { grid-template-columns: 1fr; }
	.mt-checkout-booking .hb-details-fields > p > :not(label) { grid-column: 1; }
}
@media(max-width:800px) {
	.mt-checkout-layout { grid-template-columns: 1fr; }
	.mt-checkout-panel { width: 100%; padding: 7%; }
	.mt-checkout-booking { width: 100%; padding: 24px 7%; }
	.mt-checkout-gallery { margin-top: 24px; gap: 6px; }
	.mt-checkout-photo { padding: 6px; }
}
@media(prefers-reduced-motion:reduce) { .mt-checkout-picker article[data-id] { transition: none; } }
.mt-checkout-open { background: #b9826b; color: #f4ece8; margin-top: .5vw; text-transform: uppercase; font-weight: 700; border-radius: var(--magic-radius-small); }
.mt-checkout-modal[hidden] { display: none !important; }
.mt-checkout-modal { position: fixed; inset: 0; z-index: 100000; overflow-y: auto; overscroll-behavior: contain; background: transparent; padding: max(3vw, 20px); isolation: isolate; }
.mt-checkout-expanding-overlay { position: fixed; inset: 0; background: rgb(8 21 51 / 60%); pointer-events: none; z-index: -1; }
.mt-checkout-modal.is-transitioning { overflow: hidden; }
.mt-checkout-modal.is-transitioning .mt-checkout-modal-surface { pointer-events: none; }
.mt-checkout-modal-surface { position: relative; width: min(900px, 100%); margin: 0 auto; background: #efe4dd; color: #081533; padding: max(2vw, 20px); }
.mt-checkout-modal .mt-checkout-booking { width: 100%; padding: 24px 0 0; }
.mt-checkout-close { position: absolute; right: 12px; top: 8px; background: transparent; color: #081533; border: 0; padding: 4px 10px; font-size: 32px; line-height: 1; }
.datepick-popup:has(.hb-datepick) { z-index: 100001 !important; }
body:has(.mt-checkout-modal:not([hidden])) .hb-datepick-popup-wrapper { z-index: 100001 !important; }
.mt-checkout-modal .hb-search-fields > .hb-people-wrapper-adults { flex: 0.5 1 65px; }
.mt-checkout-modal .hb-search-fields > .hb-search-submit-wrapper { flex: 1.5 1 195px; }
.mt-checkout-modal .hb-search-submit-wrapper input[type="submit"] { padding-inline: .75em !important; white-space: nowrap !important; }
.mt-checkout-modal .hb-title-search-form { font-size: var(--magic-heading-medium-font-size, 1.7vw) !important; line-height: var(--magic-heading-medium-line-height, 1.5); }
.mt-checkout-modal .mt-checkout-booking > h3 { font-size: var(--magic-heading-medium-font-size, 1.7vw); line-height: 1.5; }
.mt-checkout-modal .gform_wrapper input[type="submit"] { background: #b9826b; color: #f4ece8; border-color: #b9826b; font-size: 1rem; font-weight: 700; line-height: 1.4; padding: .8em 1.5em; text-transform: uppercase; }
.wedding-room-picker .room-txt .w-btn { white-space: nowrap; }
.mt-checkout-modal .hb-search-fields { align-items: flex-end; }
.mt-checkout-modal .hb-search-fields > p { margin-block: 0; }
.mt-checkout-modal .hb-search-submit-wrapper > label { display: none; }
.mt-checkout-modal .hb-search-submit-wrapper input[type="submit"] { margin: 0; min-height: 48px; }
.mt-checkout-modal .hb-search-fields :is(.hb-check-in-date, .hb-check-out-date, .hb-adults, input[type="submit"]) { box-sizing: border-box; height: 50px !important; min-height: 50px; padding-block: 0 !important; }

@media (max-width: 800px) {
 body.page-id-480 { --magic-section-spacing-medium: 24px; }
 .page-id-480 .guest-room-picker .room-txt { min-height: 280px; padding-right: 24px; }
 .mt-checkout-panel { padding: 24px; }
 .mt-wedding-checkout .mt-checkout-panel { min-height: 360px; }
 .mt-checkout-booking { padding: 24px; }
 .mt-wedding-checkout .mt-checkout-description { margin-top: 24px; }
 .mt-checkout-description .mt-checkout-beds { margin-top: 24px; }
 .mt-checkout-copy > .mt-checkout-beds { margin: 8px 0 24px; }
 .mt-checkout-photo-2 { margin-top: 16px; }
 .mt-checkout-photo-4 { margin-top: 4px; }
 .mt-checkout-open { margin-top: 8px; }
 .mt-wedding-checkout .mt-checkout-open { margin-top: auto; }
 .mt-checkout-modal, .mt-checkout-modal-surface { padding: 20px; }
 .mt-checkout-modal .hb-title-search-form,
 .mt-checkout-modal .mt-checkout-booking > h3 { font-size: 24px !important; }
}

/* Compact room cards retain an image in the upper-right corner. */
@media (max-width: 800px) {
 .mt-checkout-layout > .mt-checkout-gallery { order: -1; margin: 0 0 20px; }
 :is(.guest-room-picker, .wedding-room-picker) .room-row-h { position: relative; display: block; }
 :is(.guest-room-picker, .wedding-room-picker) .room-txt { padding: 20px !important; min-height: 300px; }
 :is(.guest-room-picker, .wedding-room-picker) .room-img { position: absolute; top: 12px; right: 12px; width: 110px; margin: 0 !important; }
 :is(.guest-room-picker, .wedding-room-picker) .room-txt :is(.post_title, ._mt_subtitle) { padding-right: 118px; }
 :is(.guest-room-picker, .wedding-room-picker) .room-txt ._mt_short_description { margin-top: 20px; }
 .mt-checkout-picker article.is-room-selected .room-img::after { width: 32px; height: 32px; top: 6px; right: 6px; font-size: 24px; }
}
