.mrb-builder {
	--mrb-accent: #28745d;
	--mrb-accent-soft: #e9f5f0;
	--mrb-border: #d9dfe2;
	--mrb-ink: #26292c;
	--mrb-muted: #687078;
	color: var(--mrb-ink);
	margin: 2rem auto;
	max-width: 1120px;
}

.mrb-access {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 3rem auto;
	max-width: 560px;
	padding: 1rem;
}

.mrb-access__card {
	background: #fff;
	border: 1px solid #cfdadd;
	border-radius: 14px;
	box-shadow: 0 16px 42px rgba(28, 42, 47, .12);
	display: grid;
	gap: .8rem;
	padding: 1.5rem;
	width: 100%;
}

.mrb-access__card h2,
.mrb-access__card p {
	margin: 0;
}

.mrb-access__card label {
	font-size: .9rem;
	font-weight: 800;
}

.mrb-access__card input[type="password"] {
	background: #fff;
	border: 1px solid #aebbc0;
	border-radius: 8px;
	box-shadow: none;
	font: inherit;
	min-height: 46px;
	padding: .65rem .75rem;
	width: 100%;
}

.mrb-access__card input[type="password"]:focus {
	border-color: #28745d;
	box-shadow: 0 0 0 3px rgba(40, 116, 93, .14);
	outline: 0;
}

.mrb-access__submit {
	background: #28745d;
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	min-height: 46px;
	padding: .65rem 1rem;
}

.mrb-builder *,
.mrb-builder *::before,
.mrb-builder *::after {
	box-sizing: border-box;
}

.mrb-builder__header {
	align-items: center;
	background: linear-gradient(135deg, #214f46, var(--mrb-accent));
	border-radius: 14px;
	color: #fff;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 1rem;
	padding: 1.5rem 1.75rem;
}

.mrb-builder__header h1,
.mrb-builder__header p {
	color: inherit;
	margin: 0;
}

.mrb-builder__header h1 {
	font-size: clamp(1.7rem, 4vw, 2.35rem);
	line-height: 1.1;
	margin: .15rem 0 .35rem;
}

.mrb-builder__eyebrow {
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .09em;
	opacity: .78;
	text-transform: uppercase;
}

.mrb-builder__status {
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 700;
	padding: .45rem .75rem;
	white-space: nowrap;
}

.mrb-builder__nav {
	background: #fff;
	border: 1px solid var(--mrb-border);
	border-radius: 10px;
	display: flex;
	gap: .35rem;
	margin-bottom: 1rem;
	overflow-x: auto;
	padding: .5rem;
	position: relative;
	z-index: 2;
}

.mrb-builder__nav a {
	border-radius: 7px;
	color: var(--mrb-muted);
	font-size: .78rem;
	font-weight: 700;
	padding: .5rem .65rem;
	text-decoration: none;
	white-space: nowrap;
}

.mrb-builder__nav a:hover,
.mrb-builder__nav a:focus {
	background: var(--mrb-accent-soft);
	color: var(--mrb-accent);
}

.mrb-section {
	background: #fff;
	border: 1px solid var(--mrb-border);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(28, 42, 47, .05);
	margin-bottom: 1rem;
	overflow: hidden;
	scroll-margin-top: 5rem;
}

.mrb-section__header {
	align-items: flex-start;
	background: #f7f9f9;
	border-bottom: 1px solid var(--mrb-border);
	display: flex;
	gap: .75rem;
	padding: 1rem 1.2rem;
}

.mrb-section__header > span {
	align-items: center;
	background: var(--mrb-accent);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: .78rem;
	font-weight: 800;
	height: 1.65rem;
	justify-content: center;
	width: 1.65rem;
}

.mrb-section__header h2,
.mrb-section__header p {
	margin: 0;
}

.mrb-section__header h2 {
	font-size: 1.05rem;
	line-height: 1.3;
}

.mrb-section__header p {
	color: var(--mrb-muted);
	font-size: .78rem;
	margin-top: .12rem;
}

.mrb-section__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: .4rem 1.2rem 1.1rem;
}

.mrb-section__fields > .acf-field,
.mrb-featured-field,
.mrb-gallery-field {
	border-top: 0 !important;
	min-width: 0;
	padding: .8rem .6rem !important;
}

/* Isolate ACF controls from broad front-end theme rules. */
.mrb-builder .acf-field,
.mrb-builder .acf-field .acf-label,
.mrb-builder .acf-field .acf-input {
	float: none !important;
	min-width: 0 !important;
	width: 100% !important;
}

