/* Plik: stylesheets/project-style.css */

/* --- General Template Settings --- */
body {
	background-color: #11181f;
	color: #e6ecf2;
}
.case-study-content {
	padding-top: 40px;
	padding-bottom: 0px;
}
.container-wide {
	max-width: 1280px;
	width: 90%;
	margin: 0 auto;
	position: relative;
}

/* --- Header --- */
.case-study-header {
	--header-title-left-margin: 10%;
	position: relative;
	width: 100%;
	height: 400px;
	color: #fff;
	display: flex;
	flex-direction: column;
	padding: 40px;
	box-sizing: border-box;
}
.case-study-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* background-image jest ustawiane w każdym pliku HTML osobno */
	background-size: cover;
	background-position: 50% 33%;
	opacity: 0.85;
	z-index: -1;
}
.case-study-nav {
	display: flex;
	justify-content: space-between;
	width: 100%;
	font-family: 'Canela-Light', sans-serif;
	font-size: clamp(1.2rem, 2.0vw, 2.0rem);
}
.case-study-nav a {
	color: #fff;
	text-decoration: none;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.2);
	transition: opacity 0.3s ease;
}
.case-study-nav a:hover {
	opacity: 0.8;
}
.header-title-block {
	font-family: 'Canela-Light', serif;
	margin-left: var(--header-title-left-margin);
	position: absolute;
	top: 45%;
	transform: translateY(-40%);
}
.header-title-block h1 {
	font-size: clamp(2.5rem, 3.8vw, 3.5rem);
	color: #fff;
	line-height: 1.2;
	word-wrap: break-word;
	hyphens: auto;
}
.header-title-block p {
	font-size: clamp(1.8rem, 2.2vw, 2.2rem);
	color: rgba(255,255,255,0.85);
	line-height: 1.4;
}

/* --- Video Block --- */
.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	margin-top: 20px;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	background: #000;
	border-radius: 4px;
}
.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* --- Text Blocks and Titles --- */

.text-block, .credits-block2 {
	padding-top: 0px;
	padding-bottom: 0px;
	font-family: "Canela-Light", serif;

	margin-top: 0px;
	font-weight: 300;
	font-size: clamp(21px, 2.2vw, 28px);
	color: #e6ecf2;
	text-align: left;
	max-width: 100%;
	word-wrap: break-word;
	hyphens: auto;
}
.credits-block2 {

	margin-top: 0px;
	font-size: clamp(18px, 1.8vw, 24px);
	color: rgba(255, 255, 255, 0.4);
	white-space: pre-wrap;
}
.credits-block2 a {
	text-decoration: none;
	color: rgba(255,255,255,0.5);
	transition: color 0.3s ease;
}
.credits-block2 a:hover, .credits-block2 a:focus {
	color: rgba(255,255,255,1);
}



.text-block, .credits-block {
	padding-top: 00px;
	padding-bottom: 00px;
	font-family: "Canela-Light", serif;
	line-height: 1.4;
	margin-top: 20px;
	font-weight: 300;
	font-size: clamp(21px, 2.2vw, 28px);
	color: #e6ecf2;
	text-align: left;
	max-width: 100%;
	word-wrap: break-word;
	hyphens: auto;
}
.credits-block {
	line-height: 1.6;
	margin-top: 0px;
	font-size: clamp(18px, 1.8vw, 24px);
	color: rgba(255, 255, 255, 0.4);
	white-space: pre-wrap;
}
.credits-block a {
	text-decoration: none;
	color: rgba(255,255,255,0.5);
	transition: color 0.3s ease;
}
.credits-block a:hover, .credits-block a:focus {
	color: rgba(255,255,255,1);
}
.section-title {
	font-family: 'Canela-Light', serif;
	font-size: clamp(1.8rem, 2.2vw, 2.2rem);
	color: #e6ecf2;
	margin-top: 40px;
	margin-bottom: 40px;
	text-align: left;
}

/* --- SEO-friendly hidden text --- */
.seo-keywords {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* --- Responsive row for MP4 videos --- */
.gif-row {
    display: flex;
    gap: 5px;
    width: 100%;
    margin-top: 40px;
    margin-bottom: 40px;
}

.gif-item {
    flex: 1 1 50%;
    overflow: hidden;
    border-radius: 4px;
    position: relative;
}

.gif-item video,
.gif-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: auto;
}

/* Blokada menu kontekstowego i zaznaczania */
.gif-item video {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Dodatkowa warstwa ochronna (opcjonalna) */
.gif-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    .gif-row {
        flex-direction: column;
    }
    .gif-item {
        margin-bottom: 40px;
    }
    .gif-item:last-child {
        margin-bottom: 0;
    }
}

/* --- Protected Images (from mtv.html) --- */
.protected-image {
	width: 100%;
	background-position: center;
	margin-top: 40px;
	margin-bottom: 40px;
	border-radius: 4px;
}


.ratio-1920-1433 { padding-bottom: 74.635%;}
.img-mr1 { background-image: url('../images/jpg/merc_001_0666.jpg'); background-size: cover; }
.img-mr2 { background-image: url('../images/jpg/merc_001_0888.jpg'); background-size: cover; }
.img-mr3 { background-image: url('../images/jpg/merc_001_1567.jpg'); background-size: cover; }





