@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Outfit:wght@100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');


:root {
	--fontfamily:-apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;
	--jaune:#fff5e3;
	--mauve:#331a37;
	--rose:#98207d;
	--roseclair:#c9a9ae;
	--vertclair:#489990;
	--vert:#224f55;
	--blanc:#ffffff;
	--or:#a99c04;
}
html {
	font-family:var(--fontfamily);
}
html, body {
	height: 100%;
	margin: 0;
}
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
main {
	flex: 1; /* pousse le footer en bas */
}
.header .logo {
	background-image:url('css/10.svg');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
	width:500px;
	height:500px;
}
.header.petit .logo {
	width:250px;
	height:250px;
}
.header {
	display:flex;
	flex-direction:column;
	align-items:center;
	background-color:var(--jaune);
}
.menu {
	display:flex;
	gap:30px;
}
a {
	text-decoration:none;
	cursor:pointer;
}
.menu a {
	color:black;
	font-size:20px;
}

.menu a:hover,.menu a.active {
	text-decoration:underline;
}
section.footer {
	background-color:var(--vert);
	color:var(--jaune);
	box-shadow: -3px -5px 6px -1px rgba(0,0,0,0.3)
}
.footer .titre {
	font-size:26px;
	font-family:'Outfit', sans-serif;
	font-weight:600;
	margin-bottom:25px;
}
.footer .soustitre {
	font-size:14px;
	font-family:'Inter',sans-serif;
	margin-bottom:25px;
}
.footer .reseaux {
	display:flex;
	gap:24px;
	margin-bottom:45px;
}
.footer a {
	color:white;
}
.footer .reseaux a {
	font-size:26px;
}
.footer .credits {
	font-size:14px;
	font-family:'Inter',sans-serif;
}
.creations {
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	width:100%;
	margin-top:30px;
	justify-content:center;
}
.creations .externallink {
	color:var(--vert);
	position:absolute;
	bottom:10px;
	right:10px;
}
.creations > div {
	position:relative;
	padding:10px;
	display:flex;
	width:270px;
	gap:10px;
	border:1px solid grey;
	background-color:#ffffffad;
}
.creations img {
	width:70px;
	height:70px;
	object-fit: cover;
}
.tissusadmin img {
	width:70px;
	height:70px;
	object-fit: cover;
}
.tissus {
	margin-top:50px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap: 15px;
	width:100%;
}
.tissus .image2 {
	display:block;
	height:150px;
	width:150px;
	background-size:cover;
	background-position:center center;
	position:relative;
}
.tissus .image2 .rondjaune {
	width:40px;
	height:40px;
	border-radius:30px;
	position:absolute;
	bottom:1px;
	right:1px;
	background-color:var(--jaune);
	color:var(--or);
	font-size:22px;
	font-family:'Outfit', sans-serif;
	display:flex;
	align-items:center;
	justify-content:center;
}
.grille {
	margin-top:50px;
	display:flex;
	gap:12px;
	width:100%;
}
.grille .image2 {
	border-radius:20px;
	height:450px;
	background-color:grey;
	background-size:cover;
	background-position:center center;
	width:100%;
	border:4px solid white;
}


.gallery {
	width:100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin-top:50px;
	gap:16px;
}

.gallery a {
	display:block;
	overflow: hidden;
	flex: auto;
	height: 300px;
	min-width: 150px;
	max-width:600px;
	background-color:white;
	border-radius:10px;
	border:4px solid var(--roseclair);
	cursor:pointer;
}
.gallery a:nth-child(8n+1) {width: 390px;}
.gallery a:nth-child(8n+2) {width: 350px;}
.gallery a:nth-child(8n+3) {width: 340px;}
.gallery a:nth-child(8n+4) {width: 370px;}
.gallery a:nth-child(8n+5) {width: 360px;}
.gallery a:nth-child(8n+6) {width: 400px;}
.gallery a:nth-child(8n+7) {width: 380px;}
.gallery a:nth-child(8n+8) {width: 330px;}
.gallery a:nth-child(8n+9) {width: 350px;}

