/* Community A only. The shared site chrome and theme stay in their own files.
   Petrol Magenta v1; approved exception: flat, white idea cards. */
:is(.free-community, .community-page) {
  --ca-bg: #f4f5f7;
  --ca-surface: #fff;
  --ca-ink: #191718;
  --ca-copy: #3d3f44;
  --ca-meta: #55585e;
  --ca-petrol: #009999;
  --ca-petrol-text: #1f6a76;
  --ca-magenta: #b5175b;
  --ca-senf: #f3d849;
  --ca-line: rgba(25, 23, 24, .1);
  --ca-soft-line: rgba(25, 23, 24, .07);
}
:is(.free-community, .community-page) :is(.free-community__hero,
  .free-community__apps, .community-dashboard, .community-ideas,
  .community-idea-detail, .community-a__submission, .free-community__modal-panel) {
  box-sizing: border-box;
  width: min(77.5rem, calc(100% - 4rem));
  max-width: none;
  margin: 3rem auto 0;
  color: var(--ca-copy);
  font: 400 1.0625rem/1.55 "Lexend", system-ui, sans-serif;
  text-align: start;
}
:is(.free-community, .community-page) :is(h1, h2, h3, p) { overflow-wrap: anywhere; }
:is(.free-community, .community-page) :is(.free-community__hero,
 .community-dashboard, .community-ideas, .community-idea-detail,
 .community-a__submission, .free-community__apps, .free-community__modal-panel) :is(h1, h2, h3) {
  color: var(--ca-ink);
  font-family: "Lexend", system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -.015em;
}
:is(.free-community, .community-page) :is(.free-community__title,
 .community-dashboard__title, .community-ideas__title, .community-idea-detail__title) {
  max-width: 46rem;
  margin: .6rem 0 1.25rem;
  font-size: clamp(1.6rem, 3vw, 2rem);
  line-height: 1.2;
}
:is(.free-community, .community-page) :is(h2, .community-idea-detail__section-title) {
  font-size: 1.5rem;
  line-height: 1.3;
}
:is(.free-community, .community-page) :is(.community-a__kicker) {
  margin: 0;
  font: 600 .85rem/1.2 "Lexend", system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ca-magenta);
}
:is(.free-community, .community-page) :is(.free-community__lead,
 .community-dashboard__subtitle, .community-ideas__lead) {
  margin: 0 0 1.5rem;
  max-width: 46rem;
  color: var(--ca-copy);
  font-size: 1.0625rem;
  line-height: 1.55;
}
:is(.free-community, .community-page) :is(.community-dashboard,
 .community-ideas, .community-idea-detail, .community-a__submission,
 .free-community__hero, .free-community__apps) a {
  color: var(--ca-petrol-text);
  text-underline-offset: .2em;
}
:is(.free-community, .community-page) :is(.community-dashboard,
 .community-ideas, .community-idea-detail, .community-a__submission,
 .free-community__hero, .free-community__apps) :focus-visible {
  outline: 2px solid var(--ca-petrol);
  outline-offset: 2px;
}
:is(.free-community, .community-page) :is(.btn, .free-community__submit,
 .free-community__context-actions button) {
  box-sizing: border-box;
  display: inline-flex;
  gap: .7rem;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .65rem 1.15rem;
  border: 1px solid var(--ca-line);
  border-radius: 10px;
  background: var(--ca-surface);
  color: var(--ca-ink);
  font: 500 .95rem/1.3 "Lexend", system-ui, sans-serif;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}
:is(.free-community, .community-page) .free-community__context-actions button {
  min-height: 48px;
}
:is(.free-community, .community-page) :is(.community-a__create,
 .free-community__submit, .free-community__context-actions button) {
  background: var(--ca-magenta);
  border-color: transparent;
  color: #fff;
  font-weight: 600;
}
:is(.free-community, .community-page) :is(.btn, .free-community__submit,
 .free-community__context-actions button):hover {
  filter: brightness(1.18);
  text-decoration: underline;
}
:is(.free-community, .community-page) button:disabled { opacity: .55; cursor: default; }
:is(.free-community, .community-page) :is(.community-dashboard__actions,
 .free-community__composer-row, .community-idea-detail__vote) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-block: 1.5rem;
}
:is(.free-community, .community-page) :is(.community-dashboard__ideas,
 .community-ideas__list, .free-community__ideas, .community-a__empty,
 .free-community__samples) { margin-top: 3rem; }
