.photos{margin:0 0 22px}
.photos-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.photos-head>span{font-size:14px;font-weight:400;color:#394c3f}
.photos-count{font:400 12px var(--mono);color:#62705f;white-space:nowrap}
.photos-drop{border:1px dashed #b3bfb1;border-radius:3px;padding:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;transition:background .2s,border-color .2s}
.photos-drop.is-over{background:#263e2d12;border-color:#263e2d}
.photos-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.photos-button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 15px;border:1px solid #263e2d;border-radius:3px;background:transparent;color:#213124;font-size:14px;font-weight:400;cursor:pointer;transition:background .2s,color .2s}
.photos-button:hover{background:#263e2d;color:#f0f3e9}
.photos-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.photos-input:focus-visible+.photos-button{outline:2px solid #8e492e;outline-offset:3px}
.photos-button.is-full{opacity:.45;cursor:not-allowed;background:transparent;color:#213124}
.photos-hint{font-size:12px;line-height:1.6;color:#62705f;flex:1;min-width:170px}
.photos-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.photos-list:empty{display:none}
.photos-item{position:relative;aspect-ratio:1;border-radius:3px;overflow:hidden;background:#dfe5dc;border:1px solid #c1cbbf}
.photos-item img{display:block;width:100%;height:100%;object-fit:cover}
.photos-item .photos-file{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6px;font:400 10px/1.3 var(--mono);color:#4d5c4f;text-align:center;word-break:break-all}
.photos-remove{position:absolute;top:4px;right:4px;width:26px;height:26px;border:0;border-radius:50%;background:#172019d9;color:#f0f3e9;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;padding:0}
.photos-remove:hover{background:#8e492e}
.photos-error{font-size:12px;line-height:1.6;color:#8e2f1e;margin-top:8px}
@media(max-width:480px){.photos-list{grid-template-columns:repeat(4,minmax(0,1fr))}.photos-button{width:100%;justify-content:center}}
