/* ==========================================================================
   evsubsidy.rand3.com — Design System
   전기차 보조금 정보 플랫폼 — 공용 디자인 토큰 & 컴포넌트
   ========================================================================== */

:root{
  /* Color */
  --c-primary:#0F3B5C;
  --c-primary-600:#134A73;
  --c-primary-700:#0B2C46;
  --c-accent:#00B899;
  --c-accent-600:#00A085;
  --c-accent-soft:#E3FAF4;
  --c-bg:#F6F8FA;
  --c-surface:#FFFFFF;
  --c-surface-alt:#F0F3F6;
  --c-border:#E3E8ED;
  --c-text:#182635;
  --c-text-soft:#54606E;
  --c-text-faint:#8894A0;
  --c-warn-bg:#FFFBEA;
  --c-warn-border:#F6E05E;
  --c-danger:#C0392B;
  --c-link:#0B5FA5;

  /* Spacing (8pt) */
  --sp-1:4px; --sp-2:8px; --sp-3:16px; --sp-4:24px; --sp-5:32px;
  --sp-6:40px; --sp-7:56px; --sp-8:72px; --sp-9:96px; --sp-10:120px;

  /* Radius */
  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px;

  /* Shadow */
  --sh-sm:0 1px 2px rgba(15,59,92,.06), 0 1px 1px rgba(15,59,92,.04);
  --sh-md:0 8px 24px rgba(15,59,92,.10);
  --sh-lg:0 20px 48px rgba(15,59,92,.16);

  /* Type */
  --font-base:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  --content-w:800px;
  --wrap-w:1240px;

  --dur:220ms;
  --ease:cubic-bezier(.2,.7,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.evsub{
  margin:0;
  font-family:var(--font-base);
  color:var(--c-text);
  background:var(--c-bg);
  line-height:1.7;
  letter-spacing:-0.011em;
  -webkit-font-smoothing:antialiased;
}
.evsub img{max-width:100%;display:block}
.evsub a{color:var(--c-link);text-decoration:none}
.evsub a:hover{text-decoration:underline}
.evsub h1,.evsub h2,.evsub h3,.evsub h4{
  font-weight:800;color:var(--c-primary-700);line-height:1.35;letter-spacing:-0.02em;margin:0 0 var(--sp-3);
}
.evsub h1{font-size:clamp(30px,4.4vw,52px);font-weight:800}
.evsub h2{font-size:clamp(22px,2.6vw,32px);margin-top:var(--sp-8)}
.evsub h3{font-size:clamp(18px,1.8vw,22px);margin-top:var(--sp-5)}
.evsub p{margin:0 0 var(--sp-3);color:var(--c-text)}
.evsub .lede{font-size:19px;color:var(--c-text-soft)}

.evsub :focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:4px}

@media (prefers-reduced-motion: reduce){
  .evsub *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* Layout */
.evsub .wrap{max-width:var(--wrap-w);margin:0 auto;padding:0 var(--sp-4)}
.evsub .content-col{max-width:var(--content-w);margin:0 auto;padding:0 var(--sp-4)}
.evsub section{padding:var(--sp-9) 0}
.evsub section.tight{padding:var(--sp-7) 0}
@media (max-width:640px){
  .evsub section{padding:var(--sp-7) 0}
  .evsub .wrap,.evsub .content-col{padding:0 var(--sp-3)}
}

/* Header / Nav */
.evsub-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--c-border)}
.evsub-header .bar{display:flex;align-items:center;justify-content:space-between;height:72px;max-width:var(--wrap-w);margin:0 auto;padding:0 var(--sp-4)}
.evsub-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--c-primary-700)}
.evsub-logo img{height:32px;width:32px;border-radius:8px}
.evsub-nav{display:flex;align-items:center;gap:var(--sp-5)}
.evsub-nav a{color:var(--c-text);font-weight:600;font-size:15px}
.evsub-nav a:hover{color:var(--c-primary);text-decoration:none}
.evsub-cta{background:var(--c-primary);color:#fff !important;padding:11px 20px;border-radius:var(--r-pill);font-weight:700;font-size:14px;min-height:44px;display:inline-flex;align-items:center;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.evsub-cta:hover{background:var(--c-primary-600);text-decoration:none;transform:translateY(-1px)}
.evsub-navtoggle{display:none;background:none;border:0;padding:8px;min-width:44px;min-height:44px}
.evsub-navtoggle span{display:block;width:22px;height:2px;background:var(--c-primary-700);margin:5px auto;border-radius:2px}
@media (max-width:900px){
  .evsub-nav{position:fixed;inset:72px 0 0 0;background:#fff;flex-direction:column;align-items:flex-start;padding:var(--sp-4);gap:var(--sp-3);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);overflow:auto}
  .evsub-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .evsub-navtoggle{display:block}
  .evsub-nav a{font-size:18px;padding:10px 0}
}

/* Hero */
.evsub-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--c-primary-700) 0%,var(--c-primary) 52%,var(--c-accent-600) 130%);color:#fff;padding:var(--sp-10) 0 var(--sp-9)}
.evsub-hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(560px 360px at 82% 12%, rgba(0,184,153,.35), transparent 60%),
  radial-gradient(700px 460px at 8% 90%, rgba(255,255,255,.10), transparent 55%);
  pointer-events:none}
