/* =========================================================
   NORFOLK LIVING GUIDE — EDITORIAL POST & PAGE STYLES
   Rewritten 2026-04-10 for full-width responsive layout
   with share rail, newsletter, related posts.
   Palette: Sage #5C7A56, Bark #3D3426, Clay #B8704C,
            Wheat #FAF7F2, Sand #E8E0D4, Parchment #FFFDF8
   Fonts  : Playfair Display (headings), Source Sans 3 (body)
   ========================================================= */

/* ---------- 0. Hide any legacy progress bar ---------- */
.nlg-progress { display: none !important; }

/* ---------- 1. Container: widen the Kadence content wrap ---------- */
.single-post .content-container.site-container,
.single .content-container.site-container,
.page .content-container.site-container {
  max-width: 1320px !important;
}

.single-post #primary,
.single #primary,
.page #primary {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Kadence caps .entry-content at ~960px with side padding/margin.
   We need full width inside the entry so the article grid can breathe. */
.single-post article .entry-content,
.single-post article .entry-content.single-content,
.single article .entry-content,
.single article .entry-content.single-content,
.page article .entry-content,
.page article .entry-content.single-content,
.single-post .entry-content-wrap > .entry-content,
.single .entry-content-wrap > .entry-content,
.page .entry-content-wrap > .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.single-post .entry-content-wrap,
.single .entry-content-wrap,
.page .entry-content-wrap {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ---------- 2. Hero: hide Kadence default header + thumbnail, use our nlg-hero ---------- */
body.nlg-editorial .single-post .post-thumbnail,
body.nlg-editorial .single-post .entry-header-wrap > .post-thumbnail,
body.nlg-editorial .single .post-thumbnail,
body.nlg-editorial .page .post-thumbnail,
body.nlg-editorial article > .entry-header,
body.nlg-editorial .content-area > article > .post-thumbnail,
body.nlg-editorial .entry-content-wrap > .post-thumbnail,
body.nlg-editorial .entry-header-wrap {
  display: none !important;
}

/* Editorial hero: full-bleed photo with kicker/title/meta overlaid bottom-left */
.nlg-hero {
  position: relative;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto 36px;
  padding: 0 32px;
  box-sizing: border-box;
}
.nlg-hero-figure {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #2b241b;
  min-height: 420px;
  aspect-ratio: 21 / 9;
}
.nlg-hero-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
}
.nlg-hero-figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26,19,11,0) 0%, rgba(26,19,11,0) 40%, rgba(26,19,11,0.55) 72%, rgba(26,19,11,0.88) 100%);
  pointer-events: none;
}
.nlg-hero-inner {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 48px 56px 44px;
  z-index: 2;
  color: #fff;
  max-width: 880px;
}
.nlg-hero-kicker {
  display: inline-block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: #F5E9D0;
  background: transparent;
  padding: 0 0 8px;
  margin: 0 0 14px;
  border-bottom: 2px solid #B8704C;
}
.nlg-hero-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2.1rem, 4.6vw, 3.3rem) !important;
  line-height: 1.08 !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: -0.018em !important;
  margin: 0 0 14px !important;
  text-shadow: 0 2px 18px rgba(0,0,0,0.35);
}
.nlg-hero-sub {
  font-family: 'Source Sans 3', sans-serif;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
  max-width: 620px;
  margin: 0;
  text-shadow: 0 1px 10px rgba(0,0,0,0.35);
}
@media (max-width: 860px) {
  .nlg-hero { padding: 0; margin: 0 0 28px; }
  .nlg-hero-figure { min-height: 360px; aspect-ratio: 4 / 5; }
  .nlg-hero-inner { padding: 28px 22px 26px; max-width: 100%; }
}
@media (max-width: 480px) {
  .nlg-hero-figure { min-height: 320px; aspect-ratio: 3 / 4; }
}

/* Hide Kadence default entry-header+meta on all editorial singular pages */
body.single-post .entry-header,
body.single .entry-header,
body.page .entry-header,
body.single-post .post-thumbnail,
body.single-post article > .post-thumbnail,
body.single .post-thumbnail,
body.page .post-thumbnail,
body.single-post .kadence-post-image,
body.single .kadence-post-image,
body.page .kadence-post-image,
body.single-post .entry-hero,
body.single .entry-hero,
body.page .entry-hero {
  display: none !important;
}

/* Keep homepage, archive, category pages as-is */
body.home .entry-header,
body.home .post-thumbnail,
body.archive .entry-header,
body.archive .post-thumbnail,
body.category .entry-header,
body.category .post-thumbnail,
body.tag .entry-header,
body.tag .post-thumbnail,
body.search .entry-header,
body.search .post-thumbnail {
  display: block !important;
}

/* ---------- 4. Byline strip (injected) ---------- */
.nlg-byline {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 32px;
  padding: 18px 0 22px;
  border-top: 1px solid #D9CEB8;
  border-bottom: 1px solid #D9CEB8;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif;
  font-size: 0.98rem;
  color: #3D3426;
}
.nlg-byline img.nlg-byline-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #E8E0D4;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(61,52,38,0.1);
}
.nlg-byline-text {
  line-height: 1.45;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nlg-byline-name {
  display: block;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif;
  font-weight: 700;
  color: #1a130b;
  font-size: 1.02rem;
  letter-spacing: 0;
}
.nlg-byline-name a {
  color: #1a130b;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.nlg-byline-name a:hover {
  color: #5C7A56;
  border-bottom-color: #5C7A56;
}
.nlg-byline-date {
  color: #6b5e4a;
  font-size: 0.88rem;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif;
  font-weight: 400;
}
.nlg-byline-readtime {
  margin-left: auto;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif;
  font-size: 0.82rem;
  color: #6b5e4a;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 16px;
  border-left: 1px solid #D9CEB8;
}
.nlg-byline-readtime::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b5e4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>") no-repeat center / contain;
}

/* ---------- 5. Article grid: share | content | sidebar ---------- */
.single-post .entry-content-wrap,
.single .entry-content-wrap,
.page .entry-content-wrap {
  max-width: 100%;
  padding: 0 !important;
}

.nlg-article-grid {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 280px;
  gap: 40px;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 40px 40px;
  align-items: start;
}

/* Article column (center) */
.nlg-article-main {
  min-width: 0;
  max-width: 880px;
  justify-self: center;
  width: 100%;
}

/* Left share rail (sticky) */
.nlg-share-rail {
  position: sticky;
  top: 120px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-self: start;
}
.nlg-share-rail a,
.nlg-share-rail button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFDF8;
  border: 1px solid #E8E0D4;
  color: #3D3426;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
  text-decoration: none !important;
  padding: 0;
}
.nlg-share-rail a:hover,
.nlg-share-rail button:hover {
  background: #5C7A56;
  border-color: #5C7A56;
  color: #fff;
  transform: translateY(-1px);
}
.nlg-share-rail svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
}
.nlg-share-rail .nlg-share-copy.copied {
  background: #B8704C;
  border-color: #B8704C;
  color: #fff;
}

/* Right sticky sidebar */
.nlg-sidebar {
  position: sticky;
  top: 120px;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.nlg-sidebar-card {
  background: #FFFDF8;
  border: 1px solid #E8E0D4;
  padding: 22px 22px 20px;
}
.nlg-sidebar-card h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.6px !important;
  color: #7a6e5f !important;
  margin: 0 0 14px !important;
  padding: 0 0 10px !important;
  border: none !important;
  border-bottom: 1px solid #E8E0D4 !important;
}
.nlg-sidebar-card ul { list-style: none; margin: 0; padding: 0; }
.nlg-sidebar-card li {
  font-size: 0.9rem;
  line-height: 1.45;
  margin: 0 0 10px;
  padding: 0;
}
.nlg-sidebar-card li a {
  color: #3D3426;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 180ms ease, border-color 180ms ease;
}
.nlg-sidebar-card li a:hover {
  color: #5C7A56;
  border-bottom-color: #5C7A56;
}

