/**
 * DRP consolidated stylesheet. Every rule here used to be an inline <style> block printed
 * by one of the old Code Snippets (via wp_head/wp_footer). This is NOT a full design system -
 * the base .drp-popup/.drp-sidebar/etc. visual styling lives in Elementor's own per-widget
 * Custom CSS (295 instances across the site's real content pages) and is out of scope for
 * this pass. Section order preserves the original cascade/!important stacking.
 */

/* ==========================================================================
   1. PAGE TEMPLATE — fixed overlay layout
   (was: Code Snippets #9 "Drp page template code snippets", drp_page_template_css(), wp_head)
   ========================================================================== */
body.drp-page-active { overflow: hidden; }
.drp-page-wrap {
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	z-index: 9999;
}
.drp-popup-inner {
	flex: 1;
	overflow-y: auto;
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
}
.drp-popup-inner .drp-popup-body {
	flex-shrink: 0;
	min-height: 100vh;
}
.drp-nav-btn { text-decoration: none; }

/* Burger menu positionné par rapport au header */
.drp-page-burger-menu {
	position: fixed !important;
	top: 61px !important;
	right: 40px !important;
}

@media (max-width: 768px) {
	.drp-popup-inner .drp-popup-body {
		min-height: unset !important;
		flex-direction: column !important;
	}
	.drp-popup-left {
		width: 100% !important;
		padding: 40px 24px !important;
		order: 2;
	}
	.drp-popup-right {
		width: 100% !important;
		height: 45vh !important;
		flex-shrink: 0 !important;
		order: 1;
	}
	.drp-popup-img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center top !important;
		display: block !important;
	}
	.drp-popup-title {
		font-size: 32px !important;
	}
	.drp-page-burger-menu {
		right: 20px !important;
		top: 53px !important;
		min-width: 240px !important;
	}
}

/* ==========================================================================
   2. GALLERY SHORTCODE — carousel
   (was: Code Snippets #13 "drp_gallery", drp_gallery_assets(), wp_footer)
   ========================================================================== */
.drp-gallery-wrap {
	position: relative;
	width: 100%;
	margin: 32px 0;
}

.drp-gallery-track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 4px;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.drp-gallery-track::-webkit-scrollbar {
	display: none;
	height: 0;
}

.drp-gallery-slide {
	flex: 0 0 calc(50% - 8px);
	scroll-snap-align: start;
	cursor: pointer;
	overflow: hidden;
}

.drp-gallery-img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
	-webkit-user-select: none;
	user-select: none;
}

.drp-gallery-slide:hover .drp-gallery-img {
	transform: scale(1.03);
}

.drp-gallery-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 0.5px solid rgba(26,46,90,0.3);
	background: rgba(255,255,255,0.92);
	color: #1a2e5a;
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
	z-index: 10;
	padding: 0;
	line-height: 1;
}

.drp-gallery-arrow:hover {
	background: #1a2e5a;
	color: #ffffff;
}

.drp-gallery-prev { left: -16px; }
.drp-gallery-next { right: -16px; }

/* Galerie avec 2 images ou moins : pas besoin de flèches ni pilules */
.drp-gallery-wrap.drp-gallery-static .drp-gallery-arrow,
.drp-gallery-wrap.drp-gallery-static .drp-gallery-dots {
	display: none !important;
}

.drp-gallery-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
}

.drp-gallery-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(26,46,90,0.2);
	cursor: pointer;
	transition: all 0.2s;
	display: block;
}

.drp-gallery-dot.active {
	background: #1a2e5a;
	width: 18px;
	border-radius: 3px;
}

@media (max-width: 768px) {
	.drp-gallery-slide {
		flex: 0 0 calc(50% - 6px);
	}
	.drp-gallery-img {
		height: 160px;
	}
	.drp-gallery-arrow {
		width: 32px;
		height: 32px;
		font-size: 13px;
	}
	.drp-gallery-prev { left: -8px; }
	.drp-gallery-next { right: -8px; }
}

/* ==========================================================================
   3. UNIFIED LIGHTBOX — shared by [drp_gallery], native WP Gallery blocks, and agenda
   (merges: #13's #drpGalleryLightbox, #18's #drpNativeLightbox, #20's #drpAgendaLightbox)
   Visual style deliberately adopted from #18 (backdrop-blur + zoom-in) as the shared look,
   confirmed with the site owner - see assets/js/drp-lightbox.js for the full rationale.
   Classes renamed from #20's unprefixed .close/.prev/.next to .drp-lightbox-* to remove a
   collision risk with any other plugin/theme CSS using those generic names.
   ========================================================================== */
#drp-lightbox {
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(10, 10, 10, 0.92);
	backdrop-filter: blur(6px);
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
}

