/* ==================================================
08.) GESTION DES CSS ADDITIONNELS DE L'EDITEUR GUTENBERG

Objectif:
Gestion des css additionnels de l'éditeur Gutenberg
================================================== */


/* ********** ZOOM AU SCROOL D'UNE IMAGE VISIBLE DANS LE NAVIGATEUR ********** */

/* mw-zoom-on-scroll  */
.mw-zoom-on-scroll {
	transform: scale(1);
	will-change: transform;
	transition: transform 600ms ease-in-out;	/* transition toujours active */
}

/* Zoom */
.mw-zoom-on-scroll.is-zooming {
	transition: transform 600ms ease-in-out;	/* progressif */
	transform: scale(1.08);						/* facteur d'agrandissement */
}

/* Retour taille image initiale */
.mw-zoom-on-scroll.is-unzooming {
	transition: transform 600ms ease-in-out;	/* progressif */
	transform: scale(1);						/* facteur d'agrandissement (retour à la taille d'origine)*/
}



/* ********** GROUPE FIXE EN HAUT à GAUCHE ********** */

/* mw-group-fixed */
.mw-group-fixed {
	position: fixed;	/* reste visible même au scroll */
	top: 100px;			/* distance par rapport au haut de l'écran */
	left: 20px;			/* distance par rapport au bord gauche */
	z-index: 9999;		/* passe au-dessus des autres éléments */
}



/* ********** GROUPE DEPLACé VERS LE HAUT ********** */

/* mw-group-top (groupe déplacé vers le haut) */
	.mw-group-top {
		position: relative;
		top: -125px; /* déplacé vers le haut */
}



/* ********** EFFET FLOTTANT SUR LE GROUPE ********** */

/*  mw-floating-effect (effet flottant sur le groupe) */
/* Seulement les groupes "wp-block-group" avec la classe effet-flottant */
.wp-block-group.mw-floating-effect {
  	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-group.mw-floating-effect:hover {
  	transform: translateY(-5px);
  	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}



/* ********** INDENTE LA PREMIERE LIGNE D'UN PARAGRAPHE AVEC LA PREMIERE LETTRE PLUS GRANDE **********/
/* mw-text-indent (indente la première ligne) */
	.mw-text-indent {
		text-indent: 2rem;
}

/* mw-text-indent (indente la première ligne) */
	.mw-text-indent-v2 {
		text-indent: 2rem;
}

/* mw-text-indent-v2::first-letter (la première lettre plus grande) */
	.mw-text-indent-v2::first-letter {
		font-size: 1.5rem;
}



/* ***** Habillage (texte qui s'enroule autour de l'image carré) ***** */
/* <div1><img><p></div1> */
/* A placer dans le bloc contenant de l'image et du texte <div1> */
.habillage::after {
	content: "";
	display: block;
	clear: both; /* Clear pour stopper le float */
}

/* A placer sur l'image */
.habillage-left,
.habillage-right {
	display: block;
	width: 300px;
	max-width: 45%;
	height: auto;
}

/* Image à gauche */
.habillage-left {
	float: left;
	padding: 0 0.5rem 1rem 0;
}

/* Image à droite */
.habillage-right {
	float: right;
	margin: 0 0 1rem 0.5rem;
}

/* ***** Habillage (texte qui s'enroule autour de l'image arrondi) ***** */
/* <div1><div2><img></div2><p></div1> */
/* A placer sur <div1> */
.habillage-item2::after {
	content: "";
	display: block;
	clear: both;
}

/* A placer sur <div2> */
/* Image à gauche */
.habillage-item2-left {
	float: left;
	width: 250px;
	height: 250px;
	margin: 0 20px 10px 0;
	shape-outside: circle(50%);
	clip-path: circle(50%);
}

/* Image */
.habillage-item2-left img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}

/* A placer sur <div2> */
/* Image à droite */
.habillage-item2-right {
	float: right;
	width: 250px;
	height: 250px;
	margin: 0 0 10px 20px;
	shape-outside: circle(50%); 
	clip-path: circle(50%);
}

/* Image */
.habillage-item2-right img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
@media (max-width:768px){
    .habillage-item2-left,
    .habillage-item2-right {
        width: 40vw;
		height:	40vw;
		min-width:120px;
		min-height:120px;
		max-width:180px;
		max-height:180px;
    }
}

