/* Move Open Sans 600 usage to 500 so weight 600 stops downloading */
.wp-block-button__link,
.ev-snm-nl-eyebrow,
.ev-snm-nl button,
.breadcrumb.breadcrumb-yoast,
input.search-submit,
input[type="submit"],
input[type="button"]{font-weight:500 !important}
/* readbar ticker — the remaining 600 users (desktop only, below 1024px the bar is hidden) */
#ev-readbar .ev-rb-tick,
#ev-readbar .ev-rb-tick b,
#ev-readbar a.ev-rb-tick{font-weight:500 !important}
/* Brand hubs: match homepage card typography (10 Aug 2026) */
.rbc-content-section .entry-title,
.rbc-content-section .entry-title a {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
}
/* === EV refinements (added via Claude) === */
/* 1) Social icons — neutral by default, brand blue on hover, no motion */
.navbar-social a{ filter: grayscale(1) brightness(.45) contrast(1.05); transition: filter .2s ease !important; animation: none !important; }
.navbar-social a:hover{ filter:none !important; transform:none !important; }
.ev-fr-social a, .ev-fr-social a svg{ transition: opacity .18s ease, fill .18s ease !important; animation:none !important; }
.ev-fr-social a:hover{ transform:none !important; opacity:1 !important; }
.ev-fr-social a:hover svg{ fill:#ffffff !important; }
/* 2) Mega-menu fade + slide on open */
@keyframes evMenuIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }
.main-menu-wrap .menu-item-has-children:hover > .sub-menu{ animation: evMenuIn .22s cubic-bezier(.2,.6,.2,1) both; }
@media (prefers-reduced-motion: reduce){ .main-menu-wrap .menu-item-has-children:hover > .sub-menu{ animation:none !important; } }
/* 3) Metadata labels — contrast & size floor */
.ev-about-founder-eyebrow{ color:#5e5e63 !important; font-size:11px !important; }
.ev-about-section-header .count{ color:#5e5e63 !important; font-size:12px !important; }
.entry-date{ color:#5b6270 !important; }
.ev-contact-form-section label, .ev-contact-form-section .grunion-field-label{ color:#5b6270 !important; }
.ev-fr-contact-label{ color:#dbe4f8 !important; }
/* 4) Newsletter icon (custom NL) — footer (white) & contact (blue). Header icon intentionally NOT shown (left-side CTA covers it). */
.ev-fr-social a[href^="mailto"] svg{ display:none !important; }
.ev-fr-social a[href^="mailto"]{ background-image:url(https://eletric-vehicles.com/wp-content/uploads/2026/06/NL_icon_white.svg) !important; background-size:18px 18px; background-repeat:no-repeat; background-position:center; }
a.ev-contact-method[href^="mailto"] .ev-contact-method-icon svg{ display:none !important; }
a.ev-contact-method[href^="mailto"] .ev-contact-method-icon{ background-image:url(https://eletric-vehicles.com/wp-content/uploads/2026/06/NL_icon.svg) !important; background-size:24px 24px; background-repeat:no-repeat; background-position:center; }
/* 5) Contact rows — icons stay put on hover; only the text shifts */
.ev-contact-method:hover{ padding-left:4px !important; }
.ev-contact-method-body{ transition: transform .2s ease; }
.ev-contact-method:hover .ev-contact-method-body{ transform: translateX(10px) !important; }
/* In-content links — brand blue + visible underline; hover only dims opacity */
.single .entry-content p a, .single .entry-content li a{color:#2659d7 !important;text-decoration:underline !important;text-decoration-color:#2659d7 !important;text-decoration-thickness:1px !important;text-underline-offset:2px;transition:opacity .15s ease}
.single .entry-content p a:hover, .single .entry-content li a:hover{opacity:.65 !important;color:#2659d7 !important;text-decoration:underline !important;text-decoration-color:#2659d7 !important;text-decoration-thickness:1px !important}
/* Article title links — underline on hover (coherent: cards + rails) */
.entry-title a:hover, .post-thumbnail:hover ~ .entry-wrapper .entry-title a, .ev-rail__item:hover .ev-rail__headline{color:#2659d7 !important;text-decoration:underline !important;text-decoration-color:#2659d7 !important;text-decoration-thickness:1px !important;text-underline-offset:2px}
/* === end EV refinements === */
/* === EV drawer 2-col + mega caret (Claude) === */
.ev-snm-section{column-count:2;column-gap:18px}
.ev-snm-section .ev-snm-label{column-span:all;-webkit-column-span:all}
.ev-snm-section:has(.ev-snm-sub-list){column-count:1}
.ev-snm-util,.ev-snm-top{break-inside:avoid;-webkit-column-break-inside:avoid}
.main-menu-wrap .ev-card__h a{display:inline !important;padding:0 !important}
/* === end EV drawer 2-col === */
/* === a11y contrast (WCAG AA) === */
.ev-rail__time,.ev-rail__meta,.ev-rail__live{color:#5f6368 !important}
.ev-cnrail__author,.ev-cnrail__date,.ev-cnrail__sep{color:#565d6b !important}
.ev-fr-tagline,.ev-fr-carba,.ev-fr-masthead p,.ev-fr-news em{color:#e6edfa !important}
.ev-fr-eyebrow,.ev-fr-masthead h4,.ev-fr-masthead h4 span,.ev-fr-colophon-left span,.ev-fr-colophon-left a,.ev-fr-news-meta{color:#dae3f8 !important}
.ev-exrail__author,.ev-exrail__date,.ev-exrail__sep{color:#565d6b !important}
.ev-fr-colophon-right a,.ev-fr-colophon-right span{color:#dae3f8 !important}
.ev-fr-masthead .ev-fr-col h4,.ev-fr-masthead .ev-fr-col h4 span{color:#dae3f8 !important}
.ev-fr-col h4,.ev-fr-col h4 span,.ev-fr-masthead h4{color:#dae3f8 !important;opacity:1 !important}
/* === end a11y contrast === */
/* === EV article details: credits + meta + readbar (Claude) === */
.image-caption.is-overlay{background:rgba(12,14,18,.38)!important;color:rgba(255,255,255,.85)!important;font-family:"Open Sans",sans-serif!important;font-size:10px!important;font-weight:400!important;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px!important;border-radius:0!important}
.image-caption:not(.is-overlay){color:#5f6368;font-size:12px}
#ev-readbar{position:fixed;top:0;left:0;right:0;height:48px;background:#fff;border-bottom:1px solid #ececef;z-index:99990;display:flex;align-items:center;gap:14px;padding:0 18px;transform:translateY(-110%);transition:transform .25s ease}
#ev-readbar.is-on{transform:none}
body.admin-bar #ev-readbar{top:32px}
@media(max-width:782px){body.admin-bar #ev-readbar{top:46px}}
#ev-readbar .ev-rb-logo img{height:20px;width:auto;display:block}
#ev-readbar .ev-rb-title{flex:1;font-family:Georgia,serif;font-size:14px;line-height:1.3;color:#0a0000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ev-readbar .ev-rb-share{display:flex;gap:4px;align-items:center}
#ev-readbar .ev-rb-share a{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#15171c;border-bottom:0!important;box-shadow:none!important;padding:0!important}
#ev-readbar .ev-rb-share a:hover{color:#2659d7}
#ev-readbar .ev-rb-share svg{width:15px;height:15px}
#ev-readbar .ev-rb-prog{position:absolute;left:0;bottom:-1px;height:2px;background:#2659d7;width:0}
@media(max-width:781px){#ev-readbar{height:44px;padding:0 12px;gap:10px}#ev-readbar .ev-rb-title{font-size:13px}}
.single-left-share .ev-share-copy svg{width:15px;height:15px;display:block;margin:auto}
.single-left-share .ev-share-copy.is-copied,#ev-readbar .ev-rb-share a.is-copied{color:#2659d7!important}
/* hide Flourish credit line (design review: credit leaks to readers) */
.flourish-embed .flourish-credit{display:none!important}
/* readbar: desktop only + ticker chip */
@media(max-width:1023px){#ev-readbar{display:none!important}}
#ev-readbar .ev-rb-tick{font:600 12px/1 "Open Sans",sans-serif;color:#15171c;white-space:nowrap;display:flex;gap:6px;align-items:center;letter-spacing:.2px}
#ev-readbar .ev-rb-tick b{font-weight:600}
#ev-readbar .ev-rb-tick .up{color:#1e8e3e}
#ev-readbar .ev-rb-tick .down{color:#d93025}
/* readbar v2 sizing: taller bar, bigger logo+title, ticker next to headline */
#ev-readbar{height:58px;gap:16px}
#ev-readbar .ev-rb-logo img{height:26px}
#ev-readbar .ev-rb-title{flex:0 1 auto;font-size:16px;max-width:56%}
#ev-readbar .ev-rb-share{margin-left:auto}
#ev-readbar .ev-rb-tick{font-size:13px}
#ev-readbar .ev-rb-px{font-weight:400;color:#3c4043}
#ev-readbar .ev-rb-mkt{font:400 11px/1 "Open Sans",sans-serif;color:#5f6368;margin-left:6px;letter-spacing:.3px}
/* readbar v3: newsletter CTA + linked ticker; share rail recolor */
#ev-readbar .ev-rb-cta{margin-left:auto;font:400 11px/1 "Open Sans",sans-serif;letter-spacing:1.8px;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;color:#2659d7;white-space:nowrap;border-bottom:0!important;box-shadow:none!important}
#ev-readbar .ev-rb-cta:hover{color:#0a0000}
#ev-readbar a.ev-rb-tick{text-decoration:none;border-bottom:0!important;box-shadow:none!important;color:#15171c}
#ev-readbar a.ev-rb-tick:hover .ev-rb-px{color:#2659d7}
#ev-readbar .ev-rb-share{display:none}
.single-left-share a.share-action,.single-left-share a.share-action i{color:#15171c!important}
.single-left-share a.share-action:hover,.single-left-share a.share-action:hover i{color:#2659d7!important}
.single-left-share a.ev-share-copy.is-copied,.single-left-share a.ev-share-copy.is-copied svg{color:#2659d7!important}
/* share rail recolor v2: cover share-icon class (whatsapp etc) */
.single-left-share a.share-icon,.single-left-share a.share-icon i{color:#15171c!important}
.single-left-share a.share-icon:hover,.single-left-share a.share-icon:hover i{color:#2659d7!important}
.single-left-share a.ev-share-copy.is-copied,.single-left-share a.ev-share-copy.is-copied svg{color:#2659d7!important}
/* rail offset + trim: clear the reading bar, drop telegram + read next */
@media(min-width:1024px){body.single-post .section-inner{top:78px!important}}
.single-left-share .share-telegram{display:none!important}
.single-left-article{display:none!important}
/* admin-bar rail offset */
@media(min-width:1024px){body.admin-bar.single-post .section-inner{top:110px!important}}
/* single post H2 strengthen — scoped to article body only (not homepage) */
body.single-post .entry-content h2{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.3;color:#0a0000;margin:38px 0 14px}
body.single-post .entry-content h2:first-child{margin-top:0}
/* flourish thumb dedupe: hide static thumbnail once live chart loads */
.flourish-embed:has(iframe)>img{display:none!important}
/* footer newsletter card color */
.ev-fr-newsletter{background:#82aaf9!important}
/* contact form labels + focus rings (design review) */
.grunion-field-label{font-size:12px!important;color:#3c4043!important;letter-spacing:1.4px!important}
.wp-block-jetpack-contact-form input:focus-visible,.wp-block-jetpack-contact-form textarea:focus-visible,.wp-block-jetpack-contact-form select:focus-visible,.wp-block-jetpack-contact-form button:focus-visible{outline:2px solid #2659d7!important;outline-offset:2px!important}
.wp-block-jetpack-contact-form input:focus,.wp-block-jetpack-contact-form textarea:focus{border-color:#2659d7!important;border-width:2px!important}
/* about email renders lowercase (canonical form) */
a.ev-about-link[href^="mailto:"]{text-transform:lowercase!important}
/* ===== EV readbar upgrade — ticker chip + sessions (matches author-box) ===== */
#ev-readbar a.ev-rb-tick{display:inline-flex;align-items:center;gap:8px;background:#f7f7f5;border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:6px 11px;font-weight:600;color:#111;text-decoration:none;font-variant-numeric:tabular-nums;position:relative;transition:background .15s ease;cursor:pointer}
#ev-readbar a.ev-rb-tick:hover,#ev-readbar a.ev-rb-tick:focus-visible{background:#efefec}
#ev-readbar a.ev-rb-tick:focus-visible{outline:2px solid #2659d7;outline-offset:2px}
#ev-readbar .ev-rb-px{color:#4a4a48;font-weight:400}
#ev-readbar a.ev-rb-tick b.down{color:#b3261e}
#ev-readbar a.ev-rb-tick b.up{color:#137333}
#ev-readbar .ev-rb-mkt{font-size:13px;font-weight:400;color:#5c5f62}
#ev-readbar .ev-rb-ext{font-size:13px;font-weight:400;color:#5c5f62;margin-left:4px;padding-left:12px;border-left:1px solid #c9ccd1}
#ev-readbar a.ev-rb-tick::after{content:attr(data-more);position:absolute;top:calc(100% + 8px);right:0;background:#2a2a28;color:#fff;font-size:12px;font-weight:400;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10}
#ev-readbar a.ev-rb-tick:hover::after,#ev-readbar a.ev-rb-tick:focus-visible::after{opacity:1;transform:none}
#ev-readbar a.ev-rb-tick[data-more=""]::after,#ev-readbar a.ev-rb-tick:not([data-more])::after{display:none}
#ev-readbar .ev-rb-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#ev-readbar .ev-rb-prog{height:3px}
/* ===== end EV readbar upgrade ===== */
/* ===== Flourish embed spacing fix ===== */
.flourish-embed iframe{display:block !important;margin-bottom:0 !important}
.flourish-embed.flourish-chart{margin:0 0 30px !important}
/* ===== end Flourish embed spacing fix ===== */
/* ===== Author box redesign (Option A) ===== */
.author-box{padding:20px 26px !important}
.author-box .author-header{display:flex !important;justify-content:space-between !important;align-items:center !important;gap:12px}
.author-box .author-header .author-social{margin:0 !important;display:inline-flex !important;align-items:center}
.author-box .author-more.block-view-more{display:inline-flex !important;align-items:center;margin-top:12px !important}
.author-box .author-footer{display:none !important}
/* ===== end Author box redesign (Option A) ===== */
/* === EV category sidebar: newsletter panel (12 Aug 2026) ===
   Same beehiiv form and the same visual tokens as the footer newsletter
   (.ev-fr-newsletter): panel #82aaf9, 18px 22px padding, Open Sans, text
   #e6edfa, eyebrow 11px/500, meta 12px. Only the title scales down, because
   the sidebar column is 337px against the footer's 466px. Panel background is
   the brand card's KEY FACTS blue (#f7f9fc), so the type runs dark. Kept short so the
   Raptive sticky rail has room underneath. */
.rbc-sidebar .ev-snl{background:#f7f9fc;padding:18px 22px;}
.rbc-sidebar .ev-snl p{font-family:"Open Sans",sans-serif;color:#1a1a1a;}
.rbc-sidebar .ev-snl p.ev-snl-eyebrow{font-size:11px;line-height:1.55;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2659d7;margin:0 0 8px;}
.rbc-sidebar .ev-snl p.ev-snl-title{font-size:19px;line-height:1.25;font-weight:400;margin:0 0 6px;}
.rbc-sidebar .ev-snl p.ev-snl-meta{font-size:12px;line-height:1.55;font-weight:400;color:#6b7280;margin:0 0 14px;}
/* beehiiv's loader wraps the iframe in divs that start at height:0 and only
   grow when the form posts its measured height back. That message does not
   arrive when two instances of the same form are on one page - the footer
   embed already had this (it sits at 2000px on /exclusive), and the sidebar
   copy inherited it, rendering as nothing. Clamp the row height ourselves so
   the form paints regardless. 56px is what the footer settles at. */
.rbc-sidebar .ev-snl-form{margin:0;height:64px;overflow:hidden;}
.rbc-sidebar .ev-snl-form > div,
.rbc-sidebar .ev-snl-form > div > div{height:64px !important;overflow:hidden;}
.rbc-sidebar .ev-snl-form iframe{display:block;width:100%;height:64px !important;}
/* === Headline hover: blue + underline on archives, matching the homepage ===
   Pixwell ships .p-grid .entry-title a.p-url:hover{text-decoration:none!important},
   which outranks the site-wide underline rule on listing cards, so archives were
   turning blue with no underline. Match that selector and go one level higher. */
html body .p-wrap .entry-title a.p-url:hover,
html body .p-grid .entry-title a.p-url:hover,
html body .p-list .entry-title a.p-url:hover,
html body .p-classic .entry-title a.p-url:hover{text-decoration:underline !important;text-underline-offset:2px !important;}
/* === Archive column alignment (12 Aug 2026) ===
   The content column opens at .content-wrap padding-top:12px and the brand
   card adds its own 6px, so the card sat 18px below the newsletter panel.
   Zero the card margin and give the sidebar the same 12px, so both columns
   start on the same line whether or not the category has a hub card. */
html body .ev-bhub{margin-top:0 !important;}
.archive .rbc-sidebar .sidebar-inner{padding-top:12px;}
/* === Topic filter chips: match the site button radius ===
   Every other button here (pagination, menu toggles, search, off-canvas
   close) is square. The chips were full pills at 100px. */
html body .ev-tf-chip{border-radius:0 !important;}
/* === Header social icons: a little larger (12 Aug 2026) ===
   The anchor is pinned to 26px with 6px side padding, so the glyph only had a
   14px content box to sit in. Widen the anchor and size the image to match. */
html body .navbar-social a[class*="social-link"]{width:32px !important;}
html body .navbar-social a[class*="social-link"] img.ev-soc-ico{width:20px !important;height:20px !important;}
/* Desktop only. Below 992px (the theme's sidebar breakpoint) the column stops
   being a rail and stacks under the article list, where it would sit a few
   hundred pixels above the footer's newsletter block - the same CTA twice.
   Hide the panel, not the sidebar, so the Raptive slot below it survives. */
@media (max-width:991px){.rbc-sidebar .ev-snl{display:none;}}
/* === EV - reserve the header ad's true height (12 Aug 2026) ===
   Raptive's Header unit is configured with adSizes up to 970x250 and 728x250
   (read from window.adthrive.siteAds), so it can serve a 250px creative on
   every device class - but their own CSS reserves only 90px on desktop/tablet
   and 150px on phone. A tall creative lands in a short box and shoves the
   whole document down: measured a single 0.1444 layout shift against <body>
   8.7s after load, which was the page's entire CLS and its one failing Core
   Web Vital.
   Reserve what the slot can actually serve. This changes nothing about which
   ads run or how many. Header only - reserving on the footer slots would just
   add dead space, since nothing sits below them.
   Cost: when a 90px or 320x50 creative serves, the surplus shows as blank.
   The zero-whitespace alternative is asking Raptive to drop 970x250/728x250
   from the Header unit, which caps it at 100px.

   >>> REVIEW — 24 Aug 2026 <<<
   Raptive have now replied confirming they "adjusted both the Header ad and
   the .adthrive-auto-injected-player-container element to ensure there is now
   reserved space." Your ticket had asked them to align the header reservation
   with the sizes actually being served, because a 90px creative was rendering
   into this 250px box.
   If they lowered their reservation to match real creatives, this override
   now forces the box back to 250px and keeps the dead whitespace - and may
   re-create the mismatch you reported. If they did NOT touch the header
   reservation, removing this reintroduces the 0.1444 shift.
   DO NOT delete blind. Test it: comment this block out, load an article in a
   clean incognito window (no ad blocker, no VPN), and measure CLS. Keep
   whichever version measures lower. */
html body .adthrive-header-desktop,
html body .adthrive-header-tablet,
html body .adthrive-header-phone,
html body .adthrive-header-mobile{min-height:250px !important;}
/* === Reserve space for images shipped without dimensions (24 Aug 2026) ===
   15 of 32 images on a sampled article carry neither width/height attributes
   nor a CSS aspect-ratio, so each is a potential shift as it decodes. Most
   were small social icons, so treat this as prevention rather than a fix.
   16/9 matches the pixwell_780x0-2x featured-image ratio used sitewide.
   CHECK A GALLERY POST before keeping this - if galleries use a different
   ratio, scope the selector more narrowly. */
.entry-content img:not([width]):not([height]),
.rbc-content img:not([width]):not([height]){aspect-ratio:16/9;width:100%;height:auto}
.entry-content img[width][height],
.rbc-content img[width][height]{height:auto}