/* ═══════════════════════════════════════
   shared-tool.css — DubeShivam PDF Tools
   Theme: Deep Purple + Cyan
   ═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  --bg:           #0e0818;
  --bg2:          #130d20;
  --surface:      #1a1128;
  --surface2:     #221733;
  --surface3:     #2c1e42;
  --border:       rgba(139,92,246,0.15);
  --border2:      rgba(139,92,246,0.28);
  --border3:      rgba(6,182,212,0.25);
  --ink:          #f0eeff;
  --muted:        rgba(220,210,255,0.45);
  --accent:       #06b6d4;
  --accent2:      #22d3ee;
  --accent3:      #67e8f9;
  --accentbg:     rgba(6,182,212,0.1);
  --accentborder: rgba(6,182,212,0.3);
  --purple:       #8b5cf6;
  --purple2:      #a78bfa;
  --purplebg:     rgba(139,92,246,0.1);
  --success:      #22c55e;
  --radius:       10px;
}

html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Epilogue',sans-serif;
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

/* Purple mesh background */
body::after {
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 10% 20%, rgba(139,92,246,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 90% 80%, rgba(6,182,212,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 50% 50%, rgba(109,40,217,0.06) 0%, transparent 70%);
  pointer-events:none;
  z-index:0;
}

/* grain */
body::before{
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events:none;z-index:0;
}

/* ── NAV ── */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(14,8,24,0.92);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
  padding:0 52px;height:64px;
  display:flex;justify-content:space-between;align-items:center;
}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none}
.nav-logo img{height:36px;width:auto;object-fit:contain;border-radius:5px}
.nav-logo-sep{width:1px;height:22px;background:var(--border2)}
.nav-logo-text{font-family:'Syne',sans-serif;font-weight:800;font-size:0.9rem;color:var(--ink);letter-spacing:-0.01em}
.nav-logo-text span{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:10px}
.nav-back-link{
  font-size:0.82rem;color:var(--muted);text-decoration:none;
  font-weight:500;transition:all 0.2s;
  padding:7px 14px;border-radius:6px;
  border:1px solid var(--border);
  background:var(--purplebg);
}
.nav-back-link:hover{color:var(--ink);border-color:var(--border2);background:var(--surface2)}

/* ── TOOL HEADER ── */
.tool-header{
  padding:44px 52px 36px;
  border-bottom:1px solid var(--border);
  position:relative;z-index:1;
  background:var(--surface);
  background:linear-gradient(135deg, var(--surface) 0%, var(--bg2) 100%);
}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.75rem;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color 0.2s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{opacity:0.3}
.tool-header-inner{display:flex;align-items:flex-start;gap:18px}
.tool-header-icon{
  width:56px;height:56px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;flex-shrink:0;
  border:1px solid var(--border2);
  background:var(--purplebg);
  box-shadow:0 0 20px rgba(139,92,246,0.15);
}
.tool-header-text h1{
  font-family:'Syne',sans-serif;
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:800;letter-spacing:-0.03em;line-height:1.1;
  margin-bottom:7px;color:var(--ink);
}
.tool-header-text p{font-size:0.88rem;color:var(--muted);max-width:480px;line-height:1.7}

/* ── MAIN ── */
.tool-main{padding:36px 52px 72px;position:relative;z-index:1;max-width:860px;flex:1}

/* ── UPLOAD ZONE ── */
.upload-zone{
  border:2px dashed var(--border2);
  border-radius:var(--radius);padding:52px 36px;
  text-align:center;cursor:pointer;
  transition:all 0.28s ease;
  background:var(--surface);
  margin-bottom:20px;
  position:relative;overflow:hidden;
}
.upload-zone::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(6,182,212,0.06) 0%, transparent 65%);
  opacity:0;transition:opacity 0.3s;
}
.upload-zone:hover::before,.upload-zone.dragover::before{opacity:1}
.upload-zone:hover,.upload-zone.dragover{
  border-color:var(--accent);
  background:var(--surface2);
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(6,182,212,0.12), 0 0 0 1px rgba(6,182,212,0.1);
}
.upload-icon{font-size:2.8rem;margin-bottom:14px;display:block;position:relative;filter:drop-shadow(0 0 12px rgba(6,182,212,0.3))}
.upload-title{font-family:'Syne',sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:6px;color:var(--ink);position:relative}
.upload-sub{font-size:0.82rem;color:var(--muted);margin-bottom:18px;position:relative}
.upload-btn{
  display:inline-block;
  background:linear-gradient(135deg, var(--accent), var(--purple));
  color:white;
  font-family:'Syne',sans-serif;font-weight:700;font-size:0.85rem;
  padding:11px 28px;border-radius:7px;border:none;cursor:pointer;
  letter-spacing:0.03em;transition:all 0.2s;position:relative;
  box-shadow:0 4px 16px rgba(6,182,212,0.25);
}
.upload-btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(6,182,212,0.35)}
.upload-hint{font-size:0.7rem;color:var(--muted);margin-top:10px;position:relative}

