/* VeloTools PDF — shared UI primitives for intent-specific tool pages */
.trust-bar{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:rgba(71,222,209,.1);border:1px solid rgba(71,222,209,.35);
  border-radius:30px;padding:8px 18px;margin:0 auto 24px;
  max-width:max-content;font-size:12px;font-weight:600;color:#47ded1;
}
.trust-bar svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}

.pdf-tool-hero{text-align:center;padding:32px 24px 20px;position:relative;z-index:1;max-width:900px;margin:0 auto}
.pdf-tool-hero h1{
  font-family:"Playfair Display",serif;
  font-size:clamp(28px,4vw,46px);font-weight:400;line-height:1.12;
  color:#fff;margin-bottom:12px;
}
.pdf-tool-hero h1 em{
  font-style:italic;
  background:linear-gradient(120deg,#49afeb,#47ded1,#92e996);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.pdf-tool-hero .lead{font-size:15px;color:#c8d8f8;max-width:560px;margin:0 auto 20px;line-height:1.7}

.pdf-related{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  padding:16px 24px 0;position:relative;z-index:1;
}
.pdf-related a{
  font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px;
  border:1px solid #3a5080;color:#8aa4cc;text-decoration:none;transition:all .15s;
}
.pdf-related a:hover{border-color:#49afeb;color:#fff;background:rgba(73,175,235,.12)}
.pdf-related a.act{border-color:#47ded1;color:#47ded1;background:rgba(71,222,209,.1)}

.tool-shell{max-width:820px;margin:0 auto;padding:0 24px 48px;position:relative;z-index:1}

.upload-zone{
  border:2px dashed #5070a8;border-radius:16px;padding:48px 24px;text-align:center;
  background:linear-gradient(168deg,#1a2644,#141e36);cursor:pointer;transition:border-color .2s,background .2s;
}
.upload-zone:hover,.upload-zone.drag{border-color:#47ded1;background:rgba(71,222,209,.06)}
.upload-zone-hidden{display:none}
.upload-zone input[type=file]{display:none}
.uz-icon svg{width:48px;height:48px;stroke:#49afeb;fill:none;stroke-width:1.5;margin-bottom:16px}
.uz-h{font-size:18px;font-weight:600;color:#fff;margin-bottom:6px}
.uz-p{font-size:14px;color:#8aa4cc}
.uz-p strong{color:#c8d8f8}

.file-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.file-row{
  display:flex;align-items:center;gap:14px;padding:14px 16px;
  background:#162038;border:1px solid #3a5080;border-radius:12px;
}
.file-row .fr-grip{cursor:grab;color:#5a74a0;font-size:18px;user-select:none;line-height:1}
.file-row .fr-grip:active{cursor:grabbing}
.file-row .fr-info{flex:1;min-width:0}
.file-row .fr-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-row .fr-meta{font-size:12px;color:#8aa4cc;margin-top:2px}
.file-row .fr-remove{
  width:32px;height:32px;border:none;border-radius:8px;background:transparent;
  color:#8aa4cc;font-size:20px;cursor:pointer;line-height:1;
}
.file-row .fr-remove:hover{background:rgba(255,80,80,.15);color:#ff6b6b}

.action-bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;justify-content:center}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border:none;border-radius:12px;
  background:linear-gradient(135deg,#5ba55f,#47ded1);color:#0a0f1c;
  font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;
}
.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px rgba(71,222,209,.3)}
.btn-primary:disabled{opacity:.45;cursor:not-allowed}
.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;
  border:1px solid #5070a8;background:transparent;color:#c8d8f8;
  font-size:14px;font-weight:600;cursor:pointer;
}
.btn-secondary:hover{border-color:#49afeb;color:#fff}

.status-msg{
  margin-top:16px;padding:14px 18px;border-radius:12px;font-size:14px;text-align:center;
}
.status-msg--ok{background:rgba(91,165,95,.15);border:1px solid rgba(146,233,150,.4);color:#92e996}
.status-msg--err{background:rgba(255,80,80,.1);border:1px solid rgba(255,100,100,.35);color:#ff8a8a}
.status-msg--work{background:rgba(73,175,235,.1);border:1px solid rgba(73,175,235,.35);color:#49afeb}

.editorial{
  position:relative;z-index:1;max-width:820px;margin:0 auto;padding:48px 24px 80px;
  border-top:1px solid #3a5080;color:#c8d8f8;line-height:1.75;
}
.editorial h2{font-family:"Playfair Display",serif;font-size:26px;color:#fff;margin:36px 0 14px;font-weight:400}
.editorial h2:first-child{margin-top:0}
.editorial p,.editorial li{font-size:15px;margin-bottom:14px}
.editorial ul{padding-left:1.25rem;margin-bottom:20px}
.editorial strong{color:#fff}
.editorial .faq{margin-top:32px}
.editorial details{
  border:1px solid #3a5080;border-radius:12px;margin-bottom:10px;background:#111a30;
}
.editorial summary{
  padding:16px 18px;font-weight:600;color:#fff;cursor:pointer;list-style:none;
}
.editorial summary::-webkit-details-marker{display:none}
.editorial .faq-a{padding:0 18px 16px;font-size:14px;color:#8aa4cc}
.editorial a{color:#47ded1;text-decoration:none}
.editorial a:hover{text-decoration:underline}

.seo-section{margin-bottom:40px}
.seo-section h2{font-family:"Playfair Display",serif;font-size:24px;color:#fff;margin-bottom:14px;font-weight:400}
.seo-section h3{font-size:16px;font-weight:700;color:#fff;margin:20px 0 10px}

.seo-security{
  background:linear-gradient(168deg,#1a2644,#141e36);
  border:1px solid #3a5080;border-radius:16px;padding:24px 28px;
}
.seo-security p:last-child{margin-bottom:0}

.seo-steps ol{counter-reset:seo-step;list-style:none;padding:0;margin:16px 0 0}
.seo-steps li{
  counter-increment:seo-step;position:relative;padding:14px 16px 14px 52px;
  background:#162038;border:1px solid #3a5080;border-radius:12px;margin-bottom:10px;
  font-size:15px;color:#c8d8f8;
}
.seo-steps li::before{
  content:counter(seo-step);position:absolute;left:16px;top:14px;
  width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  background:rgba(71,222,209,.12);border:1px solid rgba(71,222,209,.35);
  border-radius:8px;font-size:13px;font-weight:800;color:#47ded1;
}

.seo-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
.seo-table th,.seo-table td{border:1px solid #3a5080;padding:12px 14px;text-align:left;vertical-align:top}
.seo-table th{background:rgba(0,0,0,.25);color:#fff;font-weight:700;width:38%}
.seo-table td{color:#c8d8f8}
.seo-table code{font-family:"DM Mono",monospace;font-size:12px;color:#92e996}

.seo-deep-dive p{margin-bottom:14px}
.seo-deep-dive ul{margin:12px 0 16px;padding-left:1.25rem}
.seo-deep-dive li{margin-bottom:8px;font-size:15px}

.site-footer{
  position:relative;z-index:1;text-align:center;padding:32px 24px;
  border-top:1px solid #3a5080;font-size:13px;color:#5a74a0;
}
.site-footer a{color:#47ded1;text-decoration:none}
.site-footer a:hover{text-decoration:underline}

.split-range-hidden{display:none}
.status-hidden{display:none}
.file-info-hidden{display:none}
.file-list-hidden{display:none}
.btn-hidden{display:none}

#split-file-info:not(.file-info-hidden),
#unlock-file-info:not(.file-info-hidden){margin-top:16px}

.vt-intent-bar{
  max-width:820px;margin:0 auto 16px;padding:12px 18px;border-radius:12px;
  background:rgba(71,222,209,.1);border:1px solid rgba(71,222,209,.35);
  color:#47ded1;font-size:13px;font-weight:600;text-align:center;position:relative;z-index:1;
}
.vt-limit-warn{
  margin-top:8px;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:600;
  background:rgba(255,180,80,.12);border:1px solid rgba(255,180,80,.35);color:#ffc878;
}

.progress-bar{height:4px;background:#1c2844;border-radius:2px;margin-top:12px;overflow:hidden}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,#49afeb,#47ded1);transition:width .2s;width:0}

@media(max-width:600px){
  .upload-zone{padding:32px 16px}
  .file-row .fr-grip{display:none}
}
