/*!
Theme Name: PLB MUCO
Theme URI: https://them.es/starter
Author: Moorea Studio
Author URI: https://www.agence-moorea.fr
Description: Theme wordpress PLB Muco créé par Moorea Studio sur une base Bootstrap version 5.3.8
Version: 3.6.1
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: plbmuco
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/build/main.css" */

/* From http://codex.wordpress.org/CSS */

body {
	padding-top: 210px;
	transition: padding-top 0.3s ease;
}

body.scrolled {
	padding-top: 120px;
}


/* ===== Header global ===== */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 250px;
	z-index: 1000;
	transition: height 0.3s ease;
}

body.scrolled .site-header {
	height: 120px;
}

/* ===== Logo ===== */
.logo-container {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1100;
	pointer-events: none;
}

.logo-container a {
	pointer-events: all;
}

#site-logo {
	height: 250px;
	width: auto;
	transition: height 0.3s ease;
	display: block;
}

body.scrolled #site-logo {
	height: 150px;
}

h1.entry-title {
	color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
}

/* ===== Navigation ===== */
#nested {
	position: absolute;
	top: 70px;
	left: 0;
	width: 100%;
	height: 95px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	transition: top 0.3s ease, height 0.3s ease;
}

body.scrolled #nested {
	top: 12.5px;
}

#nested .container {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

/* ===== Burger Icon ===== */
.navbar-toggler {
	border: none;
	background: transparent;
	padding: 0;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3000;
	cursor: pointer;
	width: 30px;
	height: 25px;
}

.navbar-toggler:focus {
	outline: 2px solid #993e93;
	outline-offset: 4px;
}

.navbar-toggler-icon {
	display: block;
	width: 30px;
	height: 3px;
	background-color: #000;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
	content: '';
	display: block;
	width: 30px;
	height: 3px;
	background-color: #000;
	position: absolute;
	left: 0;
	transition: all 0.3s ease;
}

.navbar-toggler-icon::before {
	top: -10px;
}

.navbar-toggler-icon::after {
	top: 10px;
}

/* Animation burger en X */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	background-color: transparent;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
	top: 0;
	transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
	top: 0;
	transform: rotate(-45deg);
}

* ==========================================
   HERO SECTION - FULLPAGE
   ========================================== */
/* Annuler le padding-top du body sur la page d'accueil UNIQUEMENT */
body.home,
body.page-template-front-page,
body.homepage-hero {
	padding-top: 0 !important;
}
body.homepage-hero #main.container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	margin-top: 0 !important;
}
/* Hero VRAIMENT plein écran - bloc normal dans le flux */
#hero-section.hero-fullpage {
	position: relative;
	height: 100vh;
	width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
	margin-right: calc(-50vw + 50%) !important;
	margin-top: 0 !important;
	padding: 0 !important;
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	overflow: hidden;
	display: block;
}
/* Alternative : si le hero est directement dans .container */
.container > #hero-section.hero-fullpage {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
}

/* Vidéo YouTube plein écran */
.hero-video {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   overflow: hidden;
}

.hero-video iframe {
   position: absolute;
   top: 50%;
   left: 50%;
   width: 100vw;
   height: 56.25vw;
   min-height: 100vh;
   min-width: 177.77vh;
   transform: translate(-50%, -50%);
   pointer-events: none;
}

.hero-overlay {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.3);
   z-index: 1;
}

/* Diaporama plein écran */
.hero-slideshow {
   position: relative;
   width: 100%;
   height: 100%;
}

.hero-slideshow .slide {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   opacity: 0;
   transition: opacity 1s ease-in-out;
   z-index: 0;
}

.hero-slideshow .slide.active {
   opacity: 1;
   z-index: 1;
}

/* Navigation slideshow */
.slideshow-nav {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 10;
   pointer-events: none;
}

.slideshow-nav button {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   background: rgba(255, 255, 255, 0.8);
   border: none;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   cursor: pointer;
   transition: background 0.3s ease;
   font-size: 2rem;
   line-height: 1;
   color: #333;
   pointer-events: all;
}

