/* All content styling is scoped to this plugin. GeneratePress owns the site shell. */
body.ve-ai-single .inside-article > .entry-header,
body.ve-ai-single .inside-article > .featured-image,
body.ve-ai-single .page-header-image-single,
body.ve-ai-single .inside-article > footer.entry-meta { display: none; }
.ve-content { --ve-green:#187a29; --ve-dark:#073f17; --ve-ink:#101c30; --ve-muted:#606877; --ve-line:#e7e9eb; color:var(--ve-ink); font-family:inherit; font-size:16px; line-height:1.65; width:100%; max-width:1240px; margin:0 auto; }
.ve-content *, .ve-content *::before, .ve-content *::after { box-sizing:border-box; }
.ve-content a { color:var(--ve-dark); text-underline-offset:3px; }
.ve-content a:focus-visible, .ve-content summary:focus-visible, .ve-content [tabindex]:focus-visible { outline:3px solid #3a9250; outline-offset:4px; }
.ve-content h1, .ve-content h2, .ve-content h3 { color:var(--ve-ink); font-weight:750; line-height:1.2; letter-spacing:-.025em; margin:0 0 14px; }
.ve-content h1 { font-size:clamp(30px,3.7vw,46px); }
.ve-content h2 { font-size:clamp(23px,2.5vw,30px); margin-top:30px; }
.ve-content h3 { font-size:20px; margin-top:22px; }
.ve-content p { margin:0 0 16px; }
.ve-content img { max-width:100%; height:auto; border-radius:8px; }
.ve-content .ve-breadcrumb { display:flex; gap:8px; align-items:baseline; flex-wrap:wrap; font-size:13px; color:var(--ve-muted); margin:0 0 30px; }
.ve-content .ve-breadcrumb a { text-decoration:none; color:inherit; }
.ve-content .ve-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:30px; margin-bottom:30px; }
.ve-content .ve-hero:has(> .ve-hero-copy:only-child) { grid-template-columns:1fr; }
.ve-content .ve-eyebrow { color:var(--ve-green); font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; display:block; margin-bottom:12px; }
.ve-content .ve-intro { color:var(--ve-muted); font-size:clamp(17px,1.6vw,20px); line-height:1.6; }
.ve-content .ve-hero-image img { display:block; width:100%; aspect-ratio:1.6; object-fit:cover; }
.ve-content .ve-byline { display:flex; flex-wrap:wrap; gap:10px 22px; color:var(--ve-muted); font-size:12px; margin-top:22px; }
.ve-content .ve-layout { display:grid; grid-template-columns:minmax(0,2.15fr) minmax(260px,1fr); gap:28px; align-items:start; }
.ve-content .ve-main, .ve-content .ve-sidebar { min-width:0; }
.ve-content .ve-sidebar { display:grid; gap:20px; }
.ve-content .ve-panel { background:#f7f7f7; padding:22px; border-radius:10px; margin:0 0 22px; }
.ve-content .ve-sidebar .ve-panel { margin:0; }
.ve-content .ve-panel h2 { font-size:20px; margin-top:0; }
.ve-content .ve-panel h3 { font-size:15px; }
.ve-content .ve-panel p:last-child { margin-bottom:0; }
.ve-content .ve-green { background:linear-gradient(115deg,#f1f7f0,#f5f9f3); }
.ve-content .ve-green > h2 { color:var(--ve-dark); }
.ve-content .ve-red { background:#fcf2f3; }
.ve-content .ve-checklist { list-style:none; padding:0; margin:0; }
.ve-content .ve-checklist li { position:relative; padding-left:28px; margin:8px 0; }
.ve-content .ve-checklist li::before { content:'✓'; position:absolute; left:0; top:3px; background:#388b3b; color:white; border-radius:50%; width:18px; height:18px; text-align:center; font-size:12px; line-height:18px; }
.ve-content .ve-red .ve-checklist li::before { content:'−'; background:#ce3440; }
.ve-content .ve-prose { color:#4f5665; }
.ve-content .ve-prose :is(h2,h3) { scroll-margin-top:30px; }
.ve-content .ve-prose ul, .ve-content .ve-prose ol { margin:0 0 20px 24px; }
.ve-content .ve-prose li { margin-bottom:6px; }
.ve-content .ve-author { display:flex; gap:16px; align-items:flex-start; }
.ve-content .ve-author img { width:68px; height:68px; border-radius:50%; }
.ve-content .ve-author span { font-size:12px; color:var(--ve-muted); }
.ve-content .ve-author h2 { font-size:16px; margin:0 0 5px; }
.ve-content .ve-author p, .ve-content .ve-author a { font-size:13px; margin:0 0 8px; }
.ve-content .ve-toc ol { counter-reset:ve-section; padding:0; margin:0; list-style:none; }
.ve-content .ve-toc li { counter-increment:ve-section; display:flex; gap:10px; margin:9px 0; font-size:14px; }
.ve-content .ve-toc li::before { content:counter(ve-section); flex-shrink:0; border-radius:50%; background:#eaecee; width:21px; height:21px; text-align:center; font-size:12px; }
.ve-content .ve-toc a { color:var(--ve-ink); text-decoration:none; }
.ve-content .ve-sources ul { list-style:none; padding:0; margin:0; }
.ve-content .ve-sources li { margin:10px 0; font-size:14px; overflow-wrap:anywhere; }
.ve-content small { display:block; color:var(--ve-muted); font-size:11px; }
.ve-content .ve-button { display:block; text-align:center; padding:11px 13px; border:1px solid var(--ve-green); border-radius:6px; background:linear-gradient(#258d32,#116b22); color:white; font-size:14px; font-weight:650; text-decoration:none; line-height:1.4; }
.ve-content .ve-button:hover { filter:brightness(.94); }
.ve-content .ve-outline { background:white; color:var(--ve-dark); }
.ve-content .ve-overview { margin:20px 0; max-width:850px; }
.ve-content .ve-overview h2 { margin-top:0; }
.ve-content .ve-affiliate-note { font-size:12px; color:var(--ve-muted); margin:0 0 12px; }
.ve-content .ve-product-grid { display:grid; grid-template-columns:repeat(var(--ve-cards),minmax(0,1fr)); gap:12px; margin:0 0 28px; }
.ve-content .ve-product-card { border:1px solid var(--ve-line); border-radius:10px; padding:12px; position:relative; display:flex; flex-direction:column; background:white; box-shadow:0 3px 12px #10203007; }
.ve-content .ve-product-card.ve-first { border-color:#2d9b45; box-shadow:0 3px 12px #187a291a; }
.ve-content .ve-rank { position:absolute; top:12px; left:12px; background:#e9f4e8; color:var(--ve-dark); padding:5px 9px; border-radius:7px; font-weight:750; z-index:1; }
.ve-content .ve-first .ve-rank { background:var(--ve-green); color:white; }
.ve-content .ve-card-image { display:flex; align-items:center; justify-content:center; height:170px; padding:20px 5px 5px; }
.ve-content .ve-card-image img { object-fit:contain; max-height:150px; width:100%; }
.ve-content .ve-no-image { color:var(--ve-muted); font-size:12px; }
.ve-content .ve-product-card h3 { font-size:16px; margin:14px 0 10px; }
.ve-content .ve-product-card h3 a { color:var(--ve-ink); text-decoration:none; }
.ve-content .ve-product-card p, .ve-content .ve-product-card li { font-size:13px; line-height:1.5; }
.ve-content .ve-product-card .ve-checklist li { padding-left:21px; }
.ve-content .ve-product-card .ve-checklist li::before { width:14px; height:14px; font-size:10px; line-height:14px; }
.ve-content .ve-card-con { color:var(--ve-muted); margin-top:8px; }
.ve-content .ve-card-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin:12px 0; }
.ve-content .ve-card-specs div { background:#f7f7f7; border-radius:5px; text-align:center; padding:7px 3px; overflow-wrap:anywhere; }
.ve-content .ve-card-specs dt { font-size:10px; font-weight:400; color:var(--ve-muted); }
.ve-content .ve-card-specs dd { font-size:12px; font-weight:650; margin:0; }
.ve-content .ve-card-buttons { display:grid; gap:8px; margin-top:auto; padding-top:12px; }
.ve-content .ve-card-buttons .ve-button { font-size:12px; padding:9px 5px; }
.ve-content .ve-rank-reason { font-size:12px; margin-bottom:12px; }
.ve-content summary { cursor:pointer; font-weight:600; }
.ve-content .ve-table-scroll { overflow-x:auto; background:white; border-radius:7px; border:1px solid var(--ve-line); }
.ve-content .ve-table { border-collapse:collapse; width:100%; min-width:540px; margin:0; font-size:12px; }
.ve-content .ve-table th, .ve-content .ve-table td { padding:10px 9px; border:1px solid var(--ve-line); text-align:left; font-weight:400; vertical-align:top; }
.ve-content .ve-table thead th { font-weight:700; background:#fafbfc; }
.ve-content .ve-small { font-size:12px; color:var(--ve-muted); margin-top:14px; }
.ve-content .ve-pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ve-content .ve-purchase { display:flex; align-items:center; gap:20px; justify-content:space-between; }
.ve-content .ve-purchase h2 { font-size:18px; }
.ve-content .ve-purchase p { font-size:12px; color:var(--ve-muted); }
.ve-content .ve-purchase .ve-button { min-width:190px; }
.ve-content .ve-facts { border:1px solid var(--ve-line); border-radius:7px; overflow:hidden; margin:12px 0 16px; }
.ve-content .ve-facts > div { display:grid; grid-template-columns:1fr 1fr; background:#ffffffb3; }
.ve-content .ve-facts > div + div { border-top:1px solid var(--ve-line); }
.ve-content .ve-facts dt, .ve-content .ve-facts dd { margin:0; padding:8px 10px; font-size:13px; font-weight:400; overflow-wrap:anywhere; }
.ve-content .ve-facts dd { border-left:1px solid var(--ve-line); }
.ve-content .ve-icon { flex-shrink:0; vertical-align:middle; }
.ve-content :is(.ve-quick-info,.ve-price-panel) h2 { display:flex; gap:12px; align-items:center; }
.ve-content :is(.ve-quick-info,.ve-price-panel) h2 .ve-icon { color:var(--ve-dark); width:25px; height:25px; }
.ve-content .ve-icon-facts dt { display:flex; gap:10px; align-items:center; }
.ve-content .ve-icon-facts dt .ve-icon { width:17px; height:17px; color:#526079; }
.ve-content .ve-icon-facts > div { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.ve-content .ve-icon-facts :is(dt,dd) { font-size:12px; padding:9px 8px; }
.ve-content .ve-citation { color:var(--ve-dark); font-size:.75em; padding-left:2px; }
.ve-content .ve-sources ol { margin:0; padding-left:22px; }
.ve-content .ve-retailer-note { background:#f4f7f2; border-radius:8px; padding:16px; color:var(--ve-muted); font-size:13px; }
.ve-content .ve-faq { margin:28px 0; }
.ve-content .ve-faq details { padding:15px 0; border-bottom:1px solid var(--ve-line); }
.ve-content .ve-faq details p { margin:12px 0 0; color:var(--ve-muted); }
.ve-content .ve-related-grid { display:grid; gap:12px; }
.ve-content .ve-related-bottom { margin-top:28px; }
.ve-content .ve-related-bottom .ve-related-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ve-content .ve-related-item { display:flex; gap:12px; padding:10px; background:white; border-radius:8px; text-decoration:none; }
.ve-content .ve-related-side .ve-related-item { background:transparent; padding:0; }
.ve-content .ve-related-item img { width:72px; height:72px; object-fit:cover; flex-shrink:0; }
.ve-content .ve-related-item h3 { margin:0 0 8px; font-size:13px; letter-spacing:0; }
.ve-content .ve-related-item span { font-size:12px; }
.ve-content .ve-type-product { width:100%; }
.ve-type-product .ve-hero { grid-template-columns:minmax(0,1.6fr) minmax(120px,1fr); gap:20px; }
.ve-type-product .ve-hero h1 { font-size:clamp(28px,3vw,38px); }
.ve-type-product .ve-hero-image img { aspect-ratio:.85; object-fit:contain; background:#fafbf9; }
.ve-content .ve-method-icons { display:flex; justify-content:space-between; margin-top:18px; gap:15px; }
.ve-content .ve-method-icons > span { text-align:center; color:var(--ve-green); font-size:28px; flex:1; }
.ve-content .ve-method-icons small { font-size:12px; line-height:1.5; }
@media(max-width:1050px) {
  .ve-content .ve-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ve-content .ve-layout { grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr); gap:20px; }
  .ve-content .ve-related-bottom .ve-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ve-content .ve-purchase { display:block; }
  .ve-content .ve-purchase .ve-button { margin-top:14px; }
}
@media(max-width:760px) {
  .ve-content .ve-layout, .ve-content .ve-hero, .ve-type-product .ve-hero { grid-template-columns:1fr; }
  .ve-content .ve-sidebar { margin-top:10px; }
  .ve-content .ve-hero-image img { max-height:330px; }
  .ve-content .ve-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ve-content .ve-panel { padding:18px; }
  .ve-content .ve-pros-cons { grid-template-columns:1fr; gap:0; }
  .ve-content .ve-related-side { display:none; }
}
@media(max-width:420px) {
  .ve-content .ve-product-grid, .ve-content .ve-related-bottom .ve-related-grid { grid-template-columns:1fr; }
  .ve-content .ve-card-image { height:210px; }
  .ve-content .ve-card-image img { max-height:190px; }
}
