/* Paint Your Business FTP Zone — stili confinati al solo shortcode. */
.pyb-ftp, .pyb-ftp-login { --pyb-ftp-yellow:#ffe500; --pyb-ftp-text:#222; --pyb-ftp-muted:#60666b; --pyb-ftp-stroke:#e1e3e6; color:var(--pyb-ftp-text); font-family:inherit; width:100%; max-width:1120px; margin:1.5rem auto 3rem; box-sizing:border-box; }
.pyb-ftp *, .pyb-ftp *::before, .pyb-ftp *::after, .pyb-ftp-login * { box-sizing:border-box; }
.pyb-ftp-header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 0 1.5rem; border-bottom:1px solid var(--pyb-ftp-stroke); }
.pyb-ftp-header h2, .pyb-ftp-login h2 { font-size:clamp(1.8rem, 3vw, 2.4rem); font-weight:750; letter-spacing:-.04em; margin:.1rem 0 .4rem; }
.pyb-ftp-header p, .pyb-ftp-panel p { margin:.25rem 0 .8rem; }
.pyb-ftp-eyebrow { letter-spacing:.09em; font-size:.75rem; text-transform:uppercase; color:var(--pyb-ftp-muted); }
.pyb-ftp .pyb-ftp-btn, .pyb-ftp-login .pyb-ftp-btn { display:inline-flex; justify-content:center; align-items:center; background:var(--pyb-ftp-yellow); border:1px solid var(--pyb-ftp-yellow); border-radius:8px; padding:.66rem 1rem; text-decoration:none; font-size:.9rem; font-weight:750; color:#181818 !important; cursor:pointer; line-height:1.2; box-shadow:none; }
.pyb-ftp .pyb-ftp-btn:hover, .pyb-ftp .pyb-ftp-btn:focus-visible, .pyb-ftp-login .pyb-ftp-btn:hover { background:#e6cc00; border-color:#e6cc00; color:#151515 !important; }
.pyb-ftp-logout { color:var(--pyb-ftp-text); font-weight:650; text-underline-offset:3px; }
.pyb-ftp-picker { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding:1.25rem 0 1.5rem; }
.pyb-ftp-picker label { font-weight:750; }
.pyb-ftp-picker select { min-width:min(100%, 310px); flex:1; max-width:520px; min-height:44px; padding:.6rem; border:1px solid var(--pyb-ftp-stroke); border-radius:8px; color:var(--pyb-ftp-text); background:#fff; font-family:inherit; font-size:1rem; }
.pyb-ftp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; margin:1.25rem 0; }
.pyb-ftp-panel { background:#fff; border:1px solid var(--pyb-ftp-stroke); border-radius:14px; padding:1.4rem; min-width:0; }
.pyb-ftp-panel h3 { font-size:1.12rem; font-weight:800; letter-spacing:.025em; margin:0 0 .4rem; }
.pyb-ftp-panel>p { color:var(--pyb-ftp-muted); font-size:.9rem; line-height:1.45; }
.pyb-ftp-files { margin:1.1rem 0 0; padding:0; list-style:none; }
.pyb-ftp-file { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; list-style:none; margin:0; padding:1rem 0; border-top:1px solid var(--pyb-ftp-stroke); }
.pyb-ftp-file-info { display:flex; flex-direction:column; flex:1; min-width:155px; overflow-wrap:anywhere; }
.pyb-ftp-file-name { font-size:.93rem; font-weight:700; line-height:1.4; }
.pyb-ftp-meta { color:var(--pyb-ftp-muted); font-size:.82rem; margin-top:.25rem; }
.pyb-ftp-actions { display:flex; flex-wrap:wrap; gap:.4rem; }
.pyb-ftp .pyb-ftp-delete { background:#fff; border-color:#ddd; color:#a12727 !important; }
.pyb-ftp .pyb-ftp-delete:hover { background:#fff0f0; border-color:#a12727; color:#a12727 !important; }
.pyb-ftp-empty { font-size:.96rem; padding:1rem 0; color:var(--pyb-ftp-muted); }
.pyb-ftp-uploader { margin-top:1.15rem; }
.pyb-ftp-dropzone { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.4rem; text-align:center; border:2px dashed #b8bfc5; border-radius:12px; cursor:pointer; min-height:150px; background:#fffefa; padding:1rem; transition:background .2s,border-color .2s; }
.pyb-ftp-dropzone:hover, .pyb-ftp-dropzone.is-dragover { background:#fff9c2; border-color:#b39d00; }
.pyb-ftp-dropzone span { color:var(--pyb-ftp-muted); font-size:.9rem; }
.pyb-ftp-queue { margin-top:1rem; }
.pyb-ftp-progress-item { border-top:1px solid var(--pyb-ftp-stroke); padding:.8rem 0; font-size:.88rem; }
.pyb-ftp-progress-item strong { display:block; overflow-wrap:anywhere; margin-bottom:.35rem; }
.pyb-ftp-progress-item progress { width:100%; height:12px; accent-color:#bea600; }
.pyb-ftp-progress-item span { display:block; color:var(--pyb-ftp-muted); }
.pyb-ftp-progress-item.is-error span { color:#a12727; }
.pyb-ftp-error { color:#a12727; border-left:3px solid #a12727; padding:.6rem 1rem; }
.pyb-ftp-login { background:#fff; border:1px solid #e1e3e6; padding:1.5rem; border-radius:14px; }
@media(max-width:780px) { .pyb-ftp-grid{grid-template-columns:1fr} .pyb-ftp-panel{padding:1.1rem} .pyb-ftp-picker{align-items:stretch; flex-direction:column} .pyb-ftp-picker select{max-width:none} }