.gallery a.narrow {width: 180px;}
.gallery.narrowmax a.narrow {max-width:200px;}
.gallery img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	-moz-transition: all 0.4s ease; /* Firefox */
	-webkit-transition: all 0.4s ease; /* WebKit */
	-o-transition: all 0.4s ease; /* Opera */
	transition: all 0.4s ease; /* Standard */
}
.gallery.imageprincipale img {
	opacity: 1;
}


.gallery a:hover img {
	/*width: 104%;
	height: 104%;
	margin-top:-2%;
	margin-left:-2%;*/
	transform:scale(1.05);
	
}


.grid {
	 width:100%;
}
.grid-item { 
	 width: 160px;
  height: 120px;
  float: left;
  background: #D26;
  border: 2px solid #333;
  border-color: hsla(0, 0%, 0%, 0.5);
  border-radius: 5px;
}
.grid-item--width2 { width: 400px; }
.gallery-item.horizontal {   aspect-ratio: 4 / 3;  /* fixe ratio horizontal */ }
.gallery-item.vertical   { aspect-ratio: 3 / 4;  /* fixe ratio vertical */ }
.gallery-item.square     { grid-column: span 1; grid-row: span 1; }

.gallery .image2 {
  
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transition: transform 0.3s;
  background-size:cover;
  
  break-inside: avoid;    /* évite la coupure d'image */
  margin-bottom: 1rem;
  display: block;
  width: 100%;
  
}
.gallery .image2:hover {
  transform: scale(1.05);
}

.galerie {
	display:grid;
	width: 100%;
	  box-sizing: border-box;
	  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	  gap: 10px;
}
.galerie .image2 {
	display:block;
	height:200px;
	background-size:cover;
	background-position:center center;
}
form.flex {
	margin-top:20px;
	max-width:100%;
}
progress {
	width: calc(100% - 4px);
	max-width: 500px;
	height: 10px;
	border:2px solid grey;
	margin:10px 0px 0px 0px;
}
#fileInput {
	display:none;
}
i {
	cursor:pointer;
}
.table {
	border-collapse:collapse;
	width:100%;
	margin-top:30px;
}
.table tr td,.table tr th {
	border:1px solid grey;
	padding:5px 10px;
	background-color:#ffffffad;
	
}
.unselectable,label {
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
	-ms-user-select: none;
}
label {
	cursor:pointer;
}
#holder {
	cursor:pointer;
	background-color:#e6e6e6;
	border: 2px dashed #444444;
	width: calc(100% - 4px);
	height:100px;
	display:flex;
	align-items:center;
	font-size:18px;
	color:black;
	text-align:center;
	justify-content:center;
	max-width:500px;
}
#holder.hover,#holder:hover {
	border: 2px dashed #0c0;
	background-color:#dcf5cd;
}
a.smallbutton {
	border: 1px solid grey;
	border-radius: 9px;
	padding: 7px 20px 7px 20px;
	background-color: white;
	transition: background-color 0.5s ease;
	color: #313131;
}
a.smallbutton.retour {
	padding: 7px 20px 7px 35px;
	background-image: url('css/arrow-left-svgrepo-com.svg');
	background-repeat: no-repeat;
	background-position: 12px center;
	background-size: 16px;
}
a.smallbutton:hover {
	background-color:#d9d9d9;
	color:black;
}
input[type=button],input[type=submit],a.button {
	background-color:var(--or);
	color:white;
	border-radius:20px;
	padding:10px 20px;
	margin:auto;
	box-shadow:0px;
	border:0px;
	display:block;
	font-family: 'Inter',sans-serif;
	font-size: 19px;
	transition: background-color 0.5s ease;
	text-decoration:none;
}
input[type=button]:hover,input[type=submit]:hover,input[type=button]:focus,input[type=submit]:focus,a.button:hover {
	outline: none;
	box-shadow: none; /* pour enlever aussi l’ombre si Bootstrap ou autre en ajoute */
	cursor:pointer;
	background-color:#998e0d;
}
a.button.grand {
	padding:20px 60px;
	border-radius:30px;
	background-color:var(--vert);
}
input[type=text],input[type=password],textarea {
	display:block;
	border:2px solid var(--or);
	border-radius:10px;
	padding:10px 20px;
	width:300px;
	max-width:calc(100% - 44px);
	font-family: 'Inter',sans-serif;
	font-size: 19px;
	margin-bottom:20px;
}
textarea {
	height:250px;
	width:550px;	
}