/* ***** Cadre sur image ***** */
/* Cadre */
.cadre-on-img {
	display: inline-block;
	border-width: 1px;								/* épaisseur de la bordure */
	border-style: solid;							/* type de ligne (pleine) */
	border-color: var(--wp--preset--color--txt-2);	/* couleur de la bordure */
	padding: 16px;									/* marge interieure entre l'image et la bordure */
	border-radius: 10px;							/* rayon de la bordure */
}



/* ***** Bordure décalée ***** */
/* mw-outline-offset (bordure décalée) */
	.mw-outline-offset {
		outline: 2px solid #ff4f81;	/* la bordure */
		border-radius: 10px;		/* le rayon de bordure */
		outline-offset: 5px ;		/* le décalage */
}

/* ***** Section hero, image plein écran ***** */
	.hero-picture-size-full {
		height: 92vh;
		margin: 0;
	}
	.hero-picture-size-full img {
		width: 100%;
		height: 100%;
		object-fit: cover; /* contain ou cover */
		display: block;
	}



/* ***** Image en vignette ronde sur une cadre texte ***** */
/* Page "A Propos" section "Histoire"*/
.mw-apropos-histoire-carte-presentation {
	position: relative;
	max-width: 850px;
	margin: 0 auto;
	padding: 42px 38px 36px 38px;
	background-color: var(--wp--preset--color--section-bg-1);
	border-width: 2px;
	border-style: solid;
	border-color: var(--wp--preset--color--free-1);
	border-radius: 30px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
	overflow: visible;
}

.mw-apropos-histoire-image-profil {
	position: absolute;
	top: -120px;
	left: 30px;
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 50%;
	border-width: 5px;
	border-style: solid;
	border-color: var(--wp--preset--color--free-1);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
	z-index: 2;
}

.mw-apropos-histoire-image-profil:hover {
	transform: scale(1.04) rotate(-2deg);
	box-shadow: 0 16px 30px rgba(0, 0, 0, 0.18);
}


.mw-text-move {
  display: inline-block;
  animation: monter-texte 1.5s ease forwards;
}

@keyframes monter-texte {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-5rem); 
  }
}



/* ********** ZOOM IMAGE AU SURVOL ********** */
/* mw-zoom-on-over (zoom image au survol */

.frame-limit {
	 overflow: hidden;
}
.frame-limit .mw-zoom-on-hover img {
	transition: transform 0.3s ease-in-out;
}
.frame-limit .mw-zoom-on-hover img:hover {
transform: scale(1.4);
}



/* ********** EFFET DUOTONE ********** */
/* mw-filter-duotone (effet duotone personnalisé au survol sur une image) */
.mw-filter-duotone img {
	transition: filter 0.3s ease-in-out;
}
.mw-filter-duotone img:hover {
	filter: sepia(100%) hue-rotate(200deg) saturate(200%);
}
/* ********** (FIN) - EFFET DUOTONE ********** */

/* ********** PAGE ACCUEIL ********** */
:where(body, .editor-styles-wrapper) .mw-theme-class-accueil {

	/* H1 + présentation */
	.bienvenue {
		height: calc(100svh - var(--mw-css-accueil-header-desktop-min-height));
		min-height: 0;

		display: flex;
		flex-direction: column;
		gap: 0 !important;

		padding-bottom: 1.5rem;

		overflow: hidden;
		box-sizing: border-box;

		/* background: linear-gradient(
			135deg,
			#f7f9fd 0%,
			#ffffff 55%,
			#eef3fb 100%
		); */
	}


	/* Supprime la marge ajoutée par Gutenberg */
	.bienvenue > * {
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
	}

	/* Bandeau bleu */
	.bienvenue > h1 {
		flex: 0 0 auto;

		width: 100%;
		margin: 0 !important;
		padding: clamp(1rem, 2.5vh, 1.8rem) 1rem; 

		color: #ffffff;
		background-color: #244393;
		text-align: center;
		box-sizing: border-box;
	}

	/* Occupe uniquement l’espace restant */
	.bienvenue > .intro-accueil {
		/* flex: 1 1 0;
		min-height: 0; */
		flex: 0 0 auto;
    height: auto;
    min-height: 0;

		display: flex;
		flex-direction: column;
		justify-content: center;

		width: min(850px, calc(100% - 3rem));

		margin: 1.5rem auto !important;

		/* padding: clamp(1.2rem, 3vh, 2rem); */
		 padding: 1.5rem 2rem !important;

		background-color: #ffffff;
		border-top: 2px solid #1e3a8a;
		border-left: 5px solid #b24040;
		border-right: 2px solid #1e3a8a;
		border-bottom: 2px solid #1e3a8a;
		border-radius: 0 12px 12px 0;
		box-shadow: 0 15px 40px rgba(13, 70, 149, 0.14); 

		box-sizing: border-box;
	}

	/* Marges internes plus compactes */
	.intro-accueil h2 {
		margin-top: 0;
		margin-bottom: 1rem;
		color: #0d4695;
	}

	.intro-accueil p {
		margin-top: 0;
		margin-bottom: 0;
		line-height: 1.6;
	}
}

