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

/* Footer: branding left (~1/3), three link columns right (~2/3). */
.main-footer .footer-main {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr);
	gap: 48px 64px;
	align-items: start;
}

.main-footer .about-footer {
	max-width: 360px;
	width: 100%;
}

.main-footer .footer-logo {
	margin-bottom: 18px;
}

.main-footer .footer-logo img {
	max-height: 72px;
	max-width: 220px;
	width: auto;
	height: auto;
}

.main-footer .about-footer-content p {
	color: rgba(255, 255, 255, 0.92);
	line-height: 1.7;
}

.main-footer .footer-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 40px;
}

.main-footer .footer-links h3 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 22px;
}

.main-footer .footer-links ul li {
	margin-bottom: 12px;
	line-height: 1.5;
}

/* Footer theme capitalizes each word; keep emails as lowercase. */
.footer-links .contact-email,
.footer-links a.contact-email {
	text-transform: none;
}

@media (max-width: 991px) {
	.main-footer .footer-main {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.main-footer .about-footer {
		max-width: 100%;
	}

	.main-footer .footer-columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px 24px;
	}
}

@media (max-width: 767px) {
	.main-footer .footer-columns {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}
