
:root{
  --lv-navy:#10233d;
  --lv-blue:#1677b8;
  --lv-cyan:#1fa3e0;
  --lv-text:#3e4a59;
  --lv-border:#d9e2ec;
  --lv-soft:#f7fafc;
  --lv-white:#ffffff;
}

/* GLOBAL */
.lv-home-page .entry-header,
.lv-hub-page .entry-header{
  display:none !important;
}

.lv-home-page .site-content .ast-container,
.lv-hub-page .site-content .ast-container{
  max-width:100% !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.lv-home-page .site-main,
.lv-hub-page .site-main,
.lv-home-page article.page,
.lv-hub-page article.page,
.lv-home-page .entry-content,
.lv-hub-page .entry-content{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* HOMEPAGE */
.lv-section{padding:70px 24px;}
.lv-section-tight{padding:50px 24px;}
.lv-section-alt{background:var(--lv-soft);}

.lv-home-page .lv-hero{
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  box-sizing:border-box;
  background:var(--lv-soft);
  border-bottom:1px solid #edf2f7;
  padding:70px 24px 66px;
}

.lv-hero-content{
  max-width:1120px;
  margin:0 auto;
}

.lv-hero-main{
  max-width:840px;
}

.lv-hero-title{
  margin:0 0 18px;
  color:var(--lv-navy);
  font-size:48px;
  line-height:1.12;
  letter-spacing:-0.025em;
}

.lv-hero-copy{
  margin:0 0 28px;
  max-width:720px;
  color:var(--lv-text);
  font-size:20px;
  line-height:1.55;
}

.lv-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.lv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:7px;
  font-weight:700;
  text-decoration:none !important;
}

.lv-btn-primary{
  background:var(--lv-cyan);
  border:1px solid var(--lv-cyan);
  color:#fff !important;
}

.lv-btn-secondary{
  background:#fff;
  border:1px solid #6c4cff;
  color:var(--lv-blue) !important;
}

.lv-btn-primary:hover{
  background:#178fc7;
  color:#fff !important;
}

.lv-btn-secondary:hover{
  border-color:var(--lv-cyan);
  color:var(--lv-blue) !important;
}

.lv-section-title{
  margin-bottom:34px !important;
  color:var(--lv-navy);
  letter-spacing:-0.01em;
}

/* CARDS */
.lv-card-grid{
  gap:22px !important;
}

.lv-card-link{
  display:block;
  height:100%;
  text-decoration:none !important;
  color:inherit !important;
}

.lv-card{
  box-sizing:border-box;
  height:100%;
  min-height:176px;
  padding:28px 26px;
  border:1px solid var(--lv-border);
  border-radius:14px;
  background:var(--lv-white);
  box-shadow:0 5px 18px rgba(16,35,61,.045);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.lv-card-link:hover .lv-card{
  transform:translateY(-3px);
  border-color:var(--lv-cyan);
  box-shadow:0 12px 26px rgba(16,35,61,.09);
}

.lv-card h3{
  margin-top:0;
  margin-bottom:12px;
  color:var(--lv-navy);
  font-size:22px;
}

.lv-card p{
  margin-bottom:0;
  color:var(--lv-text);
  line-height:1.65;
}

/* FEATURED / COMPARISONS */
.lv-link-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.lv-link-card{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  min-height:64px;
  padding:18px 20px;
  border:1px solid var(--lv-border);
  border-radius:12px;
  background:#fff;
  color:var(--lv-navy) !important;
  font-weight:700;
  text-decoration:none !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease;
}

.lv-link-card:hover{
  transform:translateY(-2px);
  border-color:var(--lv-cyan);
  box-shadow:0 8px 20px rgba(16,35,61,.08);
  color:var(--lv-blue) !important;
}

.lv-link-card-disabled{
  cursor:default;
  justify-content:space-between;
  gap:14px;
  color:#64748b !important;
  background:#f8fafc;
  box-shadow:none;
}

.lv-link-card-disabled:hover{
  transform:none;
  border-color:var(--lv-border);
  box-shadow:none;
  color:#64748b !important;
}

.lv-coming-soon{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  background:#eaf3fb;
  color:#315f86;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
}

/* PILLS */
.lv-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
}

.lv-pill{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 17px;
  border:1px solid var(--lv-border);
  border-radius:999px;
  background:var(--lv-white);
  color:var(--lv-navy) !important;
  font-weight:700;
  text-decoration:none !important;
  transition:border-color .18s ease,color .18s ease,transform .18s ease;
}

.lv-pill:hover{
  border-color:var(--lv-cyan);
  color:var(--lv-blue) !important;
  transform:translateY(-1px);
}

/* TRUST / DISCLOSURE */
.lv-trust-wrap{
  padding-top:62px;
  padding-bottom:50px;
}

.lv-trust-box{
  max-width:900px;
  margin:0 auto;
  padding:34px 40px;
  border:1px solid var(--lv-border);
  border-radius:14px;
  background:var(--lv-white);
  box-shadow:0 8px 24px rgba(16,35,61,.05);
  text-align:center;
}

.lv-trust-box p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.lv-disclosure-strip{
  background:#fff;
  border-top:1px solid #edf2f7;
  border-bottom:1px solid #edf2f7;
}

.lv-disclosure{
  max-width:900px;
  margin:0 auto;
  padding:11px 20px 12px;
  color:#657586;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

/* HUB PAGES */
.lv-hub-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.lv-hub-hero{
  width:100%;
  background:var(--lv-soft);
  padding:56px 24px 52px;
  border-bottom:1px solid #edf2f7;
}

.lv-hub-section{
  width:100%;
  padding:54px 24px;
}

.lv-hub-section-alt{
  background:var(--lv-soft);
}

.lv-hub-inner{
  box-sizing:border-box;
  width:100%;
  max-width:1040px;
  margin:0 auto;
}

.lv-hub-hero h1{
  margin:0 0 16px;
  color:var(--lv-navy);
  font-size:38px;
  line-height:1.18;
}

.lv-hub-hero p{
  max-width:820px;
  margin:0;
  color:var(--lv-text);
  font-size:18px;
  line-height:1.65;
}

.lv-hub-section h2{
  margin:0 0 28px;
  color:var(--lv-navy);
}

.lv-hub-copy{
  max-width:860px;
  color:var(--lv-text);
}

.lv-hub-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.lv-hub-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:6px;
  font-weight:700;
  text-decoration:none !important;
}

.lv-hub-btn-primary{
  background:#6c2cf3;
  color:#fff !important;
}

.lv-hub-btn-secondary{
  background:#fff;
  color:var(--lv-blue) !important;
  border:1px solid #6c2cf3;
}

.lv-hub-page .lv-card-grid.wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  margin:0 !important;
}