@media (max-width: 767px) {
	:where(body, .editor-styles-wrapper) .mw-theme-class-accueil {

		.bienvenue {
			/* Le groupe peut grandir pour contenir tout le texte */
			height: auto !important;

			min-height: calc(
				100svh -
				var(--mw-css-accueil-header-mobile-min-height)
			);

			display: flex;
			flex-direction: column;
			gap: 0 !important;

			overflow: visible !important;
			box-sizing: border-box;
		}

		.bienvenue > h1 {
			flex: 0 0 auto;

			margin: 0 !important;
			padding: 1rem;

			font-size: clamp(1.7rem, 7vw, 2.2rem);
			line-height: 1.2;

			box-sizing: border-box;
		}

		.bienvenue > .intro-accueil {
			/* Empêche l’écrasement visible sur la capture */
			flex: 0 0 auto !important;
			min-height: auto !important;
			height: auto !important;

			width: calc(100% - 2rem);
			margin: 1rem auto !important;
			padding-top: 0.2rem !important;
        	padding-bottom: 0.2rem !important;

			overflow: visible !important;
			box-sizing: border-box;
		}

		.intro-accueil h2 {
			margin: 0 0 1rem !important;

			font-size: clamp(1.4rem, 6vw, 1.8rem);
			line-height: 1.25;
			text-align: center;
		}

		.intro-accueil p {
			margin: 0 0 1rem 0 !important;
			font-size: 0.95rem;
			line-height: 1.5;
		}
	}
}
	


/* **********  (FIN) PAGE ACCUEIL ********** */



/* ********** OVERLAY TEXTE SUR IMAGE DE LA PAGE D'ACCUEIL SECTION PORFOLIO ********** */
.page-id-7493 #portfolio .mw-attribut-overlay {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
/* overlay sur figure */
.page-id-7493 #portfolio .mw-attribut-overlay::after {
  content: attr(data-alt); /* utiliser un attribut custom */
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  opacity: 0;
  font-size: 1rem;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.page-id-7493 #portfolio .mw-attribut-overlay:hover::after {
  opacity: 1;
}
.page-id-7493 #portfolio a {
	border-width: 0px;
}
/* ********** (FIN) - OVERLAY TEXTE SUR IMAGE DE LA PAGE D'ACCUEIL SECTION PORFOLIO ********** */


/* Ombre blanche sur image sur fond noir de la page planning */
:where(body, .editor-styles-wrapper) .mw-theme-class-metier {
	.mw-shadow-1 {
    	box-shadow: 6px 6px 9px 0 rgba(255,255,255,0.9) !important;
	}
}


/* ********** PAGE SALON DE COIFFURE ********** */
/* Prix alignés à droite  */
.liste-tarifs {
    list-style: none;
    padding: 0;
    margin: 0;
}

.liste-tarifs li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 0;
}

.liste-tarifs .prix {
    font-weight: 700;
    white-space: nowrap;
}

/* Flouté sur l'image de fond de Timeline */
.floute {
    position: relative;
}

.floute::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(42,25,17,.88), rgba(42,25,17,.38));
    z-index: 1;
    pointer-events: none;
}

.floute > * {
    position: relative;
    z-index: 2;
}


/* ********** (FIN) PAGE SALON DE COIFFURE  ********** */


