/*
Theme Name: Smart Living Advice – Astra Child
Theme URI: https://smartlivingadvice.com/
Description: Lightweight Astra child theme for Smart Living Advice. Adds a specialist editorial design system for fans, ventilation, smart controls and practical home-comfort guides without overriding Astra templates.
Author: Smart Living Advice
Author URI: https://smartlivingadvice.com/
Template: astra
Version: 2.8.0
Text Domain: smartlivingadvice-child
*/

/* =========================================================
   Smart Living Advice design system
   Parent theme: Astra
   ========================================================= */

:root {
  --sla-ink: #172033;
  --sla-copy: #3f4b5d;
  --sla-muted: #667386;
  --sla-blue: #2166d1;
  --sla-blue-dark: #174ea6;
  --sla-blue-soft: #edf4ff;
  --sla-surface: #f6f8fa;
  --sla-border: #e3e8ef;
  --sla-white: #ffffff;
  --sla-success: #177245;
  --sla-warning-bg: #fff8e8;
  --sla-radius-sm: 8px;
  --sla-radius: 12px;
  --sla-radius-lg: 18px;
  --sla-shadow-sm: 0 1px 2px rgba(23, 32, 51, 0.05), 0 6px 20px rgba(23, 32, 51, 0.06);
  --sla-shadow-md: 0 10px 35px rgba(23, 32, 51, 0.10);
  --sla-content: 780px;
  --sla-wide: 1180px;
}

/* ---------- Base ---------- */
html {
  scroll-behavior: smooth;
}

body {
  color: var(--sla-copy);
  background: var(--sla-white);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.ast-container,
.site-primary-header-wrap,
.site-below-footer-wrap,
.site-above-footer-wrap,
.site-primary-footer-wrap {
  max-width: var(--sla-wide);
}

a {
  color: var(--sla-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

a:hover,
a:focus {
  color: var(--sla-blue-dark);
}

p,
ul,
ol {
  margin-bottom: 1.25em;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
  color: var(--sla-copy);
}

::selection {
  background: var(--sla-blue-soft);
  color: var(--sla-ink);
}

/* ---------- Typography ---------- */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.site-title {
  color: var(--sla-ink);
  font-weight: 750;
  letter-spacing: -0.025em;
  line-height: 1.18;
}

h1,
.entry-title {
  font-size: clamp(2.15rem, 4.6vw, 3.35rem);
}

h2 {
  font-size: clamp(1.7rem, 3.1vw, 2.15rem);
  margin-top: 2.2em;
  margin-bottom: 0.65em;
}

h3 {
  font-size: clamp(1.3rem, 2.2vw, 1.58rem);
  margin-top: 1.8em;
  margin-bottom: 0.55em;
}

h4 {
  font-size: 1.14rem;
}

.entry-content strong {
  color: var(--sla-ink);
}

/* ---------- Header / navigation ---------- */
.site-header {
  background: var(--sla-white);
  border-bottom: 1px solid var(--sla-border);
}

.main-header-bar {
  min-height: 72px;
  background: var(--sla-white);
}

.site-branding img,
.custom-logo-link img {
  max-height: 46px;
  width: auto;
}

.site-title a {
  color: var(--sla-ink);
  font-weight: 800;
  text-decoration: none;
}

.main-header-menu > .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
  color: var(--sla-ink);
  font-size: 0.95rem;
  font-weight: 650;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link {
  color: var(--sla-blue);
}

.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
  border-radius: var(--sla-radius-sm);
}

/* ---------- Main content ---------- */
.site-content {
  background: var(--sla-white);
}

.single-post .site-main,
.page .site-main {
  padding-top: 28px;
}

.single-post .entry-header,
.single-post .entry-content > :not(.alignwide):not(.alignfull),
.single-post .entry-footer,
.page:not(.home) .entry-content > :not(.alignwide):not(.alignfull) {
  max-width: var(--sla-content);
  margin-left: auto;
  margin-right: auto;
}

.single-post .entry-header {
  margin-bottom: 30px;
  text-align: left;
}

.single-post .entry-title {
  margin-bottom: 14px;
}

.entry-meta,
.entry-meta * {
  color: var(--sla-muted);
  font-size: 0.88rem;
}

.entry-meta a {
  color: var(--sla-muted);
  text-decoration: none;
}

.entry-meta a:hover {
  color: var(--sla-blue);
}

.post-thumb,
.single-post .post-thumb {
  max-width: 980px;
  margin: 0 auto 34px;
}

.post-thumb img,
.entry-content img {
  border-radius: var(--sla-radius);
}

.entry-content hr {
  border: 0;
  border-top: 1px solid var(--sla-border);
  margin: 2.5rem auto;
}

.entry-content blockquote,
.wp-block-quote {
  border-left: 4px solid var(--sla-blue);
  background: var(--sla-blue-soft);
  color: var(--sla-ink);
  border-radius: 0 var(--sla-radius) var(--sla-radius) 0;
  padding: 20px 24px;
  margin: 2rem auto;
}

.entry-content ul li,
.entry-content ol li {
  margin-bottom: 0.45em;
}

/* ---------- Buttons ---------- */
.wp-block-button__link,
button,
input[type="button"],
input[type="submit"],
.ast-button,
.button {
  background: var(--sla-blue);
  border: 1px solid var(--sla-blue);
  border-radius: var(--sla-radius-sm);
  color: var(--sla-white);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
  padding: 0.78em 1.15em;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.wp-block-button__link:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.ast-button:hover,
.button:hover {
  background: var(--sla-blue-dark);
  border-color: var(--sla-blue-dark);
  color: var(--sla-white);
  box-shadow: 0 5px 16px rgba(33, 102, 209, 0.22);
  transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border: 1.5px solid var(--sla-blue);
  color: var(--sla-blue);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--sla-blue-soft);
  color: var(--sla-blue-dark);
}

/* ---------- Forms ---------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="number"],
textarea,
select {
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius-sm);
  background: var(--sla-white);
  color: var(--sla-ink);
  min-height: 46px;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--sla-blue);
  box-shadow: 0 0 0 3px rgba(33, 102, 209, 0.12);
  outline: none;
}

/* ---------- Gutenberg branded styles ---------- */
.wp-block-group.is-style-sla-card,
.sla-card {
  background: var(--sla-white);
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius);
  box-shadow: var(--sla-shadow-sm);
  padding: clamp(20px, 3vw, 30px);
}

.wp-block-group.is-style-sla-soft-section,
.sla-soft-section {
  background: var(--sla-surface);
  border-radius: var(--sla-radius-lg);
  padding: clamp(28px, 5vw, 58px);
}

.wp-block-group.is-style-sla-callout,
.sla-callout {
  background: var(--sla-blue-soft);
  border: 1px solid #d6e5ff;
  border-left: 5px solid var(--sla-blue);
  border-radius: var(--sla-radius);
  padding: 20px 24px;
}

.wp-block-group.is-style-sla-warning,
.sla-warning {
  background: var(--sla-warning-bg);
  border: 1px solid #f0dfad;
  border-radius: var(--sla-radius);
  padding: 20px 24px;
}

/* ---------- Homepage hero ---------- */
.home .site-main {
  padding-top: 0;
}

.sla-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
  border: 1px solid #dfebfc;
  border-radius: 0 0 28px 28px;
  margin-bottom: 46px;
  padding: clamp(54px, 8vw, 92px) clamp(22px, 5vw, 62px);
}

.sla-hero::after {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 999px;
  right: -130px;
  top: -130px;
  background: rgba(33, 102, 209, 0.07);
  pointer-events: none;
}

.sla-hero .wp-block-heading {
  max-width: 820px;
  margin-top: 0;
  margin-bottom: 18px;
}

.sla-hero > .wp-block-group__inner-container > p,
.sla-hero > p {
  max-width: 700px;
  color: var(--sla-copy);
  font-size: clamp(1.05rem, 1.8vw, 1.22rem);
}

.sla-eyebrow {
  display: inline-block;
  margin-bottom: 10px !important;
  color: var(--sla-blue) !important;
  font-size: 0.78rem !important;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

/* ---------- Homepage cards ---------- */
.sla-section-heading {
  max-width: 760px;
  margin-bottom: 26px;
}

.sla-topic-grid .wp-block-column,
.sla-problem-grid .wp-block-column,
.sla-featured-grid .wp-block-column {
  display: flex;
}

.sla-topic-card,
.sla-problem-card,
.sla-feature-card {
  width: 100%;
  background: var(--sla-white);
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius);
  padding: 24px;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.sla-topic-card:hover,
.sla-problem-card:hover,
.sla-feature-card:hover {
  border-color: #c8d8ed;
  box-shadow: var(--sla-shadow-md);
  transform: translateY(-3px);
}

.sla-topic-card h3,
.sla-problem-card h3,
.sla-feature-card h3 {
  margin-top: 0;
  margin-bottom: 10px;
}

.sla-topic-card p:last-child,
.sla-problem-card p:last-child,
.sla-feature-card p:last-child {
  margin-bottom: 0;
}

.sla-card-link a,
a.sla-card-link {
  color: var(--sla-blue);
  font-size: 0.92rem;
  font-weight: 750;
  text-decoration: none;
}

.sla-card-link a::after,
a.sla-card-link::after {
  content: " →";
}

/* ---------- Editorial / trust blocks ---------- */
.sla-trust-row {
  border-top: 1px solid var(--sla-border);
  border-bottom: 1px solid var(--sla-border);
  padding-top: 34px;
  padding-bottom: 34px;
}

.sla-mini-label {
  color: var(--sla-muted) !important;
  font-size: 0.76rem !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sla-author-box {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  border-top: 1px solid var(--sla-border);
  border-bottom: 1px solid var(--sla-border);
  padding: 26px 0;
  margin-top: 40px;
  margin-bottom: 40px;
}

.sla-author-box img {
  width: 84px;
  height: 84px;
  object-fit: cover;
  border-radius: 50%;
}

/* ---------- Article utility blocks ---------- */
.sla-quick-answer {
  background: var(--sla-surface);
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius);
  padding: 22px 24px;
  margin-top: 28px;
  margin-bottom: 34px;
}

.sla-quick-answer h2,
.sla-quick-answer h3 {
  margin-top: 0;
}

.sla-verdict {
  background: #f3fbf7;
  border: 1px solid #d8eee2;
  border-left: 5px solid var(--sla-success);
  border-radius: var(--sla-radius);
  padding: 22px 24px;
}

.sla-pros-cons {
  gap: 18px;
}

.sla-pros-cons .wp-block-column {
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius);
  padding: 20px;
}

.sla-product-card {
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius-lg);
  padding: clamp(22px, 4vw, 34px);
  box-shadow: var(--sla-shadow-sm);
  margin: 34px auto;
}

.sla-product-card h2,
.sla-product-card h3 {
  margin-top: 0;
}

.sla-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  background: var(--sla-blue-soft);
  color: var(--sla-blue-dark);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* ---------- Tables / NicheTable ---------- */
.entry-content .wp-block-table,
.entry-content .nichetable,
.entry-content .niche-table,
.entry-content [class*="nichetable"],
.entry-content [class*="niche-table"] {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.entry-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius);
  overflow: hidden;
  background: var(--sla-white);
  font-size: 0.94rem;
}

.entry-content table th,
.entry-content table td {
  border: 0;
  border-bottom: 1px solid var(--sla-border);
  padding: 14px 15px;
  text-align: left;
  vertical-align: middle;
}

.entry-content table th {
  background: var(--sla-surface);
  color: var(--sla-ink);
  font-weight: 750;
}

.entry-content table tr:last-child td {
  border-bottom: 0;
}

.entry-content table a,
.entry-content [class*="nichetable"] a,
.entry-content [class*="niche-table"] a {
  font-weight: 700;
}

/* ---------- Archives ---------- */
.blog .ast-row,
.archive .ast-row,
.search .ast-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.blog .ast-row > article,
.archive .ast-row > article,
.search .ast-row > article {
  width: 100%;
  padding: 0;
}

.blog article .ast-post-format-,
.archive article .ast-post-format-,
.search article .ast-post-format-,
.blog article .post-content,
.archive article .post-content,
.search article .post-content {
  height: 100%;
}

.blog article,
.archive article,
.search article {
  border: 1px solid var(--sla-border);
  border-radius: var(--sla-radius);
  overflow: hidden;
  background: var(--sla-white);
  box-shadow: var(--sla-shadow-sm);
}

.blog article .entry-title,
.archive article .entry-title,
.search article .entry-title {
  font-size: 1.3rem;
  line-height: 1.28;
}

.blog article .entry-title a,
.archive article .entry-title a,
.search article .entry-title a {
  color: var(--sla-ink);
  text-decoration: none;
}

.blog article .entry-title a:hover,
.archive article .entry-title a:hover,
.search article .entry-title a:hover {
  color: var(--sla-blue);
}

/* ---------- Breadcrumbs ---------- */
.ast-breadcrumbs-wrapper,
.rank-math-breadcrumb,
.yoast-breadcrumb {
  color: var(--sla-muted);
  font-size: 0.82rem;
}

.ast-breadcrumbs-wrapper a,
.rank-math-breadcrumb a,
.yoast-breadcrumb a {
  color: var(--sla-muted);
  text-decoration: none;
}

/* ---------- Comments ---------- */
.comments-area {
  max-width: var(--sla-content);
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid var(--sla-border);
  padding-top: 34px;
}

/* ---------- Footer ---------- */
.site-footer,
.site-below-footer-wrap,
.site-primary-footer-wrap,
.site-above-footer-wrap {
  background: var(--sla-ink);
  color: #c9d2df;
}

.site-footer a,
.site-footer .widget a,
.site-footer .menu-link {
  color: #eef3f9;
}

.site-footer a:hover {
  color: var(--sla-white);
}

.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
  color: var(--sla-white);
}

.site-footer p {
  color: #c9d2df;
}

/* ---------- Accessibility ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(33, 102, 209, 0.32);
  outline-offset: 3px;
}

.screen-reader-text:focus {
  background: var(--sla-white);
  color: var(--sla-ink);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .blog .ast-row,
  .archive .ast-row,
  .search .ast-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body {
    font-size: 16.5px;
  }

  .main-header-bar {
    min-height: 64px;
  }

  .single-post .site-main,
  .page .site-main {
    padding-top: 18px;
  }

  .sla-hero {
    border-radius: 0 0 20px 20px;
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: 34px;
  }

  .sla-author-box {
    flex-direction: column;
  }

  .blog .ast-row,
  .archive .ast-row,
  .search .ast-row {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .entry-content table {
    min-width: 620px;
  }

  .entry-content .wp-block-table,
  .entry-content .nichetable,
  .entry-content .niche-table,
  .entry-content [class*="nichetable"],
  .entry-content [class*="niche-table"] {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* =========================================================
   v1.1 — Modern homepage template + legacy compatibility
   ========================================================= */

/* ---------- Modern homepage page template ---------- */
.sla-homepage-template .site-content,
.sla-homepage-template #content {
  background: var(--sla-white);
}

.sla-homepage-template .ast-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.sla-home {
  width: 100%;
  overflow: hidden;
}

.sla-home-shell {
  width: min(var(--sla-wide), calc(100% - 40px));
  margin-inline: auto;
}

.sla-home-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 118px) 0 clamp(62px, 8vw, 96px);
  background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
  border-bottom: 1px solid #dce8f8;
}

