/* RaviElson Hero Slider Styles */

.ravielson-hero-slider {
	position: relative;
	width: 100%;
	height: 600px;
	/* Default height, can be adjusted or made responsive */
	overflow: hidden;
	background-color: #f0f0f0;
}

.ravielson-hero-slider-wrapper {
	display: flex;
	width: 100%;
	height: 100%;
}

.ravielson-hero-slider[data-animation="slide"] .ravielson-hero-slider-wrapper {
	transition: transform 0.5s ease-in-out;
}

.ravielson-hero-slider[data-animation="fade"] .ravielson-hero-slider-wrapper,
.ravielson-hero-slider[data-animation="zoom"] .ravielson-hero-slider-wrapper {
	display: block;
	position: relative;
	overflow: hidden;
}

.ravielson-hero-slide {
	min-width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

/* Base styles for fade and zoom animations */
.ravielson-hero-slider[data-animation="fade"] .ravielson-hero-slide,
.ravielson-hero-slider[data-animation="zoom"] .ravielson-hero-slide {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
	visibility: hidden;
	z-index: 1;
}

.ravielson-hero-slider[data-animation="zoom"] .ravielson-hero-slide {
	transform: scale(1.1);
	/* Start slightly zoomed out */
	transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out,
		transform 0.8s ease-out;
}

.ravielson-hero-slider[data-animation="fade"] .ravielson-hero-slide.active,
.ravielson-hero-slider[data-animation="zoom"] .ravielson-hero-slide.active {
	opacity: 1;
	visibility: visible;
	z-index: 2;
	transform: scale(1);
	/* Return to normal scale for zoom */
}

/* Overlay for better text readability (optional, but good practice) */
.ravielson-hero-slide::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* background: rgba(0, 0, 0, 0.3); */
	/* background: linear-gradient(to top, rgba(41, 41, 41, 0.63), rgba(217, 217, 217, 0)); */
	/* zrob tak zeby ten kolor na dole konczyl sie na 30% a nie w polowie */
	background: linear-gradient(to top, rgba(41, 41, 41, 0.63) 0%, rgba(217, 217, 217, 0) 75%);
	/* Subtle dark overlay */
	z-index: 1;
}

.ravielson-hero-content {
	position: relative;
	z-index: 10;
	/* Ensure content is on top */
	text-align: left;
	/* Changed from center to left for flexibility */
	color: #fff;
	width: 100%;
	/* Changed from max-width to width */
	max-width: 1200px;
	margin: 0 auto;
	/* Center the container itself */
	padding: 0 20px;
}

.ravielson-hero-content h1,
.ravielson-hero-content h2,
.ravielson-hero-content h3 {
	color: #fff;
	margin-bottom: 20px;
}

/* Arrows */
.ravielson-hero-prev,
.ravielson-hero-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 3;
	transition: background 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
	padding: 0;
	backdrop-filter: blur(10px);
}

.ravielson-hero-prev:hover,
.ravielson-hero-next:hover {
	background: rgba(255, 255, 255, 0.4);
	border-color: #fff;
	transform: translateY(-50%) scale(1.05);
}

.ravielson-hero-prev {
	left: 40px;
}

.ravielson-hero-next {
	right: 40px;
}

/* Dots */
.ravielson-hero-dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 3;
}

.ravielson-hero-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	border: none;
	cursor: pointer;
	padding: 0;
	transition: background 0.3s ease, transform 0.2s ease;
}

.ravielson-hero-dot:hover {
	transform: scale(1.25);
}

@media (prefers-reduced-motion: reduce) {

	.ravielson-hero-prev,
	.ravielson-hero-next,
	.ravielson-hero-dot {
		transition: none;
	}
}

.ravielson-hero-dot.active {
	background: #fff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.ravielson-hero-slider {
		height: 400px;
	}

	.ravielson-hero-prev,
	.ravielson-hero-next {
		width: 40px;
		height: 40px;
		z-index: 20;
		/* Ensure arrows are clickable over content on mobile */
	}

	.ravielson-hero-prev {
		left: 10px;
	}

	.ravielson-hero-next {
		right: 10px;
	}
}

.sym-hero-subtitle {
	line-height: 1.4 !important;
}

@media (max-width: 768px) {

	/* Tytuł główny "Symfonia Praga" */
	.sym-hero-title-main {
		font-size: 40px !important;
		line-height: 1.2 !important;
		/* Zwarte linie */
		margin-bottom: 10px !important;
		/* Mały odstęp od podtytułu */
		padding: 0 10px !important;
		/* Margines bezpieczeństwa od krawędzi ekranu */
	}

	/* Podtytuł "Gdzie życie..." */
	.sym-hero-subtitle {
		font-size: 32px !important;
		/* Mniejszy niż tytuł dla hierarchii */
		line-height: 1.4 !important;
		/* Większa interlinia, żeby tekst nie nachodził na siebie przy zawijaniu */
		padding: 0 10px !important;
	}

	/* Kontener przycisku */
	.sym-hero-btn-wrapper {
		margin-top: 50px !important;
		/* Zmniejszamy odstęp ze 100px na 50px */
		width: 100% !important;
		text-align: center !important;
	}

	/* Przycisk */
	.sym-hero-btn {
		padding: 15px 40px !important;
		/* Zmniejszamy padding boczny z 80px, bo na telefonie może być za szeroko */
		display: inline-block !important;
		font-size: 16px !important;
		max-width: 90% !important;
		/* Zabezpieczenie, żeby przycisk nie wyszedł poza ekran */
		box-sizing: border-box !important;
	}
}