:is(.free-community, .community-page) :is(.community-dashboard__idea-list,
 .community-ideas__items) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  list-style: none;
  padding: 0;
  margin: 1.25rem 0;
  background: transparent;
  border: 0;
}
:is(.free-community, .community-page) :is(.community-dashboard__idea,
 .community-ideas__item, .free-community__idea, .community-a__empty,
 .community-dashboard__empty, .community-ideas__empty,
 .free-community__composer, .free-community__modal-panel,
 .community-ideas__composer, .community-a__next,
 .community-idea-detail__report, .community-idea-detail__comments) {
  box-sizing: border-box;
  padding: 1.25rem 1.5rem;
  background: var(--ca-surface);
  color: var(--ca-copy);
  border: 1px solid var(--ca-line);
  border-radius: 12px;
  box-shadow: none;
}
:is(.free-community, .community-page) :is(.community-dashboard__idea-link,
 .community-ideas__item-link) {
  display: flex;
  gap: 1rem;
  align-items: baseline;
  justify-content: space-between;
  color: var(--ca-ink);
}
:is(.free-community, .community-page) :is(.community-dashboard__idea-title,
 .community-ideas__item-title, .free-community__idea h3) {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.3;
}
:is(.free-community, .community-page) :is(.community-a__excerpt,
 .community-dashboard__idea-audience, .community-ideas__item-audience,
 .community-idea-detail__created, .community-idea-detail__audience) {
  color: var(--ca-meta);
  font-size: .93rem;
  line-height: 1.6;
}
:is(.free-community, .community-page) .community-a__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
:is(.free-community, .community-page) :is(.community-dashboard__idea-score,
 .community-ideas__item-score) {
  color: var(--ca-meta);
  font-size: .85rem;
  white-space: nowrap;
}
.free-community .free-community__idea { margin-top: 1rem; }
:is(.free-community, .community-page) .community-a__submission {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
  margin-top: 6rem;
}
.community-page .community-a__submission { width: 100%; }
:is(.free-community, .community-page) :is(.free-community__composer,
 .community-ideas__composer) { margin: 0; width: 100%; }
