/* Feedback, community ideas, "Soutenir le projet" and simplified feature switches (docs/COMMUNITY_FEEDBACK.md). */

/* ---------- Feedback form ---------- */
.feedback-kinds { gap: .65rem; }
.feedback-kind { position: relative; min-height: 5.5rem; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .35rem .75rem; padding: .95rem 1rem; border-color: var(--border-soft); background: var(--surface); transition: border-color .15s ease, background-color .15s ease; }
.feedback-kind:hover { border-color: var(--border); }
.feedback-kind input { position: absolute; inset: auto; width: 1px; height: 1px; margin: 0; opacity: 0; }
.feedback-kind:has(input:focus-visible) { outline: 2px solid var(--gold-light); outline-offset: 2px; }
.feedback-kind:has(input:checked) { border-color: var(--gold); background: rgba(212,168,63,.1); box-shadow: inset 0 0 0 1px var(--gold); }
.feedback-kind:has(input:checked)::after { content: "✓"; position: absolute; top: .7rem; right: .7rem; width: 1.3rem; height: 1.3rem; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: #15110a; font-size: .8rem; font-weight: 900; }
.feedback-kind-icon { width: 1.5rem; height: 1.5rem; fill: none; stroke: var(--muted); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.feedback-kind:has(input:checked) .feedback-kind-icon { stroke: var(--gold-light); }
.feedback-kind:has(input:checked) strong { color: var(--gold-light); }
.feedback-kind span { padding-right: 1.4rem; }
.feedback-fields { display: grid; gap: 1rem; }
.feedback-topic-field select { min-height: var(--tap); }

/* The label and hints follow the chosen kind; without :has() support the generic wording stays. */
.feedback-variant:not(.feedback-variant-default) { display: none; }
@supports selector(:has(*)) {
    .feedback-form:has(.feedback-kind input:checked) .feedback-variant-default { display: none; }
    .feedback-form:has(#feedback-bug:checked) .feedback-variant-bug,
    .feedback-form:has(#feedback-improvement:checked) .feedback-variant-improvement,
    .feedback-form:has(#feedback-opinion:checked) .feedback-variant-opinion { display: inline; }
    .feedback-form:not(:has(#feedback-improvement:checked)) .feedback-consent { display: none; }
}
.feedback-consent { padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }

.feedback-similar { display: grid; gap: .6rem; padding: .9rem 1rem; border: 1px solid rgba(212,168,63,.3); border-radius: var(--radius-sm); background: rgba(212,168,63,.05); }
.feedback-similar[hidden] { display: none; }
.feedback-similar-title { margin: 0; color: var(--gold-light); font-weight: 700; }
.feedback-similar ul { margin: 0; padding: 0; list-style: none; display: grid; }
.feedback-similar li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem .9rem; padding: .6rem 0; border-top: 1px solid rgba(212,168,63,.18); }
.feedback-similar li span { min-width: 0; display: grid; gap: .15rem; }
.feedback-similar li small { color: var(--muted); }
.feedback-similar form { margin: 0; }
.feedback-similar .field-hint { margin: 0; }
.feedback-unread { color: var(--gold-light); font-weight: 700; }
.feedback-unread::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .35rem; border-radius: 50%; background: var(--gold); vertical-align: .05rem; }
.feedback-ideas-card { display: grid; gap: .3rem; margin-top: .9rem; padding: 1rem 1.1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; }
.feedback-ideas-card:hover { border-color: var(--gold-dark); }
.feedback-ideas-card span { color: var(--muted); font-size: .92rem; line-height: 1.5; }
.feedback-ideas-link { margin: 0; }

@media (min-width: 48rem) {
    .feedback-fields { grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr); align-items: start; }
}

/* ---------- Community ideas ---------- */
.ideas-heading { align-items: flex-end; }
.ideas-layout { display: grid; gap: 1.5rem; }
.ideas-main { min-width: 0; display: grid; gap: 1rem; align-content: start; }
.ideas-filters { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .15rem; scrollbar-width: thin; }
.ideas-topic-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.ideas-topic-filter label { color: var(--muted); font-size: .9rem; }
.ideas-topic-filter select { width: auto; min-width: 12rem; max-width: 100%; min-height: var(--tap); }
.ideas-topic-filter .button { flex: none; }
.ideas-list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--bg-elevated); }
.idea-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; padding: 1rem; scroll-margin-top: 5rem; }
.idea-row + .idea-row { border-top: 1px solid var(--border-soft); }
.idea-row:target { background: rgba(212,168,63,.06); }
.idea-row.is-declined h3 { color: var(--muted); }
.idea-support-form { margin: 0; }
.idea-support { width: 3.6rem; min-height: 3.8rem; display: grid; place-items: center; align-content: center; gap: .1rem; padding: .35rem; border: 1px solid var(--border); border-radius: .8rem; background: var(--surface); color: var(--text); font: inherit; text-decoration: none; cursor: pointer; }
.idea-support:hover { border-color: var(--gold); }
.idea-support.is-supported { border-color: var(--gold); background: var(--gold); color: #15110a; }
.idea-support.is-static { border-color: var(--border-soft); background: transparent; color: var(--muted); cursor: default; }
.idea-support strong { font-size: 1rem; font-variant-numeric: tabular-nums; }
.idea-support-icon { font-size: .8rem; line-height: 1; }
.idea-body { min-width: 0; display: grid; gap: .4rem; align-content: start; }
.idea-body h3 { margin: 0; font-family: inherit; font-size: 1.05rem; line-height: 1.35; overflow-wrap: anywhere; }
.idea-body p { margin: 0; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.idea-body .idea-note { color: var(--text); font-size: .92rem; }
.idea-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; font-size: .82rem; }
.idea-status { display: inline-flex; align-items: center; padding: .15rem .6rem; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--muted); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.idea-status-planned { border-color: var(--gold-dark); color: var(--gold); }
.idea-status-in_progress { border-color: var(--gold); background: rgba(212,168,63,.12); color: var(--gold-light); }
.idea-status-available { border-color: rgba(119,213,162,.5); background: rgba(119,213,162,.08); color: var(--success); }
.idea-status-declined { border-style: dashed; }
.idea-mine { padding: .15rem .6rem; border-radius: 999px; background: var(--surface-2); color: var(--text); font-weight: 600; }
.ideas-private-note { margin: 0; color: var(--muted); font-size: .9rem; }
.ideas-aside { display: grid; gap: 1rem; align-content: start; }
.ideas-how, .ideas-shipped { padding: 1.1rem 1.2rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--bg-elevated); }
.ideas-how h2, .ideas-shipped h2 { margin: 0 0 .75rem; font-family: inherit; font-size: 1.05rem; }
.ideas-how ol { margin: 0; padding: 0; list-style: none; counter-reset: ideas-step; display: grid; gap: .8rem; }
.ideas-how li { counter-increment: ideas-step; display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); gap: .7rem; color: var(--text); line-height: 1.5; font-size: .94rem; }
.ideas-how li::before { content: counter(ideas-step); width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border: 1px solid var(--gold-dark); border-radius: 50%; color: var(--gold); font-size: .82rem; font-weight: 700; }
.ideas-shipped { border-color: rgba(119,213,162,.35); }
.ideas-shipped h2 { color: var(--success); }
.ideas-shipped ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .6rem; }
.ideas-shipped a { display: grid; gap: .15rem; color: var(--text); text-decoration: none; }
.ideas-shipped small { color: var(--muted); }
.ideas-empty { text-align: left; }

