.wjbf-flow {
	--wjbf-primary: #499eb0;
	--wjbf-primary-dark: #367f8f;
	--wjbf-radius-control: 10px;
	--wjbf-radius-card: 14px;
	--wjbf-radius-panel: 18px;
	--wjbf-shadow-card: 0 8px 24px rgba(28, 49, 41, 0.06);
	--wjbf-shadow-card-hover: 0 14px 32px rgba(28, 49, 41, 0.10);
	--wjbf-shadow-button: 0 5px 16px rgba(73, 158, 176, 0.20);
	--wjbf-shadow-button-hover: 0 8px 22px rgba(73, 158, 176, 0.28);
	background: #fff;
	border: 1px solid rgba(73, 158, 176, 0.22);
	border-radius: var(--wjbf-radius-panel);
	box-shadow: 0 18px 50px rgba(28, 49, 41, 0.08);
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1120px;
	padding: clamp(24px, 4vw, 48px);
	width: 100%;
}

.wjbf-booking-shell { width: 100%; }
.wjbf-flow--wide { max-width: 1120px; }
.wjbf-dashboard-shell { --wjbf-primary:#499eb0; --wjbf-primary-dark:#367f8f; --wjbf-radius-card:14px; --wjbf-radius-panel:18px; --wjbf-shadow-card:0 8px 24px rgba(28,49,41,.06); margin:0 auto; max-width:1180px; padding:clamp(20px,3vw,38px) 20px 52px; }
.wjbf-dashboard-header { margin: 0 auto 22px; max-width: 1120px; }
.wjbf-dashboard-header h1 { color:#1f332c; font-size:clamp(34px,5vw,52px); line-height:1.08; margin:0 0 10px; }
.wjbf-dashboard-header > p:last-child { color:#53635d; font-size:17px; margin:0; }
.wjbf-dashboard-status { background:#f1f9fb; border:1px solid #c7e3e9; border-radius:var(--wjbf-radius-card); color:#367f8f; margin:0 auto 20px; max-width:1120px; padding:15px 18px; }
.wjbf-dashboard-bookly { background:#fff; border:1px solid rgba(73,158,176,.22); border-radius:var(--wjbf-radius-panel); box-shadow:var(--wjbf-shadow-card); margin:0 auto 20px; max-width:1120px; padding:clamp(20px,3vw,34px); }
.wjbf-dashboard-bookly h2 { color:#1f332c; margin-top:0; }

.wjbf-flow *,
.wjbf-flow *::before,
.wjbf-flow *::after {
	box-sizing: border-box;
}

.wjbf-flow__header {
	margin-bottom: 30px;
}

.wjbf-flow__header h2,
.wjbf-flow--scheduler > h2 {
	color: #1e332b;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.12;
	margin: 0 0 12px;
}

.wjbf-flow__header p,
.wjbf-disclaimer {
	color: #53635d;
	font-size: 15px;
	line-height: 1.65;
}

.wjbf-service-picker,
.wjbf-field fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.wjbf-service-picker legend,
.wjbf-field > label,
.wjbf-field legend {
	color: #243f35;
	display: block;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 9px;
}

.wjbf-choice-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.wjbf-choice,
.wjbf-options label {
	cursor: pointer;
	position: relative;
}

.wjbf-choice input,
.wjbf-options input {
	opacity: 0;
	position: absolute;
}

.wjbf-choice span {
	align-items: flex-start;
	background: #f6f8f7;
	border: 1px solid #d9e1de;
	border-radius: var(--wjbf-radius-card);
	box-shadow: 0 3px 12px rgba(28, 49, 41, 0.04);
	display: flex;
	font-weight: 650;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 118px;
	padding: 18px;
	text-align: left;
	transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.wjbf-choice strong { color: #1f332c; font-size: 17px; }
.wjbf-choice small { color: #607168; display: block; font-size: 13px; font-weight: 400; line-height: 1.45; margin-top: 7px; }

.wjbf-choice input:checked + span,
.wjbf-choice input:focus-visible + span {
	background: color-mix(in srgb, var(--wjbf-primary) 9%, white);
	border-color: var(--wjbf-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--wjbf-primary) 20%, transparent);
}

.wjbf-choice:hover input:not(:checked) + span {
	border-color: #b9cac2;
	box-shadow: var(--wjbf-shadow-card);
	transform: translateY(-1px);
}

.wjbf-question-list {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	margin-top: 30px;
}

.wjbf-field[data-question-id*="notes"],
.wjbf-field[data-question-id*="priorities"],
.wjbf-field:has(textarea),
.wjbf-field:has(.wjbf-options) {
	grid-column: 1 / -1;
}

.wjbf-field input[type="text"],
.wjbf-field input[type="email"],
.wjbf-field input[type="number"],
.wjbf-field input[type="range"],
.wjbf-field select,
.wjbf-field textarea {
	background: #fff;
	border: 1px solid #bdc9c4;
	border-radius: var(--wjbf-radius-control);
	color: #1f2f29;
	font: inherit;
	min-height: 48px;
	padding: 10px 12px;
	width: 100%;
}

.wjbf-field textarea {
	min-height: 110px;
	resize: vertical;
}

.wjbf-field input:focus,
.wjbf-field select:focus,
.wjbf-field textarea:focus {
	border-color: var(--wjbf-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wjbf-primary) 17%, transparent);
	outline: none;
}

.wjbf-help {
	color: #687871;
	font-size: 13px;
	margin: -4px 0 8px;
}

.wjbf-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wjbf-options span {
	background: #f7f8f8;
	border: 1px solid #d7dfdc;
	border-radius: 999px;
	display: block;
	padding: 9px 15px;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.wjbf-options input:checked + span,
.wjbf-options input:focus-visible + span {
	background: var(--wjbf-primary);
	border-color: var(--wjbf-primary);
	color: #fff;
}

.wjbf-options label:hover input:not(:checked) + span {
	border-color: #b9cac2;
	box-shadow: 0 3px 10px rgba(28, 49, 41, 0.06);
}

.wjbf-submit {
	align-items: center;
	background: var(--wjbf-primary);
	border: 1px solid var(--wjbf-primary);
	border-radius: var(--wjbf-radius-control);
	box-shadow: var(--wjbf-shadow-button);
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 17px;
	font-weight: 700;
	margin-top: 12px;
	line-height: 1.25;
	min-height: 52px;
	justify-content: center;
	padding: 13px 22px;
	width: 100%;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

/* Some Elementor/theme link rules add underlines with higher specificity. These
 * controls are visually and semantically buttons, so keep their labels clean. */
a.wjbf-submit,
a.wjbf-submit:hover,
a.wjbf-submit:focus,
a.wjbf-secondary-link,
a.wjbf-secondary-link:hover,
a.wjbf-secondary-link:focus {
	text-decoration: none !important;
}

.wjbf-submit--inline { margin-top: 0; width: auto; }
.wjbf-submit:hover { background: var(--wjbf-primary-dark); border-color: var(--wjbf-primary-dark); box-shadow: var(--wjbf-shadow-button-hover); color: #fff; transform: translateY(-1px); }
.wjbf-submit:active { box-shadow: 0 2px 7px rgba(49, 92, 76, 0.14); transform: translateY(0); }
.wjbf-auth-gate > p > a.wjbf-submit {
	background: #fff;
	border: 1px solid var(--wjbf-primary);
	box-shadow: 0 2px 8px rgba(28, 49, 41, 0.06);
	color: var(--wjbf-primary);
	min-width: 150px;
	width: auto;
}
.wjbf-auth-gate > p > a.wjbf-submit:hover { background: #f5f8f6; border-color: var(--wjbf-primary-dark); box-shadow: 0 5px 14px rgba(28, 49, 41, 0.10); color: var(--wjbf-primary-dark); }

.wjbf-submit:disabled {
	cursor: wait;
	opacity: 0.7;
}

.wjbf-secondary-link {
	align-items: center;
	border: 1px solid var(--wjbf-primary);
	border-radius: var(--wjbf-radius-control);
	box-shadow: 0 2px 8px rgba(28, 49, 41, 0.04);
	color: var(--wjbf-primary);
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	line-height: 1.25;
	min-height: 48px;
	padding: 11px 18px;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.wjbf-secondary-link:hover {
	background: #f5f8f6;
	border-color: var(--wjbf-primary-dark);
	box-shadow: 0 5px 14px rgba(28, 49, 41, 0.08);
	color: var(--wjbf-primary-dark);
	transform: translateY(-1px);
}

:is(.wjbf-submit, .wjbf-secondary-button, .wjbf-secondary-link, .wjbf-property-card):focus-visible {
	outline: 3px solid rgba(49, 92, 76, 0.24);
	outline-offset: 3px;
}

.wjbf-dashboard-actions {
	border-top: 1px solid #dbe3df;
	margin-top: 22px;
	padding-top: 20px;
}

.wjbf-dashboard-actions p {
	color: #687871;
	font-size: 13px;
}

.wjbf-payout-card {
	margin-top: 32px;
}

.wjbf-form-error,
.wjbf-warning {
	background: #fff4e8;
	border-left: 4px solid #b95700;
	border-radius: var(--wjbf-radius-control);
	color: #633000;
	margin: 0 0 20px;
	padding: 13px 15px;
}

.wjbf-summary {
	background: #f4f7f6;
	border-radius: var(--wjbf-radius-card);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	margin: 22px 0;
	overflow: hidden;
}

.wjbf-summary > div {
	background: #f4f7f6;
	padding: 16px;
}

.wjbf-summary span,
.wjbf-summary strong {
	display: block;
}

.wjbf-summary span {
	color: #6d7c76;
	font-size: 12px;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.wjbf-summary strong {
	color: #203c31;
	font-size: 16px;
}

.wjbf-back {
	color: var(--wjbf-primary);
	font-weight: 650;
	text-decoration: none;
}

.wjbf-bookly {
	margin-top: 20px;
}

.wjbf-registration-form,
.wjbf-duration-form {
	display: grid;
	gap: 14px;
}

.wjbf-registration-form p {
	margin: 0;
}

.wjbf-registration-form label,
.wjbf-duration-form > label {
	color: #243f35;
	display: grid;
	font-size: 15px;
	font-weight: 700;
	gap: 7px;
}

.wjbf-registration-form input,
.wjbf-duration-form input,
.wjbf-duration-form select,
.wjbf-duration-form textarea {
	background: #fff;
	border: 1px solid #bdc9c4;
	border-radius: var(--wjbf-radius-control);
	color: #1f2f29;
	font: inherit;
	min-height: 48px;
	padding: 10px 12px;
	width: 100%;
}

.wjbf-honeypot {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.wjbf-success {
	background: #eef8f2;
	border-left: 4px solid #2f7a4e;
	border-radius: var(--wjbf-radius-control);
	color: #17462c;
	padding: 13px 15px;
}

.wjbf-duration-manager {
	margin-top: 32px;
}

.wjbf-duration-manager h3 {
	color: #1e332b;
	margin: 34px 0 14px;
}

.wjbf-duration-table-wrap {
	overflow-x: auto;
}

.wjbf-duration-table {
	border-collapse: collapse;
	width: 100%;
}

.wjbf-duration-table th,
.wjbf-duration-table td {
	border-bottom: 1px solid #dbe3df;
	padding: 12px 10px;
	text-align: left;
	vertical-align: top;
}

.wjbf-duration-table th {
	color: #53635d;
	font-size: 12px;
	text-transform: uppercase;
}

.wjbf-duration-table small {
	color: #687871;
	display: block;
	margin-top: 4px;
}

.wjbf-plan-summary {
	background: #f4f7f6;
	border-radius: var(--wjbf-radius-card);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
}

.wjbf-plan-summary > div {
	padding: 16px;
}

.wjbf-plan-summary span,
.wjbf-plan-summary strong {
	display: block;
}

.wjbf-plan-summary span {
	color: #6d7c76;
	font-size: 12px;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.wjbf-plan-summary strong {
	color: #203c31;
}

.wjbf-hours-table {
	border-collapse: collapse;
	margin-top: 20px;
	width: 100%;
}

.wjbf-hours-table th,
.wjbf-hours-table td {
	border-bottom: 1px solid #dbe3df;
	padding: 12px 8px;
	text-align: left;
	vertical-align: top;
}

.wjbf-hours-table form {
	display: grid;
	gap: 7px;
}

.wjbf-hours-table input,
.wjbf-hours-table textarea {
	border: 1px solid #bdc9c4;
	border-radius: var(--wjbf-radius-control);
	padding: 8px;
	width: 100%;
}

.wjbf-summary small { color: #607168; display: block; font-size: 12px; margin-top: 4px; }
.wjbf-property-section { border-bottom: 1px solid #dce5e0; margin-bottom: 30px; padding-bottom: 30px; }
.wjbf-section-heading, .wjbf-section-heading > div, .wjbf-property-card__top { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.wjbf-section-heading { color: #607168; margin-bottom: 14px; }
.wjbf-section-heading h3 { color: #1f332c; margin: 0; }
.wjbf-section-heading .wjbf-property-heading-actions { flex-wrap:wrap; justify-content:flex-end; }
.wjbf-property-count { font-size:13px; white-space:nowrap; }
.wjbf-add-property-button { margin:0; min-height:44px; padding:10px 16px; white-space:nowrap; }
.wjbf-step { align-items: center; background: var(--wjbf-primary); border-radius: 50%; color: #fff; display: inline-flex; font-size: 13px; font-weight: 800; height: 28px; justify-content: center; width: 28px; }
.wjbf-property-grid, .wjbf-dashboard-property-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit,minmax(min(100%,310px),1fr)); }
.wjbf-property-card, .wjbf-dashboard-property { background: #f5f8f6; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-card); box-shadow: var(--wjbf-shadow-card); color: #40534b; padding: 18px; text-decoration: none; }
.wjbf-property-card { display: grid; gap: 9px; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.wjbf-property-card:hover, .wjbf-property-card.is-selected { border-color: var(--wjbf-primary); box-shadow: var(--wjbf-shadow-card-hover); color: #40534b; transform: translateY(-1px); }
.wjbf-property-card__top { align-items: flex-start; }
.wjbf-property-card__top h3 { color: #1f332c; margin: 0; }
.wjbf-property-status { background: #fff; border: 1px solid #cad8d1; border-radius: 999px; color: #40534b; font-size: 11px; font-weight: 700; line-height: 1.2; padding: 5px 8px; text-align: right; }
.wjbf-property-status--established { background: #e9f6ef; border-color: #b9dcc7; color: #245d3c; }
.wjbf-property-form-wrap { margin-top: 14px; }
.wjbf-property-form-wrap summary { color: var(--wjbf-primary); cursor: pointer; font-weight: 750; padding: 8px 0; }
.wjbf-property-modal[hidden] { display:none !important; }
.wjbf-property-modal { align-items:center; display:flex; inset:0; justify-content:center; opacity:0; padding:clamp(14px,3vw,32px); position:fixed; transition:opacity .18s ease; z-index:999999; }
.wjbf-property-modal.is-open { opacity:1; }
.wjbf-property-modal__backdrop { background:rgba(18,35,29,.62); inset:0; position:absolute; }
.wjbf-property-modal__dialog { background:#fff; border:1px solid rgba(73,158,176,.25); border-radius:var(--wjbf-radius-panel); box-shadow:0 24px 70px rgba(18,35,29,.28); max-height:min(90vh,920px); max-width:900px; overflow:auto; padding:0 clamp(20px,4vw,38px) clamp(24px,4vw,38px); position:relative; width:100%; }
.wjbf-property-modal__dialog:focus { outline:none; }
.wjbf-property-modal__header { align-items:flex-start; background:#fff; border-bottom:1px solid #dce5e0; display:flex; gap:20px; justify-content:space-between; margin:0 calc(clamp(20px,4vw,38px) * -1) 24px; padding:24px clamp(20px,4vw,38px) 18px; position:sticky; top:0; z-index:2; }
.wjbf-property-modal__header h3 { color:#1f332c; font-size:clamp(24px,4vw,32px); line-height:1.15; margin:0; }
.wjbf-property-modal__eyebrow { color:var(--wjbf-primary-dark); font-size:12px; font-weight:800; letter-spacing:.08em; margin:0 0 5px; text-transform:uppercase; }
.wjbf-property-modal__close { align-items:center; background:#f5f8f6; border:1px solid #d3ddd8; border-radius:999px; color:#2f443b; cursor:pointer; display:inline-flex; flex:0 0 42px; font:inherit; font-size:28px; height:42px; justify-content:center; line-height:1; padding:0 0 3px; transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; width:42px; }
.wjbf-property-modal__close:hover { background:#fff; border-color:var(--wjbf-primary); box-shadow:0 5px 14px rgba(28,49,41,.12); transform:translateY(-1px); }
.wjbf-property-modal__dialog > .wjbf-property-form { margin-top:0; }
body.wjbf-modal-open { overflow:hidden; }
.wjbf-property-form { background: #f5f8f6; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-card); display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 10px; padding: 20px; }
.wjbf-property-form label, .wjbf-cadence label { color: #243f35; display: grid; font-size: 14px; font-weight: 700; gap: 6px; }
.wjbf-property-form input, .wjbf-property-form select, .wjbf-cadence select { background: #fff; border: 1px solid #bdc9c4; border-radius: var(--wjbf-radius-control); font: inherit; min-height: 48px; padding: 10px 12px; width: 100%; }
.wjbf-property-form input, .wjbf-property-form select, .wjbf-cadence select { transition: border-color .18s ease, box-shadow .18s ease; }
.wjbf-property-form__note { color: #607168; font-size: 13px; margin: 0; }
.wjbf-span-2 { grid-column: 1/-1; }
.wjbf-secondary-button { align-items:center; background: #fff; border: 1px solid var(--wjbf-primary); border-radius: var(--wjbf-radius-control); box-shadow: 0 2px 8px rgba(28,49,41,.04); box-sizing:border-box; color: var(--wjbf-primary); cursor: pointer; display:inline-flex; font-weight: 750; justify-content:center; line-height:1.25; min-height: 48px; padding: 11px 18px; transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.wjbf-secondary-button:hover { background: #f5f8f6; border-color: var(--wjbf-primary-dark); box-shadow: 0 5px 14px rgba(28,49,41,.08); color: var(--wjbf-primary-dark); transform: translateY(-1px); }
.wjbf-secondary-button:active { box-shadow: 0 2px 7px rgba(28,49,41,.06); transform: translateY(0); }
.wjbf-cadence { background: #f5f8f6; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-card); margin-top: 18px; padding: 18px; }
.wjbf-dashboard-property { background: #fff; }
.wjbf-dashboard-property .wjbf-plan-summary { margin: 16px 0; }
.wjbf-property-facts { color: #687871; font-size: 13px; margin-top: -4px; }
.wjbf-dashboard-property-grid { margin: 20px 0 28px; }
.wjbf-empty-state { background: #f5f8f6; border: 1px dashed #bfcfc7; border-radius: var(--wjbf-radius-card); margin-top: 16px; padding: 22px; }
.wjbf-empty-state h3 { color: #1f332c; margin-top: 0; }

.wjbf-visit-history { margin-top: 32px; }
.wjbf-visit-filters { align-items: end; background: #f5f8f6; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-card); display: grid; gap: 12px; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); margin: 18px 0 22px; padding: 16px; }
.wjbf-visit-filters label { color: #243f35; display: grid; font-size: 13px; font-weight: 700; gap: 5px; }
.wjbf-visit-filters :is(select,input) { background: #fff; border: 1px solid #bdc9c4; border-radius: var(--wjbf-radius-control); box-sizing: border-box; font: inherit; min-height: 44px; padding: 8px 10px; width: 100%; }
.wjbf-visit-filters .wjbf-secondary-button { min-height: 44px; width: 100%; }
.wjbf-visit-filters .wjbf-secondary-link { align-self: center; justify-self: center; }
.wjbf-visit-list { display: grid; gap: 15px; }
.wjbf-visit-card { background: #fff; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-card); box-shadow: var(--wjbf-shadow-card); padding: 19px; }
.wjbf-visit-card > header { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.wjbf-visit-card h3 { color: #1f332c; font-size: 20px; margin: 3px 0 0; }
.wjbf-visit-date { color: #687871; font-size: 13px; font-weight: 650; }
.wjbf-visit-facts { background: #f5f8f6; border-radius: 10px; display: grid; gap: 1px; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); margin: 16px 0; overflow: hidden; }
.wjbf-visit-facts span { padding: 12px; }
.wjbf-visit-facts strong { color: #607168; display: block; font-size: 11px; letter-spacing: .025em; margin-bottom: 3px; text-transform: uppercase; }
.wjbf-visit-note { border-left: 3px solid var(--wjbf-primary); margin: 15px 0; padding: 2px 0 2px 12px; }
.wjbf-visit-note p { margin: 5px 0 0; }
.wjbf-visit-payment { background: #eef8fa; border-radius: 8px; color: #294943; margin: 14px 0; padding: 11px 13px; }
.wjbf-visit-review-form,.wjbf-visit-notes-form { border-top: 1px solid #e0e8e4; display: grid; gap: 12px; grid-template-columns: minmax(120px,.35fr) minmax(240px,1fr) auto; margin-top: 16px; padding-top: 16px; }
.wjbf-visit-review-form label,.wjbf-visit-notes-form label { color: #243f35; display: grid; font-size: 13px; font-weight: 700; gap: 5px; }
.wjbf-visit-review-form :is(select,textarea),.wjbf-visit-notes-form textarea { background:#fff; border:1px solid #bdc9c4; border-radius:var(--wjbf-radius-control); box-sizing:border-box; font:inherit; min-height:44px; padding:8px 10px; width:100%; }
.wjbf-visit-review-form .wjbf-secondary-button,.wjbf-visit-notes-form .wjbf-secondary-button { align-self:end; min-height:44px; }
.wjbf-visit-notes-form { grid-template-columns: repeat(2,minmax(220px,1fr)) auto; }

@media (max-width: 720px) {
	.wjbf-visit-review-form,.wjbf-visit-notes-form { grid-template-columns: 1fr; }
	.wjbf-visit-card > header { align-items: flex-start; }
}
.wjbf-reconcile-status { background: #e9f6ef; border-left: 4px solid #2f7a4e; border-radius: var(--wjbf-radius-control); color: #17462c; margin: 16px 0; padding: 13px 15px; }
.wjbf-property-management { border-top: 1px solid #dce5e0; margin-top: 18px; padding-top: 6px; }
.wjbf-text-button { background: none; border: 0; color: #8a3a32; cursor: pointer; font: inherit; font-size: 13px; margin-top: 10px; padding: 6px 0; text-decoration: underline; }
.wjbf-area-notice { background:#fff9ed; border-left:4px solid #c58a24; }
.wjbf-property-form__terms,.wjbf-account-terms { color:#607168; font-size:13px; line-height:1.5; }
.wjbf-account-terms { align-items:flex-start; display:flex; gap:10px; margin:16px 0 4px; }
.wjbf-account-terms input { flex:0 0 auto; margin-top:3px; }
.wjbf-account-terms a,.wjbf-property-form__terms a { color:var(--wjbf-primary); font-weight:700; }

/* Branded account access and private property/visit conversations. */
.wjbf-has-account-page .page-header,
.wjbf-has-account-page .entry-title { display:none; }
.wjbf-account-access { max-width:720px; }
.wjbf-account-form { display:grid; gap:17px; }
.wjbf-account-form > label:not(.wjbf-account-terms),
.wjbf-contact-preferences form > label:not(.wjbf-account-terms),
.wjbf-message-compose > label,
.wjbf-message-filters > label {
	color:#243f35;
	display:grid;
	font-size:14px;
	font-weight:700;
	gap:7px;
}
.wjbf-account-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"]),
.wjbf-contact-preferences input[type="tel"],
.wjbf-message-compose textarea,
.wjbf-message-filters select {
	background:#fff;
	border:1px solid #bdc9c4;
	border-radius:var(--wjbf-radius-control);
	box-sizing:border-box;
	color:#1f2f29;
	font:inherit;
	min-height:48px;
	padding:10px 12px;
	transition:border-color .18s ease,box-shadow .18s ease;
	width:100%;
}
.wjbf-account-form :is(input,select,textarea):focus,
.wjbf-contact-preferences :is(input,select,textarea):focus,
.wjbf-message-compose :is(input,select,textarea):focus,
.wjbf-message-filters :is(input,select,textarea):focus {
	border-color:var(--wjbf-primary);
	box-shadow:0 0 0 3px rgba(73,158,176,.17);
	outline:none;
}
.wjbf-message-filters {
	background:#f5f8f6;
	border:1px solid #dce5e0;
	border-radius:var(--wjbf-radius-card);
	display:grid;
	gap:14px;
	grid-template-columns:repeat(2,minmax(0,1fr));
	margin-bottom:20px;
	padding:16px;
}
.wjbf-message-thread {
	background:#f8faf9;
	border:1px solid #dce5e0;
	border-radius:var(--wjbf-radius-card);
	display:flex;
	flex-direction:column;
	gap:12px;
	max-height:520px;
	overflow:auto;
	padding:18px;
}
.wjbf-message {
	background:#fff;
	border:1px solid #dce5e0;
	border-radius:14px 14px 14px 4px;
	box-shadow:0 4px 12px rgba(28,49,41,.05);
	max-width:min(78%,680px);
	padding:12px 14px;
}
.wjbf-message.is-mine {
	align-self:flex-end;
	background:#eef8fa;
	border-color:#c7e3e9;
	border-radius:14px 14px 4px 14px;
}
.wjbf-message header { align-items:center; display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; }
.wjbf-message header strong { color:#203c31; font-size:13px; }
.wjbf-message time { color:#718078; font-size:11px; }
.wjbf-message p { color:#40534b; line-height:1.55; margin:7px 0 0; overflow-wrap:anywhere; }
.wjbf-message-compose { display:grid; gap:10px; margin-top:16px; }
.wjbf-message-compose textarea { min-height:104px; resize:vertical; }
.wjbf-message-compose .wjbf-help { margin:0; }
.wjbf-contact-preferences { border-top:1px solid #dce5e0; margin-top:26px; padding-top:18px; }
.wjbf-contact-preferences summary { color:var(--wjbf-primary-dark); cursor:pointer; font-weight:750; }
.wjbf-contact-preferences form { display:grid; gap:13px; margin-top:14px; }

@media (max-width: 700px) {
	.wjbf-choice-grid,
	.wjbf-question-list,
	.wjbf-summary,
	.wjbf-plan-summary {
		grid-template-columns: 1fr;
	}
	.wjbf-property-form { grid-template-columns: 1fr; }
	.wjbf-span-2 { grid-column: auto; }
	.wjbf-section-heading, .wjbf-property-card__top { align-items: flex-start; flex-direction: column; }
	.wjbf-section-heading .wjbf-property-heading-actions { align-items:center; flex-direction:row; justify-content:space-between; width:100%; }
	.wjbf-property-modal { align-items:flex-end; padding:8px; }
	.wjbf-property-modal__dialog { border-radius:16px 16px 0 0; max-height:94vh; }
	.wjbf-message-filters { grid-template-columns:1fr; }
	.wjbf-message { max-width:92%; }
}

/* Careers page */
.wjbf-has-jobs-page .page-header,
.wjbf-has-jobs-page .entry-title { display: none; }
.wjbf-has-jobs-page .site-main,
.wjbf-has-jobs-page .page-content { margin: 0; max-width: none; padding: 0; width: 100%; }
.wjbf-jobs-page {
	--wjbf-primary: #499eb0;
	--wjbf-primary-dark: #367f8f;
	--wjbf-radius-control: 10px;
	--wjbf-radius-card: 14px;
	--wjbf-radius-panel: 18px;
	--wjbf-shadow-button: 0 5px 16px rgba(73, 158, 176, 0.20);
	--wjbf-shadow-button-hover: 0 8px 22px rgba(73, 158, 176, 0.28);
	color: #1f332c;
	margin: 0 auto;
	max-width: 1120px;
	padding: clamp(26px, 5vw, 64px) 20px;
}
.wjbf-jobs-hero { max-width: 820px; padding: clamp(22px,4vw,48px) 0; }
.wjbf-eyebrow { color: #367f8f !important; font-size: 13px; font-weight: 800; letter-spacing: .1em; margin: 0 0 10px; text-transform: uppercase; }
.wjbf-jobs-hero h1 { font-size: clamp(38px,6vw,66px); margin: 0 0 20px; }
.wjbf-jobs-hero > p:last-child { font-size: clamp(17px,2vw,20px); max-width: 720px; }
.wjbf-job-card { align-items: center; background: #f5f8f6; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-panel); box-shadow: 0 10px 30px rgba(28,49,41,.06); display: grid; gap: 28px; grid-template-columns: minmax(0,1.5fr) minmax(240px,.7fr); padding: clamp(24px,4vw,40px); }
.wjbf-job-card h2 { font-size: clamp(26px,4vw,38px); margin: 0 0 8px; }
.wjbf-job-pay { background: #fff; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-card); box-shadow: 0 6px 20px rgba(28,49,41,.05); display: grid; gap: 3px; padding: 22px; }
.wjbf-job-pay strong { color: #367f8f; font-size: 28px; }

.wjbf-instruction-grid { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); margin-top:16px; }
.wjbf-instruction-card { background:#f7fafb; border:1px solid #d5e7eb; border-radius:var(--wjbf-radius-card); padding:14px 16px; }
.wjbf-instruction-card summary { color:#2e6e7c; cursor:pointer; font-weight:750; }
.wjbf-instruction-card dl { display:grid; gap:5px 12px; grid-template-columns:minmax(110px,.45fr) 1fr; margin:16px 0 0; }
.wjbf-instruction-card dt { color:#607168; font-size:12px; font-weight:750; text-transform:uppercase; }
.wjbf-instruction-card dd { margin:0 0 10px; }
.wjbf-deep-recommendation { background:#f1f9fb; border-left:4px solid var(--wjbf-primary); border-radius:var(--wjbf-radius-control); color:#285f6b; margin:14px 0; padding:12px 14px; }
.wjbf-policy-panel { background:#fff; border:1px solid #d5e7eb; border-radius:var(--wjbf-radius-card); box-shadow:var(--wjbf-shadow-card); margin-top:22px; padding:clamp(18px,3vw,30px); }
.wjbf-policy-panel h3 { margin-top:0; }
.wjbf-conduct-form { align-items:flex-start; display:grid; gap:12px; margin-top:20px; }
.wjbf-conduct-form label { align-items:flex-start; display:flex; gap:10px; }
.wjbf-job-pay span { color: #53635d; margin-bottom: 12px; }
.wjbf-job-pay small { color: #6c7b75; line-height: 1.45; }
.wjbf-job-columns { display: grid; gap: 32px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: clamp(42px,7vw,76px) 0; }
.wjbf-job-columns section { background: #fff; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-card); box-shadow: 0 8px 24px rgba(28,49,41,.05); padding: 28px; }
.wjbf-job-columns h2 { margin-top: 0; }
.wjbf-job-columns li { color: #53635d; line-height: 1.6; margin-bottom: 10px; }
.wjbf-job-application { background: #fff; border: 1px solid #dce5e0; border-radius: var(--wjbf-radius-panel); box-shadow: 0 16px 44px rgba(28,49,41,.08); padding: clamp(24px,5vw,48px); scroll-margin-top: 110px; }
.wjbf-job-application > h2 { font-size: clamp(28px,4vw,42px); margin-top: 0; }
.wjbf-job-form { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 28px; }
.wjbf-job-form label { color: #243f35; display: grid; font-weight: 700; gap: 7px; }
.wjbf-job-form input, .wjbf-job-form select, .wjbf-job-form textarea { background: #fff; border: 1px solid #bdc9c4; border-radius: var(--wjbf-radius-control); color: #1f2f29; font: inherit; min-height: 48px; padding: 10px 12px; transition: border-color .18s ease, box-shadow .18s ease; width: 100%; }
.wjbf-job-form textarea { min-height: 110px; resize: vertical; }
.wjbf-registration-form :is(input,select,textarea):focus,
.wjbf-duration-form :is(input,select,textarea):focus,
.wjbf-property-form :is(input,select,textarea):focus,
.wjbf-cadence select:focus,
.wjbf-job-form :is(input,select,textarea):focus {
	border-color: var(--wjbf-primary);
	box-shadow: 0 0 0 3px rgba(49, 92, 76, 0.17);
	outline: none;
}
.wjbf-job-form .wjbf-job-consent { align-items: flex-start; display: flex; font-size: 13px; font-weight: 500; gap: 10px; line-height: 1.5; }
.wjbf-job-form .wjbf-job-consent input { flex: 0 0 auto; min-height: auto; width: auto; }
.wjbf-job-fine-print { color: #6c7b75; font-size: 12px; margin: 18px 0 0; }

@media (max-width: 760px) {
	.wjbf-job-card, .wjbf-job-columns, .wjbf-job-form { grid-template-columns: 1fr; }
	.wjbf-job-form .wjbf-span-2 { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	:is(.wjbf-submit, .wjbf-secondary-button, .wjbf-secondary-link, .wjbf-property-card, .wjbf-choice span) {
		transition: none !important;
	}
	:is(.wjbf-submit, .wjbf-secondary-button, .wjbf-secondary-link, .wjbf-property-card, .wjbf-choice span):hover {
		transform: none !important;
	}
}
