/* CÔNG CỤ PDF MIỄN PHÍ (views/pages/pdf_tool.php). Màu lấy từ tokens.css (sáng + tối). Quy tắc @media đặt SAU quy tắc gốc. */
.pt-page{max-width:880px;margin:0 auto;padding:32px 20px 56px;}
.pt-hero{margin-bottom:22px;}
.pt-hero h1{font-size:32px;line-height:1.25;font-weight:700;color:var(--fg);letter-spacing:-.01em;}
.pt-sub{margin-top:10px;max-width:68ch;font-size:16px;line-height:1.6;color:var(--fg-2);}

.pt-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:22px;}
.pt-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none;}
.pt-drop{border:1.5px dashed var(--line-2);border-radius:var(--r);padding:28px 16px;text-align:center;background:var(--bg);}
.pt-drop.dragover{border-color:var(--blue);background:var(--blue-wash);}
.pt-drop-title{font-size:15px;color:var(--fg-2);margin-bottom:12px;}
.pt-pick{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.pt-limit{margin-top:12px;font-size:13.5px;color:var(--fg-3);}

.pt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;font:inherit;font-size:15px;font-weight:500;
  color:var(--fg);background:var(--bg-raised);border:1px solid var(--line-2);border-radius:var(--r);cursor:pointer;text-decoration:none;}
.pt-btn:hover{border-color:var(--blue);color:var(--blue);}
.pt-btn:focus-visible,.pt-icon:focus-visible,.pt-zoom:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.pt-btn-main{color:#fff;background:var(--blue);border-color:var(--blue);}
.pt-btn-main:hover{color:#fff;background:var(--blue-strong);border-color:var(--blue-strong);}
[data-theme="dark"] .pt-btn-main,[data-theme="dark"] .pt-btn-main:hover{color:#101418;}
.pt-btn-ghost{border-color:transparent;background:transparent;color:var(--fg-2);}
.pt-btn:disabled{opacity:.55;cursor:not-allowed;}
input:focus-visible + .pt-btn{outline:2px solid var(--blue);outline-offset:2px;}

.pt-files{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--line);}
.pt-files li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--fg);}
.pt-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pt-file-size{flex:none;font-size:13px;color:var(--fg-3);}
.pt-file-tools{flex:none;display:flex;gap:4px;}
.pt-icon{width:32px;height:32px;font-size:16px;line-height:1;color:var(--fg-2);background:transparent;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;}
.pt-icon:hover:not(:disabled){border-color:var(--blue);color:var(--blue);}
.pt-icon:disabled{opacity:.35;cursor:default;}

.pt-options{margin-top:18px;display:grid;gap:14px;}
.pt-field{border:0;padding:0;margin:0;font-size:14.5px;color:var(--fg);}
.pt-field legend,.pt-field > label{display:block;font-weight:600;margin-bottom:8px;padding:0;}
.pt-field input[type=text],.pt-field select,.pt-field input[type=number]{font:inherit;font-size:15px;color:var(--fg);background:var(--bg-raised);
  border:1px solid var(--line-2);border-radius:var(--r);padding:8px 10px;min-height:40px;max-width:100%;}
.pt-field input[type=text]{width:100%;max-width:360px;}
.pt-field input[type=number]{width:96px;margin-left:8px;}
.pt-radio{display:flex;gap:10px;align-items:flex-start;padding:7px 0;cursor:pointer;}
.pt-radio input{margin-top:4px;flex:none;}
.pt-radio b{font-weight:500;}
.pt-radio small{display:block;font-size:13.5px;color:var(--fg-3);line-height:1.45;}
.pt-check{display:flex;gap:8px;align-items:center;font-size:14.5px;color:var(--fg);cursor:pointer;}
.pt-go{justify-self:start;min-width:160px;}

.pt-progress{margin-top:6px;}
.pt-bar{height:8px;background:var(--bg-sunken);border-radius:4px;overflow:hidden;}
.pt-bar span{display:block;height:100%;width:4%;background:var(--blue);transition:width .3s ease;}
.pt-progress p{margin-top:10px;font-size:14.5px;color:var(--fg-2);}
.pt-error{margin-top:14px;padding:10px 12px;font-size:14.5px;line-height:1.5;color:var(--err);background:var(--err-wash);border-radius:var(--r);}

.pt-result h2{font-size:20px;line-height:1.35;font-weight:600;color:var(--fg);}
.pt-result-sub{margin-top:4px;font-size:14.5px;color:var(--fg-2);}
.pt-warn{margin:12px 0 0;padding:10px 12px 10px 28px;font-size:14px;line-height:1.5;color:var(--gold-ink);background:var(--gold-wash);border-radius:var(--r);}
.pt-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;}
.pt-previews figure{margin:0;min-width:0;}
.pt-previews figcaption{margin-top:6px;font-size:13px;color:var(--fg-3);}
.pt-zoom{display:block;width:100%;max-height:420px;overflow:hidden;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);cursor:zoom-in;}
.pt-zoom img{display:block;width:100%;height:auto;}
.pt-previews.is-zoom{grid-template-columns:minmax(0,1fr);}
.pt-previews.is-zoom .pt-zoom{max-height:none;cursor:zoom-out;}
.pt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.pt-next{margin-top:12px;font-size:14.5px;color:var(--fg-2);}
.pt-next a{color:var(--blue);font-weight:500;}
.pt-expire{margin-top:10px;font-size:13.5px;color:var(--fg-3);}
.pt-privacy{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.55;color:var(--fg-3);}

.pt-section{margin-top:34px;}
.pt-section h2{font-size:21px;font-weight:600;color:var(--fg);margin-bottom:12px;}
.pt-answer{max-width:78ch;font-size:15.5px;line-height:1.65;color:var(--fg-2);margin-bottom:24px;}
.pt-steps{padding-left:20px;display:grid;gap:6px;font-size:15px;line-height:1.6;color:var(--fg-2);}
.pt-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;}
.pt-point{padding:14px 0;border-top:1px solid var(--line);}
.pt-point h3{font-size:15.5px;font-weight:600;line-height:1.45;color:var(--fg);margin-bottom:3px;}
.pt-point p{font-size:14.5px;line-height:1.6;color:var(--fg-2);}
.pt-faq{border-top:1px solid var(--line);padding:12px 0;}
.pt-faq summary{font-size:15px;font-weight:500;color:var(--fg);cursor:pointer;}
.pt-faq p{margin-top:8px;max-width:78ch;font-size:14.5px;line-height:1.6;color:var(--fg-2);}
.pt-links{display:flex;flex-wrap:wrap;gap:10px;}
.pt-links a{padding:8px 14px;font-size:14.5px;color:var(--fg);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;}
.pt-links a:hover{border-color:var(--blue);color:var(--blue);}
.pt-guides{list-style:none;display:flex;flex-direction:column;gap:8px;}
.pt-guides a{display:block;padding:12px 16px;font-size:15px;line-height:1.45;color:var(--blue);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;}
.pt-guides a:hover{border-color:var(--blue);}
[hidden]{display:none !important;}

@media (max-width:640px){
  .pt-page{padding:22px 14px 44px;}
  .pt-hero h1{font-size:25px;}
  .pt-card{padding:14px;}
  .pt-points{grid-template-columns:minmax(0,1fr);}
  .pt-previews{grid-template-columns:minmax(0,1fr);}
  .pt-actions .pt-btn,.pt-go{width:100%;}
  .pt-pick .pt-btn{flex:1 1 140px;}
}
