/* Woincourt Connect — affichage des infos de la mairie.
   Couleurs du nouveau design : vert sapin, brique, fond clair. */
:root {
	--wcx-vert: #15301F;
	--wcx-vert-2: #2C5E42;
	--wcx-brique: #A33A28;
	--wcx-gris: #4E5B52;
	--wcx-ligne: #E1E7E0;
}

.wcx-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wcx-muted { display: block; color: var(--wcx-gris); font-size: 0.92em; }

.wcx-bandeau { background: var(--wcx-vert); color: #F2F5EF; padding: 10px 20px; text-align: center; }
.wcx-bandeau--alerte { background: var(--wcx-brique); color: #fff; }
.wcx-bandeau p { margin: 0 auto; max-width: 1200px; font-size: 16px; line-height: 1.5; }
.wcx-bandeau a { color: inherit; font-weight: 700; text-decoration: underline; }

.wcx-statut { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; margin: 0; }
.wcx-statut__point { width: 10px; height: 10px; border-radius: 50%; background: var(--wcx-brique); flex-shrink: 0; }
.wcx-statut.is-ouvert .wcx-statut__point { background: var(--wcx-vert-2); box-shadow: 0 0 0 4px rgba(44, 94, 66, 0.18); }

.wcx-horaires { width: 100%; border-collapse: collapse; }
.wcx-horaires th, .wcx-horaires td { padding: 10px 0; border-top: 1px solid var(--wcx-ligne); vertical-align: top; text-align: left; }
.wcx-horaires tr:last-child th, .wcx-horaires tr:last-child td { border-bottom: 1px solid var(--wcx-ligne); }
.wcx-horaires th { font-weight: 500; padding-right: 16px; }
.wcx-horaires td { text-align: right; color: var(--wcx-gris); }
.wcx-note { margin-top: 12px; padding: 10px 14px; background: #FBEFEC; border-radius: 4px; }

.wcx-contact { font-style: normal; display: flex; flex-direction: column; gap: 8px; }
.wcx-contact__tel { font-size: 1.4em; font-weight: 700; color: var(--wcx-vert); }

.wcx-elus { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.wcx-elus li { padding: 14px 16px; border: 1px solid var(--wcx-ligne); border-radius: 8px; background: #fff; }
.wcx-elus__nom { display: block; font-weight: 700; }
.wcx-elus__role { display: block; color: var(--wcx-brique); font-weight: 700; font-size: 0.92em; }

.wcx-agenda { list-style: none; margin: 0; padding: 0; }
.wcx-agenda li { display: flex; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--wcx-ligne); }
.wcx-agenda__date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 56px; height: 60px; flex-shrink: 0; border-radius: 6px; background: var(--wcx-vert); color: #fff; line-height: 1; }
.wcx-agenda__date b { font-size: 1.5em; }
.wcx-agenda__date span { font-size: 0.8em; margin-top: 4px; text-transform: lowercase; }
.wcx-agenda__titre { font-weight: 700; color: var(--wcx-vert); text-decoration: none; }
.wcx-agenda__titre:hover { text-decoration: underline; }

/* Planning des salles */
.wcx-planning { background: #fff; border: 1px solid #D6DDD5; border-radius: 8px; overflow: hidden; }
.wcx-planning__tete { padding: 18px clamp(14px, 2.5vw, 26px); display: flex; flex-direction: column; gap: 14px; border-bottom: 1px solid var(--wcx-ligne); }
.wcx-planning__nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.wcx-planning__semaine { margin: 0; font-weight: 700; text-align: center; }
.wcx-fleche { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #D6DDD5; border-radius: 6px; background: #fff; color: var(--wcx-vert); cursor: pointer; }
.wcx-fleche:hover { border-color: var(--wcx-vert-2); }
.wcx-puces { display: flex; flex-wrap: wrap; gap: 8px; }
.wcx-puce { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 999px; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; background: #fff; color: var(--wcx-vert); border: 1.5px solid #C9D2C8; }
.wcx-puce[aria-pressed="true"] { background: var(--wcx-vert); color: #fff; border-color: var(--wcx-vert); }
.wcx-puce__point { width: 9px; height: 9px; border-radius: 50%; }
.wcx-puce[aria-pressed="true"] .wcx-puce__point { background: #fff !important; }
.wcx-jours { list-style: none; margin: 0; padding: 0; }
.wcx-jour { display: flex; gap: 16px; align-items: flex-start; padding: 14px clamp(14px, 2.5vw, 26px); border-top: 1px solid var(--wcx-ligne); }
.wcx-jour:first-child { border-top: 0; }
.wcx-jour.est-aujourdhui { background: #F5F7F2; box-shadow: inset 4px 0 0 var(--wcx-brique); }
.wcx-jour__date { margin: 0; width: 72px; flex-shrink: 0; line-height: 1.2; }
.wcx-jour__date b { display: block; color: var(--wcx-vert); }
.wcx-jour.est-aujourdhui .wcx-jour__date b { color: var(--wcx-brique); }
.wcx-jour__date span { display: block; font-size: 0.88em; color: var(--wcx-gris); }
.wcx-jour__liste { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.wcx-resa { padding: 10px 14px; border-radius: 4px; }
.wcx-resa p { margin: 0; }
.wcx-resa__salle { font-weight: 700; line-height: 1.3; }
.wcx-resa__detail { font-size: 0.88em; color: var(--wcx-gris); }
.wcx-libre { margin: 0; padding: 8px 0; color: var(--wcx-vert-2); font-weight: 700; font-size: 0.94em; }
.wcx-planning__message { padding: 20px clamp(14px, 2.5vw, 26px); color: var(--wcx-gris); margin: 0; list-style: none; }
.wcx-planning__pied { padding: 16px clamp(14px, 2.5vw, 26px); background: #F5F7F2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.wcx-planning__reserver { margin: 0; }
.wcx-planning__reserver a { color: var(--wcx-vert-2); font-weight: 700; }
.wcx-bouton { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 6px; border: 1.5px solid var(--wcx-vert-2); color: var(--wcx-vert-2); font-weight: 700; text-decoration: none; }
.wcx-bouton:hover { background: #EAF2EC; }