.evsub-hero .hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-8);align-items:center}
.evsub-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:6px 14px;border-radius:var(--r-pill);font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:var(--sp-4)}
.evsub-hero h1{color:#fff;margin-bottom:var(--sp-3)}
.evsub-hero p.lede{color:rgba(255,255,255,.86);max-width:560px}
.evsub-hero-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-5);flex-wrap:wrap}
.evsub-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--r-pill);font-weight:700;font-size:15px;border:1px solid transparent;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease);cursor:pointer}
.evsub-btn:hover{transform:translateY(-1px);text-decoration:none}
.evsub-btn.primary{background:var(--c-accent);color:#06231d !important}
.evsub-btn.primary:hover{background:var(--c-accent-600)}
.evsub-btn.ghost{background:rgba(255,255,255,.08);color:#fff !important;border-color:rgba(255,255,255,.5)}
.evsub-btn.ghost:hover{background:rgba(255,255,255,.18)}
.evsub-btn.outline{background:transparent;color:var(--c-primary) !important;border-color:var(--c-border)}
.evsub-btn.outline:hover{border-color:var(--c-primary);background:var(--c-surface-alt)}

.evsub-hero-visual{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);background:
  linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.02)),
  repeating-linear-gradient(120deg, rgba(255,255,255,.05) 0 2px, transparent 2px 26px);
  border:1px solid rgba(255,255,255,.28);box-shadow:var(--sh-lg);overflow:hidden}
.evsub-hero-visual .ring{position:absolute;border-radius:50%;border:1.5px solid rgba(0,184,153,.55)}
.evsub-hero-visual .ring.r1{width:64%;height:64%;top:10%;left:8%}
.evsub-hero-visual .ring.r2{width:36%;height:36%;bottom:10%;right:10%;border-color:rgba(255,255,255,.5)}
.evsub-hero-visual .plug{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background:rgba(0,184,153,.9);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 14px rgba(0,184,153,.14)}
.evsub-hero-visual .plug svg{width:56px;height:56px}
.evsub-hero-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);margin-top:var(--sp-8)}
.evsub-hero-stats .stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:var(--r-md);padding:var(--sp-4)}
.evsub-hero-stats .stat b{display:block;font-size:26px;font-weight:800;color:#fff}
.evsub-hero-stats .stat span{font-size:13px;color:rgba(255,255,255,.78)}
@media (max-width:900px){
  .evsub-hero .hero-grid{grid-template-columns:1fr}
  .evsub-hero-visual{max-width:420px}
  .evsub-hero-stats{grid-template-columns:1fr 1fr}
}

/* Section headings */
.evsub-kicker{color:var(--c-accent-600);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--sp-2)}
.evsub-section-head{max-width:640px;margin:0 auto var(--sp-6);text-align:center}
.evsub-section-head h2{margin-top:0}
.evsub-section-head p{color:var(--c-text-soft)}

