.djhf-image-uploader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid rgba(0,229,255,.22);border-radius:18px;background:rgba(0,229,255,.045);box-shadow:0 0 18px rgba(0,229,255,.08),inset 0 0 0 1px rgba(255,255,255,.025);grid-column:1 / -1;}
.djhf-image-uploader-head{display:flex;align-items:center;justify-content:space-between;gap:14px;grid-column:1 / -1;min-width:0;}
.djhf-image-uploader-head p{margin:.25rem 0 0;line-height:1.35;}
.djhf-image-preview{width:92px;height:92px;border-radius:18px;object-fit:cover;border:1px solid rgba(0,229,255,.34);box-shadow:0 0 18px rgba(0,229,255,.16),0 0 32px rgba(0,100,255,.10);background:rgba(255,255,255,.04);cursor:pointer;}
.djhf-image-preview-disabled{cursor:default;pointer-events:auto;opacity:.96;}
.djhf-image-progress,.djhf-image-upload-progress{height:9px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.08);display:none;min-width:180px;}
.djhf-image-progress span,.djhf-image-upload-progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,rgba(0,229,255,.75),rgba(255,255,255,.95));box-shadow:0 0 14px rgba(0,229,255,.35);transition:width .18s ease;}
.djhf-image-upload-status{min-height:1.2em;font-size:.92rem;opacity:.9;grid-column:1 / -1;}
.djhf-image-upload-status.ok{color:#65ffb2;text-shadow:0 0 10px rgba(101,255,178,.20);}
.djhf-image-upload-status.error{color:#ff9aa8;text-shadow:0 0 10px rgba(255,80,120,.20);}
.djhf-image-popup-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.74);backdrop-filter:blur(8px);}
.djhf-image-popup-modal.open{display:flex;}
.djhf-image-popup-inner{position:relative;max-width:min(94vw,920px);max-height:88vh;padding:12px;border-radius:24px;border:1px solid rgba(0,229,255,.38);background:linear-gradient(180deg,rgba(9,17,52,.96),rgba(3,8,26,.98));box-shadow:0 0 28px rgba(0,229,255,.22),0 0 68px rgba(0,90,255,.20),0 18px 54px rgba(0,0,0,.50);}
.djhf-image-popup-inner img{display:block;max-width:calc(94vw - 24px);max-height:calc(88vh - 24px);object-fit:contain;border-radius:18px;}
.djhf-image-popup-close{position:absolute;right:10px;top:10px;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(0,229,255,.55);background:rgba(18,7,30,.84);box-shadow:0 0 12px rgba(0,229,255,.25),0 0 22px rgba(0,110,255,.14),inset 0 0 10px rgba(0,229,255,.10);color:transparent;font-size:0;line-height:0;cursor:pointer;z-index:3;appearance:none;-webkit-appearance:none;padding:0;}
.djhf-image-popup-close::before,.djhf-image-popup-close::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:4px;border-radius:999px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.75);transform-origin:center;}
.djhf-image-popup-close::before{transform:translate(-50%,-50%) rotate(45deg);}
.djhf-image-popup-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.djhf-image-popup-close:hover,.djhf-image-popup-close:focus-visible{border-color:rgba(0,229,255,.85);box-shadow:0 0 16px rgba(0,229,255,.36),0 0 30px rgba(0,110,255,.20),inset 0 0 12px rgba(0,229,255,.14);outline:none;}
.djhf-image-card{display:block;width:112px;height:112px;border-radius:22px;overflow:hidden;border:1px solid rgba(0,229,255,.34);background:rgba(255,255,255,.04);box-shadow:0 0 22px rgba(0,229,255,.16),0 0 54px rgba(0,100,255,.12);}
.djhf-image-card img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:640px){.djhf-image-uploader{grid-template-columns:1fr}.djhf-image-uploader-head{align-items:flex-start;flex-direction:column}.djhf-image-preview{width:86px;height:86px}.djhf-image-card{width:94px;height:94px;border-radius:18px}}