.sla-home-hero::before,
.sla-home-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.sla-home-hero::before {
  width: 420px;
  height: 420px;
  right: -150px;
  top: -180px;
  background: rgba(33, 102, 209, .07);
}

.sla-home-hero::after {
  width: 250px;
  height: 250px;
  right: 18%;
  bottom: -160px;
  background: rgba(33, 102, 209, .045);
}

.sla-home-hero__content {
  position: relative;
  z-index: 1;
  max-width: 820px;
}

.sla-home-kicker {
  margin: 0 0 14px;
  color: var(--sla-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.sla-home-hero h1 {
  max-width: 900px;
  margin: 0 0 20px;
  color: var(--sla-ink);
  font-size: clamp(2.45rem, 5.7vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.sla-home-hero__lead {
  max-width: 710px;
  margin: 0 0 30px;
  color: var(--sla-copy);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  line-height: 1.65;
}

.sla-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.sla-home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid var(--sla-blue);
  border-radius: 10px;
  background: var(--sla-blue);
  color: #fff !important;
  font-size: .95rem;
  font-weight: 750;
  text-decoration: none !important;
}

.sla-home-button:hover {
  background: var(--sla-blue-dark);
  border-color: var(--sla-blue-dark);
}

.sla-home-button--secondary {
  background: #fff;
  color: var(--sla-blue) !important;
}

.sla-home-button--secondary:hover {
  background: var(--sla-blue-soft);
  color: var(--sla-blue-dark) !important;
}

.sla-home-section {
  padding: clamp(62px, 8vw, 96px) 0;
}

.sla-home-section--soft {
  background: var(--sla-surface);
  border-top: 1px solid var(--sla-border);
  border-bottom: 1px solid var(--sla-border);
}

.sla-home-section__head {
  max-width: 760px;
  margin-bottom: 32px;
}

.sla-home-section__head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 3.5vw, 2.7rem);
}

.sla-home-section__head p:last-child {
  margin-bottom: 0;
}

.sla-home-grid {
  display: grid;
  gap: 22px;
}

.sla-home-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sla-home-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sla-home-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 26px;
  border: 1px solid var(--sla-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--sla-shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sla-home-card:hover {
  transform: translateY(-3px);
  border-color: #c7d7eb;
  box-shadow: var(--sla-shadow-md);
}

.sla-home-card__label {
  margin: 0 0 12px;
  color: var(--sla-blue);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sla-home-card h3 {
  margin: 0 0 10px;
  font-size: 1.35rem;
}

.sla-home-card p {
  margin-bottom: 18px;
}

.sla-home-card__link {
  margin-top: auto;
  color: var(--sla-blue);
  font-weight: 750;
  text-decoration: none;
}

.sla-home-card__link::after {
  content: "  →";
}

.sla-featured-card {
  overflow: hidden;
  padding: 0;
}

.sla-featured-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--sla-surface);
}

.sla-featured-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.sla-featured-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.sla-featured-card__body .sla-home-card__link {
  margin-top: auto;
}

.sla-problem-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sla-problem-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 72px;
  padding: 18px 20px;
  border: 1px solid var(--sla-border);
  border-radius: 12px;
  background: #fff;
  color: var(--sla-ink) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.sla-problem-link::after {
  content: "→";
  flex: none;
  color: var(--sla-blue);
  font-size: 1.15rem;
}

.sla-problem-link:hover {
  border-color: #c7d7eb;
  box-shadow: var(--sla-shadow-sm);
}

.sla-method-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(30px, 6vw, 80px);
  align-items: center;
}

.sla-method-points {
  display: grid;
  gap: 14px;
}

.sla-method-point {
  padding: 18px 20px;
  border: 1px solid var(--sla-border);
  border-radius: 12px;
  background: #fff;
}

.sla-method-point strong {
  display: block;
  margin-bottom: 4px;
  color: var(--sla-ink);
}

/* ---------- Existing NicheTable / affiliate table polish ---------- */
.single-post .entry-content > table,
.single-post .entry-content > .wp-block-table,
.single-post .entry-content > .nichetable,
.single-post .entry-content > .niche-table,
.single-post .entry-content > [class*="nichetable"],
.single-post .entry-content > [class*="niche-table"] {
  width: min(980px, calc(100vw - 48px));
  max-width: 980px;
  margin-left: 50%;
  margin-right: 0;
  transform: translateX(-50%);
}

.entry-content table {
  border-color: #dfe6ef;
  box-shadow: 0 8px 26px rgba(23, 32, 51, .045);
}

.entry-content table th {
  padding-top: 16px;
  padding-bottom: 16px;
  background: #f3f6f9;
  font-size: .83rem;
  letter-spacing: .01em;
}

.entry-content table td {
  padding-top: 18px;
  padding-bottom: 18px;
  line-height: 1.45;
}

.entry-content table img {
  max-width: 96px;
  max-height: 110px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}

.entry-content table a[href*="amazon."],
.entry-content table a[href*="amzn.to"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 118px;
  padding: 10px 13px !important;
  border: 1px solid var(--sla-blue) !important;
  border-radius: 8px !important;
  background: var(--sla-blue) !important;
  color: #fff !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: none !important;
}

.entry-content table a[href*="amazon."]:hover,
.entry-content table a[href*="amzn.to"]:hover {
  background: var(--sla-blue-dark) !important;
  border-color: var(--sla-blue-dark) !important;
}

/* ---------- Common legacy Pros / Cons blocks ---------- */
.entry-content .pros,
.entry-content .cons,
.entry-content .pros-box,
.entry-content .cons-box,
.entry-content .pros_box,
.entry-content .cons_box,
.entry-content .wpsm_pros,
.entry-content .wpsm_cons,
.entry-content [class~="pros"],
.entry-content [class~="cons"] {
  overflow: hidden;
  margin: 22px 0 !important;
  border: 1px solid var(--sla-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.entry-content .pros > :first-child,
.entry-content .pros-box > :first-child,
.entry-content .pros_box > :first-child,
.entry-content .wpsm_pros > :first-child,
.entry-content .pros-title,
.entry-content .pros_title,
.entry-content .wpsm_pros_title {
  background: #eef8f2 !important;
  color: #16643e !important;
  border-color: #d8eadf !important;
}

.entry-content .cons > :first-child,
.entry-content .cons-box > :first-child,
.entry-content .cons_box > :first-child,
.entry-content .wpsm_cons > :first-child,
.entry-content .cons-title,
.entry-content .cons_title,
.entry-content .wpsm_cons_title {
  background: #fff3f2 !important;
  color: #a33b32 !important;
  border-color: #f0d9d6 !important;
}

.entry-content .pros-title,
.entry-content .cons-title,
.entry-content .pros_title,
.entry-content .cons_title,
.entry-content .wpsm_pros_title,
.entry-content .wpsm_cons_title {
  padding: 12px 16px !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

/* The old orange back-to-top button is less visually dominant. */
#scroll-top,
.ast-scroll-top-icon,
.ast-scroll-to-top-right,
.ast-scroll-to-top-left {
  border-radius: 9px !important;
  background: var(--sla-ink) !important;
  color: #fff !important;
}

@media (max-width: 980px) {
  .sla-home-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sla-home-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sla-method-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .sla-home-shell {
    width: min(100% - 28px, var(--sla-wide));
  }

  .sla-home-hero {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .sla-home-grid--4,
  .sla-home-grid--3,
  .sla-problem-list {
    grid-template-columns: 1fr;
  }

  .single-post .entry-content > table,
  .single-post .entry-content > .wp-block-table,
  .single-post .entry-content > .nichetable,
  .single-post .entry-content > .niche-table,
  .single-post .entry-content > [class*="nichetable"],
  .single-post .entry-content > [class*="niche-table"] {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    transform: none;
  }
}


/* =========================================================
   v1.2 — focused navigation, modern footer & article polish
   ========================================================= */

/* ---------- Header refinement ---------- */
.site-header,
.ast-primary-header-bar {
  box-shadow: none;
}

.site-primary-header-wrap[data-section="section-primary-header-builder"] {
  min-height: 74px;
}

.ast-builder-grid-row {
  column-gap: 24px;
}

.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu > .menu-item > .menu-link {
  min-height: 72px;
  padding-inline: 14px;
  font-size: .92rem;
  font-weight: 720;
  letter-spacing: -.005em;
}

.ast-builder-menu-1 .menu-item > .menu-link::after,
.main-header-menu > .menu-item > .menu-link::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  height: 2px;
  border-radius: 2px;
  background: var(--sla-blue);
  opacity: 0;
  transform: scaleX(.5);
  transition: opacity 160ms ease, transform 160ms ease;
}

.ast-builder-menu-1 .menu-item:hover > .menu-link::after,
.ast-builder-menu-1 .current-menu-item > .menu-link::after,
.main-header-menu > .menu-item:hover > .menu-link::after,
.main-header-menu > .current-menu-item > .menu-link::after {
  opacity: 1;
  transform: scaleX(1);
}

.site-title {
  font-size: 1.12rem;
  letter-spacing: -.03em;
}

.site-description {
  color: var(--sla-muted);
  font-size: .75rem;
}

/* ---------- Hide Astra legacy footer only when the SLA footer is active ---------- */
.sla-modern-footer-active #colophon.site-footer,
.sla-modern-footer-active .site-footer:not(.sla-site-footer) {
  display: none !important;
}

.sla-site-footer {
  margin-top: 0;
  background: #111a2c;
  color: #c9d3e2;
  border-top: 1px solid #21304a;
}

.sla-footer-shell {
  width: min(100% - 40px, var(--sla-wide));
  margin-inline: auto;
  padding: 64px 0 24px;
}

.sla-footer-grid {
  display: grid;
  grid-template-columns: 1.55fr .8fr .9fr 1fr;
  gap: clamp(28px, 5vw, 64px);
}

.sla-footer-brand {
  max-width: 360px;
}

.sla-footer-logo {
  display: inline-block;
  margin-bottom: 13px;
  color: #fff !important;
  font-size: 1.35rem;
  font-weight: 820;
  letter-spacing: -.035em;
  text-decoration: none !important;
}

.sla-footer-brand p,
.sla-footer-note {
  color: #aeb9c9;
  font-size: .9rem;
  line-height: 1.65;
}

.sla-site-footer h2 {
  margin: 2px 0 15px;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.sla-site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sla-site-footer li {
  margin: 0 0 9px;
}

.sla-site-footer a:not(.sla-footer-logo) {
  color: #cbd5e3;
  font-size: .9rem;
  text-decoration: none;
}

.sla-site-footer a:hover,
.sla-site-footer a:focus {
  color: #fff;
}

.sla-footer-bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-top: 48px;
  padding-top: 20px;
  border-top: 1px solid #273650;
}

.sla-footer-bottom p {
  margin: 0;
  color: #8f9caf;
  font-size: .78rem;
}

.sla-footer-note {
  max-width: 520px;
  text-align: right;
}

/* ---------- Homepage v1.2 cleanup ---------- */
.sla-modern-homepage-active .site-content,
.sla-modern-homepage-active .ast-container {
  max-width: none;
  padding: 0;
}

.sla-modern-homepage-active .sla-home-card h3 a {
  color: var(--sla-ink);
  text-decoration: none;
}

.sla-modern-homepage-active .sla-home-card h3 a:hover {
  color: var(--sla-blue);
}

.sla-home-closing {
  position: relative;
  overflow: hidden;
  background: var(--sla-ink);
  color: #fff;
}

.sla-home-closing::after {
  content: "";
  position: absolute;
  width: 310px;
  height: 310px;
  right: -100px;
  top: -145px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
}

.sla-home-closing .sla-home-shell {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-top: 58px;
  padding-bottom: 58px;
}

.sla-home-closing h2 {
  max-width: 680px;
  margin: 0;
  color: #fff;
}

.sla-home-closing p {
  max-width: 640px;
  margin: 12px 0 0;
  color: #cdd6e4;
}

.sla-home-closing .sla-home-button--secondary {
  flex: none;
  border-color: rgba(255,255,255,.55);
  background: #fff;
  color: var(--sla-ink) !important;
}

/* ---------- Single article shell ---------- */
.sla-modern-article .site-content {
  background: #fff;
}

.sla-modern-article .ast-container {
  max-width: 1100px;
}

.sla-modern-article #primary {
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
}

.sla-modern-article #secondary {
  display: none !important;
}

.sla-modern-article article.post {
  padding-top: clamp(34px, 5vw, 70px);
}

.sla-modern-article .entry-header {
  max-width: 860px;
  margin: 0 auto 30px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--sla-border);
}

.sla-modern-article .entry-title {
  max-width: 840px;
  margin-top: 0;
  margin-bottom: 16px;
  font-size: clamp(2.25rem, 5vw, 3.7rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.sla-modern-article .entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 12px;
  color: var(--sla-muted);
  font-size: .82rem;
}

.sla-modern-article .post-thumb {
  max-width: 980px;
  margin: 0 auto 42px;
}

.sla-modern-article .post-thumb img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border: 1px solid var(--sla-border);
  border-radius: 16px;
}

.sla-modern-article .entry-content {
  font-size: 1.035rem;
}

.sla-modern-article .entry-content > p:first-of-type {
  color: #303c4f;
  font-size: 1.12rem;
  line-height: 1.72;
}

.sla-modern-article .entry-content h2 {
  padding-top: .35em;
  scroll-margin-top: 100px;
}

.sla-modern-article .entry-content h3 {
  scroll-margin-top: 100px;
}

.sla-modern-article .entry-content a:not(.wp-block-button__link):not(.button) {
  font-weight: 590;
}

.sla-modern-article .entry-content figure figcaption {
  margin-top: 7px;
  color: var(--sla-muted);
  font-size: .78rem;
  line-height: 1.45;
  text-align: center;
}

/* Give legacy product-review headings a clearer editorial rhythm. */
.sla-modern-article .entry-content h2 + p,
.sla-modern-article .entry-content h3 + p {
  margin-top: 0;
}

.sla-modern-article .entry-content > h2:not(:first-child) {
  margin-top: 2.7em;
}

/* ---------- Comparison tables ---------- */
.sla-modern-article .entry-content table {
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--sla-border);
  border-radius: 12px;
  background: #fff;
}

.sla-modern-article .entry-content table thead th,
.sla-modern-article .entry-content table tr:first-child th {
  background: #f4f7fb;
  color: var(--sla-ink);
  font-weight: 800;
}

.sla-modern-article .entry-content table td,
.sla-modern-article .entry-content table th {
  border-color: #e9edf2;
}

.sla-modern-article .entry-content table tr:hover td {
  background: #fbfcfe;
}

/* ---------- Legacy Pros / Cons: broader compatibility ---------- */
.sla-modern-article .entry-content [style*="background-color: rgb(0, 204, 0)"],
.sla-modern-article .entry-content [style*="background-color:#00cc00"],
.sla-modern-article .entry-content [style*="background:#00cc00"],
.sla-modern-article .entry-content [style*="background-color: green"],
.sla-modern-article .entry-content [style*="background: green"] {
  background: #edf8f1 !important;
  color: #17603c !important;
}

.sla-modern-article .entry-content [style*="background-color: rgb(204, 0, 0)"],
.sla-modern-article .entry-content [style*="background-color:#cc0000"],
.sla-modern-article .entry-content [style*="background:#cc0000"],
.sla-modern-article .entry-content [style*="background-color: red"],
.sla-modern-article .entry-content [style*="background: red"] {
  background: #fff1f0 !important;
  color: #9d342e !important;
}

