/*
 * Singabakho Property Solutions brand layer.
 * Colours taken from the company logo: royal blue and gold.
 * These helper classes can be added to any Elementor section or widget
 * through Advanced > CSS Classes.
 */

:root {
	--sb-blue: #12357f;
	--sb-blue-dark: #0b2258;
	--sb-blue-light: #2a56b8;
	--sb-gold: #d4a32a;
	--sb-gold-light: #f0c95a;
	--sb-ink: #14192b;
	--sb-body: #4a5468;
	--sb-muted: #f4f6fb;
	--sb-border: #e2e7f2;
	--sb-radius: 14px;
	--sb-shadow: 0 18px 40px rgba(12, 32, 84, 0.08);
	--sb-font-heading: "Outfit", "Segoe UI", sans-serif;
	--sb-font-body: "Source Sans 3", "Segoe UI", sans-serif;
}

body.singabakho {
	font-family: var(--sb-font-body);
	color: var(--sb-body);
	background: #fff;
	line-height: 1.65;
}

body.singabakho h1,
body.singabakho h2,
body.singabakho h3,
body.singabakho h4,
body.singabakho h5,
body.singabakho h6 {
	font-family: var(--sb-font-heading);
	color: var(--sb-ink);
	line-height: 1.2;
}

body.singabakho a {
	color: var(--sb-blue);
}

/* Reusable helper classes for Elementor */
.sb-topbar {
	font-size: 0.9rem;
}

.sb-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 700;
	color: var(--sb-gold);
	font-size: 0.8rem;
}

.sb-card {
	background: #fff;
	border: 1px solid var(--sb-border);
	border-radius: var(--sb-radius);
	box-shadow: var(--sb-shadow);
	height: 100%;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sb-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 50px rgba(12, 32, 84, 0.14);
}

.sb-card-gold {
	border-top: 4px solid var(--sb-gold);
}

.sb-muted-bg {
	background: var(--sb-muted);
}

.sb-blue-bg {
	background: linear-gradient(135deg, var(--sb-blue-dark), var(--sb-blue-light));
	color: #fff;
}

.sb-blue-bg h1,
.sb-blue-bg h2,
.sb-blue-bg h3,
.sb-blue-bg p,
.sb-blue-bg li {
	color: #fff;
}

.sb-gold-rule .elementor-divider-separator {
	border-top-color: var(--sb-gold) !important;
}

.sb-stat .elementor-counter-number-wrapper,
.sb-stat .elementor-heading-title {
	color: var(--sb-gold);
}

.sb-btn,
body.singabakho .sb-btn {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 999px;
	background: var(--sb-gold);
	color: var(--sb-blue-dark);
	font-weight: 700;
	text-decoration: none;
}

/* Floating controls injected by theme.js */
.sb-float {
	position: fixed;
	right: 18px;
	z-index: 9990;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 50%;
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 10px 26px rgba(12, 32, 84, 0.25);
}

.sb-float svg {
	width: 26px;
	height: 26px;
}

.sb-float--whatsapp {
	bottom: 88px;
	background: #25d366;
	color: #fff;
}

.sb-float--top {
	bottom: 24px;
	background: var(--sb-blue);
	color: #fff;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease;
}

.sb-float--top.is-visible {
	opacity: 1;
	visibility: visible;
}

.sb-cookie {
	position: fixed;
	left: 18px;
	right: 18px;
	bottom: 18px;
	z-index: 9995;
	max-width: 560px;
	background: #fff;
	border: 1px solid var(--sb-border);
	border-radius: var(--sb-radius);
	box-shadow: 0 22px 50px rgba(12, 32, 84, 0.2);
	padding: 18px 20px;
	display: none;
	gap: 14px;
	font-size: 0.92rem;
}

.sb-cookie.is-visible {
	display: block;
}

.sb-cookie__actions {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

.sb-cookie button {
	border: 0;
	cursor: pointer;
	border-radius: 999px;
	padding: 9px 20px;
	font-weight: 600;
}

.sb-cookie__accept {
	background: var(--sb-blue);
	color: #fff;
}

.sb-cookie__decline {
	background: var(--sb-muted);
	color: var(--sb-ink);
}

@media (max-width: 767px) {
	.sb-float {
		width: 48px;
		height: 48px;
	}
}
