/*
	Feuille de style de la page d'accueil (page = "accueil").
	Repart d'une feuille blanche : ni Bootstrap ni le theme ZenBlog ne sont charges
	sur cette page (voir le conditionnel ajoute dans liste_site_header.php) - ce fichier
	est la SEULE feuille de style de la page. Les autres pages du site ne chargent pas
	ce fichier et continuent d'utiliser Bootstrap + le theme ZenBlog sans changement.

	Deux fichiers restent partages entre toutes les pages et ne peuvent pas etre
	modifies ici (menu.php pour la navigation, liste_site_footer.php pour le pied de
	page) : leur HTML utilise encore quelques classes utilitaires historiques
	(d-flex, container, row, col-lg-4, img-fluid...). La section "Shim" ci-dessous
	reimplemente uniquement ces quelques classes, en propre, pour que ces deux blocs
	partages restent correctement mis en page sans dependre de Bootstrap.
*/

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

:root{
	--ddp-green:#2A3D1F;
	--ddp-green-dark:#1F2E16;
	--ddp-terracotta:#B34C1C;
	--ddp-terracotta-dark:#8F3C15;
	--ddp-cream:#F7F4EF;
	--ddp-cream-soft:#F5F1EA;
	--ddp-beige:#EEE8E0;
	--ddp-ink:#23231D;
	--ddp-khaki:#8C8570;
	--ddp-line:#E4DFD3;
	--ddp-font-title: 'Zilla Slab', Georgia, serif;
	--ddp-font-text: 'Nunito', -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

html{ scroll-behavior: smooth; }
body{
	margin: 0;
	background: var(--ddp-cream);
	color: var(--ddp-ink);
	font-family: var(--ddp-font-text);
	font-size: 16px;
	line-height: 1.6;
}
h1, h2, h3, h4, h5{
	font-family: var(--ddp-font-title);
	color: var(--ddp-ink);
	margin: 0 0 .5em;
	line-height: 1.2;
}
p{ margin: 0 0 1em; }
a{ color: inherit; }
img{ max-width: 100%; display: block; }
ul{ margin: 0; padding: 0; }

/*--------------------------------------------------------------
# Shim : classes utilitaires encore utilisees par menu.php et
# liste_site_footer.php (fichiers partages, non modifiables ici)
--------------------------------------------------------------*/
.container{ max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.d-flex{ display: flex; }
.align-items-center{ align-items: center; }
.justify-content-center{ justify-content: center; }
.justify-content-between{ justify-content: space-between; }
.text-center{ text-align: center; }
.text-md-start{ text-align: left; }
.text-md-end{ text-align: right; }
.position-relative{ position: relative; }
.list-unstyled{ list-style: none; margin: 0; padding: 0; }
.img-fluid{ max-width: 100%; height: auto; display: block; }
.mx-1{ margin-left: .25rem; margin-right: .25rem; }
.mx-2{ margin-left: .5rem; margin-right: .5rem; }
.me-3{ margin-right: 1rem; }
.mb-3{ margin-bottom: 1rem; }
.mb-md-0{ margin-bottom: 0; }
.mb-lg-0{ margin-bottom: 0; }

.row{ display: flex; flex-wrap: wrap; gap: 32px; }
.row.g-5{ gap: 40px; }
.row > [class*="col-"]{ min-width: 0; }
.col-6{ flex: 1 1 calc(50% - 16px); max-width: calc(50% - 16px); }
.col-lg-2{ flex: 1 1 180px; max-width: 220px; }
.col-lg-4{ flex: 1 1 280px; }
.col-lg-6{ flex: 1 1 380px; }
.col-lg-12{ flex: 1 1 100%; max-width: 100%; }
.col-md-6{ flex: 1 1 calc(50% - 16px); }
@media (max-width: 860px){
	.col-6, .col-lg-2, .col-lg-4, .col-lg-6, .col-md-6{ flex: 1 1 100%; max-width: 100%; }
}

.btn{
	display: inline-block;
	border: none;
	background: none;
	cursor: pointer;
	font-family: inherit;
}

/*--------------------------------------------------------------
# Header / navigation (markup fourni par menu.php, partage)
--------------------------------------------------------------*/
.ddp-header{
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 997;
	background: var(--ddp-cream);
	border-bottom: 1px solid var(--ddp-line);
}
.ddp-header-inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 14px;
	padding-bottom: 14px;
}
.ddp-header .logo img{ max-height: 44px; }
.ddp-header .logo h1{ display: none; }

#navbar{
	flex: 1;
	display: flex;
	justify-content: center;
}
#navbar > ul{
	display: flex;
	align-items: center;
	gap: 26px;
	list-style: none;
	margin: 0;
	padding: 0;
}
#navbar > ul > li{ position: relative; }
#navbar > ul > li > a{
	display: block;
	padding: 8px 2px;
	color: var(--ddp-ink);
	text-decoration: none;
	font-weight: 800;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .03em;
	border-bottom: 2px solid transparent;
}
#navbar > ul > li > a.active,
#navbar > ul > li > a:hover{
	color: var(--ddp-terracotta-dark);
	border-color: var(--ddp-terracotta);
}
#navbar .dropdown > ul{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	min-width: 220px;
	border-top: 3px solid var(--ddp-terracotta);
	box-shadow: 0 14px 30px rgba(0,0,0,.10);
	padding: 8px 0;
	z-index: 10;
	list-style: none;
	margin: 0;
}
#navbar .dropdown:hover > ul{ display: block; }
#navbar .dropdown ul li a{
	display: block;
	padding: 9px 18px;
	color: var(--ddp-ink);
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
}
#navbar .dropdown ul li a:hover{ color: var(--ddp-terracotta-dark); }
#navbar .dropdown ul li.dropdown{ position: relative; }
#navbar .dropdown ul li.dropdown > ul{ top: 0; left: 100%; }