/* ---------- Post navigation / related core guides ---------- */
.sla-related-panel {
  max-width: 900px;
  margin: 64px auto 28px;
  padding: 30px;
  border: 1px solid var(--sla-border);
  border-radius: 16px;
  background: var(--sla-surface);
}

.sla-related-kicker {
  margin: 0 0 5px !important;
  color: var(--sla-blue) !important;
  font-size: .7rem !important;
  font-weight: 820 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sla-related-panel h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;
  font-size: 1.45rem;
}

.sla-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sla-related-guide {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 16px;
  align-items: center;
  min-height: 96px;
  padding: 16px 18px;
  border: 1px solid var(--sla-border);
  border-radius: 11px;
  background: #fff;
  color: var(--sla-ink) !important;
  text-decoration: none !important;
}

.sla-related-guide > span:first-child {
  grid-column: 1;
  color: var(--sla-muted);
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.sla-related-guide strong {
  grid-column: 1;
  color: var(--sla-ink);
  line-height: 1.25;
}

.sla-related-guide > span:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--sla-blue);
  font-size: 1.2rem;
}

.sla-related-guide:hover {
  border-color: #c5d6ed;
  box-shadow: var(--sla-shadow-sm);
}

.sla-modern-article .post-navigation,
.sla-modern-article .navigation.post-navigation {
  max-width: 900px;
  margin: 30px auto 60px;
  border-top: 1px solid var(--sla-border);
  padding-top: 24px;
}

@media (max-width: 980px) {
  .sla-footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
  }

  .sla-footer-grid > :last-child {
    grid-column: 2 / span 2;
  }
}

@media (max-width: 760px) {
  .ast-builder-menu-mobile .menu-item > .menu-link,
  .ast-header-break-point .main-header-menu .menu-link {
    min-height: auto;
    padding: 13px 18px;
  }

  .ast-builder-menu-1 .menu-item > .menu-link::after,
  .main-header-menu > .menu-item > .menu-link::after {
    display: none;
  }

  .sla-home-closing .sla-home-shell {
    display: block;
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .sla-home-closing .sla-home-actions {
    margin-top: 24px;
  }

  .sla-footer-shell {
    width: min(100% - 28px, var(--sla-wide));
    padding-top: 46px;
  }

  .sla-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
  }

  .sla-footer-brand {
    grid-column: 1 / -1;
  }

  .sla-footer-grid > :last-child {
    grid-column: auto;
  }

  .sla-footer-bottom {
    display: block;
  }

  .sla-footer-note {
    margin-top: 9px !important;
    text-align: left;
  }

  .sla-modern-article article.post {
    padding-top: 30px;
  }

  .sla-modern-article .entry-header {
    padding-left: 2px;
    padding-right: 2px;
  }

  .sla-modern-article .entry-title {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .sla-modern-article .entry-content {
    font-size: 1rem;
  }

  .sla-modern-article .entry-content > p:first-of-type {
    font-size: 1.06rem;
  }

  .sla-related-panel {
    padding: 22px 18px;
  }

  .sla-related-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .sla-footer-grid {
    grid-template-columns: 1fr;
  }

  .sla-footer-grid > :last-child,
  .sla-footer-brand {
    grid-column: auto;
  }
}


/* =========================================================
   v1.3 — restore Site Identity + balance header navigation
   ========================================================= */

/* Astra header builder: keep the brand and menu aligned to the same content grid. */
#masthead .ast-primary-header-bar .ast-container,
#masthead .site-primary-header-wrap {
  width: 100%;
  max-width: var(--sla-wide);
  margin-left: auto;
  margin-right: auto;
}

#masthead .ast-primary-header-bar .ast-container {
  padding-left: 20px;
  padding-right: 20px;
}

#masthead .site-header-primary-section-left,
#masthead .site-header-primary-section-right,
#masthead .ast-builder-layout-element {
  min-width: 0;
}

#masthead .site-header-primary-section-left {
  justify-content: flex-start;
}

#masthead .site-header-primary-section-right {
  justify-content: flex-end;
}

/* Site Identity / logo */
#masthead .site-branding,
#masthead .ast-site-identity {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

#masthead .site-logo-img,
#masthead .custom-logo-link {
  display: inline-flex;
  align-items: center;
}

#masthead .custom-logo,
#masthead .site-logo-img img,
#masthead .custom-logo-link img {
  display: block;
  width: auto;
  max-width: 210px;
  max-height: 44px;
  object-fit: contain;
}

/* If no image logo is available Astra will expose the site title as the wordmark. */
#masthead .site-title {
  margin: 0;
  font-size: 1.16rem;
  line-height: 1.1;
  letter-spacing: -0.025em;
  white-space: nowrap;
}

#masthead .site-title a {
  color: var(--sla-ink);
  font-weight: 800;
}

#masthead .site-description {
  display: none !important;
}

/* Navigation: compact and editorial rather than floating at the edge. */
#masthead .ast-builder-menu-1,
#masthead .main-navigation {
  margin-left: auto;
}

#masthead .main-header-menu {
  align-items: center;
  gap: 2px;
}

#masthead .main-header-menu > .menu-item > .menu-link {
  min-height: 72px;
  padding-left: 14px;
  padding-right: 14px;
  display: inline-flex;
  align-items: center;
}

#masthead .main-header-menu > .menu-item:last-child > .menu-link {
  padding-right: 0;
}

/* Do not let transparent-header remnants make the restored logo disappear. */
#masthead .custom-logo-link,
#masthead .site-title a,
#masthead .site-logo-img {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 921px) {
  #masthead .ast-primary-header-bar .ast-container {
    min-height: 64px;
    padding-left: 18px;
    padding-right: 18px;
  }

  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    max-width: 175px;
    max-height: 38px;
  }

  #masthead .site-title {
    font-size: 1.05rem;
  }

  #masthead .ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    min-width: 42px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--sla-border);
    background: var(--sla-white);
    color: var(--sla-ink);
  }
}

@media (max-width: 480px) {
  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    max-width: 148px;
    max-height: 34px;
  }
}

/* =========================================================
   v1.4 — harden Astra header width / logo sizing
   ========================================================= */

/*
 * Astra's Header Builder can keep the inner grid full-width even when the
 * Header Builder "content width" option is selected.  Constrain the actual
 * builder row (not only its outer wrappers) so the brand and navigation sit
 * on the same 1180px grid as the homepage.
 */
#masthead .ast-primary-header-bar,
#masthead .site-primary-header-wrap,
#masthead .ast-builder-grid-row-container-inner {
  width: 100% !important;
  max-width: none !important;
}

#masthead .ast-primary-header-bar .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
#masthead .site-primary-header-wrap .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
#masthead .ast-builder-grid-row-container-inner > .ast-builder-grid-row {
  width: calc(100% - 48px) !important;
  max-width: var(--sla-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  grid-template-columns: minmax(170px, 240px) minmax(0, 1fr) !important;
  column-gap: 34px !important;
}

/* Prevent the builder sections themselves from expanding past the grid. */
#masthead .site-header-primary-section-left,
#masthead .site-header-primary-section-right {
  width: auto !important;
  min-width: 0 !important;
}

#masthead .site-header-primary-section-left {
  justify-self: start !important;
  justify-content: flex-start !important;
}

#masthead .site-header-primary-section-right {
  justify-self: end !important;
  justify-content: flex-end !important;
  overflow: visible !important;
}

/* Give the existing horizontal logo enough visual weight. */
#masthead .site-logo-img,
#masthead .custom-logo-link {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

#masthead .custom-logo,
#masthead .site-logo-img img,
#masthead .custom-logo-link img {
  width: 178px !important;
  height: auto !important;
  max-width: 178px !important;
  max-height: 52px !important;
  object-fit: contain !important;
}

/* Keep all desktop items on one line and inside the centered header grid. */
#masthead .ast-builder-menu-1,
#masthead .main-navigation {
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: auto !important;
}

#masthead .main-header-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  white-space: nowrap !important;
}

#masthead .main-header-menu > .menu-item > .menu-link {
  padding-left: 13px !important;
  padding-right: 13px !important;
}

#masthead .main-header-menu > .menu-item:last-child > .menu-link {
  padding-right: 0 !important;
}

@media (max-width: 1100px) and (min-width: 922px) {
  #masthead .ast-primary-header-bar .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
  #masthead .site-primary-header-wrap .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
  #masthead .ast-builder-grid-row-container-inner > .ast-builder-grid-row {
    width: calc(100% - 36px) !important;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) !important;
    column-gap: 20px !important;
  }

  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    width: 158px !important;
    max-width: 158px !important;
  }

  #masthead .main-header-menu > .menu-item > .menu-link {
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: .88rem !important;
  }
}

@media (max-width: 921px) {
  #masthead .ast-primary-header-bar .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
  #masthead .site-primary-header-wrap .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
  #masthead .ast-builder-grid-row-container-inner > .ast-builder-grid-row {
    width: calc(100% - 32px) !important;
    max-width: var(--sla-wide) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 16px !important;
  }

  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    width: 155px !important;
    max-width: 155px !important;
    max-height: 42px !important;
  }
}

@media (max-width: 480px) {
  #masthead .ast-primary-header-bar .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
  #masthead .site-primary-header-wrap .ast-builder-grid-row-container-inner > .ast-builder-grid-row,
  #masthead .ast-builder-grid-row-container-inner > .ast-builder-grid-row {
    width: calc(100% - 28px) !important;
  }

  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    width: 142px !important;
    max-width: 142px !important;
  }
}



/* =========================================================
   v1.5 — Astra legacy header markup fix
   Actual site markup:
   .main-header-bar > .ast-container > .main-header-container
   ========================================================= */

/*
 * This site is using Astra's legacy/classic header DOM rather than the newer
 * Header Builder grid DOM.  Constrain the element that actually contains both
 * the logo and navigation so it lines up with the 1180px homepage grid.
 */
#masthead .main-header-bar-wrap,
#masthead .main-header-bar {
  width: 100% !important;
}

#masthead .main-header-bar > .ast-container {
  width: 100% !important;
  max-width: 1228px !important; /* 1180 content + 24px gutters on both sides */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

#masthead .main-header-container {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 78px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  box-sizing: border-box !important;
}

/* Brand: fixed natural-width item on the left. */
#masthead .site-branding {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 210px !important;
  margin: 0 32px 0 0 !important;
  padding: 0 !important;
}

#masthead .ast-site-identity,
#masthead .site-logo-img,
#masthead .custom-logo-link {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#masthead .custom-logo,
#masthead .site-logo-img img,
#masthead .custom-logo-link img {
  display: block !important;
  width: 185px !important;
  height: auto !important;
  max-width: 185px !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

/* Navigation: consume remaining room but never escape the centered container. */
#masthead .ast-main-header-bar-alignment {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
  float: none !important;
}

#masthead .main-header-bar-navigation,
#masthead #primary-site-navigation,
#masthead .main-navigation {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

#masthead #primary-menu.main-header-menu {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  white-space: nowrap !important;
}

#masthead #primary-menu.main-header-menu > .menu-item {
  flex: 0 0 auto !important;
}

#masthead #primary-menu.main-header-menu > .menu-item > .menu-link {
  min-height: 78px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.95rem !important;
  line-height: 1.2 !important;
}

#masthead #primary-menu.main-header-menu > .menu-item:last-child > .menu-link {
  padding-right: 0 !important;
}

/* Desktop should not reserve any width for the mobile-trigger wrapper. */
@media (min-width: 922px) {
  #masthead .ast-mobile-menu-buttons {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Medium desktop: tighten gracefully before Astra switches to mobile. */
@media (max-width: 1100px) and (min-width: 922px) {
  #masthead .main-header-bar > .ast-container {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #masthead .site-branding {
    max-width: 175px !important;
    margin-right: 18px !important;
  }

  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    width: 160px !important;
    max-width: 160px !important;
    max-height: 50px !important;
  }

  #masthead #primary-menu.main-header-menu > .menu-item > .menu-link {
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: 0.88rem !important;
  }
}

/* Legacy Astra mobile header: logo left, native toggle right. */
@media (max-width: 921px) {
  #masthead .main-header-bar > .ast-container {
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #masthead .main-header-container {
    min-height: 64px !important;
  }

  #masthead .site-branding {
    flex: 0 1 auto !important;
    max-width: calc(100% - 64px) !important;
    margin-right: auto !important;
  }

  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    width: 155px !important;
    max-width: 155px !important;
    max-height: 44px !important;
  }

  #masthead .ast-mobile-menu-buttons {
    display: flex !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    align-items: center !important;
  }

  #masthead .ast-main-header-bar-alignment {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

@media (max-width: 480px) {
  #masthead .main-header-bar > .ast-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #masthead .custom-logo,
  #masthead .site-logo-img img,
  #masthead .custom-logo-link img {
    width: 142px !important;
    max-width: 142px !important;
  }
}

/* =========================================================
   v1.6 — Modern core review articles
   Progressive enhancement for the three priority SEO posts.
   Stored post content and URLs remain unchanged.
   ========================================================= */

/* ---------- Article header ---------- */
.sla-core-review .site-content {
  background: linear-gradient(180deg, #f7f9fc 0, #ffffff 340px);
}

.sla-core-review article.post {
  padding-top: clamp(38px, 5vw, 72px);
}

.sla-core-review .entry-header {
  position: relative;
  max-width: 900px;
  margin-bottom: 32px;
  padding: 0 0 30px;
  border-bottom: 1px solid var(--sla-border);
}

.sla-article-kicker {
  display: inline-flex;
  align-items: center;
  margin: 0 0 12px;
  color: var(--sla-blue);
  font-size: .72rem;
  font-weight: 820;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.sla-article-kicker::before {
  width: 22px;
  height: 2px;
  margin-right: 9px;
  background: currentColor;
  content: "";
}

.sla-core-review .entry-title {
  max-width: 880px;
  font-size: clamp(2.35rem, 5vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.052em;
}

.sla-core-review .entry-meta {
  gap: 8px 12px;
  align-items: center;
  margin-top: 18px;
  font-size: .82rem;
}

.sla-core-review .entry-meta > span,
.sla-core-review .entry-meta > div {
  display: inline-flex;
  align-items: center;
}

.sla-core-review .entry-meta .comments-link {
  display: none !important;
}

.sla-core-review .post-thumb {
  max-width: 900px;
  margin-bottom: 34px;
}

.sla-core-review .post-thumb img {
  max-height: 500px;
  background: #f4f7fb;
  box-shadow: 0 12px 36px rgba(23, 32, 51, .07);
}

/* ---------- Article outline / table of contents ---------- */
.sla-article-tools {
  max-width: var(--sla-content);
  margin: 0 auto 34px;
}

.sla-on-this-page {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid #dbe3ee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 34px rgba(23, 32, 51, .055);
}

.sla-on-this-page::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--sla-blue) 0%, #74a7f4 100%);
  content: "";
}

.sla-on-this-page[hidden] {
  display: none !important;
}

.sla-toc-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px 18px 28px;
  border-bottom: 1px solid #e8edf3;
  background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%);
}

.sla-toc-title-wrap {
  min-width: 0;
}

.sla-toc-eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--sla-blue);
  font-size: .66rem;
  font-weight: 820;
  letter-spacing: .11em;
  line-height: 1.3;
  text-transform: uppercase;
}

.sla-toc-title {
  display: block;
  margin: 0;
  color: var(--sla-ink);
  font-size: 1.08rem;
  font-weight: 780;
  letter-spacing: -.012em;
  line-height: 1.25;
}

