/* Reading and writing screens share the homepage palette and spacing scale.
 * Preserve native disclosure, form state, data and the existing reading order.
 * Gold belongs to rating icons only; primary actions keep the leaf brand color.
 */
body.public-community,
.site-refresh #faq {
  --community-ink: #202b28;
  --community-muted: #555e59;
  --community-line: #dce4df;
  --community-leaf: #456e25;
  --community-sky: #1d6398;
  --community-sky-surface: #f1f7fb;
  --community-leaf-surface: #eef5e7;
  --community-rating: #b7790b;
  --community-rating-surface: #fff8e8;
}
body.public-community { background: #fdfefd; }
body.public-community.public-faq { background: #f7faf8; }
body.public-page.public-community main h1,
.site-refresh #faq h2 {
  color: var(--community-ink);
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.3;
  letter-spacing: -.025em;
}
body.public-community main > section > h2 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.4;
  letter-spacing: -.025em;
}
body.public-community main > section:first-child > h1 + p:not(.flex) {
  max-width: 65ch;
  margin-top: 1.25rem;
  font-size: 1rem;
  line-height: 1.8;
}
body.public-community main .text-stone-500 { color: var(--community-muted); }
body.public-community main :is(input, textarea)::placeholder { color: #69736d; }
body.public-community main a { text-underline-offset: .2em; }
body.public-community .badge-new {
  border: 1px solid #caddec;
  background: #eaf2f8;
  color: var(--community-sky);
  box-shadow: none;
  animation: none;
}

/* FAQ is one document with expandable answers, rather than repeated cards. */
.site-refresh #faq-list,
body.public-community.public-faq #faq-list { border-color: var(--community-line); }
.site-refresh #faq-list > details,
body.public-community.public-faq #faq-list > details {
  padding-inline: 1.25rem;
  border-color: var(--community-line);
}
.site-refresh #faq-list > details[open],
body.public-community.public-faq #faq-list > details[open] { background: #fdfefd; }
.site-refresh #faq-list summary,
body.public-community.public-faq #faq-list summary {
  min-height: 64px;
  gap: 1.25rem;
  padding-block: 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--community-ink);
}
.site-refresh #faq-list summary > span,
body.public-community.public-faq #faq-list summary > span { flex-shrink: 0; }
.site-refresh #faq-list summary:hover,
.site-refresh #faq-list details[open] > summary,
body.public-community.public-faq #faq-list summary:hover,
body.public-community.public-faq #faq-list details[open] > summary { color: var(--community-leaf); }
.site-refresh #faq-list details > p,
body.public-community.public-faq #faq-list details > p {
  max-width: 70ch;
  padding-bottom: 1.5rem;
  font-size: 1rem;
  line-height: 1.85;
  color: var(--community-muted);
  overflow-wrap: anywhere;
}
body.public-community.public-faq main > section { margin-top: 2.5rem; }

/* Lists retain whole-row links, status badges and untruncated titles. */
body.public-community.public-notice:not(.public-article) main > section > ul,
body.public-community.public-qna:not(.public-article) main > section > ul { border-color: var(--community-line); }
body.public-community.public-notice:not(.public-article) main > section > ul > li {
  padding: 1.5rem 1rem;
  border-color: var(--community-line);
  transition: background-color .18s ease;
}
body.public-community.public-notice:not(.public-article) main > section > ul > li:hover { background: var(--community-sky-surface); }
body.public-community .notice-list-title { font-size: 1.375rem; line-height: 1.5; }
body.public-community.public-notice main > section > ul > li > p:not(.flex) { margin-top: .75rem; font-size: 1rem; line-height: 1.8; }
body.public-community.public-qna:not(.public-article) main > section > ul > li { border-color: var(--community-line); }
body.public-community.public-qna:not(.public-article) main > section > ul > li > a { padding: 1.25rem 1rem; }
body.public-community.public-qna:not(.public-article) main > section > ul > li > a:hover { background: var(--community-sky-surface); }
body.public-community.public-qna main .break-all { word-break: keep-all; overflow-wrap: anywhere; }
body.public-community.public-qna .qna-body { font-size: 1rem; line-height: 1.85; }
body.public-community.public-qna #answer > div { padding: 1.5rem; border-color: var(--community-line); background: var(--community-sky-surface); }
body.public-community.public-qna .answer { line-height: 1.85; }
body.public-community.public-article .article > p { line-height: 1.85; }