input[type=text]:focus,input[type=password]:focus,textarea:focus {
	outline: none;
	box-shadow: none; /* pour enlever aussi l’ombre si Bootstrap ou autre en ajoute */
	background-color:var(--jaune);
}
section.rose .grille .image2 {
	border-color:white;
}
section.mauve .border {
	border-color:var(--jaune);
}
section.roseclair .border {
	border-color:var(--vert);
}
section.vertclair .border {
	border-color:var(--blanc);
}
section.jaune .border {
	border-color:var(--or);
}

.grille .item {
	border-top-left-radius:20px;
	border-top-right-radius:20px;
	width:100%;
}
.grille .item .image {
	border-top-left-radius:20px;
	border-top-right-radius:20px;
	height:265px;
	background-color:grey;
	background-size:cover;
	background-position:center center;
}
.grille .item .blanc {
	background-color:white;
	padding:45px;
	color:black;
}
.grille .item .blanc .titre {
	font-weight:bold;
	font-size:18px;
	margin-bottom:20px;
}
.grille .item .blanc .texte {
	font-size:16px;
	font-family:'Inter',sans-serif;
	color:rgb(86, 88, 94);
	line-height:23px;
}
.content {
	width:1200px;
	display:flex;
	flex-direction:column;
	align-items:center;
	margin:80px 0px;
	max-width:calc(100% - 32px);
}
.content.large {
	width:1600px;
}
.preheader {
	position:fixed;
	background-color:var(--jaune);
	text-align:center;
	width:100%;
	transition: all 0.5s ease;
	z-index: 10;
}
.preheader.scrolled,.preheader.shadow {
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.3);
}
.preheader .content {
	margin:10px 0px;
}
.footer .content{
	flex-direction:row;
	justify-content:space-between;
	margin-bottom:40px;
}
.header .content {
	margin:40px 0px 20px 0px;
}
.header.petit .content {
	margin:30px 0px 0px 0px;
}
h1 {
	display:none;
}
section {
	display:flex;
	justify-content:center;
}
section p{
	width:570px;
	text-align:center;
	font-family:'Inter',sans-serif;
	font-size:19px;
}
section ul {
	font-size:19px;
	font-family:'Inter',sans-serif;

}
section.transparent {
	color:white;
}
section.rose {
	background-color:var(--rose);
	color:white;
}
section.rose.degrade {
	background: linear-gradient(to right bottom,var(--rose) 0%,var(--vertclair) 100%);
}
section.rose.degradeinverse {
	background: linear-gradient(to right top,var(--rose) 0%,var(--vertclair) 100%);
}
section.mauve {
	background-color:var(--mauve);
	color:var(--jaune);
}
section.roseclair {
	background-color:var(--roseclair);
	color:var(--vert);
}

