/* ============================================
   PDFToolKit — Complete Stylesheet
   ============================================ */
:root {
  --brand:        #4F46E5;
  --brand-dark:   #3730A3;
  --brand-light:  #EEF0FF;
  --text-1:       #111827;
  --text-2:       #4B5563;
  --text-3:       #9CA3AF;
  --bg:           #FFFFFF;
  --bg-soft:      #F9FAFB;
  --border:       #E5E7EB;
  --r-sm:         6px;
  --r-md:         10px;
  --r-lg:         16px;
  --r-xl:         24px;
  --shadow-sm:    0 1px 3px rgba(0,0,0,0.06);
  --shadow-md:    0 4px 16px rgba(0,0,0,0.08);
  --shadow-lg:    0 8px 32px rgba(0,0,0,0.12);
  --font:         'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --max-w:        1200px;
  --t:            0.18s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--text-1);background:var(--bg);line-height:1.6;font-size:15px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
button{cursor:pointer;font-family:var(--font);border:none;background:none}

.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}

/* ── NAVBAR ─────────────────────────────── */
.navbar{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,0.93);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:8px}
.logo-icon{font-size:20px}
.logo-text{font-size:18px;font-weight:500;letter-spacing:-0.3px}
.logo-text strong{font-weight:800;color:var(--brand)}
.nav-links{display:flex;gap:28px}
.nav-links a{font-size:14px;font-weight:500;color:var(--text-2);transition:color var(--t)}
.nav-links a:hover{color:var(--text-1)}
.nav-toggle{display:none;font-size:22px;color:var(--text-1);padding:4px 8px;line-height:1}
.mobile-menu{display:none;flex-direction:column;background:#fff;border-bottom:1px solid var(--border);padding:8px 20px}
.mobile-menu a{padding:11px 0;font-size:15px;font-weight:500;color:var(--text-2);border-bottom:1px solid var(--border)}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu.open{display:flex}

/* ── HERO ────────────────────────────────── */
.hero{background:linear-gradient(135deg,#4F46E5 0%,#7C3AED 100%);padding:72px 0 60px;text-align:center;color:#fff}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:999px;padding:5px 16px;font-size:13px;font-weight:500;margin-bottom:24px}
.badge-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;display:inline-block}
.hero h1{font-size:clamp(30px,5vw,54px);font-weight:800;line-height:1.1;letter-spacing:-1.5px;margin-bottom:16px}
.hero-sub{font-size:17px;color:rgba(255,255,255,0.82);margin-bottom:36px;max-width:500px;margin-left:auto;margin-right:auto}
.search-wrap{position:relative;max-width:540px;margin:0 auto}
.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--text-3);pointer-events:none;font-style:normal}
#globalSearch{width:100%;padding:15px 20px 15px 50px;border:none;border-radius:999px;font-size:15px;font-family:var(--font);box-shadow:0 4px 28px rgba(0,0,0,0.2);outline:none;color:var(--text-1)}
#globalSearch::placeholder{color:var(--text-3)}
.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:200;max-height:380px;overflow-y:auto;display:none}
.search-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-1);transition:background var(--t)}
.search-item:last-child{border-bottom:none}
.search-item:hover,.search-item.focused{background:var(--bg-soft)}
.search-item-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.search-item-meta{display:flex;flex-direction:column;gap:1px}
.search-item-meta strong{font-size:14px;font-weight:600}
.search-item-meta span{font-size:12px;color:var(--text-3)}

/* ── STATS BAR ───────────────────────────── */
.stats-bar{background:var(--bg-soft);border-bottom:1px solid var(--border)}
.stats-inner{display:flex;align-items:center;justify-content:center;padding:14px 20px;flex-wrap:wrap;gap:0}
.stat{display:flex;align-items:center;gap:8px;padding:4px 24px}
.stat strong{font-size:20px;font-weight:800;color:var(--brand)}
.stat span{font-size:13px;color:var(--text-2)}
.stat-div{width:1px;height:26px;background:var(--border)}