/* ********** PAGE BOUTIQUE - BOUTONS RESEAUX SOCIAUX FACEBOOK & INSTAGRAM **********/
:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-4 {

	& .zone-hero {
        position: relative;
    }

    & .hero {
        min-height: calc(100svh - 60px) !important; /* (- la hauteur du header) */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    & .contenu-bas {
        margin-top: auto;
        width: 100%;
        padding-bottom: 2rem;
    }

    & .encart-bas {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
    }

	& .facebook a, & .instagram a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		padding: 0.5rem;
		border: 1px solid var(--wp--preset--color--free-10) !important;
		text-decoration: none !important;
		overflow: hidden;
		transition:
			border-color 0.6s ease,
			box-shadow 0.6s ease,
			transform 0.6s ease;
	}
	& .facebook a:hover, & .instagram a:hover {
		border-color: var(--wp--preset--color--free-9) !important;
		/* glow doré */
		box-shadow: 0 0 12px var(--wp--preset--color--free-9);
		/* effet zoom */
		transform: scale(1.08);
	}
	& .facebook a img,
	& .instagram a img,
	& .facebook a svg,
	& .instagram a svg {
		display: block;
		position: relative;
		z-index: 1;
		transition: transform 0.6s ease;
	}
	& .facebook a:hover img,
	& .instagram a:hover img,
	& .facebook a:hover svg,
	& .instagram a:hover svg {
		transform: scale(1.05);
	}
	& .facebook a::after,
	& .instagram a::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 50px auto;
		opacity: 0;
		/* fondu plus lent */
		transition:
			opacity 0.6s ease,
			transform 0.6s ease;
		pointer-events: none;
		transform: scale(0.9);
	}
	& .facebook a:hover::after {
		background-image: url("http://localhost/projets/wp-content/uploads/2025/07/facebook.png");
		opacity: 1;
		transform: scale(1);
	}
	& .instagram a:hover::after {
		background-image: url("http://localhost/projets/wp-content/uploads/2025/07/instagram.png");
		opacity: 1;
		transform: scale(1);
	}
}

@media (max-width: 767px) {
	:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-4 {

		 & .hero {
			min-height: calc(100svh - 60px) !important; /* (- la hauteur du header) */

			display: flex;
			flex-direction: column;

			background-size: cover !important;
			background-position: center !important;
			background-repeat: no-repeat !important;

			box-sizing: border-box;
		}

		& .contenu-bas {
			margin-top: auto;
			width: 100%;
			padding-bottom: 2rem;
		}

		& .encart-bas {
			position: static;
			width: 100%;
			margin: 0;
			padding-bottom: 0;
		}

		& .encart-bas figure.wp-block-image {
        	width: 100px !important;
        	height: 100px !important;
        	min-width: 100px !important;
        	flex-basis: 100px !important;
        	margin: 0 auto;
    	}

    	& .encart-bas figure.wp-block-image img {
        	display: block;
        	width: 100px !important;
        	height: 100px !important;
        	object-fit: contain;
    	}
	

    	& .encart-bas p {
        	font-size: var(--wp--preset--font-size--medium) !important;
			padding: 0 1rem;
		}
	}
}

/* ********** (FIN) - PAGE BOUTIQUE - BOUTONS RESEAUX SOCIAUX FACEBOOK & INSTAGRAM **********/



/* ********** PAGE CABINET INFIRMIERE  **********/

:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-5 {

	.hero {
        height: calc(100svh - 60px);
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .hero .wp-block-image {
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;
        overflow: hidden;
    }

    .hero .wp-block-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hero h1,
    .hero h2,
    .hero .wp-block-buttons {
        flex-shrink: 0;
    } 

	& .contenu-bas {
        margin-top: auto;
        width: 100%;
        padding-bottom: 2rem;
    }

}

/* ********** (FIN) - PAGE PAGE CABINET INFIRMIERE **********/



/* ********** PAGE CHAMBRE D'HOTE - BOUTONS RESEAUX SOCIAUX FACEBOOK & INSTAGRAM **********/
:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-6 {

	& .zone-hero {
        position: relative;
    }

    & .hero {
        min-height: calc(100svh - 60px) !important; /* (- la hauteur du header) */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    & .contenu-bas {
        margin-top: auto;
        width: 100%;
        padding-bottom: 2rem;
    }

    & .encart-bas {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
    }

	& .facebook a, & .instagram a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		padding: 0.5rem;
		border: 1px solid var(--wp--preset--color--section-bg-2) !important;
		text-decoration: none !important;
		overflow: hidden;
		transition:
			border-color 0.6s ease,
			box-shadow 0.6s ease,
			transform 0.6s ease;
	}
	& .facebook a:hover, & .instagram a:hover {
		border-color: #B8962E !important;
		/* glow doré */
		box-shadow: 0 0 12px #B8962E;
		/* effet zoom */
		transform: scale(1.08);
	}
	& .facebook a img,
	& .instagram a img,
	& .facebook a svg,
	& .instagram a svg {
		display: block;
		position: relative;
		z-index: 1;
		transition: transform 0.6s ease;
	}
	& .facebook a:hover img,
	& .instagram a:hover img,
	& .facebook a:hover svg,
	& .instagram a:hover svg {
		transform: scale(1.05);
	}
	& .facebook a::after,
	& .instagram a::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 50px auto;
		opacity: 0;
		/* fondu plus lent */
		transition:
			opacity 0.6s ease,
			transform 0.6s ease;
		pointer-events: none;
		transform: scale(0.9);
	}
	& .facebook a:hover::after {
		background-image: url("http://localhost/projets/modelewebv2/wp-content/uploads/2025/10/facebook-color-B8962E.png");
		opacity: 1;
		transform: scale(1);
	}
	& .instagram a:hover::after {
		background-image: url("http://localhost/projets/modelewebv2/wp-content/uploads/2025/10/instagram-color-B8962E.png");
		opacity: 1;
		transform: scale(1);
	}
}

