:root {
	--bdpp-charcoal: #3a3a3a;
	--bdpp-charcoal-dark: #292929;
	--bdpp-magenta: #c2187a;
	--bdpp-magenta-dark: #9d145f;
	--bdpp-white: #ffffff;
	--bdpp-light: #f5f5f5;
	--bdpp-border: #e8e8e8;
	--bdpp-text: #666666;
	--bdpp-heading: #2f2f2f;
	--bdpp-shadow: 0 14px 40px rgba(0, 0, 0, .09);
}

.bdpp-app,
.bdpp-app * {
	box-sizing: border-box;
}

.bdpp-app {
	font-family: "Montserrat", Arial, sans-serif;
	color: var(--bdpp-text);
}

.bdpp-shell {
	display: grid;
	grid-template-columns: minmax(245px, 292px) minmax(0, 1fr);
	background: var(--bdpp-white);
	border: 1px solid var(--bdpp-border);
	border-radius: 16px;
	box-shadow: var(--bdpp-shadow);
	overflow: hidden;
}

.bdpp-sidebar {
	display: flex;
	flex-direction: column;
	min-height: 760px;
	padding: 26px 20px;
	border-right: 1px solid var(--bdpp-border);
	background: #fcfcfc;
}

.bdpp-sidebar-heading h2 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
	color: var(--bdpp-heading);
	text-transform: uppercase;
}

.bdpp-sidebar-heading {
	margin-bottom: 20px;
}

.bdpp-sidebar-heading p {
	color: var(--bdpp-text);
}

.bdpp-showing-count {
	margin: 5px 0 0;
	font-size: 12px;
}

.bdpp-results-status {
	margin: 2px 0 0;
	font-size: 12px;
}

.bdpp-results-status[hidden],
.bdpp-searching-status[hidden] {
	display: none !important;
}

.bdpp-list {
	display: grid;
	gap: 14px;
	max-height: 690px;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 2px 7px 2px 2px;
	scrollbar-width: thin;
	scrollbar-color: var(--bdpp-magenta) #eeeeee;
}

.bdpp-list::-webkit-scrollbar {
	width: 7px;
}

.bdpp-list::-webkit-scrollbar-track {
	background: #eeeeee;
	border-radius: 999px;
}

.bdpp-list::-webkit-scrollbar-thumb {
	background: var(--bdpp-magenta);
	border-radius: 999px;
}

.bdpp-list-card {
	width: 100%;
	padding: 17px 16px;
	border: 2px solid transparent;
	border-radius: 12px;
	background: var(--bdpp-charcoal) !important;
	color: var(--bdpp-white) !important;
	text-align: left;
	font: inherit;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.bdpp-app .bdpp-list-card:hover,
.bdpp-app .bdpp-list-card:focus-visible {
	background: var(--bdpp-charcoal) !important;
	color: var(--bdpp-white) !important;
	transform: translateY(-2px);
	border-color: rgba(194, 24, 122, .65);
	box-shadow: 0 9px 24px rgba(0, 0, 0, .16);
	outline: none;
}

.bdpp-app .bdpp-list-card.is-active {
	background: var(--bdpp-charcoal) !important;
	color: var(--bdpp-white) !important;
	border-color: var(--bdpp-magenta);
	box-shadow: 0 0 0 2px rgba(194, 24, 122, .12);
}

.bdpp-list-card strong {
	display: block;
	font-size: 13px;
	line-height: 1.45;
}

.bdpp-sector-pill {
	display: inline-block;
	margin-top: 12px;
	padding: 6px 9px;
	border-radius: 5px;
	background: var(--bdpp-white);
	color: var(--bdpp-magenta);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.bdpp-list-location {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	font-size: 11px;
}

.bdpp-list-location svg,
.bdpp-field-icon svg,
.bdpp-meta-row svg,
.bdpp-meta-grid svg,
.bdpp-icon-button svg,
.bdpp-modal-close svg,
.bdpp-load-more svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bdpp-load-more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 210px;
	min-width: 210px;
	max-width: calc(100% - 8px);
	height: 44px;
	min-height: 44px;
	margin: 18px auto 0;
	padding: 10px 16px;
	border: 1px solid #C2187A !important;
	border-radius: 6px;
	background: #C2187A !important;
	color: var(--bdpp-white) !important;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.1;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.bdpp-load-more span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	text-align: center;
}

.bdpp-load-more svg {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
}

.bdpp-load-more:hover:not(:disabled),
.bdpp-load-more:focus-visible:not(:disabled) {
	border-color: var(--bdpp-charcoal);
	background: var(--bdpp-charcoal);
	color: var(--bdpp-white);
	transform: translateY(-1px);
}

.bdpp-load-more:disabled {
	display: none;
}

.bdpp-list-empty {
	font-size: 13px;
}

.bdpp-main {
	min-width: 0;
	padding: 26px 24px 28px;
}

.bdpp-filters {
	margin-bottom: 20px;
}

.bdpp-search-field {
	position: relative;
	display: block;
}

.bdpp-field-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--bdpp-heading);
	pointer-events: none;
}