/* Sidebar newsletter mini */
.nlg-sidebar-newsletter p {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5a4e3f;
  margin: 0 0 12px;
}
.nlg-sidebar-newsletter form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nlg-sidebar-newsletter input[type="email"] {
  border: 1px solid #E8E0D4 !important;
  padding: 10px 12px !important;
  background: #FFFDF8 !important;
  font-size: 0.92rem !important;
  border-radius: 4px !important;
  width: 100%;
}
.nlg-sidebar-newsletter button {
  background: #5C7A56;
  color: #fff;
  border: none;
  padding: 10px 16px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 180ms ease;
}
.nlg-sidebar-newsletter button:hover { background: #4a6545; }

/* ---------- 6. Responsive breakpoints for article grid ---------- */
@media (max-width: 1100px) {
  .nlg-article-grid {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 32px;
  }
  .nlg-sidebar { display: none; }
}
@media (max-width: 860px) {
  .nlg-article-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 20px 32px;
  }
  .nlg-share-rail {
    position: static;
    flex-direction: row;
    justify-content: flex-start;
    margin: 0 0 20px;
    padding: 14px 0 0;
    border-top: 1px solid #E8E0D4;
    gap: 8px;
  }
  .nlg-share-rail a,
  .nlg-share-rail button {
    width: 40px;
    height: 40px;
  }
  .nlg-article-main {
    max-width: 100%;
    justify-self: stretch;
  }
}

/* ---------- 7. Article body typography ---------- */
.single-post .entry-content,
.single .entry-content,
.page .entry-content {
  font-family: 'Source Sans 3', sans-serif;
  color: #2b241b;
  font-size: 1.08rem;
  line-height: 1.78;
  max-width: 100%;
  margin: 0;
}
.single-post .entry-content p,
.single .entry-content p {
  margin: 0 0 1.25em;
  font-size: 1.08rem;
  line-height: 1.78;
  color: #2b241b;
}

.single-post .entry-content p.nlg-lead {
  font-size: 1.28rem;
  line-height: 1.6;
  color: #1a130b;
  margin: 0 0 1.4em;
  font-weight: 400;
}
.single-post .entry-content p.nlg-lead::first-letter {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 4.6em;
  float: left;
  line-height: 0.86;
  margin: 0.08em 0.1em 0 0;
  color: #5C7A56;
}

.single-post .entry-content h2,
.single .entry-content h2,
.page .entry-content h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.55rem, 2.5vw, 1.9rem) !important;
  line-height: 1.22 !important;
  color: #1a130b !important;
  font-weight: 700 !important;
  margin: 2.2em 0 0.6em !important;
  padding: 0 !important;
  border: none !important;
  clear: both;
}
.single-post .entry-content h3,
.single .entry-content h3,
.page .entry-content h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.2rem, 2vw, 1.4rem) !important;
  line-height: 1.3 !important;
  color: #1a130b !important;
  font-weight: 700 !important;
  margin: 1.8em 0 0.5em !important;
  padding: 0 !important;
  border: none !important;
}
.single-post .entry-content h4,
.single .entry-content h4 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.15rem !important;
  margin: 1.4em 0 0.4em !important;
  color: #1a130b !important;
}

/* Body links */
.single-post .entry-content p a,
.single-post .entry-content li a,
.single .entry-content p a,
.single .entry-content li a {
  color: #5C7A56;
  text-decoration: none;
  border-bottom: 1px solid rgba(92,122,86,0.45);
  transition: color 180ms ease, border-color 180ms ease;
}
.single-post .entry-content p a:hover,
.single-post .entry-content li a:hover {
  color: #B8704C;
  border-bottom-color: #B8704C;
}

/* ---------- 8. Lists, tables, figures, blockquotes ---------- */
.single-post .entry-content ul,
.single-post .entry-content ol {
  margin: 0 0 1.4em;
  padding-left: 1.4em;
}
.single-post .entry-content li {
  margin: 0 0 0.55em;
  line-height: 1.7;
}

/* Floating "By the numbers" aside - magazine editorial sidebar (no AI-template box/bar) */
.single-post .entry-content aside.nlg-atglance,
.single .entry-content aside.nlg-atglance,
.page .entry-content aside.nlg-atglance {
  float: right;
  width: 236px;
  max-width: 46%;
  margin: 4px 0 26px 36px;
  padding: 2px 0 4px 22px;
  background: transparent;
  border: none;
  border-left: none;
  font-family: 'Source Sans 3', sans-serif;
  position: relative;
}
/* Thin hand-drawn vertical accent instead of the old templated top bar */
.single-post .entry-content aside.nlg-atglance::before,
.single .entry-content aside.nlg-atglance::before,
.page .entry-content aside.nlg-atglance::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 0;
  width: 2px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='400' viewBox='0 0 2 400'%3E%3Cpath d='M1 0 Q 2 100 1 200 T 1 400' fill='none' stroke='%235C7A56' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") repeat-y left top;
  background-size: 2px 400px;
}
.single-post .entry-content aside.nlg-atglance h3,
.single .entry-content aside.nlg-atglance h3,
.page .entry-content aside.nlg-atglance h3 {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #1a130b !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: none !important;
  position: relative !important;
}
.single-post .entry-content aside.nlg-atglance h3::after,
.single .entry-content aside.nlg-atglance h3::after,
.page .entry-content aside.nlg-atglance h3::after {
  content: "";
  display: block;
  width: 48px;
  height: 5px;
  margin-top: 6px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 5' preserveAspectRatio='none'%3E%3Cpath d='M1 2.5 Q 8 0.5 16 2.5 T 31 2.5 T 47 2.5' fill='none' stroke='%23B8704C' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.single-post .entry-content aside.nlg-atglance dl,
.single .entry-content aside.nlg-atglance dl,
.page .entry-content aside.nlg-atglance dl {
  margin: 0;
  padding: 0;
}
.single-post .entry-content aside.nlg-atglance dt,
.single .entry-content aside.nlg-atglance dt,
.page .entry-content aside.nlg-atglance dt {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: #7a6e5f;
  margin: 0 0 2px;
  padding: 0;
  border: none;
}
.single-post .entry-content aside.nlg-atglance dt:not(:first-child),
.single .entry-content aside.nlg-atglance dt:not(:first-child),
.page .entry-content aside.nlg-atglance dt:not(:first-child) {
  margin-top: 18px;
}
.single-post .entry-content aside.nlg-atglance dd,
.single .entry-content aside.nlg-atglance dd,
.page .entry-content aside.nlg-atglance dd {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a130b;
  margin: 0;
  padding: 0;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

/* Pull quote - editorial magazine style, no left border bar */
.single-post .entry-content blockquote.nlg-pullquote,
.single .entry-content blockquote.nlg-pullquote,
.page .entry-content blockquote.nlg-pullquote,
.single-post .entry-content blockquote:not([class]),
.single .entry-content blockquote:not([class]),
.page .entry-content blockquote:not([class]) {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 1.45rem;
  line-height: 1.5;
  color: #1a130b;
  text-align: center;
  max-width: 640px;
  margin: 48px auto;
  padding: 42px 24px 36px;
  border: none;
  border-top: 1px solid #D9CEB8;
  border-bottom: 1px solid #D9CEB8;
  background: transparent !important;
  border-radius: 0;
  quotes: none;
  position: relative;
}
.single-post .entry-content blockquote.nlg-pullquote::before,
.single .entry-content blockquote.nlg-pullquote::before,
.page .entry-content blockquote.nlg-pullquote::before,
.single-post .entry-content blockquote:not([class])::before,
.single .entry-content blockquote:not([class])::before,
.page .entry-content blockquote:not([class])::before {
  content: "\201C";
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  background: #FDFBF7;
  padding: 0 18px;
  font-family: 'Playfair Display', serif;
  font-size: 3.2rem;
  font-style: normal;
  color: #B8704C;
  line-height: 1;
}
.single-post .entry-content blockquote.nlg-pullquote::after,
.single .entry-content blockquote.nlg-pullquote::after,
.page .entry-content blockquote.nlg-pullquote::after { content: none; }
.single-post .entry-content blockquote p,
.single .entry-content blockquote p,
.page .entry-content blockquote p { margin: 0 0 0.8em; font-style: italic; }
.single-post .entry-content blockquote p:last-child,
.single .entry-content blockquote p:last-child,
.page .entry-content blockquote p:last-child { margin-bottom: 0; }

/* Figures */
.single-post .entry-content figure.wp-block-image,
.single-post .entry-content .nlg-figure {
  margin: 36px 0 38px;
  clear: both;
}
.single-post .entry-content figure.wp-block-image img,
.single-post .entry-content .nlg-figure img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 2px;
  box-shadow: 0 6px 24px rgba(61,52,38,0.08);
}
.single-post .entry-content figure.wp-block-image figcaption,
.single-post .entry-content .nlg-figure figcaption {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #7a6e5f;
  margin: 12px 0 0;
  padding: 0;
  text-align: center;
}

/* Tables */
.single-post .entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0 34px;
  font-size: 0.96rem;
  font-family: 'Source Sans 3', sans-serif;
}
.single-post .entry-content table thead tr {
  background: #3D3426;
}
.single-post .entry-content table th {
  background: #3D3426 !important;
  color: #FFFDF8 !important;
  text-align: left;
  padding: 12px 14px;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 600;
}
.single-post .entry-content table td {
  padding: 13px 14px;
  border-bottom: 1px solid #E8E0D4;
  color: #3D3426;
  vertical-align: top;
}
.single-post .entry-content table tbody tr:nth-child(even) {
  background: #FAF7F2;
}
.single-post .entry-content table tbody tr:last-child td { border-bottom: none; }