.lv-hub-page .lv-card-grid > .wp-block-column{
  margin:0 !important;
  min-width:0 !important;
}

/* ARTICLE */
.single-post .entry-content{
  line-height:1.7;
}

.lv-article-lead{
  padding:24px 28px;
  margin:22px 0 30px;
  border:1px solid var(--lv-border);
  border-radius:12px;
  background:var(--lv-soft);
}

.lv-divider{
  width:84px;
  height:1px;
  background:#8a8a8a;
  margin:34px auto;
}

.lv-quick-table{
  width:100%;
  overflow-x:visible;
  margin:22px 0 34px;
  border:1px solid var(--lv-border);
  border-radius:10px;
  background:#fff;
}

.lv-quick-table table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  margin:0 !important;
}

.lv-quick-table thead th{
  background:var(--lv-soft) !important;
  color:var(--lv-navy);
  font-weight:700;
  text-align:left;
}

.lv-quick-table th,
.lv-quick-table td{
  padding:13px 14px !important;
  border:1px solid var(--lv-border) !important;
  vertical-align:top;
  line-height:1.5;
}

.lv-quick-table tbody tr:nth-child(even){
  background:#fbfdff;
}

.lv-quick-table a{
  font-weight:700;
}

.lv-quick-table th,
.lv-quick-table td{
  overflow-wrap:anywhere;
  word-break:normal;
}

