/*
	Theme Name: Thème personnalisé
	Author: Charly
	Version: 1.0
	*/

/*----------------------------------- Fonction globale---------------------------------------- */

@font-face {
	font-family: "Space";
	src: url("fonts/SpaceMono-Bold.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Playwrite";
	src: url("fonts/PlaywriteGBJ-Regular.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Roboto";
	src: url("fonts/Roboto_Condensed-Bold.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}


@font-face {
	font-family: "Questrial";
	src: url("fonts/Questrial-Regular.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}


@font-face {
	font-family: "Cinzel";
	src: url("fonts/CinzelDecorative-Bold.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

body {
	background-image: url("images/fond.jpg");
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
	font-family: "Playwrite";
	overflow-x: hidden!important;
}

/* Obliger de mettre important car wp passe au dessus sinon */
h1,
h2,
h3 {
	color: rgba(255, 242, 215, 1) !important;
	font-family: "Cinzel" !important;
}

h2 {
	color: white !important;
	font-size: 2rem;
}

h3 {
	color: black !important;
	font-size: clamp(2rem, 5vw, 3rem);
}
/* ------------------------------------ HEADER --------------------------------------------------*/

.site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	background: transparent;
}

.container {
	width: 90%;
	margin: 0 auto;
	display: flex;
	align-items: flex-start; /* Conservé */
	justify-content: space-between;
	padding-top: 20px;
	box-sizing: border-box;
}

.logo img {
	max-height: 150px;
	width: auto;
	transition: transform 0.3s ease-in-out;
}

.logo img:hover {
	transform: scale(1.05);
}

.main-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-grow: 1;
}

.main-nav ul,
.menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 1.5vw;
}

.menu li {
	list-style: none;
}

.menu a {
	position: relative;
	text-decoration: none;
	color: white;
	font-weight: 500;
	display: inline-block;
	white-space: nowrap;
	font-size: 1.25vw;
}

/* Sécurité Grands Écrans */
@media (min-width: 1400px) {
	.menu a {
		font-size: 1rem;
	}
	.main-nav ul,
	.menu {
		gap: 25px;
	}
}

.menu a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 0;
	height: 2px;
	background-color: white;
	transition: width 0.3s ease;
}

.menu a:hover::after {
	width: 100%;
}

/* Responsive et burger */

@media (max-width: 768px) {
	.logo img {
		max-height: 90px;
	}

	.burger-menu {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 30px;
		height: 21px;
		background: transparent;
		border: none;
		cursor: pointer;
		z-index: 2000;
	}

	.main-nav {
		display: none; /* Masqué par défaut, géré par le JS d'ouverture */
	}

	/* Quand le menu passe en mode burger, la police et le gap redeviennent fixes */
	.main-nav ul,
	.menu {
		flex-direction: column;
		gap: 20px;
		width: 100%;
	}

	.menu a {
		font-size: 1.2rem;
		white-space: normal;
	}
}

.bar {
	width: 100%;
	height: 3px;
	background-color: white;
	transition: all 0.3s ease-in-out;
}

.burger-menu {
	display: none;
}
/* -------------------------------- Hero entete -------------------------------------------- */

.hero {
	position: relative;
	width: 100%;
	height: 115vh;
	overflow: hidden;
}

/* VIDEO + IMAGE */
.hero-video,
.hero-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Overlay fondu opaque */
.hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

/* Titre */
.hero-title {
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translate(-50%, 20px);
	color: rgba(255, 242, 215, 1);
	font-size: 6vw;
	text-transform: uppercase;
	text-align: center;
	z-index: 2;
	opacity: 0;
	animation: heroFadeUp 1.7s ease-out forwards;
	white-space: nowrap;
}
.hero-subtitle {
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%, 20px);
	color: rgba(255, 242, 215, 1);
	font-size: 1rem;
	text-align: center;
	z-index: 2;
	opacity: 0;
	animation: heroFadeUp 3s ease-out forwards;
	animation-delay: 0.3s;
	max-width: 80%;
}

/* Conteneur principal */
.hero-buttons {
	position: absolute;
	top: 75%;
	left: 50%;
	transform: translate(-50%, 20px);
	display: flex;
	gap: 20px;
	z-index: 2; /* Garde le groupe au-dessus du reste du site */
	opacity: 0;
	animation: heroFadeUp 1.7s ease-out forwards;
	animation-delay: 0.6s;
}

/* Style du bouton (Le Parent) */
.hero-btn {
	align-items: center;
	background-color: rgba(255, 242, 215, 1);
	border: 2px solid #111;
	border-radius: 8px;
	box-sizing: border-box;
	color: #111;
	cursor: pointer;
	display: flex;
	font-size: 16px;
	height: 48px;
	justify-content: center;
	line-height: 24px;
	padding: 0 25px;
	position: relative;
	text-align: center;
	text-decoration: none;
}

/* L'ombre blanche */
.hero-btn:after {
	content: "";
	display: block;
	position: absolute;
	background-color: rgba(0, 0, 0, 0.7);
	border-radius: 8px;
	border: 2px solid #111;
	height: 48px;
	width: 100%;
	transform: translate(8px, 8px);
	transition: transform 0.2s ease-out;
	z-index: -1;
}

/* Interactions */
.hero-btn:hover:after {
	transform: translate(0, 0);
}

.hero-btn:active {
	background-color: rgba(211, 105, 48, 0.7);
	outline: 0;
}

.hero-btn:hover {
	outline: 0;
}

/* Mobile */
@media screen and (max-width: 768px) {
	.hero-buttons {
		flex-direction: column;
		gap: 12px;

		/* Plus bas */
		top: 82%;

		width: 70%;
		align-items: center;
	}

	.hero-btn {
		/* Plus petits */
		height: 40px;
		font-size: 14px;
		padding: 0 18px;

		width: 200px;
	}

	.hero-btn::after {
		height: 40px;
	}
}

/* Supprime les styles par défaut de l'élément interne si nécessaire */
/*On neutralise complètement le lien interne de WP */
.btn-tattoo a,
.btn-autre a,
.wp-block-button__link {
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	display: inline-block !important;
	width: 100%;
	height: 100%;
	color: inherit !important;
	text-decoration: none !important;
}

.btn-tattoo,
.btn-autre {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	overflow: visible !important;
}

/* Boutons tattoo uniquement */
.btn-tattoo {
	align-items: center;
	background-color: rgb(211, 105, 48);
	border: 2px solid #111;
	border-radius: 8px;
	box-sizing: border-box;
	color: #111;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	font-size: 16px;
	text-decoration: none;
	padding: 12px 28px;
	position: relative;
	transition: all 0.2s ease;
}

/* Bloc blanc derrière */
.btn-tattoo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 242, 215, 1);
	border: 2px solid #111;
	border-radius: 8px;
	transform: translate(8px, 8px);
	z-index: -1;
	transition: transform 0.2s ease;
}

/* Hover */
.btn-tattoo:hover::after {
	transform: translate(0, 0);
}

.btn-autre {
	align-self: center;
	background-color: #fff;
	background-image: none;
	background-position: 0 90%;
	background-repeat: repeat no-repeat;
	background-size: 4px 3px;
	border-style: solid;
	border-width: 2px;
	box-sizing: border-box;
	color: #41403e;
	cursor: pointer;
	display: inline-block;
	line-height: 23px;
	outline: none;
	font-family: "Space";
	padding: 0.75rem;
	text-decoration: none;
	transition: all 235ms ease-in-out;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	box-shadow: rgba(0, 0, 0, 0.2) 15px 28px 25px -18px;
	border-radius: 15px 225px 255px 15px;
	border-bottom-left-radius: 15px 255px;
	border-bottom-right-radius: 225px 15px;
	border-top-left-radius: 255px 15px;
	border-top-right-radius: 15px 225px;
}

.btn-autre:hover {
	box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px -5px;
	transform: translate3d(0, 2px, 0);
}

.btn-autre:focus {
	box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 4px -6px;
}

/* Hero de chaque page */

.hero-resume {
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%, 20px);
	color: white;
	font-size: 1.2rem;
	text-align: center;
	z-index: 2;
	max-width: 80%;
	opacity: 0;
	animation: heroFadeUp 1.7s ease-out forwards;
	animation-delay: 0.3s;
}

