/* All additions are scoped to collaborators or its news dialogs. */
.fs-collaborators { min-width: 0; }
.fs-collaborators-tabs { display: flex; gap: 8px; padding: 6px; margin-bottom: 24px; width: fit-content; max-width: 100%; border: 1px solid #dce4ec; border-radius: 14px; background: #edf2f7; }
.fs-collaborators-tabs button { border: 0; border-radius: 10px; padding: 12px 24px; background: transparent; color: #526478; font: inherit; font-weight: 700; cursor: pointer; }
.fs-collaborators-tabs button[aria-selected="true"] { background: #0b2847; color: #fff; box-shadow: 0 3px 10px #0b28471a; }
.fs-collaborators [role="tabpanel"][hidden] { display: none; }
.fs-collaborators button:focus-visible, .fs-news-editor-dialog :focus-visible, .fs-news-detail-dialog :focus-visible { outline: 3px solid #b88632; outline-offset: 3px; }
.fs-news .fs-community-heading { margin-bottom: 24px; }
.fs-collaborators .fs-community-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.fs-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.fs-news-card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: stretch; min-width: 0; overflow: hidden; border: 1px solid #dce4ec; border-radius: 18px; background: #fff; box-shadow: 0 5px 18px #0b284708; }
.fs-news-photo { display: block; align-self: stretch; min-width: 0; width: 100%; padding: 0; border: 0; background: #edf2f7; cursor: pointer; }
.fs-news-photo img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 70%; }
.fs-news-no-photo { display: grid; place-items: center; min-height: 180px; background: #edf2f7; color: #708498; font-size: 60px; }
.fs-news-card-body { display: flex; min-width: 0; flex: 1; flex-direction: column; align-items: flex-start; justify-content: center; padding: 16px 18px; gap: 8px; overflow-wrap: anywhere; }
.fs-news-card-body small, .fs-news-detail-text small { color: #586c80; font-size: 12px; }
.fs-news-card-body h2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; color: #0b2847; font-size: 20px; line-height: 1.3; }
.fs-news-summary { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; color: #526478; line-height: 1.6; }
.fs-news-read { margin-top: 4px; padding: 10px 14px; min-height: 44px; border: 1px solid #0b2847; border-radius: 10px; background: #0b2847; color: #fff; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.fs-news-read:hover { background: #173f5a; border-color: #173f5a; }
.fs-news-manage { display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid #e5ebf1; padding-top: 8px; width: 100%; }
.fs-news-manage button, .fs-news-editor button:not(.fs-bulk-primary), .fs-news-detail-text button { padding: 8px 12px; border: 1px solid #dce4ec; border-radius: 8px; background: #fff; color: #0b2847; font: inherit; cursor: pointer; }
.fs-news-manage button.danger { color: #a12d2d; }
.fs-news-detail-dialog { width: min(920px, calc(100vw - 32px)); }
.fs-news-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; padding: 26px; align-items: start; }
.fs-news-detail > img, .fs-news-gallery-main { display: block; width: 100%; max-height: 70vh; object-fit: contain; border-radius: 12px; }
.fs-news-detail-text { min-width: 0; overflow-wrap: anywhere; }
.fs-news-detail-text:only-child { grid-column: 1 / -1; }
.fs-news-full-text { white-space: pre-wrap; color: #31465a; font-size: 16px; line-height: 1.75; }
.fs-news-editor-dialog { width: min(760px, calc(100vw - 32px)); }
.fs-news-editor { padding: 24px; }
.fs-news-editor fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.fs-news-editor label { display: grid; gap: 8px; margin-bottom: 18px; color: #0b2847; font-weight: 600; }
.fs-news-editor input, .fs-news-editor textarea { box-sizing: border-box; width: 100%; min-width: 0; border: 1px solid #c7d3df; border-radius: 9px; padding: 12px; background: #fff; color: #172e45; font: inherit; }
.fs-news-editor textarea { resize: vertical; }
.fs-news-editor footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: 20px; }
.fs-news-image-preview { display: flex; align-items: center; gap: 16px; }
.fs-news-image-preview img { width: 110px; height: 110px; object-fit: contain; border-radius: 10px; }
@media (max-width: 1100px) { .fs-news-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; } .fs-collaborators .fs-community-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 640px) {
  .fs-collaborators-tabs { width: 100%; box-sizing: border-box; }
  .fs-collaborators-tabs button { flex: 1; padding: 12px 16px; }
  .fs-collaborators .fs-community-grid, .fs-news-card { grid-template-columns: minmax(0, 1fr); }
  .fs-news-photo img { position: static; height: auto; min-height: 0; max-height: 220px; aspect-ratio: 16 / 9; }
  .fs-news-no-photo { min-height: 180px; aspect-ratio: 4 / 3; }
  .fs-news-detail { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 18px; }
  .fs-news-detail > img, .fs-news-gallery-main { max-height: 48vh; }
  .fs-news-editor { padding: 16px; }
  .fs-news-card-body { padding: 18px; }
}

/* v96: explicit primary-button styling in the news section and editor. */
#root .fs-news .fs-community-heading { align-items: center; gap: 20px; }
#root .fs-news button.fs-bulk-primary,
#root .fs-news-editor button.fs-bulk-primary {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  box-sizing: border-box;
  flex-shrink: 0;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 20px;
  border: 1px solid #173f5a;
  border-radius: 13px;
  background: linear-gradient(135deg, #173f5a, #0b2847);
  color: #fff;
  box-shadow: 0 4px 12px rgba(11, 40, 71, .16);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
#root .fs-news .fs-news-publish-icon {
  display: inline-flex;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 8px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
  #root .fs-news button.fs-bulk-primary:not(:disabled):hover,
  #root .fs-news-editor button.fs-bulk-primary:not(:disabled):hover {
    background: linear-gradient(135deg, #215470, #123754);
    border-color: #215470;
  }
}
#root .fs-news button.fs-bulk-primary:disabled,
#root .fs-news-editor button.fs-bulk-primary:disabled { opacity: .55; cursor: wait; box-shadow: none; }
@media (max-width: 700px) {
  #root .fs-news .fs-community-heading { align-items: stretch; }
  #root .fs-news button.fs-news-publish { width: 100%; min-height: 50px; padding: 12px 16px; }
  #root .fs-news-editor footer > button { flex: 1 1 auto; min-height: 46px; }
}

/* Gallery in the article; only the cover appears on the card. */
.fs-news-photo { position: relative; }
.fs-news-photo-count { position: absolute; right: 12px; bottom: 12px; padding: 5px 9px; border-radius: 8px; background: #0b2847e6; color: #fff; font-size: 12px; font-weight: 600; }
.fs-news-gallery { min-width: 0; }
.fs-news-gallery-main { height: 380px; background: #f2f5f8; }
.fs-news-gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0; color: #31465a; }
.fs-news-gallery-controls button { min-width: 44px; min-height: 44px; border: 1px solid #cedae5; border-radius: 10px; color: #0b2847; background: #f2f5f8; font: inherit; font-size: 22px; cursor: pointer; }
.fs-news-gallery-thumbnails { display: flex; flex-wrap: wrap; gap: 8px; }
.fs-news-gallery-thumbnails button { padding: 3px; border: 2px solid transparent; border-radius: 9px; background: #f2f5f8; cursor: pointer; }
.fs-news-gallery-thumbnails button[aria-pressed="true"] { border-color: #0b2847; }
.fs-news-gallery-thumbnails img { display: block; width: 56px; height: 56px; object-fit: cover; border-radius: 5px; }
.fs-news-editor .fs-news-add-photos { position: relative; overflow: hidden; margin-bottom: 8px; }
.fs-news-add-photos input[type="file"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.fs-news-photo-help { margin: 0 0 16px; color: #526478; font-size: 13px; line-height: 1.5; }
.fs-news-editor-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fs-news-editor-photo { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 10px; border: 1px solid #dce4ec; border-radius: 12px; }
.fs-news-editor-photo img { width: 100%; height: 110px; object-fit: contain; border-radius: 6px; background: #f2f5f8; }
.fs-news-editor-photo strong { color: #0b2847; font-size: 12px; text-align: center; }
.fs-news-editor-photo button { min-height: 44px; font-size: 12px !important; overflow-wrap: anywhere; }
@media (max-width: 640px) { .fs-news-editor-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fs-news-gallery-main { height: 300px; } }

/* Taller announcement covers; contact details remain in the full announcement. */
.fs-collaborators .fs-community-card .fs-community-open-image { height: 280px; overflow: hidden; }
.fs-collaborators .fs-community-card .fs-community-open-image > img,
.fs-collaborators .fs-community-card .fs-community-open-image > .fs-community-placeholder { width: 100%; height: 100%; }
.fs-collaborators .fs-community-card .fs-community-view { margin-bottom: 0; }
@media (max-width: 640px) {
  .fs-collaborators .fs-community-card .fs-community-open-image { height: 240px; }
}

/* Non-destructive cover framing, shared by cards and the crop editor. */
.fs-news-cover-frame { display: block; position: absolute; inset: 0; overflow: hidden; }
#root .fs-news-cover-frame img { min-height: 0; max-width: none; max-height: none; aspect-ratio: auto; }
.fs-news-crop-editor { padding: 18px; margin: 16px 0 20px; border: 1px solid #dce4ec; border-radius: 12px; background: #f6f8fb; }
.fs-news-crop-editor h3 { margin: 0 0 10px; color: #0b2847; font-size: 18px; }
.fs-news-crop-layout { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 20px; align-items: start; }
.fs-news-crop-preview { position: relative; width: 100%; overflow: hidden; border-radius: 10px; background: #dce4ec; touch-action: none; cursor: grab; user-select: none; }
.fs-news-crop-preview:active { cursor: grabbing; }
.fs-news-crop-preview.is-desktop { aspect-ratio: 4 / 5; }
.fs-news-crop-preview.is-mobile { aspect-ratio: 16 / 9; }
#root .fs-news-crop-preview img { display: block; max-width: none; max-height: none; pointer-events: none; }
.fs-news-crop-controls { min-width: 0; }
.fs-news-editor .fs-news-crop-slider { display: grid; gap: 6px; margin-bottom: 16px; font-size: 14px; }
.fs-news-crop-slider > span { display: flex; justify-content: space-between; gap: 10px; }
.fs-news-crop-slider output { color: #526478; font-weight: 400; white-space: nowrap; }
.fs-news-editor .fs-news-crop-slider input[type="range"] { padding: 0; min-height: 32px; border: 0; background: transparent; accent-color: #0b2847; cursor: pointer; }
.fs-news-crop-formats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.fs-news-editor .fs-news-crop-formats button[aria-pressed="true"] { background: #0b2847; border-color: #0b2847; color: #fff; }
.fs-news-crop-controls > .fs-news-photo-help { margin: 14px 0 0; }
@media (max-width: 640px) {
  .fs-news-cover-frame { position: relative; inset: auto; width: 100%; aspect-ratio: 16 / 9; max-height: 220px; }
  .fs-news-cover-frame img { max-height: none; }
  .fs-news-crop-editor { padding: 14px; }
  .fs-news-crop-layout { grid-template-columns: minmax(0, 1fr); }
  .fs-news-crop-preview { max-width: 260px; justify-self: center; }
}
