/* =========================================================
   Hope Apprentissage — Pages annexes
   Sous-ensemble autonome de la charte graphique commune
   (Or lumineux / Or bronze / Écru / Ardoise — polices Lexend/Nunito)
   Dupliqué volontairement ici plutôt que dépendre du thème ou d'un
   autre plugin Hope Apprentissage, afin que ce plugin reste
   fonctionnel seul (voir README).
   ========================================================= */

:root{
	--hope-pa-or: #D4AF37;
	--hope-pa-or-fonce: #7A6332;
	--hope-pa-ecru: #F7F5F0;
	--hope-pa-ecru-2: #F0ECE2;
	--hope-pa-ardoise: #2C3E50;
	--hope-pa-ardoise-douce: #5b6b78;
	--hope-pa-bxl: #9B59B6;
	--hope-pa-vla-fonce: #a98a0c;
	--hope-pa-wal: #2ECC71;
	--hope-pa-radius: 12px;
	--hope-pa-radius-lg: 20px;
	--hope-pa-ombre: 0 6px 20px rgba(122,99,50,0.10);
	--hope-pa-ombre-hover: 0 12px 28px rgba(122,99,50,0.18);
}

.hope-pa-encyclopedie,
.hope-pa-associations,
.hope-pa-contact,
.hope-pa-livre-or,
.hope-pa-communaute {
	font-family: 'Lexend', sans-serif;
	color: var(--hope-pa-ardoise);
	line-height: 1.6;
}
.hope-pa-encyclopedie h3, .hope-pa-associations h3, .hope-pa-contact h3,
.hope-pa-livre-or h3, .hope-pa-communaute h3 {
	font-family: 'Nunito', sans-serif;
	font-weight: 800;
	color: var(--hope-pa-or-fonce);
}

/* ---------- Accordéon (Encyclopédie) ---------- */
.accordeon-item{ background:#fff; border-radius:var(--hope-pa-radius); margin-bottom:12px; box-shadow:var(--hope-pa-ombre); overflow:hidden; }
.accordeon-entete{
	display:flex; justify-content:space-between; align-items:center; padding:18px 22px;
	cursor:pointer; font-weight:700; color:var(--hope-pa-or-fonce);
}
.accordeon-corps{ max-height:0; overflow:hidden; transition:max-height .3s ease; padding:0 22px; }
.accordeon-item.ouvert .accordeon-corps{ max-height:600px; padding-bottom:20px; }
.accordeon-item.ouvert .fleche-acc{ transform:rotate(180deg); }
.fleche-acc{ transition:transform .25s; }

/* ---------- Cartes / grilles génériques (Associations) ---------- */
.grille-cartes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; margin-top:20px; }
.carte-assoc{ background:#fff; border-radius:var(--hope-pa-radius); padding:22px; box-shadow:var(--hope-pa-ombre); }
.carte-assoc[data-hope-carte-assoc][hidden],
.carte-assoc.hope-pa-masquee{ display:none; }
.badges-filtre{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.chip{
	border:1px solid #ddd0a5; padding:6px 12px; border-radius:99px; font-size:.78rem;
	background:var(--hope-pa-ecru); font-weight:500; cursor:pointer;
}
.chip.actif{ background:var(--hope-pa-or); color:#fff; border-color:var(--hope-pa-or); }

/* ---------- Livre d'or ---------- */
.livre-or-carte{
	background:#fff; border-radius:var(--hope-pa-radius); padding:20px; box-shadow:var(--hope-pa-ombre); margin-bottom:14px;
	border-left:4px solid var(--hope-pa-or);
}
.region-tag{
	display:inline-block; font-size:.7rem; font-weight:700; padding:3px 10px;
	border-radius:99px; color:#fff;
}
.statut-attente{ font-size:.75rem; font-weight:700; color:#b8860b; background:#fdf3d8; padding:3px 10px; border-radius:99px; }
.qui{ font-weight:700; color:var(--hope-pa-or-fonce); margin-top:10px; font-size:.85rem; }

/* ---------- Communauté / forum ---------- */
.post-forum{ background:#fff; border-radius:var(--hope-pa-radius); padding:20px; box-shadow:var(--hope-pa-ombre); margin-bottom:14px; }
.post-entete{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; gap:10px; }
.signaler{ font-size:.75rem; color:#c0392b; background:none; border:none; font-weight:600; cursor:pointer; }
.signaler:disabled{ opacity:.6; cursor:default; }
.dash-bloc{ background:#fff; border-radius:var(--hope-pa-radius); padding:22px; box-shadow:var(--hope-pa-ombre); }
ul.coeur-liste{ list-style:none; padding-left:0; margin:0; }
ul.coeur-liste li{ position:relative; padding-left:1.6em; margin-bottom:.6em; }
ul.coeur-liste li::before{ content:"♥"; position:absolute; left:0; top:0; color:var(--hope-pa-or); font-size:.95em; }

/* ---------- Contact ---------- */
.profil-toggle{ display:flex; gap:12px; margin-bottom:24px; }
.profil-toggle button{
	flex:1; padding:14px; border-radius:var(--hope-pa-radius); border:2px solid #eee2c0; background:#fff; font-weight:700;
	font-family:inherit; cursor:pointer;
}
.profil-toggle button.actif{ border-color:var(--hope-pa-or); background:var(--hope-pa-ecru-2); color:var(--hope-pa-or-fonce); }

/* ---------- Formulaires ---------- */
.form-carte{
	background:#fff; border-radius:var(--hope-pa-radius-lg); padding:36px; box-shadow:var(--hope-pa-ombre);
	max-width:640px; margin:0 auto;
}
.champ{ margin-bottom:18px; }
.champ label{ display:block; font-weight:600; font-size:.85rem; margin-bottom:6px; }
.champ input, .champ select, .champ textarea{
	width:100%; padding:12px 14px; border:1px solid #ddd0a5; border-radius:var(--hope-pa-radius);
	font-family:inherit; background:var(--hope-pa-ecru); font-size:.9rem;
}
.champ textarea{ resize:vertical; }
.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:14px 28px; border-radius:var(--hope-pa-radius);
	font-weight:700; font-size:.95rem; border:none; cursor:pointer;
	transition:transform .15s ease, box-shadow .15s ease, background .2s;
	font-family:inherit;
}
.btn-or{ background:linear-gradient(135deg,var(--hope-pa-or),#c99a2e); color:#fff; box-shadow:var(--hope-pa-ombre); }
.btn-or:hover{ transform:translateY(-2px); box-shadow:var(--hope-pa-ombre-hover); }
.btn-bloc{ width:100%; }

.hope-pa-honeypot{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

.encadre-legal{
	background:var(--hope-pa-ecru-2); border-left:4px solid var(--hope-pa-or); border-radius:0 var(--hope-pa-radius) var(--hope-pa-radius) 0;
	padding:16px 20px; font-size:.85rem; color:var(--hope-pa-ardoise-douce); margin:24px 0;
}

/* ---------- Utilitaires ---------- */
.centre{ text-align:center; }
.mt-0{ margin-top:0; }
.petit{ font-size:.8rem; color:var(--hope-pa-ardoise-douce); }
.fil-ariane{ font-size:.82rem; color:var(--hope-pa-ardoise-douce); margin-bottom:18px; }

@media (max-width:900px){
	.hope-pa-livre-or > div,
	.hope-pa-communaute > div{ grid-template-columns:1fr !important; }
}

@media (prefers-reduced-motion: reduce){
	.accordeon-corps, .fleche-acc, .btn{ transition:none !important; }
}