/* ── OPTIONS CARD ── */
.options-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:26px;margin-bottom:16px;display:none;
}
.options-card.show{display:block}
.options-title{
  font-family:'Syne',sans-serif;font-weight:700;
  font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--purple2);margin-bottom:18px;
}

/* ── RESULT CARD ── */
.result-card{
  background:var(--surface);
  border:1px solid rgba(34,197,94,0.2);
  border-left:3px solid var(--success);
  border-radius:var(--radius);padding:24px;display:none;
}
.result-card.show{display:block}

/* ── BUTTONS ── */
.action-btn{
  background:linear-gradient(135deg, var(--accent), var(--purple));
  color:white;font-family:'Syne',sans-serif;font-weight:700;
  font-size:0.95rem;padding:14px 28px;border:none;border-radius:7px;
  cursor:pointer;letter-spacing:0.02em;transition:all 0.22s;
  width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:8px;box-shadow:0 4px 18px rgba(6,182,212,0.2);
}
.action-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(6,182,212,0.35);
  filter:brightness(1.08);
}
.action-btn:disabled{opacity:0.35;cursor:not-allowed;transform:none;box-shadow:none;filter:none}

.dl-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:white;font-family:'Syne',sans-serif;font-weight:700;
  font-size:0.86rem;padding:11px 22px;border:none;border-radius:7px;
  cursor:pointer;letter-spacing:0.02em;text-decoration:none;
  transition:all 0.2s;box-shadow:0 3px 12px rgba(34,197,94,0.2);
}
.dl-btn:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(34,197,94,0.3)}

.reset-btn{
  background:transparent;color:var(--muted);
  font-family:'Syne',sans-serif;font-weight:600;font-size:0.84rem;
  padding:11px 20px;border:1.5px solid var(--border);border-radius:7px;
  cursor:pointer;transition:all 0.2s;
}
.reset-btn:hover{border-color:var(--border2);color:var(--ink);background:var(--surface2)}

