:root{--bg:#0D1117;--sf:#161B2E;--sf2:#1E2D45;--bd:#1E2D4580;--cy:#00B4D8;--bl:#0077FF;--tx:#FFFFFF;--tx2:#8B9CB6;--tx3:#4A5568;--ok:#10B981;--er:#EF4444;--wa:#F59E0B;--gr:linear-gradient(135deg,#00B4D8,#0077FF);--gs:linear-gradient(135deg,#00B4D815,#0077FF15);--r:12px;--r2:8px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Space Grotesk',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden;font-size:17px}

/* ── EN-TÊTE ANIMÉ : document central + tuiles qui flottent ── */
.hero-visual{position:relative;height:200px;max-width:560px;margin:6px auto 22px}
.hv-doc{position:absolute;left:50%;margin-left:-46px;top:42px;width:92px;height:116px;background:var(--sf);border:1px solid var(--bd);border-radius:10px;box-shadow:0 14px 36px #0077FF22;display:flex;flex-direction:column;gap:7px;padding:16px 14px 0;animation:floaty 4s ease-in-out infinite}
.hv-doc span{height:5px;border-radius:3px;background:var(--sf2);opacity:.55}
.hv-doc span:nth-child(1){width:78%}.hv-doc span:nth-child(2){width:100%}.hv-doc span:nth-child(3){width:58%}
.hv-doc b{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:13px;font-weight:700;color:#E1483A}
.hv-tile{position:absolute;width:48px;height:48px;background:var(--sf);border:1px solid var(--bd);border-radius:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #0000000f;animation:floaty 3.8s ease-in-out infinite}
.hv-tile .tic{width:30px;height:30px}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(prefers-reduced-motion:reduce){.hv-doc,.hv-tile{animation:none}}
@media(max-width:600px){.hero-visual{height:170px;max-width:380px}.hv-tile{width:42px;height:42px}}
/* Icônes d'outils (document coloré, style iLovePDF) */
.tic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}
.tic svg{width:100%;height:100%}
.tools-grid .tic{margin:0 auto 10px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none}}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--sf)}::-webkit-scrollbar-thumb{background:var(--sf2);border-radius:3px}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px;background:#0D111799;backdrop-filter:blur(20px);border-bottom:1px solid var(--bd)}
.nav-logo{display:flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer}
.nav-logo img{margin-right:-2px}
.nav-brand{font-size:18px;font-weight:700;color:var(--tx)}
.nav-brand span{background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn-lang{background:none;border:1px solid var(--bd);color:var(--tx2);padding:6px 14px;border-radius:20px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s}
.btn-lang:hover{border-color:var(--cy);color:var(--cy)}
.btn-auth{background:var(--gr);border:none;color:#fff;padding:8px 20px;border-radius:20px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}
.btn-auth:hover{opacity:.85}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--gr);display:none;align-items:center;justify-content:center;font-weight:700;font-size:14px;cursor:pointer;color:#fff}
.hero{padding:44px 32px 56px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,#00B4D820 0%,transparent 70%);pointer-events:none;animation:heroPulse 6s ease-in-out infinite}
@keyframes heroPulse{0%,100%{opacity:.7;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.12)}}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--gs);border:1px solid #00B4D840;color:var(--cy);padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:24px}
.badge::before{content:'●';font-size:8px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-size:clamp(36px,6vw,72px);font-weight:700;line-height:1.1;letter-spacing:-1.5px;margin-bottom:20px}
.grad{background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{font-size:20px;color:var(--tx2);max-width:560px;margin:0 auto 32px;line-height:1.65}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-primary{background:var(--gr);border:none;color:#fff;padding:14px 32px;border-radius:var(--r);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #00B4D840}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00B4D860}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn-ghost{background:none;border:1px solid var(--bd);color:var(--tx2);padding:14px 32px;border-radius:var(--r);font-family:inherit;font-size:15px;cursor:pointer;transition:all .2s}
.btn-ghost:hover{border-color:var(--cy);color:var(--cy)}
.hero-stats{display:flex;gap:48px;justify-content:center;margin-top:32px;padding-top:28px;border-top:1px solid var(--bd);flex-wrap:wrap}
.stat-num{font-size:28px;font-weight:700;background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.stat-lbl{font-size:13px;color:var(--tx2);margin-top:2px}
.sec-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:32px 0 0}
.sec-badge{display:flex;align-items:center;gap:6px;background:var(--sf);border:1px solid var(--bd);border-radius:20px;padding:6px 14px;font-size:12px;color:var(--tx2)}
.sec-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);flex-shrink:0}
.section{padding:80px 32px;max-width:1100px;margin:0 auto}
.section-label{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--cy);margin-bottom:12px}
.section-title{font-size:40px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}
.section-sub{color:var(--tx2);font-size:18px;margin-bottom:40px}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.tool-card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:24px 20px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;text-align:left}
.tool-card::before{content:'';position:absolute;inset:0;background:var(--gs);opacity:0;transition:opacity .25s}
.tool-card:hover{border-color:var(--cy);transform:translateY(-3px);box-shadow:0 4px 24px #00000060}
.tool-card:hover::before{opacity:1}
.tool-icon{font-size:28px;margin-bottom:14px;display:block;position:relative;z-index:1}
.tool-name{font-size:17px;font-weight:600;margin-bottom:6px;position:relative;z-index:1}
.tool-desc{font-size:13.5px;color:var(--tx2);line-height:1.5;position:relative;z-index:1}
.tool-badge{position:absolute;top:12px;right:12px;background:var(--gr);color:#fff;font-size:9px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase}
.overlay{position:fixed;inset:0;z-index:200;background:#0D111799;backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px}
.overlay.active{display:flex}
.modal{background:var(--sf);border:1px solid var(--bd);border-radius:16px;width:100%;max-width:660px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px #00000080;animation:slideUp .3s ease}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;position:sticky;top:0;background:var(--sf);z-index:10;border-bottom:1px solid var(--bd)}
.modal-title{font-size:20px;font-weight:700}
.modal-close{background:var(--sf2);border:none;color:var(--tx2);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.modal-close:hover{background:var(--er);color:#fff}
.modal-body{padding:20px 28px 28px}
.form-group{margin-bottom:16px}
.form-label{font-size:13px;color:var(--tx2);margin-bottom:6px;display:block}
.form-input{width:100%;background:var(--sf2);border:1px solid var(--bd);color:var(--tx);padding:10px 14px;border-radius:var(--r2);font-family:inherit;font-size:14px;transition:border-color .2s;outline:none}
.form-input:focus{border-color:var(--cy)}
.form-input::placeholder{color:var(--tx3)}
.pwd-bar{margin-top:6px;height:4px;border-radius:2px;background:var(--sf2);overflow:hidden}
.pwd-fill{height:100%;border-radius:2px;transition:width .3s,background .3s;width:0}
.pwd-lbl{font-size:11px;margin-top:4px}
.drop-zone{border:2px dashed var(--bd);border-radius:var(--r);padding:40px 24px;text-align:center;cursor:pointer;transition:all .25s;position:relative;margin-bottom:16px}
.drop-zone:hover,.drop-zone.dragover{border-color:var(--cy);background:var(--gs)}
.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.drop-icon{font-size:36px;margin-bottom:10px}
.drop-text{font-size:15px;font-weight:600;margin-bottom:4px}
.drop-sub{font-size:12px;color:var(--tx2)}
.drop-limit{font-size:11px;color:var(--tx3);margin-top:4px}
.file-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.file-item{display:flex;align-items:center;gap:10px;background:var(--sf2);border-radius:var(--r2);padding:10px 14px;font-size:13px}
.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-size{color:var(--tx2);font-size:11px;white-space:nowrap}
.file-rm{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:16px;transition:color .2s;padding:0 4px;line-height:1}
.file-rm:hover{color:var(--er)}
/* BUG E FIX: .save-mode présent dans le CSS */
.save-mode{display:flex;gap:10px;margin-bottom:20px}
.save-opt{flex:1;background:var(--sf2);border:1px solid var(--bd);border-radius:var(--r);padding:14px;cursor:pointer;transition:all .2s;text-align:center}
.save-opt:hover,.save-opt.active{border-color:var(--cy);background:var(--gs)}
.save-opt-icon{font-size:22px;margin-bottom:4px}
.save-opt-title{font-size:13px;font-weight:600}
.save-opt-sub{font-size:11px;color:var(--tx2);margin-top:2px}
.radio-group{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.rbn{background:var(--sf2);border:1px solid var(--bd);color:var(--tx2);padding:8px 16px;border-radius:20px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s}
.rbn.active{background:var(--gr);border-color:transparent;color:#fff}
.prog-wrap{margin:14px 0;display:none}
.prog-wrap.show{display:block}
.prog-bg{background:var(--sf2);border-radius:4px;height:6px;overflow:hidden}
.prog-fill{height:100%;background:var(--gr);border-radius:4px;width:0;transition:width .3s}
.prog-text{font-size:11px;color:var(--tx2);margin-top:5px;text-align:center}
.status-box{padding:10px 14px;border-radius:var(--r2);font-size:13px;margin-bottom:14px;display:none}
.status-box.ok{background:#10B98120;border:1px solid #10B98140;color:var(--ok);display:block}
.status-box.err{background:#EF444420;border:1px solid #EF444440;color:var(--er);display:block}
.status-box.info{background:#00B4D820;border:1px solid #00B4D840;color:var(--cy);display:block}
.share-box{background:var(--sf2);border:1px solid var(--bd);border-radius:var(--r);padding:16px;margin-top:14px;display:none}
.share-box.show{display:block}
.share-row{display:flex;gap:8px;margin-top:8px}
.share-inp{flex:1;background:var(--bg);border:1px solid var(--bd);color:var(--tx2);padding:8px 12px;border-radius:var(--r2);font-family:'Space Mono',monospace;font-size:11px;min-width:0}
.share-exp{font-size:11px;color:var(--tx3);margin-top:5px}
.tab-bar{display:flex;border-bottom:1px solid var(--bd);margin-bottom:20px}
.tab-btn{flex:1;background:none;border:none;color:var(--tx2);padding:12px;font-family:inherit;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}
.tab-btn.active{color:var(--cy);border-bottom-color:var(--cy)}
.sec-info{background:var(--gs);border:1px solid #00B4D830;border-radius:var(--r);padding:12px 16px;font-size:12px;color:var(--tx2);margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}
.vfy-banner{background:#F59E0B20;border:1px solid #F59E0B40;border-radius:var(--r);padding:14px 18px;font-size:13px;color:var(--wa);margin-bottom:16px;display:none;align-items:center;gap:10px}
.vfy-banner.show{display:flex}
.h-item{display:flex;align-items:center;gap:12px;background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:14px;margin-bottom:8px;transition:border-color .2s}
.h-item:hover{border-color:var(--cy)}
.h-info{flex:1;min-width:0}
.h-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-meta{font-size:11px;color:var(--tx2);margin-top:2px}
.h-exp{font-size:11px;color:var(--wa)}
.btn-dl{background:var(--gr);border:none;color:#fff;padding:6px 14px;border-radius:20px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}
.audit-item{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd);font-size:12px;flex-wrap:wrap}
.audit-action{border-radius:6px;padding:2px 8px;font-weight:600;font-size:11px;white-space:nowrap;border:1px solid}
.audit-meta{color:var(--tx2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audit-time{color:var(--tx3);font-size:10px;white-space:nowrap}
footer{border-top:1px solid var(--bd);padding:40px 32px;text-align:center}
.footer-brand{font-size:16px;font-weight:700;margin-bottom:6px}
.footer-brand span{background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
footer p{font-size:13px;color:var(--tx3)}
footer a{color:var(--cy);text-decoration:none}
.hidden{display:none!important}
.flex-end{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.mt12{margin-top:12px}
.full{width:100%}
@media(max-width:600px){
  nav{padding:0 16px}
  .hero{padding:110px 16px 60px}
  .section{padding:60px 16px}
  .tools-grid{grid-template-columns:1fr 1fr}
  .hero-stats{gap:24px}
  .modal{border-radius:16px 16px 0 0;max-height:95vh}
  .overlay{align-items:flex-end;padding:0}
  .save-mode{flex-direction:column}
  .modal-body{padding:16px 18px 24px}
}

/* LANG DROPDOWN */
.lang-wrap{position:relative}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--sf);border:1px solid var(--bd);border-radius:var(--r2);min-width:140px;overflow:hidden;box-shadow:0 8px 24px #00000060;display:none;z-index:300;animation:slideUp .15s ease}
.lang-menu.open{display:block}
.lang-opt{display:block;width:100%;background:none;border:none;color:var(--tx2);padding:10px 16px;font-family:inherit;font-size:13px;text-align:left;cursor:pointer;transition:all .15s}
.lang-opt:hover{background:var(--sf2);color:var(--tx)}
.lang-opt.active{color:var(--cy);font-weight:600}

/* ── MERGE ADVANCED ─────────────────────────────────────── */
.merge-drop{border:2px dashed var(--bd);border-radius:var(--r);padding:28px 20px;text-align:center;cursor:pointer;transition:all .25s;position:relative;margin-bottom:12px}
.merge-drop:hover,.merge-drop.dragover{border-color:var(--cy);background:var(--gs)}
.merge-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.merge-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}
.merge-count{font-size:12px;color:var(--tx2)}
.merge-pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-bottom:16px;max-height:380px;overflow-y:auto;padding:4px}
.mp-card{position:relative;background:var(--sf2);border:2px solid var(--bd);border-radius:8px;overflow:hidden;cursor:grab;transition:all .2s;user-select:none}
.mp-card:active{cursor:grabbing}
.mp-card.drag-over{border-color:var(--cy);box-shadow:0 0 0 2px #00B4D840}
.mp-card.dragging{opacity:.4;transform:scale(.97)}
.mp-card.excluded{opacity:.35;border-color:var(--er)!important}
.mp-card canvas{width:100%;height:110px;object-fit:contain;display:block;background:#fff}
.mp-footer{padding:4px 6px;display:flex;align-items:center;justify-content:space-between}
.mp-label{font-size:9px;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}
.mp-num{font-size:9px;color:var(--tx3);font-weight:600}
.mp-del{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:var(--er);border:none;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;opacity:0;transition:opacity .15s;z-index:2}
.mp-card:hover .mp-del{opacity:1}
.mp-doc-sep{position:absolute;top:3px;left:3px;background:#00000080;color:#fff;font-size:8px;padding:1px 5px;border-radius:4px;font-weight:700}
.merge-empty{text-align:center;padding:32px;color:var(--tx3);font-size:13px}
.btn-sm{background:var(--sf2);border:1px solid var(--bd);color:var(--tx2);padding:5px 12px;border-radius:20px;font-family:inherit;font-size:12px;cursor:pointer;transition:all .2s}
.btn-sm:hover{border-color:var(--cy);color:var(--cy)}

/* ── PAGES PREVIEW (delete/rotate/split) ────────────────── */
.pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:14px;max-height:320px;overflow-y:auto;padding:2px}
.pg-card{position:relative;background:var(--sf2);border:2px solid var(--bd);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s;user-select:none}
.pg-card canvas{width:100%;height:90px;object-fit:contain;display:block;background:#fff}
.pg-card-footer{padding:3px 5px;text-align:center;font-size:9px;color:var(--tx2);font-weight:600}
.pg-card.selected{border-color:var(--er);background:#EF444415}
.pg-card.selected::after{content:'✕';position:absolute;top:3px;right:3px;width:16px;height:16px;background:var(--er);color:#fff;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}
.pg-card.rotate-sel{border-color:var(--cy);}
.pg-card.rotate-sel::after{content:'🔄';position:absolute;top:3px;right:3px;font-size:12px;}
.pg-card-tip{font-size:11px;color:var(--tx2);margin-bottom:8px;padding:8px 12px;background:var(--gs);border-radius:var(--r2);border:1px solid #00B4D820}
/* ── IMG2PDF drag ────────────────────────────────────────── */
.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:14px;max-height:280px;overflow-y:auto}
.img-card{position:relative;background:var(--sf2);border:2px solid var(--bd);border-radius:8px;overflow:hidden;cursor:grab;transition:all .2s}
.img-card:active{cursor:grabbing}
.img-card.dragging{opacity:.4}
.img-card.drag-over{border-color:var(--cy)}
.img-card img{width:100%;height:80px;object-fit:cover;display:block}
.img-card-num{position:absolute;top:3px;left:3px;background:#00000080;color:#fff;font-size:9px;padding:1px 5px;border-radius:4px;font-weight:700}
.img-card-del{position:absolute;top:3px;right:3px;width:16px;height:16px;background:var(--er);border:none;color:#fff;border-radius:50%;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
.img-card:hover .img-card-del{opacity:1}
.img-card-name{padding:3px 5px;font-size:9px;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* ── WATERMARK PREVIEW ───────────────────────────────────── */
.wm-preview{background:#fff;border-radius:var(--r2);margin-bottom:12px;overflow:hidden;position:relative;height:140px;display:flex;align-items:center;justify-content:center}
.wm-preview-txt{position:absolute;font-size:28px;font-weight:900;color:rgba(100,100,100,0.25);transform:rotate(45deg);white-space:nowrap;pointer-events:none;letter-spacing:2px}
.wm-preview-lines{width:80%;display:flex;flex-direction:column;gap:8px}
.wm-preview-line{height:8px;background:#e0e0e0;border-radius:4px}
.wm-preview-line:nth-child(2){width:70%}
.wm-preview-line:nth-child(3){width:85%}

/* ── PAGE NUMBERS TOOL ───────────────────────────────────── */
.pn-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.pn-field{display:flex;flex-direction:column;gap:4px}
.pn-field label{font-size:12px;color:var(--tx2)}
.pn-pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px}
.pn-pos-btn{background:var(--sf2);border:1px solid var(--bd);color:var(--tx2);padding:8px 4px;border-radius:var(--r2);font-size:11px;cursor:pointer;transition:all .2s;text-align:center}
.pn-pos-btn.active{background:var(--gr);border-color:transparent;color:#fff}
.pn-preview-box{background:#fff;border-radius:var(--r2);padding:16px;margin-bottom:16px;position:relative;min-height:120px;display:flex;align-items:center;justify-content:center}
.pn-preview-lines{width:80%;display:flex;flex-direction:column;gap:8px}
.pn-preview-line{height:7px;background:#ddd;border-radius:3px}
.pn-preview-line:nth-child(2){width:70%}
.pn-preview-line:nth-child(3){width:85%}
.pn-preview-num{position:absolute;font-weight:700;font-size:13px;color:#333;background:#fff;padding:0 4px;pointer-events:none;transition:all .2s}
.pn-type-badge{display:inline-block;background:var(--gs);border:1px solid #00B4D830;color:var(--cy);font-size:10px;padding:2px 8px;border-radius:10px;margin-bottom:10px}

/* ── TOAST NOTIFICATIONS ─────────────────────────────────── */
#toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:12px 18px;font-size:13px;color:var(--tx);box-shadow:0 8px 24px #00000060;animation:toastIn .3s ease;display:flex;align-items:center;gap:10px;pointer-events:all;max-width:320px}
.toast.ok{border-color:#10B98140;background:#10B98115}
.toast.err{border-color:#EF444440;background:#EF444415}
.toast.info{border-color:#00B4D840;background:#00B4D815}
@keyframes toastIn{from{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes toastOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(40px)}}
/* ── GLOBAL DROP OVERLAY ─────────────────────────────────── */
#global-drop{position:fixed;inset:0;z-index:500;background:#0D1117ee;backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px}
#global-drop.active{display:flex}
#global-drop .gd-icon{font-size:64px;animation:bounce .6s infinite alternate}
#global-drop .gd-txt{font-size:20px;font-weight:700;color:var(--cy)}
@keyframes bounce{from{transform:translateY(0)}to{transform:translateY(-12px)}}
/* ── CROP TOOL ────────────────────────────────────────────── */
.crop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.crop-preview{background:#fff;border-radius:var(--r2);height:120px;position:relative;overflow:hidden;margin-bottom:12px;display:flex;align-items:center;justify-content:center}
.crop-inner{position:absolute;border:2px dashed var(--cy);transition:all .3s}
/* ── RECENT FILES ─────────────────────────────────────────── */
.recent-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.recent-chip{background:var(--sf);border:1px solid var(--bd);border-radius:20px;padding:5px 14px;font-size:12px;color:var(--tx2);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}
.recent-chip:hover{border-color:var(--cy);color:var(--cy)}
.recent-chip .rc-rm{color:var(--tx3);font-size:10px;margin-left:2px}
.recent-chip .rc-rm:hover{color:var(--er)}
/* ── KEYBOARD SHORTCUT BADGE ──────────────────────────────── */
.kbd{background:var(--sf2);border:1px solid var(--bd);border-radius:4px;padding:1px 6px;font-family:'Space Mono',monospace;font-size:10px;color:var(--tx2)}
.tool-card .kbd{position:absolute;bottom:10px;right:10px;font-size:9px}

/* ── TRUST BANNER ────────────────────────────────────────── */
.trust-banner{background:linear-gradient(135deg,#00B4D808,#0077FF08);border-top:1px solid #00B4D820;border-bottom:1px solid #00B4D820;padding:12px 32px;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:64px}
.trust-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tx2)}
.trust-item .ti-icon{font-size:16px}
.trust-item strong{color:var(--tx);font-weight:600}

/* ── NETWORK MONITOR ─────────────────────────────────────── */
#net-monitor{position:fixed;bottom:24px;left:24px;z-index:9998;background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:10px 16px;font-size:12px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 20px #00000040;transition:all .3s;cursor:default;user-select:none}
#net-monitor.safe{border-color:#10B98140;background:#10B98108}
#net-monitor.active{border-color:#F59E0B40;background:#F59E0B08}
.net-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0;transition:background .3s}
.net-dot.active{background:var(--wa);animation:netpulse .6s infinite alternate}
@keyframes netpulse{from{opacity:1}to{opacity:.3}}
#net-monitor .nm-text{color:var(--tx2)}
#net-monitor .nm-count{font-weight:700;color:var(--tx);font-family:'Space Mono',monospace}

/* ── PRIVACY MODAL ───────────────────────────────────────── */
.privacy-section{margin-bottom:24px}
.privacy-section h3{font-size:15px;font-weight:700;color:var(--cy);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.privacy-section p,.privacy-section li{font-size:13px;color:var(--tx2);line-height:1.7;margin-bottom:6px}
.privacy-section ul{padding-left:16px}
.privacy-section li::marker{color:var(--cy)}
.privacy-table{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:12px}
.privacy-table th{background:var(--sf2);color:var(--tx);padding:8px 12px;text-align:left;font-weight:600}
.privacy-table td{padding:8px 12px;color:var(--tx2);border-bottom:1px solid var(--bd)}
.privacy-table tr:last-child td{border-bottom:none}
.green-pill{background:#10B98120;color:var(--ok);border:1px solid #10B98140;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}
.red-pill{background:#EF444420;color:var(--er);border:1px solid #EF444440;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}

/* ── LOCAL CERTIFICATE ───────────────────────────────────── */
.local-cert{background:linear-gradient(135deg,#10B98112,#00B4D808);border:1px solid #10B98140;border-radius:var(--r);padding:16px 20px;margin-top:16px;display:none;animation:certIn .4s ease}
.local-cert.show{display:flex;align-items:center;gap:14px}
@keyframes certIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.cert-icon{font-size:28px;flex-shrink:0}
.cert-title{font-size:14px;font-weight:700;color:var(--ok);margin-bottom:3px}
.cert-sub{font-size:12px;color:var(--tx2)}

/* ── PRIVACY MODE TOGGLE ─────────────────────────────────── */
.privacy-mode-bar{background:linear-gradient(90deg,#10B98115,#00B4D810);border:1px solid #10B98130;border-radius:var(--r);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.pm-label{font-size:13px;font-weight:600;color:var(--tx);display:flex;align-items:center;gap:8px}
.pm-sub{font-size:11px;color:var(--tx2);margin-top:2px}
.pm-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.pm-toggle input{opacity:0;width:0;height:0}
.pm-slider{position:absolute;inset:0;background:var(--sf2);border-radius:12px;cursor:pointer;transition:.3s}
.pm-slider:before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.3s}
.pm-toggle input:checked+.pm-slider{background:var(--ok)}
.pm-toggle input:checked+.pm-slider:before{transform:translateX(20px)}

/* ── FAQ SECTION ─────────────────────────────────────────── */
.faq-section{padding:60px 32px;max-width:800px;margin:0 auto}
.faq-item{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.faq-item.open{border-color:var(--cy)}
.faq-q{padding:18px 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:500}
.faq-q:hover{color:var(--cy)}
.faq-chevron{transition:transform .2s;color:var(--tx3);font-size:12px}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:13px;color:var(--tx2);line-height:1.7}
.faq-item.open .faq-a{max-height:300px}
.faq-a-inner{padding:0 20px 18px}

/* ── PROOF BAR ───────────────────────────────────────────── */
.proof-bar{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:20px 24px;margin:32px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.proof-item{text-align:center}
.proof-icon{font-size:24px;margin-bottom:6px}
.proof-title{font-size:13px;font-weight:600;color:var(--tx);margin-bottom:3px}
.proof-sub{font-size:11px;color:var(--tx2)}

/* ── COOKIE BANNER ───────────────────────────────────────── */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--sf);border-top:1px solid var(--bd);padding:16px 24px;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 32px #00000040}
#cookie-banner.show{transform:translateY(0)}
.ck-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.ck-icon{font-size:28px;flex-shrink:0}
.ck-text{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:280px}
.ck-text strong{font-size:14px;font-weight:700;color:var(--tx);display:block;margin-bottom:3px}
.ck-text p{font-size:12px;color:var(--tx2);line-height:1.5}
.ck-actions{display:flex;gap:10px;flex-shrink:0}
.ck-details{background:none;border:1px solid var(--bd);color:var(--tx2);padding:9px 18px;border-radius:8px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s}
.ck-details:hover{border-color:var(--cy);color:var(--cy)}
.ck-accept{background:linear-gradient(135deg,#00B4D8,#0077FF);border:none;color:#fff;padding:9px 22px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}
.ck-accept:hover{opacity:.85}
@media(max-width:600px){.ck-inner{flex-direction:column}.ck-actions{width:100%}.ck-accept,.ck-details{flex:1;text-align:center}}

/* ── MODE CLAIR (défaut) — surfaces blanches, texte foncé, accents bleu ── */
html.light{
  --bg:#F7F8FA;
  --sf:#FFFFFF;
  --sf2:#F0F4FF;
  --bd:#E2E8F0;
  --tx:#1A1A2E;
  --tx2:#5A6A85;
  --tx3:#94A3B8;
}
html.light body{background:var(--bg);color:var(--tx)}
html.light nav{background:#FFFFFFf2;border-bottom:1px solid var(--bd)}
html.light .tools-nav{background:#FFFFFF;border-bottom:1px solid var(--bd)}
html.light .overlay{background:#1A1A2E4D}
html.light #global-drop{background:#F7F8FAf2}
html.light .tn-link:hover,html.light .tn-item:hover{background:#00B4D814}
html.light .tn-menu{box-shadow:0 12px 40px #64748B26}
html.light #net-monitor,html.light .toast{box-shadow:0 8px 24px #64748B2E}

/* ── BARRE D'OUTILS HORIZONTALE (accueil + pages outils) ─── */
.tools-nav{position:fixed;top:64px;left:0;right:0;z-index:99;display:flex;align-items:center;gap:6px;padding:0 32px;height:46px;background:var(--bg);border-bottom:1px solid var(--bd)}
.tn-links{display:flex;align-items:center;gap:2px;min-width:0}
.tn-link{font-size:14px;color:var(--tx2);text-decoration:none;padding:8px 13px;border-radius:8px;transition:all .2s;white-space:nowrap}
.tn-link:hover{color:var(--cy);background:#00B4D812}
.tn-link.active{color:var(--tx);background:#00B4D818;border:1px solid #00B4D840;padding:6px 11px}
.tn-all{position:relative;margin-left:auto}
.tn-all-btn{display:inline-flex;align-items:center;gap:6px;background:var(--gr);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.tn-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:14px;box-shadow:0 12px 40px #00000040;display:none;grid-template-columns:1fr 1fr;gap:6px;width:540px;max-width:90vw;z-index:120;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.tn-menu.open{display:grid}
.tn-item{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:var(--tx);text-decoration:none;padding:12px 14px;border-radius:10px;transition:background .15s}
.tn-item:hover{background:#00B4D812;color:var(--cy)}
/* Variante accueil : outils répartis sur toute la largeur */
.tools-nav--home .tn-links{flex:1;justify-content:space-between}
.tools-nav--home .tn-all{margin-left:16px}
/* Accueil : décaler le contenu sous la barre fixe (nav 64 + barre 46) */
body.home-toolsnav .trust-banner{margin-top:110px}
@media(max-width:768px){
  .tools-nav{padding:0 12px;gap:2px;overflow-x:auto}
  .tn-link{padding:7px 9px;font-size:12px}
  .tn-all-btn{padding:7px 12px;font-size:12px}
  .tools-nav--home .tn-links{gap:6px;justify-content:flex-start;flex:0 1 auto}
}
@media(max-width:480px){
  .tools-nav .tn-link{display:none}
  .tn-all{margin-left:auto}
}

/* ── FIXES MOBILE (rendu téléphone) ─────────────────────── */
/* Safari iOS : backdrop-filter nécessite le préfixe -webkit- */
nav{-webkit-backdrop-filter:blur(20px)}
.overlay{-webkit-backdrop-filter:blur(8px)}

@media(max-width:600px){
  /* Nav compacte : tout tient sur une ligne de 360px */
  .nav-actions{gap:6px}
  .nav-brand{font-size:16px}
  .nav-logo img{width:22px;height:22px}
  .btn-lang{padding:6px 8px;font-size:12px}
  .btn-auth{padding:7px 12px;font-size:12px}
  #theme-btn{width:30px!important;height:30px!important;font-size:14px!important}
  .avatar{width:30px;height:30px;font-size:12px}
  /* Widgets desktop inutiles / gênants sur mobile */
  #net-monitor{display:none}
  .kbd{display:none}
  #shortcut-hint{display:none}
  /* Bandeau confiance compact */
  .trust-banner{gap:8px 16px;padding:10px 14px}
  .trust-item{font-size:11px;gap:5px}
  .trust-item .ti-icon{font-size:13px}
  /* Cartes outils : 2 colonnes serrées */
  .tool-card{padding:16px 12px}
  .tool-name{font-size:14px}
  .tool-badge{top:8px;right:8px}
}
@media(max-width:480px){
  /* Pricing / Blog sortent de la nav (réinjectés au footer par shared.js) */
  .nav-actions > a{display:none}
}
@media(hover:none){
  /* Pas d'effet hover sur tactile */
  .tool-card:hover{transform:none;box-shadow:none}
}

/* ── HERO 2 COLONNES + ILLUSTRATION "100% LOCAL" ──────────── */
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;max-width:1060px;margin:0 auto;text-align:left}
.hero-copy .badge{display:inline-flex}
.hero-illu svg{width:100%;height:auto;display:block}
.illu-flow{animation:illuFlow 1.2s linear infinite}
@keyframes illuFlow{to{stroke-dashoffset:-12}}
@media(prefers-reduced-motion:reduce){.illu-flow{animation:none}}
.demo-drop{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:10px;border:2px dashed var(--bd);border-radius:14px;padding:15px 18px;cursor:pointer;color:var(--tx2);font-size:14px;transition:all .2s}
.demo-drop:hover,.demo-drop.dragover{border-color:var(--cy);color:var(--cy);background:var(--gs)}
.tools-grid.pulse .tool-card{animation:cardPulse .9s ease}
@keyframes cardPulse{0%{box-shadow:0 0 0 0 #00B4D855}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:none}}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:28px;text-align:center}
  .hero-illu{max-width:400px;margin:0 auto}
  .hero-ctas,.demo-drop{justify-content:center}
}

/* ── TUILES D'ICÔNES (carré teinté, hover dégradé) ────────── */
.tool-card .tic{
  background:color-mix(in srgb,currentColor 9%,transparent);
  border:1.5px solid color-mix(in srgb,currentColor 22%,transparent);
  border-radius:14px;padding:9px;transition:all .25s;
}
/* Hover : teinte approfondie (pas d'icône blanche : les creux var(--sf)
   deviendraient invisibles sur fond dégradé) */
.tool-card:hover .tic{background:color-mix(in srgb,currentColor 18%,transparent);border-color:color-mix(in srgb,currentColor 35%,transparent)}

/* ── PUCES DE CATÉGORIES (style iLovePDF) ─────────────────── */
.cat-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 26px}
.cat-chip{background:var(--sf);border:1px solid var(--bd);color:var(--tx);padding:10px 18px;border-radius:26px;font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}
.cat-chip:hover{border-color:var(--cy)}
.cat-chip.active{background:var(--tx);color:var(--bg);border-color:var(--tx)}

/* ── MOBILE STYLE iLovePDF : burger + hero épuré + liste d'outils ── */
#nav-burger{display:none;background:none;border:1px solid var(--bd);color:var(--tx);width:38px;height:38px;border-radius:10px;font-size:18px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}
@media(max-width:600px){
  #nav-burger{display:flex}
  /* Nav : logo + burger seulement ; le reste dans le panneau */
  .nav-actions{display:none}
  body.nav-open .nav-actions{
    display:flex;flex-direction:column;align-items:stretch;gap:12px;
    position:fixed;top:72px;right:12px;min-width:210px;
    background:var(--sf);border:1px solid var(--bd);border-radius:14px;
    padding:16px;box-shadow:0 12px 40px #00000030;z-index:150;
  }
  body.nav-open .nav-actions > a{display:block;padding:6px 4px;font-size:14px!important}
  body.nav-open .btn-auth{width:100%;padding:11px}
  body.nav-open .btn-lang{text-align:left}
  /* MOBILE = OUTILS D'ABORD (comme iLovePDF) : on voit la grille dès l'entrée */
  .trust-banner{display:none} /* trop haut sur mobile ; repris par la proof bar */
  .hero .badge{display:none}
  .hero-visual{display:none}
  .sec-badges{display:none}
  .hero-stats{display:none}
  .hero-ctas{display:none}
  .hero-illu{display:none}
  .demo-drop{display:none}
  .hero{padding:76px 20px 8px}
  .hero h1{font-size:24px;line-height:1.2}
  .hero h1 br{display:none} /* titre sur une seule ligne logique */
  #h-sub{font-size:13px;max-width:38ch;margin:8px auto 0}
  /* Section outils collée au hero */
  #tools-section{padding-top:18px}
  #tools-section .section-label{display:none}
  #tools-section .section-title{font-size:20px;margin-bottom:2px}
  #tools-section .section-sub{margin-bottom:14px}
  .cat-chips{gap:8px;margin-bottom:16px}
  .cat-chip{padding:9px 14px;font-size:12.5px}
  /* Barre d'outils de l'accueil inutile sur mobile (la grille est juste dessous) */
  .tools-nav--home{display:none}
  body.home-toolsnav .trust-banner{margin-top:64px}
  /* Grille outils → liste verticale, cartes horizontales (icône à gauche) */
  .tools-grid{grid-template-columns:1fr;gap:10px}
  .tool-card{display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:center;padding:15px 16px}
  .tool-card > .tic{grid-row:1/3;width:48px!important;height:48px!important;margin:0}
  .tool-name{font-size:16px;margin-bottom:2px}
  .tool-desc{font-size:13px}
  .tool-badge{display:none}
  .section{padding:36px 16px}
  .section-title{font-size:24px}
  /* Table de comparaison : défilement horizontal au lieu de déborder */
  #compare-section{overflow-x:hidden}
  #compare-section .cmp-wrap,#compare-section div{overflow-x:auto;-webkit-overflow-scrolling:touch}
  #compare-section table{min-width:520px}
  /* Toasts pleine largeur en bas */
  #toast-container{left:12px;right:12px;bottom:14px}
  .toast{max-width:none;width:100%}
  /* iOS : zoom automatique si input < 16px */
  .form-input{font-size:16px}
}