/* ── TOOLS SECTION ──────────────────────── */
.tools-section{padding:44px 0 64px}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.filter-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--border);font-size:13px;font-weight:500;color:var(--text-2);transition:all var(--t);white-space:nowrap;background:var(--bg)}
.filter-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}
.filter-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-icon{font-size:14px}
.cat-section{margin-bottom:52px}
.cat-section.hidden{display:none}
.cat-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.cat-icon-wrap{width:52px;height:52px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.cat-header-text h2{font-size:20px;font-weight:700;line-height:1.2}
.cat-desc{font-size:13px;color:var(--text-3);margin-top:2px}
.cat-sw{background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:11px;color:var(--text-2);font-family:monospace}
.cat-count{margin-left:auto;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;padding:3px 12px;font-size:12px;color:var(--text-2);font-weight:500;white-space:nowrap}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tool-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--r-md);border:1.5px solid var(--border);transition:all var(--t);position:relative;cursor:pointer;background:var(--bg)}
.tool-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.tool-icon{width:40px;height:40px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.tool-info h3{font-size:14px;font-weight:600;margin-bottom:2px;line-height:1.3}
.tool-info p{font-size:12px;color:var(--text-3);line-height:1.4}
.tool-badge{position:absolute;top:10px;right:10px;background:#FEF3C7;color:#92400E;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:0.04em}
.tool-card.hidden{display:none}
.no-results{text-align:center;padding:80px 20px}
.no-results h3{font-size:22px;margin:12px 0 8px}
.no-results p{color:var(--text-3)}

/* ── HOW IT WORKS ────────────────────────── */
.how-section{background:var(--bg-soft);padding:64px 0;border-top:1px solid var(--border)}
.section-heading{text-align:center;font-size:28px;font-weight:800;margin-bottom:36px;letter-spacing:-0.5px}

/* ── FEATURES ────────────────────────────── */
.features-section{padding:64px 0}
.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.feature-card{background:var(--bg-soft);border-radius:var(--r-lg);padding:28px 24px;text-align:center;border:1px solid var(--border)}
.feature-icon{font-size:36px;margin-bottom:14px}
.feature-card h3{font-size:15px;font-weight:700;margin-bottom:8px}
.feature-card p{font-size:13px;color:var(--text-2)}

/* ── SOFTWARE STACK ─────────────────────── */
.stack-section{background:var(--bg-soft);padding:64px 0;border-top:1px solid var(--border)}
.stack-sub{text-align:center;color:var(--text-2);font-size:15px;margin-top:-24px;margin-bottom:36px}
.stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.stack-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:18px;display:flex;flex-direction:column;gap:4px}
.stack-icon{font-size:26px;margin-bottom:6px}
.stack-card strong{font-size:14px;font-weight:700;color:var(--text-1)}
.stack-card span{font-size:12px;color:var(--text-3)}

/* ── STEPS ───────────────────────────────── */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.step{background:var(--bg);border-radius:var(--r-lg);padding:24px;border:1px solid var(--border)}
.step-num{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;margin-bottom:14px}
.step h3{font-size:15px;font-weight:700;margin-bottom:6px}
.step p{font-size:13px;color:var(--text-2)}

/* ── FOOTER ──────────────────────────────── */
.footer{background:#111827;color:#D1D5DB;padding:56px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:48px;border-bottom:1px solid #1F2937}
.footer-brand .logo-text{color:#fff}
.footer-brand .logo-text strong{color:#818CF8}
.footer-brand p{font-size:13px;color:#9CA3AF;margin-top:12px;line-height:1.7;max-width:260px}
.footer-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.fbadge{font-size:11px;font-weight:500;padding:3px 10px;border-radius:999px;background:#1F2937;color:#9CA3AF;border:1px solid #374151}
.footer-col h4{font-size:12px;font-weight:700;color:#F9FAFB;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:14px}
.footer-col ul{display:flex;flex-direction:column;gap:8px}
.footer-col ul li a{font-size:13px;color:#9CA3AF;transition:color var(--t)}
.footer-col ul li a:hover{color:#fff}
.footer-bottom{padding:24px 0;text-align:center;display:flex;flex-direction:column;gap:4px}
.footer-bottom p{font-size:13px;color:#6B7280}
.footer-note{font-size:12px;color:#4B5563}

/* ── BREADCRUMB ─────────────────────────── */
.breadcrumb-bar{background:var(--bg-soft);border-bottom:1px solid var(--border)}
.breadcrumb-inner{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:13px;color:var(--text-3);flex-wrap:wrap}
.breadcrumb-inner a{color:var(--brand)}
.breadcrumb-inner a:hover{text-decoration:underline}

/* ── TOOL PAGE HERO ─────────────────────── */
.tool-hero{background:var(--bg-soft);border-bottom:1px solid var(--border);padding:36px 0}
.tool-hero-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.tool-hero-icon{width:72px;height:72px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:34px;flex-shrink:0}
.tool-hero-text h1{font-size:26px;font-weight:800;margin-bottom:6px;letter-spacing:-0.5px}
.tool-hero-text p{font-size:14px;color:var(--text-2);margin-bottom:12px;max-width:540px}
.tool-hero-badges{display:flex;flex-wrap:wrap;gap:7px}
.hbadge{font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;background:var(--brand-light);color:var(--brand)}

/* ── UPLOAD BOX ─────────────────────────── */
.upload-section{padding:44px 0}
.upload-box{border:2px dashed var(--border);border-radius:var(--r-xl);padding:56px 24px;text-align:center;transition:border-color var(--t),background var(--t);min-height:280px;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);position:relative;cursor:pointer}
.upload-box:hover,.upload-box.drag-over{border-color:var(--brand);background:var(--brand-light)}
.upload-content{display:flex;flex-direction:column;align-items:center;gap:10px}
.upload-cloud{font-size:56px;line-height:1;margin-bottom:4px}
.upload-content h2{font-size:22px;font-weight:700}
.upload-content p{font-size:14px;color:var(--text-2)}
.file-input{display:none}
.btn-upload{margin-top:8px;padding:13px 36px;background:var(--brand);color:#fff;border-radius:999px;font-size:15px;font-weight:600;transition:background var(--t),transform var(--t)}
.btn-upload:hover{background:var(--brand-dark);transform:translateY(-1px)}
.upload-note{font-size:12px;color:var(--text-3);margin-top:4px}
.upload-note code{background:var(--border);padding:1px 5px;border-radius:4px;font-size:11px}
.upload-progress{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:420px}
.progress-icon{font-size:44px}
.upload-progress h3{font-size:18px;font-weight:700}
.progress-bar-wrap{width:100%;height:8px;background:var(--border);border-radius:999px;overflow:hidden}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--brand),#7C3AED);border-radius:999px;width:0;transition:width 0.35s ease}
#progressStatus{font-size:13px;color:var(--text-2)}
.upload-done{display:flex;flex-direction:column;align-items:center;gap:14px}
.done-icon{font-size:54px;line-height:1}
.upload-done h3{font-size:22px;font-weight:800}
.done-filename{font-size:14px;color:var(--text-2);word-break:break-all;max-width:400px}
.btn-download{padding:14px 40px;background:#16A34A;color:#fff;border-radius:999px;font-size:16px;font-weight:600;transition:background var(--t);display:inline-block}
.btn-download:hover{background:#15803D}
.btn-again{font-size:13px;color:var(--brand);text-decoration:underline;cursor:pointer;background:none;border:none;margin-top:2px}
.upload-error{display:flex;flex-direction:column;align-items:center;gap:12px}
.upload-error h3{font-size:20px;font-weight:700;color:#DC2626}
.upload-error p{font-size:14px;color:var(--text-2);max-width:380px}

/* ── HOW TO USE (tool page) ─────────────── */
.how-to{margin-top:48px}
.how-to h2{font-size:20px;font-weight:800;margin-bottom:20px}

/* ── RELATED TOOLS ──────────────────────── */
.related-section{background:var(--bg-soft);padding:48px 0;border-top:1px solid var(--border)}
.related-section h2{font-size:20px;font-weight:800;margin-bottom:20px}

/* ── FAQ ─────────────────────────────────── */
.faq-section{padding:48px 0;border-top:1px solid var(--border)}
.faq-section h2{font-size:20px;font-weight:800;margin-bottom:20px}
.faq-list{display:flex;flex-direction:column;gap:6px;max-width:740px}
.faq-item{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;font-size:15px;font-weight:600;text-align:left;background:var(--bg);transition:background var(--t)}
.faq-q:hover{background:var(--bg-soft)}
.faq-arrow{transition:transform 0.2s;flex-shrink:0}
.faq-q.open .faq-arrow{transform:rotate(180deg)}
.faq-a{display:none;padding:0 20px 16px;border-top:1px solid var(--border)}
.faq-a p{font-size:14px;color:var(--text-2);padding-top:14px;line-height:1.7}

/* ── 404 ─────────────────────────────────── */
.page-404{text-align:center;padding:100px 20px}
.page-404 h1{font-size:80px;font-weight:900;color:var(--brand)}
.page-404 h2{font-size:28px;font-weight:700;margin:8px 0 16px}
.page-404 p{color:var(--text-2);margin-bottom:28px}
.btn-home{display:inline-block;padding:12px 32px;background:var(--brand);color:#fff;border-radius:999px;font-weight:600;transition:background var(--t)}
.btn-home:hover{background:var(--brand-dark)}

/* ── RESPONSIVE ──────────────────────────── */
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr 1fr;}.footer-brand{grid-column:1/-1}}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:640px){
  .nav-links{display:none}
  .nav-toggle{display:block}
  .hero{padding:48px 0 40px}
  .hero h1{font-size:28px;letter-spacing:-0.5px}
  .hero-sub{font-size:15px}
  .stats-inner{gap:0}
  .stat{padding:4px 12px}
  .stat strong{font-size:16px}
  .tools-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .cat-count{display:none}
  .filter-bar{gap:6px}
  .filter-btn{font-size:12px;padding:6px 11px}
  .steps-grid{grid-template-columns:1fr}
  .features-grid{grid-template-columns:1fr 1fr}
  .tool-hero-inner{flex-direction:column}
  .stack-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:400px){.features-grid{grid-template-columns:1fr}.stack-grid{grid-template-columns:1fr}}

/* ── SCROLLBAR ───────────────────────────── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-3)}