/* Scores dl */
.single-post .entry-content dl.nlg-scores {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 20px;
  margin: 28px 0 34px;
  padding: 22px 24px;
  background: #FAF7F2;
  border-top: 2px solid #3D3426;
  border-bottom: 1px solid #E8E0D4;
}
.single-post .entry-content dl.nlg-scores dt {
  margin: 0;
  padding: 6px 0;
  font-size: 0.96rem;
  color: #3D3426;
  border-top: 1px solid #E8E0D4;
}
.single-post .entry-content dl.nlg-scores dt:first-of-type,
.single-post .entry-content dl.nlg-scores dd:first-of-type {
  border-top: none;
}
.single-post .entry-content dl.nlg-scores dd {
  margin: 0;
  padding: 6px 0;
  font-size: 0.96rem;
  font-weight: 700;
  color: #5C7A56;
  text-align: right;
  border-top: 1px solid #E8E0D4;
}

/* ---------- 9. Post-article blocks (share, newsletter, related) ---------- */
.nlg-post-tail {
  margin: 48px 0 0;
}
.nlg-share-inline {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 0;
  margin: 0 0 20px;
  border-top: 1px solid #E8E0D4;
  border-bottom: 1px solid #E8E0D4;
}
.nlg-share-inline-label {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 1.6px;
  color: #7a6e5f;
  font-weight: 600;
  margin-right: 6px;
}
.nlg-share-inline .nlg-share-icons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.nlg-share-inline a,
.nlg-share-inline button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #FFFDF8;
  border: 1px solid #E8E0D4;
  color: #3D3426;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
  padding: 0;
}
.nlg-share-inline a:hover,
.nlg-share-inline button:hover {
  background: #5C7A56;
  border-color: #5C7A56;
  color: #fff;
}
.nlg-share-inline svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}
.nlg-share-inline .nlg-share-copy.copied {
  background: #B8704C;
  border-color: #B8704C;
  color: #fff;
}

/* Newsletter block */
.nlg-newsletter {
  background: linear-gradient(135deg, #FAF7F2 0%, #F0EBE0 100%);
  border: 1px solid #E8E0D4;
  border-top: 3px solid #5C7A56;
  padding: 36px 36px 34px;
  margin: 36px 0;
  position: relative;
}
.nlg-newsletter::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 60px;
  height: 3px;
  background: #B8704C;
}
.nlg-newsletter h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem) !important;
  color: #1a130b !important;
  margin: 0 0 10px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  border: none !important;
  line-height: 1.2 !important;
}
.nlg-newsletter p.nlg-newsletter-desc {
  font-size: 1rem;
  line-height: 1.6;
  color: #5a4e3f;
  margin: 0 0 20px;
  max-width: 560px;
}
.nlg-newsletter form.nlg-newsletter-form {
  display: flex;
  gap: 10px;
  max-width: 520px;
  flex-wrap: wrap;
}
.nlg-newsletter input[type="email"] {
  flex: 1;
  min-width: 200px;
  border: 1px solid #D4C9B4 !important;
  background: #FFFDF8 !important;
  padding: 14px 18px !important;
  font-size: 1rem !important;
  font-family: 'Source Sans 3', sans-serif !important;
  color: #3D3426 !important;
  border-radius: 4px !important;
  outline: none;
}
.nlg-newsletter input[type="email"]:focus {
  border-color: #5C7A56 !important;
  box-shadow: 0 0 0 3px rgba(92,122,86,0.12) !important;
}
.nlg-newsletter button[type="submit"] {
  background: #3D3426;
  color: #FFFDF8;
  border: none;
  padding: 14px 28px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.4px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 180ms ease, transform 180ms ease;
  white-space: nowrap;
}
.nlg-newsletter button[type="submit"]:hover {
  background: #5C7A56;
  transform: translateY(-1px);
}
.nlg-newsletter .nlg-newsletter-privacy {
  font-size: 0.78rem;
  color: #7a6e5f;
  margin: 14px 0 0;
}
.nlg-newsletter-message {
  font-size: 0.95rem;
  padding: 14px 18px;
  margin: 14px 0 0;
  border-radius: 4px;
  display: none;
}
.nlg-newsletter-message.success {
  display: block;
  background: #E8F0E4;
  color: #3d5a38;
  border: 1px solid #C3D3BB;
}
.nlg-newsletter-message.error {
  display: block;
  background: #fdecea;
  color: #8a2c1e;
  border: 1px solid #f3b8b0;
}