/* Cards / Carousel */
.evsub-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
@media (max-width:960px){.evsub-cards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.evsub-cards{grid-template-columns:1fr}}
.evsub-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.evsub-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.evsub-card .thumb{aspect-ratio:16/10;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-accent-600) 100%);position:relative;overflow:hidden}
.evsub-card .thumb .pattern{position:absolute;inset:0;opacity:.5;background:
  radial-gradient(120px 90px at 15% 20%, rgba(255,255,255,.30), transparent 60%),
  radial-gradient(160px 120px at 85% 85%, rgba(255,255,255,.18), transparent 60%)}
.evsub-card .thumb .tag{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);color:var(--c-primary-700);font-weight:700;font-size:12px;padding:5px 12px;border-radius:var(--r-pill)}
.evsub-card .body{padding:var(--sp-4)}
.evsub-card h3{margin:0 0 6px;font-size:17px}
.evsub-card p{color:var(--c-text-soft);font-size:14.5px;margin:0}
.evsub-card .meta{margin-top:var(--sp-3);font-size:12.5px;color:var(--c-text-faint);display:flex;gap:10px}

.evsub-carousel{display:flex;gap:var(--sp-4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--sp-2);-webkit-overflow-scrolling:touch}
.evsub-carousel::-webkit-scrollbar{height:8px}
.evsub-carousel::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:99px}
.evsub-carousel .evsub-card{min-width:280px;scroll-snap-align:start;flex:0 0 auto}
@media (max-width:640px){.evsub-carousel .evsub-card{min-width:78vw}}

/* Buttons row / CTA band */
.evsub-cta-band{background:linear-gradient(120deg,var(--c-primary-700),var(--c-primary));border-radius:var(--r-lg);padding:var(--sp-7) var(--sp-6);color:#fff;text-align:center}
.evsub-cta-band h2{color:#fff}
.evsub-cta-band p{color:rgba(255,255,255,.82);max-width:520px;margin:0 auto var(--sp-4)}

/* Tool widgets */
.evsub-tool{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:var(--sp-6)}
.evsub-tool .tool-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:flex-end}
.evsub-field{display:flex;flex-direction:column;gap:6px;flex:1 1 220px}
.evsub-field label{font-size:13px;font-weight:700;color:var(--c-text-soft)}
.evsub-field select,.evsub-field input{min-height:46px;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:0 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--c-text)}
.evsub-field select:focus,.evsub-field input:focus{border-color:var(--c-primary)}
.evsub-tool .evsub-btn{min-height:46px}
.evsub-tool-result{margin-top:var(--sp-4)}
.evsub-tool-note{font-size:12.5px;color:var(--c-text-faint);margin-top:var(--sp-3)}

table.evsub-table{width:100%;border-collapse:collapse;margin:var(--sp-4) 0;font-size:14.5px;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-sm);overflow:hidden}
table.evsub-table th,table.evsub-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--c-border)}
table.evsub-table thead th{background:var(--c-surface-alt);color:var(--c-primary-700);font-weight:700;font-size:13px}
table.evsub-table tr:last-child td{border-bottom:0}
table.evsub-table tbody tr:hover{background:var(--c-accent-soft)}
.evsub-table-wrap{overflow-x:auto}
.evsub-bar{height:10px;background:var(--c-surface-alt);border-radius:99px;overflow:hidden}
.evsub-bar > span{display:block;height:100%;background:linear-gradient(90deg,var(--c-accent-600),var(--c-accent));border-radius:99px}

