.bac-to {
	--bac-to-gold: #e3a141;
	--bac-to-gold-hover: #f6b747;
	--bac-to-charcoal: #181715;
	--bac-to-black: #000000;
	--bac-to-white: #ffffff;
	--bac-to-border: rgba(227, 161, 65, 0.55);
	--bac-to-panel-padding: 20px;
	box-sizing: border-box;
	color: var(--bac-to-white);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}
.bac-to *, .bac-to *::before, .bac-to *::after { box-sizing: border-box; }
.bac-to h2, .bac-to h3, .bac-to p, .bac-to ul, .bac-to ol { margin: 0; }
.bac-to h2, .bac-to h3 { color: var(--bac-to-white); font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
.bac-to h2 { font-size: 26px; line-height: 1.15; margin: 0 0 12px; }
.bac-to h3 { font-size: 18px; line-height: 1.25; margin: 0 0 12px; }
.bac-to p, .bac-to ul, .bac-to ol { color: var(--bac-to-white); font-size: 16px; line-height: 1.6; }
.bac-to.bac-to-state .bac-to-state__content > p:not(.bac-to-eyebrow),
.bac-to.bac-to-contact > p:not(.bac-to-eyebrow),
.bac-to.bac-to-form .bac-to-form__header > p:not(.bac-to-eyebrow) { color: var(--bac-to-white); font-size: 16px; line-height: 1.6; margin: 0; }
.bac-to ul, .bac-to ol { padding-inline-start: 22px; }
/* Own the rendered heading cascade; keep theme/Elementor h2 rules outside it. */
.bac-to.bac-to-state .bac-to-state__content > h2[id^="bac-to-state-"],
.bac-to.bac-to-contact > h2#bac-to-contact-heading,
.bac-to.bac-to-contact > h2#bac-to-contact-protected,
.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading {
	color: var(--bac-to-white);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 12px;
}
.bac-to.bac-to-contact > h2#bac-to-contact-heading,
.bac-to.bac-to-contact > h2#bac-to-contact-protected { font-size: 24px; }
.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading { font-size: 28px; }
.bac-to .bac-to-eyebrow { color: var(--bac-to-gold); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; line-height: 1.4; margin: 0 0 8px; text-transform: uppercase; }
.bac-to.bac-to-action, .bac-to.bac-to-contact, .bac-to.bac-to-form {
	background: var(--bac-to-charcoal);
	border: 1px solid var(--bac-to-border);
	border-top: 3px solid var(--bac-to-gold);
	border-radius: 6px;
	margin: 1.25rem 0;
}
.bac-to.bac-to-action, .bac-to.bac-to-contact { padding: var(--bac-to-panel-padding); }
.bac-to.bac-to-state { display: flex; gap: 0.85rem; align-items: flex-start; }
.bac-to .bac-to-state__content { min-width: 0; max-width: 48rem; }
.bac-to .bac-to-state__icon { color: var(--bac-to-gold); flex: 0 0 1.6rem; font-size: 1.5rem; line-height: 1.3; }
.bac-to .bac-to-state__actions, .bac-to .bac-to-contact__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.bac-to .bac-to-contact__actions { margin-top: 18px; }
.bac-to.bac-to-contact > p.bac-to-contact__name { color: var(--bac-to-white); font-size: 17px; font-weight: 700; }
.bac-to .bac-to-contact__empty { font-style: italic; }

/* Explicit theme-resistant link states, including visited and keyboard focus. */
.bac-to a:link, .bac-to a:visited, .bac-to a:focus { color: var(--bac-to-gold); }
.bac-to a:hover, .bac-to a:active { color: var(--bac-to-gold-hover); }
.bac-to a:focus-visible { color: var(--bac-to-gold); outline: 3px solid var(--bac-to-gold-hover); outline-offset: 3px; }
.bac-to a.bac-to-button, .bac-to.bac-to-form .jet-form-builder__submit {
	align-items: center;
	border: 1px solid var(--bac-to-gold);
	border-radius: 4px;
	box-shadow: none;
	display: inline-flex;
	font: 700 16px/1.3 Montserrat, Arial, sans-serif;
	gap: 0.5rem;
	justify-content: center;
	max-width: 100%;
	min-height: 48px;
	min-width: 0;
	padding: 13px 20px;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.bac-to a.bac-to-button.bac-to-button--primary,
.bac-to a.bac-to-button.bac-to-button--primary:is(:link, :visited, :focus, :focus-visible),
.bac-to.bac-to-form .jet-form-builder__submit,
.bac-to.bac-to-form .jet-form-builder__submit:is(:link, :visited, :focus, :focus-visible) {
	background: var(--bac-to-gold); border-color: var(--bac-to-gold); color: var(--bac-to-black);
}
.bac-to a.bac-to-button.bac-to-button--primary:is(:hover, :active),
.bac-to.bac-to-form .jet-form-builder__submit:is(:hover, :active) {
	background: var(--bac-to-gold-hover); border-color: var(--bac-to-gold-hover); color: var(--bac-to-black);
}
.bac-to a.bac-to-button:is(.bac-to-button--secondary, .bac-to-button--contact),
.bac-to a.bac-to-button:is(.bac-to-button--secondary, .bac-to-button--contact):is(:link, :visited, :focus, :focus-visible) {
	background: var(--bac-to-charcoal); border-color: var(--bac-to-gold); color: var(--bac-to-gold);
}
.bac-to a.bac-to-button:is(.bac-to-button--secondary, .bac-to-button--contact):is(:hover, :active) {
	background: var(--bac-to-gold); border-color: var(--bac-to-gold); color: var(--bac-to-black);
}
.bac-to a.bac-to-button:focus-visible, .bac-to.bac-to-form .jet-form-builder__submit:focus-visible {
	outline: 3px solid var(--bac-to-white); outline-offset: 3px; box-shadow: 0 0 0 6px var(--bac-to-gold);
}
.bac-to a.bac-to-button :is(span, i, svg),
.bac-to.bac-to-form .jet-form-builder__submit :is(span, i, svg) { color: inherit; }

.bac-to .bac-to-form__header { background: var(--bac-to-black); border-bottom: 1px solid var(--bac-to-border); padding: 20px var(--bac-to-panel-padding); }
.bac-to .bac-to-form__body { min-width: 0; max-width: 100%; padding: var(--bac-to-panel-padding); }

/* Normalize INNER geometry first: JFB layout-row otherwise keeps label and
   field-wrap side-by-side. Both direct and wrapped rows get the same reset. */
.bac-to.bac-to-form .jet-form-builder,
.bac-to.bac-to-form .jet-form-builder-row,
.bac-to.bac-to-form .jet-form-builder__label,
.bac-to.bac-to-form .jet-form-builder__field-wrap,
.bac-to.bac-to-form .jet-form-builder__submit-wrap,
.bac-to.bac-to-form .jet-sm-gb-wrapper,
.bac-to.bac-to-form .bac-to-field,
.bac-to.bac-to-form .bac-to-form-field {
	box-sizing: border-box;
	display: block;
	float: none;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	margin: 0;
	flex-basis: auto;
}
.bac-to.bac-to-form .jet-form-builder-row { padding: 0; }
.bac-to.bac-to-form .jet-form-builder__label { padding: 0; margin-bottom: 8px; }
.bac-to.bac-to-form .jet-form-builder__field-wrap { padding: 0; }
.bac-to.bac-to-form .jet-form-builder__label-text { color: var(--bac-to-white); font-size: 16px; font-weight: 700; line-height: 1.5; }
.bac-to.bac-to-form .jet-form-builder__required { color: var(--bac-to-gold); }
.bac-to.bac-to-form .jet-form-builder__desc { color: rgba(255, 255, 255, 0.78); font-size: 14px; line-height: 1.5; margin-top: 8px; }
.bac-to.bac-to-form .jet-form-builder input:not([type="hidden"]),
.bac-to.bac-to-form .jet-form-builder textarea {
	background: var(--bac-to-white);
	border: 1px solid #777777;
	border-radius: 4px;
	box-sizing: border-box;
	color: var(--bac-to-black);
	box-shadow: none;
	display: block;
	font: inherit;
	font-size: 16px;
	min-height: 48px;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 14px 16px;
}
.bac-to.bac-to-form .jet-form-builder textarea { min-height: 132px; resize: vertical; }
.bac-to.bac-to-form .jet-form-builder :is(input, textarea)::placeholder { color: #595959; opacity: 1; }
.bac-to.bac-to-form .jet-form-builder :is(input, textarea):focus {
	background: var(--bac-to-white); color: var(--bac-to-black); border-color: var(--bac-to-gold);
	box-shadow: 0 0 0 1px var(--bac-to-gold);
	outline: 2px solid var(--bac-to-gold); outline-offset: 2px;
}
.bac-to.bac-to-form .jet-form-builder :is(input, textarea)[aria-invalid="true"],
.bac-to.bac-to-form :is(.has-error, .jet-form-builder-row--error) .jet-form-builder__field { border-color: #b42318; }
.bac-to.bac-to-form :is(.jet-form-builder__field-error, .error-message, .jet-form-builder-message--error, .jet-form-builder-message--failed) { color: #ffb4ab; font-size: 0.9rem; }
.bac-to.bac-to-form .jet-form-builder-message--success { color: var(--bac-to-white); border-left: 3px solid var(--bac-to-gold); padding: 0.75rem; }
.bac-to.bac-to-form .jet-form-builder__submit { cursor: pointer; width: 100%; }
.bac-to.bac-to-form .jet-form-builder__submit:disabled { cursor: wait; opacity: 0.75; }

/* Mobile-safe without :has(): every server-rendered field has a stable outer item. */
.bac-to.bac-to-form .jet-form-builder { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
.bac-to.bac-to-form .jet-form-builder > :not(input) { min-width: 0; max-width: 100%; grid-column: 1 / -1; }
.bac-to.bac-to-form .jet-form-builder input[type="hidden"],
.bac-to.bac-to-form .jet-form-builder .field-type-hidden-field { display: none; }

@media (min-width: 768px) {
	.bac-to { --bac-to-panel-padding: 26px; }
	.bac-to .bac-to-eyebrow { font-size: 13px; }
	.bac-to h2 { font-size: 28px; }
	.bac-to h3 { font-size: 20px; }
	.bac-to.bac-to-state .bac-to-state__content > h2[id^="bac-to-state-"] { font-size: 28px; }
	.bac-to.bac-to-contact > h2#bac-to-contact-heading,
	.bac-to.bac-to-contact > h2#bac-to-contact-protected { font-size: 28px; }
	.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading { font-size: 32px; }
	.bac-to .bac-to-form__header { padding-block: 22px; }
	.bac-to.bac-to-form .jet-form-builder { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.bac-to.bac-to-form .jet-form-builder > .bac-to-form-field--half { grid-column: span 1; }
	/* Progressive enhancement for unmodified mixed production captures/legacy HTML. */
	.bac-to.bac-to-form .jet-form-builder > :is(.jet-form-builder-row, .jet-sm-gb-wrapper, .bac-to-field):has([name="applicant_name"], [name="applicant_email"], [name="applicant_phone"], [name="applicant_location"]) { grid-column: span 1; }
}
@media (min-width: 1024px) {
	.bac-to { --bac-to-panel-padding: 30px; }
	.bac-to h2 { font-size: 30px; }
	.bac-to.bac-to-state .bac-to-state__content > h2[id^="bac-to-state-"] { font-size: 30px; }
	.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading { font-size: 34px; }
	.bac-to .bac-to-form__header { padding-block: 24px; }
}
@media (max-width: 767px) {
	.bac-to a.bac-to-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.bac-to a.bac-to-button, .bac-to.bac-to-form .jet-form-builder__submit { transition: none; }
}

/* S4 management surfaces. Explicit scoped colours protect against Elementor inheritance. */
.bac-to-lifecycle{--bac-gold:#e3a141;box-sizing:border-box;max-width:100%;margin:20px 0;padding:26px 28px;border:1px solid #494338;border-radius:12px;background:#181715;color:#fff;font-family:inherit;font-size:16px;line-height:1.65;overflow-wrap:anywhere;text-align:left}
.bac-to-lifecycle *{box-sizing:border-box}.bac-to-lifecycle.bac-to-owner{border-top:3px solid #e3a141;box-shadow:0 10px 30px #00000014}.bac-to-lifecycle .bac-to-eyebrow{color:#f6b747;font-size:11px;font-weight:700;letter-spacing:.13em}.bac-to-lifecycle.bac-to-owner h2{font-size:27px;font-weight:650;line-height:1.25;color:#fff;margin:10px 0 20px;padding:0}.bac-to-lifecycle p,.bac-to-lifecycle label,.bac-to-lifecycle dd{color:#e8e3da;font-size:16px;line-height:1.65}.bac-to-lifecycle p{margin:12px 0}.bac-to-lifecycle .bac-to-state{display:inline-flex;gap:8px;align-items:center;color:#f6b747;font-size:17px;font-weight:650;line-height:1.45}.bac-to-lifecycle .bac-to-state:before{content:'';display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:currentColor}.bac-to-lifecycle .bac-to-state--closed{color:#e6dcc8}.bac-to-lifecycle .bac-to-state--cancelled{color:#efb4a9}.bac-to-lifecycle .bac-to-deadline{color:#f6b747;font-weight:600}.bac-to-lifecycle.bac-to-public-status{padding:20px 24px;border-left:3px solid #e3a141}.bac-to-lifecycle.bac-to-public-status p{font-size:15px;margin:8px 0 0}.bac-to-lifecycle .bac-to-help{font-size:14px;color:#c3bbae}.bac-to-lifecycle form{margin:20px 0}.bac-to-lifecycle .bac-to-command button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 22px;border:1px solid #e3a141;border-radius:6px;background:#e3a141;color:#181715;font-family:inherit;font-weight:600;font-size:16px;line-height:1.4;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer;max-width:100%;white-space:normal}.bac-to-lifecycle .bac-to-command button:hover{background:#f6b747;color:#000;border-color:#f6b747}.bac-to-lifecycle .bac-to-command--cancel button{background:transparent;color:#efb4a9;border-color:#b77366}.bac-to-lifecycle .bac-to-command--cancel button:hover{background:#482820;color:#fff}.bac-to-lifecycle summary{cursor:pointer;min-height:46px;line-height:1.5;padding:12px 0;color:#fff;font-weight:600}.bac-to-lifecycle details{border-top:1px solid #494338;margin-top:18px}.bac-to-lifecycle details details{padding:0 14px;background:#24221e;border:1px solid #494338;border-radius:6px;margin-top:10px}.bac-to-lifecycle dt{color:#f6b747;font-weight:600;font-size:14px}.bac-to-lifecycle dd{margin:0 0 16px}.bac-to-lifecycle .bac-to-confirm{display:flex;gap:12px;align-items:flex-start;margin:16px 0;font-size:14px}.bac-to-lifecycle input[type=checkbox]{width:20px;height:20px;flex:none;margin:3px 0;accent-color:#e3a141}.bac-to-lifecycle .bac-to-lifecycle-feedback{padding:16px 18px;background:#293528;border:1px solid #697f61;border-left:4px solid #b5cba1;border-radius:6px;color:#fff}.bac-to-lifecycle .bac-to-lifecycle-feedback[role=alert]{background:#482820;border-color:#b77366;color:#fff}.bac-to-lifecycle .bac-to-empty{padding:20px;background:#24221e;border-radius:6px}.bac-to-lifecycle a{color:#f6b747}.bac-to-lifecycle :is(button,a,summary,input):focus-visible{outline:3px solid #f6b747;outline-offset:4px}
@media(max-width:600px){.bac-to-lifecycle{padding:22px 20px;border-radius:8px}.bac-to-lifecycle.bac-to-owner h2{font-size:24px}.bac-to-lifecycle .bac-to-command button{width:100%}.bac-to-lifecycle.bac-to-public-status{padding:18px 20px}}

/* Opt-in class on the existing Elementor legacy date widget; legacy pages are untouched. */
.bac-to-managed-tender .bac-to-legacy-closing,.bac-to-lifecycle-unavailable .bac-to-legacy-closing{display:none}