.bdpp-filters input[type="search"],
.bdpp-filters select {
	width: 100%;
	height: 48px;
	border: 1px solid #d8d8d8;
	border-radius: 8px;
	background: var(--bdpp-white);
	color: var(--bdpp-heading);
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	outline: none;
}

.bdpp-filters input[type="search"] {
	padding: 0 15px 0 52px;
}

.bdpp-filters input[type="search"]::placeholder {
	color: var(--bdpp-text);
	font-size: 12px;
	font-weight: 500;
	opacity: 1;
}

.bdpp-filters select {
	padding: 0 38px 0 16px;
	color: var(--bdpp-text);
	font-size: 12px;
	font-weight: 600;
}

.bdpp-filters select:disabled {
	background: #f2f2f2;
	color: #9a9a9a;
	cursor: not-allowed;
}

.bdpp-filters select option {
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 12px;
}

.bdpp-filters input:focus,
.bdpp-filters select:focus {
	border-color: var(--bdpp-magenta);
	box-shadow: 0 0 0 4px rgba(194, 24, 122, .12);
}

.bdpp-operator-row {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin: 14px 0 18px;
}

.bdpp-operator-row label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	cursor: pointer;
}

.bdpp-operator-row input {
	accent-color: var(--bdpp-magenta);
}

.bdpp-filter-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.bdpp-filter-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
}

.bdpp-search-action-group {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	min-width: 250px;
}

.bdpp-searching-status {
	color: var(--bdpp-text);
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

.bdpp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 22px;
	border: 1px solid;
	border-radius: 7px;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.bdpp-button:hover {
	transform: translateY(-1px);
}

.bdpp-app .bdpp-button--primary {
	border-color: #C2187A !important;
	background: #C2187A !important;
	color: var(--bdpp-white) !important;
}

.bdpp-app .bdpp-button--action {
	width: 148px !important;
	min-width: 148px !important;
	max-width: 148px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 10px 16px !important;
	border-radius: 7px !important;
}

.bdpp-app .bdpp-button--clear,
.bdpp-app .bdpp-button--apply {
	font-size: 12px !important;
}

.bdpp-app .bdpp-button--search {
	font-size: 12px !important;
}

.bdpp-app .bdpp-button--primary:hover,
.bdpp-app .bdpp-button--primary:focus-visible {
	border-color: var(--bdpp-charcoal) !important;
	background: var(--bdpp-charcoal) !important;
	color: var(--bdpp-white) !important;
}

.bdpp-button--secondary {
	border-color: #d3d3d3;
	background: var(--bdpp-white);
	color: var(--bdpp-heading);
}

.bdpp-button--secondary:hover {
	border-color: var(--bdpp-charcoal);
}

.bdpp-detail-region {
	position: relative;
	min-height: 360px;
}

.bdpp-detail-region.is-loading,
.bdpp-app.is-loading .bdpp-detail-region {
	opacity: .58;
	pointer-events: none;
}

.bdpp-detail-card {
	border: 1px solid var(--bdpp-border);
	border-radius: 12px;
	background: var(--bdpp-white);
	box-shadow: 0 9px 27px rgba(0, 0, 0, .08);
	overflow: hidden;
}

.bdpp-detail-header {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 80px 14px 18px;
	background: linear-gradient(90deg, var(--bdpp-charcoal-dark), #4b4b4b);
	color: var(--bdpp-white);
}

.bdpp-detail-header h3 {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
	color: inherit;
}

.bdpp-detail-header p {
	margin: 3px 0 0;
	font-size: 10px;
	color: inherit;
}

.bdpp-type-ribbon {
	position: absolute;
	top: 18px;
	right: -36px;
	width: 130px;
	padding: 7px 0;
	transform: rotate(45deg);
	background: var(--bdpp-magenta);
	color: var(--bdpp-white);
	font-size: 9px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}

.bdpp-detail-body {
	padding: 18px;
}

.bdpp-meta-row,
.bdpp-meta-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
}

.bdpp-meta-row {
	margin-bottom: 12px;
}

.bdpp-meta-row span,
.bdpp-meta-grid span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 600;
}

