html, body {
	height: 100%;
	margin: 0;
	padding: 0; }

body {
	min-height: 100vh;
	display: flex;
	flex-direction: column; }

.quisuisje-container {
	flex: 1 0 auto;
	max-width: 1200px;
	width: calc(100% - 30px);
	margin: 15px auto;
	padding: 20px 25px;
	background-color: #3fa7de;
	border-radius: 15px; }

.quisuisje-content {
	width: 100%;
	text-align: justify;
	font-size: clamp(1.1rem, 1.05rem + 0.4vw, 1.5rem);
	line-height: 1.28; }

.quisuisje-content::after {
	content: "";
	display: block;
	clear: both; }

.photo-portrait {
	float: right;
	width: min(40%, 350px);
	height: auto;
	margin: 0 0 15px 25px;
	border-radius: 12px;
	display: block; }
	
.photo-caption {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important; }

@Media (max-width: 768px) {
	.quisuisje-title h1 {
		font-size: 2rem;
		max-width: 100%;
		white-space: normal;
		text-align: center; }

	.photo-portrait {
		width: min(42%, 300px);
		margin: 0 0 12px 18px; }

	.quisuisje-content {
		font-size: clamp(1.1rem, 1rem + 1vw, 1.5rem);
		line-height: 1.4; } }

@Media (max-width: 576px) {
	.photo-portrait {
		float: right;
		margin: 0 0 10px 15px; } }

.texte-multicolore {
background: linear-gradient(
	90deg,
	#ffff00,
	#ff0000,
	#ff7f00,
	#0000ff
);
-Webkit-background-clip: text;
-webkit-text-fill-color: transparent; }

.photo-cabinet {
clear: both;
margin-top: 25px;
margin-bottom: 25px;
display: flex;
flex-wrap: nowrap;
gap: 15px;
width: 100%;
overflow: visible; }

	.photo-cabinet img {
		flex: 1 1 0;
		width: 0;
		height: auto;
		display: block;
		border-radius: 12px;
		object-fit: cover; }

	@Media (max-width: 768px) {
		.photo-cabinet {
			flex-direction: column;
			gap: 15px; }
		.photo-cabinet img { width: 100%; } }

.photo-zoomable {
cursor: pointer;
transition: transform 0.22s ease, box-shadow 0.22s ease;
position: relative;
z-index: 1; }
	.photo-zoomable.active {
		transform: scale(2.00);
		z-index: 20;
		box-shadow: 0 10px 30px rgba(0,0,0,0.28); }
	.photo-zoomable:focus { outline: none; }
	.photo-zoomable:focus-visible { box-shadow: 0 0 0 3px rgba(255,255,255,0.75); }