/* ---- header search box (Neve header_search component, row 1, right side) ---- */
	.header-main .hfg-slot.right{gap:14px}
	.header-main .hfg-slot.right .hfg-is-group{gap:14px}
	.builder-item--header_search{width:min(400px,42vw)}
	.builder-item--header_search > .search-field,
	.builder-item--header_search .widget-search{margin:0 !important;padding:0 !important;border:0;background:none;width:100%}
	.sv-hsearch{position:relative;display:flex !important;flex-direction:row !important;align-items:stretch;gap:8px;width:100%;margin:0}
	.sv-hsearch .sv-hsearch__input{
	  flex:1 1 auto;min-width:0;width:auto;height:46px;padding:0 16px;
	  border:1px solid #d7dce3;border-radius:12px;font-size:15px;
	  color:#111827;font-family:inherit;outline:none;box-sizing:border-box;background:#fff;
	  box-shadow:inset 0 1px 2px rgba(16,24,40,.05);
	  transition:border-color .12s ease,box-shadow .12s ease}
	.sv-hsearch .sv-hsearch__input::placeholder{color:#9aa4b2}
	.sv-hsearch .sv-hsearch__input:focus{border-color:#0f5af0;box-shadow:0 0 0 3px rgba(15,90,240,.14)}
	.sv-hsearch .sv-hsearch__btn{
	  flex:0 0 auto;height:46px;padding:0 22px;background:#0f5af0;color:#fff;border:0;border-radius:12px;
	  font-size:15px;font-weight:600;line-height:1;cursor:pointer;font-family:inherit;white-space:nowrap;
	  box-shadow:0 1px 2px rgba(15,90,240,.25);
	  transition:background .12s ease,box-shadow .12s ease,transform .06s ease}
	.sv-hsearch .sv-hsearch__btn:hover{background:#0c4ad0;box-shadow:0 4px 12px rgba(15,90,240,.30)}
	.sv-hsearch .sv-hsearch__btn:active{transform:translateY(1px)}

	/* ---- secondary nav row (primary menu on the header "bottom" row) ----
	   6 top-level items (Screener/Movers/Lists/Compare/Sectors/Quant live in the
	   "Stocks" dropdown). Neve's own `has-center` grid already centres the row —
	   we DON'T touch its layout, only the type: uppercase, letter-spaced, small,
	   like a WSJ section bar. No display/flex/width overrides = no wrap bugs. */
	.header-bottom{--bgcolor:var(--nv-site-bg,#fff)}
	.header-bottom .header--row-inner{border-top:1px solid #e6e8ec}
	.header-bottom .menu-item-nav-search{display:none}
	.header-bottom .nav-ul li > .wrap > a{
	  font-size:12px !important;font-weight:600;letter-spacing:.06em;
	  text-transform:uppercase;color:#4b5563;transition:color .12s ease}
	.header-bottom .nav-ul li > .wrap > a:hover,
	.header-bottom .nav-ul li.current-menu-item > .wrap > a{color:#0f5af0}
	.header-bottom .nav-ul .sub-menu li > .wrap > a{
	  font-size:12px !important;letter-spacing:.04em;text-transform:none}
	html[data-neve-theme="dark"] .header-bottom .nav-ul li > .wrap > a{color:#9aa4b2}

	/* ---- autocomplete dropdown — shared by header box + homepage box ---- */
	.sv-ac{position:absolute;z-index:1600;margin:0;padding:6px;list-style:none;background:#fff;
	  border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 18px 44px -14px rgba(17,24,39,.28);
	  max-height:340px;overflow:auto;font-size:14px}
	.sv-ac li{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer}
	.sv-ac li[aria-selected="true"],.sv-ac li:hover{background:#f1f5ff}
	.sv-ac .t{font-weight:700;color:#0f172a;flex:0 0 auto;min-width:54px}
	.sv-ac .n{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
	.sv-ac .empty{color:#94a3b8;cursor:default;padding:10px 12px}

	/* ---- dark palette ---- */
	html[data-neve-theme="dark"] .sv-hsearch__input{background:#171a21;border-color:#2d333b;color:#e5e7eb;box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}
	html[data-neve-theme="dark"] .sv-hsearch__ico{stroke:#6b7684}
	html[data-neve-theme="dark"] .header-bottom .header--row-inner{border-top-color:#242a33}
	html[data-neve-theme="dark"] .sv-ac{background:#171a21;border-color:#2d333b}
	html[data-neve-theme="dark"] .sv-ac li[aria-selected="true"],html[data-neve-theme="dark"] .sv-ac li:hover{background:#1e2636}
	html[data-neve-theme="dark"] .sv-ac .t{color:#f1f5f9}
	html[data-neve-theme="dark"] .sv-ac .n{color:#94a3b8}

	/* ---- mobile/tablet: header-bottom is an on-demand search panel ----
	   No form is rendered server-side for mobile UAs (see get_search_form
	   above) — this row stays collapsed until sv-search-js opens it from the
	   icon tap and fills the (already-empty) widget wrapper. */
	@media (max-width:960px){
	  .header-bottom.hide-on-desktop{display:none}
	  .header-bottom.hide-on-desktop.sv-msearch-open{display:block}
	  .header-bottom .row.row--wrapper{display:block !important}
	  .header-bottom .hfg-slot{width:100%;align-items:stretch}
	  .header-bottom .header--row-inner{padding-top:9px;padding-bottom:9px}
	  .builder-item--header_search{width:100%}
	  .sv-hsearch .sv-hsearch__btn{padding:0 16px}
	}
	/* ---- mobile search icon, next to the nav toggle in the logo row ----
	   position:relative is load-bearing, not decorative: .header--row-inner
	   has a position:absolute, full-row ::before (Neve's bg-transition layer)
	   that paints above any plain static descendant, which silently ate every
	   tap on this button. The nav-icon button escapes it because its own
	   wrapper is position:relative; we do the same here. */
	@media(max-width:960px){
	  /* nav-icon already carries 15px of its own left padding (Neve var), so
	     gap:0 here still leaves a natural ~15px breathing room, just tighter
	     and closer to the hamburger than the 14px desktop gap was. */
	  .header-main.hide-on-desktop .hfg-slot.right{gap:0}
	}
	.sv-msearch-toggle{
	  position:relative;z-index:1;
	  display:inline-flex;align-items:center;justify-content:center;
	  width:36px;height:36px;margin:0;padding:0;
	  background:#f1f5f9;border:0;border-radius:10px;color:#4b5563;cursor:pointer}
	.sv-msearch-toggle:hover,.sv-msearch-toggle:active,.sv-msearch-toggle[aria-expanded="true"]{color:#0f5af0;background:#e4edff}
	.sv-msearch-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
	html[data-neve-theme="dark"] .sv-msearch-toggle{background:#1e2430;color:#9aa4b2}
	html[data-neve-theme="dark"] .sv-msearch-toggle:hover,html[data-neve-theme="dark"] .sv-msearch-toggle:active,html[data-neve-theme="dark"] .sv-msearch-toggle[aria-expanded="true"]{color:#00c2ff;background:#16304a}
	

.entry-content svg,
.nv-content-wrap svg {
  max-width: 100%;
  height: auto;
  width: auto;
}

:root{--bodyfontfamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--fontfamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--headingsfontfamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}.builder-item--primary-menu{--fontfamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}.hfg-is-group.has-primary-menu .inherit-ff{--inheritedff:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}body,input,select,optgroup,textarea,button,.wp-block-button__link,.wp-block-search__input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}

:root{
  --sv-accent:#0f5af0; --sv-accent-strong:#0c4ad0;
  --sv-ink:#0b1220; --sv-muted:#4b5563; --sv-faint:#6b7280;
  --sv-line:#e7ebf0; --sv-bg-soft:#f6f8fb; --sv-card:#ffffff;
  --sv-up:#047857; --sv-down:#b91c1c;
}
@media (prefers-color-scheme:dark){:root:not([data-neve-theme="light"]){
  --sv-ink:#f2f5f9; --sv-muted:#9aa4b2; --sv-faint:#8b95a3;
  --sv-line:#242a33; --sv-bg-soft:#12151b; --sv-card:#161a21;
  --sv-up:#10b981; --sv-down:#f87171;
}}
:root[data-neve-theme="dark"]{
  --sv-ink:#f2f5f9; --sv-muted:#9aa4b2; --sv-faint:#8b95a3;
  --sv-line:#242a33; --sv-bg-soft:#12151b; --sv-card:#161a21;
  --sv-up:#10b981; --sv-down:#f87171;
}

/* links + accents on the Neve-rendered pages (scoped so it doesn't fight the
   quote/section templates, which already style themselves) */
.single-post .entry-content a:not(.wp-block-button__link),
.page .entry-content a:not(.wp-block-button__link),
.single-post .nv-content-wrap a:not(.button){ color:var(--sv-accent); text-decoration:underline; text-decoration-color:var(--sv-line); }
.archive .entry-title a,
.blog .entry-title a,
.author .entry-title a{ color:var(--sv-accent); text-decoration:none; }
.single-post .entry-content a:hover,
.page .entry-content a:hover{ text-decoration-color:currentColor; }

/* headings — match the tighter tracking used elsewhere */
.single-post .entry-title,.page .entry-title,
.single-post .entry-content h2,.single-post .entry-content h3,
.page .entry-content h2,.page .entry-content h3{
  letter-spacing:-0.02em; color:var(--sv-ink); font-weight:700;
}
.single-post .entry-content h2,.page .entry-content h2{ font-size:1.6em; margin-top:1.8em; }
.single-post .entry-content h3,.page .entry-content h3{ font-size:1.25em; margin-top:1.6em; }

/* article body: a touch more air */
.single-post .entry-content{ font-size:17px; line-height:1.75; }
.single-post .entry-content > p{ margin-bottom:1.25em; }

/* buttons -> pill, accent (matches section pages) */
.wp-block-button__link,
.single-post .entry-content .wp-block-button__link,
.nv-content-wrap .button:not(.sv-share):not(.sv-hsearch__input){
  background:var(--sv-accent); border-color:var(--sv-accent); color:#fff;
  border-radius:999px; font-weight:600; padding:.7em 1.6em;
}
.wp-block-button__link:hover{ background:var(--sv-accent-strong); }

/* content tables in articles */
.single-post .entry-content table,.page .entry-content table{
  border-collapse:collapse; width:100%; font-size:14.5px; margin:1.5em 0;
}
.single-post .entry-content th,.page .entry-content th{
  background:var(--sv-bg-soft); text-align:left; font-weight:700;
  font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--sv-faint);
  padding:10px 12px; border-bottom:1px solid var(--sv-line);
}
.single-post .entry-content td,.page .entry-content td{ padding:11px 12px; border-bottom:1px solid var(--sv-line); }

/* blockquote */
.single-post .entry-content blockquote,.page .entry-content blockquote{
  border-left:3px solid var(--sv-accent); background:var(--sv-bg-soft);
  padding:14px 18px; border-radius:0 10px 10px 0; font-style:normal; color:var(--sv-muted);
}

/* inline code */
.entry-content code{ background:var(--sv-bg-soft); border:1px solid var(--sv-line); border-radius:5px; padding:1px 5px; font-size:.88em; }

/* nicer author archive + post meta */
.nv-meta-list a,.author-bio a{ color:var(--sv-accent); }

/* quote-page right rail: "StockVane on <TICKER>" — our tagged articles */
.sv-side-mine h2{ display:flex; align-items:baseline; gap:6px; }
.sv-side-mine .sv-side-date{ display:block; margin-top:2px; font-size:11.5px; color:var(--sv-faint); }
.sv-side-mine .sv-side-reads li{ margin-bottom:11px; }
.sv-side-mine .sv-side-reads a{ font-weight:600; }

/* header: bigger primary nav menu text */
.builder-item--primary-menu .nav-menu-primary > .nav-ul > li > .wrap > a{ font-size:25px; }

/* header: shorter top row (logo + search) -- shrink the logo's own
   vertical padding, which is what drives that row's height (image itself
   untouched, still --maxwidth from theme default) */
.header-main-inner .builder-item--logo{ --padding: 4px 0; }

/* notification bell: was colliding with the theme's own scroll-to-top
   button (both fixed bottom-right, right:20px). Scroll-to-top sits at
   bottom:30px and is small (~32px incl. padding); moved the bell to sit
   clearly above it instead of on top of it. */
#sv-bell-wrap{ bottom: 84px !important; }

/* "Latest posts" block links: default line-height leaves the tap target
   under 24px tall on mobile — pad them out without changing the layout's
   visible spacing (negative margin cancels the added padding). */
.wp-block-latest-posts__post-title{ display:inline-block; padding:7px 0; margin:-7px 0; }

/* Mobile article pages: the H1 kept the tablet/desktop type scale (36px),
   often wrapping to 3-4 lines and filling most of the first screen, and
   Neve's generic inter-block spacing (.nv-single-post-wrap > div, 60px
   margin every side) isn't aware the title above it is short - so it left
   large empty gaps above the title and between the byline and the first
   paragraph. 576px matches Neve's own "Mobile" device breakpoint. */
@media (max-width:576px){
  .single-post .entry-title{ font-size:26px; line-height:1.28; }
  .single-post .nv-single-post-wrap > div:first-child{ margin-top:20px; }
  .single-post .nv-single-post-wrap > div:not(:last-child){ --spacing:20px; }
}


.sidebar-author-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.sidebar-author-top {
    text-align: center;
    margin-bottom: 16px;
}

.sidebar-author-avatar {
    width: 82px !important;
    height: 82px !important;
    border-radius: 50% !important;
    object-fit: cover;
    display: block !important;
    margin: 0 auto 10px auto !important;
}

.sidebar-author-name {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    color: #222;
}

.sidebar-author-custom {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    text-align: center;
    padding: 0 3px 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #eee;
}

.sidebar-author-bio {
    font-size: 13.5px;
    line-height: 1.75;
    color: #666;
}

.sidebar-author-bio p {
    margin: 0 0 10px;
}

.sidebar-author-bio p:last-child {
    margin-bottom: 0;
}

html[data-neve-theme="dark"] .sidebar-author-card {
    background: #161a21;
    border-color: #242a33;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

html[data-neve-theme="dark"] .sidebar-author-name {
    color: #f2f5f9;
}

html[data-neve-theme="dark"] .sidebar-author-custom {
    color: #9aa4b2;
    border-bottom-color: #242a33;
}

html[data-neve-theme="dark"] .sidebar-author-bio {
    color: #9aa4b2;
}

.google-source-btn {
    width: 100%;
    text-align: center;
    margin-top: 15px;
}

.google-source-btn > div[google-add-preferred-source-btn] {
    margin-left: auto !important;
    margin-right: auto !important;
}


.svg-full-bleed {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/* ===== Header — two rows: [logo | search | palette] over [primary menu].
   The divider between the two rows is the .header-bottom top hairline (set in
   the stockvane-search mu-plugin). Here we just give the whole header a soft
   bottom lift so it separates from the page without a hard line. ===== */
.site-header {
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
}
html[data-neve-theme="dark"] .site-header {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}
/* Row 1 needs a little vertical breathing room for the 44px search field. */
.header-main .header--row-inner {
	padding-top: 6px;
	padding-bottom: 6px;
}

/* =========================================================================
   FOOTER — one unified block: link columns -> tools/legal band -> copyright.
   All three sit on the same ground (#f6f8fb, matching --sv-bg-soft) with
   hairline seams, so nothing reads as a lighter or darker stripe. The
   tools/legal band itself is styled in the stockvane-legal-footer mu-plugin
   to the same palette.
   ========================================================================= */
.site-footer {
	border-top: 1px solid #e6e8ec;
}
.site-footer .footer-top,
.site-footer .footer-bottom {
	--bgcolor: #f6f8fb;
}
/* No divider between the legal line and the copyright row — they are one
   "fine print" block. The single hairline in the lower footer is the one on
   top of .sv-legal (see stockvane-legal-footer mu-plugin). */

/* ----- Footer link columns: Research tools / Rankings / Calculators / Latest
   analysis. 4 even columns, one list each (8 rows), tops aligned, contained
   width (hfg_footer_layout_top_layout = layout-full-contained). ----- */
.footer-top-inner {
	padding-top: 44px;
	padding-bottom: 12px;
}
.hfg-grid.hfg-grid-top {
	row-gap: 34px;
	column-gap: 40px;
	align-items: start;
}
.footer-top .widget-area .widget {
	margin: 0 0 6px;
}
.footer-top .widget_block:not(.widget_recent_entries) {
	margin: 0 0 14px;
}
.footer-top .widget_block:not(.widget_recent_entries) > b,
.footer-top .widget_block:not(.widget_recent_entries) > p,
.footer-top .widget_block:not(.widget_recent_entries) > p > strong {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #111827;
	margin: 0 0 12px;
}
.footer-top .widget_recent_entries {
	margin: 0 0 8px;
}
/* When a column stacks two sections (About + Calculator, Market Tools + Tools),
   give the second heading real separation from the list above it. */
.footer-top .widget_recent_entries + .widget_block:not(.widget_recent_entries),
.footer-top .widget_custom_html + .widget_block:not(.widget_recent_entries) {
	margin-top: 30px;
}
/* "Market Tools" curated-link column: same list language as the latest-posts
   columns (the markup reuses those classes, so most of it is already covered). */
.footer-top .widget_custom_html > ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-top .wp-block-latest-posts__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-top .wp-block-latest-posts__list li {
	margin: 0 0 10px;
	line-height: 1.4;
}
.footer-top .wp-block-latest-posts__list li:last-child {
	margin-bottom: 0;
}
/* One line per item, hard-clamped to ~30 characters with an ellipsis, so every
   column is exactly 8 single-line rows and the 4 columns line up. */
.footer-top .wp-block-latest-posts__post-title {
	display: block;
	max-width: 30ch;
	font-size: 13.5px;
	color: #4b5563;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color .15s ease;
}
.footer-top .wp-block-latest-posts__post-title:hover {
	color: #0f5af0;
	text-decoration: underline;
}

/* ----- Footer bottom / copyright ----- */
.footer-bottom .hfg-grid-bottom {
	justify-content: center;
}
.footer-bottom .hfg-slot.left {
	width: 100%;
	justify-self: stretch;
}
.footer-bottom .builder-item.cr,
.footer-bottom .builder-item.cr .item--inner,
.footer-bottom .builder-item.cr .component-wrap,
.footer-bottom .builder-item.cr .component-wrap > div {
	width: 100%;
}
.footer-bottom .builder-item.cr p {
	font-size: 12.5px;
	line-height: 1.7;
	color: #5c6675;
	margin: 0;
	padding: 10px 0 18px;
	text-align: center;
	width: 100%;
}
.footer-bottom .builder-item.cr a {
	color: #374151;
	font-weight: 600;
	text-decoration: none;
}
.footer-bottom .builder-item.cr a:hover {
	color: #0f5af0;
	text-decoration: underline;
}

/* ----- Dark palette (visitor flips the palette switch): keep the unified
   ground + seams + legible text. ----- */
html[data-neve-theme="dark"] .site-footer {
	border-top-color: #242a33;
}
html[data-neve-theme="dark"] .site-footer .footer-top,
html[data-neve-theme="dark"] .site-footer .footer-bottom {
	--bgcolor: #12151b;
}
html[data-neve-theme="dark"] .footer-top .widget_block:not(.widget_recent_entries) > b,
html[data-neve-theme="dark"] .footer-top .widget_block:not(.widget_recent_entries) > p,
html[data-neve-theme="dark"] .footer-top .widget_block:not(.widget_recent_entries) > p > strong {
	color: #e5e7eb;
}
html[data-neve-theme="dark"] .footer-top .wp-block-latest-posts__post-title {
	color: #9aa4b2;
}
html[data-neve-theme="dark"] .footer-top .wp-block-latest-posts__post-title:hover {
	color: #4d8bff;
}
html[data-neve-theme="dark"] .footer-bottom .builder-item.cr p {
	color: #9aa0a6;
}
html[data-neve-theme="dark"] .footer-bottom .builder-item.cr a {
	color: #e5e7eb;
}
html[data-neve-theme="dark"] .footer-bottom .builder-item.cr a:hover {
	color: #4d8bff;
}

/* ----- Mobile: stacked columns need tighter rhythm, larger tap targets ----- */
@media (max-width: 767px) {
	.footer-top-inner {
		padding-top: 32px;
	}
	.hfg-grid.hfg-grid-top {
		row-gap: 26px;
	}
	.footer-top .widget_block:not(.widget_recent_entries) > b,
	.footer-top .widget_block:not(.widget_recent_entries) > p,
	.footer-top .widget_block:not(.widget_recent_entries) > p > strong {
		font-size: 11.5px;
	}
	.footer-top .wp-block-latest-posts__list li {
		margin-bottom: 11px;
	}
	.footer-top .wp-block-latest-posts__post-title {
		font-size: 14px;
	}
	.footer-bottom .builder-item.cr p {
		font-size: 12px;
		padding: 8px 14px 16px;
	}
}




.builder-item--primary-menu .item--inner,
.builder-item--primary-menu.item--inner{ font-family:'Manrope',var(--nv-fallback-ff) !important; }

.nav-ul li:focus-within .wrap.active + .sub-menu { opacity: 1; visibility: visible; }.nav-ul li.neve-mega-menu:focus-within .wrap.active + .sub-menu { display: grid; }.nav-ul li > .wrap { display: flex; align-items: center; position: relative; padding: 0 4px; }.nav-ul:not(.menu-mobile):not(.neve-mega-menu) > li > .wrap > a { padding-top: 1px }
.header-menu-sidebar .nav-ul li .wrap { padding: 0 4px; }.header-menu-sidebar .nav-ul li .wrap a { flex-grow: 1; display: flex; }.header-menu-sidebar .nav-ul li .wrap a .dd-title { width: var(--wrapdropdownwidth); }.header-menu-sidebar .nav-ul li .wrap button { border: 0; z-index: 1; background: 0; }.header-menu-sidebar .nav-ul li:not([class*=block]):not(.menu-item-has-children) > .wrap > a { padding-right: calc(1em + (18px*2)); text-wrap: wrap; white-space: normal;}.header-menu-sidebar .nav-ul li.menu-item-has-children:not([class*=block]) > .wrap > a { margin-right: calc(-1em - (18px*2)); padding-right: 46px;}

	.sv-wl-btn-wrap{display:flex;gap:8px;flex-wrap:wrap;margin:0;}
	.sv-wl-btn,.sv-wl-alert-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--sv-line,#e7ebf0);background:var(--sv-card,#fff);color:var(--sv-muted,#4b5563);font-size:13px;font-weight:700;cursor:pointer;}
	.sv-wl-btn svg,.sv-wl-alert-btn svg{flex:none;}
	.sv-wl-btn.is-active{color:#b8862e;border-color:#f0dfb8;background:#fdf8ee;}
	.sv-wl-btn:disabled,.sv-wl-alert-btn:disabled{opacity:.6;cursor:default;}
	.sv-wl-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--sv-ink,#0b1220);color:#fff;padding:10px 16px;border-radius:10px;font-size:13.5px;font-weight:600;z-index:10000;box-shadow:0 10px 30px rgba(0,0,0,.25);}
	@media (max-width:600px){ .sv-wl-btn-wrap{ width:100%; } .sv-wl-btn,.sv-wl-alert-btn{ flex:1; justify-content:center; } }
	

						.sv-divcard__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
						/* This card has 2 or 3 items depending on data available (see the PHP
						   above). auto-fit/minmax picks a column count from the container width
						   alone, with no regard for that item count - at phone widths it was
						   settling on 2 columns, so a 3rd item sat alone on its own row, only
						   half as wide as the row above it with blank space beside it. Using the
						   actual item count as the column count (set as --sv-dc-cols on the
						   element below) always fills exactly one row, for 2 or 3 items alike. */
						@media (max-width:560px){.sv-divcard__grid{grid-template-columns:repeat(var(--sv-dc-cols,3),1fr)}}
						.sv-divcard__item{border:1px solid var(--sv-border,#e5e7eb);border-radius:10px;padding:12px 14px;text-align:center}
						.sv-divcard__item small{display:block;font-size:11.5px;color:var(--sv-faint,#5c6675);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}
						.sv-divcard__val{font-size:17px;font-weight:800}
						.sv-divcard__item--bull .sv-divcard__val{color:var(--sv-up,#00a63e)}
						.sv-divcard__item--bear .sv-divcard__val{color:var(--sv-down,#e02424)}
						.sv-divcard__item--neutral .sv-divcard__val{color:var(--sv-faint,#5c6675)}
						.sv-divcard__verdict{margin:10px 0 0;padding:10px 14px;border-radius:8px;font-size:13.5px;font-weight:600}
						.sv-divcard__verdict--agree{background:rgba(0,166,62,.1);color:var(--sv-up,#00a63e)}
						.sv-divcard__verdict--mixed{background:rgba(240,180,41,.16);color:#92660a}
						.sv-divcard__verdict--diverge{background:rgba(224,36,36,.1);color:var(--sv-down,#e02424)}
						@media (prefers-color-scheme:dark){:root:not([data-neve-theme="light"]) .sv-divcard__verdict--mixed{color:#f2cf8a}}
						:root[data-neve-theme="dark"] .sv-divcard__verdict--mixed{color:#f2cf8a}
						

	/* Legal line — same ground as the footer columns above and the copyright
	   row below (#f6f8fb, matched by stockvane's Neve custom CSS). The single
	   hairline here (border-top) is the ONLY divider in the lower footer; there
	   is deliberately no line between this and the copyright row. */
	.sv-legal{background:#f6f8fb;color:#4b5563;text-align:center;
	  padding:18px 20px 4px;border-top:1px solid #e6e8ec}
	.sv-legal-inner{max-width:1100px;margin:0 auto}
	.sv-legal nav{line-height:1.9;font-size:13px}
	.sv-legal a{color:#4b5563;text-decoration:none;margin:0 9px;white-space:nowrap;
	  transition:color .12s ease}
	.sv-legal a:hover{color:#0f5af0;text-decoration:underline}
	.sv-legal span[aria-hidden="true"]{color:#c4cbd4}
	html[data-neve-theme="dark"] .sv-legal{background:#12151b;color:#9aa4b2;border-top-color:#242a33}
	html[data-neve-theme="dark"] .sv-legal a{color:#9aa4b2}
	html[data-neve-theme="dark"] .sv-legal a:hover{color:#4d8bff}
	html[data-neve-theme="dark"] .sv-legal span[aria-hidden="true"]{color:#3a424e}
	

	.sv-auth-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;}
	.sv-auth-modal[hidden]{display:none;}
	.sv-auth-backdrop{position:absolute;inset:0;background:rgba(11,18,32,.55);}
	.sv-auth-box{position:relative;width:100%;max-width:380px;background:var(--sv-card,#fff);border:1px solid var(--sv-line,#e7ebf0);border-radius:16px;padding:26px 24px 22px;box-shadow:0 20px 60px rgba(11,18,32,.25);}
	.sv-auth-x{position:absolute;top:12px;right:14px;background:none;border:0;font-size:22px;line-height:1;color:var(--sv-faint,#8b95a3);cursor:pointer;padding:4px;}
	.sv-auth-tabs{display:flex;gap:6px;margin:0 0 16px;background:var(--sv-bg-soft,#f6f8fb);border-radius:10px;padding:4px;}
	.sv-auth-tab{flex:1;border:0;background:none;padding:8px 10px;border-radius:8px;font-size:13.5px;font-weight:700;color:var(--sv-muted,#4b5563);cursor:pointer;}
	.sv-auth-tab.is-active{background:var(--sv-card,#fff);color:var(--sv-ink,#0b1220);box-shadow:0 1px 2px rgba(11,18,32,.08);}
	.sv-auth-h2{font-size:18px;font-weight:800;margin:0 0 4px;color:var(--sv-ink,#0b1220);}
	.sv-auth-reason{font-size:13px;color:var(--sv-muted,#4b5563);margin:0 0 16px;min-height:1px;}
	.sv-auth-reason:empty{display:none;}
	.sv-auth-form label{display:block;font-size:12.5px;font-weight:700;color:var(--sv-muted,#4b5563);margin:0 0 12px;}
	.sv-auth-form input{display:block;width:100%;margin-top:5px;padding:11px 13px;border:1px solid var(--sv-line,#e7ebf0);border-radius:9px;font-size:15px;font-family:inherit;color:var(--sv-ink,#0b1220);background:var(--sv-card,#fff);box-sizing:border-box;}
	.sv-auth-form input:focus{outline:none;border-color:var(--sv-accent,#0f5af0);box-shadow:0 0 0 3px rgba(15,90,240,.14);}
	.sv-auth-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;}
	.sv-auth-err{font-size:12.5px;color:#c81e1e;background:rgba(224,36,36,.08);border-radius:8px;padding:8px 10px;margin:0 0 12px;}
	.sv-auth-err[hidden]{display:none;}
	.sv-auth-submit{width:100%;padding:12px;border:0;border-radius:10px;background:var(--sv-accent,#0f5af0);color:#fff;font-size:15px;font-weight:700;cursor:pointer;}
	.sv-auth-submit:disabled{opacity:.6;cursor:default;}
	.sv-auth-switch{text-align:center;font-size:13px;color:var(--sv-muted,#4b5563);margin:14px 0 0;}
	.sv-auth-switch a{color:var(--sv-accent,#0f5af0);font-weight:700;text-decoration:none;}
	[data-neve-theme="dark"] .sv-auth-tabs{background:#171a21;}
	[data-neve-theme="dark"] .sv-auth-tab.is-active{background:#0e1013;}
	[data-neve-theme="dark"] .sv-auth-form input{background:#0e1013;border-color:#2d333b;}