.slideshow-nav button:hover {
   background: rgba(255, 255, 255, 1);
}

.slideshow-nav .prev {
   left: 30px;
}

.slideshow-nav .next {
   right: 30px;
}

.slideshow-indicators {
   position: absolute;
   bottom: 30px;
   left: 50%;
   transform: translateX(-50%);
   display: flex;
   gap: 10px;
   z-index: 10;
   pointer-events: all;
}

.slideshow-indicators .indicator {
   width: 12px;
   height: 12px;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.5);
   border: 2px solid rgba(255, 255, 255, 0.8);
   cursor: pointer;
   transition: all 0.3s ease;
}

.slideshow-indicators .indicator.active {
   background: rgba(255, 255, 255, 1);
   width: 40px;
   border-radius: 6px;
}

/* Header transparent par-dessus le hero en desktop */
body.homepage-hero .site-header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 2000;
   background: transparent;
   box-shadow: none;
   transition: background 0.3s ease, box-shadow 0.3s ease;
}


/* ==========================================
   SECTION DATES ÉVÈNEMENTS
   ========================================== */
#dates-section {
  position: relative;
  z-index: 100;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Grille principale */
.dates-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   width: 100%;
}

/* Carte générique */
.date-card {
   display: flex;
   flex-direction: column;
   height: 100%; /* prend toute la hauteur de la cellule du grid */
   justify-content: flex-start;
   color: #fff;
   padding: 40px;
   box-sizing: border-box;
}

/* Dégradés */
.gradient-1 {
   background: linear-gradient(135deg, #af407f, #6f3467);
}

.gradient-2 {
   background: linear-gradient(135deg, #5c9e29, #467720);
}

.gradient-3 {
   background: linear-gradient(135deg, #f9d549, #e53124);
}

/* Image */
.date-media {
   width: 100%;
   margin-bottom: 20px;
}

.date-media img {
   width: 40%;
   margin:0 auto;
   height: auto;
   display: block;
}

/* Contenu texte */
.date-content h3 {
   font-size: 1.4rem;
   margin-bottom: 10px;
}
.date-content .date,
.date-content .lieu {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-size: 1.4rem;
}

.date-content .icon {
	width: 22px;
	height: 22px;
	color: #fff!important;
	flex-shrink: 0;
}
.date-content .icon path {
	fill: #fff !important;
}
/* Rendre le lien invisible mais cliquable */
.date-card {
	position: relative;
	overflow: hidden;
}

/* liseré invisible par défaut */
.date-card::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 5px;
	background: linear-gradient(
		135deg,
		rgba(255,255,255,0.8),
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.8)
	);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
			mask-composite: exclude;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

/* activation AU SURVOL  */
.date-card:has(.date-content:hover)::before {
	opacity: 1;
}

/* ==========================================
   SECTION INTRODUCTION
   ========================================== */

/* Section intro APRÈS le hero - dans le flux normal */
#intro-section.intro-content {
   position: relative;
   z-index: 100;
   background: #f4f4f4;
   padding: 40px 0;
   display: block;
}

.intro-text {
	margin: 30px auto;
	font-size: 1.1rem;
	line-height: 1.8;
	color: #333;
}

.intro-text h2 {
	font-size: 2.5rem;
	margin-bottom: 30px;
	color: #993e93;
}

.intro-text p {
	margin-bottom: 20px;
}

/* ==========================================
   SECTION ARTICLES RÉCENTS
   ========================================== */

/* Articles après l'intro - dans le flux normal */
#posts-section.recent-posts {
  position: relative;
  z-index: 100;
  background: #fff;
  padding: 80px 0;
  display: block;
}

.recent-posts {
	padding: 80px 0;
	background: #fff;
}

.section-title {
	text-align: center;
	font-size: 2.5rem;
	margin-bottom: 50px;
	color: #993e93;
	position: relative;
	padding-bottom: 20px;
}

.section-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background: #993e93;
	border-radius: 2px;
}