/* Footer */
.evsub-footer{background:var(--c-primary-700);color:rgba(255,255,255,.82);padding:var(--sp-8) 0 var(--sp-5)}
.evsub-footer a{color:rgba(255,255,255,.82)}
.evsub-footer a:hover{color:#fff}
.evsub-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-6)}
.evsub-footer h4{color:#fff;font-size:14px;margin:0 0 var(--sp-3)}
.evsub-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.evsub-footer .brand{display:flex;align-items:center;gap:10px;font-weight:800;color:#fff;font-size:17px;margin-bottom:var(--sp-2)}
.evsub-footer .disclaimer{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.14);font-size:12.5px;line-height:1.8;color:rgba(255,255,255,.6)}
@media (max-width:760px){.evsub-footer .cols{grid-template-columns:1fr}}

/* Post / Page content */
.evsub-article{background:var(--c-surface)}
.evsub-article .article-head{padding:var(--sp-8) 0 var(--sp-6);text-align:center;background:var(--c-surface-alt);border-bottom:1px solid var(--c-border)}
.evsub-article .article-head .cat{display:inline-block;background:var(--c-accent-soft);color:var(--c-accent-600);font-weight:700;font-size:12.5px;padding:5px 12px;border-radius:var(--r-pill);margin-bottom:var(--sp-3)}
.evsub-article .article-head h1{max-width:760px;margin:0 auto var(--sp-3)}
.evsub-article .article-meta{color:var(--c-text-faint);font-size:13.5px}
.evsub-article .entry-content{padding:var(--sp-8) 0}
.evsub-article .entry-content h2{border-top:1px solid var(--c-border);padding-top:var(--sp-6)}
.evsub-article .entry-content h2:first-child{border-top:0;padding-top:0}
.evsub-article .entry-content ul,.evsub-article .entry-content ol{padding-left:1.3em;margin:0 0 var(--sp-3)}
.evsub-article .entry-content li{margin-bottom:6px}
.evsub-article .entry-content blockquote{margin:var(--sp-4) 0;padding:var(--sp-4);background:var(--c-accent-soft);border-left:4px solid var(--c-accent);border-radius:var(--r-sm);color:var(--c-primary-700);font-weight:600}
.evsub-toc{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin:0 0 var(--sp-6)}
.evsub-toc b{display:block;margin-bottom:8px;color:var(--c-primary-700)}
.evsub-toc ol{margin:0;padding-left:1.2em;font-size:14.5px}
.evsub-toc a{color:var(--c-text-soft)}
.ai-notice,.affiliate-notice,.legal-notice{}
.legal-notice{margin-top:var(--sp-5);padding:var(--sp-4);background:var(--c-surface-alt);border-radius:var(--r-sm);font-size:13px;color:var(--c-text-soft);line-height:1.8}
.evsub-related{background:var(--c-surface-alt);border-top:1px solid var(--c-border)}

.evsub-page .entry-content{padding:var(--sp-8) 0;max-width:var(--content-w);margin:0 auto}

/* Badges/pills */
.evsub-pill{display:inline-flex;align-items:center;gap:6px;background:var(--c-accent-soft);color:var(--c-accent-600);font-weight:700;font-size:12.5px;padding:4px 12px;border-radius:var(--r-pill)}

/* Easy Table of Contents plugin — restyle to match design system */
#ez-toc-container{background:var(--c-surface-alt) !important;border:1px solid var(--c-border) !important;border-radius:var(--r-md) !important;padding:var(--sp-4) var(--sp-5) !important;box-shadow:none !important;margin:0 0 var(--sp-6) !important}
#ez-toc-container .ez-toc-title{color:var(--c-primary-700) !important;font-weight:800 !important;font-family:var(--font-base) !important}
.ez-toc-list a{color:var(--c-text-soft) !important;font-family:var(--font-base) !important}
.ez-toc-list a:hover{color:var(--c-primary) !important}

/* Core WP image/gallery/caption inside content */
.evsub-article .wp-caption,.evsub-page .wp-caption{max-width:100% !important}
.evsub-article .wp-caption-text,.evsub-page .wp-caption-text{font-size:13px;color:var(--c-text-faint);text-align:center;margin-top:6px}
.evsub-article .entry-content img,.evsub-page .entry-content img{border-radius:var(--r-md)}
.evsub-article .entry-content .wp-block-gallery,.evsub-page .entry-content .wp-block-gallery{gap:var(--sp-2)}

/* Utility fade-up (scroll reveal) */
.evsub-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.evsub-reveal.in{opacity:1;transform:translateY(0)}
