/* =========================================================================
   NLS News — editorial restyle to match thenls.com (loaded via mu-plugin)
   Brand: navy #131a25 · action red #ff1d4e / ink red #e4002b · blue #0056a7
   Fonts: Open Sans (UI/body) + Newsreader (editorial headlines)
   ========================================================================= */
:root{
  --nls-navy:#131a25;
  --nls-red:#ff1d4e;
  --nls-red-ink:#e4002b;
  --nls-blue:#0056a7;
  --nls-ink:#1a1a1a;
  --nls-muted:#5b6472;
  --nls-line:#e6e8ec;
  --nls-soft:#f6f7f9;
  --nls-sans:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --nls-serif:"Newsreader",Georgia,"Times New Roman",serif;
}

/* ---- Typography -------------------------------------------------------- */
/* Re-point the theme's body font var (used everywhere) to Open Sans,
   and force it on the body to beat WP global-styles load order. */
:root{ --wp--preset--font-family--rubik:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
body,
.wp-site-blocks,
.wp-block-group,
p, li, .wp-block-post-excerpt{
  font-family:var(--nls-sans) !important;
}
h1,h2,h3,h4,h5,
.wp-block-heading,
.wp-block-post-title,
.wp-block-post-title a,
.wp-block-query-title{
  font-family:var(--nls-serif) !important;
  letter-spacing:-.01em;
}
.wp-block-post-title a{ line-height:1.28; transition:color .15s ease; }
.wp-block-post-title a:hover{ color:var(--nls-blue) !important; }

/* category eyebrow (post terms) – consistent red, readable */
.wp-block-post-terms a,
.wp-block-post-terms{
  color:var(--nls-red-ink) !important;
  font-family:var(--nls-sans) !important;
  font-weight:700; letter-spacing:.05em;
}

/* ===========================================================
   HEADER  (new markup uses .nls-utilbar / .nls-masthead / .nls-nav)
   =========================================================== */
.nls-utilbar{ background:var(--nls-navy) !important; }
.nls-utilbar, .nls-utilbar p, .nls-utilbar a{
  color:#cdd3dc !important; font-size:13px; font-family:var(--nls-sans);
}
.nls-utilbar a{ font-weight:600; transition:color .15s; }
.nls-utilbar a:hover{ color:#fff !important; }
.nls-utilbar .wp-block-social-link a{ color:#fff !important; }
.nls-utilbar .wp-social-link svg{ fill:#9aa3b2; }
.nls-utilbar .wp-social-link:hover svg{ fill:#fff; }

.nls-masthead{ background:#fff !important; padding-block:22px; border-bottom:1px solid var(--nls-line); }
.nls-masthead .header-wrap,
.nls-masthead > .wp-block-group{ align-items:center; }
.nls-masthead .wp-block-image img{ height:120px; width:auto; }
.nls-masthead .header-text{
  font-family:var(--nls-serif) !important;
  font-size:clamp(1.05rem,.8rem+1vw,1.5rem) !important;
  font-weight:700 !important; color:var(--nls-navy) !important;
  letter-spacing:.02em; line-height:1.2; margin:0;
}
.nls-masthead .header-text a,
.nls-masthead .header-text{ color:var(--nls-navy) !important; }

/* primary nav -> light bar, navy text, red active/hover */
.nls-nav, .primary-nav{ background:#fff !important; border-bottom:2px solid var(--nls-navy); }
.nls-nav .wp-block-navigation, .primary-nav .wp-block-navigation{ font-family:var(--nls-sans); }
.primary-nav .wp-block-navigation__container > .wp-block-navigation-item > a,
.nls-nav a{ color:var(--nls-navy) !important; font-weight:600 !important; }
.primary-nav .wp-block-navigation__container > .wp-block-navigation-item > a:hover,
.nls-nav a:hover{ color:var(--nls-red-ink) !important; }
.nls-cta .wp-block-button__link{
  background:var(--nls-red) !important; color:#fff !important; border:0 !important;
  border-radius:6px !important; font-weight:700; padding:10px 18px;
}
.nls-cta .is-style-outline .wp-block-button__link{
  background:transparent !important; color:var(--nls-navy) !important;
  border:1.5px solid var(--nls-line) !important;
}
.nls-cta .is-style-outline .wp-block-button__link:hover{ border-color:var(--nls-navy) !important; }

/* ===========================================================
   SECTION HEADERS  (red accent rule + serif, editorial)
   =========================================================== */
.section-header h2{
  font-family:var(--nls-serif) !important; color:var(--nls-navy) !important;
  text-transform:none !important; font-size:1.45rem !important; font-weight:700;
}
.section-header h2 a{ color:var(--nls-navy) !important; }
.section-header h2 a:hover{ color:var(--nls-red-ink) !important; }
.section-header:before{ background:var(--nls-red) !important; }

/* ===========================================================
   CARDS & POST LISTS
   =========================================================== */
/* image-top cards */
.post-card .wp-block-post{
  background:#fff; border:1px solid var(--nls-line); border-radius:12px;
  overflow:hidden; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display:flex; flex-direction:column;
}
.post-card .wp-block-post:hover{
  transform:translateY(-4px); box-shadow:0 14px 34px rgba(19,26,37,.12);
  border-color:#dce0e6;
}
.post-card .wp-block-post-featured-image{ margin:0 !important; }
.post-card .wp-block-post-featured-image img{ border-radius:0 !important; }
.post-card .entry-header{ padding:14px 16px 18px !important; }
.post-card .wp-block-post-title{ font-size:1.05rem !important; }

/* horizontal list items (80px thumb + title) */
.post-list .wp-block-post{
  padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--nls-line);
}
.post-list .wp-block-post-featured-image img{ border-radius:8px; }
.post-list .wp-block-post-title{ font-size:1rem !important; }

/* meta / dates readable */
.wp-block-post-date, .wp-block-post-author-name, .entry-meta{
  color:var(--nls-muted) !important; font-family:var(--nls-sans) !important; font-size:12.5px;
}

/* image overlays lighter (were dark dimRatio 30 on foreground) */
.wp-block-post-featured-image .wp-block-post-featured-image__overlay,
.wp-block-cover__background{ opacity:.22 !important; }

/* ===========================================================
   NEWSLETTER BAND  (.nls-newsletter — added to home template)
   =========================================================== */
.nls-newsletter{
  background:var(--nls-navy) !important; color:#fff !important;
  position:relative; overflow:hidden; margin-top:30px;
  background-image:url('https://thenls.com/wp-content/themes/premise/assets/public/images/SVG/footer-skyline.svg') !important;
  background-repeat:no-repeat; background-position:center bottom; background-size:contain;
}
.nls-newsletter > *{ position:relative; }
.nls-newsletter h2, .nls-newsletter .wp-block-heading{
  font-family:var(--nls-serif) !important; color:#fff !important; text-align:center;
}
.nls-newsletter p{ color:#b9c0cc !important; text-align:center; }
.nls-newsletter .wp-block-button__link{
  background:var(--nls-red) !important; color:#fff !important; border-radius:6px !important; border:0 !important;
}

/* ===========================================================
   FOOTER  (lift contrast; markup also fixed but this is a safety net)
   =========================================================== */
footer .has-black-background-color,
footer .wp-block-group.has-background{ color:#aeb6c2; }
footer .wp-block-heading{ color:#fff !important; font-family:var(--nls-sans) !important; }
footer a,
footer .wp-block-list a,
footer .wp-block-categories a,
footer .copyright-info,
footer .copyright-info a{ color:#c2c8d2 !important; }
footer a:hover{ color:#fff !important; }
footer .footer-menu a{ color:#c2c8d2 !important; }

/* ===========================================================
   GLOBAL: links, focus states (a11y), buttons
   =========================================================== */
a:focus-visible,
.wp-block-navigation a:focus-visible,
.wp-block-button__link:focus-visible{
  outline:2px solid var(--nls-red); outline-offset:2px; border-radius:3px;
}
.wp-block-button__link{ transition:background-color .18s ease; }

@media (prefers-reduced-motion: reduce){
  .post-card .wp-block-post,
  .wp-block-button__link,
  .wp-block-post-title a{ transition:none !important; }
  .post-card .wp-block-post:hover{ transform:none; }
}

/* ===========================================================
   RELATED ARTICLES  (single posts — interlinking)
   =========================================================== */
.nls-related{
  margin:48px 0 8px; padding-top:32px; border-top:3px solid var(--nls-navy);
}
.nls-related__title{
  font-family:var(--nls-serif) !important; color:var(--nls-navy);
  font-size:1.5rem; margin:0 0 22px;
}
.nls-related__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.nls-related__card{
  display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--nls-line); border-radius:12px; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  text-decoration:none !important;
}
.nls-related__card:hover{
  transform:translateY(-4px); box-shadow:0 14px 34px rgba(19,26,37,.12); border-color:#dce0e6;
}
.nls-related__thumb{ aspect-ratio:16/10; overflow:hidden; background:var(--nls-soft); }
.nls-related__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.nls-related__body{ padding:14px 16px 18px; display:flex; flex-direction:column; gap:8px; }
.nls-related__cat{
  font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--nls-red-ink);
}
.nls-related__body h3{
  font-family:var(--nls-serif) !important; font-size:1.05rem; line-height:1.3;
  color:var(--nls-ink); margin:0;
}
.nls-related__card:hover h3{ color:var(--nls-blue); }
.nls-related__date{ font-size:12.5px; color:var(--nls-muted); }
.nls-related__more{ margin-top:22px; }
.nls-related__more a{ font-weight:700; color:var(--nls-red-ink) !important; }
@media (max-width:782px){ .nls-related__grid{ grid-template-columns:1fr; } }

/* ---- responsive niceties ---- */
@media (max-width:782px){
  .nls-masthead .wp-block-image img{ height:84px; }
  .nls-cta{ display:none; }
}