/* Grid des articles */
.posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	gap: 30px;
}

/* Carte d'article */
.post-card {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.post-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.post-thumbnail {
	position: relative;
	overflow: hidden;
	height: auto;
}

.post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.post-card:hover .post-thumbnail img {
	transform: scale(1.05);
}

.post-content {
	padding: 25px;
}

.post-title {
	margin: 0 0 15px 0;
	font-size: 1.4rem;
	line-height: 1.4;
}

.post-title a {
	color: #333;
	text-decoration: none;
	transition: color 0.3s ease;
}

.post-title a:hover {
	color: #993e93;
}

.post-meta {
	display: flex;
	gap: 15px;
	margin-bottom: 15px;
	font-size: 0.9rem;
	color: #666;
}

.post-category {
	color: #993e93;
	font-weight: 600;
}

.post-excerpt {
	color: #555;
	line-height: 1.6;
	margin-bottom: 20px;
}

.read-more {
	display: inline-block;
	color: #993e93;
	font-weight: 600;
	text-decoration: none;
	transition: padding-left 0.3s ease;
}

.read-more:hover {
	padding-left: 10px;
}


#footer-partenaires {
	background: #FFF;
	padding: 30px 20px;
	color: #000;
}

.footer-partenaires-inner {
	max-width: 1200px;
	margin: 0 auto;
}

h3.footer-partenaires-title {
	text-align: center;
	font-size: 2.5rem;
	margin-bottom: 20px;
	margin-top: 30px;
	color: #993e93;
	position: relative;
	padding-bottom: 20px;
}
h3.footer-partenaires-title:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background: #993e93;
	border-radius: 2px;
}

.footer-partenaires-group {
	margin-bottom: 50px;
	text-align: center;
}

.footer-partenaires-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 30px;
	align-items: center;
	justify-items: center;
}

.footer-partenaire img {
	max-width: 140px;
	max-height: 80px;
	object-fit: contain;
	transition: transform 0.3s ease, opacity 0.3s ease;
	filter: grayscale(100%);
	opacity: 0.85;
}

.footer-partenaire a:hover img {
	transform: scale(1.08);
	filter: grayscale(0%);
	opacity: 1;
}

/* Style du footer */
footer#footer {
	background-color: #993e93; /* violet */
	color: #fff; /* texte blanc */
	padding: 30px 0; /* espace interne */
}

/* Si tu veux centrer le contenu */
footer#footer .container {
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}
footer#footer .container a{
	color:#fff;
}
footer#footer .container a:hover{
	color:#fff;
	text-decoration:underline;
}


/* ==========================================================
   TABLEAUX GUTENBERG – STYLE STRIPES PERSONNALISÉ
   Alternance blanc / gris + hover violet + responsive
   ========================================================== */

/* -----------------------------
   Alternance des lignes (blanc / gris)
   ----------------------------- */
/* Alternance des lignes blanc / gris */
   .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td,
   .wp-block-table.is-style-stripes tbody tr:nth-child(odd) th {
	   background-color: #f4f4f4 !important;
   }
   
   .wp-block-table.is-style-stripes tbody tr:nth-child(even) td,
   .wp-block-table.is-style-stripes tbody tr:nth-child(even) th {
	   background-color: #ffffff !important;
   }
   
   /* Hover doux */
   .wp-block-table.is-style-stripes tbody tr:hover td,
   .wp-block-table.is-style-stripes tbody tr:hover th {
	   background-color: rgba(153, 62, 147, 0.08) !important;
   }
   
   /* Supprime l’impact des couleurs subtiles Gutenberg */
   .wp-block-table.is-style-stripes[class*="has-subtle-"] tbody tr td,
   .wp-block-table.is-style-stripes[class*="has-subtle-"] tbody tr th {
	   background-color: inherit !important;
   }