.ratio-16-9 { padding-bottom: 56.25%; }
.img-ss1 { background-image: url('../images/jpg/GH_3.jpg'); background-size: cover; }
.img-ss2 { background-image: url('../images/jpg/GH_2.jpg'); background-size: cover; }

.img-sis1 { background-image: url('../images/jpg/bg0042.jpg'); background-size: cover; }
.img-sis2 { background-image: url('../images/jpg/ss3.jpg'); background-size: cover; }
.img-sis3 { background-image: url('../images/jpg/ss2.jpg'); background-size: cover; }

.img-nars1 { background-image: url('../images/jpg/nars_0020.jpg'); background-size: cover; }
.img-nars2 { background-image: url('../images/jpg/nars_0054.jpg'); background-size: cover; }


.img-he1 { background-image: url('../images/jpg/helios.jpg'); background-size: cover; }

.img-ak1 { background-image: url('../images/jpg/ak_ok.jpg'); background-size: cover; }
.img-ak2 { background-image: url('../images/jpg/ak_kos2.jpg'); background-size: cover; }
.img-ak3 { background-image: url('../images/jpg/ak_tel2.jpg'); background-size: cover; }
.img-ak4 { background-image: url('../images/jpg/ak_tel.jpg'); background-size: cover; }
.img-ak5 { background-image: url('../images/jpg/ak_b.jpg'); background-size: cover; }
.img-ak6 { background-image: url('../images/jpg/ak_b3.jpg'); background-size: cover; }



.img-epsclo1 { background-image: url('../images/jpg/CLO_1b.jpg'); background-size: cover; }
.img-epsclo2 { background-image: url('../images/jpg/CLO_2.jpg'); background-size: cover; }
.img-epsclo3 { background-image: url('../images/jpg/CLO_3.jpg'); background-size: cover; }
.img-epsclo4 { background-image: url('../images/jpg/CLO_5.jpg'); background-size: cover; }
.img-epsclo5 { background-image: url('../images/jpg/CLO_7.jpg'); background-size: cover; }
.img-epsclo6 { background-image: url('../images/jpg/CLO_8.jpg'); background-size: cover; }
.img-epsclo7 { background-image: url('../images/jpg/CLO_5b.jpg'); background-size: cover; }

.img-el1 { background-image: url('../images/jpg/es1.jpg'); background-size: cover; }
.img-el2 { background-image: url('../images/jpg/es2.jpg'); background-size: cover; }
.img-el3 { background-image: url('../images/jpg/es3.jpg'); background-size: cover; }
.img-el4 { background-image: url('../images/jpg/es4.jpg'); background-size: cover; }
.img-el6 { background-image: url('../images/jpg/es5.jpg'); background-size: cover; }
.img-el5 { background-image: url('../images/jpg/Estee_Lauder_Lookdev_002_0000.jpg'); background-size: cover; }

.img-he1 { background-image: url('../images/jpg/helios_1.jpg'); background-size: cover; }
.img-he2 { background-image: url('../images/jpg/helios2.jpg'); background-size: cover; }

.img-wtk1 { background-image: url('../images/jpg/wtk_0133.jpg'); background-size: cover; }
.img-wtk2 { background-image: url('../images/jpg/wtk_0126.jpg'); background-size: cover; }
.img-wtk3 { background-image: url('../images/jpg/wtk_0055.jpg'); background-size: cover; }
.img-wtk4 { background-image: url('../images/jpg/wtk_1.jpg'); background-size: cover; }
.img-wtk5 { background-image: url('../images/jpg/wtk_2.jpg'); background-size: cover; }
.img-wtk6 { background-image: url('../images/jpg/wtk_3.jpg'); background-size: cover; }
.img-wtk7 { background-image: url('../images/jpg/wtk_4.jpg'); background-size: cover; }


.img-po1 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_3.jpg'); background-size: cover; }
.img-po2 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_4.jpg'); background-size: cover; }
.img-po3 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_5.jpg'); background-size: cover; }
.img-po4 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_6.jpg'); background-size: cover; }
.img-po5 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_7.jpg'); background-size: cover; }
.img-po6 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_8.jpg'); background-size: cover; }
.img-po7 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_9.jpg'); background-size: cover; }
.img-po8 { background-image: url('../images/jpg/Poznan_Rebrand_Impact_pl_1.jpg'); background-size: cover; }






.ratio-1920-800 { padding-bottom: 41.67%;}
.img-bor1 { background-image: url('../images/jpg/bor_2.jpg'); background-size: cover; }
.img-bor2 { background-image: url('../images/jpg/bor_1.jpg'); background-size: cover; }
.img-bor3 { background-image: url('../images/jpg/bor_5.jpg'); background-size: cover; }
.img-bor4 { background-image: url('../images/jpg/bor_6.jpg'); background-size: cover; }
.img-bor5 { background-image: url('../images/jpg/bor_7.jpg'); background-size: cover; }
.img-bor6 { background-image: url('../images/jpg/bor_9.jpg'); background-size: cover; }
.img-bor7 { background-image: url('../images/jpg/bor_10.jpg'); background-size: cover; }





