/* ==========================================================================
   Espace citoyen : page d'accueil des services, fiches (agenda, marché,
   nécrologie, sondage), consultation.
   ========================================================================== */

.pa-citizen { padding-block: var(--pa-space-6) var(--pa-space-16); }
.pa-citizen__header { display: grid; justify-items: start; gap: var(--pa-space-3); margin-block: var(--pa-space-4) var(--pa-space-8); }
.pa-citizen__header h1 { display: flex; align-items: center; gap: .35em; }
.pa-citizen__header h1::before { content: ""; flex: none; width: 10px; height: .85em; background: var(--pa-red); }
.pa-citizen__published { color: var(--pa-ink-3); font-size: var(--pa-text-sm); }
.pa-citizen__intro { max-width: var(--pa-narrow); margin-bottom: var(--pa-space-10); }
.pa-citizen__image { margin-bottom: var(--pa-space-8); }
.pa-citizen__image img { width: 100%; max-height: 70vh; object-fit: contain; background: var(--pa-surface); border-radius: var(--pa-radius-lg); }
.pa-citizen__image figcaption { margin-top: var(--pa-space-2); color: var(--pa-ink-3); font-size: var(--pa-text-sm); }
.pa-citizen__details { display: grid; gap: 0; margin-bottom: var(--pa-space-8); padding: var(--pa-space-2) var(--pa-space-6); background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius); }
.pa-citizen__details > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--pa-space-4); padding-block: .8rem; border-bottom: 1px solid var(--pa-line); }
.pa-citizen__details > div:last-child { border-bottom: 0; }
.pa-citizen__details dt { color: var(--pa-ink-3); font-size: var(--pa-text-sm); font-weight: 600; }
.pa-citizen__details dd { margin: 0; color: var(--pa-ink); overflow-wrap: anywhere; white-space: pre-line; }
.pa-citizen__details a { color: var(--pa-red-ink); text-decoration: underline; text-underline-offset: .18em; }
.pa-citizen__content:empty { display: none; }
.pa-citizen__notice { padding: var(--pa-space-4) var(--pa-space-5); background: var(--pa-surface); border-left: 4px solid var(--pa-yellow); border-radius: var(--pa-radius-sm); color: var(--pa-ink-1); }
.pa-citizen__back, .pa-citizen__pages { margin-top: var(--pa-space-10); }
.pa-citizen__pages { display: flex; gap: var(--pa-space-3); }
@media (max-width: 479px) {
  .pa-citizen__details { padding-inline: var(--pa-space-4); }
  .pa-citizen__details > div { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
}

/* Sondage */
.pa-poll { margin-top: var(--pa-space-10); padding: var(--pa-space-6); background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius-lg); }
.pa-poll h2 { text-transform: uppercase; }
.pa-poll h3 { font-size: 1.15rem; text-transform: uppercase; letter-spacing: .04em; }
.pa-poll [hidden] { display: none !important; }
.pa-poll__form { display: grid; gap: var(--pa-space-5); margin-block: var(--pa-space-5); }
.pa-poll__form > button { justify-self: start; }
.pa-poll__choices { border: 0; padding: 0; min-width: 0; }
.pa-poll__choices > div { display: grid; gap: var(--pa-space-3); }
.pa-poll__choice { display: flex; align-items: flex-start; gap: var(--pa-space-3); padding: var(--pa-space-4); background: var(--pa-surface-2); border: 1px solid var(--pa-line-strong); border-radius: 8px; color: var(--pa-ink-1); font-size: var(--pa-text-base); font-weight: 500; cursor: pointer; }
.pa-poll__choice:hover { border-color: var(--pa-ink-3); }
.pa-poll__choice:has(input:checked) { border-color: var(--pa-red); background: var(--pa-accent-soft); color: var(--pa-ink); }
.pa-poll__choice input { flex: none; margin-top: .2em; width: 1.15rem; height: 1.15rem; accent-color: var(--pa-red); }
.pa-poll__choices:disabled, .pa-poll button:disabled { opacity: .6; cursor: wait; }
.pa-poll__status { margin-block: var(--pa-space-4); color: var(--pa-ink-2); }
.pa-poll__status:empty { display: none; }
.pa-poll__results { margin-top: var(--pa-space-6); }
.pa-poll__total { margin-block: .3rem var(--pa-space-5); color: var(--pa-ink-3); font-size: var(--pa-text-sm); }
.pa-poll__result-list { display: grid; gap: var(--pa-space-4); }
.pa-poll__result-label { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; margin-bottom: .35rem; font-size: var(--pa-text-sm); color: var(--pa-ink); }
.pa-poll__result-label > span:last-child { color: var(--pa-ink-3); font-variant-numeric: tabular-nums; }
.pa-poll meter { display: block; width: 100%; height: 12px; border-radius: 6px; background: var(--pa-surface-3); accent-color: var(--pa-red); }
.pa-poll meter::-webkit-meter-bar { background: var(--pa-surface-3); border: 0; border-radius: 6px; }
.pa-poll meter::-webkit-meter-optimum-value { background: var(--pa-red); border-radius: 6px; }
.pa-poll meter::-moz-meter-bar { background: var(--pa-red); border-radius: 6px; }
.pa-poll__refresh { margin-top: var(--pa-space-5); padding-block: var(--pa-space-2); color: var(--pa-highlight); font-size: var(--pa-text-sm); text-decoration: underline; text-underline-offset: .2em; }