/* ==========================================================
   GALERIE WORDPRESS FLEX + LIGHTBOX – STYLE MODERNE
   ========================================================== */
  /* Conteneur galerie */
  .wp-block-gallery.is-layout-flex {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 16px; /* espace entre vignettes */
	  justify-content: center;
	  margin: 2rem 0;
  }
   
   /* Chaque image avec lien */
   .wp-block-gallery.is-layout-flex > .wp-block-image {
	   flex: 1 1 200px; /* largeur minimale */
	   max-width: 250px; /* largeur max de la vignette */
	   overflow: hidden;
	   border-radius: 12px;
   }
   
   /* Image à l'intérieur du lien */
   .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image a,
   .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img,
   .wp-block-gallery.is-layout-flex > .wp-block-image a img {
	   width: 100%!important;
	   height: 200px!important;      /* hauteur fixe pour les vignettes */
	   object-fit: cover;  /* crop automatique pour remplir */
	   display: block;
	   border-radius: 12px;
	   transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   /* Hover sur la vignette */
   .wp-block-gallery.is-layout-flex > .wp-block-image a:hover img {
	   transform: scale(1.05);
	   box-shadow: 0 8px 24px rgba(0,0,0,0.15);
   }
   
   /* Caption centré */
   .wp-block-gallery.is-layout-flex > .wp-block-image figcaption {
	   text-align: center;
	   margin-top: 0.5rem;
	   font-size: 0.85rem;
	   color: #555;
   }
/* ============================
  SIDEBAR – GLOBAL
============================ */
   
   #sidebar {
	   margin-bottom: 2rem;
   }
   
   /* Espaces internes */
   #sidebar .sidebar-nav {
	   padding: 1.5rem;
	   background: #ffffff;
	   border-radius: 16px;
	   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	   margin-bottom: 2rem;
   }
   
/* ============================
  TITRES
============================ */
   
   #sidebar h3 {
	   font-size: 1.1rem;
	   font-weight: 700;
	   margin-bottom: 1rem;
	   color: #993e93;
	   position: relative;
	   padding-bottom: 0.5rem;
   }
   
   #sidebar h3::after {
	   content: "";
	   position: absolute;
	   left: 0;
	   bottom: 0;
	   width: 40px;
	   height: 3px;
	   background: #993e93;
	   border-radius: 4px;
   }
   
   #sidebar h4 {
	   font-size: 0.95rem;
	   font-weight: 600;
	   margin: 0.4rem 0;
	   line-height: 1.4;
   }
   
/* ============================
  LISTES GÉNÉRALES
============================ */
   
   #sidebar ul {
	   list-style: none;
	   padding: 0;
	   margin: 0;
   }
   
   #sidebar li {
	   margin-bottom: 0.6rem;
   }
   
/* ============================
  ACTUALITÉS RÉCENTES
============================ */
   
   .recentposts li {
	   padding: 0.5rem 0;
	   border-bottom: 1px solid #eee;
   }
   
   .recentposts li:last-child {
	   border-bottom: none;
   }
   
   .recentposts a {
	   color: #333;
	   text-decoration: none;
	   transition: color 0.25s ease;
   }
   
   .recentposts a:hover {
	   color: #993e93;
   }
   
   /* Lien mois */
   .recentposts > li > a {
	   font-size: 0.8rem;
	   font-weight: 600;
	   text-transform: uppercase;
	   color: #888;
	   display: inline-block;
	   margin-bottom: 0.25rem;
   }
   
   /* ============================
	  CATÉGORIES
   ============================ */
   
   .categories li a {
	   display: inline-flex;
	   align-items: center;
	   padding: 0.4rem 0.75rem;
	   background: #f6f6f6;
	   border-radius: 999px;
	   font-size: 0.85rem;
	   color: #333;
	   text-decoration: none;
	   transition: all 0.25s ease;
   }
   
   .categories li a:hover {
	   background: #993e93;
	   color: #fff;
   }
   
   /* ============================
	  BOUTONS
   ============================ */
   
   #sidebar .btn {
	   margin-top: 1rem;
	   border-radius: 999px;
	   font-size: 0.85rem;
	   padding: 0.45rem 1.1rem;
   }
   
   /* ============================
	  LIEN ÉDITION (ADMIN)
   ============================ */
   
   #sidebar .edit-link {
	   display: block;
	   margin-top: 1rem;
	   text-align: right;
   }
   
   #sidebar .edit-link a {
	   font-size: 0.75rem;
	   opacity: 0.7;
	   transition: opacity 0.2s ease;
   }
   
   #sidebar .edit-link a:hover {
	   opacity: 1;
   }
   
   /* ============================
	  RESPONSIVE
   ============================ */
   
   @media (max-width: 767px) {
	   #sidebar {
		   margin-top: 2rem;
	   }
   }

