.ifco-photo-input{margin:12px 0;min-width:0;padding:12px;border:1px solid #d7dfe3;border-radius:10px;background:#fff}
.ifco-photo-drop{border:1px dashed #8faeb9;border-radius:8px;background:#f6fafb;padding:16px;text-align:center}
.ifco-photo-drop.is-over{outline:2px solid #08748b;outline-offset:-2px;background:#e8f4f7}
.ifco-photo-drop p{margin:6px 0 12px}
.ifco-photo-drop small{display:block;color:#59676e;margin-top:10px}
.ifco-photo-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ifco-photo-actions .ifco-photo-button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #a5bec7;border-radius:7px;padding:9px 14px;min-height:42px;margin:0!important;background:#fff;color:#07596c;font-weight:650;cursor:pointer}
.ifco-photo-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ifco-photo-button:focus-within{outline:2px solid #08748b;outline-offset:3px}
.ifco-photo-button:has(input:disabled){opacity:.55;cursor:default}
.ifco-photo-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,148px),1fr));gap:12px}
.ifco-photo-list li{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:0;background:#fff}
.ifco-photo-list img{display:block;width:100%;height:120px;object-fit:contain;background:#eef2f4;border:1px solid #d7dfe3;border-radius:8px}
.ifco-photo-list li>div{min-width:0;padding:0 2px}
.ifco-photo-list strong,.ifco-photo-list small{display:block;overflow-wrap:anywhere}
.ifco-photo-list strong{font-size:12px;line-height:1.4}
.ifco-photo-list small{color:#59676e;margin-top:4px;font-size:11px}
/* A compact visible circle inside a 44 px click/touch target. */
.ifco-photo-list .ifco-photo-remove{position:absolute;top:-3px;right:-3px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#07596c;box-shadow:none;cursor:pointer}
.ifco-photo-list .ifco-photo-remove-icon{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:28px;height:28px;border:2px solid #07596c;border-radius:50%;background:#fff;box-shadow:0 1px 4px #20282b24;font-size:22px;font-weight:750;line-height:1}
.ifco-photo-list .ifco-photo-remove:hover{background:transparent}
.ifco-photo-list .ifco-photo-remove:hover .ifco-photo-remove-icon{background:#e8f4f7}
.ifco-photo-list .ifco-photo-remove:focus-visible{outline:none}
.ifco-photo-list .ifco-photo-remove:focus-visible .ifco-photo-remove-icon{outline:2px solid #08748b;outline-offset:2px}
.ifco-photo-list .ifco-photo-remove:disabled{opacity:.55;cursor:default}
.ifco-photo-status{font-size:12px;color:#59676e;margin:8px 0}
.ifco-photo-error{color:#a32d20;margin:8px 0}
.ifco-photo-error:empty{display:none}
@media(max-width:620px){.ifco-photo-input{padding:10px}.ifco-photo-drop{padding:14px 10px}.ifco-photo-actions .ifco-photo-button{min-height:44px;flex:1}.ifco-photo-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,120px),1fr));gap:10px}}