.sla-toc-count {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #d9e6f8;
  border-radius: 999px;
  background: #eef5ff;
  color: #315a91;
  font-size: .69rem;
  font-weight: 760;
  white-space: nowrap;
}

.sla-toc-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 0;
  padding: 12px 24px 18px 28px;
  list-style: none;
}

.sla-toc-item {
  position: relative;
  min-width: 0;
  margin: 0;
  border-bottom: 1px solid #edf1f5;
}

.sla-toc-item:last-child {
  border-bottom-color: transparent;
}

.sla-toc-item a {
  position: relative;
  display: flex;
  gap: 11px;
  align-items: flex-start;
  min-width: 0;
  padding: 11px 4px 11px 18px;
  color: #2f3d50 !important;
  font-size: .86rem;
  font-weight: 650 !important;
  line-height: 1.4;
  text-decoration: none !important;
  transition: color .18s ease, transform .18s ease;
}

.sla-toc-item a::before {
  position: absolute;
  top: 17px;
  left: 1px;
  width: 7px;
  height: 7px;
  border: 2px solid var(--sla-blue);
  border-radius: 50%;
  background: #fff;
  content: "";
}

.sla-toc-item a:hover,
.sla-toc-item a:focus-visible {
  color: var(--sla-blue) !important;
  transform: translateX(2px);
}

.sla-toc-level-3 a {
  padding-left: 32px;
  color: #566477 !important;
  font-size: .81rem;
  font-weight: 570 !important;
}

.sla-toc-level-3 a::before {
  left: 17px;
  width: 5px;
  height: 5px;
  border: 0;
  background: #9ab9e6;
}

.sla-toc-level-3 a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 19px;
  width: 1px;
  background: #e3ebf6;
  content: "";
  z-index: -1;
}

.sla-toc-link-text {
  min-width: 0;
}

.sla-core-review .entry-content h2,
.sla-core-review .entry-content h3 {
  scroll-margin-top: 105px;
}

/* v1.7 intentionally removes the additional theme-injected affiliate box.
   Keep the site's legal disclosure page and restore an in-content disclosure
   before live affiliate links are used. */

/* ---------- Reading rhythm ---------- */
.sla-core-review .entry-content {
  color: #3d495b;
  font-size: 1.04rem;
  line-height: 1.76;
}

.sla-core-review .entry-content > p:first-of-type {
  margin-top: 0;
  color: #2c394c;
  font-size: 1.13rem;
  line-height: 1.72;
}

.sla-core-review .entry-content h2 {
  margin-top: 2.8em;
  padding-top: .25em;
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  letter-spacing: -.035em;
}

.sla-core-review .entry-content h2::after {
  display: block;
  width: 38px;
  height: 3px;
  margin-top: 11px;
  border-radius: 999px;
  background: #cfe0fb;
  content: "";
}

.sla-core-review .entry-content h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.62rem);
}

/* ---------- Individual product sections ---------- */
.sla-core-review .entry-content .sla-product-heading {
  position: relative;
  margin-top: 3.2rem !important;
  padding-top: 2.3rem;
  border-top: 1px solid var(--sla-border);
  color: var(--sla-ink);
}

.sla-core-review .entry-content .sla-product-heading::before {
  display: block;
  margin-bottom: 8px;
  color: var(--sla-blue);
  content: "Product review";
  font-size: .67rem;
  font-weight: 820;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}