.ddp-header-inner > .position-relative{
	display: flex;
	align-items: center;
	gap: 14px;
}
.ddp-header-inner a[href*="facebook.com"],
.ddp-header-inner .js-search-open{
	color: var(--ddp-ink);
	font-size: 16px;
	text-decoration: none;
	display: inline-flex;
}
.ddp-header-inner a[href*="facebook.com"]:hover,
.ddp-header-inner .js-search-open:hover{ color: var(--ddp-terracotta-dark); }
.mobile-nav-toggle{ display: none; font-size: 22px; color: var(--ddp-ink); cursor: pointer; }

.ddp-search-tags{ display: flex; flex-wrap: wrap; gap: 8px; }
.ddp-search-tag{ display: inline-flex; align-items: center; background: var(--ddp-cream-soft); color: var(--ddp-ink); text-decoration: none; font-size: 12.5px; font-weight: 700; padding: 7px 13px; border-radius: 999px; border: 1px solid var(--ddp-line); transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.ddp-search-tag:hover{ background: var(--ddp-terracotta); color: #fff; border-color: var(--ddp-terracotta); }
/*--------------------------------------------------------------
# Overlay de recherche plein ecran (declenche par .js-search-open dans
# menu.php ; ouverture/fermeture + focus + Echap geres dans
# assets/js/theme_zenblog_main.js). Remplace l'ancien panneau en
# dropdown ancre sous la loupe.
--------------------------------------------------------------*/
.search-form-wrap{
	position: fixed;
	inset: 0;
	z-index: 1060;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, visibility .25s ease;
}
.search-form-wrap.active{ visibility: visible; opacity: 1; pointer-events: auto; }
.search-overlay-backdrop{
	position: absolute;
	inset: 0;
	width: 100%;
	background: rgba(35,35,29,.55);
	border: 0;
	margin: 0;
	padding: 0;
	cursor: pointer;
}
.search-overlay-panel{
	position: relative;
	width: 100%;
	background: var(--ddp-green);
	padding: 108px 24px 32px;
	box-shadow: 0 20px 40px rgba(0,0,0,.22);
	transform: translateY(-14px);
	opacity: 0;
	transition: transform .3s ease, opacity .3s ease;
	max-height: 100vh;
	overflow-y: auto;
}
.search-form-wrap.active .search-overlay-panel{ transform: translateY(0); opacity: 1; }
.search-overlay-close{
	position: absolute;
	top: 20px;
	right: 24px;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid rgba(247,244,239,.35);
	border-radius: 50%;
	color: var(--ddp-cream);
	font-size: 20px;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
.search-overlay-close:hover{ background: rgba(247,244,239,.14); border-color: rgba(247,244,239,.6); }
.search-overlay-panel .search-form{
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 14px;
	background: transparent;
	border: 0;
	border-bottom: 2px solid rgba(247,244,239,.35);
	border-radius: 0;
	padding: 8px 4px 16px;
	box-shadow: none;
}
.search-overlay-panel .search-form .icon{ font-size: 22px; color: var(--ddp-cream); opacity: .8; }
.search-overlay-panel .search-form .form-control{
	flex: 1;
	width: auto;
	background: transparent;
	border: 0;
	outline: none;
	color: var(--ddp-cream);
	font-family: var(--ddp-font-title);
	font-size: 26px;
	font-weight: 500;
}
.search-overlay-panel .search-form .form-control::placeholder{ color: rgba(247,244,239,.55); }
.search-overlay-tags{ max-width: 760px; margin: 22px auto 0; }
.search-overlay-tags-label{ margin: 0 0 10px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: rgba(247,244,239,.65); }
.search-overlay-panel .ddp-search-tag{ background: rgba(247,244,239,.1); color: var(--ddp-cream); border-color: rgba(247,244,239,.3); }
.search-overlay-panel .ddp-search-tag:hover{ background: var(--ddp-terracotta); border-color: var(--ddp-terracotta); color: #fff; }
body.search-overlay-active{ overflow: hidden; }
body.search-overlay-active .scroll-top{ opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 767px){
	.search-overlay-panel{ padding: 92px 18px 26px; }
	.search-overlay-panel .search-form .form-control{ font-size: 19px; }
	.search-overlay-close{ top: 14px; right: 14px; width: 36px; height: 36px; font-size: 17px; }
	.search-overlay-tags{ margin-top: 16px; }
}

@media (max-width: 991px){
	#navbar{ position: fixed; inset: 0; top: 72px; background: var(--ddp-cream); justify-content: flex-start; padding: 30px 24px; display: none; }
	body.mobile-nav-active #navbar{ display: block; }
	#navbar > ul{ flex-direction: column; align-items: flex-start; gap: 6px; }
	#navbar > ul > li{ width: 100%; }
	#navbar .dropdown > ul{ position: static; box-shadow: none; border-top: none; padding-left: 14px; display: block; }
	.mobile-nav-toggle{ display: inline-flex; }
}

/*--------------------------------------------------------------
# Boutons / textes communs
--------------------------------------------------------------*/
.ddp-btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 24px;
	border-radius: 4px;
	font-weight: 800;
	font-size: 12.5px;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none;
}
.ddp-btn-terracotta{ background: var(--ddp-terracotta); color: #fff; }
.ddp-btn-terracotta:hover{ background: var(--ddp-terracotta-dark); }
.ddp-btn-green{ background: var(--ddp-green); color: var(--ddp-cream); }
.ddp-btn-green:hover{ background: var(--ddp-green-dark); }

.ddp-eyebrow{
	color: var(--ddp-terracotta-dark);
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-size: 12.5px;
	margin-bottom: 10px;
}
.ddp-link-arrow{
	font-weight: 800;
	font-size: 12.5px;
	color: var(--ddp-terracotta-dark);
	text-transform: uppercase;
	letter-spacing: .03em;
	text-decoration: none;
	white-space: nowrap;
}
.ddp-link-arrow:hover{ color: var(--ddp-green); }
.ddp-dot{ margin: 0 4px; opacity: .6; }
.ddp-meta{
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-weight: 800;
	color: var(--ddp-khaki);
}
.ddp-meta a{ color: var(--ddp-terracotta-dark); text-decoration: none; }

.ddp-section-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 40px;
	gap: 20px;
}
.ddp-section-header h2{ font-size: 28px; margin: 0; }

/*--------------------------------------------------------------
# Hero = Photo du mois (zone majeure)
--------------------------------------------------------------*/
.ddp-hero{
	position: relative;
	min-height: 560px;
	margin-top: 74px;
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center;
	background-color: var(--ddp-green-dark);
}
.ddp-hero-overlay{
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(15,13,8,.86) 0%, rgba(15,13,8,.4) 55%, rgba(15,13,8,.08) 100%);
}
.ddp-hero-content{
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 64px max(24px, calc((100% - 1240px)/2)) 56px;
	color: #fff;
}
.ddp-hero-content .ddp-eyebrow{ color: #E8A868; }
.ddp-hero-content h1{
	color: #fff;
	font-size: 44px;
	line-height: 1.1;
	margin: 6px 0 14px;
	text-transform: capitalize;
	max-width: 620px;
}
.ddp-hero-content p{
	font-size: 15.5px;
	opacity: .88;
	max-width: 520px;
	margin-bottom: 26px;
}
.ddp-hero-dicton{ margin: -12px 0 20px; max-width: 520px; }
.ddp-hero-actions{
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.ddp-hero-zoom{
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
}

/* Tag "dicton" (hero accueil + description de la lightbox plein ecran GLightbox) */
.ddp-dicton-tag{
	display: inline-flex;
	align-items: flex-start;
	gap: 6px;
	max-width: 100%;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(120,62,28,.82);
	border: 1px solid rgba(232,168,104,.8);
	color: #fff;
	font-family: var(--ddp-font-text);
	font-style: normal;
	font-weight: 400;
	font-size: 15.5px;
	line-height: 1.4;
}
.ddp-dicton-tag i{ font-style: normal; color: #E8A868; }
.glightbox-container .gslide-description{ background: transparent; }
.glightbox-container .gdesc-inner{ padding: 12px 0 0; text-align: center; }
.glightbox-container .gslide-title{ color: #fff; font-family: inherit; margin-bottom: 8px; }
.glightbox-container .gslide-desc{ color: #fff; }

/*--------------------------------------------------------------
# Bienvenue
--------------------------------------------------------------*/
.ddp-welcome{ padding: 70px 0; background: var(--ddp-cream); }
.ddp-welcome-grid{
	display: grid;
	grid-template-columns: 1.15fr .85fr .85fr;
	gap: 32px;
	align-items: stretch;
}
.ddp-welcome-text-col{ padding-bottom: 40px; }
.ddp-welcome-text{ color: #4a4737; font-size: 14.5px; margin-bottom: 18px; }

.ddp-welcome-side-card{
	background: #fff;
	border: 1px solid var(--ddp-line);
	border-radius: 12px;
	padding: 22px 22px 24px;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.ddp-welcome-side-card .ddp-eyebrow{ font-size: 11px; }
.ddp-welcome-side-card h4{ font-size: 17px; margin: 4px 0 12px; }
.ddp-welcome-side-thumb{
	width: 100%;
	aspect-ratio: 16/10;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	margin-bottom: 14px;
}
.ddp-welcome-side-card .ddp-meta{ margin-bottom: 6px; font-size: 11.5px; }
.ddp-welcome-side-card p{ font-size: 13.5px; color: #5b5748; margin-bottom: 14px; }
.ddp-welcome-side-title{
	display: block;
	font-family: var(--ddp-font-title);
	font-size: 15px;
	color: var(--ddp-ink);
	margin-bottom: 4px;
}
.ddp-welcome-side-card .ddp-link-arrow{ margin-top: auto; }
.ddp-welcome-side-card.is-muted{ opacity: .55; }
.ddp-welcome-side-badge{
	display: inline-block;
	font-size: 10.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--ddp-khaki);
	margin-bottom: 6px;
}

/*--------------------------------------------------------------
# Explorez nos univers
--------------------------------------------------------------*/
.ddp-explore{ padding: 30px 0 70px; background: var(--ddp-cream-soft); }
.ddp-explore-head{ max-width: 560px; margin: 0 auto 34px; text-align: center; }
.ddp-explore-head h2{ font-size: 30px; color: var(--ddp-green); }
.ddp-explore-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px 20px;
}
.ddp-explore-card{ display: block; text-decoration: none; color: inherit; }
.ddp-explore-photo{
	position: relative;
	aspect-ratio: 4/3;
	border-radius: 10px;
	background-size: cover;
	background-position: center;
	background-color: var(--ddp-line);
}
.ddp-explore-count{
	position: absolute;
	top: 10px; right: 10px;
	background: rgba(255,255,255,.92);
	color: var(--ddp-ink);
	font-size: 11.5px;
	font-weight: 800;
	padding: 4px 9px;
	border-radius: 20px;
}
.ddp-explore-body{ padding: 16px 4px 0; }
.ddp-explore-body h4{ font-size: 16.5px; margin: 0 0 6px; }
.ddp-explore-body p{ font-size: 13px; color: var(--ddp-khaki); margin: 0 0 8px; }
.ddp-explore-more{ margin-top: 40px; text-align: center; }
.ddp-explore-empty{ color: var(--ddp-khaki); font-style: italic; }

/*--------------------------------------------------------------
# Bandeau chiffres cles
--------------------------------------------------------------*/
.ddp-stats-band{ background: var(--ddp-green); }
.ddp-stats{ display: grid; grid-template-columns: repeat(4, 1fr); padding: 40px 0; }
.ddp-stat{ text-align: center; color: var(--ddp-cream); border-right: 1px solid rgba(255,255,255,.18); padding: 0 16px; }
.ddp-stat:last-child{ border-right: none; }
/* Zone icone commune (logo image ou icone Bootstrap) : hauteur fixe identique sur les 4 cartes
   pour que le texte (chiffre + libelle) demarre toujours a la meme hauteur, quelle que soit
   la proportion reelle du visuel affiche a l'interieur (logos Renault/SFV/collection non carres).
   Dimensionnement par la hauteur (plutot que par une largeur fixe a 200px, trop haut au rendu) :
   chaque logo garde ses proportions et occupe naturellement une largeur differente. */
.ddp-stat-icon{ height: 105px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
/* max-height/max-width (pas de largeur ou hauteur fixe) : chaque logo garde ses proportions
   naturelles et se met a l'echelle tout seul si la colonne devient etroite (mobile). */
.ddp-stat-img{ max-height: 105px; max-width: 100%; width: auto; height: auto; display: block; }
/* Le logo Renault est tres large/plat (peu de hauteur pour beaucoup de largeur) : a hauteur
   egale aux 3 autres visuels il ressortait nettement plus gros. Plafond de hauteur reduit
   uniquement pour lui, ce qui ramene sa largeur a environ 200px (taille deja validee). */
.ddp-stat-img.ddp-stat-img-renault{ max-height: 75px; }
/* Icone Bootstrap (grille) alignee sur la meme hauteur que les logos. */
.ddp-stat-icon-font{ font-size: 100px; line-height: 1; color: #fff; }
.ddp-stat-num{ font-family: var(--ddp-font-title); font-weight: 700; font-size: 27px; color: #fff; }
.ddp-stat-lbl{ font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; opacity: .8; margin-top: 2px; }

/*--------------------------------------------------------------
# Galeries a la une (glissiere Swiper reutilisee du theme)
--------------------------------------------------------------*/
.ddp-galleries{ padding: 70px 0; background: var(--ddp-cream); }
.ddp-gallery-slider{ border-radius: 12px; }
.ddp-gallery-slider .swiper-slide{ aspect-ratio: 16/8; }
.ddp-gallery-slider .img-bg{
	display: flex;
	align-items: flex-end;
	width: 100%;
	height: 100%;
	border-radius: 12px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	text-decoration: none;
	background-color: var(--ddp-line);
}
.ddp-gallery-slider .img-bg-inner{
	padding: 30px;
	background: linear-gradient(0deg, rgba(15,13,8,.82), transparent);
	width: 100%;
	color: #fff;
}
.ddp-gallery-slider .img-bg-inner h2{ color: #fff; font-size: 22px; margin-bottom: 6px; }
.ddp-gallery-slider .img-bg-inner .ddp-gallery-meta{ font-size: 12px; text-transform: uppercase; letter-spacing: .04em; opacity: .8; margin: 0 0 6px; }
.ddp-gallery-slider .img-bg-inner p{ font-size: 13.5px; opacity: .85; margin: 0; max-width: 560px; }
/* Positionnement des fleches : ces regles vivaient dans css_theme_zenblog_main.css,
   feuille volontairement non chargee sur la page d'accueil (voir liste_site_header.php) */
.ddp-gallery-slider .custom-swiper-button-next,
.ddp-gallery-slider .custom-swiper-button-prev{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: var(--ddp-terracotta);
	color: #fff;
	width: 40px; height: 40px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(15,13,8,.25);
	transition: background .2s ease;
}
.ddp-gallery-slider .custom-swiper-button-next:hover,
.ddp-gallery-slider .custom-swiper-button-prev:hover{ background: var(--ddp-green); }
.ddp-gallery-slider .custom-swiper-button-next{ right: 20px; }
.ddp-gallery-slider .custom-swiper-button-prev{ left: 20px; }
@media (max-width: 576px){
	.ddp-gallery-slider .custom-swiper-button-next,
	.ddp-gallery-slider .custom-swiper-button-prev{ display: none; }
}
.ddp-gallery-slider .swiper-pagination-bullet{ background: #fff; opacity: .6; }
.ddp-gallery-slider .swiper-pagination-bullet-active{ background: var(--ddp-terracotta); opacity: 1; }

/*--------------------------------------------------------------
# Agenda
--------------------------------------------------------------*/
.ddp-agenda{ padding: 20px 0 70px; background: var(--ddp-cream); }
.ddp-agenda-grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media (max-width: 860px){ .ddp-agenda-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .ddp-agenda-grid{ grid-template-columns: 1fr; } }

/*--------------------------------------------------------------
# Actualites & vie de la collection
--------------------------------------------------------------*/
.ddp-actualites{ padding: 20px 0 70px; background: var(--ddp-cream-soft); }
.ddp-actu-layout{ display: grid; grid-template-columns: 2fr 1fr; gap: 40px; align-items: start; }
.ddp-actu-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 991px){ .ddp-actu-layout{ grid-template-columns: 1fr; } }
@media (max-width: 560px){ .ddp-actu-grid{ grid-template-columns: 1fr; } }

/*--------------------------------------------------------------
# Cartes communes (agenda + actualites)
--------------------------------------------------------------*/
.ddp-card{ background: #fff; border: 1px solid var(--ddp-line); border-radius: 10px; overflow: hidden; height: 100%; }
.ddp-card-photo{
	position: relative;
	aspect-ratio: 4/3;
	background-size: cover;
	background-position: center;
	background-color: var(--ddp-line);
}
.ddp-card-photo-video :is(img,video,iframe){ width: 100%; height: 100%; object-fit: cover; }
.ddp-card-tag{
	position: absolute;
	top: 10px; left: 10px;
	background: var(--ddp-terracotta);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 4px 9px;
	border-radius: 3px;
}
.ddp-card-body{ padding: 16px 18px 18px; }
.ddp-card-body h3{ font-size: 16px; margin: 6px 0 8px; }
.ddp-card-body h3 a{ color: var(--ddp-ink); text-decoration: none; }
.ddp-card-body h3 a:hover{ color: var(--ddp-terracotta-dark); }
.ddp-card-body p{ font-size: 13px; color: var(--ddp-khaki); margin: 0; }
.ddp-mini-meta{ display: block; font-size: 12px; color: var(--ddp-khaki); margin: 4px 0 8px; }

.ddp-side-card{ background: #fff; border: 1px solid var(--ddp-line); border-radius: 10px; padding: 22px; margin-bottom: 20px; }
.ddp-side-card h3{ font-size: 17px; margin: 0 0 14px; }
.ddp-news-list li{ list-style: none; border-bottom: 1px solid var(--ddp-line); padding: 10px 0; }
.ddp-news-list li:last-child{ border-bottom: none; }
.ddp-news-list a{ color: inherit; text-decoration: none; display: flex; align-items: center; gap: 12px; }
.ddp-news-thumb{ width: 46px; height: 46px; border-radius: 6px; flex: none; background-size: cover; background-position: center; background-color: var(--ddp-line); }
.ddp-news-title{ font-size: 13.5px; font-weight: 700; line-height: 1.3; }

.ddp-dictons-card{ margin-bottom: 0; }
.ddp-dictons-list li{ list-style: none; border-bottom: 1px solid var(--ddp-line); padding: 10px 0; }
.ddp-dictons-list li:last-child{ border-bottom: none; }
.ddp-dictons-list p{ margin: 4px 0; font-family: var(--ddp-font-title); font-style: italic; font-size: 14.5px; }
.ddp-dicton-month{ font-size: 10.5px; font-weight: 800; text-transform: uppercase; color: var(--ddp-terracotta-dark); letter-spacing: .04em; }
.ddp-dicton-date{ font-size: 11px; color: var(--ddp-khaki); }

/*--------------------------------------------------------------
# Footer (markup fourni par liste_site_footer.php, partage)
--------------------------------------------------------------*/
.footer{ background: var(--ddp-beige); color: #4a4737; font-size: 15px; }
.footer .footer-newsletter{ background: var(--ddp-green); padding: 34px 0; }
.footer .footer-newsletter .row{ align-items: center; gap: 20px 32px; }
.footer .footer-newsletter h4{ color: #fff; font-family: var(--ddp-font-title); font-size: 22px; margin-bottom: 2px; }
.footer .footer-newsletter p{ color: rgba(255,255,255,.85); font-size: 14px; margin-bottom: 0; }
.footer .footer-newsletter .col-lg-12{ flex: 1 1 320px; max-width: none; text-align: left; }
.footer .footer-newsletter #div_form_newsletter{ flex: 1 1 320px; max-width: 380px; }
.footer .footer-newsletter form{
	margin-top: 0;
	background: #fff;
	border-radius: 6px;
	padding: 6px 6px 6px 16px;
	display: flex;
	align-items: center;
	width: 100%;
}
@media (max-width: 860px){
	.footer .footer-newsletter .row{ text-align: center; }
	.footer .footer-newsletter .col-lg-12{ text-align: center; }
}
.footer .footer-newsletter form input[type=email]{ flex: 1; border: none; outline: none; padding: 10px; font-family: inherit; font-size: 14px; }
.footer .footer-newsletter form input[type=submit]{
	background: var(--ddp-terracotta);
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 10px 20px;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 12.5px;
	letter-spacing: .03em;
	cursor: pointer;
}
.footer .footer-newsletter form input[type=submit]:hover{ background: var(--ddp-terracotta-dark); }
.footer .footer-content{ padding: 60px 0; }
.footer .footer-content .row{ gap: 32px; }
.footer .footer-heading{ color: var(--ddp-ink); font-family: var(--ddp-font-title); font-size: 17px; margin-bottom: 16px; }
.footer a.footer-link-more,
.footer .footer-links li a,
.footer .footer-blog-entry li a{ color: #4a4737; text-decoration: none; }
.footer a.footer-link-more:hover,
.footer .footer-links li a:hover,
.footer .footer-blog-entry li a:hover{ color: var(--ddp-terracotta-dark); }
.footer .footer-links li{ padding: 5px 0; font-size: 14px; }
.footer .footer-links li i{ color: var(--ddp-terracotta); margin-right: 6px; font-size: 11px; }
.footer .footer-blog-entry li{ padding: 8px 0; border-bottom: 1px solid var(--ddp-line); }
.footer .footer-blog-entry li:last-child{ border-bottom: none; }
.footer .footer-blog-entry li img{ width: 46px; height: 46px; border-radius: 6px; object-fit: cover; }
.footer .footer-blog-entry .post-meta{ font-size: 10.5px; text-transform: uppercase; font-weight: 800; color: var(--ddp-khaki); }
.footer .footer-blog-entry li a > div > span{ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; line-height: 1.35; overflow-wrap: anywhere; }
.footer .footer-legal{ background: var(--ddp-beige); border-top: 1px solid var(--ddp-line); color: var(--ddp-khaki); padding: 20px 0; font-size: 13px; }
.footer .footer-legal .social-links a{
	width: 32px; height: 32px; border-radius: 50%;
	background: var(--ddp-green); color: var(--ddp-cream);
	display: inline-flex; align-items: center; justify-content: center;
	text-decoration: none;
}
.footer .footer-legal .social-links a:hover{ background: var(--ddp-green-dark); }
.footer .copyright, .footer .copyright strong{ color: var(--ddp-ink); }
.footer .credits{ font-size: 12px; opacity: .7; }
.footer .credits a{ color: inherit; }

.scroll-top{
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 998;
	background: var(--ddp-green) !important;
	width: 46px; height: 46px; border-radius: 50%;
	color: #fff !important;
	font-size: 20px;
	box-shadow: 0 10px 24px rgba(30,25,10,.22);
	transition: background .25s, transform .25s;
}
.scroll-top:hover{ background: var(--ddp-green-dark) !important; transform: translateY(-3px); }
@media (max-width: 575px){
	.scroll-top{ right: 14px; bottom: 14px; width: 40px; height: 40px; }
}

/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/
@media (max-width: 991px){
	.ddp-hero{ min-height: 460px; }
	.ddp-hero-content h1{ font-size: 32px; }
	.ddp-welcome-grid{ grid-template-columns: 1fr 1fr; }
	.ddp-welcome-text-col{ grid-column: 1 / -1; padding-bottom: 8px; }
	.ddp-stats{ grid-template-columns: repeat(2,1fr); row-gap: 24px; }
	.ddp-stat{ border-right: none; }
	/* Les logos (max-height/max-width) se mettent deja a l'echelle tout seuls en colonnes
	   etroites ; seule l'icone Bootstrap (taille fixe en px, pas une image) a besoin d'etre
	   reduite explicitement pour ne pas deborder de sa colonne en 2 colonnes. */
	.ddp-stat-icon-font{ font-size: 70px; }
	.ddp-explore-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px){
	.ddp-welcome-grid{ grid-template-columns: 1fr; }
	.ddp-welcome-text-col{ grid-column: auto; }
}
