/* CutPopUp — Birthday Photo Pop-Up (product page). Scoped under .cpx-photo. */
.cpx-photo{
  --c:#E0592C;--cd:#B8431C;--cs:#FCEEE6;--cream:#FBF5EC;--ink:#2A2722;--mut:#7C7367;--line:#E2DACB;--gold:#A6781F;
  font-family:inherit;color:var(--ink);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:18px 0;background:#fff
}
.cpx-photo *{box-sizing:border-box}
.cpx-photo-head{padding:14px 16px 0}
.cpx-photo-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cpx-photo-title{display:block;font-size:17px;margin-top:3px}
.cpx-photo-title em{font-style:normal;color:var(--cd);font-weight:600}

.cpx-photo-drop{display:flex;gap:14px;align-items:center;margin:12px 16px;padding:12px;border:1.5px dashed var(--line);border-radius:14px;background:var(--cream);cursor:pointer;transition:border-color .12s,background .12s}
.cpx-photo-drop:hover,.cpx-photo-drop:focus{border-color:var(--c);outline:none}
.cpx-photo-drop.cpx-drag{border-color:var(--c);background:var(--cs)}
.cpx-photo-frame{position:relative;width:96px;height:96px;flex:none;border-radius:10px;overflow:hidden;background:#fff;border:2px solid var(--c);display:flex;align-items:center;justify-content:center}
.cpx-photo-ph{font-size:10.5px;color:var(--mut);text-align:center;padding:6px;line-height:1.3}
.cpx-photo-preview{width:100%;height:100%;object-fit:cover}
.cpx-photo-cta{display:flex;flex-direction:column;gap:2px}
.cpx-photo-plus{width:26px;height:26px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;margin-bottom:4px}
.cpx-photo-label{font-weight:600;font-size:14px}
.cpx-photo-hint{font-size:12px;color:var(--mut)}
.cpx-photo-drop.cpx-has .cpx-photo-cta .cpx-photo-label{color:var(--cd)}
.cpx-photo-status{flex:1 0 100%;font-size:12.5px;color:var(--cd);margin-top:2px}
.cpx-photo-status:empty{display:none}

.cpx-photo-remove{display:block;margin:-4px 16px 8px;background:none;border:none;color:var(--mut);font:inherit;font-size:12.5px;text-decoration:underline;cursor:pointer;padding:0}
.cpx-photo-remove:hover{color:var(--cd)}

.cpx-photo-lbl{display:block;font-size:12.5px;font-weight:600;color:#574f44;margin:6px 16px 4px}
.cpx-photo-msg{display:block;width:calc(100% - 32px);margin:0 16px;font:inherit;font-size:15px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;min-height:64px;resize:vertical;color:var(--ink);background:#fff}
.cpx-photo-msg:focus{outline:none;border-color:var(--c)}
.cpx-photo-note{font-size:12px;color:var(--mut);margin:10px 16px 14px;line-height:1.5}
