/* CPTS Centre-Hérault — Header burger 9-points + menu plein écran */

/* ============================================================================
 * Bouton burger : grille de 9 points, dégradé continu du logo (via masque)
 * ========================================================================== */
.cpts-burger {
	position: fixed; top: 18px; right: 24px; z-index: 1000001;
	width: 48px; height: 48px; padding: 0; border: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent; box-shadow: none;
	transition: transform .2s ease;
}
.cpts-burger:active { transform: scale(.94); }
/* Sous la barre d'admin WordPress (utilisateur connecté) */
body.admin-bar .cpts-burger { top: 50px; }
@media screen and (max-width: 782px) { body.admin-bar .cpts-burger { top: 64px; } }

.cpts-burger__grid {
	width: 28px; height: 28px; display: block;
	background: linear-gradient(135deg, #89B8E3 0%, #84CBD5 28%, #A6C549 52%, #CC8B1A 76%, #E94E1B 100%);
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask:
		radial-gradient(circle 3.2px at 4px 4px,   #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 14px 4px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 24px 4px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 4px 14px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 14px 14px, #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 24px 14px, #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 4px 24px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 14px 24px, #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 24px 24px, #000 96%, transparent 100%);
	mask:
		radial-gradient(circle 3.2px at 4px 4px,   #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 14px 4px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 24px 4px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 4px 14px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 14px 14px, #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 24px 14px, #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 4px 24px,  #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 14px 24px, #000 96%, transparent 100%),
		radial-gradient(circle 3.2px at 24px 24px, #000 96%, transparent 100%);
	transition: transform .45s cubic-bezier(.65,0,.35,1);
}
/* Rotation au survol + à l'ouverture */
.cpts-burger:hover .cpts-burger__grid { transform: rotate(90deg); }
.cpts-burger.is-open .cpts-burger__grid { transform: rotate(225deg) scale(.9); }

/* ============================================================================
 * Menu plein écran (reveal en cercle depuis le burger + items en cascade)
 * ========================================================================== */
.cpts-navmenu {
	position: fixed; inset: 0; z-index: 1000000;
	display: flex; align-items: center; justify-content: center;
	background: #ffffff;
	opacity: 0; visibility: hidden;
	clip-path: circle(0px at calc(100% - 47px) 47px);
	transition: clip-path .55s cubic-bezier(.76,0,.24,1), opacity .35s ease, visibility 0s linear .55s;
}
/* touche de couleur : léger halo dégradé dans un coin */
.cpts-navmenu::before {
	content: ""; position: absolute; bottom: -15%; left: -10%;
	width: 55vw; height: 55vw; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(132,203,213,.18), rgba(255,255,255,0) 70%);
}
.cpts-navmenu.is-open {
	opacity: 1; visibility: visible;
	clip-path: circle(160% at calc(100% - 47px) 47px);
	transition: clip-path .6s cubic-bezier(.76,0,.24,1), opacity .35s ease;
}

.cpts-navmenu__inner { width: 100%; max-height: 100vh; overflow-y: auto; padding: 90px 24px; text-align: center; }
.cpts-navmenu__list { list-style: none; margin: 0; padding: 0; }
.cpts-navmenu__list li {
	margin: 4px 0;
	opacity: 0; transform: translateY(26px);
	transition: opacity .45s ease, transform .45s ease;
}
.cpts-navmenu.is-open .cpts-navmenu__list li { opacity: 1; transform: none; }
/* cascade d'apparition */
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(1)  { transition-delay: .12s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(2)  { transition-delay: .17s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(3)  { transition-delay: .22s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(4)  { transition-delay: .27s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(5)  { transition-delay: .32s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(6)  { transition-delay: .37s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(7)  { transition-delay: .42s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(8)  { transition-delay: .47s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(9)  { transition-delay: .52s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(10) { transition-delay: .57s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(11) { transition-delay: .62s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(12) { transition-delay: .67s; }
.cpts-navmenu.is-open .cpts-navmenu__list > li:nth-child(n+13) { transition-delay: .7s; }

.cpts-navmenu__list a {
	display: inline-block;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: clamp(24px, 3.4vw, 42px); font-weight: 800; line-height: 1.15;
	color: #234155; text-decoration: none;
	transition: color .2s ease, transform .2s ease;
}
.cpts-navmenu__list a:hover {
	transform: translateX(4px);
	background: linear-gradient(135deg, #2f80c2, #2aa0ad, #A6C549, #E94E1B);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
/* sous-menus éventuels */
.cpts-navmenu__list .sub-menu { list-style: none; margin: 6px 0 14px; padding: 0; }
.cpts-navmenu__list .sub-menu a { font-size: clamp(15px, 1.6vw, 19px); font-weight: 600; color: #5a6b7b; }

/* Verrou de défilement du body quand le menu est ouvert */
body.cpts-noscroll { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.cpts-burger__grid, .cpts-navmenu, .cpts-navmenu__list li { transition: none !important; }
}
