:root {
  --vse-news-deep:#2f2a72;
  --vse-news-navy:#28256a;
  --vse-news-accent:#f15a37;
  --vse-news-filter-bg:#f5f6fa;
  --vse-news-field:#ffffff;
  --vse-news-line:#dfe3eb;
  --vse-news-muted:#626674;
  --vse-news-icon:#315eb5;
  --vse-news-white:#fff;
}

.vse-news-directory,
.vse-news-directory * { box-sizing:border-box; }
.vse-news-directory { color:#002733; }

/* v1.0.6 — News filter mirrors the VSE Events component */
.vse-news-filter-shell {
  margin:0 0 46px;
  padding:24px 22px 22px;
  border:1px solid var(--vse-news-line);
  background:var(--vse-news-filter-bg);
}
.vse-news-filter-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:0 0 19px;
  margin:0 0 20px;
  border-bottom:1px solid var(--vse-news-line);
}
.vse-news-filter-heading-copy { min-width:0; }
.vse-news-filter-eyebrow {
  display:block;
  margin:0 0 7px;
  color:var(--vse-news-accent);
  font-family:inherit;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.095em;
}
.vse-news-filter-heading h2 {
  margin:0;
  color:var(--vse-news-navy);
  font-family:inherit;
  font-size:16px;
  line-height:1.35;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
.vse-news-reset {
  flex:0 0 auto;
  min-width:105px;
  height:40px;
  margin:0;
  padding:0 17px;
  border:1px solid #777bb5;
  border-radius:24px;
  background:#fff;
  color:var(--vse-news-navy);
  font-family:inherit;
  font-size:12px;
  line-height:38px;
  font-weight:400;
  text-align:center;
  box-shadow:none;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease;
}
.vse-news-reset:hover:not(:disabled) {
  border-color:var(--vse-news-navy);
  background:var(--vse-news-navy);
  color:#fff;
}
.vse-news-reset:disabled { opacity:.45; cursor:default; }

.vse-news-filters {
  display:grid;
  grid-template-columns:minmax(300px,1.72fr) minmax(220px,.87fr) minmax(180px,.63fr);
  gap:14px;
  align-items:end;
}
/* When Policy Areas are intentionally hidden, keep the Events proportions instead of stretching Types. */
.vse-news-filters > .vse-news-search-control:first-child:nth-last-child(2) { grid-column:1; }
.vse-news-filters > .vse-news-search-control:first-child:nth-last-child(2) + .vse-news-control { grid-column:2; }
.vse-news-control { display:block; min-width:0; margin:0; }
.vse-news-control-label {
  display:block;
  margin:0 0 10px;
  color:var(--vse-news-navy);
  font-family:inherit;
  font-size:10px;
  line-height:1.2;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.vse-news-input-wrap,
.vse-news-select-wrap { position:relative; display:block; }
.vse-news-input-wrap svg,
.vse-news-field-icon {
  position:absolute;
  z-index:2;
  left:13px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-50%);
  fill:none;
  stroke:var(--vse-news-icon);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.vse-news-field-icon { width:18px; height:18px; }
.vse-news-filters input,
.vse-news-filters select {
  width:100%;
  height:55px;
  margin:0;
  border:1px solid #d8dde8;
  border-radius:0;
  outline:0;
  background-color:var(--vse-news-field);
  color:#646775;
  font-family:inherit;
  font-size:14px;
  line-height:1;
  font-weight:400;
  box-shadow:none;
}
.vse-news-filters input {
  padding:0 17px 0 36px;
}
.vse-news-filters select {
  appearance:none;
  -webkit-appearance:none;
  padding:0 40px 0 49px;
  cursor:pointer;
  background-image:
    linear-gradient(45deg,transparent 50%,#101010 50%),
    linear-gradient(135deg,#101010 50%,transparent 50%);
  background-position:
    calc(100% - 16px) 25px,
    calc(100% - 11px) 25px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.vse-news-filters input:focus,
.vse-news-filters select:focus {
  border-color:#abb7d4;
  box-shadow:0 0 0 1px rgba(49,94,181,.08);
}
.vse-news-filters input::placeholder { color:#8a8c95; opacity:1; }

.vse-news-results-top {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:24px;
  margin:0 0 16px;
}
.vse-news-count,
.vse-news-count strong {
  margin:0;
  padding:0;
  color:#718087;
  font-family:inherit;
  font-size:12px;
  font-style:normal;
  font-variant:normal;
  font-feature-settings:normal;
  font-weight:400;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
  vertical-align:baseline;
}
.vse-news-count strong { color:#002733; font-weight:700; }

/* Eurogroup-inspired full-bleed editorial cards — v1.0.8 */
.vse-news-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px 20px;
  align-items:stretch;
}
.vse-news-card {
  min-width:0;
  height:100%;
  margin:0;
  overflow:hidden;
  border:0;
  border-radius:3px;
  background:#002733;
  box-shadow:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.vse-news-card:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,39,51,.15);
}
.vse-news-card-link {
  position:relative;
  display:block;
  width:100%;
  min-height:300px;
  aspect-ratio:1.48/1;
  overflow:hidden;
  color:#fff;
  text-decoration:none !important;
  background:#002733;
}
.vse-news-card-media {
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  background:#e9eef0;
}
.vse-news-card-media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .38s ease;
}
.vse-news-card:hover .vse-news-card-media img { transform:scale(1.035); }
.vse-news-card-shade {
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 26%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.82) 100%);
  pointer-events:none;
}
.vse-news-card-badge {
  position:absolute;
  z-index:4;
  top:0;
  right:0;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  max-width:72%;
  padding:10px 14px;
  background:#00a8c7;
  color:#fff;
  font-family:inherit;
  font-size:13px;
  line-height:1.1;
  font-weight:700;
  text-align:center;
}
.vse-news-card-content {
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  display:block;
  padding:22px 16px 17px;
  color:#fff;
}
.vse-news-card-title {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin:0 0 9px !important;
  padding:0 !important;
  color:#fff !important;
  font-family:inherit;
  font-size:18px !important;
  line-height:1.08 !important;
  letter-spacing:-.015em;
  font-weight:700 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.34);
}
.vse-news-card-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 10px;
  color:#fff;
  font-size:11px;
  line-height:1.25;
  font-weight:500;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
.vse-news-card-meta time { color:inherit; font:inherit; }
.vse-news-card-type {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:0;
  color:#fff;
  font:inherit;
  font-weight:600;
}
.vse-news-card-type:before { display:none; }
.vse-news-card-type svg {
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.vse-news-card-body,
.vse-news-card-policy,
.vse-news-card-footer,
.vse-news-card-excerpt { display:none !important; }
.vse-news-fallback {
  position:absolute;
  inset:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  color:#fff;
  background:linear-gradient(135deg,#002733 0%,#0f4a59 100%);
}
.vse-news-fallback:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(0,18,25,.35)); }
.vse-news-fallback-orbit { position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.vse-news-fallback-orbit-a { width:210px; height:210px; right:-65px; top:-85px; }
.vse-news-fallback-orbit-b { width:145px; height:145px; right:15px; top:-30px; }
.vse-news-fallback-mark { position:relative; z-index:2; font-size:42px; line-height:1; font-weight:800; letter-spacing:-.05em; }
.vse-news-fallback-label { position:relative; z-index:2; margin-top:7px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; opacity:.8; }


.vse-news-pagination { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:52px; padding-top:24px; border-top:1px solid #d8e0e2; }
.vse-news-page { min-height:44px; padding:0 16px; border:1px solid #002733; background:#fff; color:#002733; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.vse-news-page:hover:not(:disabled) { background:#002733; color:#fff; }
.vse-news-page:disabled { opacity:.35; cursor:not-allowed; }
.vse-news-page-status { color:#526970; font-size:12px; font-weight:600; }
.vse-news-empty { text-align:center; padding:70px 20px; background:#f4f6f6; }
.vse-news-empty-icon { display:inline-grid; place-items:center; width:48px; height:48px; border:1px solid #ccd7da; border-radius:50%; color:#ef6842; font-size:20px; }
.vse-news-empty h3 { margin:15px 0 7px; color:#002733; font-size:24px; }
.vse-news-empty p { margin:0; color:#526970; }
.vse-news-live.is-loading { opacity:.48; pointer-events:none; transition:opacity .15s; }

@media (max-width:1020px) {
  .vse-news-filter-shell { padding:22px; margin-bottom:38px; }
  .vse-news-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vse-news-filters > * { grid-column:auto !important; }
  .vse-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
}

@media (max-width:680px) {
  .vse-news-filter-shell { margin-bottom:28px; padding:20px 18px; }
  .vse-news-filter-heading { align-items:flex-start; flex-direction:column; gap:14px; padding-bottom:17px; margin-bottom:18px; }
  .vse-news-filter-heading h2 { font-size:16px; }
  .vse-news-reset { min-height:38px; height:38px; line-height:36px; }
  .vse-news-filters { grid-template-columns:1fr; gap:15px; }
  .vse-news-results-top { justify-content:flex-start; margin-bottom:14px; }
  .vse-news-grid { grid-template-columns:1fr; gap:20px; }
  .vse-news-card-link { min-height:250px; aspect-ratio:1.38/1; }
  .vse-news-card-content { padding:20px 15px 15px; }
  .vse-news-card-title { font-size:18px !important; line-height:1.08 !important; -webkit-line-clamp:3; }
  .vse-news-card-badge { min-height:38px; padding:9px 12px; font-size:12px; }
  .vse-news-pagination { justify-content:space-between; gap:10px; margin-top:38px; }
  .vse-news-page { padding:0 11px; }
  .vse-news-page-status { font-size:11px; text-align:center; }
}

@media (prefers-reduced-motion:reduce) {
  .vse-news-card,
  .vse-news-card-media img { transition:none; }
  .vse-news-card:hover { transform:none; }
}

/* v1.0.11 — Keep News filters visually aligned with the VSE Events filters. */
.vse-news-directory .vse-news-filters input,
.vse-news-directory .vse-news-filters select {
  background-color:#fff !important;
  font-family:inherit !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:400 !important;
}

/* Give the search glyph breathing room before “Search by keyword”. */
.vse-news-directory .vse-news-filters input[type="search"] {
  padding-left:46px !important;
}