.bdpp-meta-accent {
	color: var(--bdpp-magenta);
	text-transform: uppercase;
}

.bdpp-description {
	margin-top: 17px;
	font-size: 13px;
	line-height: 1.65;
	color: var(--bdpp-heading);
}

.bdpp-description p {
	margin: 0 0 12px;
}

.bdpp-description ul,
.bdpp-description ol {
	padding-left: 22px;
}

.bdpp-description li::marker {
	color: var(--bdpp-magenta);
}

.bdpp-detail-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-top: 22px;
}

.bdpp-detail-footer p {
	margin: 0;
	font-size: 11px;
	color: var(--bdpp-heading);
}

.bdpp-detail-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.bdpp-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid #C2187A;
	border-radius: 11px;
	background: #C2187A;
	color: var(--bdpp-white);
	cursor: pointer;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.bdpp-icon-button:hover,
.bdpp-icon-button:focus-visible,
.bdpp-icon-button.is-copied {
	border-color: var(--bdpp-charcoal);
	background: var(--bdpp-charcoal);
	color: var(--bdpp-white);
	transform: translateY(-1px);
}

.bdpp-app .bdpp-icon-button--share {
	border-radius: 11px !important;
	border-color: #C2187A !important;
	background: #C2187A !important;
	color: var(--bdpp-white) !important;
}

.bdpp-app .bdpp-icon-button--share:hover,
.bdpp-app .bdpp-icon-button--share:focus-visible,
.bdpp-app .bdpp-icon-button--share.is-copied {
	border-color: var(--bdpp-charcoal) !important;
	background: var(--bdpp-charcoal) !important;
	color: var(--bdpp-white) !important;
}

.bdpp-empty,
.bdpp-message {
	padding: 30px;
	border: 1px solid var(--bdpp-border);
	border-radius: 12px;
	background: var(--bdpp-white);
	text-align: center;
}

.bdpp-message--warning {
	background: #fff8e6;
}

.bdpp-message--error {
	color: #a82727;
	background: #fdecec;
}

/* modal */
html.bdpp-modal-open,
html.bdpp-modal-open body {
	overflow: hidden;
}

.bdpp-modal[hidden] {
	display: none;
}

.bdpp-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	padding: 22px;
}

.bdpp-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(24, 24, 24, .72);
	backdrop-filter: blur(4px);
}

.bdpp-modal-dialog {
	position: relative;
	width: min(900px, 100%);
	max-height: calc(100vh - 44px);
	border-radius: 14px;
	background: var(--bdpp-white);
	box-shadow: 0 28px 80px rgba(0, 0, 0, .32);
	overflow: hidden;
}

.bdpp-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 72px;
	padding: 13px 22px;
	background: #d5d5d5;
}

.bdpp-modal-brand img {
	display: block;
	max-width: 185px;
	max-height: 44px;
	object-fit: contain;
}

.bdpp-modal-brand strong {
	color: var(--bdpp-white);
	font-size: 20px;
}

.bdpp-app .bdpp-modal-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 42px !important;
	width: 42px !important;
	min-width: 42px !important;
	max-width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #3a3a3a !important;
	font-size: 0 !important;
	line-height: 1 !important;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.bdpp-app .bdpp-modal-close svg {
	display: block;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
}

.bdpp-app .bdpp-modal-close:hover,
.bdpp-app .bdpp-modal-close:focus-visible {
	background: rgba(58, 58, 58, .10) !important;
	outline: none;
}

.bdpp-modal-intro {
	padding: 18px 24px 6px;
	text-align: center;
}

.bdpp-modal-intro h2 {
	margin: 0;
	font-size: 24px;
	color: var(--bdpp-heading);
}

.bdpp-modal-intro p {
	margin: 7px 0 0;
	font-size: 12px;
}

.bdpp-modal-iframe-wrap {
	height: min(720px, calc(100vh - 190px));
	padding: 8px 16px 16px;
}