/* -----------------------------
	  Contact Form 7 - Modern Styling
   ----------------------------- */
   .wpcf7-form {
	   max-width: 60%;           /* 60% sur desktop */
	   margin: 0 auto;           /* centré */
	   padding: 30px;
	   background-color: #f9f9f9;
	   border-radius: 12px;
	   box-shadow: 0 4px 12px rgba(0,0,0,0.05);
	   font-family: 'Helvetica', Arial, sans-serif;
   }
   
   .wpcf7-form p {
	   margin-bottom: 20px;
   }
   
   .wpcf7-form label {
	   display: block;
	   font-weight: 600;
	   margin-bottom: 8px;
	   color: #333;
   }
   
   .wpcf7-form input.wpcf7-text,
   .wpcf7-form input.wpcf7-email,
   .wpcf7-form textarea.wpcf7-textarea {
	   width: 100%;
	   padding: 12px 15px;
	   border: 1px solid #ddd;
	   border-radius: 8px;
	   font-size: 1rem;
	   transition: all 0.3s ease;
	   box-sizing: border-box;
   }
   
   .wpcf7-form input.wpcf7-text:focus,
   .wpcf7-form input.wpcf7-email:focus,
   .wpcf7-form textarea.wpcf7-textarea:focus {
	   border-color: #993e93;
	   box-shadow: 0 0 8px rgba(153, 62, 147, 0.2);
	   outline: none;
   }
   
   .wpcf7-form input.wpcf7-submit {
	   background-color: #993e93;
	   color: #fff;
	   font-weight: 700;
	   padding: 12px 25px;
	   border: none;
	   border-radius: 8px;
	   cursor: pointer;
	   font-size: 1rem;
	   transition: background-color 0.3s ease, transform 0.2s ease;
   }
   
   .wpcf7-form input.wpcf7-submit:hover {
	   background-color: #7a2d7a;
	   transform: translateY(-2px);
   }
   
   /* Message de retour (success / erreur) */
   .wpcf7-response-output {
	   margin-top: 15px;
	   font-weight: 600;
	   padding: 10px;
	   border-radius: 8px;
   }
   
   /* -----------------------------
	  Responsive
   ----------------------------- */
   @media (max-width: 992px) {  /* tablette et mobile */
	   .wpcf7-form {
		   max-width: 100%;
		   padding: 20px;
	   }
   }
   
/* ==========================================
   RESPONSIVE
   ========================================== */

/* Desktop uniquement */
   @media (min-width: 992px) {
	 .wp-block-table {
	   max-width: 60%;
	   margin: 0 auto!important;
	 }
   }

