/* Dasenso polish layer — loaded after Toplax custom.css
 * Identity: navy #0d213f · gold #b38e3e · Manrope
 * Fixes: contrast, focus, motion, press feedback — no redesign
 */

:root {
	--primary-color: #0d213f;
	--secondary-color: #f3f4f6;
	--text-color: #4b5563; /* was #81848A (~3.5:1); ~7:1 on white */
	--accent-color: #b38e3e;
	--white-color: #ffffff;
	--focus-ring: #b38e3e;
	--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

/* —— Focus: theme zeroed outlines; restore visible keyboard rings —— */
a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
.btn-default:focus-visible,
.nav-link:focus-visible,
.service-btn:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 3px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
.btn-default:focus:not(:focus-visible),
.nav-link:focus:not(:focus-visible) {
	outline: none;
}

/* —— Hero: deepen existing wash + gold highlight —— */
.hero.hero-slider-layout .hero-slide::before {
	background:
		radial-gradient(ellipse 75% 85% at 30% 45%, rgba(13, 33, 63, 0.55) 0%, rgba(13, 33, 63, 0.2) 60%, transparent 100%),
		linear-gradient(270deg, rgba(13, 33, 63, 0.15) 0%, rgba(13, 33, 63, 0.88) 100%),
		linear-gradient(0deg, rgba(13, 33, 63, 0) 70%, rgba(13, 33, 63, 0.45) 100%);
}

.hero-content .section-title.dark-section h1,
.hero-content .section-title.dark-section h1 div {
	color: var(--white-color);
}

.hero-content .section-title.dark-section h1 span,
.hero-content .section-title.dark-section h1 span div {
	color: var(--accent-color);
	font-weight: 700;
}

.hero-content .section-title.dark-section p {
	color: rgba(255, 255, 255, 0.92);
	max-width: 36em;
}

/* MD message block — theme never defined .our-testimonials padding */
.our-testimonials {
	padding: 100px 0;
}

/* —— Buttons: Emil press + property-specific transitions —— */
.btn-default {
	transition:
		background-color 220ms var(--ease-out),
		transform 160ms var(--ease-out),
		box-shadow 220ms var(--ease-out);
}

.btn-default::before,
.btn-default::after,
.btn-default span,
.btn-default span::after {
	transition:
		transform 220ms var(--ease-out),
		width 220ms var(--ease-out),
		background-color 220ms var(--ease-out),
		color 220ms var(--ease-out);
}

.btn-default:active {
	transform: scale(0.97);
}

.btn-default:hover span {
	color: var(--white-color);
}

.service-btn:active,
.post-item-btn a:active,
.footer-contact-circle a:active,
.contact-now-circle a:active {
	transform: scale(0.97);
	transition: transform 160ms var(--ease-out);
}

/* —— Nav contrast on navy bar —— */
.main-menu ul li .nav-link {
	color: rgba(255, 255, 255, 0.88);
}

.main-menu ul li.active .nav-link,
.main-menu ul li .nav-link:hover {
	color: var(--white-color);
}

/* —— Magic cursor: hide custom cursor when reduced motion —— */
@media (prefers-reduced-motion: reduce) {
	.cb-cursor,
	.magic-cursor,
	body.cursor-active,
	body {
		cursor: auto !important;
	}

	.wow,
	.animated {
		animation: none !important;
		transition: none !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.hero.hero-slider-layout .hero-slide::before {
		background: rgba(13, 33, 63, 0.78);
	}

	.btn-default,
	.btn-default::before,
	.btn-default::after,
	.btn-default span,
	.btn-default span::after {
		transition: none !important;
	}

	.btn-default:active {
		transform: none;
	}
}

@media (hover: hover) and (pointer: fine) {
	.service-item .icon-box img,
	.project-image figure,
	.post-featured-image figure {
		transition: transform 700ms var(--ease-out);
	}

	.service-item:hover .icon-box img,
	.project-item:hover .project-image figure,
	.post-item:hover .post-featured-image figure {
		transform: scale(1.05);
	}

	.service-item .icon-box,
	.project-image,
	.post-featured-image {
		overflow: hidden;
	}
}