@media (min-width: 64rem) {
    .ideas-layout { grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; }
    .idea-row { padding: 1.2rem 1.3rem; gap: 1.2rem; }
    .idea-support { width: 4rem; min-height: 4rem; }
}

/* ---------- Soutenir le projet ---------- */
.backing-hero { display: grid; gap: 1.25rem; }
.backing-details { display: grid; gap: 1rem; }
.backing-card { padding: 1.2rem 1.3rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--bg-elevated); }
.backing-card h2 { margin: 0 0 .8rem; font-family: inherit; font-size: 1.05rem; }
.backing-cta { display: grid; gap: .9rem; align-content: start; padding: 1.4rem; border: 1px solid var(--gold-dark); border-radius: var(--radius-lg); background: rgba(212,168,63,.05); }
.backing-cta h2 { margin: 0; font-size: 1.7rem; }
.backing-cta p { margin: 0; line-height: 1.55; }
.backing-cta-icon { width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border-radius: .9rem; background: rgba(212,168,63,.14); }
.backing-cta-icon svg { fill: none; stroke: var(--gold-light); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.backing-button { min-height: var(--tap-lg); font-size: 1rem; }
.backing-leave { color: var(--muted); font-size: .88rem; }
.backing-no-perk { padding-top: .9rem; border-top: 1px solid rgba(212,168,63,.22); }
.backing-no-perk span { color: var(--success); font-weight: 800; }
.backing-costs { margin: 0; display: grid; }
.backing-costs div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; padding: .7rem 0; border-top: 1px solid var(--border-soft); }
.backing-costs dt { font-weight: 600; }
.backing-costs dd { margin: 0; color: var(--muted); }
.backing-progress { width: 100%; }
.backing-goal-values { display: flex; justify-content: space-between; gap: 1rem; margin: .6rem 0 0; }
.backing-goal-values strong { color: var(--gold-light); }
.backing-goal-values span { color: var(--muted); }
.backing-ways { display: grid; gap: 1rem; }
.backing-ways h2 { margin: 0 0 .3rem; }
.backing-ways p { margin: 0; color: var(--muted); }
.backing-ways ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .6rem; }
.backing-ways a { min-height: var(--tap); display: grid; gap: .25rem; padding: 1rem 1.1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--bg-elevated); color: var(--text); text-decoration: none; }
.backing-ways a:hover { border-color: var(--gold-dark); }
.backing-ways a span { color: var(--muted); font-size: .92rem; line-height: 1.45; }
.backing-ways a[data-share-done-visible] span { color: var(--success); }
.backing-bottom { display: grid; gap: 1.25rem; }
.backing-thanks { margin: 0 0 .7rem; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; }
.backing-thanks li { padding: .35rem .8rem; border-radius: 999px; background: var(--surface-2); font-size: .92rem; }
.backing-thanks li.is-others { background: transparent; color: var(--muted); }
.backing-faq { display: grid; gap: .6rem; align-content: start; }
.backing-faq h2 { margin: 0 0 .2rem; font-family: inherit; font-size: 1.05rem; }
.backing-faq details { padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--bg-elevated); }
.backing-faq summary { min-height: 1.6rem; cursor: pointer; font-weight: 600; }
.backing-faq details p { margin: .6rem 0 0; color: var(--muted); line-height: 1.55; }