:is(.free-community, .community-page) :is(form, .community-a__submission > div) { min-width: 0; }
:is(.free-community, .community-page) :is(input:not([type="hidden"], [type="checkbox"], [type="radio"]),
 textarea, select) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: .7rem .8rem;
  border: 1px solid #767676;
  border-radius: 10px;
  background: var(--ca-surface);
  color: var(--ca-ink);
  font: 400 1rem/1.55 "Lexend", system-ui, sans-serif;
}
:is(.free-community, .community-page) textarea { resize: vertical; }
:is(.free-community, .community-page) :is(input, textarea)::placeholder { color: var(--ca-meta); opacity: 1; }
:is(.free-community, .community-page) label {
  display: block;
  font: 500 .95rem/1.4 "Lexend", system-ui, sans-serif;
  color: var(--ca-copy);
}
:is(.free-community, .community-page) :is(.community-ideas__field,
 .community-idea-detail__comment-form, .community-idea-detail__report-form) {
  display: grid;
  gap: .6rem;
  margin-block: 1.25rem;
}
:is(.free-community, .community-page) .community-a__steps {
  display: grid;
  gap: 1rem;
  padding: 0;
  list-style: none;
}
:is(.free-community, .community-page) .community-a__steps li {
  display: flex;
  align-items: baseline;
  gap: .75rem;
}
:is(.free-community, .community-page) .community-a__steps li > span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #1f7391;
  color: #fff;
  font-size: .95rem;
  font-weight: 600;
}
:is(.free-community, .community-page) .community-a__steps li:nth-child(2) > span { background: var(--ca-magenta); }
:is(.free-community, .community-page) .community-a__steps li:nth-child(3) > span { background: var(--ca-senf); color: var(--ca-ink); }
:is(.free-community, .community-page) .community-a__steps :is(h3, p) { margin: 0 0 .4rem; }
:is(.free-community, .community-page) :is(.free-community__notice,
 .community-ideas__notice, .community-idea-detail__notice) {
  margin: 1.5rem 0;
  padding: 1.1rem 1.25rem;
  background: var(--ca-senf);
  color: var(--ca-ink);
  border: 0;
  border-radius: 12px;
}
:is(.free-community, .community-page) :is(.free-community__error,
 .community-ideas__error, .community-idea-detail__error) { color: #a32020; font-size: .93rem; }
:is(.free-community, .community-page) .free-community__modal-panel {
  max-width: 46rem;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}
.free-community .free-community__question { padding-block: 1rem; border-bottom: 1px solid var(--ca-soft-line); }
.free-community .free-community__question h3 { font-size: 1.1rem; }
.free-community .free-community__question p { color: var(--ca-meta); }
.free-community .free-community__choices label { border: 1px solid var(--ca-line); border-radius: 10px; }
.free-community .free-community__choices input { accent-color: var(--ca-petrol); }
.free-community .free-community__samples button { border: 1px solid var(--ca-line); border-radius: 10px; font-family: "Lexend", system-ui, sans-serif; }
.free-community .free-community__samples p { font: 500 .85rem/1.55 "Lexend", system-ui, sans-serif; color: var(--ca-meta); }
.free-community .free-community__handle { flex: 1 1 12rem; }
.free-community .free-community__apps { margin-top: 6rem; margin-bottom: 3rem; }
.free-community a.free-community__app { color: var(--ca-petrol-text); font: 500 1rem/1.5 "Lexend", system-ui, sans-serif; }
.community-page .community-idea-detail__description { max-width: 46rem; white-space: pre-wrap; }
.community-page :is(.community-idea-detail__report, .community-idea-detail__comments) { margin-block: 2rem; }
.community-page :is(.community-idea-detail__thread-list, .community-idea-detail__reply-list) { list-style: none; padding: 0; }
.community-page .community-idea-detail__thread { padding-block: 1.25rem; border-top: 1px solid var(--ca-soft-line); }
.community-page .community-idea-detail__reply { padding-left: 1.25rem; border-left: 1px solid var(--ca-soft-line); }
.community-page .community-idea-detail__comment-body { white-space: pre-wrap; }
.community-page :is(.community-idea-detail__comment-author, .community-idea-detail__score) { color: var(--ca-ink); font-weight: 600; }
@media (max-width: 760px) {
 :is(.free-community, .community-page) :is(.free-community__hero,
 .free-community__apps, .community-dashboard, .community-ideas,
 .community-idea-detail, .community-a__submission) { width: calc(100% - 2rem); margin-top: 2rem; }
 .community-page .community-a__submission { width: 100%; }
 :is(.free-community, .community-page) :is(.community-dashboard__idea-list,
 .community-ideas__items, .community-a__submission) { grid-template-columns: minmax(0, 1fr); }
 .free-community .free-community__submit { width: 100%; }
}
/* Clear fixed dimensions and legacy band colour observed in real screenshots. */
.free-community .free-community__submit { width: auto; min-width: 8rem; flex: 0 0 auto; }
.free-community .free-community__carousel { background: var(--ca-surface); border: 1px solid var(--ca-line); border-radius: 12px; }
.free-community a.free-community__app { border-color: var(--ca-soft-line); }
.free-community .free-community__arrow { background: var(--ca-petrol); border: 0; color: #fff; }
@media (max-width: 760px) {
 .free-community .free-community__submit { width: 100%; }
}

/* Modern color roles local to Community. Magenta keeps its exact approved
   sRGB value; the declarations above also support older browsers. */
@supports (color: oklch(60% .11 195)) {
 :is(.free-community, .community-page) {
  --ca-bg: oklch(97% .008 250);
  --ca-ink: oklch(20% .005 250);
  --ca-copy: oklch(34% .008 250);
  --ca-meta: oklch(44% .008 250);
  --ca-petrol: oklch(60% .11 195);
  --ca-petrol-text: oklch(44% .10 195);
  --ca-magenta: #b5175b;
  --ca-senf: oklch(88% .16 92);
  --ca-line: color-mix(in oklch, var(--ca-ink) 10%, transparent);
  --ca-soft-line: color-mix(in oklch, var(--ca-ink) 7%, transparent);
 }
}
:is(.free-community, .community-page) a.community-a__create { color: #fff; }
:is(.free-community, .community-page) .community-a__steps h3 { font-size: 1.1rem; }
:is(.free-community, .community-page) .community-a__steps li + li {
 border-top: 1px solid var(--ca-soft-line);
 padding-top: 1rem;
}
:is(.free-community, .community-page) :is(.community-dashboard__idea-link,
 .community-ideas__item-link):hover { background: rgba(0, 153, 153, .06); }
:is(.free-community, .community-page) :is(.community-dashboard__idea-link,
 .community-ideas__item-link) { text-decoration: none; }
:is(.free-community, .community-page) :is(.community-dashboard__idea-link,
 .community-ideas__item-link):hover :is(.community-dashboard__idea-title,
 .community-ideas__item-title) { text-decoration: underline; }
.free-community .free-community__samples > div,
.free-community .community-a__public-ideas {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 1.25rem;
}
.free-community .free-community__samples button {
 padding: 1.25rem 1.5rem;
 border-radius: 12px;
 color: var(--ca-ink);
 text-align: start;
 font-size: 1.1rem;
 font-weight: 600;
 line-height: 1.3;
 box-shadow: none;
}
.free-community .free-community__samples button:hover { background: rgba(0, 153, 153, .06); }
.free-community .community-a__public-ideas .free-community__idea { margin-top: 0; }
.free-community .free-community__modal-panel { width: min(46rem, 100%); margin: auto; }
.free-community .free-community__modal-panel :focus-visible {
 outline: 2px solid var(--ca-petrol);
 outline-offset: 2px;
}
.free-community .free-community__arrow {
 font: 600 .95rem/1.3 "Lexend", system-ui, sans-serif;
}
@media (max-width: 760px) {
 .free-community .free-community__samples > div,
 .free-community .community-a__public-ideas { grid-template-columns: 1fr; }
}
:is(.free-community, .community-page) { background: var(--ca-bg); }
.community-page :is(a.community-dashboard__idea-link, a.community-ideas__item-link) {
 color: var(--ca-ink);
}
.free-community a.free-community__app { background: var(--ca-surface); }
.free-community .free-community__question {
 border-block-start: 0;
 border-bottom: 1px solid var(--ca-soft-line);
}
.free-community .free-community__question header span {
 font: 500 .85rem/1.2 "Lexend", system-ui, sans-serif;
 color: var(--ca-meta);
}
.free-community .free-community__modal-lead { color: var(--ca-copy); font-size: 1.0625rem; }
