.editorial-form-page > h1 { text-align: center; text-wrap: balance; }
.editorial-form {
  gap: .2rem;
  padding: clamp(1.2rem, 4vw, 2rem);
  border: 1px solid #d9e4dc;
  background: #fffdf9;
}
.editorial-form .form-label { display: block; margin-bottom: .4rem; }
.editorial-form .form-control {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.editorial-form textarea.form-control { min-height: 10rem; resize: vertical; }
.editorial-form .form-check { display: flex; align-items: flex-start; gap: .65rem; }
.editorial-form .form-check-input { flex: 0 0 auto; margin: .3rem 0 0; }
.editorial-form .form-check-label { font-weight: 500; line-height: 1.45; }
.editorial-form-submit { display: block; width: fit-content; max-width: 100%; margin: .5rem auto 0; }
@media (max-width: 575px) {
  .editorial-form-submit { width: 100%; }
}

.community-writer-header { text-align: center; margin: 0 auto 1.5rem; max-width: 40rem; }
.community-writer-header h1 { margin: .6rem 0; text-wrap: balance; }
.community-writer-header p { color: #46606a; }
.community-writer-form { border: 1px solid #d9e4dc; border-radius: 1.2rem; background: #fffdf9; padding: clamp(1rem, 4vw, 2rem); box-shadow: 0 10px 28px #1034480b; }
.community-writer-main { padding: .3rem 0 1rem; }
.community-writer-field { margin-bottom: 1.2rem; }
.community-writer-field label { display: block; color: #42606a; font-size: .9rem; margin-bottom: .3rem; }
.community-writer-field .form-control { width: 100%; max-width: 100%; box-sizing: border-box; background: transparent; }
.community-writer-title .form-control { border: 0; border-bottom: 1px solid #c9d7d0; border-radius: 0; padding: .3rem 0 .6rem; font-family: Georgia,serif; font-size: clamp(1.5rem, 5vw, 2.25rem); font-weight: 700; line-height: 1.2; }
.community-writer-body .form-control { min-height: 18rem; border: 0; padding: .5rem 0; font-size: 1.1rem; line-height: 1.7; resize: vertical; }
.community-writer-title .form-control:focus,.community-writer-body .form-control:focus { box-shadow: none; border-color: #087c75; }
.community-writer-count { color: #5c7075; font-size: .8rem; text-align: right; margin: .4rem 0 0; }
.community-writer-actions { display: flex; justify-content: center; padding-bottom: 1rem; }
.community-preview[hidden] { display: none; }
.community-preview { margin-bottom: 1.5rem; padding: 1.3rem; border: 1px solid #d9e4dc; border-radius: 1rem; background: #f6faf7; }
.community-preview h2 { margin: .7rem 0; font-family: Georgia,serif; }
.community-preview-body,#community-preview-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
.community-writer-media,.community-writer-publish { padding-top: 1.2rem; border-top: 1px solid #dce7df; }
.community-writer-media h2,.community-writer-publish h2 { font-size: 1.2rem; }
.community-writer-media > p,.community-writer-guidance { color: #4e656c; font-size: .9rem; }
.community-writer-media .form-control,.community-writer-publish .form-control { display: block; width: 100%; max-width: 100%; box-sizing: border-box; }
.community-writer-image-preview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; margin: .7rem 0 1.2rem; }
.community-writer-image-preview img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: .6rem; }
.community-writer-details { margin: 1.1rem 0; }
.community-writer-details summary { cursor: pointer; font-weight: 700; color: #115b61; }
.community-writer-details[open] summary { margin-bottom: 1rem; }
.community-writer-permission { display: flex; gap: .7rem; align-items: flex-start; margin: 1.2rem 0; }
.community-writer-permission .form-check-input { flex: 0 0 auto; margin: .25rem 0 0; }
.community-writer-submit { display: block; margin: 1.2rem auto 0; }
.community-story-gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap: .8rem; margin: 1.5rem 0; }
.community-story-gallery figure { margin: 0; overflow: hidden; border-radius: .8rem; background: #eef3ed; }
.community-story-gallery img { display: block; width: 100%; height: auto; max-height: 28rem; object-fit: contain; }
.community-video-link { padding: 1rem 1.2rem; border: 1px solid #d9e4dc; border-radius: .8rem; background: #f6faf7; }
@media (max-width: 575px) { .community-writer-submit { width: 100%; } }
