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

/* 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;
}

/* 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;
}

/* Search panel */
.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-slider-wrap {
	padding-right: 15px;
	margin-left: 15px;
}

/* 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 */
.footer-prop-thumb {
	min-width: 130px !important;
	max-width: 130px !important;
	width: 130px !important;
}
.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%;
}
