/**
 * CDSPG shared components — replaces inline style attributes site-wide.
 */

/* Skip link (WCAG 2.0 bypass block) */
.cdspg-skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 2147483647;
	padding: 0.75rem 1.25rem;
	background: #001022;
	color: #fff;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0 0 8px 0;
}
.cdspg-skip-link:focus {
	left: 0;
	top: 0;
	width: auto;
	height: auto;
	overflow: visible;
	outline: 3px solid #4cafe2;
	outline-offset: 2px;
}

/* Focus visible — keyboard users (WCAG 2.0 2.4.7) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid #4cafe2;
	outline-offset: 2px;
}

/* Property page — h1 styled like legacy h4 */
.cdspg-property-title {
	margin-bottom: 0.5rem;
}

/* PWA portal on <html> — escapes body transforms that break position:fixed */
#cdspgPwaPortal {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 2147483000 !important;
	padding: 1rem;
	padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	pointer-events: none;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
}
#cdspgPwaPortal .cdspg-pwa-install,
#cdspgPwaPortal .cdspg-pwa-install__inner,
#cdspgPwaPortal .cdspg-pwa-install__title,
#cdspgPwaPortal .cdspg-pwa-install__text,
#cdspgPwaPortal .cdspg-pwa-install__lead,
#cdspgPwaPortal .cdspg-pwa-install__steps,
#cdspgPwaPortal .cdspg-pwa-install__actions,
#cdspgPwaPortal .cdspg-pwa-install__actions .btn {
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
}
#cdspgPwaPortal .cdspg-pwa-install__title,
#cdspgPwaPortal .cdspg-pwa-install__lead {
	font-family: "Barlow Semi Condensed", "Roboto", Helvetica, Arial, sans-serif !important;
}
#cdspgPwaPortal .cdspg-pwa-install {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	max-width: 28rem !important;
	width: 100% !important;
	margin: 0 !important;
}
#cdspgPwaPortal .cdspg-pwa-install.is-visible {
	opacity: 1 !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}