.lv-product-picks .lv-buy-link{
  display:inline-block;
  line-height:1.35;
}

.lv-product-picks .lv-buy-direct{
  color:var(--lv-navy);
}

.lv-product-picks .lv-buy-amazon{
  color:#136fce;
}

.lv-product-picks .lv-buy-unavailable{
  color:#778392;
}

@media (max-width:700px){
  .lv-product-picks{
    border:0;
    border-radius:0;
    background:transparent;
  }

  .lv-product-picks table,
  .lv-product-picks tbody,
  .lv-product-picks tr,
  .lv-product-picks td{
    display:block;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box;
  }

  .lv-product-picks colgroup{
    display:none;
  }

  .lv-product-picks thead{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }

  .lv-product-picks tbody tr{
    margin:0 0 16px;
    border:1px solid var(--lv-border);
    border-radius:10px;
    overflow:hidden;
    background:#fff;
  }

  .lv-product-picks tbody tr:nth-child(even){
    background:#fbfdff;
  }

  .lv-product-picks td{
    border:0 !important;
    border-bottom:1px solid var(--lv-border) !important;
    padding:11px 13px !important;
  }

  .lv-product-picks td:last-child{
    border-bottom:0 !important;
  }

  .lv-product-picks td::before{
    content:attr(data-label);
    display:block;
    margin:0 0 4px;
    color:var(--lv-navy);
    font-size:.78em;
    font-weight:800;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
}

.single-post .wp-block-table table{
  border-collapse:collapse !important;
}

.single-post .wp-block-table th,
.single-post .wp-block-table td{
  border:1px solid var(--lv-border) !important;
  padding:11px 12px !important;
}

.single-post .wp-block-table th{
  background:var(--lv-soft) !important;
  color:var(--lv-navy);
}

.lv-product-summary{
  padding:20px 22px;
  margin:18px 0 24px;
  border:1px solid var(--lv-border);
  border-radius:10px;
  background:#fff;
}

.lv-pros-cons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:18px 0;
}

.lv-pros-cons>div{
  padding:18px 20px;
  border:1px solid var(--lv-border);
  border-radius:10px;
  background:var(--lv-soft);
}

.lv-final-verdict{
  padding:22px 24px;
  border-left:4px solid var(--lv-cyan);
  background:var(--lv-soft);
  margin:22px 0;
}

.lv-affiliate-note{
  font-size:14px;
  color:#657586;
}

/* RESPONSIVE */
@media (max-width:921px){
  .lv-section{padding:58px 20px;}
  .lv-section-tight{padding:44px 20px;}
  .lv-home-page .lv-hero{padding:60px 20px 56px;}
  .lv-hero-title{font-size:42px;}

  .lv-hub-hero{padding:48px 20px 44px;}
  .lv-hub-section{padding:48px 20px;}
}

@media (max-width:781px){
  .lv-home-page .lv-hero{padding:50px 18px 48px;}
  .lv-hero-title{font-size:35px;line-height:1.15;}
  .lv-hero-copy{font-size:18px;}
  .lv-hero-actions{flex-direction:column;}
  .lv-btn{width:100%;}

  .lv-link-grid,
  .lv-pros-cons{
    grid-template-columns:1fr;
  }

  .lv-card{min-height:auto;}
  .lv-trust-box{padding:28px 22px;}

  .lv-hub-hero{padding:42px 18px 38px;}
  .lv-hub-section{padding:42px 18px;}
  .lv-hub-hero h1{font-size:32px;}

  .lv-hub-page .lv-card-grid.wp-block-columns{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   v1.1.6 SAFE FIX
   1) Consistent hub-page axis regardless of HTML wrapper shape
   2) Featured images keep full 1200x720 composition (no crop)
   ========================================================= */