/* ===== Menu Desktop ===== */
@media (min-width: 1400px) {
	body.home,
	body.page-template-front-page,
	body.homepage-hero {
		padding-top: 0 !important;
	}
	/* Cacher le burger en desktop */
	.navbar-toggler {
		display: none;
	}

	#navbar {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		position: relative;
	}

	/* Grid layout pour répartition parfaite */
	.navbar-nav {
		display: grid;
		grid-template-columns: repeat(6, auto);
		gap: 0;
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
		align-items: center;
	}

	/* 4 items à gauche */
	.navbar-nav li:nth-child(1),
	.navbar-nav li:nth-child(2),
	.navbar-nav li:nth-child(3),
	.navbar-nav li:nth-child(4) {
		justify-self: start;
	}

	/* Espace pour le logo après le 4ème item */
	.navbar-nav > li:nth-child(4) {
		margin-right: 120px;
	}
	
	/* 2 items à droite */
	.navbar-nav > li:nth-child(5),
	.navbar-nav > li:nth-child(6) {
		justify-self: end;
	}
	
	/* Espace avant le 5ème item */
	.navbar-nav > li:nth-child(5) {
		margin-left: 140px;
	}

	.navbar-nav .nav-link {
		height: 95px;
		display: flex;
		align-items: center;
		padding: 0 25px !important;
		color: #000;
		text-decoration: none;
		transition: background-color 0.3s ease, color 0.3s ease;
		white-space: nowrap;
	}

	.navbar-nav .nav-link:hover {
		background-color: #993e93;
		color: #fff;
	}
	.navbar-nav .dropdown-menu .nav-link:hover {
		background-color: #993e93;
		color: #fff !important;
	}

	.navbar-nav .current-menu-item > .nav-link,
	.navbar-nav .current-menu-ancestor > .nav-link {
		background-color: #993e93;
		color: #fff!important;
	}
	.navbar-nav .dropdown-menu .current-menu-item > .nav-link {
		background-color: #993e93;
		color: #fff !important;
	}
	/* 1. Le UL dropdown */
	.dropdown-menu {
		width: 100% !important; /* ou min-width selon le cas */
	}
	
	/* 2. Les LI dans le dropdown */
	.dropdown-menu li {
		width: 100% !important;
		display: block !important;
	}
	
	/* 3. Les liens dans le dropdown */
	.dropdown-menu .dropdown-item {
		width: 100% !important;
		display: block !important;
	}
	.navbar-expand-md .navbar-nav .dropdown-menu {
		position: absolute!important;
	}
	.search-form {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-left: 20px;
		flex-shrink: 0;
	}

	.search-form input {
		width: 200px;
	}
}

/* ===== Responsive Tablette & Mobile ===== */
@media (max-width: 1400px) {
	body.home,
	body.page-template-front-page,
	body.homepage-hero {
		padding-top: 0 !important;
	}
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 250px;
		z-index: 1000;
		transition: height 0.3s ease;
	}
	
	body.scrolled .site-header {
		height: 120px;
	}
	
	/* ===== Logo ===== */
	.logo-container {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 1100;
		pointer-events: none;
	}
	
	.logo-container a {
		pointer-events: all;
	}
	
	#site-logo {
		height: 250px;
		width: auto;
		transition: height 0.3s ease;
		display: block;
	}
	
	body.scrolled #site-logo {
		height: 150px;
	}
	#nested {
		position: absolute;
		top: 70px;
		left: 0;
		width: 100%;
		height: 95px;
		background: #fff;
		box-shadow: 0 2px 10px rgba(0,0,0,0.1);
		transition: top 0.3s ease, height 0.3s ease;
	}
	
	body.scrolled #nested {
		top: 12.5px;
	}

	/* Burger visible */
	.navbar-toggler {
		display: block!important;
	}

	/* Menu overlay plein écran */
	#navbar {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100vh !important;
		background: rgba(255, 255, 255, 0.98);
		backdrop-filter: blur(10px);
		z-index: 2500;
		padding: 140px 30px 40px !important;
		overflow-y: auto;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.4s ease, visibility 0.4s ease;
	}

	#navbar.show {
		opacity: 1 !important;
		visibility: visible !important;
	}

	#navbar.collapsing {
		opacity: 0.5;
		visibility: visible;
	}

	/* Menu vertical 100% largeur */
	.navbar-nav {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
		grid-template-columns: none !important;
		gap: 0 !important;
	}

	.navbar-nav li {
		width: 100% !important;
		margin: 0 !important;
		opacity: 0;
		transform: translateY(-20px);
		transition: opacity 0.3s ease, transform 0.3s ease;
		justify-self: unset !important;
	}

	#navbar.show .navbar-nav li {
		opacity: 1;
		transform: translateY(0);
	}

	#navbar.show .navbar-nav li:nth-child(1) { transition-delay: 0.1s; }
	#navbar.show .navbar-nav li:nth-child(2) { transition-delay: 0.15s; }
	#navbar.show .navbar-nav li:nth-child(3) { transition-delay: 0.2s; }
	#navbar.show .navbar-nav li:nth-child(4) { transition-delay: 0.25s; }
	#navbar.show .navbar-nav li:nth-child(5) { transition-delay: 0.3s; }
	#navbar.show .navbar-nav li:nth-child(6) { transition-delay: 0.35s; }

	.navbar-nav .nav-link {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		padding: 18px 20px !important;
		color: #000 !important;
		text-decoration: none;
		font-size: 1.2rem;
		border-bottom: 1px solid rgba(0,0,0,0.1);
		transition: background-color 0.3s ease, color 0.3s ease, padding-left 0.3s ease;
	}

	.navbar-nav .nav-link:hover {
		background-color: #993e93 !important;
		color: #fff !important;
		padding-left: 30px !important;
	}

	.navbar-nav .current-menu-item > .nav-link,
	.navbar-nav .current-menu-ancestor > .nav-link {
		background-color: #993e93 !important;
		color: #fff !important;
	}
	

	/* Recherche 100% largeur */
	.search-form {
		width: 100% !important;
		margin: 30px 0 0 0 !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
		opacity: 0;
		transform: translateY(-20px);
		transition: opacity 0.3s ease, transform 0.3s ease;
	}

	#navbar.show .search-form {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0.4s;
	}

	.search-form input {
		width: 100% !important;
		margin: 0 !important;
	}

	.search-form button {
		width: 100% !important;
	}
	
}