#drp-lightbox.active {
	display: flex;
}

#drp-lightbox .drp-lightbox-img {
	max-width: 90%;
	max-height: 85vh;
	width: auto;
	height: auto;
	object-fit: contain;
	box-shadow: 0 20px 60px rgba(0,0,0,0.5);
	border-radius: 4px;
	animation: drpLightboxZoom 0.3s ease forwards;
}

@keyframes drpLightboxZoom {
	from { opacity: 0; transform: scale(0.92); }
	to   { opacity: 1; transform: scale(1); }
}

#drp-lightbox .drp-lightbox-close,
#drp-lightbox .drp-lightbox-prev,
#drp-lightbox .drp-lightbox-next {
	position: absolute;
	border-radius: 50%;
	border: 0.5px solid rgba(255,255,255,0.4);
	background: rgba(255,255,255,0.08);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	padding: 0;
	line-height: 1;
}

#drp-lightbox .drp-lightbox-close:hover,
#drp-lightbox .drp-lightbox-prev:hover,
#drp-lightbox .drp-lightbox-next:hover {
	background: rgba(255,255,255,0.22);
}

#drp-lightbox .drp-lightbox-close {
	top: 24px;
	right: 24px;
	width: 44px;
	height: 44px;
	font-size: 18px;
}

#drp-lightbox .drp-lightbox-close:hover {
	transform: rotate(90deg);
}

#drp-lightbox .drp-lightbox-prev,
#drp-lightbox .drp-lightbox-next {
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	font-size: 20px;
}

#drp-lightbox .drp-lightbox-prev { left: 24px; }
#drp-lightbox .drp-lightbox-next { right: 24px; }

/* Native WP Gallery block figures show a pointer cursor (was: #18) */
.wp-block-gallery figure.wp-block-image {
	cursor: pointer;
}

@media (max-width: 768px) {
	#drp-lightbox .drp-lightbox-prev,
	#drp-lightbox .drp-lightbox-next {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
	#drp-lightbox .drp-lightbox-close {
		top: 16px;
		right: 16px;
		width: 38px;
		height: 38px;
	}
}

/* Small-screen variant matching #20's own breakpoint (opaque border for contrast) */
@media (max-width: 640px) {
	#drp-lightbox .drp-lightbox-prev,
	#drp-lightbox .drp-lightbox-next {
		background: rgba(255,255,255,0.22);
		border: 1px solid rgba(255,255,255,0.4);
	}
	#drp-lightbox .drp-lightbox-close {
		background: rgba(255,255,255,0.22);
		border: 1px solid rgba(255,255,255,0.4);
	}
}

/* ==========================================================================
   4. POPUP FULLPAGE OVERRIDE
   (was: Code Snippets #16 "Drp popup fullpage", drp_popup_fullpage(), wp_footer@50)
   ========================================================================== */
.drp-popup .drp-fullcontent-close {
	display: none !important;
}

.drp-popup .drp-popup-fullcontent.drp-fullpage-on {
	max-height: none !important;
	overflow: visible !important;
	opacity: 1 !important;
}

.drp-popup .drp-popup-fullcontent.drp-fade-once .drp-fullcontent-text {
	animation: drpFullpageFade 0.6s ease both;
}
@keyframes drpFullpageFade {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}

.drp-popup .drp-popup-inner .drp-popup-body {
	min-height: var(--drp-firstblock, 100vh) !important;
	height: var(--drp-firstblock, 100vh) !important;
}

.drp-popup .drp-popup-right img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

@media (max-width: 768px) {
	.drp-popup .drp-popup-inner .drp-popup-body {
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
	}
	.drp-popup .drp-popup-right {
		order: 1 !important;
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: auto !important;
		overflow: hidden !important;
	}
	.drp-popup .drp-popup-left {
		order: 2 !important;
		flex: 0 0 auto !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		padding: 18px 24px !important;
	}
	.drp-popup .drp-popup-left .drp-popup-title {
		font-size: 22px !important;
		line-height: 1.1 !important;
		margin-bottom: 14px !important;
	}
	.drp-popup .drp-popup-left .drp-popup-excerpt {
		display: none !important;
	}
}

/* ==========================================================================
   5. PAGE FULLPAGE OVERRIDE
   (was: Code Snippets #17 "Drp page fullpage scroll", drp_page_fullpage_scroll(), wp_footer@60)
   ========================================================================== */
.drp-page-wrap .drp-fullcontent-close {
	display: none !important;
}

.drp-page-wrap .drp-popup-fullcontent.drp-pagefull-on {
	max-height: none !important;
	overflow: visible !important;
	opacity: 1 !important;
}

.drp-page-wrap .drp-popup-fullcontent.drp-pagefull-fade .drp-fullcontent-text {
	animation: drpPageFullFade 0.6s ease both;
}
@keyframes drpPageFullFade {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}

