/* Page de domaine APP / APA (cahier §7.1, maquette Domaine.dc.html). Mobile first. */

/* Couleur du domaine : variables locales, APP par défaut. */
.domaine {
	--domaine-main: var(--vert-principal);
	--domaine-texte: var(--vert-institution);
	--domaine-lien: var(--vert-texte);
	--domaine-teinte: var(--teinte-verte);
}
.domaine--apa {
	--domaine-main: var(--orange-accent);
	--domaine-texte: var(--orange-texte);
	--domaine-lien: var(--orange-texte);
	--domaine-teinte: var(--teinte-orange);
}
.domaine .section-header .eyebrow { color: var(--domaine-texte); }
.domaine .bandeau__badge { background: var(--domaine-teinte); color: var(--domaine-texte); }
.domaine .section-header .title-rule { background: var(--domaine-main); }
.domaine .section .link-arrow { color: var(--domaine-lien); }

/* S2 · De quoi parle-t-on ? */
.domaine-comprendre__grid { display: grid; gap: 40px; align-items: center; }
.domaine-comprendre__media { order: -1; }
.domaine-comprendre .section-header { margin-bottom: 24px; }
.domaine-comprendre__source { margin: 16px 0 0; }
.domaine-comprendre__list-title { margin: 28px 0 14px; font-size: 18px; line-height: 1.4; }
.puces { display: grid; gap: 10px 24px; margin: 0; padding: 0; list-style: none; font-size: 16px; line-height: 1.5; }
.puces__item { position: relative; padding-left: 19px; }
.puces__item::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 7px; height: 7px; border-radius: 50%; background: var(--domaine-main); }

/* S3 · Pour qui ? */
.domaine-publics { background: var(--domaine-teinte); }
.publics { display: grid; gap: 24px; margin: 0; padding: 0; list-style: none; }
.public-card { display: flex; flex-direction: column; gap: 14px; padding: 24px; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); }
.public-card__title { font-size: var(--fs-h3); }
.public-card p { margin: 0; font-size: 16px; line-height: 1.6; }

@media (min-width: 768px) {
	.puces { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.publics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
	.domaine-comprendre__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
	.domaine-comprendre__media { order: 0; }
	.publics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* S4 · Notre action dans ce domaine */
.actions-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--filet); }
.action-row { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--filet); }
.action-row__text { display: grid; gap: 4px; }
.action-row__text p { margin: 0; max-width: 72ch; font-size: 16px; line-height: 1.6; }
.action-row__link { grid-column: 2; }

/* Séances régulières (APA) : la section prolonge S4 sur fond blanc. */
.domaine-actions + .domaine-seances { padding-top: 0; }
.seances__vide p { margin: 0 0 12px; }
.seances, .seances tbody { display: block; width: 100%; }
.seances { border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.seances thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.seances tr { display: block; padding: 12px 16px; border: 1px solid var(--filet); border-radius: var(--rayon); }
.seances tr + tr { margin-top: 12px; }
.seances th[scope="row"], .seances td { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 4px 0; text-align: left; font-weight: 400; }
.seances th[scope="row"] { font-weight: 600; }
.seances [data-label]::before { content: attr(data-label); font: 600 13px/1.5 var(--police-titre); color: var(--encre-2); }

/* S5 · Activités récentes */
.domaine-activites__vide { margin: 0; }

@media (min-width: 768px) {
	.action-row { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 16px 24px; }
	.action-row__link { grid-column: auto; }

	.seances-wrap { border: 1px solid var(--filet); border-radius: var(--rayon); overflow: hidden; }
	.seances { display: table; }
	.seances tbody { display: table-row-group; }
	.seances thead { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; display: table-header-group; }
	.seances tr { display: table-row; padding: 0; border: 0; border-radius: 0; }
	.seances tr + tr { margin: 0; }
	.seances tbody tr { border-top: 1px solid var(--filet); }
	.seances th, .seances td, .seances th[scope="row"] { display: table-cell; padding: 14px 20px; }
	.seances [data-label]::before { content: none; }
	.seances thead th { background: var(--domaine-teinte); font: 600 14px/1.3 var(--police-titre); color: var(--encre); text-align: left; }
	.seances td:last-child { color: var(--encre-2); }
}

/* S6 · Questions fréquentes */
.domaine-faq .section-header { margin-bottom: 24px; }
.domaine-faq .accordion { border-top: 1px solid var(--filet); }
.domaine-faq__note { margin: 24px 0 0; }