@media (max-width: 767px) {
	:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-6 {

		 & .hero {
			min-height: calc(100svh - 60px) !important; /* (- la hauteur du header) */

			display: flex;
			flex-direction: column;

			background-size: cover !important;
			background-position: center !important;
			background-repeat: no-repeat !important;

			box-sizing: border-box;
		}

		& .contenu-bas {
			margin-top: auto;
			width: 100%;
			padding-bottom: 2rem;
		}

		& .encart-bas {
			position: static;
			width: 100%;
			margin: 0;
			padding-bottom: 0;
		}
	
		& .encart-bas figure.wp-block-image {
        	width: 100px !important;
        	height: 100px !important;
        	min-width: 100px !important;
        	flex-basis: 100px !important;
        	margin: 0 auto;
    	}

    	& .encart-bas figure.wp-block-image img {
        	display: block;
        	width: 100px !important;
        	height: 100px !important;
        	object-fit: contain;
    	}
	

    	& .encart-bas p {
        	font-size: var(--wp--preset--font-size--medium) !important;
			padding: 0 1rem;
		}
	}
}

/* ********** (FIN) - PAGE CHAMBRE D'HOTE - BOUTONS RESEAUX SOCIAUX FACEBOOK & INSTAGRAM **********/



/* ********** PAGE RESTAURATION RAPIDE  **********/

:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-7 {

	& .zone-hero {
        position: relative;
    }

    & .hero {
        min-height: calc(100svh - 60px) !important; /* (- la hauteur du header) */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    & .contenu-bas {
        margin-top: auto;
        width: 100%;
        padding-bottom: 2rem;
    }

    & .encart-bas {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
    }
}

@media (max-width: 767px) {
	:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-7 {

		 & .hero {
			min-height: calc(100svh - 60px) !important; /* (- la hauteur du header) */

			display: flex;
			flex-direction: column;

			background-size: cover !important;
			background-position: center !important;
			background-repeat: no-repeat !important;

			box-sizing: border-box;
		}

		& .contenu-bas {
			margin-top: auto;
			width: 100%;
			padding-bottom: 2rem;
		}

		& .encart-bas {
			position: static;
			width: 100%;
			margin: 0;
			padding-bottom: 0;
		}
	
		& .encart-bas figure.wp-block-image {
        	width: 100px !important;
        	height: 100px !important;
        	min-width: 100px !important;
        	flex-basis: 100px !important;
        	margin: 0 auto;
    	}

    	& .encart-bas figure.wp-block-image img {
        	display: block;
        	width: 100px !important;
        	height: 100px !important;
        	object-fit: contain;
    	}
	

    	& .encart-bas p {
        	font-size: var(--wp--preset--font-size--medium) !important;
			padding: 0 1rem;
		}
	}
}

/* ********** (FIN) - PAGE RESTAURATION RAPIDE **********/



/* ********** FLOU DEGRADE SUR SECTION HERO ********** */

:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-1 {

    .hero {
        height: calc(100svh - 60px);
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .hero > .wp-block-image {
        position: relative;
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;

        /* Réserve la place nécessaire au dégradé */
        margin-bottom: clamp(60px, 8vw, 100px);

        overflow: visible;
    }

    .hero > .wp-block-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hero > .wp-block-image::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        height: clamp(60px, 8vw, 100px);

        background: linear-gradient(
            to bottom,
            #b7c747 0%,
            rgba(183, 199, 71, 0.65) 35%,
            rgba(183, 199, 71, 0.25) 70%,
            transparent 100%
        );

        pointer-events: none;
        z-index: 2;
    }

    .hero > h1,
    .hero > h2,
    .hero > .wp-block-buttons {
        position: relative;
        z-index: 3;
        flex-shrink: 0;
    }
}


:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-2 {

    .hero {
        height: calc(100svh - 60px);
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .hero > .wp-block-image {
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;
        overflow: hidden;
    }

    .hero > .wp-block-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hero > h1,
    .hero > h2,
    .hero > .wp-block-buttons {
        flex-shrink: 0;
    }
}

:where(body, .editor-styles-wrapper) .mw-theme-class-portfolio-3 {
	/* Hero */
    .hero {
        position: relative;
        /* display: grid; */
        min-height: calc(100svh - 60px) !important; /* (- la hauteur du header) */
        place-items: center;
        overflow: hidden;
        /* background:
            linear-gradient(90deg, rgba(42, 25, 27, 0.88), rgba(42, 25, 27, 0.38)),
            url("https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=1800&q=85") 
            	center / cover no-repeat; 
            color: var(--couleur-blanche);
		*/
        }

    .hero::after {
        position: absolute;
        inset: auto 0 0;
        height: 120px;
        background: linear-gradient(to top, #fafafa, transparent);
        content: "";
		pointer-events: none;
		z-index: 1;
    }

	.hero .wp-block-button {
    position: relative;
    z-index: 2;
	}

	.hero .wp-block-button__link {
		color: var(--wp--preset--color--txt-2) !important;
		background-color: transparent !important;
		border: 2px solid var(--wp--preset--color--txt-2) !important;

		transition:
			color 0.3s ease,
			background-color 0.3s ease,
			border-color 0.3s ease,
			transform 0.3s ease,
			box-shadow 0.3s ease;
	}

	.hero .wp-block-button__link:hover,
	.hero .wp-block-button__link:focus-visible {
		color: var(--wp--preset--color--txt-2) !important;
		background-color: var(--wp--preset--color--txt-1) !important;
		border: 2px solid var(--wp--preset--color--txt-2) !important;
		transform: translateY(-3px);
		box-shadow: 0 8px 18px rgba(255, 255, 255, 0.45);
	}
	.hero .wp-block-button__link:focus-visible {
		outline: 3px solid var(--wp--preset--color--txt-2);
		outline-offset: 3px;
	}

	
}	
/* ********** (FIN) FLOU DEGRADE SUR SECTION HERO ********** */



/* ********** ENCART INTRODUCTION PORTFOLIO ********** */

.mw-portfolio-intro {
	position: relative;
	max-width: 1100px;
	margin: 3rem auto;
	padding: clamp(1.8rem, 4vw, 3.5rem);
	overflow: hidden;

	background:
		linear-gradient(
		160deg,
		#ffffff 0%,
		#f8fafc 55%,
		#e8eef7 100%
	);

	border: 1px solid rgba(0, 0, 0, 0.08);
	border-left: 6px solid var(--wp--preset--color--free-1);
	border-radius: 20px;

	box-shadow:
		0 18px 45px rgba(0, 0, 0, 0.08);

	isolation: isolate;
}

/* Élément décoratif en arrière-plan */
.mw-portfolio-intro::before {
	position: absolute;
	top: -80px;
	right: -80px;

	width: 220px;
	height: 220px;

	background: var(--wp--preset--color--free-1);
	border-radius: 50%;
	opacity: 0.08;

	content: "";
	z-index: -1;
}

/* Petit label */
.mw-portfolio-intro .mw-portfolio-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;

	width: fit-content;
	margin: 0 0 1.2rem;
	padding: 0.45rem 0.9rem;

	background: var(--wp--preset--color--free-1);
	color: #fff;

	border-radius: 999px;

	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Petit point avant le texte */
.mw-portfolio-intro .mw-portfolio-badge::before {
	width: 8px;
	height: 8px;

	background: currentColor;
	border-radius: 50%;

	content: "";
}

/* Titre */
.mw-portfolio-intro .mw-portfolio-titre {
	background:
		linear-gradient(
		160deg,
		#ffffff 0%,
		#f8fafc 55%,
		#e8eef7 100%
	);
	max-width: 800px;
	margin: 0 0 1rem;

	font-size: clamp(1.7rem, 4vw, 2.7rem);
	line-height: 1.15;
	color: var(--wp--preset--color--free-2);
}

/* Description */
.mw-portfolio-intro .mw-portfolio-description {
	background:
		linear-gradient(
		160deg,
		#ffffff 0%,
		#f8fafc 55%,
		#e8eef7 100%
	);
	max-width: 850px;
	margin: 0;

	font-size: clamp(1rem, 2vw, 1.15rem);
	line-height: 1.75;
}

/* Groupe de boutons */
.mw-portfolio-intro .wp-block-buttons {
	margin-top: 1.8rem;
}

/* Bouton */
.mw-portfolio-intro .wp-block-button__link {
	padding: 0.8rem 1.5rem;

	background: var(--wp--preset--color--free-1);
	color: #fff;

	border: 2px solid var(--wp--preset--color--free-1);
	border-radius: 999px;

	font-weight: 700;
	text-decoration: none;

	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		background-color 0.25s ease;
}

/* Survol du bouton */
.mw-portfolio-intro .wp-block-button__link:hover {
	transform: translateY(-3px);

	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

/* Focus clavier */
.mw-portfolio-intro .wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--free-1);
	outline-offset: 4px;
}

/* Smartphone */
@media (max-width: 767px) {

	.mw-portfolio-intro {
		width: calc(100% - 2rem);
		margin: 2rem auto;
		padding: 1.6rem;
		border-left-width: 4px;
		border-radius: 16px;
	}

	.mw-portfolio-intro::before {
		top: -60px;
		right: -60px;

		width: 160px;
		height: 160px;
	}

	.mw-portfolio-intro .mw-portfolio-badge {
		font-size: 0.75rem;
	}

	.mw-portfolio-intro .wp-block-button,
	.mw-portfolio-intro .wp-block-button__link {
		width: 100%;
	}

	.mw-portfolio-intro .wp-block-button__link {
		text-align: center;
	}
}

/* Tablette */
@media (max-width: 1024px) {

	.mw-portfolio-intro {
		width: calc(100% - 2rem);
		margin: 2rem auto;
		padding: 1.6rem;
		border-left-width: 4px;
		border-radius: 16px;
	}

	.mw-portfolio-intro::before {
		top: -60px;
		right: -60px;

		width: 160px;
		height: 160px;
	}

	.mw-portfolio-intro .mw-portfolio-badge {
		font-size: 0.75rem;
	}

	.mw-portfolio-intro .wp-block-button,
	.mw-portfolio-intro .wp-block-button__link {
		width: 100%;
	}

	.mw-portfolio-intro .wp-block-button__link {
		text-align: center;
	}
}

/* ********** (FIN) ENCART INTRODUCTION PORTFOLIO ********** */

        

/* ********** APPEL À L'ACTION — PORTFOLIO ********** */
.mw-portfolio-cta {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr);
	align-items: center;
	gap: clamp(2rem, 3vw, 3.5rem);

	width: min(1200px, calc(100% - 3rem));
	margin: clamp(4rem, 8vw, 7rem) auto;
	padding: clamp(2rem, 5vw, 4.5rem);

	overflow: hidden;

	background:
		linear-gradient(
			135deg,
			rgba(15, 23, 42, 0.98),
			rgba(30, 41, 59, 0.96)
		);

	color: #fff;

	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 28px;

	box-shadow:
		0 30px 70px rgba(15, 23, 42, 0.22),
		0 8px 24px rgba(15, 23, 42, 0.14);

}

/* Halo décoratif */
.mw-portfolio-cta::before {
	position: absolute;
	top: -140px;
	right: -100px;

	width: 340px;
	height: 340px;

	background: rgba(178, 64, 64, 0.22);

	border-radius: 50%;
	filter: blur(10px);

	content: "";
	pointer-events: none;
}

/* Second halo */
.mw-portfolio-cta::after {
	position: absolute;
	bottom: -170px;
	left: 35%;

	width: 300px;
	height: 300px;

	background: rgba(59, 130, 246, 0.14);

	border-radius: 50%;
	filter: blur(18px);

	content: "";
	pointer-events: none;
}

/* Contenu principal */
.mw-portfolio-cta__contenu {
	position: relative;
	z-index: 2;
}

/* Badge */
.mw-portfolio-cta__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;

	width: fit-content;
	margin: 0 0 1.25rem;
	padding: 0.55rem 1rem;

	background: rgba(255, 255, 255, 0.10) !important;

	color: #fff !important;

	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;

	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;

	backdrop-filter: blur(8px);
}