.bdpp-modal iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: var(--bdpp-white);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}


@media (max-width: 1250px) {
	.bdpp-filter-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.bdpp-filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.bdpp-shell {
		grid-template-columns: 230px minmax(0, 1fr);
	}

}

@media (max-width: 720px) {
	.bdpp-filter-grid {
		grid-template-columns: 1fr;
	}

	.bdpp-shell {
		display: block;
	}

	.bdpp-sidebar {
		border-right: 0;
		border-bottom: 1px solid var(--bdpp-border);
	}

	.bdpp-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-height: 430px;
	}

	.bdpp-main {
		padding: 20px 15px;
	}

	.bdpp-detail-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.bdpp-detail-actions .bdpp-button {
		flex: 1;
	}
}

@media (max-width: 480px) {
	.bdpp-list {
		grid-template-columns: 1fr;
	}

	.bdpp-operator-row {
		gap: 10px 15px;
	}

	.bdpp-filter-actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.bdpp-filter-actions .bdpp-button {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
	}

	.bdpp-search-action-group {
		width: 100%;
		min-width: 0;
		align-items: stretch;
		flex-direction: column;
	}

	.bdpp-searching-status {
		text-align: center;
	}

	.bdpp-detail-header {
		padding-right: 65px;
	}

	.bdpp-meta-row,
	.bdpp-meta-grid {
		align-items: flex-start;
		flex-direction: column;
	}

	.bdpp-modal {
		padding: 0;
	}

	.bdpp-modal-dialog {
		width: 100%;
		height: 100%;
		max-height: none;
		border-radius: 0;
	}

	.bdpp-modal-iframe-wrap {
		height: calc(100vh - 180px);
	}
}

/* ========================================================================
   Version 0.6.0 — precision visual adjustments from annotated screenshots
   ======================================================================== */

/* Left vacancy cards: softer 12px corners. */
.bdpp-app .bdpp-list-card,
.bdpp-app .bdpp-list-card:hover,
.bdpp-app .bdpp-list-card:focus-visible,
.bdpp-app .bdpp-list-card.is-active {
	border-radius: 12px !important;
}

