/* ===== Brand colors (CableHero-style) ===== */
:root{
  --brand-blue:#003E78;
  --brand-red:#C72942;

  --text:#0F0A0A;
  --muted:#363636;

  --panel:#ffffff;
  --panel-2:#F7F9FB;
  --border:#E3E3E3;

  --shadow:0 8px 28px rgba(0,0,0,.08);
  --shadow-soft:0 4px 16px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  background:#F5F7FA;
  color:var(--text);
}

.wrap{max-width:1100px;margin:0 auto;padding:28px 20px 72px}

/* Topbar (kept but hidden so nothing is removed) */
.topbar{display:none}
.lang{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 12px}

/* HERO — left aligned */
.hero{max-width:1100px;margin:0 auto 12px;padding:0 4px;text-align:left}

/* NEW: hero head row so logo & language align on same baseline */
.hero-head{
  display:flex;
  align-items:baseline;
  gap:16px;
}
.lang-hero{
  margin-left:auto;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  padding:8px 12px;
  color:var(--brand-blue);
  font-weight:600;
}

.logo{font-weight:900;font-size:42px;letter-spacing:-.3px;display:flex;gap:8px;align-items:baseline}
.logo-blue{color:var(--brand-blue)}
.logo-red{color:var(--brand-red)}
.page-title{margin:6px 0 16px;font-size:20px;color:var(--brand-blue);font-weight:800;text-align:left}

.intro{max-width:900px;margin:0 0 12px}
.intro p{font-size:18px;line-height:1.55;color:var(--muted);margin:0 0 8px}
.steps{counter-reset:step;list-style:none;padding:0;margin:10px 0 0}
.steps li{display:flex;align-items:flex-start;margin:10px 0}
.steps li::before{
  content: counter(step); counter-increment: step;
  font-weight:800;font-size:26px;line-height:1;color:#A7A7A7;
  width:26px;margin-right:12px;
}
.steps span{font-size:18px;line-height:1.5;color:var(--text)}

/* Tool box */
.workbox{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:18px;
  margin-top:12px;
}

