/*
Theme Name: EcomVengers
Theme URI: https://ecomvengers.com
Description: EcomVengers child theme for Hello Elementor. Holds all custom templates so parent theme updates cannot overwrite them.
Author: EcomVengers
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/
/*! Icons: Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com - License: CC BY 4.0 - Copyright 2023 Fonticons, Inc. */


/* ---------- Onest (self-hosted, variable 100-900) ---------- */
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/onest-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/onest-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/onest-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/onest-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


  :root{
    --orange:#FF6A00; --orange-soft:#FF8C33; --orange-deep:#C43400; /* Darkened for contrast */
    --ink:#0A0A0A; --ink-soft:#1A1A1A; --paper:#FFFFFF; --paper-2:#FAFAFA;
    --line:#EDEDED; --muted:#525252; /* Darkened for contrast */
  }
  *{font-family:'Onest',sans-serif;box-sizing:border-box;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body{background:var(--paper);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;margin:0;}
  ::selection{background:var(--orange);color:#fff;}
  ::-webkit-scrollbar{width:10px;} ::-webkit-scrollbar-track{background:#fff;}
  ::-webkit-scrollbar-thumb{background:var(--orange);border-radius:10px;}

  .display{font-weight:900;letter-spacing:-0.04em;line-height:0.92;}
  .logofont{font-weight:900;letter-spacing:-0.05em;}
  .orange-grad{background:linear-gradient(135deg,#FF6A00 0%,#FF9333 60%,#FFB366 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .orange-grad-bg{background:linear-gradient(135deg,#FF6A00 0%,#FF8C33 50%,#FFB366 100%);}
  .ink-grad-bg{background:linear-gradient(135deg,#0A0A0A 0%,#1A1A1A 60%,#2A2A2A 100%);}

  .btn-3d{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:12px;font-weight:700;font-size:.95rem;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;transform:translateY(-3px);box-shadow:0 6px 0 0 #B83D00,0 12px 25px -8px rgba(255,106,0,.55);}
  .btn-3d:hover{transform:translateY(-5px);box-shadow:0 8px 0 0 #B83D00,0 18px 35px -8px rgba(255,106,0,.7);}
  .btn-3d:active{transform:translateY(0);box-shadow:0 2px 0 0 #B83D00;}
  .btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:12px;font-weight:700;font-size:.95rem;border:1.5px solid var(--ink);transition:all .25s;background:#fff;}
  .btn-ghost:hover{background:var(--ink);color:#fff;transform:translateY(-2px);}

  .card-3d{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.5rem;box-shadow:0 1px 0 rgba(0,0,0,.02),0 16px 35px -22px rgba(0,0,0,.15);transition:box-shadow .35s,transform .35s;overflow:hidden;}
  .card-3d:hover{box-shadow:0 1px 0 rgba(255,106,0,.1),0 24px 50px -22px rgba(255,106,0,.35);transform:translateY(-4px);}
  .card-3d::before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%),rgba(255,106,0,.08),transparent 40%);opacity:0;transition:opacity .3s;pointer-events:none;}
  .card-3d:hover::before{opacity:1;}

  .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:.4rem .85rem;border-radius:999px;background:#FFF1E6;color:var(--orange-deep);border:1px solid #FFD9B8;}
  .eyebrow.dark{background:#161616;color:#FF8C33;border-color:#2A2A2A;}

  .marquee-wrapper{overflow:hidden;padding:1rem 0;}
  .marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite;}
  .marquee-track:hover{animation-play-state:paused;}
  .marquee-set{display:flex;gap:1.5rem;flex-shrink:0;padding-right:1.5rem;}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .plat-chip{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700;white-space:nowrap;flex-shrink:0;height:46px;transition:border-color .3s,box-shadow .3s;}
  .plat-chip:hover{border-color:var(--orange);box-shadow:0 8px 20px -8px rgba(255,106,0,.3);}
  .plat-chip i{font-size:1.2rem;width:24px;text-align:center;}

  @keyframes floaty{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-14px) rotate(3deg);}}
  .floaty{animation:floaty 6s ease-in-out infinite;}
  .floaty-2{animation:floaty 8s ease-in-out infinite reverse;}

  .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal-stagger > *{opacity:0;transform:translateY(25px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);}
  .reveal-stagger.in > *{opacity:1;transform:translateY(0);}
  .reveal-stagger.in > *:nth-child(1){transition-delay:.04s;} .reveal-stagger.in > *:nth-child(2){transition-delay:.10s;}
  .reveal-stagger.in > *:nth-child(3){transition-delay:.16s;} .reveal-stagger.in > *:nth-child(4){transition-delay:.22s;}
  .reveal-stagger.in > *:nth-child(5){transition-delay:.28s;} .reveal-stagger.in > *:nth-child(6){transition-delay:.34s;}
  .reveal-stagger.in > *:nth-child(7){transition-delay:.40s;} .reveal-stagger.in > *:nth-child(8){transition-delay:.46s;}
  .reveal-stagger.in > *:nth-child(9){transition-delay:.52s;}

  .mesh{position:absolute;inset:0;background:radial-gradient(50% 40% at 15% 20%,rgba(255,106,0,.10),transparent 60%),radial-gradient(40% 35% at 85% 30%,rgba(255,140,51,.08),transparent 60%),radial-gradient(60% 50% at 50% 100%,rgba(255,179,102,.10),transparent 60%);pointer-events:none;}
  .nav-link{position:relative;}
  .nav-link::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--orange);transition:width .3s;}
  .nav-link:hover::after{width:100%;}

  .stat-num{font-size:clamp(2.5rem,6vw,5rem);font-weight:900;letter-spacing:-0.05em;line-height:1;}
  .proc-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--orange) 10%,var(--orange) 90%,transparent);transform:translateX(-50%);}
  .glow-orange{box-shadow:0 0 0 1px rgba(255,106,0,.2),0 16px 40px -15px rgba(255,106,0,.45);}
  .ink-underline{background-image:linear-gradient(120deg,var(--orange) 0%,var(--orange) 100%);background-repeat:no-repeat;background-size:100% 14%;background-position:0 88%;padding:0 .1em;}

  .mask-line{overflow:hidden;display:block;line-height:1.1;padding-bottom:0.1em;margin-bottom:-0.1em;}
  .mask-text{display:inline-block;transform:translateY(110%);animation:maskUp 1.1s cubic-bezier(.2,.8,.2,1) forwards;}
  @keyframes maskUp{to{transform:translateY(0);}}
  .d1{animation-delay:.2s;} .d2{animation-delay:.35s;} .d3{animation-delay:.5s;} .d4{animation-delay:.65s;}

  .word-rotate-container {
    display: inline-block;
    height: 1.2em;
    overflow: hidden;
    vertical-align: bottom;
    position: relative;
    top: 0.04em;
    padding-bottom: 0.15em;
    margin-bottom: -0.15em;
    line-height: 1.2;
  }
  .word-rotate-list {
    display: block;
    animation: rotateWords 8s 1.35s infinite cubic-bezier(0.77, 0, 0.175, 1);
  }
  .word-rotate-list span {
    display: block;
    height: 1.2em;
    line-height: 1.2em;
    white-space: nowrap;
  }
  @keyframes rotateWords {
      0%, 20% { transform: translateY(0); }
      26%, 46% { transform: translateY(-1.2em); }
      52%, 72% { transform: translateY(-2.4em); }
      78%, 100% { transform: translateY(-3.6em); }
  }

  .tcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.75rem;box-shadow:0 16px 35px -28px rgba(0,0,0,.25);}

  .faq-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem 1.5rem;box-shadow:0 10px 28px -20px rgba(0,0,0,.15);transition:box-shadow .3s,border-color .3s;}
  .faq-item.active{border-color:#FFD9B8;box-shadow:0 16px 35px -20px rgba(255,106,0,.25);}
  .faq-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;width:100%;background:none;border:none;text-align:left;padding:0;font-family:inherit;}
  .faq-header:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:8px;}
  .faq-answer{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.8,.2,1);}
  .faq-item.active .faq-answer{max-height:500px;}
  .faq-item.active .faq-answer-inner{padding-top:1rem;}
  .faq-chev{transition:transform .3s;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#FFF1E6;display:grid;place-items:center;color:var(--orange-deep);}
  .faq-item.active .faq-chev{transform:rotate(45deg);}
  .faq-item.active .q-text{color:var(--orange-deep);}

  .dash-card{opacity:0;transform:translateX(30px) rotateY(-6deg);animation:dashIn .9s cubic-bezier(.2,.8,.2,1) .3s forwards;transform-origin:left center;}
  @keyframes dashIn{to{opacity:1;transform:translateX(0) rotateY(0);}}
  .chart-line{stroke-dasharray:800;stroke-dashoffset:800;animation:drawLine 2.5s ease-out .8s forwards;}
  @keyframes drawLine{to{stroke-dashoffset:0;}}
  .chart-area{opacity:0;animation:fadeArea 1s ease-out 2.2s forwards;}
  @keyframes fadeArea{to{opacity:1;}}
  .chart-dot{opacity:0;animation:popDot .4s ease-out forwards;}
  @keyframes popDot{to{opacity:1;}}
  .bar-grow{transform-origin:left;transform:scaleX(0);animation:barGrow 1.2s cubic-bezier(.2,.8,.2,1) forwards;}
  @keyframes barGrow{to{transform:scaleX(1);}}
  .ring-progress{stroke-dasharray:264;stroke-dashoffset:264;animation:fillRing 1.8s ease-out 1s forwards;}
  @keyframes fillRing{to{stroke-dashoffset:10.56;}}
  .counter-badge{opacity:0;animation:badgeIn .6s ease-out 1.5s forwards;}
  @keyframes badgeIn{from{opacity:0;transform:translateY(10px) scale(.9);}to{opacity:1;transform:translateY(0) scale(1);}}
  .live-dot{position:relative;width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;}
  .live-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #22c55e;animation:livePulse 1.6s ease-out infinite;}
  @keyframes livePulse{0%{transform:scale(.6);opacity:1;}100%{transform:scale(1.8);opacity:0;}}
  .ticker-line{overflow:hidden;white-space:nowrap;}
  .ticker-content{display:inline-block;animation:ticker 18s linear infinite;}
  @keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .dot-pulse{position:relative;width:10px;height:10px;border-radius:50%;background:var(--orange);flex-shrink:0;}
  .dot-pulse::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--orange);animation:pulse 1.8s ease-out infinite;}
  @keyframes pulse{0%{transform:scale(.6);opacity:1;}100%{transform:scale(1.6);opacity:0;}}

  .pill-3d{position:relative;border-radius:18px;background:#fff;border:1px solid var(--line);padding:1.25rem 1rem;transition:all .35s;transform-style:preserve-3d;}
  .pill-3d:hover{transform:translateY(-6px) rotateX(8deg);box-shadow:0 24px 45px -18px rgba(255,106,0,.4);border-color:#FFD9B8;}
  .pill-3d.core{border-color:#FFD9B8;background:linear-gradient(180deg,#FFFBF6 0%,#FFFFFF 100%);}
  .burst{position:relative;}
  .burst::before{content:"";position:absolute;inset:-12%;border-radius:50%;opacity:.12;z-index:-1;animation:spin 20s linear infinite;background:conic-gradient(from 0deg,var(--orange) 0 10deg,transparent 10deg 20deg,var(--orange) 20deg 30deg,transparent 30deg 40deg,var(--orange) 40deg 50deg,transparent 50deg 60deg,var(--orange) 60deg 70deg,transparent 70deg 80deg,var(--orange) 80deg 90deg,transparent 90deg 100deg,var(--orange) 100deg 110deg,transparent 110deg 120deg,var(--orange) 120deg 130deg,transparent 130deg 140deg,var(--orange) 140deg 150deg,transparent 150deg 160deg,var(--orange) 160deg 170deg,transparent 170deg 180deg,var(--orange) 180deg 190deg,transparent 190deg 200deg,var(--orange) 200deg 210deg,transparent 210deg 220deg,var(--orange) 220deg 230deg,transparent 230deg 240deg,var(--orange) 240deg 250deg,transparent 250deg 260deg,var(--orange) 260deg 270deg,transparent 270deg 280deg,var(--orange) 280deg 290deg,transparent 290deg 300deg,var(--orange) 300deg 310deg,transparent 310deg 320deg,var(--orange) 320deg 330deg,transparent 330deg 340deg,var(--orange) 340deg 350deg,transparent 350deg 360deg);}
  @keyframes spin{to{transform:rotate(360deg);}}
  .tilt{transform-style:preserve-3d;transition:transform .15s ease-out;will-change:transform;}

  #mobile-menu{transition:max-height .35s ease,opacity .25s ease;max-height:0;opacity:0;overflow:hidden;}
  #mobile-menu.open{max-height:500px;opacity:1;}

  /* ===== EBAY SUSPENSION REMOVAL ANIMATION (24s loop) ===== */
  .ev-ap,.ev-sb,.ev-cg,.ev-win{opacity:0;}

  @keyframes evsa{0%,64%{opacity:1}68%,96%{opacity:0}100%{opacity:1}}
  @keyframes evsb{0%,64%{opacity:0}70%,96%{opacity:1}99%,100%{opacity:0}}
  @keyframes evnav{0%,9%{transform:translateY(0)}14%,24%{transform:translateY(32px)}29%,41%{transform:translateY(64px)}46%,64%{transform:translateY(96px)}69%,96%{transform:translateY(128px)}100%{transform:translateY(0)}}
  @keyframes evev{0%,9%{opacity:0;transform:translateY(14px)}14%,94%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(14px)}}
  @keyframes evcd{0%,28%{opacity:1}33%,96%{opacity:0}100%{opacity:1}}
  @keyframes evcg{0%,29%{opacity:0}34%,94%{opacity:1}98%,100%{opacity:0}}
  @keyframes evap{0%,41%{opacity:0;transform:translateY(180px)}46%,64%{opacity:1;transform:translateY(0)}69%,100%{opacity:0;transform:translateY(180px)}}
  @keyframes evtype{0%,46%{transform:scaleX(0)}56%,100%{transform:scaleX(1)}}
  @keyframes evbtn{0%,60%{transform:scale(1)}61.5%{transform:scale(.93)}63.5%,100%{transform:scale(1)}}
  @keyframes evrip{0%,60%{transform:scale(.2);opacity:.45}67%{transform:scale(3.4);opacity:0}100%{transform:scale(.2);opacity:0}}
  @keyframes evcur{0%,7%{transform:translate(596px,64px)}14%,20%{transform:translate(330px,118px)}26%{transform:translate(252px,214px)}32%{transform:translate(408px,214px)}37%{transform:translate(614px,300px)}44%{transform:translate(470px,300px)}52%{transform:translate(392px,262px)}59%,66%{transform:translate(582px,366px)}74%,100%{transform:translate(596px,64px)}}
  @keyframes evclk{0%,60%{transform:scale(1)}62%{transform:scale(.82)}64%,100%{transform:scale(1)}}
  @keyframes evcurop{0%,78%{opacity:1}82%,97%{opacity:0}100%{opacity:1}}
  @keyframes evalert{0%,4%{opacity:.3}8%,100%{opacity:0}}
  @keyframes evload{0%,62%{transform:scaleX(0)}69%,100%{transform:scaleX(1)}}
  @keyframes evwin{0%,80%{opacity:0;transform:scale(.965)}85%,97%{opacity:1;transform:scale(1)}99%,100%{opacity:0;transform:scale(.965)}}
  @keyframes evring{0%,84%{stroke-dashoffset:264}92%,100%{stroke-dashoffset:0}}
  @keyframes evchk{0%,86%{stroke-dashoffset:70}93%,100%{stroke-dashoffset:0}}
  @keyframes evconf{0%,84%{transform:translateY(10px) rotate(0deg);opacity:0}88%{opacity:1}97%,100%{transform:translateY(-56px) rotate(160deg);opacity:0}}

  .ev-sa{animation:evsa 24s cubic-bezier(.2,.8,.2,1) infinite;}
  .ev-sb{animation:evsb 24s cubic-bezier(.2,.8,.2,1) infinite;}
  .ev-hl{animation:evnav 24s cubic-bezier(.34,1.15,.5,1) infinite;transform-box:view-box;}
  .ev-doc{animation:evev 24s cubic-bezier(.22,.9,.3,1) infinite;transform-box:view-box;}
  .ev-d1{animation-delay:-1s;} .ev-d2{animation-delay:-.5s;}
  .ev-cd{animation:evcd 24s cubic-bezier(.2,.8,.2,1) infinite;}
  .ev-cg{animation:evcg 24s cubic-bezier(.34,1.56,.64,1) infinite;}
  .ev-k1{animation-delay:-.9s;} .ev-k2{animation-delay:-.45s;}
  .ev-ap{animation:evap 24s cubic-bezier(.22,.95,.3,1) infinite;transform-box:view-box;}
  .ev-ln{animation:evtype 24s cubic-bezier(.3,.7,.4,1) infinite;transform-box:view-box;}
  .ev-l1{animation-delay:-.75s;} .ev-l2{animation-delay:-.5s;} .ev-l3{animation-delay:-.25s;}
  .ev-btn{animation:evbtn 24s cubic-bezier(.2,.8,.2,1) infinite;transform-box:view-box;transform-origin:582px 366px;}
  .ev-rip{animation:evrip 24s cubic-bezier(.2,.8,.3,1) infinite;transform-box:view-box;transform-origin:582px 366px;}
  .ev-curwrap{animation:evcurop 24s linear infinite;}
  .ev-cur{animation:evcur 24s cubic-bezier(.45,.05,.3,1) infinite;}
  .ev-clk{animation:evclk 24s cubic-bezier(.2,.8,.2,1) infinite;transform-box:view-box;transform-origin:0 0;}
  .ev-pulse{animation:evalert 24s ease-out infinite;}
  .ev-bar{animation:evload 24s cubic-bezier(.3,.8,.4,1) infinite;transform-box:view-box;transform-origin:174px 0;}
  .ev-win{animation:evwin 24s cubic-bezier(.34,1.3,.5,1) infinite;transform-box:view-box;transform-origin:415px 220px;}
  .ev-ring{stroke-dasharray:264;stroke-dashoffset:264;animation:evring 24s cubic-bezier(.2,.8,.2,1) infinite;}
  .ev-check{stroke-dasharray:70;stroke-dashoffset:70;animation:evchk 24s cubic-bezier(.2,.8,.2,1) infinite;}
  .ev-conf{animation:evconf 24s cubic-bezier(.3,.7,.4,1) infinite;transform-box:view-box;}
  .ev-c2{animation-delay:-.35s;} .ev-c3{animation-delay:-.7s;} .ev-c4{animation-delay:-1.05s;} .ev-c5{animation-delay:-1.4s;}

  /* ===== RESPONSIVE ===== */
  img,svg,video{max-width:100%;height:auto;}

  /* Tablet & below */
  @media (max-width:1023px){
    .proc-line{display:none;}
    .dash-card{transform:none !important;animation:none !important;opacity:1 !important;}
    .display{line-height:1;}
  }

  /* Small tablet / large phone */
  @media (max-width:767px){
    .stat-num{font-size:clamp(2rem,9vw,3rem);}
    .eyebrow{font-size:.66rem;letter-spacing:.12em;padding:.35rem .7rem;}
    .btn-3d,.btn-ghost{padding:.7rem 1.1rem;font-size:.9rem;}
  }

  /* Phones */
  @media (max-width:640px){
    .card-3d{padding:1.25rem;border-radius:16px;}
    .tcard{padding:1.25rem;border-radius:16px;}
    .faq-item{padding:1rem 1.1rem;border-radius:14px;}
    .btn-3d,.btn-ghost{width:100%;justify-content:center;}
    .marquee-track{animation-duration:20s;}
    .tilt{transform:none !important;}
    .burst::before{display:none;}
  }

  /* Very small phones */
  @media (max-width:380px){
    .eyebrow{font-size:.6rem;}
    .card-3d{padding:1rem;}
  }

  /* Devices without hover (touch): disable hover-only transforms */
  @media (hover:none){
    .card-3d:hover{transform:none;}
    .pill-3d:hover{transform:none;}
    .btn-3d:hover{transform:translateY(-3px);}
  }

  /* Respect reduced-motion preferences */
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
    .mask-text{transform:none !important;}
    .reveal,.reveal-stagger > *{opacity:1 !important;transform:none !important;}
  }

/* ---------- Editorial content (single posts, generic pages) ---------- */
.ev-prose{color:var(--ink);font-size:1.0625rem;line-height:1.75;}
.ev-prose > * + *{margin-top:1.25em;}
.ev-prose h2{font-size:1.6rem;font-weight:900;letter-spacing:-.02em;margin-top:2em;line-height:1.25;}
.ev-prose h3{font-size:1.25rem;font-weight:800;margin-top:1.75em;line-height:1.3;}
.ev-prose p{color:#333;}
.ev-prose a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px;}
.ev-prose a:hover{color:var(--orange);}
.ev-prose ul,.ev-prose ol{padding-left:1.35em;}
.ev-prose ul{list-style:disc;}
.ev-prose ol{list-style:decimal;}
.ev-prose li + li{margin-top:.45em;}
.ev-prose blockquote{border-left:3px solid var(--orange);padding:.25em 0 .25em 1.15em;color:var(--muted);font-style:italic;}
.ev-prose img{border-radius:14px;height:auto;max-width:100%;}
.ev-prose code{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:.15em .4em;font-size:.9em;}
.ev-prose pre{background:var(--ink);color:#fff;border-radius:14px;padding:1.1em 1.25em;overflow-x:auto;}
.ev-prose pre code{background:none;border:0;color:inherit;padding:0;}
.ev-prose table{width:100%;border-collapse:collapse;font-size:.95em;display:block;overflow-x:auto;}
.ev-prose th,.ev-prose td{border:1px solid var(--line);padding:.6em .8em;text-align:left;}
.ev-prose th{background:var(--paper-2);font-weight:800;}
.ev-prose h2:first-child,.ev-prose h3:first-child{margin-top:0;}

/* ---------- Pagination ---------- */
.ev-pagination{margin-top:3rem;}
.ev-pagination .nav-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;}
.ev-pagination .page-numbers{min-width:2.5rem;height:2.5rem;display:inline-grid;place-items:center;padding:0 .75rem;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:700;font-size:.9rem;color:var(--muted);transition:all .2s;}
.ev-pagination .page-numbers:hover{border-color:var(--ink);color:var(--ink);}
.ev-pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff;}
.ev-pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------- Tag links ---------- */
.tag-links a{display:inline-block;margin-right:.4rem;color:var(--orange-deep);font-weight:700;}
.tag-links a:hover{color:var(--orange);}
/* ---------- Inline SVG icons (replaces the Font Awesome webfont) ---------- */
.ev-icon{display:inline-block;height:1em;width:auto;overflow:visible;vertical-align:-.125em;fill:currentColor;flex-shrink:0;}
#menu-btn .ev-i-close{display:none;}
#menu-btn.is-open .ev-i-bars{display:none;}
#menu-btn.is-open .ev-i-close{display:inline-block;}

/* ---------- Mobile overflow guard ----------
   Flex and grid items default to min-width:auto, so a child's min-content width
   (e.g. the 440x140 and 680x420 chart SVGs) can force a column wider than the
   viewport. The section's overflow-hidden then clips the text. Neutralise both. */
svg:not(.ev-icon){max-width:100%;}
@media (max-width:1023px){
  #main-content .grid,
  #main-content .grid > *,
  #main-content section > .relative,
  #main-content section > div{min-width:0;}
  #main-content img,
  #main-content svg:not(.ev-icon){max-width:100%;height:auto;}
}