section.vertclair {
	background-color:var(--vertclair);
	color:var(--blanc);
}
section.jaune {
	background-color:var(--jaune);
	color:var(--or);
}
.togglemenu {
	display: none;
	cursor: pointer;
	float: right;
	margin-top: 13px;
}
.togglemenu span {
	display: block;
	width: 33px;
	height: 4px;
	margin-bottom: 5px;
	position: relative;
	background: black;
	border-radius: 3px;
	z-index: 1;
	-moz-transition: 0.4s ease;
	-webkit-transition: 0.4s ease;
	-o-transition: 0.4s ease;
	transition: 0.4s ease;
}
.preheader.opened .togglemenu span:nth-child(1) {
	-webkit-transform: rotate(45deg) translate(4px, 9px);
	transform: rotate(45deg) translate(4px, 9px);
}
.preheader.opened .togglemenu span:nth-child(2) {
	opacity: 0;
}
.preheader.opened .togglemenu span:nth-child(3) {
	-webkit-transform: rotate(-45deg) translate(3px, -9px);
	transform: rotate(-45deg) translate(3px, -9px);
}
.preheader .logo {
	background-image:url('css/LogoHoriz.png');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
	width:197px;
	height:50px;
	float:left;
	display:none;
}
h2 {
	font-family:'Outfit', sans-serif;
	font-size:64px;
	line-height:1.3;
	font-weight:600;
	margin:150px 0px 30px 0px;
	text-align:center;
}
h3 {
	font-family:'Outfit', sans-serif;
	font-size:48px;
	line-height:1.3;
	font-weight:600;
	margin:0px 0px 30px 0px;
	text-align:center;
}
form .verifmsg{
	font-family:Verdana;
	font-size:12px;
	margin-top:-15px;
	color:red;
	margin-bottom:15px;
}
#popup {
	min-height:30px;
	position:fixed;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
	width:660px;
	max-width:calc(95% - 40px);
	top:-60px; /* caché */
	left: 50%;
	transform: translateX(-50%);
	padding:10px 20px; 
	z-index:2147483647; /* au dessus de tout, même le fond obscurci lors d'un popup */
	font-family: Verdana;
	opacity:1;
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:10px;
	/*border-top-left-radius:10px;
	border-top-right-radius:10px;*/
}
#popup.valide{background-color:#a7f783;}
#popup.invalide{background-color:#ff6060;color:white;}
#popup.loading{
	color:#242424;
	background-color:#ffe7bb;
	background-image:url('../images/loading.gif');
	background-repeat:no-repeat;
	background-position:left 15px center;
	background-size:30px 30px;
}
@media (max-width: 768px) {
	a.smallbutton.prec {
		background-image: url('css/arrow-left-svgrepo-com.svg');
		background-repeat: no-repeat;
		background-position: 12px center;
		background-size: 16px;
	}
	a.smallbutton.suiv {
		background-image: url('css/arrow-right-svgrepo-com.svg');
		background-repeat: no-repeat;
		background-position: 12px center;
		background-size: 16px;
	}
	.notsmartphone {
		display:none;
	}
	.preheader.scrolled .logo,.preheader.opened .logo,.preheader.shadow .logo {
		display:block;
	}
	
	.preheader .content {
		display:block;
		margin:0px;
	}
	.menu {
		display:none;
		height:1000px;
		padding-top:60px;
	}
	.preheader.opened .menu {
		display:block;
	}
	.menu a {
		display:block;
		padding: 12px 15px;
		margin-bottom:5px;
		text-align: center;
		background-color:var(--rose);
		color:white;
	}
	section p {
		width:100%;
	}
	.header .logo {
		width:100%;
		height:400px;
	}
	.grille {
		flex-direction:column;
	}
	.footer .content {
		flex-direction:column;
		text-align:center;
	}
	.footer .reseaux {
		justify-content:center;
	}
	.togglemenu {
		display: block;
	}
}
@media (max-width: 668px) {
	.header .logo {
		width:100%;
	}
	.creations {
		gap:5px;
	}
	.creations > div {
		width: 165px;
		padding: 5px;
	}
	.creations img {
		width:50px;
		height:50px;
	}
	.creations .externallink {
		bottom:5px;
		right:5px;
	}
}