/* Display container (neutral, responsive) */
.fpwm-wrap{ position:relative; margin:0; }
.fpwm-img{ position:relative; background:transparent; overflow:hidden; }
.fpwm-img img.fpwm-display{ display:block; max-width:100%; height:auto; object-fit:cover; }
.fpwm-placeholder{ display:inline-grid; place-items:center; width:502px; height:678px;
  background:#f3f4f6; color:#9ca3af; font:600 14px/1.1 system-ui; }

/* Edit button — círculo rosado como cabecera */
.fpwm-wrap .fpwm-edit-fab{
  all: unset;
  position:absolute; right:10px; bottom:10px; z-index:2;
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  background:#d9125e; color:#fff; cursor:pointer;
  box-shadow:0 6px 16px rgba(0,0,0,.35);

  border: 1.5px solid rgba(255,255,255,0.95);
}
.fpwm-wrap .fpwm-edit-fab:hover{ transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,0,0,.38); background:#b80f4b; }
.fpwm-wrap .fpwm-edit-fab:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.fpwm-wrap .fpwm-edit-fab svg{ width:18px; height:18px; display:block; }

/* Overlay (dinámico) */
.fpwm-overlay{
  position:fixed; inset:0; z-index:9999; display:grid; grid-template-rows:1fr auto;
  background:rgba(0,0,0,.85); opacity:0; pointer-events:none; transition:opacity .15s ease;
}
.fpwm-overlay.is-open{ opacity:1; pointer-events:auto; }
.fpwm-stage{ position:relative; width:100%; height:100%; display:grid; place-items:center; }
.fpwm-stage canvas{ background:#111; max-width:96vw; max-height:70vh; }
.fpwm-frame{
  position:absolute; pointer-events:none;
  width:min(96vw, 600px); height:calc(min(96vw, 600px) * (678/502));
  border:2px solid rgba(255,255,255,.95); background:transparent;
  box-shadow:0 0 0 9999px rgba(0,0,0,.6);
}
.fpwm-hint{
  position:absolute; top:12px; left:50%; transform:translateX(-50%);
  background:transparent; color:#9ca3af; padding:0; border-radius:0; font-size:12px; text-shadow:none;
}

.fpwm-actions{
  position:absolute; right:14px; bottom:14px;
  background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.2);
  border-radius:12px; padding:8px; z-index:10001; box-shadow:0 6px 24px rgba(0,0,0,.35);
  display:flex; gap:8px; align-items:center;
}
.fpwm-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:10px; border:1px solid #000; background:#2c2a5f; color:#fff; font-weight:700; cursor:pointer;
}
.fpwm-btn.ghost{ background:#6b7280; }

body.fpwm-no-scroll{ overflow:hidden; }