/* ------------------ */

@media (max-width: 768px) {

	/* 1. KONTENER: Wymuszamy mieszczenie się w ekranie */
	.dev-invest-container {
		width: 100% !important;
		max-width: 100vw !important;
		/* Nie szersze niż ekran */
		padding: 20px 10px !important;
		/* Małe marginesy boczne */
		display: flex !important;
		flex-direction: column !important;
	}

	/* 2. TYTUŁ: Znacznie mniejszy */
	.dev-invest-title {
		font-size: 24px !important;
		/* Z 42px na 24px */
		line-height: 1.3 !important;
		margin-bottom: 30px !important;
		width: 100% !important;
	}

	/* 3. WIERSZE: Pełna pionizacja */
	.dev-invest-row {
		flex-direction: column !important;
		width: 100% !important;
		margin-bottom: 40px !important;
		gap: 15px !important;
	}

	/* 4. LOGO: Wyśrodkowane, bez kreski */
	.dev-invest-logo-group {
		justify-content: center !important;
		width: 100% !important;
		margin-bottom: 10px !important;
	}

	.dev-invest-divider {
		display: none !important;
		/* Ukrywamy kreskę */
	}

	/* 5. STATYSTYKI: Pionowo jedna pod drugą, żeby nie wychodziły poza ekran */
	.dev-invest-stats {
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		gap: 20px !important;
	}

	/* 6. POJEDYNCZY ELEMENT STATYSTYKI */
	.dev-invest-stat-item {
		max-width: none !important;
		/* Kasujemy ograniczenie szerokości */
		width: 100% !important;
		text-align: center !important;
		padding: 0 10px !important;
		/* Margines bezpieczeństwa */
	}

	/* 7. LICZBY I OPISY: Mniejsze czcionki */
	.dev-invest-num {
		font-size: 24px !important;
		/* Z 30px na 24px */
		margin-bottom: 2px !important;
	}

	.dev-invest-desc {
		font-size: 14px !important;
		/* Z 18px na 14px */
		line-height: 1.4 !important;
	}

	/* 8. UKRYWAMY SPACER */
	.dev-invest-spacer {
		display: none !important;
	}
}








/* =========================================
   1. STYLE BAZOWE (DESKTOP / PC)
   Wygląd na dużych ekranach - duże czcionki i odstępy
   ========================================= */

.dev-joint-investment {
	background-color: transparent;
	color: #ffffff;
	font-family: 'Alexandria', sans-serif;
	padding: 60px 0;
	box-sizing: border-box;
	width: 100%;
}

.dev-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}

/* Tytuł */
.dev-title {
	font-size: 42px;
	font-weight: 200;
	line-height: 1.2;
	margin: 0 0 60px 0;
	text-align: left;
}

.dev-title strong {
	font-weight: 600;
}

/* Wiersz Partnera (Logo + Statystyki) */
.dev-partner-row {
	display: flex;
	align-items: center;
	gap: 50px;
	margin-bottom: 60px;
}

.dev-partner-row:last-child {
	margin-bottom: 0;
}

/* Sekcja Logo + Kreska */
.dev-brand {
	display: flex;
	align-items: center;
	gap: 30px;
	flex-shrink: 0;
}

.dev-logo-wrapper {
	width: 125px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dev-logo {
	max-width: 100%;
	height: auto;
	display: block;
}

.dev-separator {
	width: 2px;
	height: 70px;
	background-color: #ffffff;
}

/* Statystyki */
.dev-stats-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	flex: 1;
}

.dev-stat-item {
	flex: 1;
	min-width: 150px;
}

.dev-stat-number {
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 5px;
	line-height: 1.1;
}

.dev-stat-desc {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	opacity: 0.9;
}


/* =========================================
   2. STYLE MOBILE (Układ, który Ci się podobał)
   Dopasowanie do wysokości 400px + dodany odstęp
   ========================================= */

@media (max-width: 991px) {
	.dev-joint-investment {
		height: 400px;
		/* Sztywna wysokość */
		padding: 20px 15px;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.dev-container {
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.dev-title {
		font-size: 22px;
		/* Mniejszy tytuł */
		margin: 0 0 10px 0;
		text-align: center;
		flex-shrink: 0;
	}

	/* Układ poziomy: Logo | Statystyki */
	.dev-partner-row {
		flex-direction: row;
		align-items: center;
		margin-bottom: 15px;
		flex: 1;
		gap: 0;
		/* Resetujemy gap główny, użyjemy marginu dla precyzji */
	}

	/* Logo i Kreska */
	.dev-brand {
		flex-direction: row;
		width: auto;
		gap: 10px;
		/* --- TUTAJ DODANY ODSTĘP, O KTÓRY PROSIŁEŚ --- */
		margin-right: 5px;
	}

	.dev-logo-wrapper {
		width: 70px;
	}

	.dev-separator {
		height: 100%;
		max-height: 60px;
		width: 1px;
	}

	/* Statystyki - Flexbox, który dobrze działał */
	.dev-stats-grid {
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		gap: 5px 10px;
		/* Odstępy między kafelkami */
	}

	.dev-stat-item {
		width: 45%;
		flex: 1 1 auto;
		min-width: 80px;
	}

	.dev-stat-item:last-child {
		width: 100%;
		/* Trzeci element na całą szerokość */
	}

	.dev-stat-number {
		font-size: 18px;
		margin-bottom: 0;
	}

	.dev-stat-desc {
		font-size: 11px;
		line-height: 1.1;
		opacity: 0.8;
	}
}