.mrb-builder .acf-field .acf-label {
	float: none !important;
	margin: 0 0 .4rem !important;
	padding: 0 !important;
}

.mrb-builder .acf-field .acf-label label {
	font-size: .88rem !important;
	font-weight: 750 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	word-break: normal !important;
}

.mrb-builder .acf-field :is(input[type="text"], input[type="number"], input[type="url"], input[type="email"], textarea, select) {
	box-sizing: border-box !important;
	font-size: .88rem !important;
	line-height: 1.4 !important;
	max-width: none !important;
	min-height: 42px !important;
	width: 100% !important;
}

.mrb-builder .acf-field textarea {
	min-height: 120px !important;
}

.mrb-builder .acf-radio-list,
.mrb-builder .acf-checkbox-list {
	display: grid !important;
	gap: .38rem !important;
	grid-template-columns: minmax(0, 1fr) !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.mrb-builder .acf-radio-list li,
.mrb-builder .acf-checkbox-list li {
	display: block !important;
	float: none !important;
	font-size: .85rem !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
	width: 100% !important;
}

.mrb-builder .acf-radio-list li label,
.mrb-builder .acf-checkbox-list li label {
	align-items: flex-start !important;
	display: flex !important;
	font-size: inherit !important;
	gap: .42rem !important;
	line-height: inherit !important;
	margin: 0 !important;
	max-width: 100% !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.mrb-builder .acf-radio-list input[type="radio"],
.mrb-builder .acf-checkbox-list input[type="checkbox"] {
	flex: 0 0 auto !important;
	height: 18px !important;
	margin: .05rem 0 0 !important;
	min-height: 18px !important;
	width: 18px !important;
}

.mrb-builder .acf-true-false label {
	align-items: center !important;
	display: flex !important;
	font-size: .85rem !important;
	gap: .42rem !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	word-break: normal !important;
}

.mrb-builder .acf-true-false input[type="checkbox"] {
	flex: 0 0 auto !important;
	height: 18px !important;
	margin: 0 !important;
	min-height: 18px !important;
	width: 18px !important;
}

.mrb-builder .acf-input-wrap,
.mrb-builder .acf-input-wrap input {
	float: none !important;
	max-width: none !important;
	width: 100% !important;
}

.mrb-builder .wp-editor-wrap,
.mrb-builder .wp-editor-container,
.mrb-builder .mce-tinymce,
.mrb-builder .mce-container,
.mrb-builder .mce-container-body {
	max-width: 100% !important;
	width: 100% !important;
}

.mrb-builder .wp-editor-tools {
	align-items: flex-end !important;
	display: flex !important;
	justify-content: flex-end !important;
	min-height: 34px !important;
}

.mrb-builder .wp-media-buttons {
	margin-right: auto !important;
}

.mrb-builder .wp-editor-tabs {
	display: flex !important;
	width: auto !important;
}

.mrb-builder .wp-switch-editor,
.mrb-builder .wp-media-buttons .button,
.mrb-builder .quicktags-toolbar .ed_button,
.mrb-builder .quicktags-toolbar input[type="button"] {
	display: inline-block !important;
	float: none !important;
	height: auto !important;
	margin: 0 2px 0 0 !important;
	max-width: none !important;
	min-height: 30px !important;
	padding: 3px 8px !important;
	width: auto !important;
}

.mrb-builder .quicktags-toolbar {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 3px !important;
	padding: 6px !important;
}

.mrb-builder .wp-editor-area {
	box-sizing: border-box !important;
	min-height: 260px !important;
	width: 100% !important;
}

.mrb-section--amenities .mrb-section__fields,
.mrb-section--months .mrb-section__fields {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mrb-section--property .mrb-section__fields {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mrb-section--rates .mrb-section__fields {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mrb-section--listing .acf-field[data-name="_post_content"],
.mrb-section--listing .mrb-gallery-field,
.mrb-section--stay .acf-field[data-name="special_notes"] {
	grid-column: 1 / -1;
}

.mrb-featured-field__label,
.mrb-gallery-field__label {
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 8px;
}

.mrb-featured-field__preview {
	align-items: center;
	background: #f5f6f7;
	border: 1px dashed #b9c1c6;
	border-radius: 7px;
	color: var(--mrb-muted);
	display: flex;
	height: 150px;
	justify-content: center;
	margin-bottom: .6rem;
	overflow: hidden;
	padding: 1rem;
	text-align: center;
}

.mrb-featured-field__preview img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.mrb-gallery-field__grid,
.mrb-gallery-field__new {
	display: grid;
	gap: .65rem;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	margin-top: .7rem;
}

.mrb-gallery-field__new:empty {
	display: none;
}

.mrb-gallery-field__item {
	aspect-ratio: 1;
	background: #f5f6f7;
	border: 1px solid var(--mrb-border);
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}

.mrb-gallery-field__item img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.mrb-gallery-field__item [data-mrb-gallery-remove] {
	align-items: center;
	background: rgba(24, 31, 34, .82);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 20px;
	height: 30px;
	justify-content: center;
	line-height: 1;
	padding: 0 0 2px;
	position: absolute;
	right: 6px;
	top: 6px;
	width: 30px;
}

.mrb-gallery-field__empty {
	background: #f5f6f7;
	border: 1px dashed #b9c1c6;
	border-radius: 7px;
	color: var(--mrb-muted);
	margin: .7rem 0;
	padding: 1rem;
	text-align: center;
}

.mrb-gallery-field__controls {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: .8rem;
}

.mrb-gallery-field__controls input[type="file"] {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.mrb-file-button {
	background: var(--mrb-accent);
	border-radius: 7px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: .85rem;
	font-weight: 750;
	padding: .6rem .85rem;
}

.mrb-builder .acf-form-submit {
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
 margin: 1rem 0;
 padding: 0;
 position: relative;
 text-align: center;
 z-index: 2;
}

.mrb-builder .acf-form-submit .acf-button {
	background: var(--mrb-accent);
	border: 0;
	border-radius: 7px;
	color: #fff !important;
	cursor: pointer;
	font-size: .9rem;
	font-weight: 800;
	min-height: 84px !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
	display: block;
	height: auto;
	white-space: normal;
	padding: 1.3rem 1.1rem;
}

.mrb-builder .acf-form-submit .acf-button:hover,
.mrb-builder .acf-form-submit .acf-button:focus,
.mrb-builder .acf-form-submit .acf-button:active {
	color: #fff !important;
}

.mrb-notice {
	border-radius: 8px;
	margin: 1rem 0;
	padding: .8rem 1rem;
}

.mrb-notice--success {
	background: #e8f7ef;
	border: 1px solid #afd9c0;
	color: #205d3c;
}

.mrb-notice--success a {
	font-weight: 700;
	margin-left: .7rem;
}

.mrb-notice--error {
	background: #fff0f0;
	border: 1px solid #e3b4b4;
	color: #7d2424;
}

/*
 * Front-end themes commonly apply !important widths to every form control.
 * Keep this compatibility layer last and highly scoped so ACF retains its
 * intended layout without changing forms elsewhere on the site.
 */
body .mrb-builder .acf-form-fields .mrb-section__fields > .acf-field,
body .mrb-builder .acf-form-fields .mrb-section__fields > .acf-field > .acf-input,
body .mrb-builder .acf-form-fields .mrb-section__fields > .acf-field > .acf-label {
	float: none !important;
	max-width: none !important;
	min-width: 0 !important;
	width: 100% !important;
}

body .mrb-builder .acf-form-fields :is(.acf-radio-list, .acf-checkbox-list),
body .mrb-builder .acf-form-fields :is(.acf-radio-list, .acf-checkbox-list) > li,
body .mrb-builder .acf-form-fields :is(.acf-radio-list, .acf-checkbox-list) > li > label,
body .mrb-builder .acf-form-fields .acf-true-false label {
	float: none !important;
	max-width: none !important;
	min-width: 0 !important;
	width: 100% !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body .mrb-builder .acf-form-fields :is(.acf-radio-list, .acf-checkbox-list) > li > label,
body .mrb-builder .acf-form-fields .acf-true-false label {
	display: flex !important;
	white-space: normal !important;
}

body .mrb-builder .acf-form-fields .acf-field-number .acf-input-wrap {
	max-width: 190px !important;
	width: 100% !important;
}

body .mrb-builder .acf-form-fields .acf-field-number input[type="number"] {
	display: block !important;
	inline-size: 100% !important;
	max-width: 190px !important;
	min-width: 0 !important;
	width: 100% !important;
}

/* Keep ACF currency prepend/input/append elements together as one control. */
body .mrb-builder .mrb-section--rates .acf-field-number > .acf-input {
	align-items: stretch !important;
	display: flex !important;
	flex-wrap: nowrap !important;
}

body .mrb-builder .mrb-section--rates .acf-field-number .acf-input-prepend,
body .mrb-builder .mrb-section--rates .acf-field-number .acf-input-append {
	align-items: center !important;
	background: #f5f6f7 !important;
	border: 1px solid #9aa3a8 !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	float: none !important;
	font-size: .82rem !important;
	height: 42px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: 42px !important;
	padding: 0 .6rem !important;
	white-space: nowrap !important;
	width: auto !important;
}

body .mrb-builder .mrb-section--rates .acf-field-number .acf-input-prepend {
	border-radius: 6px 0 0 6px !important;
	border-right: 0 !important;
	order: 1;
}

body .mrb-builder .mrb-section--rates .acf-field-number .acf-input-wrap {
	flex: 1 1 auto !important;
	max-width: none !important;
	min-width: 0 !important;
	order: 2;
	width: auto !important;
}

body .mrb-builder .mrb-section--rates .acf-field-number .acf-input-append {
	border-left: 0 !important;
	border-radius: 0 6px 6px 0 !important;
	order: 3;
}

body .mrb-builder .mrb-section--rates .acf-field-number input[type="number"] {
	border-radius: 0 !important;
	height: 42px !important;
	max-width: none !important;
	min-height: 42px !important;
}

body .mrb-builder .mrb-section--rates .mrb-rate-note {
	color: var(--mrb-muted) !important;
	display: block !important;
	font-size: .72rem !important;
	font-style: normal !important;
	line-height: 1.35 !important;
	margin: .3rem 0 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body .mrb-builder .quicktags-toolbar {
	display: flex !important;
	flex-flow: row wrap !important;
	width: 100% !important;
}

body .mrb-builder .quicktags-toolbar :is(input.ed_button, input.button, button) {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	inline-size: auto !important;
	max-width: max-content !important;
	min-width: 0 !important;
	width: auto !important;
}

body .mrb-builder .acf-field-wysiwyg .wp-editor-container,
body .mrb-builder .acf-field-wysiwyg .wp-editor-area,
body .mrb-builder .acf-field-wysiwyg iframe,
body .mrb-builder .acf-field-gallery .acf-gallery,
body .mrb-builder .acf-field-google-map .acf-google-map {
	max-width: none !important;
	width: 100% !important;
}

body .mrb-builder .acf-field-gallery .acf-gallery {
	height: 320px !important;
	min-height: 260px !important;
}

@media (max-width: 800px) {
	.mrb-builder__header {
		align-items: flex-start;
		flex-direction: column;
		gap: .8rem;
	}

	.mrb-section__fields,
	.mrb-section--property .mrb-section__fields,
	.mrb-section--amenities .mrb-section__fields,
	.mrb-section--months .mrb-section__fields,
	.mrb-section--rates .mrb-section__fields {
		grid-template-columns: 1fr;
	}

	.mrb-section--listing .acf-field[data-name="_post_content"],
	.mrb-section--listing .mrb-gallery-field,
	.mrb-section--stay .acf-field[data-name="special_notes"] {
		grid-column: auto;
	}
}

@media (min-width: 801px) and (max-width: 1100px) {
	.mrb-section--property .mrb-section__fields,
	.mrb-section--amenities .mrb-section__fields,
	.mrb-section--months .mrb-section__fields,
	.mrb-section--rates .mrb-section__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* Private contact inputs: same field rhythm, three columns on desktop. */
body .mrb-builder .mrb-owner-details {
 margin-bottom: 1.5rem;
}
body .mrb-builder .mrb-owner-details > .acf-fields {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 1.2rem;
 margin: 0 0 1.2rem;
 padding: .8rem 0;
 border: 0;
 align-items: start;
}
body .mrb-builder .mrb-owner-details > .acf-fields::before,
body .mrb-builder .mrb-owner-details > .acf-fields::after {
 display: none;
}
body .mrb-builder .mrb-owner-details > .acf-fields > .acf-field {
 margin: 0 !important;
 padding: 0 !important;
 border: 0 !important;
 clear: none !important;
 min-width: 0 !important;
}
@media (max-width: 800px) {
 body .mrb-builder .mrb-owner-details > .acf-fields {
  grid-template-columns: minmax(0, 1fr);
 }
}

/* Address search and precise map pin, within the existing location field. */
.mrb-builder .mrb-location-map { height: 360px; width: 100%; border-radius: 8px; margin: .8rem 0; }
.mrb-builder .mrb-location-search gmp-place-autocomplete { width: 100%; }
.mrb-builder .mrb-location-picker > p { font-size: .85rem; margin-bottom: .65rem; }
.mrb-builder .mrb-location-picker + details summary { cursor: pointer; margin-bottom: .5rem; }
.mrb-section--listing .acf-field[data-name="location"] { grid-column: 1 / -1; }
@media (min-width: 801px) {
 .mrb-builder__nav { position: sticky; top: var(--mrb-sticky-top, 0px); z-index: 50; background: #fff; }
 .mrb-builder .mrb-section, .mrb-builder .mrb-owner-details { scroll-margin-top: calc(var(--mrb-sticky-top, 0px) + var(--mrb-nav-height, 70px) + 16px); }
}
@media (max-width: 800px) {
 .mrb-builder .mrb-owner-details { scroll-margin-top: 6rem; }
 .mrb-builder .mrb-location-map { height: 280px; }
}

/* Keep submission states in the same green palette as the form. */
body .mrb-builder .acf-form-submit .acf-button {
 background: var(--mrb-accent) !important;
 transition: background-color .2s ease;
}
body .mrb-builder .acf-form-submit .acf-button:hover,
body .mrb-builder .acf-form-submit .acf-button:focus,
body .mrb-builder .acf-form-submit .acf-button:active {
 background: #205d4a !important;
 color: #fff !important;
}
@media (min-width: 801px) {
 body .mrb-builder .acf-form-submit .acf-button {
  font-size: 1.8rem !important;
  line-height: 1.2 !important;
 }
}

/* Keep preparation items as cohesive text rows with top-aligned check icons. */
body .mrb-builder .mrb-checklist > .w-iconbox {
 display: grid;
 grid-template-columns: 1.35rem minmax(0, 1fr);
 align-items: start;
 gap: .75rem;
 margin: 1rem 0 0;
}
body .mrb-builder .mrb-checklist .w-iconbox-icon {
 align-self: start;
 flex: none;
 width: 1.35rem;
 height: auto;
 margin: .15rem 0 0;
 line-height: 1.4;
}
body .mrb-builder .mrb-checklist .w-iconbox-meta {
 min-width: 0;
 padding: 0;
 line-height: 1.65;
 text-wrap: balance;
}
body .mrb-builder .mrb-checklist .w-iconbox-title {
 display: inline;
 margin: 0 .3em 0 0;
 padding: 0;
 line-height: inherit;
}
body .mrb-builder .mrb-checklist .w-iconbox-text,
body .mrb-builder .mrb-checklist .w-iconbox-text p {
 display: inline;
 margin: 0;
 padding: 0;
 line-height: inherit;
}

@media (min-width: 801px) {
 .mrb-builder__nav.is-stuck {
  box-sizing: border-box;
  width: var(--mrb-viewport-width);
  max-width: none;
  margin-left: calc(-1 * var(--mrb-content-left));
  margin-right: 0;
  padding-left: calc(var(--mrb-content-left) + .5rem);
  padding-right: calc(var(--mrb-content-right) + .5rem);
  border: 0;
  border-bottom: 1px solid var(--mrb-border);
  border-radius: 0;
  box-shadow: none;
 }
}

@media (min-width: 801px) {
 .mrb-builder__nav a.is-active {
  background: var(--mrb-accent-soft);
  color: var(--mrb-accent);
 }
}

/* Native mobile section picker replaces the horizontally scrolling links. */
.mrb-mobile-nav { display: none; }
@media (max-width: 800px) {
 .mrb-builder__nav.has-mobile-control {
  display: block;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
 }
 .mrb-builder__nav.has-mobile-control > a { display: none; }
 .mrb-mobile-nav { display: block; width: 100%; }
 .mrb-mobile-nav label {
  display: block;
  margin-bottom: .4rem;
  color: var(--mrb-muted);
  font-size: .85rem;
  font-weight: 700;
 }
 .mrb-mobile-nav select {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-height: 48px;
  padding: .65rem .75rem;
  border: 1px solid var(--mrb-border);
  border-radius: 7px;
  background-color: #fff;
  background-image: none;
  color: var(--mrb-text, #243630);
  font-family: inherit;
  font-size: 16px !important;
  line-height: 1.4;
  appearance: auto;
  -webkit-appearance: menulist;
 }
}
