.ot-upload{position:relative;padding:24px;border:1px dashed #bed1af;border-radius:18px;background:linear-gradient(145deg,#fff,#f5f9f0);transition:border-color .18s,box-shadow .18s}
.ot-upload:hover{border-color:#79a34e;box-shadow:0 6px 22px #244b3509}
.ot-upload label{gap:11px}
.ot-upload .ot-photo-icon{width:48px;height:48px;background:#edf4e5;border-radius:15px;color:#557d36}
.ot-upload label>strong{font-size:14px;line-height:1.5;color:#243b2c}
.ot-upload label>b{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 19px;margin-top:5px;border:1px solid #cbdcbb;border-radius:11px;background:#e9f3df;color:#35591f;font-size:13px;font-weight:600;transition:background .18s}
.ot-upload label>b::before{content:'+';font-size:20px;font-weight:400}
.ot-upload:hover label>b{background:#dceccf}
.ot-upload input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ot-upload:focus-within{outline:2px solid #76bc21;outline-offset:4px}
.ot-upload:has(input:disabled){opacity:.6;pointer-events:none}
.ot-file-list:empty{display:none}
.ot-file-item{padding:9px;background:#fff;border:1px solid #e0e9d9;border-radius:11px;gap:10px}
.ot-file-item button{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;background:#f1f5ec;color:#48603c}
.ot-file-item button:hover{background:#e5ecdF}
@media(prefers-reduced-motion:reduce){.ot-upload,.ot-upload label>b{transition:none}}