/* Petit point du badge */
.mw-portfolio-cta__badge::before {
	width: 8px;
	height: 8px;

	background: var(--wp--preset--color--free-1, #b24040);

	border-radius: 50%;

	box-shadow:
		0 0 0 5px rgba(178, 64, 64, 0.18);

	content: "";
}

/* Titre */
.mw-portfolio-cta .mw-portfolio-cta__titre {
	max-width: 780px;
	margin: 0 0 1.25rem;

	background: rgba(255, 255, 255, 0.10) !important;
	color: #fff;

	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.05;
	letter-spacing: -0.035em;
}

/* Introduction */
.mw-portfolio-cta__intro {
	max-width: 760px;
	margin: 0 0 1.75rem;

	background: rgba(255, 255, 255, 0.10) !important;
	color: rgba(255, 255, 255, 0.82) !important;

	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.75;
}

/* Liste d'avantages */
.mw-portfolio-cta__liste {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 1.5rem;

	margin: 0 0 2rem;
	padding: 0;

	list-style: none;
}

.mw-portfolio-cta__liste li {
	position: relative;
	margin: 0;
	padding-left: 1.8rem;

	color: rgba(255, 255, 255, 0.9);
	line-height: 1.5;
}

/* Icône de validation */
.mw-portfolio-cta__liste li::before {
	position: absolute;
	top: 0.08rem;
	left: 0;

	display: grid;
	place-items: center;

	width: 1.2rem;
	height: 1.2rem;

	background: rgba(255, 255, 255, 0.12);
	color: #fff;

	border-radius: 50%;

	font-size: 0.72rem;
	font-weight: 800;

	content: "✓";
}

/* Zone des boutons */
.mw-portfolio-cta__boutons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

/* Bouton Gutenberg */
.mw-portfolio-cta__boutons .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 52px;
	padding: 0.9rem 1.6rem;

	background: var(--wp--preset--color--free-1, #b24040);
	color: #fff;

	border: 1px solid transparent;
	border-radius: 999px;

	font-weight: 700;
	text-decoration: none;

	box-shadow:
		0 12px 30px rgba(178, 64, 64, 0.28);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		background-color 0.25s ease;
}

.mw-portfolio-cta__boutons .wp-block-button__link:hover {
	background: #963737;
	color: #fff;

	transform: translateY(-3px);

	box-shadow:
		0 18px 36px rgba(178, 64, 64, 0.34);
}

.mw-portfolio-cta__boutons .wp-block-button__link:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 4px;
}

