
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	color-scheme: dark;
}

body {
	margin: 0;
	padding-block: 0rem;
	font-family: system-ui;
	font-size: 1.125rem;
	line-height: 1.6;
	min-block-size: 100dvh;
	/*display: grid;
	place-items: center;*/
}

.content-wrapper{ /* Style pour le nouveau conteneur */
    display: grid;
    place-items: center;
    min-height: calc(100vh - 6rem - 308px); /* Ajustez 78px selon la hauteur de votre navbar */
}

.link {
	color: blue;
	text-decoration: none;
}

img {
	max-width: 100%;
	display: block;
}

h1 { margin-block-end: 0; }
h1+a { 
    margin-block-end: 1.5rem;
    text-decoration: none;
}

.main-title {
    text-align: center;
    font-family: 'Playfair Display', serif; /* Police élégante */
    font-size: 1.em; /* Un peu plus grand pour un meilleur effet */
    font-weight: 700; /* Poids de la police (gras) */
    text-transform: none; /* On retire les majuscules pour plus d'élégance */
    color: #d3d3d3;  /* Couleur gris clair */
    margin-bottom: 2rem;
    
    /* Application de l'animation */
    animation: fadeInBreathe 5s ease-in-out infinite;
}

.bottom_title {
	font-family: 'Playfair Display', serif;
	text-align: center;
	font-size: 1.75em;
}

.section {
	margin-bottom: 30px;
}

p > a {
    text-decoration: none;
	color: white;
}

.text-justify {
	text-align: justify;
}

ol > li {
   	color : white;
	text-decoration-color: white;
}
.wrapper {
	max-width: 50rem;
	margin: auto;
	padding-inline: 1rem;
}

.accordion {
	
	--_button-size: 3rem;
	--_panel-padding: 0.75rem;
	--_panel-gap: 1rem;

	display: flex;
	flex-direction: column;
	gap: 1rem;

	contain: content;
	/* added padding to prevent issue with outlines */
	padding: 0.5rem;

}

.highlight {
	font-weight: bold;
}

.service {
	margin-bottom: 30px;
	border: 1px solid #ddd;
	padding: 15px;
	border-radius: 5px;
}

@media (min-width: 45em) {
	.accordion {
		flex-direction: row;
		height: 30rem;
	}
}

.accordion * {
	margin: 0;
}

.accordion-panel {
	position: relative;
	isolation: isolate;
	flex-basis: calc((var(--_panel-padding) * 2) + var(--_button-size));
	overflow: hidden;
	padding: var(--_panel-padding);
	padding-right: calc(var(--_panel-padding) * 4);
	border-radius: calc(((var(--_panel-padding) * 2) + var(--_button-size)) / 2);
}

@media (prefers-reduced-motion: no-preference) {
	.accordion-panel {
		transition: flex-basis 500ms, flex-grow 500ms;
	}
}

.accordion-panel:nth-of-type(1) {
	--_panel-color: hsl(160, 70%, 50%);
}
.accordion-panel:nth-of-type(2) {
	--_panel-color: hsl(184, 70%, 50%);
}
.accordion-panel:nth-of-type(3) {
	--_panel-color: hsl(220, 70%, 50%);
}
.accordion-panel:nth-of-type(4) {
	--_panel-color: hsl(350, 70%, 50%);
}
.accordion-panel:nth-of-type(5) {
	--_panel-color: hsl(20, 70%, 50%);
}

.accordion-panel:has([aria-expanded="true"]) {
	flex-basis: clamp(15rem, 40vh, 20rem);
	flex-grow: 1;
}

.accordion-trigger {
	outline: 0;
}

.accordion-panel:focus-within {
	outline: 3px solid var(--_panel-color);
	outline-offset: 4px;
}

.accordion-content > p {
	transform: translateY(2rem);
	opacity: 0;

	margin-left: calc(var(--_button-size) + var(--_panel-gap));
}

@media (prefers-reduced-motion: no-preference) {
	.accordion-panel:has([aria-expanded="true"]) p {
		transition: transform 500ms 500ms, opacity 500ms 500ms;
	}
}

.accordion-panel:has([aria-expanded="true"]) p {
	transform: translateY(0);
	opacity: 1;
}

.accordion-title {
	font-size: 1.5rem;
	font-weight: 700;

	position: relative;
	isolation: isolate;

	display: grid;
	align-items: center;
}

@media (max-width: 44.999em) {
	.accordion-title::after {
		content: "";
		position: absolute;
		left: calc((var(--_panel-gap) + var(--_button-size)) * -1);
		width: calc(100% + (var(--_button-size) * 2));
		height: var(--_button-size);
		background: hsl(0 0% 0% / 0.5);
		z-index: -1;
		border-radius: 100vw;
	}
}

.accordion-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;

	transition: filter 500ms;
}

.accordion-panel:has([aria-expanded="true"]) .accordion-image {
	filter: brightness(0.5);
}

.accordion-trigger {
	display: flex;
	align-items: center;
	gap: var(--_panel-gap);
	flex-direction: row-reverse;
	background: transparent;
	border: 0;
	padding: 0;
}

.accordion-icon {
	fill: var(--_panel-color);
	background: hsl(0 0% 0% / 0.25);
	width: var(--_button-size);
	aspect-ratio: 1 / 1;
	padding: 0.75rem;
	border-radius: 50%;
	z-index: 10;
}

/* Styles pour la galerie de photos */
.gallery-section h2 {
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    color: #cccccc;
    margin-top: 3rem;
    margin-bottom: 2rem;
    text-transform: none;
}

.photo-gallery {
    display: flex;
    flex-wrap: wrap; /* Permet aux images de passer à la ligne sur petits écrans */
    justify-content: center; /* Centre les images */
    gap: 1rem; /* Espace entre les images */
    margin-bottom: 3rem;
}

.photo-gallery a {
    display: block;
    width: 18%; /* Environ 5 images par ligne (100 / 5 = 20, moins le gap) */
    min-width: 150px; /* Taille minimale sur petits écrans */
    border: 2px solid #555;
    border-radius: 5px;
    overflow: hidden;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.photo-gallery a:hover {
    transform: scale(1.05);
    box-shadow: 0 0 15px rgba(240, 173, 78, 0.6); /* Ombre jaune au survol */
}

.photo-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Assure que l'image remplit l'espace sans se déformer */
    display: block;
}

/* Animation pour le titre principal */
@keyframes fadeInBreathe {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}