
:root {
	--color-primary: #18253d;
	--color-secondary: #233a63;
	--color-bg: #f4f1ea;
	--color-text: #172033;
	--color-accent: #b08d57;
	--color-success: #2f6b55;

	/* Fonts */
	--font-heading: 'Manrope', sans-serif;
	--font-body: 'Inter', sans-serif;

	/* Border Radius */
	--radius-btn: 16px;
	--radius-card: 24px;
}

body {
	font-family: var(--font-body);
	background-color: var(--color-bg);
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
}

.bg-light {
	background-color: #f8f5ef !important;
}

.bg-primary {
	background-color: var(--color-primary) !important;
}

.text-muted {
	color: #5f697d !important;
}

@media (max-width: 576px) {
	.display-3 { font-size: 2rem !important; }
	.display-4 { font-size: 1.75rem !important; }
	.display-5 { font-size: 1.5rem !important; }
	.display-6 { font-size: 1.25rem !important; }
	.fs-4 { font-size: 1.1rem !important; }
	.fs-5 { font-size: 1rem !important; }
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 700;
}

/* --- Components: Buttons --- */

.btn {
	border-radius: var(--radius-btn);
}

.btn--primary {
	background-color: var(--color-primary);
	color: #fff;
	border: 2px solid var(--color-primary);
}

.btn--primary:hover {
	background-color: #101b2d;
	border-color: #101b2d;
	color: #fff;
	box-shadow: 0 10px 20px rgba(24, 37, 61, 0.24);
}

/* Glass Button */
.btn--glass {
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #fff;
}

.btn--glass:hover {
	background: rgba(255, 255, 255, 0.25);
	border-color: rgba(255, 255, 255, 0.5);
	color: #fff;
	box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* Accent Button */
.btn--accent {
	background-color: var(--color-accent);
	color: #fff;
	border: 2px solid var(--color-accent);
}

.btn--accent:hover {
	background-color: #947141;
	border-color: #947141;
	color: #fff;
	box-shadow: 0 8px 15px rgba(176, 141, 87, 0.25);
}

.btn--outline-primary {
	background: transparent;
	color: var(--color-primary);
	border: 1px solid rgba(24, 37, 61, 0.22);
}

.btn--outline-primary:hover {
	background: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}

.wpcf7-submit.is-loading {
	opacity: 0.82;
	cursor: wait;
}

.scroll-top-btn {
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	background: var(--color-primary);
	color: #fff;
	box-shadow: 0 12px 32px rgba(24, 37, 61, 0.24);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
	z-index: 1040;
}

.scroll-top-btn.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.scroll-top-btn:hover {
	background: #101b2d;
}

.cookie-banner {
	position: fixed;
	left: 24px;
	right: 24px;
	bottom: 24px;
	z-index: 1055;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.cookie-banner__content {
	max-width: 980px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 20px;
	border-radius: 20px;
	background: rgba(12, 18, 32, 0.94);
	box-shadow: 0 20px 50px rgba(12, 18, 32, 0.24);
	backdrop-filter: blur(14px);
	pointer-events: auto;
}

.cookie-banner__text {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.95rem;
	line-height: 1.5;
}

.cookie-banner__text a {
	color: #fff;
}

.cookie-banner__button {
	min-width: 130px;
	white-space: nowrap;
}

@media (max-width: 767.98px) {
	.cookie-banner {
		left: 16px;
		right: 16px;
		bottom: 16px;
	}

	.cookie-banner__content {
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
	}

	.cookie-banner__button {
		width: 100%;
	}
}
