/* 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, revised 12 Sep 2026) ===
   Original problem: Raptive's Header unit can serve a 250px creative, but their
   own CSS reserves only 90px desktop/tablet and 150px phone. A tall creative
   landed in a short box and shoved 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. Fix: reserve what the slot can
   actually serve. 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.
   >>> REVISED - 12 Sep 2026 <<<
   DESKTOP/TABLET keep 250px: those placements still carry 970x250, 728x250 and
   300x250, so 250px remains the tallest creative that can serve.
   PHONE drops to 100px: on 11 Sep 2026 Raptive capped the mobile Header to
   320x50 and 320x100 only, at our request - 300x250 was removed (verified in
   window.adthrive.siteAds). 100px is now the tallest creative that can serve on
   phone, so a 250px reservation left 150-200px of permanent blank space at the
   top of every mobile pageview. Dashboard data behind the call: the whole mobile
   Header unit earns ~$5/day and 300x250 accounted for only ~$1/day of it, which
   is not worth that much of the first screen on a site where ~76% of traffic
   arrives from Google Discover on mobile.
   DUPLICATE: the same block lives in the WPCode snippet "EV - Social icons:
   header/footer overrides" (ID 154287), already updated. This copy loads later
   and wins the cascade on equal specificity, so the two must stay in sync.
   Also present and harmless: Raptive's own .adthrive-header-phone{150px} and an
   unscoped .adthrive-header{250px} - both lose to these selectors (0,1,2 beats
   0,1,0), so neither needs changing. */
html body .adthrive-header-desktop,
html body .adthrive-header-tablet{min-height:250px !important;}
html body .adthrive-header-phone,
html body .adthrive-header-mobile{min-height:100px !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}
/* === FIX: rails broken by the 24 Aug height:auto rule (28 Aug 2026) ===
   .ev-exrail__media and .ev-cnrail__media are aspect-ratio:16/10 boxes whose
   images must fill them at height:100% for object-fit:cover to do anything.
   Both blocks sit inside .entry-content / .rbc-content and their images carry
   width+height attributes, so they match the rule directly above and get
   height:auto instead. Each image then renders at its own natural ratio:
   measured 800/534 on the exrail lead (overflowed the box by 19px) and
   wider sources falling 18-35px short, showing the panel background as a
   strip under the photo. Restore the fill. !important is required because the
   24 Aug rule wins on specificity otherwise.
   Affects only these two blocks; nothing else on the site uses this pattern. */
.ev-exrail__media img,
.ev-cnrail__media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}
/* === end rails fix === */