/* ============================================================
 * PDF 工具系列样式（pdf-convert / pdf-merge / pdf-to-images / image-to-pdf）
 *
 * 2026-10-07 从 tools.css 独立出来。
 * 理由：改 PDF 样式只 bump 本文件版本号，缓存失效范围 = 7 个 PDF 工具页，
 *       而原先挂在 tools.css 上会连 179 个工具页一起失效。
 *
 * 引用点：仅 index/tools/pdf/pdf_css.html 一处（4 个 PDF 模板 include），
 *         升版本号只改那里。
 *
 * ⚠️ 本文件由 tools.css 搬迁而来，**保留原有顺序与重复选择器**：
 *    - .pdfc-page-thumb .pdfm-thumb-frame 出现两次（cursor:pointer → cursor:grab）
 *      是有意的级联覆盖，合并会改变交互手感；
 *    - .pdfm-thumb-frame / .pdfm-thumb.is-dragging 各有两份，重复无害。
 *    搬迁时仅删除了经 grep 确认全站 0 引用的 .pdfc-second-zone / .pdfc-pm-split。
 *
 * 依赖 tools.css 中的 .pdf-file-row（上传组件基础样式，通用，非 PDF 专属）。
 * ============================================================ */

/* ===== PDF 合并工具页面（pdf_merge.html） ===== */
.pdfm-card{border:1px solid var(--tools-border);border-radius:.9rem;overflow:hidden;background:#fff;}
.pdfm-card-body{padding:1rem 1.1rem;}
.pdfm-result{border:1px solid var(--tools-border-success);border-radius:.75rem;background:var(--tools-bg-success);}

/* ===== PDF 页面管理 · 旋转缩略图实时预览（pdf_merge） ===== */
.pdfm-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.pdfm-thumb {
    width: 104px;
    text-align: center;
}
.pdfm-thumb-frame {
    position: relative;
    height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    background: var(--bs-body-bg);
    overflow: hidden;
}
.pdfm-thumb-frame canvas {
    max-width: 88px;
    max-height: 122px;
    transform: rotate(var(--rot, 0deg));
}
.pdfm-thumb-btns {
    display: flex;
    justify-content: center;
    gap: .25rem;
    margin-top: .25rem;
}
.pdfm-thumb-no {
    font-size: .75rem;
    color: var(--bs-secondary-color);
}

/* ===== PDF 页面管理器 · 选中/拖拽状态 ===== */
.pdfm-thumb.is-selected .pdfm-thumb-frame {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 2px var(--bs-primary) inset;
}
.pdfm-thumb.is-dragging { opacity: .5; }
.pdfm-thumb-frame {
    cursor: grab;
}
.pdfm-thumb-frame.is-dragover {
    border-color: var(--bs-primary);
}
.pdfm-thumb-x {
    position: absolute;
    top: .25rem;
    right: .25rem;
}
.pdfm-thumb-src {
    position: absolute;
    left: .25rem;
    top: .25rem;
    font-size: .7rem;
    line-height: 1.2;
    background: var(--bs-secondary-bg);
    border-radius: .25rem;
    padding: 0 .3rem;
}
.pdfm-thumb-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 122px;
}

/* ===== PDF 转换与处理 · 页码选中高亮 ===== */
.pdfm-thumb.is-active .pdfm-thumb-frame {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 2px var(--bs-primary) inset;
}