@media (max-width: 992px) {
	
	/* PAS de padding pour le header fixe en tablette */
	body.home,
	body.page-template-front-page,
	body.homepage-hero {
		padding-top: 0 !important;
	}
	
	/* Hero pleine hauteur en tablette aussi */
	#hero-section.hero-fullpage {
		height: 100vh;
		margin-top: 0 !important;
	}
	
	/* Header fixe transparent puis opaque au scroll */
	body.homepage-hero .site-header {
		background: transparent !important;
		box-shadow: none !important;
	}
	
	.slideshow-nav button {
		width: 40px;
		height: 40px;
		font-size: 1.5rem;
	}
	
	.slideshow-nav .prev {
		left: 15px;
	}
	
	.slideshow-nav .next {
		right: 15px;
	}
	#intro-section .container,
	#posts-section .container {
		padding: 0 20px;
	}
	.date-card {
		padding: 30px;
	}
}

@media (max-width: 768px) {
	/* Hero légèrement plus petit sur mobile */
	#hero-section.hero-fullpage {
		height: 100vh;
		margin-top: 0 !important;
	}
	
	#intro-section.intro-content {
		padding: 50px 0;
	}
	
	#posts-section.recent-posts {
		padding: 50px 0;
	}
	
	.slideshow-nav button {
		width: 35px;
		height: 35px;
		font-size: 1.3rem;
	}
	
	.slideshow-nav .prev {
		left: 10px;
	}
	
	.slideshow-nav .next {
		right: 10px;
	}
	
	.dates-grid {
		grid-template-columns: 1fr!important; /* 1 bloc par ligne */
	}
	
	.date-block {
		padding: 30px 20px;
	}
	
	.intro-text {
		font-size: 1rem;
	}
	
	.intro-text h2 {
		font-size: 2rem;
	}
	
	.section-title {
		font-size: 2rem;
	}
	
	.posts-grid {
		grid-template-columns: 1fr;
	}
	
	.post-thumbnail {
		height: 200px;
	}
	.date-card {
		padding: 25px 20px;
	}
	
	.date-content h3 {
		font-size: 1.4rem;
	}
	.wp-block-gallery.is-layout-flex > .wp-block-image {
		flex: 1 1 100%;
		max-width: 100%;
	}
	
	.wp-block-gallery.is-layout-flex > .wp-block-image a img {
		height: 180px;
	}
}

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}
.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}