/* Make hub background sections span full width. */
.lv-hub-page .lv-hub-hero,
.lv-hub-page .lv-hub-section{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/*
 * Some sections contain .lv-hub-inner, some contain content directly.
 * Both variants now use the SAME 1040px axis.
 */
.lv-hub-page .lv-hub-hero > .lv-hub-inner,
.lv-hub-page .lv-hub-section > .lv-hub-inner{
  width:calc(100% - 48px) !important;
  max-width:1040px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Direct-content sections: align every major child to the same 1040px axis. */
.lv-hub-page .lv-hub-hero > h1,
.lv-hub-page .lv-hub-hero > h2,
.lv-hub-page .lv-hub-hero > p,
.lv-hub-page .lv-hub-hero > .wp-block-columns,
.lv-hub-page .lv-hub-hero > .lv-card-grid,
.lv-hub-page .lv-hub-hero > .lv-link-grid,
.lv-hub-page .lv-hub-hero > .lv-hub-actions,
.lv-hub-page .lv-hub-section > h1,
.lv-hub-page .lv-hub-section > h2,
.lv-hub-page .lv-hub-section > p,
.lv-hub-page .lv-hub-section > .wp-block-columns,
.lv-hub-page .lv-hub-section > .lv-card-grid,
.lv-hub-page .lv-hub-section > .lv-link-grid,
.lv-hub-page .lv-hub-section > .lv-hub-actions{
  width:calc(100% - 48px) !important;
  max-width:1040px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Preserve intended vertical spacing when margins are normalized. */
.lv-hub-page .lv-hub-section > h2,
.lv-hub-page .lv-hub-inner > h2{
  margin-bottom:28px !important;
}

/*
 * FEATURED IMAGE / ARCHIVE CARD
 * Never crop or zoom LaserVerdict featured art.
 */
.ast-article-post .post-thumb,
.ast-article-post .ast-blog-featured-section,
.archive .post-thumb,
.blog .post-thumb{
  margin-left:0 !important;
  margin-right:0 !important;
  margin-top:0 !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  padding:0 !important;
}

.ast-article-post .post-thumb img,
.ast-article-post .ast-blog-featured-section img,
.archive .post-thumb img,
.blog .post-thumb img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}

/* Never let a theme-imposed fixed thumbnail height crop the image. */
.ast-article-post .post-thumb a,
.ast-article-post .ast-blog-featured-section a{
  display:block !important;
  width:100% !important;
  height:auto !important;
  overflow:visible !important;
}

@media (max-width:781px){
  .lv-hub-page .lv-hub-hero > .lv-hub-inner,
  .lv-hub-page .lv-hub-section > .lv-hub-inner,
  .lv-hub-page .lv-hub-hero > h1,
  .lv-hub-page .lv-hub-hero > h2,
  .lv-hub-page .lv-hub-hero > p,
  .lv-hub-page .lv-hub-hero > .wp-block-columns,
  .lv-hub-page .lv-hub-hero > .lv-card-grid,
  .lv-hub-page .lv-hub-hero > .lv-link-grid,
  .lv-hub-page .lv-hub-hero > .lv-hub-actions,
  .lv-hub-page .lv-hub-section > h1,
  .lv-hub-page .lv-hub-section > h2,
  .lv-hub-page .lv-hub-section > p,
  .lv-hub-page .lv-hub-section > .wp-block-columns,
  .lv-hub-page .lv-hub-section > .lv-card-grid,
  .lv-hub-page .lv-hub-section > .lv-link-grid,
  .lv-hub-page .lv-hub-section > .lv-hub-actions{
    width:calc(100% - 32px) !important;
  }
}


/* =========================================================
   LaserVerdict 1.1.8 — Hide visible post dates
   ---------------------------------------------------------
   Visual only: publication metadata/schema remain untouched.
   This intentionally hides the post meta row on article cards
   and single-post headers so no date/separator remains visible.
   ========================================================= */

/* Astra post/archive cards */
body.blog article.post .entry-meta,
body.archive article.post .entry-meta,
body.category article.post .entry-meta,
body.search article.post .entry-meta,
.ast-row article.post .entry-meta,
.ast-blog-layout-4-grid .entry-meta,
.ast-article-post .entry-meta {
    display: none !important;
}

/* Single article header/meta */
body.single-post article.post .entry-header .entry-meta,
body.single-post .ast-single-post .entry-meta,
body.single-post .entry-meta {
    display: none !important;
}

/* Defensive Astra date-only selectors in case template markup changes */
body.blog .posted-on,
body.archive .posted-on,
body.category .posted-on,
body.single-post .posted-on,
.ast-article-post .posted-on,
.ast-single-post .posted-on {
    display: none !important;
}


/* =========================================================
   LaserVerdict 1.1.9 — Contact page
   ========================================================= */
body.page-contact .entry-title,
body.page-id-0 .entry-title { display:none; }

.lv-contact-page{
    max-width:1040px;
    margin:0 auto;
    padding:42px 22px 54px;
    color:#10264a;
}
.lv-contact-kicker{
    display:inline-flex;
    padding:7px 11px;
    border-radius:999px;
    background:#eef6ff;
    color:#1769df;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:14px;
}
.lv-contact-page h1{
    font-size:42px;
    line-height:1.08;
    margin:0 0 12px;
    color:#0b2a55;
    letter-spacing:-.025em;
}
.lv-contact-lead{
    max-width:760px;
    font-size:17px;
    line-height:1.7;
    color:#53657d;
    margin:0 0 30px;
}
.lv-contact-grid{
    display:grid;
    grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);
    gap:22px;
    align-items:start;
}
.lv-contact-card{
    background:#fff;
    border:1px solid #dbe7f4;
    border-radius:14px;
    padding:26px;
    box-shadow:0 8px 26px rgba(16,48,89,.055);
}
.lv-contact-card h2{
    font-size:25px;
    line-height:1.2;
    margin:4px 0 8px;
    color:#0b2a55;
}
.lv-contact-card p{
    color:#607087;
    line-height:1.65;
    margin:0 0 18px;
}
.lv-mini-label{
    display:inline-block;
    color:#1769df;
    background:#eef6ff;
    border-radius:999px;
    padding:6px 9px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.lv-contact-dark{
    background:#0c3966;
    border-color:#0c3966;
    color:#fff;
}
.lv-contact-dark h2,
.lv-contact-dark h3{color:#fff}
.lv-contact-dark p{color:#cfe2f6}
.lv-contact-list{list-style:none;padding:0;margin:18px 0 0}
.lv-contact-list li{
    display:grid;
    grid-template-columns:30px 1fr;
    gap:10px;
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,.17);
}
.lv-contact-num{
    font-size:11px;
    font-weight:800;
    color:#73b7ff;
    padding-top:3px;
}
.lv-contact-list strong{
    display:block;
    color:#fff;
    font-size:14px;
    margin-bottom:3px;
}
.lv-contact-list span{
    display:block;
    color:#cfe2f6;
    font-size:13px;
    line-height:1.45;
}
.lv-contact-direct{margin-top:22px}
.lv-contact-direct a{
    color:#1769df;
    font-weight:800;
    text-decoration:none;
}
.lv-contact-direct a:hover{text-decoration:underline}
.lv-trust-card{
    margin-top:24px;
    background:#f4f8fd;
    border:1px solid #d7e5f3;
    border-radius:14px;
    padding:24px 26px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    align-items:center;
}
.lv-trust-card h2{
    font-size:23px;
    margin:6px 0 7px;
    color:#0b2a55;
}
.lv-trust-card p{
    margin:0;
    color:#607087;
    line-height:1.65;
}
.lv-trust-link{
    font-size:13px;
    font-weight:800;
    color:#1769df;
    text-decoration:none;
    white-space:nowrap;
}
.lv-trust-link:hover{text-decoration:underline}

/* WPForms */
.lv-contact-form .wpforms-container{margin:12px 0 0!important}
.lv-contact-form .wpforms-field{padding:8px 0!important}
.lv-contact-form .wpforms-field-label{
    font-size:13px!important;
    font-weight:800!important;
    color:#17385f!important;
    margin-bottom:7px!important;
}
.lv-contact-form input[type=text],
.lv-contact-form input[type=email],
.lv-contact-form textarea,
.lv-contact-form select{
    width:100%!important;
    max-width:none!important;
    border:1px solid #cbd9e8!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#17304f!important;
    padding:11px 12px!important;
    box-shadow:none!important;
}
.lv-contact-form textarea{min-height:150px!important}
.lv-contact-form .wpforms-submit-container{padding-top:10px!important}
.lv-contact-form button[type=submit]{
    width:100%!important;
    background:#1674df!important;
    color:#fff!important;
    border:0!important;
    border-radius:8px!important;
    padding:13px 18px!important;
    font-size:14px!important;
    font-weight:800!important;
    box-shadow:0 6px 15px rgba(23,105,223,.16)!important;
}
.lv-contact-form button[type=submit]:hover{background:#0e60c2!important}
.lv-contact-form .wpforms-confirmation-container-full{
    background:#eef7ff!important;
    border:1px solid #bfdbf5!important;
    color:#17385f!important;
    border-radius:8px!important;
}

@media(max-width:780px){
    .lv-contact-page{padding:28px 18px 42px}
    .lv-contact-page h1{font-size:34px}
    .lv-contact-grid{grid-template-columns:1fr}
    .lv-trust-card{grid-template-columns:1fr}
    .lv-trust-link{white-space:normal}
}


/* LaserVerdict 1.1.10 — Contact page title cleanup */
body:has(.lv-contact-page) .entry-header .entry-title,
body:has(.lv-contact-page) .entry-title {
    display:none !important;
}


/* Contact page manual-form placeholder */
body:not(.wp-admin) .lv-form-placeholder { display:none !important; }
.editor-styles-wrapper .lv-form-placeholder {
    display:block !important;
    padding:16px !important;
    border:2px dashed #1674df !important;
    background:#eef6ff !important;
    color:#0b2a55 !important;
    text-align:center !important;
    font-weight:800 !important;
}


/* =========================================================
   LaserVerdict 1.1.17 — ARCHIVE CARD HEIGHT FIX
   Minimal frontend-only patch.
   Prevents Astra category/archive grid items from inheriting
   or stretching to an excessive row/card height.
   Featured images keep their full uncropped composition.
   ========================================================= */

/* Let archive/grid rows size themselves from their real content. */
body.blog .ast-row,
body.archive .ast-row,
body.category .ast-row,
body.search .ast-row{
  align-items:start !important;
  grid-auto-rows:auto !important;
}

/* Archive article cards must never be forced to a tall fixed/minimum height. */
body.blog article.ast-article-post,
body.archive article.ast-article-post,
body.category article.ast-article-post,
body.search article.ast-article-post{
  height:auto !important;
  min-height:0 !important;
  align-self:start !important;
}

/* Reset Astra's immediate card wrapper/content areas without touching single posts. */
body.blog article.ast-article-post > div,
body.archive article.ast-article-post > div,
body.category article.ast-article-post > div,
body.search article.ast-article-post > div,
body.blog article.ast-article-post .post-content,
body.archive article.ast-article-post .post-content,
body.category article.ast-article-post .post-content,
body.search article.ast-article-post .post-content{
  height:auto !important;
  min-height:0 !important;
}

/* Keep featured image wrappers compact and content-sized. */
body.blog article.ast-article-post .ast-blog-featured-section,
body.archive article.ast-article-post .ast-blog-featured-section,
body.category article.ast-article-post .ast-blog-featured-section,
body.search article.ast-article-post .ast-blog-featured-section,
body.blog article.ast-article-post .post-thumb,
body.archive article.ast-article-post .post-thumb,
body.category article.ast-article-post .post-thumb,
body.search article.ast-article-post .post-thumb{
  height:auto !important;
  min-height:0 !important;
  flex:0 0 auto !important;
}

/* Keep the artwork itself proportional; never crop/zoom it. */
body.blog article.ast-article-post .post-thumb img,
body.archive article.ast-article-post .post-thumb img,
body.category article.ast-article-post .post-thumb img,
body.search article.ast-article-post .post-thumb img,
body.blog article.ast-article-post .ast-blog-featured-section img,
body.archive article.ast-article-post .ast-blog-featured-section img,
body.category article.ast-article-post .ast-blog-featured-section img,
body.search article.ast-article-post .ast-blog-featured-section img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}


/* =========================================================
   LaserVerdict 1.1.18 — ARCHIVE THUMB WRAPPER FIX
   The previous reset handled the article/card itself, but Astra's
   inner .post-thumb-img-content wrapper can still retain a stretched
   height. This patch normalizes the complete featured-image chain.
   ========================================================= */

body.blog #main .ast-row,
body.archive #main .ast-row,
body.category #main .ast-row,
body.search #main .ast-row{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-content:flex-start !important;
  align-items:flex-start !important;
}

/* The actual Astra card body/wrapper. */
body.blog article.ast-article-post .blog-layout-4,
body.archive article.ast-article-post .blog-layout-4,
body.category article.ast-article-post .blog-layout-4,
body.search article.ast-article-post .blog-layout-4,
body.blog article.ast-article-post .post-content,
body.archive article.ast-article-post .post-content,
body.category article.ast-article-post .post-content,
body.search article.ast-article-post .post-content{
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:none !important;
  flex-grow:0 !important;
  flex-shrink:1 !important;
  flex-basis:auto !important;
  justify-content:initial !important;
  align-items:initial !important;
}

/* Critical Astra featured-image wrapper that was not reset in 1.1.17. */
body.blog article.ast-article-post .post-thumb-img-content,
body.archive article.ast-article-post .post-thumb-img-content,
body.category article.ast-article-post .post-thumb-img-content,
body.search article.ast-article-post .post-thumb-img-content{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  overflow:visible !important;
  padding:0 !important;
  flex:none !important;
  flex-grow:0 !important;
  flex-basis:auto !important;
  align-items:initial !important;
  justify-content:initial !important;
}

/* Keep every element in the thumbnail chain content-sized. */
body.blog article.ast-article-post .post-thumb-img-content > a,
body.archive article.ast-article-post .post-thumb-img-content > a,
body.category article.ast-article-post .post-thumb-img-content > a,
body.search article.ast-article-post .post-thumb-img-content > a,
body.blog article.ast-article-post .post-thumb-img-content picture,
body.archive article.ast-article-post .post-thumb-img-content picture,
body.category article.ast-article-post .post-thumb-img-content picture,
body.search article.ast-article-post .post-thumb-img-content picture{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
}

/* The image itself keeps the original 1200x720 proportion. */
body.blog article.ast-article-post .post-thumb-img-content img,
body.archive article.ast-article-post .post-thumb-img-content img,
body.category article.ast-article-post .post-thumb-img-content img,
body.search article.ast-article-post .post-thumb-img-content img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
}


/* =========================================================
   LaserVerdict 1.1.19 — ARCHIVE INTRINSIC HEIGHT FIX
   Root cause confirmed in DevTools:
   affected archive featured image resolves to
   contain-intrinsic-height: 1500px.
   Neutralize the browser/theme placeholder sizing on the
   archive thumbnail chain and restore the locked 1200x720
   (5:3) featured-image ratio.
   ========================================================= */

body.blog article.ast-article-post .post-thumb-img-content,
body.archive article.ast-article-post .post-thumb-img-content,
body.category article.ast-article-post .post-thumb-img-content,
body.search article.ast-article-post .post-thumb-img-content,
body.blog article.ast-article-post .post-thumb-img-content > a,
body.archive article.ast-article-post .post-thumb-img-content > a,
body.category article.ast-article-post .post-thumb-img-content > a,
body.search article.ast-article-post .post-thumb-img-content > a,
body.blog article.ast-article-post .post-thumb-img-content picture,
body.archive article.ast-article-post .post-thumb-img-content picture,
body.category article.ast-article-post .post-thumb-img-content picture,
body.search article.ast-article-post .post-thumb-img-content picture,
body.blog article.ast-article-post .post-thumb-img-content img,
body.archive article.ast-article-post .post-thumb-img-content img,
body.category article.ast-article-post .post-thumb-img-content img,
body.search article.ast-article-post .post-thumb-img-content img{
  content-visibility:visible !important;
  contain:none !important;
  contain-intrinsic-size:none !important;
  contain-intrinsic-width:none !important;
  contain-intrinsic-height:none !important;
}

body.blog article.ast-article-post .post-thumb-img-content img,
body.archive article.ast-article-post .post-thumb-img-content img,
body.category article.ast-article-post .post-thumb-img-content img,
body.search article.ast-article-post .post-thumb-img-content img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:5 / 3 !important;
  object-fit:contain !important;
  object-position:center center !important;
}