.sla-core-review .entry-content .sla-product-image {
  display: block;
  width: auto;
  max-width: min(100%, 560px);
  max-height: 390px;
  height: auto;
  margin: 18px auto 28px;
  padding: 10px;
  object-fit: contain;
  border: 1px solid var(--sla-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(23, 32, 51, .06);
}

/* ---------- NicheTable / comparison tables ---------- */
.sla-core-review .entry-content .sla-table-scroll {
  width: 100% !important;
  max-width: 1040px !important;
  margin: 28px auto 38px !important;
  transform: none !important;
  overflow-x: auto !important;
  border: 1px solid var(--sla-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(23, 32, 51, .07);
  -webkit-overflow-scrolling: touch;
}

.sla-core-review .entry-content .sla-table-scroll table,
.sla-core-review .entry-content table.sla-comparison-table {
  width: 100% !important;
  min-width: 760px;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.sla-core-review .sla-comparison-table th {
  padding: 15px 16px !important;
  background: #f2f6fb !important;
  color: #213047 !important;
  font-size: .75rem !important;
  font-weight: 820 !important;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.sla-core-review .sla-comparison-table td {
  padding: 17px 16px !important;
  color: #405066;
  font-size: .87rem;
  line-height: 1.45;
}

.sla-core-review .sla-comparison-table tbody tr:nth-child(even) td {
  background: #fbfcfe;
}

.sla-core-review .sla-comparison-table tbody tr:hover td {
  background: #f6f9fd;
}

.sla-core-review .sla-comparison-table td:first-child,
.sla-core-review .sla-comparison-table th:first-child {
  width: 15%;
  text-align: center;
}

.sla-core-review .sla-comparison-table td:nth-child(2),
.sla-core-review .sla-comparison-table th:nth-child(2) {
  width: 22%;
}

.sla-core-review .sla-comparison-table td:last-child {
  text-align: center;
}

.sla-core-review .sla-comparison-table img {
  width: auto !important;
  max-width: 92px !important;
  max-height: 104px !important;
  margin: 0 auto !important;
  padding: 4px;
  border-radius: 8px;
  background: #fff;
  object-fit: contain;
}

.sla-core-review .sla-comparison-table a[href*="amazon."],
.sla-core-review .sla-comparison-table a[href*="amzn.to"] {
  min-width: 126px;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 14px rgba(33, 102, 209, .14) !important;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.sla-core-review .sla-comparison-table a[href*="amazon."]:hover,
.sla-core-review .sla-comparison-table a[href*="amzn.to"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(33, 102, 209, .2) !important;
}

/* ---------- Legacy Pros / Cons cleanup ---------- */
.sla-core-review .sla-legacy-pros-box,
.sla-core-review .sla-legacy-cons-box {
  overflow: hidden !important;
  margin: 22px 0 26px !important;
  padding: 0 !important;
  border: 1px solid var(--sla-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.sla-core-review .sla-legacy-pros-box [style*="background"],
.sla-core-review .sla-legacy-cons-box [style*="background"] {
  color: inherit !important;
}

.sla-core-review .sla-pros-marker,
.sla-core-review .sla-cons-marker {
  display: block !important;
  margin: 22px 0 0 !important;
  padding: 11px 16px !important;
  border: 1px solid !important;
  border-bottom: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  font-size: .75rem !important;
  font-weight: 850 !important;
  letter-spacing: .065em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.sla-core-review .sla-pros-marker {
  border-color: #cfe7d8 !important;
  background: #eff8f2 !important;
  color: #17613d !important;
}

.sla-core-review .sla-cons-marker {
  border-color: #eed8d5 !important;
  background: #fff3f1 !important;
  color: #963a32 !important;
}

.sla-core-review .sla-pros-list,
.sla-core-review .sla-cons-list {
  margin: 0 0 25px !important;
  padding: 17px 24px 17px 42px !important;
  border: 1px solid !important;
  border-top: 0 !important;
  border-radius: 0 0 10px 10px !important;
  background: #fff !important;
}

.sla-core-review .sla-pros-list {
  border-color: #cfe7d8 !important;
}

.sla-core-review .sla-cons-list {
  border-color: #eed8d5 !important;
}

.sla-core-review .sla-legacy-pros-box .sla-pros-marker,
.sla-core-review .sla-legacy-cons-box .sla-cons-marker {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.sla-core-review .sla-legacy-pros-box .sla-pros-marker {
  background: #eff8f2 !important;
  color: #17613d !important;
}

.sla-core-review .sla-legacy-cons-box .sla-cons-marker {
  background: #fff3f1 !important;
  color: #963a32 !important;
}

.sla-core-review .sla-legacy-pros-box ul,
.sla-core-review .sla-legacy-pros-box ol,
.sla-core-review .sla-legacy-cons-box ul,
.sla-core-review .sla-legacy-cons-box ol {
  margin: 0 !important;
  padding: 17px 24px 18px 42px !important;
  background: #fff !important;
}

.sla-core-review .sla-legacy-pros-box li,
.sla-core-review .sla-legacy-cons-box li,
.sla-core-review .sla-pros-list li,
.sla-core-review .sla-cons-list li {
  margin-bottom: .42em;
}

/* ---------- FAQ / bottom-of-guide cleanup ---------- */
.sla-core-review .entry-content .sla-faq-heading {
  margin-top: 1.25rem !important;
  padding: 16px 18px;
  border: 1px solid var(--sla-border);
  border-radius: 10px;
  background: #f8fafc;
  font-size: 1.08rem;
  line-height: 1.35;
}

.sla-core-review .entry-content .sla-faq-heading::after {
  display: none;
}

/* ---------- Comments area ---------- */
.sla-core-review .comments-area {
  max-width: var(--sla-content);
  margin: 50px auto 70px;
  padding-top: 32px;
  border-top: 1px solid var(--sla-border);
}

.sla-core-review .comment-reply-title,
.sla-core-review .comments-title {
  font-size: 1.55rem;
}

.sla-core-review .comment-form input[type="text"],
.sla-core-review .comment-form input[type="email"],
.sla-core-review .comment-form input[type="url"],
.sla-core-review .comment-form textarea {
  border: 1px solid #d8e0e9;
  border-radius: 9px;
  background: #fff;
}

.sla-core-review .comment-form input[type="submit"] {
  border-radius: 8px;
  background: var(--sla-blue);
  font-weight: 750;
}

/* ---------- Gutenberg patterns for future rewrites ---------- */
.sla-quick-answer,
.sla-review-card,
.sla-faq-card {
  max-width: var(--sla-content);
}

.sla-quick-answer {
  margin: 30px auto 36px;
  padding: clamp(20px, 4vw, 28px);
  border: 1px solid #d9e5f5;
  border-radius: 14px;
  background: #f7faff;
}

.sla-quick-answer > h2,
.sla-quick-answer > h3 {
  margin-top: 0 !important;
}

.sla-pick-grid {
  gap: 12px;
}

.sla-pick-card {
  height: 100%;
  padding: 16px;
  border: 1px solid var(--sla-border);
  border-radius: 10px;
  background: #fff;
}

.sla-pick-card p:last-child {
  margin-bottom: 0;
}

.sla-review-card {
  margin: 40px auto;
  padding: clamp(22px, 4vw, 32px);
  border: 1px solid var(--sla-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--sla-shadow-sm);
}

.sla-review-card > h2,
.sla-review-card > h3 {
  margin-top: 0 !important;
}

.sla-review-card .wp-block-columns {
  gap: 22px;
}

.sla-review-pros,
.sla-review-cons {
  padding: 18px 20px;
  border: 1px solid;
  border-radius: 10px;
}

.sla-review-pros {
  border-color: #cfe7d8;
  background: #f2faf5;
}

.sla-review-cons {
  border-color: #eed8d5;
  background: #fff6f5;
}

.sla-faq-card {
  margin: 34px auto;
  padding: 24px;
  border: 1px solid var(--sla-border);
  border-radius: 14px;
  background: #f8fafc;
}

@media (max-width: 760px) {
  .sla-core-review .entry-title {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .sla-toc-links {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .sla-core-review .entry-content .sla-table-scroll {
    width: calc(100vw - 28px) !important;
    margin-top: 22px !important;
    margin-bottom: 32px !important;
  }

  .sla-core-review .sla-comparison-table th,
  .sla-core-review .sla-comparison-table td {
    padding: 13px 12px !important;
  }

  .sla-core-review .entry-content .sla-product-heading {
    margin-top: 2.6rem !important;
    padding-top: 1.8rem;
  }
}

@media (max-width: 480px) {
  .sla-toc-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding: 19px 18px 15px 22px;
  }

  .sla-toc-links {
    padding: 8px 18px 14px 22px;
  }

  .sla-toc-count {
    padding: 5px 9px;
  }

  .sla-core-review .entry-content {
    font-size: 1rem;
  }
}


/* =========================================================
   v1.8 — editorial article polish
   Improves hierarchy for the new Gutenberg buying-guide format.
   ========================================================= */

/* Featured artwork is intentionally visible. v2.4 removes the temporary
   v1.8 suppression that was used while older guide artwork was outdated. */

/* Let high-value editorial modules breathe beyond the narrow prose measure. */
.sla-core-review .sla-article-tools,
.sla-core-review .sla-quick-answer,
.sla-core-review .sla-review-card,
.sla-core-review .sla-faq-card {
  width: min(900px, calc(100vw - 48px));
  max-width: 900px;
  margin-left: 50%;
  margin-right: 0;
  transform: translateX(-50%);
}

/* ---------- Compact grouped article outline ---------- */
.sla-core-review .sla-article-tools {
  margin-top: 4px;
  margin-bottom: 38px;
}

.sla-core-review .sla-on-this-page {
  border-radius: 18px;
  border-color: #dce5f1;
  box-shadow: 0 8px 28px rgba(23,32,51,.05);
}

.sla-core-review .sla-toc-heading {
  padding: 20px 24px 18px 28px;
  background: #f7faff;
}

.sla-core-review .sla-toc-title {
  font-size: 1.18rem;
}

.sla-core-review .sla-toc-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 20px 22px 24px;
}

.sla-core-review .sla-toc-group {
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e3eaf3;
  border-radius: 12px;
  background: #fff;
}

.sla-core-review .sla-toc-group > .sla-toc-primary {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  padding: 13px 14px;
  color: #26364b !important;
  font-size: .88rem;
  font-weight: 760 !important;
  line-height: 1.38;
  text-decoration: none !important;
}

.sla-core-review .sla-toc-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #eef5ff;
  color: var(--sla-blue);
  font-size: .68rem;
  font-weight: 820;
  letter-spacing: .02em;
}

.sla-core-review .sla-toc-primary:hover,
.sla-core-review .sla-toc-primary:focus-visible {
  color: var(--sla-blue) !important;
  background: #fbfdff;
}

.sla-core-review .sla-toc-children {
  margin: 0;
  padding: 0 14px 10px 54px;
  list-style: none;
}

.sla-core-review .sla-toc-child {
  margin: 0;
  padding: 0;
}

.sla-core-review .sla-toc-child a {
  position: relative;
  display: block;
  padding: 6px 0 6px 13px;
  color: #647186 !important;
  font-size: .77rem;
  font-weight: 560 !important;
  line-height: 1.35;
  text-decoration: none !important;
}

.sla-core-review .sla-toc-child a::before {
  position: absolute;
  top: 12px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #8eb0df;
  content: "";
}

.sla-core-review .sla-toc-child a:hover,
.sla-core-review .sla-toc-child a:focus-visible {
  color: var(--sla-blue) !important;
}

/* Old flat-list selectors are neutralized after JS upgrades the markup. */
.sla-core-review .sla-toc-group::marker,
.sla-core-review .sla-toc-child::marker {
  content: "";
}

/* ---------- Quick answer ---------- */
.sla-core-review .sla-quick-answer {
  margin-top: 34px;
  margin-bottom: 46px;
  padding: clamp(24px, 4vw, 34px);
  border: 1px solid #d8e5f7;
  border-radius: 20px;
  background: linear-gradient(135deg, #f7faff 0%, #eef5ff 100%);
  box-shadow: 0 10px 34px rgba(33,102,209,.07);
}

.sla-core-review .sla-quick-answer > h2 {
  margin: 2px 0 20px !important;
  font-size: clamp(1.65rem, 3vw, 2rem);
}

.sla-core-review .sla-quick-answer > h2::after {
  display: none;
}

.sla-core-review .sla-pick-grid {
  gap: 16px;
}

.sla-core-review .sla-pick-card {
  position: relative;
  min-height: 178px;
  padding: 20px;
  border: 1px solid #dfe7f1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(23,32,51,.045);
}

.sla-core-review .sla-pick-card::before {
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  height: 3px;
  border-radius: 0 0 6px 6px;
  background: linear-gradient(90deg, var(--sla-blue), #74a7f4);
  content: "";
}

.sla-core-review .sla-pick-card h3 {
  margin: 7px 0 9px;
  color: var(--sla-ink);
  font-size: 1.18rem;
  letter-spacing: -.02em;
}

.sla-core-review .sla-pick-card p:last-child {
  color: #58667a;
  font-size: .9rem;
  line-height: 1.55;
}

/* ---------- Main section headings ---------- */
.sla-core-review .entry-content > h2:not(.sla-product-heading) {
  margin-top: 3.2em;
  font-size: clamp(1.8rem, 3vw, 2.3rem);
}

/* ---------- Product review cards ---------- */
.sla-core-review .sla-review-card {
  position: relative;
  overflow: hidden;
  margin-top: 44px;
  margin-bottom: 44px;
  padding: clamp(26px, 4vw, 38px);
  border: 1px solid #dfe6ef;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(23,32,51,.065);
}

.sla-core-review .sla-review-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--sla-blue) 0%, #74a7f4 72%, #dbe9ff 100%);
  content: "";
}

.sla-core-review .sla-review-card > .sla-eyebrow {
  margin: 0 0 8px;
  color: var(--sla-blue);
}

.sla-core-review .sla-review-card > h2 {
  max-width: 760px;
  margin: 0 0 16px !important;
  padding: 0;
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  line-height: 1.14;
}

.sla-core-review .sla-review-card > h2::after {
  display: none;
}

.sla-core-review .sla-review-card > p,
.sla-core-review .sla-review-card > .sla-spec-box {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.sla-core-review .sla-review-card > p:first-of-type {
  margin-top: 0;
  padding: 12px 15px;
  border-left: 3px solid #91b8ef;
  border-radius: 0 8px 8px 0;
  background: #f7faff;
  color: #34455c;
}

.sla-core-review .sla-spec-box {
  margin-top: 20px;
  margin-bottom: 24px;
  padding: 14px 16px;
  border: 1px solid #dbe6f5;
  border-radius: 10px;
  background: #f8fbff;
}

.sla-core-review .sla-spec-box p {
  margin: 0;
  color: #44556d;
  font-size: .88rem;
  line-height: 1.55;
}

.sla-core-review .sla-review-card .wp-block-columns {
  gap: 16px;
  margin-top: 24px;
  margin-bottom: 22px;
}

.sla-core-review .sla-review-pros,
.sla-core-review .sla-review-cons {
  height: 100%;
  padding: 20px 20px 18px;
  border-width: 1px;
  border-radius: 12px;
}

.sla-core-review .sla-review-pros > p:first-child,
.sla-core-review .sla-review-cons > p:first-child {
  margin: 0 0 12px;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sla-core-review .sla-review-pros > p:first-child::before {
  content: "✓ ";
}

.sla-core-review .sla-review-cons > p:first-child::before {
  content: "– ";
}

.sla-core-review .sla-review-pros ul,
.sla-core-review .sla-review-cons ul {
  margin: 0;
  padding-left: 1.15em;
}

.sla-core-review .sla-review-pros li,
.sla-core-review .sla-review-cons li {
  margin-bottom: 7px;
  color: #465469;
  font-size: .87rem;
  line-height: 1.48;
}

/* Replace Astra's inherited orange Gutenberg button treatment. */
.sla-core-review .sla-review-card .wp-block-buttons {
  margin-top: 22px;
}

.sla-core-review .sla-review-card .wp-block-button__link,
.sla-core-review .sla-review-card .wp-element-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px !important;
  border: 1px solid var(--sla-blue) !important;
  border-radius: 9px !important;
  background: var(--sla-blue) !important;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: 0 7px 18px rgba(33,102,209,.18);
}

.sla-core-review .sla-review-card .wp-block-button__link::after,
.sla-core-review .sla-review-card .wp-element-button::after {
  margin-left: 8px;
  content: "→";
}

.sla-core-review .sla-review-card .wp-block-button__link:hover,
.sla-core-review .sla-review-card .wp-element-button:hover {
  border-color: var(--sla-blue-dark) !important;
  background: var(--sla-blue-dark) !important;
  transform: translateY(-1px);
}

/* ---------- How we chose ---------- */
.sla-core-review .sla-how-we-chose-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin: 24px 0 38px;
  padding: 0;
  list-style: none;
  counter-reset: sla-criteria;
}

.sla-core-review .sla-how-we-chose-list > li {
  position: relative;
  margin: 0;
  padding: 18px 18px 18px 54px;
  border: 1px solid #e0e7ef;
  border-radius: 12px;
  background: #fbfcfe;
  color: #4a586b;
  font-size: .9rem;
  line-height: 1.55;
  counter-increment: sla-criteria;
}

.sla-core-review .sla-how-we-chose-list > li::before {
  position: absolute;
  top: 17px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #edf4ff;
  color: var(--sla-blue);
  content: counter(sla-criteria);
  font-size: .72rem;
  font-weight: 850;
}

/* ---------- Decision callouts under "Before You Buy" ---------- */
.sla-core-review .sla-choice-card {
  margin: 18px 0;
  padding: 20px 22px;
  border: 1px solid #dfe7f1;
  border-radius: 14px;
  background: #fbfdff;
}

.sla-core-review .sla-choice-card.sla-choice-dehumidifier {
  border-color: #e5e1d1;
  background: #fffdf7;
}

.sla-core-review .sla-choice-card h3 {
  margin: 0 0 10px;
  font-size: 1.18rem;
}

.sla-core-review .sla-choice-card ul {
  margin: 0;
}

/* ---------- CFM data table ---------- */
.sla-core-review .sla-cfm-table {
  width: min(720px, 100%) !important;
  margin: 22px auto 30px !important;
  border: 1px solid #dce4ee !important;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(23,32,51,.045);
}

.sla-core-review .sla-cfm-table thead th {
  background: #f1f6fd !important;
  color: #24354b !important;
  font-size: .78rem !important;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.sla-core-review .sla-cfm-table td,
.sla-core-review .sla-cfm-table th {
  padding: 13px 16px !important;
}

/* ---------- FAQ: progressive-enhancement accordion ---------- */
.sla-core-review .sla-faq-card {
  margin-top: 52px;
  margin-bottom: 48px;
  padding: clamp(24px, 4vw, 34px);
  border: 1px solid #dfe6ef;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(23,32,51,.055);
}

.sla-core-review .sla-faq-card > h2 {
  margin: 2px 0 20px !important;
}

.sla-core-review .sla-faq-card > h2::after {
  display: none;
}

.sla-core-review .sla-faq-item {
  margin: 0;
  border-top: 1px solid #e7ecf2;
}

.sla-core-review .sla-faq-item:last-child {
  border-bottom: 1px solid #e7ecf2;
}

.sla-core-review .sla-faq-item summary {
  position: relative;
  padding: 17px 46px 17px 2px;
  color: #26364b;
  cursor: pointer;
  font-size: .98rem;
  font-weight: 750;
  line-height: 1.42;
  list-style: none;
}

.sla-core-review .sla-faq-item summary::-webkit-details-marker {
  display: none;
}

.sla-core-review .sla-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eef5ff;
  color: var(--sla-blue);
  content: "+";
  font-size: 1rem;
  font-weight: 800;
  transform: translateY(-50%);
}

.sla-core-review .sla-faq-item[open] summary::after {
  content: "–";
}

.sla-core-review .sla-faq-answer {
  padding: 0 44px 18px 2px;
  color: #566477;
  font-size: .92rem;
  line-height: 1.65;
}

.sla-core-review .sla-faq-answer > :last-child {
  margin-bottom: 0;
}

/* ---------- Bottom line ---------- */
.sla-core-review .sla-bottom-line {
  margin: 48px 0 42px;
  padding: 26px 28px;
  border: 1px solid #d7e4f7;
  border-left: 5px solid var(--sla-blue);
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbff 0%, #f2f7ff 100%);
}

.sla-core-review .sla-bottom-line h2 {
  margin: 0 0 12px !important;
  padding: 0;
}

.sla-core-review .sla-bottom-line h2::after {
  display: none;
}

.sla-core-review .sla-bottom-line p:last-child {
  margin-bottom: 0;
}

/* ---------- Sources ---------- */
.sla-core-review .sla-sources-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin: 22px 0 36px;
  padding: 0;
  list-style: none;
}

.sla-core-review .sla-sources-list li {
  margin: 0;
}

.sla-core-review .sla-sources-list a {
  position: relative;
  display: block;
  height: 100%;
  padding: 13px 34px 13px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fbfcfe;
  color: #35547e !important;
  font-size: .8rem;
  font-weight: 630;
  line-height: 1.4;
  text-decoration: none !important;
}

.sla-core-review .sla-sources-list a::after {
  position: absolute;
  top: 12px;
  right: 13px;
  color: #8da6c8;
  content: "↗";
}

.sla-core-review .sla-sources-list a:hover,
.sla-core-review .sla-sources-list a:focus-visible {
  border-color: #bfd3f1;
  background: #f6f9fe;
  color: var(--sla-blue) !important;
}

@media (max-width: 760px) {
  .sla-core-review .sla-article-tools,
  .sla-core-review .sla-quick-answer,
  .sla-core-review .sla-review-card,
  .sla-core-review .sla-faq-card {
    width: min(100%, calc(100vw - 28px));
  }

  .sla-core-review .sla-toc-links,
  .sla-core-review .sla-how-we-chose-list,
  .sla-core-review .sla-sources-list {
    grid-template-columns: 1fr;
  }

  .sla-core-review .sla-review-card {
    padding: 24px 19px;
  }

  .sla-core-review .sla-review-card .wp-block-columns {
    gap: 12px;
  }

  .sla-core-review .sla-review-card .wp-block-button,
  .sla-core-review .sla-review-card .wp-block-button__link {
    width: 100%;
  }

  .sla-core-review .sla-review-card .wp-block-button__link {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .sla-core-review .sla-toc-heading {
    flex-direction: row;
    align-items: center;
    gap: 14px;
  }

  .sla-core-review .sla-toc-count {
    margin-left: auto;
  }

  .sla-core-review .sla-quick-answer,
  .sla-core-review .sla-faq-card {
    padding: 20px 17px;
  }
}


/* =========================================================
   v1.9 — article canvas + module alignment correction
   Fixes Astra legacy content-area width so wide buying-guide
   modules are centered on the page instead of hanging left.
   NicheTable sizing is intentionally left unchanged.
   ========================================================= */

/* Astra legacy layouts can retain a 70/30 content/sidebar canvas even when
   the sidebar itself is empty. On the three core guides, use the full site
   canvas and hide any residual secondary column. */
body.sla-core-review .site-content > .ast-container {
  display: block !important;
  width: min(var(--sla-wide), calc(100% - 40px)) !important;
  max-width: var(--sla-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.sla-core-review #primary,
body.sla-core-review .content-area.primary {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.sla-core-review #secondary,
body.sla-core-review .widget-area.secondary {
  display: none !important;
}

/* Keep prose readable, but center it in the now-full article canvas. */
body.sla-core-review.single-post .entry-header,
body.sla-core-review.single-post .entry-footer {
  width: min(780px, 100%) !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.sla-core-review.single-post .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.sla-core-review.single-post .entry-content > :not(.alignwide):not(.alignfull):not(.sla-article-tools):not(.sla-quick-answer):not(.sla-review-card):not(.sla-faq-card):not(.sla-table-scroll) {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Wide editorial modules: centered, no translate trick, and large enough to
   read as intentional buying-guide components. */
body.sla-core-review.single-post .entry-content > .sla-article-tools,
body.sla-core-review.single-post .entry-content > .sla-quick-answer,
body.sla-core-review.single-post .entry-content > .sla-faq-card {
  width: min(920px, calc(100vw - 48px)) !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

body.sla-core-review.single-post .entry-content > .sla-review-card {
  width: min(940px, calc(100vw - 48px)) !important;
  max-width: 940px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

/* Review cards should use their width instead of recreating a narrow article
   column inside every card. */
body.sla-core-review .sla-review-card > h2,
body.sla-core-review .sla-review-card > p,
body.sla-core-review .sla-review-card > .sla-spec-box,
body.sla-core-review .sla-review-card > .wp-block-columns,
body.sla-core-review .sla-review-card > .wp-block-buttons {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.sla-core-review .sla-review-card > p:not(:first-of-type) {
  max-width: 820px !important;
}

body.sla-core-review .sla-review-card > p:first-of-type {
  max-width: 100% !important;
}

body.sla-core-review .sla-review-card .wp-block-columns {
  align-items: stretch;
}

/* Let decision and methodology sections visually line up with the commercial
   modules while retaining readable copy inside them. */
body.sla-core-review .sla-how-we-chose-list,
body.sla-core-review .sla-choice-card,
body.sla-core-review .sla-bottom-line,
body.sla-core-review .sla-sources-list {
  width: min(880px, calc(100vw - 48px)) !important;
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tighter vertical rhythm after the design has been converted to modules. */
body.sla-core-review .entry-content > h2:not(.sla-product-heading) {
  margin-top: 2.55em;
}

body.sla-core-review .sla-review-card {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
  padding: clamp(28px, 3.5vw, 40px);
}

body.sla-core-review .sla-review-card + .sla-review-card {
  margin-top: 24px !important;
}

body.sla-core-review .sla-review-card .wp-block-columns {
  gap: 18px;
  margin-top: 22px;
  margin-bottom: 20px;
}

body.sla-core-review .sla-review-pros,
body.sla-core-review .sla-review-cons {
  padding: 20px 22px 18px;
}

body.sla-core-review .sla-faq-card {
  margin-top: 40px !important;
  margin-bottom: 38px !important;
}

body.sla-core-review .sla-article-tools {
  margin-bottom: 30px !important;
}

body.sla-core-review .sla-quick-answer {
  margin-top: 26px !important;
  margin-bottom: 38px !important;
}

/* Related guides should align with the article rather than sit as a narrow
   detached box near the bottom. */
body.sla-core-review .sla-related-panel {
  width: min(920px, calc(100vw - 48px));
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 920px) {
  body.sla-core-review .site-content > .ast-container {
    width: min(100% - 28px, var(--sla-wide)) !important;
  }

  body.sla-core-review.single-post .entry-content > .sla-article-tools,
  body.sla-core-review.single-post .entry-content > .sla-quick-answer,
  body.sla-core-review.single-post .entry-content > .sla-review-card,
  body.sla-core-review.single-post .entry-content > .sla-faq-card,
  body.sla-core-review .sla-how-we-chose-list,
  body.sla-core-review .sla-choice-card,
  body.sla-core-review .sla-bottom-line,
  body.sla-core-review .sla-sources-list,
  body.sla-core-review .sla-related-panel {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 760px) {
  body.sla-core-review .site-content > .ast-container {
    width: calc(100% - 24px) !important;
  }

  body.sla-core-review.single-post .entry-content > :not(.alignwide):not(.alignfull) {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.sla-core-review .sla-review-card {
    margin-top: 22px !important;
    margin-bottom: 22px !important;
    padding: 24px 18px;
  }
}


/* =========================================================
   v2.0 — unified editorial grid + compact expandable outline
   ========================================================= */

:root {
  --sla-article-module: 900px;
  --sla-article-prose: 760px;
}

/* One visible width for every major buying-guide module. */
body.sla-core-review.single-post .entry-content > .sla-article-tools,
body.sla-core-review.single-post .entry-content > .sla-quick-answer,
body.sla-core-review.single-post .entry-content > .sla-review-card,
body.sla-core-review.single-post .entry-content > .sla-faq-card,
body.sla-core-review.single-post .entry-content > .sla-content-section,
body.sla-core-review.single-post .entry-content > .sla-bottom-line,
body.sla-core-review .sla-related-panel {
  width: min(var(--sla-article-module), calc(100vw - 48px)) !important;
  max-width: var(--sla-article-module) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

/* The NicheTable can use the same grid without changing its column design. */
body.sla-core-review.single-post .entry-content > .sla-table-scroll,
body.sla-core-review .sla-content-section > .sla-table-scroll,
body.sla-core-review .sla-content-section > .wp-block-table {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Standard H2 sections are grouped by article.js into a common section shell. */
body.sla-core-review .sla-content-section {
  margin-top: 52px !important;
  margin-bottom: 0 !important;
}

body.sla-core-review .sla-content-section > h2 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 24px !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe7f1 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: clamp(1.8rem, 3vw, 2.25rem);
}

body.sla-core-review .sla-content-section > h2::after {
  width: 42px;
  margin-top: 13px;
}

/* Keep running copy comfortable while the visible section grid stays aligned. */
body.sla-core-review .sla-content-section > p,
body.sla-core-review .sla-content-section > ul:not(.sla-how-we-chose-list):not(.sla-sources-list),
body.sla-core-review .sla-content-section > ol:not(.sla-how-we-chose-list),
body.sla-core-review .sla-content-section > blockquote {
  width: min(var(--sla-article-prose), 100%) !important;
  max-width: var(--sla-article-prose) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Decision cards and methodology use the entire shared section width. */
body.sla-core-review .sla-content-section > .sla-choice-card,
body.sla-core-review .sla-content-section > .sla-how-we-chose-list,
body.sla-core-review .sla-content-section > .sla-sources-list {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.sla-core-review .sla-choice-card {
  padding: 22px 26px;
}

/* CFM example should align with the same 900px editorial grid. */
body.sla-core-review .sla-cfm-table-wrap,
body.sla-core-review .sla-cfm-table {
  width: 100% !important;
  max-width: 100% !important;
}

body.sla-core-review .sla-cfm-table-wrap {
  margin: 24px 0 8px !important;
}

/* Product modules no longer have a separate 940px visual width. */
body.sla-core-review .sla-review-card {
  max-width: var(--sla-article-module) !important;
}

/* -------- v2 compact outline -------- */
body.sla-core-review .sla-article-tools {
  margin-top: 8px !important;
  margin-bottom: 30px !important;
}

body.sla-core-review .sla-on-this-page {
  overflow: hidden;
  border: 1px solid #dbe5f1;
  border-left: 3px solid var(--sla-blue);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(23,32,51,.045);
}

body.sla-core-review .sla-toc-heading {
  min-height: 72px;
  padding: 16px 20px 15px 22px;
  border-bottom: 1px solid #e5ebf3;
  background: #f8fbff;
}

body.sla-core-review .sla-toc-eyebrow {
  font-size: .66rem;
  letter-spacing: .11em;
}

body.sla-core-review .sla-toc-title {
  margin-top: 2px;
  font-size: 1.12rem;
}

body.sla-core-review .sla-toc-count {
  padding: 6px 10px;
  border: 1px solid #d7e4f5;
  border-radius: 999px;
  background: #fff;
  color: #4b6281;
  font-size: .72rem;
  font-weight: 720;
}

body.sla-core-review .sla-toc-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px !important;
  margin: 0 !important;
  padding: 10px 20px 14px !important;
  list-style: none !important;
}

body.sla-core-review .sla-toc-group {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  border-radius: 0 !important;
  background: transparent !important;
  break-inside: avoid;
}

body.sla-core-review .sla-toc-row {
  display: flex;
  align-items: center;
  min-height: 48px;
}

body.sla-core-review .sla-toc-group > .sla-toc-primary,
body.sla-core-review .sla-toc-row > .sla-toc-primary {
  display: grid !important;
  flex: 1 1 auto;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 9px 4px !important;
  border-radius: 7px;
  background: transparent !important;
  color: #24344a !important;
  font-size: .84rem;
  font-weight: 730 !important;
  line-height: 1.3;
}

body.sla-core-review .sla-toc-index {
  width: 27px;
  height: 27px;
  border-radius: 7px;
  font-size: .64rem;
}

body.sla-core-review .sla-toc-expand {
  display: none;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #70819a;
  cursor: pointer;
  font: inherit;
}

body.sla-core-review .sla-toc-group.has-children .sla-toc-expand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.sla-core-review .sla-toc-expand::before {
  content: "+";
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
}

body.sla-core-review .sla-toc-group.is-open .sla-toc-expand::before {
  content: "−";
}

body.sla-core-review .sla-toc-expand:hover,
body.sla-core-review .sla-toc-expand:focus-visible {
  background: #edf4ff;
  color: var(--sla-blue);
  outline: none;
}

body.sla-core-review .sla-toc-children {
  display: none;
  margin: 0 !important;
  padding: 0 8px 10px 37px !important;
  list-style: none !important;
}

body.sla-core-review .sla-toc-group.is-open .sla-toc-children {
  display: block;
}

body.sla-core-review .sla-toc-child a {
  padding: 5px 0 5px 12px !important;
  color: #65758c !important;
  font-size: .76rem;
  line-height: 1.35;
}

body.sla-core-review .sla-toc-child a::before {
  top: 11px;
  width: 3px;
  height: 3px;
}

/* Remove the oversized card impression from old outline rules. */
body.sla-core-review .sla-toc-primary:hover,
body.sla-core-review .sla-toc-primary:focus-visible {
  background: #f7faff !important;
}

/* Quick answer, FAQ and conclusion now share the same outer width. */
body.sla-core-review .sla-quick-answer,
body.sla-core-review .sla-faq-card,
body.sla-core-review .sla-bottom-line {
  width: min(var(--sla-article-module), calc(100vw - 48px)) !important;
  max-width: var(--sla-article-module) !important;
}

@media (max-width: 760px) {
  body.sla-core-review.single-post .entry-content > .sla-article-tools,
  body.sla-core-review.single-post .entry-content > .sla-quick-answer,
  body.sla-core-review.single-post .entry-content > .sla-review-card,
  body.sla-core-review.single-post .entry-content > .sla-faq-card,
  body.sla-core-review.single-post .entry-content > .sla-content-section,
  body.sla-core-review.single-post .entry-content > .sla-bottom-line,
  body.sla-core-review .sla-related-panel {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.sla-core-review .sla-toc-links {
    grid-template-columns: 1fr;
    padding: 8px 16px 12px !important;
  }

  body.sla-core-review .sla-toc-heading {
    padding: 14px 16px;
  }

  body.sla-core-review .sla-content-section {
    margin-top: 40px !important;
  }

  body.sla-core-review .sla-content-section > p,
  body.sla-core-review .sla-content-section > ul,
  body.sla-core-review .sla-content-section > ol,
  body.sla-core-review .sla-content-section > blockquote {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   v2.1 — section-content alignment with table grid + denser outline
   ========================================================= */
:root {
  --sla-article-module: 900px;
  --sla-article-copy: 828px;
  --sla-article-inset: 36px;
}

/* Keep introductory copy and stand-alone note paragraphs aligned with the same grid. */
body.sla-core-review.single-post .entry-content > p,
body.sla-core-review.single-post .entry-content > ul:not(.sla-how-we-chose-list):not(.sla-sources-list),
body.sla-core-review.single-post .entry-content > ol:not(.sla-how-we-chose-list),
body.sla-core-review.single-post .entry-content > blockquote {
  width: min(var(--sla-article-copy), calc(100vw - 96px)) !important;
  max-width: var(--sla-article-copy) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Section wrappers use the same inner inset so headings, text and the comparison table share one left edge. */
body.sla-core-review .sla-content-section {
  box-sizing: border-box !important;
  padding-left: var(--sla-article-inset) !important;
  padding-right: var(--sla-article-inset) !important;
}

body.sla-core-review .sla-content-section > h2,
body.sla-core-review .sla-content-section > p,
body.sla-core-review .sla-content-section > ul:not(.sla-how-we-chose-list):not(.sla-sources-list),
body.sla-core-review .sla-content-section > ol:not(.sla-how-we-chose-list),
body.sla-core-review .sla-content-section > blockquote,
body.sla-core-review .sla-content-section > .sla-choice-card,
body.sla-core-review .sla-content-section > .sla-how-we-chose-list,
body.sla-core-review .sla-content-section > .sla-sources-list,
body.sla-core-review .sla-content-section > .sla-table-scroll,
body.sla-core-review .sla-content-section > .wp-block-table,
body.sla-core-review .sla-content-section > .sla-cfm-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* This makes regular copy line up with the table while staying readable. */
body.sla-core-review .sla-content-section > p,
body.sla-core-review .sla-content-section > ul:not(.sla-how-we-chose-list):not(.sla-sources-list),
body.sla-core-review .sla-content-section > ol:not(.sla-how-we-chose-list),
body.sla-core-review .sla-content-section > blockquote {
  max-width: var(--sla-article-copy) !important;
}

/* Ensure tables and formula panels visibly start on the same column. */
body.sla-core-review .sla-content-section > .sla-table-scroll,
body.sla-core-review .sla-content-section > .wp-block-table,
body.sla-core-review .sla-content-section > .sla-cfm-table-wrap,
body.sla-core-review .sla-content-section > .wp-block-quote {
  margin-top: 24px !important;
}

/* Denser directory-style outline. */
body.sla-core-review .sla-on-this-page {
  border-left: 0 !important;
  border-top: 3px solid var(--sla-blue) !important;
}

body.sla-core-review .sla-toc-heading {
  padding: 16px 22px 14px !important;
}

body.sla-core-review .sla-toc-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 24px !important;
  padding: 10px 22px 14px !important;
}

body.sla-core-review .sla-toc-group {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-bottom: 1px solid #e9eef5 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.sla-core-review .sla-toc-row {
  display: flex !important;
  align-items: center !important;
  min-height: 46px !important;
}

body.sla-core-review .sla-toc-group > .sla-toc-primary,
body.sla-core-review .sla-toc-row > .sla-toc-primary {
  display: grid !important;
  flex: 1 1 auto !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.sla-core-review .sla-toc-expand {
  width: 28px !important;
  height: 28px !important;
  margin-left: 6px !important;
  border-radius: 6px !important;
}

body.sla-core-review .sla-toc-children {
  display: none !important;
  margin: 0 !important;
  padding: 0 0 10px 38px !important;
  list-style: none !important;
}

body.sla-core-review .sla-toc-group.is-open > .sla-toc-children {
  display: block !important;
}

body.sla-core-review .sla-toc-child {
  margin: 0 !important;
  padding: 0 !important;
}

body.sla-core-review .sla-toc-child a {
  display: block !important;
  padding: 4px 0 4px 12px !important;
}

/* On mobile, keep alignment clean instead of over-compressing the inset. */
@media (max-width: 760px) {
  :root {
    --sla-article-copy: 100%;
    --sla-article-inset: 20px;
  }

  body.sla-core-review .sla-content-section,
  body.sla-core-review .sla-quick-answer,
  body.sla-core-review .sla-faq-card,
  body.sla-core-review .sla-bottom-line,
  body.sla-core-review .sla-article-tools {
    padding-left: var(--sla-article-inset) !important;
    padding-right: var(--sla-article-inset) !important;
  }

  body.sla-core-review .sla-toc-links {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 8px 16px 12px !important;
  }
}

/* =========================================================
   v2.2 — table alignment correction
   Removes the legacy half-width translate that could shift comparison,
   decision and CFM tables to the left after article.js enhanced them.
   ========================================================= */
body.sla-core-review .entry-content .sla-table-scroll,
body.sla-core-review .entry-content .wp-block-table.sla-table-scroll,
body.sla-core-review .entry-content .sla-cfm-table-wrap {
  transform: none !important;
  left: auto !important;
  right: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Tables inside standard article sections use the complete inner editorial
   grid, so their left/right edges match the section heading and copy. */
body.sla-core-review .sla-content-section .sla-table-scroll,
body.sla-core-review .sla-content-section .wp-block-table,
body.sla-core-review .sla-content-section .sla-cfm-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
}

/* NicheTable can insert an extra anonymous div around the generated scroll
   wrapper. Keep the actual scroll/table layer full-width without translating. */
body.sla-core-review .sla-content-section .sla-table-scroll {
  margin-top: 24px !important;
  margin-bottom: 32px !important;
}

body.sla-core-review .sla-table-scroll > table,
body.sla-core-review .wp-block-table > table,
body.sla-core-review table.sla-cfm-table {
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

@media (max-width: 760px) {
  body.sla-core-review .entry-content .sla-table-scroll,
  body.sla-core-review .entry-content .wp-block-table.sla-table-scroll,
  body.sla-core-review .entry-content .sla-cfm-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }
}



/* =========================================================
   v2.3 — CRO buyer navigation for affiliate buying guides
   Turns the long article outline into a decision-first navigation module.
   ========================================================= */
body.sla-core-review .sla-buyer-nav {
  overflow: hidden;
  border: 1px solid #d8e3f1 !important;
  border-top: 3px solid var(--sla-blue) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 10px 32px rgba(23, 32, 51, .055) !important;
}

body.sla-core-review .sla-buyer-nav .sla-toc-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 0 !important;
  padding: 17px 22px 15px !important;
  border-bottom: 1px solid #e6edf6 !important;
  background: linear-gradient(180deg, #f8fbff 0%, #f4f8fd 100%) !important;
}

body.sla-core-review .sla-buyer-nav .sla-toc-title-wrap {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
}

body.sla-core-review .sla-buyer-nav .sla-toc-eyebrow {
  color: var(--sla-blue) !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.sla-core-review .sla-buyer-nav .sla-toc-title {
  margin-top: 4px !important;
  color: #172033 !important;
  font-size: 1.08rem !important;
  font-weight: 780 !important;
  line-height: 1.28 !important;
}

body.sla-core-review .sla-toc-mode {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #d7e4f5;
  border-radius: 999px;
  background: #fff;
  color: #52677f;
  font-size: .69rem;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}

body.sla-core-review .sla-toc-shortcuts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  padding: 14px 22px 4px;
}

body.sla-core-review .sla-toc-shortcut {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border: 1px solid #dbe6f4;
  border-radius: 9px;
  background: #fff;
  color: #1f4f90 !important;
  font-size: .75rem;
  font-weight: 760;
  line-height: 1.15;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(23, 32, 51, .025);
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

body.sla-core-review .sla-toc-shortcut:hover,
body.sla-core-review .sla-toc-shortcut:focus-visible {
  border-color: #a9c7ed;
  background: #f5f9ff;
  color: var(--sla-blue-dark) !important;
  transform: translateY(-1px);
  outline: none;
}

body.sla-core-review .sla-toc-shortcut.is-primary {
  border-color: var(--sla-blue);
  background: var(--sla-blue);
  color: #fff !important;
}

body.sla-core-review .sla-toc-shortcut.is-primary:hover,
body.sla-core-review .sla-toc-shortcut.is-primary:focus-visible {
  border-color: var(--sla-blue-dark);
  background: var(--sla-blue-dark);
  color: #fff !important;
}

body.sla-core-review .sla-toc-groups {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  gap: 24px;
  padding: 16px 22px 20px;
}

body.sla-core-review .sla-toc-group-panel {
  min-width: 0;
}

body.sla-core-review .sla-toc-group-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 5px;
  padding: 0 3px 8px;
  border-bottom: 1px solid #dfe7f1;
}

body.sla-core-review .sla-toc-group-eyebrow {
  color: #6c7d91;
  font-size: .62rem;
  font-weight: 760;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.sla-core-review .sla-toc-group-title {
  color: #172033;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.2;
}

body.sla-core-review .sla-toc-menu {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.sla-core-review .sla-toc-menu-item {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #edf1f6;
  list-style: none !important;
}

body.sla-core-review .sla-toc-menu-item:last-child {
  border-bottom: 0;
}

body.sla-core-review .sla-toc-menu-link {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 7px 8px 8px !important;
  border-radius: 8px;
  color: #26374f !important;
  font-size: .79rem;
  font-weight: 690 !important;
  line-height: 1.28;
  text-decoration: none !important;
  transition: background .16s ease, color .16s ease;
}

body.sla-core-review .sla-toc-menu-item.is-featured .sla-toc-menu-link {
  margin: 3px 0;
  background: #f5f9ff;
  color: #193f75 !important;
  font-weight: 760 !important;
}

body.sla-core-review .sla-toc-menu-link:hover,
body.sla-core-review .sla-toc-menu-link:focus-visible {
  background: #edf5ff !important;
  color: var(--sla-blue-dark) !important;
  outline: none;
}

body.sla-core-review .sla-toc-link-text {
  min-width: 0;
}

body.sla-core-review .sla-toc-item-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 3px 6px;
  border: 1px solid #cfe0f6;
  border-radius: 999px;
  background: #fff;
  color: #4770a6;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

body.sla-core-review .sla-toc-arrow {
  color: #94a5ba;
  font-size: .9rem;
  line-height: 1;
  transform: translateX(0);
  transition: transform .16s ease, color .16s ease;
}

body.sla-core-review .sla-toc-menu-link:hover .sla-toc-arrow,
body.sla-core-review .sla-toc-menu-link:focus-visible .sla-toc-arrow {
  color: var(--sla-blue);
  transform: translateX(2px);
}

/* Old outline controls are intentionally not used in the CRO navigation. */
body.sla-core-review .sla-buyer-nav .sla-toc-links,
body.sla-core-review .sla-buyer-nav .sla-toc-count,
body.sla-core-review .sla-buyer-nav .sla-toc-expand,
body.sla-core-review .sla-buyer-nav .sla-toc-children {
  display: none !important;
}

@media (max-width: 860px) {
  body.sla-core-review .sla-toc-shortcuts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.sla-core-review .sla-toc-groups {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 520px) {
  body.sla-core-review .sla-buyer-nav .sla-toc-heading {
    align-items: flex-start !important;
    padding: 15px 16px 13px !important;
  }

  body.sla-core-review .sla-toc-mode {
    display: none;
  }

  body.sla-core-review .sla-toc-shortcuts {
    gap: 8px;
    padding: 12px 16px 2px;
  }

  body.sla-core-review .sla-toc-shortcut {
    min-height: 40px;
    padding: 8px;
    font-size: .73rem;
  }

  body.sla-core-review .sla-toc-groups {
    gap: 16px;
    padding: 14px 16px 16px;
  }

  body.sla-core-review .sla-toc-menu-link {
    min-height: 44px;
    padding: 8px 5px 8px 6px !important;
    font-size: .78rem;
  }

  body.sla-core-review .sla-toc-item-badge {
    display: none;
  }
}

/* =========================================================
   v2.4 — Featured hero restoration + Top Picks CRO polish
   ========================================================= */

/* ---------- Restore and frame the article featured image ---------- */
body.sla-core-review.single-post .post-thumb {
  display: block !important;
  width: min(960px, calc(100vw - 48px)) !important;
  max-width: 960px !important;
  margin: 0 auto 34px !important;
  overflow: hidden;
  border-radius: 20px;
}

body.sla-core-review.single-post .post-thumb-img-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.sla-core-review.single-post .post-thumb a {
  display: block;
}

body.sla-core-review.single-post .post-thumb img,
body.sla-core-review.single-post .post-thumb-img-content img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 1200 / 628;
  object-fit: cover;
  border: 1px solid #d9e3f0;
  border-radius: 20px;
  background: #eef4fb;
  box-shadow: 0 14px 38px rgba(23,32,51,.09);
}

/* ---------- Top Picks: compact buyer-first module ---------- */
body.sla-core-review .sla-quick-answer {
  display: block !important;
  margin-top: 26px !important;
  margin-bottom: 42px !important;
  padding: 24px 26px 26px !important;
  border: 1px solid #d7e4f5 !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #f7faff 0%, #f2f7fd 100%) !important;
  box-shadow: 0 10px 30px rgba(23,32,51,.06) !important;
}

/* Gutenberg/Astra spacing can otherwise re-introduce a large gap here. */
body.sla-core-review .sla-quick-answer > .sla-eyebrow {
  display: block !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--sla-blue) !important;
  font-size: .7rem !important;
  line-height: 1.2 !important;
  letter-spacing: .1em !important;
}

body.sla-core-review .sla-quick-answer > h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;
  color: var(--sla-ink) !important;
  font-size: clamp(1.7rem, 3vw, 2.05rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
}

body.sla-core-review .sla-quick-answer > h2::after {
  display: block !important;
  width: 38px !important;
  height: 3px !important;
  margin-top: 11px !important;
  border-radius: 999px !important;
  background: #c6daf7 !important;
  content: "" !important;
}

body.sla-core-review .sla-quick-answer > .sla-pick-grid,
body.sla-core-review .sla-pick-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.sla-core-review .sla-pick-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  height: 100% !important;
  min-height: 0 !important;
  padding: 18px !important;
  overflow: hidden;
  border: 1px solid #dce5f1 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 5px 16px rgba(23,32,51,.045) !important;
}

body.sla-core-review .sla-pick-card::before {
  right: 0 !important;
  left: 0 !important;
  height: 3px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, var(--sla-blue), #78a8ef) !important;
}

/* Give the first recommendation a little extra visual authority. */
body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-pick-card {
  border-color: #bfd3ef !important;
  box-shadow: 0 8px 22px rgba(33,102,209,.09) !important;
}

body.sla-core-review .sla-pick-card > .sla-mini-label {
  align-self: flex-start;
  margin: 2px 0 12px !important;
  padding: 5px 8px !important;
  border: 1px solid #d6e4f6;
  border-radius: 999px;
  background: #f2f7ff;
  color: #49627f !important;
  font-size: .62rem !important;
  font-weight: 820 !important;
  letter-spacing: .065em !important;
  line-height: 1.25 !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-mini-label {
  border-color: var(--sla-blue);
  background: var(--sla-blue);
  color: #fff !important;
}

body.sla-core-review .sla-pick-card h3 {
  min-height: 2.45em;
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: #172033 !important;
  font-size: 1.08rem !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
}

/* Compact specification line immediately below the product name. */
body.sla-core-review .sla-pick-card h3 + p {
  margin: 0 0 13px !important;
  padding: 10px 0 11px !important;
  border-top: 1px solid #edf1f6;
  border-bottom: 1px solid #edf1f6;
  color: #56667b !important;
  font-size: .81rem !important;
  line-height: 1.5 !important;
}

/* The buyer-fit sentence should read as guidance, not another spec list. */
body.sla-core-review .sla-pick-card h3 + p + p {
  margin: 0 !important;
  color: #35445a !important;
  font-size: .86rem !important;
  line-height: 1.58 !important;
}

body.sla-core-review .sla-pick-card h3 + p + p strong {
  color: #172033 !important;
  font-weight: 800 !important;
}

body.sla-core-review .sla-pick-card .wp-block-buttons {
  width: 100%;
  margin: auto 0 0 !important;
  padding-top: 18px;
}

body.sla-core-review .sla-pick-card .wp-block-button {
  width: 100%;
  margin: 0 !important;
}

/* Warm CTA color is reserved for retailer actions; site/navigation actions stay blue. */
body.sla-core-review .sla-pick-card .wp-block-button__link,
body.sla-core-review .sla-pick-card .wp-element-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 44px;
  padding: 11px 14px !important;
  border: 1px solid #df8a05 !important;
  border-radius: 9px !important;
  background: #f59e0b !important;
  color: #172033 !important;
  font-size: .82rem !important;
  font-weight: 820 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 14px rgba(196,119,0,.14);
}

body.sla-core-review .sla-pick-card .wp-block-button__link::after,
body.sla-core-review .sla-pick-card .wp-element-button::after {
  margin-left: 7px;
  content: "→";
}

body.sla-core-review .sla-pick-card .wp-block-button__link:hover,
body.sla-core-review .sla-pick-card .wp-element-button:hover,
body.sla-core-review .sla-pick-card .wp-block-button__link:focus-visible,
body.sla-core-review .sla-pick-card .wp-element-button:focus-visible {
  border-color: #c97900 !important;
  background: #e99000 !important;
  color: #111827 !important;
  box-shadow: 0 7px 18px rgba(196,119,0,.2);
  transform: translateY(-1px);
}

@media (max-width: 820px) {
  body.sla-core-review .sla-quick-answer > .sla-pick-grid,
  body.sla-core-review .sla-pick-grid {
    grid-template-columns: 1fr !important;
  }

  body.sla-core-review .sla-pick-card h3 {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  body.sla-core-review.single-post .post-thumb {
    width: 100% !important;
    margin-bottom: 28px !important;
    border-radius: 14px;
  }

  body.sla-core-review.single-post .post-thumb img,
  body.sla-core-review.single-post .post-thumb-img-content img {
    border-radius: 14px;
  }

  body.sla-core-review .sla-quick-answer {
    padding: 20px 16px !important;
  }
}

/* =========================================================
   v2.5 — one editorial width for hero + tables
   Fixes residual Astra/Gutenberg narrow-measure inheritance.
   Major buying-guide UI uses a 900px module; prose remains narrow.
   ========================================================= */

/* Featured artwork should align exactly with the 900px buyer-guide modules,
   even when Astra renders it inside a narrower article/header container. */
body.sla-core-review.single-post .post-thumb,
body.sla-core-review.single-post .post-thumb-img-content {
  box-sizing: border-box !important;
  width: min(var(--sla-article-module), calc(100vw - 48px)) !important;
  max-width: var(--sla-article-module) !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

body.sla-core-review.single-post .post-thumb .post-thumb-img-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  transform: none !important;
}

body.sla-core-review.single-post .post-thumb img,
body.sla-core-review.single-post .post-thumb-img-content img {
  width: 100% !important;
  max-width: none !important;
}

/* Standard H2 sections are direct children created by article.js. Break them
   out of Astra's 780px prose constraint and give them the same 900px shell as
   Quick Navigation, Top Picks and product review cards. */
body.sla-core-review.single-post .entry-content > .sla-content-section {
  box-sizing: border-box !important;
  width: min(var(--sla-article-module), calc(100vw - 48px)) !important;
  max-width: var(--sla-article-module) !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  transform: translateX(-50%) !important;
}

/* Section titles and commercial/data modules use the complete module width. */
body.sla-core-review .sla-content-section > h2,
body.sla-core-review .sla-content-section > .sla-table-scroll,
body.sla-core-review .sla-content-section > .wp-block-table,
body.sla-core-review .sla-content-section > .sla-cfm-table-wrap,
body.sla-core-review .sla-content-section > .sla-choice-card,
body.sla-core-review .sla-content-section > .sla-how-we-chose-list,
body.sla-core-review .sla-content-section > .sla-sources-list {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

/* Reading copy remains comfortably narrow and centered inside the wide shell. */
body.sla-core-review .sla-content-section > p,
body.sla-core-review .sla-content-section > ul:not(.sla-how-we-chose-list):not(.sla-sources-list),
body.sla-core-review .sla-content-section > ol:not(.sla-how-we-chose-list),
body.sla-core-review .sla-content-section > blockquote {
  width: min(var(--sla-article-prose), 100%) !important;
  max-width: var(--sla-article-prose) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Every table wrapper fills the shared editorial grid. NicheTable, Gutenberg
   figures and JS-created wrappers all follow the same rule. */
body.sla-core-review .entry-content .sla-table-scroll,
body.sla-core-review .entry-content figure.wp-block-table,
body.sla-core-review .entry-content .sla-cfm-table-wrap,
body.sla-core-review .entry-content .nichetable.sla-table-scroll,
body.sla-core-review .entry-content .niche-table.sla-table-scroll,
body.sla-core-review .entry-content [class*="nichetable"].sla-table-scroll,
body.sla-core-review .entry-content [class*="niche-table"].sla-table-scroll {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: auto !important;
  transform: none !important;
  -webkit-overflow-scrolling: touch;
}

body.sla-core-review .entry-content .sla-table-scroll > table,
body.sla-core-review .entry-content figure.wp-block-table > table,
body.sla-core-review .entry-content table.sla-comparison-table,
body.sla-core-review .entry-content table.sla-cfm-table {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

/* Prevent long comparison content from visually disappearing past a narrow
   cell. The full table uses 900px on desktop and scrolls only when necessary. */
@media (min-width: 761px) {
  body.sla-core-review .entry-content .sla-table-scroll > table,
  body.sla-core-review .entry-content figure.wp-block-table > table {
    min-width: 100% !important;
  }

  body.sla-core-review .sla-section-quick-comparison .sla-table-scroll > table {
    min-width: 860px !important;
  }

  body.sla-core-review .sla-section-which-basement-ventilation-fan-should-you-choose .sla-table-scroll > table,
  body.sla-core-review .sla-section-basement-ventilation-fan-vs-dehumidifier-which-do-you-need .sla-table-scroll > table {
    min-width: 820px !important;
  }
}

@media (max-width: 760px) {
  body.sla-core-review.single-post .post-thumb,
  body.sla-core-review.single-post .post-thumb-img-content,
  body.sla-core-review.single-post .entry-content > .sla-content-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  body.sla-core-review.single-post .post-thumb {
    margin-bottom: 28px !important;
  }

  body.sla-core-review .entry-content .sla-table-scroll,
  body.sla-core-review .entry-content figure.wp-block-table,
  body.sla-core-review .entry-content .sla-cfm-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Keep genuinely wide comparison tables usable without compressing text. */
  body.sla-core-review .sla-section-quick-comparison .sla-table-scroll > table,
  body.sla-core-review .sla-section-which-basement-ventilation-fan-should-you-choose .sla-table-scroll > table,
  body.sla-core-review .sla-section-basement-ventilation-fan-vs-dehumidifier-which-do-you-need .sla-table-scroll > table {
    min-width: 720px !important;
  }
}

/* =========================================================
   v2.6 — Top Picks premium UX / affiliate CRO polish
   - tighter header rhythm and no Gutenberg block-gap leak
   - scan-friendly spec chips
   - buyer-fit callout, review link and stronger retailer CTA
   - calm best-overall emphasis instead of a heavy blue label
   ========================================================= */

/* Reset Gutenberg's layout gap inside this purpose-built module. */
body.sla-core-review .sla-quick-answer.is-layout-constrained > *,
body.sla-core-review .sla-quick-answer > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

body.sla-core-review .sla-quick-answer {
  padding: 28px 28px 30px !important;
  border-color: #d8e4f3 !important;
  background:
    radial-gradient(circle at 95% 5%, rgba(33,102,209,.055), transparent 25%),
    linear-gradient(180deg, #f8fbff 0%, #f4f8fd 100%) !important;
  box-shadow: 0 14px 38px rgba(23,32,51,.065) !important;
}

body.sla-core-review .sla-quick-answer > .sla-eyebrow {
  width: fit-content;
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: #2166d1 !important;
  font-size: .69rem !important;
  font-weight: 850 !important;
  letter-spacing: .11em !important;
}

body.sla-core-review .sla-quick-answer > h2 {
  margin: 0 !important;
  font-size: clamp(1.7rem, 2.8vw, 2rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.032em !important;
}

body.sla-core-review .sla-quick-answer > h2::after {
  width: 42px !important;
  margin-top: 12px !important;
  background: linear-gradient(90deg, #2166d1, #9ec1f4) !important;
}

body.sla-core-review .sla-picks-intro {
  max-width: 660px;
  margin: 12px 0 22px !important;
  color: #667386 !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

body.sla-core-review .sla-pick-grid {
  gap: 16px !important;
}

body.sla-core-review .sla-pick-card {
  padding: 19px 18px 18px !important;
  border-color: #dce5f0 !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 7px 22px rgba(23,32,51,.055) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.sla-core-review .sla-pick-card:hover {
  transform: translateY(-2px);
  border-color: #cbd9ec !important;
  box-shadow: 0 12px 28px rgba(23,32,51,.09) !important;
}

body.sla-core-review .sla-pick-card::before {
  height: 3px !important;
  background: linear-gradient(90deg, #6f9ee7, #b4cff6) !important;
}

/* Best overall: confident, but quieter than the old full-blue label block. */
body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-pick-card {
  border-color: #b9d0ef !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 10px 28px rgba(33,102,209,.105) !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-pick-card::before {
  height: 4px !important;
  background: linear-gradient(90deg, #2166d1, #70a7f2) !important;
}

body.sla-core-review .sla-pick-card > .sla-mini-label {
  display: inline-flex !important;
  align-items: center;
  width: fit-content !important;
  max-width: 100%;
  margin: 0 0 13px !important;
  padding: 5px 9px !important;
  border: 1px solid #d9e5f3 !important;
  border-radius: 999px !important;
  background: #f5f8fc !important;
  color: #59708d !important;
  font-size: .61rem !important;
  font-weight: 850 !important;
  letter-spacing: .075em !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-mini-label {
  border-color: #b9d1f2 !important;
  background: #edf5ff !important;
  color: #174ea6 !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-mini-label::before {
  margin-right: 5px;
  color: #2166d1;
  content: "★";
  font-size: .72rem;
  line-height: 1;
}

body.sla-core-review .sla-pick-card h3 {
  min-height: 2.6em;
  margin: 0 0 12px !important;
  font-size: 1.08rem !important;
  line-height: 1.22 !important;
}

/* JS upgrades the old bullet sentence into easy-to-scan chips. */
body.sla-core-review .sla-pick-card .sla-pick-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px !important;
  padding: 12px 0 13px !important;
  border-top: 1px solid #edf1f6;
  border-bottom: 1px solid #edf1f6;
}

body.sla-core-review .sla-pick-card .sla-spec-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid #e0e8f2;
  border-radius: 7px;
  background: #f7f9fc;
  color: #4f6076;
  font-size: .72rem;
  font-weight: 720;
  line-height: 1.25;
}

/* Fallback if JS is delayed/disabled. */
body.sla-core-review .sla-pick-card h3 + p:not(.sla-pick-specs) {
  margin: 0 0 14px !important;
  padding: 11px 0 12px !important;
}

body.sla-core-review .sla-pick-card .sla-pick-fit,
body.sla-core-review .sla-pick-card h3 + p + p {
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 1px solid #e4ebf4;
  border-radius: 10px;
  background: #fafcff;
  color: #405169 !important;
  font-size: .82rem !important;
  line-height: 1.52 !important;
}

body.sla-core-review .sla-pick-card .sla-pick-fit strong,
body.sla-core-review .sla-pick-card h3 + p + p strong {
  display: block;
  margin-bottom: 3px;
  color: #174ea6 !important;
  font-size: .65rem !important;
  font-weight: 850 !important;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.sla-core-review .sla-pick-review-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 5px;
  margin-top: 12px;
  color: #315f9f !important;
  font-size: .74rem;
  font-weight: 780;
  line-height: 1.3;
  text-decoration: none !important;
}

body.sla-core-review .sla-pick-review-link::after {
  content: "↓";
  font-size: .78rem;
}

body.sla-core-review .sla-pick-review-link:hover,
body.sla-core-review .sla-pick-review-link:focus-visible {
  color: #174ea6 !important;
  text-decoration: underline !important;
  text-underline-offset: .16em;
}

body.sla-core-review .sla-pick-card .wp-block-buttons {
  margin: auto 0 0 !important;
  padding-top: 14px !important;
}

body.sla-core-review .sla-pick-card .wp-block-button__link,
body.sla-core-review .sla-pick-card .wp-element-button {
  min-height: 46px;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #f8a913 0%, #f39a05 100%) !important;
  font-size: .82rem !important;
  box-shadow: 0 6px 16px rgba(196,119,0,.16);
}

body.sla-core-review .sla-pick-card .wp-block-button__link::after,
body.sla-core-review .sla-pick-card .wp-element-button::after {
  display: inline-grid;
  width: 22px;
  height: 22px;
  margin-left: 8px;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.30);
  content: "→";
  font-size: .78rem;
}

body.sla-core-review .sla-picks-more {
  display: flex;
  justify-content: center;
  margin: 18px 0 0 !important;
  padding-top: 16px;
  border-top: 1px solid #e4ebf4;
  color: #667386;
  font-size: .82rem;
  line-height: 1.4;
}

body.sla-core-review .sla-picks-more a {
  color: #315f9f !important;
  font-weight: 800;
  text-decoration: none !important;
}

body.sla-core-review .sla-picks-more a:hover,
body.sla-core-review .sla-picks-more a:focus-visible {
  color: #174ea6 !important;
  text-decoration: underline !important;
  text-underline-offset: .16em;
}

@media (max-width: 820px) {
  body.sla-core-review .sla-pick-card h3 {
    min-height: 0;
  }

  body.sla-core-review .sla-pick-card > .sla-mini-label {
    white-space: normal;
  }
}

@media (max-width: 600px) {
  body.sla-core-review .sla-quick-answer {
    padding: 22px 15px 20px !important;
    border-radius: 16px !important;
  }

  body.sla-core-review .sla-picks-intro {
    margin-bottom: 18px !important;
  }

  body.sla-core-review .sla-pick-card {
    padding: 17px !important;
  }
}


/* =========================================================
   v2.7 — Quick Picks resilient polish
   - removes the remaining QUICK ANSWER -> H2 dead space
   - keeps core CRO hierarchy polished even when article.js is cached/delayed
   - makes recommendation labels short and consistent without JS
   ========================================================= */

/* Force a simple top-to-bottom layout. Some Astra/Gutenberg layout rules can
   otherwise leave a large distribution gap between the eyebrow and heading. */
body.sla-core-review .entry-content .sla-quick-answer,
body.sla-core-review .entry-content .sla-quick-answer.is-layout-constrained {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 0 !important;
  row-gap: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 26px 26px !important;
}

body.sla-core-review .entry-content .sla-quick-answer > *,
body.sla-core-review .entry-content .sla-quick-answer.is-layout-constrained > * {
  min-height: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

body.sla-core-review .entry-content .sla-quick-answer > .sla-eyebrow {
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

body.sla-core-review .entry-content .sla-quick-answer > h2 {
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-size: clamp(1.65rem, 2.55vw, 1.95rem) !important;
  line-height: 1.12 !important;
}

body.sla-core-review .entry-content .sla-quick-answer > h2::after {
  margin-top: 11px !important;
}

body.sla-core-review .entry-content .sla-quick-answer > .sla-picks-intro {
  margin: -4px 0 18px !important;
}

body.sla-core-review .entry-content .sla-quick-answer > .sla-pick-grid {
  width: 100% !important;
  margin: 0 !important;
}

/* Short, consistent labels even when article.js has not transformed the post. */
body.sla-core-review .sla-pick-card > .sla-mini-label {
  min-height: 27px !important;
  padding: 5px 9px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(1) .sla-mini-label::after,
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(2) .sla-mini-label::after,
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(3) .sla-mini-label::after {
  color: inherit;
  font-size: .62rem !important;
  font-weight: 850 !important;
  letter-spacing: .075em !important;
  line-height: 1 !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(1) .sla-mini-label::after {
  content: "BEST OVERALL";
}
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(2) .sla-mini-label::after {
  content: "BEST SMART";
}
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(3) .sla-mini-label::after {
  content: "BEST BALANCED";
}

/* Keep the primary star compact and aligned with the fallback label. */
body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-mini-label::before {
  flex: 0 0 auto;
  margin-right: 5px !important;
}

/* Better scan rhythm if JS has not split the original specification sentence. */
body.sla-core-review .sla-pick-card h3 + p:not(.sla-pick-specs) {
  margin: 0 0 14px !important;
  padding: 10px 0 12px !important;
  border-top: 1px solid #edf1f6 !important;
  border-bottom: 1px solid #edf1f6 !important;
  color: #52637a !important;
  font-size: .78rem !important;
  line-height: 1.5 !important;
}

body.sla-core-review .sla-pick-card h3 {
  margin-top: 1px !important;
  margin-bottom: 11px !important;
  min-height: 2.55em;
  color: #172033 !important;
  font-size: 1.06rem !important;
  line-height: 1.22 !important;
}

body.sla-core-review .sla-pick-card .sla-pick-fit,
body.sla-core-review .sla-pick-card h3 + p + p {
  min-height: 118px;
  padding: 11px 12px !important;
  border-color: #e1e9f3 !important;
  background: #f9fbfe !important;
}

body.sla-core-review .sla-pick-card .wp-block-buttons {
  padding-top: 13px !important;
}

body.sla-core-review .sla-pick-card .wp-block-button__link,
body.sla-core-review .sla-pick-card .wp-element-button {
  min-height: 45px !important;
  border: 1px solid #e18e00 !important;
  font-size: .80rem !important;
  font-weight: 850 !important;
  letter-spacing: -.005em !important;
}

@media (max-width: 820px) {
  body.sla-core-review .sla-pick-card h3,
  body.sla-core-review .sla-pick-card .sla-pick-fit,
  body.sla-core-review .sla-pick-card h3 + p + p {
    min-height: 0 !important;
  }
}

@media (max-width: 600px) {
  body.sla-core-review .entry-content .sla-quick-answer,
  body.sla-core-review .entry-content .sla-quick-answer.is-layout-constrained {
    padding: 20px 15px 18px !important;
  }

  body.sla-core-review .entry-content .sla-quick-answer > h2 {
    font-size: 1.6rem !important;
  }
}


/* =========================================================
   v2.8 — Gutenberg inner-container compatibility
   Some WordPress/Astra installs render Group blocks as:
   .sla-quick-answer > .wp-block-group__inner-container > ...
   Earlier CRO selectors expected direct children. These rules support both
   render shapes and remove the remaining spacing / enhancement mismatch.
   ========================================================= */

/* Quick Answer can be direct-content OR wrapped by Gutenberg. */
body.sla-core-review .entry-content .sla-quick-answer,
body.sla-core-review .entry-content .sla-quick-answer.is-layout-constrained {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 26px 26px !important;
}

body.sla-core-review .entry-content .sla-quick-answer > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 0 !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sla-core-review .entry-content .sla-quick-answer > .wp-block-group__inner-container > *,
body.sla-core-review .entry-content .sla-quick-answer > *:not(.wp-block-group__inner-container) {
  min-height: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Header rhythm — works with and without Gutenberg's inner wrapper. */
body.sla-core-review .entry-content .sla-quick-answer .sla-eyebrow {
  width: fit-content !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

body.sla-core-review .entry-content .sla-quick-answer h2.wp-block-heading {
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-size: clamp(1.65rem, 2.55vw, 1.95rem) !important;
  line-height: 1.12 !important;
}

body.sla-core-review .entry-content .sla-quick-answer h2.wp-block-heading::after {
  display: block !important;
  width: 38px !important;
  height: 3px !important;
  margin-top: 11px !important;
  border-radius: 999px !important;
  background: #c6daf7 !important;
  content: "" !important;
}

body.sla-core-review .entry-content .sla-quick-answer .sla-picks-intro {
  max-width: 680px !important;
  margin: -4px 0 18px !important;
}

body.sla-core-review .entry-content .sla-quick-answer .sla-pick-grid {
  width: 100% !important;
  margin: 0 !important;
}

/* Old Gutenberg can wrap each pick card in another inner container. Make that
   wrapper the actual vertical card layout so retailer CTAs remain aligned. */
body.sla-core-review .sla-pick-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Recommendation labels — both DOM shapes. */
body.sla-core-review .sla-pick-card > .sla-mini-label,
body.sla-core-review .sla-pick-card > .wp-block-group__inner-container > .sla-mini-label {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 27px !important;
  margin: 0 0 13px !important;
  padding: 5px 9px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(1) .sla-mini-label::after,
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(2) .sla-mini-label::after,
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(3) .sla-mini-label::after {
  color: inherit !important;
  font-size: .62rem !important;
  font-weight: 850 !important;
  letter-spacing: .075em !important;
  line-height: 1 !important;
}

body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(1) .sla-mini-label::after { content: "BEST OVERALL" !important; }
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(2) .sla-mini-label::after { content: "BEST SMART" !important; }
body.sla-core-review .sla-pick-grid > .wp-block-column:nth-child(3) .sla-mini-label::after { content: "BEST BALANCED" !important; }

/* Preserve primary star when the original text is visually replaced. */
body.sla-core-review .sla-pick-grid > .wp-block-column:first-child .sla-mini-label::before {
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin-right: 5px !important;
  color: #2166d1 !important;
  content: "★" !important;
  font-size: .72rem !important;
  line-height: 1 !important;
}

/* If JS inserts these elements inside the legacy wrapper, keep them polished. */
body.sla-core-review .sla-pick-card .sla-pick-review-link {
  margin-top: 12px !important;
}

body.sla-core-review .sla-pick-card > .wp-block-group__inner-container > .wp-block-buttons {
  width: 100% !important;
  margin: auto 0 0 !important;
  padding-top: 14px !important;
}

body.sla-core-review .sla-picks-more {
  width: 100% !important;
}

@media (max-width: 600px) {
  body.sla-core-review .entry-content .sla-quick-answer,
  body.sla-core-review .entry-content .sla-quick-answer.is-layout-constrained {
    padding: 20px 15px 18px !important;
  }

  body.sla-core-review .entry-content .sla-quick-answer h2.wp-block-heading {
    font-size: 1.6rem !important;
  }
}