/* Tabs */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.tab{
  background:#ffffff;border:1px solid var(--border);color:var(--brand-blue);
  padding:10px 14px;border-radius:999px;font-weight:700;cursor:pointer;
  transition:.15s transform,.15s box-shadow;
  box-shadow:var(--shadow-soft);
}
.tab:hover{transform:translateY(-1px)}
.tab.is-active{background:#EDF4FF;border-color:#D6E6FF;color:var(--brand-blue)}

/* Controls */
.controls{display:flex;gap:12px;align-items:center;justify-content:center;margin:10px 0 8px}
.btn{
  background:#ffffff;border:1px solid var(--border);border-radius:999px;
  padding:10px 16px;font-weight:700;cursor:pointer;transition:.15s transform,.15s opacity;
  color:var(--brand-blue);
}
.btn:hover{transform:translateY(-1px)}
.btn-lg{padding:12px 24px;font-size:16px}
.btn-primary{background:var(--brand-blue);color:#ffffff;border-color:var(--brand-blue)}
.btn-outline{background:#fff;border:1px solid var(--brand-blue);color:var(--brand-blue)}
.btn-danger{background:var(--brand-red);border-color:var(--brand-red);color:#ffffff}

/* Dropzone */
.dropbox{
  border:2px dashed var(--brand-blue);
  border-radius:12px;
  background:#fff;
  color:#2C5E93;
  font-weight:700;
  font-size:18px;
  text-align:center;
  padding:70px 20px;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
  user-select:none;
}
.dropbox.dragover{background:#F2F7FF;border-color:var(--brand-blue);color:var(--brand-blue)}
.dropbox.hidden{display:none}

/* Queue */
.queue{
  display:none;
  background:var(--panel-2);border:1px solid var(--border);border-radius:12px;
  padding:12px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
}
.queue.show{display:flex}
.file-card{
  flex:0 0 180px;background:#fff;border:1px solid var(--border);border-radius:12px;
  display:flex;flex-direction:column;scroll-snap-align:start;box-shadow:var(--shadow-soft)
}

/* Thumbnail + small mode badge */
.thumb{
  position:relative; /* so badge can sit on it */
  height:180px;display:flex;align-items:center;justify-content:center;background:#F7F9FE;border-bottom:1px solid var(--border)
}
.thumb canvas,.thumb img{max-width:100%;max-height:100%;display:block}
.thumb .docx-wrapper{
  width:100%;height:100%;overflow:hidden;border-radius:8px;background:#fff;
  transform:scale(0.8);transform-origin:top left;width:125%;height:125%;
}
.badge-type{
  position:absolute; left:8px; bottom:8px;
  font-size:12px; padding:4px 8px; border-radius:999px;
}
.thumb .mode-badge{
  position:absolute !important;bottom:8px !important;right:8px !important;background:var(--brand-blue) !important;color:#fff !important;
  padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;
  box-shadow:0 2px 4px rgba(0,0,0,0.2);z-index:10;
}

/* Compression statistics overlay */
.compression-stats{
  position:absolute;top:6px;left:6px;right:6px;background:linear-gradient(135deg, rgba(0,0,0,0.9), rgba(0,0,0,0.7));
  color:#fff;padding:10px;border-radius:10px;font-size:11px;z-index:15;
  backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,0.1);
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
}
.compression-percentage{
  font-weight:800;font-size:16px;color:#10b981;text-align:center;margin-bottom:6px;
  text-shadow:0 1px 2px rgba(0,0,0,0.5);
}
.file-sizes{
  display:flex;align-items:center;justify-content:space-between;font-size:10px;
  background:rgba(255,255,255,0.1);padding:4px 6px;border-radius:6px;
}
.original-size{color:#f59e0b;font-weight:600;}
.arrow{color:#d1d5db;margin:0 6px;font-weight:bold;}
.compressed-size{color:#10b981;font-weight:700;}

.meta{padding:10px 12px}
.name{font-size:13px;line-height:1.3;max-height:34px;overflow:hidden;color:var(--text)}
.detail{margin-top:6px;color:#6b7280;font-size:12px}
.card-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 10px;border-top:1px solid var(--border);background:#FAFCFF;
  border-bottom-left-radius:12px;border-bottom-right-radius:12px;color:#4b5563
}
.remove{background:#fff;border:1px solid #E9A6B0;border-radius:8px;padding:2px 8px;cursor:pointer;color:var(--brand-red)}

/* Actions */
.actions{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  margin-top:12px;background:#ffffff;border:1px solid var(--border);border-radius:12px;padding:14px 12px
}
.progress{
  display:none;
  position:relative;
  height:14px;width:100%;max-width:540px;
  background:#EDF0F4;border-radius:999px;overflow:hidden;border:1px solid var(--border)
}
.progress.show{display:block}
.progress>span{display:block;height:100%;width:0;background:var(--brand-red);transition:width .2s ease}
.pct{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;color:#ffffff;font-weight:800;letter-spacing:.2px
}

/* Result — centered */
.result{margin-top:16px;display:none}
.result.is-visible{display:flex;justify-content:center}
.result .panel{
  background:#FFF5F6;border:1px solid #FFD7DE;border-radius:12px;padding:18px;
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  max-width:520px;width:100%;
}
.done-title{font-weight:800;margin-bottom:4px;color:var(--text)}
.result .panel .btn{display:inline-flex;align-items:center;justify-content:center}

/* Info + FAQ + Footer (unchanged) */
.info{margin-top:22px}
.info h2{margin:0 0 6px;font-size:22px;color:var(--brand-blue)}
.info p{color:var(--text)}
.seo-block{
  margin-top:30px;background:#fff;border:1px solid var(--border);border-radius:12px;
  padding:16px;clear:both;
}
.seo-block h2{margin:8px 0 12px;color:var(--brand-blue)}
.seo-block h3{margin:14px 0 6px;color:var(--text)}
.seo-block p{margin:0 0 10px;color:var(--text)}

footer.foot{
  margin-top:40px;padding:20px 10px;background:#f9fafb;border-top:1px solid var(--border);
  color:#6b7280;font-size:13px;text-align:center
}
footer.foot a{color:var(--brand-blue);text-decoration:none;font-weight:700;margin:0 4px}
footer.foot a:hover{text-decoration:underline}
footer.foot .footer-nav{margin:8px 0}
footer.foot .legal{margin:6px 0;font-size:12px}
footer.foot .about{margin-top:8px;font-size:12px;max-width:640px;margin-left:auto;margin-right:auto;color:#4b5563}

/* Responsive */
@media (max-width:640px){
  .logo{font-size:34px}
  .page-title{font-size:18px}
  .intro p{font-size:16px}
  .steps span{font-size:17px}
  .file-card{flex-basis:160px}
  .progress{max-width:100%}
  
  /* Mobile controls layout */
  .controls{
    flex-direction:column;gap:16px;align-items:stretch;
  }
  .toggle-wrap{
    position:static !important;justify-content:center;margin-top:8px;
  }
  .toggle-wrap .toggle-label{
    font-size:14px;
  }
  .toggle-help{
    font-size:11px;
  }
  
  /* Mobile toggle switch */
  .switch{
    width:72px;height:38px;
  }
  .switch-handle{
    width:32px;height:32px;top:3px;
  }
  .switch.on .switch-handle{
    transform:translateX(34px);
  }
  
  /* Mobile mode badge */
  .thumb .mode-badge{
    font-size:9px;padding:3px 6px;bottom:6px !important;right:6px !important;
  }
  
  /* Mobile compression stats */
  .compression-stats{
    top:4px;left:4px;right:4px;padding:8px;font-size:10px;
  }
  .compression-percentage{
    font-size:14px;margin-bottom:4px;
  }
  .file-sizes{
    font-size:9px;padding:3px 4px;
  }
  
  /* Mobile queue */
  .queue{
    padding:8px;gap:8px;
  }
  .file-card{
    flex-basis:140px;
  }
  .thumb{
    height:140px;
  }
}