/* Recording/upload image preview popup: keep the close X clean and inside small iPhone screens */
.djhf-image-popup-modal{padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));}
.djhf-image-popup-inner{box-sizing:border-box;max-width:min(94vw,920px);max-height:calc(100dvh - 28px);}
.djhf-image-popup-inner img{max-width:calc(94vw - 24px);max-height:calc(100dvh - 64px);}
.djhf-image-popup-close{right:8px;top:8px;overflow:visible;transform:translateZ(0);}
.djhf-image-popup-close span{display:none!important;}
.djhf-image-popup-close::before,.djhf-image-popup-close::after{left:50%;top:50%;width:22px;height:3px;margin:0;}
@media(max-width:640px){
  .djhf-image-popup-inner{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:10px;border-radius:20px;}
  .djhf-image-popup-inner img{max-width:calc(100vw - 44px);max-height:calc(100dvh - 44px);border-radius:15px;}
  .djhf-image-popup-close{width:40px;height:40px;right:6px;top:6px;}
}

/* Reusable uploaded-image picker (edit metadata + saved streams) */
.djhf-image-picker-modal[hidden]{display:none!important;}
.djhf-image-picker-modal{position:fixed;inset:0;z-index:99998;background:rgba(2,5,18,.78);backdrop-filter:blur(7px);padding:18px;overflow:auto;}
.djhf-image-picker-card{position:relative;width:min(760px,100%);margin:5vh auto;background:linear-gradient(180deg,rgba(8,13,36,.98),rgba(3,7,24,.99));border:2px solid rgba(0,230,255,.88);border-radius:24px;box-shadow:0 0 18px rgba(0,230,255,.72),0 0 48px rgba(0,230,255,.38),0 0 100px rgba(0,230,255,.18);padding:16px;}
.djhf-image-picker-head,.djhf-image-picker-actions,.djhf-image-picker-foot{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.djhf-image-picker-head{padding-right:58px;min-height:48px;}
.djhf-image-picker-head h3{margin:0;}
.djhf-image-picker-head [data-image-picker-close]{position:absolute;top:14px;right:14px;width:42px;height:42px;min-width:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:1.55rem;line-height:1;z-index:2;}
.djhf-image-picker-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;max-height:46vh;overflow:auto;margin-top:14px;padding:2px 4px 6px 2px;}
.djhf-image-picker-choice-wrap{position:relative;min-width:0;}
.djhf-image-picker-choice{appearance:none;width:100%;min-height:100%;border:1px solid rgba(157,160,194,.55);border-radius:18px;background:rgba(5,8,28,.78);color:var(--text,#f5f5ff);padding:8px;cursor:pointer;text-align:center;box-shadow:0 0 0 rgba(0,0,0,0);}
.djhf-image-picker-choice img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center center;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(0,229,255,.24);box-shadow:0 0 18px rgba(0,229,255,.12),0 0 34px rgba(0,110,255,.08);margin-bottom:7px;padding:0;box-sizing:border-box;overflow:hidden;}
.djhf-image-picker-choice span{display:block;font-size:.82rem;line-height:1.2;color:rgba(245,245,255,.84);}
.djhf-image-picker-choice.is-selected{border-color:rgba(0,230,255,.98);box-shadow:0 0 12px rgba(0,230,255,.70),0 0 30px rgba(0,230,255,.30);}
.djhf-image-picker-delete{position:absolute;top:7px;right:7px;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,120,150,.85);background:rgba(18,4,18,.86);color:#ff9ab0;font-weight:900;font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 12px rgba(255,80,130,.32);z-index:3;}
.djhf-image-picker-delete:hover,.djhf-image-picker-delete:focus{border-color:#ffcad7;color:#fff;background:rgba(140,18,52,.94);box-shadow:0 0 14px rgba(255,80,130,.55),0 0 28px rgba(255,80,130,.22);outline:none;}
.djhf-image-picker-badge{position:absolute;top:8px;right:8px;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:999px;border:1px solid rgba(0,230,255,.42);background:rgba(3,9,26,.88);color:rgba(238,252,255,.94);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 0 12px rgba(0,230,255,.22);}
@media(max-width:640px){.djhf-image-picker-modal{padding:10px}.djhf-image-picker-card{margin:3vh auto;padding:14px;border-radius:20px}.djhf-image-picker-head{padding-right:52px}.djhf-image-picker-head [data-image-picker-close]{top:12px;right:12px}.djhf-image-picker-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.djhf-image-picker-foot .btn{flex:1 1 auto;}}
