/*
 * Krista Sochor — feuille de style du site.
 * Ordinateur (≥ 1040px) : mise en page d'origine, au pixel près.
 * Tablette (700–1039px) et smartphone (< 700px) : adaptations plus bas.
 */

html, body {
	margin: 0;
	padding: 0;
	border: 0;
}
body {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 11px;
	line-height: 17px;
	color: #000;
	background: #fff;
	-webkit-text-size-adjust: 100%;
}
p { margin: 0; }
img { border: 0; }
a {
	color: #999;
	text-decoration: none;
	font-size: inherit;
}
a.active, a:hover { color: #c0c51e; }
h1 {
	font-size: 11px;
	line-height: 16px;
	font-weight: normal;
	color: #999;
	margin: 0;
	padding: 0;
}
/* Les images ne se copient pas par clic droit / glisser (comme sur l'ancien site). */
img {
	-webkit-user-drag: none;
	-webkit-touch-callout: none;
	user-select: none;
}

/* ---------- Structure (ordinateur) ---------- */

#page {
	display: flex;
	align-items: flex-start;
	width: 990px;
	margin: 19px 0 0 40px;
}
#header {
	flex: none;
	width: 80px;
}
#logo {
	font-weight: bold;
}
#logo a { color: #000; }
#menu {
	width: 79px;
	margin-top: 23px;
	letter-spacing: 0.2px;
}
#menu a { display: block; }

.col-sub {
	flex: none;
	width: 168px;
	margin: 40px 0 40px 15px;
	color: #888;
}
.sub-profil { width: 250px; }
.sub-page { width: 300px; }
.col-sub b { display: block; }
.sub-group + .sub-group { margin-top: 17px; }
.sub-list a { display: block; }
.sub-toggle { display: none; }

#pres {
	flex: none;
	width: 593px;
	margin: 40px 0 0 15px;
}
#pres2 {
	flex: none;
	width: 380px;
	margin: 40px 0 0 15px;
}
#pres2 img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 4px;
}

/* Grande image */
#main_img {
	display: block;
	width: 593px;
	height: 429px;
	margin-top: 5px;
}
#main_img2 {
	display: block;
	width: 593px;
	height: 593px;
}

/* Bande de vignettes */
#img_select {
	position: relative;
	margin-top: 12px;
	height: 39px;
}
#img_inner {
	position: relative;
	height: 39px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	white-space: nowrap;
}
#img_inner::-webkit-scrollbar { display: none; }
#img_move {
	white-space: nowrap;
	font-size: 0;
	line-height: 0;
}
#img_move a {
	display: inline-block;
	vertical-align: top;
}
#img_move img {
	display: block;
	width: 34px;
	height: 24px;
	opacity: 0.3;
	border: 1px solid #ddd;
	margin: 0 4.4px 5px 0;
}
#img_move img.inspi { height: 34px; }
#img_move a.active img,
#img_move a:hover img {
	opacity: 1;
	border: 0;
	border-bottom: 2px solid #ccc;
	padding-bottom: 3px;
	margin: 1px 5.4px 0 1px;
}
#fleche_gauche, #fleche_droite {
	position: absolute;
	top: 10px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	line-height: 0;
}
#fleche_gauche img, #fleche_droite img { display: block; }
#fleche_gauche { left: -12px; }
#fleche_droite { right: -12px; }

#desc {
	margin-top: 24px;
}

/* Mosaïque de la page Profil */
#pres_mosa {
	flex: none;
	display: grid;
	grid-template-columns: repeat(5, 115px);
	gap: 4px;
	width: 593px;
	margin: 40px 0 0 42px;
}
.mosa {
	width: 115px;
	height: 115px;
}
.mosa img {
	display: block;
	width: 100%;
	height: 100%;
}

/* ---------- Tablette ---------- */

@media (max-width: 1039px) {
	#page {
		display: grid;
		grid-template-columns: 168px minmax(0, 1fr);
		column-gap: 24px;
		align-items: start;
		width: auto;
		max-width: 900px;
		margin: 0;
		padding: 20px 24px 48px;
	}
	.p-profil #page,
	.p-page #page { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }

	#header {
		grid-column: 1 / -1;
		width: auto;
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 6px 32px;
		margin-bottom: 28px;
	}
	#menu {
		width: auto;
		margin: 0;
		display: flex;
		flex-wrap: wrap;
		gap: 4px 18px;
	}
	#menu a { display: inline; }

	.col-sub, .sub-profil, .sub-page,
	#pres, #pres2, #pres_mosa {
		width: auto;
		margin: 0;
	}
	.p-inspiration .col-sub { display: none; }
	.p-inspiration #pres { grid-column: 1 / -1; max-width: 593px; }

	#main_img, #main_img2 {
		width: 100%;
		height: auto;
		margin-top: 0;
	}
	#pres_mosa { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.mosa {
		width: auto;
		height: auto;
		aspect-ratio: 1;
	}
	.mosa img { height: auto; aspect-ratio: 1; }
}

/* ---------- Smartphone ---------- */

@media (max-width: 699px) {
	body {
		font-size: 14px;
		line-height: 21px;
	}
	h1 {
		font-size: 14px;
		line-height: 21px;
	}
	#page,
	.p-profil #page,
	.p-page #page {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px 16px 40px;
	}
	#header {
		gap: 4px 24px;
		margin-bottom: 20px;
	}
	#logo { font-size: 15px; }
	#menu { gap: 2px 16px; }
	#menu a { padding: 4px 0; }

	/* Liste des galeries repliable */
	.sub-galleries { margin-bottom: 16px; }
	.sub-toggle {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		padding: 10px 0;
		border: 0;
		border-top: 1px solid #e5e5e5;
		border-bottom: 1px solid #e5e5e5;
		background: none;
		color: #000;
		font: inherit;
		text-align: left;
		cursor: pointer;
	}
	.sub-toggle::after {
		content: "+";
		font-size: 18px;
		color: #999;
	}
	.sub-galleries.open .sub-toggle::after { content: "–"; }
	.sub-galleries .sub-list {
		display: none;
		padding: 12px 0 4px;
		border-bottom: 1px solid #e5e5e5;
	}
	.sub-galleries.open .sub-list { display: block; }
	.sub-list a { padding: 3px 0; }
	.sub-group + .sub-group { margin-top: 16px; }

	/* Profil : la mosaïque avant le texte (mais après l'en-tête) */
	#header { order: -2; }
	.p-profil #pres_mosa {
		order: -1;
		gap: 3px;
		margin-bottom: 24px;
	}
	.p-page #pres2 { margin-top: 24px; }

	/* Vignettes plus grandes et défilement au doigt */
	#img_select,
	#img_inner {
		height: auto;
	}
	#img_select { margin-top: 10px; }
	#img_inner {
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}
	#img_move a { scroll-snap-align: start; }
	#img_move img {
		width: 51px;
		height: 36px;
		margin: 0 6px 6px 0;
	}
	#img_move img.inspi { height: 51px; }
	#img_move a.active img,
	#img_move a:hover img {
		margin: 1px 7px 1px 1px;
	}
	#fleche_gauche, #fleche_droite { display: none; }
	#desc { margin-top: 16px; }
}