/* Navbar dropdowns — BS5 Popper vs theme hover CSS (style.css left:100% + translate) */
@media (min-width: 992px) {
	.header .navbar {
		overflow: visible;
	}
	.header .navbar .nav-item.dropdown,
	.header .navbar .dropdown {
		position: relative;
	}
	.header .navbar .nav-item.dropdown > .dropdown-menu {
		position: absolute !important;
		top: 100% !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		margin: 0 !important;
		transform: translate3d(-50%, 10px, 0) !important;
	}
	.header .navbar .nav-item.dropdown:hover > .dropdown-menu,
	.header .navbar .nav-item.dropdown > .dropdown-menu.show {
		transform: translate3d(-50%, 0, 0) !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.header .navbar .dropdown-menu .dropdown-submenu > .dropdown-menu {
		top: 0 !important;
		left: 100% !important;
		transform: translate3d(15px, 10px, 0) !important;
	}
	.header .navbar .dropdown-menu .dropdown-submenu:hover > .dropdown-menu,
	.header .navbar .dropdown-menu .dropdown-submenu > .dropdown-menu.show {
		transform: translate3d(15px, 0, 0) !important;
	}
}

/* Public enquiry forms (contact, property) — BS5 spacing + visible field borders */
.cdspg-enquiry-form .form-control,
.cdspg-enquiry-form .form-select,
.cdspg-enquiry-form select.form-control {
	border: 1px solid #dee2e6;
	border-radius: 0.25rem;
	padding: 0.5rem 0.75rem;
	background-color: #fff;
}
.cdspg-enquiry-form .form-label {
	margin-bottom: 0.35rem;
	font-weight: 500;
	color: #001935;
}
.cdspg-enquiry-form--dark .form-control,
.cdspg-enquiry-form--dark .form-select,
.cdspg-enquiry-form--dark select.form-control {
	background-color: #fff;
	color: #001935;
}
.cdspg-enquiry-form .form-check {
	margin-top: 0.25rem;
}

/* Layout utilities */
.cdspg-clear { clear: both; }
.cdspg-relative { position: relative; }
.cdspg-hidden { display: none; }
.cdspg-clickable { cursor: pointer; }
.cdspg-text-primary { color: #4cafe2; }
.cdspg-text-muted-light { color: #cbc9c9; }
.cdspg-text-danger { color: #ea4335; }
.cdspg-text-success { color: #4cafe3; }
.cdspg-text-error { color: red; }
.cdspg-text-center { text-align: center; }
.cdspg-text-underline-link { cursor: pointer; text-decoration: underline; color: blue; }
.cdspg-w-50 { width: 50%; }
.cdspg-w-100 { width: 100% !important; }
.cdspg-overflow-scroll-y { overflow: auto; max-height: 300px; }
.cdspg-list-unstyled { list-style-type: none; }
.cdspg-hr-white { color: #fff !important; }
.cdspg-display-webkit-box { display: -webkit-box; }

/* Honeypot (anti-spam) */
.cdspg-hp {
	position: absolute;
	left: -9999px;
	top: -9999px;
	height: 0;
	width: 0;
	overflow: hidden;
}

/* Login / register panel — centred layout */
section.login .cdspg-login-panel {
	margin-left: auto;
	margin-right: auto;
	max-width: 440px;
	width: 100%;
}

section.login .cdspg-login-form {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
}

/* Tabs: underline style — active tab must not look like a second submit button */
section.login .cdspg-login-tabs.nav-tabs.nav-tabs-02 {
	border-bottom: 1px solid #dee2e6;
	margin-bottom: 0.5rem;
}

section.login .cdspg-login-tabs.nav-tabs.nav-tabs-02 .nav-item .nav-link {
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	color: #001935;
	font-weight: 500;
	margin-bottom: -1px;
	padding: 0.65rem 1.25rem;
	text-transform: none;
}

section.login .cdspg-login-tabs.nav-tabs.nav-tabs-02 .nav-item .nav-link.active {
	background: transparent;
	border-bottom-color: #4cafe2;
	color: #4cafe2;
	font-weight: 600;
}

section.login .cdspg-login-form .form-group {
	margin-bottom: 0;
}

section.login .cdspg-login-form.row.g-3 > * {
	padding-top: 0;
}

section.login .cdspg-login-actions {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin-top: 0.25rem;
	text-align: center;
	width: 100%;
}

section.login .cdspg-login-actions .btn-primary {
	min-width: 220px;
	padding-left: 2rem;
	padding-right: 2rem;
}

section.login .cdspg-login-forgot {
	color: #4cafe2;
	font-weight: 600;
	padding: 0;
}

section.login .cdspg-login-msg {
	min-height: 1.25rem;
	width: 100%;
}

section.login .cdspg-login-social {
	margin-top: 1rem;
	text-align: center;
}

section.login .cdspg-login-social-row {
	margin-left: auto;
	margin-right: auto;
	max-width: 360px;
}

section.login .cdspg-login-terms-row {
	flex-wrap: nowrap;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
	width: 100%;
}

section.login .cdspg-login-terms-row .cdspg-switch-title {
	font-size: 0.92rem;
}

section.login .cdspg-login-terms-row .cdspg-switch {
	flex-shrink: 0;
}

section.login .cdspg-login-terms-row input[type="checkbox"] {
	-webkit-appearance: none !important;
	appearance: none !important;
}

section.login .cdspg-turnstile-wrap {
	align-items: center;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
	width: 100%;
}

section.login .cdspg-turnstile-note {
	text-align: center;
	width: 100%;
}

/* Login: Google Sign-In widget (do not wrap in .google-bg anchor) */
section.login .cdspg-google-signin-wrap {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 44px;
	width: 100%;
}

section.login .cdspg-google-signin-wrap .g-signin2 {
	display: inline-block;
}

section.login .cdspg-google-signin-wrap .g-signin2 > div {
	margin: 0 auto !important;
}
/* Modern toggle switch (public login — Admin CSS is not available to guests) */
.cdspg-switch-row {
	align-items: center;
	background: #f4fbff;
	border: 1px solid #d8e8f2;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	padding: 1rem 1.25rem;
}

.cdspg-switch-meta {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.cdspg-switch-title {
	color: #001935;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.cdspg-switch-status {
	color: #6c757d;
	font-size: 0.88rem;
	font-weight: 500;
}

.cdspg-switch-status.is-on {
	color: #4cafe2;
}

.cdspg-switch {
	cursor: pointer;
	display: inline-block;
	flex-shrink: 0;
	height: 34px;
	margin: 0;
	position: relative;
	width: 58px;
}

.cdspg-switch input {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	height: 100%;
	left: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.cdspg-switch-track {
	background: #c5d4e0;
	border-radius: 34px;
	bottom: 0;
	box-shadow: inset 0 1px 3px rgba(0, 25, 53, 0.15);
	display: block;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	transition: background 0.25s ease, box-shadow 0.25s ease;
}

.cdspg-switch-thumb {
	background: #fff;
	border-radius: 50%;
	bottom: 3px;
	box-shadow: 0 2px 6px rgba(0, 25, 53, 0.22);
	height: 28px;
	left: 3px;
	position: absolute;
	transition: transform 0.25s ease;
	width: 28px;
}

.cdspg-switch input:checked + .cdspg-switch-track {
	background: #4cafe2;
	box-shadow: inset 0 1px 2px rgba(0, 25, 53, 0.12);
}

.cdspg-switch input:checked + .cdspg-switch-track .cdspg-switch-thumb {
	transform: translateX(24px);
}

.cdspg-switch input:focus-visible + .cdspg-switch-track {
	box-shadow: 0 0 0 3px rgba(76, 175, 226, 0.35);
}

.cdspg-switch input:disabled + .cdspg-switch-track {
	cursor: not-allowed;
	opacity: 0.55;
}

.cdspg-login-terms-row .cdspg-switch-title a {
	text-decoration: underline;
}
.cdspg-turnstile-wrap {
	display: flex;
	justify-content: center;
}

/* Hero / section backgrounds */
.cdspg-hero-header { background-image: url('../images/header.jpg'); }
.cdspg-hero-fallback { background-image: url('../images/costa-del-sol.png'); }
.cdspg-bg-pattern { background-image: url('../images/pattern-bg.jpg'); }
.cdspg-bg-testimonial { background-image: url('../image/bg-02-1920.jpg'); }
.cdspg-profile-sidebar-bg { background-image: url('../images/banner-01.jpg'); }

/* Admin dashboard grid tiles */
.cdspg-admin-grid-bg-01 { background-image: url('/images/property/grid/01.jpg'); }
.cdspg-admin-grid-bg-02 { background-image: url('/images/property/grid/02.jpg'); }
.cdspg-admin-grid-bg-03 { background-image: url('/images/property/grid/03.jpg'); }
.cdspg-admin-grid-bg-04 { background-image: url('/images/property/grid/04.jpg'); }

/* Map & category links */
.mapRef,
.cdspg-category-link { cursor: pointer; }

/* Homepage hero banner (from index inline block) */
.banner.cdspg-hero-banner {
	background-size: cover;
	background-position: center center;
	min-height: 420px;
}

/* Hero search panel — must stay solid white (not hero overlay / select grey) */
.banner .property-search-field.bg-white,
.property-search-field.bg-white {
	background-color: #ffffff !important;
	position: relative;
	z-index: 2;
}
.property-search-field.bg-white .property-search-item,
.property-search-field.bg-white .form-row,
.property-search-field.bg-white .form-group {
	background-color: #ffffff;
}
/* Grid dividers between Property type / Bedrooms / Location (theme form-group borders) */
.property-search-field .form-row.row > .form-group {
	border-left: 1px solid #eeeeee;
	border-bottom: 1px solid #eeeeee;
}
.property-search-field .form-row.row > .form-group:first-child {
	border-left: none;
}

/* Select2 fields — visible input outline (was removed during grey-background fix) */
.property-search-field .form-group-search .select2-container--default .select2-selection--multiple,
.property-search-field .form-group-search .select2-container--default .select2-selection--single {
	background-color: #ffffff;
	border: 1px solid #eeeeee;
	border-radius: 0;
	min-height: 40px;
}
.property-search-field .form-group-search .select2-container--default .select2-selection--multiple .select2-selection__rendered {
	padding: 4px 8px;
}
.property-search-field .form-group-search .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: rgba(76, 175, 226, 0.12);
	border: 1px solid #eeeeee;
	color: #001935;
}
.property-search-field select.form-control.basic-select {
	background-color: #ffffff;
}

/* Advanced panel text inputs — theme sets border:none on all .form-control */
.property-search-field .advanced-search input.form-control:not([type="checkbox"]) {
	border: 1px solid #eeeeee;
	padding: 8px 12px;
	background-color: #ffffff;
}
.property-search-field .advanced-search .select2-container--default .select2-selection--multiple,
.property-search-field .advanced-search .select2-container--default .select2-selection--single {
	border: 1px solid #eeeeee;
	border-radius: 0;
	min-height: 40px;
	background-color: #ffffff;
}

/* Search panel — BS4 markup (form-row, bare col-lg) on Bootstrap 5 */
.property-search-field .form-row.row {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 992px) {
	.property-search-field .form-row > .cdspg-search-col-flex,
	.property-search-field .form-row > .form-group.col-lg.col-md-6 {
		flex: 1 1 0;
		width: auto;
		max-width: 100%;
	}
}
.property-search-field .advanced-search .form-row.row {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 768px) {
	.property-search-field .advanced-search .form-row.row > .col-md-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.property-search-field .advanced-search .form-row.row > .col-md-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}
	.property-search-field .advanced-search .form-row.row > .col-md-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.property-search-field .advanced-search .form-row.row > .col-md-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}
}

.form-group-search .select2-container { width: 100% !important; }
.form-group-search .clickMe { display: none; }

.property-search-field .clickMe {
	position: absolute;
}
.property-search-field .clickMe--type-bed {
	top: 63px;
	right: 30px;
}
.property-search-field .clickMe--loc {
	right: 5px;
}
.property-search-field .clickMe--advanced {
	right: 30px;
}
.cdspg-search-btn-wrap {
	position: relative;
	top: 23px;
}
.cdspg-advanced-search-inherit {
	position: inherit !important;
}
.cdspg-price-checkbox-cell {
	padding-left: 27px;
}
.cdspg-price-range-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
}
.cdspg-price-range-label {
	display: block;
	font-weight: inherit;
	color: inherit;
	margin: 0;
}
.cdspg-price-switch-row {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 8px;
}
.cdspg-price-switch-text {
	color: #969696;
	font-size: 12px;
	line-height: 1.2;
	white-space: nowrap;
}
.cdspg-switch--compact {
	height: 20px;
	width: 40px;
}
.cdspg-switch--compact .cdspg-switch-track {
	border-radius: 999px;
	height: 20px;
}
.cdspg-switch--compact .cdspg-switch-thumb {
	bottom: auto;
	height: 16px;
	left: 2px;
	top: 2px;
	width: 16px;
}
.cdspg-switch--compact input:checked + .cdspg-switch-track .cdspg-switch-thumb {
	transform: translateX(20px);
}
.cdspg-price-range-inputs--inline-switch {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
}
.cdspg-price-range-inputs--inline-switch .cdspg-price-input {
	flex: 0 0 auto;
	max-width: 118px;
	min-width: 0;
	width: 118px;
}
.cdspg-price-switch-center {
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-shrink: 0;
	gap: 6px;
	justify-content: center;
}
.cdspg-price-range {
	margin-top: 4px;
}
.cdspg-price-range-inputs {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 4px;
}
.cdspg-price-range-inputs--split {
	gap: 8px;
}
.cdspg-price-range-inputs--split .cdspg-price-input {
	flex: 1 1 50%;
	max-width: none;
	width: auto;
}
.cdspg-price-input {
	width: 118px;
	max-width: 42%;
	padding: 6px 10px;
	font-size: 13px;
	line-height: 1.3;
	text-align: center;
	color: #4cafe2;
	background: #ffffff;
	border: 1px solid #d9e8f3;
	border-radius: 6px;
}
.property-search-field .cdspg-price-input {
	width: 118px;
	max-width: 42%;
}
.cdspg-price-input:focus {
	outline: none;
	border-color: #4cafe2;
	box-shadow: 0 0 0 2px rgba(76, 175, 226, 0.15);
}
.cdspg-price-slider-wrap {
	padding: 0 4px;
	margin: 0;
}
.property-search-field .cdspg-price-slider-wrap {
	margin-top: -6px;
}

/* User requirements form chevrons */
.cdspg-req-select-wrap { position: relative; }
.cdspg-req-select-wrap .clickMe { position: absolute; }
.cdspg-req-select-wrap .clickMe--a { top: 40px; right: 18px; }
.cdspg-req-select-wrap .clickMe--b { top: 38px; right: 16px; }
.cdspg-req-select-wrap .clickMe--c { top: 40px; right: 17px; }
.cdspg-req-select-wrap .clickMe--d { top: 38px; right: 17px; }
.cdspg-req-select-wrap .clickMe--e { top: 39px; right: 16px; }
.cdspg-req-arrow-icon {
	position: absolute;
	top: 47px;
	left: 270px;
}

/* Footer recent listings — fixed thumb box so all images match */
.footer .footer-recent-List ul li .footer-recent-list-item-thumb {
	flex: 0 0 120px;
	width: 120px;
	height: 80px;
	overflow: hidden;
}

.footer .footer-recent-list-item-thumb-link {
	display: block;
	width: 100%;
	height: 100%;
}

.footer .footer-recent-List ul li .footer-recent-list-item .footer-prop-thumb {
	display: block;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	object-fit: cover;
	object-position: center;
}
.cdspg-sidebar-prop-thumb {
	min-height: 130px !important;
	max-height: 130px !important;
	height: 130px !important;
	min-width: 100% !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* Property detail page */
.cdspg-prop-tabs-sticky {
	top: 53px !important;
}

/* Admin progress / panels */
.cdspg-progress-container { width: 100%; }
.cdspg-progress-bar {
	height: 20px;
	width: 0%;
	border: 1px solid #000;
	background-color: limegreen;
}
.cdspg-panel-scroll {
	max-height: 300px;
	overflow-y: auto;
}
.cdspg-content-gutter {
	margin-left: 20px;
	margin-right: 20px;
}

/* Admin upload status (JS-injected) */
.cdspg-upload-error { color: #ea4335; }
.cdspg-upload-success { color: #4cafe3; }

/* Login / register */
.cdspg-login-error {
	color: red;
	text-align: center;
}

/* User account */
.cdspg-violation-warning {
	color: red !important;
}
.cdspg-prompt-password-input { width: 99%; }
.cdspg-prompt-error { color: red; text-align: center; }
.cdspg-prompt-error-bold { color: red; font-weight: bold; }

/* Admin / search table thumbnails */
.cdspg-table-thumb-col {
	cursor: pointer;
	width: 10%;
}
.cdspg-table-thumb-col--static {
	width: 10%;
}
.cdspg-table-cell-center { text-align: center; }
.cdspg-table-col-25 { width: 25%; }
.cdspg-table-img { width: 100%; }

/* CRM details */
.cdspg-crm-date-wrap {
	position: absolute;
	top: -35px;
	width: 95%;
}
.cdspg-crm-cal-icon {
	right: 20px;
	top: -18px;
	position: absolute;
	cursor: pointer;
}
.cdspg-crm-cal-icon--cb {
	right: 36px;
	top: 18px;
	position: absolute;
	cursor: pointer;
}
.cdspg-crm-select-icon {
	right: 17px;
	top: 39px;
	position: absolute;
	cursor: pointer;
}
.cdspg-crm-highlight-box {
	padding: 10px;
	border: 2px solid #4cafe2;
	border-radius: 5px;
}
.cdspg-text-success-dark { color: darkgreen; }
.cdspg-sale-completed { color: #4cafe2; }
.cdspg-msg-admin { color: #4cafe2; }

/* Dynamic-width progress (value set via progress element) */
.cdspg-progress-fill {
	display: block;
	width: 100%;
	height: 30px;
	border: none;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	background-color: #e9ecef;
}
.cdspg-progress-fill::-webkit-progress-bar {
	background-color: #e9ecef;
}
.cdspg-progress-fill::-webkit-progress-value {
	background-color: #4db3f3;
}
.cdspg-progress-fill::-moz-progress-bar {
	background-color: #4db3f3;
}
.cdspg-wait-spinner { margin: auto; width: 50%; }
.cdspg-analytics-frame { width: 100%; min-height: 5820px; border: 0; }
.cdspg-admin-nav-table { position: absolute; top: 31px; }
.cdspg-code-inline { background: #eee; padding: 4px 8px; word-break: break-all; }

/* Admin user panel sidebar */
.cdspg-admin-profile-sidebar-bg { background-image: url('../images/header.jpg'); }

.profile-sidebar .profile-nav {
	margin-top: 1.25rem;
}

.profile-sidebar .profile-nav .nav {
	align-items: center;
	background: linear-gradient(90deg, #001935 0%, #003366 45%, #4cafe2 100%);
	border-radius: 6px;
	box-shadow: 0 2px 10px rgba(0, 25, 53, 0.22);
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0.65rem 0.85rem;
}

.profile-sidebar .profile-nav .nav .nav-item {
	margin: 0;
}

.profile-sidebar .profile-nav .nav .nav-item .nav-link {
	border-radius: 4px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 0.5rem 0.85rem;
	transition: background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

.profile-sidebar .profile-nav .nav .nav-item .nav-link i {
	margin-right: 0.35rem;
	text-align: center;
	width: 1.1rem;
}

.profile-sidebar .profile-nav .nav .nav-item .nav-link:hover {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	text-decoration: none;
}

.profile-sidebar .profile-nav .nav .nav-item .nav-link.active {
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 25, 53, 0.18);
	color: #001935;
}

.profile-sidebar .profile-nav .nav .nav-item .nav-link.active:hover {
	background: #f0f8fc;
	color: #001935;
}

.profile-sidebar .profile-nav hr {
	border-color: rgba(255, 255, 255, 0.25);
	margin: 0.35rem 0;
	width: 100%;
}

/* Mobile UX — nav collapse, touch targets, dropdowns below bar */
@media (max-width: 991.98px) {
	.header {
		overflow: visible;
	}
	.header .navbar .navbar-collapse {
		max-height: min(70vh, 520px);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}
	.header .navbar .dropdown-menu {
		position: static !important;
		transform: none !important;
		float: none;
		width: 100%;
		max-height: none;
		overflow: visible;
		box-shadow: none;
		border: 0;
		padding-left: 1rem;
		margin-top: 0;
		visibility: visible !important;
		opacity: 1 !important;
		display: none;
	}
	.header .navbar .dropdown-menu.show {
		display: block !important;
	}
	.header .navbar .nav-link,
	.header .navbar .dropdown-item {
		min-height: 44px;
		display: flex;
		align-items: center;
		padding-top: 0.65rem;
		padding-bottom: 0.65rem;
	}
	.header .navbar-toggler {
		min-width: 44px;
		min-height: 44px;
	}
	.cdspg-search-panel .form-control,
	.cdspg-search-panel .btn,
	.cdspg-enquiry-form .form-control,
	.cdspg-enquiry-form .btn {
		min-height: 44px;
	}
}

@media (min-width: 992px) {
	.header .navbar .nav-item.dropdown > .dropdown-menu {
		z-index: 10050 !important;
	}
}

/* PWA install prompt — lives in #cdspgPwaPortal (see block at top of file for fonts) */
#cdspgPwaPortal .cdspg-pwa-install,
.cdspg-pwa-install {
	opacity: 0;
	transform: translateY(1rem);
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}
#cdspgPwaPortal .cdspg-pwa-install.is-visible,
.cdspg-pwa-install.is-visible {
	opacity: 1 !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}
.cdspg-pwa-install__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	padding: 1rem 1.1rem;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: color-mix(in srgb, #001022 92%, transparent);
	backdrop-filter: blur(12px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
	color: #fff;
}
.cdspg-pwa-install__title {
	margin: 0;
	font-family: "Barlow Semi Condensed", "Roboto", Helvetica, Arial, sans-serif !important;
	font-weight: 700;
	font-size: 0.95rem;
	color: #fff;
}
.cdspg-pwa-install__text {
	margin: 0.25rem 0 0;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.4;
}
.cdspg-pwa-install__lead {
	margin: 0 0 0.35rem;
	font-weight: 600;
	color: #fff;
}
.cdspg-pwa-install__steps {
	margin: 0;
	padding-left: 1.15rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.cdspg-pwa-install__copy {
	flex: 1;
	min-width: min(100%, 14rem);
}
.cdspg-pwa-install__actions {
	display: flex;
	gap: 0.5rem;
	margin-left: auto;
	flex-wrap: wrap;
}
.cdspg-pwa-install__actions .btn-outline-secondary {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.35);
}
.cdspg-pwa-install__actions .btn-outline-secondary:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}
.cdspg-buyers-guide-row {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.cdspg-buyers-guide-row .form-control {
	flex: 1 1 180px;
	min-width: 0;
}
.cdspg-buyers-guide-btn {
	flex: 0 0 auto;
	white-space: nowrap;
}
@media (min-width: 768px) {
	.cdspg-buyers-guide-row {
		flex-wrap: nowrap;
	}
	.cdspg-buyers-guide-btn {
		height: auto;
	}
}

