/* pont-rd931 — Pop-up d'information (front). Modale centrale, charte essonne
   via les tokens du thème (aucune couleur en dur, aucun dégradé). Hérite de
   :root de site.css (chargé avant, cf. dépendance d'enqueue). */

.prd931pop-overlay{
	position:fixed;inset:0;z-index:calc(var(--z-header) + 40);
	background:rgba(15,25,55,.55);background:color-mix(in srgb,var(--surface-brand-deep) 55%,transparent); /* voile bleu nuit, aplat */
	opacity:0;transition:opacity var(--dur-2) var(--ease-out);
}
.prd931pop-overlay.is-visible{opacity:1}
/* Une règle auteur peut masquer sans dépendre de la valeur du navigateur. */
.prd931pop-overlay[hidden]{display:none}

.prd931pop-popup{
	position:fixed;z-index:calc(var(--z-header) + 41);
	top:50%;left:50%;transform:translate(-50%,-46%);
	width:min(92vw,520px);max-height:90vh;
	opacity:0;pointer-events:none;
	transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);
}
.prd931pop-popup.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}

.prd931pop-body{
	position:relative;box-sizing:border-box;overflow:auto;max-height:90vh;
	background:var(--color-surface);color:var(--color-text);
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-lg);
	padding:clamp(1.25rem, 4vw, 2rem);
	border-top:4px solid var(--color-accent); /* liseré orange charte CD91 */
}

.prd931pop-close{
	position:absolute;top:.5rem;right:.5rem;
	width:44px;height:44px;min-width:44px;min-height:44px;padding:0;
	display:flex;align-items:center;justify-content:center;
	background:var(--c-encadre-1);border:0;border-radius:50%;
	font-size:1.6rem;line-height:1;cursor:pointer;color:var(--color-brand);
	transition:background var(--dur-2),color var(--dur-2);
}
.prd931pop-close:hover{background:var(--c-grey-100);color:var(--color-brand-dark)}
.prd931pop-close:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}

.prd931pop-icon{display:flex;justify-content:center;color:var(--color-brand);margin-bottom:var(--space-3)}
.prd931pop-icon svg{width:40px;height:40px}

.prd931pop-image{width:100%;height:auto;display:block;border-radius:var(--radius-sm);margin-bottom:var(--space-4)}

.prd931pop-title{
	font-family:var(--font-titre);font-weight:var(--weight-bold);
	font-size:clamp(1.25rem, 3.5vw, 1.5rem);line-height:var(--leading-tight);
	color:var(--color-brand);margin:0 2.5rem .5rem 0;
}
.prd931pop-text{
	font-family:var(--font-texte);font-size:var(--text-base);
	color:var(--color-text-body);line-height:var(--leading-relaxed);margin:0 0 var(--space-4);
}
.prd931pop-html{font-family:var(--font-texte);color:var(--color-text-body);line-height:var(--leading-relaxed)}
.prd931pop-html :first-child{margin-top:0}
.prd931pop-html :last-child{margin-bottom:0}
.prd931pop-html a{color:var(--color-brand)}
.prd931pop-html h3{
	font-family:var(--font-titre);font-weight:var(--weight-bold);
	font-size:var(--text-base);color:var(--color-brand-night);
	margin:var(--space-3) 0 var(--space-1);
}

/* Blocs réunions structurés (encadrés type 1 charte CD91) */
.prd931pop-reunions{
	display:flex;flex-direction:column;gap:var(--space-3);
	margin-top:var(--space-3);margin-bottom:var(--space-1);
}
.prd931pop-reunion{
	background:var(--c-encadre-1);
	border-left:4px solid var(--color-brand);
	border-radius:var(--radius-sm);
	padding:var(--space-3) var(--space-4);
}
.prd931pop-reunion-date{
	font-family:var(--font-titre);
	font-size:var(--text-base);
	font-weight:var(--weight-bold);
	color:var(--color-brand-night);
	margin:0 0 var(--space-1) 0;
	line-height:var(--leading-snug);
}
.prd931pop-reunion-lieu{
	font-family:var(--font-texte);
	font-size:var(--text-sm);
	color:var(--color-text-body);
	margin:0;
	line-height:var(--leading-normal);
}
.prd931pop-reunion-adresse{
	font-family:var(--font-texte);
	font-size:var(--text-sm);
	color:var(--color-text-soft);
	margin:0;
	line-height:var(--leading-normal);
}

.prd931pop-pdf{width:100%;height:min(60vh,480px);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}

.prd931pop-cta{
	display:inline-flex;align-items:center;justify-content:center;gap:.5ch;
	min-height:44px;box-sizing:border-box;margin-top:var(--space-3);
	padding:.7em 1.6em;border-radius:var(--radius-pill);
	background:var(--color-brand);color:var(--color-on-dark);
	border:1px solid var(--color-brand);
	text-decoration:none;font-family:var(--font-texte);font-weight:var(--weight-medium);
	transition:background var(--dur-2),border-color var(--dur-2);
}
.prd931pop-cta:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark)}
.prd931pop-cta:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}

@media(max-width:480px){
	.prd931pop-popup{width:calc(100vw - 1rem)}
	.prd931pop-body{padding:1.25rem 1rem}
}
@media(prefers-reduced-motion:reduce){
	.prd931pop-overlay,.prd931pop-popup{transition:none}
}
