/* ---------------- Community page ---------------- */
.community-main{ padding:34px clamp(14px, 4vw, 48px) 70px; }
.community-container{ max-width:640px; }
.community-result{ max-width:640px; text-align:center; padding-top:20px; }

.community-title{
  color:var(--blue-dark);
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.6rem, 4vw, 2.3rem);
  margin:0 0 10px;
}
.community-result h1{
  color:var(--blue-dark);
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.5rem, 4vw, 2.1rem);
  margin:0 0 14px;
}
.community-intro{
  color:var(--ink);
  font-size:1rem;
  line-height:1.5;
  margin:0 0 26px;
}
.community-result p{ font-size:1.02rem; line-height:1.55; }
.community-result ul{ text-align:left; display:inline-block; margin:10px 0 0; }
.community-warning{ color:#8a4b00; }

.community-form{
  background:#ffffff;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:clamp(20px, 4vw, 34px);
  display:flex;
  flex-direction:column;
  gap:18px;
}

.field{ display:flex; flex-direction:column; gap:6px; }
.field[hidden]{ display:none; }
.field label, .interests-field legend{
  font-weight:700;
  font-size:0.92rem;
  color:var(--blue-dark);
}
.field .optional{ font-weight:400; color:#6b859c; font-size:0.85rem; }
.field .required{ color:var(--red); }

.field input[type="text"],
.field input[type="email"],
.field select{
  padding:11px 12px;
  border-radius:10px;
  border:1.5px solid #c3d3e2;
  font-size:0.98rem;
  font-family:inherit;
  color:var(--ink);
  background:#fff;
}
.field input:focus,
.field select:focus{
  outline:none;
  border-color:var(--blue-dark);
  box-shadow:0 0 0 3px rgba(33,95,154,0.18);
}
.field input[aria-invalid="true"]{ border-color:var(--red); }

.field-error{
  color:var(--red);
  font-size:0.82rem;
  margin:2px 0 0;
}

.interests-field{ border:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.interests-field legend{ padding:0; }
.interests-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px 14px;
}
.check-option{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
  font-size:0.92rem;
  color:var(--ink);
  cursor:pointer;
}
.check-option input{ width:17px; height:17px; flex:none; accent-color:var(--blue-dark); }

.community-submit{ display:flex; justify-content:center; margin-top:6px; }

@media (max-width: 520px){
  .interests-grid{ grid-template-columns:1fr; }
}