/* Load-more button: 6px corners and keep icon + text centred on one line. */
.bdpp-app .bdpp-load-more {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	width: 148px !important;
	min-width: 148px !important;
	max-width: 148px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 4px !important;
	border-radius: 6px !important;
	background: #C2187A !important;
	border-color: #C2187A !important;
	color: #FFFFFF !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-align: center !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

.bdpp-app .bdpp-load-more span {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 12px !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

.bdpp-app .bdpp-load-more svg {
	flex: 0 0 13px !important;
	width: 13px !important;
	height: 13px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

/* Move the search placeholder safely past the search icon. */
.bdpp-app .bdpp-search-field .bdpp-field-icon {
	left: 15px !important;
	z-index: 2 !important;
}

.bdpp-app .bdpp-filters input[type="search"] {
	padding-left: 54px !important;
	padding-right: 15px !important;
	text-indent: 0 !important;
}

.bdpp-app .bdpp-filters input[type="search"]::placeholder {
	font-size: 12px !important;
	color: #777777 !important;
	opacity: 1 !important;
}

/* Dropdown display text and right-panel action labels. */
.bdpp-app .bdpp-filters select,
.bdpp-app .bdpp-filters select option {
	font-size: 12px !important;
	color: #777777 !important;
}

.bdpp-app .bdpp-button--clear,
.bdpp-app .bdpp-button--search,
.bdpp-app .bdpp-button--apply {
	font-size: 12px !important;
	line-height: 1 !important;
}

/* Apply button keeps the same compact 6px treatment as the other actions. */
.bdpp-app .bdpp-button--apply,
.bdpp-app .bdpp-button--clear,
.bdpp-app .bdpp-button--search {
	border-radius: 6px !important;
}

/* Share button: lock its geometry and centre the icon despite theme styles. */
.bdpp-app .bdpp-icon-button--share {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 82px !important;
	min-width: 82px !important;
	max-width: 82px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	line-height: 1 !important;
	text-align: center !important;
}

.bdpp-app .bdpp-icon-button--share svg {
	display: block !important;
	width: 17px !important;
	height: 17px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

@media (max-width: 480px) {
	.bdpp-app .bdpp-load-more {
		width: 142px !important;
		min-width: 142px !important;
		max-width: 142px !important;
	}
}


/* ========================================================================
   Version 0.8.0 — final width and dropdown typography corrections
   ======================================================================== */

/* The previous precision block fixed this at 142px. Increase it by 3px on
   both the left and right, as requested, while keeping the control centred. */
.bdpp-app .bdpp-sidebar .bdpp-load-more {
	width: 148px !important;
	min-width: 148px !important;
	max-width: 148px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 3px !important;
	padding-right: 3px !important;
}

/* Native select display and native option list. */
.bdpp-app .bdpp-filter-grid select,
.bdpp-app .bdpp-filter-grid select option {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}

/* Chosen-generated dropdowns. */
.bdpp-app .chosen-container,
.bdpp-app .chosen-container .chosen-single,
.bdpp-app .chosen-container .chosen-single span,
.bdpp-app .chosen-container .chosen-results,
.bdpp-app .chosen-container .chosen-results li,
.bdpp-app .chosen-container-multi .chosen-choices,
.bdpp-app .chosen-container-multi .chosen-choices li,
.bdpp-app .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}

/* Select2-generated dropdowns. */
.bdpp-app .select2-container,
.bdpp-app .select2-container .select2-selection--single,
.bdpp-app .select2-container .select2-selection__rendered,
.bdpp-app .select2-dropdown,
.bdpp-app .select2-results,
.bdpp-app .select2-results__option,
.bdpp-app .select2-search__field {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}

/* Nice Select and common theme-generated select replacements. */
.bdpp-app .nice-select,
.bdpp-app .nice-select .current,
.bdpp-app .nice-select .list,
.bdpp-app .nice-select .option,
.bdpp-app .select-selected,
.bdpp-app .select-items,
.bdpp-app .select-items div,
.bdpp-app .select-styled,
.bdpp-app .select-options,
.bdpp-app .select-options li,
.bdpp-app .bootstrap-select .dropdown-toggle,
.bdpp-app .bootstrap-select .filter-option,
.bdpp-app .bootstrap-select .filter-option-inner,
.bdpp-app .bootstrap-select .filter-option-inner-inner,
.bdpp-app .bootstrap-select .dropdown-menu,
.bdpp-app .bootstrap-select .dropdown-menu li,
.bdpp-app .bootstrap-select .dropdown-menu li a,
.bdpp-app .bootstrap-select .dropdown-item {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}

/* ========================================================================
   Version 0.9.0 — exact button width and dependable native dropdown styling
   ======================================================================== */

/* 152px total width: 5px extra on each side compared with the original 142px. */
.bdpp-app .bdpp-sidebar .bdpp-load-more {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 152px !important;
	min-width: 152px !important;
	max-width: 152px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	white-space: nowrap !important;
}

/*
 * Use the original HTML selects inside this plugin. Several WordPress theme
 * select replacements were collapsing the controls and rendering oversized
 * opened choices. The original selects remain fully compatible with the
 * plugin's country → region → city JavaScript.
 */
.bdpp-app .bdpp-filter-grid select,
.bdpp-app .bdpp-filter-grid select.select2-hidden-accessible,
.bdpp-app .bdpp-filter-grid select.chosen-select,
.bdpp-app .bdpp-filter-grid select[data-select2-id] {
	display: block !important;
	position: static !important;
	clip: auto !important;
	clip-path: none !important;
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 38px 0 16px !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	appearance: auto !important;
	-webkit-appearance: menulist !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: normal !important;
	letter-spacing: 0 !important;
	color: #777777 !important;
	background-color: #ffffff !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 8px !important;
}

.bdpp-app .bdpp-filter-grid select option,
.bdpp-app .bdpp-filter-grid select optgroup {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	color: #666666 !important;
}

/* Hide theme-generated duplicate select interfaces only inside our filters. */
.bdpp-app .bdpp-filter-grid .chosen-container,
.bdpp-app .bdpp-filter-grid .select2-container,
.bdpp-app .bdpp-filter-grid .nice-select,
.bdpp-app .bdpp-filter-grid .bootstrap-select,
.bdpp-app .bdpp-filter-grid .select-selected,
.bdpp-app .bdpp-filter-grid .select-styled,
.bdpp-app .bdpp-filter-grid .ui-selectmenu-button,
.bdpp-app .bdpp-filter-grid .ts-wrapper,
.bdpp-app .bdpp-filter-grid .choices {
	display: none !important;
}

/* Requested typography for Search, Clear and Apply. */
.bdpp-app .bdpp-button--search,
.bdpp-app .bdpp-button--clear,
.bdpp-app .bdpp-button--apply {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
}


/* ========================================================================
   Version 0.10.0 — exact requested sizing and vacancy typography
   ======================================================================== */

/* 158px total width: 8px wider on each side than the original 142px. */
.bdpp-app .bdpp-sidebar .bdpp-load-more {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 158px !important;
	min-width: 158px !important;
	max-width: 158px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	white-space: nowrap !important;
}

/* Dropdown display text and opened native choices. */
.bdpp-app .bdpp-filter-grid select,
.bdpp-app .bdpp-filter-grid select option,
.bdpp-app .bdpp-filter-grid select optgroup,
.bdpp-app .chosen-container,
.bdpp-app .chosen-container .chosen-single,
.bdpp-app .chosen-container .chosen-single span,
.bdpp-app .chosen-container .chosen-results,
.bdpp-app .chosen-container .chosen-results li,
.bdpp-app .select2-container,
.bdpp-app .select2-container .select2-selection--single,
.bdpp-app .select2-container .select2-selection__rendered,
.bdpp-app .select2-dropdown,
.bdpp-app .select2-results,
.bdpp-app .select2-results__option,
.bdpp-app .nice-select,
.bdpp-app .nice-select .current,
.bdpp-app .nice-select .list,
.bdpp-app .nice-select .option,
.bdpp-app .bootstrap-select .dropdown-toggle,
.bdpp-app .bootstrap-select .filter-option,
.bdpp-app .bootstrap-select .dropdown-menu,
.bdpp-app .bootstrap-select .dropdown-item {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

/* Search, Clear and Apply button typography. */
.bdpp-app .bdpp-button--search,
.bdpp-app .bdpp-button--clear,
.bdpp-app .bdpp-button--apply {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

/* Vacancy detail typography. */
.bdpp-app .bdpp-description strong {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

.bdpp-app .bdpp-description li {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
}

/* Left-panel vacancy title typography. */
.bdpp-app .bdpp-list-card strong {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

/* ========================================================================
   Version 0.11.0 — homepage search connection and final typography
   ======================================================================== */

/* Homepage search shortcode: [bedifferent_home_search] */
.bdpp-home-search,
.bdpp-home-search * {
	box-sizing: border-box;
}

.bdpp-home-search {
	display: grid;
	grid-template-columns: minmax(260px, 2fr) minmax(210px, 1fr) 158px;
	align-items: stretch;
	gap: 12px;
	width: 100%;
	font-family: "Montserrat", Arial, sans-serif;
}

.bdpp-home-search__field {
	position: relative;
	display: block;
	min-width: 0;
	margin: 0;
}

.bdpp-home-search__icon {
	position: absolute;
	left: 16px;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	color: #2f2f2f;
	pointer-events: none;
}

.bdpp-home-search__icon svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bdpp-home-search input[type="search"],
.bdpp-home-search select,
.bdpp-home-search select.select2-hidden-accessible,
.bdpp-home-search select.chosen-select,
.bdpp-home-search select[data-select2-id] {
	display: block !important;
	position: static !important;
	clip: auto !important;
	clip-path: none !important;
	width: 100% !important;
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: normal !important;
	color: #666666 !important;
	background-color: #ffffff !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 8px !important;
	outline: none !important;
}

.bdpp-home-search input[type="search"] {
	padding: 0 16px 0 50px !important;
	-webkit-appearance: none;
	appearance: none;
}

.bdpp-home-search input[type="search"]::placeholder {
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #777777;
	opacity: 1;
}

.bdpp-home-search select {
	padding: 0 40px 0 16px !important;
	-webkit-appearance: menulist !important;
	appearance: auto !important;
}

.bdpp-home-search select option,
.bdpp-home-search select optgroup {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #666666 !important;
}

.bdpp-home-search input[type="search"]:focus,
.bdpp-home-search select:focus {
	border-color: #c2187a !important;
	box-shadow: 0 0 0 4px rgba(194, 24, 122, .12) !important;
}

.bdpp-home-search__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 158px !important;
	min-width: 158px !important;
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	color: #ffffff !important;
	background: #c2187a !important;
	border: 1px solid #c2187a !important;
	border-radius: 7px !important;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.bdpp-home-search__button:hover,
.bdpp-home-search__button:focus-visible {
	color: #ffffff !important;
	background: #3a3a3a !important;
	border-color: #3a3a3a !important;
	transform: translateY(-1px);
}

/* Hide duplicate interfaces generated by themes; keep the native homepage select. */
.bdpp-home-search .chosen-container,
.bdpp-home-search .select2-container,
.bdpp-home-search .nice-select,
.bdpp-home-search .bootstrap-select,
.bdpp-home-search .select-selected,
.bdpp-home-search .select-styled,
.bdpp-home-search .ui-selectmenu-button,
.bdpp-home-search .ts-wrapper,
.bdpp-home-search .choices {
	display: none !important;
}

/* Exact final vacancy-filter typography. */
.bdpp-app .bdpp-filter-grid select,
.bdpp-app .bdpp-filter-grid select.select2-hidden-accessible,
.bdpp-app .bdpp-filter-grid select.chosen-select,
.bdpp-app .bdpp-filter-grid select[data-select2-id],
.bdpp-app .bdpp-filter-grid select option,
.bdpp-app .bdpp-filter-grid select optgroup,
.bdpp-app .chosen-container,
.bdpp-app .chosen-container .chosen-single,
.bdpp-app .chosen-container .chosen-single span,
.bdpp-app .chosen-container .chosen-results,
.bdpp-app .chosen-container .chosen-results li,
.bdpp-app .select2-container,
.bdpp-app .select2-container .select2-selection--single,
.bdpp-app .select2-container .select2-selection__rendered,
.bdpp-app .nice-select,
.bdpp-app .nice-select .current,
.bdpp-app .nice-select .list,
.bdpp-app .nice-select .option {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
}

/* Select2 opens under <body>, outside the plugin wrapper. */
body.bdpp-vacancies-page .select2-container--open .select2-dropdown,
body.bdpp-vacancies-page .select2-container--open .select2-results,
body.bdpp-vacancies-page .select2-container--open .select2-results__option,
body.bdpp-vacancies-page .select2-container--open .select2-search__field {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
}

.bdpp-app .bdpp-operator-row,
.bdpp-app .bdpp-operator-row label,
.bdpp-app .bdpp-operator-row label span {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
}

.bdpp-app span.bdpp-sector-pill,
.bdpp-app .bdpp-sector-pill {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	text-transform: uppercase !important;
}

.bdpp-app .bdpp-button--search,
.bdpp-app .bdpp-button--clear,
.bdpp-app .bdpp-button--apply {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

.bdpp-app .bdpp-sidebar .bdpp-load-more {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 2px !important;
	box-sizing: border-box !important;
	width: 190px !important;
	min-width: 190px !important;
	max-width: 190px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 2px !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

.bdpp-app .bdpp-sidebar .bdpp-load-more span {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

.bdpp-app .bdpp-sidebar .bdpp-load-more svg {
	flex: 0 0 10px !important;
	width: 10px !important;
	height: 10px !important;
}

@media (max-width: 760px) {
	.bdpp-home-search {
		grid-template-columns: 1fr;
	}

	.bdpp-home-search__button {
		width: 100% !important;
		min-width: 100% !important;
	}
}


/* ========================================================================
   Version 0.12.1 — wider Load More Vacancies button and corrected title case
   ======================================================================== */

.bdpp-home-search-section,
.bdpp-home-search-section * {
	box-sizing: border-box;
}

.bdpp-home-search-section {
	width: 100%;
	font-family: "Montserrat", Arial, sans-serif;
}

.bdpp-home-search__title {
	margin: 0 0 24px !important;
	padding: 0 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: #2f2f2f !important;
	text-align: left;
}

.bdpp-home-search-section .bdpp-home-search {
	display: grid !important;
	grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) 160px !important;
	align-items: end !important;
	gap: 26px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 28px 26px !important;
	background: #3a3a3a !important;
	border: 0 !important;
	border-radius: 15px !important;
	box-shadow: none !important;
}

.bdpp-home-search-section .bdpp-home-search__field {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.bdpp-home-search-section .bdpp-home-search__label {
	display: block !important;
	margin: 0 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: #ffffff !important;
}

.bdpp-home-search-section .bdpp-home-search input[type="search"],
.bdpp-home-search-section .bdpp-home-search select,
.bdpp-home-search-section .bdpp-home-search select.select2-hidden-accessible,
.bdpp-home-search-section .bdpp-home-search select.chosen-select,
.bdpp-home-search-section .bdpp-home-search select[data-select2-id] {
	display: block !important;
	position: static !important;
	clip: auto !important;
	clip-path: none !important;
	width: 100% !important;
	height: 58px !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: normal !important;
	color: #3a3a3a !important;
	background: #ffffff !important;
	border: 1px solid #eeeeee !important;
	border-radius: 13px !important;
	box-shadow: none !important;
	outline: none !important;
}

.bdpp-home-search-section .bdpp-home-search input[type="search"] {
	-webkit-appearance: none !important;
	appearance: none !important;
}

.bdpp-home-search-section .bdpp-home-search input[type="search"]::placeholder {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #666666 !important;
	opacity: 1 !important;
}

.bdpp-home-search-section .bdpp-home-search select {
	padding-right: 42px !important;
	-webkit-appearance: menulist !important;
	appearance: auto !important;
}

.bdpp-home-search-section .bdpp-home-search select option,
.bdpp-home-search-section .bdpp-home-search select optgroup {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #3a3a3a !important;
	background: #ffffff !important;
}

.bdpp-home-search-section .bdpp-home-search input[type="search"]:focus,
.bdpp-home-search-section .bdpp-home-search select:focus {
	border-color: #c2187a !important;
	box-shadow: 0 0 0 4px rgba(194, 24, 122, .18) !important;
}

.bdpp-home-search-section .bdpp-home-search__action {
	display: flex !important;
	align-items: flex-end !important;
	min-height: 58px !important;
}

.bdpp-home-search-section .bdpp-home-search__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 160px !important;
	min-width: 160px !important;
	height: 58px !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	color: #ffffff !important;
	background: #c2187a !important;
	border: 1px solid #c2187a !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}

.bdpp-home-search-section .bdpp-home-search__button:hover,
.bdpp-home-search-section .bdpp-home-search__button:focus-visible {
	color: #ffffff !important;
	background: #2f2f2f !important;
	border-color: #2f2f2f !important;
	transform: translateY(-1px) !important;
}

/* Themes may generate replacement select interfaces. Keep the native select. */
.bdpp-home-search-section .chosen-container,
.bdpp-home-search-section .select2-container,
.bdpp-home-search-section .nice-select,
.bdpp-home-search-section .bootstrap-select,
.bdpp-home-search-section .select-selected,
.bdpp-home-search-section .select-styled,
.bdpp-home-search-section .ui-selectmenu-button,
.bdpp-home-search-section .ts-wrapper,
.bdpp-home-search-section .choices {
	display: none !important;
}

@media (max-width: 900px) {
	.bdpp-home-search-section .bdpp-home-search {
		grid-template-columns: 1fr 1fr !important;
	}

	.bdpp-home-search-section .bdpp-home-search__action {
		grid-column: 1 / -1;
	}

	.bdpp-home-search-section .bdpp-home-search__button {
		width: 100% !important;
		min-width: 100% !important;
	}
}

@media (max-width: 620px) {
	.bdpp-home-search__title {
		font-size: 24px !important;
		margin-bottom: 18px !important;
	}

	.bdpp-home-search-section .bdpp-home-search {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
		padding: 22px 18px !important;
		border-radius: 13px !important;
	}

	.bdpp-home-search-section .bdpp-home-search__action {
		grid-column: auto;
	}
}


/* ========================================================================
   Version 0.12.4 — mobile Vacancies order and usable location dropdowns
   ======================================================================== */

@media (max-width: 767px) {
	/* Mobile order: search controls, vacancy list, then selected vacancy detail. */
	.bdpp-app .bdpp-shell {
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden;
	}

	.bdpp-app .bdpp-main {
		display: contents !important;
	}

	.bdpp-app .bdpp-filters {
		order: 1;
		width: 100%;
		margin: 0 !important;
		padding: 20px 15px;
		border-bottom: 1px solid var(--bdpp-border);
		background: var(--bdpp-white);
	}

	.bdpp-app .bdpp-sidebar {
		order: 2;
		width: 100%;
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid var(--bdpp-border);
	}

	.bdpp-app .bdpp-detail-region {
		order: 3;
		width: 100%;
		min-height: 0;
		padding: 20px 15px 28px;
		background: var(--bdpp-white);
		scroll-margin-top: 18px;
	}
}