.feedback-section2 {
	margin-top: 0px;
	padding-top: 0px;
}

.feedback-container2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
	gap: 20px;
	align-items: stretch;
}

.feedback-container2 blockquote {
	margin: 0;
	padding: 0px;
	background-color: rgba(0, 0, 0, 0.0);
	border-radius: 0px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.feedback-container2 blockquote p {
	font-family: 'Canela-Light', serif;
	font-size: 20px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.45);
	margin: 0;
}

.feedback-container2 blockquote p a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;

	transition: all 0.3s ease;
}

.feedback-container2 blockquote p a:hover {
	color: #ffff;

}


/* --- Nowy styl dla galerii wideo z podpisami --- */

/* Główny kontener dla par wideo-podpis */
.video-gallery {
    display: flex;
    gap: 5px; /* Odstęp między elementami, taki sam jak w .gif-row */
    width: 100%;
    margin-top: 40px;
    margin-bottom: 40px;
}

/* Kontener dla pojedynczego wideo i jego podpisu */
.video-container {
    flex: 1 1 50%; /* Każdy element zajmuje 50% szerokości, tak jak w .gif-item */
    display: flex;
    flex-direction: column; /* Układa wideo i podpis jedno pod drugim */
}

/* Styl dla samego podpisu pod wideo */
.video-caption {
    margin-top: 0px; /* Odstęp między wideo a podpisem */
margin-bottom: 15px;
		font-family: 'Canela-Light', serif;
    font-size: 20px;

    color: rgba(255, 255, 255, 0.45);
}

.video-caption a {
    color: rgba(255, 255, 255, 0.55);
    text-decoration: none;
    transition: all 0.3s ease;
}

.video-caption a:hover {
    color: #ffff;
}

/* Zachowanie na mniejszych ekranach (takie samo jak dla .gif-row) */
@media screen and (max-width: 768px) {
    .video-gallery {
        flex-direction: column; /* Elementy układają się jeden pod drugim */
    }
    .video-container {
        margin-bottom: 30px; /* Odstęp między elementami w widoku mobilnym */
    }
    .video-container:last-child {
        margin-bottom: 0;
    }
}










/* Responsywność dla tabletów i małych ekranów */
@media (max-width: 1024px) {
	.feedback-container {
		grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	}
}

/* Responsywność dla telefonów */
@media (max-width: 768px) {
	.feedback-container {
		grid-template-columns: 1fr;
		gap: 0px;
	}

	.feedback-container blockquote p {
		font-size: 18px;
	}
}

/* Dla bardzo małych ekranów */
@media (max-width: 480px) {
	.container-wide {
		width: 95%;
	}

	.feedback-container2 blockquote {
		padding: 0px;
	}

	.feedback-container2 blockquote p {
		font-size: 16px;
		line-height: 1.5;
	}
}







/* --- Feedback and Statistics Section (from mtv.html) --- */
.feedback-section {
	margin-top: 20px;
	padding-top: 0px;
}
.feedback-container {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 10px;
}
.feedback-stats,
.feedback-container blockquote {
	flex: 1 1 250px;
}
.feedback-stats {
	text-align: center;
	display: flex;
}
.stat-item {
	padding: 20px;
	background-color: rgba(0, 0, 0, 0.0);
	border-radius: 0px;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.stat-number {
	display: flex;
	justify-content: left;
	align-items: left;
	font-family: 'Canela-Light', serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.1;
	color: #fff;
}
.stat-number::before {
	content: '♥';
	color: #fff;
	font-size: 1.2em;
	margin-right: 15px;
	margin-top: -4px;
}
.stat-label {
	display: block;
	text-align: left;
	font-family: 'Canela-Light', serif;
	font-size: 20px;
	color: rgba(255, 255, 255, 0.7);
	margin-top: 10px;
}
.feedback-container blockquote {
	margin: 0;
	padding: 20px;
	border-left: 2px solid #505050;
	background-color: rgba(0, 0, 0, 0.0);
	border-radius: 0px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.feedback-container blockquote p {
	font-family: 'Canela-Light', serif;
	font-style: italic;
	font-size: 20px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.7)
}
.feedback-container blockquote cite {
	display: block;
	margin-top: 4px;
	font-family: 'Carlito', sans-serif;
	font-style: normal;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.4);
}

/* --- Footer --- */
.case-study-footer {
	text-align: center;
	padding: 30px 20px;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.4);
}

/* --- Accessibility, Performance & Mobile Improvements --- */
@media (prefers-reduced-motion: reduce) {
	.case-study-nav a,
	.credits-block a {
		transition: none;
	}
}
.case-study-nav a:focus,
.credits-block a:focus {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
@media screen and (max-width: 480px) {
	.case-study-header {
		height: 300px;
		padding: 20px;
	}
	.header-title-block {
		--header-title-left-margin: 5%;
		top: 50%;
	}
}