/* ── FILE LIST ── */
.file-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.file-item{
  display:flex;align-items:center;gap:12px;
  background:var(--surface2);border:1px solid var(--border);
  border-radius:8px;padding:11px 15px;transition:border-color 0.2s;
}
.file-item:hover{border-color:var(--border2)}
.file-item-icon{font-size:1.2rem;flex-shrink:0}
.file-item-info{flex:1;min-width:0}
.file-item-name{font-size:0.86rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.file-item-size{font-size:0.72rem;color:var(--muted);margin-top:2px}
.file-item-remove{
  background:none;border:none;cursor:pointer;color:var(--muted);
  font-size:0.9rem;padding:4px 7px;border-radius:4px;transition:all 0.2s;flex-shrink:0;
}
.file-item-remove:hover{color:#f87171;background:rgba(248,113,113,0.1)}

/* ── PROGRESS ── */
.progress-wrap{margin-bottom:16px;display:none}
.progress-wrap.show{display:block}
.progress-label{font-size:0.79rem;color:var(--muted);margin-bottom:8px;text-align:center}
.progress-track{height:3px;background:var(--surface3);border-radius:4px;overflow:hidden}
.progress-fill{
  height:100%;
  background:linear-gradient(90deg, var(--accent), var(--purple));
  width:0%;transition:width 0.35s ease;border-radius:4px;
}

/* ── STATS ── */
.stats-row{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.stat-box{
  background:var(--surface2);border:1px solid var(--border);
  border-radius:8px;padding:13px 16px;flex:1;min-width:90px;
}
.stat-val{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;display:block;line-height:1.1;color:var(--accent)}
.stat-lbl{font-size:0.67rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.09em;margin-top:3px;display:block}

/* ── FORMS ── */
.form-row{margin-bottom:16px}
.form-label{display:block;font-size:0.7rem;color:var(--purple2);letter-spacing:0.1em;text-transform:uppercase;font-weight:700;margin-bottom:7px}
.form-input{
  width:100%;border:1.5px solid var(--border);border-radius:7px;
  padding:10px 13px;font-family:'Epilogue',sans-serif;font-size:0.9rem;
  color:var(--ink);background:var(--surface2);outline:none;transition:all 0.2s;
}
.form-input:focus{border-color:var(--accent);background:var(--surface3);box-shadow:0 0 0 3px rgba(6,182,212,0.1)}
.form-input::placeholder{color:rgba(220,210,255,0.2)}
.form-select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238b5cf6' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:11px;padding-right:34px;cursor:pointer;
}
.form-input option{background:var(--surface2);color:var(--ink)}

/* ── SLIDER ── */
input[type=range].slider{
  width:100%;-webkit-appearance:none;appearance:none;
  height:3px;border-radius:4px;outline:none;cursor:pointer;margin-top:6px;
  background:linear-gradient(90deg,var(--accent) var(--val,50%),var(--surface3) var(--val,50%));
}
input[type=range].slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:17px;height:17px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--purple));
  cursor:pointer;box-shadow:0 0 0 3px var(--accentbg),0 2px 8px rgba(6,182,212,0.3);
  transition:box-shadow 0.2s;
}
input[type=range].slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 5px var(--accentbg),0 3px 12px rgba(6,182,212,0.4)}

/* ── SEGMENTED CONTROL ── */
.seg-control{
  display:flex;border:1.5px solid var(--border);
  border-radius:8px;overflow:hidden;background:var(--surface2);
}
.seg-btn{
  flex:1;background:transparent;border:none;border-right:1px solid var(--border);
  padding:9px 8px;font-family:'Syne',sans-serif;font-size:0.75rem;font-weight:700;
  cursor:pointer;transition:all 0.15s;color:var(--muted);text-align:center;line-height:1.2;
}
.seg-btn:last-child{border-right:none}
.seg-btn.active{background:linear-gradient(135deg,var(--accent),var(--purple));color:white}
.seg-btn:hover:not(.active){background:var(--surface3);color:var(--ink)}

/* ── INFO / WARN BOXES ── */
.info-box{background:rgba(6,182,212,0.06);border:1px solid rgba(6,182,212,0.18);border-radius:8px;padding:14px 18px;font-size:0.83rem;color:var(--muted);margin-bottom:18px;line-height:1.6}
.info-box strong{color:var(--ink)}
.warn-box{background:rgba(139,92,246,0.08);border:1px solid rgba(139,92,246,0.2);border-radius:8px;padding:14px 18px;font-size:0.83rem;color:var(--muted);margin-bottom:18px;line-height:1.6}
.warn-box strong{color:var(--ink)}

/* ── FOOTER ── */
footer{
  background:var(--bg2);
  border-top:1px solid var(--border);
  color:var(--muted);
  padding:24px 52px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:0.78rem;flex-wrap:wrap;gap:10px;
  position:relative;z-index:1;margin-top:auto;
}
footer a{color:var(--accent);text-decoration:none}
footer a:hover{color:var(--accent2)}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  nav{padding:0 16px;height:58px}
  .tool-header{padding:24px 16px 20px}
  .tool-main{padding:20px 16px 48px}
  footer{padding:18px 16px;flex-direction:column;text-align:center;gap:8px}
  .tool-header-icon{width:44px;height:44px;font-size:1.4rem}
  .tool-header-text h1{font-size:1.35rem}
  .seg-btn{font-size:0.7rem;padding:8px 5px}
  .nav-logo-text{display:none}
  .nav-logo-sep{display:none}
}
@media(max-width:480px){
  nav{height:54px}
  .stats-row{gap:8px}
  .stat-box{min-width:70px;padding:10px 12px}
  .upload-zone{padding:36px 20px}
  .nav-back-link{font-size:0.78rem;padding:6px 10px}
}
