/* Stratus — visual polish for Hostinger AI theme + Elementor */

:root {
	--stratus-sand: #e1d7c6;
	--stratus-cream: #f5f0e8;
	--stratus-ink: #2c2a29;
	--stratus-brown: #5a504a;
	--stratus-accent: #d4a373;
	--stratus-muted: #6b635c;
	--stratus-shadow: rgba(44, 42, 41, 0.12);
	--stratus-shadow-lg: rgba(44, 42, 41, 0.18);
	--stratus-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--stratus-radius: 20px;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* Align Elementor kit with the warm theme palette */
.elementor-kit-5,
.elementor {
	--e-global-color-primary: var(--stratus-brown);
	--e-global-color-secondary: var(--stratus-ink);
	--e-global-color-text: var(--stratus-muted);
	--e-global-color-accent: var(--stratus-brown);
	--e-global-color-b5aeb33: var(--stratus-cream);
	--e-global-color-c58817e: var(--stratus-ink);
	--e-global-color-5420d44: var(--stratus-brown);
	--e-global-color-dff8941: var(--stratus-sand);
	--e-global-color-09cc561: var(--stratus-ink);
	--e-global-typography-primary-font-family: "DMSans", sans-serif;
	--e-global-typography-text-font-family: "DMSans", sans-serif;
	--e-global-typography-accent-font-family: "DMSans", sans-serif;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Sticky header with subtle glass effect */
.hostinger-ai-menu {
	position: sticky;
	top: 0;
	z-index: 100;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(44, 42, 41, 0.06);
	transition: box-shadow 0.3s var(--stratus-ease);
}

.hostinger-ai-menu.is-scrolled,
body:not(.elementor-editor-active) .hostinger-ai-menu:hover {
	box-shadow: 0 8px 32px var(--stratus-shadow);
}

.hostinger-ai-site-navigation a {
	position: relative;
	text-decoration: none !important;
	transition: color 0.2s var(--stratus-ease);
}

.hostinger-ai-site-navigation a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s var(--stratus-ease);
}

.hostinger-ai-site-navigation a:hover::after,
.hostinger-ai-site-navigation .current-menu-item > a::after {
	transform: scaleX(1);
}

/* Typography */
.elementor-heading-title,
.wp-block-heading,
h1,
h2,
h3 {
	text-wrap: balance;
	letter-spacing: -0.02em;
}

.elementor-widget-text-editor p,
.wp-block-paragraph {
	max-width: 65ch;
}

.elementor-widget-text-editor.elementor-align-center p {
	margin-inline: auto;
}

/* Hero */
.elementor-6 .elementor-element.elementor-element-ddccf30 {
	--min-height: clamp(520px, 88dvh, 820px) !important;
}

.elementor-6 .elementor-element.elementor-element-ddccf30::before {
	background: linear-gradient(
		165deg,
		rgba(44, 42, 41, 0.72) 0%,
		rgba(44, 42, 41, 0.45) 45%,
		rgba(90, 80, 74, 0.35) 100%
	) !important;
	opacity: 1 !important;
}

.elementor-6 .elementor-element.elementor-element-2085031 .elementor-heading-title {
	font-family: "DMSerifDisplay", "Caudex", Georgia, serif !important;
	font-weight: 400 !important;
	letter-spacing: -0.03em;
	line-height: 1.08 !important;
}

/* Buttons */
.elementor-button,
.wp-block-button__link,
button[type="submit"] {
	transition:
		transform 0.22s var(--stratus-ease),
		box-shadow 0.22s var(--stratus-ease),
		background-color 0.22s var(--stratus-ease),
		border-color 0.22s var(--stratus-ease) !important;
}

.elementor-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px var(--stratus-shadow-lg);
}

.elementor-button:active,
.wp-block-button__link:active {
	transform: translateY(0);
}

.elementor-button:focus-visible,
.wp-block-button__link:focus-visible,
.hostinger-ai-site-navigation a:focus-visible {
	outline: 2px solid var(--stratus-accent);
	outline-offset: 3px;
}

/* Feature / service cards */
.elementor-6 .elementor-element.elementor-element-b419e00,
.elementor-6 .elementor-element.elementor-element-edd6887 {
	border-radius: var(--stratus-radius);
	box-shadow: 0 4px 24px var(--stratus-shadow);
	transition:
		transform 0.3s var(--stratus-ease),
		box-shadow 0.3s var(--stratus-ease);
}

.elementor-6 .elementor-element.elementor-element-b419e00:hover,
.elementor-6 .elementor-element.elementor-element-edd6887:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px var(--stratus-shadow-lg);
}

.elementor-6 .elementor-element.elementor-element-a369029 .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-0995c96 .elementor-heading-title,
.elementor-7 .elementor-element.elementor-element-a369029 .elementor-heading-title,
.elementor-7 .elementor-element.elementor-element-25c378f .elementor-heading-title {
	font-family: "DMSans", sans-serif !important;
	color: var(--stratus-ink) !important;
}

/* Images */
.elementor-widget-image img {
	transition: transform 0.45s var(--stratus-ease);
}

.elementor-widget-image:hover img {
	transform: scale(1.02);
}

/* Section backgrounds — replace cold blue tints */
.elementor-7 .elementor-element.elementor-element-88a2a9e:not(.elementor-motion-effects-element-type-background),
.elementor-7 .elementor-element.elementor-element-88a2a9e > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-7 .elementor-element.elementor-element-e4900ed:not(.elementor-motion-effects-element-type-background),
.elementor-7 .elementor-element.elementor-element-e4900ed > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-8 .elementor-element.elementor-element-425a1bf:not(.elementor-motion-effects-element-type-background),
.elementor-8 .elementor-element.elementor-element-425a1bf > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-7 .elementor-element.elementor-element-425a1bf:not(.elementor-motion-effects-element-type-background),
.elementor-7 .elementor-element.elementor-element-425a1bf > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-9 .elementor-element.elementor-element-9479030:not(.elementor-motion-effects-element-type-background),
.elementor-9 .elementor-element.elementor-element-9479030 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-9 .elementor-element.elementor-element-5211450 > .elementor-widget-container {
	background-color: var(--stratus-cream) !important;
}

/* Footer */
.site-footer .wp-block-social-links .wp-block-social-link a {
	transition: transform 0.2s var(--stratus-ease), opacity 0.2s var(--stratus-ease);
}

.site-footer .wp-block-social-links .wp-block-social-link a:hover {
	transform: translateY(-2px);
	opacity: 0.85;
}

.site-footer .wp-block-paragraph {
	letter-spacing: 0.01em;
}

/* WooCommerce mini-cart alignment */
.hostinger-ai-site-navigation-wrapper .wc-block-mini-cart,
.hostinger-ai-site-navigation-wrapper .wc-block-customer-account {
	opacity: 0.9;
}

/* Wider readable content on large screens */
@media (min-width: 1200px) {
	.elementor-section.elementor-section-boxed > .elementor-container,
	.e-con {
		--container-max-width: 1180px;
	}
}

@media (max-width: 767px) {
	.hostinger-ai-menu-wrapper {
		row-gap: 0.75rem;
	}

	.elementor-6 .elementor-element.elementor-element-ddccf30 {
		--min-height: clamp(480px, 92dvh, 640px) !important;
	}

	.elementor-button,
	.wp-block-button__link {
		width: 100%;
		justify-content: center;
	}
}