/* Related posts - compact editorial cards */
.nlg-related {
  margin: 48px 0 24px;
  padding: 36px 0 0;
  border-top: 1px solid #E8E0D4;
  max-width: 100%;
  min-width: 0;
}
.nlg-related h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 1.6px;
  color: #7a6e5f !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
}
.nlg-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  max-width: 100%;
  min-width: 0;
}
@media (max-width: 820px) {
  .nlg-related-grid { grid-template-columns: 1fr; gap: 18px; }
}
.nlg-related-card {
  display: block;
  text-decoration: none !important;
  background: #FFFDF8;
  border: 1px solid #E8E0D4;
  transition: border-color 220ms ease, box-shadow 220ms ease;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
}
.nlg-related-card:hover {
  border-color: #3D3426;
  box-shadow: 0 6px 18px rgba(61,52,38,0.08);
}
.nlg-related-card .nlg-related-img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  background: #E8E0D4;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.nlg-related-card-body { padding: 14px 16px 18px; }
.nlg-related-card-cat {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: #B8704C;
  font-weight: 700;
  margin: 0 0 6px;
}
.nlg-related-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  line-height: 1.28;
  color: #1a130b;
  margin: 0 0 8px;
  font-weight: 700;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.nlg-related-card:hover .nlg-related-card-title { color: #5C7A56; }
.nlg-related-card-excerpt {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #5a4e3f;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---------- 10. Legacy post component compatibility ---------- */
.nlg-method-box {
  background: #FAF7F2;
  border: 1px solid #E8E0D4;
  padding: 20px 24px;
  margin: 0 0 28px;
  line-height: 1.7;
}
.nlg-method-box strong {
  display: block;
  font-size: 1.05rem;
  color: #3D3426;
  margin-bottom: 6px;
}
.nlg-method-box span { font-size: 0.95rem; color: #5a4e3f; }

.nlg-ranked-item {
  display: flex;
  gap: 20px;
  padding: 26px 0;
  border-bottom: 1px solid #E8E0D4;
  align-items: flex-start;
}
.nlg-ranked-item:first-child { border-top: 1px solid #E8E0D4; }
.nlg-rank-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  background: #3D3426;
  color: #fff !important;
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 4px;
}
.nlg-rank-body h3 {
  font-size: 1.3rem !important;
  color: #1a130b;
  margin: 0 0 10px !important;
  border: none;
  padding: 0;
}
.nlg-rank-body p { margin: 0 0 12px; }
.nlg-scores-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.nlg-score {
  display: inline-block;
  background: #FAF7F2;
  border: 1px solid #E8E0D4;
  padding: 5px 12px;
  font-size: 0.86rem;
  font-weight: 600;
  color: #3D3426;
}
.nlg-item-link {
  display: inline-block;
  color: #5C7A56 !important;
  font-weight: 600;
  font-size: 0.94rem;
  text-decoration: none !important;
  border-bottom: 2px solid #5C7A56;
  padding-bottom: 2px;
}
.nlg-item-link:hover { color: #B8704C !important; border-color: #B8704C; }

.nlg-feature-item {
  padding: 30px 0;
  border-bottom: 1px solid #E8E0D4;
}
.nlg-feature-item:first-child { border-top: 1px solid #E8E0D4; }
.nlg-feature-item h2 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}
.nlg-feature-item p { margin: 0 0 14px; }
.nlg-best-for {
  font-weight: 600;
  color: #5C7A56 !important;
  font-size: 0.93rem;
  margin-bottom: 12px !important;
}

.nlg-stats-row {
  display: flex;
  gap: 14px;
  margin: 18px 0;
  flex-wrap: wrap;
}
.nlg-stat-box {
  flex: 1;
  min-width: 120px;
  background: #FAF7F2;
  border: 1px solid #E8E0D4;
  padding: 14px 16px;
  text-align: center;
}
.nlg-stat-val {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #3D3426;
  line-height: 1.2;
}
.nlg-stat-label {
  display: block;
  font-size: 0.78rem;
  color: #7a6e5f;
  margin-top: 4px;
  letter-spacing: 0.4px;
}

/* CTA box - neutral, no coloured left-border */
.nlg-cta-box {
  background: #FAF7F2;
  border: 1px solid #D9CEB8;
  padding: 28px 32px;
  margin: 36px 0;
  position: relative;
}
.nlg-cta-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  right: 32px;
  height: 2px;
  background: #3D3426;
}
.nlg-cta-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #1a130b !important;
  margin: 0 0 10px !important;
}
.nlg-cta-box p { color: #5a4e3f; font-size: 1rem; margin: 0 0 16px; }
.nlg-cta-link {
  display: inline-block;
  padding: 12px 28px;
  background: #3D3426;
  color: #fff !important;
  font-weight: 600;
  font-size: 0.94rem;
  text-decoration: none !important;
  border-radius: 2px;
  letter-spacing: 0.3px;
  transition: background 180ms ease;
}
.nlg-cta-link:hover { background: #5C7A56; }

/* Verdict / winner box - bordered, no left bar */
.nlg-winner {
  background: #FAF7F2;
  border: 1px solid #D9CEB8;
  padding: 18px 24px;
  margin: 24px 0;
  font-weight: 600;
  color: #3D3426;
  position: relative;
}
.nlg-winner::before {
  content: "VERDICT";
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #5C7A56;
  margin-bottom: 6px;
}

.nlg-faq-section h2 { margin-bottom: 20px !important; }
.nlg-faq-section h3 {
  font-size: 1.15rem !important;
  color: #1a130b;
  margin: 26px 0 10px !important;
  padding: 0;
  border: none;
}
.nlg-faq-section p { margin: 0 0 18px; }

.nlg-checklist {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}
.nlg-checklist li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
  line-height: 1.65;
}
.nlg-checklist li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 0;
  color: #5C7A56;
  font-weight: 700;
  font-size: 1.1rem;
}

/* Post meta date separators */
.posted-on .entry-date.published::before {
  content: "Published ";
  color: #7a6e5f;
}
.posted-on .entry-date.published + .updated::before {
  content: " · Updated ";
  color: #7a6e5f;
  display: inline;
}

/* Legacy neutralisation */
.nlg-guide, .nlg-hero, .nlg-hero-desc, .nlg-tags, .nlg-tag,
.nlg-stats-bar, .nlg-stat, .nlg-verdict-box, .nlg-section,
.nlg-section-header, .nlg-section-num,
.nlg-pros-cons, .nlg-pros, .nlg-cons, .nlg-bestfor,
.nlg-faq, .nlg-faq-item {
  all: unset;
  display: block;
}

/* ---------- 11. Mobile overrides ---------- */
@media (max-width: 720px) {
  .single-post .entry-header,
  .single .entry-header,
  .page .entry-header { padding: 24px 20px 4px; }
  .single-post .entry-title,
  .single .entry-title,
  .page .entry-title { font-size: clamp(1.75rem, 6vw, 2.1rem) !important; }
  .nlg-byline { padding: 14px 20px; margin: 0 0 20px; }
  .nlg-byline-readtime { display: none; }

  .single-post .entry-content,
  .single .entry-content { font-size: 1.02rem; }
  .single-post .entry-content p.nlg-lead { font-size: 1.14rem; }
  .single-post .entry-content p.nlg-lead::first-letter { font-size: 3.8em; }

  .single-post .entry-content aside.nlg-atglance {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 22px 0 28px;
    padding: 4px 0 4px 18px;
  }
  .single-post .entry-content aside.nlg-atglance dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 22px;
    row-gap: 14px;
  }
  .single-post .entry-content aside.nlg-atglance dt { grid-column: span 1; }
  .single-post .entry-content aside.nlg-atglance dd { grid-column: span 1; }
  .single-post .entry-content aside.nlg-atglance dt:not(:first-child) { margin-top: 0; }
  .single-post .entry-content aside.nlg-atglance dd { font-size: 1.3rem; }
  .single-post .entry-content blockquote.nlg-pullquote,
  .single-post .entry-content blockquote:not([class]) {
    font-size: 1.15rem;
    padding: 22px 20px 22px 24px;
    margin: 28px 0;
  }

  .nlg-newsletter { padding: 28px 24px; }
  .nlg-newsletter form.nlg-newsletter-form { flex-direction: column; }
  .nlg-newsletter button[type="submit"] { width: 100%; }

  .nlg-ranked-item { flex-direction: column; gap: 14px; }
  .nlg-rank-num { width: 36px; height: 36px; min-width: 36px; font-size: 1rem; }

  .single-post .entry-content table { font-size: 0.88rem; }
  .single-post .entry-content table th,
  .single-post .entry-content table td { padding: 10px 12px; }
}

/* ---------- 11b. Kadence default related posts - constrain + style to match ---------- */
.single-post .related-posts,
.single .related-posts,
.kadence-related-posts {
  max-width: 100% !important;
  box-sizing: border-box;
}
.single-post .related-posts .loop-entry,
.single .related-posts .loop-entry,
.kadence-related-posts .loop-entry {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid #E8E0D4 !important;
  overflow: hidden;
}
.single-post .related-posts .post-thumbnail img,
.single .related-posts .post-thumbnail img {
  border-radius: 0 !important;
}

/* ---------- 11c. Square all nlg component corners ---------- */
.nlg-method-box,
.nlg-stat-box,
.nlg-score,
.nlg-rank-num,
.nlg-winner,
.nlg-cta-box,
.nlg-sidebar-card,
.nlg-atglance,
.nlg-callout {
  border-radius: 0 !important;
}

/* Drop shadows on article images - crisp editorial */
.single-post .entry-content figure.wp-block-image img,
.single .entry-content figure.wp-block-image img,
.page .entry-content figure.wp-block-image img {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ---------- 11d. Dynamic editorial features ---------- */
/* Section divider (editorial rule with centered ornament) */
.nlg-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 48px auto;
  max-width: 560px;
  color: #B8704C;
}
.nlg-divider::before,
.nlg-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #D9CEB8;
}
.nlg-divider-dot {
  width: 6px;
  height: 6px;
  background: #B8704C;
  transform: rotate(45deg);
}

/* Key fact callout - inline emphasis */
.nlg-keyfact {
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.35;
  color: #1a130b;
  font-weight: 600;
  margin: 28px 0;
  padding: 18px 24px 18px 0;
  border-top: 2px solid #3D3426;
  border-bottom: 1px solid #D9CEB8;
}

/* Stat highlight (inline) */
.nlg-statline {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 36px;
  padding: 22px 0;
  margin: 28px 0;
  border-top: 1px solid #D9CEB8;
  border-bottom: 1px solid #D9CEB8;
}
.nlg-statline > div {
  flex: 1 1 140px;
}
.nlg-statline strong {
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #3D3426;
  line-height: 1.1;
}
.nlg-statline span {
  display: block;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #7a6e5f;
  margin-top: 4px;
}

/* Info box - bordered editorial note */
.nlg-info {
  background: #FAF7F2;
  border: 1px solid #D9CEB8;
  padding: 20px 24px;
  margin: 28px 0;
  position: relative;
  font-size: 1rem;
}
.nlg-info::before {
  content: "NOTE";
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #B8704C;
  margin-bottom: 8px;
}

/* ---------- 12. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .nlg-progress { transition: none !important; }
}

/* =============================================================
 * 12. Wide wrap for About/custom pages
 * ============================================================= */