@media (min-width: 64rem) {
    .backing-hero { grid-template-columns: minmax(0, 1fr) 24rem; align-items: start; }
    .backing-hero > .page-heading { grid-column: 1; }
    .backing-cta { grid-column: 2; grid-row: 1 / span 2; }
    .backing-details { grid-column: 1; }
    .backing-ways ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .backing-bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

/* ---------- Member home notices ---------- */
.community-notices { display: grid; gap: .6rem; }
.community-notice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--bg-elevated); color: var(--text); text-decoration: none; }
.community-notice.is-shipped { border-color: rgba(119,213,162,.4); background: rgba(119,213,162,.05); }
.community-notice h2 { margin: 0; font-family: inherit; font-size: .98rem; }
.community-notice p { margin: .15rem 0 0; color: var(--muted); overflow-wrap: anywhere; }
.community-notice-icon { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: .7rem; background: rgba(119,213,162,.12); color: var(--success); font-weight: 900; }
.community-notice-dot { width: .6rem; height: .6rem; border-radius: 50%; background: var(--gold); }
.community-notice-body { min-width: 0; display: grid; gap: .15rem; }
.community-notice-body > span { color: var(--muted); overflow-wrap: anywhere; }
.community-notice-go { color: var(--gold-light); font-weight: 700; white-space: nowrap; }
.community-notice-actions { display: flex; align-items: center; gap: .3rem; margin: 0; }
.community-notice-close { width: var(--tap); height: var(--tap); border: 0; border-radius: .7rem; background: transparent; color: var(--muted); font-size: 1.3rem; cursor: pointer; }
.community-notice-close:hover { background: var(--surface); color: var(--text); }
.backing-reminder { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: .75rem 1rem; border: 1px dashed var(--border-soft); border-radius: var(--radius); color: var(--muted); font-size: .92rem; }
.backing-reminder p { margin: 0; }
.backing-reminder form { margin: 0; }

/* ---------- Administration ---------- */
.admin-switch-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-switch-strip.is-on { border-color: rgba(119,213,162,.4); }
.admin-switch-strip p { margin: 0; color: var(--muted); line-height: 1.5; }
.admin-switch-strip form { margin: 0; }
.admin-switch-state { color: var(--text); font-weight: 800; }
.admin-switch-strip.is-on .admin-switch-state { color: var(--success); }