/* Si Gutenberg met des <p> */
.hero-resume p {
	margin: 0;
}

/* ANIMATION */
@keyframes heroFadeUp {
	to {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

/* -------------------------------- Contenu accueil-------------------------------------- */

/* ============================= */
/* FONDEMENTS */
/* ============================= */

.fondements-section {
	width: 100%;
	margin: 50px auto 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow: hidden;
	position: relative;
}

/* TITRE SECTION */

.fondement_title {
	color: black !important;
	font-size: 4rem;
	text-align: right;
	margin-right: 140px;
	position: relative;
	z-index: 10;
}

.art_titre {
	font-size: 4rem;
}

/* ITEM */

.fondement-item {
	position: relative;
	width: 100%;
	min-height: 380px;
	display: flex;
	align-items: center;
	will-change: transform;
	transform: translateZ(0);
}

/* CHEVAUCHEMENT */

.fondement-item:not(:first-child) {
	margin-top: -150px;
}

/* IMAGE */

.fondement-item img {
	width: 700px;
	max-width: none;
	display: block;
	pointer-events: none;
}

/* TEXTE */

.fondement-content {
	position: absolute;
	z-index: 2;
	max-width: 350px;
}

/* TITRE */

.fondement-content h3 {
	color: rgba(255, 242, 215, 1) !important;
	font-size: 2.5rem;
	margin-bottom: 20px;
	display: inline-block;
	padding: 5px 12px;
	border-radius: 18px;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

/* TEXTE */

.fondement-content p {
	color: rgba(0, 0, 0, 1);
	font-size: 1.3rem;
	line-height: 1.8;
	text-align: center;
	display: inline-block;
	padding: 4px 10px;
	border-radius: 18px;
	background: rgba(255, 242, 215, 0.8);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

/* ============================= */
/* VERSION GAUCHE */
/* ============================= */

.fondement-left {
	justify-content: flex-start;
}

.fondement-left img {
	margin-left: -100px;
}

.fondement-left .fondement-content {
	left: 50px;
	top: 38%; /* Ajusté pour remonter le bloc texte */
	transform: translateY(-50%);
}

/* ============================= */
/* VERSION DROITE */
/* ============================= */

.fondement-right {
	justify-content: flex-end;
}

.fondement-right img {
	margin-right: -100px;
}

.fondement-right .fondement-content {
	right: 50px;
	top: 38%; /* Ajusté pour remonter le bloc texte */
	transform: translateY(-50%);
	text-align: right;
}

/* ============================= */
/* TABLETTE */
/* ============================= */

@media (max-width: 1024px) {
	.fondements-section {
		margin-top: 40px;
	}

	.fondement_title {
		margin-right: 20px;
		font-size: 3rem;
	}

	.fondement-item {
		min-height: 300px;
	}

	.fondement-item:not(:first-child) {
		margin-top: -100px;
	}


	.fondement-content {
		max-width: 280px;
	}

	.fondement-content h3 {
		font-size: 1.7rem;
		margin-bottom: 12px;
	}

	.fondement-content p {
		font-size: 1.05rem;
		line-height: 1.6;
	}

	.fondement-left .fondement-content {
		left: 40px;
		top: 35%; /* Ajusté pour tablette */
	}

	.fondement-right .fondement-content {
		right: 40px;
		top: 35%; /* Ajusté pour tablette */
	}

	.fondement-left img {
		margin-left: -120px;
	}

	.fondement-right img {
		margin-right: -120px;
	}
}

/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width: 768px) {
	.fondements-section {
		margin-top: 20px;
	}

	.fondement_title {
		font-size: 2.3rem;
		margin-right: 20px;
	}

	.fondement-item {
		min-height: 230px;
	}

	.fondement-item:not(:first-child) {
		margin-top: -50px;
	}

	.fondement-item img {
		width: 490px;
	}

	.fondement-content {
		max-width: 220px;
	}

	.fondement-content h3 {
		font-size: 1.5rem;
		padding: 4px 10px;
		margin-bottom: 10px;
	}

	.fondement-content p {
		font-size: 1rem;
		line-height: 1.45;
		padding: 4px 8px;
	}

	.fondement-left .fondement-content {
		left: 25px;
		top: 32%; /* Ajusté pour mobile */
	}

	.fondement-right .fondement-content {
		right: 25px;
		top: 32%; /* Ajusté pour mobile */
	}

	.fondement-left img {
		margin-left: -100px;
	}

	.fondement-right img {
		margin-right: -100px;
	}
}

/* ============================= */
/* PETITS MOBILES */
/* ============================= */

@media (max-width: 480px) {
	.fondement_title {
		font-size: 1.8rem;
	}

	.fondement-item {
		min-height: 190px;
	}

	.fondement-item:not(:first-child) {
		margin-top: -20px;
	}

	.fondement-item img {
		width: 400px;
	}

	.fondement-content {
		max-width: 180px;
	}

	.fondement-content h3 {
		font-size: 1.2rem;
		margin-bottom: 6px;
	}

	.fondement-content p {
		font-size: 1rem;
		line-height: 1.35;
	}

	.fondement-left .fondement-content {
		left: 10px;
		top: 30%; /* Ajusté pour petit mobile */
	}

	.fondement-right .fondement-content {
		right: 10px;
		top: 30%; /* Ajusté pour petit mobile */
	}

	.fondement-left img {
		margin-left: -80px;
	}

	.fondement-right img {
		margin-right: -80px;
	}
}

/* Présentation */
.mon_histoire {
	background-color: rgba(108, 144, 81, 0.75);
	color: rgba(255, 242, 215, 1);
	margin-top: -100px;
	margin-bottom: 100px;
	border-radius: 20px;
	padding: 40px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.img-presentation {
	display: block;
	margin: 0 auto;
	width: 400px;
	height: auto;
	object-fit: cover;
}

/* --------------------------------------------------------- */

/* Carte de l'accueil */

.cards-tattoo {
	width: 90%;
	margin: 120px auto;
	display: flex;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.tattoo-card {
	position: relative;
	width: 340px;
	height: 520px;
	border-radius: 35px;
	overflow: hidden;
	transition: 0.4s ease;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
	display: block;
}

/* IMAGE */

.tattoo-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.6s ease;
}

/* OVERLAY */

.tattoo-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 30px;
	color: white;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 35%, rgba(0, 0, 0, 0.1) 60%, transparent 80%);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

/* TITRE */

.tattoo-overlay h3 {
	font-size: 1.5rem;
	margin-bottom: 15px;
	color: rgba(255, 242, 215, 1) !important;
}

/* TEXTE */

.tattoo-overlay p {
	font-size: 1rem;
	line-height: 1.7;
	margin-bottom: 25px;
	color: rgba(255, 242, 215, 0.92);
	text-align: center;
}

/* BOUTON */

.tattoo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: black;
	text-decoration: none;
	font-weight: 600;
	transition: 0.3s ease;
}

/* HOVER */

.tattoo-card:hover {
	transform: translateY(-10px);
}

.tattoo-card:hover img {
	transform: scale(1.05);
}

.tattoo-btn:hover {
	background: rgba(255, 242, 215, 1);
}

/* RESPONSIVE */

@media (max-width: 768px) {
	.cards-tattoo {
		gap: 25px;
	}

	.tattoo-card {
		width: 90%;
		height: 460px;
	}

	.tattoo-overlay {
		padding: 22px;
	}

	.tattoo-overlay h3 {
		font-size: 1.5rem;
	}

	.tattoo-overlay p {
		font-size: 0.95rem;
		line-height: 1.5;
	}
}

.vos_retours {
	background-color: rgba(108, 144, 81, 0.75);
	color: rgba(255, 242, 215, 1);
	margin-top: 100px;
	margin-bottom: 100px;
	border-radius: 20px;
	padding-top: 60px;
	padding-bottom: 60px;
}

.vos_retours h3 {
	text-align: center;
	margin-top: 0;
	margin-bottom: 0;
}

/* ------------------------------ANIMATION JS DES PAGES---------------------------- */

/* Etat initial */
.fade-up,
.fade-left,
.fade-right {
	opacity: 0;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

/* Déclenchement */
.fade-up.is-visible {
	animation: fadeUp 0.9s ease-out forwards;
}

.fade-left.is-visible {
	animation: fadeLeft 0.9s ease-out forwards;
}

.fade-right.is-visible {
	animation: fadeRight 0.9s ease-out forwards;
}

/* Animations */

@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(60px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeLeft {
	from {
		opacity: 0;
		transform: translateX(-60px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes fadeRight {
	from {
		opacity: 0;
		transform: translateX(60px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* -------------------------------- PAGE TATOUAGES -------------------------------- */

/* TOPBAR */
.tatouage-topbar {
	width: 90%;
	margin: 80px auto 40px;

	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 100;
}

/* TITRE */
.tatouage-titre {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.tatouage-header {
	width: 100%;
	display: block;
	margin-bottom: 20px;
}

.tatouage-description {
	display: block;
	font-size: 0.9rem;
	color: black;
	max-width: 800px;
	line-height: 1.5;
}

/*  FILTRES  */

.filtres-dropdown {
	position: relative;
}

/* BOUTON */
.filtres-btn {
	color: black;
	font-family: "Playwrite" !important;
	padding: 14px 24px;
	cursor: pointer;
	text-transform: uppercase;
}

.filtres-btn:hover {
	opacity: 0.85;
}

/* MENU */
.filtres-contenu {
	position: absolute;
	top: 60px;
	right: 0;
	background: white;
	padding: 20px;
	min-width: 220px;
	display: none;
	flex-direction: column;
	gap: 15px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	z-index: 50;
}

/* OUVERTURE */
.filtres-dropdown.active .filtres-contenu {
	display: flex;
}

/* SELECT */
.filtres-contenu select {
	width: 100%;
	padding: 12px;
	border: 1px solid #ddd;
	cursor: pointer;
}

/*  GALERIE */

.galerie-tatouages {
	width: 90%;
	margin: 0 auto 60px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	position: relative;
	z-index: 1;
}

/* CARTE */
.lightbox-item {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 30px;
	cursor: pointer;
}

/* IMAGE */
.lightbox-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.5s ease;
}

/* OVERLAY */
.tatouage-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: 0.4s ease;
}

/* HOVER */
.lightbox-item:hover .tatouage-overlay {
	opacity: 1;
	background: rgba(0, 0, 0, 0.35);
}

.lightbox-item:hover img {
	transform: scale(1.05);
}

/* ICONE */
.icone-oeil {
	color: white;
	font-size: 2rem;
}

/*  PAGINATION  */

.pagination-tatouages {
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}

/* ------------------------------------ LIGHTBOX -------------------------------------- */

/* CONTENEUR */
.lightbox {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	z-index: 9999;
	justify-content: center;
	align-items: center;
	padding: 30px;
}

/* WRAPPER */
.lightbox-wrapper {
	width: 100%;
	max-width: 1100px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* IMAGE CONTAINER */
.lightbox-image-container {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* IMAGE */
.lightbox img {
	width: 100%;
	max-height: 75vh;
	object-fit: contain;
	border-radius: 10px;
}

/* OVERLAY (INCHANGÉ) */
.tatouage-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: 0.3s ease;
}

.lightbox-item:hover .tatouage-overlay {
	opacity: 1;
	background: rgba(0, 0, 0, 0.35);
}

/* OEIL */
.icone-oeil {
	color: white;
	font-size: 2rem;
}

/* FERMER */
.close-lightbox {
	position: absolute;
	top: 20px;
	right: 30px;
	color: white;
	font-size: 3rem;
	cursor: pointer;
	z-index: 20;
	transition: 0.3s ease;
}

.close-lightbox:hover {
	transform: scale(1.1);
}

/* NAVIGATION */

.nav {
	position: absolute;
	background: none;
	border: none;
	color: white;
	font-size: 2rem;
	cursor: pointer;
	z-index: 10;
	transition: 0.3s ease;
}

.nav:hover {
	transform: scale(1.2);
}

/* DESKTOP POSITION */
.precedent {
	left: 20px;
	top: 50%;
}

.suivant {
	right: 20px;
	top: 50%;
}

/* INFOS */
.lightbox-infos {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 25px;
	text-align: center;
}

.lightbox-infos span {
	color: white;
	padding: 8px 14px;
	font-size: 0.9rem;
	text-transform: uppercase;
}

/* ========================= */
/* RESPONSIVE
/* ========================= */

@media (max-width: 768px) {

    /* LIGHTBOX */

    .lightbox {
        padding: 8px;
    }

    .lightbox-wrapper {
        width: 100%;
        max-width: 100%;
        gap: 10px;
    }

    .lightbox-image-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    /* IMAGE PLUS GRANDE */

    .lightbox img {
        width: 95vw;
        max-width: 95vw;
        max-height: 72vh;
        object-fit: contain;
        margin-bottom: 10px;
        border-radius: 10px;
    }

    /* FLÈCHES SOUS L'IMAGE */

    .lightbox-navigation {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 80px;
        margin-bottom: 10px;
    }

    .nav {
        position: static;
        transform: none;
        font-size: 2.4rem;
        padding: 0;
    }

    /* INFOS */

    .lightbox-infos {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin-top: 0;
        width: 100%;
    }

    .lightbox-infos span {
        font-size: 0.75rem;
        padding: 4px 8px;
        white-space: nowrap;
    }

    /* FERMETURE */

    .close-lightbox {
        top: 10px;
        right: 15px;
        font-size: 2.5rem;
    }

    /* TOPBAR TATOUAGES */

    .tatouage-topbar {
        flex-direction: column;
        gap: 20px;
        text-align: center;
        align-items: center;
        z-index: 110;
    }

    .filtres-dropdown {
        position: relative;
        display: inline-block;
        width: auto;
    }

    .filtres-contenu {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        top: 55px;
        min-width: 260px;
        box-shadow: 0 15px 35px rgba(0,0,0,0.25);
        z-index: 120;
    }

    .galerie-tatouages {
        grid-template-columns: repeat(2, 1fr);
    }

    .tatouage-titre {
        font-size: 1.5rem;
    }

    .mon_histoire {
        margin-top: 0;
    }
}

@media (max-width: 450px) {

    .galerie-tatouages {
        grid-template-columns: 1fr;
    }

    .lightbox img {
        width: 96vw;
        max-width: 96vw;
        max-height: 68vh;
    }

    .lightbox-navigation {
        gap: 60px;
    }

    .nav {
        font-size: 2rem;
    }

    .lightbox-infos span {
        font-size: 0.65rem;
        padding: 3px 6px;
    }

}



/*---------------------------------Page qui suis je---------------------------------- */

.moi-simplement,
.cabinet {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.moi-simplement {
	margin-top: 60px;
}

.cabinet {
	margin-top: 80px;
}

.colonne-image,
.colonne-texte {
	flex: 1;
	width: 50%;
}

.cabinet .colonne-image {
	padding-top: 40px;
}

/* --- Version Mobile (Responsive) --- */
@media (max-width: 768px) {
	.moi-simplement,
	.cabinet {
		flex-direction: column;
		gap: 20px;
		text-align: center;
	}

	.colonne-image,
	.colonne-texte {
		width: 100%;
	}
}

/* --------------------------------Evenements----------------------------------------- */

.evenements-grid {
	width: 90%;
	margin: 0 auto 60px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}

.evenement-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	transition: transform 0.3s ease;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
	position: relative;
}

.evenement-card:hover {
	transform: translateY(-5px);
}

.evenement-card a {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* Bloc image sans hauteur fixe bloquante */
.evenement-image {
	width: 100%;
	overflow: hidden;
}

.evenement-image img {
	width: 100%;
	height: auto; /* L'image garde ses proportions sans être étirée en hauteur */
	display: block;
	object-fit: cover;
}

/* Bloc texte sous l'image */
.evenement-info {
	padding: 15px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Titre */
.evenement-title {
	margin: 0;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.3;
}

@media (max-width: 768px) {
	.evenements-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 450px) {
	.evenements-grid {
		grid-template-columns: 1fr;
		max-width: 350px;
	}
}

/* --------------------------------Contact------------------------------------------- */
/* Le html est dans gutenberg sous html personnalisé */

/* Marges de 100px en haut et en bas du conteneur global */
.contact-container {
	margin-top: 100px;
	margin-bottom: 100px;
}

/* Base du lien de la carte */
.contact-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

/* Style de la carte (Fond blanc par défaut) */
.contact-card {
	background: #ffffff;
	border-radius: 12px;
	padding: 35px 24px;
	text-align: center;
	/* Ombre très légère et subtile au repos */
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	transition: all 0.3s ease-in-out;
}

/* Effet au survol */
.contact-card-link:hover .contact-card {
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: 0 15px 30px rgba(211, 105, 48, 0.15);
}

/* Style des logos  */
.contact-icon {
	font-size: 2.8rem;
	color: rgba(211, 105, 48, 1);
	margin-bottom: 15px;
	transition: transform 0.3s ease;
}

/* Petit effet bonus : le logo bouge légèrement aussi au survol */
.contact-card-link:hover .contact-icon {
	transform: scale(1.2);
}

/* Centrer les titres avec votre classe */
.titre_contact {
	text-align: center !important;
}

/* Centrer la carte Google Maps */
.carte-centree {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 20px 0 100px 0;
}

/* Centrer le formulaire Contact Form 7 grâce à sa nouvelle classe */
form.formulaire-centre {
	margin: 0 auto !important;
	max-width: 600px;
	width: 100%;
	text-align: left;
}

form.formulaire-centre p {
	text-align: center;
}

form.formulaire-centre input.wpcf7-submit {
	display: block !important;
	margin: 20px auto 0 auto !important;
}

/*--------------------------------- Footer-------------------------------------------- */

.site-footer {
	padding-top: 60px 20px;
	font-family: "Playwrite";
	background: url("images/fond_footer.png") no-repeat top/cover;
}

.footer-container {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 35px;
}

/* --- LOGO --- */
.footer-logo a {
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	color: #111;
	position: relative;
	padding-bottom: 4px;
}

/* --- MENU NAVIGATION --- */
nav .footer-menu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
	padding: 0;
	max-width: 500px;
	margin: 0 auto;
	gap: 10px 0;
}

nav .footer-menu li {
	display: flex;
	align-items: center;
}

/* Points de séparation */
nav .footer-menu li:not(:first-child)::before {
	content: "•";
	color: black;
	font-size: 1.2rem;
	margin: 0 15px;
	user-select: none;
}

nav .footer-menu li a {
	text-decoration: none;
	color: #333;
	font-size: 0.95rem;
	position: relative;
	padding-bottom: 4px;
	transition: color 0.3s ease-out;
}

nav .footer-menu li a:hover {
	color: #000;
}

/* --- RESEAUX SOCIAUX --- */
.footer-social {
	display: flex;
	gap: 20px;
}

.footer-social a {
	color: #444;
	font-size: 1.8rem;
	text-decoration: none;
	transition:
		transform 0.3s ease,
		color 0.3s ease;
}

.footer-social a:hover {
	color: #000;
	transform: scale(1.2);
}

/* --- ADRESSE --- */
.footer-address {
	font-size: 0.9rem;
	line-height: 1.6;
	letter-spacing: 0.5px;
}

.footer-address a {
	color: black;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 6px;
	transition:
		color 0.3s ease-out,
		text-decoration-color 0.3s ease-out;
}

.footer-address a:hover {
	color: #000;
	text-decoration-color: #000;
}

/* --- ANIMATION DES SOULIGNEMENTS --- */

/* Logo + menu */
.footer-logo a::after,
nav .footer-menu li a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	background-color: #000;
	transform: translateX(-50%);
	transition: width 0.3s ease-out;
}

/* Déploiement de la ligne */
.footer-logo a:hover::after,
nav .footer-menu li a:hover::after {
	width: 100%;
}

@media (max-width: 900px) {
	.footer-container {
		gap: 0;
	}
}

/*------------------------------------ Responsive -----------------------------------*/

@media (max-width: 768px) {
	/* Menu burger */

	.burger-menu {
		display: flex; /* Apparaît sur mobile */
	}

	.main-nav {
		position: fixed;
		top: -100%; /* Caché au-dessus de l'écran */
		left: 0;
		width: 100%;
		height: 100%;
		background:
			url("images/fond_footer.png") no-repeat center/cover,
			rgba(0, 0, 0, 0.8);
		display: flex;
		align-items: center;
		justify-content: center;
		transition: top 0.5s ease-in-out;
		z-index: 1500;
	}

	.main-nav.active {
		top: 0;
	}

	.menu {
		flex-direction: column;
		text-align: center;
		gap: 30px;
	}

	/* Transformation en CROIX */
	.burger-menu.open .bar:nth-child(1) {
		transform: translateY(9px) rotate(45deg);
	}
	.burger-menu.open .bar:nth-child(2) {
		opacity: 0;
	}
	.burger-menu.open .bar:nth-child(3) {
		transform: translateY(-9px) rotate(-45deg);
	}

	/* Hero images en fallback */
	body:not(.home) .hero-video {
		display: none;
	}

	.hero-title {
		font-size: 8vw;
		padding: 0 20px;
	}

	.img-presentation {
		width: 200px;
	}
}

/* ==========================================================
   ÉCRANS XXL
========================================================== */

@media (min-width: 1600px) {

    /* ---------- Base ---------- */

    body { font-size: 18px; }

    h1 { font-size: 1.5rem !important; }
    h2 { font-size: 6.5rem !important; }
    h3 { font-size: 3rem !important; }

    /* ---------- Header ---------- */

    .container { width: 85%; }

    .logo img {
        max-height: 200px;
    }

    .main-nav ul,
    .menu {
        gap: 40px;
    }

    .menu a {
        font-size: 1.25rem;
    }

    /* ---------- Hero ---------- */

    .hero-title {
        font-size: 7rem;
    }

    .hero-subtitle,
    .hero-resume {
        font-size: 1.6rem;
        max-width: 1000px;
    }

    .hero-buttons {
        gap: 35px;
    }

    .hero-btn {
        height: 120px;
        font-size: 2.4rem;
        padding: 0 70px;
        border-radius: 16px;
    }

    .hero-btn::after {
        height: 120px;
        border-radius: 16px;
        transform: translate(12px, 12px);
    }

    /* ---------- Boutons ---------- */

    .btn-tattoo {
        font-size: 2rem;
        padding: 24px 56px;
        border-radius: 16px;
    }

    .btn-tattoo::after {
        border-radius: 16px;
        transform: translate(12px, 12px);
    }

    .tattoo-btn {
        font-size: 2rem;
        padding: 28px 60px;
    }

    .btn-autre {
        font-size: 2rem;
        padding: 1.5rem 2.5rem;
        line-height: 1.5;
    }

    .filtres-btn {
        font-size: 2rem;
        padding: 24px 40px;
    }

    .wp-block-button__link {
        font-size: 2rem !important;
        padding: 24px 56px !important;
    }

    /* ---------- Fondements ---------- */

    .fondement_title,
    .art_titre {
        font-size: 5rem;
    }

    .fondement-item {
        min-height: 500px;
    }

    .fondement-item img {
        width: 1100px;
    }

    .fondement-content {
        max-width: 500px;
    }

    .fondement-content h3 {
        font-size: 3rem;
    }

    .fondement-content p {
        font-size: 1.6rem;
        line-height: 1.9;
    }

    /* ---------- Présentation ---------- */

    .img-presentation {
        width: 550px;
    }

    .mon_histoire {
        width: 85%;
        margin: auto;
        padding: 60px;
        font-size: 1.5rem;
    }

    .vos_retours {
        width: 85%;
        margin: auto;
    }

    /* ---------- Cartes ---------- */

    .cards-tattoo {
        gap: 60px;
    }

    .tattoo-card {
        width: 420px;
        height: 650px;
    }

    .tattoo-overlay h3 {
        font-size: 2rem;
    }

    .tattoo-overlay p {
        font-size: 1.2rem;
    }

    /* ---------- Galerie ---------- */

    .galerie-tatouages {
        gap: 30px;
    }

    .tatouage-titre {
        font-size: 3rem;
    }

    .tatouage-description {
        max-width: 1000px;
        font-size: 1.1rem;
    }

    .nav {
        font-size: 5rem;
    }

    .precedent {
        left: -180px;
    }

    .suivant {
        right: -180px;
    }

    .lightbox-infos span {
        font-size: 1.8rem;
        padding: 14px 22px;
    }


    /* ---------- Qui suis-je ---------- */

    .moi-simplement,
    .cabinet {
        max-width: 1400px;
        gap: 80px;
    }

    .colonne-texte {
        font-size: 1.2rem;
        line-height: 1.9;
    }

    /* ---------- Évènements ---------- */

    .evenement-title {
        font-size: 1.25rem;
    }

    /* ---------- Contact ---------- */

    .contact-card {
        padding: 50px 35px;
        font-size: 1.6rem;
    }

    .contact-icon {
        font-size: 4rem;
    }

    /* ---------- Footer ---------- */

    .footer-logo a {
        font-size: 2rem;
    }

    nav .footer-menu li a {
        font-size: 1.1rem;
    }

    .footer-address {
        font-size: 1rem;
    }
}


/* ==========================================================
   ULTRA WIDE / 4K
========================================================== */

@media (min-width: 2200px) {

    /* ---------- Base ---------- */

    body { font-size: 22px; }

    h1 { font-size: 2rem !important; }
    h2 { font-size: 8.5rem !important; }
    h3 { font-size: 4rem !important; }

    /* ---------- Header ---------- */

    .container {
        width: 80%;
    }

    .logo img {
        max-height: 280px;
    }

    .main-nav ul,
    .menu {
        gap: 70px;
    }

    .menu a {
        font-size: 2rem;
    }

    /* ---------- Hero ---------- */

    .hero-title {
        font-size: 9rem;
    }

    .hero-subtitle,
    .hero-resume {
        font-size: 2rem;
        max-width: 1400px;
    }

    .hero-buttons {
        gap: 50px;
    }

    .hero-btn {
        height: 160px;
        font-size: 3rem;
        padding: 0 100px;
        border-radius: 24px;
    }

    .hero-btn::after {
        height: 160px;
        border-radius: 24px;
        transform: translate(16px, 16px);
    }

    /* ---------- Boutons ---------- */

    .btn-tattoo {
        font-size: 2.8rem;
        padding: 36px 84px;
        border-radius: 24px;
    }

    .btn-tattoo::after {
        border-radius: 24px;
        transform: translate(16px, 16px);
    }

    .tattoo-btn {
        font-size: 2.8rem;
        padding: 40px 90px;
    }

    .btn-autre {
        font-size: 2.8rem;
        padding: 2rem 3.5rem;
        line-height: 1.6;
    }

    .filtres-btn {
        font-size: 2.8rem;
        padding: 32px 56px;
    }

    .wp-block-button__link {
        font-size: 2.8rem !important;
        padding: 36px 84px !important;
    }

    /* ---------- Fondements ---------- */

    .fondement_title,
    .art_titre {
        font-size: 7rem;
    }

    .fondement-item {
        min-height: 700px;
    }

    .fondement-item img {
        width: 1500px;
    }

    .fondement-content {
        max-width: 700px;
    }

    .fondement-content h3 {
        font-size: 4.5rem;
    }

    .fondement-content p {
        font-size: 2rem;
        line-height: 2;
    }

    .fondement-left .fondement-content,
    .fondement-right .fondement-content {
        top: 40%;
    }

    /* ---------- Présentation ---------- */

    .img-presentation {
        width: 750px;
    }

    .mon_histoire {
        width: 80%;
        padding: 80px;
        font-size: 1.8rem;
    }

    .vos_retours {
        width: 80%;
    }

    /* ---------- Cartes ---------- */

    .cards-tattoo {
        gap: 80px;
    }

    .tattoo-card {
        width: 520px;
        height: 780px;
    }

    .tattoo-overlay {
        padding: 40px;
    }

    .tattoo-overlay h3 {
        font-size: 2.5rem;
    }

    .tattoo-overlay p {
        font-size: 1.5rem;
        line-height: 1.9;
    }

    /* ---------- Galerie ---------- */

    .galerie-tatouages {
        width: 85%;
        gap: 40px;
    }

    .tatouage-titre {
        font-size: 4rem;
    }

    .tatouage-description {
        max-width: 1300px;
        font-size: 1.4rem;
    }

    .nav {
        font-size: 7rem;
    }

    .precedent {
        left: -250px;
    }

    .suivant {
        right: -250px;
    }

    .lightbox-infos span {
        font-size: 2.4rem;
        padding: 18px 28px;
    }

    /* ---------- Qui suis-je ---------- */

    .moi-simplement,
    .cabinet {
        max-width: 1800px;
        gap: 120px;
    }

    .colonne-texte {
        font-size: 1.6rem;
        line-height: 2;
    }

    /* ---------- Évènements ---------- */

    .evenements-grid {
        width: 85%;
        gap: 35px;
    }

    .evenement-title {
        font-size: 1.6rem;
    }

    /* ---------- Contact ---------- */

    .contact-container {
        width: 85%;
        margin-inline: auto;
    }

    .contact-card {
        padding: 60px 40px;
        font-size: 2rem;
    }

    .contact-icon {
        font-size: 5rem;
    }

    /* ---------- Footer ---------- */

    .footer-container {
        max-width: 1400px;
        gap: 50px;
    }

    .footer-logo a {
        font-size: 3rem;
    }

    nav .footer-menu li a {
        font-size: 1.8rem;
    }

    nav .footer-menu li:not(:first-child)::before {
        font-size: 2rem;
        margin: 0 25px;
    }

    .footer-social a {
        font-size: 3rem;
    }

    .footer-address {
        font-size: 1.6rem;
        line-height: 2;
    }
}