.drp-page-wrap .drp-popup-inner .drp-popup-body {
	min-height: var(--drp-page-firstblock, 100vh) !important;
	height: var(--drp-page-firstblock, 100vh) !important;
}

.drp-page-wrap .drp-popup-right img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

@media (max-width: 768px) {
	.drp-page-wrap .drp-popup-inner .drp-popup-body {
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
	}
	.drp-page-wrap .drp-popup-right {
		order: 1 !important;
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: auto !important;
		overflow: hidden !important;
	}
	.drp-page-wrap .drp-popup-left {
		order: 2 !important;
		flex: 0 0 auto !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		padding: 18px 24px !important;
	}
	.drp-page-wrap .drp-popup-left .drp-popup-title {
		font-size: 24px !important;
		line-height: 1.1 !important;
		margin-bottom: 14px !important;
	}
	.drp-page-wrap .drp-popup-left .drp-popup-excerpt {
		display: none !important;
	}
}

/* ==========================================================================
   6. AGENDA SHORTCODES
   (was: Code Snippets #20 "DRP Agenda Shortcodes", drp_agenda_assets(), wp_footer)
   Google Fonts moved to a proper wp_enqueue_style() call (inc/shortcodes-agenda.php);
   the old #drpAgendaLightbox block is gone - agenda images open section 3's shared lightbox.
   ========================================================================== */
.drp-agenda-root, .drp-agenda-root p, .drp-agenda-root div, .drp-agenda-root span {
	font-family: 'Inter', sans-serif;
}
.drp-month-separator,
.event-title,
.drp-intro-quote,
.drp-feature-title,
.drp-year-header,
.drp-event-caption {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
}

.drp-intro-quote{color:#1a2e5a;text-align:left;line-height:1.6;margin:0 0 20px;font-style:italic;max-width:680px;font-size:24px;font-weight:700;}
.drp-intro-text{color:#1a2e5a;text-align:left;line-height:1.8;margin:0 0 48px;max-width:680px;font-size:16px;}

.drp-feature-title{font-size:28px;color:#1a2e5a;text-align:center;margin:40px auto 20px;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;max-width:680px;}
.drp-feature-img{display:block;margin:0 auto 40px;max-width:460px;width:100%;border-radius:12px;cursor:zoom-in;box-shadow:0 4px 20px rgba(26,46,90,0.12);touch-action:manipulation;}

.drp-year-header{font-size:32px;color:#1a2e5a;text-align:center;margin:16px 0 8px;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;}
.drp-year-note{font-size:15px;color:#1a2e5a;text-align:center;margin:0 0 32px;font-style:italic;opacity:0.75;}
hr.drp-sep{border:0;border-top:1px solid #d8d2c4;margin:56px auto;max-width:680px;}

.drp-month-separator{text-align:center;margin:44px 0 24px;font-size:20px;color:#1a2e5a;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;position:relative;}
.drp-month-separator::before,.drp-month-separator::after{content:'';display:inline-block;width:40px;height:1px;background:#d8d2c4;vertical-align:middle;margin:0 12px;}

.drp-event-card{margin:0 auto 36px;max-width:680px;text-align:left;}
.event-head{display:flex;align-items:center;gap:14px;justify-content:flex-start;margin-bottom:16px;text-align:left;}
.event-date{background:#1a2e5a;color:#f5f0e8;border-radius:10px;padding:12px 16px;text-align:center;min-width:62px;flex-shrink:0;}
.event-date .day{font-size:21px;font-weight:700;line-height:1;}
.event-date .month{font-size:11px;letter-spacing:0.05em;opacity:0.85;text-transform:uppercase;}
.event-title{font-size:24px;color:#1a2e5a;font-weight:700;line-height:1.25;margin:0;}
.event-place{font-size:15px;color:#1a2e5a;margin:2px 0 0;opacity:0.8;}

.drp-event-img{display:block;margin:0 auto;max-width:460px;width:100%;border-radius:12px;cursor:zoom-in;box-shadow:0 4px 20px rgba(26,46,90,0.12);touch-action:manipulation;}
.drp-event-caption{font-size:14px;color:#1a2e5a;font-style:italic;margin:10px 0 0;opacity:0.75;text-align:center;}

.drp-more-link{
	display:block;
	width:max-content;
	margin:12px auto 0;
	background:#1a2e5a;
	color:#f5f0e8;
	padding:8px 20px;
	border-radius:999px;
	font-size:13px;
	font-weight:600;
	cursor:pointer;
	text-align:center;
	touch-action:manipulation;
	-webkit-tap-highlight-color:transparent;
}
.drp-more-link:hover{background:#12203f;}
