/* Contributor extension of the LebaneseLegislation family components. */
#community-app { padding-block: 1rem 5rem; min-width: 0; }
.community-view { display: grid; gap: 1.5rem; min-width: 0; }
.community-view h2, .community-view h3, .community-view p { margin: 0; }
.community-message { min-height: 1.6em; margin-block: 0 1rem; overflow-wrap: anywhere; }
.community-toolbar, .community-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.community-toolbar { justify-content: space-between; border-block-end: 1px solid var(--line); padding-block-end: 1rem; }
#community-app .btn { min-height: 44px; height: auto; white-space: normal; padding-block: .65rem; cursor: pointer; }
#community-app button:disabled { opacity: .55; cursor: wait; }
#community-app :focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.community-stats { display: flex; flex-wrap: wrap; gap: 2rem; margin: 0; padding-block: 1rem; border-block-end: 1px solid var(--line); }
.community-stats dt { font-size: .875rem; color: var(--muted); }
.community-stats dd { font-size: 2rem; font-weight: 600; margin: 0; font-variant-numeric: tabular-nums; }
.community-campaign, .community-history { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; padding-block: 1.25rem; border-block-end: 1px solid var(--line); }
.community-campaign > div { flex: 1 1 20rem; min-width: 0; }
.community-campaign h3 { margin-block-end: .5rem; }
.community-history { justify-content: space-between; overflow-wrap: anywhere; }
.community-empty { display: block; padding-block: 1.5rem; }
.community-empty p { margin-block: .75rem; }
.community-form, .community-field, .community-scan { display: grid; gap: .75rem; align-content: start; min-width: 0; }
.community-form { max-width: 48rem; gap: 1.25rem; }
.community-consent { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; min-height: 44px; }
.community-consent input { width: 22px; height: 22px; flex-shrink: 0; accent-color: var(--ink); }
#community-app input:not([type=checkbox]):not([type=range]), #community-app textarea { width: 100%; box-sizing: border-box; padding: .75rem; color: var(--ink); background: var(--surface, transparent); border: 1px solid var(--line-strong); border-radius: 4px; font: inherit; min-height: 44px; }
#community-app textarea { resize: vertical; }
#community-app .community-transcription { font-family: 'Noto Naskh Arabic', serif; font-size: 1.5rem; line-height: 1.9; white-space: pre-wrap; tab-size: 4; text-align: start; }
.community-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.community-image { overflow: auto; max-height: 70vh; border: 1px solid var(--line-strong); background: #fff; direction: ltr; }
.community-image img { display: block; width: 100%; max-width: none; height: auto; }
.community-scan input[type=range] { width: 100%; min-height: 44px; accent-color: var(--ink); }
.community-google { min-height: 44px; max-width: 100%; overflow: hidden; }
@media (max-width: 800px) { .community-workspace { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } .community-image { max-height: 48vh; } }
@media (prefers-reduced-motion: reduce) { #community-app *, #community-app *::before, #community-app *::after { scroll-behavior: auto; transition: none; animation: none; } }
.community-admin { display: grid; gap: 1.5rem; border-block: 1px solid var(--line-strong); padding-block: 1.5rem; }
.community-admin > .community-form + .community-form { border-block-start: 1px solid var(--line); padding-block-start: 1.5rem; }
#community-app select { width: 100%; min-height: 44px; padding: .65rem; color: var(--ink); background: var(--surface); border: 1px solid var(--line-strong); border-radius: 4px; font: inherit; }
#community-app h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; letter-spacing: -.025em; }
#community-app h3 { font-size: 1.125rem; line-height: 1.5; letter-spacing: -.015em; }
:lang(ar) #community-app h2, :lang(ar) #community-app h3 { letter-spacing: 0; }
.community-message:empty { display: none; }