.admin-feature-group-title { margin: 1.4rem 0 .6rem; font-family: inherit; font-size: 1rem; color: var(--gold-light); }
.admin-feature-group-title:first-of-type { margin-top: .4rem; }
.admin-feature-group-toggle { margin-top: 1.4rem; }
.admin-feature-group-toggle > summary { min-height: var(--tap); display: flex; align-items: center; gap: .5rem; color: var(--gold-light); font-weight: 700; cursor: pointer; }
.admin-feature-rows { margin: 0; padding: 0; list-style: none; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-feature-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; padding: .9rem 1rem; scroll-margin-top: 5rem; }
.admin-feature-row + .admin-feature-row { border-top: 1px solid var(--border-soft); }
.admin-feature-row:target { background: rgba(212,168,63,.06); }
.admin-feature-text { min-width: 0; display: grid; gap: .25rem; }
.admin-feature-name { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin: 0; }
.admin-feature-help { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.admin-feature-meta { margin: 0; color: var(--quiet); font-size: .75rem; overflow-wrap: anywhere; }
.admin-feature-meta code { color: var(--quiet); }
.admin-feature-switch { display: flex; align-items: flex-start; }
.admin-feature-switch form { margin: 0; }
.admin-feature-locked { color: var(--muted); font-size: .85rem; font-weight: 600; white-space: nowrap; }
.admin-feature-row > .admin-feature-card, .admin-feature-row > .admin-feature-protected { grid-column: 1 / -1; }
.admin-feature-row > .admin-feature-card { border: 0; background: transparent; }
.admin-feature-row > .admin-feature-card > summary { min-height: var(--tap); padding: 0; color: var(--muted); font-size: .85rem; font-weight: 600; }
.admin-feature-row > .admin-feature-card[open] > summary { color: var(--gold-light); }
.admin-feature-row > .admin-feature-card > .admin-feature-body { border: 1px solid var(--border-soft); border-radius: var(--radius-sm); }
.admin-switch { min-height: var(--tap); display: inline-flex; align-items: center; gap: .55rem; padding: 0 .2rem; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.admin-switch-track { width: 2.9rem; height: 1.65rem; display: flex; align-items: center; padding: .2rem; border-radius: 999px; background: var(--border-soft); transition: background-color .15s ease; }
.admin-switch-thumb { width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--muted); transition: transform .15s ease; }
.admin-switch.is-on { color: var(--success); }
.admin-switch.is-on .admin-switch-track { background: var(--gold); }
.admin-switch.is-on .admin-switch-thumb { background: #15110a; transform: translateX(1.25rem); }
.admin-switch:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 2px; border-radius: .6rem; }
.admin-feature-confirm { display: grid; gap: .6rem; margin: 1rem 0; padding: 1.1rem 1.2rem; border: 1px solid rgba(255,142,136,.55); border-radius: var(--radius); background: rgba(255,142,136,.06); }
.admin-feature-confirm h2 { margin: 0; font-family: inherit; font-size: 1.1rem; }
.admin-feature-confirm p { margin: 0; line-height: 1.5; }
.admin-feature-confirm form { margin: .3rem 0 0; }

.admin-ideas-page .admin-idea-new > form { display: grid; gap: 1rem; }
.admin-idea-card > summary .idea-status { flex-shrink: 0; }
.support-idea-panel { display: grid; gap: .9rem; }
.support-idea-panel h2 { margin: 0; }
.support-idea-panel p { margin: 0; }
.support-idea-merge { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem; }
.support-idea-merge .field { flex: 1 1 16rem; margin: 0; }
.support-idea-publish > summary { min-height: var(--tap); display: flex; align-items: center; color: var(--gold-light); font-weight: 700; cursor: pointer; }
.support-idea-flag { color: var(--gold-light); font-weight: 700; }
.support-idea-flag.is-consent { color: var(--success); }
.admin-backing-form .admin-control-section { display: grid; gap: .9rem; }
.admin-backing-form .admin-control-section h2 { margin: 0; }
@media (min-width: 48rem) {
    .admin-backing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- Lot 2 (22/09) ---------- */
.support-templates { display: grid; gap: .5rem; margin-bottom: 1rem; }
.support-templates-title { margin: 0; font-weight: 700; }
.support-templates-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.support-templates .field-hint { margin: 0; }
.ideas-pagination { justify-content: center; }
