
/* Tronsoft News Portal v21.7.77 */
.news-page{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(1rem,1.8vw,1.6rem) clamp(12px,1.6vw,30px) 3rem;
  box-sizing:border-box;
}

.news-title-pane{
  width:100%;
  max-width:none;
  padding:clamp(1.1rem,2.4vw,2rem);
  border:1px solid rgba(73,174,255,.22);
  border-radius:14px;
  background:
    radial-gradient(circle at 88% 10%,rgba(27,126,196,.18),transparent 32%),
    linear-gradient(135deg,rgba(6,21,32,.98),rgba(9,18,31,.94));
  box-sizing:border-box;
}
.news-title-pane h1{max-width:1100px;margin:.25rem 0 .55rem}
.news-title-pane p:not(.eyebrow){max-width:1000px;margin:0;color:#aebdca}

.news-subnav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.45rem;
  width:100%;
  margin-top:1rem;
  padding:1rem 0;
  border-bottom:1px solid rgba(148,163,184,.18);
}
.news-subnav a{
  display:flex;
  min-height:92px;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:.45rem;
  padding:.65rem .3rem;
  color:#eef6fb;
  text-decoration:none;
  text-align:center;
  font-weight:750;
  transition:color .16s ease,transform .16s ease;
}
.news-subnav a:hover{color:#35bdff;transform:translateY(-2px)}
.news-subnav a.active{color:#35bdff}
.news-subnav-icon{display:grid;place-items:center;width:42px;height:42px}
.news-subnav-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.news-subnav-label{line-height:1.2}
.news-subnav small{color:#8fa1ae;font-size:.7rem}

.news-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  margin:1.2rem 0 .8rem;
}
.news-toolbar h2,.news-toolbar p{margin:0}
.news-search{display:flex;gap:.55rem;align-items:center}
.news-search input{
  min-width:min(380px,50vw);
  min-height:44px;
  border:1px solid rgba(63,169,255,.42);
  border-radius:10px;
  background:#061521;
  color:#f4f7fb;
  padding:.65rem .8rem;
}

.news-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:18px;
  width:100%;
  max-width:none;
}
.news-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.26);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(18,27,38,.96),rgba(7,19,30,.94));
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.news-card:hover{
  transform:translateY(-4px);
  border-color:rgba(63,169,255,.58);
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.news-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#07131e}
.news-card-image img{width:100%;height:100%;object-fit:cover}
.news-card-body{padding:16px}
.news-card h3{margin:.25rem 0 .5rem;letter-spacing:-.02em}
.news-card h3 a{color:inherit;text-decoration:none}
.news-card-meta{display:flex;flex-wrap:wrap;gap:.6rem;color:#8fa1ae;font-size:.78rem}
.news-card p{line-height:1.55}

.news-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.65rem;
  margin-top:1.2rem;
}
.news-empty{
  width:100%;
  padding:1.4rem;
  border:1px dashed rgba(148,163,184,.25);
  border-radius:12px;
  text-align:center;
  box-sizing:border-box;
}

.news-article-page{width:100%;max-width:none}
.news-article-title-pane{margin-bottom:.9rem}
.news-article-breadcrumb{
  display:flex;
  gap:.5rem;
  width:100%;
  margin:.8rem 0;
}
.news-article{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(1.2rem,2.5vw,2.2rem);
  border:1px solid rgba(148,163,184,.26);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(18,27,38,.96),rgba(7,19,30,.94));
  box-sizing:border-box;
}
.news-article-meta{display:flex;gap:.8rem;color:#8fa1ae;font-size:.82rem;margin-bottom:1rem}
.news-article-featured-image{width:100%;max-height:520px;object-fit:cover;border-radius:12px;margin-bottom:1.25rem}
.news-article-body{line-height:1.72}
.news-article-footer{margin-top:1.5rem}

@media(max-width:760px){
  .news-subnav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .news-toolbar{align-items:flex-start;flex-direction:column}
  .news-search{width:100%}
  .news-search label{flex:1}
  .news-search input{width:100%;min-width:0}
}
@media(max-width:520px){
  .news-subnav{grid-template-columns:1fr}
}


/* v21.7.78 — break News Portal out of any centered site content shell */
html,
body.route-news,
body.route-news-index,
body.route-news-article{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

body.route-news .site-main,
body.route-news-index .site-main,
body.route-news-article .site-main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

/*
 * The public UX stylesheet can center/cap content.  Use the viewport itself
 * as the News Portal containing block so the page cannot inherit that cap.
 */
body.route-news .site-main > .news-page,
body.route-news-index .site-main > .news-page,
body.route-news-article .site-main > .news-page{
  position:relative !important;
  left:50% !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
  padding-left:clamp(12px,1.6vw,30px) !important;
  padding-right:clamp(12px,1.6vw,30px) !important;
  box-sizing:border-box !important;
}

/* Make every major News region consume the recovered width. */
body.route-news .news-title-pane,
body.route-news .news-subnav,
body.route-news .news-toolbar,
body.route-news .news-grid,
body.route-news .news-pagination,
body.route-news-index .news-title-pane,
body.route-news-index .news-subnav,
body.route-news-index .news-toolbar,
body.route-news-index .news-grid,
body.route-news-index .news-pagination,
body.route-news-article .news-title-pane,
body.route-news-article .news-article-breadcrumb,
body.route-news-article .news-article{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

body.route-news .news-grid,
body.route-news-index .news-grid{
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr)) !important;
}


/* v21.7.84 — News Portal visual polish */
:root{
  --news-bg:#06111b;
  --news-panel:#0b1723;
  --news-panel-2:#0f1e2c;
  --news-border:rgba(122,171,214,.22);
  --news-border-strong:rgba(72,173,255,.48);
  --news-text:#f3f7fb;
  --news-muted:#9fb0bd;
  --news-accent:#3db9ff;
  --news-accent-2:#7b61ff;
}

.news-page{
  color:var(--news-text);
  background:
    radial-gradient(circle at 85% 0%,rgba(61,185,255,.08),transparent 28rem),
    linear-gradient(180deg,#04101a 0%,#07131e 100%);
}

.news-title-pane{
  position:relative;
  overflow:hidden;
  padding:clamp(1.5rem,3vw,2.6rem);
  border:1px solid var(--news-border-strong);
  border-radius:20px;
  background:
    radial-gradient(circle at 82% 18%,rgba(61,185,255,.18),transparent 28rem),
    radial-gradient(circle at 58% 10%,rgba(123,97,255,.10),transparent 22rem),
    linear-gradient(135deg,rgba(9,25,39,.98),rgba(7,17,28,.98));
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.news-title-pane::after{
  content:"";
  position:absolute;
  inset:auto -10% -45% auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(61,185,255,.10),transparent 68%);
  pointer-events:none;
}
.news-title-pane .eyebrow{
  margin:0 0 .45rem;
  color:var(--news-accent);
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.news-title-pane h1{
  margin:0;
  max-width:1050px;
  font-size:clamp(2.2rem,4.4vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.news-title-pane p:not(.eyebrow){
  max-width:920px;
  margin:.9rem 0 0;
  color:#c4d0d9;
  font-size:1.05rem;
  line-height:1.6;
}

.news-subnav{
  gap:.7rem;
  margin-top:1rem;
  padding:0;
  border-bottom:0;
}
.news-subnav a{
  min-height:108px;
  padding:1rem .7rem;
  border:1px solid var(--news-border);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(14,30,44,.86),rgba(7,18,29,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.news-subnav a:hover{
  color:var(--news-accent);
  border-color:var(--news-border-strong);
  background:linear-gradient(180deg,rgba(20,40,57,.94),rgba(9,22,34,.94));
  transform:translateY(-3px);
}
.news-subnav a.active{
  color:#fff;
  border-color:var(--news-border-strong);
  background:
    linear-gradient(180deg,rgba(30,94,132,.36),rgba(8,25,39,.96));
  box-shadow:0 10px 26px rgba(0,0,0,.20);
}
.news-subnav-icon{
  width:46px;
  height:46px;
  color:var(--news-accent);
}
.news-subnav-label{
  font-size:1rem;
}
.news-subnav small{
  color:#8fa7b8;
}

.news-toolbar{
  margin:1.4rem 0 1rem;
  padding:1rem 1.1rem;
  border:1px solid var(--news-border);
  border-radius:14px;
  background:rgba(10,23,35,.72);
}
.news-toolbar .eyebrow{
  margin:0 0 .2rem;
  color:var(--news-accent);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}
.news-toolbar h2{
  font-size:1.35rem;
}
.news-search{
  padding:.25rem;
  border-radius:12px;
}
.news-search input{
  min-width:min(420px,48vw);
  background:#06121c;
  border-color:rgba(76,151,204,.34);
}
.news-search input:focus{
  outline:2px solid rgba(61,185,255,.22);
  border-color:var(--news-accent);
}

.news-grid{
  gap:20px;
}
.news-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  border:1px solid var(--news-border);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(15,30,44,.98),rgba(8,19,30,.98));
  box-shadow:0 14px 36px rgba(0,0,0,.16);
}
.news-card:hover{
  transform:translateY(-5px);
  border-color:var(--news-border-strong);
  box-shadow:0 20px 48px rgba(0,0,0,.28);
}
.news-card.is-featured{
  border-color:rgba(123,97,255,.42);
  box-shadow:0 18px 42px rgba(53,39,120,.15);
}
.news-card-image{
  aspect-ratio:16/9;
  background:
    linear-gradient(135deg,rgba(19,45,64,.9),rgba(8,20,31,.9));
}
.news-card-image img{
  transition:transform .25s ease,filter .25s ease;
}
.news-card:hover .news-card-image img{
  transform:scale(1.025);
  filter:saturate(1.05) contrast(1.02);
}
.news-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:18px;
}
.news-card-body .eyebrow{
  margin:0;
  color:var(--news-accent);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.news-card h3{
  margin:.45rem 0 .55rem;
  font-size:1.22rem;
  line-height:1.25;
}
.news-card h3 a:hover{
  color:var(--news-accent);
}
.news-card-meta{
  gap:.7rem;
  color:#8497a6;
}
.news-card-body > p:not(.eyebrow){
  margin:.75rem 0 1rem;
  color:#c0ccd5;
}
.news-card .btn{
  margin-top:auto;
  align-self:flex-start;
}

.news-pagination{
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid var(--news-border);
}
.news-pagination span{
  color:var(--news-muted);
}

.news-empty{
  margin-top:1rem;
  padding:2rem;
  border-radius:16px;
  background:rgba(10,23,35,.62);
}

.news-article-page{
  background:
    radial-gradient(circle at 80% 0%,rgba(61,185,255,.07),transparent 28rem),
    linear-gradient(180deg,#04101a 0%,#07131e 100%);
}
.news-article-title-pane{
  margin-bottom:1rem;
}
.news-article-breadcrumb{
  align-items:center;
  gap:.55rem;
  padding:.2rem .15rem;
  color:#a9bbc8;
  font-size:.88rem;
}
.news-article-breadcrumb a:hover{
  color:var(--news-accent);
}
.news-article{
  border:1px solid var(--news-border);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(15,30,44,.98),rgba(8,19,30,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.20);
}
.news-article-meta{
  margin-bottom:1.15rem;
  padding-bottom:.8rem;
  border-bottom:1px solid rgba(122,171,214,.14);
}
.news-article-featured-image{
  max-height:560px;
  border:1px solid rgba(122,171,214,.18);
  box-shadow:0 14px 36px rgba(0,0,0,.18);
}
.news-article-body{
  max-width:1100px;
  color:#d8e1e8;
  font-size:1.03rem;
  line-height:1.78;
}
.news-article-body h2,
.news-article-body h3{
  color:#fff;
  margin-top:1.6em;
}
.news-article-body a{
  color:var(--news-accent);
}
.news-article-body blockquote{
  margin:1.2rem 0;
  padding:.9rem 1rem;
  border-left:3px solid var(--news-accent);
  background:rgba(61,185,255,.06);
  color:#cbd7df;
}
.news-article-footer{
  padding-top:1.2rem;
  border-top:1px solid rgba(122,171,214,.14);
}

@media(max-width:900px){
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .news-grid{grid-template-columns:1fr}
  .news-subnav{grid-template-columns:1fr}
  .news-subnav a{
    min-height:auto;
    flex-direction:row;
    justify-content:flex-start;
    text-align:left;
  }
  .news-toolbar{align-items:stretch}
  .news-search{flex-wrap:wrap}
  .news-search label{width:100%}
  .news-search input{width:100%;min-width:0}
}


/* v21.7.85 — keep all News navigation buttons together */
.news-subnav{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
@media(max-width:900px){
  .news-subnav{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:560px){
  .news-subnav{grid-template-columns:1fr !important;}
}