/* Colonne décorative */
.mw-portfolio-cta__visuel {
	width: 100%;
	padding: 1rem;
	position: relative;
	z-index: 2;

	display: grid;
	place-items: center;

	min-height: 280px;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.13),
			rgba(255, 255, 255, 0.05)
		);

	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 24px;

	backdrop-filter: blur(12px);
}

/* Image placée dans la colonne */
.mw-portfolio-cta__visuel img {
	display: block;
	width: 100%;
	max-width: 520px;
	height: auto;
	margin: 0 auto;

	filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.25));
}

/* Si tu ne mets pas d'image */
.mw-portfolio-cta__visuel:empty::before {
	color: rgba(255, 255, 255, 0.8);

	font-size: clamp(3.5rem, 8vw, 6rem);

	content: "✦";
}

/* Tablette */
@media (max-width: 900px) {

	.mw-portfolio-cta {
		grid-template-columns: 1fr;
	}

	.mw-portfolio-cta__visuel {
		min-height: 220px;
	}

}

/* Smartphone */
@media (max-width: 600px) {

	.mw-portfolio-cta {
		width: calc(100% - 2rem);
		margin: 3rem auto;
		padding: 1.6rem;

		gap: 2rem;

		border-radius: 20px;
	}

	.mw-portfolio-cta .mw-portfolio-cta__titre {
		font-size: clamp(1.8rem, 9vw, 2.4rem);
	}

	.mw-portfolio-cta__intro {
		line-height: 1.65;
	}

	.mw-portfolio-cta__liste {
		grid-template-columns: 1fr;
	}

	.mw-portfolio-cta__boutons,
	.mw-portfolio-cta__boutons .wp-block-button,
	.mw-portfolio-cta__boutons .wp-block-button__link {
		width: 100%;
	}

	.mw-portfolio-cta__visuel {
		min-height: 180px;
		border-radius: 16px;
	}

}

/* ********** (FIN) APPEL À L'ACTION — PORTFOLIO ********** */



