.ed-photo-overlay {
    position: fixed;
    inset: 0;
    z-index: 10040;
    display: none;
    background: rgba(13, 12, 10, .72);
    backdrop-filter: blur(3px);
}

.ed-photo-popup {
    --ed-accent: #a67c2d;
    --ed-accent-dark: #755117;
    position: fixed;
    inset: 50% auto auto 50%;
    z-index: 10050;
    display: none;
    grid-template-columns: minmax(0, 1fr);
    width: min(620px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: auto;
    transform: translate(-50%, -50%);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .38);
    color: #231f19;
}

.ed-photo-popup * { box-sizing: border-box; }
.ed-photo-popup-content { padding: 34px 38px 30px; }
.ed-photo-popup-close { position: absolute; top: 12px; right: 14px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: #24201a; font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 3px 14px rgba(0,0,0,.16); }
.ed-photo-popup-reviews { display: inline-flex; align-items: center; gap: 5px; margin: 0 44px 10px 0; color: #5b4218; font-size: 13px; font-weight: 700; text-decoration: none; }
.ed-photo-popup-reviews span { color: #e3a008; letter-spacing: .05em; }
.ed-photo-popup-reviews:hover { color: var(--ed-accent-dark); text-decoration: underline; }
.ed-photo-popup-title { margin: 0 36px 10px 0; font-family: "Literata", Georgia, serif; font-size: clamp(25px, 3vw, 35px); font-weight: 700; line-height: 1.12; }
.ed-photo-popup-intro { margin: 0 0 18px; color: #5e574d; font-size: 15px; line-height: 1.55; }
.ed-photo-popup-call { display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 18px; padding: 11px 14px; border: 1px solid #ded5c6; border-radius: 10px; color: #3a3022; text-decoration: none; font-weight: 700; }
.ed-photo-popup-call:hover { color: var(--ed-accent-dark); }
.ed-photo-popup-form { display: grid; gap: 13px; }
.ed-photo-popup-field span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; }
.ed-photo-popup-form input[type="tel"] { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #cbc3b7; border-radius: 9px; font-size: 16px; }
.ed-photo-popup-dropzone { position: relative; display: grid; place-items: center; min-height: 130px; padding: 18px; border: 2px dashed #c9b99d; border-radius: 13px; background: #faf7f1; text-align: center; cursor: pointer; }
.ed-photo-popup-dropzone:focus-within, .ed-photo-popup-dropzone:hover { border-color: var(--ed-accent); background: #fffaf0; }
.ed-photo-popup-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ed-photo-popup-dropzone strong { color: #3b3020; font-size: 15px; }
.ed-photo-popup-dropzone small { display: block; margin-top: 4px; color: #766c5f; line-height: 1.35; }
.ed-photo-popup-files { display: block; margin-top: 7px; color: var(--ed-accent-dark); font-size: 12px; font-weight: 700; }
.ed-photo-popup-submit { min-height: 49px; border: 0; border-radius: 10px; background: linear-gradient(135deg, var(--ed-accent), var(--ed-accent-dark)); color: #fff; font-size: 16px; font-weight: 800; cursor: pointer; }
.ed-photo-popup-submit:disabled { opacity: .65; cursor: wait; }
.ed-photo-popup-status { min-height: 20px; font-size: 13px; font-weight: 700; }
.ed-photo-popup-status.is-success { color: #168244; }
.ed-photo-popup-status.is-error { color: #b42318; }
.ed-photo-popup-privacy { color: #80766a; font-size: 11px; line-height: 1.4; text-align: center; }

@media (max-width: 760px) {
    .ed-photo-popup { grid-template-columns: 1fr; width: min(520px, calc(100vw - 18px)); max-height: calc(100vh - 18px); border-radius: 16px; }
    .ed-photo-popup-content { padding: 28px 20px 22px; }
    .ed-photo-popup-title { font-size: 25px; }
    .ed-photo-popup-intro { font-size: 14px; }
    .ed-photo-popup-dropzone { min-height: 112px; }
}