/* Hidden/loading/error/disabled states are controlled by the existing scripts. */
body.public-community :is(#qna-form, #review-panel) {
  margin-top: 1.5rem;
  border-color: var(--community-line);
  border-radius: 16px;
  background: var(--community-sky-surface);
  padding: 1.75rem;
}
body.public-community :is(#qna-form, #review-form) label { line-height: 1.65; }
body.public-community :is(#qna-form, #review-form) textarea { font-size: 1rem; line-height: 1.8; }
body.public-community :is(#qna-form, #review-form) :is(input:not([type="checkbox"]):not([type="radio"]), select) { min-height: 44px; font-size: 1rem; }
body.public-community #qna-secret-pw { border-left-width: 1px; border-color: #b8cbc0; }
body.public-community #qna-secret { accent-color: var(--community-leaf); color: var(--community-leaf); }
body.public-community main :is(button[class~="bg-amber-700"], a[class~="bg-amber-700"]) { min-height: 48px; }
body.public-community main button[class~="bg-amber-700"]:not(:disabled),
body.public-community main a[class~="bg-amber-700"]:not([aria-disabled="true"]) { background: var(--community-leaf); color: #fff; }
body.public-community main button[class~="bg-amber-700"]:not(:disabled):hover,
body.public-community main a[class~="bg-amber-700"]:not([aria-disabled="true"]):hover { background: #39591f; }
body.public-community :is(#qna-cancel, #review-cancel) { min-height: 48px; }

/* Rating summaries use gold locally; the score and accessible wording stay intact. */
body.public-community.public-reviews :is(.review-summary.rounded-2xl, .review-summary > div.rounded-2xl) {
  border-color: #e8d7a8;
  border-radius: 16px;
  background: var(--community-rating-surface);
  padding: 1.5rem;
}
body.public-community.public-reviews .review-summary > div.rounded-2xl > p:first-child { flex-wrap: wrap; min-width: 0; }
body.public-community.public-reviews :is(.review-summary, .review-products, .review-entries) span[aria-hidden="true"].text-amber-500 {
  color: var(--community-rating);
  white-space: nowrap;
  letter-spacing: .04em;
}
body.public-community.public-reviews :is(.review-summary, .review-entries) [role="img"] > svg.text-amber-500 { color: var(--community-rating); }
body.public-community.public-reviews .review-products > div { gap: 1.25rem; }
body.public-page.public-community.public-reviews .review-products > div > a {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border-color: var(--community-line);
  border-radius: 16px;
  background: #fff;
  transition: border-color .18s ease, background-color .18s ease;
}
body.public-page.public-community.public-reviews .review-products > div > a:hover { border-color: #97b880; background: var(--community-sky-surface); }
body.public-community.public-reviews .review-products > div > a > p:first-child { font-size: 1.25rem; line-height: 1.5; }
body.public-community.public-reviews .review-products > div > a > p:nth-child(2) { margin-top: .5rem; font-size: .875rem; line-height: 1.75; }
body.public-community.public-reviews .review-products > div > a > p:last-child { margin-top: auto; padding-top: 1rem; }
body.public-community.public-reviews .review-entries { border-color: var(--community-line); }
body.public-community.public-reviews .review-entries > li { border-color: var(--community-line); padding: 1.75rem .5rem; }
body.public-page.public-community.public-reviews .review-entries .review-body { max-width: 70ch; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
body.public-community.public-reviews .review-entries .reply { line-height: 1.8; }
body.public-community.public-reviews .bg-emerald-100 { background: #e4efd9; color: var(--community-leaf); }
body.public-community.public-reviews .review-write.rounded-2xl { padding: 1.75rem; border-color: #d7e5c8; background: var(--community-leaf-surface); }
body.public-community.public-reviews #review-form fieldset label { min-height: 44px; }
body.public-community.public-reviews #review-form input[name="rating"] { accent-color: var(--community-rating); color: var(--community-rating); }
body.public-community.public-reviews #review-form fieldset label:has(> input[name="rating"]:checked) { border-color: var(--community-rating); background: var(--community-rating-surface); color: var(--community-ink); }

@media (max-width: 767px) {
  .site-refresh #faq-list > details,
  body.public-community.public-faq #faq-list > details { padding-inline: .75rem; }
  .site-refresh #faq-list summary,
  body.public-community.public-faq #faq-list summary { gap: 1rem; font-size: 1rem; }
  body.public-community.public-notice:not(.public-article) main > section > ul > li { padding-inline: .5rem; }
  body.public-community .notice-list-title { font-size: 1.25rem; }
  body.public-community.public-qna:not(.public-article) main > section > ul > li > a { padding-inline: .5rem; }
  body.public-community :is(#qna-form, #review-panel),
  body.public-community.public-reviews .review-write.rounded-2xl { padding: 1.25rem; }
  body.public-page.public-community.public-reviews .review-products > div > a { padding: 1.25rem; }
  body.public-community.public-reviews .review-entries > li { padding-block: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.public-community.public-notice main > section > ul > li,
  body.public-page.public-community.public-reviews .review-products > div > a { transition: none; }
}
