/* DCSSC News & Facebook Hub v3.3.6 — compact story cards, wider Facebook, 6px red accent, date filters */
.dc-news-hub { --dc-navy:#17345e; --dc-blue:#236a9f; --dc-accent:#d83c50; color:#24334a; width:100%; max-width:1280px; margin:36px auto; }
.dc-news-hub * { box-sizing:border-box; }
.dc-news-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:28px; align-items:start; }
.dc-news-main, .dc-news-social { min-width:0; }
.dc-news-main { container-type:inline-size; container-name:dc-news-content; }
.dc-news-section-intro { margin:0 0 22px; }
.dc-news-section-intro h2, .dc-news-topline h2 { font-size:clamp(1.55rem,2.5vw,2.15rem); line-height:1.2; margin:7px 0 8px; color:var(--dc-navy); font-weight:750; }
.dc-news-section-intro p { color:#64758b; font-size:0.96rem; margin:0; }
.dc-news-kicker { display:block; color:var(--dc-accent); font-weight:800; font-size:0.72rem; line-height:1.5; letter-spacing:0.12em; text-transform:uppercase; }
.dc-news-filter { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 15px; }
.dc-news-filter a { border:1px solid #d7e0eb; color:var(--dc-navy); background:#fff; border-radius:100px; padding:7px 13px; text-decoration:none; font-size:.82rem; font-weight:700; }
.dc-news-filter a:hover, .dc-news-filter a.is-active { background:var(--dc-navy); color:#fff; border-color:var(--dc-navy); }
.dc-news-search { display:block; margin:0 0 10px; }
.dc-news-search-row { display:flex; align-items:stretch; gap:8px; }
.dc-news-search-row input[type="search"] { flex:1; min-width:0; padding:10px 12px; border:1px solid #d4e0ec; border-radius:9px; background:#fff; font-size:.94rem; color:#293c53; }
.dc-news-search button { background:var(--dc-navy); border:0; padding:10px 18px; border-radius:9px; color:white; cursor:pointer; font-size:.88rem; font-weight:700; }
.dc-news-search button:hover { background:var(--dc-blue); }
.dc-news-hub .dc-news-list { display:flex !important; flex-direction:column !important; gap:13px; width:100%; max-width:100%; }
.dc-news-hub .dc-news-list > .dc-news-card { display:grid !important; grid-template-columns:120px minmax(0,1fr) !important; width:100% !important; min-width:0; overflow:hidden; border:1px solid #dbe4ee; border-radius:12px; background:#fff; box-shadow:0 3px 15px rgba(25,50,82,.06); }
.dc-news-card .dc-news-thumb { display:flex; align-items:center; justify-content:center; position:relative; min-height:120px; overflow:hidden; background:linear-gradient(135deg,#183e76,#2f7db8); text-decoration:none; }
.dc-news-image { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.dc-news-no-photo { display:flex!important; align-items:center; justify-content:center; }
.dc-news-no-photo span { color:#fff; font-size:1.1rem; font-weight:800; letter-spacing:.06em; opacity:.9; text-align:center; padding:14px; }
.dc-news-card-body { min-width:0; width:100%; display:flex; flex-direction:column; padding:15px 16px; align-items:flex-start; overflow-wrap:anywhere; }
.dc-news-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; font-size:.76rem; color:#60758b; font-weight:700; }
.dc-news-card h3 { color:var(--dc-navy); line-height:1.28; font-weight:750; font-size:1.15rem; margin:6px 0 7px; }
.dc-news-card h3 a { color:inherit; text-decoration:none; }
.dc-news-card h3 a:hover { color:var(--dc-blue); }
.dc-news-excerpt { color:#596b80; font-size:.9rem; line-height:1.5; margin:0 0 8px; }
.dc-news-read-more { display:inline-flex; gap:5px; align-items:center; font-size:.87rem; font-weight:800; color:var(--dc-blue); text-decoration:none; margin-top:auto; }
.dc-news-read-more:hover { text-decoration:underline; }
.dc-news-social { position:relative; }
.dc-news-facebook-frame { background:#fff; border:1px solid #dce5ef; border-radius:12px; padding:13px; max-height:760px; overflow-y:auto; overflow-x:hidden; box-shadow:0 3px 15px rgba(25,50,82,.05); }
.dc-news-facebook-frame iframe { max-width:100%; }
.dc-news-social .dc-news-facebook-frame * { max-width:100%; }
.dc-news-facebook-fallback { text-align:center; padding:36px 16px; }
.dc-news-facebook-fallback p { margin:0 0 14px; font-size:.93rem; color:#526982; }
.dc-news-facebook-fallback a { display:inline-block; text-decoration:none; border-radius:9px; background:var(--dc-navy); color:#fff; font-weight:700; padding:10px 16px; }
.dc-news-facebook-link { display:inline-block; margin:13px 0 0; text-decoration:none; color:var(--dc-blue); font-size:.88rem; font-weight:700; }
.dc-news-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; font-size:.88rem; }
.dc-news-pagination span { color:#65768c; }
.dc-news-pagination a { color:var(--dc-blue); font-weight:700; text-decoration:none; }
.dc-news-empty { padding:20px; border:1px dashed #becddd; border-radius:10px; }
.dc-news-empty p { margin:0 0 8px; }
.dc-news-compact { margin:25px auto; }
.dc-news-topline { margin-bottom:22px; }
.dc-news-compact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dc-news-card-compact { display:flex; flex-direction:column; }
.dc-news-card-compact .dc-news-thumb { min-height:0; aspect-ratio:16/9; }
.dc-news-card-compact .dc-news-card-body { flex:1; padding:17px 18px 20px; }
.dc-news-card-compact h3 { font-size:1.12rem; }
.dc-news-card-compact .dc-news-excerpt { font-size:.88rem; }
/* Container queries keep story text visible even if the page/editor constrains the shortcode. */
@container dc-news-content (max-width:600px) {
  .dc-news-hub .dc-news-list > .dc-news-card.dc-news-has-image { grid-template-columns:100px minmax(0,1fr) !important; }
  .dc-news-hub .dc-news-list > .dc-news-card.dc-news-has-image .dc-news-thumb { min-height:108px; }
  .dc-news-hub .dc-news-list > .dc-news-card .dc-news-card-body { padding:13px 14px; }
}
@container dc-news-content (max-width:340px) {
  .dc-news-hub .dc-news-list > .dc-news-card.dc-news-has-image { grid-template-columns:86px minmax(0,1fr) !important; }
  .dc-news-hub .dc-news-list > .dc-news-card.dc-news-has-image .dc-news-thumb { min-height:100px; }
  .dc-news-hub .dc-news-list > .dc-news-card .dc-news-card-body { padding:12px; }
  .dc-news-hub .dc-news-list > .dc-news-card h3 { font-size:1.02rem; }
}
@media(max-width:900px) { .dc-news-columns { grid-template-columns:1fr; gap:38px; } .dc-news-facebook-frame { max-height:640px; } .dc-news-compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .dc-news-hub { margin:20px auto; } .dc-news-card .dc-news-thumb { min-height:0; aspect-ratio:16/9; } .dc-news-card-body { padding:17px 18px; } .dc-news-search button { padding:10px 13px; } .dc-news-compact-grid { grid-template-columns:1fr; } .dc-news-pagination { flex-wrap:wrap; } }

/* In a Gutenberg Wide/Full group this hub expands to 1280px, independent of theme narrow content widths. */
.wp-block-group.alignwide .dc-news-hub:not(.dc-news-compact),
.wp-block-group.alignfull .dc-news-hub:not(.dc-news-compact),
.wp-block-shortcode.alignwide .dc-news-hub:not(.dc-news-compact),
.wp-block-shortcode.alignfull .dc-news-hub:not(.dc-news-compact) {
  width:100%; max-width:1280px; margin-left:auto; margin-right:auto;
}
/* Avoid global styles that cause horizontally stacked thumbnail-only cards. */
.dc-news-hub .dc-news-list > .dc-news-card > .dc-news-card-body { display:flex !important; }
.dc-news-hub .dc-news-card .dc-news-excerpt { max-width:100%; }

/* Compact full-story listings: no oversized empty blue panels. */
.dc-news-hub .dc-news-list > .dc-news-card.dc-news-text-only {
  display:block !important;
  border-left:6px solid var(--dc-accent);
}
.dc-news-hub .dc-news-list > .dc-news-card.dc-news-text-only > .dc-news-card-body {
  width:100%;
}
.dc-news-hub .dc-news-list > .dc-news-card.dc-news-has-image > .dc-news-thumb {
  width:100%;
  min-height:108px;
  height:100%;
  align-self:stretch;
}
.dc-news-hub .dc-news-list > .dc-news-card.dc-news-has-image > .dc-news-thumb img {
  width:100%; height:100%; object-fit:cover;
}
/* Homepage shortcode: cards with no featured image are text-only here too. */
.dc-news-hub .dc-news-compact-grid .dc-news-card.dc-news-text-only {
  border-top:3px solid var(--dc-accent);
  background:#fff;
  border-radius:12px;
  border-right:1px solid #dbe4ee;
  border-bottom:1px solid #dbe4ee;
  border-left:1px solid #dbe4ee;
}
.dc-news-hub .dc-news-compact-grid .dc-news-card.dc-news-text-only .dc-news-card-body {
  padding:17px 18px;
}

/* Date filters above keyword search; they filter WordPress stories only. */
.dc-news-date-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 12px; }
.dc-news-date-filter { min-width:0; }
.dc-news-date-filter label { display:block; font-size:.8rem; font-weight:700; color:#17345e; margin-bottom:5px; }
.dc-news-date-filter select { display:block; box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:42px; padding:9px 12px; border:1px solid #d4e0ec; border-radius:9px; background:#fff; color:#293c53; font-family:inherit; font-size:.9rem; line-height:1.4; }
.dc-news-date-filter select:focus-visible, .dc-news-search-row input:focus-visible { outline:2px solid #236a9f; outline-offset:2px; }
.dc-news-clear-filters { display:flex; justify-content:flex-end; margin:0 0 17px; }
.dc-news-clear-filters a { color:var(--dc-blue); font-size:.83rem; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
@container dc-news-content (max-width:330px) { .dc-news-date-filters { grid-template-columns:1fr; } }