.nlg-wide-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.nlg-wide-wrap .nlg-byline {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.nlg-wide-wrap .nlg-post-tail {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 900px) {
  .nlg-wide-wrap { padding: 0 18px; }
}

/* =============================================================
 * 13. Hide Kadence default related posts (we ship our own .nlg-related)
 * ============================================================= */
body.nlg-editorial .entry-related { display: none !important; }
body.nlg-editorial .post-navigation { max-width: 1200px; margin-left: auto; margin-right: auto; }

/* =============================================================
 * 14. Humanise — editorial visual features layered on top of body copy
 * Added 2026-04-12 in response to "pages look AI / too plain" feedback.
 * All CSS-only, no HTML changes required.
 * ============================================================= */

/* --- Fleuron ornament above every h2 after the first (town & compare guides) --- */
/* Scope: posts that use the at-a-glance aside are the editorial narrative guides
   (living-in, compare). Best-of/ranked list posts skip this to avoid clutter. */
body.nlg-narrative .entry-content h2:not(:first-of-type)::before,
body.nlg-narrative .entry-content h2:not(:first-of-type)::before {
  content: "\2722";              /* four-petalled fleuron ✢ */
  display: block;
  font-size: 0.95rem;
  line-height: 1;
  color: #B8704C;
  font-weight: 400;
  margin: 0 0 16px;
  letter-spacing: 0;
}

/* --- Drop cap on first paragraph after each h2 (scoped to editorial narrative guides) --- */
/* Skip paragraphs that start with <strong>...</strong> (metadata/stat blocks) */
body.nlg-narrative .entry-content h2 + p:not(:has(> strong:first-child))::first-letter,
body.nlg-narrative .entry-content h2 + p:not(:has(> strong:first-child))::first-letter {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 3.4em;
  float: left;
  line-height: 0.86;
  margin: 0.06em 0.12em 0 0;
  color: #1a130b;
}

/* --- Editorial figcaption treatment (photographer credit in tiny italic separator) --- */
.single-post .entry-content figure.wp-block-image figcaption,
.single .entry-content figure.wp-block-image figcaption,
.page .entry-content figure.wp-block-image figcaption {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 0.86rem;
  color: #6b5e4a;
  text-align: left;
  padding: 10px 0 0;
  border-top: 1px solid #E8E0D4;
  margin-top: 10px;
  letter-spacing: 0.01em;
}

/* --- Dinkus divider: semantic <hr class="nlg-dinkus"> OR the default wp-block-separator
       - render three small diamonds centred, classic magazine section break --- */
.single-post .entry-content hr.wp-block-separator,
.single .entry-content hr.wp-block-separator,
.single-post .entry-content .nlg-dinkus,
.page .entry-content hr.wp-block-separator {
  border: 0 !important;
  text-align: center;
  margin: 42px auto !important;
  max-width: 100%;
  height: auto;
  overflow: visible;
  position: relative;
}
.single-post .entry-content hr.wp-block-separator::before,
.single .entry-content hr.wp-block-separator::before,
.single-post .entry-content .nlg-dinkus::before {
  content: "\2727  \2727  \2727";   /* ✧ ✧ ✧ */
  display: block;
  color: #B8704C;
  font-size: 0.85rem;
  letter-spacing: 6px;
  line-height: 1;
  font-weight: 400;
}

/* --- First-words small-caps lead-in for the paragraph after h2 (scoped) ---
   Styles the opening three letters subtly bigger & spaced. Uses first-line fallback. */
body.nlg-narrative .entry-content h2 + p::first-line,
body.nlg-narrative .entry-content h2 + p::first-line {
  letter-spacing: 0.01em;
}

/* --- Gap fixes: prevent the at-a-glance float from creating vertical voids --- */
/* Figures inside narrative posts should clear the float rather than sit beside it */
body.nlg-narrative .entry-content figure.wp-block-image,
body.nlg-narrative .entry-content figure.wp-block-image {
  clear: both;
  margin: 28px 0 !important;
}
/* Pullquote should also clear the float for a clean centred display */
body.nlg-narrative .entry-content blockquote.nlg-pullquote,
body.nlg-narrative .entry-content blockquote.nlg-pullquote {
  clear: both;
}
/* Tighten margin on h2 following a figure so captioned images don't leave a gap */
.single-post .entry-content figure + h2,
.single .entry-content figure + h2 {
  margin-top: 1.4em !important;
}
/* Tighten margin on h2 directly after the aside/lead (first h2 in a narrative guide) */
.single-post .entry-content aside.nlg-atglance + h2,
.single-post .entry-content p.nlg-lead + aside.nlg-atglance + blockquote + figure + h2 {
  margin-top: 0 !important;
}

/* --- Paragraph rhythm: slightly tighter line-height on body, but NO change to lead --- */
/* (keeps readability, tightens the visual "wall of text" feel) */
body.nlg-narrative .entry-content > p,
body.nlg-narrative .entry-content > p {
  text-align: left;
}

/* --- Mobile refinements for the new visual features --- */
@media (max-width: 720px) {
  body.nlg-narrative .entry-content h2:not(:first-of-type)::before {
    margin-bottom: 12px;
    font-size: 0.9rem;
  }
  body.nlg-narrative .entry-content h2 + p:not(:has(> strong:first-child))::first-letter {
    font-size: 3em;
  }
  .single-post .entry-content hr.wp-block-separator::before,
  .single-post .entry-content .nlg-dinkus::before {
    font-size: 0.78rem;
    letter-spacing: 5px;
  }
}

/* About page — team vCards */
.nlg-ab-person{display:flex;gap:20px;align-items:flex-start;margin:22px 0 32px}
.nlg-ab-person-initials{flex-shrink:0;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.3rem;font-family:'Playfair Display',serif;letter-spacing:.02em}
.nlg-ab-person-info{flex:1;min-width:0}
.nlg-ab-person-info h3{margin:0 0 4px;font-family:'Playfair Display',serif;font-size:1.2rem;color:#3D3426}
.nlg-ab-person-role{font-size:.92rem;color:#5C7A56;margin:0 0 10px;font-weight:600;letter-spacing:.02em}
.nlg-ab-person-info p{font-size:.98rem;line-height:1.65;color:#4A4A4A;margin:0 0 10px}
@media (max-width:640px){
  .nlg-ab-person{gap:14px}
  .nlg-ab-person-initials{width:56px;height:56px;font-size:1.05rem}
}


/* ===========================================================================
   12. 2026-04-28 — Kill inline-style AI artefacts + mobile fixes
   ---------------------------------------------------------------------------
   Many older posts ship with inline styles like:
     <div class="nlg-pros-cons" style="grid-template-columns:1fr 1fr;...">
     <h3 style="background:#5C7A56;color:#fff">  (compare table)
     <div class="nlg-score-fill" style="background:linear-gradient(...)">
   These are not responsive (vertical-text on mobile) and don't match the
   editorial palette. Force-override here.
   =========================================================================== */

/* --- Pros & cons block (was: pastel green/red cards, fixed 2-col) --- */
.entry-content .nlg-pros-cons{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  margin: 36px 0 !important;
  padding: 0 !important;
  background: none !important;
  border-top: 1px solid #1a1a1a !important;
  border-bottom: 1px solid #1a1a1a !important;
  border-radius: 0 !important;
}
.entry-content .nlg-pros-cons > div{
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 22px 22px 22px 0 !important;
}
.entry-content .nlg-pros-cons > div + div{
  padding-left: 22px !important;
  border-left: 1px solid #d9d5cf !important;
}
.entry-content .nlg-pros-cons h3,
.entry-content .nlg-pros-cons h4,
.entry-content .nlg-pros-cons strong{
  display: block !important;
  font-family: 'Inter', 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6b6b6b !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.entry-content .nlg-pros-cons p{
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #1a1a1a !important;
  margin: 0 0 10px !important;
  background: none !important;
}
@media (max-width: 720px){
  .entry-content .nlg-pros-cons{ grid-template-columns: 1fr !important; }
  .entry-content .nlg-pros-cons > div{ padding: 22px 0 !important; }
  .entry-content .nlg-pros-cons > div + div{
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #d9d5cf !important;
    padding-top: 22px !important;
  }
}

/* --- Compare table (was: dark green inline thead, narrow rows on mobile) --- */
.entry-content .nlg-compare-table{
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14.5px !important;
  background: #fff !important;
  border: 1px solid #d9d5cf !important;
  margin: 26px 0 28px !important;
}
.entry-content .nlg-compare-table thead th{
  background: #2a4d3a !important;
  color: #fff !important;
  font-family: Georgia, 'Source Serif 4', serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  padding: 12px 14px !important;
  text-align: left !important;
}
.entry-content .nlg-compare-table tbody td{
  padding: 12px 14px !important;
  border-top: 1px solid #eee5cf !important;
  vertical-align: top !important;
  line-height: 1.45 !important;
  background: transparent !important;
}
.entry-content .nlg-compare-table tbody tr{ background: transparent !important; }
.entry-content .nlg-compare-table tbody tr:nth-child(even) td{ background: #faf7f2 !important; }

/* Wrap any wide nlg- table in horizontal scroll on mobile (kills vertical-text wraps) */
@media (max-width: 720px){
  .entry-content .nlg-compare-table,
  .entry-content table.nlg-compare-table,
  .entry-content .nlg-data-table,
  .entry-content table.nlg-data-table{
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap !important;
  }
}

/* --- Score bars (was: green gradient pill, broke on mobile when label too long) --- */
.entry-content .nlg-score-row{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 12px !important;
  font-family: 'Inter', 'Source Sans 3', sans-serif !important;
}
.entry-content .nlg-score-row > span:first-child{
  flex: 0 0 auto !important;
  min-width: 130px !important;
  font-size: 13px !important;
  color: #6b6b6b !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}
.entry-content .nlg-score-bar{
  flex: 1 !important;
  height: 6px !important;
  background: #eee5cf !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
.entry-content .nlg-score-fill{
  height: 100% !important;
  background: #2a4d3a !important;
  border-radius: 0 !important;
  display: block !important;
}
@media (max-width: 720px){
  .entry-content .nlg-score-row{ flex-wrap: wrap !important; gap: 6px 14px !important; }
  .entry-content .nlg-score-row > span:first-child{ flex: 1 0 100% !important; min-width: 0 !important; }
  .entry-content .nlg-score-bar{ flex: 1 0 100% !important; }
}

/* --- Services CTA grid (3 desktop / 2 tablet / 1 mobile) --- */
.entry-content .nlg-services-cta-grid,
.nlg-services-cta-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
@media (max-width: 900px){
  .entry-content .nlg-services-cta-grid,
  .nlg-services-cta-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 540px){
  .entry-content .nlg-services-cta-grid,
  .nlg-services-cta-grid{ grid-template-columns: 1fr !important; }
}

/* --- Related posts grid (3 / 2 / 1) --- */
.nlg-related-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
@media (max-width: 1100px){
  .nlg-related-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px){
  .nlg-related-grid{ grid-template-columns: 1fr !important; }
}

/* --- Strip the AI "NOTE" pseudo-badge from .nlg-info --- */
.nlg-info::before{ content: none !important; display: none !important; }
.nlg-info{
  background: #fbfaf7 !important;
  border: 0 !important;
  border-top: 2px solid #6b6b6b !important;
  border-bottom: 1px solid #d9d5cf !important;
  border-radius: 0 !important;
  padding: 18px 0 !important;
}

/* --- Author byline kicker pill defang (if it ever ships) --- */
.nlg-author-byline-kicker{
  background: none !important;
  padding: 0 !important;
  color: #6b6b6b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border: 0 !important;
}

/* --- Tablet/mobile article grid sanity (covers tablet 768-1099) --- */
@media (max-width: 1100px){
  .nlg-article-grid{
    grid-template-columns: 56px minmax(0, 1fr) !important;
    max-width: 100% !important;
    padding: 0 24px 32px !important;
    gap: 28px !important;
  }
  .nlg-sidebar{ display: none !important; }
}
@media (max-width: 860px){
  .nlg-article-grid{
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 18px 28px !important;
  }
  .nlg-share-rail{
    position: static !important;
    flex-direction: row !important;
    margin: 0 0 18px !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #d9d5cf !important;
  }
}

/* --- Hero typography on mobile (avoid clip + 1-word-per-line) --- */
@media (max-width: 720px){
  .nlg-hero{ padding: 0 !important; margin: 0 0 24px !important; }
  .nlg-hero-figure{ aspect-ratio: 4/5 !important; min-height: 0 !important; }
  .nlg-hero-inner{ padding: 22px 18px 22px !important; max-width: 100% !important; }
  .nlg-hero-title{ font-size: clamp(1.6rem, 6vw, 2rem) !important; }
}

/* --- Wrap any wide block table inside .entry-content for mobile --- */
@media (max-width: 720px){
  .entry-content table:not(.nlg-compare-table):not(.nlg-data-table){
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
  }
  .entry-content figure.wp-block-table{
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* --- Long inline links should wrap not vertical-text --- */
.entry-content a, .entry-content p{
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* --- Forms: stack on phone --- */
@media (max-width: 540px){
  .nlg-newsletter-form,
  .nlg-inline-cta-form,
  .hp-nl-form{
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .nlg-newsletter-form input,
  .nlg-newsletter-form button,
  .nlg-inline-cta-form input,
  .nlg-inline-cta-form button,
  .hp-nl-form input,
  .hp-nl-form button{
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* --- Card-with-left-stripe / pastel-callout pattern: kill site-wide --- */
.entry-content .nlg-trust-strip,
.entry-content .nlg-nearby,
.entry-content .nlg-printable-note,
.entry-content .nlg-ymyl-disclaimer,
.entry-content .nlg-callout,
.entry-content .nlg-aside,
.entry-content .nlg-note,
.entry-content .nlg-tip,
.entry-content .nlg-warning,
.entry-content .nlg-highlight,
.entry-content .nlg-atglance,
.entry-content blockquote{
  border-left: 0 !important;
}
.entry-content .nlg-trust-strip,
.entry-content .nlg-atglance{ border-top: 2px solid #2a4d3a !important; border-radius: 0 !important; }
.entry-content .nlg-nearby,
.entry-content .nlg-printable-note{ border-top: 2px solid #2a4d3a !important; border-radius: 0 !important; }
.entry-content .nlg-ymyl-disclaimer{ border-top: 2px solid #8a2a2a !important; border-radius: 0 !important; }

/* Newsletter/inline CTA: top accent only */
.nlg-newsletter,
.nlg-inline-cta{
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 3px solid #2a4d3a !important;
  border-bottom: 1px solid #d9d5cf !important;
  border-radius: 0 !important;
}

/* Last-reviewed line */
.nlg-verified{
  display: block !important;
  margin: 2.2rem 0 .4rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  font-family: Georgia, 'Source Serif 4', serif !important;
  font-style: italic !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  color: #7a6e5f !important;
  letter-spacing: 0.005em !important;
}
.nlg-verified::before{ content: none !important; display: none !important; }
.nlg-verified__dot{ display: none !important; }
.nlg-verified__cadence{
  display: inline !important;
  border: 0 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  color: inherit !important;
  font-style: italic !important;
}
.nlg-verified__cadence::before{ content: " · "; }


/* ===========================================================================
   13. 2026-04-28b — Inline-style AI-look neutraliser
   ---------------------------------------------------------------------------
   Living-in posts (43 of them) ship with ~40 inline-styled <div>/<table>
   elements per page using rounded corners (8/10/12/14px), gradients
   (linear-gradient(...)), pastel backgrounds (#FAF7F2/#FFFDF8/#FAF7F0)
   and 3-4px coloured left-border stripes. None match the editorial theme.
   These rules neutralise the most distinctive AI-look properties via
   attribute selectors so we don't have to touch 43 posts of content.
   =========================================================================== */

/* --- A. Kill all rounded corners on inline-styled blocks inside post body --- */
.entry-content [style*="border-radius:14px"],
.entry-content [style*="border-radius:12px"],
.entry-content [style*="border-radius:10px"],
.entry-content [style*="border-radius: 10px"],
.entry-content [style*="border-radius:8px"],
.entry-content [style*="border-radius: 8px"],
.entry-content [style*="border-radius:6px"],
.entry-content [style*="border-radius: 6px"],
.entry-content [style*="border-radius:4px"],
.entry-content [style*="border-radius:0 12px 12px 0"],
.entry-content [style*="border-radius:12px 0 0 12px"]{
  border-radius: 0 !important;
}

/* --- B. Replace gradient backgrounds with solid editorial colours --- */
.entry-content [style*="linear-gradient(135deg,#5C7A56"],
.entry-content [style*="linear-gradient(135deg, #5C7A56"],
.entry-content [style*="linear-gradient(90deg,#5C7A56"],
.entry-content [style*="linear-gradient(90deg, #5C7A56"]{
  background: #2a4d3a !important;   /* solid editorial sage */
}
.entry-content [style*="linear-gradient(90deg,#D4A04A"],
.entry-content [style*="linear-gradient(135deg,#D4A04A"]{
  background: #b8704c !important;   /* solid clay/terracotta */
}

/* --- C. Strip 3-4px coloured left-border stripes (banned site-wide) --- */
.entry-content [style*="border-left:3px solid"],
.entry-content [style*="border-left: 3px solid"],
.entry-content [style*="border-left:4px solid"],
.entry-content [style*="border-left: 4px solid"],
.entry-content [style*="border-left:5px solid"]{
  border-left: 0 !important;
  padding-left: 0 !important;
}

/* --- D. Neutralise common pastel backgrounds (push to editorial palette) --- */
.entry-content [style*="background:#FAF7F2"],
.entry-content [style*="background: #FAF7F2"],
.entry-content [style*="background:#faf7f2"],
.entry-content [style*="background:#FFFDF8"],
.entry-content [style*="background: #FFFDF8"],
.entry-content [style*="background:#fffdf8"],
.entry-content [style*="background:#f7f5f0"],
.entry-content [style*="background:#FAF7F0"],
.entry-content [style*="background:#faf7f0"]{
  background: transparent !important;
  border: 1px solid #d9d5cf !important;
  border-radius: 0 !important;
}

/* --- E. Pastel-green/red callout backgrounds (pros/cons inner cards, info) --- */
.entry-content [style*="background:#f0f7ef"],
.entry-content [style*="background: #f0f7ef"],
.entry-content [style*="background:#fdf0ee"],
.entry-content [style*="background: #fdf0ee"],
.entry-content [style*="background:#eef3ee"],
.entry-content [style*="background: #eef3ee"]{
  background: transparent !important;
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-radius: 0 !important;
}

/* --- F. Compare-table inline thead background already overridden in §12. --- */
/* Belt-and-braces: any element with background:#5C7A56 inline in entry-content
   becomes editorial sage solid (no gradient, no rounded). */
.entry-content [style*="background:#5C7A56"],
.entry-content [style*="background: #5C7A56"]{
  background: #2a4d3a !important;
}

/* --- G. Inline grid-template-columns 1fr 1fr collapses on phone --- */
@media (max-width: 600px){
  .entry-content [style*="grid-template-columns:1fr 1fr"],
  .entry-content [style*="grid-template-columns: 1fr 1fr"],
  .entry-content [style*="grid-template-columns:repeat(2"],
  .entry-content [style*="grid-template-columns:repeat(3"],
  .entry-content [style*="grid-template-columns:repeat(4"],
  .entry-content [style*="grid-template-columns:repeat(5"]{
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 900px) and (min-width: 601px){
  .entry-content [style*="grid-template-columns:repeat(3"],
  .entry-content [style*="grid-template-columns:repeat(4"],
  .entry-content [style*="grid-template-columns:repeat(5"]{
    grid-template-columns: 1fr 1fr !important;
  }
}

/* --- H. Inline tables: enforce mobile horizontal scroll --- */
@media (max-width: 720px){
  .entry-content table[style*="border-collapse"],
  .entry-content table[style*="width:100%"]{
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  .entry-content div[style*="overflow-x:auto"]{
    max-width: calc(100vw - 36px) !important;
  }
}

/* --- I. Replace inline CTA pill buttons with editorial flat buttons --- */
.entry-content a[style*="background:#D4A04A"],
.entry-content a[style*="background: #D4A04A"],
.entry-content a[style*="background:#B8704C"],
.entry-content a[style*="background: #B8704C"]{
  background: #2a4d3a !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 12px 22px !important;
  font-family: 'Inter', 'Source Sans 3', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  display: inline-block !important;
  border: 0 !important;
}
.entry-content a[style*="background:#D4A04A"]:hover,
.entry-content a[style*="background:#B8704C"]:hover{
  background: #1f3a2c !important;
}

/* --- J. CTA outline button (rgba bg) --- */
.entry-content a[style*="background:rgba(255,255,255,.15)"]{
  background: transparent !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  padding: 12px 22px !important;
}

/* --- K. Score-row inline gradient fills become solid sage --- */
.entry-content div[style*="linear-gradient(90deg,#D4A04A,#B8704C)"]{
  background: #b8704c !important;
}
.entry-content div[style*="background:#5C7A56;height:100%"]{
  background: #2a4d3a !important;
  border-radius: 0 !important;
}

/* --- L. Card-with-asymmetric-corners pattern (stat boxes) --- */
.entry-content div[style*="background:#FFFDF8;border-left:4px solid"]{
  background: transparent !important;
  border-left: 0 !important;
  border-top: 2px solid #b8704c !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
}

/* --- M. Force Inter / Source Serif on inline-styled body fragments --- */
.entry-content [style*="font-family:'Source Sans 3'"]{
  font-family: 'Source Serif 4', Georgia, serif !important;
}
/* Keep playfair display headings as is (they read editorially) */

/* --- N. Stat-number pill rounded corners (top of town pages) --- */
.entry-content div[style*="background:linear-gradient(135deg,#5C7A56,#3D5A35)"][style*="border-radius:10px"],
.entry-content div[style*="background:linear-gradient(135deg,#5C7A56,#3D5A35)"][style*="border-radius:14px"]{
  background: #2a4d3a !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 8px 12px !important;
}

/* --- O. Stats-bar with N-column grid (top of town posts) --- */
.entry-content div[style*="grid-template-columns:repeat(5,1fr)"][style*="background:#FAF7F2"]{
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #d9d5cf !important;
  border-bottom: 1px solid #d9d5cf !important;
  border-radius: 0 !important;
  margin: 0 0 32px !important;
}
.entry-content div[style*="border-right:1px solid #E8E0D4"]{
  border-right-color: #d9d5cf !important;
  padding: 16px 14px !important;
}

/* --- P. Compare table outer wrapper rounded corners --- */
.entry-content table[style*="border-radius:12px"],
.entry-content table[style*="border-radius:14px"]{
  border-radius: 0 !important;
  overflow: visible !important;
  border: 1px solid #d9d5cf !important;
}


/* ===========================================================================
   14. 2026-04-28c — Traditional editorial reset (site-wide)
   ---------------------------------------------------------------------------
   "No rounded edges, no highlighted box with a line next to it. Proper
    traditional editorial style." (instruction 2026-04-28)
   ---------------------------------------------------------------------------
   Goals:
     1. Zero border-radius site-wide (except .gravatar/avatar/round-icon circles)
     2. No coloured left-border stripes anywhere — replace with thin top rule
     3. No pastel callout backgrounds — transparent + 1px hairline rule instead
     4. Buttons, inputs, cards, badges all square
   =========================================================================== */

/* --- A. Site-wide square corners ------------------------------------------ */
body *,
body *::before,
body *::after,
.entry-content *,
.entry-content *::before,
.entry-content *::after,
.nlg-hp *,
.nlg-footer *,
.nlg-header-utility *,
.kadence-related-posts *,
.related-posts *,
.entry-related *,
input, select, textarea, button,
.wp-block-button__link,
.wp-block-image img,
.wp-block-cover,
.wp-block-quote,
figure, table, thead, tbody, tr, th, td{
  border-radius: 0 !important;
}
/* Keep circular avatars/icon-circles only where semantically round */
.avatar,
img.avatar,
.nlg-byline-avatar,
.nlg-author-byline-avatar,
.nlg-author-card-img,
.nlg-ab-person-initials,
.nlg-share-rail a,
.nlg-share-rail button,
.nlg-share-icons a,
.nlg-share-icons button{
  border-radius: 50% !important;
}

/* --- B. No coloured left-border stripes (site-wide) ----------------------- */
.entry-content blockquote,
.entry-content .wp-block-quote,
.entry-content .nlg-callout,
.entry-content .nlg-aside,
.entry-content .nlg-note,
.entry-content .nlg-tip,
.entry-content .nlg-warning,
.entry-content .nlg-info,
.entry-content .nlg-highlight,
.entry-content .nlg-trust-strip,
.entry-content .nlg-nearby,
.entry-content .nlg-printable-note,
.entry-content .nlg-ymyl-disclaimer,
.entry-content .nlg-atglance,
.entry-content .nlg-pros-cons,
.entry-content [class*="callout"],
.entry-content [class*="-aside"],
.entry-content [class*="-note"],
.entry-content [class*="-tip"],
.entry-content [class*="-warning"],
.entry-content [class*="-info"],
.entry-content [class*="-highlight"],
.entry-content [class*="-stat"]:not([class*="-statistic"]),
.entry-content [style*="border-left:"]{
  border-left: 0 !important;
  padding-left: 0 !important;
}

/* Restore needed left padding where stripping it would crush content */
.entry-content blockquote{
  margin-left: 1.6em;
  margin-right: 1.6em;
  padding-left: 0 !important;
}
.entry-content blockquote.nlg-pullquote{
  margin: 36px auto !important;
  padding: 22px 0 !important;
  border-top: 1px solid #1a1a1a !important;
  border-bottom: 1px solid #1a1a1a !important;
  text-align: center;
  max-width: 720px;
}

/* --- C. Replace coloured-left-border with thin top-rule treatment --------- */
.entry-content .nlg-trust-strip,
.entry-content .nlg-atglance,
.entry-content .nlg-nearby,
.entry-content .nlg-printable-note,
.entry-content .nlg-callout,
.entry-content .nlg-info,
.entry-content [class*="callout"],
.entry-content [class*="-aside"],
.entry-content [class*="-note"]:not(.nlg-byline-readtime){
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #1a1a1a !important;
  border-bottom: 1px solid #d9d5cf !important;
  border-radius: 0 !important;
  padding: 22px 0 !important;
  margin: 32px 0 !important;
  box-shadow: none !important;
}
/* YMYL disclaimer keeps muted treatment */
.entry-content .nlg-ymyl-disclaimer{
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #6b6b6b !important;
  border-bottom: 1px solid #d9d5cf !important;
  padding: 18px 0 !important;
  margin: 28px 0 !important;
  font-size: 0.92rem !important;
  color: #4a4845 !important;
  font-style: italic !important;
}

/* --- D. Box-shadow site-wide off (editorial print look) ------------------- */
.entry-content *,
.nlg-hp *,
.entry,
.entry.single-entry,
.entry.loop-entry,
.nlg-related-card,
.nlg-sidebar-card,
.nlg-services-cta-card,
.kadence-related-posts .loop-entry,
.related-posts .loop-entry,
button, .button, .wp-block-button__link,
input, select, textarea{
  box-shadow: none !important;
}
button:hover, .button:hover, .wp-block-button__link:hover,
.wp-block-button__link:active, .wp-block-button__link:focus{
  box-shadow: none !important;
}

/* --- E. Buttons: square, flat, editorial -------------------------------- */
.entry-content .wp-block-button__link,
.entry-content button,
.entry-content input[type="submit"],
.entry-content input[type="button"],
.nlg-newsletter button,
.nlg-inline-cta button,
.hp-nl-form button{
  border-radius: 0 !important;
  background: #2a4d3a !important;
  color: #fff !important;
  border: 0 !important;
  padding: 12px 22px !important;
  font-family: 'Inter', 'Source Sans 3', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 160ms ease !important;
}
.entry-content .wp-block-button__link:hover,
.entry-content button:hover,
.nlg-newsletter button:hover,
.nlg-inline-cta button:hover,
.hp-nl-form button:hover{
  background: #1f3a2c !important;
  color: #fff !important;
}

/* --- F. Inputs: hairline rule, square ------------------------------------ */
.entry-content input[type="email"],
.entry-content input[type="text"],
.entry-content textarea,
.nlg-newsletter input,
.nlg-inline-cta input,
.hp-nl-form input{
  border-radius: 0 !important;
  border: 1px solid #1a1a1a !important;
  background: #fff !important;
  padding: 11px 14px !important;
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

/* --- G. Cards (related, sidebar, services, picks) ------------------------- */
.nlg-related-card,
.nlg-sidebar-card,
.nlg-services-cta-card,
.hp-feat-card,
.hp-pick,
.hp-areas-col{
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.nlg-related-card{
  border: 0 !important;
  border-bottom: 1px solid #d9d5cf !important;
  padding-bottom: 18px !important;
}
.nlg-related-card:hover{
  border-color: #1a1a1a !important;
  box-shadow: none !important;
}
.nlg-related-img,
.nlg-related-card img{
  border-radius: 0 !important;
}

/* --- H. Score bars (anywhere): solid sage, no rounded, no gradient ------- */
.entry-content [class*="score-bar"],
.entry-content [class*="-bar"][class*="score"],
.entry-content .nlg-score-bar{
  border-radius: 0 !important;
  background: #eee5cf !important;
}
.entry-content [class*="score-fill"],
.entry-content .nlg-score-fill{
  border-radius: 0 !important;
  background: #2a4d3a !important;
  background-image: none !important;
}

/* --- I. Strip rounded corners from inline-styled elements (any radius) --- */
.entry-content [style*="border-radius:"]{
  border-radius: 0 !important;
}
.entry-content [style*="border-radius "]{
  border-radius: 0 !important;
}

/* --- J. Strip ALL inline gradient backgrounds inside post body ----------- */
.entry-content [style*="linear-gradient"],
.entry-content [style*="radial-gradient"]{
  background-image: none !important;
}
/* Re-assert solid colour for the most common gradient classes that lost bg */
.entry-content [class*="cta"][style*="linear-gradient"],
.entry-content [style*="linear-gradient(135deg,#5C7A56"],
.entry-content [style*="linear-gradient(90deg,#5C7A56"],
.entry-content [style*="linear-gradient(135deg, #5C7A56"]{
  background-color: #2a4d3a !important;
  color: #fff !important;
}
.entry-content [style*="linear-gradient(90deg,#D4A04A"],
.entry-content [style*="linear-gradient(135deg,#D4A04A"]{
  background-color: #b8704c !important;
}

/* --- K. Pastel post-content backgrounds: transparent or white ------------ */
.entry-content [style*="background:#FAF7F2"],
.entry-content [style*="background:#FFFDF8"],
.entry-content [style*="background:#faf7f2"],
.entry-content [style*="background:#fffdf8"],
.entry-content [style*="background:#FAF7F0"],
.entry-content [style*="background:#faf7f0"],
.entry-content [style*="background:#fbf9f2"],
.entry-content [style*="background:#FBF9F2"],
.entry-content [style*="background:#f7f5f0"],
.entry-content [style*="background:#F7F5F0"],
.entry-content [style*="background:#f3efe4"],
.entry-content [style*="background:#F3EFE4"],
.entry-content [style*="background:#f0f7ef"],
.entry-content [style*="background:#F0F7EF"],
.entry-content [style*="background:#fdf0ee"],
.entry-content [style*="background:#FDF0EE"],
.entry-content [style*="background:#eef3ee"],
.entry-content [style*="background:#EEF3EE"]{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-top: 1px solid #d9d5cf !important;
  border-bottom: 1px solid #d9d5cf !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-radius: 0 !important;
}

/* --- L. Tags / pills / badges: become ALL CAPS small-text labels --------- */
.entry-content .tag,
.entry-content .label,
.entry-content [class*="-tag"],
.entry-content [class*="-pill"],
.entry-content [class*="-badge"],
.entry-content [class*="-chip"],
.nlg-author-byline-kicker,
.hp-kicker,
.nlg-related-card-cat{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-family: 'Inter', 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6b6b6b !important;
  display: inline-block !important;
}

/* --- M. Stat boxes & at-a-glance: hairline-grid, no fills --------------- */
.entry-content .nlg-atglance,
.entry-content .nlg-stats-bar,
.entry-content .nlg-stat-box,
.entry-content [class*="-stat-box"],
.entry-content [class*="stats-bar"]{
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #1a1a1a !important;
  border-bottom: 1px solid #d9d5cf !important;
  padding: 18px 0 !important;
  margin: 28px 0 !important;
  border-radius: 0 !important;
}
.entry-content .nlg-atglance dl{
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 18px 28px !important;
  margin: 0 !important;
}
@media (max-width: 600px){
  .entry-content .nlg-atglance dl{ grid-template-columns: 1fr !important; }
}
.entry-content .nlg-atglance dt{
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6b6b6b !important;
  margin: 0 0 4px !important;
}
.entry-content .nlg-atglance dd{
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  color: #1a1a1a !important;
}

/* --- N. Header, footer, navigation: square -------------------------------- */
.nlg-header-utility *,
.nlg-footer *,
.nlg-footer-bottom *,
.menu-item *,
.main-navigation *,
.drawer-content *,
.dropdown-nav-toggle{
  border-radius: 0 !important;
}

/* --- O. Featured / hero images: no rounded ------------------------------- */
.entry-content figure.wp-block-image img,
.nlg-hero img,
.nlg-hero-figure img,
.hp-feat-card img,
.hp-mast-img img,
.entry-content img,
.attachment-medium_large,
.attachment-large,
.wp-post-image,
.kadence-post-image img{
  border-radius: 0 !important;
}

/* --- P. Live-link & ranking pills (nlg-rank-num is a square block now) -- */
.entry-content .nlg-rank-num{
  border-radius: 0 !important;
  background: #1a1a1a !important;
  width: 38px !important;
  height: 38px !important;
}

/* --- Q. Make absolutely sure rounded comment forms are flat ------------- */
.comment-form input,
.comment-form textarea,
.comment-form button,
.comment-form .submit,
.comment-respond *{
  border-radius: 0 !important;
  box-shadow: none !important;
}