/* =========================================================
   LaserVerdict 1.1.20 — ARTICLE COMPONENTS
   Global FAQ styling so article content never needs inline
   <style> blocks (WordPress REST sanitization can strip them).
   ========================================================= */
.single-post .lv-faq{margin:18px 0 26px}
.single-post .lv-faq h2{margin:0 0 18px}
.single-post .lv-faq-item{
  padding:0 0 16px;
  margin:0 0 16px;
  border-bottom:1px solid #e4eaf2;
}
.single-post .lv-faq-item:last-child{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
.single-post .lv-faq-item h3{
  margin:0 0 6px;
  font-size:1.12em;
  line-height:1.35;
}
.single-post .lv-faq-item p{
  margin:0;
  line-height:1.6;
}

/* =========================================================
   LaserVerdict 1.1.27 — ONE LOCKED ARTICLE SEPARATOR STANDARD
   Frontend / Preview source of truth.
   Canonical markup: <hr class="lv-divider" aria-hidden="true">
   Legacy DIV markup is rendered identically.
   ========================================================= */
body.single-post .entry-content hr,
body.single-post .entry-content hr.lv-divider{
  appearance:none !important;
  display:block !important;
  float:none !important;
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:34px auto !important;
  padding:0 !important;
  border:0 !important;
  border-top:1px solid #aebdcd !important;
  background:transparent !important;
  opacity:1 !important;
  clear:both !important;
  box-sizing:border-box !important;
}

body.single-post .entry-content div.lv-divider{
  display:block !important;
  float:none !important;
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:1px !important;
  min-height:1px !important;
  max-height:1px !important;
  margin:34px auto !important;
  padding:0 !important;
  border:0 !important;
  background:#aebdcd !important;
  clear:both !important;
  box-sizing:border-box !important;
}
.lv-amazon-option {
  display: inline;
  font-size: 0.92em;
}

.lv-amazon-disclosure {
  margin: 0.9rem 0 1.25rem;
  color: #526070;
  font-size: 0.88em;
}
.lv-affiliate-disclosure {
  margin: 12px 0 14px;
  color: #566273;
  font-size: 0.82rem;
  line-height: 1.45;
}