/* ===== PDF 转换与处理 · 共享工作区（一次选择、全局复用） ===== */
.pdfc-workspace {
    background: var(--bs-tertiary-bg, #f8f9fa);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: .75rem 1rem;
}
.pdfc-page-thumb { cursor: pointer; }
.pdfc-page-thumb .pdfm-thumb-frame { cursor: pointer; }
/* 裁剪自由框选：预览 canvas 十字光标 + 禁止触摸滚动 */
.pdfc-crop-cursor { cursor: crosshair; touch-action: none; }

/* 图片转 PDF 独立工具：进度条初始宽度（替代模板内联 style） */
.itp-progress-bar { width: 0; transition: width .2s ease; }
/* 上传组件自带的文件清单不重复展示（缩略图网格已承担该职责），仅保留错误行 */
#itpImageZone .pdf-file-row:not(.error) { display: none; }

/* PDF 转换与处理：进度条初始宽度（替代模板内联 style） */
.pdfc-progress-bar { width: 0; transition: width .2s ease; }

/* PDF 转图片独立工具：进度条初始宽度（替代模板内联 style）+ 隐藏 uploader 重复清单 */
.pti-progress-bar { width: 0; transition: width .2s ease; }
#ptiZone .pdf-file-row:not(.error) { display: none; }

/* 图片转 PDF 缩略图：拖动态 / 插入位置指示 / 上下移 / 预览失败态 */
.pdfm-thumb.is-dragging { opacity: .5; }
.pdfm-thumb.is-drop-before { box-shadow: -3px 0 0 0 var(--bs-primary) inset; }
.pdfm-thumb.is-drop-after { box-shadow: 3px 0 0 0 var(--bs-primary) inset; }
.itp-move-btns { display: none; justify-content: center; gap: .25rem; margin-top: .25rem; }
.pdfm-thumb.is-selected .itp-move-btns { display: flex; }
.pdfm-thumb-fail {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
}
.pdfc-check {
    position: absolute;
    top: .25rem;
    left: .25rem;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: var(--bs-body-bg);
    border: 2px solid var(--bs-border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .7rem;
    line-height: 1;
    color: transparent;
    z-index: 2;
}
.pdfc-page-thumb.is-active .pdfc-check {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}
.pdfc-fname { max-width: 260px; }
/* ===== PDF 转换与处理 · 水印九宫格选位 ===== */
.pdfc-pos-grid {
    display: grid;
    grid-template-columns: repeat(3, 2rem);
    gap: .3rem;
    width: max-content;
}
.pdfc-pos-btn {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid var(--bs-border-color);
    border-radius: .3rem;
    background: var(--bs-body-bg);
    display: flex;
    align-items: center;
    justify-content: center;
}
.pdfc-pos-btn::before {
    content: '';
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--bs-secondary-color);
    opacity: .55;
}
.pdfc-pos-btn:hover { border-color: var(--bs-primary); }
.pdfc-pos-btn.is-active { border-color: var(--bs-primary); box-shadow: 0 0 0 1px var(--bs-primary) inset; }
.pdfc-pos-btn.is-active::before { background: var(--bs-primary); opacity: 1; }

/* ===== PDF 页面管理器 · 功能能力栏 / 源文件分组 ===== */
.pdfm-feature {
    display: inline-flex;
    align-items: center;
    padding: .25rem .65rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 2rem;
    font-size: .8rem;
    background: var(--bs-body-bg);
}
.pdfm-feature i { color: var(--bs-primary); }
.pdfm-src-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .15rem .6rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 2rem;
    font-size: .8rem;
    background: var(--bs-tertiary-bg, #f8f9fa);
}
.pdfm-src-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.3rem;
    height: 1.3rem;
    border-radius: 50%;
    background: var(--bs-primary);
    color: #fff;
    font-size: .7rem;
    font-weight: 600;
}

/* PDF 页面管理器 · 源文件芯片（可拖动排序 / 可删除 / 显示文件名与页数） */
.pdfm-src-chip { cursor: grab; }
.pdfm-src-chip.is-dragging { opacity: .5; }
.pdfm-src-chip.is-dragover { border-style: dashed; border-color: var(--bs-primary); }
.pdfm-src-name { max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdfm-src-x { font-size: .65rem; margin-left: .15rem; }
/* PDF 页面管理器 · 拆分选项 / 大文件提示 */
.pdfm-split-range.d-none { display: none !important; }
.pdfm-inline-input { width: auto; min-width: 11rem; display: inline-block; }
.pdfm-grid-note { line-height: 1.4; }

/* ===== PDF 转换与处理 · 页面管理（共享网格兼作管理画布） ===== */
.pdfc-page-thumb { cursor: default; }
.pdfc-page-thumb .pdfm-thumb-frame { cursor: grab; }
.pdfc-page-thumb.is-dragging { opacity: .5; }
.pdfc-page-thumb .pdfm-thumb-frame.is-dragover { border-style: dashed; }
/* ===== PDF 压缩 · 压缩级别选择卡（3 档：强力 / 推荐 / 最高保真） ===== */
.pc-lv {
    display: block;
    padding: .6rem .75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    cursor: pointer;
    background: var(--bs-body-bg);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.pc-lv:hover { border-color: var(--bs-primary); }
.pc-lv.is-active {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 1px var(--bs-primary) inset;
    background: rgba(13, 110, 253, .06);
}
.pc-lv.is-disabled { opacity: .55; cursor: not-allowed; pointer-events: none; }
.pc-lv-name { display: block; font-size: .9rem; font-weight: 600; }
.pc-lv-desc { display: block; font-size: .75rem; color: var(--bs-secondary-color); margin-top: .15rem; }

/* ===== PDF 压缩 / 加密 / 解密 · 进度条初始宽度（替代模板内联 style） ===== */
.pc-progress-bar { width: 0; transition: width .2s ease; }

/* ===== PDF 加密 · 密码强度条 ===== */
.pe-strength-bar { height: 6px; }
.pe-strength { max-width: 420px; }
